@dahura/super-agent-runtime 0.1.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 (98) hide show
  1. package/LICENSE +21 -0
  2. package/dist/ask.d.ts +75 -0
  3. package/dist/ask.d.ts.map +1 -0
  4. package/dist/ask.js +140 -0
  5. package/dist/ask.js.map +1 -0
  6. package/dist/builder.d.ts +73 -0
  7. package/dist/builder.d.ts.map +1 -0
  8. package/dist/builder.js +477 -0
  9. package/dist/builder.js.map +1 -0
  10. package/dist/env.d.ts +36 -0
  11. package/dist/env.d.ts.map +1 -0
  12. package/dist/env.js +63 -0
  13. package/dist/env.js.map +1 -0
  14. package/dist/errors.d.ts +40 -0
  15. package/dist/errors.d.ts.map +1 -0
  16. package/dist/errors.js +43 -0
  17. package/dist/errors.js.map +1 -0
  18. package/dist/index.d.ts +30 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +21 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/loaders.d.ts +39 -0
  23. package/dist/loaders.d.ts.map +1 -0
  24. package/dist/loaders.js +113 -0
  25. package/dist/loaders.js.map +1 -0
  26. package/dist/model.d.ts +64 -0
  27. package/dist/model.d.ts.map +1 -0
  28. package/dist/model.js +2 -0
  29. package/dist/model.js.map +1 -0
  30. package/dist/providers/anthropic.d.ts +14 -0
  31. package/dist/providers/anthropic.d.ts.map +1 -0
  32. package/dist/providers/anthropic.js +19 -0
  33. package/dist/providers/anthropic.js.map +1 -0
  34. package/dist/providers/anthropic.provider.d.ts +22 -0
  35. package/dist/providers/anthropic.provider.d.ts.map +1 -0
  36. package/dist/providers/anthropic.provider.js +62 -0
  37. package/dist/providers/anthropic.provider.js.map +1 -0
  38. package/dist/providers/audio-local.d.ts +21 -0
  39. package/dist/providers/audio-local.d.ts.map +1 -0
  40. package/dist/providers/audio-local.js +451 -0
  41. package/dist/providers/audio-local.js.map +1 -0
  42. package/dist/providers/audio-local.provider.d.ts +15 -0
  43. package/dist/providers/audio-local.provider.d.ts.map +1 -0
  44. package/dist/providers/audio-local.provider.js +137 -0
  45. package/dist/providers/audio-local.provider.js.map +1 -0
  46. package/dist/providers/index.d.ts +30 -0
  47. package/dist/providers/index.d.ts.map +1 -0
  48. package/dist/providers/index.js +56 -0
  49. package/dist/providers/index.js.map +1 -0
  50. package/dist/providers/llama-server.d.ts +57 -0
  51. package/dist/providers/llama-server.d.ts.map +1 -0
  52. package/dist/providers/llama-server.js +231 -0
  53. package/dist/providers/llama-server.js.map +1 -0
  54. package/dist/providers/llama-server.provider.d.ts +34 -0
  55. package/dist/providers/llama-server.provider.d.ts.map +1 -0
  56. package/dist/providers/llama-server.provider.js +147 -0
  57. package/dist/providers/llama-server.provider.js.map +1 -0
  58. package/dist/providers/openai-compatible.d.ts +32 -0
  59. package/dist/providers/openai-compatible.d.ts.map +1 -0
  60. package/dist/providers/openai-compatible.js +53 -0
  61. package/dist/providers/openai-compatible.js.map +1 -0
  62. package/dist/providers/openai-compatible.provider.d.ts +24 -0
  63. package/dist/providers/openai-compatible.provider.d.ts.map +1 -0
  64. package/dist/providers/openai-compatible.provider.js +76 -0
  65. package/dist/providers/openai-compatible.provider.js.map +1 -0
  66. package/dist/providers/openai.d.ts +14 -0
  67. package/dist/providers/openai.d.ts.map +1 -0
  68. package/dist/providers/openai.js +24 -0
  69. package/dist/providers/openai.js.map +1 -0
  70. package/dist/providers/openai.provider.d.ts +23 -0
  71. package/dist/providers/openai.provider.d.ts.map +1 -0
  72. package/dist/providers/openai.provider.js +68 -0
  73. package/dist/providers/openai.provider.js.map +1 -0
  74. package/dist/providers/whisper-cpp.d.ts +23 -0
  75. package/dist/providers/whisper-cpp.d.ts.map +1 -0
  76. package/dist/providers/whisper-cpp.js +110 -0
  77. package/dist/providers/whisper-cpp.js.map +1 -0
  78. package/dist/providers/whisper-cpp.provider.d.ts +27 -0
  79. package/dist/providers/whisper-cpp.provider.d.ts.map +1 -0
  80. package/dist/providers/whisper-cpp.provider.js +139 -0
  81. package/dist/providers/whisper-cpp.provider.js.map +1 -0
  82. package/dist/proxy.d.ts +11 -0
  83. package/dist/proxy.d.ts.map +1 -0
  84. package/dist/proxy.js +12 -0
  85. package/dist/proxy.js.map +1 -0
  86. package/dist/registry.d.ts +111 -0
  87. package/dist/registry.d.ts.map +1 -0
  88. package/dist/registry.js +328 -0
  89. package/dist/registry.js.map +1 -0
  90. package/dist/resolver.d.ts +47 -0
  91. package/dist/resolver.d.ts.map +1 -0
  92. package/dist/resolver.js +365 -0
  93. package/dist/resolver.js.map +1 -0
  94. package/dist/workflow.d.ts +86 -0
  95. package/dist/workflow.d.ts.map +1 -0
  96. package/dist/workflow.js +343 -0
  97. package/dist/workflow.js.map +1 -0
  98. package/package.json +57 -0
