terse-cli 0.9.20 → 0.9.22

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 (128) hide show
  1. package/README.md +1 -1
  2. package/dist/cliUi.d.ts +3 -1
  3. package/dist/cliUi.d.ts.map +1 -1
  4. package/dist/cliUi.js +3 -2
  5. package/dist/cliUi.js.map +1 -1
  6. package/dist/commands/actor.d.ts.map +1 -1
  7. package/dist/commands/actor.js +32 -5
  8. package/dist/commands/actor.js.map +1 -1
  9. package/dist/commands/attach.d.ts +0 -7
  10. package/dist/commands/attach.d.ts.map +1 -1
  11. package/dist/commands/attach.js +220 -189
  12. package/dist/commands/attach.js.map +1 -1
  13. package/dist/commands/deploy.d.ts.map +1 -1
  14. package/dist/commands/deploy.js +15 -3
  15. package/dist/commands/deploy.js.map +1 -1
  16. package/dist/commands/generate.d.ts +0 -4
  17. package/dist/commands/generate.d.ts.map +1 -1
  18. package/dist/commands/generate.js +161 -127
  19. package/dist/commands/generate.js.map +1 -1
  20. package/dist/commands/history.d.ts +0 -15
  21. package/dist/commands/history.d.ts.map +1 -1
  22. package/dist/commands/history.js +139 -105
  23. package/dist/commands/history.js.map +1 -1
  24. package/dist/commands/init.d.ts +1 -0
  25. package/dist/commands/init.d.ts.map +1 -1
  26. package/dist/commands/init.js +86 -28
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/commands/install.d.ts.map +1 -1
  29. package/dist/commands/install.js +6 -4
  30. package/dist/commands/install.js.map +1 -1
  31. package/dist/commands/integrate.d.ts +0 -48
  32. package/dist/commands/integrate.d.ts.map +1 -1
  33. package/dist/commands/integrate.js +897 -699
  34. package/dist/commands/integrate.js.map +1 -1
  35. package/dist/commands/integrateUse.d.ts +0 -12
  36. package/dist/commands/integrateUse.d.ts.map +1 -1
  37. package/dist/commands/integrateUse.js +132 -98
  38. package/dist/commands/integrateUse.js.map +1 -1
  39. package/dist/commands/listen.d.ts +0 -7
  40. package/dist/commands/listen.d.ts.map +1 -1
  41. package/dist/commands/listen.js +98 -81
  42. package/dist/commands/listen.js.map +1 -1
  43. package/dist/commands/memory.d.ts +0 -21
  44. package/dist/commands/memory.d.ts.map +1 -1
  45. package/dist/commands/memory.js +147 -128
  46. package/dist/commands/memory.js.map +1 -1
  47. package/dist/commands/replay.d.ts +0 -2
  48. package/dist/commands/replay.d.ts.map +1 -1
  49. package/dist/commands/replay.js +37 -28
  50. package/dist/commands/replay.js.map +1 -1
  51. package/dist/commands/resume.d.ts +0 -4
  52. package/dist/commands/resume.d.ts.map +1 -1
  53. package/dist/commands/resume.js +34 -28
  54. package/dist/commands/resume.js.map +1 -1
  55. package/dist/commands/run.d.ts +0 -2
  56. package/dist/commands/run.d.ts.map +1 -1
  57. package/dist/commands/run.js +78 -70
  58. package/dist/commands/run.js.map +1 -1
  59. package/dist/commands/state.d.ts +0 -18
  60. package/dist/commands/state.d.ts.map +1 -1
  61. package/dist/commands/state.js +129 -108
  62. package/dist/commands/state.js.map +1 -1
  63. package/dist/commands/test.d.ts +0 -28
  64. package/dist/commands/test.d.ts.map +1 -1
  65. package/dist/commands/test.js +509 -403
  66. package/dist/commands/test.js.map +1 -1
  67. package/dist/commands/toolRun.d.ts +0 -6
  68. package/dist/commands/toolRun.d.ts.map +1 -1
  69. package/dist/commands/toolRun.js +149 -134
  70. package/dist/commands/toolRun.js.map +1 -1
  71. package/dist/index.js +2 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/integrationApi.d.ts +0 -15
  74. package/dist/integrationApi.d.ts.map +1 -1
  75. package/dist/integrationApi.js +75 -49
  76. package/dist/integrationApi.js.map +1 -1
  77. package/dist/loadJob.d.ts +0 -11
  78. package/dist/loadJob.d.ts.map +1 -1
  79. package/dist/loadJob.js +54 -46
  80. package/dist/loadJob.js.map +1 -1
  81. package/dist/providers/LanguageProvider.d.ts +0 -29
  82. package/dist/providers/LanguageProvider.d.ts.map +1 -1
  83. package/dist/providers/LanguageProvider.js +3 -0
  84. package/dist/providers/LanguageProvider.js.map +1 -1
  85. package/dist/providers/typescript/TypeScriptProvider.d.ts +0 -24
  86. package/dist/providers/typescript/TypeScriptProvider.d.ts.map +1 -1
  87. package/dist/providers/typescript/TypeScriptProvider.js +115 -121
  88. package/dist/providers/typescript/TypeScriptProvider.js.map +1 -1
  89. package/dist/providers/typescript/runtimes/JobRuntime.d.ts +0 -26
  90. package/dist/providers/typescript/runtimes/JobRuntime.d.ts.map +1 -1
  91. package/dist/providers/typescript/runtimes/JobRuntime.js +51 -18
  92. package/dist/providers/typescript/runtimes/JobRuntime.js.map +1 -1
  93. package/dist/providers/typescript/runtimes/directJobRuntime.d.ts +0 -2
  94. package/dist/providers/typescript/runtimes/directJobRuntime.d.ts.map +1 -1
  95. package/dist/providers/typescript/runtimes/directJobRuntime.js +60 -49
  96. package/dist/providers/typescript/runtimes/directJobRuntime.js.map +1 -1
  97. package/dist/providers/typescript/runtimes/durableJobRuntime.d.ts +0 -2
  98. package/dist/providers/typescript/runtimes/durableJobRuntime.d.ts.map +1 -1
  99. package/dist/providers/typescript/runtimes/durableJobRuntime.js +168 -146
  100. package/dist/providers/typescript/runtimes/durableJobRuntime.js.map +1 -1
  101. package/dist/providers/typescript/runtimes/index.d.ts +0 -3
  102. package/dist/providers/typescript/runtimes/index.d.ts.map +1 -1
  103. package/dist/providers/typescript/runtimes/index.js +5 -2
  104. package/dist/providers/typescript/runtimes/index.js.map +1 -1
  105. package/dist/providers/typescript/runtimes/session.d.ts +0 -4
  106. package/dist/providers/typescript/runtimes/session.d.ts.map +1 -1
  107. package/dist/providers/typescript/runtimes/session.js +78 -64
  108. package/dist/providers/typescript/runtimes/session.js.map +1 -1
  109. package/dist/providers/typescript/terseWorkflow.d.ts +0 -7
  110. package/dist/providers/typescript/terseWorkflow.d.ts.map +1 -1
  111. package/dist/providers/typescript/terseWorkflow.js +12 -7
  112. package/dist/providers/typescript/terseWorkflow.js.map +1 -1
  113. package/dist/runLocalTestJob.d.ts +0 -19
  114. package/dist/runLocalTestJob.d.ts.map +1 -1
  115. package/dist/runLocalTestJob.js +55 -29
  116. package/dist/runLocalTestJob.js.map +1 -1
  117. package/dist/setup.js +1 -1
  118. package/dist/setup.js.map +1 -1
  119. package/dist/sourceArchive.d.ts +1 -1
  120. package/dist/sourceArchive.d.ts.map +1 -1
  121. package/dist/sourceArchive.js +1 -0
  122. package/dist/sourceArchive.js.map +1 -1
  123. package/dist/templates.d.ts +6 -0
  124. package/dist/templates.d.ts.map +1 -0
  125. package/dist/templates.js +78 -0
  126. package/dist/templates.js.map +1 -0
  127. package/package.json +3 -4
  128. package/templates/typescript/init/package.json.hbs +1 -2
@@ -1,147 +1,169 @@
1
- import chalk from "chalk";
2
- import { FileJournalStore, Runtime } from "little-durable";
3
- import path from "node:path";
4
- import { __fetchRegisteredDurableWorkflow, __inputRequestHook, fetchRegisteredJobs } from "terse-sdk";
5
- import { runWithJobContext } from "terse-sdk/dist/runIdentity/jobContextStore.js";
6
- import { ApiRoutes } from "terse-types";
7
- import { fetchWithAuth, readApiKeyOrBail } from "../../../api.js";
8
- import { CliError } from "../../../cliError.js";
9
- import { BACKEND_URL } from "../../../config.js";
10
- import { readProjectConfig } from "../../../projectConfig.js";
11
- import { shouldRunTerseWorkflow } from "../terseWorkflow.js";
12
- import { formatErrorDetail } from "./JobRuntime.js";
13
- import { withSession } from "./session.js";
14
- export const durableJobRuntime = {
15
- async executeJob(job, runId, event, opts) {
16
- if (!runId)
17
- throw new CliError("durable_run_id_missing", "Durable execution requires a run ID.");
18
- const isVerbose = opts?.verbose ?? true;
19
- const pauseUiAround = opts?.pauseUiAround ?? (async (fn) => fn());
20
- const apiKey = readApiKeyOrBail();
21
- try {
22
- await withSession(apiKey, isVerbose, pauseUiAround, async (sessionId) => {
23
- if (isVerbose)
24
- console.log(chalk.cyan(` Job "${job.name}" started`));
25
- const journalStore = createJournalStore();
26
- const runtime = new Runtime({ journalStore });
27
- const context = jobContext({ sessionId, runId, job, projectId: opts?.projectId });
28
- const shouldRun = await shouldRunTerseWorkflow({ job, event, context });
29
- if (!shouldRun)
30
- return;
31
- const workflow = __fetchRegisteredDurableWorkflow(job.name);
32
- if (!workflow)
33
- throw new Error(`No durable workflow was registered for job "${job.name}".`);
34
- const outcome = await runWithJobContext(context, () => runtime.start(workflow, { runId, input: event }).waitForOutcome());
35
- await handleOutcome({ runId, outcome, apiKey });
36
- }, opts?.onSessionEvent, opts?.session);
37
- }
38
- catch (error) {
39
- if (error instanceof CliError)
40
- throw error;
41
- throw new CliError("job_execution_failed", `Job "${job.name}" threw an error.`, { detail: formatErrorDetail(error) });
42
- }
43
- },
44
- async resumeRun(runId, opts) {
45
- return driveResume(runId, opts);
46
- },
47
- async resumeRunWithInput(runId, input, opts) {
48
- return driveResume(runId, opts, input);
49
- }
50
- };
51
- async function driveResume(runId, opts, input) {
52
- const isVerbose = opts?.verbose ?? true;
53
- const pauseUiAround = opts?.pauseUiAround ?? (async (fn) => fn());
54
- const apiKey = readApiKeyOrBail();
55
- try {
56
- await withSession(apiKey, isVerbose, pauseUiAround, async (sessionId) => {
57
- const journalStore = createJournalStore();
58
- const runtime = new Runtime({ journalStore });
59
- const run = await runtime.getRun({ runId });
60
- const job = fetchRegisteredJobs().get(run.workflowName);
61
- if (!job)
62
- throw new Error(`No registered job matches durable workflow "${run.workflowName}".`);
63
- const workflow = __fetchRegisteredDurableWorkflow(job.name);
64
- if (!workflow)
65
- throw new Error(`No durable workflow was registered for job "${job.name}".`);
66
- if (isVerbose)
67
- console.log(chalk.cyan(` Resuming run ${runId}`));
68
- const context = jobContext({ sessionId, runId, job, projectId: readProjectConfig()?.projectId });
69
- const outcome = await runWithJobContext(context, async () => {
70
- const suspension = await runtime.getSuspension({ runId });
71
- if (input) {
72
- if (!suspension || suspension.request.name !== __inputRequestHook.name) {
73
- throw new Error(`No unresolved input wait with token "${input.token}" exists in run "${runId}".`);
74
- }
75
- const request = __inputRequestHook.request.safeParse(suspension.request.payload);
76
- if (!request.success || request.data.token !== input.token) {
77
- throw new Error(`No unresolved input wait with token "${input.token}" exists in run "${runId}".`);
78
- }
79
- const resolution = __inputRequestHook.resolution.parse(input.payload);
80
- return runtime.resumeHook(__inputRequestHook, { runId, workflow, waitId: suspension.waitId, resolution }).waitForOutcome();
81
- }
82
- return suspension?.request.name === "timer"
83
- ? runtime.resumeTimer(workflow, { runId, waitId: suspension.waitId }).waitForOutcome()
84
- : runtime.resume(workflow, { runId }).waitForOutcome();
85
- });
86
- await handleOutcome({ runId, outcome, apiKey });
87
- if (isVerbose && outcome.status === "completed")
88
- console.log(chalk.green(` Run ${runId} completed`));
89
- });
90
- }
91
- catch (error) {
92
- if (error instanceof CliError)
93
- throw error;
94
- throw new CliError("run_resume_failed", `Run "${runId}" could not be resumed.`, { detail: formatErrorDetail(error) });
95
- }
96
- }
97
- function createJournalStore() {
98
- return new FileJournalStore(resolveDataDirectory());
99
- }
100
- function resolveDataDirectory() {
101
- return process.env.TERSE_JOURNAL_ROOT ?? path.join(process.cwd(), ".terse", "data");
102
- }
103
- function jobContext({ sessionId, runId, job, projectId }) {
104
- return {
105
- sessionId,
106
- runId,
107
- apiBaseUrl: BACKEND_URL,
108
- jobName: job.name,
109
- projectId
110
- };
111
- }
112
- async function handleOutcome({ runId, outcome, apiKey }) {
113
- if (outcome.status === "completed")
114
- return;
115
- if (outcome.status === "failed") {
116
- const error = new Error(outcome.error.message);
117
- error.name = outcome.error.name;
118
- throw error;
119
- }
120
- const body = suspendRequest({ runId, suspension: outcome.suspension });
121
- await fetchWithAuth(ApiRoutes.SDK.SUSPEND, apiKey, body, "POST");
122
- }
123
- function suspendRequest({ runId, suspension }) {
124
- const payload = suspension.request.payload;
125
- if (suspension.request.name === "timer") {
126
- if (typeof payload !== "object" || payload === null || Array.isArray(payload) || typeof payload.wakeAt !== "string") {
127
- throw new Error("Timer suspension has an invalid wakeAt.");
128
- }
129
- return {
130
- runId,
131
- kind: "timer",
132
- delaySeconds: Math.max(1, Math.ceil((Date.parse(payload.wakeAt) - Date.now()) / 1_000)),
133
- idempotencyKey: suspension.waitId
134
- };
135
- }
136
- if (suspension.request.name === __inputRequestHook.name) {
137
- const input = __inputRequestHook.request.parse(payload);
138
- return {
139
- runId,
140
- kind: "input",
141
- hookToken: input.token,
142
- idempotencyKey: suspension.waitId
143
- };
144
- }
145
- throw new Error(`Terse does not know how to park hook "${suspension.request.name}".`);
146
- }
1
+ "use strict";
2
+ // LEGACY-JOBS: Commented out while Terse is actors-only. Uncomment to restore; see the note in terse-sdk/src/index.ts.
3
+ // import chalk from "chalk"
4
+ // import { FileJournalStore, Runtime } from "little-durable"
5
+ // import type { JournalStore, RuntimeOutcome, Suspension } from "little-durable"
6
+ // import path from "node:path"
7
+ // import { __fetchRegisteredDurableWorkflow, __inputRequestHook, fetchRegisteredJobs } from "terse-sdk"
8
+ // import type { CreateJobParameters, TerseJobContext } from "terse-sdk"
9
+ // import { runWithJobContext } from "terse-sdk/dist/runIdentity/jobContextStore.js"
10
+ // import type { SdkJobSuspendRequestBody, SdkJobSuspendResponseBody } from "terse-types"
11
+ // import { ApiRoutes } from "terse-types"
12
+ //
13
+ // import { fetchWithAuth, readApiKeyOrBail } from "../../../api.js"
14
+ // import { CliError } from "../../../cliError.js"
15
+ // import { BACKEND_URL } from "../../../config.js"
16
+ // import { readProjectConfig } from "../../../projectConfig.js"
17
+ // import { shouldRunTerseWorkflow } from "../terseWorkflow.js"
18
+ //
19
+ // import { type JobRuntime, type ResumeHookInput, type ResumeRunOptions, formatErrorDetail } from "./JobRuntime.js"
20
+ // import { withSession } from "./session.js"
21
+ //
22
+ // export const durableJobRuntime: JobRuntime = {
23
+ // async executeJob(job, runId, event, opts) {
24
+ // if (!runId) throw new CliError("durable_run_id_missing", "Durable execution requires a run ID.")
25
+ //
26
+ // const isVerbose = opts?.verbose ?? true
27
+ // const pauseUiAround = opts?.pauseUiAround ?? (async fn => fn())
28
+ // const apiKey = readApiKeyOrBail()
29
+ //
30
+ // try {
31
+ // await withSession(
32
+ // apiKey,
33
+ // isVerbose,
34
+ // pauseUiAround,
35
+ // async sessionId => {
36
+ // if (isVerbose) console.log(chalk.cyan(` Job "${job.name}" started`))
37
+ // const journalStore = createJournalStore()
38
+ // const runtime = new Runtime({ journalStore })
39
+ // const context = jobContext({ sessionId, runId, job, projectId: opts?.projectId })
40
+ // const shouldRun = await shouldRunTerseWorkflow({ job, event, context })
41
+ // if (!shouldRun) return
42
+ // const workflow = __fetchRegisteredDurableWorkflow(job.name)
43
+ // if (!workflow) throw new Error(`No durable workflow was registered for job "${job.name}".`)
44
+ //
45
+ // const outcome = await runWithJobContext(context, () => runtime.start(workflow, { runId, input: event }).waitForOutcome())
46
+ // await handleOutcome({ runId, outcome, apiKey })
47
+ // },
48
+ // opts?.onSessionEvent,
49
+ // opts?.session
50
+ // )
51
+ // } catch (error) {
52
+ // if (error instanceof CliError) throw error
53
+ // throw new CliError("job_execution_failed", `Job "${job.name}" threw an error.`, { detail: formatErrorDetail(error) })
54
+ // }
55
+ // },
56
+ //
57
+ // async resumeRun(runId, opts) {
58
+ // return driveResume(runId, opts)
59
+ // },
60
+ //
61
+ // async resumeRunWithInput(runId, input, opts) {
62
+ // return driveResume(runId, opts, input)
63
+ // }
64
+ // }
65
+ //
66
+ // async function driveResume(runId: string, opts: ResumeRunOptions | undefined, input?: ResumeHookInput): Promise<void> {
67
+ // const isVerbose = opts?.verbose ?? true
68
+ // const pauseUiAround = opts?.pauseUiAround ?? (async fn => fn())
69
+ // const apiKey = readApiKeyOrBail()
70
+ //
71
+ // try {
72
+ // await withSession(apiKey, isVerbose, pauseUiAround, async sessionId => {
73
+ // const journalStore = createJournalStore()
74
+ // const runtime = new Runtime({ journalStore })
75
+ // const run = await runtime.getRun({ runId })
76
+ // const job = fetchRegisteredJobs().get(run.workflowName)
77
+ // if (!job) throw new Error(`No registered job matches durable workflow "${run.workflowName}".`)
78
+ // const workflow = __fetchRegisteredDurableWorkflow(job.name)
79
+ // if (!workflow) throw new Error(`No durable workflow was registered for job "${job.name}".`)
80
+ //
81
+ // if (isVerbose) console.log(chalk.cyan(` Resuming run ${runId}`))
82
+ // const context = jobContext({ sessionId, runId, job, projectId: readProjectConfig()?.projectId })
83
+ // const outcome = await runWithJobContext(context, async (): Promise<RuntimeOutcome> => {
84
+ // const suspension = await runtime.getSuspension({ runId })
85
+ //
86
+ // if (input) {
87
+ // if (!suspension || suspension.request.name !== __inputRequestHook.name) {
88
+ // throw new Error(`No unresolved input wait with token "${input.token}" exists in run "${runId}".`)
89
+ // }
90
+ // const request = __inputRequestHook.request.safeParse(suspension.request.payload)
91
+ // if (!request.success || request.data.token !== input.token) {
92
+ // throw new Error(`No unresolved input wait with token "${input.token}" exists in run "${runId}".`)
93
+ // }
94
+ // const resolution = __inputRequestHook.resolution.parse(input.payload)
95
+ // return runtime.resumeHook(__inputRequestHook, { runId, workflow, waitId: suspension.waitId, resolution }).waitForOutcome()
96
+ // }
97
+ //
98
+ // return suspension?.request.name === "timer"
99
+ // ? runtime.resumeTimer(workflow, { runId, waitId: suspension.waitId }).waitForOutcome()
100
+ // : runtime.resume(workflow, { runId }).waitForOutcome()
101
+ // })
102
+ //
103
+ // await handleOutcome({ runId, outcome, apiKey })
104
+ //
105
+ // if (isVerbose && outcome.status === "completed") console.log(chalk.green(` Run ${runId} completed`))
106
+ // })
107
+ // } catch (error) {
108
+ // if (error instanceof CliError) throw error
109
+ // throw new CliError("run_resume_failed", `Run "${runId}" could not be resumed.`, { detail: formatErrorDetail(error) })
110
+ // }
111
+ // }
112
+ //
113
+ // function createJournalStore(): JournalStore {
114
+ // return new FileJournalStore(resolveDataDirectory())
115
+ // }
116
+ //
117
+ // function resolveDataDirectory(): string {
118
+ // return process.env.TERSE_JOURNAL_ROOT ?? path.join(process.cwd(), ".terse", "data")
119
+ // }
120
+ //
121
+ // function jobContext({ sessionId, runId, job, projectId }: { sessionId: string; runId: string; job: CreateJobParameters; projectId?: string }): TerseJobContext {
122
+ // return {
123
+ // sessionId,
124
+ // runId,
125
+ // apiBaseUrl: BACKEND_URL,
126
+ // jobName: job.name,
127
+ // projectId
128
+ // }
129
+ // }
130
+ //
131
+ // async function handleOutcome({ runId, outcome, apiKey }: { runId: string; outcome: RuntimeOutcome; apiKey: string }): Promise<void> {
132
+ // if (outcome.status === "completed") return
133
+ // if (outcome.status === "failed") {
134
+ // const error = new Error(outcome.error.message)
135
+ // error.name = outcome.error.name
136
+ // throw error
137
+ // }
138
+ //
139
+ // const body = suspendRequest({ runId, suspension: outcome.suspension })
140
+ // await fetchWithAuth<SdkJobSuspendResponseBody>(ApiRoutes.SDK.SUSPEND, apiKey, body, "POST")
141
+ // }
142
+ //
143
+ // function suspendRequest({ runId, suspension }: { runId: string; suspension: Suspension }): SdkJobSuspendRequestBody {
144
+ // const payload = suspension.request.payload
145
+ // if (suspension.request.name === "timer") {
146
+ // if (typeof payload !== "object" || payload === null || Array.isArray(payload) || typeof payload.wakeAt !== "string") {
147
+ // throw new Error("Timer suspension has an invalid wakeAt.")
148
+ // }
149
+ // return {
150
+ // runId,
151
+ // kind: "timer",
152
+ // delaySeconds: Math.max(1, Math.ceil((Date.parse(payload.wakeAt) - Date.now()) / 1_000)),
153
+ // idempotencyKey: suspension.waitId
154
+ // }
155
+ // }
156
+ //
157
+ // if (suspension.request.name === __inputRequestHook.name) {
158
+ // const input = __inputRequestHook.request.parse(payload)
159
+ // return {
160
+ // runId,
161
+ // kind: "input",
162
+ // hookToken: input.token,
163
+ // idempotencyKey: suspension.waitId
164
+ // }
165
+ // }
166
+ //
167
+ // throw new Error(`Terse does not know how to park hook "${suspension.request.name}".`)
168
+ // }
147
169
  //# sourceMappingURL=durableJobRuntime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"durableJobRuntime.js","sourceRoot":"","sources":["../../../../src/providers/typescript/runtimes/durableJobRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durableJobRuntime.js","sourceRoot":"","sources":["../../../../src/providers/typescript/runtimes/durableJobRuntime.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1 @@
