terse-cli 0.1.37 → 0.1.38

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 (64) hide show
  1. package/dist/commands/improvements.d.ts +4 -0
  2. package/dist/commands/improvements.d.ts.map +1 -0
  3. package/dist/commands/improvements.js +246 -0
  4. package/dist/commands/improvements.js.map +1 -0
  5. package/dist/index.js +22 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/jsonOutput.d.ts +19 -0
  8. package/dist/jsonOutput.d.ts.map +1 -0
  9. package/dist/jsonOutput.js +25 -0
  10. package/dist/jsonOutput.js.map +1 -0
  11. package/dist/nonInteractive.d.ts +2 -4
  12. package/dist/nonInteractive.d.ts.map +1 -1
  13. package/dist/nonInteractive.js +2 -5
  14. package/dist/nonInteractive.js.map +1 -1
  15. package/dist/replay.d.ts +3 -0
  16. package/dist/replay.d.ts.map +1 -0
  17. package/dist/replay.js +20 -0
  18. package/dist/replay.js.map +1 -0
  19. package/dist/run.d.ts.map +1 -1
  20. package/dist/run.js +12 -36
  21. package/dist/run.js.map +1 -1
  22. package/dist/sampleEventId.d.ts +4 -0
  23. package/dist/sampleEventId.d.ts.map +1 -1
  24. package/dist/sampleEventId.js +4 -0
  25. package/dist/sampleEventId.js.map +1 -1
  26. package/dist/shared/ToolDisplayUtils.js +1 -1
  27. package/dist/shared/ToolDisplayUtils.js.map +1 -1
  28. package/dist/urls.d.ts +3 -0
  29. package/dist/urls.d.ts.map +1 -0
  30. package/dist/urls.js +27 -0
  31. package/dist/urls.js.map +1 -0
  32. package/package.json +3 -3
  33. package/dist/commands/deployTheme.d.ts +0 -28
  34. package/dist/commands/deployTheme.d.ts.map +0 -1
  35. package/dist/commands/deployTheme.js +0 -68
  36. package/dist/commands/deployTheme.js.map +0 -1
  37. package/dist/commands/dev.d.ts +0 -3
  38. package/dist/commands/dev.d.ts.map +0 -1
  39. package/dist/commands/dev.js +0 -47
  40. package/dist/commands/dev.js.map +0 -1
  41. package/dist/commands/serve.d.ts +0 -1
  42. package/dist/commands/serve.d.ts.map +0 -1
  43. package/dist/commands/serve.js +0 -2
  44. package/dist/commands/serve.js.map +0 -1
  45. package/dist/commands/terseCliTheme.d.ts +0 -28
  46. package/dist/commands/terseCliTheme.d.ts.map +0 -1
  47. package/dist/commands/terseCliTheme.js +0 -68
  48. package/dist/commands/terseCliTheme.js.map +0 -1
  49. package/dist/perf.d.ts +0 -9
  50. package/dist/perf.d.ts.map +0 -1
  51. package/dist/perf.js +0 -59
  52. package/dist/perf.js.map +0 -1
  53. package/dist/providers/codegen.test.d.ts +0 -2
  54. package/dist/providers/codegen.test.d.ts.map +0 -1
  55. package/dist/providers/codegen.test.js +0 -45
  56. package/dist/providers/codegen.test.js.map +0 -1
  57. package/dist/providers/python/PythonProvider.test.d.ts +0 -2
  58. package/dist/providers/python/PythonProvider.test.d.ts.map +0 -1
  59. package/dist/providers/python/PythonProvider.test.js +0 -169
  60. package/dist/providers/python/PythonProvider.test.js.map +0 -1
  61. package/dist/providers/typescript/prepareCodegenData.test.d.ts +0 -2
  62. package/dist/providers/typescript/prepareCodegenData.test.d.ts.map +0 -1
  63. package/dist/providers/typescript/prepareCodegenData.test.js +0 -54
  64. package/dist/providers/typescript/prepareCodegenData.test.js.map +0 -1
@@ -0,0 +1,4 @@
1
+ import { type NonInteractiveOpts } from "../cliHelpers.js";
2
+ export declare function applyImprovement(improvementId?: string, opts?: NonInteractiveOpts): Promise<void>;
3
+ export declare function listImprovements(): Promise<void>;
4
+ //# sourceMappingURL=improvements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improvements.d.ts","sourceRoot":"","sources":["../../src/commands/improvements.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,kBAAkB,EAAoB,MAAM,kBAAkB,CAAA;AAQ5E,wBAAsB,gBAAgB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCvG;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBtD"}
@@ -0,0 +1,246 @@
1
+ import { cancel, confirm, intro, isCancel, log, outro, select } from "@clack/prompts";
2
+ import chalk from "chalk";
3
+ import { spawnSync } from "node:child_process";
4
+ import fs from "node:fs";
5
+ import os from "node:os";
6
+ import path from "node:path";
7
+ import { ApiRoutes, buildRoute } from "terse-types";
8
+ import { fetchWithAuth, readApiKeyOrBail } from "../api.js";
9
+ import { CliError } from "../cliError.js";
10
+ import { isNonInteractive } from "../cliHelpers.js";
11
+ import { createSpinner } from "../cliUi.js";
12
+ export async function applyImprovement(improvementId, opts) {
13
+ const nonInteractive = isNonInteractive(opts);
14
+ if (!improvementId && nonInteractive) {
15
+ throw new CliError("apply_requires_interactive", "`terse apply` needs an improvement id in non-interactive mode.", {
16
+ detail: "Pass the id as an argument: `terse apply <improvement-id>`. Run `terse list improvements` to find pending ids."
17
+ });
18
+ }
19
+ intro("terse apply");
20
+ const apiKey = readApiKeyOrBail();
21
+ const spinner = createSpinner();
22
+ spinner.start("Fetching agents and improvements");
23
+ const agentsWithImprovements = await fetchAgentsWithImprovements(apiKey);
24
+ spinner.stop(`Loaded ${agentsWithImprovements.length} agent${agentsWithImprovements.length === 1 ? "" : "s"}`);
25
+ const target = improvementId ? findImprovementById(agentsWithImprovements, improvementId) : await promptForImprovement(agentsWithImprovements);
26
+ if (!target) {
27
+ if (improvementId) {
28
+ throw new CliError("improvement_not_found", `No pending improvement found with id ${improvementId}.`, {
29
+ detail: "Run `terse list improvements` to see available pending improvements."
30
+ });
31
+ }
32
+ throw new CliError("no_improvement_selected", "No improvement selected.");
33
+ }
34
+ const { agent, improvement } = target;
35
+ await applyPatchLocallyAndMarkApplied(apiKey, agent, improvement, nonInteractive);
36
+ outro("Done");
37
+ }
38
+ export async function listImprovements() {
39
+ const apiKey = readApiKeyOrBail();
40
+ const spinner = createSpinner();
41
+ spinner.start("Fetching agents and improvements");
42
+ const agentsWithImprovements = await fetchAgentsWithImprovements(apiKey);
43
+ spinner.stop(`Loaded ${agentsWithImprovements.length} agent${agentsWithImprovements.length === 1 ? "" : "s"}`);
44
+ const pendingTotal = agentsWithImprovements.reduce((sum, { improvements }) => sum + pendingOnly(improvements).length, 0);
45
+ if (pendingTotal === 0) {
46
+ console.log(chalk.dim(" No pending improvements."));
47
+ return;
48
+ }
49
+ for (const { agent, improvements } of agentsWithImprovements) {
50
+ const pending = pendingOnly(improvements);
51
+ if (pending.length === 0)
52
+ continue;
53
+ console.log("");
54
+ console.log(`${chalk.bold(agent.name)} ${chalk.dim(`(${pending.length} pending)`)}`);
55
+ for (const improvement of pending) {
56
+ printImprovementDetails(improvement, " ");
57
+ }
58
+ }
59
+ console.log("");
60
+ }
61
+ async function promptForImprovement(agentsWithImprovements) {
62
+ if (agentsWithImprovements.length === 0) {
63
+ log.warn("No agents found. Deploy an agent first with `terse deploy`.");
64
+ return null;
65
+ }
66
+ const longestName = agentsWithImprovements.reduce((max, { agent }) => Math.max(max, agent.name.length), 0);
67
+ const agentId = abortIfCancelled(await select({
68
+ message: "Choose an agent",
69
+ options: agentsWithImprovements.map(({ agent, improvements }) => {
70
+ const pending = pendingOnly(improvements).length;
71
+ const countLabel = `${pending} pending improvement${pending === 1 ? "" : "s"}`;
72
+ return {
73
+ value: agent.id,
74
+ label: `${agent.name.padEnd(longestName)} ${chalk.dim(countLabel)}`
75
+ };
76
+ })
77
+ }));
78
+ const selected = agentsWithImprovements.find(({ agent }) => agent.id === agentId);
79
+ if (!selected)
80
+ return null;
81
+ const pending = pendingOnly(selected.improvements);
82
+ if (pending.length === 0) {
83
+ log.warn(`${selected.agent.name} has no pending improvements.`);
84
+ return null;
85
+ }
86
+ console.log("");
87
+ console.log(chalk.bold(`Pending improvements for ${selected.agent.name}:`));
88
+ for (const improvement of pending) {
89
+ printImprovementDetails(improvement, " ");
90
+ }
91
+ console.log("");
92
+ const improvementId = abortIfCancelled(await select({
93
+ message: "Choose an improvement",
94
+ options: pending.map(improvement => ({
95
+ value: improvement.id,
96
+ label: improvement.title,
97
+ hint: formatImprovementMeta(improvement)
98
+ }))
99
+ }));
100
+ const improvement = pending.find(i => i.id === improvementId);
101
+ if (!improvement)
102
+ return null;
103
+ return { agent: selected.agent, improvement };
104
+ }
105
+ function findImprovementById(agentsWithImprovements, improvementId) {
106
+ for (const { agent, improvements } of agentsWithImprovements) {
107
+ const match = improvements.find(i => i.id === improvementId);
108
+ if (match)
109
+ return { agent, improvement: match };
110
+ }
111
+ return null;
112
+ }
113
+ async function fetchAgentsWithImprovements(apiKey) {
114
+ const agentsResponse = await fetchWithAuth(`${ApiRoutes.AGENTS.LIST}?pageSize=100`, apiKey);
115
+ const agents = agentsResponse.agents;
116
+ const results = await Promise.all(agents.map(async (agent) => {
117
+ try {
118
+ const response = await fetchWithAuth(buildRoute(ApiRoutes.IMPROVEMENTS.BY_AGENT_ID, { agentId: agent.id }), apiKey);
119
+ return { agent, improvements: response.improvements };
120
+ }
121
+ catch {
122
+ return { agent, improvements: [] };
123
+ }
124
+ }));
125
+ return results.sort((a, b) => pendingOnly(b.improvements).length - pendingOnly(a.improvements).length || a.agent.name.localeCompare(b.agent.name));
126
+ }
127
+ async function applyPatchLocallyAndMarkApplied(apiKey, agent, improvement, nonInteractive) {
128
+ if (!improvement.suggestedPatch) {
129
+ throw new CliError("improvement_no_patch", "This improvement has no downloadable patch.");
130
+ }
131
+ log.info(`Applying ${chalk.bold(improvement.title)} for ${chalk.cyan(agent.name)}`);
132
+ const patchPath = writePatchToTempFile(improvement);
133
+ const direct = runGitApply(["apply", patchPath]);
134
+ if (direct.ok) {
135
+ log.success(`Patch applied from ${chalk.dim(patchPath)}`);
136
+ }
137
+ else {
138
+ const threeWay = runGitApply(["apply", "--3way", patchPath]);
139
+ if (threeWay.ok) {
140
+ log.success(`Patch applied with 3-way merge from ${chalk.dim(patchPath)}`);
141
+ console.log(chalk.dim(" Review your working tree for conflict markers."));
142
+ }
143
+ else {
144
+ log.warn("Your working copy has likely drifted from the snapshot this patch was generated against.");
145
+ if (direct.stderr)
146
+ console.log(chalk.dim(indentBlock(direct.stderr, " ")));
147
+ if (nonInteractive) {
148
+ throw new CliError("patch_apply_failed", "Patch could not be applied cleanly.", {
149
+ detail: `Patch saved at ${patchPath}. Re-run interactively to opt into a partial --reject apply.`
150
+ });
151
+ }
152
+ const tryPartial = abortIfCancelled(await confirm({
153
+ message: "Apply with --reject? Successful hunks land in your working tree; failed hunks are written as .rej files for manual resolution.",
154
+ initialValue: false
155
+ }));
156
+ if (!tryPartial) {
157
+ throw new CliError("patch_apply_failed", "Patch could not be applied cleanly.", {
158
+ detail: `Patch saved at ${patchPath}.`
159
+ });
160
+ }
161
+ const rejected = runGitApply(["apply", "--reject", "--ignore-whitespace", "-C1", patchPath]);
162
+ if (rejected.stderr)
163
+ console.log(chalk.dim(indentBlock(rejected.stderr, " ")));
164
+ log.info("Run `git status` to see applied changes and any .rej files.");
165
+ }
166
+ }
167
+ const spinner = createSpinner();
168
+ spinner.start("Marking improvement as applied");
169
+ try {
170
+ await fetchWithAuth(buildRoute(ApiRoutes.IMPROVEMENTS.APPLY, { agentId: agent.id, id: improvement.id }), apiKey, {}, "POST");
171
+ spinner.stop("Marked as applied");
172
+ }
173
+ catch (error) {
174
+ spinner.stop("Failed to mark as applied on server");
175
+ console.error(chalk.red(` ${error instanceof Error ? error.message : String(error)}`));
176
+ }
177
+ }
178
+ function writePatchToTempFile(improvement) {
179
+ const safeName = improvement.title
180
+ .replace(/[^a-zA-Z0-9-_ ]/g, "")
181
+ .replace(/\s+/g, "-")
182
+ .toLowerCase() || "improvement";
183
+ const fileName = `${safeName}-${improvement.id}.patch`;
184
+ const filePath = path.join(os.tmpdir(), fileName);
185
+ const content = improvement.suggestedPatch.endsWith("\n") ? improvement.suggestedPatch : `${improvement.suggestedPatch}\n`;
186
+ fs.writeFileSync(filePath, content, "utf8");
187
+ return filePath;
188
+ }
189
+ function runGitApply(args) {
190
+ const result = spawnSync("git", args, { encoding: "utf8" });
191
+ if (result.error) {
192
+ return { ok: false, stderr: result.error.message };
193
+ }
194
+ const stderr = (result.stderr ?? "").trim();
195
+ return { ok: result.status === 0, stderr };
196
+ }
197
+ function indentBlock(value, indent) {
198
+ return value
199
+ .split("\n")
200
+ .map(line => `${indent}${line}`)
201
+ .join("\n");
202
+ }
203
+ function pendingOnly(improvements) {
204
+ return improvements.filter(i => i.status === "PENDING");
205
+ }
206
+ function printImprovementDetails(improvement, indent) {
207
+ console.log("");
208
+ console.log(`${indent}${chalk.cyan.bold(improvement.title)} ${chalk.dim(formatImprovementMeta(improvement))}`);
209
+ for (const line of wrapText(improvement.description.trim(), 100)) {
210
+ console.log(`${indent}${line}`);
211
+ }
212
+ }
213
+ function formatImprovementMeta(improvement) {
214
+ const confidencePct = Math.round(improvement.confidence * 100);
215
+ return `${confidencePct}% confidence`;
216
+ }
217
+ function wrapText(value, width) {
218
+ const lines = [];
219
+ for (const paragraph of value.split(/\n+/)) {
220
+ const words = paragraph.split(/\s+/).filter(Boolean);
221
+ let current = "";
222
+ for (const word of words) {
223
+ if (current.length === 0) {
224
+ current = word;
225
+ }
226
+ else if (current.length + 1 + word.length > width) {
227
+ lines.push(current);
228
+ current = word;
229
+ }
230
+ else {
231
+ current += ` ${word}`;
232
+ }
233
+ }
234
+ if (current.length > 0)
235
+ lines.push(current);
236
+ }
237
+ return lines;
238
+ }
239
+ function abortIfCancelled(value) {
240
+ if (isCancel(value)) {
241
+ cancel("Operation cancelled.");
242
+ process.exit(0);
243
+ }
244
+ return value;
245
+ }
246
+ //# sourceMappingURL=improvements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"improvements.js","sourceRoot":"","sources":["../../src/commands/improvements.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ import { deploy } from "./commands/deploy.js";
11
11
  import { openDocs } from "./commands/docs.js";
12
12
  import { generate } from "./commands/generate.js";
13
13
  import { history } from "./commands/history.js";
14
+ import { applyImprovement, listImprovements } from "./commands/improvements.js";
14
15
  import { init } from "./commands/init.js";
15
16
  import { integrate, integrateConnect, integrateDescribe, integrateDisconnect, integrateList, integrateWait } from "./commands/integrate.js";
16
17
  import { replay } from "./commands/replay.js";
@@ -220,6 +221,27 @@ if (isCliRunCommandEnabled()) {
220
221
  await run(jobName, opts?.event, opts?.eventFile, resolveProvider(), opts?.entryFile);
221
222
  });
222
223
  }
224
+ program.commandsGroup("Improvements:");
225
+ program
226
+ .command("apply")
227
+ .description("Apply a suggested improvement patch locally (runs `git apply`)")
228
+ .argument("[improvement-id]", "ID of the improvement to apply (prompts if omitted)")
229
+ .option(...NON_INTERACTIVE_OPTION)
230
+ .addHelpText("after", `
231
+ Examples:
232
+ $ terse apply # interactive picker
233
+ $ terse apply <improvement-id> # apply a specific improvement
234
+ $ terse apply <improvement-id> --non-interactive # fail fast on prompts (CI/agents)
235
+ `)
236
+ .action(async (improvementId, opts) => {
237
+ await applyImprovement(improvementId, opts);
238
+ });
239
+ program
240
+ .command("list")
241
+ .description("List Terse resources")
242
+ .addCommand(new Command("improvements").description("List pending improvements across all agents").action(async () => {
243
+ await listImprovements();
244
+ }));
223
245
  program.commandsGroup("Observability:");
224
246
  program
225
247
  .command("replay")
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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"}
@@ -0,0 +1,19 @@
1
+ import type { Ora } from "ora";
2
+ export type JsonErrorPayload = {
3
+ error: {
4
+ code: string;
5
+ message: string;
6
+ [key: string]: unknown;
7
+ };
8
+ };
9
+ export declare function emitJsonError(code: string, message: string, details?: Record<string, unknown>): void;
10
+ export declare function bailJsonError(code: string, message: string, details?: Record<string, unknown>, exitCode?: number): never;
11
+ export type GuardOptions = {
12
+ spinner?: Ora | null;
13
+ json?: boolean;
14
+ failMessage: string;
15
+ code: string;
16
+ details?: Record<string, unknown>;
17
+ };
18
+ export declare function withJsonError<T>(fn: () => Promise<T>, opts: GuardOptions): Promise<T>;
19
+ //# sourceMappingURL=jsonOutput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonOutput.d.ts","sourceRoot":"","sources":["../src/jsonOutput.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAK9B,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE;QACH,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACzB,CAAA;CACJ,CAAA;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAGxG;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,KAAK,CAG/H;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC,CAAA;AAKD,wBAAsB,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAU3F"}
@@ -0,0 +1,25 @@
1
+ import chalk from "chalk";
2
+ export function emitJsonError(code, message, details = {}) {
3
+ const payload = { error: { code, message, ...details } };
4
+ process.stdout.write(JSON.stringify(payload, null, 2) + "\n");
5
+ }
6
+ export function bailJsonError(code, message, details = {}, exitCode = 1) {
7
+ emitJsonError(code, message, details);
8
+ process.exit(exitCode);
9
+ }
10
+ // Wraps an async call so that failures (a) stop the spinner with a red label in TTY mode,
11
+ // (b) emit a structured JSON error and exit 1 in --json mode, and (c) re-throw otherwise so
12
+ // the top-level error handler can surface the trace.
13
+ export async function withJsonError(fn, opts) {
14
+ try {
15
+ return await fn();
16
+ }
17
+ catch (error) {
18
+ opts.spinner?.fail(chalk.red(opts.failMessage));
19
+ if (opts.json) {
20
+ bailJsonError(opts.code, error instanceof Error ? error.message : String(error), opts.details);
21
+ }
22
+ throw error;
23
+ }
24
+ }
25
+ //# sourceMappingURL=jsonOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonOutput.js","sourceRoot":"","sources":["../src/jsonOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmC,EAAE;IAC9F,MAAM,OAAO,GAAqB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CAAA;IAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmC,EAAE,EAAE,WAAmB,CAAC;IACpH,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACrC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC1B,CAAC;AAUD,0FAA0F;AAC1F,4FAA4F;AAC5F,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAI,EAAoB,EAAE,IAAkB;IAC3E,IAAI,CAAC;QACD,OAAO,MAAM,EAAE,EAAE,CAAA;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;QAC/C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAClG,CAAC;QACD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC"}
@@ -1,15 +1,13 @@
1
1
  export type NonInteractiveOpts = {
2
+ yes?: boolean;
2
3
  nonInteractive?: boolean;
3
4
  };
