@agent-assembly/sdk 0.0.1-alpha.3

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 (256) hide show
  1. package/LICENSE +176 -0
  2. package/README.md +182 -0
  3. package/dist/cjs/adapters/adapter-registry.js +2 -0
  4. package/dist/cjs/adapters/adapter.js +2 -0
  5. package/dist/cjs/adapters/index.js +2 -0
  6. package/dist/cjs/adapters/langchain/assembly-callback-handler.js +93 -0
  7. package/dist/cjs/adapters/langchain/index.js +8 -0
  8. package/dist/cjs/adapters/langchain/wrap-tool-with-assembly.js +55 -0
  9. package/dist/cjs/audit/encode.js +176 -0
  10. package/dist/cjs/audit/index.js +8 -0
  11. package/dist/cjs/core/gateway-resolver.js +254 -0
  12. package/dist/cjs/core/index.js +9 -0
  13. package/dist/cjs/core/init-assembly.js +224 -0
  14. package/dist/cjs/errors/configuration-error.js +17 -0
  15. package/dist/cjs/errors/gateway-error.js +17 -0
  16. package/dist/cjs/errors/index.js +11 -0
  17. package/dist/cjs/errors/op-terminated-error.js +20 -0
  18. package/dist/cjs/errors/policy-violation-error.js +10 -0
  19. package/dist/cjs/gateway/client.js +15 -0
  20. package/dist/cjs/gateway/index.js +5 -0
  21. package/dist/cjs/hooks/adapter-registry.js +7 -0
  22. package/dist/cjs/hooks/ai-sdk-detection.js +14 -0
  23. package/dist/cjs/hooks/ai-sdk.js +164 -0
  24. package/dist/cjs/hooks/langchain.js +9 -0
  25. package/dist/cjs/hooks/langgraph-detection.js +14 -0
  26. package/dist/cjs/hooks/langgraph.js +107 -0
  27. package/dist/cjs/hooks/mastra-detection.js +14 -0
  28. package/dist/cjs/hooks/mastra.js +120 -0
  29. package/dist/cjs/hooks/openai-agents-detection.js +14 -0
  30. package/dist/cjs/hooks/openai-agents.js +189 -0
  31. package/dist/cjs/index.js +25 -0
  32. package/dist/cjs/lineage/agent-context-store.js +20 -0
  33. package/dist/cjs/lineage/index.js +7 -0
  34. package/dist/cjs/native/client.js +160 -0
  35. package/dist/cjs/op-control.js +150 -0
  36. package/dist/cjs/package.json +3 -0
  37. package/dist/cjs/proto/generated/common.js +365 -0
  38. package/dist/cjs/proto/generated/policy.js +1418 -0
  39. package/dist/cjs/runtime.js +144 -0
  40. package/dist/cjs/types/assembly-config.js +2 -0
  41. package/dist/cjs/types/assembly-context.js +2 -0
  42. package/dist/cjs/types/assembly-mode.js +2 -0
  43. package/dist/cjs/types/audit.js +5 -0
  44. package/dist/cjs/types/enforcement-mode.js +9 -0
  45. package/dist/cjs/types/gateway-governance.js +2 -0
  46. package/dist/cjs/types/index.js +5 -0
  47. package/dist/cjs/types/langchain-adapter.js +2 -0
  48. package/dist/cjs/types/openai-agents-adapter.js +2 -0
  49. package/dist/cjs/types/policy.js +2 -0
  50. package/dist/cjs/types/tool-map.js +2 -0
  51. package/dist/cjs/types/vercel-ai-adapter.js +2 -0
  52. package/dist/cjs/wrappers/index.js +5 -0
  53. package/dist/cjs/wrappers/with-assembly.js +82 -0
  54. package/dist/esm/adapters/adapter-registry.js +2 -0
  55. package/dist/esm/adapters/adapter-registry.js.map +1 -0
  56. package/dist/esm/adapters/adapter.js +2 -0
  57. package/dist/esm/adapters/adapter.js.map +1 -0
  58. package/dist/esm/adapters/index.js +2 -0
  59. package/dist/esm/adapters/index.js.map +1 -0
  60. package/dist/esm/adapters/langchain/assembly-callback-handler.js +90 -0
  61. package/dist/esm/adapters/langchain/assembly-callback-handler.js.map +1 -0
  62. package/dist/esm/adapters/langchain/index.js +3 -0
  63. package/dist/esm/adapters/langchain/index.js.map +1 -0
  64. package/dist/esm/adapters/langchain/wrap-tool-with-assembly.js +52 -0
  65. package/dist/esm/adapters/langchain/wrap-tool-with-assembly.js.map +1 -0
  66. package/dist/esm/audit/encode.js +171 -0
  67. package/dist/esm/audit/encode.js.map +1 -0
  68. package/dist/esm/audit/index.js +2 -0
  69. package/dist/esm/audit/index.js.map +1 -0
  70. package/dist/esm/core/gateway-resolver.js +213 -0
  71. package/dist/esm/core/gateway-resolver.js.map +1 -0
  72. package/dist/esm/core/index.js +2 -0
  73. package/dist/esm/core/index.js.map +1 -0
  74. package/dist/esm/core/init-assembly.js +218 -0
  75. package/dist/esm/core/init-assembly.js.map +1 -0
  76. package/dist/esm/errors/configuration-error.js +14 -0
  77. package/dist/esm/errors/configuration-error.js.map +1 -0
  78. package/dist/esm/errors/gateway-error.js +14 -0
  79. package/dist/esm/errors/gateway-error.js.map +1 -0
  80. package/dist/esm/errors/index.js +5 -0
  81. package/dist/esm/errors/index.js.map +1 -0
  82. package/dist/esm/errors/op-terminated-error.js +17 -0
  83. package/dist/esm/errors/op-terminated-error.js.map +1 -0
  84. package/dist/esm/errors/policy-violation-error.js +7 -0
  85. package/dist/esm/errors/policy-violation-error.js.map +1 -0
  86. package/dist/esm/gateway/client.js +13 -0
  87. package/dist/esm/gateway/client.js.map +1 -0
  88. package/dist/esm/gateway/index.js +2 -0
  89. package/dist/esm/gateway/index.js.map +1 -0
  90. package/dist/esm/hooks/adapter-registry.js +5 -0
  91. package/dist/esm/hooks/adapter-registry.js.map +1 -0
  92. package/dist/esm/hooks/ai-sdk-detection.js +12 -0
  93. package/dist/esm/hooks/ai-sdk-detection.js.map +1 -0
  94. package/dist/esm/hooks/ai-sdk.js +123 -0
  95. package/dist/esm/hooks/ai-sdk.js.map +1 -0
  96. package/dist/esm/hooks/langchain.js +7 -0
  97. package/dist/esm/hooks/langchain.js.map +1 -0
  98. package/dist/esm/hooks/langgraph-detection.js +12 -0
  99. package/dist/esm/hooks/langgraph-detection.js.map +1 -0
  100. package/dist/esm/hooks/langgraph.js +69 -0
  101. package/dist/esm/hooks/langgraph.js.map +1 -0
  102. package/dist/esm/hooks/mastra-detection.js +12 -0
  103. package/dist/esm/hooks/mastra-detection.js.map +1 -0
  104. package/dist/esm/hooks/mastra.js +83 -0
  105. package/dist/esm/hooks/mastra.js.map +1 -0
  106. package/dist/esm/hooks/openai-agents-detection.js +12 -0
  107. package/dist/esm/hooks/openai-agents-detection.js.map +1 -0
  108. package/dist/esm/hooks/openai-agents.js +145 -0
  109. package/dist/esm/hooks/openai-agents.js.map +1 -0
  110. package/dist/esm/index.js +12 -0
  111. package/dist/esm/index.js.map +1 -0
  112. package/dist/esm/lineage/agent-context-store.js +16 -0
  113. package/dist/esm/lineage/agent-context-store.js.map +1 -0
  114. package/dist/esm/lineage/index.js +2 -0
  115. package/dist/esm/lineage/index.js.map +1 -0
  116. package/dist/esm/native/client.js +150 -0
  117. package/dist/esm/native/client.js.map +1 -0
  118. package/dist/esm/op-control.js +147 -0
  119. package/dist/esm/op-control.js.map +1 -0
  120. package/dist/esm/proto/generated/common.js +357 -0
  121. package/dist/esm/proto/generated/common.js.map +1 -0
  122. package/dist/esm/proto/generated/policy.js +1414 -0
  123. package/dist/esm/proto/generated/policy.js.map +1 -0
  124. package/dist/esm/runtime.js +138 -0
  125. package/dist/esm/runtime.js.map +1 -0
  126. package/dist/esm/types/assembly-config.js +2 -0
  127. package/dist/esm/types/assembly-config.js.map +1 -0
  128. package/dist/esm/types/assembly-context.js +2 -0
  129. package/dist/esm/types/assembly-context.js.map +1 -0
  130. package/dist/esm/types/assembly-mode.js +2 -0
  131. package/dist/esm/types/assembly-mode.js.map +1 -0
  132. package/dist/esm/types/audit.js +5 -0
  133. package/dist/esm/types/audit.js.map +1 -0
  134. package/dist/esm/types/enforcement-mode.js +7 -0
  135. package/dist/esm/types/enforcement-mode.js.map +1 -0
  136. package/dist/esm/types/gateway-governance.js +2 -0
  137. package/dist/esm/types/gateway-governance.js.map +1 -0
  138. package/dist/esm/types/index.js +2 -0
  139. package/dist/esm/types/index.js.map +1 -0
  140. package/dist/esm/types/langchain-adapter.js +2 -0
  141. package/dist/esm/types/langchain-adapter.js.map +1 -0
  142. package/dist/esm/types/openai-agents-adapter.js +2 -0
  143. package/dist/esm/types/openai-agents-adapter.js.map +1 -0
  144. package/dist/esm/types/policy.js +2 -0
  145. package/dist/esm/types/policy.js.map +1 -0
  146. package/dist/esm/types/tool-map.js +2 -0
  147. package/dist/esm/types/tool-map.js.map +1 -0
  148. package/dist/esm/types/vercel-ai-adapter.js +2 -0
  149. package/dist/esm/types/vercel-ai-adapter.js.map +1 -0
  150. package/dist/esm/wrappers/index.js +2 -0
  151. package/dist/esm/wrappers/index.js.map +1 -0
  152. package/dist/esm/wrappers/with-assembly.js +80 -0
  153. package/dist/esm/wrappers/with-assembly.js.map +1 -0
  154. package/dist/types/adapters/adapter-registry.d.ts +7 -0
  155. package/dist/types/adapters/adapter-registry.d.ts.map +1 -0
  156. package/dist/types/adapters/adapter.d.ts +6 -0
  157. package/dist/types/adapters/adapter.d.ts.map +1 -0
  158. package/dist/types/adapters/index.d.ts +3 -0
  159. package/dist/types/adapters/index.d.ts.map +1 -0
  160. package/dist/types/adapters/langchain/assembly-callback-handler.d.ts +21 -0
  161. package/dist/types/adapters/langchain/assembly-callback-handler.d.ts.map +1 -0
  162. package/dist/types/adapters/langchain/index.d.ts +4 -0
  163. package/dist/types/adapters/langchain/index.d.ts.map +1 -0
  164. package/dist/types/adapters/langchain/wrap-tool-with-assembly.d.ts +9 -0
  165. package/dist/types/adapters/langchain/wrap-tool-with-assembly.d.ts.map +1 -0
  166. package/dist/types/audit/encode.d.ts +77 -0
  167. package/dist/types/audit/encode.d.ts.map +1 -0
  168. package/dist/types/audit/index.d.ts +3 -0
  169. package/dist/types/audit/index.d.ts.map +1 -0
  170. package/dist/types/core/gateway-resolver.d.ts +92 -0
  171. package/dist/types/core/gateway-resolver.d.ts.map +1 -0
  172. package/dist/types/core/index.d.ts +2 -0
  173. package/dist/types/core/index.d.ts.map +1 -0
  174. package/dist/types/core/init-assembly.d.ts +10 -0
  175. package/dist/types/core/init-assembly.d.ts.map +1 -0
  176. package/dist/types/errors/configuration-error.d.ts +11 -0
  177. package/dist/types/errors/configuration-error.d.ts.map +1 -0
  178. package/dist/types/errors/gateway-error.d.ts +11 -0
  179. package/dist/types/errors/gateway-error.d.ts.map +1 -0
  180. package/dist/types/errors/index.d.ts +5 -0
  181. package/dist/types/errors/index.d.ts.map +1 -0
  182. package/dist/types/errors/op-terminated-error.d.ts +13 -0
  183. package/dist/types/errors/op-terminated-error.d.ts.map +1 -0
  184. package/dist/types/errors/policy-violation-error.d.ts +4 -0
  185. package/dist/types/errors/policy-violation-error.d.ts.map +1 -0
  186. package/dist/types/gateway/client.d.ts +14 -0
  187. package/dist/types/gateway/client.d.ts.map +1 -0
  188. package/dist/types/gateway/index.d.ts +3 -0
  189. package/dist/types/gateway/index.d.ts.map +1 -0
  190. package/dist/types/hooks/adapter-registry.d.ts +3 -0
  191. package/dist/types/hooks/adapter-registry.d.ts.map +1 -0
  192. package/dist/types/hooks/ai-sdk-detection.d.ts +2 -0
  193. package/dist/types/hooks/ai-sdk-detection.d.ts.map +1 -0
  194. package/dist/types/hooks/ai-sdk.d.ts +36 -0
  195. package/dist/types/hooks/ai-sdk.d.ts.map +1 -0
  196. package/dist/types/hooks/langchain.d.ts +3 -0
  197. package/dist/types/hooks/langchain.d.ts.map +1 -0
  198. package/dist/types/hooks/langgraph-detection.d.ts +2 -0
  199. package/dist/types/hooks/langgraph-detection.d.ts.map +1 -0
  200. package/dist/types/hooks/langgraph.d.ts +26 -0
  201. package/dist/types/hooks/langgraph.d.ts.map +1 -0
  202. package/dist/types/hooks/mastra-detection.d.ts +2 -0
  203. package/dist/types/hooks/mastra-detection.d.ts.map +1 -0
  204. package/dist/types/hooks/mastra.d.ts +29 -0
  205. package/dist/types/hooks/mastra.d.ts.map +1 -0
  206. package/dist/types/hooks/openai-agents-detection.d.ts +2 -0
  207. package/dist/types/hooks/openai-agents-detection.d.ts.map +1 -0
  208. package/dist/types/hooks/openai-agents.d.ts +42 -0
  209. package/dist/types/hooks/openai-agents.d.ts.map +1 -0
  210. package/dist/types/index.d.ts +10 -0
  211. package/dist/types/index.d.ts.map +1 -0
  212. package/dist/types/lineage/agent-context-store.d.ts +12 -0
  213. package/dist/types/lineage/agent-context-store.d.ts.map +1 -0
  214. package/dist/types/lineage/index.d.ts +2 -0
  215. package/dist/types/lineage/index.d.ts.map +1 -0
  216. package/dist/types/native/client.d.ts +26 -0
  217. package/dist/types/native/client.d.ts.map +1 -0
  218. package/dist/types/op-control.d.ts +85 -0
  219. package/dist/types/op-control.d.ts.map +1 -0
  220. package/dist/types/proto/generated/common.d.ts +90 -0
  221. package/dist/types/proto/generated/common.d.ts.map +1 -0
  222. package/dist/types/proto/generated/policy.d.ts +298 -0
  223. package/dist/types/proto/generated/policy.d.ts.map +1 -0
  224. package/dist/types/runtime.d.ts +59 -0
  225. package/dist/types/runtime.d.ts.map +1 -0
  226. package/dist/types/types/assembly-config.d.ts +47 -0
  227. package/dist/types/types/assembly-config.d.ts.map +1 -0
  228. package/dist/types/types/assembly-context.d.ts +12 -0
  229. package/dist/types/types/assembly-context.d.ts.map +1 -0
  230. package/dist/types/types/assembly-mode.d.ts +2 -0
  231. package/dist/types/types/assembly-mode.d.ts.map +1 -0
  232. package/dist/types/types/audit.d.ts +76 -0
  233. package/dist/types/types/audit.d.ts.map +1 -0
  234. package/dist/types/types/enforcement-mode.d.ts +20 -0
  235. package/dist/types/types/enforcement-mode.d.ts.map +1 -0
  236. package/dist/types/types/gateway-governance.d.ts +31 -0
  237. package/dist/types/types/gateway-governance.d.ts.map +1 -0
  238. package/dist/types/types/index.d.ts +12 -0
  239. package/dist/types/types/index.d.ts.map +1 -0
  240. package/dist/types/types/langchain-adapter.d.ts +25 -0
  241. package/dist/types/types/langchain-adapter.d.ts.map +1 -0
  242. package/dist/types/types/openai-agents-adapter.d.ts +17 -0
  243. package/dist/types/types/openai-agents-adapter.d.ts.map +1 -0
  244. package/dist/types/types/policy.d.ts +10 -0
  245. package/dist/types/types/policy.d.ts.map +1 -0
  246. package/dist/types/types/tool-map.d.ts +2 -0
  247. package/dist/types/types/tool-map.d.ts.map +1 -0
  248. package/dist/types/types/vercel-ai-adapter.d.ts +12 -0
  249. package/dist/types/types/vercel-ai-adapter.d.ts.map +1 -0
  250. package/dist/types/wrappers/index.d.ts +3 -0
  251. package/dist/types/wrappers/index.d.ts.map +1 -0
  252. package/dist/types/wrappers/with-assembly.d.ts +9 -0
  253. package/dist/types/wrappers/with-assembly.d.ts.map +1 -0
  254. package/native/aa-ffi-node/index.cjs +20 -0
  255. package/native/aa-ffi-node/index.d.ts +23 -0
  256. package/package.json +95 -0
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigurationError = void 0;
4
+ /**
5
+ * Thrown when the SDK cannot resolve the gateway configuration —
6
+ * e.g. the local gateway is absent and ``aasm`` is not on ``PATH``.
7
+ *
8
+ * Mirrors ``agent_assembly.exceptions.ConfigurationError`` in the
9
+ * Python SDK so the cross-SDK error contract stays aligned per Epic 17 S-G.
10
+ */
11
+ class ConfigurationError extends Error {
12
+ constructor(message) {
13
+ super(message);
14
+ this.name = "ConfigurationError";
15
+ }
16
+ }
17
+ exports.ConfigurationError = ConfigurationError;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GatewayError = void 0;
4
+ /**
5
+ * Thrown when the SDK has a gateway URL but cannot talk to it —
6
+ * e.g. ``aasm`` was spawned but ``/healthz`` did not become ready
7
+ * within the auto-start timeout window.
8
+ *
9
+ * Mirrors ``agent_assembly.exceptions.GatewayError`` in the Python SDK.
10
+ */
11
+ class GatewayError extends Error {
12
+ constructor(message) {
13
+ super(message);
14
+ this.name = "GatewayError";
15
+ }
16
+ }
17
+ exports.GatewayError = GatewayError;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicyViolationError = exports.OpTerminatedError = exports.GatewayError = exports.ConfigurationError = void 0;
4
+ var configuration_error_js_1 = require("./configuration-error.js");
5
+ Object.defineProperty(exports, "ConfigurationError", { enumerable: true, get: function () { return configuration_error_js_1.ConfigurationError; } });
6
+ var gateway_error_js_1 = require("./gateway-error.js");
7
+ Object.defineProperty(exports, "GatewayError", { enumerable: true, get: function () { return gateway_error_js_1.GatewayError; } });
8
+ var op_terminated_error_js_1 = require("./op-terminated-error.js");
9
+ Object.defineProperty(exports, "OpTerminatedError", { enumerable: true, get: function () { return op_terminated_error_js_1.OpTerminatedError; } });
10
+ var policy_violation_error_js_1 = require("./policy-violation-error.js");
11
+ Object.defineProperty(exports, "PolicyViolationError", { enumerable: true, get: function () { return policy_violation_error_js_1.PolicyViolationError; } });
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpTerminatedError = void 0;
4
+ /**
5
+ * Raised when the gateway terminates an in-flight op (AAASM-1422 PR-F).
6
+ *
7
+ * Carries the originating `opId` so callers can correlate the failure
8
+ * against the operation they were awaiting. Surfaced by
9
+ * `OpControlSubscriber.waitForOp` when an `OP_CONTROL_SIGNAL_TERMINATE`
10
+ * arrives for the awaited op.
11
+ */
12
+ class OpTerminatedError extends Error {
13
+ opId;
14
+ constructor(message, opId) {
15
+ super(message);
16
+ this.name = "OpTerminatedError";
17
+ this.opId = opId;
18
+ }
19
+ }
20
+ exports.OpTerminatedError = OpTerminatedError;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolicyViolationError = void 0;
4
+ class PolicyViolationError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = "PolicyViolationError";
8
+ }
9
+ }
10
+ exports.PolicyViolationError = PolicyViolationError;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createNoopGatewayClient = createNoopGatewayClient;
4
+ function createNoopGatewayClient(mode) {
5
+ return {
6
+ mode,
7
+ start: async () => undefined,
8
+ close: async () => undefined,
9
+ check: async () => ({ denied: false, pending: false }),
10
+ waitForApproval: async () => ({ denied: false }),
11
+ record: async () => undefined,
12
+ recordResult: async () => undefined,
13
+ scanPrompts: async () => undefined
14
+ };
15
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createNoopGatewayClient = void 0;
4
+ var client_js_1 = require("./client.js");
5
+ Object.defineProperty(exports, "createNoopGatewayClient", { enumerable: true, get: function () { return client_js_1.createNoopGatewayClient; } });
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerFrameworkHooks = registerFrameworkHooks;
4
+ const langchain_js_1 = require("./langchain.js");
5
+ async function registerFrameworkHooks(client) {
6
+ await (0, langchain_js_1.patchLangChain)(client);
7
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasVercelAiSdk = hasVercelAiSdk;
4
+ const node_module_1 = require("node:module");
5
+ const requireFromCwd = (0, node_module_1.createRequire)(`${process.cwd()}/`);
6
+ function hasVercelAiSdk() {
7
+ try {
8
+ requireFromCwd.resolve("ai");
9
+ return true;
10
+ }
11
+ catch {
12
+ return false;
13
+ }
14
+ }
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.vercelAiSdkPatchState = void 0;
37
+ exports.captureOriginalToolFactory = captureOriginalToolFactory;
38
+ exports.recordToolResultNonBlocking = recordToolResultNonBlocking;
39
+ exports.createWrappedExecute = createWrappedExecute;
40
+ exports.createPatchedToolFactory = createPatchedToolFactory;
41
+ exports.patchVercelAiSdk = patchVercelAiSdk;
42
+ exports.unpatchVercelAiSdk = unpatchVercelAiSdk;
43
+ const policy_violation_error_js_1 = require("../errors/policy-violation-error.js");
44
+ const agent_context_store_js_1 = require("../lineage/agent-context-store.js");
45
+ exports.vercelAiSdkPatchState = {
46
+ isPatched: false,
47
+ originalToolFactory: undefined,
48
+ patchedModule: undefined
49
+ };
50
+ function captureOriginalToolFactory(module) {
51
+ const candidate = module.tool;
52
+ if (typeof candidate !== "function") {
53
+ return undefined;
54
+ }
55
+ if (!exports.vercelAiSdkPatchState.originalToolFactory) {
56
+ exports.vercelAiSdkPatchState.originalToolFactory = candidate;
57
+ }
58
+ return exports.vercelAiSdkPatchState.originalToolFactory;
59
+ }
60
+ function recordToolResultNonBlocking(gatewayClient, runId, output) {
61
+ void gatewayClient.recordResult({ runId, output }).catch(() => undefined);
62
+ }
63
+ function createWrappedExecute(originalExecute, description, gatewayClient, options) {
64
+ return async function wrappedExecute(args, executionOptions) {
65
+ const runId = executionOptions.toolCallId ?? options.fallbackRunId;
66
+ const executeOriginal = async () => {
67
+ const run = async () => {
68
+ const result = await originalExecute(args, executionOptions);
69
+ recordToolResultNonBlocking(gatewayClient, runId, result);
70
+ return result;
71
+ };
72
+ return options.agentId ? (0, agent_context_store_js_1.runWithAgentId)(options.agentId, run) : run();
73
+ };
74
+ let decision;
75
+ try {
76
+ decision = await gatewayClient.check({
77
+ action: "tool_call",
78
+ toolName: description,
79
+ args: args,
80
+ runId
81
+ });
82
+ }
83
+ catch {
84
+ return executeOriginal();
85
+ }
86
+ if (decision.denied) {
87
+ throw new policy_violation_error_js_1.PolicyViolationError(`Tool blocked by governance policy: ${decision.reason ?? "Denied"}`);
88
+ }
89
+ if (decision.pending) {
90
+ let approval;
91
+ try {
92
+ approval = await gatewayClient.waitForApproval(description, runId, options.approvalTimeoutMs);
93
+ }
94
+ catch {
95
+ return executeOriginal();
96
+ }
97
+ if (approval.denied) {
98
+ throw new policy_violation_error_js_1.PolicyViolationError(`Approval rejected: ${approval.reason ?? "Rejected"}`);
99
+ }
100
+ }
101
+ return executeOriginal();
102
+ };
103
+ }
104
+ function createPatchedToolFactory(originalToolFactory, gatewayClient, options) {
105
+ return function patchedTool(definition) {
106
+ const toolResult = originalToolFactory(definition);
107
+ if (!toolResult.execute) {
108
+ return toolResult;
109
+ }
110
+ const description = toolResult.description ?? "unknown_tool";
111
+ return {
112
+ ...toolResult,
113
+ execute: createWrappedExecute(toolResult.execute, description, gatewayClient, options)
114
+ };
115
+ };
116
+ }
117
+ async function loadVercelAiSdkModule() {
118
+ try {
119
+ const moduleName = "ai";
120
+ const module = (await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s))));
121
+ return module;
122
+ }
123
+ catch {
124
+ return undefined;
125
+ }
126
+ }
127
+ async function patchVercelAiSdk(options) {
128
+ if (exports.vercelAiSdkPatchState.isPatched) {
129
+ return true;
130
+ }
131
+ const loadModule = options.loadModule ?? loadVercelAiSdkModule;
132
+ const module = await loadModule();
133
+ if (!module) {
134
+ return false;
135
+ }
136
+ const originalToolFactory = captureOriginalToolFactory(module);
137
+ if (!originalToolFactory) {
138
+ return false;
139
+ }
140
+ module.tool = createPatchedToolFactory(originalToolFactory, options.gatewayClient, {
141
+ approvalTimeoutMs: options.approvalTimeoutMs ?? 30_000,
142
+ fallbackRunId: options.fallbackRunId ?? "vercel-ai-sdk",
143
+ ...(options.agentId !== undefined ? { agentId: options.agentId } : {})
144
+ });
145
+ exports.vercelAiSdkPatchState.isPatched = true;
146
+ exports.vercelAiSdkPatchState.patchedModule = module;
147
+ return true;
148
+ }
149
+ function unpatchVercelAiSdk() {
150
+ if (!exports.vercelAiSdkPatchState.isPatched) {
151
+ return false;
152
+ }
153
+ if (!exports.vercelAiSdkPatchState.patchedModule) {
154
+ return false;
155
+ }
156
+ if (!exports.vercelAiSdkPatchState.originalToolFactory) {
157
+ return false;
158
+ }
159
+ exports.vercelAiSdkPatchState.patchedModule.tool =
160
+ exports.vercelAiSdkPatchState.originalToolFactory;
161
+ exports.vercelAiSdkPatchState.isPatched = false;
162
+ exports.vercelAiSdkPatchState.patchedModule = undefined;
163
+ return true;
164
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.patchLangChain = patchLangChain;
4
+ async function patchLangChain(client) {
5
+ if (client.mode === "grpc-sidecar" || client.mode === "napi-inprocess") {
6
+ return false;
7
+ }
8
+ return false;
9
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasLangGraph = hasLangGraph;
4
+ const node_module_1 = require("node:module");
5
+ const requireFromCwd = (0, node_module_1.createRequire)(`${process.cwd()}/`);
6
+ function hasLangGraph() {
7
+ try {
8
+ requireFromCwd.resolve("@langchain/langgraph");
9
+ return true;
10
+ }
11
+ catch {
12
+ return false;
13
+ }
14
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.langGraphPatchState = void 0;
37
+ exports.wrapCompiledGraph = wrapCompiledGraph;
38
+ exports.patchLangGraph = patchLangGraph;
39
+ exports.unpatchLangGraph = unpatchLangGraph;
40
+ const agent_context_store_js_1 = require("../lineage/agent-context-store.js");
41
+ exports.langGraphPatchState = {
42
+ isPatched: false,
43
+ originalCompile: undefined,
44
+ patchedClass: undefined
45
+ };
46
+ function wrapCompiledGraph(compiled, agentId) {
47
+ const originalInvoke = compiled.invoke.bind(compiled);
48
+ const originalStream = compiled.stream.bind(compiled);
49
+ compiled.invoke = (...args) => (0, agent_context_store_js_1.runWithAgentId)(agentId, () => originalInvoke(...args));
50
+ compiled.stream = (...args) => (0, agent_context_store_js_1.runWithAgentId)(agentId, () => originalStream(...args));
51
+ return compiled;
52
+ }
53
+ async function loadLangGraphModule() {
54
+ try {
55
+ const moduleName = "@langchain/langgraph";
56
+ const module = (await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s))));
57
+ return module;
58
+ }
59
+ catch {
60
+ return undefined;
61
+ }
62
+ }
63
+ async function patchLangGraph(options) {
64
+ if (exports.langGraphPatchState.isPatched) {
65
+ return true;
66
+ }
67
+ const loadModule = options.loadModule ?? loadLangGraphModule;
68
+ let module;
69
+ try {
70
+ module = await loadModule();
71
+ }
72
+ catch {
73
+ return false;
74
+ }
75
+ if (!module?.StateGraph?.prototype?.compile) {
76
+ return false;
77
+ }
78
+ const originalCompile = module.StateGraph.prototype.compile;
79
+ exports.langGraphPatchState.originalCompile = originalCompile;
80
+ exports.langGraphPatchState.patchedClass = module.StateGraph;
81
+ const { agentId } = options;
82
+ module.StateGraph.prototype.compile = function patchedCompile(...args) {
83
+ const compiled = originalCompile.apply(this, args);
84
+ try {
85
+ return wrapCompiledGraph(compiled, agentId);
86
+ }
87
+ catch (e) {
88
+ console.warn("[assembly] LangGraph lineage patch error on compile; falling back:", e);
89
+ return compiled;
90
+ }
91
+ };
92
+ exports.langGraphPatchState.isPatched = true;
93
+ return true;
94
+ }
95
+ function unpatchLangGraph() {
96
+ if (!exports.langGraphPatchState.isPatched) {
97
+ return false;
98
+ }
99
+ if (!exports.langGraphPatchState.patchedClass || !exports.langGraphPatchState.originalCompile) {
100
+ return false;
101
+ }
102
+ exports.langGraphPatchState.patchedClass.prototype.compile = exports.langGraphPatchState.originalCompile;
103
+ exports.langGraphPatchState.isPatched = false;
104
+ exports.langGraphPatchState.originalCompile = undefined;
105
+ exports.langGraphPatchState.patchedClass = undefined;
106
+ return true;
107
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasMastra = hasMastra;
4
+ const node_module_1 = require("node:module");
5
+ const requireFromCwd = (0, node_module_1.createRequire)(`${process.cwd()}/`);
6
+ function hasMastra() {
7
+ try {
8
+ requireFromCwd.resolve("@mastra/core");
9
+ return true;
10
+ }
11
+ catch {
12
+ return false;
13
+ }
14
+ }
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.mastraPatchState = void 0;
37
+ exports.patchMastra = patchMastra;
38
+ exports.unpatchMastra = unpatchMastra;
39
+ const agent_context_store_js_1 = require("../lineage/agent-context-store.js");
40
+ exports.mastraPatchState = {
41
+ isPatched: false,
42
+ originalGenerate: undefined,
43
+ originalExecute: undefined,
44
+ patchedAgentClass: undefined,
45
+ patchedWorkflowClass: undefined
46
+ };
47
+ async function loadMastraModule() {
48
+ try {
49
+ const moduleName = "@mastra/core";
50
+ const module = (await Promise.resolve(`${moduleName}`).then(s => __importStar(require(s))));
51
+ return module;
52
+ }
53
+ catch {
54
+ return undefined;
55
+ }
56
+ }
57
+ async function patchMastra(options) {
58
+ if (exports.mastraPatchState.isPatched) {
59
+ return true;
60
+ }
61
+ const loadModule = options.loadModule ?? loadMastraModule;
62
+ let module;
63
+ try {
64
+ module = await loadModule();
65
+ }
66
+ catch {
67
+ return false;
68
+ }
69
+ if (!module?.Agent?.prototype?.generate) {
70
+ return false;
71
+ }
72
+ const { agentId } = options;
73
+ // Wrap Agent.prototype.generate
74
+ const originalGenerate = module.Agent.prototype.generate;
75
+ exports.mastraPatchState.originalGenerate = originalGenerate;
76
+ exports.mastraPatchState.patchedAgentClass = module.Agent;
77
+ module.Agent.prototype.generate = function patchedGenerate(...args) {
78
+ try {
79
+ return (0, agent_context_store_js_1.runWithAgentId)(agentId, () => originalGenerate.apply(this, args));
80
+ }
81
+ catch (e) {
82
+ console.warn("[assembly] Mastra lineage patch error on generate; falling back:", e);
83
+ return originalGenerate.apply(this, args);
84
+ }
85
+ };
86
+ // Wrap Workflow.prototype.execute if present
87
+ if (module.Workflow?.prototype?.execute) {
88
+ const originalExecute = module.Workflow.prototype.execute;
89
+ exports.mastraPatchState.originalExecute = originalExecute;
90
+ exports.mastraPatchState.patchedWorkflowClass = module.Workflow;
91
+ module.Workflow.prototype.execute = function patchedExecute(...args) {
92
+ try {
93
+ return (0, agent_context_store_js_1.runWithAgentId)(agentId, () => originalExecute.apply(this, args));
94
+ }
95
+ catch (e) {
96
+ console.warn("[assembly] Mastra lineage patch error on execute; falling back:", e);
97
+ return originalExecute.apply(this, args);
98
+ }
99
+ };
100
+ }
101
+ exports.mastraPatchState.isPatched = true;
102
+ return true;
103
+ }
104
+ function unpatchMastra() {
105
+ if (!exports.mastraPatchState.isPatched) {
106
+ return false;
107
+ }
108
+ if (exports.mastraPatchState.patchedAgentClass && exports.mastraPatchState.originalGenerate) {
109
+ exports.mastraPatchState.patchedAgentClass.prototype.generate = exports.mastraPatchState.originalGenerate;
110
+ }
111
+ if (exports.mastraPatchState.patchedWorkflowClass && exports.mastraPatchState.originalExecute) {
112
+ exports.mastraPatchState.patchedWorkflowClass.prototype.execute = exports.mastraPatchState.originalExecute;
113
+ }
114
+ exports.mastraPatchState.isPatched = false;
115
+ exports.mastraPatchState.originalGenerate = undefined;
116
+ exports.mastraPatchState.originalExecute = undefined;
117
+ exports.mastraPatchState.patchedAgentClass = undefined;
118
+ exports.mastraPatchState.patchedWorkflowClass = undefined;
119
+ return true;
120
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasOpenAIAgentsSDK = hasOpenAIAgentsSDK;
4
+ const node_module_1 = require("node:module");
5
+ const requireFromCwd = (0, node_module_1.createRequire)(`${process.cwd()}/`);
6
+ function hasOpenAIAgentsSDK() {
7
+ try {
8
+ requireFromCwd.resolve("@openai/agents");
9
+ return true;
10
+ }
11
+ catch {
12
+ return false;
13
+ }
14
+ }