@zhivex-ai/core 0.7.0 → 0.8.0

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 (77) hide show
  1. package/README.md +5 -0
  2. package/dist/advanced-tool-registry.d.ts +112 -0
  3. package/dist/advanced-tool-registry.d.ts.map +1 -0
  4. package/dist/advanced-tool-registry.js +407 -0
  5. package/dist/advanced-tool-registry.js.map +1 -0
  6. package/dist/agent-evaluation.d.ts +176 -0
  7. package/dist/agent-evaluation.d.ts.map +1 -0
  8. package/dist/agent-evaluation.js +334 -0
  9. package/dist/agent-evaluation.js.map +1 -0
  10. package/dist/agent-store.d.ts.map +1 -1
  11. package/dist/agent-store.js +226 -8
  12. package/dist/agent-store.js.map +1 -1
  13. package/dist/agent-trace.d.ts +127 -0
  14. package/dist/agent-trace.d.ts.map +1 -0
  15. package/dist/agent-trace.js +331 -0
  16. package/dist/agent-trace.js.map +1 -0
  17. package/dist/agent.d.ts +12 -1
  18. package/dist/agent.d.ts.map +1 -1
  19. package/dist/agent.js +469 -36
  20. package/dist/agent.js.map +1 -1
  21. package/dist/api-stability.d.ts +9 -0
  22. package/dist/api-stability.d.ts.map +1 -0
  23. package/dist/api-stability.js +261 -0
  24. package/dist/api-stability.js.map +1 -0
  25. package/dist/artifact.d.ts +165 -0
  26. package/dist/artifact.d.ts.map +1 -0
  27. package/dist/artifact.js +994 -0
  28. package/dist/artifact.js.map +1 -0
  29. package/dist/errors.d.ts +2 -0
  30. package/dist/errors.d.ts.map +1 -1
  31. package/dist/errors.js +2 -0
  32. package/dist/errors.js.map +1 -1
  33. package/dist/generate-text.d.ts.map +1 -1
  34. package/dist/generate-text.js +6 -2
  35. package/dist/generate-text.js.map +1 -1
  36. package/dist/index.d.ts +27 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +14 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/live-agent.d.ts.map +1 -1
  41. package/dist/live-agent.js +7 -1
  42. package/dist/live-agent.js.map +1 -1
  43. package/dist/provider-parity.d.ts +63 -0
  44. package/dist/provider-parity.d.ts.map +1 -0
  45. package/dist/provider-parity.js +175 -0
  46. package/dist/provider-parity.js.map +1 -0
  47. package/dist/runner.d.ts +111 -0
  48. package/dist/runner.d.ts.map +1 -0
  49. package/dist/runner.js +635 -0
  50. package/dist/runner.js.map +1 -0
  51. package/dist/safety-policy.d.ts +65 -0
  52. package/dist/safety-policy.d.ts.map +1 -0
  53. package/dist/safety-policy.js +308 -0
  54. package/dist/safety-policy.js.map +1 -0
  55. package/dist/types.d.ts +119 -3
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/workflow-artifacts.d.ts +28 -0
  58. package/dist/workflow-artifacts.d.ts.map +1 -0
  59. package/dist/workflow-artifacts.js +86 -0
  60. package/dist/workflow-artifacts.js.map +1 -0
  61. package/dist/workflow-evaluation-diff.d.ts +51 -0
  62. package/dist/workflow-evaluation-diff.d.ts.map +1 -0
  63. package/dist/workflow-evaluation-diff.js +141 -0
  64. package/dist/workflow-evaluation-diff.js.map +1 -0
  65. package/dist/workflow-evaluation.d.ts +94 -0
  66. package/dist/workflow-evaluation.d.ts.map +1 -0
  67. package/dist/workflow-evaluation.js +210 -0
  68. package/dist/workflow-evaluation.js.map +1 -0
  69. package/dist/workflow-state-service.d.ts +67 -0
  70. package/dist/workflow-state-service.d.ts.map +1 -0
  71. package/dist/workflow-state-service.js +498 -0
  72. package/dist/workflow-state-service.js.map +1 -0
  73. package/dist/workflow.d.ts +206 -0
  74. package/dist/workflow.d.ts.map +1 -0
  75. package/dist/workflow.js +727 -0
  76. package/dist/workflow.js.map +1 -0
  77. package/package.json +1 -1
