@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.
- 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
|
@@ -2,8 +2,64 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.withAssembly = withAssembly;
|
|
4
4
|
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
const op_terminated_error_js_1 = require("../errors/op-terminated-error.js");
|
|
5
6
|
const policy_violation_error_js_1 = require("../errors/policy-violation-error.js");
|
|
6
7
|
const DEFAULT_APPROVAL_TIMEOUT_MS = 30_000;
|
|
8
|
+
/**
|
|
9
|
+
* Resolve the op id (`"{traceId}:{spanId}"`) for a wrapped tool call.
|
|
10
|
+
*
|
|
11
|
+
* Prefers an explicit `opId` on the call's first argument; otherwise composes
|
|
12
|
+
* it from `traceId` / `spanId` when an adapter threads them through. Returns
|
|
13
|
+
* `undefined` when no trace identity is present — the call is not part of a
|
|
14
|
+
* tracked op, so there is nothing for the kill switch to address and op control
|
|
15
|
+
* is skipped. Mirrors the Python companion's `_extract_op_id`.
|
|
16
|
+
*/
|
|
17
|
+
function extractOpId(args) {
|
|
18
|
+
const first = args[0];
|
|
19
|
+
if (typeof first !== "object" || first === null) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
const fields = first;
|
|
23
|
+
const opId = fields.opId;
|
|
24
|
+
if (typeof opId === "string" && opId.length > 0) {
|
|
25
|
+
return opId;
|
|
26
|
+
}
|
|
27
|
+
const traceId = fields.traceId;
|
|
28
|
+
if (typeof traceId === "string" && traceId.length > 0) {
|
|
29
|
+
const spanId = fields.spanId;
|
|
30
|
+
const span = typeof spanId === "string" ? spanId : "";
|
|
31
|
+
return `${traceId}:${span}`;
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Consult the live op-control kill switch before the gateway is queried.
|
|
37
|
+
*
|
|
38
|
+
* A terminated op throws {@link PolicyViolationError} so the tool is blocked
|
|
39
|
+
* (and the gateway is never reached — the kill switch short-circuits). A paused
|
|
40
|
+
* op blocks here in `waitForOp` until the gateway resumes (or terminates) it.
|
|
41
|
+
* A no-op when no subscriber is wired or the call carries no `opId`.
|
|
42
|
+
*
|
|
43
|
+
* @throws {PolicyViolationError} when the op has been terminated by the gateway.
|
|
44
|
+
*/
|
|
45
|
+
async function enforceOpControl(opControl, name, args) {
|
|
46
|
+
if (!opControl) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const opId = extractOpId(args);
|
|
50
|
+
if (!opId) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
await opControl.waitForOp(opId);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
if (error instanceof op_terminated_error_js_1.OpTerminatedError) {
|
|
58
|
+
throw new policy_violation_error_js_1.PolicyViolationError(`Tool '${name}' terminated: ${error.message}`);
|
|
59
|
+
}
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
7
63
|
async function waitForApprovalWithTimeout(gateway, toolName, runId, timeoutMs) {
|
|
8
64
|
let timeoutId;
|
|
9
65
|
const timeoutPromise = new Promise((resolve) => {
|
|
@@ -27,49 +83,50 @@ function hasExecute(tool) {
|
|
|
27
83
|
function hasInvoke(tool) {
|
|
28
84
|
return typeof tool.invoke === "function";
|
|
29
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Run the full pre-execution governance chain for one wrapped tool call.
|
|
88
|
+
*
|
|
89
|
+
* Order is load-bearing: the live op-control kill switch (AAASM-3491) runs
|
|
90
|
+
* first so an operator terminate short-circuits *before* the gateway is queried
|
|
91
|
+
* and a pause blocks here until resume; only then does the pre-exec gateway
|
|
92
|
+
* check + approval flow run.
|
|
93
|
+
*
|
|
94
|
+
* @throws {PolicyViolationError} when the op is terminated, the gateway denies,
|
|
95
|
+
* or an approval is rejected / times out.
|
|
96
|
+
*/
|
|
97
|
+
async function enforceGovernance(name, args, gateway, opControl, approvalTimeoutMs) {
|
|
98
|
+
await enforceOpControl(opControl, name, args);
|
|
99
|
+
const runId = `run_${(0, node_crypto_1.randomUUID)()}`;
|
|
100
|
+
const decision = await gateway.check({
|
|
101
|
+
action: "tool_call",
|
|
102
|
+
toolName: name,
|
|
103
|
+
args,
|
|
104
|
+
runId
|
|
105
|
+
});
|
|
106
|
+
if (decision.denied) {
|
|
107
|
+
throw new policy_violation_error_js_1.PolicyViolationError(`Tool '${name}' blocked: ${decision.reason ?? "Denied"}`);
|
|
108
|
+
}
|
|
109
|
+
if (decision.pending) {
|
|
110
|
+
const finalDecision = await waitForApprovalWithTimeout(gateway, name, runId, approvalTimeoutMs);
|
|
111
|
+
if (finalDecision.denied) {
|
|
112
|
+
throw new policy_violation_error_js_1.PolicyViolationError(`Approval rejected for '${name}': ${finalDecision.reason ?? "Rejected"}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
30
116
|
function wrapSingleTool(name, tool, gateway, options) {
|
|
31
117
|
const approvalTimeoutMs = options.approvalTimeoutMs ?? DEFAULT_APPROVAL_TIMEOUT_MS;
|
|
118
|
+
const opControl = options.opControl;
|
|
32
119
|
if (hasExecute(tool)) {
|
|
33
120
|
const originalExecute = tool.execute;
|
|
34
121
|
tool.execute = async (...args) => {
|
|
35
|
-
|
|
36
|
-
const decision = await gateway.check({
|
|
37
|
-
action: "tool_call",
|
|
38
|
-
toolName: name,
|
|
39
|
-
args,
|
|
40
|
-
runId
|
|
41
|
-
});
|
|
42
|
-
if (decision.denied) {
|
|
43
|
-
throw new policy_violation_error_js_1.PolicyViolationError(`Tool '${name}' blocked: ${decision.reason ?? "Denied"}`);
|
|
44
|
-
}
|
|
45
|
-
if (decision.pending) {
|
|
46
|
-
const finalDecision = await waitForApprovalWithTimeout(gateway, name, runId, approvalTimeoutMs);
|
|
47
|
-
if (finalDecision.denied) {
|
|
48
|
-
throw new policy_violation_error_js_1.PolicyViolationError(`Approval rejected for '${name}': ${finalDecision.reason ?? "Rejected"}`);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
122
|
+
await enforceGovernance(name, args, gateway, opControl, approvalTimeoutMs);
|
|
51
123
|
return originalExecute(...args);
|
|
52
124
|
};
|
|
53
125
|
}
|
|
54
126
|
else if (hasInvoke(tool)) {
|
|
55
127
|
const originalInvoke = tool.invoke;
|
|
56
128
|
tool.invoke = async (...args) => {
|
|
57
|
-
|
|
58
|
-
const decision = await gateway.check({
|
|
59
|
-
action: "tool_call",
|
|
60
|
-
toolName: name,
|
|
61
|
-
args,
|
|
62
|
-
runId
|
|
63
|
-
});
|
|
64
|
-
if (decision.denied) {
|
|
65
|
-
throw new policy_violation_error_js_1.PolicyViolationError(`Tool '${name}' blocked: ${decision.reason ?? "Denied"}`);
|
|
66
|
-
}
|
|
67
|
-
if (decision.pending) {
|
|
68
|
-
const finalDecision = await waitForApprovalWithTimeout(gateway, name, runId, approvalTimeoutMs);
|
|
69
|
-
if (finalDecision.denied) {
|
|
70
|
-
throw new policy_violation_error_js_1.PolicyViolationError(`Approval rejected for '${name}': ${finalDecision.reason ?? "Rejected"}`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
129
|
+
await enforceGovernance(name, args, gateway, opControl, approvalTimeoutMs);
|
|
73
130
|
return originalInvoke(...args);
|
|
74
131
|
};
|
|
75
132
|
}
|
|
@@ -13,6 +13,7 @@ import { hasOpenAIAgentsSDK } from "../hooks/openai-agents-detection.js";
|
|
|
13
13
|
import { patchOpenAIAgents } from "../hooks/openai-agents.js";
|
|
14
14
|
import { currentAgentId } from "../lineage/index.js";
|
|
15
15
|
import { resolveApiKey, resolveGatewayUrl } from "./gateway-resolver.js";
|
|
16
|
+
import { redactErrorMessage } from "./redact.js";
|
|
16
17
|
const requireFromCwd = createRequire(`${process.cwd()}/`);
|
|
17
18
|
/** Env-var fallback for ``gatewayUrl`` read at ``initAssembly`` entry. */
|
|
18
19
|
export const ENV_GATEWAY_URL = "AA_GATEWAY_URL";
|
|
@@ -317,7 +318,10 @@ export async function initAssembly(config = {}) {
|
|
|
317
318
|
await nativeClient.register(buildRegisterOptions(resolvedConfig, frameworks));
|
|
318
319
|
}
|
|
319
320
|
catch (error) {
|
|
320
|
-
|
|
321
|
+
// Redact any Bearer/auth credential the error message might carry before
|
|
322
|
+
// it reaches the console — the apiKey/credentialToken must never be logged
|
|
323
|
+
// (AAASM-3645).
|
|
324
|
+
console.warn(`[agent-assembly] agent registration failed; proceeding unregistered: ${redactErrorMessage(error)}`);
|
|
321
325
|
}
|
|
322
326
|
// Topology lineage metadata still flows as an audit event (parent / team /
|
|
323
327
|
// delegation), which `register` does not carry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-assembly.js","sourceRoot":"","sources":["../../../src/core/init-assembly.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init-assembly.js","sourceRoot":"","sources":["../../../src/core/init-assembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
/**
|
|
14
|
+
* Object keys (lower-cased) whose values are credentials and must never be
|
|
15
|
+
* logged. Matching is case-insensitive, so list the lower-case form only —
|
|
16
|
+
* `apiKey`, `apikey`, `API_KEY` all match `"apikey"`.
|
|
17
|
+
*/
|
|
18
|
+
const SECRET_KEYS = new Set([
|
|
19
|
+
"apikey",
|
|
20
|
+
"api_key",
|
|
21
|
+
"credentialtoken",
|
|
22
|
+
"credential_token",
|
|
23
|
+
"authorization",
|
|
24
|
+
"token"
|
|
25
|
+
]);
|
|
26
|
+
/** Placeholder substituted for any redacted credential value. */
|
|
27
|
+
export const REDACTED = "<redacted>";
|
|
28
|
+
/**
|
|
29
|
+
* Return a deep copy of `value` with every credential-bearing field replaced by
|
|
30
|
+
* {@link REDACTED}, safe to pass to `console.*` / `JSON.stringify`. Matching is
|
|
31
|
+
* case-insensitive on the key name. Non-object inputs are returned unchanged.
|
|
32
|
+
*/
|
|
33
|
+
export function redactSecrets(value) {
|
|
34
|
+
if (Array.isArray(value)) {
|
|
35
|
+
return value.map((item) => redactSecrets(item));
|
|
36
|
+
}
|
|
37
|
+
if (value !== null && typeof value === "object") {
|
|
38
|
+
const out = {};
|
|
39
|
+
for (const [key, val] of Object.entries(value)) {
|
|
40
|
+
out[key] = SECRET_KEYS.has(key.toLowerCase()) ? REDACTED : redactSecrets(val);
|
|
41
|
+
}
|
|
42
|
+
return out;
|
|
43
|
+
}
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Render an unknown error for a log message with any `Bearer <token>` / API-key
|
|
48
|
+
* substring scrubbed. Defends the registration-failure warning path: a wrapped
|
|
49
|
+
* transport error could in principle carry an auth header in its message, so we
|
|
50
|
+
* strip the bearer credential before it reaches `console.*` (AAASM-3645).
|
|
51
|
+
*/
|
|
52
|
+
export function redactErrorMessage(error) {
|
|
53
|
+
const raw = String(error);
|
|
54
|
+
// Replace the credential that follows a `Bearer ` / `Authorization:` marker.
|
|
55
|
+
return raw
|
|
56
|
+
.replace(/(Bearer\s+)[\w.\-+/=]+/gi, `$1${REDACTED}`)
|
|
57
|
+
.replace(/(Authorization\s*[:=]\s*)\S+/gi, `$1${REDACTED}`);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=redact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../../../src/core/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IAC/C,QAAQ;IACR,SAAS;IACT,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,OAAO;CACR,CAAC,CAAC;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,6EAA6E;IAC7E,OAAO,GAAG;SACP,OAAO,CAAC,0BAA0B,EAAE,KAAK,QAAQ,EAAE,CAAC;SACpD,OAAO,CAAC,gCAAgC,EAAE,KAAK,QAAQ,EAAE,CAAC,CAAC;AAChE,CAAC"}
|
package/dist/esm/hooks/ai-sdk.js
CHANGED
|
@@ -3,7 +3,8 @@ import { runWithAgentId } from "../lineage/agent-context-store.js";
|
|
|
3
3
|
export const vercelAiSdkPatchState = {
|
|
4
4
|
isPatched: false,
|
|
5
5
|
originalToolFactory: undefined,
|
|
6
|
-
patchedModule: undefined
|
|
6
|
+
patchedModule: undefined,
|
|
7
|
+
mutatedOriginal: false
|
|
7
8
|
};
|
|
8
9
|
export function captureOriginalToolFactory(module) {
|
|
9
10
|
const candidate = module.tool;
|
|
@@ -70,6 +71,35 @@ export function createPatchedToolFactory(originalToolFactory, gatewayClient, opt
|
|
|
70
71
|
};
|
|
71
72
|
};
|
|
72
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Install `governed` as the module's `tool` factory without ever assigning to a
|
|
76
|
+
* frozen ESM namespace.
|
|
77
|
+
*
|
|
78
|
+
* A real `ai` package loaded via `import()` is an ES module: its namespace is an
|
|
79
|
+
* exotic object whose named exports are non-writable, so `module.tool = …` throws
|
|
80
|
+
* `Cannot assign to read only property 'tool'` (AAASM-3532). We therefore attempt
|
|
81
|
+
* the in-place assignment only as a fast path for writable plain objects (the
|
|
82
|
+
* shape used by the unit suite's `loadModule` fakes) and fall back to a mutable
|
|
83
|
+
* **shim copy** for the frozen-namespace case — the same `{ tool: aiModule.tool }`
|
|
84
|
+
* shim the AAASM-3525 integration driver proved works. The returned module is what
|
|
85
|
+
* downstream consumers read the governed factory from (`patchedModule.tool`).
|
|
86
|
+
*/
|
|
87
|
+
function applyGovernedToolFactory(module, governed) {
|
|
88
|
+
if (Object.isExtensible(module)) {
|
|
89
|
+
try {
|
|
90
|
+
module.tool = governed;
|
|
91
|
+
return { patchedModule: module, mutatedOriginal: true };
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// Some non-extensible-but-reported-extensible exotic objects still reject
|
|
95
|
+
// the write; fall through to the shim copy below.
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
patchedModule: { ...module, tool: governed },
|
|
100
|
+
mutatedOriginal: false
|
|
101
|
+
};
|
|
102
|
+
}
|
|
73
103
|
async function loadVercelAiSdkModule() {
|
|
74
104
|
try {
|
|
75
105
|
const moduleName = "ai";
|
|
@@ -93,13 +123,15 @@ export async function patchVercelAiSdk(options) {
|
|
|
93
123
|
if (!originalToolFactory) {
|
|
94
124
|
return false;
|
|
95
125
|
}
|
|
96
|
-
|
|
126
|
+
const governed = createPatchedToolFactory(originalToolFactory, options.gatewayClient, {
|
|
97
127
|
approvalTimeoutMs: options.approvalTimeoutMs ?? 30_000,
|
|
98
128
|
fallbackRunId: options.fallbackRunId ?? "vercel-ai-sdk",
|
|
99
129
|
...(options.agentId === undefined ? {} : { agentId: options.agentId })
|
|
100
130
|
});
|
|
131
|
+
const { patchedModule, mutatedOriginal } = applyGovernedToolFactory(module, governed);
|
|
101
132
|
vercelAiSdkPatchState.isPatched = true;
|
|
102
|
-
vercelAiSdkPatchState.patchedModule =
|
|
133
|
+
vercelAiSdkPatchState.patchedModule = patchedModule;
|
|
134
|
+
vercelAiSdkPatchState.mutatedOriginal = mutatedOriginal;
|
|
103
135
|
return true;
|
|
104
136
|
}
|
|
105
137
|
export function unpatchVercelAiSdk() {
|
|
@@ -112,10 +144,16 @@ export function unpatchVercelAiSdk() {
|
|
|
112
144
|
if (!vercelAiSdkPatchState.originalToolFactory) {
|
|
113
145
|
return false;
|
|
114
146
|
}
|
|
115
|
-
|
|
116
|
-
|
|
147
|
+
// Only restore when we mutated a writable module in place. For the frozen-ESM
|
|
148
|
+
// shim path the original `ai` namespace was never touched, so there is nothing
|
|
149
|
+
// to write back — and attempting it would re-throw the AAASM-3532 crash.
|
|
150
|
+
if (vercelAiSdkPatchState.mutatedOriginal) {
|
|
151
|
+
vercelAiSdkPatchState.patchedModule.tool =
|
|
152
|
+
vercelAiSdkPatchState.originalToolFactory;
|
|
153
|
+
}
|
|
117
154
|
vercelAiSdkPatchState.isPatched = false;
|
|
118
155
|
vercelAiSdkPatchState.patchedModule = undefined;
|
|
156
|
+
vercelAiSdkPatchState.mutatedOriginal = false;
|
|
119
157
|
return true;
|
|
120
158
|
}
|
|
121
159
|
//# sourceMappingURL=ai-sdk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-sdk.js","sourceRoot":"","sources":["../../../src/hooks/ai-sdk.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-sdk.js","sourceRoot":"","sources":["../../../src/hooks/ai-sdk.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAyBnE,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,SAAS,EAAE,KAAK;IAChB,mBAAmB,EAAE,SAAS;IAC9B,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,MAAM,UAAU,0BAA0B,CACxC,MAAyB;IAEzB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;IAC9B,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qBAAqB,CAAC,mBAAmB,KAAK,SAAS,CAAC;IAExD,OAAO,qBAAqB,CAAC,mBAAmB,CAAC;AACnD,CAAC;AASD,MAAM,UAAU,2BAA2B,CACzC,aAA4B,EAC5B,KAAa,EACb,MAAe;IAEf,KAAK,aAAa,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,eAAyF,EACzF,WAAmB,EACnB,aAA4B,EAC5B,OAAoC;IAEpC,OAAO,KAAK,UAAU,cAAc,CAClC,IAAW,EACX,gBAA8C;QAE9C,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;QAEnE,MAAM,eAAe,GAAG,KAAK,IAAsB,EAAE;YACnD,MAAM,GAAG,GAAG,KAAK,IAAsB,EAAE;gBACvC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBAC7D,2BAA2B,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC1D,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;YACF,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACxE,CAAC,CAAC;QAEF,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC;gBACnC,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,WAAW;gBACrB,IAAI;gBACJ,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,eAAe,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,oBAAoB,CAC5B,sCAAsC,QAAQ,CAAC,MAAM,IAAI,QAAQ,EAAE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,aAAa,CAAC,eAAe,CAC5C,WAAW,EACX,KAAK,EACL,OAAO,CAAC,iBAAiB,CAC1B,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,eAAe,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,oBAAoB,CAC5B,sBAAsB,QAAQ,CAAC,MAAM,IAAI,UAAU,EAAE,CACtD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,eAAe,EAAE,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,wBAAwB,CACtC,mBAAwC,EACxC,aAA4B,EAC5B,OAAwC;IAExC,OAAO,SAAS,WAAW,CACzB,UAAkD;QAElD,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,cAAc,CAAC;QAE7D,OAAO;YACL,GAAG,UAAU;YACb,OAAO,EAAE,oBAAoB,CAC3B,UAAU,CAAC,OAAO,EAClB,WAAW,EACX,aAAa,EACb,OAAO,CACR;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAUD;;;;;;;;;;;;GAYG;AACH,SAAS,wBAAwB,CAC/B,MAAyB,EACzB,QAA6B;IAE7B,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;YAC1E,kDAAkD;QACpD,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5C,eAAe,EAAE,KAAK;KACvB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAsB,CAAC;QAC/D,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgC;IAEhC,IAAI,qBAAqB,CAAC,SAAS,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,qBAAqB,CAAC;IAC/D,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,wBAAwB,CACvC,mBAAmB,EACnB,OAAO,CAAC,aAAa,EACrB;QACE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,MAAM;QACtD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,eAAe;QACvD,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACvE,CACF,CAAC;IAEF,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,wBAAwB,CACjE,MAAM,EACN,QAAQ,CACT,CAAC;IAEF,qBAAqB,CAAC,SAAS,GAAG,IAAI,CAAC;IACvC,qBAAqB,CAAC,aAAa,GAAG,aAAa,CAAC;IACpD,qBAAqB,CAAC,eAAe,GAAG,eAAe,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,yEAAyE;IACzE,IAAI,qBAAqB,CAAC,eAAe,EAAE,CAAC;QAC1C,qBAAqB,CAAC,aAAa,CAAC,IAAI;YACtC,qBAAqB,CAAC,mBAAmB,CAAC;IAC9C,CAAC;IACD,qBAAqB,CAAC,SAAS,GAAG,KAAK,CAAC;IACxC,qBAAqB,CAAC,aAAa,GAAG,SAAS,CAAC;IAChD,qBAAqB,CAAC,eAAe,GAAG,KAAK,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export { initAssembly } from "./core/init-assembly.js";
|
|
2
2
|
export { withAssembly } from "./wrappers/index.js";
|
|
3
|
+
// Live op-control consumer (AAASM-3491). Subscribes to the gateway's
|
|
4
|
+
// OpControlStream and exposes per-op cooperative-pause / fast-fail-terminate;
|
|
5
|
+
// pass the subscriber as `withAssembly(..., { opControl })` so an operator
|
|
6
|
+
// terminate/pause reaches a running tool through the SDK tool path.
|
|
7
|
+
export { OpControlSubscriber } from "./op-control.js";
|
|
8
|
+
export { OpTerminatedError } from "./errors/op-terminated-error.js";
|
|
3
9
|
export { ENFORCEMENT_MODES } from "./types/index.js";
|
|
4
10
|
export { decodeAuditEvent, decodeCallStackNode, encodeAuditEvent, encodeCallStackNode } from "./audit/index.js";
|
|
5
11
|
export { currentAgentId, runWithAgentId } from "./lineage/index.js";
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,qEAAqE;AACrE,8EAA8E;AAC9E,2EAA2E;AAC3E,oEAAoE;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAKtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAWpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,uEAAuE;AACvE,wEAAwE;AACxE,mEAAmE;AACnE,uEAAuE;AACvE,sDAAsD;AACtD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAU5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,wEAAwE;AACxE,qEAAqE;AACrE,sEAAsE;AACtE,6BAA6B;AAC7B,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the installed `@agent-assembly/sdk` package version, or `undefined`.
|
|
5
|
+
*
|
|
6
|
+
* Forwarded into the native `connect` so the user-facing npm package version —
|
|
7
|
+
* not the shared `aa-sdk-client` crate version — is what gets signed into the
|
|
8
|
+
* runtime handshake, giving accurate downgrade detection (AAASM-3683).
|
|
9
|
+
* `undefined` lets the native shim fall back to the crate version (no
|
|
10
|
+
* regression vs AAASM-3666). Uses `createRequire(<cwd>/package.json)`, the same
|
|
11
|
+
* ESM/CJS-safe pattern as the native-binding and runtime-binary resolvers.
|
|
12
|
+
*/
|
|
13
|
+
export function resolveSdkVersion() {
|
|
14
|
+
try {
|
|
15
|
+
const requireFromHere = createRequire(path.resolve(process.cwd(), "package.json"));
|
|
16
|
+
const pkg = requireFromHere("@agent-assembly/sdk/package.json");
|
|
17
|
+
return typeof pkg.version === "string" && pkg.version.length > 0 ? pkg.version : undefined;
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
3
23
|
const NATIVE_BINDING_SINGLETON_KEY = Symbol.for("@agent-assembly/sdk/native-binding");
|
|
4
24
|
const ERROR_CONNECT = "AA_ERR_CONNECT";
|
|
5
25
|
const ERROR_SEND_EVENT = "AA_ERR_SEND_EVENT";
|
|
@@ -110,9 +130,12 @@ export function createNativeClient(options) {
|
|
|
110
130
|
let handlePromise;
|
|
111
131
|
let activeHandle;
|
|
112
132
|
let pendingSendError;
|
|
133
|
+
const sdkVersion = resolveSdkVersion();
|
|
113
134
|
const getHandle = async () => {
|
|
114
135
|
handlePromise ??= binding
|
|
115
|
-
|
|
136
|
+
// Forward the npm package version so it is signed into the handshake
|
|
137
|
+
// (AAASM-3683); agent id is wired at register time, not connect.
|
|
138
|
+
.connect(socketPath, undefined, sdkVersion)
|
|
116
139
|
.then((handle) => {
|
|
117
140
|
activeHandle = handle;
|
|
118
141
|
return handle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/native/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/native/client.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/op-control.js
CHANGED
|
@@ -19,9 +19,20 @@
|
|
|
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 { credentials as grpcCredentials, } from "@grpc/grpc-js";
|
|
23
22
|
import { OpTerminatedError } from "./errors/op-terminated-error.js";
|
|
24
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Numeric `OpControlSignal` values, inlined to keep this module grpc-free at load.
|
|
25
|
+
*
|
|
26
|
+
* `OpControlSignal` lives in `./proto/generated/policy.js`, which imports
|
|
27
|
+
* `@grpc/grpc-js` at module scope; importing the enum as a *value* would defeat
|
|
28
|
+
* the lazy-load. These are the stable protobuf wire numbers (UNSPECIFIED=0,
|
|
29
|
+
* PAUSE=1, RESUME=2, TERMINATE=3) — `msg.signal` is compared against them
|
|
30
|
+
* numerically in {@link OpControlSubscriber.dispatch}. The `OpControlSignal`
|
|
31
|
+
* type is still imported (type-only) for signatures.
|
|
32
|
+
*/
|
|
33
|
+
const SIGNAL_PAUSE = 1;
|
|
34
|
+
const SIGNAL_RESUME = 2;
|
|
35
|
+
const SIGNAL_TERMINATE = 3;
|
|
25
36
|
/**
|
|
26
37
|
* Hosts treated as loopback for the secure-by-default transport decision.
|
|
27
38
|
* A loopback gateway is the local dev-mode CP, where plaintext gRPC is the
|
|
@@ -63,9 +74,13 @@ function isLoopbackTarget(gatewayUrl) {
|
|
|
63
74
|
* target gets plaintext (local dev gateway), a remote target gets TLS, and a
|
|
64
75
|
* remote target is only allowed plaintext when the caller sets `allowInsecure`.
|
|
65
76
|
*
|
|
77
|
+
* `grpcCredentials` is injected (rather than imported at module scope) so this
|
|
78
|
+
* module does not eagerly load `@grpc/grpc-js` — see the module header. The
|
|
79
|
+
* real-connect path passes the lazily-imported `credentials` namespace.
|
|
80
|
+
*
|
|
66
81
|
* @throws never — returns the chosen {@link ChannelCredentials}.
|
|
67
82
|
*/
|
|
68
|
-
export function resolveOpControlCredentials(gatewayUrl, opts) {
|
|
83
|
+
export function resolveOpControlCredentials(gatewayUrl, opts, grpcCredentials) {
|
|
69
84
|
if (opts.credentials)
|
|
70
85
|
return opts.credentials;
|
|
71
86
|
if (isLoopbackTarget(gatewayUrl))
|
|
@@ -75,33 +90,70 @@ export function resolveOpControlCredentials(gatewayUrl, opts) {
|
|
|
75
90
|
return grpcCredentials.createSsl();
|
|
76
91
|
}
|
|
77
92
|
export class OpControlSubscriber {
|
|
78
|
-
|
|
93
|
+
/**
|
|
94
|
+
* `null` until the channel is opened. On the test-seam (`clientFactory`) path
|
|
95
|
+
* it is set synchronously in {@link connect}; on the real-connect path it is
|
|
96
|
+
* set asynchronously once `@grpc/grpc-js` + `PolicyServiceClient` have been
|
|
97
|
+
* lazily imported (see {@link openRealChannel}).
|
|
98
|
+
*/
|
|
99
|
+
client = null;
|
|
79
100
|
agent;
|
|
80
101
|
ops = new Map();
|
|
81
102
|
call = null;
|
|
82
103
|
alive = true;
|
|
83
|
-
|
|
84
|
-
|
|
104
|
+
/** Set once {@link close} is called before the async channel finishes opening. */
|
|
105
|
+
closed = false;
|
|
106
|
+
constructor(agent) {
|
|
85
107
|
this.agent = agent;
|
|
86
108
|
}
|
|
87
|
-
/**
|
|
109
|
+
/**
|
|
110
|
+
* Open the gRPC channel + subscription stream and start the reader.
|
|
111
|
+
*
|
|
112
|
+
* Returns synchronously. On the real-connect path the channel is opened
|
|
113
|
+
* asynchronously — `@grpc/grpc-js` and `PolicyServiceClient` are loaded lazily
|
|
114
|
+
* (`await import`) so that importing this module never eagerly pulls grpc (see
|
|
115
|
+
* the module header). The test seam (`clientFactory`) opens synchronously and
|
|
116
|
+
* never touches grpc.
|
|
117
|
+
*/
|
|
88
118
|
static connect(gatewayUrl, opts) {
|
|
89
119
|
const agent = {
|
|
90
120
|
orgId: opts.orgId,
|
|
91
121
|
teamId: opts.teamId,
|
|
92
|
-
agentId: opts.agentId
|
|
122
|
+
agentId: opts.agentId
|
|
93
123
|
};
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
124
|
+
const subscriber = new OpControlSubscriber(agent);
|
|
125
|
+
if (opts.clientFactory) {
|
|
126
|
+
subscriber.client = opts.clientFactory();
|
|
127
|
+
subscriber.start();
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// Real channel: defer grpc loading to the dynamic-import path. Errors
|
|
131
|
+
// surface as a dead stream so callers see `streamAlive() === false`.
|
|
132
|
+
void subscriber.openRealChannel(gatewayUrl, opts).catch(() => {
|
|
133
|
+
subscriber.markStreamDead();
|
|
134
|
+
});
|
|
135
|
+
}
|
|
99
136
|
return subscriber;
|
|
100
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Lazily import grpc + the policy client, build the real client, and start the
|
|
140
|
+
* reader. Kept off the module's import graph so `import '@agent-assembly/sdk'`
|
|
141
|
+
* stays grpc-free until a subscriber actually opens a live channel.
|
|
142
|
+
*/
|
|
143
|
+
async openRealChannel(gatewayUrl, opts) {
|
|
144
|
+
const { credentials } = await import("@grpc/grpc-js");
|
|
145
|
+
const { PolicyServiceClient } = await import("./proto/generated/policy.js");
|
|
146
|
+
if (this.closed)
|
|
147
|
+
return; // close() raced ahead of the async open.
|
|
148
|
+
this.client = new PolicyServiceClient(gatewayUrl, resolveOpControlCredentials(gatewayUrl, opts, credentials));
|
|
149
|
+
this.start();
|
|
150
|
+
}
|
|
101
151
|
/** Open the stream and wire reader handlers. Public so tests can call
|
|
102
152
|
* directly after constructing with a hand-rolled client.
|
|
103
153
|
*/
|
|
104
154
|
start() {
|
|
155
|
+
if (!this.client)
|
|
156
|
+
return;
|
|
105
157
|
this.call = this.client.opControlStream({ agentId: this.agent });
|
|
106
158
|
this.call.on("data", (msg) => this.dispatch(msg));
|
|
107
159
|
this.call.on("error", () => this.markStreamDead());
|
|
@@ -110,14 +162,14 @@ export class OpControlSubscriber {
|
|
|
110
162
|
dispatch(msg) {
|
|
111
163
|
const state = this.slot(msg.opId);
|
|
112
164
|
switch (msg.signal) {
|
|
113
|
-
case
|
|
165
|
+
case SIGNAL_PAUSE:
|
|
114
166
|
state.paused = true;
|
|
115
167
|
break;
|
|
116
|
-
case
|
|
168
|
+
case SIGNAL_RESUME:
|
|
117
169
|
state.paused = false;
|
|
118
170
|
this.flushResolvers(state);
|
|
119
171
|
break;
|
|
120
|
-
case
|
|
172
|
+
case SIGNAL_TERMINATE:
|
|
121
173
|
state.terminated = true;
|
|
122
174
|
this.flushResolvers(state);
|
|
123
175
|
break;
|
|
@@ -189,10 +241,13 @@ export class OpControlSubscriber {
|
|
|
189
241
|
streamAlive() {
|
|
190
242
|
return this.alive;
|
|
191
243
|
}
|
|
192
|
-
/** Cancel the stream and clean up.
|
|
244
|
+
/** Cancel the stream and clean up. Safe to call before the async real-channel
|
|
245
|
+
* open has completed — it flags `closed` so the pending open bails out.
|
|
246
|
+
*/
|
|
193
247
|
close() {
|
|
248
|
+
this.closed = true;
|
|
194
249
|
this.call?.cancel();
|
|
195
|
-
this.client
|
|
250
|
+
this.client?.close?.();
|
|
196
251
|
this.markStreamDead();
|
|
197
252
|
}
|
|
198
253
|
}
|