@stacklink/sdk 0.2.0 → 0.3.7

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 (63) hide show
  1. package/README.md +33 -0
  2. package/compatibility.json +1 -1
  3. package/dist/src/domain/bot-contract.d.ts +4336 -0
  4. package/dist/src/domain/bot-contract.d.ts.map +1 -0
  5. package/dist/src/domain/bot-contract.js +382 -0
  6. package/dist/src/domain/bot-contract.js.map +1 -0
  7. package/dist/src/domain/memory-contract.d.ts +1705 -543
  8. package/dist/src/domain/memory-contract.d.ts.map +1 -1
  9. package/dist/src/domain/memory-contract.js +331 -60
  10. package/dist/src/domain/memory-contract.js.map +1 -1
  11. package/dist/src/domain/platform-approval-contract.d.ts +508 -0
  12. package/dist/src/domain/platform-approval-contract.d.ts.map +1 -0
  13. package/dist/src/domain/platform-approval-contract.js +77 -0
  14. package/dist/src/domain/platform-approval-contract.js.map +1 -0
  15. package/dist/src/domain/provider-branding.d.ts +1 -1
  16. package/dist/src/domain/provider-branding.d.ts.map +1 -1
  17. package/dist/src/domain/provider-branding.js +306 -8
  18. package/dist/src/domain/provider-branding.js.map +1 -1
  19. package/dist/src/domain/stacklink-meta-tools.d.ts +14 -16
  20. package/dist/src/domain/stacklink-meta-tools.d.ts.map +1 -1
  21. package/dist/src/domain/stacklink-meta-tools.js +217 -128
  22. package/dist/src/domain/stacklink-meta-tools.js.map +1 -1
  23. package/dist/src/sdk/framework-tools.d.ts +24 -2
  24. package/dist/src/sdk/framework-tools.d.ts.map +1 -1
  25. package/dist/src/sdk/framework-tools.js +50 -0
  26. package/dist/src/sdk/framework-tools.js.map +1 -1
  27. package/dist/src/sdk/index.d.ts +475 -143
  28. package/dist/src/sdk/index.d.ts.map +1 -1
  29. package/dist/src/sdk/index.js +633 -236
  30. package/dist/src/sdk/index.js.map +1 -1
  31. package/dist/src/sdk/langchain.d.ts +7 -2
  32. package/dist/src/sdk/langchain.d.ts.map +1 -1
  33. package/dist/src/sdk/langchain.js +3 -2
  34. package/dist/src/sdk/langchain.js.map +1 -1
  35. package/dist/src/sdk/memory-lifecycle.d.ts +25 -0
  36. package/dist/src/sdk/memory-lifecycle.d.ts.map +1 -1
  37. package/dist/src/sdk/memory-lifecycle.js +75 -1
  38. package/dist/src/sdk/memory-lifecycle.js.map +1 -1
  39. package/dist/src/sdk/openai-agents.d.ts +6 -6
  40. package/dist/src/sdk/openai-agents.d.ts.map +1 -1
  41. package/dist/src/sdk/openai-agents.js +21 -16
  42. package/dist/src/sdk/openai-agents.js.map +1 -1
  43. package/dist/src/sdk/openai.d.ts +2 -2
  44. package/dist/src/sdk/openai.d.ts.map +1 -1
  45. package/dist/src/sdk/openai.js +67 -31
  46. package/dist/src/sdk/openai.js.map +1 -1
  47. package/dist/src/sdk/vercel-ai.d.ts +15 -4
  48. package/dist/src/sdk/vercel-ai.d.ts.map +1 -1
  49. package/dist/src/sdk/vercel-ai.js +33 -9
  50. package/dist/src/sdk/vercel-ai.js.map +1 -1
  51. package/package.json +1 -1
  52. package/dist/src/domain/knowledge-meta-tools.d.ts +0 -12
  53. package/dist/src/domain/knowledge-meta-tools.d.ts.map +0 -1
  54. package/dist/src/domain/knowledge-meta-tools.js +0 -38
  55. package/dist/src/domain/knowledge-meta-tools.js.map +0 -1
  56. package/dist/src/domain/memory-meta-tools.d.ts +0 -5
  57. package/dist/src/domain/memory-meta-tools.d.ts.map +0 -1
  58. package/dist/src/domain/memory-meta-tools.js +0 -18
  59. package/dist/src/domain/memory-meta-tools.js.map +0 -1
  60. package/dist/src/domain/platform-mcp-tools.d.ts +0 -3
  61. package/dist/src/domain/platform-mcp-tools.d.ts.map +0 -1
  62. package/dist/src/domain/platform-mcp-tools.js +0 -30
  63. package/dist/src/domain/platform-mcp-tools.js.map +0 -1
@@ -1,6 +1,20 @@
1
1
  import { Ajv } from 'ajv';
