terse-cli 0.9.19 → 0.9.21

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 (126) hide show
  1. package/README.md +2 -2
  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/actorGenerate.d.ts.map +1 -1
  10. package/dist/commands/actorGenerate.js +22 -86
  11. package/dist/commands/actorGenerate.js.map +1 -1
  12. package/dist/commands/attach.d.ts +0 -7
  13. package/dist/commands/attach.d.ts.map +1 -1
  14. package/dist/commands/attach.js +220 -189
  15. package/dist/commands/attach.js.map +1 -1
  16. package/dist/commands/deploy.d.ts.map +1 -1
  17. package/dist/commands/deploy.js +15 -3
  18. package/dist/commands/deploy.js.map +1 -1
  19. package/dist/commands/generate.d.ts +0 -4
  20. package/dist/commands/generate.d.ts.map +1 -1
  21. package/dist/commands/generate.js +161 -127
  22. package/dist/commands/generate.js.map +1 -1
  23. package/dist/commands/history.d.ts +0 -15
  24. package/dist/commands/history.d.ts.map +1 -1
  25. package/dist/commands/history.js +139 -105
  26. package/dist/commands/history.js.map +1 -1
  27. package/dist/commands/install.d.ts.map +1 -1
  28. package/dist/commands/install.js +6 -4
  29. package/dist/commands/install.js.map +1 -1
  30. package/dist/commands/integrate.d.ts +0 -48
  31. package/dist/commands/integrate.d.ts.map +1 -1
  32. package/dist/commands/integrate.js +897 -699
  33. package/dist/commands/integrate.js.map +1 -1
  34. package/dist/commands/integrateUse.d.ts +0 -12
  35. package/dist/commands/integrateUse.d.ts.map +1 -1
  36. package/dist/commands/integrateUse.js +132 -98
  37. package/dist/commands/integrateUse.js.map +1 -1
  38. package/dist/commands/listen.d.ts +0 -7
  39. package/dist/commands/listen.d.ts.map +1 -1
  40. package/dist/commands/listen.js +98 -81
  41. package/dist/commands/listen.js.map +1 -1
  42. package/dist/commands/memory.d.ts +0 -21
  43. package/dist/commands/memory.d.ts.map +1 -1
  44. package/dist/commands/memory.js +147 -128
  45. package/dist/commands/memory.js.map +1 -1
  46. package/dist/commands/replay.d.ts +0 -2
  47. package/dist/commands/replay.d.ts.map +1 -1
  48. package/dist/commands/replay.js +37 -28
  49. package/dist/commands/replay.js.map +1 -1
  50. package/dist/commands/resume.d.ts +0 -4
  51. package/dist/commands/resume.d.ts.map +1 -1
  52. package/dist/commands/resume.js +34 -28
  53. package/dist/commands/resume.js.map +1 -1
  54. package/dist/commands/run.d.ts +0 -2
  55. package/dist/commands/run.d.ts.map +1 -1
  56. package/dist/commands/run.js +78 -70
  57. package/dist/commands/run.js.map +1 -1
  58. package/dist/commands/state.d.ts +0 -18
  59. package/dist/commands/state.d.ts.map +1 -1
  60. package/dist/commands/state.js +129 -108
  61. package/dist/commands/state.js.map +1 -1
  62. package/dist/commands/test.d.ts +0 -28
  63. package/dist/commands/test.d.ts.map +1 -1
  64. package/dist/commands/test.js +509 -403
  65. package/dist/commands/test.js.map +1 -1
  66. package/dist/commands/toolRun.d.ts +0 -6
  67. package/dist/commands/toolRun.d.ts.map +1 -1
  68. package/dist/commands/toolRun.js +149 -134
  69. package/dist/commands/toolRun.js.map +1 -1
  70. package/dist/index.js +1 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/integrationApi.d.ts +0 -15
  73. package/dist/integrationApi.d.ts.map +1 -1
  74. package/dist/integrationApi.js +75 -49
  75. package/dist/integrationApi.js.map +1 -1
  76. package/dist/loadJob.d.ts +0 -11
  77. package/dist/loadJob.d.ts.map +1 -1
  78. package/dist/loadJob.js +54 -46
  79. package/dist/loadJob.js.map +1 -1
  80. package/dist/providers/LanguageProvider.d.ts +0 -29
  81. package/dist/providers/LanguageProvider.d.ts.map +1 -1
  82. package/dist/providers/LanguageProvider.js +3 -0
  83. package/dist/providers/LanguageProvider.js.map +1 -1
  84. package/dist/providers/typescript/TypeScriptProvider.d.ts +0 -24
  85. package/dist/providers/typescript/TypeScriptProvider.d.ts.map +1 -1
  86. package/dist/providers/typescript/TypeScriptProvider.js +113 -113
  87. package/dist/providers/typescript/TypeScriptProvider.js.map +1 -1
  88. package/dist/providers/typescript/runtimes/JobRuntime.d.ts +0 -26
  89. package/dist/providers/typescript/runtimes/JobRuntime.d.ts.map +1 -1
  90. package/dist/providers/typescript/runtimes/JobRuntime.js +51 -18
  91. package/dist/providers/typescript/runtimes/JobRuntime.js.map +1 -1
  92. package/dist/providers/typescript/runtimes/directJobRuntime.d.ts +0 -2
  93. package/dist/providers/typescript/runtimes/directJobRuntime.d.ts.map +1 -1
  94. package/dist/providers/typescript/runtimes/directJobRuntime.js +60 -49
  95. package/dist/providers/typescript/runtimes/directJobRuntime.js.map +1 -1
  96. package/dist/providers/typescript/runtimes/durableJobRuntime.d.ts +0 -2
  97. package/dist/providers/typescript/runtimes/durableJobRuntime.d.ts.map +1 -1
  98. package/dist/providers/typescript/runtimes/durableJobRuntime.js +168 -146
  99. package/dist/providers/typescript/runtimes/durableJobRuntime.js.map +1 -1
  100. package/dist/providers/typescript/runtimes/index.d.ts +0 -3
  101. package/dist/providers/typescript/runtimes/index.d.ts.map +1 -1
  102. package/dist/providers/typescript/runtimes/index.js +5 -2
  103. package/dist/providers/typescript/runtimes/index.js.map +1 -1
  104. package/dist/providers/typescript/runtimes/session.d.ts +0 -4
  105. package/dist/providers/typescript/runtimes/session.d.ts.map +1 -1
  106. package/dist/providers/typescript/runtimes/session.js +78 -64
  107. package/dist/providers/typescript/runtimes/session.js.map +1 -1
  108. package/dist/providers/typescript/terseWorkflow.d.ts +0 -7
  109. package/dist/providers/typescript/terseWorkflow.d.ts.map +1 -1
  110. package/dist/providers/typescript/terseWorkflow.js +12 -7
  111. package/dist/providers/typescript/terseWorkflow.js.map +1 -1
  112. package/dist/runLocalTestJob.d.ts +0 -19
  113. package/dist/runLocalTestJob.d.ts.map +1 -1
  114. package/dist/runLocalTestJob.js +55 -29
  115. package/dist/runLocalTestJob.js.map +1 -1
  116. package/dist/setup.js +1 -1
  117. package/dist/setup.js.map +1 -1
  118. package/dist/sourceArchive.d.ts +1 -1
  119. package/dist/sourceArchive.d.ts.map +1 -1
  120. package/dist/sourceArchive.js +1 -0
  121. package/dist/sourceArchive.js.map +1 -1
  122. package/package.json +3 -4
  123. package/templates/typescript/init/package.json.hbs +1 -2
  124. package/templates/typescript/terse-transport.d.ts +25 -0
  125. package/templates/typescript/terse-transport.js +117 -0
  126. package/templates/typescript/tsconfig.json +13 -0
@@ -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":""}
@@ -1,8 +1,13 @@
1
- import { __buildJobStateAccessor, createSDKTrigger } from "terse-sdk";
2
- import { runWithJobContext } from "terse-sdk/dist/runIdentity/jobContextStore.js";
3
- export async function shouldRunTerseWorkflow({ job, event, context }) {
4
- const sdkEvent = createSDKTrigger(event);
5
- const state = __buildJobStateAccessor(job.states ?? []);
6
- return runWithJobContext(context, async () => !job.filter || (await job.filter(sdkEvent, state)));
7
- }
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 type { CreateJobParameters, TerseJobContext } from "terse-sdk"
4
+ // import { __buildJobStateAccessor, createSDKTrigger } from "terse-sdk"
5
+ // import { runWithJobContext } from "terse-sdk/dist/runIdentity/jobContextStore.js"
6
+ // import type { SerializedEvent } from "terse-types"
7
+ //
8
+ // export async function shouldRunTerseWorkflow({ job, event, context }: { job: CreateJobParameters; event: SerializedEvent; context: TerseJobContext }): Promise<boolean> {
9
+ // const sdkEvent = createSDKTrigger(event)
10
+ // const state = __buildJobStateAccessor(job.states ?? [])
11
+ // return runWithJobContext(context, async () => !job.filter || (await job.filter(sdkEvent, state)))
12
+ // }
8
13
  //# sourceMappingURL=terseWorkflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terseWorkflow.js","sourceRoot":"","sources":["../../../src/providers/typescript/terseWorkflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AAGjF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAkF;IAChJ,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IACvD,OAAO,iBAAiB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;AACrG,CAAC"}
