@agent-assembly/sdk 0.0.1-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +176 -0
- package/README.md +182 -0
- package/dist/cjs/adapters/adapter-registry.js +2 -0
- package/dist/cjs/adapters/adapter.js +2 -0
- package/dist/cjs/adapters/index.js +2 -0
- package/dist/cjs/adapters/langchain/assembly-callback-handler.js +93 -0
- package/dist/cjs/adapters/langchain/index.js +8 -0
- package/dist/cjs/adapters/langchain/wrap-tool-with-assembly.js +55 -0
- package/dist/cjs/audit/encode.js +176 -0
- package/dist/cjs/audit/index.js +8 -0
- package/dist/cjs/core/gateway-resolver.js +254 -0
- package/dist/cjs/core/index.js +9 -0
- package/dist/cjs/core/init-assembly.js +224 -0
- package/dist/cjs/errors/configuration-error.js +17 -0
- package/dist/cjs/errors/gateway-error.js +17 -0
- package/dist/cjs/errors/index.js +11 -0
- package/dist/cjs/errors/op-terminated-error.js +20 -0
- package/dist/cjs/errors/policy-violation-error.js +10 -0
- package/dist/cjs/gateway/client.js +15 -0
- package/dist/cjs/gateway/index.js +5 -0
- package/dist/cjs/hooks/adapter-registry.js +7 -0
- package/dist/cjs/hooks/ai-sdk-detection.js +14 -0
- package/dist/cjs/hooks/ai-sdk.js +164 -0
- package/dist/cjs/hooks/langchain.js +9 -0
- package/dist/cjs/hooks/langgraph-detection.js +14 -0
- package/dist/cjs/hooks/langgraph.js +107 -0
- package/dist/cjs/hooks/mastra-detection.js +14 -0
- package/dist/cjs/hooks/mastra.js +120 -0
- package/dist/cjs/hooks/openai-agents-detection.js +14 -0
- package/dist/cjs/hooks/openai-agents.js +189 -0
- package/dist/cjs/index.js +25 -0
- package/dist/cjs/lineage/agent-context-store.js +20 -0
- package/dist/cjs/lineage/index.js +7 -0
- package/dist/cjs/native/client.js +160 -0
- package/dist/cjs/op-control.js +150 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/proto/generated/common.js +365 -0
- package/dist/cjs/proto/generated/policy.js +1418 -0
- package/dist/cjs/runtime.js +144 -0
- package/dist/cjs/types/assembly-config.js +2 -0
- package/dist/cjs/types/assembly-context.js +2 -0
- package/dist/cjs/types/assembly-mode.js +2 -0
- package/dist/cjs/types/audit.js +5 -0
- package/dist/cjs/types/enforcement-mode.js +9 -0
- package/dist/cjs/types/gateway-governance.js +2 -0
- package/dist/cjs/types/index.js +5 -0
- package/dist/cjs/types/langchain-adapter.js +2 -0
- package/dist/cjs/types/openai-agents-adapter.js +2 -0
- package/dist/cjs/types/policy.js +2 -0
- package/dist/cjs/types/tool-map.js +2 -0
- package/dist/cjs/types/vercel-ai-adapter.js +2 -0
- package/dist/cjs/wrappers/index.js +5 -0
- package/dist/cjs/wrappers/with-assembly.js +82 -0
- package/dist/esm/adapters/adapter-registry.js +2 -0
- package/dist/esm/adapters/adapter-registry.js.map +1 -0
- package/dist/esm/adapters/adapter.js +2 -0
- package/dist/esm/adapters/adapter.js.map +1 -0
- package/dist/esm/adapters/index.js +2 -0
- package/dist/esm/adapters/index.js.map +1 -0
- package/dist/esm/adapters/langchain/assembly-callback-handler.js +90 -0
- package/dist/esm/adapters/langchain/assembly-callback-handler.js.map +1 -0
- package/dist/esm/adapters/langchain/index.js +3 -0
- package/dist/esm/adapters/langchain/index.js.map +1 -0
- package/dist/esm/adapters/langchain/wrap-tool-with-assembly.js +52 -0
- package/dist/esm/adapters/langchain/wrap-tool-with-assembly.js.map +1 -0
- package/dist/esm/audit/encode.js +171 -0
- package/dist/esm/audit/encode.js.map +1 -0
- package/dist/esm/audit/index.js +2 -0
- package/dist/esm/audit/index.js.map +1 -0
- package/dist/esm/core/gateway-resolver.js +213 -0
- package/dist/esm/core/gateway-resolver.js.map +1 -0
- package/dist/esm/core/index.js +2 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/init-assembly.js +218 -0
- package/dist/esm/core/init-assembly.js.map +1 -0
- package/dist/esm/errors/configuration-error.js +14 -0
- package/dist/esm/errors/configuration-error.js.map +1 -0
- package/dist/esm/errors/gateway-error.js +14 -0
- package/dist/esm/errors/gateway-error.js.map +1 -0
- package/dist/esm/errors/index.js +5 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/errors/op-terminated-error.js +17 -0
- package/dist/esm/errors/op-terminated-error.js.map +1 -0
- package/dist/esm/errors/policy-violation-error.js +7 -0
- package/dist/esm/errors/policy-violation-error.js.map +1 -0
- package/dist/esm/gateway/client.js +13 -0
- package/dist/esm/gateway/client.js.map +1 -0
- package/dist/esm/gateway/index.js +2 -0
- package/dist/esm/gateway/index.js.map +1 -0
- package/dist/esm/hooks/adapter-registry.js +5 -0
- package/dist/esm/hooks/adapter-registry.js.map +1 -0
- package/dist/esm/hooks/ai-sdk-detection.js +12 -0
- package/dist/esm/hooks/ai-sdk-detection.js.map +1 -0
- package/dist/esm/hooks/ai-sdk.js +123 -0
- package/dist/esm/hooks/ai-sdk.js.map +1 -0
- package/dist/esm/hooks/langchain.js +7 -0
- package/dist/esm/hooks/langchain.js.map +1 -0
- package/dist/esm/hooks/langgraph-detection.js +12 -0
- package/dist/esm/hooks/langgraph-detection.js.map +1 -0
- package/dist/esm/hooks/langgraph.js +69 -0
- package/dist/esm/hooks/langgraph.js.map +1 -0
- package/dist/esm/hooks/mastra-detection.js +12 -0
- package/dist/esm/hooks/mastra-detection.js.map +1 -0
- package/dist/esm/hooks/mastra.js +83 -0
- package/dist/esm/hooks/mastra.js.map +1 -0
- package/dist/esm/hooks/openai-agents-detection.js +12 -0
- package/dist/esm/hooks/openai-agents-detection.js.map +1 -0
- package/dist/esm/hooks/openai-agents.js +145 -0
- package/dist/esm/hooks/openai-agents.js.map +1 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lineage/agent-context-store.js +16 -0
- package/dist/esm/lineage/agent-context-store.js.map +1 -0
- package/dist/esm/lineage/index.js +2 -0
- package/dist/esm/lineage/index.js.map +1 -0
- package/dist/esm/native/client.js +150 -0
- package/dist/esm/native/client.js.map +1 -0
- package/dist/esm/op-control.js +147 -0
- package/dist/esm/op-control.js.map +1 -0
- package/dist/esm/proto/generated/common.js +357 -0
- package/dist/esm/proto/generated/common.js.map +1 -0
- package/dist/esm/proto/generated/policy.js +1414 -0
- package/dist/esm/proto/generated/policy.js.map +1 -0
- package/dist/esm/runtime.js +138 -0
- package/dist/esm/runtime.js.map +1 -0
- package/dist/esm/types/assembly-config.js +2 -0
- package/dist/esm/types/assembly-config.js.map +1 -0
- package/dist/esm/types/assembly-context.js +2 -0
- package/dist/esm/types/assembly-context.js.map +1 -0
- package/dist/esm/types/assembly-mode.js +2 -0
- package/dist/esm/types/assembly-mode.js.map +1 -0
- package/dist/esm/types/audit.js +5 -0
- package/dist/esm/types/audit.js.map +1 -0
- package/dist/esm/types/enforcement-mode.js +7 -0
- package/dist/esm/types/enforcement-mode.js.map +1 -0
- package/dist/esm/types/gateway-governance.js +2 -0
- package/dist/esm/types/gateway-governance.js.map +1 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/langchain-adapter.js +2 -0
- package/dist/esm/types/langchain-adapter.js.map +1 -0
- package/dist/esm/types/openai-agents-adapter.js +2 -0
- package/dist/esm/types/openai-agents-adapter.js.map +1 -0
- package/dist/esm/types/policy.js +2 -0
- package/dist/esm/types/policy.js.map +1 -0
- package/dist/esm/types/tool-map.js +2 -0
- package/dist/esm/types/tool-map.js.map +1 -0
- package/dist/esm/types/vercel-ai-adapter.js +2 -0
- package/dist/esm/types/vercel-ai-adapter.js.map +1 -0
- package/dist/esm/wrappers/index.js +2 -0
- package/dist/esm/wrappers/index.js.map +1 -0
- package/dist/esm/wrappers/with-assembly.js +80 -0
- package/dist/esm/wrappers/with-assembly.js.map +1 -0
- package/dist/types/adapters/adapter-registry.d.ts +7 -0
- package/dist/types/adapters/adapter-registry.d.ts.map +1 -0
- package/dist/types/adapters/adapter.d.ts +6 -0
- package/dist/types/adapters/adapter.d.ts.map +1 -0
- package/dist/types/adapters/index.d.ts +3 -0
- package/dist/types/adapters/index.d.ts.map +1 -0
- package/dist/types/adapters/langchain/assembly-callback-handler.d.ts +21 -0
- package/dist/types/adapters/langchain/assembly-callback-handler.d.ts.map +1 -0
- package/dist/types/adapters/langchain/index.d.ts +4 -0
- package/dist/types/adapters/langchain/index.d.ts.map +1 -0
- package/dist/types/adapters/langchain/wrap-tool-with-assembly.d.ts +9 -0
- package/dist/types/adapters/langchain/wrap-tool-with-assembly.d.ts.map +1 -0
- package/dist/types/audit/encode.d.ts +77 -0
- package/dist/types/audit/encode.d.ts.map +1 -0
- package/dist/types/audit/index.d.ts +3 -0
- package/dist/types/audit/index.d.ts.map +1 -0
- package/dist/types/core/gateway-resolver.d.ts +92 -0
- package/dist/types/core/gateway-resolver.d.ts.map +1 -0
- package/dist/types/core/index.d.ts +2 -0
- package/dist/types/core/index.d.ts.map +1 -0
- package/dist/types/core/init-assembly.d.ts +10 -0
- package/dist/types/core/init-assembly.d.ts.map +1 -0
- package/dist/types/errors/configuration-error.d.ts +11 -0
- package/dist/types/errors/configuration-error.d.ts.map +1 -0
- package/dist/types/errors/gateway-error.d.ts +11 -0
- package/dist/types/errors/gateway-error.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +5 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/errors/op-terminated-error.d.ts +13 -0
- package/dist/types/errors/op-terminated-error.d.ts.map +1 -0
- package/dist/types/errors/policy-violation-error.d.ts +4 -0
- package/dist/types/errors/policy-violation-error.d.ts.map +1 -0
- package/dist/types/gateway/client.d.ts +14 -0
- package/dist/types/gateway/client.d.ts.map +1 -0
- package/dist/types/gateway/index.d.ts +3 -0
- package/dist/types/gateway/index.d.ts.map +1 -0
- package/dist/types/hooks/adapter-registry.d.ts +3 -0
- package/dist/types/hooks/adapter-registry.d.ts.map +1 -0
- package/dist/types/hooks/ai-sdk-detection.d.ts +2 -0
- package/dist/types/hooks/ai-sdk-detection.d.ts.map +1 -0
- package/dist/types/hooks/ai-sdk.d.ts +36 -0
- package/dist/types/hooks/ai-sdk.d.ts.map +1 -0
- package/dist/types/hooks/langchain.d.ts +3 -0
- package/dist/types/hooks/langchain.d.ts.map +1 -0
- package/dist/types/hooks/langgraph-detection.d.ts +2 -0
- package/dist/types/hooks/langgraph-detection.d.ts.map +1 -0
- package/dist/types/hooks/langgraph.d.ts +26 -0
- package/dist/types/hooks/langgraph.d.ts.map +1 -0
- package/dist/types/hooks/mastra-detection.d.ts +2 -0
- package/dist/types/hooks/mastra-detection.d.ts.map +1 -0
- package/dist/types/hooks/mastra.d.ts +29 -0
- package/dist/types/hooks/mastra.d.ts.map +1 -0
- package/dist/types/hooks/openai-agents-detection.d.ts +2 -0
- package/dist/types/hooks/openai-agents-detection.d.ts.map +1 -0
- package/dist/types/hooks/openai-agents.d.ts +42 -0
- package/dist/types/hooks/openai-agents.d.ts.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lineage/agent-context-store.d.ts +12 -0
- package/dist/types/lineage/agent-context-store.d.ts.map +1 -0
- package/dist/types/lineage/index.d.ts +2 -0
- package/dist/types/lineage/index.d.ts.map +1 -0
- package/dist/types/native/client.d.ts +26 -0
- package/dist/types/native/client.d.ts.map +1 -0
- package/dist/types/op-control.d.ts +85 -0
- package/dist/types/op-control.d.ts.map +1 -0
- package/dist/types/proto/generated/common.d.ts +90 -0
- package/dist/types/proto/generated/common.d.ts.map +1 -0
- package/dist/types/proto/generated/policy.d.ts +298 -0
- package/dist/types/proto/generated/policy.d.ts.map +1 -0
- package/dist/types/runtime.d.ts +59 -0
- package/dist/types/runtime.d.ts.map +1 -0
- package/dist/types/types/assembly-config.d.ts +47 -0
- package/dist/types/types/assembly-config.d.ts.map +1 -0
- package/dist/types/types/assembly-context.d.ts +12 -0
- package/dist/types/types/assembly-context.d.ts.map +1 -0
- package/dist/types/types/assembly-mode.d.ts +2 -0
- package/dist/types/types/assembly-mode.d.ts.map +1 -0
- package/dist/types/types/audit.d.ts +76 -0
- package/dist/types/types/audit.d.ts.map +1 -0
- package/dist/types/types/enforcement-mode.d.ts +20 -0
- package/dist/types/types/enforcement-mode.d.ts.map +1 -0
- package/dist/types/types/gateway-governance.d.ts +31 -0
- package/dist/types/types/gateway-governance.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +12 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/langchain-adapter.d.ts +25 -0
- package/dist/types/types/langchain-adapter.d.ts.map +1 -0
- package/dist/types/types/openai-agents-adapter.d.ts +17 -0
- package/dist/types/types/openai-agents-adapter.d.ts.map +1 -0
- package/dist/types/types/policy.d.ts +10 -0
- package/dist/types/types/policy.d.ts.map +1 -0
- package/dist/types/types/tool-map.d.ts +2 -0
- package/dist/types/types/tool-map.d.ts.map +1 -0
- package/dist/types/types/vercel-ai-adapter.d.ts +12 -0
- package/dist/types/types/vercel-ai-adapter.d.ts.map +1 -0
- package/dist/types/wrappers/index.d.ts +3 -0
- package/dist/types/wrappers/index.d.ts.map +1 -0
- package/dist/types/wrappers/with-assembly.d.ts +9 -0
- package/dist/types/wrappers/with-assembly.d.ts.map +1 -0
- package/native/aa-ffi-node/index.cjs +20 -0
- package/native/aa-ffi-node/index.d.ts +23 -0
- package/package.json +95 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gateway → SDK op-control consumer (AAASM-1422 PR-F / AAASM-1655).
|
|
3
|
+
*
|
|
4
|
+
* Subscribes to `PolicyService.OpControlStream` and exposes a per-`op_id`
|
|
5
|
+
* cooperative-pause / fast-fail-terminate state machine through
|
|
6
|
+
* {@link OpControlSubscriber.waitForOp}.
|
|
7
|
+
*
|
|
8
|
+
* State machine per op_id:
|
|
9
|
+
* - `OP_CONTROL_SIGNAL_PAUSE` → `waitForOp` blocks until RESUME arrives.
|
|
10
|
+
* - `OP_CONTROL_SIGNAL_RESUME` → `waitForOp` resolves immediately.
|
|
11
|
+
* - `OP_CONTROL_SIGNAL_TERMINATE` → `waitForOp` rejects with `OpTerminatedError`.
|
|
12
|
+
*
|
|
13
|
+
* Signals that arrive for an `op_id` no one is currently awaiting are
|
|
14
|
+
* buffered into the per-op slot so the next `waitForOp` sees them.
|
|
15
|
+
*
|
|
16
|
+
* Out of scope for PR-F (deferred):
|
|
17
|
+
* - Reconnection / heartbeat on stream close (caller observes
|
|
18
|
+
* `streamAlive` and re-instantiates if desired).
|
|
19
|
+
* - Auto-wiring into the existing `GatewayClient` / adapter hooks
|
|
20
|
+
* (separate sub-task when the adapter surface is stable).
|
|
21
|
+
*/
|
|
22
|
+
import { type ChannelCredentials, type ClientReadableStream } from "@grpc/grpc-js";
|
|
23
|
+
import type { AgentId } from "./proto/generated/common.js";
|
|
24
|
+
import { OpControlMessage } from "./proto/generated/policy.js";
|
|
25
|
+
/** Strip of the gRPC stub method the subscriber actually needs. Lets tests
|
|
26
|
+
* mock the gRPC layer without standing up a server.
|
|
27
|
+
*/
|
|
28
|
+
export interface OpControlClient {
|
|
29
|
+
opControlStream: (request: {
|
|
30
|
+
agentId?: AgentId;
|
|
31
|
+
}) => ClientReadableStream<OpControlMessage>;
|
|
32
|
+
close?: () => void;
|
|
33
|
+
}
|
|
34
|
+
export interface OpControlSubscriberOptions {
|
|
35
|
+
/** Composite identity of the subscribing agent. */
|
|
36
|
+
orgId: string;
|
|
37
|
+
teamId: string;
|
|
38
|
+
agentId: string;
|
|
39
|
+
/** Optional credentials override; defaults to insecure (matches PR-D's
|
|
40
|
+
* dev-mode gateway). Use `grpc.credentials.createSsl(...)` in prod.
|
|
41
|
+
*/
|
|
42
|
+
credentials?: ChannelCredentials;
|
|
43
|
+
/** Test seam — when supplied, skips opening a real gRPC channel and uses
|
|
44
|
+
* this client directly. Used by the vitest tests.
|
|
45
|
+
*/
|
|
46
|
+
clientFactory?: () => OpControlClient;
|
|
47
|
+
}
|
|
48
|
+
export declare class OpControlSubscriber {
|
|
49
|
+
private readonly client;
|
|
50
|
+
private readonly agent;
|
|
51
|
+
private readonly ops;
|
|
52
|
+
private call;
|
|
53
|
+
private alive;
|
|
54
|
+
private constructor();
|
|
55
|
+
/** Open the gRPC channel + subscription stream and start the reader. */
|
|
56
|
+
static connect(gatewayUrl: string, opts: OpControlSubscriberOptions): OpControlSubscriber;
|
|
57
|
+
/** Open the stream and wire reader handlers. Public so tests can call
|
|
58
|
+
* directly after constructing with a hand-rolled client.
|
|
59
|
+
*/
|
|
60
|
+
start(): void;
|
|
61
|
+
private dispatch;
|
|
62
|
+
private slot;
|
|
63
|
+
private flushResolvers;
|
|
64
|
+
private markStreamDead;
|
|
65
|
+
/**
|
|
66
|
+
* Block until `opId` is runnable, or reject on terminate.
|
|
67
|
+
*
|
|
68
|
+
* Resolves immediately when the op is not currently paused. When paused,
|
|
69
|
+
* waits up to `timeoutMs` for a resume signal. Rejects with
|
|
70
|
+
* {@link OpTerminatedError} if the op has been (or becomes) terminated.
|
|
71
|
+
*
|
|
72
|
+
* A timeout resolves normally — the caller can inspect {@link isPaused}
|
|
73
|
+
* or retry. Matches the cooperative-pause expectation in the architecture
|
|
74
|
+
* doc (the SDK yields, it doesn't deadline-enforce).
|
|
75
|
+
*/
|
|
76
|
+
waitForOp(opId: string, opts?: {
|
|
77
|
+
timeoutMs?: number;
|
|
78
|
+
}): Promise<void>;
|
|
79
|
+
isPaused(opId: string): boolean;
|
|
80
|
+
isTerminated(opId: string): boolean;
|
|
81
|
+
streamAlive(): boolean;
|
|
82
|
+
/** Cancel the stream and clean up. */
|
|
83
|
+
close(): void;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=op-control.d.ts.map
|
|
@@ -0,0 +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;;OAEG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,eAAe,CAAC;CACvC;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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
2
|
+
export declare const protobufPackage = "assembly.common.v1";
|
|
3
|
+
/**
|
|
4
|
+
* Decision is the outcome of a policy evaluation. Used by policy.proto and
|
|
5
|
+
* mirrored in audit.proto to keep audit self-contained.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum Decision {
|
|
8
|
+
DECISION_UNSPECIFIED = 0,
|
|
9
|
+
/** ALLOW - Action is permitted immediately. */
|
|
10
|
+
ALLOW = 1,
|
|
11
|
+
/** DENY - Action is blocked; no further recourse. */
|
|
12
|
+
DENY = 2,
|
|
13
|
+
/** PENDING - Action is held — a human reviewer must approve or reject it. */
|
|
14
|
+
PENDING = 3,
|
|
15
|
+
/** REDACT - Action is permitted but sensitive fields must be redacted first. */
|
|
16
|
+
REDACT = 4,
|
|
17
|
+
UNRECOGNIZED = -1
|
|
18
|
+
}
|
|
19
|
+
export declare function decisionFromJSON(object: any): Decision;
|
|
20
|
+
export declare function decisionToJSON(object: Decision): string;
|
|
21
|
+
/**
|
|
22
|
+
* ActionType classifies what kind of operation the agent is attempting.
|
|
23
|
+
* Drives both policy rule matching and audit event categorisation.
|
|
24
|
+
*/
|
|
25
|
+
export declare enum ActionType {
|
|
26
|
+
ACTION_UNSPECIFIED = 0,
|
|
27
|
+
/** LLM_CALL - Call a large-language model (e.g. GPT-4o, Claude, Gemini). */
|
|
28
|
+
LLM_CALL = 1,
|
|
29
|
+
/** TOOL_CALL - Invoke a tool or MCP server function. */
|
|
30
|
+
TOOL_CALL = 2,
|
|
31
|
+
/** FILE_OPERATION - Read, write, delete, or create a local file. */
|
|
32
|
+
FILE_OPERATION = 3,
|
|
33
|
+
/** NETWORK_CALL - Make an outbound network request. */
|
|
34
|
+
NETWORK_CALL = 4,
|
|
35
|
+
/** PROCESS_EXEC - Execute a subprocess. */
|
|
36
|
+
PROCESS_EXEC = 5,
|
|
37
|
+
/** AGENT_SPAWN - Spawn a child agent. */
|
|
38
|
+
AGENT_SPAWN = 6,
|
|
39
|
+
UNRECOGNIZED = -1
|
|
40
|
+
}
|
|
41
|
+
export declare function actionTypeFromJSON(object: any): ActionType;
|
|
42
|
+
export declare function actionTypeToJSON(object: ActionType): string;
|
|
43
|
+
/** RiskTier classifies an agent or policy by the risk level it operates at. */
|
|
44
|
+
export declare enum RiskTier {
|
|
45
|
+
RISK_UNSPECIFIED = 0,
|
|
46
|
+
/** LOW - Low risk: log-only enforcement; no blocking. */
|
|
47
|
+
LOW = 1,
|
|
48
|
+
/** MEDIUM - Medium risk: block-and-optionally-approve enforcement. */
|
|
49
|
+
MEDIUM = 2,
|
|
50
|
+
/** HIGH - High risk: always block; human review mandatory. */
|
|
51
|
+
HIGH = 3,
|
|
52
|
+
/** CRITICAL - Critical risk: immediate kill + incident escalation. */
|
|
53
|
+
CRITICAL = 4,
|
|
54
|
+
UNRECOGNIZED = -1
|
|
55
|
+
}
|
|
56
|
+
export declare function riskTierFromJSON(object: any): RiskTier;
|
|
57
|
+
export declare function riskTierToJSON(object: RiskTier): string;
|
|
58
|
+
/**
|
|
59
|
+
* AgentId is a composite identity used in every gRPC message.
|
|
60
|
+
* Using a message (not a flat string) lets the gateway enforce org/team scoping
|
|
61
|
+
* and issue scoped credentials without changing downstream message shapes.
|
|
62
|
+
*/
|
|
63
|
+
export interface AgentId {
|
|
64
|
+
/** Organisation identifier. */
|
|
65
|
+
orgId: string;
|
|
66
|
+
/** Team within the organisation. */
|
|
67
|
+
teamId: string;
|
|
68
|
+
/** The agent's own unique ID (DID-style; assigned at registration). */
|
|
69
|
+
agentId: string;
|
|
70
|
+
}
|
|
71
|
+
/** Timestamp uses Unix milliseconds for precision without proto well-known type imports. */
|
|
72
|
+
export interface Timestamp {
|
|
73
|
+
unixMs: number;
|
|
74
|
+
}
|
|
75
|
+
export declare const AgentId: MessageFns<AgentId>;
|
|
76
|
+
export declare const Timestamp: MessageFns<Timestamp>;
|
|
77
|
+
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
78
|
+
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
|
|
79
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
80
|
+
} : Partial<T>;
|
|
81
|
+
export interface MessageFns<T> {
|
|
82
|
+
encode(message: T, writer?: BinaryWriter): BinaryWriter;
|
|
83
|
+
decode(input: BinaryReader | Uint8Array, length?: number): T;
|
|
84
|
+
fromJSON(object: any): T;
|
|
85
|
+
toJSON(message: T): unknown;
|
|
86
|
+
create(base?: DeepPartial<T>): T;
|
|
87
|
+
fromPartial(object: DeepPartial<T>): T;
|
|
88
|
+
}
|
|
89
|
+
export {};
|
|
90
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/proto/generated/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
2
|
+
import { type CallOptions, type ChannelCredentials, Client, type ClientOptions, type ClientReadableStream, type ClientUnaryCall, type handleServerStreamingCall, type handleUnaryCall, type Metadata, type ServiceError, type UntypedServiceImplementation } from "@grpc/grpc-js";
|
|
3
|
+
import { ActionType, AgentId, Decision } from "./common.js";
|
|
4
|
+
export declare const protobufPackage = "assembly.policy.v1";
|
|
5
|
+
/**
|
|
6
|
+
* OpControlSignal classifies the lifecycle action the gateway is pushing to
|
|
7
|
+
* the SDK. Mirrors the OpsRegistry transitions in aa-gateway/src/ops/mod.rs.
|
|
8
|
+
*/
|
|
9
|
+
export declare enum OpControlSignal {
|
|
10
|
+
/** OP_CONTROL_SIGNAL_UNSPECIFIED - Default — never wired; treated as a malformed message by the SDK. */
|
|
11
|
+
OP_CONTROL_SIGNAL_UNSPECIFIED = 0,
|
|
12
|
+
/**
|
|
13
|
+
* OP_CONTROL_SIGNAL_PAUSE - Operator paused the op via POST /api/v1/ops/{id}/pause. SDK should
|
|
14
|
+
* cooperatively yield at the next interruption point and block on resume.
|
|
15
|
+
*/
|
|
16
|
+
OP_CONTROL_SIGNAL_PAUSE = 1,
|
|
17
|
+
/** OP_CONTROL_SIGNAL_RESUME - Operator resumed the op via POST /api/v1/ops/{id}/resume. SDK unblocks. */
|
|
18
|
+
OP_CONTROL_SIGNAL_RESUME = 2,
|
|
19
|
+
/**
|
|
20
|
+
* OP_CONTROL_SIGNAL_TERMINATE - Operator (or policy deny) terminated the op. SDK fast-fails the in-flight
|
|
21
|
+
* action with an OpTerminatedError.
|
|
22
|
+
*/
|
|
23
|
+
OP_CONTROL_SIGNAL_TERMINATE = 3,
|
|
24
|
+
UNRECOGNIZED = -1
|
|
25
|
+
}
|
|
26
|
+
export declare function opControlSignalFromJSON(object: any): OpControlSignal;
|
|
27
|
+
export declare function opControlSignalToJSON(object: OpControlSignal): string;
|
|
28
|
+
export interface CheckActionRequest {
|
|
29
|
+
/** Composite identity of the agent requesting the check. */
|
|
30
|
+
agentId: AgentId | undefined;
|
|
31
|
+
/** Credential token issued at registration; validated on every call. */
|
|
32
|
+
credentialToken: string;
|
|
33
|
+
/** Run-level trace ID for distributed tracing correlation. */
|
|
34
|
+
traceId: string;
|
|
35
|
+
/** Action-level span ID. */
|
|
36
|
+
spanId: string;
|
|
37
|
+
/** High-level action category — determines which policy rules are evaluated. */
|
|
38
|
+
actionType: ActionType;
|
|
39
|
+
/** Detailed context for the specific action type. */
|
|
40
|
+
context: ActionContext | undefined;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* ActionContext carries type-specific details for the action under evaluation.
|
|
44
|
+
* Exactly one field must be set; the populated field must match action_type.
|
|
45
|
+
*/
|
|
46
|
+
export interface ActionContext {
|
|
47
|
+
llmCall?: LLMCallContext | undefined;
|
|
48
|
+
toolCall?: ToolCallContext | undefined;
|
|
49
|
+
fileOp?: FileOpContext | undefined;
|
|
50
|
+
networkCall?: NetworkCallContext | undefined;
|
|
51
|
+
processExec?: ProcessExecContext | undefined;
|
|
52
|
+
}
|
|
53
|
+
/** LLMCallContext carries details about a call to a large-language model. */
|
|
54
|
+
export interface LLMCallContext {
|
|
55
|
+
/** Model identifier (e.g. "gpt-4o", "claude-3-5-sonnet", "gemini-1.5-pro"). */
|
|
56
|
+
model: string;
|
|
57
|
+
/** Estimated prompt token count (pre-execution estimate from the SDK layer). */
|
|
58
|
+
promptTokens: number;
|
|
59
|
+
/** Whether the SDK-layer PII scan flagged sensitive data in the prompt. */
|
|
60
|
+
containsPii: boolean;
|
|
61
|
+
}
|
|
62
|
+
/** ToolCallContext carries details about a tool or MCP server invocation. */
|
|
63
|
+
export interface ToolCallContext {
|
|
64
|
+
/** Registered tool name (e.g. "web_search", "run_python"). */
|
|
65
|
+
toolName: string;
|
|
66
|
+
/** Source system ("mcp", "langchain", "function"). */
|
|
67
|
+
toolSource: string;
|
|
68
|
+
/** JSON-encoded argument map; policy engine can inspect individual fields. */
|
|
69
|
+
argsJson: Buffer;
|
|
70
|
+
/** Target URL if the tool makes an HTTP request. */
|
|
71
|
+
targetUrl: string;
|
|
72
|
+
}
|
|
73
|
+
/** FileOpContext carries details about a filesystem operation. */
|
|
74
|
+
export interface FileOpContext {
|
|
75
|
+
/** Operation type: "read", "write", "delete", or "create". */
|
|
76
|
+
operation: string;
|
|
77
|
+
/** Absolute path of the file being accessed. */
|
|
78
|
+
path: string;
|
|
79
|
+
/** Whether the eBPF layer flagged this path as sensitive (e.g. /etc, ~/.ssh). */
|
|
80
|
+
isSensitivePath: boolean;
|
|
81
|
+
}
|
|
82
|
+
/** NetworkCallContext carries details about an outbound network request. */
|
|
83
|
+
export interface NetworkCallContext {
|
|
84
|
+
/** Target hostname. */
|
|
85
|
+
host: string;
|
|
86
|
+
/** Target port. */
|
|
87
|
+
port: number;
|
|
88
|
+
/** Protocol: "https", "grpc", "ws", "tcp". */
|
|
89
|
+
protocol: string;
|
|
90
|
+
/** Whether the target host is in the org-level network allowlist. */
|
|
91
|
+
inAllowlist: boolean;
|
|
92
|
+
}
|
|
93
|
+
/** ProcessExecContext carries details about a subprocess execution attempt. */
|
|
94
|
+
export interface ProcessExecContext {
|
|
95
|
+
/** Command to execute. */
|
|
96
|
+
command: string;
|
|
97
|
+
/** Arguments passed to the command. */
|
|
98
|
+
args: string[];
|
|
99
|
+
}
|
|
100
|
+
/** CheckActionResponse is the policy engine's verdict for the submitted action. */
|
|
101
|
+
export interface CheckActionResponse {
|
|
102
|
+
/** The enforcement decision. */
|
|
103
|
+
decision: Decision;
|
|
104
|
+
/** Human-readable explanation of the decision (included in audit log). */
|
|
105
|
+
reason: string;
|
|
106
|
+
/** Identifier of the policy rule that triggered this decision. */
|
|
107
|
+
policyRule: string;
|
|
108
|
+
/** Populated only when decision = PENDING; identifies the approval queue item. */
|
|
109
|
+
approvalId: string;
|
|
110
|
+
/** Populated only when decision = REDACT; describes which fields to redact. */
|
|
111
|
+
redact: RedactInstructions | undefined;
|
|
112
|
+
/** Gateway decision latency in microseconds — used for p99 SLO monitoring. */
|
|
113
|
+
decisionLatencyUs: number;
|
|
114
|
+
}
|
|
115
|
+
/** RedactInstructions lists the fields that must be redacted before the action proceeds. */
|
|
116
|
+
export interface RedactInstructions {
|
|
117
|
+
rules: RedactRule[];
|
|
118
|
+
}
|
|
119
|
+
/** RedactRule specifies one field redaction to apply. */
|
|
120
|
+
export interface RedactRule {
|
|
121
|
+
/** JSONPath of the field to redact (e.g. "$.args.api_key"). */
|
|
122
|
+
fieldPath: string;
|
|
123
|
+
/** Replacement string (e.g. "[REDACTED]", "[PII]"). */
|
|
124
|
+
replacement: string;
|
|
125
|
+
}
|
|
126
|
+
/** BatchCheckRequest pre-warms the policy cache with a set of anticipated actions. */
|
|
127
|
+
export interface BatchCheckRequest {
|
|
128
|
+
requests: CheckActionRequest[];
|
|
129
|
+
}
|
|
130
|
+
/** BatchCheckResponse returns one verdict per submitted request, in order. */
|
|
131
|
+
export interface BatchCheckResponse {
|
|
132
|
+
responses: CheckActionResponse[];
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* OpControlSubscribeRequest is the unary half of OpControlStream — the SDK
|
|
136
|
+
* opens the stream keyed by its own agent id; the gateway sends only the
|
|
137
|
+
* messages whose op_id belongs to that agent.
|
|
138
|
+
*/
|
|
139
|
+
export interface OpControlSubscribeRequest {
|
|
140
|
+
/**
|
|
141
|
+
* Composite identity of the subscribing agent. Matches the agent_id on
|
|
142
|
+
* its CheckActionRequests so the gateway can filter the broadcast.
|
|
143
|
+
*/
|
|
144
|
+
agentId: AgentId | undefined;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* OpControlMessage is one push from the gateway over the OpControlStream.
|
|
148
|
+
* The SDK routes by op_id; sequence is a monotonic counter the SDK uses
|
|
149
|
+
* for at-least-once delivery dedup if the channel reconnects.
|
|
150
|
+
*/
|
|
151
|
+
export interface OpControlMessage {
|
|
152
|
+
/**
|
|
153
|
+
* Stable identifier of the op — "{trace_id}:{span_id}", same form the
|
|
154
|
+
* dashboard uses to key live-ops rows.
|
|
155
|
+
*/
|
|
156
|
+
opId: string;
|
|
157
|
+
/** The lifecycle signal to apply. */
|
|
158
|
+
signal: OpControlSignal;
|
|
159
|
+
/**
|
|
160
|
+
* Per-publisher monotonic sequence number. Restarts at 0 each gateway
|
|
161
|
+
* boot; SDK consumers should treat it as advisory, not as a global
|
|
162
|
+
* ordering guarantee across publishers.
|
|
163
|
+
*/
|
|
164
|
+
sequence: number;
|
|
165
|
+
}
|
|
166
|
+
export declare const CheckActionRequest: MessageFns<CheckActionRequest>;
|
|
167
|
+
export declare const ActionContext: MessageFns<ActionContext>;
|
|
168
|
+
export declare const LLMCallContext: MessageFns<LLMCallContext>;
|
|
169
|
+
export declare const ToolCallContext: MessageFns<ToolCallContext>;
|
|
170
|
+
export declare const FileOpContext: MessageFns<FileOpContext>;
|
|
171
|
+
export declare const NetworkCallContext: MessageFns<NetworkCallContext>;
|
|
172
|
+
export declare const ProcessExecContext: MessageFns<ProcessExecContext>;
|
|
173
|
+
export declare const CheckActionResponse: MessageFns<CheckActionResponse>;
|
|
174
|
+
export declare const RedactInstructions: MessageFns<RedactInstructions>;
|
|
175
|
+
export declare const RedactRule: MessageFns<RedactRule>;
|
|
176
|
+
export declare const BatchCheckRequest: MessageFns<BatchCheckRequest>;
|
|
177
|
+
export declare const BatchCheckResponse: MessageFns<BatchCheckResponse>;
|
|
178
|
+
export declare const OpControlSubscribeRequest: MessageFns<OpControlSubscribeRequest>;
|
|
179
|
+
export declare const OpControlMessage: MessageFns<OpControlMessage>;
|
|
180
|
+
/**
|
|
181
|
+
* PolicyService handles path ② (runtime → gateway) — the hot path for every
|
|
182
|
+
* agent action. Target latency: < 5 ms p99.
|
|
183
|
+
*
|
|
184
|
+
* Consumed by: aa-runtime/src/gateway_client.rs (client side)
|
|
185
|
+
* aa-gateway/src/policy_engine.rs (server side)
|
|
186
|
+
*/
|
|
187
|
+
export type PolicyServiceService = typeof PolicyServiceService;
|
|
188
|
+
export declare const PolicyServiceService: {
|
|
189
|
+
/**
|
|
190
|
+
* CheckAction evaluates a single action before the agent dispatches it.
|
|
191
|
+
* Called on every intercepted action — must be as fast as possible.
|
|
192
|
+
*/
|
|
193
|
+
readonly checkAction: {
|
|
194
|
+
readonly path: "/assembly.policy.v1.PolicyService/CheckAction";
|
|
195
|
+
readonly requestStream: false;
|
|
196
|
+
readonly responseStream: false;
|
|
197
|
+
readonly requestSerialize: (value: CheckActionRequest) => Buffer;
|
|
198
|
+
readonly requestDeserialize: (value: Buffer) => CheckActionRequest;
|
|
199
|
+
readonly responseSerialize: (value: CheckActionResponse) => Buffer;
|
|
200
|
+
readonly responseDeserialize: (value: Buffer) => CheckActionResponse;
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* BatchCheck pre-warms the policy cache for a set of anticipated actions.
|
|
204
|
+
* Called at agent startup or when entering a new task context.
|
|
205
|
+
*/
|
|
206
|
+
readonly batchCheck: {
|
|
207
|
+
readonly path: "/assembly.policy.v1.PolicyService/BatchCheck";
|
|
208
|
+
readonly requestStream: false;
|
|
209
|
+
readonly responseStream: false;
|
|
210
|
+
readonly requestSerialize: (value: BatchCheckRequest) => Buffer;
|
|
211
|
+
readonly requestDeserialize: (value: Buffer) => BatchCheckRequest;
|
|
212
|
+
readonly responseSerialize: (value: BatchCheckResponse) => Buffer;
|
|
213
|
+
readonly responseDeserialize: (value: Buffer) => BatchCheckResponse;
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* OpControlStream is the gateway → SDK push channel for op-lifecycle
|
|
217
|
+
* signals (pause / resume / terminate). The SDK opens the stream once
|
|
218
|
+
* per agent process at startup; the gateway pushes one OpControlMessage
|
|
219
|
+
* per OpsRegistry transition matching the subscriber's agent_id. See
|
|
220
|
+
* AAASM-1653 (PR-D of AAASM-1422); SDK-side consumers ship in PR-E
|
|
221
|
+
* (Python), PR-F (Node), and PR-G (Go).
|
|
222
|
+
*/
|
|
223
|
+
readonly opControlStream: {
|
|
224
|
+
readonly path: "/assembly.policy.v1.PolicyService/OpControlStream";
|
|
225
|
+
readonly requestStream: false;
|
|
226
|
+
readonly responseStream: true;
|
|
227
|
+
readonly requestSerialize: (value: OpControlSubscribeRequest) => Buffer;
|
|
228
|
+
readonly requestDeserialize: (value: Buffer) => OpControlSubscribeRequest;
|
|
229
|
+
readonly responseSerialize: (value: OpControlMessage) => Buffer;
|
|
230
|
+
readonly responseDeserialize: (value: Buffer) => OpControlMessage;
|
|
231
|
+
};
|
|
232
|
+
};
|
|
233
|
+
export interface PolicyServiceServer extends UntypedServiceImplementation {
|
|
234
|
+
/**
|
|
235
|
+
* CheckAction evaluates a single action before the agent dispatches it.
|
|
236
|
+
* Called on every intercepted action — must be as fast as possible.
|
|
237
|
+
*/
|
|
238
|
+
checkAction: handleUnaryCall<CheckActionRequest, CheckActionResponse>;
|
|
239
|
+
/**
|
|
240
|
+
* BatchCheck pre-warms the policy cache for a set of anticipated actions.
|
|
241
|
+
* Called at agent startup or when entering a new task context.
|
|
242
|
+
*/
|
|
243
|
+
batchCheck: handleUnaryCall<BatchCheckRequest, BatchCheckResponse>;
|
|
244
|
+
/**
|
|
245
|
+
* OpControlStream is the gateway → SDK push channel for op-lifecycle
|
|
246
|
+
* signals (pause / resume / terminate). The SDK opens the stream once
|
|
247
|
+
* per agent process at startup; the gateway pushes one OpControlMessage
|
|
248
|
+
* per OpsRegistry transition matching the subscriber's agent_id. See
|
|
249
|
+
* AAASM-1653 (PR-D of AAASM-1422); SDK-side consumers ship in PR-E
|
|
250
|
+
* (Python), PR-F (Node), and PR-G (Go).
|
|
251
|
+
*/
|
|
252
|
+
opControlStream: handleServerStreamingCall<OpControlSubscribeRequest, OpControlMessage>;
|
|
253
|
+
}
|
|
254
|
+
export interface PolicyServiceClient extends Client {
|
|
255
|
+
/**
|
|
256
|
+
* CheckAction evaluates a single action before the agent dispatches it.
|
|
257
|
+
* Called on every intercepted action — must be as fast as possible.
|
|
258
|
+
*/
|
|
259
|
+
checkAction(request: CheckActionRequest, callback: (error: ServiceError | null, response: CheckActionResponse) => void): ClientUnaryCall;
|
|
260
|
+
checkAction(request: CheckActionRequest, metadata: Metadata, callback: (error: ServiceError | null, response: CheckActionResponse) => void): ClientUnaryCall;
|
|
261
|
+
checkAction(request: CheckActionRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: CheckActionResponse) => void): ClientUnaryCall;
|
|
262
|
+
/**
|
|
263
|
+
* BatchCheck pre-warms the policy cache for a set of anticipated actions.
|
|
264
|
+
* Called at agent startup or when entering a new task context.
|
|
265
|
+
*/
|
|
266
|
+
batchCheck(request: BatchCheckRequest, callback: (error: ServiceError | null, response: BatchCheckResponse) => void): ClientUnaryCall;
|
|
267
|
+
batchCheck(request: BatchCheckRequest, metadata: Metadata, callback: (error: ServiceError | null, response: BatchCheckResponse) => void): ClientUnaryCall;
|
|
268
|
+
batchCheck(request: BatchCheckRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: BatchCheckResponse) => void): ClientUnaryCall;
|
|
269
|
+
/**
|
|
270
|
+
* OpControlStream is the gateway → SDK push channel for op-lifecycle
|
|
271
|
+
* signals (pause / resume / terminate). The SDK opens the stream once
|
|
272
|
+
* per agent process at startup; the gateway pushes one OpControlMessage
|
|
273
|
+
* per OpsRegistry transition matching the subscriber's agent_id. See
|
|
274
|
+
* AAASM-1653 (PR-D of AAASM-1422); SDK-side consumers ship in PR-E
|
|
275
|
+
* (Python), PR-F (Node), and PR-G (Go).
|
|
276
|
+
*/
|
|
277
|
+
opControlStream(request: OpControlSubscribeRequest, options?: Partial<CallOptions>): ClientReadableStream<OpControlMessage>;
|
|
278
|
+
opControlStream(request: OpControlSubscribeRequest, metadata?: Metadata, options?: Partial<CallOptions>): ClientReadableStream<OpControlMessage>;
|
|
279
|
+
}
|
|
280
|
+
export declare const PolicyServiceClient: {
|
|
281
|
+
new (address: string, credentials: ChannelCredentials, options?: Partial<ClientOptions>): PolicyServiceClient;
|
|
282
|
+
service: typeof PolicyServiceService;
|
|
283
|
+
serviceName: string;
|
|
284
|
+
};
|
|
285
|
+
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
286
|
+
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
|
|
287
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
288
|
+
} : Partial<T>;
|
|
289
|
+
export interface MessageFns<T> {
|
|
290
|
+
encode(message: T, writer?: BinaryWriter): BinaryWriter;
|
|
291
|
+
decode(input: BinaryReader | Uint8Array, length?: number): T;
|
|
292
|
+
fromJSON(object: any): T;
|
|
293
|
+
toJSON(message: T): unknown;
|
|
294
|
+
create(base?: DeepPartial<T>): T;
|
|
295
|
+
fromPartial(object: DeepPartial<T>): T;
|
|
296
|
+
}
|
|
297
|
+
export {};
|
|
298
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../src/proto/generated/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime auto-detection and lifecycle management for the `aasm` sidecar
|
|
3
|
+
* (F115 / AAASM-1205).
|
|
4
|
+
*
|
|
5
|
+
* The `initAssembly()` exported here is intentionally NOT re-exported from
|
|
6
|
+
* `@agent-assembly/sdk` at the top level: the existing gateway-based
|
|
7
|
+
* `initAssembly(config)` keeps its meaning. Opt in to the runtime-managed
|
|
8
|
+
* flow with `import { initAssembly } from "@agent-assembly/sdk/runtime"`.
|
|
9
|
+
*/
|
|
10
|
+
import { type ChildProcess } from "node:child_process";
|
|
11
|
+
export declare const BINARY_NAME = "aasm";
|
|
12
|
+
export declare const DEFAULT_PORT = 7878;
|
|
13
|
+
export declare const DEFAULT_RUNTIME_HOST = "127.0.0.1";
|
|
14
|
+
export declare const USER_LOCAL_BIN: string;
|
|
15
|
+
export declare const DOCKER_BASE_BIN = "/usr/local/bin";
|
|
16
|
+
export declare const RUNTIME_LOG_FILENAME = ".aasm-runtime.log";
|
|
17
|
+
/** npm sub-package name for the bundled platform binary (esbuild pattern). */
|
|
18
|
+
export declare const RUNTIME_SUBPACKAGE: string;
|
|
19
|
+
export declare const INSTALL_HINT: string;
|
|
20
|
+
/**
|
|
21
|
+
* Locate the `aasm` binary across the 4 supported install paths.
|
|
22
|
+
*
|
|
23
|
+
* Search order: `$PATH` (Homebrew, cargo install) → `~/.local/bin/aasm`
|
|
24
|
+
* (curl installer) → `node_modules/@agent-assembly/runtime-{platform}-{arch}/bin/aasm`
|
|
25
|
+
* (npm optionalDependency) → `/usr/local/bin/aasm` (Docker base image).
|
|
26
|
+
* Returns the first existing match, or `null` when none exist.
|
|
27
|
+
*/
|
|
28
|
+
export declare function findAasmBinary(): string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Resolve to `true` iff a local TCP listener accepts a connect on
|
|
31
|
+
* `host:port` within 100 ms. Any socket error (refused, timeout,
|
|
32
|
+
* unreachable) resolves to `false` and is treated as no sidecar.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isRunning(port?: number, host?: string): Promise<boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* Spawn `aasm serve --port <port>` as a detached background subprocess.
|
|
37
|
+
*
|
|
38
|
+
* Stdout/stderr are appended to `<logDir>/.aasm-runtime.log` (default
|
|
39
|
+
* `process.cwd()`) so the sidecar outlives the parent. `detached: true`
|
|
40
|
+
* + `child.unref()` releases the event loop so the Node process can
|
|
41
|
+
* exit independently of the sidecar.
|
|
42
|
+
*/
|
|
43
|
+
export declare function startRuntime(binaryPath: string, port?: number, logDir?: string): ChildProcess;
|
|
44
|
+
/**
|
|
45
|
+
* Ensure the local `aasm` sidecar is running, starting it if necessary.
|
|
46
|
+
*
|
|
47
|
+
* Lifecycle per F115 / AAASM-1205:
|
|
48
|
+
* 1. Probe `host:port` via {@link isRunning}; return early if already up.
|
|
49
|
+
* 2. Resolve the binary via {@link findAasmBinary}.
|
|
50
|
+
* 3. Spawn the sidecar via {@link startRuntime}.
|
|
51
|
+
*
|
|
52
|
+
* `agentId` is accepted to keep the ticket-specified signature stable;
|
|
53
|
+
* actual register-and-connect is performed by the existing gateway-aware
|
|
54
|
+
* `@agent-assembly/sdk` `initAssembly` once the sidecar is reachable.
|
|
55
|
+
*
|
|
56
|
+
* Throws `Error` with {@link INSTALL_HINT} when no binary is found.
|
|
57
|
+
*/
|
|
58
|
+
export declare function initAssembly(agentId?: string, port?: number): Promise<void>;
|
|
59
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAC;AAQ9D,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAEhD,eAAO,MAAM,cAAc,EAAE,MAAyC,CAAC;AACvE,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAChD,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AAExD,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,EAAE,MAA0C,CAAC;AAE5E,eAAO,MAAM,YAAY,EAAE,MAKf,CAAC;AAsBb;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAa9C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,IAAI,GAAE,MAAqB,EAC3B,IAAI,GAAE,MAA6B,GAClC,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAqB,EAC3B,MAAM,GAAE,MAAc,GACrB,YAAY,CASd;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,GAAE,MAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { GatewayClient } from "../gateway/client.js";
|
|
2
|
+
import type { LangChainAdapterConfig } from "./langchain-adapter.js";
|
|
3
|
+
import type { AssemblyMode } from "./assembly-mode.js";
|
|
4
|
+
import type { EnforcementMode } from "./enforcement-mode.js";
|
|
5
|
+
export interface AssemblyConfig {
|
|
6
|
+
/**
|
|
7
|
+
* Gateway URL. When omitted, ``initAssembly`` resolves it via
|
|
8
|
+
* AAASM_GATEWAY_URL, ~/.aasm/config.yaml, or the local default
|
|
9
|
+
* (http://localhost:7391, auto-started if absent). See
|
|
10
|
+
* ``agent_assembly/core/gateway-resolver`` for the precedence chain.
|
|
11
|
+
*/
|
|
12
|
+
gatewayUrl?: string;
|
|
13
|
+
/**
|
|
14
|
+
* API key. When omitted, ``initAssembly`` resolves it via
|
|
15
|
+
* AAASM_API_KEY, the config file, or defaults to an empty string
|
|
16
|
+
* (local mode is unauth-accepting).
|
|
17
|
+
*/
|
|
18
|
+
apiKey?: string;
|
|
19
|
+
agentId?: string;
|
|
20
|
+
mode?: AssemblyMode;
|
|
21
|
+
gatewayClient?: GatewayClient;
|
|
22
|
+
langchain?: LangChainAdapterConfig;
|
|
23
|
+
/** ID of the parent agent that delegated work to this agent. */
|
|
24
|
+
parentAgentId?: string;
|
|
25
|
+
/** Team this agent belongs to for budget and policy scoping. */
|
|
26
|
+
teamId?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Human-readable explanation for why this agent was delegated to.
|
|
29
|
+
* Must be ≤ 256 characters; throws `RangeError` otherwise.
|
|
30
|
+
*/
|
|
31
|
+
delegationReason?: string;
|
|
32
|
+
/** Name of the tool that spawned this agent, if applicable. */
|
|
33
|
+
spawnedByTool?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Per-agent governance posture override sent to the gateway at registration.
|
|
36
|
+
*
|
|
37
|
+
* When omitted, the field is left off the registration body and the gateway
|
|
38
|
+
* applies its server-side default (live `"enforce"`) — the pre-feature wire
|
|
39
|
+
* shape is preserved. Pass `"observe"` to register this agent in dry-run /
|
|
40
|
+
* sandbox mode (every action proceeds; the gateway records would-be
|
|
41
|
+
* violations as shadow audit events surfaced by `aa audit list --dry-run-only`).
|
|
42
|
+
*
|
|
43
|
+
* Unknown string values are rejected at runtime with a `RangeError`.
|
|
44
|
+
*/
|
|
45
|
+
enforcementMode?: EnforcementMode;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=assembly-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assembly-config.d.ts","sourceRoot":"","sources":["../../../src/types/assembly-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { EnforcementMode } from "./enforcement-mode.js";
|
|
2
|
+
export interface AssemblyContext {
|
|
3
|
+
readonly activeAdapters: readonly string[];
|
|
4
|
+
readonly parentAgentId?: string;
|
|
5
|
+
readonly teamId?: string;
|
|
6
|
+
readonly delegationReason?: string;
|
|
7
|
+
readonly spawnedByTool?: string;
|
|
8
|
+
/** Echo of the per-agent governance posture sent at registration, when set. */
|
|
9
|
+
readonly enforcementMode?: EnforcementMode;
|
|
10
|
+
shutdown: () => Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=assembly-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assembly-context.d.ts","sourceRoot":"","sources":["../../../src/types/assembly-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assembly-mode.d.ts","sourceRoot":"","sources":["../../../src/types/assembly-mode.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,cAAc,GAAG,gBAAgB,CAAC"}
|