@artemiskit/core 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +12 -0
  3. package/dist/adapters/types.d.ts +7 -0
  4. package/dist/adapters/types.d.ts.map +1 -1
  5. package/dist/agent-workflow/catalog.d.ts +2 -1
  6. package/dist/agent-workflow/catalog.d.ts.map +1 -1
  7. package/dist/agent-workflow/environment.d.ts +47 -0
  8. package/dist/agent-workflow/environment.d.ts.map +1 -0
  9. package/dist/agent-workflow/index.d.ts +4 -1
  10. package/dist/agent-workflow/index.d.ts.map +1 -1
  11. package/dist/agent-workflow/parser.d.ts +1 -1
  12. package/dist/agent-workflow/parser.d.ts.map +1 -1
  13. package/dist/agent-workflow/sandbox-fixtures/qualify.d.ts +2 -0
  14. package/dist/agent-workflow/sandbox-fixtures/qualify.d.ts.map +1 -0
  15. package/dist/agent-workflow/sandbox.d.ts +12 -0
  16. package/dist/agent-workflow/sandbox.d.ts.map +1 -0
  17. package/dist/agent-workflow/schema.d.ts +117 -7
  18. package/dist/agent-workflow/schema.d.ts.map +1 -1
  19. package/dist/agent-workflow/session.d.ts +113 -0
  20. package/dist/agent-workflow/session.d.ts.map +1 -0
  21. package/dist/agent-workflow/target.d.ts +20 -7
  22. package/dist/agent-workflow/target.d.ts.map +1 -1
  23. package/dist/index.js +1366 -21
  24. package/package.json +1 -1
  25. package/src/adapters/types.ts +7 -0
  26. package/src/agent-workflow/catalog.ts +4 -3
  27. package/src/agent-workflow/environment.ts +207 -0
  28. package/src/agent-workflow/index.ts +5 -1
  29. package/src/agent-workflow/parser.ts +1 -1
  30. package/src/agent-workflow/sandbox-fixtures/qualify.ts +305 -0
  31. package/src/agent-workflow/sandbox.test.ts +117 -0
  32. package/src/agent-workflow/sandbox.ts +438 -0
  33. package/src/agent-workflow/schema.ts +18 -2
  34. package/src/agent-workflow/session.test.ts +629 -0
  35. package/src/agent-workflow/session.ts +1119 -0
  36. package/src/agent-workflow/target.test.ts +5 -1
  37. package/src/agent-workflow/target.ts +82 -17