1
- export { directJobRuntime } from "./directJobRuntime.js";
2
- export { durableJobRuntime } from "./durableJobRuntime.js";
3
- export type { JobRuntime, ResumeRunOptions, RunJobOptions } from "./JobRuntime.js";
4
1
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/typescript/runtimes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/typescript/runtimes/index.ts"],"names":[],"mappings":""}
@@ -1,3 +1,6 @@
1
- export { directJobRuntime } from "./directJobRuntime.js";
2
- export { durableJobRuntime } from "./durableJobRuntime.js";
1
+ "use strict";
2
+ // LEGACY-JOBS: Commented out while Terse is actors-only. Uncomment to restore; see the note in terse-sdk/src/index.ts.
3
+ // export { directJobRuntime } from "./directJobRuntime.js"
4
+ // export { durableJobRuntime } from "./durableJobRuntime.js"
5
+ // export type { JobRuntime, ResumeRunOptions, RunJobOptions } from "./JobRuntime.js"
3
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/typescript/runtimes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/typescript/runtimes/index.ts"],"names":[],"mappings":";AAAA,uHAAuH;AACvH,2DAA2D;AAC3D,6DAA6D;AAC7D,qFAAqF"}
@@ -1,5 +1 @@
1
- import type { SessionStreamEvent } from "terse-sdk";
2
- import { type SessionHandle } from "../../shared/sessionStream.js";
3
- export declare function withSession<T>(apiKey: string, isVerbose: boolean, pauseUiAround: <U>(fn: () => Promise<U>) => Promise<U>, action: (sessionId: string) => Promise<T>, onEvent?: (event: SessionStreamEvent) => void, started?: Promise<SessionHandle>): Promise<T>;
4
- export declare function startSession(apiKey: string, isVerbose: boolean, pauseUiAround: <U>(fn: () => Promise<U>) => Promise<U>, onEvent?: (event: SessionStreamEvent) => void): Promise<SessionHandle>;
5
1
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/providers/typescript/runtimes/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGnD,OAAO,EAAE,KAAK,aAAa,EAAoE,MAAM,+BAA+B,CAAA;AAMpI,wBAAsB,WAAW,CAAC,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACtD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GACjC,OAAO,CAAC,CAAC,CAAC,CAQZ;AAGD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CA8C9L"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/providers/typescript/runtimes/session.ts"],"names":[],"mappings":""}
@@ -1,65 +1,79 @@
1
- import chalk from "chalk";
2
- import { isAgentApprovalHandlingClaimed } from "terse-sdk";
3
- import { isCliRunCommandEnabled } from "../../../env.js";
4
- import { openSessionStream, promptForToolApproval, submitApprovalDecision } from "../../shared/sessionStream.js";
5
- let sessionPaused = false;
6
- // Holds a session stream open (for tool-approval routing) for the duration of `action`,
7
- // adopting `started` when a caller opened one ahead of time.
8
- export async function withSession(apiKey, isVerbose, pauseUiAround, action, onEvent, started) {
9
- const session = await (started ?? startSession(apiKey, isVerbose, pauseUiAround, onEvent));
10
- try {
11
- return await action(session.sessionId);
12
- }
13
- finally {
14
- session.close?.();
15
- }
16
- }
17
- // Opens the stream without holding it: the caller closes it by handing it to withSession.
18
- export function startSession(apiKey, isVerbose, pauseUiAround, onEvent) {
19
- let latestRunId = null;
20
- const handleSessionEvent = async (event) => {
21
- onEvent?.(event);
22
- if (event.type === "run_started") {
23
- latestRunId = event.runId;
24
- return;
25
- }
26
- if (event.type !== "tool_approval_requested")
27
- return;
28
- if (isCliRunCommandEnabled())
29
- return;
30
- if (isAgentApprovalHandlingClaimed())
31
- return;
32
- const runId = latestRunId;
33
- if (!runId) {
34
- console.error(chalk.red(" Received approval request before run_started — cannot route decision."));
35
- return;
36
- }
37
- const { toolName, arguments: rawArguments, stepId } = event.toolApprovalRequested;
38
- if (!process.stdout.isTTY) {
39
- console.error(chalk.red(` Approval required for "${toolName}" but no TTY is attached — auto-rejecting.`));
40
- console.error(chalk.dim(" In non-interactive contexts, set TerseAgent.onApprovalRequired in your job code."));
41
- try {
42
- await submitApprovalDecision(apiKey, { runId, stepId, approved: false });
43
- }
44
- catch (error) {
45
- console.error(chalk.red(` Failed to submit auto-reject: ${error.message}`));
46
- }
47
- return;
48
- }
49
- sessionPaused = true;
50
- try {
51
- await pauseUiAround(async () => {
52
- const approved = await promptForToolApproval(toolName, rawArguments);
53
- await submitApprovalDecision(apiKey, { runId, stepId, approved });
54
- });
55
- }
56
- catch (error) {
57
- console.error(chalk.red(` Failed to submit approval decision: ${error.message}`));
58
- }
59
- finally {
60
- sessionPaused = false;
61
- }
62
- };
63
- return openSessionStream(apiKey, { verbose: isVerbose, isPaused: () => sessionPaused, onEvent: handleSessionEvent });
64
- }
1
+ "use strict";
2
+ // LEGACY-JOBS: Commented out while Terse is actors-only. Uncomment to restore; see the note in terse-sdk/src/index.ts.
3
+ // import chalk from "chalk"
4
+ // import { isAgentApprovalHandlingClaimed } from "terse-sdk"
5
+ // import type { SessionStreamEvent } from "terse-sdk"
6
+ //
7
+ // import { isCliRunCommandEnabled } from "../../../env.js"
8
+ // import { type SessionHandle, openSessionStream, promptForToolApproval, submitApprovalDecision } from "../../shared/sessionStream.js"
9
+ //
10
+ // let sessionPaused = false
11
+ //
12
+ // // Holds a session stream open (for tool-approval routing) for the duration of `action`,
13
+ // // adopting `started` when a caller opened one ahead of time.
14
+ // export async function withSession<T>(
15
+ // apiKey: string,
16
+ // isVerbose: boolean,
17
+ // pauseUiAround: <U>(fn: () => Promise<U>) => Promise<U>,
18
+ // action: (sessionId: string) => Promise<T>,
19
+ // onEvent?: (event: SessionStreamEvent) => void,
20
+ // started?: Promise<SessionHandle>
21
+ // ): Promise<T> {
22
+ // const session = await (started ?? startSession(apiKey, isVerbose, pauseUiAround, onEvent))
23
+ //
24
+ // try {
25
+ // return await action(session.sessionId)
26
+ // } finally {
27
+ // session.close?.()
28
+ // }
29
+ // }
30
+ //
31
+ // // Opens the stream without holding it: the caller closes it by handing it to withSession.
32
+ // export function startSession(apiKey: string, isVerbose: boolean, pauseUiAround: <U>(fn: () => Promise<U>) => Promise<U>, onEvent?: (event: SessionStreamEvent) => void): Promise<SessionHandle> {
33
+ // let latestRunId: string | null = null
34
+ //
35
+ // const handleSessionEvent = async (event: SessionStreamEvent): Promise<void> => {
36
+ // onEvent?.(event)
37
+ // if (event.type === "run_started") {
38
+ // latestRunId = event.runId
39
+ // return
40
+ // }
41
+ // if (event.type !== "tool_approval_requested") return
42
+ // if (isCliRunCommandEnabled()) return
43
+ // if (isAgentApprovalHandlingClaimed()) return
44
+ //
45
+ // const runId = latestRunId
46
+ // if (!runId) {
47
+ // console.error(chalk.red(" Received approval request before run_started — cannot route decision."))
48
+ // return
49
+ // }
50
+ //
51
+ // const { toolName, arguments: rawArguments, stepId } = event.toolApprovalRequested
52
+ //
53
+ // if (!process.stdout.isTTY) {
54
+ // console.error(chalk.red(` Approval required for "${toolName}" but no TTY is attached — auto-rejecting.`))
55
+ // console.error(chalk.dim(" In non-interactive contexts, set TerseAgent.onApprovalRequired in your job code."))
56
+ // try {
57
+ // await submitApprovalDecision(apiKey, { runId, stepId, approved: false })
58
+ // } catch (error) {
59
+ // console.error(chalk.red(` Failed to submit auto-reject: ${(error as Error).message}`))
60
+ // }
61
+ // return
62
+ // }
63
+ //
64
+ // sessionPaused = true
65
+ // try {
66
+ // await pauseUiAround(async () => {
67
+ // const approved = await promptForToolApproval(toolName, rawArguments)
68
+ // await submitApprovalDecision(apiKey, { runId, stepId, approved })
69
+ // })
70
+ // } catch (error) {
71
+ // console.error(chalk.red(` Failed to submit approval decision: ${(error as Error).message}`))
72
+ // } finally {
73
+ // sessionPaused = false
74
+ // }
75
+ // }
76
+ //
77
+ // return openSessionStream(apiKey, { verbose: isVerbose, isPaused: () => sessionPaused, onEvent: handleSessionEvent })
78
+ // }
65
79
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/providers/typescript/runtimes/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/providers/typescript/runtimes/session.ts"],"names":[],"mappings":";AAAA,uHAAuH;AACvH,4BAA4B;AAC5B,6DAA6D;AAC7D,sDAAsD;AACtD,EAAE;AACF,2DAA2D;AAC3D,uIAAuI;AACvI,EAAE;AACF,4BAA4B;AAC5B,EAAE;AACF,2FAA2F;AAC3F,gEAAgE;AAChE,wCAAwC;AACxC,sBAAsB;AACtB,0BAA0B;AAC1B,8DAA8D;AAC9D,iDAAiD;AACjD,qDAAqD;AACrD,uCAAuC;AACvC,kBAAkB;AAClB,iGAAiG;AACjG,EAAE;AACF,YAAY;AACZ,iDAAiD;AACjD,kBAAkB;AAClB,4BAA4B;AAC5B,QAAQ;AACR,IAAI;AACJ,EAAE;AACF,6FAA6F;AAC7F,oMAAoM;AACpM,4CAA4C;AAC5C,EAAE;AACF,uFAAuF;AACvF,2BAA2B;AAC3B,8CAA8C;AAC9C,wCAAwC;AACxC,qBAAqB;AACrB,YAAY;AACZ,+DAA+D;AAC/D,+CAA+C;AAC/C,uDAAuD;AACvD,EAAE;AACF,oCAAoC;AACpC,wBAAwB;AACxB,kHAAkH;AAClH,qBAAqB;AACrB,YAAY;AACZ,EAAE;AACF,4FAA4F;AAC5F,EAAE;AACF,uCAAuC;AACvC,yHAAyH;AACzH,6HAA6H;AAC7H,oBAAoB;AACpB,2FAA2F;AAC3F,gCAAgC;AAChC,0GAA0G;AAC1G,gBAAgB;AAChB,qBAAqB;AACrB,YAAY;AACZ,EAAE;AACF,+BAA+B;AAC/B,gBAAgB;AAChB,gDAAgD;AAChD,uFAAuF;AACvF,oFAAoF;AACpF,iBAAiB;AACjB,4BAA4B;AAC5B,4GAA4G;AAC5G,sBAAsB;AACtB,oCAAoC;AACpC,YAAY;AACZ,QAAQ;AACR,EAAE;AACF,2HAA2H;AAC3H,IAAI"}
@@ -1,8 +1 @@
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
1
  //# sourceMappingURL=terseWorkflow.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"terseWorkflow.d.ts","sourceRoot":"","sources":["../../../src/providers/typescript/terseWorkflow.ts"],"names":[],"mappings":""}