Skip to content

feat(integration): add declarative external connection method - #53672

Merged
rekram1-node merged 3 commits into
v2from
external-method
Oct 7, 2026
Merged

rekram1-node merged 3 commits into
v2from
external-method

Conversation

@rekram1-node

Copy link
Copy Markdown
Collaborator

Plugins can now declare an external method the same way they declare key: pure data, no callback.

editor.method.update({
  integrationID: "amazon-bedrock",
  method: {
    id: "aws-profile",
    type: "external",
    label: "AWS profile",
    form: [{ key: "profile", type: "string", options: [...], custom: true }],
  },
})
 key       form → prompt for key → POST /connect/key      → Credential.Key { key, configuration: answer }
+external  form ─────────────────→ POST /connect/external → Credential.External { methodID, metadata: answer }
schema    Integration.ExternalMethod (in the Method union)
core      Integration.connection.external: validates answer against method.form, saves the reference
protocol  POST /api/integration/:id/connect/external  { methodID, answer?, label? }
plugin    effect + promise method types, connect.external
clients   TUI /connect · web/desktop connect dialog · opencode auth login

Keeps controller.ts lint-clean as required by lint:changed, which pulled in small unrelated fixes in that file (typed store generics, shared formatServerError).

@rekram1-node
rekram1-node merged commit 70c6c8c into v2 Oct 7, 2026
9 checks passed
@rekram1-node
rekram1-node deleted the external-method branch October 7, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant