terse-cli 0.6.1 → 0.6.3

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 (42) hide show
  1. package/README.md +18 -14
  2. package/dist/actorDevUi.d.ts +12 -0
  3. package/dist/actorDevUi.d.ts.map +1 -0
  4. package/dist/actorDevUi.js +76 -0
  5. package/dist/actorDevUi.js.map +1 -0
  6. package/dist/commands/actor.d.ts +2 -1
  7. package/dist/commands/actor.d.ts.map +1 -1
  8. package/dist/commands/actor.js +39 -35
  9. package/dist/commands/actor.js.map +1 -1
  10. package/dist/commands/actorGenerate.d.ts.map +1 -1
  11. package/dist/commands/actorGenerate.js +38 -23
  12. package/dist/commands/actorGenerate.js.map +1 -1
  13. package/dist/commands/auth.d.ts.map +1 -1
  14. package/dist/commands/auth.js +2 -0
  15. package/dist/commands/auth.js.map +1 -1
  16. package/dist/commands/init.d.ts.map +1 -1
  17. package/dist/commands/init.js +26 -31
  18. package/dist/commands/init.js.map +1 -1
  19. package/dist/commands/install.d.ts.map +1 -1
  20. package/dist/commands/install.js +5 -63
  21. package/dist/commands/install.js.map +1 -1
  22. package/dist/index.js +15 -477
  23. package/dist/index.js.map +1 -1
  24. package/dist/localActors.d.ts.map +1 -1
  25. package/dist/localActors.js +4 -3
  26. package/dist/localActors.js.map +1 -1
  27. package/dist/productFeatures.d.ts +5 -0
  28. package/dist/productFeatures.d.ts.map +1 -0
  29. package/dist/productFeatures.js +6 -0
  30. package/dist/productFeatures.js.map +1 -0
  31. package/dist/projectActorTools.d.ts +5 -0
  32. package/dist/projectActorTools.d.ts.map +1 -0
  33. package/dist/projectActorTools.js +34 -0
  34. package/dist/projectActorTools.js.map +1 -0
  35. package/dist/providers/typescript/actorCodegen.d.ts.map +1 -1
  36. package/dist/providers/typescript/actorCodegen.js +16 -11
  37. package/dist/providers/typescript/actorCodegen.js.map +1 -1
  38. package/dist/providers/typescript/actorSources.d.ts +4 -2
  39. package/dist/providers/typescript/actorSources.d.ts.map +1 -1
  40. package/dist/providers/typescript/actorSources.js +14 -6
  41. package/dist/providers/typescript/actorSources.js.map +1 -1
  42. package/package.json +5 -4
package/dist/index.js CHANGED
@@ -1,12 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import chalk from "chalk";
3
3
  import { Command } from "commander";
4
- import { CliError, emitCliError, isCliError, setErrorOutputJson } from "./cliError.js";
5
- import { collectKeyValue, parseIntFlag } from "./cliHelpers.js";
4
+ import { emitCliError, isCliError, setErrorOutputJson } from "./cliError.js";
6
5
  import { getCliVersion } from "./cliVersion.js";
7
- import { actorServe } from "./commands/actor.js";
6
+ import { actorDev } from "./commands/actor.js";
8
7
  import { actorGenerate } from "./commands/actorGenerate.js";
9
- import { attach } from "./commands/attach.js";
10
8
  import { loginAndPersist, logout } from "./commands/auth.js";
11
9
  import { authOrgList, authOrgSwitch } from "./commands/authOrg.js";
12
10
  import { authStatus } from "./commands/authStatus.js";
@@ -14,49 +12,39 @@ import { completionHandler, completionInstall, completionUninstall } from "./com
14
12
  import { openDashboard } from "./commands/dashboard.js";
15
13
  import { deploy } from "./commands/deploy.js";
16
14
  import { openDocs } from "./commands/docs.js";
17
- import { generate } from "./commands/generate.js";
18
- import { history } from "./commands/history.js";
19
- import { applyImprovement, listImprovements } from "./commands/improvements.js";
20
15
  import { init } from "./commands/init.js";
21
16
  import { install, update } from "./commands/install.js";
22
- import { integrate, integrateConnect, integrateDescribe, integrateDisconnect, integrateList, integrateTool, integrateWait } from "./commands/integrate.js";
23
- import { integrateConnections, integrateUse } from "./commands/integrateUse.js";
24
- import { listen } from "./commands/listen.js";
25
- import { memoryGet, memoryList, memoryPut, memoryRemove } from "./commands/memory.js";
26
- import { replay } from "./commands/replay.js";
27
- import { resume } from "./commands/resume.js";
28
- import { run } from "./commands/run.js";
29
17
  import { secretsAdd, secretsImport, secretsList, secretsRemove } from "./commands/secrets.js";
30
- import { stateGet, stateList, stateRemove, stateReset } from "./commands/state.js";
31
18
  import { targetClear, targetStatus, targetUse } from "./commands/target.js";
32
- import { test, testList, testRun, testShow } from "./commands/test.js";
33
- import { integrateToolRun } from "./commands/toolRun.js";
34
- import { isCliRunCommandEnabled } from "./env.js";
35
19
  import { stopLocalActors } from "./localActors.js";
36
20
  import { isPromptCancellationError } from "./promptErrors.js";
37
21
  import { resolveProvider } from "./providers/resolveProvider.js";
38
22
  const program = new Command();
39
23
  const NON_INTERACTIVE_OPTION = ["-y, --non-interactive", "Run non-interactively; fail fast if authentication or choices are required"];
40
- const ENTRY_FILE_OPTION = ["--entry-file <path>", "Path to the job entry file (overrides default)"];
41
24
  function syncJsonErrorOutput(command) {
42
25
  const { json } = command.opts();
43
26
  setErrorOutputJson(Boolean(json));
44
27
  }
45
- program.name("terse").description("The CLI for Terse, the AI workflow platform for coding agents").version(getCliVersion());
28
+ program.name("terse").description("The CLI for Terse actors").version(getCliVersion());
46
29
  program.hook("preAction", (_thisCommand, actionCommand) => {
47
30
  syncJsonErrorOutput(actionCommand);
48
31
  });
49
32
  program.commandsGroup("Getting started:");
50
33
  const actor = program.command("actor").description("Manage project actors");
51
- actor.command("serve").description("Run actors locally and print connection settings for your app").option("--port <port>", "Local runtime port", Number, 7100).action(actorServe);
34
+ actor
35
+ .command("dev")
36
+ .description("Run actors locally with zero-config client defaults")
37
+ .option("--port <port>", "Local runtime port (default: 7100)", Number)
38
+ .option("--project-id <id>", "Local project ID (default: local)")
39
+ .action(actorDev);
52
40
  actor
53
41
  .command("generate")
54
- .description("Generate typed clients from TERSE_ACTOR_URL using an explicit API key or your saved CLI login")
42
+ .description("Generate typed clients from local actors or an explicit TERSE_ACTOR_URL")
55
43
  .option("--out-dir <directory>", "Generated actor client directory", "src/terse.actors")
56
44
  .action(actorGenerate);
57
45
  program
58
46
  .command("install")
59
- .description("Set up Terse on this machine: global CLI, agent skills, and login")
47
+ .description("Set up Terse on this machine and log in")
60
48
  .option(...NON_INTERACTIVE_OPTION)