@@ -0,0 +1,175 @@
1
+ import { getAgentCapabilities } from "./messages.js";
2
+ const boolText = (value) => (value ? "yes" : "no");
3
+ const tierText = (tier) => {
4
+ switch (tier) {
5
+ case "tier-a":
6
+ return "Tier A";
7
+ case "tier-b":
8
+ return "Tier B";
9
+ case "tier-c":
10
+ return "Tier C";
11
+ }
12
+ };
13
+ const hostedSummary = (agent) => {
14
+ const features = [
15
+ agent.hostedWebSearch ? "web search" : undefined,
16
+ agent.hostedFileSearch ? "file search" : undefined,
17
+ agent.remoteMcp ? "remote MCP" : undefined,
18
+ agent.computerUse ? "computer use" : undefined,
19
+ agent.codeExecution ? "code execution" : undefined,
20
+ agent.shell ? "shell" : undefined,
21
+ agent.applyPatch ? "apply patch" : undefined,
22
+ agent.toolSearch ? "tool search" : undefined,
23
+ agent.webExtraction ? "web extraction" : undefined,
24
+ agent.skills ? "skills" : undefined,
25
+ agent.toolsets ? "toolsets" : undefined
26
+ ].filter((feature) => Boolean(feature));
27
+ return features.length ? features.join(", ") : "no";
28
+ };
29
+ const structuredSummary = (model) => model.capabilities.structuredOutput
30
+ ? model.capabilities.jsonMode
31
+ ? "native"
32
+ : "yes"
33
+ : "no";
34
+ const reasoningSummary = (model) => (model.capabilities.reasoning ? "yes" : "no");
35
+ export const inspectProviderAgentSupport = (model) => {
36
+ const agent = getAgentCapabilities(model);
37
+ const hostedTools = Boolean(agent.hostedWebSearch ||
38
+ agent.hostedFileSearch ||
39
+ agent.remoteMcp ||
40
+ agent.computerUse ||
41
+ agent.codeExecution ||
42
+ agent.shell ||
43
+ agent.applyPatch ||
44
+ agent.toolSearch ||
45
+ agent.webExtraction ||
46
+ agent.skills ||
47
+ agent.toolsets);
48
+ return {
49
+ provider: model.provider,
50
+ modelId: model.modelId,
51
+ agentTier: agent.supportTier,
52
+ portableToolLoop: model.capabilities.tools,
53
+ approvalReady: agent.approvalRequests,
54
+ hostedTools,
55
+ remoteMcp: agent.remoteMcp,
56
+ codeExecution: agent.codeExecution,
57
+ shell: agent.shell ?? false,
58
+ realtime: model.capabilities.realtime?.sessions ?? false,
59
+ structuredOutput: model.capabilities.structuredOutput,
60
+ reasoning: model.capabilities.reasoning,
61
+ streaming: model.capabilities.streaming,
62
+ toolChoice: model.capabilities.toolChoice,
63
+ webSearch: model.capabilities.webSearch,
64
+ embeddings: model.capabilities.embeddings,
65
+ audioInput: model.capabilities.audioInput,
66
+ audioOutput: model.capabilities.audioOutput,
67
+ browserTokens: model.capabilities.realtime?.browserTokens ?? false,
68
+ hostedToolSummary: hostedSummary(agent),
69
+ structuredOutputSummary: structuredSummary(model),
70
+ reasoningSummary: reasoningSummary(model)
71
+ };
72
+ };
73
+ export const createProviderSupportMatrix = (entries) => ({
74
+ entries: entries.map((entry) => {
75
+ const model = "model" in entry ? entry.model : entry;
76
+ return {
77
+ ...inspectProviderAgentSupport(model),
78
+ provider: "model" in entry ? entry.provider ?? model.provider : model.provider,
79
+ modelId: "model" in entry ? entry.modelId ?? model.modelId : model.modelId,
80
+ ...("model" in entry ? entry.summary ?? {} : {})
81
+ };
82
+ })
83
+ });
84
+ const row = (values) => `| ${values.join(" | ")} |`;
85
+ export const renderProviderSupportMatrix = (matrix, options = {}) => {
86
+ const format = options.format ?? "markdown";
87
+ if (format !== "markdown") {
88
+ throw new Error(`Unsupported provider support matrix format "${format}".`);
89
+ }
90
+ const header = [
91
+ "Provider",
92
+ "`streamText`",
93
+ "Tools",
94
+ "`toolChoice`",
95
+ "Structured output",
96
+ "Embeddings",
97
+ "Audio in",
98
+ "Audio out",
99
+ "Realtime sessions",
100
+ "Browser tokens",
101
+ "Reasoning",
102
+ "Web search",
103
+ "Hosted tools / MCP",
104
+ "Agent tier"
105
+ ];
106
+ return [
107
+ row(header),
108
+ row(header.map(() => "---")),
109
+ ...matrix.entries.map((entry) => row([
110
+ entry.provider,
111
+ boolText(entry.streaming),
112
+ boolText(entry.portableToolLoop),
113
+ boolText(entry.toolChoice),
114
+ entry.structuredOutputSummary ?? boolText(entry.structuredOutput),
115
+ boolText(entry.embeddings),
116
+ boolText(entry.audioInput),
117
+ boolText(entry.audioOutput),
118
+ boolText(entry.realtime),
119
+ boolText(entry.browserTokens),
120
+ entry.reasoningSummary ?? boolText(entry.reasoning),
121
+ boolText(entry.webSearch),
122
+ entry.hostedToolSummary ?? boolText(entry.hostedTools),
123
+ tierText(entry.agentTier)
124
+ ]))
125
+ ].join("\n");
126
+ };
127
+ const entryKey = (entry, includeModel = true) => includeModel ? `${entry.provider}:${entry.modelId}` : entry.provider;
128
+ export const createProviderSupportDriftReport = (actual, expected) => {
129
+ const missing = [];
130
+ const unexpected = [];
131
+ const changed = [];
132
+ const actualByFullKey = new Map(actual.entries.map((entry) => [entryKey(entry), entry]));
133
+ const actualByProvider = new Map(actual.entries.map((entry) => [entry.provider, entry]));
134
+ const matchedActualKeys = new Set();
135
+ for (const expectedEntry of expected.entries) {
136
+ const match = expectedEntry.modelId
137
+ ? actualByFullKey.get(entryKey(expectedEntry))
138
+ : actualByProvider.get(expectedEntry.provider);
139
+ if (!match) {
140
+ missing.push({
141
+ provider: expectedEntry.provider,
142
+ modelId: expectedEntry.modelId
143
+ });
144
+ continue;
145
+ }
146
+ matchedActualKeys.add(entryKey(match));
147
+ for (const [field, expectedValue] of Object.entries(expectedEntry)) {
148
+ const actualValue = match[field];
149
+ if (JSON.stringify(actualValue) !== JSON.stringify(expectedValue)) {
150
+ changed.push({
151
+ provider: expectedEntry.provider,
152
+ modelId: expectedEntry.modelId,
153
+ field,
154
+ expected: expectedValue,
155
+ actual: actualValue
156
+ });
157
+ }
158
+ }
159
+ }
160
+ for (const actualEntry of actual.entries) {
161
+ if (!matchedActualKeys.has(entryKey(actualEntry))) {
162
+ unexpected.push({
163
+ provider: actualEntry.provider,
164
+ modelId: actualEntry.modelId
165
+ });
166
+ }
167
+ }
168
+ return {
169
+ ok: missing.length === 0 && unexpected.length === 0 && changed.length === 0,
170
+ missing,
171
+ unexpected,
172
+ changed
173
+ };
174
+ };
175
+ //# sourceMappingURL=provider-parity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-parity.js","sourceRoot":"","sources":["../src/provider-parity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAoErD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,QAAQ,GAAG,CAAC,IAAsB,EAAU,EAAE;IAClD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAA8C,EAAU,EAAE;IAC/E,MAAM,QAAQ,GAAG;QACf,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAChD,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QAClD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAC1C,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QAC9C,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAClD,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACjC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QAC5C,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QAC5C,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAClD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACnC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KACxC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAoB,EAAU,EAAE,CACzD,KAAK,CAAC,YAAY,CAAC,gBAAgB;IACjC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ;QAC3B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,KAAK;IACT,CAAC,CAAC,IAAI,CAAC;AAEX,MAAM,gBAAgB,GAAG,CAAC,KAAoB,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAoB,EAAwB,EAAE;IACxF,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,OAAO,CACzB,KAAK,CAAC,eAAe;QACnB,KAAK,CAAC,gBAAgB;QACtB,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,aAAa;QACnB,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,aAAa;QACnB,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,QAAQ,CACjB,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,WAAW;QAC5B,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK;QAC1C,aAAa,EAAE,KAAK,CAAC,gBAAgB;QACrC,WAAW;QACX,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK;QAC3B,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,IAAI,KAAK;QACxD,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC,gBAAgB;QACrD,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,SAAS;QACvC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,SAAS;QACvC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;QACzC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,SAAS;QACvC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;QACzC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;QACzC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW;QAC3C,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,IAAI,KAAK;QAClE,iBAAiB,EAAE,aAAa,CAAC,KAAK,CAAC;QACvC,uBAAuB,EAAE,iBAAiB,CAAC,KAAK,CAAC;QACjD,gBAAgB,EAAE,gBAAgB,CAAC,KAAK,CAAC;KAC1C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,OAAqC,EACd,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACrD,OAAO;YACL,GAAG,2BAA2B,CAAC,KAAK,CAAC;YACrC,QAAQ,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;YAC9E,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;YAC1E,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC;IACJ,CAAC,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,CAAC,MAAgB,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAE9D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,MAA6B,EAC7B,UAAoD,EAAE,EAC9C,EAAE;IACV,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;IAC5C,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,MAAM,GAAG;QACb,UAAU;QACV,cAAc;QACd,OAAO;QACP,cAAc;QACd,mBAAmB;QACnB,YAAY;QACZ,UAAU;QACV,WAAW;QACX,mBAAmB;QACnB,gBAAgB;QAChB,WAAW;QACX,YAAY;QACZ,oBAAoB;QACpB,YAAY;KACb,CAAC;IAEF,OAAO;QACL,GAAG,CAAC,MAAM,CAAC;QACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9B,GAAG,CAAC;YACF,KAAK,CAAC,QAAQ;YACd,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YACzB,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAChC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1B,KAAK,CAAC,uBAAuB,IAAI,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;YACjE,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1B,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1B,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YACxB,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;YAC7B,KAAK,CAAC,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YACnD,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YACzB,KAAK,CAAC,iBAAiB,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;YACtD,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;SAC1B,CAAC,CACH;KACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAA6C,EAAE,YAAY,GAAG,IAAI,EAAU,EAAE,CAC9F,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AAEvE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,MAA6B,EAC7B,QAA4C,EAChB,EAAE;IAC9B,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO;YACjC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC9C,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,OAAO,EAAE,aAAa,CAAC,OAAO;aAC/B,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,KAAK,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAiD,EAAE,CAAC;YACnH,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,aAAa,CAAC,QAAQ;oBAChC,OAAO,EAAE,aAAa,CAAC,OAAO;oBAC9B,KAAK;oBACL,QAAQ,EAAE,aAAa;oBACvB,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YAClD,UAAU,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAC3E,OAAO;QACP,UAAU;QACV,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,111 @@
1
+ import type { AgentApprovalRequest, AgentDefinition, AgentRunInput, AgentRunOutput, AgentRunState, AgentStatus, AgentStreamEvent, JsonValue, LanguageModel, ModelMessage, PostgresClientLike, SqliteDatabaseLike } from "./types.js";
2
+ export declare const SESSION_SCHEMA_VERSION: 1;
3
+ export type SessionEventType = "session-created" | "user-message" | "agent-run-started" | "agent-run-finished" | "agent-run-failed" | "approval-required";
4
+ export interface SessionEvent {
5
+ id: string;
6
+ type: SessionEventType;
7
+ appName: string;
8
+ userId: string;
9
+ sessionId: string;
10
+ createdAt: number;
11
+ runId?: string;
12
+ messages?: ModelMessage[];
13
+ status?: AgentStatus;
14
+ outputText?: string;
15
+ approvals?: AgentApprovalRequest[];
16
+ error?: {
17
+ message: string;
18
+ };
19
+ metadata?: Record<string, JsonValue>;
20
+ }
21
+ export interface AgentSession {
22
+ schemaVersion: typeof SESSION_SCHEMA_VERSION;
23
+ revision: number;
24
+ appName: string;
25
+ userId: string;
26
+ sessionId: string;
27
+ createdAt: number;
28
+ updatedAt: number;
29
+ metadata?: Record<string, JsonValue>;
30
+ events: SessionEvent[];
31
+ lastRunState?: AgentRunState;
32
+ }
33
+ export interface SessionLookup {
34
+ appName: string;
35
+ userId: string;
36
+ sessionId: string;
37
+ }
38
+ export interface SessionCreateInput extends SessionLookup {
39
+ metadata?: Record<string, JsonValue>;
40
+ }
41
+ export interface SessionSaveOptions {
42
+ expectedRevision?: number;
43
+ }
44
+ export interface SessionService {
45
+ loadSession(input: SessionLookup): Promise<AgentSession | undefined> | AgentSession | undefined;
46
+ createSession(input: SessionCreateInput): Promise<AgentSession> | AgentSession;
47
+ saveSession(session: AgentSession, options?: SessionSaveOptions): Promise<void> | void;
48
+ appendEvent(input: SessionLookup & {
49
+ event: SessionEvent;
50
+ expectedRevision?: number;
51
+ }): Promise<AgentSession> | AgentSession;
52
+ }
53
+ export type RunnerRunInput<TModel extends LanguageModel = LanguageModel> = Omit<AgentRunInput<TModel>, "state" | "handoff" | "parentRunId"> & {
54
+ userId: string;
55
+ sessionId?: string;
56
+ sessionMetadata?: Record<string, JsonValue>;
57
+ eventMetadata?: Record<string, JsonValue>;
58
+ };
59
+ export interface RunnerRunOutput {
60
+ session: AgentSession;
61
+ output: AgentRunOutput;
62
+ }
63
+ export interface RunnerStreamResult {
64
+ session: Promise<AgentSession>;
65
+ eventStream: AsyncIterable<AgentStreamEvent>;
66
+ textStream: AsyncIterable<string>;
67
+ collect: () => Promise<RunnerRunOutput>;
68
+ }
69
+ export interface Runner<TModel extends LanguageModel = LanguageModel> {
70
+ run(input: RunnerRunInput<TModel>): Promise<RunnerRunOutput>;
71
+ stream(input: RunnerRunInput<TModel>): RunnerStreamResult;
72
+ }
73
+ export interface CreateRunnerOptions<TModel extends LanguageModel = LanguageModel> {
74
+ appName: string;
75
+ agent: AgentDefinition<TModel>;
76
+ sessionService: SessionService;
77
+ defaults?: Partial<Omit<AgentRunInput<TModel>, "state" | "handoff" | "parentRunId">>;
78
+ }
79
+ export interface FileSessionServiceOptions {
80
+ directory: string;
81
+ }
82
+ export interface SqliteSessionServiceOptions {
83
+ db: SqliteDatabaseLike;
84
+ tableName?: string;
85
+ }
86
+ export interface PostgresSessionServiceOptions {
87
+ client: PostgresClientLike;
88
+ tableName?: string;
89
+ }
90
+ export interface FileSessionStorePruneOptions extends FileSessionServiceOptions {
91
+ olderThanMs?: number;
92
+ keepLast?: number;
93
+ now?: number;
94
+ dryRun?: boolean;
95
+ }
96
+ export interface FileSessionStorePruneResult {
97
+ directory: string;
98
+ dryRun: boolean;
99
+ deletedSessionKeys: string[];
100
+ keptSessionKeys: string[];
101
+ }
102
+ export type AgentSessionMigrationTarget = typeof SESSION_SCHEMA_VERSION;
103
+ export declare const normalizeAgentSession: (value: unknown) => AgentSession;
104
+ export declare const migrateAgentSessionRecord: (value: unknown, targetVersion?: AgentSessionMigrationTarget) => AgentSession;
105
+ export declare const createInMemorySessionService: () => SessionService;
106
+ export declare const createFileSessionService: (options: FileSessionServiceOptions) => SessionService;
107
+ export declare const pruneFileSessionStore: (options: FileSessionStorePruneOptions) => Promise<FileSessionStorePruneResult>;
108
+ export declare const createSqliteSessionService: (options: SqliteSessionServiceOptions) => SessionService;
109
+ export declare const createPostgresSessionService: (options: PostgresSessionServiceOptions) => SessionService;
110
+ export declare const createRunner: <TModel extends LanguageModel>(options: CreateRunnerOptions<TModel>) => Runner<TModel>;
111
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}