terse-cli 0.9.20 → 0.9.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +1 -1
  2. package/dist/cliUi.d.ts +3 -1
  3. package/dist/cliUi.d.ts.map +1 -1
  4. package/dist/cliUi.js +3 -2
  5. package/dist/cliUi.js.map +1 -1
  6. package/dist/commands/actor.d.ts.map +1 -1
  7. package/dist/commands/actor.js +32 -5
  8. package/dist/commands/actor.js.map +1 -1
  9. package/dist/commands/attach.d.ts +0 -7
  10. package/dist/commands/attach.d.ts.map +1 -1
  11. package/dist/commands/attach.js +220 -189
  12. package/dist/commands/attach.js.map +1 -1
  13. package/dist/commands/deploy.d.ts.map +1 -1
  14. package/dist/commands/deploy.js +15 -3
  15. package/dist/commands/deploy.js.map +1 -1
  16. package/dist/commands/generate.d.ts +0 -4
  17. package/dist/commands/generate.d.ts.map +1 -1
  18. package/dist/commands/generate.js +161 -127
  19. package/dist/commands/generate.js.map +1 -1
  20. package/dist/commands/history.d.ts +0 -15
  21. package/dist/commands/history.d.ts.map +1 -1
  22. package/dist/commands/history.js +139 -105
  23. package/dist/commands/history.js.map +1 -1
  24. package/dist/commands/init.d.ts +1 -0
  25. package/dist/commands/init.d.ts.map +1 -1
  26. package/dist/commands/init.js +86 -28
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/commands/install.d.ts.map +1 -1
  29. package/dist/commands/install.js +6 -4
  30. package/dist/commands/install.js.map +1 -1
  31. package/dist/commands/integrate.d.ts +0 -48
  32. package/dist/commands/integrate.d.ts.map +1 -1
  33. package/dist/commands/integrate.js +897 -699
  34. package/dist/commands/integrate.js.map +1 -1
  35. package/dist/commands/integrateUse.d.ts +0 -12
  36. package/dist/commands/integrateUse.d.ts.map +1 -1
  37. package/dist/commands/integrateUse.js +132 -98
  38. package/dist/commands/integrateUse.js.map +1 -1
  39. package/dist/commands/listen.d.ts +0 -7
  40. package/dist/commands/listen.d.ts.map +1 -1
  41. package/dist/commands/listen.js +98 -81
  42. package/dist/commands/listen.js.map +1 -1
  43. package/dist/commands/memory.d.ts +0 -21
  44. package/dist/commands/memory.d.ts.map +1 -1
  45. package/dist/commands/memory.js +147 -128
  46. package/dist/commands/memory.js.map +1 -1
  47. package/dist/commands/replay.d.ts +0 -2
  48. package/dist/commands/replay.d.ts.map +1 -1
  49. package/dist/commands/replay.js +37 -28
  50. package/dist/commands/replay.js.map +1 -1
  51. package/dist/commands/resume.d.ts +0 -4
  52. package/dist/commands/resume.d.ts.map +1 -1
  53. package/dist/commands/resume.js +34 -28
  54. package/dist/commands/resume.js.map +1 -1
  55. package/dist/commands/run.d.ts +0 -2
  56. package/dist/commands/run.d.ts.map +1 -1
  57. package/dist/commands/run.js +78 -70
  58. package/dist/commands/run.js.map +1 -1
  59. package/dist/commands/state.d.ts +0 -18
  60. package/dist/commands/state.d.ts.map +1 -1
  61. package/dist/commands/state.js +129 -108
  62. package/dist/commands/state.js.map +1 -1
  63. package/dist/commands/test.d.ts +0 -28
  64. package/dist/commands/test.d.ts.map +1 -1
  65. package/dist/commands/test.js +509 -403
  66. package/dist/commands/test.js.map +1 -1
  67. package/dist/commands/toolRun.d.ts +0 -6
  68. package/dist/commands/toolRun.d.ts.map +1 -1
  69. package/dist/commands/toolRun.js +149 -134
  70. package/dist/commands/toolRun.js.map +1 -1
  71. package/dist/index.js +2 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/integrationApi.d.ts +0 -15
  74. package/dist/integrationApi.d.ts.map +1 -1
  75. package/dist/integrationApi.js +75 -49
  76. package/dist/integrationApi.js.map +1 -1
  77. package/dist/loadJob.d.ts +0 -11
  78. package/dist/loadJob.d.ts.map +1 -1
  79. package/dist/loadJob.js +54 -46
  80. package/dist/loadJob.js.map +1 -1
  81. package/dist/providers/LanguageProvider.d.ts +0 -29
  82. package/dist/providers/LanguageProvider.d.ts.map +1 -1
  83. package/dist/providers/LanguageProvider.js +3 -0
  84. package/dist/providers/LanguageProvider.js.map +1 -1
  85. package/dist/providers/typescript/TypeScriptProvider.d.ts +0 -24
  86. package/dist/providers/typescript/TypeScriptProvider.d.ts.map +1 -1
  87. package/dist/providers/typescript/TypeScriptProvider.js +115 -121
  88. package/dist/providers/typescript/TypeScriptProvider.js.map +1 -1
  89. package/dist/providers/typescript/runtimes/JobRuntime.d.ts +0 -26
  90. package/dist/providers/typescript/runtimes/JobRuntime.d.ts.map +1 -1
  91. package/dist/providers/typescript/runtimes/JobRuntime.js +51 -18
  92. package/dist/providers/typescript/runtimes/JobRuntime.js.map +1 -1
  93. package/dist/providers/typescript/runtimes/directJobRuntime.d.ts +0 -2
  94. package/dist/providers/typescript/runtimes/directJobRuntime.d.ts.map +1 -1
  95. package/dist/providers/typescript/runtimes/directJobRuntime.js +60 -49
  96. package/dist/providers/typescript/runtimes/directJobRuntime.js.map +1 -1
  97. package/dist/providers/typescript/runtimes/durableJobRuntime.d.ts +0 -2
  98. package/dist/providers/typescript/runtimes/durableJobRuntime.d.ts.map +1 -1
  99. package/dist/providers/typescript/runtimes/durableJobRuntime.js +168 -146
  100. package/dist/providers/typescript/runtimes/durableJobRuntime.js.map +1 -1
  101. package/dist/providers/typescript/runtimes/index.d.ts +0 -3
  102. package/dist/providers/typescript/runtimes/index.d.ts.map +1 -1
  103. package/dist/providers/typescript/runtimes/index.js +5 -2
  104. package/dist/providers/typescript/runtimes/index.js.map +1 -1
  105. package/dist/providers/typescript/runtimes/session.d.ts +0 -4
  106. package/dist/providers/typescript/runtimes/session.d.ts.map +1 -1
  107. package/dist/providers/typescript/runtimes/session.js +78 -64
  108. package/dist/providers/typescript/runtimes/session.js.map +1 -1
  109. package/dist/providers/typescript/terseWorkflow.d.ts +0 -7
  110. package/dist/providers/typescript/terseWorkflow.d.ts.map +1 -1
  111. package/dist/providers/typescript/terseWorkflow.js +12 -7
  112. package/dist/providers/typescript/terseWorkflow.js.map +1 -1
  113. package/dist/runLocalTestJob.d.ts +0 -19
  114. package/dist/runLocalTestJob.d.ts.map +1 -1
  115. package/dist/runLocalTestJob.js +55 -29
  116. package/dist/runLocalTestJob.js.map +1 -1
  117. package/dist/setup.js +1 -1
  118. package/dist/setup.js.map +1 -1
  119. package/dist/sourceArchive.d.ts +1 -1
  120. package/dist/sourceArchive.d.ts.map +1 -1
  121. package/dist/sourceArchive.js +1 -0
  122. package/dist/sourceArchive.js.map +1 -1
  123. package/dist/templates.d.ts +6 -0
  124. package/dist/templates.d.ts.map +1 -0
  125. package/dist/templates.js +78 -0
  126. package/dist/templates.js.map +1 -0
  127. package/package.json +3 -4
  128. package/templates/typescript/init/package.json.hbs +1 -2