61
49
  .addHelpText("after", `
62
50
  Examples:
@@ -68,7 +56,7 @@ Examples:
68
56
  });
69
57
  program
70
58
  .command("update")
71
- .description("Update the Terse CLI and re-sync the Terse skills across your coding agents")
59
+ .description("Update the Terse CLI")
72
60
  .action(async () => {
73
61
  await update();
74
62
  });
@@ -88,285 +76,13 @@ Examples:
88
76
  const provider = resolveProvider({ command: "init", language });
89
77
  await init(projectName, provider, opts);
90
78
  });
91
- program
92
- .command("attach")
93
- .description("Add Terse to an existing project (self-hosted)")
94
- .option(...NON_INTERACTIVE_OPTION)
95
- .option("--regenerate-credentials", "Replace the project key and signing secret this project already has")
96
- .action(async (opts) => {
97
- await attach(resolveProvider(), opts);
98
- });
99
- const testCommand = program
100
- .command("test")
101
- .description("Fetch sample events and run a job interactively")
102
- .argument("[job-name]", "Name of the job to test (auto-selects if only one exists)")
103
- .option("-v, --verbose", "Show job stream output", true)
104
- .option("--no-verbose", "Hide job stream output")
105
- .option("--fresh-state", "Reset the job's test state before running")
106
- .option(...ENTRY_FILE_OPTION)
107
- .addHelpText("after", `
108
- Examples:
109
- $ terse test # interactive picker
110
- $ terse test my-job # test a specific job
111
- $ terse test my-job --fresh-state # reset test state first (e.g. to re-test dedupe)
112
-
113
- Non-interactive subcommands (for AI agents and CI):
114
- $ terse test list --json # enumerate sample events with ids
115
- $ terse test show <id> # inspect a specific sample
116
- $ terse test run --id <id> # run a cached sample by content hash
117
- $ terse test run --event-file sample.json # run a sample event from disk
118
- `)
119
- .action(async (jobName, opts) => {
120
- await test(jobName, opts?.verbose, resolveProvider(), opts?.entryFile, opts?.freshState);
121
- });
122
- testCommand
123
- .command("list")
124
- .description("List sample events for a job with content-addressed ids")
125
- .argument("[job-name]", "Name of the job (auto-selects if only one exists)")
126
- .option("--json", "Emit JSON with the full event payload for each id")
127
- .option(...ENTRY_FILE_OPTION)
128
- .action(async (jobName, opts) => {
129
- await testList({ jobName, json: opts?.json, entryFile: opts?.entryFile });
130
- });
131
- testCommand
132
- .command("show")
133
- .description("Show the full contents of a cached sample event")
134
- .argument("<id>", "Sample event id from `terse test list`")
135
- .argument("[job-name]", "Name of the job (auto-selects if only one exists)")
136
- .option("--json", "Emit JSON instead of rendered text")
137
- .option(...ENTRY_FILE_OPTION)
138
- .action(async (id, jobName, opts) => {
139
- await testShow({ id, jobName, json: opts?.json, entryFile: opts?.entryFile });
140
- });
141
- testCommand
142
- .command("run")
143
- .description("Run a job against a sample event non-interactively")
144
- .argument("[job-name]", "Name of the job (auto-selects if only one exists)")
145
- .option("--id <id>", "Sample event id from `terse test list`")
146
- .option("--event <json>", "Inline trigger event fixture JSON")
147
- .option("--event-file <path>", "Path to a JSON file containing the trigger event fixture")
148
- .option("-v, --verbose", "Show job stream output", true)
149
- .option("--no-verbose", "Hide job stream output")
150
- .option("--fresh-state", "Reset the job's test state before running")
151
- .option(...ENTRY_FILE_OPTION)
152
- .addHelpText("after", `
153
- Examples:
154
- $ terse test list --json | jq -r '.events[0].id' | xargs -I{} terse test run --id {}
155
- $ terse test run --event-file fixture.json
156
- $ terse test run --id <id> --fresh-state
157
- `)
158
- .action(async (jobName, opts) => {
159
- await testRun({
160
- jobName,
161
- id: opts?.id,
162
- eventJson: opts?.event,
163
- eventFile: opts?.eventFile,
164
- verbose: opts?.verbose,
165
- entryFile: opts?.entryFile,
166
- freshState: opts?.freshState
167
- });
168
- });
169
- program
170
- .command("listen")
171
- .description("Stream live trigger events from a deployed Terse job to your local code (great for self-hosted webhook iteration)")
172
- .argument("[job-name]", "Name of the job to listen on (auto-selects if only one local job exists)")
173
- .option("-v, --verbose", "Show job stream output", true)
174
- .option("--no-verbose", "Hide job stream output")
175
- .option(...ENTRY_FILE_OPTION)
176
- .addHelpText("after", `
177
- Examples:
178
- $ terse listen # auto-selects if you have a single local job
179
- $ terse listen my-webhook-job # listen for events on a specific job
180
-
181
- Notes:
182
- - Each event the live backend dispatches to the deployed job is mirrored to this stream.
183
- - Production processing is unchanged — \`terse listen\` is a tap, not a redirect.
184
- - The job must already be deployed; if it isn't, the command exits with a clear error.
185
- `)
186
- .action(async (jobName, opts) => {
187
- await listen(jobName, { verbose: opts?.verbose, entryFile: opts?.entryFile, provider: resolveProvider() });
188
- });
189
- program
190
- .command("resume")
191
- .description("Resume an interrupted durable run from its journal in .terse/data")
192
- .requiredOption("--run-id <id>", "Terse run id of the run to resume")
193
- .option("-v, --verbose", "Show job stream output", true)
194
- .option("--no-verbose", "Hide job stream output")
195
- .addHelpText("after", `
196
- Examples:
197
- $ terse resume --run-id <terse-run-id> # continue a paused or interrupted run
198
-
199
- Notes:
200
- - Pending/running runs resume where they left off; a failed run is re-driven (its failure trimmed, completed steps replayed) under your current code.
201
- - The run's journal must be present in .terse/data (e.g. restored from a snapshot).
202
- `)
203
- .action(async (opts) => {
204
- await resume(opts.runId, { verbose: opts.verbose });
205
- });
206
79
  program
