@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.
@@ -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 === "run.py")
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 envReads = collectEnvReads(input.run_py || "");
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 !== "run.py")
399
- errors.push('pure-script workers must use exec.entry: "run.py"');
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(`run.py reads env ${key}, but worker.yml does not declare it under capabilities.secrets`);
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
- const runPy = input.run_py || "";
429
- if (!runPy.trim()) {
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(runPy)) {
434
- errors.push("pure-script run.py must write result.json");
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(runPy) && /^\s*return\b/m.test(runPy) && !/result\.json/.test(runPy)) {
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(runPy)) {
440
- errors.push("run.py writes an empty outputs object, but worker.yml declares outputs");
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(runPy)) {
444
- errors.push(`declared output ${output} does not appear in run.py; result.json.outputs must include every declared output`);
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; run_py should be omitted unless the API requires a compatibility stub");
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":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAsC1C,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC;IACpD,yBAAyB,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;IAC3G,KAAK,EAAE;QACL,aAAa,EAAE;YACb,UAAU,EAAE,QAAQ;YACpB,oBAAoB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;YACpF,gBAAgB,EAAE;gBAChB,kDAAkD;gBAClD,uCAAuC;gBACvC,iGAAiG;gBACjG,qEAAqE;gBACrE,sGAAsG;aACvG;SACF;QACD,KAAK,EAAE;YACL,UAAU,EAAE,UAAU;YACtB,oBAAoB,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;YACzE,gBAAgB,EAAE;gBAChB,yCAAyC;gBACzC,4EAA4E;gBAC5E,uGAAuG;aACxG;SACF;KACF;IACD,OAAO,EAAE;QACP,6EAA6E;QAC7E,2HAA2H;QAC3H,+CAA+C;KAChD;IACD,WAAW,EAAE;QACX,wDAAwD;QACxD,6EAA6E;QAC7E,qGAAqG;KACtG;IACD,gBAAgB,EAAE;QAChB,mCAAmC;QACnC,6CAA6C;QAC7C,wBAAwB;QACxB,kDAAkD;QAClD,4EAA4E;KAC7E;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,yEAAyE;QACtF,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bf;QACG,MAAM,EAAE;;;;;;;;;;;;;;;;;;;CAmBX;QACG,KAAK,EAAE;YACL,mEAAmE;YACnE,yDAAyD;SAC1D;KACF;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,iFAAiF;QAC9F,IAAI,EAAE,OAAO;QACb,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Cf;QACG,QAAQ,EAAE;;;;;CAKb;QACG,KAAK,EAAE;YACL,6DAA6D;YAC7D,wEAAwE;SACzE;KACF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,iFAAiF;QAC9F,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCf;QACG,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBX;QACG,KAAK,EAAE;YACL,qFAAqF;YACrF,qGAAqG;SACtG;KACF;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB;IACjC,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AACzH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/H,CAAC;AAED,SAAS,UAAU,CAAC,QAAoB,EAAE,GAAyB;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,OAAO,CAAC,SAAS,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAoB;IAC9C,OAAO,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;SACnC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAoB;IAClD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;YACrF,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAoB;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAoB,EAAE,GAA8B;IACjF,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrD,OAAO,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,QAAQ,GAAG;QACf,6DAA6D;QAC7D,6DAA6D;QAC7D,uDAAuD;KACxD,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,QAAoB;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,SAAS,CAAC,QAAoB;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,OAAO,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IACjE,IAAI,QAAQ,KAAK,aAAa,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,CAAC,mCAAmC,CAAC,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,EAAE,MAAM,EAAE,CAAC,iCAAiC,OAAO,EAAE,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAiC;IACnE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAErD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,IAAI,QAAQ,CAAC,cAAc,KAAK,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACnF,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU;gBAAE,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACtD,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,iBAAiB,OAAO,kCAAkC,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9G,CAAC;YACD,IAAI,MAAM,KAAK,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC9F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAChG,IAAI,IAAI,KAAK,aAAa,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5H,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;QAChI,IAAI,IAAI,KAAK,aAAa,IAAI,UAAU,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACxH,IAAI,IAAI,KAAK,OAAO,IAAI,UAAU,KAAK,UAAU;YAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAEhH,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC9E,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,oBAAoB,CAAC,CAAC;QACvH,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,oBAAoB,CAAC,CAAC;QACxH,CAAC;QAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,oBAAoB,GAAG,iEAAiE,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtE,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;YAC7C,IAAI,YAAY,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzD,QAAQ,CAAC,IAAI,CAAC,cAAc,UAAU,wEAAwE,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,qDAAqD,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpI,MAAM,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;YAClH,CAAC;YACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9E,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;YACxF,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxF,MAAM,CAAC,IAAI,CAAC,mBAAmB,MAAM,oFAAoF,CAAC,CAAC;gBAC7H,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAChG,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,uGAAuG,CAAC,CAAC;IACnJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;QACjC,CAAC,CAAC,CAAC,6BAA6B,EAAE,oDAAoD,CAAC;QACvF,CAAC,CAAC,CAAC,yEAAyE,EAAE,2DAA2D,CAAC,CAAC;IAE7I,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,QAAQ;QACR,QAAQ,EAAE;YACR,IAAI;YACJ,UAAU;YACV,OAAO;YACP,MAAM;YACN,gBAAgB,EAAE,eAAe;YACjC,gBAAgB,EAAE,eAAe;YACjC,oBAAoB,EAAE,mBAAmB;YACzC,SAAS,EAAE,QAAQ;SACpB;QACD,UAAU,EAAE,SAAS;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"worker-authoring.js","sourceRoot":"","sources":["../../src/lib/worker-authoring.ts"],"names":[],"mappings":"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"}