4
5
  /**
5
6
  * True when the CLI should avoid any interactive prompt. Honors the explicit
6
7
  * flag first, falls back to TTY detection so subprocess / piped invocations
7
- * behave non-interactively without the caller needing to pass `--non-interactive`.
8
+ * behave non-interactively without the caller needing to pass `--yes`.
8
9
  */
9
10
  export declare function isNonInteractive(opts?: NonInteractiveOpts): boolean;
10
- /**
11
- * Supports parsing a series of key=value flags from the CLI.
12
- */
13
11
  export declare function parseKeyValueFlags(values: string[] | undefined): Record<string, string>;
14
12
  /**
15
13
  * Read a JSON object from stdin and return it as a string map. Used by
@@ -1 +1 @@
1
- {"version":3,"file":"nonInteractive.d.ts","sourceRoot":"","sources":["../src/nonInteractive.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAGnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUvF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA6B3E"}
1
+ {"version":3,"file":"nonInteractive.d.ts","sourceRoot":"","sources":["../src/nonInteractive.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,cAAc,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAGnE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUvF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA6B3E"}
@@ -2,16 +2,13 @@ import { CliError } from "./cliError.js";
2
2
  /**
3
3
  * True when the CLI should avoid any interactive prompt. Honors the explicit
4
4
  * flag first, falls back to TTY detection so subprocess / piped invocations
5
- * behave non-interactively without the caller needing to pass `--non-interactive`.
5
+ * behave non-interactively without the caller needing to pass `--yes`.
6
6
  */