207
80
  .command("deploy")
208
- .description("Deploy all jobs to Terse (syncs with server — removed jobs are deleted)")
209
- .option(...ENTRY_FILE_OPTION)
210
- .action(async (opts) => {
211
- await deploy(resolveProvider(), opts?.entryFile);
212
- });
213
- program
214
- .command("build")
215
- .description("Prepare durable job sources in .terse/runtime")
216
- .action(async () => {
217
- await resolveProvider().prebuild();
218
- });
219
- program.commandsGroup("Build with workspace context:");
220
- const integrateCommand = program
221
- .command("integrate")
222
- .description("Connect and manage integrations")
223
- .addHelpText("after", `
224
- Examples:
225
- $ terse integrate # interactive picker
226
- $ terse integrate list --json # enumerate integrations
227
- $ terse integrate describe snowflake --json # see required fields
228
- $ terse integrate tool slack --json # list an integration's tools
229
- $ terse integrate tool slack slack_send_message --json # one tool's input/output schemas
230
- $ terse integrate tool run slack.listChannels # invoke a tool ad hoc, no job required
231
- $ terse integrate connections slack --json # enumerate a workspace's connections + IDs
232
- $ terse integrate use slack # pin which connection this project uses
233
- $ terse integrate connect snowflake --field account=x --field username=y --fields-stdin <<< '{"password":"'"$PW"'"}'
234
- $ terse integrate connect slack # OAuth → opens browser, exit 2 (follow up with 'wait')
235
- $ terse integrate wait slack --timeout 300 # block until OAuth completes
236
- $ terse integrate disconnect snowflake
237
- `)
81
+ .description("Deploy the project to Terse")
238
82
  .action(async () => {
239
- await integrate();
240
- });
241
- integrateCommand
242
- .command("list")
243
- .description("List integrations and their connection status")
244
- .option("--json", "Emit JSON")
245
- .option("--status <status>", "Filter to `connected` or `disconnected`")
246
- .action(async (opts) => {
247
- if (opts.status && opts.status !== "connected" && opts.status !== "disconnected") {
248
- throw new CliError("invalid_status_filter", `--status must be "connected" or "disconnected", got "${opts.status}".`);
249
- }
250
- await integrateList({ json: opts.json, status: opts.status });
251
- });
252
- integrateCommand
253
- .command("describe")
254
- .description("Show schema and status for an integration type")
255
- .argument("<type>", "Integration type (e.g. slack, snowflake)")
256
- .option("--json", "Emit JSON")
257
- .action(async (type, opts) => {
258
- await integrateDescribe({ integrationType: type, json: opts.json });
259
- });
260
- integrateCommand
261
- .command("connect")
262
- .description("Connect (or refresh) an integration. OAuth types open a browser and exit 2 — follow up with `wait` to block.")
263
- .argument("<type>", "Integration type (e.g. slack, gmail, snowflake)")
264
- .option("--field <key=value>", "Form field value (repeatable). Never put secrets here — use --fields-stdin.", collectKeyValue, [])
265
- .option("--fields-stdin", "Read a JSON object of additional fields from stdin (secrets go here)")
266
- .option("-f, --force", "Re-run the install even if the integration is already connected")
267
- .option("--json", "Emit JSON")
268
- .addHelpText("after", `
269
- Examples:
270
- $ terse integrate connect snowflake --field account=xyz --field username=foo --fields-stdin <<< '{"password":"'"$PW"'"}'
271
- $ terse integrate connect slack # OAuth: opens browser, prints URL + wait command, exit 2
272
- $ terse integrate connect slack --json # OAuth: opens browser, emits handoff JSON, exit 2
273
- $ terse integrate connect snowflake --force # refresh an existing connection
274
- `)
275
- .action(async (type, opts) => {
276
- await integrateConnect({
277
- integrationType: type,
278
- fieldFlags: opts.field,
279
- fieldsStdin: opts.fieldsStdin,
280
- force: opts.force,
281
- json: opts.json
282
- });
283
- });
284
- integrateCommand
285
- .command("disconnect")
286
- .description("Disconnect an integration")
287
- .argument("<type>", "Integration type (e.g. slack, snowflake)")
288
- .option("--json", "Emit JSON")
289
- .action(async (type, opts) => {
290
- await integrateDisconnect({ integrationType: type, json: opts.json });
291
- });
292
- const integrateToolCommand = integrateCommand
293
- .command("tool")
294
- .description("List an integration's tools, show one tool's schemas, or run a tool ad hoc")
295
- .argument("<type>", "Integration type (e.g. slack, snowflake)")
296
- .argument("[tool-name]", "Tool name (e.g. slack_send_message); omit to list every tool")
297
- .option("--json", "Emit JSON")
298
- .addHelpText("after", `
299
- Examples:
300
- $ terse integrate tool slack # list Slack's tools
301
- $ terse integrate tool slack --json
302
- $ terse integrate tool slack slack_send_message --json # one tool's description and input/output schemas
303
- $ terse integrate tool run slack.listChannels # invoke a tool without building a job
304
- `)
305
- .action(async (type, toolName, opts) => {
306
- await integrateTool({ integrationType: type, toolName, json: opts.json });
307
- });
308
- integrateToolCommand
309
- .command("run")
310
- .description("Invoke a read-only toolbox tool ad hoc and print its JSON result — no job or deploy required")
311
- .argument("<tool>", "Tool to run, as attio_records or attio.records")
312
- .option("--params <json>", "Tool params as a JSON object; pass '-' (or pipe) to read from stdin")
313
- .option("--integration <id>", "Integration connection ID (only needed when several connections exist)")
314
- .addHelpText("after", `
315
- Examples:
316
- $ terse integrate tool run slack.listChannels
317
- $ terse integrate tool run attio.records --params '{"request":{"action":"query","objectSlug":"deals","limit":5}}'
318
- $ echo '{"request":{"action":"search","objectSlug":"companies","query":"acme"}}' | terse integrate tool run attio_records
319
- $ terse integrate tool run linear.searchTicket --integration cm123 --params '{"query":"TER-658"}'
320
-
321
- Only read-only tools can be run ad hoc; write tools (and approval-gated tools) run inside jobs.
322
- The result is printed to stdout as raw JSON; errors go to stderr with a nonzero exit code.
323
- Params are the tool's wire shape — see \`terse integrate tool <integration> <tool-name> --json\` for the input schema.
324
- `)
325
- .action(async (tool, opts) => {
326
- await integrateToolRun({ toolName: tool, params: opts.params, integrationId: opts.integration });
327
- });
328
- integrateCommand
329
- .command("connections")
330
- .description("List an integration's connections with their IDs and which one this project pins")
331
- .argument("<type>", "Integration type (e.g. slack)")
332
- .option("--json", "Emit JSON")
333
- .addHelpText("after", `
334
- Examples:
335
- $ terse integrate connections slack
336
- $ terse integrate connections slack --json # {id, name, pinned} per connection
337
-
338
- Non-interactive counterpart to the \`terse integrate use\` picker: list here, then pin with \`terse integrate use <type> <connection-id>\`.
339
- `)
340
- .action(async (type, opts) => {
341
- await integrateConnections({ integrationType: type, json: opts.json });
342
- });
343
- integrateCommand
344
- .command("use")
345
- .description("Pin which connection this project generates against, then regenerate terse.generated.ts and terse.generated/")
346
- .argument("<type>", "Integration type (e.g. slack)")
347
- .argument("[connection-id]", "Connection ID; omit to pick interactively (or auto-pin a single connection)")
348
- .option("--clear", "Remove this integration's pin and regenerate")
349
- .addHelpText("after", `
350
- Examples:
351
- $ terse integrate use slack # pick from the workspace's Slack connections
352
- $ terse integrate use slack cmr3l8b3d0003bpq4rpifevze
353
- $ terse integrate use slack --clear # back to the default (oldest) connection
354
-
355
- Non-interactive (agents/CI): the picker is disabled without a TTY — list IDs with \`terse integrate connections <type> --json\` and pass one explicitly.
356
- The pin is stored in terse.config.json and also drives \`terse integrate tool run\` resolution in this project.
357
- `)
358
- .action(async (type, connectionId, opts) => {
359
- await integrateUse({ integrationType: type, connectionId, clear: opts.clear }, resolveProvider());
360
- });
361
- integrateCommand
362
- .command("wait")
363
- .description("Block until an OAuth integration finishes connecting (run after `connect` emits a handoff)")
364
- .argument("<type>", "Integration type (e.g. slack, gmail)")
365
- .option("--timeout <seconds>", "Timeout in seconds (default 300, max 900)", parseIntFlag)
366
- .option("--json", "Emit JSON")
367
- .action(async (type, opts) => {
368
- await integrateWait({ integrationType: type, timeoutSeconds: opts.timeout, json: opts.json });
83
+ await deploy(resolveProvider());
369
84
  });
