durable-actors 0.4.2 → 0.4.4

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.
Files changed (59) hide show
  1. package/dist/cli/dev.d.ts +2 -0
  2. package/dist/cli/dev.d.ts.map +1 -1
  3. package/dist/cli/dev.js +1 -1
  4. package/dist/cli/dev.js.map +1 -1
  5. package/dist/cli/generate.d.ts.map +1 -1
  6. package/dist/cli/generate.js +4 -4
  7. package/dist/cli/generate.js.map +1 -1
  8. package/dist/client-runtime/http.d.ts +1 -0
  9. package/dist/client-runtime/http.d.ts.map +1 -1
  10. package/dist/client-runtime/http.js +20 -0
  11. package/dist/client-runtime/http.js.map +1 -1
  12. package/dist/compiler/actor-compiler.d.ts +5 -3
  13. package/dist/compiler/actor-compiler.d.ts.map +1 -1
  14. package/dist/compiler/actor-compiler.js +10 -3
  15. package/dist/compiler/actor-compiler.js.map +1 -1
  16. package/dist/compiler/declarations.d.ts +11 -0
  17. package/dist/compiler/declarations.d.ts.map +1 -0
  18. package/dist/compiler/declarations.js +218 -0
  19. package/dist/compiler/declarations.js.map +1 -0
  20. package/dist/compiler/generators/backend-generator.d.ts +1 -2
  21. package/dist/compiler/generators/backend-generator.d.ts.map +1 -1
  22. package/dist/compiler/generators/backend-generator.js +8 -119
  23. package/dist/compiler/generators/backend-generator.js.map +1 -1
  24. package/dist/compiler/generators/client-artifacts.d.ts +6 -0
  25. package/dist/compiler/generators/client-artifacts.d.ts.map +1 -0
  26. package/dist/compiler/generators/client-artifacts.js +94 -0
  27. package/dist/compiler/generators/client-artifacts.js.map +1 -0
  28. package/dist/compiler/generators/client-generator.d.ts +1 -2
  29. package/dist/compiler/generators/client-generator.d.ts.map +1 -1
  30. package/dist/compiler/generators/client-generator.js +2 -2
  31. package/dist/compiler/generators/client-generator.js.map +1 -1
  32. package/dist/compiler/json-schema.d.ts.map +1 -1
  33. package/dist/compiler/json-schema.js +84 -25
  34. package/dist/compiler/json-schema.js.map +1 -1
  35. package/dist/compiler/validate-public-contract.d.ts.map +1 -1
  36. package/dist/compiler/validate-public-contract.js +4 -0
  37. package/dist/compiler/validate-public-contract.js.map +1 -1
  38. package/dist/generated/client-runtime.d.ts.map +1 -1
  39. package/dist/generated/client-runtime.js +1 -1
  40. package/dist/generated/client-runtime.js.map +1 -1
  41. package/dist/localRuntime.d.ts +3 -1
  42. package/dist/localRuntime.d.ts.map +1 -1
  43. package/dist/localRuntime.js +2 -1
  44. package/dist/localRuntime.js.map +1 -1
  45. package/dist/projectSdk.d.ts +1 -1
  46. package/dist/projectSdk.d.ts.map +1 -1
  47. package/dist/projectSdk.js +2 -2
  48. package/dist/projectSdk.js.map +1 -1
  49. package/dist/templates/actor/package.json +1 -1
  50. package/dist/templates/ai-chat/package.json +1 -1
  51. package/dist/templates/chat/package.json +1 -1
  52. package/dist/templates/documents/package.json +1 -1
  53. package/dist/wire/public-contract.d.ts +6 -1
  54. package/dist/wire/public-contract.d.ts.map +1 -1
  55. package/package.json +6 -6
  56. package/dist/compiler/generators/typescript-generator.d.ts +0 -8
  57. package/dist/compiler/generators/typescript-generator.d.ts.map +0 -1
  58. package/dist/compiler/generators/typescript-generator.js +0 -157
  59. 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
- async function backendSource(actors, contracts, wireNames) {
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.", exampleType && `type State = actors.${exampleType}.State`)}
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
- async function actorSource(actor, wireNames) {
26
- const { declarations, types, stubName, methodsName } = await rpcDeclarations(actor.rpc, wireNames);
27
- const methods = actor.rpc.methods.map((method, index) => methodDeclaration(method, index, types)).join("\n");
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
- ${declarations}
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 ? `${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":"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"}
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: readonly SocketContract[] | PublicActorContract, directory: string): Promise<void>;
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,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAIxE,iBAAe,cAAc,CACzB,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,mBAAmB,EACtD,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CASf;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
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 { generateTypeScript } from "./typescript-generator.js";
3
+ import { generateClientArtifacts } from "./client-artifacts.js";
4
4
  async function generateClient(input, directory) {
5
- const artifacts = await generateTypeScript(input);
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;AAK5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,KAAK,UAAU,cAAc,CACzB,KAAsD,EACtD,SAAiB;IAEjB,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACjD,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
+ {"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,CAmBxF;AAiDD,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"}
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 generator = new JsonSchemaGenerator([], types, {}, {}, checker, {
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(types).filter(name => !(types[name].flags & ts.TypeFlags.Never));
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.keys(types))
19
- if (types[name].flags & ts.TypeFlags.Never)
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(types))
23
- preserveTypeNames(checker, type, definitions[name], definitions, seen);
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 preserveTypeNames(checker, type, schema, definitions, seen) {
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
- if (schema.$ref) {
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
- preserveTypeNames(checker, type, definitions[key], definitions, seen);
90
+ preserveTypes(checker, type, definitions[key], definitions, namesByType, seen);
35
91
  return;
36
92
  }
37
- const name = sourceTypeName(type);
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
- const visit = (child, definition) => preserveTypeNames(checker, child, definition, definitions, seen);
51
- if (checker.isArrayType(type) || checker.isTupleType(type) || type.getSymbol()?.name === "ReadonlyArray") {
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
- const indexType = checker.getIndexTypeOfType(type, ts.IndexKind.String);
68
- if (indexType)
69
- visit(indexType, schema.additionalProperties);
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":"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"}
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;AAuJD,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
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,CAA0onC,CAAA"}
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,CAAsouC,CAAA"}