@@ -1,106 +1,140 @@
1
- import chalk from "chalk";
2
- import ora from "ora";
3
- import { RunHistoryStatus } from "terse-types";
4
- import { fetchRunChatHistory, fetchRunHistory, readApiKeyOrBail, resolveAgentIdByJobName, resolveEventFromRunId } from "../api.js";
5
- import { CliError } from "../cliError.js";
6
- import { loadJob } from "../loadJob.js";
7
- import { resolveProvider } from "../providers/resolveProvider.js";
8
- import { printRunChat, printRuns } from "./historyPrinters.js";
9
- const VALID_STATUSES = new Set(Object.values(RunHistoryStatus));
10
- const MAX_PAGE_SIZE = 100;
11
- export async function history(jobName, options = {}, provider = resolveProvider()) {
12
- const apiKey = readApiKeyOrBail();
13
- // Single-run mode bypasses job/agent resolution.
14
- if (options.runId) {
15
- const chat = await fetchRunChatHistory(options.runId, apiKey);
16
- if (options.json) {
17
- process.stdout.write(JSON.stringify({ runId: options.runId, ...chat }, null, 2) + "\n");
18
- return;
19
- }
20
- printRunChat(options.runId, chat);
21
- return;
22
- }
23
- const { job } = await loadJob(provider, jobName);
24
- const spinner = options.json ? null : ora(`Fetching run history for ${job.name}`).start();
25
- let agentId;
26
- try {
27
- agentId = await resolveAgentIdByJobName(job.name, apiKey);
28
- }
29
- catch (error) {
30
- spinner?.fail(chalk.red("Failed to look up job"));
31
- throw error;
32
- }
33
- if (!agentId) {
34
- spinner?.fail(chalk.red(`Job "${job.name}" is not deployed`));
35
- throw new CliError("no_deployed_agent", `Job "${job.name}" is not deployed`, {
36
- detail: "Have you run `terse deploy` for this job?"
37
- });
38
- }
39
- const params = buildParams(options);
40
- const response = await fetchRunHistory(agentId, apiKey, params);
41
- let items = response.items;
42
- // --triggers: cheap per-run fetch of just the input event JSON via /sdk/runs/:runId/trigger-event.
43
- // Implied by --events (which fetches the full chat history including the trigger payload).
44
- if (options.triggers && !options.events && items.length > 0) {
45
- if (spinner)
46
- spinner.text = `Fetching trigger events for ${items.length} run${items.length === 1 ? "" : "s"}`;
47
- items = await Promise.all(items.map(async (run) => {
48
- const triggerEvent = await resolveEventFromRunId(run.id, apiKey);
49
- return triggerEvent ? { ...run, triggerEvent: triggerEvent.event } : run;
50
- }));
51
- }
52
- // --events: full chat history per run (model events + trigger event). Heavier than --triggers.
53
- if (options.events && items.length > 0) {
54
- if (spinner)
55
- spinner.text = `Fetching chat events for ${items.length} run${items.length === 1 ? "" : "s"}`;
56
- items = await Promise.all(items.map(async (run) => {
57
- try {
58
- const chat = await fetchRunChatHistory(run.id, apiKey);
59
- return { ...run, chat };
60
- }
61
- catch {
62
- return run;
63
- }
64
- }));
65
- }
66
- spinner?.succeed(`Fetched ${items.length} of ${response.total} run${response.total === 1 ? "" : "s"} for ${job.name}`);
67
- if (options.json) {
68
- const payload = {
69
- jobName: job.name,
70
- agentId,
71
- page: response.page,
72
- pageSize: response.pageSize,
73
- total: response.total,
74
- items
75
- };
76
- process.stdout.write(JSON.stringify(payload, null, 2) + "\n");
77
- return;
78
- }
79
- printRuns(job.name, agentId, items, response.total);
80
- }
81
- function buildParams(options) {
82
- const params = {};
83
- if (options.query)
84
- params.q = options.query;
85
- if (options.since)
86
- params.start = options.since;
87
- if (options.until)
88
- params.end = options.until;
89
- if (options.page && options.page > 0)
90
- params.page = options.page;
91
- if (options.includeTest)
92
- params.includeTest = true;
93
- if (options.limit && options.limit > 0) {
94
- params.pageSize = Math.min(options.limit, MAX_PAGE_SIZE);
95
- }
96
- if (options.status) {
97
- const statuses = options.status
98
- .split(",")
99
- .map(s => s.trim())
100
- .filter((s) => VALID_STATUSES.has(s));
101
- if (statuses.length > 0)
102
- params.status = statuses;
103
- }
104
- return params;
105
- }
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 ora from "ora"
5
+ // import { RunHistoryStatus } from "terse-types"
6
+ // import type { GetRunHistoryParams, RunHistoryStatus as RunHistoryStatusType } from "terse-types"
7
+ //
8
+ // import { fetchRunChatHistory, fetchRunHistory, readApiKeyOrBail, resolveAgentIdByJobName, resolveEventFromRunId } from "../api.js"
9
+ // import { CliError } from "../cliError.js"
10
+ // import { loadJob } from "../loadJob.js"
11
+ // import { LanguageProvider } from "../providers/LanguageProvider.js"
12
+ // import { resolveProvider } from "../providers/resolveProvider.js"
13
+ //
14
+ // import { type RunWithEvents, printRunChat, printRuns } from "./historyPrinters.js"
15
+ //
16
+ // const VALID_STATUSES = new Set<RunHistoryStatusType>(Object.values(RunHistoryStatus) as RunHistoryStatusType[])
17
+ // const MAX_PAGE_SIZE = 100
18
+ //
19
+ // export async function history(jobName?: string, options: HistoryOptions = {}, provider: LanguageProvider = resolveProvider()): Promise<void> {
20
+ // const apiKey = readApiKeyOrBail()
21
+ //
22
+ // // Single-run mode bypasses job/agent resolution.
23
+ // if (options.runId) {
24
+ // const chat = await fetchRunChatHistory(options.runId, apiKey)
25
+ // if (options.json) {
26
+ // process.stdout.write(JSON.stringify({ runId: options.runId, ...chat }, null, 2) + "\n")
27
+ // return
28
+ // }
29
+ // printRunChat(options.runId, chat)
30
+ // return
31
+ // }
32
+ //
33
+ // const { job } = await loadJob(provider, jobName)
34
+ //
35
+ // const spinner = options.json ? null : ora(`Fetching run history for ${job.name}`).start()
36
+ // let agentId: string | null
37
+ // try {
38
+ // agentId = await resolveAgentIdByJobName(job.name, apiKey)
39
+ // } catch (error) {
40
+ // spinner?.fail(chalk.red("Failed to look up job"))
41
+ // throw error
42
+ // }
43
+ //
44
+ // if (!agentId) {
45
+ // spinner?.fail(chalk.red(`Job "${job.name}" is not deployed`))
46
+ // throw new CliError("no_deployed_agent", `Job "${job.name}" is not deployed`, {
47
+ // detail: "Have you run `terse deploy` for this job?"
48
+ // })
49
+ // }
50
+ //
51
+ // const params = buildParams(options)
52
+ //
53
+ // const response = await fetchRunHistory(agentId, apiKey, params)
54
+ // let items: RunWithEvents[] = response.items
55
+ //
56
+ // // --triggers: cheap per-run fetch of just the input event JSON via /sdk/runs/:runId/trigger-event.
57
+ // // Implied by --events (which fetches the full chat history including the trigger payload).
58
+ // if (options.triggers && !options.events && items.length > 0) {
59
+ // if (spinner) spinner.text = `Fetching trigger events for ${items.length} run${items.length === 1 ? "" : "s"}`
60
+ // items = await Promise.all(
61
+ // items.map(async run => {
62
+ // const triggerEvent = await resolveEventFromRunId(run.id, apiKey)
63
+ // return triggerEvent ? { ...run, triggerEvent: triggerEvent.event } : run
64
+ // })
65
+ // )
66
+ // }
67
+ //
68
+ // // --events: full chat history per run (model events + trigger event). Heavier than --triggers.
69
+ // if (options.events && items.length > 0) {
70
+ // if (spinner) spinner.text = `Fetching chat events for ${items.length} run${items.length === 1 ? "" : "s"}`
71
+ // items = await Promise.all(
72
+ // items.map(async run => {
73
+ // try {
74
+ // const chat = await fetchRunChatHistory(run.id, apiKey)
75
+ // return { ...run, chat }
76
+ // } catch {
77
+ // return run
78
+ // }
79
+ // })
80
+ // )
81
+ // }
82
+ //
83
+ // spinner?.succeed(`Fetched ${items.length} of ${response.total} run${response.total === 1 ? "" : "s"} for ${job.name}`)
84
+ //
85
+ // if (options.json) {
86
+ // const payload = {
87
+ // jobName: job.name,
88
+ // agentId,
89
+ // page: response.page,
90
+ // pageSize: response.pageSize,
91
+ // total: response.total,
92
+ // items
93
+ // }
94
+ // process.stdout.write(JSON.stringify(payload, null, 2) + "\n")
95
+ // return
96
+ // }
97
+ //
98
+ // printRuns(job.name, agentId, items, response.total)
99
+ // }
100
+ //
101
+ // function buildParams(options: HistoryOptions): GetRunHistoryParams {
102
+ // const params: GetRunHistoryParams = {}
103
+ //
104
+ // if (options.query) params.q = options.query
105
+ // if (options.since) params.start = options.since
106
+ // if (options.until) params.end = options.until
107
+ // if (options.page && options.page > 0) params.page = options.page
108
+ // if (options.includeTest) params.includeTest = true
109
+ //
110
+ // if (options.limit && options.limit > 0) {
111
+ // params.pageSize = Math.min(options.limit, MAX_PAGE_SIZE)
112
+ // }
113
+ //
114
+ // if (options.status) {
115
+ // const statuses = options.status
116
+ // .split(",")
117
+ // .map(s => s.trim())
118
+ // .filter((s): s is RunHistoryStatusType => VALID_STATUSES.has(s as RunHistoryStatusType))
119
+ // if (statuses.length > 0) params.status = statuses
120
+ // }
121
+ //
122
+ // return params
123
+ // }
124
+ //
125
+ // // Types
126
+ //
127
+ // export type HistoryOptions = {
128
+ // json?: boolean
129
+ // limit?: number
130
+ // page?: number
131
+ // status?: string
132
+ // since?: string
133
+ // until?: string
134
+ // query?: string
135
+ // triggers?: boolean
136
+ // events?: boolean
137
+ // runId?: string
138
+ // includeTest?: boolean
139
+ // }
106
140
  //# sourceMappingURL=history.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":";AAAA,uHAAuH;AACvH,4BAA4B;AAC5B,wBAAwB;AACxB,iDAAiD;AACjD,mGAAmG;AACnG,EAAE;AACF,qIAAqI;AACrI,4CAA4C;AAC5C,0CAA0C;AAC1C,sEAAsE;AACtE,oEAAoE;AACpE,EAAE;AACF,qFAAqF;AACrF,EAAE;AACF,kHAAkH;AAClH,4BAA4B;AAC5B,EAAE;AACF,iJAAiJ;AACjJ,wCAAwC;AACxC,EAAE;AACF,wDAAwD;AACxD,2BAA2B;AAC3B,wEAAwE;AACxE,8BAA8B;AAC9B,sGAAsG;AACtG,qBAAqB;AACrB,YAAY;AACZ,4CAA4C;AAC5C,iBAAiB;AACjB,QAAQ;AACR,EAAE;AACF,uDAAuD;AACvD,EAAE;AACF,gGAAgG;AAChG,iCAAiC;AACjC,YAAY;AACZ,oEAAoE;AACpE,wBAAwB;AACxB,4DAA4D;AAC5D,sBAAsB;AACtB,QAAQ;AACR,EAAE;AACF,sBAAsB;AACtB,wEAAwE;AACxE,yFAAyF;AACzF,kEAAkE;AAClE,aAAa;AACb,QAAQ;AACR,EAAE;AACF,0CAA0C;AAC1C,EAAE;AACF,sEAAsE;AACtE,kDAAkD;AAClD,EAAE;AACF,0GAA0G;AAC1G,kGAAkG;AAClG,qEAAqE;AACrE,wHAAwH;AACxH,qCAAqC;AACrC,uCAAuC;AACvC,mFAAmF;AACnF,2FAA2F;AAC3F,iBAAiB;AACjB,YAAY;AACZ,QAAQ;AACR,EAAE;AACF,sGAAsG;AACtG,gDAAgD;AAChD,qHAAqH;AACrH,qCAAqC;AACrC,uCAAuC;AACvC,wBAAwB;AACxB,6EAA6E;AAC7E,8CAA8C;AAC9C,4BAA4B;AAC5B,iCAAiC;AACjC,oBAAoB;AACpB,iBAAiB;AACjB,YAAY;AACZ,QAAQ;AACR,EAAE;AACF,6HAA6H;AAC7H,EAAE;AACF,0BAA0B;AAC1B,4BAA4B;AAC5B,iCAAiC;AACjC,uBAAuB;AACvB,mCAAmC;AACnC,2CAA2C;AAC3C,qCAAqC;AACrC,oBAAoB;AACpB,YAAY;AACZ,wEAAwE;AACxE,iBAAiB;AACjB,QAAQ;AACR,EAAE;AACF,0DAA0D;AAC1D,IAAI;AACJ,EAAE;AACF,uEAAuE;AACvE,6CAA6C;AAC7C,EAAE;AACF,kDAAkD;AAClD,sDAAsD;AACtD,oDAAoD;AACpD,uEAAuE;AACvE,yDAAyD;AACzD,EAAE;AACF,gDAAgD;AAChD,mEAAmE;AACnE,QAAQ;AACR,EAAE;AACF,4BAA4B;AAC5B,0CAA0C;AAC1C,0BAA0B;AAC1B,kCAAkC;AAClC,uGAAuG;AACvG,4DAA4D;AAC5D,QAAQ;AACR,EAAE;AACF,oBAAoB;AACpB,IAAI;AACJ,EAAE;AACF,WAAW;AACX,EAAE;AACF,iCAAiC;AACjC,qBAAqB;AACrB,qBAAqB;AACrB,oBAAoB;AACpB,sBAAsB;AACtB,qBAAqB;AACrB,qBAAqB;AACrB,qBAAqB;AACrB,yBAAyB;AACzB,uBAAuB;AACvB,qBAAqB;AACrB,4BAA4B;AAC5B,IAAI"}