1
+ {"version":3,"file":"terseWorkflow.js","sourceRoot":"","sources":["../../../src/providers/typescript/terseWorkflow.ts"],"names":[],"mappings":";AAAA,uHAAuH;AACvH,wEAAwE;AACxE,wEAAwE;AACxE,oFAAoF;AACpF,qDAAqD;AACrD,EAAE;AACF,4KAA4K;AAC5K,+CAA+C;AAC/C,8DAA8D;AAC9D,wGAAwG;AACxG,IAAI"}
@@ -1,20 +1 @@
1
- import type { CreateJobParameters, SessionStreamEvent } from "terse-sdk";
2
- import type { SerializedEvent } from "terse-types";
3
- import type { LanguageProvider } from "./providers/LanguageProvider.js";
4
- export declare function runLocalTestJob(provider: LanguageProvider, job: CreateJobParameters, event: SerializedEvent, opts: {
5
- projectId: string;
6
- apiKey: string;
7
- forceLocal?: boolean;
8
- isTest?: boolean;
9
- replayOfRunId?: string;
10
- freshState?: boolean;
11
- verbose?: boolean;
12
- entryFile?: string;
13
- pauseUiAround?: <T>(fn: () => Promise<T>) => Promise<T>;
14
- onSessionEvent?: (event: SessionStreamEvent) => void;
15
- }): Promise<{
16
- runId: string;
17
- local: boolean;
18
- }>;
19
- export declare function remoteDispatchNotice(runId: string): string;
20
1
  //# sourceMappingURL=runLocalTestJob.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runLocalTestJob.d.ts","sourceRoot":"","sources":["../src/runLocalTestJob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAEvE,wBAAsB,eAAe,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,EAAE,mBAAmB,EACxB,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE;IACF,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACvD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAA;CACvD,GACF,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAyB5C;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D"}
