durable-actors 0.4.2 → 0.4.3
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/dist/cli/dev.d.ts +2 -0
- package/dist/cli/dev.d.ts.map +1 -1
- package/dist/cli/dev.js +1 -1
- package/dist/cli/dev.js.map +1 -1
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +4 -4
- package/dist/cli/generate.js.map +1 -1
- package/dist/compiler/actor-compiler.d.ts +5 -3
- package/dist/compiler/actor-compiler.d.ts.map +1 -1
- package/dist/compiler/actor-compiler.js +10 -3
- package/dist/compiler/actor-compiler.js.map +1 -1
- package/dist/compiler/declarations.d.ts +11 -0
- package/dist/compiler/declarations.d.ts.map +1 -0
- package/dist/compiler/declarations.js +218 -0
- package/dist/compiler/declarations.js.map +1 -0
- package/dist/compiler/generators/backend-generator.d.ts +1 -2
- package/dist/compiler/generators/backend-generator.d.ts.map +1 -1
- package/dist/compiler/generators/backend-generator.js +8 -119
- package/dist/compiler/generators/backend-generator.js.map +1 -1
- package/dist/compiler/generators/client-artifacts.d.ts +6 -0
- package/dist/compiler/generators/client-artifacts.d.ts.map +1 -0
- package/dist/compiler/generators/client-artifacts.js +94 -0
- package/dist/compiler/generators/client-artifacts.js.map +1 -0
- package/dist/compiler/generators/client-generator.d.ts +1 -2
- package/dist/compiler/generators/client-generator.d.ts.map +1 -1
- package/dist/compiler/generators/client-generator.js +2 -2
- package/dist/compiler/generators/client-generator.js.map +1 -1
- package/dist/compiler/json-schema.d.ts.map +1 -1
- package/dist/compiler/json-schema.js +84 -25
- package/dist/compiler/json-schema.js.map +1 -1
- package/dist/compiler/validate-public-contract.d.ts.map +1 -1
- package/dist/compiler/validate-public-contract.js +4 -0
- package/dist/compiler/validate-public-contract.js.map +1 -1
- package/dist/generated/client-runtime.d.ts.map +1 -1
- package/dist/generated/client-runtime.js +1 -1
- package/dist/generated/client-runtime.js.map +1 -1
- package/dist/localRuntime.d.ts +3 -1
- package/dist/localRuntime.d.ts.map +1 -1
- package/dist/localRuntime.js +2 -1
- package/dist/localRuntime.js.map +1 -1
- package/dist/projectSdk.d.ts +1 -1
- package/dist/projectSdk.d.ts.map +1 -1
- package/dist/projectSdk.js +2 -2
- package/dist/projectSdk.js.map +1 -1
- package/dist/templates/actor/package.json +1 -1
- package/dist/templates/ai-chat/package.json +1 -1
- package/dist/templates/chat/package.json +1 -1
- package/dist/templates/documents/package.json +1 -1
- package/dist/wire/public-contract.d.ts +6 -1
- package/dist/wire/public-contract.d.ts.map +1 -1
- package/package.json +6 -6
- package/dist/compiler/generators/typescript-generator.d.ts +0 -8
- package/dist/compiler/generators/typescript-generator.d.ts.map +0 -1
- package/dist/compiler/generators/typescript-generator.js +0 -157
- package/dist/compiler/generators/typescript-generator.js.map +0 -1
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import { compile } from "json-schema-to-typescript";
|
|
2
1
|
import ts from "typescript";
|
|
3
2
|
import { usageComment } from "./usage-comment.js";
|
|
4
|
-
|
|
5
|
-
const sources =
|
|
6
|
-
for (const { actorName } of contracts) {
|
|
7
|
-
const actor = actors.find(actor => actor.actorName === actorName);
|
|
8
|
-
sources.push(actor
|
|
9
|
-
? await actorSource(actor, wireNames.get(actorName) ?? [])
|
|
10
|
-
: { declarations: "", descriptor: actorDescriptor(actorName) });
|
|
11
|
-
}
|
|
12
|
-
const exampleType = contracts[0]?.actorName;
|
|
3
|
+
function backendSource(actors) {
|
|
4
|
+
const sources = actors.map(actorSource);
|
|
13
5
|
const exampleActor = actors[0]?.actorName;
|
|
14
|
-
return `${usageComment("Types for actor state and methods.",
|
|
6
|
+
return `${usageComment("Types for actor state and methods.", exampleActor && `type State = actors.${exampleActor}.State`)}
|
|
15
7
|
export declare namespace actors {
|
|
16
8
|
${sources.map(source => source.declarations).join("\n")}
|
|
17
9
|
}
|
|
@@ -22,17 +14,14 @@ ${sources.map(source => source.descriptor).join(",\n")}
|
|
|
22
14
|
}
|
|
23
15
|
`;
|
|
24
16
|
}
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
const
|
|
17
|
+
function actorSource(actor) {
|
|
18
|
+
const stubName = "Stub";
|
|
19
|
+
const methodsName = "$MethodTypes";
|
|
28
20
|
const descriptors = actor.rpc.methods.map(method => ({ name: method.name, result: method.result.kind }));
|
|
29
21
|
const stub = `actors.${actor.actorName}.${stubName}`;
|
|
30
22
|
return {
|
|
31
23
|
declarations: `export namespace ${actor.actorName} {
|
|
32
|
-
${
|
|
33
|
-
export interface ${stubName} {
|
|
34
|
-
${methods}
|
|
35
|
-
}
|
|
24
|
+
export type ${stubName} = $ActorTypes[${JSON.stringify(actor.actorName)}]["Methods"]
|
|
36
25
|
${methodTypes(actor.actorName, actor.rpc.methods, stubName, methodsName)}
|
|
37
26
|
}`,
|
|
38
27
|
descriptor: actorDescriptor(actor.actorName, `get(actorId: string, transport?: import("./runtime/index.js").ActorRpcTransport): ${stub} {
|
|
@@ -42,7 +31,7 @@ ${methodTypes(actor.actorName, actor.rpc.methods, stubName, methodsName)}
|
|
|
42
31
|
}
|
|
43
32
|
function actorDescriptor(actorName, rpc) {
|
|
44
33
|
return `[${JSON.stringify(actorName)}]: {
|
|
45
|
-
${rpc
|
|
34
|
+
${rpc},
|
|
46
35
|
${usageComment("Allow a frontend connection after your backend checks the user's access.", `const grant = await actors.${actorName}.prepareWebsocket({ actorId: "actor-id", metadata })`)}
|
|
47
36
|
prepareWebsocket(
|
|
48
37
|
authorization: Omit<actors.${actorName}.Authorization, "actorName">,
|
|
@@ -73,106 +62,6 @@ export namespace Methods {
|
|
|
73
62
|
${namespaces.join("\n")}
|
|
74
63
|
}`;
|
|
75
64
|
}
|
|
76
|
-
async function rpcDeclarations(rpc, wireNames) {
|
|
77
|
-
const { properties, definitions } = rpcSchemaTypes(rpc);
|
|
78
|
-
const code = await compile({
|
|
79
|
-
...rpc.schema,
|
|
80
|
-
definitions,
|
|
81
|
-
type: "object",
|
|
82
|
-
properties,
|
|
83
|
-
required: Object.keys(properties),
|
|
84
|
-
additionalProperties: false
|
|
85
|
-
}, "RpcTypes", {
|
|
86
|
-
$refOptions: { resolve: { file: false, http: false } },
|
|
87
|
-
bannerComment: "",
|
|
88
|
-
unknownAny: true,
|
|
89
|
-
additionalProperties: false,
|
|
90
|
-
customName: (schema, key) => {
|
|
91
|
-
const name = schema.title || schema.$id || key;
|
|
92
|
-
const reserved = [
|
|
93
|
-
...wireNames,
|
|
94
|
-
"State",
|
|
95
|
-
"Metadata",
|
|
96
|
-
"Incoming",
|
|
97
|
-
"Outgoing",
|
|
98
|
-
"Connection",
|
|
99
|
-
"Authorization",
|
|
100
|
-
"Methods",
|
|
101
|
-
"Parameters",
|
|
102
|
-
"ReturnType",
|
|
103
|
-
"Awaited"
|
|
104
|
-
];
|
|
105
|
-
let available = name;
|
|
106
|
-
while (reserved.includes(available))
|
|
107
|
-
available += "Data";
|
|
108
|
-
return available === name ? undefined : available;
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
return readRpcDeclarations(code, wireNames);
|
|
112
|
-
}
|
|
113
|
-
function rpcSchemaTypes(rpc) {
|
|
114
|
-
const properties = Object.create(null);
|
|
115
|
-
const definitions = { ...rpc.schema.definitions };
|
|
116
|
-
const add = (name, type, displayName) => {
|
|
117
|
-
const key = type.$ref.slice("#/definitions/".length);
|
|
118
|
-
const definition = definitions[key];
|
|
119
|
-
properties[name] = typeof definition === "boolean" ? definition : type;
|
|
120
|
-
if (definition && typeof definition === "object" && !definition.title && !definition.$ref)
|
|
121
|
-
definitions[key] = { ...definition, title: displayName };
|
|
122
|
-
};
|
|
123
|
-
rpc.methods.forEach((method, methodIndex) => {
|
|
124
|
-
method.parameters.forEach((parameter, index) => add(`m${methodIndex}p${index}`, parameter.type, `${method.name} ${parameter.name}`));
|
|
125
|
-
if (method.result.kind === "value")
|
|
126
|
-
add(`m${methodIndex}result`, method.result.type, `${method.name} result`);
|
|
127
|
-
});
|
|
128
|
-
return { properties, definitions };
|
|
129
|
-
}
|
|
130
|
-
function readRpcDeclarations(code, wireNames) {
|
|
131
|
-
const source = ts.createSourceFile("types.ts", code, ts.ScriptTarget.Latest, true);
|
|
132
|
-
const root = source.statements.find(statement => ts.isInterfaceDeclaration(statement) && statement.name.text === "RpcTypes");
|
|
133
|
-
const types = new Map(root.members
|
|
134
|
-
.filter(ts.isPropertySignature)
|
|
135
|
-
.map(property => [property.name.text, property.type.getText(source)]));
|
|
136
|
-
const statements = source.statements.filter(statement => statement !== root);
|
|
137
|
-
const declarations = statements.map(statement => statement.getText(source)).join("\n\n");
|
|
138
|
-
return {
|
|
139
|
-
declarations,
|
|
140
|
-
types,
|
|
141
|
-
stubName: availableTypeName(statements, "Stub", wireNames),
|
|
142
|
-
methodsName: availableTypeName(statements, "$MethodTypes", wireNames)
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
function availableTypeName(statements, proposed, reserved) {
|
|
146
|
-
const declarationNames = new Set(statements.flatMap(statement => ts.isInterfaceDeclaration(statement) ||
|
|
147
|
-
ts.isTypeAliasDeclaration(statement) ||
|
|
148
|
-
ts.isEnumDeclaration(statement)
|
|
149
|
-
? [statement.name.text]
|
|
150
|
-
: []));
|
|
151
|
-
let name = proposed;
|
|
152
|
-
while (declarationNames.has(name) || reserved.includes(name))
|
|
153
|
-
name += "_";
|
|
154
|
-
return name;
|
|
155
|
-
}
|
|
156
|
-
function methodDeclaration(method, index, types) {
|
|
157
|
-
const used = new Set();
|
|
158
|
-
const parameters = method.parameters
|
|
159
|
-
.map((parameter, parameterIndex) => {
|
|
160
|
-
const name = parameterName(parameter.name, parameterIndex, used);
|
|
161
|
-
const prefix = parameter.rest ? "..." : "";
|
|
162
|
-
const optional = parameter.optional ? "?" : "";
|
|
163
|
-
return `${prefix}${name}${optional}: ${types.get(`m${index}p${parameterIndex}`)}`;
|
|
164
|
-
})
|
|
165
|
-
.join(", ");
|
|
166
|
-
const result = method.result.kind === "void" ? "void" : types.get(`m${index}result`);
|
|
167
|
-
return ` ${JSON.stringify(method.name)}(${parameters}): Promise<${result}>`;
|
|
168
|
-
}
|
|
169
|
-
function parameterName(proposed, index, used) {
|
|
170
|
-
let name = isIdentifier(proposed) ? proposed : `arg${index}`;
|
|
171
|
-
while (used.has(name))
|
|
172
|
-
name += "_";
|
|
173
|
-
used.add(name);
|
|
174
|
-
return name;
|
|
175
|
-
}
|
|
176
65
|
function isIdentifier(name) {
|
|
177
66
|
const scanner = ts.createScanner(ts.ScriptTarget.Latest, false, ts.LanguageVariant.Standard, name);
|
|
178
67
|
return scanner.scan() === ts.SyntaxKind.Identifier && scanner.scan() === ts.SyntaxKind.EndOfFileToken;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-generator.js","sourceRoot":"","sources":["../../../src/compiler/generators/backend-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"backend-generator.js","sourceRoot":"","sources":["../../../src/compiler/generators/backend-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PublicActorContract } from "../../wire/public-contract.js";
|
|
2
|
+
/** Returns JavaScript and TypeScript declarations with a standalone runtime, without writing files or executing actor code. */
|
|
3
|
+
declare function generateClientArtifacts(input: PublicActorContract): Promise<ReadonlyMap<string, string>>;
|
|
4
|
+
export { generateClientArtifacts };
|
|
5
|
+
export type { PublicActorContract };
|
|
6
|
+
//# sourceMappingURL=client-artifacts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-artifacts.d.ts","sourceRoot":"","sources":["../../../src/compiler/generators/client-artifacts.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAMxE,+HAA+H;AAC/H,iBAAe,uBAAuB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAmBvG;AA+ED,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAClC,YAAY,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { format } from "prettier";
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
import { runtimeFiles } from "../../generated/client-runtime.js";
|
|
4
|
+
import { parsePublicContract } from "../validate-public-contract.js";
|
|
5
|
+
import { backendSource } from "./backend-generator.js";
|
|
6
|
+
import { usageComment } from "./usage-comment.js";
|
|
7
|
+
/** Returns JavaScript and TypeScript declarations with a standalone runtime, without writing files or executing actor code. */
|
|
8
|
+
async function generateClientArtifacts(input) {
|
|
9
|
+
const document = parsePublicContract(input);
|
|
10
|
+
const contracts = document.actors.map(actor => actor.socket);
|
|
11
|
+
const declarations = contracts.map(contract => actorDeclarations(contract));
|
|
12
|
+
const exampleActor = contracts[0]?.actorName;
|
|
13
|
+
const source = `${usageComment("Use this file to call actors and prepare WebSocket access from your backend.", 'import { actors, ActorProxy, type ActorAuthorization } from "./generated/index.js"')}
|
|
14
|
+
import { createActorStub as $createActorStub, SocketProxy as $SocketProxy } from "./runtime/index.js"
|
|
15
|
+
import type { ActorTypes as $ActorTypes } from "./types.js"
|
|
16
|
+
export { createActorTransport, ActorInvocationError } from "./runtime/index.js"
|
|
17
|
+
export type { ActorRpcTransport, DurableActorsClientOptions, SocketGrant, SocketProxyDependencies, SocketProxyOptions } from "./runtime/index.js"
|
|
18
|
+
|
|
19
|
+
${usageComment("Types for actor state and socket messages.", exampleActor && `type State = actors.${exampleActor}.State`)}
|
|
20
|
+
export declare namespace actors {
|
|
21
|
+
${declarations.join("\n")}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
${backendSource(document.actors)}
|
|
25
|
+
${proxySource(contracts)}`;
|
|
26
|
+
return clientArtifacts(source, document.typescript);
|
|
27
|
+
}
|
|
28
|
+
async function clientArtifacts(source, typescript) {
|
|
29
|
+
const options = { target: ts.ScriptTarget.ES2022, module: ts.ModuleKind.ESNext };
|
|
30
|
+
const javascript = ts.transpileModule(source, { compilerOptions: options, fileName: "index.ts" });
|
|
31
|
+
const declaration = ts.transpileDeclaration(source, { compilerOptions: options, fileName: "index.ts" });
|
|
32
|
+
if (declaration.diagnostics?.length)
|
|
33
|
+
throw new Error(declaration.diagnostics.map(d => ts.flattenDiagnosticMessageText(d.messageText, "\n")).join("\n"));
|
|
34
|
+
return new Map([
|
|
35
|
+
["index.js", await formatSource(javascript.outputText)],
|
|
36
|
+
["index.d.ts", await formatSource(declaration.outputText)],
|
|
37
|
+
["types.d.ts", await formatSource(typescript.declarations)],
|
|
38
|
+
[
|
|
39
|
+
"package.json",
|
|
40
|
+
JSON.stringify({ private: true, type: "module", peerDependencies: typescript.dependencies }, null, 2) + "\n"
|
|
41
|
+
],
|
|
42
|
+
...Object.entries(runtimeFiles)
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
function formatSource(source) {
|
|
46
|
+
return format(`// Generated by durable-actors; regenerate instead of editing.\n${source}`, {
|
|
47
|
+
parser: "typescript",
|
|
48
|
+
tabWidth: 4,
|
|
49
|
+
printWidth: 120,
|
|
50
|
+
semi: false,
|
|
51
|
+
trailingComma: "none"
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function actorDeclarations(contract) {
|
|
55
|
+
return `export namespace ${contract.actorName} {
|
|
56
|
+
${["Metadata", "Incoming", "Outgoing", "State"].map(kind => `export type ${kind} = $ActorTypes[${JSON.stringify(contract.actorName)}][${JSON.stringify(kind)}]`).join("\n")}
|
|
57
|
+
export interface Authorization {
|
|
58
|
+
actorName: ${JSON.stringify(contract.actorName)}
|
|
59
|
+
actorId: string
|
|
60
|
+
metadata: Metadata
|
|
61
|
+
clientLocation?: { latitude: number; longitude: number }
|
|
62
|
+
authorizationLifetimeMs?: number
|
|
63
|
+
}
|
|
64
|
+
}`;
|
|
65
|
+
}
|
|
66
|
+
function proxySource(contracts) {
|
|
67
|
+
const actors = contracts
|
|
68
|
+
.map(({ actorName }) => `[${JSON.stringify(actorName)}]: {} as import("./runtime/index.js").ProxyActor<actors.${actorName}.Metadata>`)
|
|
69
|
+
.join(", ");
|
|
70
|
+
const authorization = contracts.map(({ actorName }) => `actors.${actorName}.Authorization`).join(" | ") || "never";
|
|
71
|
+
const exampleActor = contracts[0]?.actorName;
|
|
72
|
+
return `${usageComment("The actor and connection details approved by your backend.", exampleActor && `const authorization: ActorAuthorization = { actorName: ${JSON.stringify(exampleActor)}, actorId: "actor-id", metadata }`)}
|
|
73
|
+
export type ActorAuthorization = ${authorization}
|
|
74
|
+
|
|
75
|
+
${usageComment("Allow a frontend connection after your backend checks the user's access.", exampleActor && `const grant = await ActorProxy.handle({ actorName: ${JSON.stringify(exampleActor)}, actorId: "actor-id", metadata })`)}
|
|
76
|
+
export class ActorProxy extends $SocketProxy<{
|
|
77
|
+
${contracts.map(({ actorName }) => `[${JSON.stringify(actorName)}]: import("./runtime/index.js").ProxyActor<actors.${actorName}.Metadata>`).join("\n")}
|
|
78
|
+
}> {
|
|
79
|
+
constructor(options: import("./runtime/index.js").SocketProxyOptions = {}, dependencies: import("./runtime/index.js").SocketProxyDependencies = {}) {
|
|
80
|
+
super({ ${actors} }, options, dependencies)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
handle(authorization: ActorAuthorization): Promise<import("./runtime/index.js").SocketGrant> {
|
|
84
|
+
return super.handle(authorization)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
static handle(authorization: ActorAuthorization, options: import("./runtime/index.js").SocketProxyOptions = {}): Promise<import("./runtime/index.js").SocketGrant> {
|
|
88
|
+
return new ActorProxy(options).handle(authorization)
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
`;
|
|
92
|
+
}
|
|
93
|
+
export { generateClientArtifacts };
|
|
94
|
+
//# sourceMappingURL=client-artifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-artifacts.js","sourceRoot":"","sources":["../../../src/compiler/generators/client-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { SocketContract } from "../../wire/contract.js";
|
|
2
1
|
import type { PublicActorContract } from "../../wire/public-contract.js";
|
|
3
|
-
declare function generateClient(input:
|
|
2
|
+
declare function generateClient(input: PublicActorContract, directory: string): Promise<void>;
|
|
4
3
|
export { generateClient };
|
|
5
4
|
//# sourceMappingURL=client-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-generator.d.ts","sourceRoot":"","sources":["../../../src/compiler/generators/client-generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"client-generator.d.ts","sourceRoot":"","sources":["../../../src/compiler/generators/client-generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAIxE,iBAAe,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS1F;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mkdir, rm, writeFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import {
|
|
3
|
+
import { generateClientArtifacts } from "./client-artifacts.js";
|
|
4
4
|
async function generateClient(input, directory) {
|
|
5
|
-
const artifacts = await
|
|
5
|
+
const artifacts = await generateClientArtifacts(input);
|
|
6
6
|
await mkdir(directory, { recursive: true });
|
|
7
7
|
await rm(path.join(directory, "runtime"), { recursive: true, force: true });
|
|
8
8
|
for (const [file, contents] of artifacts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-generator.js","sourceRoot":"","sources":["../../../src/compiler/generators/client-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"client-generator.js","sourceRoot":"","sources":["../../../src/compiler/generators/client-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,IAAI,MAAM,WAAW,CAAA;AAI5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,KAAK,UAAU,cAAc,CAAC,KAA0B,EAAE,SAAiB;IACvE,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,CAAA;IACtD,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3E,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC9C,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,MAAM,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAC1C,CAAC;AACL,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/compiler/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAyB,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,MAAM,YAAY,CAAA;AAK3B,iBAAS,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../src/compiler/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAyB,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,MAAM,YAAY,CAAA;AAK3B,iBAAS,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,WAAW,CAyBxF;AAiHD,iBAAS,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,GAAG,SAAS,CAWzD;AAED,iBAAS,cAAc,CACnB,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,KAAK,EAAE,MAAM,EACb,QAAQ,UAAQ,EAChB,IAAI,eAAqB,GAC1B,IAAI,CAkDN;AAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -2,7 +2,8 @@ import ts from "typescript";
|
|
|
2
2
|
import { JsonSchemaGenerator, getDefaultArgs } from "typescript-json-schema";
|
|
3
3
|
import { ActorDefinitionError } from "../errors.js";
|
|
4
4
|
function jsonSchema(checker, types) {
|
|
5
|
-
const
|
|
5
|
+
const { allTypes, namesByType } = collectSchemaTypes(checker, types);
|
|
6
|
+
const generator = new JsonSchemaGenerator([], allTypes, {}, {}, checker, {
|
|
6
7
|
...getDefaultArgs(),
|
|
7
8
|
required: true,
|
|
8
9
|
strictNullChecks: true,
|
|
@@ -12,43 +13,99 @@ function jsonSchema(checker, types) {
|
|
|
12
13
|
topRef: false,
|
|
13
14
|
defaultProps: false
|
|
14
15
|
});
|
|
15
|
-
const names = Object.keys(
|
|
16
|
+
const names = Object.keys(allTypes).filter(name => !(allTypes[name].flags & (ts.TypeFlags.Never | ts.TypeFlags.Undefined)));
|
|
16
17
|
const generated = generator.getSchemaForSymbols(names);
|
|
17
18
|
const definitions = { ...generated.definitions };
|
|
18
|
-
for (const name of Object.
|
|
19
|
-
if (
|
|
19
|
+
for (const [name, type] of Object.entries(allTypes)) {
|
|
20
|
+
if (type.flags & ts.TypeFlags.Never)
|
|
20
21
|
definitions[name] = false;
|
|
22
|
+
if (type.flags & ts.TypeFlags.Undefined)
|
|
23
|
+
definitions[name] = { anyOf: [false] };
|
|
24
|
+
}
|
|
21
25
|
const seen = new Set();
|
|
22
|
-
for (const [name, type] of Object.entries(
|
|
23
|
-
|
|
26
|
+
for (const [name, type] of Object.entries(allTypes))
|
|
27
|
+
preserveTypes(checker, type, definitions[name], definitions, namesByType, seen);
|
|
24
28
|
return { $schema: "http://json-schema.org/draft-07/schema#", definitions };
|
|
25
29
|
}
|
|
26
|
-
function
|
|
30
|
+
function collectSchemaTypes(checker, roots) {
|
|
31
|
+
const allTypes = { ...roots };
|
|
32
|
+
const namesByType = new Map(Object.entries(roots).map(([name, type]) => [type, name]));
|
|
33
|
+
const seen = new Set();
|
|
34
|
+
const register = (type) => {
|
|
35
|
+
if (!namesByType.has(type)) {
|
|
36
|
+
const name = `Type:${namesByType.size}`;
|
|
37
|
+
namesByType.set(type, name);
|
|
38
|
+
allTypes[name] = type;
|
|
39
|
+
}
|
|
40
|
+
visit(type);
|
|
41
|
+
};
|
|
42
|
+
const visit = (type) => {
|
|
43
|
+
if (seen.has(type))
|
|
44
|
+
return;
|
|
45
|
+
seen.add(type);
|
|
46
|
+
if (type.isUnionOrIntersection()) {
|
|
47
|
+
type.types.forEach(register);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (isArray(checker, type)) {
|
|
51
|
+
checker.getTypeArguments(type).forEach(visit);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (!(type.flags & ts.TypeFlags.Object))
|
|
55
|
+
return;
|
|
56
|
+
for (const property of type.getProperties()) {
|
|
57
|
+
const declaration = property.valueDeclaration ?? property.declarations?.[0];
|
|
58
|
+
if (declaration)
|
|
59
|
+
visit(checker.getTypeOfSymbolAtLocation(property, declaration));
|
|
60
|
+
}
|
|
61
|
+
const indexType = checker.getIndexTypeOfType(type, ts.IndexKind.String);
|
|
62
|
+
if (indexType)
|
|
63
|
+
register(indexType);
|
|
64
|
+
};
|
|
65
|
+
Object.values(roots).forEach(visit);
|
|
66
|
+
return { allTypes, namesByType };
|
|
67
|
+
}
|
|
68
|
+
function preserveTypes(checker, type, schema, definitions, namesByType, seen) {
|
|
27
69
|
if (!schema || typeof schema === "boolean" || seen.has(schema))
|
|
28
70
|
return;
|
|
29
71
|
seen.add(schema);
|
|
30
|
-
|
|
72
|
+
const reference = (child) => ({
|
|
73
|
+
$ref: `#/definitions/${namesByType.get(child).replaceAll("~", "~0").replaceAll("/", "~1")}`
|
|
74
|
+
});
|
|
75
|
+
if (type.isUnion() &&
|
|
76
|
+
type.types.some(member => member.flags &
|
|
77
|
+
(ts.TypeFlags.Object |
|
|
78
|
+
ts.TypeFlags.Intersection |
|
|
79
|
+
ts.TypeFlags.TemplateLiteral |
|
|
80
|
+
ts.TypeFlags.Undefined))) {
|
|
81
|
+
// Rebuild branches from compiler types: the schema library coalesces primitive unions and loses their correspondence.
|
|
82
|
+
for (const key of ["$ref", "type", "enum", "const", "anyOf", "oneOf"])
|
|
83
|
+
delete schema[key];
|
|
84
|
+
schema.anyOf = type.types.filter(member => !(member.flags & ts.TypeFlags.Undefined)).map(reference);
|
|
85
|
+
}
|
|
86
|
+
else if (schema.$ref) {
|
|
31
87
|
const key = decodeURIComponent(schema.$ref.slice("#/definitions/".length))
|
|
32
88
|
.replaceAll("~1", "/")
|
|
33
89
|
.replaceAll("~0", "~");
|
|
34
|
-
|
|
90
|
+
preserveTypes(checker, type, definitions[key], definitions, namesByType, seen);
|
|
35
91
|
return;
|
|
36
92
|
}
|
|
37
|
-
const
|
|
38
|
-
if (type.isUnion()) {
|
|
39
|
-
const members = type.types.filter(member => !(member.flags & ts.TypeFlags.Undefined));
|
|
40
|
-
if (members.length !== 1) {
|
|
41
|
-
if (name)
|
|
42
|
-
schema.title ??= name;
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
type = members[0];
|
|
46
|
-
}
|
|
47
|
-
const title = name ?? sourceTypeName(type);
|
|
93
|
+
const title = sourceTypeName(type);
|
|
48
94
|
if (title)
|
|
49
95
|
schema.title ??= title;
|
|
50
|
-
|
|
51
|
-
|
|
96
|
+
if (type.isUnion())
|
|
97
|
+
return;
|
|
98
|
+
if (type.isIntersection() && schema.allOf) {
|
|
99
|
+
schema.allOf = type.types.map(reference);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
preserveChildren(checker, type, schema, (child, definition) => preserveTypes(checker, child, definition, definitions, namesByType, seen));
|
|
103
|
+
const indexType = checker.getIndexTypeOfType(type, ts.IndexKind.String);
|
|
104
|
+
if (indexType && type.flags & ts.TypeFlags.Object && !isArray(checker, type))
|
|
105
|
+
schema.additionalProperties = reference(indexType);
|
|
106
|
+
}
|
|
107
|
+
function preserveChildren(checker, type, schema, visit) {
|
|
108
|
+
if (isArray(checker, type)) {
|
|
52
109
|
const elements = checker.getTypeArguments(type);
|
|
53
110
|
if (Array.isArray(schema.items))
|
|
54
111
|
schema.items.forEach((item, index) => {
|
|
@@ -59,14 +116,16 @@ function preserveTypeNames(checker, type, schema, definitions, seen) {
|
|
|
59
116
|
visit(elements[0], schema.items);
|
|
60
117
|
return;
|
|
61
118
|
}
|
|
119
|
+
if (!(type.flags & ts.TypeFlags.Object))
|
|
120
|
+
return;
|
|
62
121
|
for (const property of type.getProperties()) {
|
|
63
122
|
const declaration = property.valueDeclaration ?? property.declarations?.[0];
|
|
64
123
|
if (declaration)
|
|
65
124
|
visit(checker.getTypeOfSymbolAtLocation(property, declaration), schema.properties?.[property.name]);
|
|
66
125
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
126
|
+
}
|
|
127
|
+
function isArray(checker, type) {
|
|
128
|
+
return checker.isArrayType(type) || checker.isTupleType(type) || type.getSymbol()?.name === "ReadonlyArray";
|
|
70
129
|
}
|
|
71
130
|
function sourceTypeName(type) {
|
|
72
131
|
const symbol = type.aliasSymbol ?? type.getSymbol();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../../src/compiler/json-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEnD,SAAS,UAAU,CAAC,OAAuB,EAAE,KAA8B;IACvE,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../../src/compiler/json-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-public-contract.d.ts","sourceRoot":"","sources":["../../src/compiler/validate-public-contract.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAY,mBAAmB,EAAe,MAAM,4BAA4B,CAAA;AAE5F,iBAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAQhE;
|
|
1
|
+
{"version":3,"file":"validate-public-contract.d.ts","sourceRoot":"","sources":["../../src/compiler/validate-public-contract.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAY,mBAAmB,EAAe,MAAM,4BAA4B,CAAA;AAE5F,iBAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAQhE;AA2JD,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -125,6 +125,10 @@ const component = z
|
|
|
125
125
|
.regex(/^[A-Za-z0-9._-]+$/u);
|
|
126
126
|
const documentSchema = z.strictObject({
|
|
127
127
|
version: z.literal(1),
|
|
128
|
+
typescript: z.strictObject({
|
|
129
|
+
declarations: z.string().min(1),
|
|
130
|
+
dependencies: z.record(z.string().regex(/^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/u), z.string().min(1))
|
|
131
|
+
}),
|
|
128
132
|
actors: z.array(z.strictObject({
|
|
129
133
|
actorName: component,
|
|
130
134
|
socket: z.strictObject({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-public-contract.js","sourceRoot":"","sources":["../../src/compiler/validate-public-contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate-public-contract.js","sourceRoot":"","sources":["../../src/compiler/validate-public-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-runtime.d.ts","sourceRoot":"","sources":["../../src/generated/client-runtime.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"client-runtime.d.ts","sourceRoot":"","sources":["../../src/generated/client-runtime.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAmtsC,CAAA"}
|