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
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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":"
|
|
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":"
|
|
1
|
+
{"version":3,"file":"runLocalTestJob.d.ts","sourceRoot":"","sources":["../src/runLocalTestJob.ts"],"names":[],"mappings":""}
|
package/dist/runLocalTestJob.js
CHANGED
|
@@ -1,30 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
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":"
|
|
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:
|
|
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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"}
|
package/dist/sourceArchive.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/sourceArchive.js
CHANGED
|
@@ -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,
|
|
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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const TEMPLATES_REPOSITORY = "https://github.com/TerseAI/Terse-Examples";
|
|
2
|
+
/** Download an example with `actor/` and `client/` projects. Accepts `counter`, `gettingStarted/counter`, or `01_gettingStarted/counter`. */
|
|
3
|
+
export declare function downloadTemplate(name: string): Promise<Map<string, Uint8Array>>;
|
|
4
|
+
/** Write a template and pin each project's terse-sdk to the version init resolved. */
|
|
5
|
+
export declare function writeTemplate(files: Map<string, Uint8Array>, targetDir: string, sdkVersion: string): void;
|
|
6
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,oBAAoB,8CAA8C,CAAA;AAK/E,6IAA6I;AAC7I,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAcrF;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAQzG"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { unzipSync } from "fflate";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { CliError } from "./cliError.js";
|
|
5
|
+
export const TEMPLATES_REPOSITORY = "https://github.com/TerseAI/Terse-Examples";
|
|
6
|
+
const TEMPLATES_ARCHIVE_URL = "https://codeload.github.com/TerseAI/Terse-Examples/zip/refs/heads/main";
|
|
7
|
+
/** Download an example with `actor/` and `client/` projects. Accepts `counter`, `gettingStarted/counter`, or `01_gettingStarted/counter`. */
|
|
8
|
+
export async function downloadTemplate(name) {
|
|
9
|
+
const templates = listTemplates(await fetchArchive());
|
|
10
|
+
const query = name.replaceAll("\\", "/").replace(/\/+$/, "");
|
|
11
|
+
const byName = templates.filter(template => template.id === query);
|
|
12
|
+
const match = templates.find(template => template.qualifiedIds.includes(query)) ?? (byName.length === 1 ? byName[0] : undefined);
|
|
13
|
+
if (match)
|
|
14
|
+
return match.files;
|
|
15
|
+
if (byName.length > 1) {
|
|
16
|
+
throw new CliError("ambiguous_template", `Template "${name}" matches ${byName.map(template => template.qualifiedIds[0]).join(" and ")}.`, {
|
|
17
|
+
detail: "Pass <section>/<example> to choose one."
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
throw new CliError("template_not_found", `No template named "${name}".`, {
|
|
21
|
+
detail: `Available templates: ${templates.map(template => template.id).join(", ")}. Browse them at ${TEMPLATES_REPOSITORY}.`
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/** Write a template and pin each project's terse-sdk to the version init resolved. */
|
|
25
|
+
export function writeTemplate(files, targetDir, sdkVersion) {
|
|
26
|
+
for (const [file, content] of files) {
|
|
27
|
+
const outputPath = path.resolve(targetDir, file);
|
|
28
|
+
const relative = path.relative(targetDir, outputPath);
|
|
29
|
+
if (relative.startsWith("..") || path.isAbsolute(relative))
|
|
30
|
+
throw new CliError("invalid_template", `Template file ${file} is outside the project directory.`);
|
|
31
|
+
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
|
|
32
|
+
fs.writeFileSync(outputPath, path.basename(file) === "package.json" ? pinSdkVersion(content, sdkVersion) : content);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
async function fetchArchive() {
|
|
36
|
+
let response;
|
|
37
|
+
try {
|
|
38
|
+
response = await fetch(TEMPLATES_ARCHIVE_URL, { signal: AbortSignal.timeout(30_000) });
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
throw new CliError("template_download_failed", "Could not download templates.", { detail: error instanceof Error ? error.message : String(error) });
|
|
42
|
+
}
|
|
43
|
+
if (!response.ok) {
|
|
44
|
+
await response.body?.cancel();
|
|
45
|
+
throw new CliError("template_download_failed", `Template download failed (HTTP ${response.status}).`, { detail: `Check ${TEMPLATES_REPOSITORY}.` });
|
|
46
|
+
}
|
|
47
|
+
return unzipSync(new Uint8Array(await response.arrayBuffer()));
|
|
48
|
+
}
|
|
49
|
+
function listTemplates(archive) {
|
|
50
|
+
const examples = new Map();
|
|
51
|
+
for (const [entry, content] of Object.entries(archive)) {
|
|
52
|
+
if (entry.endsWith("/"))
|
|
53
|
+
continue;
|
|
54
|
+
// Archive entries are <repository>-<ref>/<section>/<example>/<file>.
|
|
55
|
+
const [, section, example, ...rest] = entry.split("/");
|
|
56
|
+
if (!section || !example || rest.length === 0)
|
|
57
|
+
continue;
|
|
58
|
+
const key = `${section}/${example}`;
|
|
59
|
+
const files = examples.get(key) ?? new Map();
|
|
60
|
+
files.set(rest.join("/"), content);
|
|
61
|
+
examples.set(key, files);
|
|
62
|
+
}
|
|
63
|
+
return [...examples]
|
|
64
|
+
.filter(([, files]) => files.has("actor/package.json") && files.has("client/package.json"))
|
|
65
|
+
.map(([key, files]) => {
|
|
66
|
+
const [section, id] = key.split("/");
|
|
67
|
+
const sectionId = /^\d+_(.+)$/.exec(section)?.[1] ?? section;
|
|
68
|
+
return { id, qualifiedIds: [`${sectionId}/${id}`, key], files };
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function pinSdkVersion(content, sdkVersion) {
|
|
72
|
+
const manifest = JSON.parse(Buffer.from(content).toString("utf8"));
|
|
73
|
+
if (!manifest.dependencies?.["terse-sdk"])
|
|
74
|
+
return content;
|
|
75
|
+
manifest.dependencies["terse-sdk"] = sdkVersion;
|
|
76
|
+
return `${JSON.stringify(manifest, null, 4)}\n`;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "terse-cli",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.22",
|
|
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.
|
|
44
|
-
"terse-types": "0.9.
|
|
42
|
+
"terse-sdk": "0.9.22",
|
|
43
|
+
"terse-types": "0.9.22"
|
|
45
44
|
},
|
|
46
45
|
"devDependencies": {
|
|
47
46
|
"@types/luxon": "^3.7.1",
|