1
+ {"version":3,"file":"runLocalTestJob.d.ts","sourceRoot":"","sources":["../src/runLocalTestJob.ts"],"names":[],"mappings":""}
@@ -1,30 +1,56 @@
1
- import { finalizeTestRun, startTestRun } from "./api.js";
2
- import { ensureLocalActors } from "./localActors.js";
3
- export async function runLocalTestJob(provider, job, event, opts) {
4
- const { runId, local } = await startTestRun({ projectId: opts.projectId, jobName: job.name, event, forceLocal: opts.forceLocal, isTest: opts.isTest, replayOfRunId: opts.replayOfRunId, freshState: opts.freshState }, opts.apiKey);
5
- if (!local)
6
- return { runId, local };
7
- let failure = null;
8
- try {
9
- await ensureLocalActors();
10
- await provider.executeJob(job, runId, event, {
11
- verbose: opts.verbose,
12
- entryFile: opts.entryFile,
13
- projectId: opts.projectId,
14
- onSessionEvent: opts.onSessionEvent,
15
- pauseUiAround: opts.pauseUiAround
16
- });
17
- }
18
- catch (error) {
19
- failure = error instanceof Error ? error : new Error(String(error));
20
- throw error;
21
- }
22
- finally {
23
- await finalizeTestRun(runId, failure ? "failed" : "success", opts.apiKey, failure?.message);
24
- }
25
- return { runId, local };
26
- }
27
- export function remoteDispatchNotice(runId) {
28
- return `Dispatched test event to your self-hosted data plane (run ${runId}). Watch it in the dashboard.`;
29
- }
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 type { CreateJobParameters, SessionStreamEvent } from "terse-sdk"
4
+ // import type { SerializedEvent } from "terse-types"
5
+ //
6
+ // import { finalizeTestRun, startTestRun } from "./api.js"
7
+ // import { ensureLocalActors } from "./localActors.js"
8
+ // import type { LanguageProvider } from "./providers/LanguageProvider.js"
9
+ //
10
+ // export async function runLocalTestJob(
11
+ // provider: LanguageProvider,
12
+ // job: CreateJobParameters,
13
+ // event: SerializedEvent,
14
+ // opts: {
15
+ // projectId: string
16
+ // apiKey: string
17
+ // forceLocal?: boolean
18
+ // isTest?: boolean
19
+ // replayOfRunId?: string
20
+ // freshState?: boolean
21
+ // verbose?: boolean
22
+ // entryFile?: string
23
+ // pauseUiAround?: <T>(fn: () => Promise<T>) => Promise<T>
24
+ // onSessionEvent?: (event: SessionStreamEvent) => void
25
+ // }
26
+ // ): Promise<{ runId: string; local: boolean }> {
27
+ // const { runId, local } = await startTestRun(
28
+ // { projectId: opts.projectId, jobName: job.name, event, forceLocal: opts.forceLocal, isTest: opts.isTest, replayOfRunId: opts.replayOfRunId, freshState: opts.freshState },
29
+ // opts.apiKey
30
+ // )
31
+ //
32
+ // if (!local) return { runId, local }
33
+ //
34
+ // let failure: Error | null = null
35
+ // try {
36
+ // await ensureLocalActors()
37
+ // await provider.executeJob(job, runId, event, {
38
+ // verbose: opts.verbose,
39
+ // entryFile: opts.entryFile,
40
+ // projectId: opts.projectId,
41
+ // onSessionEvent: opts.onSessionEvent,
42
+ // pauseUiAround: opts.pauseUiAround
43
+ // })
44
+ // } catch (error) {
45
+ // failure = error instanceof Error ? error : new Error(String(error))
46
+ // throw error
47
+ // } finally {
48
+ // await finalizeTestRun(runId, failure ? "failed" : "success", opts.apiKey, failure?.message)
49
+ // }
50
+ // return { runId, local }
51
+ // }
52
+ //
53
+ // export function remoteDispatchNotice(runId: string): string {
54
+ // return `Dispatched test event to your self-hosted data plane (run ${runId}). Watch it in the dashboard.`
55
+ // }
30
56
  //# sourceMappingURL=runLocalTestJob.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runLocalTestJob.js","sourceRoot":"","sources":["../src/runLocalTestJob.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGpD,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,QAA0B,EAC1B,GAAwB,EACxB,KAAsB,EACtB,IAWC;IAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,YAAY,CACvC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EACzK,IAAI,CAAC,MAAM,CACd,CAAA;IAED,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAEnC,IAAI,OAAO,GAAiB,IAAI,CAAA;IAChC,IAAI,CAAC;QACD,MAAM,iBAAiB,EAAE,CAAA;QACzB,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;YACzC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,aAAa,EAAE,IAAI,CAAC,aAAa;SACpC,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACnE,MAAM,KAAK,CAAA;IACf,CAAC;YAAS,CAAC;QACP,MAAM,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC/F,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAC9C,OAAO,6DAA6D,KAAK,+BAA+B,CAAA;AAC5G,CAAC"}