@@ -2,5 +2,6 @@ import type { LanguageProvider } from "../providers/LanguageProvider.js";
2
2
  import { type SetupOptions } from "../setup.js";
3
3
  export declare function init(projectName?: string, provider?: LanguageProvider, opts?: SetupOptions & {
4
4
  language?: "typescript" | "python";
5
+ template?: string;
5
6
  }): Promise<void>;
6
7
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAKxE,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,aAAa,CAAA;AAIlE,wBAAsB,IAAI,CACtB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,GAAE,gBAAuE,EACjF,IAAI,CAAC,EAAE,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAA;CAAE,GAC7D,OAAO,CAAC,IAAI,CAAC,CAqGf"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAMxE,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,aAAa,CAAA;AAKlE,wBAAsB,IAAI,CACtB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,GAAE,gBAAuE,EACjF,IAAI,CAAC,EAAE,YAAY,GAAG;IAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAChF,OAAO,CAAC,IAAI,CAAC,CA0Jf"}
@@ -9,11 +9,17 @@ import { PROJECT_CONFIG_FILENAME, createRemoteProject, writeProjectConfig } from
9
9
  import { fetchSdkVersion } from "../providers/fetchSdkVersion.js";
10
10
  import { resolveProvider } from "../providers/resolveProvider.js";
