terse-cli 0.4.7 → 0.5.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 (63) hide show
  1. package/dist/commands/deploy.d.ts.map +1 -1
  2. package/dist/commands/deploy.js +3 -2
  3. package/dist/commands/deploy.js.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/providers/typescript/TypeScriptProvider.d.ts +2 -0
  7. package/dist/providers/typescript/TypeScriptProvider.d.ts.map +1 -1
  8. package/dist/providers/typescript/TypeScriptProvider.js +32 -13
  9. package/dist/providers/typescript/TypeScriptProvider.js.map +1 -1
  10. package/dist/providers/typescript/jobMacro.d.ts +1 -2
  11. package/dist/providers/typescript/jobMacro.d.ts.map +1 -1
  12. package/dist/providers/typescript/jobMacro.js +69 -111
  13. package/dist/providers/typescript/jobMacro.js.map +1 -1
  14. package/dist/providers/typescript/jobSources.d.ts +7 -0
  15. package/dist/providers/typescript/jobSources.d.ts.map +1 -0
  16. package/dist/providers/typescript/jobSources.js +46 -0
  17. package/dist/providers/typescript/jobSources.js.map +1 -0
  18. package/dist/providers/typescript/runtimes/durableJobRuntime.d.ts.map +1 -1
  19. package/dist/providers/typescript/runtimes/durableJobRuntime.js +98 -54
  20. package/dist/providers/typescript/runtimes/durableJobRuntime.js.map +1 -1
  21. package/dist/providers/typescript/stepMacro.d.ts +2 -29
  22. package/dist/providers/typescript/stepMacro.d.ts.map +1 -1
  23. package/dist/providers/typescript/stepMacro.js +29 -120
  24. package/dist/providers/typescript/stepMacro.js.map +1 -1
  25. package/dist/providers/typescript/terseWorkflow.d.ts +8 -0
  26. package/dist/providers/typescript/terseWorkflow.d.ts.map +1 -0
  27. package/dist/providers/typescript/terseWorkflow.js +8 -0
  28. package/dist/providers/typescript/terseWorkflow.js.map +1 -0
  29. package/package.json +6 -8
  30. package/src/providers/typescript/modules/github/github.triggers.hbs +4 -0
  31. package/templates/typescript/init/gitignore.hbs +1 -0
  32. package/templates/typescript/init/package.json.hbs +0 -1
  33. package/dist/providers/typescript/durableRuntime.d.ts +0 -20
  34. package/dist/providers/typescript/durableRuntime.d.ts.map +0 -1
  35. package/dist/providers/typescript/durableRuntime.js +0 -211
  36. package/dist/providers/typescript/durableRuntime.js.map +0 -1
  37. package/dist/providers/typescript/rewindRun.d.ts +0 -9
  38. package/dist/providers/typescript/rewindRun.d.ts.map +0 -1
  39. package/dist/providers/typescript/rewindRun.js +0 -111
  40. package/dist/providers/typescript/rewindRun.js.map +0 -1
  41. package/dist/providers/typescript/terseWorkflowBuilder.d.ts +0 -8
  42. package/dist/providers/typescript/terseWorkflowBuilder.d.ts.map +0 -1
  43. package/dist/providers/typescript/terseWorkflowBuilder.js +0 -70
  44. package/dist/providers/typescript/terseWorkflowBuilder.js.map +0 -1
  45. package/dist/providers/typescript/workflowCoreVersion.d.ts +0 -2
  46. package/dist/providers/typescript/workflowCoreVersion.d.ts.map +0 -1
  47. package/dist/providers/typescript/workflowCoreVersion.js +0 -7
  48. package/dist/providers/typescript/workflowCoreVersion.js.map +0 -1
  49. package/dist/providers/typescript/workflowShim.d.ts +0 -2
  50. package/dist/providers/typescript/workflowShim.d.ts.map +0 -1
  51. package/dist/providers/typescript/workflowShim.js +0 -51
  52. package/dist/providers/typescript/workflowShim.js.map +0 -1
  53. package/dist/terseWorld.d.ts +0 -4
  54. package/dist/terseWorld.d.ts.map +0 -1
  55. package/dist/terseWorld.js +0 -46
  56. package/dist/terseWorld.js.map +0 -1
  57. package/templates/typescript/workflow-shim/api.js +0 -5
  58. package/templates/typescript/workflow-shim/index.js +0 -2
  59. package/templates/typescript/workflow-shim/internal/builtins.js +0 -83
  60. package/templates/typescript/workflow-shim/internal/class-serialization.js +0 -1
  61. package/templates/typescript/workflow-shim/runtime.js +0 -1
  62. package/templates/typescript/workflow-shim/stdlib.js +0 -18
  63. package/templates/typescript/workflow-shim/workflow.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"stepMacro.js","sourceRoot":"","sources":["../../../src/providers/typescript/stepMacro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stepMacro.js","sourceRoot":"","sources":["../../../src/providers/typescript/stepMacro.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { CreateJobParameters, TerseJobContext } from "terse-sdk";
2
+ import type { SerializedEvent } from "terse-types";
3
+ export declare function shouldRunTerseWorkflow({ job, event, context }: {
4
+ job: CreateJobParameters;
5
+ event: SerializedEvent;
6
+ context: TerseJobContext;
7
+ }): Promise<boolean>;
8
+ //# sourceMappingURL=terseWorkflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terseWorkflow.d.ts","sourceRoot":"","sources":["../../../src/providers/typescript/terseWorkflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAGrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,wBAAsB,sBAAsB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,GAAG,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAItK"}
@@ -0,0 +1,8 @@
1
+ import { __buildJobStateAccessor, createSDKTrigger } from "terse-sdk";
2
+ import { runWithJobContext } from "terse-sdk/dist/runIdentity/jobContextStore.js";
3
+ export async function shouldRunTerseWorkflow({ job, event, context }) {
4
+ const sdkEvent = createSDKTrigger(event);
5
+ const state = __buildJobStateAccessor(job.states ?? []);
6
+ return runWithJobContext(context, async () => !job.filter || (await job.filter(sdkEvent, state)));
7
+ }
8
+ //# sourceMappingURL=terseWorkflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terseWorkflow.js","sourceRoot":"","sources":["../../../src/providers/typescript/terseWorkflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AAGjF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAkF;IAChJ,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IACvD,OAAO,iBAAiB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;AACrG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "terse-cli",
3
- "version": "0.4.7",
3
+ "version": "0.5.1",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "repository": {
@@ -24,10 +24,6 @@
24
24
  "@clack/prompts": "^1.0.0",
25
25
  "@inquirer/prompts": "^7.0.0",
26
26
  "@pnpm/tabtab": "^0.5.4",
27
- "@workflow/builders": "5.0.0-beta.19",
28
- "@workflow/core": "5.0.0-beta.19",
29
- "@workflow/world": "5.0.0-beta.11",
30
- "@workflow/world-local": "5.0.0-beta.19",
31
27
  "chalk": "^5.0.0",
32
28
  "commander": "^14.0.0",
33
29
  "conf": "^15.1.0",
@@ -36,20 +32,22 @@
36
32
  "handlebars": "^4.7.9",
37
33
  "json-schema-to-typescript": "^15.0.4",
38
34
  "luxon": "^3.7.2",
35
+ "little-durable": "0.1.3",
39
36
  "ora": "^8.0.0",
40
37
  "tsx": "^4.0.0",
41
38
  "typescript": "^5.0.0",
42
39
  "zod": "^4.3.6",
43
- "terse-types": "0.4.7",
44
- "terse-sdk": "0.4.7"
40
+ "terse-sdk": "0.5.1",
41
+ "terse-types": "0.5.1"
45
42
  },
46
43
  "devDependencies": {
47
44
  "@types/luxon": "^3.7.1",
48
45
  "@types/node": "^22.0.0"
49
46
  },
50
47
  "scripts": {
51
- "build": "tsc",
48
+ "build": "rm -rf dist && tsc && chmod +x dist/index.js",
52
49
  "dev": "tsc --watch --preserveWatchOutput",
50
+ "test": "node --import tsx --test test/**/*.test.ts",
53
51
  "format": "pnpm exec prettier --config ../../.prettierrc --write \"src/**/*.ts\"",
54
52
  "format:check": "pnpm exec prettier --config ../../.prettierrc --check \"src/**/*.ts\"",
55
53
  "install-global": "npm run build && npm link"
@@ -29,6 +29,10 @@ export const githubTriggers = {
29
29
  onPR(opts: { repo: Repos }): TypedTrigger<GithubPRTrigger> {
30
30
  return new GitHubConfig("{{escape section.id}}", [opts.repo.repositoryId], [GitHubEventType.PR_OPENED, GitHubEventType.PR_MERGED, GitHubEventType.PR_CLOSED, GitHubEventType.PR_SYNCHRONIZE])
31
31
  },
32
+ /** Trigger when an issue is created */
33
+ onIssueCreated(opts: { repo: Repos }): TypedTrigger<GithubIssueCreatedTrigger> {
34
+ return new GitHubConfig("{{escape section.id}}", [opts.repo.repositoryId], [GitHubEventType.ISSUE_CREATED])
35
+ },
32
36
  /** Trigger when a comment is created on an issue or pull request */
33
37
  onIssueComment(opts: { repo: Repos }): TypedTrigger<GithubIssueCommentCreatedTrigger> {
34
38
  return new GitHubConfig("{{escape section.id}}", [opts.repo.repositoryId], [GitHubEventType.ISSUE_COMMENT_CREATED])
@@ -1,3 +1,4 @@
1
1
  node_modules
2
2
  dist
3
+ .terse
3
4
  .env
@@ -7,7 +7,6 @@
7
7
  "dev": "tsc --watch"
8
8
  },
9
9
  "dependencies": {
10
- "@workflow/core": "{{workflowCoreVersion}}",
11
10
  "terse-sdk": "{{sdkVersion}}",
12
11
  "zod": "^4.3.6"
13
12
  },
@@ -1,20 +0,0 @@
1
- import { TerseJobContext } from "terse-sdk/dist/context";
2
- import { SerializedEvent } from "terse-types";
3
- export declare function getDurableRuntime(cwd?: string): Promise<DurableRuntime>;
4
- export declare function closeDurableRuntime(): Promise<void>;
5
- type DurableRuntime = {
6
- start: () => Promise<void>;
7
- dispatchJob: (jobName: string, ctx: TerseJobContext, event: SerializedEvent) => Promise<{
8
- filtered: boolean;
9
- awaitResult: () => Promise<unknown>;
10
- }>;
11
- awaitRunResult: (workflowRunId: string) => Promise<unknown>;
12
- deliverInput: (token: string, payload: unknown) => Promise<void>;
13
- close: () => Promise<void>;
14
- };
15
- export declare function buildWorkflowArtifacts(cwd: string): Promise<Map<string, {
16
- fnName: string;
17
- file: string;
18
- }>>;
19
- export {};
20
- //# sourceMappingURL=durableRuntime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"durableRuntime.d.ts","sourceRoot":"","sources":["../../../src/providers/typescript/durableRuntime.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAW7C,wBAAgB,iBAAiB,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAE9E;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKzD;AA+ED,KAAK,cAAc,GAAG;IAClB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAA;IACnJ,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B,CAAA;AAuBD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAShH"}
@@ -1,211 +0,0 @@
1
- import { getRun, resumeHook, setWorld, start } from "@workflow/core/runtime";
2
- import crypto from "node:crypto";
3
- import fs from "node:fs";
4
- import { createRequire } from "node:module";
5
- import path from "node:path";
6
- import { __buildJobStateAccessor, createSDKTrigger, fetchRegisteredJobs } from "terse-sdk";
7
- import { createTerseWorld } from "../../terseWorld.js";
8
- import { transformJobSource } from "./jobMacro.js";
9
- import { TerseWorkflowBuilder } from "./terseWorkflowBuilder.js";
10
- import { expectedWorkflowCoreVersion } from "./workflowCoreVersion.js";
11
- import { writeWorkflowShim } from "./workflowShim.js";
12
- let runtimePromise = null;
13
- export function getDurableRuntime(cwd = process.cwd()) {
14
- return (runtimePromise ??= startDurableRuntime(cwd));
15
- }
16
- export async function closeDurableRuntime() {
17
- if (!runtimePromise)
18
- return;
19
- const runtime = await runtimePromise;
20
- runtimePromise = null;
21
- await runtime.close();
22
- }
23
- // @workflow/core's formatter drops errorStack from the retry-exhaustion log as
24
- // redundant, but that message carries no stack of its own, so a failed step
25
- // prints without its cause. The debug namespace still logs the full metadata.
26
- function enableWorkflowStepDebugLogging() {
27
- process.env.DEBUG ??= "workflow:step:error";
28
- }
29
- async function startDurableRuntime(cwd) {
30
- enableWorkflowStepDebugLogging();
31
- const out = path.join(cwd, ".terse", "wf");
32
- const workflowFnByJob = isBuildFresh(out, cwd) ? loadWorkflowArtifacts(out) : await buildWorkflowArtifacts(cwd);
33
- const world = createTerseWorld();
34
- setWorld(world);
35
- const require = createRequire(import.meta.url);
36
- world.registerHandler("__wkf_step_", require(path.join(out, "steps.cjs")).POST);
37
- world.registerHandler("__wkf_workflow_", require(path.join(out, "workflows.cjs")).POST);
38
- const manifest = JSON.parse(fs.readFileSync(path.join(out, "manifest.json"), "utf8"));
39
- const workflowIdByJob = new Map();
40
- const missing = [];
41
- for (const [name, { fnName, file }] of workflowFnByJob) {
42
- const workflowId = lookupWorkflowId(manifest, fnName);
43
- if (workflowId)
44
- workflowIdByJob.set(name, workflowId);
45
- else
46
- missing.push({ name, file });
47
- }
48
- if (missing.length > 0) {
49
- const lines = missing.map(m => ` - "${m.name}" (${m.file})`).join("\n");
50
- throw new Error(`The durable build produced no "use workflow" for ${missing.length} job(s):\n${lines}\n\nEach file was transformed but its workflow never reached the manifest, which almost always means the file failed to compile during the bundle. Check that each file builds on its own, then re-run.`);
51
- }
52
- // start() re-enqueues recovered (pending/running) runs and begins draining the queue.
53
- // It is NOT called during construction: a hook-resume must journal its payload first,
54
- // or the re-enqueued replay races the payload write, re-arms the raced sleep, and
55
- // fires a spurious suspension for a run that is about to complete.
56
- let started = false;
57
- const startWorld = async () => {
58
- if (started)
59
- return;
60
- started = true;
61
- await world.start?.();
62
- };
63
- return {
64
- start: startWorld,
65
- dispatchJob: async (jobName, ctx, event) => {
66
- const workflowId = workflowIdByJob.get(jobName);
67
- if (!workflowId)
68
- throw new Error(`No durable workflow was built for job "${jobName}".`);
69
- const job = fetchRegisteredJobs().get(jobName);
70
- if (!job)
71
- throw new Error(`No job was registered with name "${jobName}".`);
72
- const state = __buildJobStateAccessor(job.states ?? []);
73
- if (job?.filter && !(await job.filter(createSDKTrigger(event), state)))
74
- return { filtered: true, awaitResult: async () => ({ status: "ok", filtered: true }) };
75
- process.env.TERSE_BACKEND_URL ??= ctx.apiBaseUrl;
76
- const attributes = { sessionId: ctx.sessionId };
77
- if (ctx.runId) {
78
- attributes.runId = ctx.runId;
79
- }
80
- else {
81
- attributes.runId = process.env.TERSE_RUN_ID ?? "";
82
- }
83
- if (ctx.jobName)
84
- attributes.jobName = ctx.jobName;
85
- if (ctx.projectId)
86
- attributes.projectId = ctx.projectId;
87
- const run = await start({ workflowId }, [event], { attributes });
88
- return { filtered: false, awaitResult: () => run.returnValue };
89
- },
90
- awaitRunResult: workflowRunId => getRun(workflowRunId).returnValue,
91
- deliverInput: (token, payload) => resumeHook(token, payload).then(() => undefined),
92
- close: () => world.close?.() ?? Promise.resolve()
93
- };
94
- }
95
- function lookupWorkflowId(manifest, fnName) {
96
- for (const fileEntry of Object.values(manifest.workflows ?? {})) {
97
- const fn = fileEntry[fnName];
98
- if (fn?.workflowId)
99
- return fn.workflowId;
100
- }
101
- return undefined;
102
- }
103
- const JOBS_MAP_FILE = "jobs.json";
104
- function ensureProjectWorkflowDependency(cwd) {
105
- try {
106
- createRequire(path.join(cwd, "package.json")).resolve("@workflow/core");
107
- }
108
- catch {
109
- throw new Error(`Durable execution needs the "@workflow/core" package in your project. Run: npm install @workflow/core@${expectedWorkflowCoreVersion()} (the "workflow" package it replaces can be removed).`);
110
- }
111
- writeWorkflowShim(cwd, expectedWorkflowCoreVersion());
112
- }
113
- export async function buildWorkflowArtifacts(cwd) {
114
- const out = path.join(cwd, ".terse", "wf");
115
- ensureProjectWorkflowDependency(cwd);
116
- const scanDir = path.join(".terse", "macro");
117
- const workflowFnByJob = await withMacroedSources(cwd, () => new TerseWorkflowBuilder(cwd, scanDir, out).build());
118
- fs.mkdirSync(out, { recursive: true });
119
- fs.writeFileSync(path.join(out, JOBS_MAP_FILE), JSON.stringify([...workflowFnByJob]));
120
- fs.writeFileSync(path.join(out, SOURCES_HASH_FILE), sourcesHash(cwd));
121
- return workflowFnByJob;
122
- }
123
- const SOURCES_HASH_FILE = "sources.hash";
124
- function isBuildFresh(out, cwd) {
125
- const hashFile = path.join(out, SOURCES_HASH_FILE);
126
- if (!fs.existsSync(path.join(out, JOBS_MAP_FILE)) || !fs.existsSync(path.join(out, "manifest.json")) || !fs.existsSync(hashFile))
127
- return false;
128
- return fs.readFileSync(hashFile, "utf8") === sourcesHash(cwd);
129
- }
130
- function sourcesHash(cwd) {
131
- const hash = crypto.createHash("sha256");
132
- for (const file of findSourceFiles(path.join(cwd, "src")).sort()) {
133
- hash.update(path.relative(cwd, file));
134
- hash.update(fs.readFileSync(file));
135
- }
136
- return hash.digest("hex");
137
- }
138
- function findSourceFiles(dir) {
139
- if (!fs.existsSync(dir))
140
- return [];
141
- const out = [];
142
- for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
143
- const p = path.join(dir, entry.name);
144
- if (entry.isDirectory()) {
145
- if (entry.name !== "node_modules")
146
- out.push(...findSourceFiles(p));
147
- }
148
- else if (/\.(ts|tsx|mts|cts)$/.test(entry.name)) {
149
- out.push(p);
150
- }
151
- }
152
- return out;
153
- }
154
- function loadWorkflowArtifacts(out) {
155
- return new Map(JSON.parse(fs.readFileSync(path.join(out, JOBS_MAP_FILE), "utf8")));
156
- }
157
- // Macro-transform into a copied dir so the user's `src` is never touched.
158
- async function withMacroedSources(cwd, build) {
159
- const ts = loadTypescript(cwd);
160
- const macroDir = path.join(cwd, ".terse", "macro");
161
- const workflowFnByJob = new Map();
162
- fs.rmSync(macroDir, { recursive: true, force: true });
163
- fs.cpSync(path.join(cwd, "src"), macroDir, { recursive: true });
164
- for (const file of findJobFiles(macroDir)) {
165
- const { code, stepsCode, jobs } = transformJobSource(ts, fs.readFileSync(file, "utf8"), file);
166
- if (jobs.length === 0)
167
- continue;
168
- fs.writeFileSync(file, code);
169
- if (stepsCode)
170
- fs.writeFileSync(stepsFilePath(file), stepsCode);
171
- for (const job of jobs)
172
- workflowFnByJob.set(job.name, { fnName: job.fnName, file: path.relative(cwd, file) });
173
- }
174
- if (workflowFnByJob.size > 0)
175
- await build();
176
- return workflowFnByJob;
177
- }
178
- function stepsFilePath(file) {
179
- return file.replace(/\.(ts|tsx|mts|cts)$/, ".__terse.steps.$1");
180
- }
181
- function findJobFiles(dir) {
182
- if (!fs.existsSync(dir))
183
- return [];
184
- const out = [];
185
- for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
186
- const p = path.join(dir, entry.name);
187
- if (entry.isDirectory()) {
188
- if (entry.name !== "node_modules")
189
- out.push(...findJobFiles(p));
190
- }
191
- else if (/\.(ts|tsx|mts|cts)$/.test(entry.name) && fs.readFileSync(p, "utf8").includes("createJob")) {
192
- out.push(p);
193
- }
194
- }
195
- return out;
196
- }
197
- function loadTypescript(cwd) {
198
- try {
199
- return createRequire(path.join(cwd, "package.json"))("typescript");
200
- }
201
- catch {
202
- // Sandbox installs are prod-only, so the project's typescript devDependency is absent there; use the CLI's own copy.
203
- try {
204
- return createRequire(import.meta.url)("typescript");
205
- }
206
- catch {
207
- throw new Error("Durable execution needs TypeScript in your project. Run: npm install --save-dev typescript");
208
- }
209
- }
210
- }
211
- //# sourceMappingURL=durableRuntime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"durableRuntime.js","sourceRoot":"","sources":["../../../src/providers/typescript/durableRuntime.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export type RewindResult = {
2
- workflowRunId: string;
3
- rewoundStepId: string | null;
4
- deletedEvents: number;
5
- };
6
- export declare function resolveWorkflowRunId(dataDir: string, id: string): string;
7
- export declare function readRunStatus(dataDir: string, workflowRunId: string): string | null;
8
- export declare function rewindFailedRun(dataDir: string, workflowRunId: string): RewindResult;
9
- //# sourceMappingURL=rewindRun.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rewindRun.d.ts","sourceRoot":"","sources":["../../../src/providers/typescript/rewindRun.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,YAAY,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAA;AAIzG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAWxE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEnF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,YAAY,CA8CpF"}
@@ -1,111 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- const STEP_EVENT_TYPES = new Set(["step_created", "step_started", "step_completed", "step_failed", "step_retrying"]);
4
- export function resolveWorkflowRunId(dataDir, id) {
5
- if (id.startsWith("wrun_"))
6
- return id;
7
- const runsDir = path.join(dataDir, "runs");
8
- if (fs.existsSync(runsDir)) {
9
- for (const file of fs.readdirSync(runsDir)) {
10
- if (!file.endsWith(".json"))
11
- continue;
12
- const run = readJson(path.join(runsDir, file));
13
- if (run?.attributes?.runId === id)
14
- return run.runId;
15
- }
16
- }
17
- throw new Error(`No durable run is mapped to Terse run id "${id}". Pass a workflow run id (wrun_...) directly if you have it.`);
18
- }
19
- export function readRunStatus(dataDir, workflowRunId) {
20
- return readJson(path.join(dataDir, "runs", `${workflowRunId}.json`))?.status ?? null;
21
- }
22
- export function rewindFailedRun(dataDir, workflowRunId) {
23
- const runFile = path.join(dataDir, "runs", `${workflowRunId}.json`);
24
- const run = readJson(runFile);
25
- if (!run)
26
- throw new Error(`Run "${workflowRunId}" not found in ${dataDir}.`);
27
- if (run.status !== "failed")
28
- throw new Error(`Run "${workflowRunId}" is "${run.status}", not "failed" — nothing to rewind.`);
29
- const events = listRunEvents(dataDir, workflowRunId);
30
- // Only operate on journal shapes we can reason about; otherwise the caller
31
- // should re-run the job fresh instead.
32
- if (hasUnclosed(events, "wait_created", "wait_completed"))
33
- throw new Error(`Run "${workflowRunId}" has an open wait; re-drive is not supported. Re-run it fresh instead.`);
34
- if (hasUnclosed(events, "hook_created", "hook_disposed"))
35
- throw new Error(`Run "${workflowRunId}" has an open hook; re-drive is not supported. Re-run it fresh instead.`);
36
- const completed = new Set(events.filter(e => e.eventType === "step_completed").map(e => e.correlationId));
37
- const touched = new Set(events.filter(e => STEP_EVENT_TYPES.has(e.eventType) && e.correlationId).map(e => e.correlationId));
38
- const incomplete = [...touched].filter(id => !completed.has(id));
39
- if (incomplete.length > 1)
40
- throw new Error(`Run "${workflowRunId}" has ${incomplete.length} incomplete steps; re-drive only supports a single failed step. Re-run it fresh instead.`);
41
- const rewoundStepId = incomplete[0] ?? null;
42
- backupRun(dataDir, workflowRunId, runFile, events);
43
- let deletedEvents = 0;
44
- for (const e of events) {
45
- const isFailureMarker = e.eventType === "run_failed";
46
- const isRewoundStepEvent = rewoundStepId !== null && e.correlationId === rewoundStepId && STEP_EVENT_TYPES.has(e.eventType);
47
- if (isFailureMarker || isRewoundStepEvent) {
48
- fs.rmSync(path.join(dataDir, "events", e.file), { force: true });
49
- deletedEvents++;
50
- }
51
- }
52
- // Drop any non-completed step entity (covers the failed step regardless of how its
53
- // composite key is derived) so replay re-executes it rather than seeing it terminal.
54
- for (const file of listRunStepFiles(dataDir, workflowRunId)) {
55
- const step = readJson(path.join(dataDir, "steps", file));
56
- if (step && step.status !== "completed")
57
- fs.rmSync(path.join(dataDir, "steps", file), { force: true });
58
- }
59
- delete run.error;
60
- delete run.completedAt;
61
- delete run.output;
62
- run.status = "running";
63
- run.updatedAt = new Date().toISOString();
64
- fs.writeFileSync(runFile, JSON.stringify(run, null, 2));
65
- return { workflowRunId, rewoundStepId, deletedEvents };
66
- }
67
- function listRunEvents(dataDir, workflowRunId) {
68
- const eventsDir = path.join(dataDir, "events");
69
- if (!fs.existsSync(eventsDir))
70
- return [];
71
- const prefix = `${workflowRunId}-`;
72
- const out = [];
73
- for (const file of fs.readdirSync(eventsDir)) {
74
- if (!file.startsWith(prefix) || !file.endsWith(".json"))
75
- continue;
76
- const event = readJson(path.join(eventsDir, file));
77
- if (event?.eventType)
78
- out.push({ file, eventType: event.eventType, correlationId: event.correlationId });
79
- }
80
- return out;
81
- }
82
- function listRunStepFiles(dataDir, workflowRunId) {
83
- const stepsDir = path.join(dataDir, "steps");
84
- if (!fs.existsSync(stepsDir))
85
- return [];
86
- return fs.readdirSync(stepsDir).filter(file => file.startsWith(`${workflowRunId}-`) && file.endsWith(".json"));
87
- }
88
- function hasUnclosed(events, openType, closeType) {
89
- const closed = new Set(events.filter(e => e.eventType === closeType).map(e => e.correlationId));
90
- return events.some(e => e.eventType === openType && !closed.has(e.correlationId));
91
- }
92
- function backupRun(dataDir, workflowRunId, runFile, events) {
93
- const dir = path.join(dataDir, ".rewind-backup", `${workflowRunId}-${Date.now()}`);
94
- fs.mkdirSync(path.join(dir, "events"), { recursive: true });
95
- fs.mkdirSync(path.join(dir, "steps"), { recursive: true });
96
- fs.mkdirSync(path.join(dir, "runs"), { recursive: true });
97
- fs.copyFileSync(runFile, path.join(dir, "runs", `${workflowRunId}.json`));
98
- for (const e of events)
99
- fs.copyFileSync(path.join(dataDir, "events", e.file), path.join(dir, "events", e.file));
100
- for (const file of listRunStepFiles(dataDir, workflowRunId))
101
- fs.copyFileSync(path.join(dataDir, "steps", file), path.join(dir, "steps", file));
102
- }
103
- function readJson(file) {
104
- try {
105
- return JSON.parse(fs.readFileSync(file, "utf8"));
106
- }
107
- catch {
108
- return null;
109
- }
110
- }
111
- //# sourceMappingURL=rewindRun.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rewindRun.js","sourceRoot":"","sources":["../../../src/providers/typescript/rewindRun.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { BaseBuilder } from "@workflow/builders";
2
- export declare class TerseWorkflowBuilder extends BaseBuilder {
3
- private readonly outDir;
4
- constructor(workingDir: string, scanDir: string, outDir: string);
5
- protected get shouldLogBaseBuilderInfo(): boolean;
6
- build(): Promise<void>;
7
- }
8
- //# sourceMappingURL=terseWorkflowBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terseWorkflowBuilder.d.ts","sourceRoot":"","sources":["../../../src/providers/typescript/terseWorkflowBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,MAAM,oBAAoB,CAAA;AAiBzE,qBAAa,oBAAqB,SAAQ,WAAW;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAEnB,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAY/D,SAAS,KAAK,wBAAwB,IAAI,OAAO,CAEhD;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAuB/B"}
@@ -1,70 +0,0 @@
1
- import { BaseBuilder, createBaseBuilderConfig } from "@workflow/builders";
2
- import fs from "node:fs";
3
- import path from "node:path";
4
- // Modeled on @workflow/nest's NestLocalBuilder: scan `scanDir` and emit bundles
5
- // to an out dir OUTSIDE it. The builder globs inputs rooted at `dirs`, so output
6
- // kept outside `dirs` is never re-globbed as an input — which is what lets
7
- // re-tests overwrite the bundles cleanly. (StandaloneBuilder forces dirs: ['.'],
8
- // scanning the whole project, which is why its output collided with itself.)
9
- // `scanDir` (relative to workingDir) holds the macro-transformed sources, so the
10
- // builder discovers the `"use workflow"` functions the job macro injected into
11
- // each createJob's onTrigger.
12
- // Packages that locate a sibling platform binary by resolving relative to their
13
- // own module path. Inlining them into the steps bundle moves that path to the
14
- // build output, where no node_modules exists, and the lookup fails at runtime.
15
- const EXTERNAL_PACKAGES = ["@anthropic-ai/claude-agent-sdk"];
16
- export class TerseWorkflowBuilder extends BaseBuilder {
17
- outDir;
18
- constructor(workingDir, scanDir, outDir) {
19
- super({
20
- ...createBaseBuilderConfig({ workingDir, dirs: [scanDir], watch: false, externalPackages: EXTERNAL_PACKAGES }),
21
- buildTarget: "standalone",
22
- stepsBundlePath: path.join(outDir, "steps.cjs"),
23
- workflowsBundlePath: path.join(outDir, "workflows.cjs"),
24
- webhookBundlePath: path.join(outDir, "webhook.cjs")
25
- });
26
- this.outDir = outDir;
27
- }
28
- // Raw builder logs would corrupt the CLI's active clack rendering.
29
- get shouldLogBaseBuilderInfo() {
30
- return false;
31
- }
32
- async build() {
33
- await withSerdeWarningsSuppressed(async () => {
34
- const inputFiles = await this.getInputFiles();
35
- fs.mkdirSync(this.outDir, { recursive: true });
36
- const { manifest: workflows } = await this.createWorkflowsBundle({ outfile: path.join(this.outDir, "workflows.cjs"), format: "cjs", inputFiles });
37
- const { manifest: steps } = await this.createStepsBundle({ outfile: path.join(this.outDir, "steps.cjs"), format: "cjs", inputFiles });
38
- await this.createWebhookBundle({ outfile: path.join(this.outDir, "webhook.cjs"), bundle: false });
39
- await this.createManifest({
40
- workflowBundlePath: path.join(this.outDir, "workflows.cjs"),
41
- manifestDir: this.outDir,
42
- manifest: {
43
- steps: { ...steps.steps, ...workflows.steps },
44
- workflows: { ...steps.workflows, ...workflows.workflows },
45
- classes: { ...steps.classes, ...workflows.classes }
46
- }
47
- });
48
- // generated build output — keep it out of the user's git
49
- fs.writeFileSync(path.join(this.outDir, ".gitignore"), "*\n");
50
- });
51
- }
52
- }
53
- // False positive: the serde checker scans the pre-tree-shaken bundle and pins
54
- // @workflow/core's own Node-builtin imports on user classes. The builder's esbuild
55
- // plugin still fails the build on genuine violations after "use step" stripping.
56
- async function withSerdeWarningsSuppressed(fn) {
57
- const originalWarn = console.warn;
58
- console.warn = (...args) => {
59
- if (typeof args[0] === "string" && args[0].includes("Serde warning for"))
60
- return;
61
- originalWarn(...args);
62
- };
63
- try {
64
- return await fn();
65
- }
66
- finally {
67
- console.warn = originalWarn;
68
- }
69
- }
70
- //# sourceMappingURL=terseWorkflowBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terseWorkflowBuilder.js","sourceRoot":"","sources":["../../../src/providers/typescript/terseWorkflowBuilder.ts"],"names":[],"mappings":"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"}