85
+ program.commandsGroup("Project configuration:");
370
86
  const secretsCommand = program
371
87
  .command("secrets")
372
88
  .description("Manage managed project secrets")
@@ -411,184 +127,6 @@ secretsCommand
411
127
  .action(async (file, opts) => {
412
128
  await secretsImport(file, { overwrite: opts.overwrite });
413
129
  });
414
- const memoryCommand = program
415
- .command("memory")
416
- .description("Inspect and manage a job's persistent agent memory")
417
- .addHelpText("after", `
418
- Examples:
419
- $ terse memory list --job my-job
420
- $ terse memory get notes.md --job my-job --out ./notes.md
421
- $ printf '%s' "new contents" | terse memory put notes.md --job my-job
422
- $ terse memory put notes.md --job my-job --file ./notes.md
423
- $ terse memory rm notes.md --job my-job --yes
424
- `);
425
- memoryCommand
426
- .command("list")
427
- .description("List memory files for a job")
428
- .option("--job <name>", "Job name (auto-selects if only one exists)")
429
- .option("--test", "Target the isolated `terse test` memory instead of production")
430
- .option("--json", "Emit JSON")
431
- .option(...ENTRY_FILE_OPTION)
432
- .action(async (opts) => {
433
- await memoryList({ job: opts.job, test: opts.test, json: opts.json, entryFile: opts.entryFile });
434
- });
435
- memoryCommand
436
- .command("get")
437
- .description("Read a memory file (to stdout, or to a local file with --out)")
438
- .argument("<path>", "Memory file path (relative to the job's memory root)")
439
- .option("--job <name>", "Job name (auto-selects if only one exists)")
440
- .option("--test", "Target the isolated `terse test` memory instead of production")
441
- .option("--out <file>", "Write the contents to a local file instead of stdout")
442
- .option(...ENTRY_FILE_OPTION)
443
- .action(async (path, opts) => {
444
- await memoryGet(path, { job: opts.job, test: opts.test, out: opts.out, entryFile: opts.entryFile });
445
- });
446
- memoryCommand
447
- .command("put")
448
- .description("Create or replace a memory file (from --file or stdin)")
449
- .argument("<path>", "Memory file path (relative to the job's memory root)")
450
- .option("--job <name>", "Job name (auto-selects if only one exists)")
451
- .option("--test", "Target the isolated `terse test` memory instead of production")
452
- .option("--file <path>", "Local file to upload (otherwise reads stdin)")
453
- .option(...ENTRY_FILE_OPTION)
454
- .action(async (path, opts) => {
455
- await memoryPut(path, { job: opts.job, test: opts.test, file: opts.file, entryFile: opts.entryFile });
456
- });
457
- memoryCommand
458
- .command("rm")
459
- .description("Delete a memory file")
460
- .argument("<path>", "Memory file path (relative to the job's memory root)")
461
- .option("--job <name>", "Job name (auto-selects if only one exists)")
462
- .option("--test", "Target the isolated `terse test` memory instead of production")
463
- .option("--yes", "Confirm deletion")
464
- .option(...ENTRY_FILE_OPTION)
465
- .action(async (path, opts) => {
466
- await memoryRemove(path, { job: opts.job, test: opts.test, yes: opts.yes, entryFile: opts.entryFile });
467
- });
468
- const stateCommand = program
469
- .command("state")
470
- .description("Inspect and manage a job's typed persistent state")
471
- .addHelpText("after", `
472
- State is written by \`state.set(...)\` in a job's filter/onTrigger handlers. Deployed runs and
473
- \`terse test\` runs use separate state: commands default to the deployed state (read-only) and
474
- target the test state with --test.
475
-
476
- Examples:
477
- $ terse state list --job my-job
478
- $ terse state list --job my-job --test
479
- $ terse state get lastProcessedId --job my-job
480
- $ terse state rm lastProcessedId --job my-job --test --yes
481
- $ terse state reset --job my-job --test --yes
482
- `);
483
- stateCommand
484
- .command("list")
485
- .description("List state keys for a job")
486
- .option("--job <name>", "Job name (auto-selects if only one exists)")
487
- .option("--test", "Target the isolated `terse test` state instead of deployed state")
488
- .option("--json", "Emit JSON")
489
- .option(...ENTRY_FILE_OPTION)
490
- .action(async (opts) => {
491
- await stateList({ job: opts.job, test: opts.test, json: opts.json, entryFile: opts.entryFile });
492
- });
493
- stateCommand
494
- .command("get")
495
- .description("Print a state value as JSON")
496
- .argument("<key>", "State key (as declared in the job's `states`)")
497
- .option("--job <name>", "Job name (auto-selects if only one exists)")
498
- .option("--test", "Target the isolated `terse test` state instead of deployed state")
499
- .option(...ENTRY_FILE_OPTION)
500
- .action(async (key, opts) => {
501
- await stateGet(key, { job: opts.job, test: opts.test, entryFile: opts.entryFile });
502
- });
503
- stateCommand
504
- .command("rm")
505
- .description("Delete one test state key (deployed state is read-only)")
506
- .argument("<key>", "State key (as declared in the job's `states`)")
507
- .option("--job <name>", "Job name (auto-selects if only one exists)")
508
- .option("--test", "Target the isolated `terse test` state (required)")
509
- .option("--yes", "Confirm deletion")
510
- .option(...ENTRY_FILE_OPTION)
511
- .action(async (key, opts) => {
512
- await stateRemove(key, { job: opts.job, test: opts.test, yes: opts.yes, entryFile: opts.entryFile });
513
- });
514
- stateCommand
515
- .command("reset")
516
- .description("Delete all test state for a job (deployed state is read-only)")
517
- .option("--job <name>", "Job name (auto-selects if only one exists)")
518
- .option("--test", "Target the isolated `terse test` state (required)")
519
- .option("--yes", "Confirm deletion")
520
- .option(...ENTRY_FILE_OPTION)
521
- .action(async (opts) => {
522
- await stateReset({ job: opts.job, test: opts.test, yes: opts.yes, entryFile: opts.entryFile });
523
- });
524
- program
525
- .command("generate")
526
- .description("Autogenerate context from your connected workspaces")
527
- .action(async () => {
528
- await generate(resolveProvider());
529
- });
530
- if (isCliRunCommandEnabled()) {
531
- program.commandsGroup("Sandbox:");
532
- program
533
- .command("run")
534
- .description("Execute a job with payload")
535
- .argument("[job-name]", "Name of the job to run (auto-selects if only one exists)")
536
- .option("--event <json>", "Trigger event fixture JSON string")
537
- .option("--event-file <path>", "Path to a JSON file containing the trigger event fixture")
538
- .option("-v, --verbose", "Show job stream output (use --no-verbose to silence)", true)
539
- .option("--no-verbose", "Hide job stream output")
540
- .option(...ENTRY_FILE_OPTION)
541
- .action(async (jobName, opts) => {
542
- await run(jobName, opts?.event, opts?.eventFile, resolveProvider(), opts?.entryFile, opts?.verbose);
543
- });
544
- }
545
- program.commandsGroup("Improvements:");
546
- program
547
- .command("apply")
548
- .description("Apply a suggested improvement patch locally (runs `git apply`)")
549
- .argument("[improvement-id]", "ID of the improvement to apply (prompts if omitted)")
550
- .option(...NON_INTERACTIVE_OPTION)
551
- .addHelpText("after", `
552
- Examples:
553
- $ terse apply # interactive picker
554
- $ terse apply <improvement-id> # apply a specific improvement
555
- $ terse apply <improvement-id> --non-interactive # fail fast on prompts (CI/agents)
556
- `)
557
- .action(async (improvementId, opts) => {
558
- await applyImprovement(improvementId, opts);
559
- });
560
- program
561
- .command("list")
562
- .description("List Terse resources")
563
- .addCommand(new Command("improvements").description("List pending improvements across all jobs").action(async () => {
564
- await listImprovements();
565
- }));
566
- program.commandsGroup("Observability:");
567
- program
568
- .command("replay")
569
- .description("Replay a run locally on your machine")
570
- .argument("[run-id]", "ID of the run to re-trigger")
571
- .action(async (runId) => {
572
- await replay(runId);
573
- });
574
- program
575
- .command("history")
576
- .description("View past run events for a job (use --json to pipe into tooling like the Claude Code /improve skill)")
577
- .argument("[job-name]", "Name of the job to view the history of")
578
- .option("--json", "Output runs as JSON for machine consumption")
579
- .option("--limit <n>", "Max runs to fetch (default 20, max 100)", parseIntFlag)
580
- .option("--page <n>", "Page number (1-indexed)", parseIntFlag)
581
- .option("--status <list>", "Comma-separated statuses (success,failed,cancelled,skipped,in_progress,awaiting_approval)")
582
- .option("--since <iso>", "Only include runs at or after this ISO timestamp")
583
- .option("--until <iso>", "Only include runs at or before this ISO timestamp")
584
- .option("--query <q>", "Free-text search across trigger, decision and event fields")
585
- .option("--triggers", "Also fetch the input trigger event JSON for each run (cheap, recommended for /improve)")
586
- .option("--events", "Also fetch the full model event stream for each run (heavy, includes trigger event)")
587
- .option("--run-id <id>", "Show full chat events for a single run instead of a list")
588
- .option("--include-test", "Include runs from `terse test` (hidden by default)")
589
- .action(async (jobName, opts) => {
590
- await history(jobName, opts);
591
- });
592
130
  program
