Description
The SDK already supports apps.manifest.create, apps.manifest.update, apps.manifest.export, and apps.manifest.validate, but its typed manifest surface cannot preserve fields added to Slack's manifest schema after the corresponding Go structs. The create response and optional request arguments are also incomplete.
Add a backward-compatible surface that:
- preserves every existing typed method signature and behavior;
- exposes the documented
apps.manifest.create app ID, credentials, and OAuth authorization URL, with guidance for handling returned secrets;
- supports the optional create
team_id through an additive option;
- adds
json.RawMessage variants for create, update, export, and validate without re-marshaling manifest bytes;
- supports the optional validate
app_id;
- retains per-call configuration tokens with the existing
OptionConfigToken fallback; and
- returns structured manifest validation details alongside standard Slack API errors.
Synthetic tests will cover exact raw JSON preservation, unknown nested fields, optional argument omission and presence, the complete create response, invalid raw inputs, structured errors, and compatibility of the existing typed methods.
This change does not add new Slack endpoints or replace the typed manifest API.
I plan to submit the implementation.
Slack documentation
Description
The SDK already supports
apps.manifest.create,apps.manifest.update,apps.manifest.export, andapps.manifest.validate, but its typed manifest surface cannot preserve fields added to Slack's manifest schema after the corresponding Go structs. The create response and optional request arguments are also incomplete.Add a backward-compatible surface that:
apps.manifest.createapp ID, credentials, and OAuth authorization URL, with guidance for handling returned secrets;team_idthrough an additive option;json.RawMessagevariants for create, update, export, and validate without re-marshaling manifest bytes;app_id;OptionConfigTokenfallback; andSynthetic tests will cover exact raw JSON preservation, unknown nested fields, optional argument omission and presence, the complete create response, invalid raw inputs, structured errors, and compatibility of the existing typed methods.
This change does not add new Slack endpoints or replace the typed manifest API.
I plan to submit the implementation.
Slack documentation