terse-cli 0.9.19 → 0.9.20

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 CHANGED
@@ -130,7 +130,7 @@ terse actor generate
130
130
  npm run dev
131
131
  ```
132
132
 
133
- Your app needs `terse-sdk` installed. Generated clients in `src/terse.actors/` use the same connection settings for RPC calls and WebSocket authorization.
133
+ Generated clients in `generated/` include their runtime, so your app needs no extra packages. They use the same connection settings for RPC calls and WebSocket authorization.
134
134
 
135
135
  After changing an actor's public API, wait for the runtime to compile it successfully, then rerun `terse actor generate` in the consuming app. Implementation changes are watched automatically.
136
136
 
@@ -1 +1 @@
1
- {"version":3,"file":"actorGenerate.d.ts","sourceRoot":"","sources":["../../src/commands/actorGenerate.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAS/C,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBlI"}
1
+ {"version":3,"file":"actorGenerate.d.ts","sourceRoot":"","sources":["../../src/commands/actorGenerate.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAW/C,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBlI"}
@@ -2,14 +2,13 @@ import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { formatActorDiagnostic } from "terse-types/ActorDiagnostics";
4
4
  import { DEFAULT_ACTOR_URL, isLocalActorEndpoint, parseActorEndpoint } from "terse-types/ActorEndpoint";
5
- import ts from "typescript";
6
5
  import { z } from "zod";
7
6
  import { CliError } from "../cliError.js";
8
7
  import { BACKEND_URL } from "../config.js";
9
8
  import { ensureDotenvLoaded } from "../dotenv.js";
10
- import { loadProjectActorTools } from "../projectActorTools.js";
11
9
  import { generatePythonActors } from "../pythonActors.js";
12
10
  import { getStoredApiKey } from "../userConfig.js";
11
+ const TERSE_TRANSPORT_MODULE = "./terse-transport.js";
13
12
  const publicationSchema = z.object({
14
13
  codeRevision: z.string().min(1).optional(),
15
14
  contractHash: z.string().regex(/^sha256:[a-f0-9]{64}$/),
@@ -29,7 +28,7 @@ export async function actorGenerate(options) {
29
28
  const apiKey = actorApiKey(endpoint);
30
29
  const publication = await fetchContract(url, apiKey);
31
30
  const language = options.language ?? (publication.contract.typescript ? "typescript" : "python");
32
- const directory = path.resolve(options.outDir ?? (language === "python" ? "generated" : "src/terse.actors"));
31
+ const directory = path.resolve(options.outDir ?? "generated");
33
32
  if (language === "python") {
34
33
  await generatePythonActors(publication.contract, directory, options);
35
34
  }
@@ -42,7 +41,8 @@ export async function actorGenerate(options) {
42
41
  async function generateTypeScriptActors(contract, directory) {
43
42
  if (!contract.typescript)
44
43
  throw new CliError("actor_generation_failed", "This actor contract supports Python clients. Use --language python.");
45
- const { generateClientArtifacts } = await loadProjectActorTools(process.cwd());
44
+ // terse-transport.js wraps the runtime this generator bundles, so both come from the CLI's durable-actors.
45
+ const { generateClientArtifacts } = await import("durable-actors/codegen");
46
46
  let files;
47
47
  try {
48
48
  // The upstream generator validates the complete public contract before emitting code.
@@ -51,16 +51,16 @@ async function generateTypeScriptActors(contract, directory) {
51
51
  catch (error) {
52
52
  throw new CliError("actor_generation_failed", formatActorDiagnostic(error instanceof Error ? error.message : String(error)));
53
53
  }
54
+ await removeGeneratedRuntime(directory);
55
+ files = new Map([...files, ...(await terseTransportFiles())]);
54
56
  for (const [fileName, code] of files) {
55
- if (fileName.startsWith("runtime/"))
56
- continue;
57
57
  const destination = path.resolve(directory, fileName);
58
58
  const relative = path.relative(directory, destination);
59
59
  if (relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative) || relative === "..") {
60
60
  throw new CliError("actor_generation_failed", "Generated actor file is outside the output directory.");
61
61
  }
62
62
  await fs.mkdir(path.dirname(destination), { recursive: true });
63
- await fs.writeFile(destination, fileName === "index.js" || fileName === "index.d.ts" ? withTerseActorImports(code) : code);
63
+ await fs.writeFile(destination, fileName === "index.js" || fileName === "index.d.ts" ? withTerseTransport(code) : code);
64
64
  }
65
65
  // Old generated TypeScript shadows the new JavaScript/declaration entry points.
66
66
  const previousEntry = path.join(directory, "index.ts");
@@ -68,85 +68,21 @@ async function generateTypeScriptActors(contract, directory) {
68
68
  if (previousSource.startsWith("// Generated by terse actor generate"))
69
69
  await fs.rm(previousEntry);
70
70
  }
71
- function withTerseActorImports(code) {
72
- const source = ts.createSourceFile("index.ts", code, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
73
- const edits = [];
74
- const modules = new Set(["durable-actors/generated", "durable-actors/proxy", "durable-actors/backend", "./runtime/index.js"]);
75
- const names = new Set();
76
- const collectNames = (node) => {
77
- if (ts.isIdentifier(node) && !(ts.isImportTypeNode(node.parent) && node.parent.qualifier === node))
78
- names.add(node.text);
79
- ts.forEachChild(node, collectNames);
80
- };
81
- collectNames(source);
82
- const typeImports = new Map();
83
- const isProxyParameter = (node) => (ts.isIdentifier(node.name) && ["options", "dependencies"].includes(node.name.text)) ||
84
- (!!node.type && ts.isImportTypeNode(node.type) && !!node.type.qualifier && ["SocketProxyOptions", "SocketProxyDependencies"].includes(node.type.qualifier.getText(source)));
85
- const removeTrailingItems = (items, first) => {
86
- edits.push({ start: first === 0 ? items[0].getStart(source) : items[first - 1].getEnd(), end: items.at(-1).getEnd(), text: "" });
87
- };
88
- const visit = (node) => {
89
- if (ts.isExportDeclaration(node) && node.moduleSpecifier && ts.isStringLiteral(node.moduleSpecifier) && modules.has(node.moduleSpecifier.text)) {
90
- edits.push({ start: node.getStart(source), end: node.getEnd(), text: "" });
91
- return;
92
- }
93
- if (ts.isConstructorDeclaration(node) || ts.isMethodDeclaration(node) || ts.isMethodSignature(node)) {
94
- const first = node.parameters.findIndex(isProxyParameter);
95
- if (first !== -1)
96
- removeTrailingItems(node.parameters, first);
97
- }
98
- if (ts.isParameter(node) && isProxyParameter(node))
99
- return;
100
- if ((ts.isNewExpression(node) && node.expression.getText(source) === "ActorProxy") || (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.SuperKeyword)) {
101
- const first = node.arguments?.findIndex(argument => ts.isIdentifier(argument) && argument.text === "options") ?? -1;
102
- if (first !== -1)
103
- removeTrailingItems(node.arguments, first);
104
- }
105
- if (ts.isTypeReferenceNode(node) &&
106
- node.typeName.getText(source) === "Omit" &&
107
- (ts.isMethodDeclaration(node.parent.parent) || ts.isMethodSignature(node.parent.parent)) &&
108
- node.parent.parent.name.getText(source) === "prepareWebsocket") {
109
- const authorization = node.typeArguments?.[0]?.getText(source);
110
- if (authorization?.endsWith(".Authorization")) {
111
- const metadata = authorization.replace(/\.Authorization$/, ".Metadata");
112
- edits.push({ start: node.getStart(source), end: node.getEnd(), text: `{ actorId: string; metadata: ${metadata} }` });
113
- return;
114
- }
115
- }
116
- const specifier = ts.isImportDeclaration(node) ? node.moduleSpecifier : ts.isImportTypeNode(node) && ts.isLiteralTypeNode(node.argument) ? node.argument.literal : undefined;
117
- if (specifier && ts.isStringLiteral(specifier) && modules.has(specifier.text)) {
118
- if (ts.isImportTypeNode(node) && !node.isTypeOf && node.qualifier && ts.isIdentifier(node.qualifier)) {
119
- const imported = node.qualifier.text;
120
- let local = typeImports.get(imported);
121
- if (!local) {
122
- local = imported;
123
- while (names.has(local))
124
- local = `$${local}`;
125
- names.add(local);
126
- typeImports.set(imported, local);
127
- }
128
- // Leave generic arguments intact, including any nested type imports.
129
- edits.push({ start: node.getStart(source), end: node.qualifier.getEnd(), text: local });
130
- }
131
- else {
132
- edits.push({ start: specifier.getStart(source), end: specifier.getEnd(), text: '"terse-sdk/actors"' });
133
- }
134
- }
135
- ts.forEachChild(node, visit);
136
- };
137
- visit(source);
138
- if (typeImports.size) {
139
- const imports = [...typeImports].sort(([a], [b]) => a.localeCompare(b)).map(([imported, local]) => (imported === local ? imported : `${imported} as ${local}`));
140
- const position = source.statements.filter(ts.isImportDeclaration).at(-1)?.getEnd() ?? 0;
141
- edits.push({ start: position, end: position, text: `\nimport type { ${imports.join(", ")} } from "terse-sdk/actors"\n` });
142
- }
143
- for (const { start, end, text } of edits.sort((a, b) => b.start - a.start)) {
144
- code = `${code.slice(0, start)}${text}${code.slice(end)}`;
145
- }
146
- return code
147
- .replace(/^[\t ]+$/gm, "")
148
- .replace("Generated by durable-actors", "Generated by terse actor generate")
149
- .replace("/**\n", "/**\n * Add `terse-sdk` to your package.json dependencies: `npm install terse-sdk`.\n *\n");
71
+ async function terseTransportFiles() {
72
+ const templates = new URL("../../templates/typescript/", import.meta.url);
73
+ const names = ["terse-transport.js", "terse-transport.d.ts"];
74
+ return Promise.all(names.map(async (name) => [name, await fs.readFile(new URL(name, templates), "utf8")]));
75
+ }
76
+ /** Runtime files from older generator versions would shadow the current ones. */
77
+ async function removeGeneratedRuntime(directory) {
78
+ const runtime = path.join(directory, "runtime");
79
+ const manifest = await fs.readFile(path.join(runtime, "package.json"), "utf8").catch(() => "");
80
+ if (manifest.includes('"./index.browser.js"'))
81
+ await fs.rm(runtime, { recursive: true, force: true });
82
+ }
83
+ /** Point the upstream client at the Terse transport, which wraps the bundled runtime. */
84
+ function withTerseTransport(code) {
85
+ return code.replaceAll('"./runtime/index.js"', `"${TERSE_TRANSPORT_MODULE}"`).replace("Generated by durable-actors", "Generated by terse actor generate");
150
86
  }
151
87
  function actorApiKey(endpoint) {
152
88
  const explicit = process.env.TERSE_API_KEY?.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"actorGenerate.js","sourceRoot":"","sources":["../../src/commands/actorGenerate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actorGenerate.js","sourceRoot":"","sources":["../../src/commands/actorGenerate.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -42,7 +42,7 @@ actor
42
42
  actor
43
43
  .command("generate")
44
44
  .description("Generate typed clients from local actors or an explicit TERSE_ACTOR_URL")
45
- .option("--out-dir <directory>", "Generated client directory (Python: generated; TypeScript: src/terse.actors)")
45
+ .option("--out-dir <directory>", "Generated client directory", "generated")
46
46
  .addOption(new Option("--language <language>", "Client language (inferred from the actor contract)").choices(["typescript", "python"]))
47
47
  .option("--non-interactive", NON_INTERACTIVE_OPTION[1])
48
48
  .option("-y, --yes", "Authorize installation of missing Python prerequisites and client dependencies")
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "terse-cli",
3
- "version": "0.9.19",
3
+ "version": "0.9.20",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "repository": {
@@ -40,8 +40,8 @@
40
40
  "tsx": "^4.0.0",
41
41
  "typescript": "^5.0.0",
42
42
  "zod": "^4.3.6",
43
- "terse-sdk": "0.9.19",
44
- "terse-types": "0.9.19"
43
+ "terse-sdk": "0.9.20",
44
+ "terse-types": "0.9.20"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/luxon": "^3.7.1",
@@ -0,0 +1,25 @@
1
+ // Generated by terse actor generate; regenerate instead of editing.
2
+ import type { ProxyActor, SocketAuthorization, SocketGrant } from "./runtime/proxy.js"
3
+ import type { ActorRpcMethod, ActorRpcTransport } from "./runtime/stub.js"
4
+
5
+ export * from "./runtime/index.js"
6
+
7
+ /** Connection settings come from TERSE_ACTOR_URL and TERSE_API_KEY. */
8
+ export interface SocketProxyOptions {
9
+ /** Grant-request timeout, 1000–600000 ms. Overrides TERSE_ACTOR_SETUP_TIMEOUT_MS. */
10
+ readonly setupTimeoutMs?: number
11
+ }
12
+
13
+ export interface SocketProxyDependencies {
14
+ readonly fetch?: typeof globalThis.fetch
15
+ }
16
+
17
+ /** Use TERSE_ACTOR_URL and TERSE_API_KEY, with local development defaults. */
18
+ export declare function createActorStub<Stub extends object>(actorName: string, actorId: string, methods: readonly ActorRpcMethod[], transport?: ActorRpcTransport): Stub
19
+
20
+ /** Issue browser WebSocket grants through the selected Terse project. */
21
+ export declare class SocketProxy<Actors extends Record<string, ProxyActor>> {
22
+ #private
23
+ constructor(actors: Actors, options?: SocketProxyOptions, dependencies?: SocketProxyDependencies)
24
+ handle(authorization: SocketAuthorization<Actors>): Promise<SocketGrant>
25
+ }
@@ -0,0 +1,117 @@
1
+ // Generated by terse actor generate; regenerate instead of editing.
2
+ // Terse connection defaults for this generated actor client.
3
+ import { ActorSessionRejectedError, SocketProxy as RuntimeSocketProxy, createActorSessionTransport, createActorTransport, createActorStub as createRuntimeActorStub } from "./runtime/index.js"
4
+
5
+ export * from "./runtime/index.js"
6
+
7
+ const DEFAULT_ACTOR_URL = "http://127.0.0.1:7100/v1/projects/local/actors"
8
+
9
+ let connection
10
+
11
+ const terseTransport = {
12
+ invoke(actorName, actorId, method, args) {
13
+ return currentTransport().invoke(actorName, actorId, method, args)
14
+ }
15
+ }
16
+
17
+ /** Use TERSE_ACTOR_URL and TERSE_API_KEY, with local development defaults. */
18
+ export function createActorStub(actorName, actorId, methods, transport = terseTransport) {
19
+ return createRuntimeActorStub(actorName, actorId, methods, transport)
20
+ }
21
+
22
+ /** Issue browser WebSocket grants through the selected Terse project. */
23
+ export class SocketProxy {
24
+ #actors
25
+ #options
26
+ #dependencies
27
+
28
+ constructor(actors, options = {}, dependencies = {}) {
29
+ this.#actors = actors
30
+ this.#options = options
31
+ this.#dependencies = dependencies
32
+ }
33
+
34
+ async handle(authorization) {
35
+ const { endpoint, apiKey } = connectionSettings()
36
+ const setupTimeoutMs = this.#options.setupTimeoutMs ?? configuredSetupTimeoutMs()
37
+ if (endpoint.kind === "runtime") {
38
+ const options = { projectId: endpoint.projectId, controlPlaneUrl: endpoint.origin, apiKey: apiKey || undefined, setupTimeoutMs }
39
+ return new RuntimeSocketProxy(this.#actors, options, this.#dependencies).handle(authorization)
40
+ }
41
+ const { actorName, actorId, metadata } = authorization
42
+ if (!Object.hasOwn(this.#actors, actorName)) throw new Error(`Unknown actor name: ${actorName}`)
43
+ const response = await (this.#dependencies.fetch ?? globalThis.fetch)(endpoint.actorUrl, {
44
+ method: "POST",
45
+ headers: { Authorization: `Bearer ${apiKey}`, "Content-Type": "application/json", Accept: "application/json" },
46
+ body: JSON.stringify({ actorName, actorId, metadata }),
47
+ signal: AbortSignal.timeout(setupTimeoutMs ?? 10_000),
48
+ redirect: "error"
49
+ })
50
+ if (!response.ok) {
51
+ await response.body?.cancel()
52
+ throw new Error(`Actor connection grant could not be issued (HTTP ${response.status})`)
53
+ }
54
+ return response.json()
55
+ }
56
+ }
57
+
58
+ function currentTransport() {
59
+ const { endpoint, apiKey } = connectionSettings()
60
+ const key = JSON.stringify([endpoint.actorUrl, apiKey])
61
+ if (connection?.key === key) return connection.transport
62
+ connection?.transport.dispose?.()
63
+ const transport =
64
+ endpoint.kind === "runtime"
65
+ ? createActorTransport({ projectId: endpoint.projectId, controlPlaneUrl: endpoint.origin, apiKey: apiKey || undefined })
66
+ : createActorSessionTransport({ projectId: endpoint.projectId, getSession: () => requestSession(endpoint, apiKey) })
67
+ connection = { key, transport }
68
+ return transport
69
+ }
70
+
71
+ async function requestSession(endpoint, apiKey) {
72
+ const response = await globalThis.fetch(`${endpoint.actorUrl}/access`, {
73
+ method: "POST",
74
+ headers: { Authorization: `Bearer ${apiKey}`, Accept: "application/json" },
75
+ redirect: "error",
76
+ signal: AbortSignal.timeout(10_000)
77
+ })
78
+ if (!response.ok) {
79
+ await response.body?.cancel()
80
+ const message = `Actor authorization failed (HTTP ${response.status})`
81
+ if (response.status === 401 || response.status === 403) throw new ActorSessionRejectedError(message)
82
+ throw new Error(message)
83
+ }
84
+ return response.json()
85
+ }
86
+
87
+ function connectionSettings() {
88
+ const environment = globalThis.process?.env ?? {}
89
+ const endpoint = parseActorEndpoint(environment.TERSE_ACTOR_URL?.trim() || DEFAULT_ACTOR_URL)
90
+ const apiKey = environment.TERSE_API_KEY?.trim() || ""
91
+ const local = endpoint.kind === "runtime" && ["localhost", "127.0.0.1", "[::1]"].includes(new URL(endpoint.origin).hostname)
92
+ if (!apiKey && !local) throw new Error("Missing TERSE_API_KEY. Set it in the .env of the project calling the actor.")
93
+ return { endpoint, apiKey }
94
+ }
95
+
96
+ /** The URL path selects the Terse API or the actor runtime explicitly. */
97
+ function parseActorEndpoint(value) {
98
+ const invalid = () => new Error("TERSE_ACTOR_URL must be an HTTP(S) URL ending in /<projectId>/actors or /v1/projects/<projectId>/actors, without credentials, query, or fragment")
99
+ const url = URL.canParse(value) ? new URL(value) : undefined
100
+ const match = url && /^\/(?:(sdk|v1)\/projects\/)?([^/]+)\/actors\/?$/.exec(url.pathname)
101
+ if (!match || !["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw invalid()
102
+ const projectId = decodeURIComponent(match[2])
103
+ if (!/^[A-Za-z0-9._-]{1,64}$/.test(projectId) || projectId === "." || projectId === "..") throw invalid()
104
+ const kind = match[1] === "v1" ? "runtime" : "terse"
105
+ const project = encodeURIComponent(projectId)
106
+ return { kind, origin: url.origin, projectId, actorUrl: `${url.origin}${kind === "runtime" ? `/v1/projects/${project}` : `/${project}`}/actors` }
107
+ }
108
+
109
+ function configuredSetupTimeoutMs() {
110
+ const configured = globalThis.process?.env?.TERSE_ACTOR_SETUP_TIMEOUT_MS?.trim()
111
+ if (!configured) return undefined
112
+ const value = Number(configured)
113
+ if (!Number.isSafeInteger(value) || value < 1_000 || value > 600_000) {
114
+ throw new Error("TERSE_ACTOR_SETUP_TIMEOUT_MS must be an integer between 1000 and 600000 milliseconds")
115
+ }
116
+ return value
117
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ // These templates import ./runtime/, which exists only beside generated output.
3
+ // actorGenerate.test.ts typechecks them there with skipLibCheck disabled.
4
+ "compilerOptions": {
5
+ "target": "ES2022",
6
+ "module": "ESNext",
7
+ "moduleResolution": "bundler",
8
+ "strict": true,
9
+ "noEmit": true,
10
+ "skipLibCheck": true
11
+ },
12
+ "include": ["*.d.ts"]
13
+ }