@@ -0,0 +1,343 @@
1
+ import { AgentClient } from "./builder";
2
+ import { AgentValidationError } from "./errors";
3
+ import { createAgentClient } from "./proxy";
4
+ const noopLogger = {
5
+ info: () => { },
6
+ warn: () => { },
7
+ error: () => { },
8
+ };
9
+ export class WorkflowClient {
10
+ definition;
11
+ options;
12
+ host;
13
+ constructor(definition, options, host = {}) {
14
+ this.definition = definition;
15
+ this.options = options;
16
+ this.host = host;
17
+ }
18
+ withHost(host) {
19
+ return new WorkflowClient(this.definition, this.options, { ...this.host, ...host });
20
+ }
21
+ createRun(options) {
22
+ return new WorkflowRun(this.definition, this.options, this.host, options);
23
+ }
24
+ }
25
+ export class WorkflowRun {
26
+ definition;
27
+ options;
28
+ host;
29
+ runOptions;
30
+ log;
31
+ state;
32
+ trace = [];
33
+ traceCounter = 0;
34
+ pending = new Set();
35
+ scheduledNodes = new Map();
36
+ traceListeners = new Set();
37
+ modelOverride;
38
+ started = false;
39
+ stopped = false;
40
+ startedAt;
41
+ constructor(definition, options, host, runOptions) {
42
+ this.definition = definition;
43
+ this.options = options;
44
+ this.host = host;
45
+ this.runOptions = runOptions;
46
+ this.log = options.logger ?? noopLogger;
47
+ this.state = definition.state.initial();
48
+ this.startedAt = new Date().toISOString();
49
+ }
50
+ withModel(modelId) {
51
+ this.modelOverride = modelId;
52
+ return this;
53
+ }
54
+ async start(payload = {}) {
55
+ if (this.started) {
56
+ throw new AgentValidationError(`Workflow run "${this.runOptions.id}" already started`);
57
+ }
58
+ this.validateHost();
59
+ this.started = true;
60
+ this.recordTrace({
61
+ kind: "lifecycle",
62
+ status: "started",
63
+ label: "workflow.start",
64
+ emittedAt: new Date().toISOString(),
65
+ });
66
+ if ("workflow.started" in this.definition.events) {
67
+ await this.dispatchEvent("workflow.started", payload, "workflow.start");
68
+ }
69
+ }
70
+ async emit(eventName, payload) {
71
+ this.assertStarted();
72
+ this.assertNotStopped();
73
+ await this.dispatchEvent(eventName, payload, "workflow.emit");
74
+ }
75
+ async snapshot() {
76
+ return this.buildSnapshot();
77
+ }
78
+ subscribeTrace(listener) {
79
+ this.traceListeners.add(listener);
80
+ return () => {
81
+ this.traceListeners.delete(listener);
82
+ };
83
+ }
84
+ buildSnapshot() {
85
+ return {
86
+ output: this.definition.output({ state: this.state }),
87
+ pending: this.pending.size + this.scheduledNodes.size,
88
+ state: this.state,
89
+ trace: [...this.trace],
90
+ };
91
+ }
92
+ async stop(input = {}) {
93
+ this.assertStarted();
94
+ if (this.stopped) {
95
+ throw new AgentValidationError(`Workflow run "${this.runOptions.id}" already stopped`);
96
+ }
97
+ this.stopped = true;
98
+ this.recordTrace({
99
+ kind: "lifecycle",
100
+ status: "started",
101
+ label: "workflow.stop",
102
+ emittedAt: new Date().toISOString(),
103
+ });
104
+ if ("workflow.stopped" in this.definition.events) {
105
+ await this.dispatchEvent("workflow.stopped", input.endedAt ? { endedAt: input.endedAt } : {}, "workflow.stop");
106
+ }
107
+ if (input.waitForPending) {
108
+ await this.waitForPending();
109
+ }
110
+ return {
111
+ output: this.definition.output({ state: this.state }),
112
+ trace: [...this.trace],
113
+ };
114
+ }
115
+ async dispatchEvent(eventName, payload, label) {
116
+ const envelope = this.parseEvent(eventName, payload);
117
+ this.recordTrace({
118
+ kind: "event",
119
+ status: "emitted",
120
+ label,
121
+ eventName,
122
+ emittedAt: envelope.emittedAt,
123
+ output: payload,
124
+ });
125
+ const nodes = this.definition.nodes.filter((node) => {
126
+ const triggers = Array.isArray(node.on) ? node.on : [node.on];
127
+ return triggers.includes(eventName);
128
+ });
129
+ await Promise.all(nodes.map((node) => this.triggerNode(node, envelope)));
130
+ }
131
+ async triggerNode(node, event) {
132
+ const cadence = node.policy?.cadence;
133
+ if (!cadence) {
134
+ await this.executeNode(node, event);
135
+ return;
136
+ }
137
+ const existing = this.scheduledNodes.get(node.id);
138
+ if (existing) {
139
+ existing.latestEvent = event;
140
+ return;
141
+ }
142
+ this.recordTrace({
143
+ kind: "node",
144
+ status: "scheduled",
145
+ label: node.description ?? node.id,
146
+ nodeId: node.id,
147
+ emittedAt: new Date().toISOString(),
148
+ });
149
+ const promise = new Promise((resolve, reject) => {
150
+ setTimeout(() => {
151
+ const current = this.scheduledNodes.get(node.id);
152
+ void this.executeNode(node, current?.latestEvent ?? event)
153
+ .then(resolve)
154
+ .catch(reject)
155
+ .finally(() => {
156
+ this.scheduledNodes.delete(node.id);
157
+ });
158
+ }, cadence.every.ms);
159
+ });
160
+ this.scheduledNodes.set(node.id, {
161
+ latestEvent: event,
162
+ promise,
163
+ });
164
+ this.trackPending(promise);
165
+ }
166
+ async executeNode(node, event) {
167
+ const startedAt = performance.now();
168
+ this.recordTrace({
169
+ kind: "node",
170
+ status: "started",
171
+ label: node.description ?? node.id,
172
+ nodeId: node.id,
173
+ eventName: event.name,
174
+ emittedAt: new Date().toISOString(),
175
+ });
176
+ try {
177
+ const result = await node.run({
178
+ event,
179
+ state: this.state,
180
+ host: this.wrapHost(node.id),
181
+ run: {
182
+ id: this.runOptions.id,
183
+ startedAt: this.startedAt,
184
+ },
185
+ emit: (name, payload) => this.dispatchEvent(name, payload, `node:${node.id}`),
186
+ runAgent: (agent) => this.materializeAgent(agent),
187
+ log: this.log,
188
+ });
189
+ const durationMs = Math.round(performance.now() - startedAt);
190
+ this.recordTrace({
191
+ kind: "node",
192
+ status: "completed",
193
+ label: node.description ?? node.id,
194
+ nodeId: node.id,
195
+ eventName: event.name,
196
+ emittedAt: new Date().toISOString(),
197
+ durationMs,
198
+ output: result,
199
+ });
200
+ await this.emitNodeOutputs(node, result);
201
+ }
202
+ catch (error) {
203
+ const durationMs = Math.round(performance.now() - startedAt);
204
+ this.recordTrace({
205
+ kind: "node",
206
+ status: "failed",
207
+ label: node.description ?? node.id,
208
+ nodeId: node.id,
209
+ eventName: event.name,
210
+ emittedAt: new Date().toISOString(),
211
+ durationMs,
212
+ error: error instanceof Error ? error.message : String(error),
213
+ });
214
+ throw error;
215
+ }
216
+ }
217
+ wrapHost(nodeId) {
218
+ const wrapped = {};
219
+ for (const [name, fn] of Object.entries(this.host)) {
220
+ wrapped[name] = async (...args) => {
221
+ const startedAt = performance.now();
222
+ try {
223
+ const result = await fn(...args);
224
+ this.recordTrace({
225
+ kind: "host",
226
+ status: "completed",
227
+ label: name,
228
+ nodeId,
229
+ emittedAt: new Date().toISOString(),
230
+ durationMs: Math.round(performance.now() - startedAt),
231
+ });
232
+ return result;
233
+ }
234
+ catch (error) {
235
+ this.recordTrace({
236
+ kind: "host",
237
+ status: "failed",
238
+ label: name,
239
+ nodeId,
240
+ emittedAt: new Date().toISOString(),
241
+ durationMs: Math.round(performance.now() - startedAt),
242
+ error: error instanceof Error ? error.message : String(error),
243
+ });
244
+ throw error;
245
+ }
246
+ };
247
+ }
248
+ return wrapped;
249
+ }
250
+ materializeAgent(agent) {
251
+ if (agent instanceof AgentClient) {
252
+ return (this.modelOverride ? agent.withModel(this.modelOverride) : agent);
253
+ }
254
+ if (isAgentModule(agent)) {
255
+ const client = createAgentClient(agent, {
256
+ resolver: this.options.resolver,
257
+ logger: this.log,
258
+ modelOverride: this.modelOverride,
259
+ });
260
+ return client;
261
+ }
262
+ return agent;
263
+ }
264
+ async emitNodeOutputs(node, result) {
265
+ if (!node.emits)
266
+ return;
267
+ const emits = Array.isArray(node.emits) ? node.emits : [node.emits];
268
+ if (emits.length === 1) {
269
+ await this.dispatchEvent(emits[0], result, `node:${node.id}.emit`);
270
+ return;
271
+ }
272
+ if (!result || typeof result !== "object") {
273
+ throw new AgentValidationError(`Workflow node "${node.id}" emitted multiple events but did not return an object map`);
274
+ }
275
+ const map = result;
276
+ await Promise.all(emits.map((eventName) => this.dispatchEvent(eventName, map[eventName], `node:${node.id}.emit`)));
277
+ }
278
+ parseEvent(eventName, payload) {
279
+ const schema = this.definition.events[eventName];
280
+ if (!schema) {
281
+ throw new AgentValidationError(`Unknown workflow event "${eventName}"`);
282
+ }
283
+ const parsed = schema.safeParse(payload);
284
+ if (!parsed.success) {
285
+ throw new AgentValidationError(`Workflow event "${eventName}" payload is invalid: ${parsed.error.message}`);
286
+ }
287
+ return {
288
+ name: eventName,
289
+ payload: parsed.data,
290
+ emittedAt: new Date().toISOString(),
291
+ };
292
+ }
293
+ validateHost() {
294
+ const declared = Object.keys(this.definition.host ?? {});
295
+ for (const name of declared) {
296
+ if (typeof this.host[name] !== "function") {
297
+ throw new AgentValidationError(`Workflow host adapter "${name}" is required but was not provided`);
298
+ }
299
+ }
300
+ }
301
+ trackPending(promise) {
302
+ this.pending.add(promise);
303
+ promise.finally(() => {
304
+ this.pending.delete(promise);
305
+ });
306
+ return promise;
307
+ }
308
+ async waitForPending() {
309
+ while (this.pending.size > 0) {
310
+ await Promise.allSettled([...this.pending]);
311
+ }
312
+ }
313
+ assertStarted() {
314
+ if (!this.started) {
315
+ throw new AgentValidationError(`Workflow run "${this.runOptions.id}" must be started before emit/snapshot/stop`);
316
+ }
317
+ }
318
+ assertNotStopped() {
319
+ if (this.stopped) {
320
+ throw new AgentValidationError(`Workflow run "${this.runOptions.id}" has already stopped`);
321
+ }
322
+ }
323
+ recordTrace(entry) {
324
+ const tracedEntry = {
325
+ id: `trace-${++this.traceCounter}`,
326
+ ...entry,
327
+ };
328
+ this.trace.push(tracedEntry);
329
+ if (this.traceListeners.size === 0)
330
+ return;
331
+ const snapshot = this.buildSnapshot();
332
+ for (const listener of this.traceListeners) {
333
+ listener(tracedEntry, snapshot);
334
+ }
335
+ }
336
+ }
337
+ function isAgentModule(value) {
338
+ return Boolean(value && typeof value === "object" && "__isAgent" in value);
339
+ }
340
+ export function createWorkflowClient(workflow, options) {
341
+ return new WorkflowClient(workflow.definition, options, {});
342
+ }
343
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@dahura/super-agent-runtime",
3
+ "version": "0.1.1",
4
+ "description": "Runtime for Super Agent: Ask, providers, workflow client",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/sa-platform/superagent.git",
10
+ "directory": "packages/runtime"
11
+ },
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "engines": {
16
+ "bun": ">=1.0.0"
17
+ },
18
+ "keywords": [
19
+ "ai",
20
+ "agents",
21
+ "runtime",
22
+ "super-agent",
23
+ "bun"
24
+ ],
25
+ "files": [
26
+ "dist",
27
+ "README.md",
28
+ "LICENSE"
29
+ ],
30
+ "main": "./dist/index.js",
31
+ "types": "./dist/index.d.ts",
32
+ "exports": {
33
+ ".": {
34
+ "types": "./dist/index.d.ts",
35
+ "import": "./dist/index.js"
36
+ }
37
+ },
38
+ "scripts": {
39
+ "build": "bun ../../scripts/build-lib.ts runtime",
40
+ "typecheck": "tsc --noEmit -p tsconfig.json",
41
+ "prepublishOnly": "bun run build"
42
+ },
43
+ "dependencies": {
44
+ "@ai-sdk/anthropic": "^3.0.37",
45
+ "@ai-sdk/openai": "^3.0.37",
46
+ "@dahura/super-agent-kit": "^0.1.1",
47
+ "ai": "^6.0.105",
48
+ "zod": "^3.23.8"
49
+ },
50
+ "peerDependencies": {
51
+ "ai": "^6.0.0"
52
+ },
53
+ "devDependencies": {
54
+ "typescript": "^5.3.0",
55
+ "@types/bun": "latest"
56
+ }
57
+ }