@agent-assembly/sdk 0.0.1-beta.4 → 0.0.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +36 -23
  2. package/dist/cjs/core/init-assembly.js +5 -1
  3. package/dist/cjs/core/redact.js +63 -0
  4. package/dist/cjs/hooks/ai-sdk.js +43 -5
  5. package/dist/cjs/index.js +9 -1
  6. package/dist/cjs/native/client.js +25 -1
  7. package/dist/cjs/op-control.js +109 -21
  8. package/dist/cjs/wrappers/with-assembly.js +89 -32
  9. package/dist/esm/core/init-assembly.js +5 -1
  10. package/dist/esm/core/init-assembly.js.map +1 -1
  11. package/dist/esm/core/redact.js +59 -0
  12. package/dist/esm/core/redact.js.map +1 -0
  13. package/dist/esm/hooks/ai-sdk.js +43 -5
  14. package/dist/esm/hooks/ai-sdk.js.map +1 -1
  15. package/dist/esm/index.js +6 -0
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/native/client.js +24 -1
  18. package/dist/esm/native/client.js.map +1 -1
  19. package/dist/esm/op-control.js +73 -18
  20. package/dist/esm/op-control.js.map +1 -1
  21. package/dist/esm/wrappers/with-assembly.js +89 -32
  22. package/dist/esm/wrappers/with-assembly.js.map +1 -1
  23. package/dist/types/core/init-assembly.d.ts.map +1 -1
  24. package/dist/types/core/redact.d.ts +28 -0
  25. package/dist/types/core/redact.d.ts.map +1 -0
  26. package/dist/types/hooks/ai-sdk.d.ts +13 -0
  27. package/dist/types/hooks/ai-sdk.d.ts.map +1 -1
  28. package/dist/types/index.d.ts +4 -1
  29. package/dist/types/index.d.ts.map +1 -1
  30. package/dist/types/native/client.d.ts +11 -0
  31. package/dist/types/native/client.d.ts.map +1 -1
  32. package/dist/types/op-control.d.ts +43 -6
  33. package/dist/types/op-control.d.ts.map +1 -1
  34. package/dist/types/wrappers/index.d.ts +1 -1
  35. package/dist/types/wrappers/index.d.ts.map +1 -1
  36. package/dist/types/wrappers/with-assembly.d.ts +25 -0
  37. package/dist/types/wrappers/with-assembly.d.ts.map +1 -1
  38. package/native/aa-ffi-node/index.d.ts +8 -1
  39. package/package.json +18 -5
