@floomhq/floom 5.1.9 → 5.1.10
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.
- package/LICENSE +21 -21
- package/README.md +414 -400
- package/assets/floom-skill.md +66 -66
- package/bin/floom-mcp +9 -9
- package/bin/workeros-mcp +13 -13
- package/dist/commands/completion.js +85 -85
- package/dist/commands/mcp.js +9 -4
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/workers.d.ts +1 -0
- package/dist/commands/workers.js +46 -27
- package/dist/commands/workers.js.map +1 -1
- package/dist/lib/worker-authoring.d.ts +6 -4
- package/dist/lib/worker-authoring.js +181 -178
- package/dist/lib/worker-authoring.js.map +1 -1
- package/dist/server.js +107 -30
- package/dist/server.js.map +1 -1
- package/package.json +47 -47
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { parse as parseYaml } from "yaml";
|
|
2
|
-
const SUPPORTED_RUNTIMES = new Set(["python311", "node22", "bash", "skill", "none"]);
|
|
2
|
+
const SUPPORTED_RUNTIMES = new Set(["python311", "node22", "typescript", "ts", "bash", "skill", "none"]);
|
|
3
3
|
export const WORKER_AUTHORING_CONTRACT = {
|
|
4
4
|
schema_version: "0.3",
|
|
5
|
-
required_files: ["worker.yml", "run.py or SKILL.md"],
|
|
5
|
+
required_files: ["worker.yml", "run.py, run.ts, or SKILL.md"],
|
|
6
6
|
required_top_level_fields: ["schema_version", "name", "title", "description", "version", "exec", "trigger"],
|
|
7
7
|
modes: {
|
|
8
8
|
"pure-script": {
|
|
9
|
-
entrypoint: "run.py",
|
|
9
|
+
entrypoint: "run.py or run.ts",
|
|
10
10
|
required_exec_fields: ["entry", "runtime", "runner", "command", "inputs", "outputs"],
|
|
11
11
|
runtime_contract: [
|
|
12
12
|
"Read inputs from inputs.json in the worker root.",
|
|
@@ -38,7 +38,7 @@ export const WORKER_AUTHORING_CONTRACT = {
|
|
|
38
38
|
],
|
|
39
39
|
validation_order: [
|
|
40
40
|
"Start from workers.templates.get.",
|
|
41
|
-
"Fill in worker.yml plus run.py or SKILL.md.",
|
|
41
|
+
"Fill in worker.yml plus run.py, run.ts, or SKILL.md.",
|
|
42
42
|
"Call workers.validate.",
|
|
43
43
|
"Repair all errors before calling workers.create.",
|
|
44
44
|
"After create, run only a safe smoke input and inspect runs.get/runs.watch.",
|
|
@@ -50,57 +50,57 @@ export const WORKER_TEMPLATES = [
|
|
|
50
50
|
title: "Python Script Worker",
|
|
51
51
|
description: "Deterministic E2B worker that reads inputs.json and writes result.json.",
|
|
52
52
|
mode: "pure-script",
|
|
53
|
-
worker_yml: `schema_version: "0.3"
|
|
54
|
-
name: text-normalizer
|
|
55
|
-
title: Text Normalizer
|
|
56
|
-
description: Normalize a text input and return the normalized value.
|
|
57
|
-
version: "0.1.0"
|
|
58
|
-
entrypoint: run.py
|
|
59
|
-
trigger:
|
|
60
|
-
type: manual
|
|
61
|
-
exec:
|
|
62
|
-
mode: pure-script
|
|
63
|
-
entry: run.py
|
|
64
|
-
runtime: python311
|
|
65
|
-
runner: e2b
|
|
66
|
-
command: python run.py
|
|
67
|
-
inputs:
|
|
68
|
-
- name: text
|
|
69
|
-
label: Text
|
|
70
|
-
type: string
|
|
71
|
-
kind: scalar
|
|
72
|
-
required: true
|
|
73
|
-
outputs:
|
|
74
|
-
- name: normalized
|
|
75
|
-
label: Normalized text
|
|
76
|
-
type: string
|
|
77
|
-
kind: scalar
|
|
78
|
-
required: true
|
|
79
|
-
capabilities:
|
|
80
|
-
network:
|
|
81
|
-
egress: false
|
|
82
|
-
secrets: []
|
|
83
|
-
connections: []
|
|
53
|
+
worker_yml: `schema_version: "0.3"
|
|
54
|
+
name: text-normalizer
|
|
55
|
+
title: Text Normalizer
|
|
56
|
+
description: Normalize a text input and return the normalized value.
|
|
57
|
+
version: "0.1.0"
|
|
58
|
+
entrypoint: run.py
|
|
59
|
+
trigger:
|
|
60
|
+
type: manual
|
|
61
|
+
exec:
|
|
62
|
+
mode: pure-script
|
|
63
|
+
entry: run.py
|
|
64
|
+
runtime: python311
|
|
65
|
+
runner: e2b
|
|
66
|
+
command: python run.py
|
|
67
|
+
inputs:
|
|
68
|
+
- name: text
|
|
69
|
+
label: Text
|
|
70
|
+
type: string
|
|
71
|
+
kind: scalar
|
|
72
|
+
required: true
|
|
73
|
+
outputs:
|
|
74
|
+
- name: normalized
|
|
75
|
+
label: Normalized text
|
|
76
|
+
type: string
|
|
77
|
+
kind: scalar
|
|
78
|
+
required: true
|
|
79
|
+
capabilities:
|
|
80
|
+
network:
|
|
81
|
+
egress: false
|
|
82
|
+
secrets: []
|
|
83
|
+
connections: []
|
|
84
84
|
`,
|
|
85
|
-
run_py: `import json
|
|
86
|
-
from pathlib import Path
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
def main() -> None:
|
|
90
|
-
inputs_path = Path("inputs.json")
|
|
91
|
-
inputs = json.loads(inputs_path.read_text(encoding="utf-8")) if inputs_path.exists() else {}
|
|
92
|
-
text = str(inputs.get("text", "")).strip()
|
|
93
|
-
result = {
|
|
94
|
-
"status": "success",
|
|
95
|
-
"outputs": {"normalized": " ".join(text.split())},
|
|
96
|
-
"artifacts": [],
|
|
97
|
-
"error": None,
|
|
98
|
-
}
|
|
99
|
-
Path("result.json").write_text(json.dumps(result), encoding="utf-8")
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if __name__ == "__main__":
|
|
103
|
-
main()
|
|
85
|
+
run_py: `import json
|
|
86
|
+
from pathlib import Path
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def main() -> None:
|
|
90
|
+
inputs_path = Path("inputs.json")
|
|
91
|
+
inputs = json.loads(inputs_path.read_text(encoding="utf-8")) if inputs_path.exists() else {}
|
|
92
|
+
text = str(inputs.get("text", "")).strip()
|
|
93
|
+
result = {
|
|
94
|
+
"status": "success",
|
|
95
|
+
"outputs": {"normalized": " ".join(text.split())},
|
|
96
|
+
"artifacts": [],
|
|
97
|
+
"error": None,
|
|
98
|
+
}
|
|
99
|
+
Path("result.json").write_text(json.dumps(result), encoding="utf-8")
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
if __name__ == "__main__":
|
|
103
|
+
main()
|
|
104
104
|
`,
|
|
105
105
|
notes: [
|
|
106
106
|
"Use this when the job can be completed deterministically in code.",
|
|
@@ -112,54 +112,54 @@ if __name__ == "__main__":
|
|
|
112
112
|
title: "Gmail Summary Agent",
|
|
113
113
|
description: "Agent-mode worker that uses a Gmail connection and produces a markdown summary.",
|
|
114
114
|
mode: "agent",
|
|
115
|
-
worker_yml: `schema_version: "0.3"
|
|
116
|
-
name: gmail-summary-agent
|
|
117
|
-
title: Gmail Summary Agent
|
|
118
|
-
description: Summarize recent Gmail messages into a concise markdown brief.
|
|
119
|
-
version: "0.1.0"
|
|
120
|
-
entrypoint: SKILL.md
|
|
121
|
-
trigger:
|
|
122
|
-
type: manual
|
|
123
|
-
connections:
|
|
124
|
-
- app: gmail
|
|
125
|
-
allowed_tools:
|
|
126
|
-
- GMAIL_FETCH_EMAILS
|
|
127
|
-
exec:
|
|
128
|
-
mode: agent
|
|
129
|
-
entry: SKILL.md
|
|
130
|
-
runtime: python311
|
|
131
|
-
runner: e2b
|
|
132
|
-
inputs:
|
|
133
|
-
- name: query
|
|
134
|
-
label: Gmail query
|
|
135
|
-
type: string
|
|
136
|
-
kind: scalar
|
|
137
|
-
required: false
|
|
138
|
-
default: newer_than:1d
|
|
139
|
-
outputs:
|
|
140
|
-
- name: summary
|
|
141
|
-
label: Summary
|
|
142
|
-
kind: file
|
|
143
|
-
media_type: text/markdown
|
|
144
|
-
path: out/summary.md
|
|
145
|
-
required: true
|
|
146
|
-
limits:
|
|
147
|
-
max_tool_iterations: 60
|
|
148
|
-
max_output_tokens: 100000
|
|
149
|
-
max_total_tokens: 1000000
|
|
150
|
-
timeout_seconds: 300
|
|
151
|
-
capabilities:
|
|
152
|
-
network:
|
|
153
|
-
egress: true
|
|
154
|
-
secrets: []
|
|
155
|
-
connections:
|
|
156
|
-
- gmail
|
|
115
|
+
worker_yml: `schema_version: "0.3"
|
|
116
|
+
name: gmail-summary-agent
|
|
117
|
+
title: Gmail Summary Agent
|
|
118
|
+
description: Summarize recent Gmail messages into a concise markdown brief.
|
|
119
|
+
version: "0.1.0"
|
|
120
|
+
entrypoint: SKILL.md
|
|
121
|
+
trigger:
|
|
122
|
+
type: manual
|
|
123
|
+
connections:
|
|
124
|
+
- app: gmail
|
|
125
|
+
allowed_tools:
|
|
126
|
+
- GMAIL_FETCH_EMAILS
|
|
127
|
+
exec:
|
|
128
|
+
mode: agent
|
|
129
|
+
entry: SKILL.md
|
|
130
|
+
runtime: python311
|
|
131
|
+
runner: e2b
|
|
132
|
+
inputs:
|
|
133
|
+
- name: query
|
|
134
|
+
label: Gmail query
|
|
135
|
+
type: string
|
|
136
|
+
kind: scalar
|
|
137
|
+
required: false
|
|
138
|
+
default: newer_than:1d
|
|
139
|
+
outputs:
|
|
140
|
+
- name: summary
|
|
141
|
+
label: Summary
|
|
142
|
+
kind: file
|
|
143
|
+
media_type: text/markdown
|
|
144
|
+
path: out/summary.md
|
|
145
|
+
required: true
|
|
146
|
+
limits:
|
|
147
|
+
max_tool_iterations: 60
|
|
148
|
+
max_output_tokens: 100000
|
|
149
|
+
max_total_tokens: 1000000
|
|
150
|
+
timeout_seconds: 300
|
|
151
|
+
capabilities:
|
|
152
|
+
network:
|
|
153
|
+
egress: true
|
|
154
|
+
secrets: []
|
|
155
|
+
connections:
|
|
156
|
+
- gmail
|
|
157
157
|
`,
|
|
158
|
-
skill_md: `# Gmail Summary Agent
|
|
159
|
-
|
|
160
|
-
Fetch recent Gmail messages using the declared Gmail connection, summarize the important items, and write a markdown brief to out/summary.md.
|
|
161
|
-
|
|
162
|
-
Call the Gmail runtime tool once with the declared allowed tool, summarize the returned messages, then call finish_with_outputs with the output named summary. Do not ask the user for OAuth tokens or passwords.
|
|
158
|
+
skill_md: `# Gmail Summary Agent
|
|
159
|
+
|
|
160
|
+
Fetch recent Gmail messages using the declared Gmail connection, summarize the important items, and write a markdown brief to out/summary.md.
|
|
161
|
+
|
|
162
|
+
Call the Gmail runtime tool once with the declared allowed tool, summarize the returned messages, then call finish_with_outputs with the output named summary. Do not ask the user for OAuth tokens or passwords.
|
|
163
163
|
`,
|
|
164
164
|
notes: [
|
|
165
165
|
"Use agent mode when the work needs reasoning or tool calls.",
|
|
@@ -171,64 +171,64 @@ Call the Gmail runtime tool once with the declared allowed tool, summarize the r
|
|
|
171
171
|
title: "Approval Script Worker",
|
|
172
172
|
description: "Script worker that prepares a human approval payload before an external action.",
|
|
173
173
|
mode: "pure-script",
|
|
174
|
-
worker_yml: `schema_version: "0.3"
|
|
175
|
-
name: approval-script
|
|
176
|
-
title: Approval Script
|
|
177
|
-
description: Build an approval payload for a proposed outbound action.
|
|
178
|
-
version: "0.1.0"
|
|
179
|
-
entrypoint: run.py
|
|
180
|
-
trigger:
|
|
181
|
-
type: manual
|
|
182
|
-
exec:
|
|
183
|
-
mode: pure-script
|
|
184
|
-
entry: run.py
|
|
185
|
-
runtime: python311
|
|
186
|
-
runner: e2b
|
|
187
|
-
command: python run.py
|
|
188
|
-
inputs:
|
|
189
|
-
- name: message
|
|
190
|
-
label: Message
|
|
191
|
-
type: string
|
|
192
|
-
kind: scalar
|
|
193
|
-
required: true
|
|
194
|
-
outputs:
|
|
195
|
-
- name: plan
|
|
196
|
-
label: Approval plan
|
|
197
|
-
kind: file
|
|
198
|
-
media_type: text/markdown
|
|
199
|
-
path: out/plan.md
|
|
200
|
-
required: true
|
|
201
|
-
approvals:
|
|
202
|
-
required: true
|
|
203
|
-
label: Approve outbound action
|
|
204
|
-
capabilities:
|
|
205
|
-
network:
|
|
206
|
-
egress: false
|
|
207
|
-
secrets: []
|
|
208
|
-
connections: []
|
|
174
|
+
worker_yml: `schema_version: "0.3"
|
|
175
|
+
name: approval-script
|
|
176
|
+
title: Approval Script
|
|
177
|
+
description: Build an approval payload for a proposed outbound action.
|
|
178
|
+
version: "0.1.0"
|
|
179
|
+
entrypoint: run.py
|
|
180
|
+
trigger:
|
|
181
|
+
type: manual
|
|
182
|
+
exec:
|
|
183
|
+
mode: pure-script
|
|
184
|
+
entry: run.py
|
|
185
|
+
runtime: python311
|
|
186
|
+
runner: e2b
|
|
187
|
+
command: python run.py
|
|
188
|
+
inputs:
|
|
189
|
+
- name: message
|
|
190
|
+
label: Message
|
|
191
|
+
type: string
|
|
192
|
+
kind: scalar
|
|
193
|
+
required: true
|
|
194
|
+
outputs:
|
|
195
|
+
- name: plan
|
|
196
|
+
label: Approval plan
|
|
197
|
+
kind: file
|
|
198
|
+
media_type: text/markdown
|
|
199
|
+
path: out/plan.md
|
|
200
|
+
required: true
|
|
201
|
+
approvals:
|
|
202
|
+
required: true
|
|
203
|
+
label: Approve outbound action
|
|
204
|
+
capabilities:
|
|
205
|
+
network:
|
|
206
|
+
egress: false
|
|
207
|
+
secrets: []
|
|
208
|
+
connections: []
|
|
209
209
|
`,
|
|
210
|
-
run_py: `import json
|
|
211
|
-
from pathlib import Path
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
def main() -> None:
|
|
215
|
-
inputs = json.loads(Path("inputs.json").read_text(encoding="utf-8"))
|
|
216
|
-
message = str(inputs.get("message", "")).strip()
|
|
217
|
-
out_dir = Path("out")
|
|
218
|
-
out_dir.mkdir(exist_ok=True)
|
|
219
|
-
plan_path = out_dir / "plan.md"
|
|
220
|
-
plan_path.write_text(f"# Proposed action\\n\\n{message}\\n", encoding="utf-8")
|
|
221
|
-
result = {
|
|
222
|
-
"status": "success",
|
|
223
|
-
"outputs": {"plan": str(plan_path)},
|
|
224
|
-
"artifacts": [{"name": "plan.md", "path": str(plan_path), "type": "text/markdown"}],
|
|
225
|
-
"error": None,
|
|
226
|
-
}
|
|
227
|
-
Path("result.json").write_text(json.dumps(result), encoding="utf-8")
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
if __name__ == "__main__":
|
|
231
|
-
main()
|
|
210
|
+
run_py: `import json
|
|
211
|
+
from pathlib import Path
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
def main() -> None:
|
|
215
|
+
inputs = json.loads(Path("inputs.json").read_text(encoding="utf-8"))
|
|
216
|
+
message = str(inputs.get("message", "")).strip()
|
|
217
|
+
out_dir = Path("out")
|
|
218
|
+
out_dir.mkdir(exist_ok=True)
|
|
219
|
+
plan_path = out_dir / "plan.md"
|
|
220
|
+
plan_path.write_text(f"# Proposed action\\n\\n{message}\\n", encoding="utf-8")
|
|
221
|
+
result = {
|
|
222
|
+
"status": "success",
|
|
223
|
+
"outputs": {"plan": str(plan_path)},
|
|
224
|
+
"artifacts": [{"name": "plan.md", "path": str(plan_path), "type": "text/markdown"}],
|
|
225
|
+
"error": None,
|
|
226
|
+
}
|
|
227
|
+
Path("result.json").write_text(json.dumps(result), encoding="utf-8")
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
if __name__ == "__main__":
|
|
231
|
+
main()
|
|
232
232
|
`,
|
|
233
233
|
notes: [
|
|
234
234
|
"Use approvals.required when a human must review before publication or side effects.",
|
|
@@ -237,7 +237,7 @@ if __name__ == "__main__":
|
|
|
237
237
|
},
|
|
238
238
|
];
|
|
239
239
|
export function listWorkerTemplates() {
|
|
240
|
-
return WORKER_TEMPLATES.map(({ worker_yml: _workerYml, run_py: _runPy, skill_md: _skillMd, ...template }) => template);
|
|
240
|
+
return WORKER_TEMPLATES.map(({ worker_yml: _workerYml, run_py: _runPy, run_ts: _runTs, skill_md: _skillMd, ...template }) => template);
|
|
241
241
|
}
|
|
242
242
|
export function getWorkerTemplate(id) {
|
|
243
243
|
return WORKER_TEMPLATES.find((template) => template.id === id);
|
|
@@ -308,6 +308,8 @@ function collectEnvReads(runPy) {
|
|
|
308
308
|
/\bos\.environ\s*\[\s*["']([A-Za-z_][A-Za-z0-9_]*)["']\s*\]/g,
|
|
309
309
|
/\bos\.environ\.get\s*\(\s*["']([A-Za-z_][A-Za-z0-9_]*)["']/g,
|
|
310
310
|
/\bos\.getenv\s*\(\s*["']([A-Za-z_][A-Za-z0-9_]*)["']/g,
|
|
311
|
+
/\bprocess\.env\.([A-Za-z_][A-Za-z0-9_]*)\b/g,
|
|
312
|
+
/\bprocess\.env\s*\[\s*["']([A-Za-z_][A-Za-z0-9_]*)["']\s*\]/g,
|
|
311
313
|
];
|
|
312
314
|
for (const pattern of patterns) {
|
|
313
315
|
for (const match of runPy.matchAll(pattern)) {
|
|
@@ -326,7 +328,7 @@ function inferMode(manifest) {
|
|
|
326
328
|
const entry = inferEntrypoint(manifest);
|
|
327
329
|
if (explicit === "agent" || entry === "SKILL.md")
|
|
328
330
|
return "agent";
|
|
329
|
-
if (explicit === "pure-script" || entry
|
|
331
|
+
if (explicit === "pure-script" || /\.(py|sh|js|ts)$/i.test(entry || ""))
|
|
330
332
|
return "pure-script";
|
|
331
333
|
return "unknown";
|
|
332
334
|
}
|
|
@@ -358,7 +360,9 @@ export function validateWorkerDraft(input) {
|
|
|
358
360
|
const declaredOutputs = parsed.manifest ? collectOutputNames(manifest) : [];
|
|
359
361
|
const declaredSecrets = parsed.manifest ? collectDeclaredSecrets(manifest) : [];
|
|
360
362
|
const declaredConnections = parsed.manifest ? collectConnectionNames(manifest) : [];
|
|
361
|
-
const
|
|
363
|
+
const scriptSource = entrypoint?.toLowerCase().endsWith(".ts") ? input.run_ts || "" : input.run_py || "";
|
|
364
|
+
const scriptLabel = entrypoint?.toLowerCase().endsWith(".ts") ? "run.ts" : "run.py";
|
|
365
|
+
const envReads = collectEnvReads(scriptSource);
|
|
362
366
|
if (parsed.manifest) {
|
|
363
367
|
if (manifest.schema_version !== "0.3")
|
|
364
368
|
errors.push('schema_version must be "0.3"');
|
|
@@ -394,9 +398,9 @@ export function validateWorkerDraft(input) {
|
|
|
394
398
|
errors.push("trigger.type is required");
|
|
395
399
|
}
|
|
396
400
|
if (mode === "unknown")
|
|
397
|
-
errors.push('worker mode is unknown; use exec.mode "pure-script" with run.py or "agent" with SKILL.md');
|
|
398
|
-
if (mode === "pure-script" && entrypoint
|
|
399
|
-
errors.push('pure-script workers must use exec.entry
|
|
401
|
+
errors.push('worker mode is unknown; use exec.mode "pure-script" with run.py/run.ts or "agent" with SKILL.md');
|
|
402
|
+
if (mode === "pure-script" && !/\.(py|sh|js|ts)$/i.test(entrypoint || ""))
|
|
403
|
+
errors.push('pure-script workers must use a script exec.entry such as "run.py" or "run.ts"');
|
|
400
404
|
if (mode === "agent" && entrypoint !== "SKILL.md")
|
|
401
405
|
errors.push('agent workers must use exec.entry: "SKILL.md"');
|
|
402
406
|
for (const field of fieldArray(manifest, "inputs")) {
|
|
@@ -414,7 +418,7 @@ export function validateWorkerDraft(input) {
|
|
|
414
418
|
const capSecrets = collectCapabilityList(manifest, "secrets");
|
|
415
419
|
for (const key of envReads) {
|
|
416
420
|
if (!capSecrets.includes(key)) {
|
|
417
|
-
errors.push(
|
|
421
|
+
errors.push(`${scriptLabel} reads env ${key}, but worker.yml does not declare it under capabilities.secrets`);
|
|
418
422
|
}
|
|
419
423
|
}
|
|
420
424
|
const capConnections = collectCapabilityList(manifest, "connections");
|
|
@@ -425,23 +429,22 @@ export function validateWorkerDraft(input) {
|
|
|
425
429
|
}
|
|
426
430
|
}
|
|
427
431
|
if (mode === "pure-script") {
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
errors.push("pure-script workers require non-empty run_py");
|
|
432
|
+
if (!scriptSource.trim()) {
|
|
433
|
+
errors.push(`pure-script workers require non-empty ${scriptLabel === "run.ts" ? "run_ts" : "run_py"}`);
|
|
431
434
|
}
|
|
432
435
|
else {
|
|
433
|
-
if (!/result\.json/.test(
|
|
434
|
-
errors.push(
|
|
436
|
+
if (!/result\.json/.test(scriptSource)) {
|
|
437
|
+
errors.push(`pure-script ${scriptLabel} must write result.json`);
|
|
435
438
|
}
|
|
436
|
-
if (/^\s*def\s+run\s*\(\s*inputs\s*,\s*context\s*\)\s*:/m.test(
|
|
439
|
+
if (scriptLabel === "run.py" && /^\s*def\s+run\s*\(\s*inputs\s*,\s*context\s*\)\s*:/m.test(scriptSource) && /^\s*return\b/m.test(scriptSource) && !/result\.json/.test(scriptSource)) {
|
|
437
440
|
errors.push("pure-script run.py must not rely on SDK-style def run() return values; write result.json instead");
|
|
438
441
|
}
|
|
439
|
-
if (declaredOutputs.length > 0 && /["']outputs["']\s*:\s*\{\s*\}/.test(
|
|
440
|
-
errors.push(
|
|
442
|
+
if (declaredOutputs.length > 0 && /["']outputs["']\s*:\s*\{\s*\}/.test(scriptSource)) {
|
|
443
|
+
errors.push(`${scriptLabel} writes an empty outputs object, but worker.yml declares outputs`);
|
|
441
444
|
}
|
|
442
445
|
for (const output of declaredOutputs) {
|
|
443
|
-
if (!new RegExp(`["']${output.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}["']`).test(
|
|
444
|
-
errors.push(`declared output ${output} does not appear in
|
|
446
|
+
if (!new RegExp(`["']${output.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}["']`).test(scriptSource)) {
|
|
447
|
+
errors.push(`declared output ${output} does not appear in ${scriptLabel}; result.json.outputs must include every declared output`);
|
|
445
448
|
}
|
|
446
449
|
}
|
|
447
450
|
}
|
|
@@ -451,12 +454,12 @@ export function validateWorkerDraft(input) {
|
|
|
451
454
|
if (mode === "agent") {
|
|
452
455
|
if (!input.skill_md?.trim())
|
|
453
456
|
errors.push("agent workers require non-empty skill_md / SKILL.md");
|
|
454
|
-
if (input.run_py?.trim())
|
|
455
|
-
warnings.push("agent workers execute SKILL.md;
|
|
457
|
+
if (input.run_py?.trim() || input.run_ts?.trim())
|
|
458
|
+
warnings.push("agent workers execute SKILL.md; script source should be omitted unless the API requires a compatibility stub");
|
|
456
459
|
}
|
|
457
460
|
const nextSteps = errors.length > 0
|
|
458
461
|
? ["Fix every validation error.", "Call workers.validate again before workers.create."]
|
|
459
|
-
: ["Call workers.create with this exact worker_yml plus run_py or skill_md.", "Run a safe smoke input, then inspect runs.get/runs.watch."];
|
|
462
|
+
: ["Call workers.create with this exact worker_yml plus run_py, run_ts, or skill_md.", "Run a safe smoke input, then inspect runs.get/runs.watch."];
|
|
460
463
|
return {
|
|
461
464
|
valid: errors.length === 0,
|
|
462
465
|
errors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-authoring.js","sourceRoot":"","sources":["../../src/lib/worker-authoring.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker-authoring.js","sourceRoot":"","sources":["../../src/lib/worker-authoring.ts"],"names":[],"mappings":"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"}
|