1
+ {"version":3,"file":"runLocalTestJob.js","sourceRoot":"","sources":["../src/runLocalTestJob.ts"],"names":[],"mappings":";AAAA,uHAAuH;AACvH,2EAA2E;AAC3E,qDAAqD;AACrD,EAAE;AACF,2DAA2D;AAC3D,uDAAuD;AACvD,0EAA0E;AAC1E,EAAE;AACF,yCAAyC;AACzC,kCAAkC;AAClC,gCAAgC;AAChC,8BAA8B;AAC9B,cAAc;AACd,4BAA4B;AAC5B,yBAAyB;AACzB,+BAA+B;AAC/B,2BAA2B;AAC3B,iCAAiC;AACjC,+BAA+B;AAC/B,4BAA4B;AAC5B,6BAA6B;AAC7B,kEAAkE;AAClE,+DAA+D;AAC/D,QAAQ;AACR,kDAAkD;AAClD,mDAAmD;AACnD,qLAAqL;AACrL,sBAAsB;AACtB,QAAQ;AACR,EAAE;AACF,0CAA0C;AAC1C,EAAE;AACF,uCAAuC;AACvC,YAAY;AACZ,oCAAoC;AACpC,yDAAyD;AACzD,qCAAqC;AACrC,yCAAyC;AACzC,yCAAyC;AACzC,mDAAmD;AACnD,gDAAgD;AAChD,aAAa;AACb,wBAAwB;AACxB,8EAA8E;AAC9E,sBAAsB;AACtB,kBAAkB;AAClB,sGAAsG;AACtG,QAAQ;AACR,8BAA8B;AAC9B,IAAI;AACJ,EAAE;AACF,gEAAgE;AAChE,+GAA+G;AAC/G,IAAI"}
package/dist/setup.js CHANGED
@@ -63,7 +63,7 @@ export const installationSetup = new InstallationSetup(new LocalSetupTools(new H
63
63
  return Boolean(process.stdin.isTTY && process.stdout.isTTY);
64
64
  },
65
65
  async confirm(message) {
66
- const answer = await confirm({ message, initialValue: false });
66
+ const answer = await confirm({ message, initialValue: true });
67
67
  return !isCancel(answer) && answer;
68
68
  }
69
69
  });
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ interface Exclusions {
3
3
  files: ReadonlySet<string>;
4
4
  }