@@ -1 +1 @@
1
- {"version":3,"file":"op-control.js","sourceRoot":"","sources":["../../src/op-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"op-control.js","sourceRoot":"","sources":["../../src/op-control.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,62 @@
1
1
  import { randomUUID } from "node:crypto";
2
+ import { OpTerminatedError } from "../errors/op-terminated-error.js";
2
3
  import { PolicyViolationError } from "../errors/policy-violation-error.js";
3
4
  const DEFAULT_APPROVAL_TIMEOUT_MS = 30_000;
5
+ /**
6
+ * Resolve the op id (`"{traceId}:{spanId}"`) for a wrapped tool call.
7
+ *
8
+ * Prefers an explicit `opId` on the call's first argument; otherwise composes
9
+ * it from `traceId` / `spanId` when an adapter threads them through. Returns
10
+ * `undefined` when no trace identity is present — the call is not part of a
11
+ * tracked op, so there is nothing for the kill switch to address and op control
12
+ * is skipped. Mirrors the Python companion's `_extract_op_id`.
13
+ */
14
+ function extractOpId(args) {
15
+ const first = args[0];
16
+ if (typeof first !== "object" || first === null) {
17
+ return undefined;
18
+ }
19
+ const fields = first;
20
+ const opId = fields.opId;
21
+ if (typeof opId === "string" && opId.length > 0) {
22
+ return opId;
23
+ }
24
+ const traceId = fields.traceId;
25
+ if (typeof traceId === "string" && traceId.length > 0) {
26
+ const spanId = fields.spanId;
27
+ const span = typeof spanId === "string" ? spanId : "";
28
+ return `${traceId}:${span}`;
29
+ }
30
+ return undefined;
31
+ }
32
+ /**
33
+ * Consult the live op-control kill switch before the gateway is queried.
34
+ *
35
+ * A terminated op throws {@link PolicyViolationError} so the tool is blocked
36
+ * (and the gateway is never reached — the kill switch short-circuits). A paused
37
+ * op blocks here in `waitForOp` until the gateway resumes (or terminates) it.
38
+ * A no-op when no subscriber is wired or the call carries no `opId`.
39
+ *
40
+ * @throws {PolicyViolationError} when the op has been terminated by the gateway.
41
+ */
42
+ async function enforceOpControl(opControl, name, args) {
43
+ if (!opControl) {
44
+ return;
45
+ }
46
+ const opId = extractOpId(args);
47
+ if (!opId) {
48
+ return;
49
+ }
50
+ try {
51
+ await opControl.waitForOp(opId);
52
+ }
53
+ catch (error) {
54
+ if (error instanceof OpTerminatedError) {
55
+ throw new PolicyViolationError(`Tool '${name}' terminated: ${error.message}`);
56
+ }
57
+ throw error;
58
+ }
59
+ }
4
60
  async function waitForApprovalWithTimeout(gateway, toolName, runId, timeoutMs) {
5
61
  let timeoutId;
6
62
  const timeoutPromise = new Promise((resolve) => {
@@ -24,49 +80,50 @@ function hasExecute(tool) {
24
80
  function hasInvoke(tool) {
25
81
  return typeof tool.invoke === "function";
26
82
  }
83
+ /**
84
+ * Run the full pre-execution governance chain for one wrapped tool call.
85
+ *
86
+ * Order is load-bearing: the live op-control kill switch (AAASM-3491) runs
87
+ * first so an operator terminate short-circuits *before* the gateway is queried
88
+ * and a pause blocks here until resume; only then does the pre-exec gateway
89
+ * check + approval flow run.
90
+ *
91
+ * @throws {PolicyViolationError} when the op is terminated, the gateway denies,
92
+ * or an approval is rejected / times out.
93
+ */
94
+ async function enforceGovernance(name, args, gateway, opControl, approvalTimeoutMs) {
95
+ await enforceOpControl(opControl, name, args);
96
+ const runId = `run_${randomUUID()}`;
97
+ const decision = await gateway.check({
98
+ action: "tool_call",
99
+ toolName: name,
100
+ args,
101
+ runId
102
+ });
103
+ if (decision.denied) {
104
+ throw new PolicyViolationError(`Tool '${name}' blocked: ${decision.reason ?? "Denied"}`);
105
+ }
106
+ if (decision.pending) {
107
+ const finalDecision = await waitForApprovalWithTimeout(gateway, name, runId, approvalTimeoutMs);
108
+ if (finalDecision.denied) {
109
+ throw new PolicyViolationError(`Approval rejected for '${name}': ${finalDecision.reason ?? "Rejected"}`);
110
+ }
111
+ }
112
+ }
27
113
  function wrapSingleTool(name, tool, gateway, options) {
28
114
  const approvalTimeoutMs = options.approvalTimeoutMs ?? DEFAULT_APPROVAL_TIMEOUT_MS;
115
+ const opControl = options.opControl;
29
116
  if (hasExecute(tool)) {
30
117
  const originalExecute = tool.execute;
31
118
  tool.execute = async (...args) => {
32
- const runId = `run_${randomUUID()}`;
33
- const decision = await gateway.check({
34
- action: "tool_call",
35
- toolName: name,
36
- args,
37
- runId
38
- });
39
- if (decision.denied) {
40
- throw new PolicyViolationError(`Tool '${name}' blocked: ${decision.reason ?? "Denied"}`);
41
- }
42
- if (decision.pending) {
43
- const finalDecision = await waitForApprovalWithTimeout(gateway, name, runId, approvalTimeoutMs);
44
- if (finalDecision.denied) {
45
- throw new PolicyViolationError(`Approval rejected for '${name}': ${finalDecision.reason ?? "Rejected"}`);
46
- }
47
- }
119
+ await enforceGovernance(name, args, gateway, opControl, approvalTimeoutMs);
48
120
  return originalExecute(...args);
49
121
  };
50
122
  }
51
123
  else if (hasInvoke(tool)) {
52
124
  const originalInvoke = tool.invoke;
53
125
  tool.invoke = async (...args) => {
54
- const runId = `run_${randomUUID()}`;
55
- const decision = await gateway.check({
56
- action: "tool_call",
57
- toolName: name,
58
- args,
59
- runId
60
- });
61
- if (decision.denied) {
62
- throw new PolicyViolationError(`Tool '${name}' blocked: ${decision.reason ?? "Denied"}`);
63
- }
64
- if (decision.pending) {
65
- const finalDecision = await waitForApprovalWithTimeout(gateway, name, runId, approvalTimeoutMs);
66
- if (finalDecision.denied) {
67
- throw new PolicyViolationError(`Approval rejected for '${name}': ${finalDecision.reason ?? "Rejected"}`);
68
- }
69
- }
126
+ await enforceGovernance(name, args, gateway, opControl, approvalTimeoutMs);
70
127
  return originalInvoke(...args);
71
128
  };
72
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"with-assembly.js","sourceRoot":"","sources":["../../../src/wrappers/with-assembly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"with-assembly.js","sourceRoot":"","sources":["../../../src/wrappers/with-assembly.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init-assembly.d.ts","sourceRoot":"","sources":["../../../src/core/init-assembly.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAKtD,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAoBpE,0EAA0E;AAC1E,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAChD,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAiD5D,wBAAgB,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,oBAAoB,CAAC,EAAE,YAAY,GAClC,aAAa,CA+Cf;AAWD,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAoB3C;AASD,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAMxF;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAMf;AAsLD,wBAAsB,YAAY,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAkFxF"}
1
+ {"version":3,"file":"init-assembly.d.ts","sourceRoot":"","sources":["../../../src/core/init-assembly.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAKtD,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAqBpE,0EAA0E;AAC1E,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAChD,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAiD5D,wBAAgB,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,oBAAoB,CAAC,EAAE,YAAY,GAClC,aAAa,CA+Cf;AAWD,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAoB3C;AASD,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAMxF;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAMf;AAsLD,wBAAsB,YAAY,CAAC,MAAM,GAAE,cAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAqFxF"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Secret-redaction helpers for diagnostic / log output (AAASM-3645).
3
+ *
4
+ * The resolved `apiKey` and the proto `credentialToken` must never reach
5
+ * `console.*` or an accidental `JSON.stringify` dump. These helpers give the
6
+ * SDK a single, audited way to render config/diagnostics for logging with the
7
+ * credential fields stripped.
8
+ *
9
+ * NOTE: the generated `CheckActionRequest.toJSON()` (src/proto/generated) is
10
+ * wire-only — it serializes `credentialToken` for transport and must never be
11
+ * passed to a logger. Use {@link redactSecrets} on any object you intend to log.
12
+ */
13
+ /** Placeholder substituted for any redacted credential value. */
14
+ export declare const REDACTED = "<redacted>";
15
+ /**
16
+ * Return a deep copy of `value` with every credential-bearing field replaced by
17
+ * {@link REDACTED}, safe to pass to `console.*` / `JSON.stringify`. Matching is
18
+ * case-insensitive on the key name. Non-object inputs are returned unchanged.
19
+ */
20
+ export declare function redactSecrets(value: unknown): unknown;
21
+ /**
22
+ * Render an unknown error for a log message with any `Bearer <token>` / API-key
23
+ * substring scrubbed. Defends the registration-failure warning path: a wrapped
24
+ * transport error could in principle carry an auth header in its message, so we
25
+ * strip the bearer credential before it reaches `console.*` (AAASM-3645).
26
+ */
27
+ export declare function redactErrorMessage(error: unknown): string;
28
+ //# sourceMappingURL=redact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../../src/core/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgBH,iEAAiE;AACjE,eAAO,MAAM,QAAQ,eAAe,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAYrD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMzD"}
@@ -6,7 +6,20 @@ export interface VercelAiSdkModule {
6
6
  export interface VercelAiSdkPatchState {
7
7
  isPatched: boolean;
8
8
  originalToolFactory: VercelAiToolFactory | undefined;
9
+ /**
10
+ * The module object whose `tool` factory is governed. When the loaded `ai`
11
+ * package is a real ES module its namespace is frozen (assignment to a named
12
+ * export throws), so this is a mutable **shim copy** (`{ ...module, tool:
13
+ * governed }`) rather than the frozen original — see `applyGovernedToolFactory`.
14
+ */
9
15
  patchedModule: VercelAiSdkModule | undefined;
16
+ /**
17
+ * True only when `tool` was assigned back onto the loaded module object (a
18
+ * writable plain object); false when a frozen ESM namespace forced a shim copy.
19
+ * Governs whether `unpatchVercelAiSdk` writes the original factory back —
20
+ * there is nothing to restore on the frozen original in the shim case.
21
+ */
22
+ mutatedOriginal: boolean;
10
23
  }
11
24
  export declare const vercelAiSdkPatchState: VercelAiSdkPatchState;
12
25
  export declare function captureOriginalToolFactory(module: VercelAiSdkModule): VercelAiToolFactory | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sdk.d.ts","sourceRoot":"","sources":["../../../src/hooks/ai-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACrD,aAAa,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC9C;AAED,eAAO,MAAM,qBAAqB,EAAE,qBAInC,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,iBAAiB,GACxB,mBAAmB,GAAG,SAAS,CASjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,6GAA6G;IAC7G,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,GACd,IAAI,CAEN;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EACjD,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,OAAO,CAAC,EACzF,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,2BAA2B,GACnC,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,4BAA4B,KAAK,OAAO,CAAC,OAAO,CAAC,CAsDnF;AAED,MAAM,WAAW,+BAA+B;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,wBAAwB,CACtC,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,+BAA+B,GACvC,mBAAmB,CAsBrB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;CAC3D;AAYD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,OAAO,CAAC,CA4BlB;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAgB5C"}
1
+ {"version":3,"file":"ai-sdk.d.ts","sourceRoot":"","sources":["../../../src/hooks/ai-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACrD;;;;;OAKG;IACH,aAAa,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC7C;;;;;OAKG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,qBAAqB,EAAE,qBAKnC,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,iBAAiB,GACxB,mBAAmB,GAAG,SAAS,CASjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,6GAA6G;IAC7G,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,GACd,IAAI,CAEN;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EACjD,eAAe,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,OAAO,CAAC,EACzF,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,2BAA2B,GACnC,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,4BAA4B,KAAK,OAAO,CAAC,OAAO,CAAC,CAsDnF;AAED,MAAM,WAAW,+BAA+B;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,wBAAwB,CACtC,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,+BAA+B,GACvC,mBAAmB,CAsBrB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;CAC3D;AA6CD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,OAAO,CAAC,CAmClB;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAsB5C"}
@@ -1,6 +1,9 @@
1
1
  export { initAssembly } from "./core/init-assembly.js";
2
2
  export { withAssembly } from "./wrappers/index.js";
3
- export type { WithAssemblyOptions } from "./wrappers/index.js";
3
+ export type { OpControl, WithAssemblyOptions } from "./wrappers/index.js";
4
+ export { OpControlSubscriber } from "./op-control.js";
5
+ export type { OpControlClient, OpControlSubscriberOptions } from "./op-control.js";
6
+ export { OpTerminatedError } from "./errors/op-terminated-error.js";
4
7
  export type { AssemblyConfig, AssemblyContext, AssemblyMode, AuditEvent, CallStackNode, CallStackNodeKind, EnforcementMode, ToolMap } from "./types/index.js";
5
8
  export { ENFORCEMENT_MODES } from "./types/index.js";
6
9
  export { decodeAuditEvent, decodeCallStackNode, encodeAuditEvent, encodeCallStackNode } from "./audit/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,OAAO,EACR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMpE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAKzD,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EACV,eAAe,EACf,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,YAAY,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,OAAO,EACR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMpE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAKzD,cAAc,kBAAkB,CAAC"}
@@ -22,6 +22,17 @@ export interface RegisterOptions {
22
22
  teamId?: string;
23
23
  parentAgentId?: string;
24
24
  }
25
+ /**
26
+ * Resolve the installed `@agent-assembly/sdk` package version, or `undefined`.
27
+ *
28
+ * Forwarded into the native `connect` so the user-facing npm package version —
29
+ * not the shared `aa-sdk-client` crate version — is what gets signed into the
30
+ * runtime handshake, giving accurate downgrade detection (AAASM-3683).
31
+ * `undefined` lets the native shim fall back to the crate version (no
32
+ * regression vs AAASM-3666). Uses `createRequire(<cwd>/package.json)`, the same
33
+ * ESM/CJS-safe pattern as the native-binding and runtime-binary resolvers.
34
+ */
35
+ export declare function resolveSdkVersion(): string | undefined;
25
36
  export declare class NativeConnectError extends Error {
26
37
  readonly code = "AA_ERR_CONNECT";
27
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/native/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAsBD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,oBAAiB;CAC/B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,uBAAoB;CAClC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,yBAAsB;CACpC;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,qBAAkB;CAChC;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,uBAAoB;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAAC;IACjD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACxD;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AAmFD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CA6G7E"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/native/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAUD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAQtD;AAcD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,IAAI,oBAAiB;CAC/B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,uBAAoB;CAClC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,yBAAsB;CACpC;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,qBAAkB;CAChC;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,uBAAoB;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAAC;IACjD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACxD;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AAmFD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAiH7E"}
@@ -19,9 +19,9 @@
19
19
  * - Auto-wiring into the existing `GatewayClient` / adapter hooks
20
20
  * (separate sub-task when the adapter surface is stable).
21
21
  */
22
- import { type ChannelCredentials, type ClientReadableStream } from "@grpc/grpc-js";
22
+ import type { ChannelCredentials, ClientReadableStream } from "@grpc/grpc-js";
23
23
  import type { AgentId } from "./proto/generated/common.js";
24
- import { OpControlMessage } from "./proto/generated/policy.js";
24
+ import type { OpControlMessage } from "./proto/generated/policy.js";
25
25
  /** Strip of the gRPC stub method the subscriber actually needs. Lets tests
26
26
  * mock the gRPC layer without standing up a server.
27
27
  */
@@ -62,6 +62,15 @@ export interface OpControlSubscriberOptions {
62
62
  * {@link LOOPBACK_HOSTS}.
63
63
  */
64
64
  export declare function gatewayHostOf(gatewayUrl: string): string;
65
+ /**
66
+ * The slice of `@grpc/grpc-js`'s `credentials` namespace this module needs.
67
+ * Injected into {@link resolveOpControlCredentials} so that module stays free of
68
+ * a top-level grpc import — the real namespace is `await import`ed on connect.
69
+ */
70
+ export interface GrpcCredentialsFactory {
71
+ createInsecure: () => ChannelCredentials;
72
+ createSsl: () => ChannelCredentials;
73
+ }
65
74
  /**
66
75
  * Pick channel credentials for the op-control stream, secure by default.
67
76
  *
@@ -69,18 +78,44 @@ export declare function gatewayHostOf(gatewayUrl: string): string;
69
78
  * target gets plaintext (local dev gateway), a remote target gets TLS, and a
70
79
  * remote target is only allowed plaintext when the caller sets `allowInsecure`.
71
80
  *
81
+ * `grpcCredentials` is injected (rather than imported at module scope) so this
82
+ * module does not eagerly load `@grpc/grpc-js` — see the module header. The
83
+ * real-connect path passes the lazily-imported `credentials` namespace.
84
+ *
72
85
  * @throws never — returns the chosen {@link ChannelCredentials}.
73
86
  */
74
- export declare function resolveOpControlCredentials(gatewayUrl: string, opts: Pick<OpControlSubscriberOptions, "credentials" | "allowInsecure">): ChannelCredentials;
87
+ export declare function resolveOpControlCredentials(gatewayUrl: string, opts: Pick<OpControlSubscriberOptions, "credentials" | "allowInsecure">, grpcCredentials: GrpcCredentialsFactory): ChannelCredentials;
75
88
  export declare class OpControlSubscriber {
76
- private readonly client;
89
+ /**
90
+ * `null` until the channel is opened. On the test-seam (`clientFactory`) path
91
+ * it is set synchronously in {@link connect}; on the real-connect path it is
92
+ * set asynchronously once `@grpc/grpc-js` + `PolicyServiceClient` have been
93
+ * lazily imported (see {@link openRealChannel}).
94
+ */
95
+ private client;
77
96
  private readonly agent;
78
97
  private readonly ops;
79
98
  private call;
80
99
  private alive;
100
+ /** Set once {@link close} is called before the async channel finishes opening. */
101
+ private closed;
81
102
  private constructor();
82
- /** Open the gRPC channel + subscription stream and start the reader. */
103
+ /**
104
+ * Open the gRPC channel + subscription stream and start the reader.
105
+ *
106
+ * Returns synchronously. On the real-connect path the channel is opened
107
+ * asynchronously — `@grpc/grpc-js` and `PolicyServiceClient` are loaded lazily
108
+ * (`await import`) so that importing this module never eagerly pulls grpc (see
109
+ * the module header). The test seam (`clientFactory`) opens synchronously and
110
+ * never touches grpc.
111
+ */
83
112
  static connect(gatewayUrl: string, opts: OpControlSubscriberOptions): OpControlSubscriber;
113
+ /**
114
+ * Lazily import grpc + the policy client, build the real client, and start the
115
+ * reader. Kept off the module's import graph so `import '@agent-assembly/sdk'`
116
+ * stays grpc-free until a subscriber actually opens a live channel.
117
+ */
118
+ private openRealChannel;
84
119
  /** Open the stream and wire reader handlers. Public so tests can call
85
120
  * directly after constructing with a hand-rolled client.
86
121
  */
@@ -106,7 +141,9 @@ export declare class OpControlSubscriber {
106
141
  isPaused(opId: string): boolean;
107
142
  isTerminated(opId: string): boolean;
108
143
  streamAlive(): boolean;
109
- /** Cancel the stream and clean up. */
144
+ /** Cancel the stream and clean up. Safe to call before the async real-channel
145
+ * open has completed — it flags `closed` so the pending open bails out.
146
+ */
110
147
  close(): void;
111
148
  }
112
149
  //# sourceMappingURL=op-control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"op-control.d.ts","sourceRoot":"","sources":["../../src/op-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAE1B,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,gBAAgB,EAIjB,MAAM,6BAA6B,CAAC;AAUrC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,CACf,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAC3B,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,eAAe,CAAC;CACvC;AASD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAexD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,IAAI,CAAC,0BAA0B,EAAE,aAAa,GAAG,eAAe,CAAC,GACtE,kBAAkB,CAKpB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;IACzD,OAAO,CAAC,IAAI,CAAuD;IACnE,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO;IAKP,wEAAwE;WAC1D,OAAO,CACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,0BAA0B,GAC/B,mBAAmB;IAiBtB;;OAEG;IACI,KAAK,IAAI,IAAI;IAOpB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAMtB;;;;;;;;;;OAUG;IACU,SAAS,CACpB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAChC,OAAO,CAAC,IAAI,CAAC;IAwBT,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAInC,WAAW,IAAI,OAAO;IAI7B,sCAAsC;IAC/B,KAAK,IAAI,IAAI;CAKrB"}
1
+ {"version":3,"file":"op-control.d.ts","sourceRoot":"","sources":["../../src/op-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAWH,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,6BAA6B,CAAC;AAwBrC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC5F,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,eAAe,CAAC;CACvC;AASD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAexD;AAMD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,kBAAkB,CAAC;IACzC,SAAS,EAAE,MAAM,kBAAkB,CAAC;CACrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,IAAI,CAAC,0BAA0B,EAAE,aAAa,GAAG,eAAe,CAAC,EACvE,eAAe,EAAE,sBAAsB,GACtC,kBAAkB,CAKpB;AAED,qBAAa,mBAAmB;IAC9B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;IACzD,OAAO,CAAC,IAAI,CAAuD;IACnE,OAAO,CAAC,KAAK,CAAQ;IACrB,kFAAkF;IAClF,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO;IAIP;;;;;;;;OAQG;WACW,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,GAAG,mBAAmB;IAoBhG;;;;OAIG;YACW,eAAe;IAc7B;;OAEG;IACI,KAAK,IAAI,IAAI;IAQpB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAMtB;;;;;;;;;;OAUG;IACU,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB/E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAInC,WAAW,IAAI,OAAO;IAI7B;;OAEG;IACI,KAAK,IAAI,IAAI;CAMrB"}
@@ -1,3 +1,3 @@
1
1
  export { withAssembly } from "./with-assembly.js";
2
- export type { WithAssemblyOptions } from "./with-assembly.js";
2
+ export type { OpControl, WithAssemblyOptions } from "./with-assembly.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wrappers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wrappers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,9 +1,34 @@
1
1
  import type { GatewayClient } from "../gateway/client.js";
2
2
  import type { ToolMap } from "../types/tool-map.js";
3
+ /**
4
+ * Narrow seam onto the live op-control consumer (AAASM-3491).
5
+ *
6
+ * The wrapper only needs to *wait until an op is runnable* — a pause blocks
7
+ * here cooperatively, a terminate rejects with {@link OpTerminatedError}.
8
+ * Depending on this strip rather than the concrete `OpControlSubscriber` keeps
9
+ * the wrapper decoupled from the gRPC transport and lets tests drive it without
10
+ * a live stream; the real `OpControlSubscriber` satisfies it structurally. This
11
+ * mirrors the Python companion's `build_governance_interceptor(op_control=...)`
12
+ * seam.
13
+ */
14
+ export interface OpControl {
15
+ waitForOp(opId: string, opts?: {
16
+ timeoutMs?: number;
17
+ }): Promise<void>;
18
+ }
3
19
  export interface WithAssemblyOptions {
4
20
  gatewayClient: GatewayClient;
5
21
  agentId?: string;
6
22
  approvalTimeoutMs?: number;
23
+ /**
24
+ * Live op-control consumer. When supplied, the gateway kill switch
25
+ * (AAASM-3491) is honored *in this tool path*: before the pre-exec gateway
26
+ * check, a terminated op fast-fails the call and a paused op blocks
27
+ * cooperatively until the gateway resumes it. Optional — without it the tool
28
+ * path behaves exactly as before (gateway check + approval only), and op
29
+ * control reaches the agent solely via the native runtime's own stream.
30
+ */
31
+ opControl?: OpControl;
7
32
  }
8
33
  export declare function withAssembly<TTool, TTools extends ToolMap<TTool>>(tools: TTools, options: WithAssemblyOptions): TTools;
9
34
  //# sourceMappingURL=with-assembly.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"with-assembly.d.ts","sourceRoot":"","sources":["../../../src/wrappers/with-assembly.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA+GD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,OAAO,CAAC,KAAK,CAAC,EAC/D,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,GAC3B,MAAM,CAKR"}
1
+ {"version":3,"file":"with-assembly.d.ts","sourceRoot":"","sources":["../../../src/wrappers/with-assembly.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAsKD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,OAAO,CAAC,KAAK,CAAC,EAC/D,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,GAC3B,MAAM,CAKR"}
@@ -15,8 +15,15 @@ export declare class ClientHandle {
15
15
  * Socket resolution, the background IPC thread, and the wire codec are all
16
16
  * delegated to `aa-sdk-client`; this shim only validates the argument and
17
17
  * wraps the resulting client.
18
+ *
19
+ * `agentId` is the agent identity the background thread signs the runtime
20
+ * session handshake with (AAASM-3587). `sdkVersion` is the user-facing npm
21
+ * package version (`@agent-assembly/sdk`) the JS layer forwards so it — not the
22
+ * shared `aa-sdk-client` crate version — is what gets signed into the handshake
23
+ * proof (AAASM-3683); `undefined` falls back to the crate version (no
24
+ * regression vs AAASM-3666).
18
25
  */
19
- export declare function connect(socketPath: string): Promise<ClientHandle>
26
+ export declare function connect(socketPath: string, agentId?: string | undefined | null, sdkVersion?: string | undefined | null): Promise<ClientHandle>
20
27
 
21
28
  /**
22
29
  * Shut down the session and join the background IPC thread.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-assembly/sdk",
3
- "version": "0.0.1-beta.4",
3
+ "version": "0.0.1-rc.1",
4
4
  "description": "TypeScript SDK for Agent Assembly",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -30,12 +30,24 @@
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@langchain/core": ">=0.3.0",
33
+ "@langchain/langgraph": ">=1.0.0",
34
+ "ai": ">=5.0.0",
35
+ "@mastra/core": ">=0.20.0",
33
36
  "@openai/agents": ">=0.1.0"
34
37
  },
35
38
  "peerDependenciesMeta": {
36
39
  "@langchain/core": {
37
40
  "optional": true
38
41
  },
42
+ "@langchain/langgraph": {
43
+ "optional": true
44
+ },
45
+ "ai": {
46
+ "optional": true
47
+ },
48
+ "@mastra/core": {
49
+ "optional": true
50
+ },
39
51
  "@openai/agents": {
40
52
  "optional": true
41
53
  }
@@ -46,6 +58,7 @@
46
58
  "@types/js-yaml": "^4.0.9",
47
59
  "@types/node": "^25.9.1",
48
60
  "@vitest/coverage-v8": "^3.2.6",
61
+ "ai": "^6.0.0",
49
62
  "blocked-at": "^1.2.0",
50
63
  "eslint": "^10.4.1",
51
64
  "grpc-tools": "^1.13.1",
@@ -64,10 +77,10 @@
64
77
  "nodejs"
65
78
  ],
66
79
  "optionalDependencies": {
67
- "@agent-assembly/runtime-darwin-arm64": "0.0.1-beta.4",
68
- "@agent-assembly/runtime-darwin-x64": "0.0.1-beta.4",
69
- "@agent-assembly/runtime-linux-arm64": "0.0.1-beta.4",
70
- "@agent-assembly/runtime-linux-x64": "0.0.1-beta.4"
80
+ "@agent-assembly/runtime-darwin-arm64": "0.0.1-rc.1",
81
+ "@agent-assembly/runtime-darwin-x64": "0.0.1-rc.1",
82
+ "@agent-assembly/runtime-linux-arm64": "0.0.1-rc.1",
83
+ "@agent-assembly/runtime-linux-x64": "0.0.1-rc.1"
71
84
  },
72
85
  "files": [
73
86
  "dist/",