@agent-assembly/sdk 0.0.1-beta.4 → 0.0.1-beta.5
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.
- package/README.md +36 -23
- package/dist/cjs/core/init-assembly.js +5 -1
- package/dist/cjs/core/redact.js +63 -0
- package/dist/cjs/hooks/ai-sdk.js +43 -5
- package/dist/cjs/index.js +9 -1
- package/dist/cjs/native/client.js +25 -1
- package/dist/cjs/op-control.js +109 -21
- package/dist/cjs/wrappers/with-assembly.js +89 -32
- package/dist/esm/core/init-assembly.js +5 -1
- package/dist/esm/core/init-assembly.js.map +1 -1
- package/dist/esm/core/redact.js +59 -0
- package/dist/esm/core/redact.js.map +1 -0
- package/dist/esm/hooks/ai-sdk.js +43 -5
- package/dist/esm/hooks/ai-sdk.js.map +1 -1
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/native/client.js +24 -1
- package/dist/esm/native/client.js.map +1 -1
- package/dist/esm/op-control.js +73 -18
- package/dist/esm/op-control.js.map +1 -1
- package/dist/esm/wrappers/with-assembly.js +89 -32
- package/dist/esm/wrappers/with-assembly.js.map +1 -1
- package/dist/types/core/init-assembly.d.ts.map +1 -1
- package/dist/types/core/redact.d.ts +28 -0
- package/dist/types/core/redact.d.ts.map +1 -0
- package/dist/types/hooks/ai-sdk.d.ts +13 -0
- package/dist/types/hooks/ai-sdk.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/native/client.d.ts +11 -0
- package/dist/types/native/client.d.ts.map +1 -1
- package/dist/types/op-control.d.ts +43 -6
- package/dist/types/op-control.d.ts.map +1 -1
- package/dist/types/wrappers/index.d.ts +1 -1
- package/dist/types/wrappers/index.d.ts.map +1 -1
- package/dist/types/wrappers/with-assembly.d.ts +25 -0
- package/dist/types/wrappers/with-assembly.d.ts.map +1 -1
- package/native/aa-ffi-node/index.d.ts +8 -1
- package/package.json +18 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op-control.js","sourceRoot":"","sources":["../../src/op-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"with-assembly.js","sourceRoot":"","sources":["../../../src/wrappers/with-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAkC3E,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAE3C;;;;;;;;GAQG;AACH,SAAS,WAAW,CAAC,IAAe;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,gBAAgB,CAC7B,SAAgC,EAChC,IAAY,EACZ,IAAe;IAEf,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,MAAM,IAAI,oBAAoB,CAAC,SAAS,IAAI,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,OAAsB,EACtB,QAAgB,EAChB,KAAa,EACb,SAAiB;IAEjB,IAAI,SAAoD,CAAC;IAEzD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAmC,CAAC,OAAO,EAAE,EAAE;QAC/E,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,SAAS,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5E,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,IAA6B;IAE7B,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAChB,IAA6B;IAE7B,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,iBAAiB,CAC9B,IAAY,EACZ,IAAe,EACf,OAAsB,EACtB,SAAgC,EAChC,iBAAyB;IAEzB,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG,OAAO,UAAU,EAAE,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;QACnC,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,IAAI;QACd,IAAI;QACJ,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,oBAAoB,CAAC,SAAS,IAAI,cAAc,QAAQ,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAChG,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,oBAAoB,CAC5B,0BAA0B,IAAI,MAAM,aAAa,CAAC,MAAM,IAAI,UAAU,EAAE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,IAA6B,EAC7B,OAAsB,EACtB,OAA4B;IAE5B,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,2BAA2B,CAAC;IACnF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAEpC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;YAC1C,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;YAC3E,OAAO,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;YACzC,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;YAC3E,OAAO,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,OAA4B;IAE5B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,cAAc,CAAC,IAAI,EAAE,IAA+B,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -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;
|
|
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;
|
|
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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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;
|
|
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;
|
|
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 {
|
|
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"
|
|
87
|
+
export declare function resolveOpControlCredentials(gatewayUrl: string, opts: Pick<OpControlSubscriberOptions, "credentials" | "allowInsecure">, grpcCredentials: GrpcCredentialsFactory): ChannelCredentials;
|
|
75
88
|
export declare class OpControlSubscriber {
|
|
76
|
-
|
|
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
|
-
/**
|
|
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;
|
|
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 +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":"
|
|
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.
|
|
3
|
+
"version": "0.0.1-beta.5",
|
|
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.
|
|
68
|
-
"@agent-assembly/runtime-darwin-x64": "0.0.1-beta.
|
|
69
|
-
"@agent-assembly/runtime-linux-arm64": "0.0.1-beta.
|
|
70
|
-
"@agent-assembly/runtime-linux-x64": "0.0.1-beta.
|
|
80
|
+
"@agent-assembly/runtime-darwin-arm64": "0.0.1-beta.5",
|
|
81
|
+
"@agent-assembly/runtime-darwin-x64": "0.0.1-beta.5",
|
|
82
|
+
"@agent-assembly/runtime-linux-arm64": "0.0.1-beta.5",
|
|
83
|
+
"@agent-assembly/runtime-linux-x64": "0.0.1-beta.5"
|
|
71
84
|
},
|
|
72
85
|
"files": [
|
|
73
86
|
"dist/",
|