@assemblyline-agents/core 4.0.2 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/adapter-metadata.d.ts.map +1 -1
  2. package/dist/adapter-metadata.js +41 -33
  3. package/dist/adapter-metadata.js.map +1 -1
  4. package/dist/connection-events.d.ts.map +1 -1
  5. package/dist/connection-events.js +2 -1
  6. package/dist/connection-events.js.map +1 -1
  7. package/dist/connection-types.d.ts +75 -16
  8. package/dist/connection-types.d.ts.map +1 -1
  9. package/dist/connection-types.js.map +1 -1
  10. package/dist/definitions.d.ts +1 -1
  11. package/dist/definitions.d.ts.map +1 -1
  12. package/dist/definitions.js +3 -5
  13. package/dist/definitions.js.map +1 -1
  14. package/dist/deploy.d.ts +4 -4
  15. package/dist/deploy.d.ts.map +1 -1
  16. package/dist/index.d.ts +22 -8
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/manifest-types.d.ts +15 -4
  20. package/dist/manifest-types.d.ts.map +1 -1
  21. package/dist/plugin-connection-factories.d.ts +9 -9
  22. package/dist/plugin-connection-factories.d.ts.map +1 -1
  23. package/dist/plugin-connection-factories.js +218 -189
  24. package/dist/plugin-connection-factories.js.map +1 -1
  25. package/dist/plugin-contract.d.ts +19 -8
  26. package/dist/plugin-contract.d.ts.map +1 -1
  27. package/dist/plugin-contract.js +4 -2
  28. package/dist/plugin-contract.js.map +1 -1
  29. package/dist/plugin.js +124 -76
  30. package/dist/plugin.js.map +1 -1
  31. package/dist/sandbox-types.d.ts +10 -3
  32. package/dist/sandbox-types.d.ts.map +1 -1
  33. package/dist/secrets-types.d.ts +11 -22
  34. package/dist/secrets-types.d.ts.map +1 -1
  35. package/dist/secrets-types.js +44 -21
  36. package/dist/secrets-types.js.map +1 -1
  37. package/package.json +1 -1
