@agentplat/runtime 0.3.0-beta.2 → 0.3.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +63 -0
  2. package/dist/adapter-bridge.d.ts +14 -0
  3. package/dist/adapter-bridge.d.ts.map +1 -0
  4. package/dist/adapter-bridge.js +267 -0
  5. package/dist/adapter-bridge.js.map +1 -0
  6. package/dist/adapter-contracts.d.ts +351 -0
  7. package/dist/adapter-contracts.d.ts.map +1 -0
  8. package/dist/adapter-contracts.js +2 -0
  9. package/dist/adapter-contracts.js.map +1 -0
  10. package/dist/adapter-errors.d.ts +6 -0
  11. package/dist/adapter-errors.d.ts.map +1 -0
  12. package/dist/adapter-errors.js +9 -0
  13. package/dist/adapter-errors.js.map +1 -0
  14. package/dist/adapter-registry.d.ts +25 -0
  15. package/dist/adapter-registry.d.ts.map +1 -0
  16. package/dist/adapter-registry.js +116 -0
  17. package/dist/adapter-registry.js.map +1 -0
  18. package/dist/adapter-runtime.d.ts +41 -0
  19. package/dist/adapter-runtime.d.ts.map +1 -0
  20. package/dist/adapter-runtime.js +591 -0
  21. package/dist/adapter-runtime.js.map +1 -0
  22. package/dist/adapter-store.d.ts +9 -0
  23. package/dist/adapter-store.d.ts.map +1 -0
  24. package/dist/adapter-store.js +26 -0
  25. package/dist/adapter-store.js.map +1 -0
  26. package/dist/adapter-validation.d.ts +39 -0
  27. package/dist/adapter-validation.d.ts.map +1 -0
  28. package/dist/adapter-validation.js +853 -0
  29. package/dist/adapter-validation.js.map +1 -0
  30. package/dist/adapter.d.ts +9 -0
  31. package/dist/adapter.d.ts.map +1 -0
  32. package/dist/adapter.js +9 -0
  33. package/dist/adapter.js.map +1 -0
  34. package/dist/cognitive-adapter.d.ts +259 -0
  35. package/dist/cognitive-adapter.d.ts.map +1 -0
  36. package/dist/cognitive-adapter.js +813 -0
  37. package/dist/cognitive-adapter.js.map +1 -0
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -0
  41. package/dist/index.js.map +1 -1
  42. package/package.json +13 -5