11
11
  import { renderTemplate } from "../providers/templateUtils.js";
12
+ import { ACTOR_ENTRY_FILE, resolveActorEntryFile } from "../providers/typescript/actorSources.js";
12
13
  import { installPythonActors } from "../pythonActors.js";
13
14
  import { installationSetup } from "../setup.js";
15
+ import { downloadTemplate, writeTemplate } from "../templates.js";
14
16
  import { loginAndPersist } from "./auth.js";
15
17
  export async function init(projectName, provider = resolveProvider({ command: "init", language: "ts" }), opts) {
16
18
  const python = opts?.language === "python";
19
+ const template = opts?.template;
20
+ if (template && python) {
21
+ throw new CliError("template_language_unsupported", "Templates are available for TypeScript only.", { detail: "Remove --language python to use --template." });
22
+ }
17
23
  const manifest = ["package.json", "pyproject.toml"].find(file => fs.existsSync(path.join(process.cwd(), file)));
18
24
  if (!projectName && manifest) {
19
25
  throw new CliError("init_in_existing_project", `Detected an existing ${manifest === "pyproject.toml" ? "Python" : "npm"} project in this directory.`, {
@@ -26,6 +32,14 @@ export async function init(projectName, provider = resolveProvider({ command: "i
26
32
  if (projectName && fs.existsSync(targetDir)) {
27
33
  throw new CliError("directory_exists", `Directory "${projectName}" already exists.`);
28
34
  }
35
+ const existingTemplateDir = template && !projectName && ["actor", "client"].find(dir => fs.existsSync(path.join(targetDir, dir)));
36
+ if (existingTemplateDir) {
37
+ throw new CliError("directory_exists", `Directory "${existingTemplateDir}" already exists.`, {
38
+ detail: `Run "terse init <project-name> --template ${template}" to create a separate project directory.`
39
+ });
40
+ }
41
+ const actorDir = template ? path.join(targetDir, "actor") : targetDir;
42
+ const clientDir = path.join(targetDir, "client");
29
43
  await installationSetup.approve(python
30
44
  ? "Install durable-actors and development tools in this project, including uv and Python if missing?"
31
45
  : "Install this project's Terse SDK and TypeScript dependencies, including Bun if missing?", opts);
@@ -34,30 +48,54 @@ export async function init(projectName, provider = resolveProvider({ command: "i
34
48
  try {
35
49
  const s = createSpinner();
36
50
  s.start(`Preparing Terse project ${resolvedName}`);
37
- const templateContext = python ? { projectName: resolvedName } : provider.buildInitTemplateContext(resolvedName, await fetchSdkVersion(provider.language));
38
- s.stop(python ? "Prepared Python actor project" : `Using terse-sdk ${templateContext.sdkVersion}`);
51
+ const sdkVersion = python ? undefined : await fetchSdkVersion(provider.language);
52
+ const templateContext = sdkVersion ? provider.buildInitTemplateContext(resolvedName, sdkVersion) : { projectName: resolvedName };
53
+ s.stop(sdkVersion ? `Using terse-sdk ${sdkVersion}` : "Prepared Python actor project");
54
+ let templateFiles;
55
+ if (template) {
56
+ s.start(`Downloading template ${template}`);
57
+ try {
58
+ templateFiles = await downloadTemplate(template);
59
+ }
60
+ catch (error) {
61
+ s.error(`Could not download template ${template}`);
62
+ throw error;
63
+ }
64
+ s.stop(`Downloaded template ${template}`);
65
+ }
39
66
  const loginResult = await loginAndPersist(opts);
40
67
  const isAuthenticated = !!loginResult;
41
68
  if (projectName) {
42
69
  fs.mkdirSync(targetDir, { recursive: true });
43
70
  createdTargetDir = true;
44
71
  }
45
- fs.mkdirSync(path.join(targetDir, "src"), { recursive: true });
46
- const scaffoldFiles = actorScaffoldFiles(provider.scaffoldFiles(), opts?.language);
47
- for (const file of scaffoldFiles) {
48
- const rendered = renderTemplate(file.template, templateContext);
49
- const outputPath = path.join(targetDir, file.output);
50
- fs.mkdirSync(path.dirname(outputPath), { recursive: true });
51
- fs.writeFileSync(outputPath, rendered);
72
+ if (templateFiles && sdkVersion) {
73
+ writeTemplate(templateFiles, targetDir, sdkVersion);
74
+ }
75
+ else {
76
+ fs.mkdirSync(path.join(targetDir, "src"), { recursive: true });
77
+ const scaffoldFiles = actorScaffoldFiles(provider.scaffoldFiles(), opts?.language);
78
+ for (const file of scaffoldFiles) {
79
+ const rendered = renderTemplate(file.template, templateContext);
80
+ const outputPath = path.join(targetDir, file.output);
81
+ fs.mkdirSync(path.dirname(outputPath), { recursive: true });
82
+ fs.writeFileSync(outputPath, rendered);
83
+ }
52
84
  }
53
85
  console.log(chalk.dim("Scaffolded project files"));
54
- process.chdir(targetDir);
55
- await installDependencies(targetDir, provider, python);
86
+ process.chdir(actorDir);
87
+ if (template) {
88
+ await installDependencies(actorDir, provider, python, "actor");
89
+ await installDependencies(clientDir, provider, python, "client");
90
+ }
91
+ else {
92
+ await installDependencies(targetDir, provider, python);
93
+ }
56
94
  if (loginResult?.apiKey) {
57
95
  s.start("Creating Terse project");
58
96
  try {
59
97
  const { config } = await createRemoteProject(loginResult.apiKey, resolvedName);
60
- writeProjectConfig(targetDir, config);
98
+ writeProjectConfig(actorDir, config);
61
99
  s.stop(`Created Terse project (${config.projectId})`);
62
100
  }
63
101
  catch (error) {
@@ -66,23 +104,42 @@ export async function init(projectName, provider = resolveProvider({ command: "i
66
104
  }
67
105
  }
68
106
  const accent = chalk.hex("#04AB62");
107
+ const projectPath = (dir) => (projectName ? path.join(projectName, dir) : dir);
108
+ const steps = template
109
+ ? [
110
+ ` ${chalk.bold("Make it yours")}`,
111
+ ` Edit ${chalk.cyan(path.join("actor", resolveActorEntryFile(actorDir) ?? ACTOR_ENTRY_FILE))} to define your actors.`,
112
+ "",
113
+ ` ${chalk.bold("Run locally")}`,
114
+ ` ${accent(`cd ${projectPath("actor")}`)}`,
115
+ ` ${accent("terse actor dev")}`,
116
+ "",
117
+ ` ${chalk.bold("Try the client")}`,
118
+ " Keep the actor server running. In another terminal:",
119
+ ` ${accent(`cd ${projectPath("client")}`)}`,
120
+ ` ${accent("terse actor generate")}`,
121
+ ` ${accent("bun start")}`
122
+ ]
123
+ : [
124
+ ` ${chalk.bold("Make it yours")}`,
125
+ ` Edit ${chalk.cyan(python ? "src/actor.py" : "src/actor.ts")} to define your actors.`,
126
+ "",
127
+ ` ${chalk.bold("Run locally")}`,
128
+ ...(projectName ? [` ${accent(`cd ${projectName}`)}`] : []),
129
+ ` ${accent("terse actor dev")}`,
130
+ "",
131
+ ` ${chalk.bold("Connect your app")}`,
132
+ " Keep the actor server running. In another terminal,",
133
+ " open your application project, then run:",
134
+ ` ${accent("terse actor generate")}`
135
+ ];
69
136
  outro(accent.bold("Your actors start here."));
70
137
  console.log([
71
138
  "",
72
- ` ${chalk.bold("Make it yours")}`,
73
- ` Edit ${chalk.cyan(opts?.language === "python" ? "src/actor.py" : "src/actor.ts")} to define your actors.`,
74
- "",
75
- ` ${chalk.bold("Run locally")}`,
76
- ...(projectName ? [` ${accent(`cd ${projectName}`)}`] : []),
77
- ` ${accent("terse actor dev")}`,
78
- "",
79
- ` ${chalk.bold("Connect your app")}`,
80
- " Keep the actor server running. In another terminal,",
81
- " open your application project, then run:",
82
- ` ${accent("terse actor generate")}`,
139
+ ...steps,
83
140
  "",
84
141
  ` ${chalk.bold("Deploy when you're ready")}`,
85
- " From this actor project:",
142
+ template ? " From the actor project:" : " From this actor project:",
86
143
  ...(!isAuthenticated ? [` ${chalk.dim("Sign in first:")}`, ` ${accent("terse auth login")}`] : []),
87
144
  ` ${accent("terse deploy")}`,
88
145
  ""
@@ -100,20 +157,21 @@ export async function init(projectName, provider = resolveProvider({ command: "i
100
157
  throw err;
101
158
  }
102
159
  }
103
- async function installDependencies(targetDir, provider, python) {
160
+ async function installDependencies(targetDir, provider, python, scope) {
104
161
  const s = createSpinner();
105
162
  const pm = python ? "uv" : provider.detectPackageManager();
106
- s.start(`Installing dependencies with ${pm}`);
163
+ const dependencies = scope ? `${scope} dependencies` : "dependencies";
164
+ s.start(`Installing ${dependencies} with ${pm}`);
107
165
  try {
108
166
  if (python)
109
167
  await installPythonActors(targetDir);
110
168
  else
111
169
  await provider.installDependencies(targetDir);
112
- s.stop(`Dependencies installed with ${pm}`);
170
+ s.stop(`${scope ? `Installed ${scope} dependencies` : "Dependencies installed"} with ${pm}`);
113
171
  }
114
172
  catch (error) {
115
173
  if (!python) {
116
- s.stop(`Failed to install dependencies. Run ${chalk.cyan(`${pm} install`)} manually.`);
174
+ s.stop(`Failed to install ${dependencies}. Run ${chalk.cyan(`${pm} install`)}${scope ? ` in ${scope}/` : ""} manually.`);
117
175
  return;
118
176
  }
119
177
  s.error("Failed to install Python dependencies.");
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,aAAa,CAAA;AAMlE,wBAAsB,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhE;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAI5C"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,aAAa,CAAA;AAQlE,wBAAsB,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhE;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAI5C"}
@@ -11,11 +11,13 @@ import { isNonInteractive } from "../cliHelpers.js";
11
11
  import { installationSetup } from "../setup.js";
12
12
  import { loginAndPersist } from "./auth.js";
13
13
  const CLAUDE_PERMISSION_RULE = "Bash(terse:*)";
14
+ // esbuild (via tsx and durable-actors) declares a postinstall that npm warns about; its binary ships as an optional dependency, so the script is unnecessary.
15
+ const QUIET_NPM_FLAGS = ["--loglevel=error", "--no-fund", "--no-audit", "--no-update-notifier"];
14
16
  export async function install(opts) {
15
17
  intro("terse install");
16
- await installationSetup.approve("Install the Terse CLI globally and any missing uv, Python, and Bun prerequisites?", opts);
17
- await installationSetup.ensure("all", { ...opts, yes: true });
18
- await runStreaming("npm", ["install", "-g", "terse-cli"]);
18
+ await installationSetup.approve("Install the Terse CLI globally and Bun if missing?", opts);
19
+ await installationSetup.ensure("typescript", { ...opts, yes: true });
20
+ await runStreaming("npm", ["install", "-g", "terse-cli", ...QUIET_NPM_FLAGS]);
19
21
  await ensureAuth(opts);
20
22
  await offerClaudePermissions(opts);
21
23
  const installationMessage = [
@@ -34,7 +36,7 @@ export async function update() {
34
36
  }
35
37
  async function updateGlobalCli() {
36
38
  log.step("Updating the Terse CLI");
37
- await runStreaming("npm", ["install", "-g", "terse-cli@latest"]);
39
+ await runStreaming("npm", ["install", "-g", "terse-cli@latest", ...QUIET_NPM_FLAGS]);
38
40
  }
39
41
  async function offerClaudePermissions(opts) {
40
42
  const claudeDir = path.join(os.homedir(), ".claude");
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -1,49 +1 @@
1
- import { IntegrationType } from "terse-types";
2
- export declare function integrate(options?: IntegrateOptions): Promise<void>;
3
- export declare function listAndPromptIntegrations(options?: IntegrateOptions): Promise<void>;
4
- export declare function abortIfCancelled<T>(value: T | symbol): T;
5
- export declare function parseIntegrationTypeOrThrow(value: string): IntegrationType;
6
- export declare function integrateList(opts?: IntegrateListOpts): Promise<void>;
7
- export declare function integrateDescribe(opts: IntegrateDescribeOpts): Promise<void>;
8
- export declare function integrateTool(opts: IntegrateToolOpts): Promise<void>;
9
- export declare function integrateConnect(opts: IntegrateConnectOpts): Promise<void>;
10
- export declare function integrateDisconnect(opts: IntegrateDisconnectOpts): Promise<void>;
11
- export declare function integrateWait(opts: IntegrateWaitOpts): Promise<void>;
12
- type IntegrateOptions = {
13
- /** When set (e.g. during `terse attach`), all integration calls use this key instead of `readApiKey()`. */
14
- apiKey?: string;
15
- showLifecycle?: boolean;
16
- runGenerateAfterChange?: boolean;
17
- nonInteractive?: boolean;
18
- };
19
- export type IntegrateListOpts = {
20
- json?: boolean;
21
- status?: "connected" | "disconnected";
22
- };
23
- export type IntegrateDescribeOpts = {
24
- integrationType: string;
25
- json?: boolean;
26
- };
27
- export type IntegrateToolOpts = {
28
- integrationType: string;
29
- toolName?: string;
30
- json?: boolean;
31
- };
32
- export type IntegrateConnectOpts = {
33
- integrationType: string;
34
- fieldFlags?: string[];
35
- fieldsStdin?: boolean;
36
- force?: boolean;
37
- json?: boolean;
38
- };
39
- export type IntegrateDisconnectOpts = {
40
- integrationType: string;
41
- json?: boolean;
42
- };
43
- export type IntegrateWaitOpts = {
44
- integrationType: string;
45
- timeoutSeconds?: number;
46
- json?: boolean;
47
- };
48
- export {};
49
1
  //# sourceMappingURL=integrate.d.ts.map