@@ -35,7 +35,11 @@ export interface ConnectionPluginMetadata extends AdapterProviderMetadata {
35
35
  tokenEnv?: string;
36
36
  tokenRequired?: boolean;
37
37
  tokenHeader?: string;
38
- credentialEnv?: string;
38
+ relayCredential?: string;
39
+ requiredConfig: string[];
40
+ optionalConfig: string[];
41
+ requiredCredentials: string[];
42
+ optionalCredentials: string[];
39
43
  scopes?: string[];
40
44
  subject?: NonNullable<ConnectionDefinition["subject"]>;
41
45
  tools?: ToolFilterDefinition;
@@ -46,7 +50,8 @@ export interface ConnectionPluginMetadata extends AdapterProviderMetadata {
46
50
  defaultEvents?: string[];
47
51
  eventMode?: ConnectionEventMode;
48
52
  eventScope?: ConnectionEventScope;
49
- eventRequiredEnv?: string[];
53
+ eventRequiredConfig?: string[];
54
+ eventRequiredCredentials?: string[];
50
55
  }
51
56
  export interface PluginModule {
52
57
  connections?: ConnectionPluginMetadata[];
@@ -71,8 +76,10 @@ export interface ToolPackPluginMetadata {
71
76
  tools: ToolPackToolMetadata[];
72
77
  config?: ToolPackConfigMetadata;
73
78
  skills?: string[];
74
- requiredEnv?: string[];
75
- optionalEnv?: string[];
79
+ requiredConfig?: string[];
80
+ optionalConfig?: string[];
81
+ requiredCredentials?: string[];
82
+ optionalCredentials?: string[];
76
83
  setup?: Array<{
77
84
  kind: string;
78
85
  name: string;
@@ -87,6 +94,10 @@ interface CommonPluginConnectionOptions {
87
94
  required?: boolean;
88
95
  subject?: ConnectionDefinition["subject"];
89
96
  events?: ConnectionEventSelection;
97
+ /** Trusted host-side source; never becomes a model-visible operation. */
98
+ credentialSource?: import("./connection-types.js").ConnectionCredentialSourceFactory;
99
+ /** Trusted host-side sink used by direct source-to-sink transfer. */
100
+ credentialSink?: import("./connection-types.js").ConnectionCredentialSinkFactory;
90
101
  }
91
102
  export interface McpPluginConnectionOptions extends CommonPluginConnectionOptions {
92
103
  url?: string;
@@ -103,7 +114,6 @@ export interface StdioMcpPluginConnectionOptions extends CommonPluginConnectionO
103
114
  }
104
115
  export interface RelayMcpPluginConnectionOptions extends CommonPluginConnectionOptions {
105
116
  url?: string;
106
- credentialEnv?: string;
107
117
  timeoutMs?: number;
108
118
  metadata?: McpClientConnectionDefinition["metadata"];
109
119
  }
@@ -125,8 +135,8 @@ export interface HttpApiPluginConnectionOptions extends Omit<CommonPluginConnect
125
135
  }
126
136
  export interface SdkApiPluginConnectionOptions extends CommonPluginConnectionOptions {
127
137
  operations: SdkApiOperationDefinition[];
128
- execute: SdkApiConnectionDefinition["execute"];
129
- close?: SdkApiConnectionDefinition["close"];
138
+ execute(operationName: string, input: Record<string, unknown>, context: import("./connection-types.js").ConnectionFactoryContext): import("./index.js").MaybePromise<unknown>;
139
+ close?(context: import("./connection-types.js").ConnectionFactoryContext): import("./index.js").MaybePromise<void>;
130
140
  metadata?: SdkApiConnectionDefinition["metadata"];
131
141
  }
132
142
  export interface SandboxCliPluginConnectionOptions extends Omit<CommonPluginConnectionOptions, "tools"> {
@@ -153,7 +163,8 @@ export interface ResolvedConnectionPluginEvents {
153
163
  resources: JsonObject[];
154
164
  mode: ConnectionEventMode;
155
165
  scope: ConnectionEventScope;
156
- requiredEnv: string[];
166
+ requiredConfig: string[];
167
+ requiredCredentials: string[];
157
168
  }
158
169
  /** Validate and normalize the common event selection used by provider packages. */
159
170
  export declare function resolveConnectionPluginEvents(plugin: ConnectionPluginMetadata, selection: ConnectionEventSelection | undefined): ResolvedConnectionPluginEvents | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-contract.d.ts","sourceRoot":"","sources":["../src/plugin-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-contract.d.ts","sourceRoot":"","sources":["../src/plugin-contract.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,8 @@ export function resolveConnectionPluginEvents(plugin, selection) {
19
19
  resources: [],
20
20
  mode: plugin.eventMode ?? "api",
21
21
  scope: plugin.eventScope ?? "connection",
22
- requiredEnv: uniqueStrings(plugin.eventRequiredEnv ?? [])
22
+ requiredConfig: uniqueStrings(plugin.eventRequiredConfig ?? []),
23
+ requiredCredentials: uniqueStrings(plugin.eventRequiredCredentials ?? [])
23
24
  };
24
25
  }
25
26
  const include = uniqueStrings(selection?.include ?? defaults);
@@ -36,7 +37,8 @@ export function resolveConnectionPluginEvents(plugin, selection) {
36
37
  resources: (selection?.resources ?? []).map((resource) => ({ ...resource })),
37
38
  mode: plugin.eventMode ?? "api",
38
39
  scope: plugin.eventScope ?? "connection",
39
- requiredEnv: uniqueStrings(plugin.eventRequiredEnv ?? [])
40
+ requiredConfig: uniqueStrings(plugin.eventRequiredConfig ?? []),
41
+ requiredCredentials: uniqueStrings(plugin.eventRequiredCredentials ?? [])
40
42
  };
41
43
  }
42
44
  function uniqueStrings(values) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-contract.js","sourceRoot":"","sources":["../src/plugin-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-contract.js","sourceRoot":"","sources":["../src/plugin-contract.ts"],"names":[],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -48,8 +48,10 @@ const TOOL_PACK_PLUGIN_CATALOG = [
48
48
  options: {}
49
49
  },
50
50
  skills: ["openui-artifacts"],
51
- requiredEnv: [],
52
- optionalEnv: ["R2_PUBLIC_BASE_URL", "S3_PUBLIC_BASE_URL"],
51
+ requiredConfig: [],
52
+ optionalConfig: ["R2_PUBLIC_BASE_URL", "S3_PUBLIC_BASE_URL"],
53
+ requiredCredentials: [],
54
+ optionalCredentials: [],
53
55
  setup: [{
54
56
  kind: "tools",
55
57
  name: "openui-public-blob-origin",
@@ -65,15 +67,19 @@ const WRITE_PATTERNS = [
65
67
  "regex:(^|[-_])(add|append|archive|assign|book|buy|cancel|checkout|close|complete|create|delete|draft|duplicate|edit|execute|insert|invite|kick|link|merge|modify|move|mutate|open|pay|post|publish|purchase|push|react|reaction|remove|rename|reply|reserve|resolve|reopen|run|schedule|send|set|share|submit|transfer|transition|unassign|unlink|update|upload|write)([-_]|$)"
66
68
  ];
67
69
  function catalogEntry(input) {
68
- const requiredEnv = [
70
+ const requiredConfig = [
69
71
  ...(input.urlEnv && !input.defaultUrl ? [input.urlEnv] : []),
70
- ...(input.tokenEnv && input.tokenRequired !== false ? [input.tokenEnv] : []),
71
- ...(input.credentialEnv ? [input.credentialEnv] : [])
72
72
  ];
73
- const optionalEnv = [
73
+ const optionalConfig = [
74
74
  ...(input.urlEnv && input.defaultUrl ? [input.urlEnv] : []),
75
- ...(input.tokenEnv && input.tokenRequired === false ? [input.tokenEnv] : []),
76
- ...(input.optionalEnv ?? [])
75
+ ...(input.optionalConfig ?? [])
76
+ ];
77
+ const requiredCredentials = [
78
+ ...(input.tokenEnv && input.tokenRequired !== false ? [input.tokenEnv] : []),
79
+ ...(input.relayCredential ? [input.relayCredential] : [])
80
+ ];
81
+ const optionalCredentials = [
82
+ ...(input.tokenEnv && input.tokenRequired === false ? [input.tokenEnv] : [])
77
83
  ];
78
84
  return {
79
85
  kind: input.kind,
@@ -89,9 +95,11 @@ function catalogEntry(input) {
89
95
  ...(input.tokenEnv ? { tokenEnv: input.tokenEnv } : {}),
90
96
  ...(input.tokenEnv ? { tokenRequired: input.tokenRequired !== false } : {}),
91
97
  ...(input.tokenHeader ? { tokenHeader: input.tokenHeader } : {}),
92
- ...(input.credentialEnv ? { credentialEnv: input.credentialEnv } : {}),
93
- requiredEnv,
94
- optionalEnv,
98
+ ...(input.relayCredential ? { relayCredential: input.relayCredential } : {}),
99
+ requiredConfig,
100
+ optionalConfig,
101
+ requiredCredentials,
102
+ optionalCredentials,
95
103
  capabilities: ["mcp", "live-tools", input.transport === "stdio" ? "stdio" : input.transport === "relay" ? "e2ee-device-relay" : "streamable-http"],
96
104
  scopes: [...(input.scopes ?? [])],
97
105
  // Plugins with user-scoped grants declare subject: "user" explicitly; an
@@ -105,7 +113,8 @@ function catalogEntry(input) {
105
113
  ...(input.defaultEvents ? { defaultEvents: [...input.defaultEvents] } : {}),
106
114
  ...(input.eventMode ? { eventMode: input.eventMode } : {}),
107
115
  ...(input.eventScope ? { eventScope: input.eventScope } : {}),
108
- ...(input.eventRequiredEnv ? { eventRequiredEnv: [...input.eventRequiredEnv] } : {}),
116
+ ...(input.eventRequiredConfig ? { eventRequiredConfig: [...input.eventRequiredConfig] } : {}),
117
+ ...(input.eventRequiredCredentials ? { eventRequiredCredentials: [...input.eventRequiredCredentials] } : {}),
109
118
  setup: [{
110
119
  kind: "connection",
111
120
  name: `${input.kind}-developer-configuration`,
@@ -124,8 +133,10 @@ const HIGGSFIELD_PLUGIN = {
124
133
  provider: "higgsfield",
125
134
  description: "Higgsfield creative media generation, analysis, and editing through the official CLI inside the agent sandbox.",
126
135
  command: "higgsfield",
127
- requiredEnv: [],
128
- optionalEnv: [],
136
+ requiredConfig: [],
137
+ optionalConfig: [],
138
+ requiredCredentials: [],
139
+ optionalCredentials: [],
129
140
  capabilities: ["sandbox-cli", "native-file-inputs", "media-generation", "video-analysis", "video-editing"],
130
141
  scopes: [],
131
142
  subject: "user",
@@ -148,8 +159,10 @@ const REMOTION_PLUGIN = {
148
159
  provider: "remotion",
149
160
  description: "Remotion composition discovery and rendering through the project CLI inside the active agent sandbox.",
150
161
  command: "npx",
151
- requiredEnv: [],
152
- optionalEnv: [],
162
+ requiredConfig: [],
163
+ optionalConfig: [],
164
+ requiredCredentials: [],
165
+ optionalCredentials: [],
153
166
  capabilities: ["sandbox-cli", "media-rendering", "workspace-artifacts"],
154
167
  scopes: [],
155
168
  subject: "environment",
@@ -173,8 +186,10 @@ const MIRROR_PLUGIN = {
173
186
  description: "User-scoped connected accounts, mirrored source records, live reads, and approval-gated actions through Mirror.",
174
187
  defaultUrl: "https://mirror.artificialillumination.co/mcp",
175
188
  urlEnv: "MIRROR_MCP_URL",
176
- requiredEnv: ["MIRROR_OAUTH_CLIENT_ID"],
177
- optionalEnv: ["MIRROR_MCP_URL", "MIRROR_OAUTH_ISSUER", "MIRROR_OAUTH_REDIRECT_URI"],
189
+ requiredConfig: ["MIRROR_OAUTH_CLIENT_ID"],
190
+ optionalConfig: ["MIRROR_MCP_URL", "MIRROR_OAUTH_ISSUER", "MIRROR_OAUTH_REDIRECT_URI"],
191
+ requiredCredentials: [],
192
+ optionalCredentials: [],
178
193
  capabilities: ["mcp", "oauth", "pkce", "live-tools", "streamable-http", "connected-accounts", "approval-gated-writes"],
179
194
  scopes: [],
180
195
  subject: "user",
@@ -238,8 +253,8 @@ const MARGINS_PLUGIN = {
238
253
  description: "Resource-scoped collaborative Markdown pages, folders, comments, suggestions, and conflict-safe edits through Margins.",
239
254
  defaultUrl: "https://margins.artificialillumination.co/mcp",
240
255
  urlEnv: "MARGINS_MCP_URL",
241
- requiredEnv: [],
242
- optionalEnv: [
256
+ requiredConfig: [],
257
+ optionalConfig: [
243
258
  "MARGINS_MCP_URL",
244
259
  "MARGINS_ISSUER",
245
260
  "MARGINS_AGENT_ID",
@@ -247,6 +262,8 @@ const MARGINS_PLUGIN = {
247
262
  "MARGINS_AGENT_RUNTIME",
248
263
  "MARGINS_AGENT_HARNESS"
249
264
  ],
265
+ requiredCredentials: [],
266
+ optionalCredentials: [],
250
267
  capabilities: [
251
268
  "mcp",
252
269
  "host-side-pairing",
@@ -306,8 +323,8 @@ const PROVENANCE_PLUGIN = {
306
323
  description: "User-scoped append-only agent evidence, session reconstruction, tool traces, handoff bundles, and artifacts through Provenance.",
307
324
  defaultUrl: "https://provenance.artificialillumination.co/mcp",
308
325
  urlEnv: "PROVENANCE_MCP_URL",
309
- requiredEnv: ["PROVENANCE_OAUTH_CLIENT_ID"],
310
- optionalEnv: [
326
+ requiredConfig: ["PROVENANCE_OAUTH_CLIENT_ID"],
327
+ optionalConfig: [
311
328
  "PROVENANCE_MCP_URL",
312
329
  "PROVENANCE_OAUTH_ISSUER",
313
330
  "PROVENANCE_OAUTH_REDIRECT_URI",
@@ -315,6 +332,8 @@ const PROVENANCE_PLUGIN = {
315
332
  "PROVENANCE_AGENT_NAME",
316
333
  "PROVENANCE_AGENT_RUNTIME"
317
334
  ],
335
+ requiredCredentials: [],
336
+ optionalCredentials: [],
318
337
  capabilities: ["mcp", "oauth", "pkce", "live-tools", "streamable-http", "append-only-ledger", "agent-handoffs"],
319
338
  scopes: ["provenance:ledger"],
320
339
  subject: "user",
@@ -365,22 +384,24 @@ const CONNECTION_PLUGIN_CATALOG = [
365
384
  helper: "defineOnePasswordConnection",
366
385
  protocol: "sdk",
367
386
  provider: "1password",
368
- description: "1Password vault discovery, item search and retrieval, and secret resolution through the official SDK.",
369
- requiredEnv: ["OP_SERVICE_ACCOUNT_TOKEN"],
370
- optionalEnv: [],
371
- capabilities: ["sdk", "direct-api", "live-tools", "service-account", "vaults", "items", "secrets"],
387
+ description: "Metadata-only 1Password vault and item browsing plus host-only credential resolution through the official SDK.",
388
+ requiredConfig: [],
389
+ optionalConfig: [],
390
+ requiredCredentials: ["OP_SERVICE_ACCOUNT_TOKEN"],
391
+ optionalCredentials: [],
392
+ capabilities: ["sdk", "direct-api", "live-tools", "service-account", "vaults", "item-metadata", "credential-source"],
372
393
  scopes: [],
373
394
  subject: "environment",
374
395
  tools: {
375
- allow: ["list_vaults", "list_items", "search_items", "get_item", "resolve_secret"]
396
+ allow: ["list_vaults", "list_items", "search_items"]
376
397
  },
377
- readToolPatterns: ["list_vaults", "list_items", "search_items", "get_item", "resolve_secret"],
398
+ readToolPatterns: ["list_vaults", "list_items", "search_items"],
378
399
  writeToolPatterns: [],
379
400
  setup: [{
380
401
  kind: "connection",
381
402
  name: "onepassword-service-account",
382
403
  required: true,
383
- message: "Create a 1Password service account for this agent, share only the vaults the agent should be able to use, and set its token in OP_SERVICE_ACCOUNT_TOKEN. Every readable item and concealed field in those vaults is available to the agent."
404
+ message: "Create a dedicated 1Password service account, share only the intended vaults, and store its token as OP_SERVICE_ACCOUNT_TOKEN. Model-facing tools expose metadata only; concealed values remain host-side."
384
405
  }]
385
406
  },
386
407
  {
@@ -391,8 +412,10 @@ const CONNECTION_PLUGIN_CATALOG = [
391
412
  protocol: "a2a",
392
413
  provider: "a2a",
393
414
  description: "Discover and delegate work to an independently deployed agent through the A2A v1.0 protocol.",
394
- requiredEnv: [],
395
- optionalEnv: [],
415
+ requiredConfig: [],
416
+ optionalConfig: [],
417
+ requiredCredentials: [],
418
+ optionalCredentials: [],
396
419
  capabilities: ["a2a", "agent-card-discovery", "remote-agent-tasks", "json-rpc"],
397
420
  scopes: [],
398
421
  subject: "environment",
@@ -419,8 +442,10 @@ const CONNECTION_PLUGIN_CATALOG = [
419
442
  provider: "arcads",
420
443
  description: "Arcads media analysis, generation, and editing through the official hosted MCP server.",
421
444
  defaultUrl: "https://mcp.arcads.ai",
422
- requiredEnv: ["ARCADS_MCP_CLIENT_ID"],
423
- optionalEnv: ["ARCADS_MCP_REDIRECT_URI"],
445
+ requiredConfig: ["ARCADS_MCP_CLIENT_ID"],
446
+ optionalConfig: ["ARCADS_MCP_REDIRECT_URI"],
447
+ requiredCredentials: [],
448
+ optionalCredentials: [],
424
449
  capabilities: ["mcp", "oauth", "live-tools", "streamable-http"],
425
450
  scopes: ["mcp", "offline_access"],
426
451
  subject: "user",
@@ -449,8 +474,10 @@ const CONNECTION_PLUGIN_CATALOG = [
449
474
  description: "Attio CRM records, lists, notes, tasks, comments, email and meeting intelligence, and reporting through Attio's official hosted MCP server.",
450
475
  defaultUrl: "https://mcp.attio.com/mcp",
451
476
  urlEnv: "ATTIO_MCP_URL",
452
- requiredEnv: ["ATTIO_MCP_CLIENT_ID"],
453
- optionalEnv: ["ATTIO_MCP_URL", "ATTIO_MCP_REDIRECT_URI"],
477
+ requiredConfig: ["ATTIO_MCP_CLIENT_ID"],
478
+ optionalConfig: ["ATTIO_MCP_URL", "ATTIO_MCP_REDIRECT_URI"],
479
+ requiredCredentials: [],
480
+ optionalCredentials: [],
454
481
  capabilities: ["mcp", "oauth", "pkce", "refresh-token", "live-tools", "streamable-http", "crm", "semantic-search", "reporting"],
455
482
  scopes: ["mcp", "offline_access", "openid"],
456
483
  subject: "user",
@@ -557,8 +584,10 @@ const CONNECTION_PLUGIN_CATALOG = [
557
584
  description: "Gmail threads, messages, attachments, drafts, and sends through the Gmail REST API.",
558
585
  defaultBaseUrl: "https://gmail.googleapis.com/gmail/v1",
559
586
  baseUrlEnv: "GMAIL_API_BASE_URL",
560
- requiredEnv: ["GOOGLE_CLIENT_ID", "GOOGLE_CLIENT_SECRET"],
561
- optionalEnv: ["GOOGLE_REDIRECT_URI", "GMAIL_API_BASE_URL"],
587
+ requiredConfig: ["GOOGLE_CLIENT_ID"],
588
+ optionalConfig: ["GOOGLE_REDIRECT_URI", "GMAIL_API_BASE_URL"],
589
+ requiredCredentials: ["GOOGLE_CLIENT_SECRET"],
590
+ optionalCredentials: [],
562
591
  capabilities: ["http-api", "oauth", "pkce", "refresh-token", "live-tools"],
563
592
  scopes: [
564
593
  "https://www.googleapis.com/auth/gmail.readonly",
@@ -582,7 +611,8 @@ const CONNECTION_PLUGIN_CATALOG = [
582
611
  defaultEvents: ["email.received"],
583
612
  eventMode: "watch",
584
613
  eventScope: "principal",
585
- eventRequiredEnv: ["GOOGLE_CLOUD_PROJECT", "GMAIL_PUBSUB_TOPIC", "GMAIL_PUBSUB_VERIFICATION_TOKEN"],
614
+ eventRequiredConfig: ["GOOGLE_CLOUD_PROJECT", "GMAIL_PUBSUB_TOPIC"],
615
+ eventRequiredCredentials: ["GMAIL_PUBSUB_VERIFICATION_TOKEN"],
586
616
  setup: [{
587
617
  kind: "connection",
588
618
  name: "gmail-oauth-configuration",
@@ -600,8 +630,10 @@ const CONNECTION_PLUGIN_CATALOG = [
600
630
  description: "Google Calendar lists, events, availability, and scheduling through the Google Calendar REST API.",
601
631
  defaultBaseUrl: "https://www.googleapis.com/calendar/v3",
602
632
  baseUrlEnv: "GOOGLE_CALENDAR_API_BASE_URL",
603
- requiredEnv: ["GOOGLE_CLIENT_ID", "GOOGLE_CLIENT_SECRET"],
604
- optionalEnv: ["GOOGLE_REDIRECT_URI", "GOOGLE_CALENDAR_API_BASE_URL"],
633
+ requiredConfig: ["GOOGLE_CLIENT_ID"],
634
+ optionalConfig: ["GOOGLE_REDIRECT_URI", "GOOGLE_CALENDAR_API_BASE_URL"],
635
+ requiredCredentials: ["GOOGLE_CLIENT_SECRET"],
636
+ optionalCredentials: [],
605
637
  capabilities: ["http-api", "oauth", "pkce", "refresh-token", "live-tools"],
606
638
  scopes: [
607
639
  "https://www.googleapis.com/auth/calendar.readonly",
@@ -639,8 +671,10 @@ const CONNECTION_PLUGIN_CATALOG = [
639
671
  description: "Google Drive file search, downloads, uploads, organization, and sharing through the Google Drive REST API.",
640
672
  defaultBaseUrl: "https://www.googleapis.com",
641
673
  baseUrlEnv: "GOOGLE_DRIVE_API_BASE_URL",
642
- requiredEnv: ["GOOGLE_CLIENT_ID", "GOOGLE_CLIENT_SECRET"],
643
- optionalEnv: ["GOOGLE_REDIRECT_URI", "GOOGLE_DRIVE_API_BASE_URL"],
674
+ requiredConfig: ["GOOGLE_CLIENT_ID"],
675
+ optionalConfig: ["GOOGLE_REDIRECT_URI", "GOOGLE_DRIVE_API_BASE_URL"],
676
+ requiredCredentials: ["GOOGLE_CLIENT_SECRET"],
677
+ optionalCredentials: [],
644
678
  capabilities: ["http-api", "oauth", "pkce", "refresh-token", "binary-transfer", "live-tools"],
645
679
  scopes: [
646
680
  "https://www.googleapis.com/auth/drive.readonly",
@@ -683,19 +717,16 @@ const CONNECTION_PLUGIN_CATALOG = [
683
717
  protocol: "credential",
684
718
  provider: "github",
685
719
  description: "Host-only GitHub App installation credentials for Git and the GitHub CLI inside an agent sandbox.",
686
- requiredEnv: [
687
- "GITHUB_APP_ID",
688
- "GITHUB_APP_PRIVATE_KEY"
689
- ],
690
- optionalEnv: [
720
+ requiredConfig: ["GITHUB_APP_ID"],
721
+ optionalConfig: [
691
722
  "GITHUB_APP_INSTALLATION_ID",
692
723
  "GITHUB_APP_SLUG",
693
724
  "GITHUB_APP_CLIENT_ID",
694
- "GITHUB_APP_CLIENT_SECRET",
695
- "GITHUB_APP_WEBHOOK_SECRET",
696
725
  "GITHUB_API_URL",
697
726
  "GITHUB_OAUTH_URL"
698
727
  ],
728
+ requiredCredentials: ["GITHUB_APP_PRIVATE_KEY"],
729
+ optionalCredentials: ["GITHUB_APP_CLIENT_SECRET", "GITHUB_APP_WEBHOOK_SECRET"],
699
730
  capabilities: ["sandbox-credentials", "github-app", "git", "github-cli"],
700
731
  scopes: [],
701
732
  subject: "user",
@@ -711,7 +742,7 @@ const CONNECTION_PLUGIN_CATALOG = [
711
742
  defaultEvents: ["issues.opened", "issue_comment.created", "pull_request.opened", "pull_request_review.submitted", "push", "workflow_run.completed"],
712
743
  eventMode: "manual",
713
744
  eventScope: "connection",
714
- eventRequiredEnv: ["GITHUB_APP_WEBHOOK_SECRET"],
745
+ eventRequiredCredentials: ["GITHUB_APP_WEBHOOK_SECRET"],
715
746
  setup: [{
716
747
  kind: "connection",
717
748
  name: "github-app-developer-configuration",
@@ -726,14 +757,16 @@ const CONNECTION_PLUGIN_CATALOG = [
726
757
  description: "Strava profile and fitness activity tools through a developer-configured MCP server.", urlEnv: "STRAVA_MCP_URL", tokenEnv: "STRAVA_MCP_TOKEN",
727
758
  eventCatalog: ["activity.create", "activity.update", "activity.delete", "athlete.update"],
728
759
  defaultEvents: ["activity.create", "activity.update", "activity.delete", "athlete.update"], eventMode: "api", eventScope: "connection",
729
- eventRequiredEnv: ["STRAVA_CLIENT_ID", "STRAVA_CLIENT_SECRET", "STRAVA_WEBHOOK_SIGNING_SECRET"]
760
+ eventRequiredConfig: ["STRAVA_CLIENT_ID"],
761
+ eventRequiredCredentials: ["STRAVA_CLIENT_SECRET", "STRAVA_WEBHOOK_SIGNING_SECRET"]
730
762
  }),
731
763
  catalogEntry({
732
764
  kind: "polar", displayName: "Polar", helper: "definePolarConnection",
733
765
  description: "Polar workout and heart-rate tools through a developer-configured MCP server.", urlEnv: "POLAR_MCP_URL", tokenEnv: "POLAR_MCP_TOKEN",
734
766
  eventCatalog: ["EXERCISE", "SLEEP", "CONTINUOUS_HEART_RATE", "SLEEP_WISE_CIRCADIAN_BEDTIME", "SLEEP_WISE_ALERTNESS", "ACTIVITY_SUMMARY", "PHYSICAL_INFORMATION"],
735
767
  defaultEvents: ["EXERCISE", "SLEEP", "CONTINUOUS_HEART_RATE"], eventMode: "api", eventScope: "connection",
736
- eventRequiredEnv: ["POLAR_CLIENT_ID", "POLAR_CLIENT_SECRET"]
768
+ eventRequiredConfig: ["POLAR_CLIENT_ID"],
769
+ eventRequiredCredentials: ["POLAR_CLIENT_SECRET"]
737
770
  }),
738
771
  catalogEntry({ kind: "spotify", displayName: "Spotify", helper: "defineSpotifyConnection", description: "Spotify library, playlist, and playback tools through a developer-configured MCP server.", urlEnv: "SPOTIFY_MCP_URL", tokenEnv: "SPOTIFY_MCP_TOKEN", write: true }),
739
772
  catalogEntry({ kind: "xai", displayName: "xAI", helper: "defineXaiConnection", description: "xAI and X search tools through a developer-configured MCP server.", urlEnv: "XAI_MCP_URL", tokenEnv: "XAI_MCP_TOKEN" }),
@@ -766,7 +799,8 @@ const CONNECTION_PLUGIN_CATALOG = [
766
799
  description: "Read-only Plaid financial tools through a developer-configured MCP bridge.", urlEnv: "PLAID_MCP_URL", tokenEnv: "PLAID_MCP_TOKEN",
767
800
  eventCatalog: ["transactions.changed", "item.changed", "auth.changed", "identity.changed", "assets.changed", "holdings.changed", "investments.changed", "liabilities.changed", "payment.changed", "transfer.changed", "income.changed"],
768
801
  defaultEvents: ["transactions.changed", "item.changed"], eventMode: "api", eventScope: "connection",
769
- eventRequiredEnv: ["PLAID_CLIENT_ID", "PLAID_SECRET"]
802
+ eventRequiredConfig: ["PLAID_CLIENT_ID"],
803
+ eventRequiredCredentials: ["PLAID_SECRET"]
770
804
  }),
771
805
  catalogEntry({ kind: "granola", displayName: "Granola", helper: "defineGranolaConnection", description: "Granola meeting notes, transcripts, and action items through Granola MCP.", defaultUrl: "https://mcp.granola.ai/mcp", urlEnv: "GRANOLA_MCP_URL", tokenEnv: "GRANOLA_MCP_TOKEN" }),
772
806
  {
@@ -780,8 +814,10 @@ const CONNECTION_PLUGIN_CATALOG = [
780
814
  description: "Private-company, ownership, funding, transaction, filing, contact, conference, and deal intelligence through Grata's official hosted MCP server.",
781
815
  defaultUrl: "https://mcp.grata.com",
782
816
  urlEnv: "GRATA_MCP_URL",
783
- requiredEnv: ["GRATA_MCP_CLIENT_ID", "GRATA_MCP_CLIENT_SECRET"],
784
- optionalEnv: ["GRATA_MCP_URL", "GRATA_MCP_REDIRECT_URI"],
817
+ requiredConfig: ["GRATA_MCP_CLIENT_ID"],
818
+ optionalConfig: ["GRATA_MCP_URL", "GRATA_MCP_REDIRECT_URI"],
819
+ requiredCredentials: ["GRATA_MCP_CLIENT_SECRET"],
820
+ optionalCredentials: [],
785
821
  capabilities: ["mcp", "oauth", "pkce", "refresh-token", "live-tools", "streamable-http", "private-market-intelligence"],
786
822
  scopes: ["openid", "profile", "email", "offline_access"],
787
823
  subject: "user",
@@ -802,7 +838,7 @@ const CONNECTION_PLUGIN_CATALOG = [
802
838
  description: "Linear issues, projects, cycles, and teams through Linear MCP.", defaultUrl: "https://mcp.linear.app/mcp", urlEnv: "LINEAR_MCP_URL", tokenEnv: "LINEAR_MCP_TOKEN", write: true,
803
839
  eventCatalog: ["issue.create", "issue.update", "issue.remove", "comment.create", "comment.update", "comment.remove", "project.create", "project.update", "project.remove", "cycle.create", "cycle.update", "cycle.remove", "document.create", "document.update", "document.remove", "customer.create", "customer.update", "customer.remove", "user.create", "user.update", "user.remove", "agentSessionEvent.created", "agentSessionEvent.prompted", "linear.changed"],
804
840
  defaultEvents: ["issue.create", "issue.update", "comment.create", "comment.update", "project.update", "agentSessionEvent.created", "agentSessionEvent.prompted", "linear.changed"],
805
- eventMode: "manual", eventScope: "principal", eventRequiredEnv: ["LINEAR_WEBHOOK_SECRET"]
841
+ eventMode: "manual", eventScope: "principal", eventRequiredCredentials: ["LINEAR_WEBHOOK_SECRET"]
806
842
  }),
807
843
  catalogEntry({
808
844
  kind: "notion", displayName: "Notion", helper: "defineNotionConnection",
@@ -821,7 +857,7 @@ const CONNECTION_PLUGIN_CATALOG = [
821
857
  description: "monday.com boards, items, workspaces, and docs through Platform MCP.", defaultUrl: "https://mcp.monday.com/mcp", urlEnv: "MONDAY_MCP_URL", tokenEnv: "MONDAY_MCP_TOKEN", write: true,
822
858
  eventCatalog: ["create_item", "change_column_value", "change_status_column_value", "change_name", "item_moved_to_any_group", "item_deleted", "item_archived", "create_update"],
823
859
  defaultEvents: ["create_item", "change_column_value", "change_status_column_value", "item_deleted", "create_update"], eventMode: "api", eventScope: "principal",
824
- eventRequiredEnv: ["MONDAY_SIGNING_SECRET"]
860
+ eventRequiredCredentials: ["MONDAY_SIGNING_SECRET"]
825
861
  }),
826
862
  catalogEntry({
827
863
  kind: "jira", displayName: "Jira", helper: "defineJiraConnection",
@@ -834,7 +870,7 @@ const CONNECTION_PLUGIN_CATALOG = [
834
870
  description: "HubSpot CRM records and associations through HubSpot MCP.", defaultUrl: "https://mcp.hubspot.com", urlEnv: "HUBSPOT_MCP_URL", tokenEnv: "HUBSPOT_MCP_TOKEN",
835
871
  eventCatalog: ["contact.creation", "contact.deletion", "contact.propertyChange", "company.creation", "company.deletion", "company.propertyChange", "deal.creation", "deal.deletion", "deal.propertyChange", "ticket.creation", "ticket.deletion", "ticket.propertyChange"],
836
872
  defaultEvents: ["contact.creation", "contact.deletion", "company.creation", "company.deletion", "deal.creation", "deal.deletion", "ticket.creation", "ticket.deletion"],
837
- eventMode: "api", eventScope: "connection", eventRequiredEnv: ["HUBSPOT_APP_ID", "HUBSPOT_DEVELOPER_API_KEY", "HUBSPOT_CLIENT_SECRET"]
873
+ eventMode: "api", eventScope: "connection", eventRequiredConfig: ["HUBSPOT_APP_ID"], eventRequiredCredentials: ["HUBSPOT_DEVELOPER_API_KEY", "HUBSPOT_CLIENT_SECRET"]
838
874
  }),
839
875
  catalogEntry({
840
876
  kind: "figma", displayName: "Figma", helper: "defineFigmaConnection",
@@ -853,19 +889,19 @@ const CONNECTION_PLUGIN_CATALOG = [
853
889
  kind: "supabase", displayName: "Supabase", helper: "defineSupabaseConnection",
854
890
  description: "Supabase projects, databases, docs, and Edge Functions through Supabase MCP.", defaultUrl: "https://mcp.supabase.com/mcp", urlEnv: "SUPABASE_MCP_URL", tokenEnv: "SUPABASE_MCP_TOKEN", write: true,
855
891
  eventCatalog: ["row.inserted", "row.updated", "row.deleted"], defaultEvents: ["row.inserted", "row.updated", "row.deleted"], eventMode: "api", eventScope: "principal",
856
- eventRequiredEnv: ["SUPABASE_WEBHOOK_SECRET"]
892
+ eventRequiredCredentials: ["SUPABASE_WEBHOOK_SECRET"]
857
893
  }),
858
894
  catalogEntry({
859
895
  kind: "metabase", displayName: "Metabase", helper: "defineMetabaseConnection",
860
896
  description: "Metabase semantic-layer queries, questions, and dashboards through an instance MCP endpoint.", urlEnv: "METABASE_MCP_URL", tokenEnv: "METABASE_MCP_TOKEN", tokenRequired: false, write: true,
861
897
  eventCatalog: ["alert.triggered"], defaultEvents: ["alert.triggered"], eventMode: "manual", eventScope: "connection",
862
- eventRequiredEnv: ["METABASE_WEBHOOK_SECRET"]
898
+ eventRequiredCredentials: ["METABASE_WEBHOOK_SECRET"]
863
899
  }),
864
900
  catalogEntry({
865
901
  kind: "cloudflare", displayName: "Cloudflare", helper: "defineCloudflareConnection",
866
902
  description: "Cloudflare API and account tools through Cloudflare MCP.", defaultUrl: "https://mcp.cloudflare.com/mcp", urlEnv: "CLOUDFLARE_MCP_URL", tokenEnv: "CLOUDFLARE_MCP_TOKEN", write: true,
867
903
  eventCatalog: ["notification.received"], defaultEvents: ["notification.received"], eventMode: "api", eventScope: "principal",
868
- eventRequiredEnv: ["CLOUDFLARE_WEBHOOK_SECRET"]
904
+ eventRequiredCredentials: ["CLOUDFLARE_WEBHOOK_SECRET"]
869
905
  }),
870
906
  catalogEntry({
871
907
  kind: "vercel", displayName: "Vercel", helper: "defineVercelConnection",
@@ -1025,8 +1061,10 @@ const CONNECTION_PLUGIN_CATALOG = [
1025
1061
  description: "Connected X account identity, private bookmarks, and reviewed post or reply publishing through X API v2.",
1026
1062
  defaultBaseUrl: "https://api.x.com/2",
1027
1063
  baseUrlEnv: "X_API_BASE_URL",
1028
- requiredEnv: ["X_API_CLIENT_ID", "X_API_CLIENT_SECRET"],
1029
- optionalEnv: ["X_API_REDIRECT_URI", "X_API_BASE_URL"],
1064
+ requiredConfig: ["X_API_CLIENT_ID"],
1065
+ optionalConfig: ["X_API_REDIRECT_URI", "X_API_BASE_URL"],
1066
+ requiredCredentials: ["X_API_CLIENT_SECRET"],
1067
+ optionalCredentials: [],
1030
1068
  capabilities: ["http-api", "oauth", "pkce", "refresh-token", "live-tools", "bookmarks", "publishing"],
1031
1069
  scopes: ["bookmark.read", "tweet.read", "tweet.write", "users.read", "offline.access"],
1032
1070
  subject: "user",
@@ -1052,8 +1090,10 @@ const CONNECTION_PLUGIN_CATALOG = [
1052
1090
  description: "Dropbox account, file and folder metadata, search, temporary content links, and reviewed file operations through the Dropbox API.",
1053
1091
  defaultBaseUrl: "https://api.dropboxapi.com/2",
1054
1092
  baseUrlEnv: "DROPBOX_API_BASE_URL",
1055
- requiredEnv: ["DROPBOX_APP_KEY", "DROPBOX_APP_SECRET"],
1056
- optionalEnv: ["DROPBOX_REDIRECT_URI", "DROPBOX_API_BASE_URL"],
1093
+ requiredConfig: ["DROPBOX_APP_KEY"],
1094
+ optionalConfig: ["DROPBOX_REDIRECT_URI", "DROPBOX_API_BASE_URL"],
1095
+ requiredCredentials: ["DROPBOX_APP_SECRET"],
1096
+ optionalCredentials: [],
1057
1097
  capabilities: ["http-api", "oauth", "pkce", "refresh-token", "live-tools"],
1058
1098
  scopes: [
1059
1099
  "account_info.read",
@@ -1117,8 +1157,10 @@ const CONNECTION_PLUGIN_CATALOG = [
1117
1157
  description: "SoundCloud tracks, playlists, users, likes, follows, reposts, and comments through the official API.",
1118
1158
  defaultSpec: "https://developers.soundcloud.com/docs/api/explorer/api.json",
1119
1159
  defaultBaseUrl: "https://api.soundcloud.com",
1120
- requiredEnv: ["SOUNDCLOUD_CLIENT_ID", "SOUNDCLOUD_CLIENT_SECRET"],
1121
- optionalEnv: ["SOUNDCLOUD_REDIRECT_URI"],
1160
+ requiredConfig: ["SOUNDCLOUD_CLIENT_ID"],
1161
+ optionalConfig: ["SOUNDCLOUD_REDIRECT_URI"],
1162
+ requiredCredentials: ["SOUNDCLOUD_CLIENT_SECRET"],
1163
+ optionalCredentials: [],
1122
1164
  capabilities: ["openapi", "oauth", "live-tools"],
1123
1165
  scopes: [],
1124
1166
  subject: "user",
@@ -1148,7 +1190,7 @@ const CONNECTION_PLUGIN_CATALOG = [
1148
1190
  defaultEvents: ["agent.task.status_update"],
1149
1191
  eventMode: "manual",
1150
1192
  eventScope: "connection",
1151
- eventRequiredEnv: ["BROWSER_USE_WEBHOOK_SECRET"],
1193
+ eventRequiredCredentials: ["BROWSER_USE_WEBHOOK_SECRET"],
1152
1194
  setupMessage: "Set BROWSER_USE_API_KEY for the Assembly Line host. Browser profiles, cost limits, and write authority remain developer-controlled."
1153
1195
  }),
1154
1196
  catalogEntry({
@@ -1178,7 +1220,8 @@ const CONNECTION_PLUGIN_CATALOG = [
1178
1220
  "scroll",
1179
1221
  "wait",
1180
1222
  "execute_bash",
1181
- "execute_python"
1223
+ "execute_python",
1224
+ "credential_fill"
1182
1225
  ]
1183
1226
  },
1184
1227
  readToolPatterns: [
@@ -1201,9 +1244,10 @@ const CONNECTION_PLUGIN_CATALOG = [
1201
1244
  "scroll",
1202
1245
  "wait",
1203
1246
  "execute_bash",
1204
- "execute_python"
1247
+ "execute_python",
1248
+ "credential_fill"
1205
1249
  ],
1206
- optionalEnv: ["ORGO_API_BASE_URL"],
1250
+ optionalConfig: ["ORGO_API_BASE_URL"],
1207
1251
  setupMessage: "Set ORGO_API_KEY on the Assembly Line runtime host. The developer owns Orgo workspaces, account limits, auto-stop policy, login state, and billing; the packaged bridge strips VNC credentials from results."
1208
1252
  }),
1209
1253
  catalogEntry({
@@ -1231,7 +1275,7 @@ const CONNECTION_PLUGIN_CATALOG = [
1231
1275
  transport: "relay",
1232
1276
  defaultUrl: "https://computer-use.artificialillumination.co/v1",
1233
1277
  urlEnv: "ASSEMBLY_LINE_COMPUTER_USE_RELAY_URL",
1234
- credentialEnv: "ASSEMBLY_LINE_COMPUTER_USE_BINDING",
1278
+ relayCredential: "ASSEMBLY_LINE_COMPUTER_USE_BINDING",
1235
1279
  subject: "environment",
1236
1280
  tools: { allow: ["inspect_ui", "list", "permissions", "click", "type", "hotkey", "scroll", "drag", "swipe", "move", "set_value", "perform_action", "app", "window", "menu", "dock", "dialog", "space"] },
1237
1281
  readToolPatterns: ["inspect_ui", "list", "permissions"],
@@ -1288,8 +1332,10 @@ function cloneHostRequirements(requirements) {
1288
1332
  function cloneMetadata(entry) {
1289
1333
  return {
1290
1334
  ...entry,
1291
- requiredEnv: [...(entry.requiredEnv ?? [])],
1292
- optionalEnv: [...(entry.optionalEnv ?? [])],
1335
+ requiredConfig: [...entry.requiredConfig],
1336
+ optionalConfig: [...entry.optionalConfig],
1337
+ requiredCredentials: [...entry.requiredCredentials],
1338
+ optionalCredentials: [...entry.optionalCredentials],
1293
1339
  capabilities: [...(entry.capabilities ?? [])],
1294
1340
  scopes: [...(entry.scopes ?? [])],
1295
1341
  readToolPatterns: [...entry.readToolPatterns],
@@ -1309,8 +1355,10 @@ function cloneToolPackMetadata(entry) {
1309
1355
  }
1310
1356
  } : {}),
1311
1357
  ...(entry.skills ? { skills: [...entry.skills] } : {}),
1312
- ...(entry.requiredEnv ? { requiredEnv: [...entry.requiredEnv] } : {}),
1313
- ...(entry.optionalEnv ? { optionalEnv: [...entry.optionalEnv] } : {}),
1358
+ ...(entry.requiredConfig ? { requiredConfig: [...entry.requiredConfig] } : {}),
1359
+ ...(entry.optionalConfig ? { optionalConfig: [...entry.optionalConfig] } : {}),
1360
+ ...(entry.requiredCredentials ? { requiredCredentials: [...entry.requiredCredentials] } : {}),
1361
+ ...(entry.optionalCredentials ? { optionalCredentials: [...entry.optionalCredentials] } : {}),
1314
1362
  ...(entry.setup ? { setup: entry.setup.map((step) => ({ ...step })) } : {})
1315
1363
  };
1316
1364
  }