@@ -0,0 +1,113 @@
1
+ import type { TokenUsage } from '../adapters/types.js';
2
+ import { type WorkflowEnvironmentFactory, type WorkflowState } from './environment.js';
3
+ import { type AgentWorkflow } from './schema.js';
4
+ import type { AgentTarget, AgentTurnRequest } from './target.js';
5
+ export type AgentWorkflowExecution = 'completed' | 'unsupported' | 'invalid' | 'failed' | 'cancelled' | 'timeout' | 'budget_exceeded';
6
+ export type AgentWorkflowReason = 'finished' | 'invalid_workflow' | 'invalid_options' | 'invalid_fixture' | 'target_unavailable' | 'invalid_response' | 'target_error' | 'tool_use_unsupported' | 'preflight_failed' | 'environment_unavailable' | 'invalid_environment' | 'tool_failed' | 'policy_denied' | 'cancelled' | 'deadline' | 'max_actions' | 'max_model_requests' | 'max_tool_calls' | 'max_tokens' | 'usage_unavailable' | 'transcript_limit';
7
+ export interface AgentWorkflowEvent {
8
+ sequence: number;
9
+ elapsedMs: number;
10
+ type: 'started' | 'model_requested' | 'model_completed' | 'tool_requested' | 'tool_completed' | 'preflight_completed' | 'finished';
11
+ phase: 'execution' | 'preflight';
12
+ operationId?: string;
13
+ requestedCallIdHash?: string;
14
+ tool?: string;
15
+ status?: 'completed' | 'denied' | 'invalid' | 'failed';
16
+ }
17
+ export interface AgentWorkflowRecord {
18
+ schemaVersion: '1';
19
+ engine: 'native';
20
+ execution: AgentWorkflowExecution;
21
+ reason: AgentWorkflowReason;
22
+ policy: 'passed' | 'denied';
23
+ configuration?: {
24
+ sha256: string;
25
+ provider: {
26
+ sha256: string;
27
+ display?: string;
28
+ };
29
+ model: {
30
+ sha256: string;
31
+ display?: string;
32
+ };
33
+ generation: {
34
+ maxTokens: number;
35
+ temperature: number;
36
+ };
37
+ limits: AgentWorkflow['environment']['policy']['budgets'];
38
+ };
39
+ taskVerification: 'unavailable';
40
+ environment: 'simulated' | 'sandbox' | 'unknown';
41
+ capability: {
42
+ advertised: boolean | null;
43
+ transportCancellation: boolean;
44
+ preflight: 'not_requested' | 'passed' | 'failed';
45
+ observedModelHash?: string;
46
+ observedModel?: {
47
+ sha256: string;
48
+ display?: string;
49
+ };
50
+ };
51
+ usage: {
52
+ status: 'reported' | 'partial' | 'unavailable';
53
+ reported: TokenUsage;
54
+ missingRequests: number;
55
+ inFlightUnknown: boolean;
56
+ preflight: TokenUsage;
57
+ };
58
+ budgets: {
59
+ actions: number;
60
+ modelRequests: number;
61
+ toolCalls: number;
62
+ modelRequestAccounting: 'target_invocations';
63
+ transportAttempts: 'unavailable';
64
+ tokenOvershoot: number;
65
+ elapsedMs: number;
66
+ };
67
+ cleanup: {
68
+ status: 'completed' | 'unresolved';
69
+ artifacts: 'discarded' | 'retained' | 'unknown';
70
+ pendingOperations: number;
71
+ };
72
+ artifacts: {
73
+ state: 'available' | 'unavailable';
74
+ stateSha256?: string;
75
+ files?: {
76
+ pathSha256: string;
77
+ contentSha256: string;
78
+ bytes: number;
79
+ }[];
80
+ omittedFiles?: number;
81
+ };
82
+ events: AgentWorkflowEvent[];
83
+ droppedEvents: number;
84
+ }
85
+ export interface AgentWorkflowResult {
86
+ /** Metadata only. Safe default persistence boundary, never contains model text or fixture content. */
87
+ record: AgentWorkflowRecord;
88
+ /** Sensitive working data; persist only with an explicit application policy. */
89
+ state: WorkflowState | null;
90
+ transcript: AgentTurnRequest['messages'];
91
+ }
92
+ export interface AgentWorkflowSessionOptions {
93
+ workflow: AgentWorkflow;
94
+ target: AgentTarget;
95
+ fixtureRoot?: string;
96
+ environmentFactory?: WorkflowEnvironmentFactory;
97
+ preflight?: boolean;
98
+ preflightOnly?: boolean;
99
+ signal?: AbortSignal;
100
+ /** Total bounded drain/snapshot/close period: 1000 ms simulated, 6000 ms sandbox by default. */
101
+ cleanupTimeoutMs?: number;
102
+ onEvent?: (event: AgentWorkflowEvent) => void;
103
+ }
104
+ export interface AgentWorkflowSession {
105
+ readonly state: 'idle' | 'running' | 'cancelling' | 'completed';
106
+ run(): Promise<AgentWorkflowResult>;
107
+ cancel(): void;
108
+ events(): AsyncIterable<AgentWorkflowEvent>;
109
+ }
110
+ /** Native host-owned loop. No adapter or model may change authority or replenish run budgets. */
111
+ export declare function createAgentWorkflowSession(options: AgentWorkflowSessionOptions): AgentWorkflowSession;
112
+ export declare function runAgentWorkflow(options: AgentWorkflowSessionOptions): Promise<AgentWorkflowResult>;
113
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent-workflow/session.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import type { ModelClient, TokenUsage, ToolCall } from '../adapters/types.js';
3
- declare const requestSchema: z.ZodObject<{
3
+ export declare const agentTurnRequestSchema: z.ZodObject<{
4
4
  messages: z.ZodArray<z.ZodObject<{
5
5
  role: z.ZodEnum<["system", "user", "assistant", "tool"]>;
6
6
  content: z.ZodString;
@@ -187,16 +187,22 @@ declare const requestSchema: z.ZodObject<{
187
187
  }[];
188
188
  model?: string | undefined;
189
189
  }>;
190
- export type AgentTurnRequest = z.infer<typeof requestSchema>;
190
+ export type AgentTurnRequest = z.infer<typeof agentTurnRequestSchema>;
191
191
  export type AgentTargetFailure = {
192
+ rejectedCall?: {
193
+ requestedCallIdHash: string;
194
+ tool: string;
195
+ reason: 'undeclared_tool' | 'invalid_arguments' | 'duplicate_id';
196
+ };
197
+ tokens?: TokenUsage;
198
+ usageAvailable?: boolean;
192
199
  status: 'unsupported' | 'invalid' | 'error';
193
200
  code: 'invalid_request' | 'tool_use_unsupported' | 'invalid_response' | 'target_error' | 'timeout' | 'aborted';
194
201
  };
195
202
  export type AgentTargetCapabilities = {
196
203
  status: 'available';
197
204
  toolUse: boolean;
198
- /** ModelClient has no AbortSignal contract. Timeouts bound waiting, not transport work. */
199
- transportCancellation: false;
205
+ transportCancellation: boolean;
200
206
  };
201
207
  export type AgentTurnResult = AgentTargetFailure | {
202
208
  status: 'completed';
@@ -209,6 +215,7 @@ export type AgentTurnResult = AgentTargetFailure | {
209
215
  };
210
216
  /** Adapter-reported counts only; zero can mean unavailable in existing adapters. */
211
217
  tokens: TokenUsage;
218
+ usageAvailable?: boolean;
212
219
  latencyMs: number;
213
220
  finishReason?: 'stop' | 'length' | 'tool_calls' | 'content_filter';
214
221
  };
@@ -219,12 +226,18 @@ export interface AgentTarget {
219
226
  timeoutMs: number;
220
227
  }, signal?: AbortSignal): Promise<AgentTargetCapabilities | AgentTargetFailure>;
221
228
  turn(request: AgentTurnRequest, signal?: AbortSignal): Promise<AgentTurnResult>;
229
+ /** Wait for underlying callbacks hidden behind a bounded turn facade. */
230
+ drain?(options: {
231
+ timeoutMs: number;
232
+ }): Promise<{
233
+ pendingOperations: number;
234
+ }>;
222
235
  }