7
7
  export function isNonInteractive(opts) {
8
- if (opts?.nonInteractive)
8
+ if (opts?.yes || opts?.nonInteractive)
9
9
  return true;
10
10
  return !process.stdin.isTTY || !process.stdout.isTTY;
11
11
  }
12
- /**
13
- * Supports parsing a series of key=value flags from the CLI.
14
- */
15
12
  export function parseKeyValueFlags(values) {
16
13
  const out = {};
17
14
  for (const raw of values ?? []) {
@@ -1 +1 @@
1
- {"version":3,"file":"nonInteractive.js","sourceRoot":"","sources":["../src/nonInteractive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAMxC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACtD,IAAI,IAAI,EAAE,cAAc;QAAE,OAAO,IAAI,CAAA;IACrC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA4B;IAC3D,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACV,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,0BAA0B,GAAG,GAAG,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAA;QAC3G,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IAEnB,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,iCAAiC,EAAE;YAC1E,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAC3D,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,iCAAiC,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAA;IAC5H,CAAC;IAED,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;QACrE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAA;QAC/E,CAAC;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"nonInteractive.js","sourceRoot":"","sources":["../src/nonInteractive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAOxC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACtD,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,cAAc;QAAE,OAAO,IAAI,CAAA;IAClD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAA4B;IAC3D,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACV,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE,0BAA0B,GAAG,GAAG,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAA;QAC3G,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IAEnB,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,iCAAiC,EAAE;YAC1E,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAC3D,CAAC,CAAA;IACN,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,iCAAiC,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAA;IAC5H,CAAC;IAED,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;QACrE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAA;QAC/E,CAAC;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { LanguageProvider } from "./providers/LanguageProvider.js";
2
+ export declare function replay(runId: string, provider?: LanguageProvider): Promise<void>;
3
+ //# sourceMappingURL=replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAGvE,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,gBAAoC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzG"}
package/dist/replay.js ADDED
@@ -0,0 +1,20 @@
1
+ import chalk from "chalk";
2
+ import { readApiKeyOrBail, resolveEventFromRunId } from "./api.js";
3
+ import { loadJob } from "./loadJob.js";
4
+ import { resolveProvider } from "./providers/resolveProvider.js";
5
+ export async function replay(runId, provider = resolveProvider()) {
6
+ const apiKey = readApiKeyOrBail();
7
+ if (!runId) {
8
+ console.error(chalk.red("Error: --run-id is required.\n"));
9
+ console.error(chalk.dim(" Usage: terse replay --run-id <run-id>"));
10
+ process.exit(1);
11
+ }
12
+ const runHistoryRecord = await resolveEventFromRunId(runId, apiKey);
13
+ if (!runHistoryRecord) {
14
+ console.error(chalk.red("Error: Could not fetch the trigger event for run ${runId}.\n"));
15
+ process.exit(1);
16
+ }
17
+ const { job } = await loadJob(provider, runHistoryRecord.agentName);
18
+ await provider.executeJob(job, null, runHistoryRecord.event, { verbose: true });
19
+ }
20
+ //# sourceMappingURL=replay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEhE,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAa,EAAE,WAA6B,eAAe,EAAE;IACtF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAA;QAC1D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAA;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACnE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAA;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAEnE,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AACnF,CAAC"}
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAGvE,wBAAsB,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,gBAAoC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CrK"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAGvE,wBAAsB,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,gBAAoC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CrK"}
package/dist/run.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import chalk from "chalk";
2
2
  import fs from "fs";
3
- import { ApiRoutes, buildRoute, sdkRunTriggerEventResponseSchema, serializedEventSchema } from "terse-types";
4
- import { fetchWithAuth, readApiKey } from "./api.js";
3
+ import { serializedEventSchema } from "terse-types";
4
+ import { readApiKey } from "./api.js";
5
5
  import { loadJob } from "./loadJob.js";
6
6
  import { resolveProvider } from "./providers/resolveProvider.js";
7
7
  export async function run(jobName, eventJson, eventFile, provider = resolveProvider(), entryFile) {
@@ -15,58 +15,34 @@ export async function run(jobName, eventJson, eventFile, provider = resolveProvi
15
15
  process.exit(1);
16
16
  }
17
17
  }
18
- readApiKey();
19
- let rawEvent;
20
- if (eventJson) {
21
- try {
22
- rawEvent = JSON.parse(eventJson);
23
- }
24
- catch (error) {
25
- console.error(chalk.red("Error: --event must be valid JSON."));
26
- console.error(chalk.dim(error instanceof Error ? error.message : String(error)));
27
- process.exit(1);
28
- }
29
- }
30
- else {
31
- rawEvent = await resolveEventFromRunId();
32
- }
33
- if (!rawEvent) {
18
+ if (!eventJson) {
34
19
  console.error(chalk.red("Error: --event <json> or --event-file <path> is required.\n"));
35
20
  console.error(chalk.dim(' Usage: terse run --event \'{"integrationType":"...","eventType":"...","formattedContent":"...","debugLog":"...","data":{...}}\''));
36
21
  console.error(chalk.dim(" terse run --event-file ./event.json"));
37
22
  console.error(chalk.dim(" Tip: Use `terse test` to interactively pick a sample event.\n"));
38
23
  process.exit(1);
39
24
  }
25
+ readApiKey();
40
26
  const { job } = await loadJob(provider, jobName, entryFile);
41
- let parsed;
27
+ console.log(chalk.cyan(`\n Running job: ${job.name}\n`));
28
+ let rawEvent;
42
29
  try {
43
- parsed = serializedEventSchema.parse(rawEvent);
30
+ rawEvent = JSON.parse(eventJson);
44
31
  }
45
32
  catch (error) {
46
- console.error(chalk.red("Error: --event does not match the canonical Trigger schema."));
33
+ console.error(chalk.red("Error: --event must be valid JSON."));
47
34
  console.error(chalk.dim(error instanceof Error ? error.message : String(error)));
48
35
  process.exit(1);
49
36
  }
50
- await provider.executeJob(job, parsed, { entryFile });
51
- }
52
- async function resolveEventFromRunId() {
53
- const runId = process.env.TERSE_RUN_ID?.trim();
54
- if (!runId) {
55
- return undefined;
56
- }
57
- const apiKey = process.env.TERSE_API_KEY ?? null;
58
- if (!apiKey) {
59
- console.error(chalk.red(`Error: TERSE_RUN_ID is set but TERSE_API_KEY is missing, so the trigger event for run ${runId} cannot be fetched.`));
60
- process.exit(1);
61
- }
37
+ let parsed;
62
38
  try {
63
- const response = await fetchWithAuth(buildRoute(ApiRoutes.SDK.RUN_TRIGGER_EVENT, { runId }), apiKey);
64
- return sdkRunTriggerEventResponseSchema.parse(response).event;
39
+ parsed = serializedEventSchema.parse(rawEvent);
65
40
  }
66
41
  catch (error) {
67
- console.error(chalk.red(`Error: Could not fetch the trigger event for run ${runId}.`));
42
+ console.error(chalk.red("Error: --event does not match the canonical Trigger schema."));
68
43
  console.error(chalk.dim(error instanceof Error ? error.message : String(error)));
69
44
  process.exit(1);
70
45
  }
46
+ await provider.executeJob(job, parsed, { entryFile });
71
47
  }
72
48
  //# sourceMappingURL=run.js.map
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ import type { SerializedEvent } from "terse-types";
4
4
  * the underlying Trigger payload (`event.data`) is identical — we deliberately
5
5
  * avoid hashing display strings like `formattedContent` because the server
6
6
  * renders relative timestamps that drift between calls.
7
+ *
8
+ * For synthetic cron/webhook events the CLI builds in test.ts, the caller is
9
+ * responsible for ensuring each trigger produces a distinct `data` (e.g. by
10
+ * stamping a `_syntheticTriggerIndex`).
7
11
  */
8
12
  export declare function hashEventKey(event: SerializedEvent): string;
9
13
  //# sourceMappingURL=sampleEventId.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sampleEventId.d.ts","sourceRoot":"","sources":["../src/sampleEventId.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAO3D"}
1
+ {"version":3,"file":"sampleEventId.d.ts","sourceRoot":"","sources":["../src/sampleEventId.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAO3D"}