593
131
  .command("dashboard")
594
132
  .description("Open the Terse web app in your browser")
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"localActors.d.ts","sourceRoot":"","sources":["../src/localActors.ts"],"names":[],"mappings":"AAOA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBvD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAErD"}
1
+ {"version":3,"file":"localActors.d.ts","sourceRoot":"","sources":["../src/localActors.ts"],"names":[],"mappings":"AAQA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBvD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAErD"}
@@ -1,12 +1,13 @@
1
- import { startLocalActors } from "durable-actors/dev";
1
+ import { loadProjectActorTools } from "./projectActorTools.js";
2
2
  import { readProjectConfigOrBail } from "./projectConfig.js";
3
- import { ACTOR_ENTRY_FILE, loadActorTypes } from "./providers/typescript/actorSources.js";
3
+ import { loadActorTypes, resolveActorEntryFile } from "./providers/typescript/actorSources.js";
4
4
  let runtime;
5
5
  export async function ensureLocalActors() {
6
6
  if ((await loadActorTypes(process.cwd())).length === 0)
7
7
  return;
8
8
  const projectId = readProjectConfigOrBail().projectId;
9
- const options = { projectId, entrypoint: ACTOR_ENTRY_FILE, dataDir: ".terse/test-actors", quiet: true };
9
+ const { startLocalActors } = await loadProjectActorTools(process.cwd());
10
+ const options = { project: process.cwd(), projectId, entrypoint: resolveActorEntryFile(process.cwd()), dataDir: ".terse/test-actors", quiet: true };
10
11
  const { connection } = await (runtime ??= startLocalActors(options).catch(error => {
11
12
  runtime = undefined;
12
13
  throw error;