2
- export const stacklinkMetaToolContractVersion = '2026-07-17.3';
3
- export const workbenchRuntimeDataContractVersion = '2026-07-14';
2
+ export const stacklinkMetaToolContractVersion = '2026-10-12.1';
3
+ export const workbenchRuntimeDataContractVersion = '2026-07-21';
4
+ export const workbenchBasePythonPackages = [
5
+ 'beautifulsoup4',
6
+ 'matplotlib',
7
+ 'numpy',
8
+ 'openpyxl',
9
+ 'pandas',
10
+ 'pillow',
11
+ 'pypdf',
12
+ 'python-docx',
13
+ 'reportlab',
14
+ 'requests',
15
+ ];
16
+ export const workbenchBasePackageManifestHash = '5152fc7fefff0a992d031ad5f9592aa3264ae0c980a5f3d115c2f671a3ef599b';
17
+ export const workbenchRuntimeImageDigest = 'ada355241325be53533f1be0056881eccfdb689bf504328271c0ba4ac5dbda5a';
4
18
  export const workbenchForegroundMaxTimeoutMs = 180_000;
5
19
  export const workbenchBackgroundMaxTimeoutMs = 3_600_000;
6
20
  export function materializeStacklinkWorkbenchExecutionResponse(accepted, execution) {
@@ -14,6 +28,8 @@ export function materializeStacklinkWorkbenchExecutionResponse(accepted, executi
14
28
  execution,
15
29
  executionLog: execution,
16
30
  result: execution.result,
31
+ ...(typeof execution.approvalRequestId === 'string' ? { approvalRequestId: execution.approvalRequestId } : {}),
32
+ ...(execution.status === 'waiting_for_approval' ? { executed: false, nextAction: 'wait_for_approval' } : {}),
17
33
  ...(artifact ? { artifact } : {}),
18
34
  };
19
35
  }
@@ -65,35 +81,42 @@ export const stacklinkWorkbenchDeferredSchemaKeys = [
65
81
  'stacklink.workbench.artifacts',
66
82
  'stacklink.workbench.runs',
67
83
  ];
