@n8n/agents 0.17.2 → 0.19.0

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 (152) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +10 -5
  3. package/dist/index.js +13 -8
  4. package/dist/index.js.map +1 -1
  5. package/dist/integrations/langsmith.js +1 -1
  6. package/dist/integrations/langsmith.js.map +1 -1
  7. package/dist/runtime/loop/agent-runtime.d.ts +7 -10
  8. package/dist/runtime/loop/agent-runtime.js +89 -45
  9. package/dist/runtime/loop/agent-runtime.js.map +1 -1
  10. package/dist/runtime/loop/execution-counter.d.ts +1 -0
  11. package/dist/runtime/loop/execution-counter.js +8 -0
  12. package/dist/runtime/loop/execution-counter.js.map +1 -1
  13. package/dist/runtime/loop/generate-sink.js +3 -1
  14. package/dist/runtime/loop/generate-sink.js.map +1 -1
  15. package/dist/runtime/loop/hydrate-file-parts.d.ts +7 -0
  16. package/dist/runtime/loop/hydrate-file-parts.js +42 -0
  17. package/dist/runtime/loop/hydrate-file-parts.js.map +1 -0
  18. package/dist/runtime/loop/run-output-sink.d.ts +4 -3
  19. package/dist/runtime/loop/runtime-context.d.ts +2 -1
  20. package/dist/runtime/loop/runtime-context.js +9 -4
  21. package/dist/runtime/loop/runtime-context.js.map +1 -1
  22. package/dist/runtime/loop/runtime-helpers.d.ts +2 -1
  23. package/dist/runtime/loop/runtime-helpers.js +11 -0
  24. package/dist/runtime/loop/runtime-helpers.js.map +1 -1
  25. package/dist/runtime/loop/stream-sink.js +5 -3
  26. package/dist/runtime/loop/stream-sink.js.map +1 -1
  27. package/dist/runtime/mcp/mcp-connection.js +2 -0
  28. package/dist/runtime/mcp/mcp-connection.js.map +1 -1
  29. package/dist/runtime/memory/episodic-memory-defaults.js +2 -2
  30. package/dist/runtime/memory/episodic-memory-defaults.js.map +1 -1
  31. package/dist/runtime/memory/episodic-memory.js +3 -2
  32. package/dist/runtime/memory/episodic-memory.js.map +1 -1
  33. package/dist/runtime/memory/observation-log-defaults.d.ts +2 -2
  34. package/dist/runtime/memory/observation-log-defaults.js +18 -5
  35. package/dist/runtime/memory/observation-log-defaults.js.map +1 -1
  36. package/dist/runtime/memory/observation-log-observer.js +8 -13
  37. package/dist/runtime/memory/observation-log-observer.js.map +1 -1
  38. package/dist/runtime/memory/observation-log-reflector.js +6 -1
  39. package/dist/runtime/memory/observation-log-reflector.js.map +1 -1
  40. package/dist/runtime/memory/title-generation.js +4 -18
  41. package/dist/runtime/memory/title-generation.js.map +1 -1
  42. package/dist/runtime/model/message-list.d.ts +3 -1
  43. package/dist/runtime/model/message-list.js +10 -3
  44. package/dist/runtime/model/message-list.js.map +1 -1
  45. package/dist/runtime/model/messages.d.ts +2 -1
  46. package/dist/runtime/model/messages.js +65 -5
  47. package/dist/runtime/model/messages.js.map +1 -1
  48. package/dist/runtime/model/model-factory.d.ts +1 -1
  49. package/dist/runtime/model/model-factory.js +8 -6
  50. package/dist/runtime/model/model-factory.js.map +1 -1
  51. package/dist/runtime/model/provider-credentials.d.ts +4 -0
  52. package/dist/runtime/model/provider-credentials.js +3 -1
  53. package/dist/runtime/model/provider-credentials.js.map +1 -1
  54. package/dist/runtime/model/provider-quirks.d.ts +3 -2
  55. package/dist/runtime/model/provider-quirks.js +29 -5
  56. package/dist/runtime/model/provider-quirks.js.map +1 -1
  57. package/dist/runtime/state/run-state.d.ts +5 -0
  58. package/dist/runtime/state/run-state.js +14 -3
  59. package/dist/runtime/state/run-state.js.map +1 -1
  60. package/dist/runtime/streaming/stream-session.js +8 -0
  61. package/dist/runtime/streaming/stream-session.js.map +1 -1
  62. package/dist/runtime/telemetry/runtime-telemetry.d.ts +4 -3
  63. package/dist/runtime/telemetry/runtime-telemetry.js +56 -21
  64. package/dist/runtime/telemetry/runtime-telemetry.js.map +1 -1
  65. package/dist/runtime/telemetry/sub-agent-telemetry.d.ts +2 -0
  66. package/dist/runtime/telemetry/sub-agent-telemetry.js +14 -0
  67. package/dist/runtime/telemetry/sub-agent-telemetry.js.map +1 -0
  68. package/dist/runtime/telemetry/telemetry-options.d.ts +3 -3
  69. package/dist/runtime/telemetry/telemetry-options.js +5 -6
  70. package/dist/runtime/telemetry/telemetry-options.js.map +1 -1
  71. package/dist/runtime/tools/delegate-sub-agent-tool.d.ts +59 -5
  72. package/dist/runtime/tools/delegate-sub-agent-tool.js +236 -45
  73. package/dist/runtime/tools/delegate-sub-agent-tool.js.map +1 -1
  74. package/dist/runtime/tools/planner-todos-tool.d.ts +6 -0
  75. package/dist/runtime/tools/planner-todos-tool.js +47 -0
  76. package/dist/runtime/tools/planner-todos-tool.js.map +1 -0
  77. package/dist/runtime/tools/todos-core.d.ts +35 -0
  78. package/dist/runtime/tools/todos-core.js +52 -0
  79. package/dist/runtime/tools/todos-core.js.map +1 -0
  80. package/dist/runtime/tools/tool-adapter.d.ts +4 -1
  81. package/dist/runtime/tools/tool-adapter.js +15 -2
  82. package/dist/runtime/tools/tool-adapter.js.map +1 -1
  83. package/dist/runtime/tools/tool-call-executor.d.ts +5 -0
  84. package/dist/runtime/tools/tool-call-executor.js +166 -45
  85. package/dist/runtime/tools/tool-call-executor.js.map +1 -1
  86. package/dist/runtime/tools/write-todos-tool.js +5 -40
  87. package/dist/runtime/tools/write-todos-tool.js.map +1 -1
  88. package/dist/sdk/agent.d.ts +9 -1
  89. package/dist/sdk/agent.js +154 -22
  90. package/dist/sdk/agent.js.map +1 -1
  91. package/dist/sdk/catalog.d.ts +1 -1
  92. package/dist/sdk/catalog.js +1 -1
  93. package/dist/sdk/catalog.js.map +1 -1
  94. package/dist/sdk/mcp-client.d.ts +4 -1
  95. package/dist/sdk/mcp-client.js +26 -13
  96. package/dist/sdk/mcp-client.js.map +1 -1
  97. package/dist/sdk/metadata-enriched-tracer.d.ts +3 -0
  98. package/dist/sdk/metadata-enriched-tracer.js +38 -0
  99. package/dist/sdk/metadata-enriched-tracer.js.map +1 -0
  100. package/dist/sdk/telemetry.d.ts +3 -3
  101. package/dist/sdk/telemetry.js +77 -29
  102. package/dist/sdk/telemetry.js.map +1 -1
  103. package/dist/sdk/tool.js +55 -3
  104. package/dist/sdk/tool.js.map +1 -1
  105. package/dist/skills/index.d.ts +2 -2
  106. package/dist/skills/index.js +1 -3
  107. package/dist/skills/index.js.map +1 -1
  108. package/dist/skills/prompt.d.ts +1 -1
  109. package/dist/skills/prompt.js +2 -3
  110. package/dist/skills/prompt.js.map +1 -1
  111. package/dist/skills/tools.d.ts +0 -1
  112. package/dist/skills/tools.js +4 -101
  113. package/dist/skills/tools.js.map +1 -1
  114. package/dist/skills/types.d.ts +0 -1
  115. package/dist/skills/types.js +1 -2
  116. package/dist/skills/types.js.map +1 -1
  117. package/dist/types/index.d.ts +7 -4
  118. package/dist/types/index.js +3 -1
  119. package/dist/types/index.js.map +1 -1
  120. package/dist/types/runtime/event.d.ts +38 -2
  121. package/dist/types/runtime/event.js +1 -0
  122. package/dist/types/runtime/event.js.map +1 -1
  123. package/dist/types/sdk/agent-builder.d.ts +3 -0
  124. package/dist/types/sdk/agent.d.ts +17 -5
  125. package/dist/types/sdk/file-store.d.ts +7 -0
  126. package/dist/types/sdk/file-store.js +3 -0
  127. package/dist/types/sdk/file-store.js.map +1 -0
  128. package/dist/types/sdk/mcp.d.ts +5 -0
  129. package/dist/types/sdk/message.d.ts +18 -2
  130. package/dist/types/sdk/message.js +15 -0
  131. package/dist/types/sdk/message.js.map +1 -1
  132. package/dist/types/sdk/provider.d.ts +1 -0
  133. package/dist/types/sdk/reasoning.d.ts +2 -0
  134. package/dist/types/sdk/reasoning.js +3 -0
  135. package/dist/types/sdk/reasoning.js.map +1 -0
  136. package/dist/types/sdk/tool.d.ts +20 -2
  137. package/dist/types/telemetry.d.ts +6 -2
  138. package/dist/utils/parse.js +26 -8
  139. package/dist/utils/parse.js.map +1 -1
  140. package/dist/workspace/sandbox/daytona-sandbox.d.ts +6 -2
  141. package/dist/workspace/sandbox/daytona-sandbox.js +121 -23
  142. package/dist/workspace/sandbox/daytona-sandbox.js.map +1 -1
  143. package/dist/workspace/sandbox/index.d.ts +1 -1
  144. package/dist/workspace/sandbox/index.js +1 -3
  145. package/dist/workspace/sandbox/index.js.map +1 -1
  146. package/dist/workspace/sandbox/workspace-root.d.ts +0 -2
  147. package/dist/workspace/sandbox/workspace-root.js +0 -11
  148. package/dist/workspace/sandbox/workspace-root.js.map +1 -1
  149. package/package.json +28 -22
  150. package/dist/runtime/json-value.d.ts +0 -2
  151. package/dist/runtime/json-value.js +0 -43
  152. package/dist/runtime/json-value.js.map +0 -1
