terse-cli 0.9.18 → 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 +1 -1
- package/dist/commands/actorGenerate.d.ts.map +1 -1
- package/dist/commands/actorGenerate.js +22 -86
- package/dist/commands/actorGenerate.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/templates/typescript/terse-transport.d.ts +25 -0
- package/templates/typescript/terse-transport.js +117 -0
- package/templates/typescript/tsconfig.json +13 -0
package/README.md
CHANGED
|
@@ -130,7 +130,7 @@ terse actor generate
|
|
|
130
130
|
npm run dev
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
|
|
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":"
|
|
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 ??
|
|
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
|
-
|
|
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" ?
|
|
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
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAsB,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC3H,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAsB,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,sBAAsB,GAAG,sBAAsB,CAAA;AAErD,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAgB,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,EAAE,wBAAwB,CAAC;CACzI,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA+E;IAC/G,kBAAkB,EAAE,CAAA;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAA;IACzE,IAAI,QAAuB,CAAA;IAC3B,IAAI,CAAC;QACD,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAAC,mBAAmB,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/F,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IAEpC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAChG,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,CAAA;IAC7D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,oBAAoB,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACxE,CAAC;SAAM,CAAC;QACJ,MAAM,wBAAwB,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,YAAY,EAAE,CAAA;IACzH,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,IAAI,GAAG,SAAS,MAAM,GAAG,CAAC,CAAA;AAC9G,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,QAAuB,EAAE,SAAiB;IAC9E,IAAI,CAAC,QAAQ,CAAC,UAAU;QAAE,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE,qEAAqE,CAAC,CAAA;IAC9I,2GAA2G;IAC3G,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAA;IAC1E,IAAI,KAAkC,CAAA;IACtC,IAAI,CAAC;QACD,sFAAsF;QACtF,KAAK,GAAG,MAAM,uBAAuB,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;IAC3F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChI,CAAC;IAED,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAA;IACvC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,MAAM,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAA;IAC7D,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QACtD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzF,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE,uDAAuD,CAAC,CAAA;QAC1G,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9D,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC3H,CAAC;IACD,gFAAgF;IAChF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACtD,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAC/E,IAAI,cAAc,CAAC,UAAU,CAAC,sCAAsC,CAAC;QAAE,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;AACrG,CAAC;AAED,KAAK,UAAU,mBAAmB;IAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzE,MAAM,KAAK,GAAG,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAA;IAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAqB,CAAC,CAAC,CAAA;AAChI,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,sBAAsB,CAAC,SAAiB;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAC9F,IAAI,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAAE,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACzG,CAAC;AAED,yFAAyF;AACzF,SAAS,kBAAkB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,sBAAsB,GAAG,CAAC,CAAC,OAAO,CAAC,6BAA6B,EAAE,mCAAmC,CAAC,CAAA;AAC7J,CAAC;AAED,SAAS,WAAW,CAAC,QAAuB;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAA;IAClD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7B,IAAI,oBAAoB,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAA;IACpD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAAC,6BAA6B,EAAE,0DAA0D,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3I,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;QACnF,MAAM,IAAI,QAAQ,CAAC,wBAAwB,EAAE,0EAA0E,EAAE;YACrH,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,+FAA+F;SAC1G,CAAC,CAAA;IACN,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAA;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,QAAQ,CAAC,mBAAmB,EAAE,6EAA6E,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;IACpJ,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,8CAA8C,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IAC/E,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAQ,EAAE,MAA0B;IAC7D,IAAI,QAAkB,CAAA;IACtB,IAAI,CAAC;QACD,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YACxB,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACjG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,OAAO;SACpB,CAAC,CAAA;IACN,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,QAAQ,CAAC,4BAA4B,EAAE,qFAAqF,CAAC,CAAA;IAC3I,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;QAC7B,MAAM,MAAM,GACR,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAC9C,CAAC,CAAC,uHAAuH;YACzH,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;gBACvB,CAAC,CAAC,iIAAiI;gBACnI,CAAC,CAAC,kDAAkD,CAAA;QAC9D,MAAM,IAAI,QAAQ,CAAC,4BAA4B,EAAE,uCAAuC,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5H,CAAC;IACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACnF,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,QAAQ,CAAC,wBAAwB,EAAE,oDAAoD,CAAC,CAAA;IACvH,OAAO,MAAM,CAAC,IAAI,CAAA;AACtB,CAAC"}
|
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
|
|
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":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,kBAAkB,EAAE,CAAA;AACpB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,MAAM,sBAAsB,GAAG,CAAC,uBAAuB,EAAE,4EAA4E,CAAU,CAAA;AAE/I,SAAS,mBAAmB,CAAC,OAAgB;IACzC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAY,CAAA;IACzC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AACrC,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;AACtF,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE;IACtD,mBAAmB,CAAC,aAAa,CAAC,CAAA;AACtC,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAA;AACzC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAA;AAC3E,KAAK;KACA,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,eAAe,EAAE,oCAAoC,EAAE,MAAM,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,CAAC;KAChE,MAAM,CAAC,QAAQ,CAAC,CAAA;AACrB,KAAK;KACA,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,yEAAyE,CAAC;KACtF,MAAM,CAAC,uBAAuB,EAAE,
|
|
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.
|
|
3
|
+
"version": "0.9.20",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"repository": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"commander": "^14.0.0",
|
|
29
29
|
"conf": "^15.1.0",
|
|
30
30
|
"dotenv": "^17.4.2",
|
|
31
|
-
"durable-actors": "0.8.
|
|
31
|
+
"durable-actors": "0.8.1",
|
|
32
32
|
"fflate": "^0.8.0",
|
|
33
33
|
"handlebars": "^4.7.9",
|
|
34
34
|
"import-meta-resolve": "^4.2.0",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"tsx": "^4.0.0",
|
|
41
41
|
"typescript": "^5.0.0",
|
|
42
42
|
"zod": "^4.3.6",
|
|
43
|
-
"terse-
|
|
44
|
-
"terse-
|
|
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
|
+
}
|