@@ -0,0 +1,351 @@
1
+ import type { AgentPlatID, JsonObject, JsonValue, Metadata, TenantContext } from "@agentplat/core";
2
+ import type { AgentDefinition, AgentProvider, AgentRunInput, AgentRunResult, RuntimeExecutionContext } from "./index.js";
3
+ export declare const PORTABLE_AGENT_ADAPTER_SCHEMA_VERSION: 1;
4
+ export type PortableAgentKindV1 = "language_model" | "vision_language_model" | "vision_language_action" | "policy" | "symbolic" | "hybrid" | "custom";
5
+ export type PortableAgentModalityV1 = "text" | "image" | "audio" | "video" | "structured" | "sensor" | "action";
6
+ export type PortableAgentInteractionModeV1 = "invoke" | "stream" | "observe_act";
7
+ export type PortableAgentControlPointV1 = "pre_step" | "post_output" | "pre_action";
8
+ /**
9
+ * Stable, serializable description of one adapter implementation. The
10
+ * implementation ID is deployment-owned and must change whenever behavior
11
+ * that affects replay or recovery changes.
12
+ */
13
+ export interface PortableAgentAdapterManifestV1 {
14
+ readonly schemaVersion: 1;
15
+ readonly adapterId: AgentPlatID;
16
+ readonly adapterVersion: string;
17
+ readonly implementationId: AgentPlatID;
18
+ readonly agentKinds: readonly PortableAgentKindV1[];
19
+ readonly inputModalities: readonly PortableAgentModalityV1[];
20
+ readonly outputModalities: readonly PortableAgentModalityV1[];
21
+ readonly interactionModes: readonly PortableAgentInteractionModeV1[];
22
+ readonly controlPoints: readonly PortableAgentControlPointV1[];
23
+ readonly supportsCancellation: boolean;
24
+ readonly supportsCheckpoint: boolean;
25
+ readonly supportsRestore: boolean;
26
+ readonly maximumObservationBytes: number;
27
+ readonly maximumOutputBytes: number;
28
+ readonly maximumActionBytes: number;
29
+ readonly maximumStepsPerSession: number;
30
+ }
31
+ export interface PortableAgentAdapterRequirementsV1 {
32
+ readonly agentKinds?: readonly PortableAgentKindV1[];
33
+ readonly inputModalities: readonly PortableAgentModalityV1[];
34
+ readonly outputModalities: readonly PortableAgentModalityV1[];
35
+ readonly interactionMode: PortableAgentInteractionModeV1;
36
+ readonly controlPoints: readonly PortableAgentControlPointV1[];
37
+ readonly requireCancellation?: boolean;
38
+ readonly requireCheckpoint?: boolean;
39
+ readonly requireRestore?: boolean;
40
+ }
41
+ export type PortableAgentAdapterNegotiationV1 = {
42
+ readonly accepted: true;
43
+ readonly manifest: PortableAgentAdapterManifestV1;
44
+ } | {
45
+ readonly accepted: false;
46
+ readonly manifest: PortableAgentAdapterManifestV1;
47
+ readonly missing: readonly string[];
48
+ };
49
+ export type PortableAgentSourceZoneV1 = "operator_trusted" | "objective_trusted" | "local_trusted" | "environment_untrusted" | "peer_untrusted" | "tool_untrusted" | "provider_untrusted";
50
+ export interface PortableContentReferenceV1 {
51
+ readonly uri: string;
52
+ readonly mediaType: string;
53
+ readonly byteLength: number;
54
+ readonly contentDigest: string;
55
+ }
56
+ /** Peer-local input. Exactly one of content or contentReference is present. */
57
+ export interface PortableAgentObservationV1 {
58
+ readonly schemaVersion: 1;
59
+ readonly observationId: AgentPlatID;
60
+ readonly sourceZone: PortableAgentSourceZoneV1;
61
+ readonly sourceId: AgentPlatID;
62
+ readonly modality: PortableAgentModalityV1;
63
+ readonly content: JsonValue | null;
64
+ readonly contentReference: PortableContentReferenceV1 | null;
65
+ readonly provenance: Metadata;
66
+ readonly observedAtLogicalMs: number;
67
+ }
68
+ /**
69
+ * Local role context for a session. It is alignment context, never assignment
70
+ * authority, an action grant, a lease or a fencing token.
71
+ */
72
+ export interface PortableAgentRoleBindingV1 {
73
+ readonly schemaVersion: 1;
74
+ readonly roleBindingId: AgentPlatID;
75
+ readonly roleRevision: number;
76
+ readonly predecessorRoleBindingId: AgentPlatID | null;
77
+ readonly objectiveId: AgentPlatID;
78
+ readonly roleKey: string;
79
+ readonly instructions: readonly string[];
80
+ readonly constraints: JsonObject;
81
+ readonly validFromLogicalMs: number;
82
+ readonly validUntilLogicalMs: number;
83
+ }
84
+ export interface PortableAgentStepRequestV1 {
85
+ readonly schemaVersion: 1;
86
+ readonly stepId: AgentPlatID;
87
+ readonly expectedSessionRevision: number;
88
+ readonly interactionMode: PortableAgentInteractionModeV1;
89
+ readonly observations: readonly PortableAgentObservationV1[];
90
+ readonly input: JsonObject | null;
91
+ readonly requestedOutputModalities: readonly PortableAgentModalityV1[];
92
+ readonly logicalTimeMs: number;
93
+ }
94
+ export interface PortableAgentOutputV1 {
95
+ readonly schemaVersion: 1;
96
+ readonly outputId: AgentPlatID;
97
+ readonly modality: PortableAgentModalityV1;
98
+ readonly content: JsonValue | null;
99
+ readonly contentReference: PortableContentReferenceV1 | null;
100
+ readonly metadata: Metadata;
101
+ }
102
+ /** An action proposal is inert data until a separate authority gateway accepts it. */
103
+ export interface PortableAgentActionProposalV1 {
104
+ readonly schemaVersion: 1;
105
+ readonly actionId: AgentPlatID;
106
+ readonly actionClass: string;
107
+ readonly input: JsonObject;
108
+ readonly riskClass: "low" | "moderate" | "high";
109
+ readonly metadata: Metadata;
110
+ }
111
+ export interface PortableAgentCheckpointV1 {
112
+ readonly schemaVersion: 1;
113
+ readonly checkpointId: AgentPlatID;
114
+ readonly sessionId: AgentPlatID;
115
+ readonly adapterId: AgentPlatID;
116
+ readonly adapterVersion: string;
117
+ readonly implementationId: AgentPlatID;
118
+ readonly throughStepSequence: number;
119
+ readonly stateReference: string;
120
+ readonly stateDigest: string;
121
+ readonly createdAt: string;
122
+ }
123
+ /**
124
+ * Closed, JSON-safe state exported for transfer to another compatible session.
125
+ * The adapter is responsible for excluding credentials, prompts, hidden
126
+ * reasoning, private keys and any other non-transferable process state.
127
+ */
128
+ export interface PortableAgentCheckpointTransferV1 {
129
+ readonly schemaVersion: 1;
130
+ readonly contentClass: "portable_application_state";
131
+ readonly tenantId: AgentPlatID;
132
+ readonly objectiveId: AgentPlatID;
133
+ readonly sourceSessionId: AgentPlatID;
134
+ readonly sourceAgentId: AgentPlatID;
135
+ readonly sourceSessionRevision: number;
136
+ readonly roleBindingId: AgentPlatID;
137
+ readonly adapterId: AgentPlatID;
138
+ readonly adapterVersion: string;
139
+ readonly implementationId: AgentPlatID;
140
+ readonly checkpoint: PortableAgentCheckpointV1;
141
+ readonly state: JsonValue;
142
+ readonly exportedAt: string;
143
+ }
144
+ export interface PortableAgentAdapterCheckpointExportInputV1 {
145
+ readonly schemaVersion: 1;
146
+ readonly tenantId: AgentPlatID;
147
+ readonly objectiveId: AgentPlatID;
148
+ readonly sessionId: AgentPlatID;
149
+ readonly agentId: AgentPlatID;
150
+ readonly role: PortableAgentRoleBindingV1;
151
+ readonly checkpoint: PortableAgentCheckpointV1;
152
+ }
153
+ export interface PortableAgentAdapterCheckpointExportResultV1 {
154
+ readonly schemaVersion: 1;
155
+ readonly contentClass: "portable_application_state";
156
+ readonly state: JsonValue;
157
+ }
158
+ export interface PortableAgentAdapterCheckpointImportInputV1 {
159
+ readonly schemaVersion: 1;
160
+ readonly tenantId: AgentPlatID;
161
+ readonly objectiveId: AgentPlatID;
162
+ readonly targetSessionId: AgentPlatID;
163
+ readonly targetAgentId: AgentPlatID;
164
+ readonly targetRole: PortableAgentRoleBindingV1;
165
+ readonly transfer: PortableAgentCheckpointTransferV1;
166
+ }
167
+ export interface PortableAgentStepResultV1 {
168
+ readonly schemaVersion: 1;
169
+ readonly sessionId: AgentPlatID;
170
+ readonly stepId: AgentPlatID;
171
+ readonly stepSequence: number;
172
+ readonly status: "completed" | "refused" | "paused" | "failed";
173
+ readonly outputs: readonly PortableAgentOutputV1[];
174
+ readonly actionProposals: readonly PortableAgentActionProposalV1[];
175
+ readonly checkpoint: PortableAgentCheckpointV1 | null;
176
+ readonly reasonCode: string | null;
177
+ readonly metadata: Metadata;
178
+ }
179
+ export interface PortableAgentAdapterStepInputV1 {
180
+ readonly schemaVersion: 1;
181
+ readonly sessionId: AgentPlatID;
182
+ readonly tenantId: AgentPlatID;
183
+ readonly agentId: AgentPlatID;
184
+ readonly stepSequence: number;
185
+ readonly role: PortableAgentRoleBindingV1;
186
+ readonly request: PortableAgentStepRequestV1;
187
+ readonly previousCheckpoint: PortableAgentCheckpointV1 | null;
188
+ }
189
+ export interface PortableAgentAdapterCheckpointInputV1 {
190
+ readonly schemaVersion: 1;
191
+ readonly sessionId: AgentPlatID;
192
+ readonly tenantId: AgentPlatID;
193
+ readonly agentId: AgentPlatID;
194
+ readonly throughStepSequence: number;
195
+ readonly previousCheckpoint: PortableAgentCheckpointV1 | null;
196
+ }
197
+ export interface PortableAgentAdapterRestoreInputV1 {
198
+ readonly schemaVersion: 1;
199
+ readonly sessionId: AgentPlatID;
200
+ readonly tenantId: AgentPlatID;
201
+ readonly agentId: AgentPlatID;
202
+ readonly checkpoint: PortableAgentCheckpointV1;
203
+ }
204
+ export interface PortableAgentAdapterContextV1 {
205
+ readonly tenant: TenantContext;
206
+ readonly agentId: AgentPlatID;
207
+ readonly sessionId: AgentPlatID;
208
+ readonly stepId?: AgentPlatID;
209
+ readonly signal: AbortSignal;
210
+ /** Ephemeral credentials are never persisted or supplied to controls. */
211
+ readonly credentials?: Readonly<Record<string, string>>;
212
+ readonly metadata?: Metadata;
213
+ }
214
+ export interface PortableAgentAdapterV1 {
215
+ step(input: PortableAgentAdapterStepInputV1, context: PortableAgentAdapterContextV1): Promise<PortableAgentStepResultV1>;
216
+ checkpoint?(input: PortableAgentAdapterCheckpointInputV1, context: PortableAgentAdapterContextV1): Promise<PortableAgentCheckpointV1>;
217
+ restore?(input: PortableAgentAdapterRestoreInputV1, context: PortableAgentAdapterContextV1): Promise<void>;
218
+ exportCheckpoint?(input: PortableAgentAdapterCheckpointExportInputV1, context: PortableAgentAdapterContextV1): Promise<PortableAgentAdapterCheckpointExportResultV1>;
219
+ importCheckpoint?(input: PortableAgentAdapterCheckpointImportInputV1, context: PortableAgentAdapterContextV1): Promise<PortableAgentCheckpointV1>;
220
+ }
221
+ export interface PortableAgentControlRequestV1 {
222
+ readonly schemaVersion: 1;
223
+ readonly checkpoint: PortableAgentControlPointV1;
224
+ /** One-based execution ordinal; unlike session revision, lifecycle changes do not advance it. */
225
+ readonly stepSequence: number;
226
+ /** Zero-based item ordinal within this checkpoint; pre_step is always zero. */
227
+ readonly checkpointItemIndex?: number;
228
+ readonly manifest: PortableAgentAdapterManifestV1;
229
+ readonly sessionId: AgentPlatID;
230
+ readonly tenantId: AgentPlatID;
231
+ readonly agentId: AgentPlatID;
232
+ readonly role: PortableAgentRoleBindingV1;
233
+ readonly request: PortableAgentStepRequestV1;
234
+ readonly output: PortableAgentOutputV1 | null;
235
+ readonly actionProposal: PortableAgentActionProposalV1 | null;
236
+ }
237
+ export interface PortableAgentControlDecisionV1 {
238
+ readonly disposition: "allow" | "deny" | "abstain" | "escalate";
239
+ readonly reasonCode: string;
240
+ }
241
+ export interface PortableAgentControlPortV1 {
242
+ readonly controlId: AgentPlatID;
243
+ readonly controlVersion: number;
244
+ readonly implementationId: AgentPlatID;
245
+ evaluate(request: PortableAgentControlRequestV1): PortableAgentControlDecisionV1 | Promise<PortableAgentControlDecisionV1>;
246
+ }
247
+ export interface PortableAgentStepRecordV1 {
248
+ readonly schemaVersion: 1;
249
+ readonly stepId: AgentPlatID;
250
+ readonly stepSequence: number;
251
+ readonly roleBindingId: AgentPlatID;
252
+ readonly roleRevision: number;
253
+ readonly interactionMode: PortableAgentInteractionModeV1;
254
+ readonly status: PortableAgentStepResultV1["status"];
255
+ readonly request: PortableAgentStepRequestV1;
256
+ readonly result: PortableAgentStepResultV1;
257
+ readonly startedAt: string;
258
+ readonly completedAt: string;
259
+ }
260
+ export type PortableAgentSessionStatusV1 = "active" | "paused" | "closed" | "failed";
261
+ export interface PortableAgentSessionSnapshotV1 {
262
+ readonly schemaVersion: 1;
263
+ readonly sessionId: AgentPlatID;
264
+ readonly tenantId: AgentPlatID;
265
+ readonly agentId: AgentPlatID;
266
+ readonly objectiveId: AgentPlatID;
267
+ readonly manifest: PortableAgentAdapterManifestV1;
268
+ readonly controlBinding: {
269
+ readonly controlId: AgentPlatID;
270
+ readonly controlVersion: number;
271
+ readonly implementationId: AgentPlatID;
272
+ };
273
+ readonly role: PortableAgentRoleBindingV1;
274
+ readonly status: PortableAgentSessionStatusV1;
275
+ readonly revision: number;
276
+ readonly nextStepSequence: number;
277
+ readonly stepRecords: readonly PortableAgentStepRecordV1[];
278
+ readonly checkpoint: PortableAgentCheckpointV1 | null;
279
+ readonly metadata: Metadata;
280
+ readonly createdAt: string;
281
+ readonly updatedAt: string;
282
+ readonly closedAt: string | null;
283
+ }
284
+ /** Atomic revision-checked persistence boundary. */
285
+ export interface PortableAgentStateStoreV1 {
286
+ load(sessionId: AgentPlatID): Promise<PortableAgentSessionSnapshotV1 | undefined>;
287
+ save(snapshot: PortableAgentSessionSnapshotV1, expectedRevision: number | null): Promise<void>;
288
+ }
289
+ export interface CreatePortableAgentSessionInputV1 {
290
+ readonly sessionId: AgentPlatID;
291
+ readonly tenant: TenantContext;
292
+ readonly agentId: AgentPlatID;
293
+ readonly adapterId: AgentPlatID;
294
+ readonly adapterVersion: string;
295
+ readonly requirements: PortableAgentAdapterRequirementsV1;
296
+ readonly role: PortableAgentRoleBindingV1;
297
+ readonly metadata?: Metadata;
298
+ }
299
+ export interface PortableAgentStepOptionsV1 {
300
+ readonly signal?: AbortSignal;
301
+ /** Current tenant context is ephemeral; only tenantId is persisted. */
302
+ readonly tenant?: TenantContext;
303
+ readonly credentials?: Readonly<Record<string, string>>;
304
+ readonly metadata?: Metadata;
305
+ }
306
+ export interface PortableAgentStepOutcomeV1 {
307
+ readonly session: PortableAgentSessionSnapshotV1;
308
+ readonly record: PortableAgentStepRecordV1;
309
+ }
310
+ export interface PortableAgentSessionRuntimeOptionsV1 {
311
+ readonly registry: PortableAgentAdapterRegistryPortV1;
312
+ readonly control: PortableAgentControlPortV1;
313
+ readonly stateStore?: PortableAgentStateStoreV1;
314
+ readonly maximumSessionSnapshotBytes?: number;
315
+ readonly clock?: () => Date;
316
+ }
317
+ export interface PortableAgentAdapterRegistryPortV1 {
318
+ resolve(input: {
319
+ readonly adapterId: AgentPlatID;
320
+ readonly adapterVersion: string;
321
+ }): {
322
+ readonly manifest: PortableAgentAdapterManifestV1;
323
+ readonly adapter: PortableAgentAdapterV1;
324
+ } | undefined;
325
+ negotiate(manifest: PortableAgentAdapterManifestV1, requirements: PortableAgentAdapterRequirementsV1): PortableAgentAdapterNegotiationV1;
326
+ }
327
+ export interface AgentRuntimePortableAdapterOptionsV1 {
328
+ readonly manifest: PortableAgentAdapterManifestV1;
329
+ readonly runtime: {
330
+ run(agent: AgentDefinition, input: AgentRunInput, context: RuntimeExecutionContext): Promise<AgentRunResult>;
331
+ };
332
+ readonly agent: AgentDefinition;
333
+ }
334
+ export interface PortableAgentProviderOptionsV1 {
335
+ readonly sessionRuntime: PortableAgentSessionRuntimePortV1;
336
+ readonly resolveSessionId: (agent: AgentDefinition) => AgentPlatID;
337
+ readonly mapInput?: (input: AgentRunInput) => JsonObject;
338
+ readonly logicalClock?: () => number;
339
+ }
340
+ export interface PortableAgentSessionRuntimePortV1 {
341
+ getSession(sessionId: AgentPlatID): Promise<PortableAgentSessionSnapshotV1 | undefined>;
342
+ step(sessionId: AgentPlatID, request: PortableAgentStepRequestV1, options?: PortableAgentStepOptionsV1): Promise<PortableAgentStepOutcomeV1>;
343
+ }
344
+ /** Optional transfer surface for runtimes that support cross-peer handoff. */
345
+ export interface PortableAgentTransferSessionRuntimePortV1 extends PortableAgentSessionRuntimePortV1 {
346
+ exportCheckpoint(sessionId: AgentPlatID, options?: PortableAgentStepOptionsV1): Promise<PortableAgentCheckpointTransferV1>;
347
+ importCheckpoint(sessionId: AgentPlatID, transfer: PortableAgentCheckpointTransferV1, expectedRevision: number, options?: PortableAgentStepOptionsV1): Promise<PortableAgentSessionSnapshotV1>;
348
+ resume(sessionId: AgentPlatID, options?: PortableAgentStepOptionsV1): Promise<PortableAgentSessionSnapshotV1>;
349
+ }
350
+ export type PortableAgentProviderV1 = AgentProvider;
351
+ //# sourceMappingURL=adapter-contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-contracts.d.ts","sourceRoot":"","sources":["../src/adapter-contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export const PORTABLE_AGENT_ADAPTER_SCHEMA_VERSION = 1;
2
+ //# sourceMappingURL=adapter-contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-contracts.js","sourceRoot":"","sources":["../src/adapter-contracts.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type PortableAgentErrorCodeV1 = "VALIDATION_ERROR" | "NOT_FOUND" | "CONFLICT" | "STATE_CONFLICT" | "STATE_INVALID" | "SESSION_ACTIVE" | "SESSION_NOT_ACTIVE" | "ADAPTER_INCOMPATIBLE" | "CONTROL_DENIED";
2
+ export declare class PortableAgentErrorV1 extends Error {
3
+ readonly code: PortableAgentErrorCodeV1;
4
+ constructor(code: PortableAgentErrorCodeV1, message: string);
5
+ }
6
+ //# sourceMappingURL=adapter-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-errors.d.ts","sourceRoot":"","sources":["../src/adapter-errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAChC,kBAAkB,GAClB,WAAW,GACX,UAAU,GACV,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACpB,sBAAsB,GACtB,gBAAgB,CAAC;AAErB,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;gBAE5B,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM;CAK5D"}
@@ -0,0 +1,9 @@
1
+ export class PortableAgentErrorV1 extends Error {
2
+ code;
3
+ constructor(code, message) {
4
+ super(message);
5
+ this.name = "PortableAgentErrorV1";
6
+ this.code = code;
7
+ }
8
+ }
9
+ //# sourceMappingURL=adapter-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-errors.js","sourceRoot":"","sources":["../src/adapter-errors.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,CAA2B;IAExC,YAAY,IAA8B,EAAE,OAAe;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ import type { PortableAgentAdapterManifestV1, PortableAgentAdapterNegotiationV1, PortableAgentAdapterRegistryPortV1, PortableAgentAdapterRequirementsV1, PortableAgentAdapterV1 } from "./adapter-contracts.js";
2
+ export interface RegisterPortableAgentAdapterInputV1 {
3
+ readonly manifest: PortableAgentAdapterManifestV1;
4
+ readonly adapter: PortableAgentAdapterV1;
5
+ }
6
+ export interface RegisteredPortableAgentAdapterV1 {
7
+ readonly manifest: PortableAgentAdapterManifestV1;
8
+ readonly adapter: PortableAgentAdapterV1;
9
+ }
10
+ /** Process-local registry with deterministic, explicit compatibility negotiation. */
11
+ export declare class PortableAgentAdapterRegistryV1 implements PortableAgentAdapterRegistryPortV1 {
12
+ private readonly adapters;
13
+ register(input: RegisterPortableAgentAdapterInputV1): this;
14
+ unregister(input: {
15
+ readonly adapterId: string;
16
+ readonly adapterVersion: string;
17
+ }): boolean;
18
+ resolve(input: {
19
+ readonly adapterId: string;
20
+ readonly adapterVersion: string;
21
+ }): RegisteredPortableAgentAdapterV1 | undefined;
22
+ list(): readonly PortableAgentAdapterManifestV1[];
23
+ negotiate(manifestInput: PortableAgentAdapterManifestV1, requirementsInput: PortableAgentAdapterRequirementsV1): PortableAgentAdapterNegotiationV1;
24
+ }
25
+ //# sourceMappingURL=adapter-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-registry.d.ts","sourceRoot":"","sources":["../src/adapter-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,iCAAiC,EACjC,kCAAkC,EAClC,kCAAkC,EAClC,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAShC,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,qFAAqF;AACrF,qBAAa,8BAA+B,YAAW,kCAAkC;IACvF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGrB;IAEJ,QAAQ,CAAC,KAAK,EAAE,mCAAmC,GAAG,IAAI;IA0D1D,UAAU,CAAC,KAAK,EAAE;QAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,GAAG,OAAO;IASX,OAAO,CAAC,KAAK,EAAE;QACb,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,GAAG,gCAAgC,GAAG,SAAS;IAehD,IAAI,IAAI,SAAS,8BAA8B,EAAE;IAajD,SAAS,CACP,aAAa,EAAE,8BAA8B,EAC7C,iBAAiB,EAAE,kCAAkC,GACpD,iCAAiC;CA4CrC"}
@@ -0,0 +1,116 @@
1
+ import { PortableAgentErrorV1 } from "./adapter-errors.js";
2
+ import { cloneAndFreeze, identifier, normalizeAdapterManifestV1, normalizeAdapterRequirementsV1, } from "./adapter-validation.js";
3
+ /** Process-local registry with deterministic, explicit compatibility negotiation. */
4
+ export class PortableAgentAdapterRegistryV1 {
5
+ adapters = new Map();
6
+ register(input) {
7
+ if (!input || typeof input !== "object") {
8
+ throw new PortableAgentErrorV1("VALIDATION_ERROR", "adapter registration is required");
9
+ }
10
+ const manifest = normalizeAdapterManifestV1(input.manifest);
11
+ if (!input.adapter || typeof input.adapter.step !== "function") {
12
+ throw new PortableAgentErrorV1("VALIDATION_ERROR", "adapter.step is required");
13
+ }
14
+ if (manifest.supportsCheckpoint !==
15
+ (typeof input.adapter.checkpoint === "function")) {
16
+ throw new PortableAgentErrorV1("VALIDATION_ERROR", "adapter checkpoint implementation does not match its manifest");
17
+ }
18
+ if (manifest.supportsRestore !==
19
+ (typeof input.adapter.restore === "function")) {
20
+ throw new PortableAgentErrorV1("VALIDATION_ERROR", "adapter restore implementation does not match its manifest");
21
+ }
22
+ const supportsCheckpointTransfer = typeof input.adapter.exportCheckpoint === "function" ||
23
+ typeof input.adapter.importCheckpoint === "function";
24
+ if (supportsCheckpointTransfer &&
25
+ (typeof input.adapter.exportCheckpoint !== "function" ||
26
+ typeof input.adapter.importCheckpoint !== "function" ||
27
+ !manifest.supportsCheckpoint ||
28
+ !manifest.supportsRestore)) {
29
+ throw new PortableAgentErrorV1("VALIDATION_ERROR", "adapter checkpoint transfer requires export, import, checkpoint, and restore support");
30
+ }
31
+ const key = adapterKey(manifest.adapterId, manifest.adapterVersion);
32
+ if (this.adapters.has(key)) {
33
+ throw new PortableAgentErrorV1("CONFLICT", `adapter "${manifest.adapterId}" version "${manifest.adapterVersion}" is already registered`);
34
+ }
35
+ this.adapters.set(key, Object.freeze({ manifest, adapter: input.adapter }));
36
+ return this;
37
+ }
38
+ unregister(input) {
39
+ return this.adapters.delete(adapterKey(identifier(input.adapterId, "adapterId"), version(input.adapterVersion)));
40
+ }
41
+ resolve(input) {
42
+ const registered = this.adapters.get(adapterKey(identifier(input.adapterId, "adapterId"), version(input.adapterVersion)));
43
+ return registered === undefined
44
+ ? undefined
45
+ : Object.freeze({
46
+ manifest: cloneAndFreeze(registered.manifest),
47
+ adapter: registered.adapter,
48
+ });
49
+ }
50
+ list() {
51
+ return Object.freeze([...this.adapters.values()]
52
+ .map(({ manifest }) => cloneAndFreeze(manifest))
53
+ .sort((left, right) => compareAscii(adapterKey(left.adapterId, left.adapterVersion), adapterKey(right.adapterId, right.adapterVersion))));
54
+ }
55
+ negotiate(manifestInput, requirementsInput) {
56
+ const manifest = normalizeAdapterManifestV1(manifestInput);
57
+ const requirements = normalizeAdapterRequirementsV1(requirementsInput);
58
+ const missing = [];
59
+ for (const kind of requirements.agentKinds ?? []) {
60
+ if (!manifest.agentKinds.includes(kind))
61
+ missing.push(`agent_kind:${kind}`);
62
+ }
63
+ for (const modality of requirements.inputModalities) {
64
+ if (!manifest.inputModalities.includes(modality)) {
65
+ missing.push(`input_modality:${modality}`);
66
+ }
67
+ }
68
+ for (const modality of requirements.outputModalities) {
69
+ if (!manifest.outputModalities.includes(modality)) {
70
+ missing.push(`output_modality:${modality}`);
71
+ }
72
+ }
73
+ if (!manifest.interactionModes.includes(requirements.interactionMode)) {
74
+ missing.push(`interaction_mode:${requirements.interactionMode}`);
75
+ }
76
+ for (const point of requirements.controlPoints) {
77
+ if (!manifest.controlPoints.includes(point)) {
78
+ missing.push(`control_point:${point}`);
79
+ }
80
+ }
81
+ if (requirements.requireCancellation && !manifest.supportsCancellation) {
82
+ missing.push("capability:cancellation");
83
+ }
84
+ if (requirements.requireCheckpoint && !manifest.supportsCheckpoint) {
85
+ missing.push("capability:checkpoint");
86
+ }
87
+ if (requirements.requireRestore && !manifest.supportsRestore) {
88
+ missing.push("capability:restore");
89
+ }
90
+ missing.sort(compareAscii);
91
+ return missing.length === 0
92
+ ? Object.freeze({ accepted: true, manifest })
93
+ : Object.freeze({
94
+ accepted: false,
95
+ manifest,
96
+ missing: Object.freeze(missing),
97
+ });
98
+ }
99
+ }
100
+ function adapterKey(adapterId, adapterVersion) {
101
+ return `${adapterId}\u0000${adapterVersion}`;
102
+ }
103
+ function version(input) {
104
+ if (typeof input !== "string" ||
105
+ input.length === 0 ||
106
+ input.length > 128 ||
107
+ input.trim() !== input ||
108
+ /[\u0000-\u001f\u007f]/u.test(input)) {
109
+ throw new PortableAgentErrorV1("VALIDATION_ERROR", "adapterVersion must be bounded text");
110
+ }
111
+ return input;
112
+ }
113
+ function compareAscii(left, right) {
114
+ return left < right ? -1 : left > right ? 1 : 0;
115
+ }
116
+ //# sourceMappingURL=adapter-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-registry.js","sourceRoot":"","sources":["../src/adapter-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { AgentPlatID } from "@agentplat/core";
2
+ import type { CreatePortableAgentSessionInputV1, PortableAgentCheckpointTransferV1, PortableAgentRoleBindingV1, PortableAgentSessionRuntimeOptionsV1, PortableAgentSessionSnapshotV1, PortableAgentStepOptionsV1, PortableAgentStepOutcomeV1, PortableAgentStepRequestV1 } from "./adapter-contracts.js";
3
+ /**
4
+ * Stateful, provider-neutral execution boundary for heterogeneous local agents.
5
+ * Outputs and action proposals remain withheld until fail-closed controls allow
6
+ * every applicable release point.
7
+ */
8
+ export declare class PortableAgentSessionRuntimeV1 {
9
+ private readonly registry;
10
+ private readonly control;
11
+ private readonly stateStore;
12
+ private readonly maximumSessionSnapshotBytes;
13
+ private readonly clock;
14
+ private readonly active;
15
+ constructor(options: PortableAgentSessionRuntimeOptionsV1);
16
+ createSession(input: CreatePortableAgentSessionInputV1): Promise<PortableAgentSessionSnapshotV1>;
17
+ getSession(sessionIdInput: AgentPlatID): Promise<PortableAgentSessionSnapshotV1 | undefined>;
18
+ exportCheckpoint(sessionIdInput: AgentPlatID, options?: PortableAgentStepOptionsV1): Promise<PortableAgentCheckpointTransferV1>;
19
+ importCheckpoint(sessionIdInput: AgentPlatID, transferInput: PortableAgentCheckpointTransferV1, expectedRevision: number, options?: PortableAgentStepOptionsV1): Promise<PortableAgentSessionSnapshotV1>;
20
+ updateRole(sessionIdInput: AgentPlatID, roleInput: PortableAgentRoleBindingV1, expectedRevision: number): Promise<PortableAgentSessionSnapshotV1>;
21
+ step(sessionIdInput: AgentPlatID, requestInput: PortableAgentStepRequestV1, options?: PortableAgentStepOptionsV1): Promise<PortableAgentStepOutcomeV1>;
22
+ pause(sessionIdInput: AgentPlatID, options?: PortableAgentStepOptionsV1): Promise<PortableAgentSessionSnapshotV1>;
23
+ resume(sessionIdInput: AgentPlatID, options?: PortableAgentStepOptionsV1): Promise<PortableAgentSessionSnapshotV1>;
24
+ close(sessionIdInput: AgentPlatID): Promise<PortableAgentSessionSnapshotV1>;
25
+ private executeStep;
26
+ private evaluateControl;
27
+ private refusedResult;
28
+ private pausedResult;
29
+ private failedResult;
30
+ private createCheckpoint;
31
+ private adapterContext;
32
+ private loadBound;
33
+ private assertBoundSnapshot;
34
+ private commit;
35
+ private assertSnapshotSize;
36
+ private requireRevision;
37
+ private controlBinding;
38
+ private now;
39
+ private exclusive;
40
+ }
41
+ //# sourceMappingURL=adapter-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter-runtime.d.ts","sourceRoot":"","sources":["../src/adapter-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA4B,MAAM,iBAAiB,CAAC;AAE7E,OAAO,KAAK,EACV,iCAAiC,EAKjC,iCAAiC,EAGjC,0BAA0B,EAC1B,oCAAoC,EACpC,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAE3B,MAAM,wBAAwB,CAAC;AA2BhC;;;;GAIG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmD;IAC5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkD;IAC1E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAEzB;IACF,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAS;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;gBAE7D,OAAO,EAAE,oCAAoC;IAyCnD,aAAa,CACjB,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,8BAA8B,CAAC;IAyDpC,UAAU,CACd,cAAc,EAAE,WAAW,GAC1B,OAAO,CAAC,8BAA8B,GAAG,SAAS,CAAC;IAOhD,gBAAgB,CACpB,cAAc,EAAE,WAAW,EAC3B,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,iCAAiC,CAAC;IAoEvC,gBAAgB,CACpB,cAAc,EAAE,WAAW,EAC3B,aAAa,EAAE,iCAAiC,EAChD,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC;IA6FpC,UAAU,CACd,cAAc,EAAE,WAAW,EAC3B,SAAS,EAAE,0BAA0B,EACrC,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,8BAA8B,CAAC;IAyBpC,IAAI,CACR,cAAc,EAAE,WAAW,EAC3B,YAAY,EAAE,0BAA0B,EACxC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,0BAA0B,CAAC;IAyEhC,KAAK,CACT,cAAc,EAAE,WAAW,EAC3B,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC;IA6BpC,MAAM,CACV,cAAc,EAAE,WAAW,EAC3B,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,8BAA8B,CAAC;IAoCpC,KAAK,CACT,cAAc,EAAE,WAAW,GAC1B,OAAO,CAAC,8BAA8B,CAAC;YAc5B,WAAW;YAiFX,eAAe;IAqC7B,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,YAAY;YAmBN,gBAAgB;IAgC9B,OAAO,CAAC,cAAc;YA4BR,SAAS;IAcvB,OAAO,CAAC,mBAAmB;YAyBb,MAAM;IAgBpB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,GAAG;YAQG,SAAS;CAwBxB"}