@@ -15,6 +15,7 @@ function formatErrorWithCause(error) {
15
15
  }
16
16
  class McpClient {
17
17
  constructor(configs) {
18
+ this.connectionFailures = [];
18
19
  for (const cfg of configs) {
19
20
  if (!cfg.url && !cfg.command) {
20
21
  throw new Error(`MCP server "${cfg.name}": exactly one of "url" or "command" must be provided`);
@@ -88,29 +89,41 @@ class McpClient {
88
89
  declaresApproval() {
89
90
  return this.connections.some((conn) => conn.declaresApproval());
90
91
  }
92
+ getConnectionFailures() {
93
+ return this.connectionFailures;
94
+ }
91
95
  async doListTools() {
92
96
  const connectedConnections = [];
93
97
  const settled = await Promise.allSettled(this.connections.map(async (conn) => {
94
98
  await conn.connect();
95
- connectedConnections.push(conn);
96
99
  return await conn.listTools();
97
100
  }));
98
- const failed = settled
99
- .map((r, i) => ({ result: r, name: this.connections[i].name }))
100
- .filter((x) => x.result.status === 'rejected');
101
- if (failed.length > 0) {
102
- await Promise.allSettled(connectedConnections.map(async (c) => await c.disconnect()));
103
- const details = failed
104
- .map((x) => {
105
- const reason = x.result.status === 'rejected' ? formatErrorWithCause(x.result.reason) : '';
106
- return `${x.name}: ${reason}`;
107
- })
108
- .join('\n\t');
109
- throw new Error(`MCP connection failed:\n\t${details}`);
101
+ const failures = [];
102
+ for (let i = 0; i < settled.length; i++) {
103
+ const result = settled[i];
104
+ if (result.status === 'rejected') {
105
+ const config = this.configs[i];
106
+ const error = formatErrorWithCause(result.reason);
107
+ failures.push({ server: config.name, error });
108
+ await this.connections[i].disconnect().catch(() => { });
109
+ await this.notifyConnectionFailed(config, error);
110
+ }
111
+ else {
112
+ connectedConnections.push(this.connections[i]);
113
+ }
110
114
  }
115
+ this.connectionFailures = failures;
111
116
  const tools = settled.flatMap((r) => (r.status === 'fulfilled' ? r.value : []));
112
117
  return (0, mcp_tool_resolver_1.ensureUniqueMcpToolNames)(tools);
113
118
  }
119
+ async notifyConnectionFailed(config, error) {
120
+ try {
121
+ await config.onConnectionFailed?.({ server: config.name, error });
122
+ }
123
+ catch (observerError) {
124
+ console.error(`MCP connection-failed observer error for server "${config.name}":`, observerError);
125
+ }
126
+ }
114
127
  async doClose() {
115
128
  await Promise.allSettled(this.connections.map(async (conn) => {
116
129
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/sdk/mcp-client.ts"],"names":[],"mappings":";;;AAAA,kEAA8D;AAC9D,wEAA4E;AAI5E,SAAS,oBAAoB,CAAC,KAAc;IAC3C,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACvF,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AA2BD;IAaC,YAAY,OAA0B;QACrC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACd,eAAe,GAAG,CAAC,IAAI,uDAAuD,CAC9E,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,gDAAgD,CAAC,CAAC;YAC1F,CAAC;QACF,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,IAAI,yBAAyB,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,8BAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAMD,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAMD,KAAK,CAAC,OAAO;QACZ,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;IACxB,CAAC;IAQD,KAAK,CAAC,SAAS;QACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACZ,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC;oBAAE,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YACpE,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC;IACpC,CAAC;IAMD,KAAK,CAAC,KAAK;QACV,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC;IAChC,CAAC;IAmBD,KAAK,CAAC,MAAM;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,8BAAa,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAChD,CAAC;oBAAS,CAAC;gBACV,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACF,CAAC,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAA6C,EAAE,CAAC;QAC5D,MAAM,OAAO,GAA2C,EAAE,CAAC;QAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;iBACrF,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC1E,CAAC;IAUD,gBAAgB;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,WAAW;QACxB,MAAM,oBAAoB,GAAoB,EAAE,CAAC;QAEjD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACnC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,CAAC,CAAC,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,OAAO;aACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aAC9D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAEhD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACtF,MAAM,OAAO,GAAG,MAAM;iBACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACV,MAAM,MAAM,GACX,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,CAAC,CAAC;iBACD,IAAI,CAAC,MAAM,CAAC,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChF,OAAO,IAAA,4CAAwB,EAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,OAAO;QACpB,MAAM,OAAO,CAAC,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;YACzE,CAAC;QACF,CAAC,CAAC,CACF,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/sdk/mcp-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Tracer } from '@opentelemetry/api';
2
+ import type { AttributeValue } from '../types/telemetry';
3
+ export declare function createMetadataEnrichedTracer(tracer: Tracer, metadata: Record<string, AttributeValue> | undefined): Tracer;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMetadataEnrichedTracer = createMetadataEnrichedTracer;
4
+ class MetadataEnrichedTracer {
5
+ constructor(delegate, attributes) {
6
+ this.delegate = delegate;
7
+ this.attributes = attributes;
8
+ }
9
+ startSpan(name, options, context) {
10
+ return this.delegate.startSpan(name, {
11
+ ...options,
12
+ attributes: { ...this.attributes, ...options?.attributes },
13
+ }, context);
14
+ }
15
+ startActiveSpan(name, optionsOrFn, contextOrFn, fn) {
16
+ if (typeof optionsOrFn === 'function') {
17
+ return this.delegate.startActiveSpan(name, optionsOrFn);
18
+ }
19
+ const options = {
20
+ ...optionsOrFn,
21
+ attributes: { ...this.attributes, ...optionsOrFn.attributes },
22
+ };
23
+ if (typeof contextOrFn === 'function') {
24
+ return this.delegate.startActiveSpan(name, options, contextOrFn);
25
+ }
26
+ if (contextOrFn === undefined || fn === undefined) {
27
+ throw new Error('OpenTelemetry active span callback is required.');
28
+ }
29
+ return this.delegate.startActiveSpan(name, options, contextOrFn, fn);
30
+ }
31
+ }
32
+ function createMetadataEnrichedTracer(tracer, metadata) {
33
+ if (!metadata || Object.keys(metadata).length === 0)
34
+ return tracer;
35
+ const attributes = Object.fromEntries(Object.entries(metadata).map(([key, value]) => [`ai.telemetry.metadata.${key}`, value]));
36
+ return new MetadataEnrichedTracer(tracer, attributes);
37
+ }
38
+ //# sourceMappingURL=metadata-enriched-tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-enriched-tracer.js","sourceRoot":"","sources":["../../src/sdk/metadata-enriched-tracer.ts"],"names":[],"mappings":";;;AAIA,MAAM,sBAAsB;IAC3B,YACkB,QAAgB,EAChB,UAAsB;wBADtB,QAAQ;0BACR,UAAU;IACzB,CAAC;IAEJ,SAAS,CAAC,IAAY,EAAE,OAAqB,EAAE,OAAiB;QAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7B,IAAI,EACJ;YACC,GAAG,OAAO;YACV,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE;SAC1D,EACD,OAAO,CACP,CAAC;IACH,CAAC;IAcD,eAAe,CACd,IAAY,EACZ,WAA4B,EAC5B,WAAyB,EACzB,EAAM;QAEN,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,OAAO,GAAG;YACf,GAAG,WAAW;YACd,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC,UAAU,EAAE;SAC7D,CAAC;QACF,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,WAAW,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;CACD;AAED,sCACC,MAAc,EACd,QAAoD;IAEpD,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEnE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,yBAAyB,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CACvF,CAAC;IACF,OAAO,IAAI,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACvD,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { TelemetryIntegration } from 'ai';
1
+ import type { Telemetry as AiSdkTelemetry } from 'ai';
2
2
  import type { AttributeValue, BuiltTelemetry, OpaqueTracer } from '../types/telemetry';
3
3
  type RedactFn = (data: Record<string, unknown>) => Record<string, unknown>;
4
4
  export declare class Telemetry {
@@ -9,7 +9,7 @@ export declare class Telemetry {
9
9
  protected recordOutputsValue: boolean;
10
10
  protected runtimeRootSpanEnabledValue: boolean;
11
11
  protected redactFn?: RedactFn;
12
- protected integrationsList: TelemetryIntegration[];
12
+ protected integrationsList: AiSdkTelemetry[];
13
13
  protected tracerValue?: OpaqueTracer;
14
14
  protected otlpEndpointValue?: string;
15
15
  protected credentialNameValue?: string;
@@ -24,7 +24,7 @@ export declare class Telemetry {
24
24
  recordOutputs(value: boolean): this;
25
25
  runtimeRootSpan(value: boolean): this;
26
26
  redact(fn: RedactFn): this;
27
- integration(value: TelemetryIntegration): this;
27
+ integration(value: AiSdkTelemetry): this;
28
28
  tracer(value: OpaqueTracer): this;
29
29
  otlpEndpoint(value: string): this;
30
30
  build(): Promise<BuiltTelemetry>;
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Telemetry = void 0;
4
+ const is_record_1 = require("@n8n/utils/is-record");
5
+ const metadata_enriched_tracer_1 = require("./metadata-enriched-tracer");
6
+ const EXECUTION_CONTROL_FIELDS = {
7
+ executeLanguageModelCall: ['callId', 'execute'],
8
+ executeTool: ['callId', 'toolCallId', 'execute'],
9
+ };
4
10
  function redactValue(value, redact) {
5
11
  if (Array.isArray(value)) {
6
12
  return value.map((item) => redactValue(item, redact));
@@ -8,7 +14,7 @@ function redactValue(value, redact) {
8
14
  if (typeof value === 'object' &&
9
15
  value !== null &&
10
16
  Object.getPrototypeOf(value) === Object.prototype) {
11
- const redacted = redact(value);
17
+ const redacted = { ...redact(value) };
12
18
  for (const key of Object.keys(redacted)) {
13
19
  redacted[key] = redactValue(redacted[key], redact);
14
20
  }
@@ -18,40 +24,67 @@ function redactValue(value, redact) {
18
24
  }
19
25
  function redactEvent(event, redact) {
20
26
  const cloned = { ...event };
21
- const redacted = redact(cloned);
27
+ const redacted = { ...redact(cloned) };
22
28
  for (const key of Object.keys(redacted)) {
23
29
  const value = redacted[key];
24
30
  redacted[key] = redactValue(value, redact);
25
31
  }
26
32
  return redacted;
27
33
  }
28
- function wrapIntegrationWithRedaction(integration, redact) {
29
- const wrapped = {};
30
- if (integration.onStart) {
31
- const orig = integration.onStart;
32
- wrapped.onStart = (event) => orig(redactEvent(event, redact));
33
- }
34
- if (integration.onStepStart) {
35
- const orig = integration.onStepStart;
36
- wrapped.onStepStart = (event) => orig(redactEvent(event, redact));
37
- }
38
- if (integration.onToolCallStart) {
39
- const orig = integration.onToolCallStart;
40
- wrapped.onToolCallStart = (event) => orig(redactEvent(event, redact));
41
- }
42
- if (integration.onToolCallFinish) {
43
- const orig = integration.onToolCallFinish;
44
- wrapped.onToolCallFinish = (event) => orig(redactEvent(event, redact));
45
- }
46
- if (integration.onStepFinish) {
47
- const orig = integration.onStepFinish;
48
- wrapped.onStepFinish = (event) => orig(redactEvent(event, redact));
34
+ function isExecuteHookKey(property) {
35
+ return property === 'executeLanguageModelCall' || property === 'executeTool';
36
+ }
37
+ function isTelemetryHook(property) {
38
+ return (typeof property === 'string' && property.startsWith('on')) || isExecuteHookKey(property);
39
+ }
40
+ function isMethod(value) {
41
+ return typeof value === 'function';
42
+ }
43
+ function redactHookArgument(property, argument, redact) {
44
+ if (property === 'onError' || !(0, is_record_1.isRecord)(argument))
45
+ return redactValue(argument, redact);
46
+ const redacted = redactEvent(argument, redact);
47
+ if (isExecuteHookKey(property)) {
48
+ const controlFields = Object.fromEntries(EXECUTION_CONTROL_FIELDS[property].map((field) => [field, argument[field]]));
49
+ return { ...redacted, ...controlFields };
49
50
  }
50
- if (integration.onFinish) {
51
- const orig = integration.onFinish;
52
- wrapped.onFinish = (event) => orig(redactEvent(event, redact));
51
+ return redacted;
52
+ }
53
+ function wrapIntegrationWithRedaction(integration, redact) {
54
+ const methodCache = new Map();
55
+ const facade = {};
56
+ return new Proxy(facade, {
57
+ get(_target, property) {
58
+ const original = Reflect.get(integration, property, integration);
59
+ if (!isTelemetryHook(property) || !isMethod(original))
60
+ return original;
61
+ const cached = methodCache.get(property);
62
+ if (cached?.original === original)
63
+ return cached.wrapped;
64
+ const wrapped = function (...args) {
65
+ const [argument, ...rest] = args;
66
+ return Reflect.apply(original, integration, [
67
+ redactHookArgument(property, argument, redact),
68
+ ...rest,
69
+ ]);
70
+ };
71
+ methodCache.set(property, { original, wrapped });
72
+ return wrapped;
73
+ },
74
+ });
75
+ }
76
+ function isOpenTelemetryTracer(value) {
77
+ return (value !== null &&
78
+ typeof value === 'object' &&
79
+ typeof Reflect.get(value, 'startSpan') === 'function' &&
80
+ typeof Reflect.get(value, 'startActiveSpan') === 'function');
81
+ }
82
+ async function createAiSdkOpenTelemetryIntegrationFactory(tracer) {
83
+ if (!isOpenTelemetryTracer(tracer)) {
84
+ throw new Error('Telemetry tracer must implement startSpan() and startActiveSpan().');
53
85
  }
54
- return wrapped;
86
+ const { LegacyOpenTelemetry } = await import('@ai-sdk/otel');
87
+ return (metadata) => new LegacyOpenTelemetry({ tracer: (0, metadata_enriched_tracer_1.createMetadataEnrichedTracer)(tracer, metadata) });
55
88
  }
56
89
  async function createOtlpTracer(endpoint) {
57
90
  const { NodeTracerProvider } = (await import('@opentelemetry/sdk-trace-node'));
@@ -133,9 +166,23 @@ class Telemetry {
133
166
  tracer = otlp.tracer;
134
167
  provider = otlp.provider;
135
168
  }
136
- const integrations = this.redactFn
137
- ? this.integrationsList.map((i) => wrapIntegrationWithRedaction(i, this.redactFn))
169
+ const redactFn = this.redactFn;
170
+ const customIntegrations = redactFn
171
+ ? this.integrationsList.map((integration) => wrapIntegrationWithRedaction(integration, redactFn))
138
172
  : [...this.integrationsList];
173
+ let resolveIntegrations;
174
+ let integrations = customIntegrations;
175
+ if (tracer !== undefined) {
176
+ const createOpenTelemetryIntegration = await createAiSdkOpenTelemetryIntegrationFactory(tracer);
177
+ resolveIntegrations = (metadata) => {
178
+ const integration = createOpenTelemetryIntegration(metadata);
179
+ return [
180
+ redactFn ? wrapIntegrationWithRedaction(integration, redactFn) : integration,
181
+ ...customIntegrations,
182
+ ];
183
+ };
184
+ integrations = resolveIntegrations(this.metadataValue);
185
+ }
139
186
  return {
140
187
  enabled: this.enabledValue,
141
188
  functionId: this.functionIdValue,
@@ -144,6 +191,7 @@ class Telemetry {
144
191
  recordOutputs: this.recordOutputsValue,
145
192
  runtimeRootSpanEnabled: this.runtimeRootSpanEnabledValue,
146
193
  integrations,
194
+ ...(resolveIntegrations && { resolveIntegrations }),
147
195
  tracer,
148
196
  provider,
149
197
  credentialName: this.credentialNameValue,
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/sdk/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/sdk/telemetry.ts"],"names":[],"mappings":"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"}
package/dist/sdk/tool.js CHANGED
@@ -15,6 +15,14 @@ const APPROVAL_SUSPEND_SCHEMA = zod_1.z.object({
15
15
  const APPROVAL_RESUME_SCHEMA = zod_1.z.object({
16
16
  approved: zod_1.z.boolean(),
17
17
  });
18
+ const APPROVAL_GATE_CONTINUATION_SCHEMA = zod_1.z
19
+ .object({
20
+ __n8nApprovalGate: zod_1.z.literal(true),
21
+ })
22
+ .strict();
23
+ const APPROVAL_GATE_CONTINUATION = {
24
+ __n8nApprovalGate: true,
25
+ };
18
26
  function emitToolExecutionStart(tool, input, ctx) {
19
27
  if (!ctx.toolCallId)
20
28
  return;
@@ -30,20 +38,46 @@ function getToolApprovalDisplayName(tool) {
30
38
  const displayName = metadata?.displayName ?? metadata?.workflowName;
31
39
  return typeof displayName === 'string' && displayName.length > 0 ? displayName : undefined;
32
40
  }
41
+ function combineInterruptSchemas(approvalSchema, innerSchema) {
42
+ if (innerSchema === undefined)
43
+ return approvalSchema;
44
+ if ((0, zod_2.isZodSchema)(innerSchema))
45
+ return zod_1.z.union([innerSchema, approvalSchema]);
46
+ const approvalJsonSchema = (0, zod_2.zodToJsonSchema)(approvalSchema);
47
+ return approvalJsonSchema ? { anyOf: [approvalJsonSchema, innerSchema] } : innerSchema;
48
+ }
49
+ function isApprovalGateContinuation(value) {
50
+ return APPROVAL_GATE_CONTINUATION_SCHEMA.safeParse(value).success;
51
+ }
33
52
  function wrapToolForApproval(tool, config) {
34
53
  const originalHandler = tool.handler;
54
+ const originalOnCancellation = tool.onCancellation;
35
55
  const hasConditionalApproval = config.needsApprovalFn !== undefined;
56
+ const onCancellation = originalOnCancellation === undefined
57
+ ? undefined
58
+ : async (input, ctx) => {
59
+ if (isApprovalGateContinuation(ctx.continuation))
60
+ return;
61
+ await originalOnCancellation(input, ctx);
62
+ };
36
63
  return {
37
64
  ...tool,
65
+ onCancellation,
38
66
  approval: {
39
67
  required: config.requireApproval === true,
40
68
  ...(hasConditionalApproval ? { conditional: true } : {}),
41
69
  },
42
- suspendSchema: APPROVAL_SUSPEND_SCHEMA,
43
- resumeSchema: APPROVAL_RESUME_SCHEMA,
70
+ suspendSchema: combineInterruptSchemas(APPROVAL_SUSPEND_SCHEMA, tool.suspendSchema),
71
+ resumeSchema: combineInterruptSchemas(APPROVAL_RESUME_SCHEMA, tool.resumeSchema),
44
72
  async handler(input, ctx) {
45
73
  const currentTool = this ?? tool;
46
74
  const interruptCtx = ctx;
75
+ const resumingInnerTool = tool.suspendSchema !== undefined &&
76
+ interruptCtx.suspendPayload !== undefined &&
77
+ !isApprovalGateContinuation(interruptCtx.continuation);
78
+ if (resumingInnerTool) {
79
+ return await originalHandler(input, interruptCtx);
80
+ }
47
81
  if (interruptCtx.resumeData === undefined) {
48
82
  let needs = config.requireApproval ?? false;
49
83
  if (!needs && config.needsApprovalFn) {
@@ -56,6 +90,9 @@ function wrapToolForApproval(tool, config) {
56
90
  toolName: currentTool.name,
57
91
  ...(displayName ? { displayName } : {}),
58
92
  args: input,
93
+ }, {
94
+ resumeSchema: APPROVAL_RESUME_SCHEMA,
95
+ continuation: APPROVAL_GATE_CONTINUATION,
59
96
  });
60
97
  }
61
98
  if (hasConditionalApproval) {
@@ -67,7 +104,22 @@ function wrapToolForApproval(tool, config) {
67
104
  if (!approved) {
68
105
  return { declined: true, message: `Tool "${currentTool.name}" was not approved` };
69
106
  }
70
- return await originalHandler(input, interruptCtx);
107
+ if (tool.suspendSchema === undefined) {
108
+ return await originalHandler(input, interruptCtx);
109
+ }
110
+ const initialInnerContext = {
111
+ ...interruptCtx,
112
+ suspend: async (payload, options) => await interruptCtx.suspend(payload, {
113
+ ...options,
114
+ continuation: options?.continuation,
115
+ resumeSchema: options?.resumeSchema ?? tool.resumeSchema,
116
+ }),
117
+ resumeData: undefined,
118
+ suspendPayload: undefined,
119
+ continuation: undefined,
120
+ resumeSchema: undefined,
121
+ };
122
+ return await originalHandler(input, initialInnerContext);
71
123
  },
72
124
  };
73
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/sdk/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/sdk/tool.ts"],"names":[],"mappings":";;;;;;AACA,6BAAwB;AAOxB,sCAA4D;AAE5D,MAAM,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,OAAC,CAAC,OAAO,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,iCAAiC,GAAG,OAAC;KACzC,MAAM,CAAC;IACP,iBAAiB,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CAClC,CAAC;KACD,MAAM,EAAE,CAAC;AAEX,MAAM,0BAA0B,GAAG;IAClC,iBAAiB,EAAE,IAAI;CACqC,CAAC;AAW9D,SAAS,sBAAsB,CAC9B,IAAe,EACf,KAAc,EACd,GAA6B;IAE7B,IAAI,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO;IAC5B,GAAG,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,wBAA+B;QACnC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,IAAI,EAAE,KAAK;KACX,CAAC,CAAC;AACJ,CAAC;AAED,oCAA2C,IAAe;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,IAAI,QAAQ,EAAE,YAAY,CAAC;IACpE,OAAO,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5F,CAAC;AAED,SAAS,uBAAuB,CAC/B,cAAyB,EACzB,WAAuC;IAEvC,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IACrD,IAAI,IAAA,iBAAW,EAAC,WAAW,CAAC;QAAE,OAAO,OAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5E,MAAM,kBAAkB,GAAG,IAAA,qBAAe,EAAC,cAAc,CAAC,CAAC;IAC3D,OAAO,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;AACxF,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IACjD,OAAO,iCAAiC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACnE,CAAC;AAYD,6BAAoC,IAAe,EAAE,MAAsB;IAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,OAAQ,CAAC;IACtC,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC;IACnD,MAAM,sBAAsB,GAAG,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC;IACpE,MAAM,cAAc,GACnB,sBAAsB,KAAK,SAAS;QACnC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACrB,IAAI,0BAA0B,CAAC,GAAG,CAAC,YAAY,CAAC;gBAAE,OAAO;YACzD,MAAM,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC;IAEL,OAAO;QACN,GAAG,IAAI;QACP,cAAc;QACd,QAAQ,EAAE;YACT,QAAQ,EAAE,MAAM,CAAC,eAAe,KAAK,IAAI;YACzC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD;QACD,aAAa,EAAE,uBAAuB,CAAC,uBAAuB,EAAE,IAAI,CAAC,aAAa,CAAC;QACnF,YAAY,EAAE,uBAAuB,CAAC,sBAAsB,EAAE,IAAI,CAAC,YAAY,CAAC;QAChF,KAAK,CAAC,OAAO,CAA8B,KAAK,EAAE,GAAG;YACpD,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC;YAGjC,MAAM,YAAY,GAAG,GAA+B,CAAC;YACrD,MAAM,iBAAiB,GACtB,IAAI,CAAC,aAAa,KAAK,SAAS;gBAChC,YAAY,CAAC,cAAc,KAAK,SAAS;gBACzC,CAAC,0BAA0B,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACxD,IAAI,iBAAiB,EAAE,CAAC;gBACvB,OAAO,MAAM,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3C,IAAI,KAAK,GAAG,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC;gBAC5C,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBACtC,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACX,MAAM,WAAW,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;oBAC5D,OAAO,MAAM,YAAY,CAAC,OAAO,CAChC;wBACC,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,WAAW,CAAC,IAAI;wBAC1B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACvC,IAAI,EAAE,KAAK;qBACX,EACD;wBACC,YAAY,EAAE,sBAAsB;wBACpC,YAAY,EAAE,0BAA0B;qBACxC,CACD,CAAC;gBACH,CAAC;gBACD,IAAI,sBAAsB,EAAE,CAAC;oBAC5B,sBAAsB,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,MAAM,eAAe,CAAC,KAAK,EAAE,YAA2B,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,UAAoD,CAAC;YACvF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,WAAW,CAAC,IAAI,oBAAoB,EAAE,CAAC;YACnF,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,MAAM,eAAe,CAAC,KAAK,EAAE,YAA2B,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,mBAAmB,GAA6B;gBACrD,GAAG,YAAY;gBACf,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CACnC,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE;oBACnC,GAAG,OAAO;oBACV,YAAY,EAAE,OAAO,EAAE,YAAY;oBACnC,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,YAAY;iBACxD,CAAC;gBACH,UAAU,EAAE,SAAS;gBACrB,cAAc,EAAE,SAAS;gBACzB,YAAY,EAAE,SAAS;gBACvB,YAAY,EAAE,SAAS;aACvB,CAAC;YACF,OAAO,MAAM,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAC1D,CAAC;KACD,CAAC;AACH,CAAC;AA0BD;IAqCC,YAAY,IAAY;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAGD,WAAW,CAAC,IAAY;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAWD,iBAAiB,CAAC,IAAY;QAC7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,KAAK,CAA4B,MAAS;QACzC,MAAM,IAAI,GAAG,IAAsD,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,MAAM,CAA4B,MAAS;QAC1C,MAAM,IAAI,GAAG,IAAqD,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,OAAO,CAA4B,MAAS;QAC3C,MAAM,IAAI,GAAG,IAAoD,CAAC;QAClE,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,MAAM,CAA4B,MAAS;QAC1C,MAAM,IAAI,GAAG,IAAqD,CAAC;QACnE,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;QAChC,OAAO,IAAI,CAAC;IACb,CAAC;IAMD,OAAO,CACN,EAGiC;QAEjC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,SAAS,CAAC,SAAwD;QACjE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,OAAO,IAAI,CAAC;IACb,CAAC;IASD,aAAa,CAAC,EAA4C;QACzD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;IAMD,kBAAkB;QACjB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,eAAe;QACd,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,eAAe,CAAC,EAA4D;QAC3E,IAAI,CAAC,oBAAoB,GAAG,EAAmD,CAAC;QAChF,OAAO,IAAI,CAAC;IACb,CAAC;IAQD,eAAe,CAAC,OAAmC;QAClD,IAAI,CAAC,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACb,CAAC;IAQD,KAAK;QACJ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,0BAA0B,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,sBAAsB,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,KAAK,SAAS,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC;QAEvD,IAAI,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,wCAAwC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,wCAAwC,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,WAAW,GAChB,CAAC,IAAI,CAAC,oBAAoB,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,CAAC;QACjF,IAAI,WAAW,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACd,SAAS,IAAI,CAAC,IAAI,sGAAsG,CACxH,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAc;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,iBAAiB,EAAE,IAAI,CAAC,qBAAqB;YAC7C,aAAa,EAAE,IAAI,CAAC,kBAAkB;YACtC,YAAY,EAAE,IAAI,CAAC,iBAAiB;YACpC,kBAAkB,EAAE,IAAI,CAAC,uBAAuB;YAChD,SAAS,EAAE,IAAI,CAAC,WAA4D;YAC5E,aAAa,EAAE,IAAI,CAAC,eAA6D;YACjF,OAAO,EAAE,IAAI,CAAC,SAGO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,eAAe,EAAE,IAAI,CAAC,oBAAoB;SAC1C,CAAC;QAEF,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5D,OAAO,mBAAmB,CAAC,KAAK,EAAE;gBACjC,eAAe,EAAE,IAAI,CAAC,oBAAoB;gBAC1C,eAAe,EAAE,IAAI,CAAC,oBAAoB;aAC1C,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAOD,QAAQ;QACP,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,0BAA0B,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC;QAEvF,MAAM,WAAW,GAAG,IAAA,iBAAW,EAAC,IAAI,CAAC,WAAW,CAAC;YAChD,CAAC,CAAC,IAAA,qBAAe,EAAC,IAAI,CAAC,WAAW,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;YACrC,CAAC,CAAC,IAAA,iBAAW,EAAC,IAAI,CAAC,YAAY,CAAC;gBAC/B,CAAC,CAAC,IAAA,qBAAe,EAAC,IAAI,CAAC,YAAY,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC,YAAY;YACpB,CAAC,CAAC,IAAI,CAAC;QACR,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,IAAI,IAAI;YACrD,WAAW,EAAE,WAA0B;YACvC,YAAY,EAAE,YAA2B;YACzC,UAAU,EAAE,IAAI,CAAC,kBAAkB,KAAK,SAAS;YACjD,SAAS,EAAE,IAAI,CAAC,iBAAiB,KAAK,SAAS;YAC/C,YAAY,EAAE,IAAI,CAAC,WAAW,KAAK,SAAS;YAC5C,eAAe,EAAE,IAAI,CAAC,oBAAoB,IAAI,KAAK;YACnD,eAAe,EAAE,IAAI,CAAC,oBAAoB,IAAI,IAAI;SAClD,CAAC;IACH,CAAC;CACD;;AAED,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAQhC,0BAAiC,IAAY;IAC5C,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QAC5C,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -1,7 +1,7 @@
1
- export { RUNTIME_SKILL_FILE_NAME, RUNTIME_SKILL_LINKED_FILE_GROUPS, RUNTIME_SKILL_REGISTRY_SCHEMA_VERSION, LIST_SKILLS_TOOL_NAME, SKILL_LOAD_TOOL_NAME, } from './types';
1
+ export { RUNTIME_SKILL_FILE_NAME, RUNTIME_SKILL_LINKED_FILE_GROUPS, RUNTIME_SKILL_REGISTRY_SCHEMA_VERSION, SKILL_LOAD_TOOL_NAME, } from './types';
2
2
  export type { RuntimeSkill, RuntimeSkillContent, RuntimeSkillDependenciesContract, RuntimeSkillFileContent, RuntimeSkillFileLoader, RuntimeSkillIndexEntry, RuntimeSkillInterfaceContract, RuntimeSkillLinkedFile, RuntimeSkillLinkedFileGroup, RuntimeSkillLinkedFiles, RuntimeSkillLoader, RuntimeSkillMcpServerDependency, RuntimeSkillPolicyContract, RuntimeSkillRegistry, RuntimeSkillRegistryEntry, RuntimeSkillSource, RuntimeSkillValidationError, RuntimeSkillValidationResult, } from './types';
3
3
  export { parseRuntimeSkillMarkdown, RUNTIME_SKILL_NAME_PATTERN, validateRuntimeSkill, } from './validator';
4
4
  export { createRuntimeSkillRegistry, createRuntimeSkillSource, filterRuntimeSkillSource, formatSkillValidationErrors, InvalidRuntimeSkillError, loadRuntimeSkillsFromDirectory, loadRuntimeSkillSourceFromDirectory, } from './registry';
5
5
  export type { LoadRuntimeSkillSourceFromDirectoryOptions } from './registry';
6
6
  export { appendSkillCatalogToInstructions, renderSkillCatalogPrompt, type RenderSkillCatalogOptions, } from './prompt';
7
- export { createListSkillsTool, createSkillLoadTool, createRuntimeSkillTools, RUNTIME_SKILL_TOOL_NAMES, } from './tools';
7
+ export { createSkillLoadTool, createRuntimeSkillTools, RUNTIME_SKILL_TOOL_NAMES, } from './tools';
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RUNTIME_SKILL_TOOL_NAMES = exports.createRuntimeSkillTools = exports.createSkillLoadTool = exports.createListSkillsTool = exports.renderSkillCatalogPrompt = exports.appendSkillCatalogToInstructions = exports.loadRuntimeSkillSourceFromDirectory = exports.loadRuntimeSkillsFromDirectory = exports.InvalidRuntimeSkillError = exports.formatSkillValidationErrors = exports.filterRuntimeSkillSource = exports.createRuntimeSkillSource = exports.createRuntimeSkillRegistry = exports.validateRuntimeSkill = exports.RUNTIME_SKILL_NAME_PATTERN = exports.parseRuntimeSkillMarkdown = exports.SKILL_LOAD_TOOL_NAME = exports.LIST_SKILLS_TOOL_NAME = exports.RUNTIME_SKILL_REGISTRY_SCHEMA_VERSION = exports.RUNTIME_SKILL_LINKED_FILE_GROUPS = exports.RUNTIME_SKILL_FILE_NAME = void 0;
3
+ exports.RUNTIME_SKILL_TOOL_NAMES = exports.createRuntimeSkillTools = exports.createSkillLoadTool = exports.renderSkillCatalogPrompt = exports.appendSkillCatalogToInstructions = exports.loadRuntimeSkillSourceFromDirectory = exports.loadRuntimeSkillsFromDirectory = exports.InvalidRuntimeSkillError = exports.formatSkillValidationErrors = exports.filterRuntimeSkillSource = exports.createRuntimeSkillSource = exports.createRuntimeSkillRegistry = exports.validateRuntimeSkill = exports.RUNTIME_SKILL_NAME_PATTERN = exports.parseRuntimeSkillMarkdown = exports.SKILL_LOAD_TOOL_NAME = exports.RUNTIME_SKILL_REGISTRY_SCHEMA_VERSION = exports.RUNTIME_SKILL_LINKED_FILE_GROUPS = exports.RUNTIME_SKILL_FILE_NAME = void 0;
4
4
  var types_1 = require("./types");
5
5
  Object.defineProperty(exports, "RUNTIME_SKILL_FILE_NAME", { enumerable: true, get: function () { return types_1.RUNTIME_SKILL_FILE_NAME; } });
6
6
  Object.defineProperty(exports, "RUNTIME_SKILL_LINKED_FILE_GROUPS", { enumerable: true, get: function () { return types_1.RUNTIME_SKILL_LINKED_FILE_GROUPS; } });
7
7
  Object.defineProperty(exports, "RUNTIME_SKILL_REGISTRY_SCHEMA_VERSION", { enumerable: true, get: function () { return types_1.RUNTIME_SKILL_REGISTRY_SCHEMA_VERSION; } });
8
- Object.defineProperty(exports, "LIST_SKILLS_TOOL_NAME", { enumerable: true, get: function () { return types_1.LIST_SKILLS_TOOL_NAME; } });
9
8
  Object.defineProperty(exports, "SKILL_LOAD_TOOL_NAME", { enumerable: true, get: function () { return types_1.SKILL_LOAD_TOOL_NAME; } });
10
9
  var validator_1 = require("./validator");
11
10
  Object.defineProperty(exports, "parseRuntimeSkillMarkdown", { enumerable: true, get: function () { return validator_1.parseRuntimeSkillMarkdown; } });
@@ -23,7 +22,6 @@ var prompt_1 = require("./prompt");
23
22
  Object.defineProperty(exports, "appendSkillCatalogToInstructions", { enumerable: true, get: function () { return prompt_1.appendSkillCatalogToInstructions; } });
24
23
  Object.defineProperty(exports, "renderSkillCatalogPrompt", { enumerable: true, get: function () { return prompt_1.renderSkillCatalogPrompt; } });
25
24
  var tools_1 = require("./tools");
26
- Object.defineProperty(exports, "createListSkillsTool", { enumerable: true, get: function () { return tools_1.createListSkillsTool; } });
27
25
  Object.defineProperty(exports, "createSkillLoadTool", { enumerable: true, get: function () { return tools_1.createSkillLoadTool; } });
28
26
  Object.defineProperty(exports, "createRuntimeSkillTools", { enumerable: true, get: function () { return tools_1.createRuntimeSkillTools; } });
29
27
  Object.defineProperty(exports, "RUNTIME_SKILL_TOOL_NAMES", { enumerable: true, get: function () { return tools_1.RUNTIME_SKILL_TOOL_NAMES; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":";;;AAAA,iCAMiB;AALhB,gHAAA,uBAAuB,OAAA;AACvB,yHAAA,gCAAgC,OAAA;AAChC,8HAAA,qCAAqC,OAAA;AACrC,8GAAA,qBAAqB,OAAA;AACrB,6GAAA,oBAAoB,OAAA;AAsBrB,yCAIqB;AAHpB,sHAAA,yBAAyB,OAAA;AACzB,uHAAA,0BAA0B,OAAA;AAC1B,iHAAA,oBAAoB,OAAA;AAErB,uCAQoB;AAPnB,sHAAA,0BAA0B,OAAA;AAC1B,oHAAA,wBAAwB,OAAA;AACxB,oHAAA,wBAAwB,OAAA;AACxB,uHAAA,2BAA2B,OAAA;AAC3B,oHAAA,wBAAwB,OAAA;AACxB,0HAAA,8BAA8B,OAAA;AAC9B,+HAAA,mCAAmC,OAAA;AAGpC,mCAIkB;AAHjB,0HAAA,gCAAgC,OAAA;AAChC,kHAAA,wBAAwB,OAAA;AAGzB,iCAKiB;AAJhB,6GAAA,oBAAoB,OAAA;AACpB,4GAAA,mBAAmB,OAAA;AACnB,gHAAA,uBAAuB,OAAA;AACvB,iHAAA,wBAAwB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":";;;AAAA,iCAKiB;AAJhB,gHAAA,uBAAuB,OAAA;AACvB,yHAAA,gCAAgC,OAAA;AAChC,8HAAA,qCAAqC,OAAA;AACrC,6GAAA,oBAAoB,OAAA;AAsBrB,yCAIqB;AAHpB,sHAAA,yBAAyB,OAAA;AACzB,uHAAA,0BAA0B,OAAA;AAC1B,iHAAA,oBAAoB,OAAA;AAErB,uCAQoB;AAPnB,sHAAA,0BAA0B,OAAA;AAC1B,oHAAA,wBAAwB,OAAA;AACxB,oHAAA,wBAAwB,OAAA;AACxB,uHAAA,2BAA2B,OAAA;AAC3B,oHAAA,wBAAwB,OAAA;AACxB,0HAAA,8BAA8B,OAAA;AAC9B,+HAAA,mCAAmC,OAAA;AAGpC,mCAIkB;AAHjB,0HAAA,gCAAgC,OAAA;AAChC,kHAAA,wBAAwB,OAAA;AAGzB,iCAIiB;AAHhB,4GAAA,mBAAmB,OAAA;AACnB,gHAAA,uBAAuB,OAAA;AACvB,iHAAA,wBAAwB,OAAA"}
@@ -3,4 +3,4 @@ export interface RenderSkillCatalogOptions {
3
3
  includeProtocol?: boolean;
4
4
  }
5
5
  export declare function renderSkillCatalogPrompt(registry: RuntimeSkillRegistry, options?: RenderSkillCatalogOptions): string;
6
- export declare function appendSkillCatalogToInstructions(instructions: string, registry: RuntimeSkillRegistry): string;
6
+ export declare function appendSkillCatalogToInstructions(instructions: string, registry: RuntimeSkillRegistry, options?: RenderSkillCatalogOptions): string;
@@ -26,15 +26,14 @@ ${catalog}
26
26
 
27
27
  When deciding whether to load a skill:
28
28
  - Match the user's request against the skill name and description.
29
- - Call list_skills when you need to inspect available categories or installed skill metadata.
30
29
  - If one skill clearly matches, call load_skill once with \`{ "skillId": "<id>" }\`, then follow the returned instructions.
31
30
  - If a loaded skill references a supporting file, call load_skill with \`{ "skillId": "<id>", "filePath": "<relative path>" }\`.
32
31
  - If the relevant skill was already loaded for this request, do not call load_skill again.
33
32
  - If no skill clearly matches, do not call load_skill.
34
33
  - Do not load a skill just because it is listed here.`;
35
34
  }
36
- function appendSkillCatalogToInstructions(instructions, registry) {
37
- const catalog = renderSkillCatalogPrompt(registry);
35
+ function appendSkillCatalogToInstructions(instructions, registry, options = {}) {
36
+ const catalog = renderSkillCatalogPrompt(registry, options);
38
37
  if (!catalog)
39
38
  return instructions;
40
39
  const baseInstructions = instructions.trimEnd();
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/skills/prompt.ts"],"names":[],"mappings":";;;;AAMA,kCACC,QAA8B,EAC9B,OAAO,GAA8B,EAAE;IAEvC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;SAC7B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACd;QACC,WAAW,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACrC,kBAAkB,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QACnD,SAAS,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;QACjC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM;YACjC,CAAC,CAAC,CAAC,uBAAuB,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CACZ;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IAEtD,OAAO;;;;EAIN,OAAO;;;;;;;;;sDAS6C,CAAC;AACvD,CAAC;AAED,0CACC,YAAoB,EACpB,QAA8B;IAE9B,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAElC,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;IAChD,OAAO,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACzE,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe;IACzC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/skills/prompt.ts"],"names":[],"mappings":";;;;AAMA,kCACC,QAA8B,EAC9B,OAAO,GAA8B,EAAE;IAEvC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;SAC7B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACd;QACC,WAAW,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACrC,kBAAkB,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QACnD,SAAS,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;QACjC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM;YACjC,CAAC,CAAC,CAAC,uBAAuB,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtE,CAAC,CAAC,EAAE,CAAC;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CACZ;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IAEtD,OAAO;;;;EAIN,OAAO;;;;;;;;sDAQ6C,CAAC;AACvD,CAAC;AAED,0CACC,YAAoB,EACpB,QAA8B,EAC9B,OAAO,GAA8B,EAAE;IAEvC,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAElC,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;IAChD,OAAO,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACzE,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe;IACzC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -2,5 +2,4 @@ import type { BuiltTool } from '../types';
2
2
  import { type RuntimeSkillSource } from './types';
3
3
  export declare const RUNTIME_SKILL_TOOL_NAMES: Set<string>;
4
4
  export declare function createRuntimeSkillTools(source: RuntimeSkillSource): BuiltTool[];
5
- export declare function createListSkillsTool(source: RuntimeSkillSource): BuiltTool;
6
5
  export declare function createSkillLoadTool(source: RuntimeSkillSource): BuiltTool;