236
+ export declare function validWorkflowTranscript(messages: AgentTurnRequest['messages']): boolean;
223
237
  /**
224
- * Bridge existing adapters without provider-specific dispatch. Callers must configure adapter
225
- * transport timeouts/retries separately: cancellation here cannot stop an in-flight provider call.
238
+ * Bridge existing adapters without provider-specific dispatch. Workflow calls disable supported
239
+ * transport retries and propagate abort only when the adapter declares transport cancellation.
226
240
  * Returned text/tool arguments are working conversation data, not sanitized retained evidence.
227
241
  */
228
242
  export declare function createModelClientTarget(client: ModelClient): AgentTarget;
229
- export {};
230
243
  //# sourceMappingURL=target.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/agent-workflow/target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAmB,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAqB5F,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCR,CAAC;AAkBZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5C,IAAI,EACA,iBAAiB,GACjB,sBAAsB,GACtB,kBAAkB,GAClB,cAAc,GACd,SAAS,GACT,SAAS,CAAC;CACf,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,qBAAqB,EAAE,KAAK,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;IACzE,oFAAoF;IACpF,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,CAAC;CACpE,CAAC;AAEN,qGAAqG;AACrG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,YAAY,CACV,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,CAAC;IACzD,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACjF;AA0DD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAiHxE"}
1
+ {"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/agent-workflow/target.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAmB,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAsB5F,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCxB,CAAC;AAmBZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE;QACb,mBAAmB,EAAE,MAAM,CAAC;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,cAAc,CAAC;KAClE,CAAC;IACF,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5C,IAAI,EACA,iBAAiB,GACjB,sBAAsB,GACtB,kBAAkB,GAClB,cAAc,GACd,SAAS,GACT,SAAS,CAAC;CACf,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;IACzE,oFAAoF;IACpF,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,CAAC;CACpE,CAAC;AAEN,qGAAqG;AACrG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,YAAY,CACV,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,CAAC;IACzD,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAChF,yEAAyE;IACzE,KAAK,CAAC,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChF;AAgCD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,OAAO,CAwBvF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAsKxE"}