5
5
  export declare function buildSourceArchive(project: string, exclusions: Exclusions): {
6
- zipBytes: Uint8Array;
6
+ zipBytes: Uint8Array<ArrayBuffer>;
7
7
  fileCount: number;
8
8
  zipSizeBytes: number;
9
9
  sha256: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sourceArchive.d.ts","sourceRoot":"","sources":["../src/sourceArchive.ts"],"names":[],"mappings":"AAOA,UAAU,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACzB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC7B;AAID,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAM7J"}
1
+ {"version":3,"file":"sourceArchive.d.ts","sourceRoot":"","sources":["../src/sourceArchive.ts"],"names":[],"mappings":"AAOA,UAAU,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACzB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC7B;AAID,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAO1K"}
@@ -9,6 +9,7 @@ export function buildSourceArchive(project, exclusions) {
9
9
  const fileCount = Object.keys(files).length;
10
10
  if (fileCount === 0)
11
11
  throw new CliError("no_files_to_deploy", "No files found to deploy");
12
+ // fflate allocates a plain ArrayBuffer; fetch bodies require that narrower type.
12
13
  const zipBytes = zipSync(files, { level: 6, mtime: new Date(1980, 0, 1) });
13
14
  return { zipBytes, fileCount, zipSizeBytes: zipBytes.length, sha256: createHash("sha256").update(zipBytes).digest("hex") };
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sourceArchive.js","sourceRoot":"","sources":["../src/sourceArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAOxC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAA;AAElH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,UAAsB;IACtE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;IAC3C,IAAI,SAAS,KAAK,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAA;IACzF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AAC9H,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,OAAe,EAAE,UAAsB;IAC5E,MAAM,KAAK,GAA+B,EAAE,CAAA;IAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACnE,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtI,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAQ;QACtH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;aACnF,IAAI,KAAK,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IACtI,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"sourceArchive.js","sourceRoot":"","sources":["../src/sourceArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAOxC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAA;AAElH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,UAAsB;IACtE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;IAC3C,IAAI,SAAS,KAAK,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAA;IACzF,iFAAiF;IACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAA4B,CAAA;IACrG,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AAC9H,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,OAAe,EAAE,UAAsB;IAC5E,MAAM,KAAK,GAA+B,EAAE,CAAA;IAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACnE,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtI,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAQ;QACtH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;aACnF,IAAI,KAAK,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IACtI,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "terse-cli",
3
- "version": "0.9.19",
3
+ "version": "0.9.21",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "repository": {
@@ -33,15 +33,14 @@
33
33
  "handlebars": "^4.7.9",
34
34
  "import-meta-resolve": "^4.2.0",
35
35
  "json-schema-to-typescript": "^15.0.4",
36
- "little-durable": "0.1.3",
37
36
  "luxon": "^3.7.2",
38
37
  "ora": "^8.0.0",
39
38
  "smol-toml": "^1.6.1",
40
39
  "tsx": "^4.0.0",
41
40
  "typescript": "^5.0.0",
42
41
  "zod": "^4.3.6",
43
- "terse-sdk": "0.9.19",
44
- "terse-types": "0.9.19"
42
+ "terse-sdk": "0.9.21",
43
+ "terse-types": "0.9.21"
45
44
  },
46
45
  "devDependencies": {
47
46
  "@types/luxon": "^3.7.1",
@@ -7,8 +7,7 @@
7
7
  "dev": "tsc --watch"
8
8
  },
9
9
  "dependencies": {
10
- "terse-sdk": "{{sdkVersion}}",
11
- "zod": "^4.3.6"
10
+ "terse-sdk": "{{sdkVersion}}"
12
11
  },
13
12
  "devDependencies": {
14
13
  "typescript": "^5.0.0"
@@ -0,0 +1,25 @@
1
+ // Generated by terse actor generate; regenerate instead of editing.
2
+ import type { ProxyActor, SocketAuthorization, SocketGrant } from "./runtime/proxy.js"
3
+ import type { ActorRpcMethod, ActorRpcTransport } from "./runtime/stub.js"
4
+
5
+ export * from "./runtime/index.js"
6
+
7
+ /** Connection settings come from TERSE_ACTOR_URL and TERSE_API_KEY. */
8
+ export interface SocketProxyOptions {
9
+ /** Grant-request timeout, 1000–600000 ms. Overrides TERSE_ACTOR_SETUP_TIMEOUT_MS. */
10
+ readonly setupTimeoutMs?: number
11
+ }
12
+
13
+ export interface SocketProxyDependencies {
14
+ readonly fetch?: typeof globalThis.fetch
15
+ }
16
+
17
+ /** Use TERSE_ACTOR_URL and TERSE_API_KEY, with local development defaults. */
18
+ export declare function createActorStub<Stub extends object>(actorName: string, actorId: string, methods: readonly ActorRpcMethod[], transport?: ActorRpcTransport): Stub
19
+
20
+ /** Issue browser WebSocket grants through the selected Terse project. */
21
+ export declare class SocketProxy<Actors extends Record<string, ProxyActor>> {
22
+ #private
23
+ constructor(actors: Actors, options?: SocketProxyOptions, dependencies?: SocketProxyDependencies)
24
+ handle(authorization: SocketAuthorization<Actors>): Promise<SocketGrant>
25
+ }