teamshare-bridge 0.25.0 → 0.25.2

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 (48) hide show
  1. package/dist/bridge/wake-handler.js +27 -0
  2. package/dist/bridge/wake-handler.js.map +1 -1
  3. package/dist/bridge/wake-routing.js +10 -0
  4. package/dist/bridge/wake-routing.js.map +1 -1
  5. package/dist/cli/commands/research.js +17 -1
  6. package/dist/cli/commands/research.js.map +1 -1
  7. package/dist/cli/commands/run.js +21 -0
  8. package/dist/cli/commands/run.js.map +1 -1
  9. package/dist/cli/commands/workflow.js +139 -0
  10. package/dist/cli/commands/workflow.js.map +1 -1
  11. package/dist/lib/api-types.d.ts +62 -0
  12. package/dist/lib/api.d.ts +24 -0
  13. package/dist/lib/api.js +18 -0
  14. package/dist/lib/api.js.map +1 -1
  15. package/dist/lib/brief.d.ts +18 -1
  16. package/dist/lib/brief.js +1 -0
  17. package/dist/lib/brief.js.map +1 -1
  18. package/dist/lib/browser/batch.d.ts +3 -0
  19. package/dist/lib/browser/batch.js +1 -0
  20. package/dist/lib/browser/batch.js.map +1 -1
  21. package/dist/lib/browser/login.d.ts +7 -0
  22. package/dist/lib/browser/login.js +23 -2
  23. package/dist/lib/browser/login.js.map +1 -1
  24. package/dist/lib/harness/harness-adapter.d.ts +12 -0
  25. package/dist/lib/harness/harness-adapter.js.map +1 -1
  26. package/dist/lib/harness/harness-output.js +14 -0
  27. package/dist/lib/harness/harness-output.js.map +1 -1
  28. package/dist/lib/harness/opencode-outcome.d.ts +25 -0
  29. package/dist/lib/harness/opencode-outcome.js +92 -0
  30. package/dist/lib/harness/opencode-outcome.js.map +1 -0
  31. package/dist/lib/harness/spawn.js +72 -5
  32. package/dist/lib/harness/spawn.js.map +1 -1
  33. package/dist/lib/llm/llm-core.d.ts +1 -1
  34. package/dist/lib/llm/llm-tools.js +34 -43
  35. package/dist/lib/llm/llm-tools.js.map +1 -1
  36. package/dist/lib/llm/llm.js +18 -0
  37. package/dist/lib/llm/llm.js.map +1 -1
  38. package/dist/lib/media-gen/generate.d.ts +31 -0
  39. package/dist/lib/media-gen/generate.js +266 -0
  40. package/dist/lib/media-gen/generate.js.map +1 -0
  41. package/dist/lib/orchestrator/handlers/browser.js +1 -0
  42. package/dist/lib/orchestrator/handlers/browser.js.map +1 -1
  43. package/dist/lib/tools/browser-tool.js +1 -0
  44. package/dist/lib/tools/browser-tool.js.map +1 -1
  45. package/dist/lib/workflow/node-executor.d.ts +35 -0
  46. package/dist/lib/workflow/node-executor.js +248 -0
  47. package/dist/lib/workflow/node-executor.js.map +1 -0
  48. package/package.json +1 -1
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeWorkflowNode = executeWorkflowNode;
4
+ const runner_1 = require("../tools/runner");
5
+ const generate_1 = require("../media-gen/generate");
6
+ const models_1 = require("../llm/models");
7
+ const harness_1 = require("../../cli/commands/harness");
8
+ async function executeWorkflowNode(ctx) {
9
+ const { task } = ctx;
10
+ try {
11
+ switch (task.kind) {
12
+ case 'agent':
13
+ return await runAgentNode(ctx);
14
+ case 'tool':
15
+ return await runToolNode(ctx);
16
+ case 'http':
17
+ return await runHttpNode(ctx);
18
+ case 'media':
19
+ return await runMediaNode(ctx);
20
+ case 'browser':
21
+ return await runBrowserNode(ctx);
22
+ default:
23
+ return { ok: false, error: `Unsupported node kind: ${task.kind}` };
24
+ }
25
+ }
26
+ catch (err) {
27
+ return { ok: false, error: err instanceof Error ? err.message : String(err) };
28
+ }
29
+ }
30
+ // ── agent ──────────────────────────────────────────────────────────────────
31
+ async function runAgentNode(ctx) {
32
+ const instruction = String(ctx.task.config.instruction ?? '').trim();
33
+ if (!instruction)
34
+ return { ok: false, error: 'This agent node has no instruction.' };
35
+ const expected = ctx.task.config.expectedOutput
36
+ ? `\n\nDone looks like: ${String(ctx.task.config.expectedOutput)}`
37
+ : '';
38
+ const prompt = [
39
+ `# Workflow node: ${ctx.task.label || ctx.task.nodeId}`,
40
+ '',
41
+ `You are executing one step of a TeamShare workflow ("${ctx.run.workflowName}").`,
42
+ `Work only this step, then stop - the platform runs the next step.`,
43
+ '',
44
+ '## Task',
45
+ instruction + expected,
46
+ '',
47
+ '## Context',
48
+ `- Run: ${ctx.run.id}`,
49
+ ...(ctx.run.taskId ? [`- Backing task: ${ctx.run.taskId}`] : []),
50
+ 'Persist any deliverable with create_document so it is recorded, then finish.',
51
+ 'If you are blocked, use ask_human and wait.',
52
+ ].join('\n');
53
+ const exitCode = await (0, harness_1.spawnHarness)(ctx.settings.harness ?? 'opencode', prompt, ctx.log, {
54
+ model: modelForNode(ctx),
55
+ temperature: ctx.settings.temperature,
56
+ effort: ctx.settings.reasoningEffort,
57
+ cwd: ctx.cwd,
58
+ timeoutMin: 30,
59
+ title: `Workflow node ${ctx.task.label || ctx.task.nodeId}`,
60
+ agentKey: ctx.apiKey,
61
+ apiBaseUrl: ctx.apiBaseUrl,
62
+ providerKey: ctx.settings.providerKey ?? undefined,
63
+ sessionMode: 'run',
64
+ sessionId: ctx.sessionId,
65
+ sessionStore: { agentId: ctx.agentId, taskId: ctx.run.id, mode: 'workflow' },
66
+ });
67
+ if (exitCode !== 0) {
68
+ return { ok: false, error: `The agent session exited with code ${exitCode}.` };
69
+ }
70
+ return { ok: true, output: { done: true } };
71
+ }
72
+ // ── tool ───────────────────────────────────────────────────────────────────
73
+ async function runToolNode(ctx) {
74
+ const toolKey = String(ctx.task.config.toolKey ?? '').trim();
75
+ if (!toolKey)
76
+ return { ok: false, error: 'This tool node has no tool selected.' };
77
+ const params = ctx.task.config.params && typeof ctx.task.config.params === 'object'
78
+ ? ctx.task.config.params
79
+ : {};
80
+ // Deterministic node tool: run it in-process and return its files.
81
+ if ((0, runner_1.listToolKeys)().includes(toolKey)) {
82
+ const result = await (0, runner_1.runTool)(toolKey, { ...params });
83
+ if (result.error)
84
+ return { ok: false, error: result.error };
85
+ const artifacts = result.outputs.map((o) => ({
86
+ name: o.fileName,
87
+ mime: o.mime,
88
+ dataBase64: o.buffer.toString('base64'),
89
+ }));
90
+ return {
91
+ ok: true,
92
+ output: { tool: toolKey, files: artifacts.map((a) => a.name) },
93
+ artifacts,
94
+ };
95
+ }
96
+ // Agent-driven tool (research, workbook authoring, …): drive the harness with
97
+ // a tool-shaped instruction.
98
+ const prompt = [
99
+ `# Workflow node: ${ctx.task.label || ctx.task.nodeId} (tool: ${toolKey})`,
100
+ '',
101
+ `Run the "${toolKey}" capability for this workflow step.`,
102
+ '',
103
+ '## Parameters',
104
+ '```json',
105
+ JSON.stringify(params, null, 2).slice(0, 4000),
106
+ '```',
107
+ '',
108
+ 'Persist the deliverable with create_document, then stop.',
109
+ ].join('\n');
110
+ const exitCode = await (0, harness_1.spawnHarness)(ctx.settings.harness ?? 'opencode', prompt, ctx.log, {
111
+ model: modelForNode(ctx),
112
+ temperature: ctx.settings.temperature,
113
+ effort: ctx.settings.reasoningEffort,
114
+ cwd: ctx.cwd,
115
+ timeoutMin: 30,
116
+ title: `Workflow tool ${toolKey}`,
117
+ agentKey: ctx.apiKey,
118
+ apiBaseUrl: ctx.apiBaseUrl,
119
+ providerKey: ctx.settings.providerKey ?? undefined,
120
+ sessionMode: 'run',
121
+ sessionId: ctx.sessionId,
122
+ sessionStore: { agentId: ctx.agentId, taskId: ctx.run.id, mode: 'workflow' },
123
+ });
124
+ if (exitCode !== 0) {
125
+ return { ok: false, error: `The tool session exited with code ${exitCode}.` };
126
+ }
127
+ return { ok: true, output: { tool: toolKey, done: true } };
128
+ }
129
+ // ── http ───────────────────────────────────────────────────────────────────
130
+ async function runHttpNode(ctx) {
131
+ const url = String(ctx.task.config.url ?? '').trim();
132
+ if (!url)
133
+ return { ok: false, error: 'This request node has no URL.' };
134
+ const method = String(ctx.task.config.method ?? 'GET').toUpperCase();
135
+ const headers = ctx.task.config.headers && typeof ctx.task.config.headers === 'object'
136
+ ? ctx.task.config.headers
137
+ : {};
138
+ const rawBody = ctx.task.config.body;
139
+ const init = { method, headers };
140
+ if (rawBody !== undefined && method !== 'GET' && method !== 'HEAD') {
141
+ init.body =
142
+ typeof rawBody === 'string' ? rawBody : JSON.stringify(rawBody);
143
+ if (typeof rawBody !== 'string' && !hasHeader(headers, 'content-type')) {
144
+ headers['content-type'] = 'application/json';
145
+ }
146
+ }
147
+ const res = await fetch(url, init);
148
+ const text = await res.text();
149
+ if (!res.ok) {
150
+ return {
151
+ ok: false,
152
+ error: `HTTP ${res.status} from ${url}: ${text.slice(0, 300)}`,
153
+ };
154
+ }
155
+ const responseType = String(ctx.task.config.responseType ?? 'json');
156
+ let body = text.slice(0, 20000);
157
+ if (responseType === 'json') {
158
+ try {
159
+ body = JSON.parse(text);
160
+ }
161
+ catch {
162
+ body = text.slice(0, 20000);
163
+ }
164
+ }
165
+ return { ok: true, output: { status: res.status, body } };
166
+ }
167
+ // ── media ──────────────────────────────────────────────────────────────────
168
+ async function runMediaNode(ctx) {
169
+ const mediaKind = String(ctx.task.config.mediaKind ?? '');
170
+ const provider = String(ctx.task.config.provider ?? '');
171
+ const model = String(ctx.task.config.model ?? '');
172
+ const prompt = String(ctx.task.config.prompt ?? '').trim();
173
+ if (!['image', 'video', 'audio'].includes(mediaKind)) {
174
+ return { ok: false, error: `Invalid media kind: ${mediaKind}` };
175
+ }
176
+ if (!provider || !model || !prompt) {
177
+ return { ok: false, error: 'Media node needs a provider, model and prompt.' };
178
+ }
179
+ const spec = `${provider}:${model}`;
180
+ const apiKey = (0, models_1.resolveDirectApiKey)(spec, ctx.settings.providerKeys ?? null, ctx.settings.providerKey ?? null);
181
+ ctx.log(`[media] ${mediaKind} via ${spec} …`);
182
+ const result = await (0, generate_1.generateMedia)({
183
+ mediaKind: mediaKind,
184
+ provider,
185
+ model,
186
+ prompt,
187
+ voice: typeof ctx.task.config.voice === 'string' ? ctx.task.config.voice : undefined,
188
+ image: typeof ctx.task.config.image === 'string' ? ctx.task.config.image : undefined,
189
+ baseUrl: typeof ctx.task.config.baseUrl === 'string' ? ctx.task.config.baseUrl : undefined,
190
+ apiKey,
191
+ });
192
+ const name = (typeof ctx.task.config.outputName === 'string' && ctx.task.config.outputName
193
+ ? ctx.task.config.outputName
194
+ : `${ctx.task.label || mediaKind}`).replace(/[^\w.\- ]+/g, '_') +
195
+ `.${result.ext}`;
196
+ return {
197
+ ok: true,
198
+ output: { mediaKind, model, name },
199
+ artifacts: [
200
+ { name, mime: result.mime, dataBase64: result.buffer.toString('base64') },
201
+ ],
202
+ };
203
+ }
204
+ // ── browser ────────────────────────────────────────────────────────────────
205
+ async function runBrowserNode(ctx) {
206
+ const url = String(ctx.task.config.url ?? '').trim();
207
+ const instruction = String(ctx.task.config.instruction ?? '').trim();
208
+ if (!instruction && !url) {
209
+ return { ok: false, error: 'This browser node needs a URL or an instruction.' };
210
+ }
211
+ const prompt = [
212
+ `# Workflow node: ${ctx.task.label || ctx.task.nodeId} (browser)`,
213
+ '',
214
+ url ? `Go to: ${url}` : '',
215
+ instruction || 'Browse to accomplish this step.',
216
+ '',
217
+ 'Use the browser tools to carry it out, then stop.',
218
+ ]
219
+ .filter(Boolean)
220
+ .join('\n');
221
+ const exitCode = await (0, harness_1.spawnHarness)(ctx.settings.harness ?? 'opencode', prompt, ctx.log, {
222
+ model: modelForNode(ctx),
223
+ temperature: ctx.settings.temperature,
224
+ effort: ctx.settings.reasoningEffort,
225
+ cwd: ctx.cwd,
226
+ timeoutMin: 30,
227
+ title: `Workflow browser ${ctx.task.label || ctx.task.nodeId}`,
228
+ agentKey: ctx.apiKey,
229
+ apiBaseUrl: ctx.apiBaseUrl,
230
+ providerKey: ctx.settings.providerKey ?? undefined,
231
+ sessionMode: 'run',
232
+ sessionId: ctx.sessionId,
233
+ sessionStore: { agentId: ctx.agentId, taskId: ctx.run.id, mode: 'workflow' },
234
+ });
235
+ if (exitCode !== 0) {
236
+ return { ok: false, error: `The browser session exited with code ${exitCode}.` };
237
+ }
238
+ return { ok: true, output: { done: true } };
239
+ }
240
+ // ── helpers ────────────────────────────────────────────────────────────────
241
+ function modelForNode(ctx) {
242
+ const nodeModel = typeof ctx.task.config.model === 'string' ? ctx.task.config.model : '';
243
+ return nodeModel || ctx.settings.model || undefined;
244
+ }
245
+ function hasHeader(headers, key) {
246
+ return Object.keys(headers).some((h) => h.toLowerCase() === key);
247
+ }
248
+ //# sourceMappingURL=node-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-executor.js","sourceRoot":"","sources":["../../../src/lib/workflow/node-executor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teamshare-bridge",
3
- "version": "0.25.0",
3
+ "version": "0.25.2",
4
4
  "description": "Local bridge for TeamShare agents - CLI session runner, auto-wake WebSocket daemon, and teamshare:// protocol handler.",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",