68
- export const stacklinkDefaultMetaTools = [
84
+ export const stacklinkRouterTools = [
85
+ 'STACKLINK_BOTS',
69
86
  'STACKLINK_SEARCH_TOOLS',
70
- 'STACKLINK_GET_TOOL_SCHEMAS',
71
- 'STACKLINK_GET_RUNTIME_TOOL_CONTRACTS',
87
+ 'STACKLINK_GET_TOOL_CONTRACTS',
72
88
  'STACKLINK_MANAGE_CONNECTIONS',
73
- 'STACKLINK_EXECUTE_TOOL',
74
- 'STACKLINK_MULTI_EXECUTE_TOOL',
75
- 'STACKLINK_LIST_TOOLKITS',
89
+ 'STACKLINK_EXECUTE_TOOLS',
76
90
  'STACKLINK_REMOTE_WORKBENCH',
77
- 'STACKLINK_WORKBENCH_EXECUTION',
78
- 'STACKLINK_GET_APPROVAL',
79
- 'STACKLINK_WAIT_FOR_APPROVAL',
80
- ];
81
- export const stacklinkConnectorMetaTools = [
82
- ...stacklinkDefaultMetaTools,
83
- 'STACKLINK_WAIT_FOR_CONNECTIONS',
91
+ 'STACKLINK_GET_OPERATION',
84
92
  ];
85
- export const stacklinkInternalTools = [];
86
93
  const stringProperty = { type: 'string' };
87
94
  const metadataProperty = { type: 'object', additionalProperties: true };
88
95
  const executionKindProperty = {
89
96
  type: 'string',
90
- enum: ['workbench_bash', 'workbench_code', 'workbench_proxy'],
97
+ enum: ['tool', 'batch', 'workbench_bash', 'workbench_code', 'workbench_proxy'],
91
98
  };
92
99
  function schema(properties, required = []) {
93
100
  return { type: 'object', additionalProperties: false, properties, required };
94
101
  }
95
- function definition(name, description, inputSchema) {
96
- return { name, description, inputSchema, contractVersion: stacklinkMetaToolContractVersion };
102
+ function definition(name, title, description, inputSchema, outputSchema, annotations) {
103
+ return {
104
+ name,
105
+ title,
106
+ description,
107
+ inputSchema,
108
+ outputSchema,
109
+ annotations,
110
+ contractVersion: stacklinkMetaToolContractVersion,
111
+ };
112
+ }
113
+ function outputSchema(properties, required = []) {
114
+ return {
115
+ type: 'object',
116
+ additionalProperties: true,
117
+ properties,
118
+ required,
119
+ };
97
120
  }
98
121
  const stacklinkWorkbenchDeferredSchemaByKey = {
99
122
  'stacklink.workbench.run': {
@@ -201,7 +224,7 @@ const stacklinkWorkbenchDeferredSchemaByKey = {
201
224
  background: { type: 'boolean' },
202
225
  timeoutMs: { type: 'integer', minimum: 1, maximum: workbenchBackgroundMaxTimeoutMs },
203
226
  environmentMode: { type: 'string', enum: [...workbenchReplayEnvironmentModes] },
204
- idempotencyKey: { type: 'string', minLength: 1, maxLength: 180 },
227
+ idempotencyKey: { type: 'string', minLength: 1, maxLength: 240 },
205
228
  expectedPublishedVersion: {
206
229
  anyOf: [{ type: 'integer', minimum: 1 }, { type: 'null' }],
207
230
  },
@@ -220,127 +243,197 @@ const stacklinkWorkbenchDeferredSchemaKeyByOperation = {
220
243
  runs: 'stacklink.workbench.runs',
221
244
  };
222
245
  const stacklinkMetaToolDefinitionByName = {
223
- STACKLINK_SEARCH_TOOLS: definition('STACKLINK_SEARCH_TOOLS', 'Search Stacklink tools and trigger alternatives.', schema({
224
- query: stringProperty,
225
- queries: { type: 'array', items: { type: 'object', additionalProperties: true } },
226
- toolkitKey: stringProperty,
227
- providerKey: stringProperty,
228
- capability: stringProperty,
229
- descriptor: metadataProperty,
230
- includePlanned: { type: 'boolean' },
231
- limit: { type: 'integer', minimum: 1, maximum: 100 },
232
- model: stringProperty,
233
- cache: { type: 'string', enum: ['default', 'bypass'] },
234
- responseMode: {
235
- type: 'string',
236
- enum: ['compact', 'full'],
237
- description: 'Defaults to compact for agent discovery.',
246
+ STACKLINK_BOTS: definition('STACKLINK_BOTS', 'Stacklink bots', 'List and invoke published agents in this project. Runs are durable. Use get or events to observe a run; cancel stops it. Deliveries and retry_delivery observe or retry a callback without running the agent again. Management actions require bots:manage.', schema({ action: { type: 'string', enum: ['list', 'models', 'apis', 'delete_api', 'update_api', 'get', 'run', 'events', 'cancel', 'deliveries', 'retry_delivery', 'create', 'update', 'publish', 'delete', 'state', 'delete_customer_data', 'trigger_admission'] }, botId: { type: 'string', format: 'uuid' }, runId: { type: 'string', format: 'uuid' }, after: { type: 'string' }, input: { type: 'object', description: 'For run: message (required), variables and conversationId (optional), runId (UUID, reuse on a retry). For retry_delivery: deliveryId. For delete_api: apiId (only unused project definitions). For update_api: apiId, revision and api; updates the saved project setup without changing any bot snapshot. For create: name. For update: revision and patch. For publish: revision and channels {app,mcp,team:false} (team chat is unavailable). For state: state (on or paused), pauseFor (1h, tomorrow, manual), reason. Delete requires no active runs or follow-ups. trigger_admission takes triggerId and admissionId to observe signed event admission before the run exists. delete_customer_data erases Bot-owned conversations, private knowledge and files for the authenticated session customer; shared Memory and API credentials remain unchanged.', additionalProperties: true } }, ['action']), outputSchema({}), { readOnlyHint: false, destructiveHint: true }),
247
+ STACKLINK_SEARCH_TOOLS: definition('STACKLINK_SEARCH_TOOLS', 'Search Stacklink tools', 'Search the server-side Stacklink capability registry with up to four atomic task queries. Returns at most six candidates per query and exact contract references; it never returns the provider catalog.', schema({
248
+ queries: {
249
+ type: 'array',
250
+ minItems: 1,
251
+ maxItems: 4,
252
+ items: {
253
+ oneOf: [
254
+ {
255
+ type: 'object',
256
+ additionalProperties: false,
257
+ description: 'Use when the user did not name a provider. Describe only the atomic task.',
258
+ properties: {
259
+ id: { type: 'string', minLength: 1, maxLength: 80 },
260
+ task: { type: 'string', minLength: 1, maxLength: 500 },
261
+ },
262
+ required: ['id', 'task'],
263
+ },
264
+ {
265
+ type: 'object',
266
+ additionalProperties: false,
267
+ description: 'Use for a first search when the user names a provider, product, or vendor. Set providerHint.label to only the provider product name, such as Slack. Keep account, workspace, tenant, repository, and resource names in task. Never construct a provider reference.',
268
+ properties: {
269
+ id: { type: 'string', minLength: 1, maxLength: 80 },
270
+ task: { type: 'string', minLength: 1, maxLength: 500 },
271
+ providerHint: {
272
+ type: 'object',
273
+ additionalProperties: false,
274
+ properties: {
275
+ label: {
276
+ type: 'string',
277
+ minLength: 1,
278
+ maxLength: 180,
279
+ description: 'Provider product name only, such as Slack or Gmail. Do not include an account, workspace, tenant, repository, or resource name. Stacklink resolves it; this is never a database key.',
280
+ },
281
+ },
282
+ required: ['label'],
283
+ },
284
+ },
285
+ required: ['id', 'task', 'providerHint'],
286
+ },
287
+ {
288
+ type: 'object',
289
+ additionalProperties: false,
290
+ description: 'Use only after an earlier Stacklink result returned providerRef. Copy that opaque signed value exactly. It is never a URL, provider key, provider name, or value the model may construct.',
291
+ properties: {
292
+ id: { type: 'string', minLength: 1, maxLength: 80 },
293
+ task: { type: 'string', minLength: 1, maxLength: 500 },
294
+ providerRef: {
295
+ type: 'string',
296
+ minLength: 1,
297
+ description: 'Opaque signed provider reference copied exactly from an earlier Stacklink search result.',
298
+ },
299
+ },
300
+ required: ['id', 'task', 'providerRef'],
301
+ },
302
+ ],
303
+ },
238
304
  },
239
- includeSchemas: { type: 'boolean' },
240
- includeRelatedTools: { type: 'boolean' },
241
- includeExecutionPlan: { type: 'boolean' },
242
- })),
243
- STACKLINK_GET_TOOL_SCHEMAS: definition('STACKLINK_GET_TOOL_SCHEMAS', 'Fetch exact Stacklink tool schemas.', schema({
244
- toolKeys: { type: 'array', items: stringProperty, minItems: 1, maxItems: 100 },
245
- includePlanned: { type: 'boolean' },
246
- cache: { type: 'string', enum: ['default', 'bypass'] },
247
- }, ['toolKeys'])),
248
- STACKLINK_GET_RUNTIME_TOOL_CONTRACTS: definition('STACKLINK_GET_RUNTIME_TOOL_CONTRACTS', 'Fetch runtime-ready Stacklink tool contracts for selected accounts.', schema({
249
- toolkitKeys: { type: 'array', items: stringProperty, maxItems: 100 },
250
- toolKeys: { type: 'array', items: stringProperty, maxItems: 100 },
251
- includePlanned: { type: 'boolean' },
252
- })),
253
- STACKLINK_MANAGE_CONNECTIONS: definition('STACKLINK_MANAGE_CONNECTIONS', 'Manage connected accounts, account resources, and connection requests.', schema({
305
+ }, ['queries']), outputSchema({
306
+ schemaVersion: { type: 'string', const: 'stacklink.agent_tool_search.v2' },
307
+ results: { type: 'array', items: { type: 'object', additionalProperties: true } },
308
+ limits: { type: 'object', additionalProperties: true },
309
+ }, ['schemaVersion', 'results', 'limits']), { readOnlyHint: true, destructiveHint: false }),
310
+ STACKLINK_GET_TOOL_CONTRACTS: definition('STACKLINK_GET_TOOL_CONTRACTS', 'Get Stacklink tool contracts', 'Load up to six exact model and execution contracts using opaque references returned by STACKLINK_SEARCH_TOOLS.', schema({
311
+ contractRefs: { type: 'array', items: stringProperty, minItems: 1, maxItems: 6 },
312
+ }, ['contractRefs']), outputSchema({
313
+ contract: { type: 'string', const: 'stacklink.agent_tool_contracts.v2' },
314
+ sessionId: stringProperty,
315
+ tools: { type: 'array', items: { type: 'object', additionalProperties: true } },
316
+ meta: { type: 'object', additionalProperties: true },
317
+ }, ['contract', 'sessionId', 'tools', 'meta']), { readOnlyHint: true, destructiveHint: false }),
318
+ STACKLINK_MANAGE_CONNECTIONS: definition('STACKLINK_MANAGE_CONNECTIONS', 'Manage Stacklink connections', 'Authorize one exact provider using the opaque connection reference returned by STACKLINK_SEARCH_TOOLS. Stacklink owns provider identity, project access, auth configuration, user confirmation, waiting, and resumption.', schema({
254
319
  action: {
255
320
  type: 'string',
256
- enum: ['list', 'list_tools', 'list_resources', 'refresh_resources', 'resolve_resource', 'authorize', 'status', 'get', 'enable', 'disable', 'refresh', 'delete', 'validate', 'set_default', 'set_aliases', 'list_secrets'],
321
+ enum: ['authorize'],
322
+ },
323
+ connectionRef: { type: 'string', minLength: 1 },
324
+ slackCapabilityProfile: {
325
+ type: 'string',
326
+ enum: ['bot', 'user', 'hybrid'],
327
+ },
328
+ zohoBooksDataCenter: {
329
+ type: 'string',
330
+ enum: ['.com', '.eu', '.in', '.com.au', '.jp', '.ca', '.com.cn', '.sa'],
257
331
  },
258
- providerKey: stringProperty,
259
- tenantId: stringProperty,
260
- accountId: stringProperty,
261
- connectionRequestId: stringProperty,
262
- callbackUrl: stringProperty,
263
- authConfigId: stringProperty,
264
- authMode: stringProperty,
265
- aliases: { type: 'array', items: stringProperty },
266
- toolKeys: { type: 'array', items: stringProperty, maxItems: 100 },
267
- includePlanned: { type: 'boolean' },
268
- resourceSearch: { type: 'string', maxLength: 260 },
269
- resourceKey: { type: 'string', maxLength: 160 },
270
- externalResourceId: { type: 'string', maxLength: 220 },
271
- resourceKinds: { type: 'array', items: { type: 'string', maxLength: 80 }, maxItems: 20 },
272
- cursor: { type: 'string', format: 'uuid' },
273
- limit: { type: 'integer', minimum: 1, maximum: 500 },
332
+ zohoBooksOrganizationId: {
333
+ type: 'string',
334
+ minLength: 1,
335
+ maxLength: 180,
336
+ },
337
+ intercomRegion: {
338
+ type: 'string',
339
+ enum: ['us', 'eu', 'au'],
340
+ },
341
+ zendeskSubdomain: {
342
+ type: 'string',
343
+ minLength: 1,
344
+ maxLength: 63,
345
+ description: 'Exact Zendesk subdomain label before .zendesk.com.',
346
+ },
347
+ storeUrl: { type: 'string', description: 'Exact HTTPS WooCommerce store address, including its installation path.' },
348
+ storeAccess: { type: 'string', enum: ['read', 'read_write'], description: 'WooCommerce access to request from the merchant.' },
274
349
  metadata: metadataProperty,
275
- }, ['action'])),
276
- STACKLINK_WAIT_FOR_CONNECTIONS: definition('STACKLINK_WAIT_FOR_CONNECTIONS', 'Wait for one or more Stacklink connection requests to finish.', schema({
277
- connectionRequestId: stringProperty,
278
- connectionRequestIds: { type: 'array', items: stringProperty, maxItems: 50 },
279
- timeoutMs: { type: 'integer', minimum: 0, maximum: 300_000 },
280
- intervalMs: { type: 'integer', minimum: 250, maximum: 15_000 },
281
- })),
282
- STACKLINK_EXECUTE_TOOL: definition('STACKLINK_EXECUTE_TOOL', 'Execute one exact Stacklink tool.', schema({
283
- toolKey: stringProperty,
284
- accountId: stringProperty,
285
- accountAlias: stringProperty,
286
- binding: {
350
+ }, ['action', 'connectionRef']), outputSchema({
351
+ authorization: {
287
352
  type: 'object',
288
- additionalProperties: false,
289
- properties: { targetType: stringProperty, targetId: stringProperty },
353
+ additionalProperties: true,
354
+ properties: {
355
+ id: stringProperty,
356
+ status: { type: 'string' },
357
+ userAction: { type: 'object', additionalProperties: true },
358
+ },
359
+ },
360
+ }, ['authorization']), { readOnlyHint: false, destructiveHint: false }),
361
+ STACKLINK_EXECUTE_TOOLS: definition('STACKLINK_EXECUTE_TOOLS', 'Execute Stacklink tools', 'Execute one or more exact prepared Stacklink contracts. Parallel execution is allowed only by the selected contracts.', schema({
362
+ executions: {
363
+ type: 'array',
364
+ minItems: 1,
365
+ maxItems: 10,
366
+ items: {
367
+ type: 'object',
368
+ additionalProperties: false,
369
+ properties: {
370
+ contractRef: { type: 'string', minLength: 1 },
371
+ accountRef: {
372
+ type: 'string',
373
+ minLength: 1,
374
+ description: 'Opaque account reference returned by Stacklink search. Omit when Stacklink selected exactly one usable account.',
375
+ },
376
+ binding: {
377
+ type: 'object',
378
+ additionalProperties: false,
379
+ properties: {
380
+ targetType: { type: 'string', minLength: 1, maxLength: 100 },
381
+ targetId: { type: 'string', minLength: 1, maxLength: 180 },
382
+ },
383
+ required: ['targetType', 'targetId'],
384
+ },
385
+ input: metadataProperty,
386
+ idempotencyKey: { type: 'string', minLength: 1, maxLength: 240 },
387
+ clientExecutionId: { type: 'string', minLength: 1, maxLength: 120 },
388
+ metadata: metadataProperty,
389
+ },
390
+ required: ['contractRef', 'input'],
391
+ },
290
392
  },
291
- input: metadataProperty,
292
- idempotencyKey: stringProperty,
293
- metadata: metadataProperty,
294
- }, ['toolKey'])),
295
- STACKLINK_MULTI_EXECUTE_TOOL: definition('STACKLINK_MULTI_EXECUTE_TOOL', 'Execute up to 50 exact Stacklink tools as one workflow step.', schema({
296
- executions: { type: 'array', items: metadataProperty, minItems: 1, maxItems: 50 },
297
393
  mode: { type: 'string', enum: ['parallel', 'sequential'] },
298
394
  parallelPolicy: { type: 'string', enum: ['auto', 'strict'] },
299
- idempotencyKey: stringProperty,
300
- maxConcurrency: { type: 'integer', minimum: 1, maximum: 50 },
395
+ idempotencyKey: { type: 'string', minLength: 1, maxLength: 240, description: 'Required for mutations. Reuse this exact key only when retrieving or retrying the same action and inputs.' },
396
+ timeoutMs: { type: 'integer', minimum: 1, maximum: 300000, description: 'Total execution budget, including queue time. Defaults to 60000 ms.' },
397
+ maxConcurrency: { type: 'integer', minimum: 1, maximum: 10 },
301
398
  continueOnError: { type: 'boolean' },
302
399
  syncResponseToWorkbench: { type: 'boolean' },
303
400
  currentStep: stringProperty,
304
401
  currentStepMetric: stringProperty,
305
402
  metadata: metadataProperty,
306
- }, ['executions'])),
307
- STACKLINK_LIST_TOOLKITS: definition('STACKLINK_LIST_TOOLKITS', 'List Stacklink toolkits available to this session.', schema({
308
- status: { type: 'string', enum: ['enabled', 'disabled', 'available', 'planned'] },
309
- includeDisabled: { type: 'boolean' },
310
- })),
311
- STACKLINK_REMOTE_WORKBENCH: definition('STACKLINK_REMOTE_WORKBENCH', 'Use deferred Workbench operations for multi-runtime execution, workspaces, files, artifacts, and reusable runs. Load the exact operation schema through STACKLINK_GET_TOOL_SCHEMAS first.', schema({
403
+ }, ['executions']), outputSchema({
404
+ batchExecutionId: { type: 'string' },
405
+ status: { type: 'string' },
406
+ requestedMode: { type: 'string' },
407
+ effectiveMode: { type: 'string' },
408
+ results: { type: 'array', items: { type: 'object', additionalProperties: true } },
409
+ operation: { type: 'object', additionalProperties: true },
410
+ }), { readOnlyHint: false, destructiveHint: true }),
411
+ STACKLINK_REMOTE_WORKBENCH: definition('STACKLINK_REMOTE_WORKBENCH', 'Use Stacklink Workbench', 'Run code and manage files, artifacts, and workspaces directly through Stacklink Workbench. No provider search or contract reference is needed. Use the input schema for the selected operation. Python and JavaScript already provide the stacklink client; do not import an invented stacklink_client package.', schema({
312
412
  operation: { type: 'string', enum: [...stacklinkWorkbenchGatewayOperations] },
313
- input: metadataProperty,
413
+ input: {
414
+ anyOf: stacklinkWorkbenchGatewayOperations.map((operation) => {
415
+ const contract = stacklinkWorkbenchDeferredSchemaByKey[stacklinkWorkbenchDeferredSchemaKeyByOperation[operation]];
416
+ return { ...contract.inputSchema, description: `Input for operation="${operation}": ${contract.description}` };
417
+ }),
418
+ },
314
419
  contractVersion: stringProperty,
315
- }, ['operation', 'input'])),
316
- STACKLINK_WORKBENCH_EXECUTION: definition('STACKLINK_WORKBENCH_EXECUTION', 'List, inspect, replay events for, wait for, or cancel Workbench executions without loading five separate lifecycle tools.', schema({
317
- action: { type: 'string', enum: ['list', 'get', 'events', 'wait', 'cancel'] },
420
+ }, ['operation', 'input']), outputSchema({
421
+ operation: { type: 'object', additionalProperties: true },
422
+ result: {},
423
+ }), { readOnlyHint: false, destructiveHint: true }),
424
+ STACKLINK_GET_OPERATION: definition('STACKLINK_GET_OPERATION', 'Inspect or cancel a Stacklink operation', 'Inspect or cancel one exact Stacklink connection, approval, tool, batch, or Workbench operation. Normal waiting and resumption are owned by the runtime.', schema({
425
+ action: { type: 'string', enum: ['get', 'cancel'] },
426
+ operationKind: { type: 'string', enum: ['connection', 'approval', 'execution'] },
427
+ operationId: { type: 'string', format: 'uuid', description: 'Exact operation UUID returned by Stacklink. A provider tool key or contract reference is not an operation ID. Load tool contracts with STACKLINK_GET_TOOL_CONTRACTS.' },
318
428
  executionKind: executionKindProperty,
319
- executionId: stringProperty,
320
- workbenchSessionId: { type: 'string', format: 'uuid' },
321
- status: stringProperty,
322
- cursor: stringProperty,
323
- limit: { type: 'integer', minimum: 1, maximum: 200 },
324
429
  includeEvents: { type: 'boolean' },
325
- eventLimit: { type: 'integer', minimum: 1, maximum: 500 },
326
- afterSequence: { type: 'string', description: 'Read events strictly after this durable sequence number.' },
327
- waitTimeoutMs: {
328
- type: 'integer',
329
- minimum: 1,
330
- maximum: 50_000,
331
- description: 'Server-side wait cap. Defaults to 15000 and is hard-capped at 50000.',
332
- },
333
- pollIntervalMs: { type: 'integer', minimum: 250, maximum: 5_000 },
430
+ eventLimit: { type: 'integer', minimum: 1, maximum: 200 },
334
431
  reason: stringProperty,
335
- }, ['action'])),
336
- STACKLINK_GET_APPROVAL: definition('STACKLINK_GET_APPROVAL', 'Read one session-scoped human approval request.', schema({
337
- approvalRequestId: { type: 'string', format: 'uuid' },
338
- }, ['approvalRequestId'])),
339
- STACKLINK_WAIT_FOR_APPROVAL: definition('STACKLINK_WAIT_FOR_APPROVAL', 'Wait for a session-scoped human approval request to leave pending state.', schema({
340
- approvalRequestId: { type: 'string', format: 'uuid' },
341
- waitTimeoutMs: { type: 'integer', minimum: 0, maximum: 55_000 },
342
- pollIntervalMs: { type: 'integer', minimum: 100, maximum: 5_000 },
343
- }, ['approvalRequestId'])),
432
+ }, ['action', 'operationKind', 'operationId']), outputSchema({
433
+ status: { type: 'string' },
434
+ operation: { type: 'object', additionalProperties: true },
435
+ result: {},
436
+ }), { readOnlyHint: false, destructiveHint: true }),
344
437
  };
345
438
  export function getStacklinkMetaToolDefinition(name, input = {}) {
346
439
  const tool = stacklinkMetaToolDefinitionByName[name];
@@ -446,11 +539,7 @@ function isStacklinkRecord(value) {
446
539
  return typeof value === 'object' && value !== null && !Array.isArray(value);
447
540
  }
448
541
  export function listStacklinkMetaToolNames(input = {}) {
449
- const names = [
450
- ...(input.surface === 'connector' ? stacklinkConnectorMetaTools : stacklinkDefaultMetaTools),
451
- ];
452
- if (input.includeInternal)
453
- names.push(...stacklinkInternalTools);
454
- return names;
542
+ void input;
543
+ return [...stacklinkRouterTools];
455
544
  }
456
545
  //# sourceMappingURL=stacklink-meta-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stacklink-meta-tools.js","sourceRoot":"","sources":["../../../../../src/domain/stacklink-meta-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stacklink-meta-tools.js","sourceRoot":"","sources":["../../../../../src/domain/stacklink-meta-tools.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { StacklinkToolSurfaceName, StacklinkTools } from './index.js';
1
+ import type { StacklinkToolExecutionContext, StacklinkToolSurfaceName, StacklinkTools } from './index.js';
2
2
  export interface StacklinkFrameworkSession {
3
3
  tools(): StacklinkTools;
4
4
  }
@@ -12,8 +12,30 @@ export interface StacklinkFrameworkTool {
12
12
  name: StacklinkToolSurfaceName;
13
13
  description: string;
14
14
  parameters: Record<string, unknown>;
15
- execute(input: Record<string, unknown>): Promise<unknown>;
15
+ outputSchema: Record<string, unknown>;
16
+ execute(input: Record<string, unknown>, execution?: StacklinkToolExecutionContext | undefined): Promise<unknown>;
16
17
  }
17
18
  export declare function listStacklinkFrameworkTools(session: StacklinkFrameworkSession): StacklinkFrameworkTool[];
18
19
  export declare function parseFrameworkToolInput(value: unknown): Record<string, unknown>;
20
+ /** Keep only schema diagnostics, never rejected values or private references. */
21
+ export declare function stacklinkToolValidationIssues(errors: unknown): {
22
+ expectedType?: string;
23
+ unexpectedField?: string;
24
+ missingField?: string;
25
+ message?: string;
26
+ path: string;
27
+ rule: string;
28
+ }[];
29
+ export declare class StacklinkToolValidationError extends Error {
30
+ readonly code = "stacklink_tool_input_invalid";
31
+ readonly issues: ReturnType<typeof stacklinkToolValidationIssues>;
32
+ constructor(toolName: string, errors: unknown);
33
+ }
34
+ export declare function validateFrameworkToolInput(toolName: string, schema: Record<string, unknown>, value: unknown): {
35
+ success: true;
36
+ value: Record<string, unknown>;
37
+ } | {
38
+ success: false;
39
+ error: Error;
40
+ };
19
41
  //# sourceMappingURL=framework-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"framework-tools.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/framework-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EACxB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,yBAAyB;IACxC,KAAK,IAAI,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;IAC7E,aAAa,IAAI;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,yBAAyB,GACjC,sBAAsB,EAAE,CAU1B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ/E"}
1
+ {"version":3,"file":"framework-tools.d.ts","sourceRoot":"","sources":["../../../../../src/sdk/framework-tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,6BAA6B,EAC7B,wBAAwB,EACxB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,yBAAyB;IACxC,KAAK,IAAI,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;IAC7E,aAAa,IAAI;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,CACL,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,CAAC,EAAE,6BAA6B,GAAG,SAAS,GACpD,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,yBAAyB,GACjC,sBAAsB,EAAE,CAW1B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ/E;AAMD,iFAAiF;AACjF,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,OAAO;;;;;;;IAY5D;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,kCAAkC;IAC/C,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;gBAEtD,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;CAM9C;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,GAC1G;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAiBrF"}
@@ -1,3 +1,6 @@
1
+ import { Ajv } from 'ajv';
2
+ import { Ajv2019 } from 'ajv/dist/2019.js';
3
+ import { Ajv2020 } from 'ajv/dist/2020.js';
1
4
  export function listStacklinkFrameworkTools(session) {
2
5
  const tools = session.tools();
3
6
  return Object.entries(tools).flatMap(([name, tool]) => tool
@@ -5,6 +8,7 @@ export function listStacklinkFrameworkTools(session) {
5
8
  name: name,
6
9
  description: tool.description,
7
10
  parameters: tool.parameters,
11
+ outputSchema: tool.outputSchema,
8
12
  execute: tool.execute,
9
13
  }]
10
14
  : []);
@@ -20,6 +24,52 @@ export function parseFrameworkToolInput(value) {
20
24
  throw new Error('Stacklink tool input must be an object.');
21
25
  return value;
22
26
  }
27
+ const validatorOptions = { strict: false, allErrors: true, validateFormats: false, coerceTypes: false, useDefaults: false, addUsedSchema: false };
28
+ const inputValidators = { default: new Ajv(validatorOptions), draft2019: new Ajv2019(validatorOptions), draft2020: new Ajv2020(validatorOptions) };
29
+ const compiledInputs = new WeakMap();
30
+ /** Keep only schema diagnostics, never rejected values or private references. */
31
+ export function stacklinkToolValidationIssues(errors) {
32
+ return (Array.isArray(errors) ? errors : []).filter(isFrameworkRecord).slice(0, 12).map(error => {
33
+ const params = isFrameworkRecord(error.params) ? error.params : {};
34
+ return {
35
+ path: typeof error.instancePath === 'string' ? error.instancePath : '',
36
+ rule: typeof error.keyword === 'string' ? error.keyword : 'schema',
37
+ ...(typeof error.message === 'string' ? { message: error.message } : {}),
38
+ ...(typeof params.missingProperty === 'string' ? { missingField: params.missingProperty } : {}),
39
+ ...(typeof params.additionalProperty === 'string' ? { unexpectedField: params.additionalProperty } : {}),
40
+ ...(typeof params.type === 'string' ? { expectedType: params.type } : {}),
41
+ };
42
+ });
43
+ }
44
+ export class StacklinkToolValidationError extends Error {
45
+ code = 'stacklink_tool_input_invalid';
46
+ issues;
47
+ constructor(toolName, errors) {
48
+ const issues = stacklinkToolValidationIssues(errors);
49
+ super(`Invalid arguments for ${toolName}. Correct the indicated fields using the loaded tool schema: ${JSON.stringify(issues)}`);
50
+ this.name = 'StacklinkToolValidationError';
51
+ this.issues = issues;
52
+ }
53
+ }
54
+ export function validateFrameworkToolInput(toolName, schema, value) {
55
+ let validate = compiledInputs.get(schema);
56
+ if (!validate) {
57
+ const owner = schema.$schema === 'https://json-schema.org/draft/2020-12/schema' ? inputValidators.draft2020
58
+ : schema.$schema === 'https://json-schema.org/draft/2019-09/schema' ? inputValidators.draft2019 : inputValidators.default;
59
+ try {
60
+ validate = owner.compile(schema);
61
+ }
62
+ finally {
63
+ // Ajv otherwise retains every session-specific schema in its strong cache.
64
+ // The compiled validator remains valid; its lifetime belongs to our WeakMap.
65
+ owner.removeSchema(schema);
66
+ }
67
+ compiledInputs.set(schema, validate);
68
+ }
69
+ return validate(value) && isFrameworkRecord(value)
70
+ ? { success: true, value }
71
+ : { success: false, error: new StacklinkToolValidationError(toolName, validate.errors) };
72
+ }
23
73
  function isFrameworkRecord(value) {
24
74
  return typeof value === 'object' && value !== null && !Array.isArray(value);
25
75
  }