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.
- package/README.md +1 -1
- package/dist/cliUi.d.ts +3 -1
- package/dist/cliUi.d.ts.map +1 -1
- package/dist/cliUi.js +3 -2
- package/dist/cliUi.js.map +1 -1
- package/dist/commands/actor.d.ts.map +1 -1
- package/dist/commands/actor.js +32 -5
- package/dist/commands/actor.js.map +1 -1
- package/dist/commands/attach.d.ts +0 -7
- package/dist/commands/attach.d.ts.map +1 -1
- package/dist/commands/attach.js +220 -189
- package/dist/commands/attach.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +15 -3
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/generate.d.ts +0 -4
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +161 -127
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/history.d.ts +0 -15
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +139 -105
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +86 -28
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +6 -4
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/integrate.d.ts +0 -48
- package/dist/commands/integrate.d.ts.map +1 -1
- package/dist/commands/integrate.js +897 -699
- package/dist/commands/integrate.js.map +1 -1
- package/dist/commands/integrateUse.d.ts +0 -12
- package/dist/commands/integrateUse.d.ts.map +1 -1
- package/dist/commands/integrateUse.js +132 -98
- package/dist/commands/integrateUse.js.map +1 -1
- package/dist/commands/listen.d.ts +0 -7
- package/dist/commands/listen.d.ts.map +1 -1
- package/dist/commands/listen.js +98 -81
- package/dist/commands/listen.js.map +1 -1
- package/dist/commands/memory.d.ts +0 -21
- package/dist/commands/memory.d.ts.map +1 -1
- package/dist/commands/memory.js +147 -128
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/replay.d.ts +0 -2
- package/dist/commands/replay.d.ts.map +1 -1
- package/dist/commands/replay.js +37 -28
- package/dist/commands/replay.js.map +1 -1
- package/dist/commands/resume.d.ts +0 -4
- package/dist/commands/resume.d.ts.map +1 -1
- package/dist/commands/resume.js +34 -28
- package/dist/commands/resume.js.map +1 -1
- package/dist/commands/run.d.ts +0 -2
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +78 -70
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/state.d.ts +0 -18
- package/dist/commands/state.d.ts.map +1 -1
- package/dist/commands/state.js +129 -108
- package/dist/commands/state.js.map +1 -1
- package/dist/commands/test.d.ts +0 -28
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +509 -403
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/toolRun.d.ts +0 -6
- package/dist/commands/toolRun.d.ts.map +1 -1
- package/dist/commands/toolRun.js +149 -134
- package/dist/commands/toolRun.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/integrationApi.d.ts +0 -15
- package/dist/integrationApi.d.ts.map +1 -1
- package/dist/integrationApi.js +75 -49
- package/dist/integrationApi.js.map +1 -1
- package/dist/loadJob.d.ts +0 -11
- package/dist/loadJob.d.ts.map +1 -1
- package/dist/loadJob.js +54 -46
- package/dist/loadJob.js.map +1 -1
- package/dist/providers/LanguageProvider.d.ts +0 -29
- package/dist/providers/LanguageProvider.d.ts.map +1 -1
- package/dist/providers/LanguageProvider.js +3 -0
- package/dist/providers/LanguageProvider.js.map +1 -1
- package/dist/providers/typescript/TypeScriptProvider.d.ts +0 -24
- package/dist/providers/typescript/TypeScriptProvider.d.ts.map +1 -1
- package/dist/providers/typescript/TypeScriptProvider.js +115 -121
- package/dist/providers/typescript/TypeScriptProvider.js.map +1 -1
- package/dist/providers/typescript/runtimes/JobRuntime.d.ts +0 -26
- package/dist/providers/typescript/runtimes/JobRuntime.d.ts.map +1 -1
- package/dist/providers/typescript/runtimes/JobRuntime.js +51 -18
- package/dist/providers/typescript/runtimes/JobRuntime.js.map +1 -1
- package/dist/providers/typescript/runtimes/directJobRuntime.d.ts +0 -2
- package/dist/providers/typescript/runtimes/directJobRuntime.d.ts.map +1 -1
- package/dist/providers/typescript/runtimes/directJobRuntime.js +60 -49
- package/dist/providers/typescript/runtimes/directJobRuntime.js.map +1 -1
- package/dist/providers/typescript/runtimes/durableJobRuntime.d.ts +0 -2
- package/dist/providers/typescript/runtimes/durableJobRuntime.d.ts.map +1 -1
- package/dist/providers/typescript/runtimes/durableJobRuntime.js +168 -146
- package/dist/providers/typescript/runtimes/durableJobRuntime.js.map +1 -1
- package/dist/providers/typescript/runtimes/index.d.ts +0 -3
- package/dist/providers/typescript/runtimes/index.d.ts.map +1 -1
- package/dist/providers/typescript/runtimes/index.js +5 -2
- package/dist/providers/typescript/runtimes/index.js.map +1 -1
- package/dist/providers/typescript/runtimes/session.d.ts +0 -4
- package/dist/providers/typescript/runtimes/session.d.ts.map +1 -1
- package/dist/providers/typescript/runtimes/session.js +78 -64
- package/dist/providers/typescript/runtimes/session.js.map +1 -1
- package/dist/providers/typescript/terseWorkflow.d.ts +0 -7
- package/dist/providers/typescript/terseWorkflow.d.ts.map +1 -1
- package/dist/providers/typescript/terseWorkflow.js +12 -7
- package/dist/providers/typescript/terseWorkflow.js.map +1 -1
- package/dist/runLocalTestJob.d.ts +0 -19
- package/dist/runLocalTestJob.d.ts.map +1 -1
- package/dist/runLocalTestJob.js +55 -29
- package/dist/runLocalTestJob.js.map +1 -1
- package/dist/setup.js +1 -1
- package/dist/setup.js.map +1 -1
- package/dist/sourceArchive.d.ts +1 -1
- package/dist/sourceArchive.d.ts.map +1 -1
- package/dist/sourceArchive.js +1 -0
- package/dist/sourceArchive.js.map +1 -1
- package/dist/templates.d.ts +6 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +78 -0
- package/dist/templates.js.map +1 -0
- package/package.json +3 -4
- package/templates/typescript/init/package.json.hbs +1 -2
package/dist/commands/history.js
CHANGED
|
@@ -1,106 +1,140 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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":"AAAA,
|
|
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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -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
|
|
38
|
-
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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(
|
|
55
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAEtG,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAqB,iBAAiB,EAAE,MAAM,aAAa,CAAA;
|
|
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;
|
|
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"}
|
package/dist/commands/install.js
CHANGED
|
@@ -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
|
|
17
|
-
await installationSetup.ensure("
|
|
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":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAsB,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAqB,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,sBAAsB,GAAG,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAsB,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAqB,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,MAAM,sBAAsB,GAAG,eAAe,CAAA;AAC9C,8JAA8J;AAC9J,MAAM,eAAe,GAAG,CAAC,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAA;AAE/F,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAmB;IAC7C,KAAK,CAAC,eAAe,CAAC,CAAA;IACtB,MAAM,iBAAiB,CAAC,OAAO,CAAC,oDAAoD,EAAE,IAAI,CAAC,CAAA;IAC3F,MAAM,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,CAAC,CAAA;IAC7E,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAElC,MAAM,mBAAmB,GAAG;QACxB,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC;QAC9C,EAAE;QACF,oCAAoC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE;QAC7E,uBAAuB,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE;QACvD,uBAAuB,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;KACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,KAAK,CAAC,mBAAmB,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM;IACxB,KAAK,CAAC,cAAc,CAAC,CAAA;IACrB,MAAM,eAAe,EAAE,CAAA;IACvB,KAAK,CAAC,0BAA0B,CAAC,CAAA;AACrC,CAAC;AAED,KAAK,UAAU,eAAe;IAC1B,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IAClC,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,eAAe,CAAC,CAAC,CAAA;AACxF,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAAyB;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;IACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAM;IACrC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,iEAAiE,sBAAsB,oDAAoD,CAAC,CAAA;QACrJ,OAAM;IACV,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAA;IACjD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAA;QAC9F,OAAM;IACV,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAA;IAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAAE,OAAM;IAElD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;QAC5B,OAAO,EAAE,oEAAoE,sBAAsB,8BAA8B;QACjI,YAAY,EAAE,KAAK;KACtB,CAAC,CAAA;IACF,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS;QAAE,OAAM;IAE7C,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,sBAAsB,CAAC,EAAE,EAAE,CAAA;IACpH,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IACvE,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;AACjE,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAoB;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,CAAA;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,CAAA;IACtC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAClD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;AAC9C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAyB;IAC/C,IAAI,UAAU,EAAE;QAAE,OAAM;IACxB,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;QAC7D,OAAM;IACV,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAA;IAC5E,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;QACzD,OAAM;IACV,CAAC;IACD,MAAM,eAAe,EAAE,CAAA;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IAClC,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IACzD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,IAAc;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QACjD,iFAAiF;QACjF,4EAA4E;QAC5E,2EAA2E;QAC3E,uDAAuD;QACvD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAC3H,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAA;QAClG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACb,cAAc,EAAE,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACJ,aAAa,CAAC,IAAI,QAAQ,CAAC,mBAAmB,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC,CAAA;YAClH,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC;AAED,QAAQ;AAER,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;CACnF,CAAC,CAAA"}
|
|
@@ -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
|