terse-cli 0.7.0 → 0.8.0

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 (44) hide show
  1. package/README.md +35 -0
  2. package/dist/commands/actor.d.ts.map +1 -1
  3. package/dist/commands/actor.js +5 -2
  4. package/dist/commands/actor.js.map +1 -1
  5. package/dist/commands/actorGenerate.d.ts +2 -1
  6. package/dist/commands/actorGenerate.d.ts.map +1 -1
  7. package/dist/commands/actorGenerate.js +17 -5
  8. package/dist/commands/actorGenerate.js.map +1 -1
  9. package/dist/commands/deploy.d.ts.map +1 -1
  10. package/dist/commands/deploy.js +12 -35
  11. package/dist/commands/deploy.js.map +1 -1
  12. package/dist/commands/init.d.ts +3 -1
  13. package/dist/commands/init.d.ts.map +1 -1
  14. package/dist/commands/init.js +12 -3
  15. package/dist/commands/init.js.map +1 -1
  16. package/dist/index.js +5 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/productFeatures.d.ts +6 -2
  19. package/dist/productFeatures.d.ts.map +1 -1
  20. package/dist/productFeatures.js +10 -1
  21. package/dist/productFeatures.js.map +1 -1
  22. package/dist/providers/typescript/actorCodegen.d.ts.map +1 -1
  23. package/dist/providers/typescript/actorCodegen.js +2 -0
  24. package/dist/providers/typescript/actorCodegen.js.map +1 -1
  25. package/dist/providers/typescript/actorSources.d.ts +2 -1
  26. package/dist/providers/typescript/actorSources.d.ts.map +1 -1
  27. package/dist/providers/typescript/actorSources.js +3 -0
  28. package/dist/providers/typescript/actorSources.js.map +1 -1
  29. package/dist/pythonActors.d.ts +7 -0
  30. package/dist/pythonActors.d.ts.map +1 -0
  31. package/dist/pythonActors.js +65 -0
  32. package/dist/pythonActors.js.map +1 -0
  33. package/dist/sourceArchive.d.ts +11 -0
  34. package/dist/sourceArchive.d.ts.map +1 -0
  35. package/dist/sourceArchive.js +29 -0
  36. package/dist/sourceArchive.js.map +1 -0
  37. package/package.json +5 -5
  38. package/templates/python/generate.py +52 -0
  39. package/templates/python/init/actor.py.hbs +37 -0
  40. package/templates/python/init/gitignore.hbs +8 -0
  41. package/templates/python/init/package.json.hbs +9 -0
  42. package/templates/python/init/pyproject.toml.hbs +8 -0
  43. package/templates/python/init/requirements-dev.txt.hbs +1 -0
  44. package/templates/python/transport.py +171 -0
package/README.md CHANGED
@@ -67,6 +67,41 @@ See [self-hosting](https://docs.useterse.ai/self-hosting) for the full setup.
67
67
 
68
68
  ### Developing actors
69
69
 
70
+ For Python actors, install Python 3.11 or later and scaffold a Python project:
71
+
72
+ ```bash
73
+ terse init my-chat --language python
74
+ cd my-chat
75
+ terse actor dev
76
+ ```
77
+
78
+ Edit `src/actor.py`. Annotated fields persist by default; `emitted()` also broadcasts state changes. The scaffold includes typed connection metadata, incoming messages, and outgoing messages, with ordinary synchronous methods and socket hooks.
79
+
80
+ The CLI installs `durable-actors[codegen]` in `.venv` by default, runs strict mypy checks, and watches Python sources. The project environment takes precedence over an unrelated active virtualenv. Set `DURABLE_ACTORS_PYTHON` to select another interpreter; init installs dependencies into that interpreter, and actor commands use it too. `package.json` pins the Node tooling; you do not need a `tsconfig.json` or TypeScript actor code. Declare hosted runtime dependencies in `pyproject.toml`; `requirements-dev.txt` contains the local checking and generation tools.
81
+
82
+ In a Python application, install `durable-actors[codegen]` and generate its client:
83
+
84
+ ```bash
85
+ terse actor generate --language python
86
+ ```
87
+
88
+ ```python
89
+ from generated import actors
90
+
91
+ chat = actors.Chat.get("lobby")
92
+ member = actors.Chat.Member(name="Oli")
93
+ message: actors.Chat.Message = chat.post(member, "Hello")
94
+ print(message.author.name, message.text)
95
+ ```
96
+
97
+ Python contracts select Python generation automatically. The output defaults to `generated/`; `--out-dir` selects another package directory. Generated models, RPC methods, state subscriptions, and WebSocket messages retain their types and docstrings.
98
+
99
+ Run `terse deploy` from the actor project to deploy it. Python projects may also coexist with existing TypeScript workflows. Virtual environments and Python caches are excluded from deployment archives. A project has one actor entrypoint: `src/actor.py`, `src/actors.py`, `actor.py`, or `actors.py` for Python; existing TypeScript entrypoints take precedence when both are present.
100
+
101
+ Local clients use the runtime at port 7100. For deployed actors, set `TERSE_ACTOR_URL` and `TERSE_API_KEY` in the calling process, just as with TypeScript clients. Generated Python clients exchange the Terse credential for renewable actor sessions and obtain WebSocket grants from Terse. Your application must load its own `.env`; generated code does not embed credentials. Python support requires the matching Python-capable SDK and actor runtime release.
102
+
103
+ ### Developing TypeScript actors
104
+
70
105
  Install your actor project's dependencies and export your actors from `src/actors.ts`. From that project's root, alongside `package.json` and `tsconfig.json`, start a local instance:
71
106
 
72
107
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../../src/commands/actor.ts"],"names":[],"mappings":"AAaA,wBAAsB,QAAQ,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DjG"}
1
+ {"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../../src/commands/actor.ts"],"names":[],"mappings":"AAcA,wBAAsB,QAAQ,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DjG"}
@@ -9,10 +9,12 @@ import { ensureDotenvLoaded } from "../dotenv.js";
9
9
  import { loadProjectActorTools, resolveProjectActorTools } from "../projectActorTools.js";
10
10
  import { typeScriptProvider } from "../providers/typescript/TypeScriptProvider.js";
11
11
  import { ACTOR_ENTRY_FILE, resolveActorEntryFile } from "../providers/typescript/actorSources.js";
12
+ import { pythonExecutable } from "../pythonActors.js";
12
13
  export async function actorDev(options = {}) {
13
- const entryFile = resolveActorEntryFile(process.cwd()) ?? ACTOR_ENTRY_FILE;
14
- assertProjectRoot(typeScriptProvider, { requiredFiles: ["package.json", "tsconfig.json", entryFile], description: "Terse actor project root" });
15
14
  ensureDotenvLoaded();
15
+ const entryFile = resolveActorEntryFile(process.cwd()) ?? ACTOR_ENTRY_FILE;
16
+ const manifest = entryFile.endsWith(".py") ? "pyproject.toml" : "tsconfig.json";
17
+ assertProjectRoot(typeScriptProvider, { requiredFiles: ["package.json", manifest, entryFile], description: "Terse actor project root" });
16
18
  const projectId = options.projectId ?? ((process.env.TERSE_ACTOR_PROJECT_ID ?? process.env.DURABLE_ACTORS_PROJECT_ID)?.trim() || DEFAULT_ACTOR_DEV_PROJECT_ID);
17
19
  const configuredPort = (process.env.TERSE_ACTOR_PORT ?? process.env.DURABLE_ACTORS_PORT)?.trim();
18
20
  const port = options.port ?? (configuredPort ? Number(configuredPort) : DEFAULT_ACTOR_DEV_PORT);
@@ -28,6 +30,7 @@ catch (error) { console.error(error instanceof Error ? error.message : String(er
28
30
  const runtime = spawn(process.execPath, ["--input-type=module", "--eval", script], {
29
31
  env: {
30
32
  ...process.env,
33
+ ...(entryFile.endsWith(".py") ? { DURABLE_ACTORS_PYTHON: await pythonExecutable(project) } : {}),
31
34
  DURABLE_ACTORS_PROJECT_ID: projectId,
32
35
  DURABLE_ACTORS_PROJECT: process.cwd(),
33
36
  DURABLE_ACTORS_ENTRYPOINT: entryFile,
@@ -1 +1 @@
1
- {"version":3,"file":"actor.js","sourceRoot":"","sources":["../../src/commands/actor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actor.js","sourceRoot":"","sources":["../../src/commands/actor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAEhG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAAiD,EAAE;IAC9E,kBAAkB,EAAE,CAAA;IACpB,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAA;IAC1E,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAA;IAC/E,iBAAiB,CAAC,kBAAkB,EAAE,EAAE,aAAa,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAA;IACxI,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,IAAI,4BAA4B,CAAC,CAAA;IAC9J,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAA;IAChG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;IAC/F,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK;QAAE,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,gDAAgD,CAAC,CAAA;IAC7I,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAA;IACzG,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAC7B,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAA;IACnJ,MAAM,MAAM,GAAG,+BAA+B,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;kDACjD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;+GACmC,CAAA;IAC3G,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;QAC/E,GAAG,EAAE;YACD,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChG,yBAAyB,EAAE,SAAS;YACpC,sBAAsB,EAAE,OAAO,CAAC,GAAG,EAAE;YACrC,yBAAyB,EAAE,SAAS;YACpC,sBAAsB,EAAE,OAAO;YAC/B,qBAAqB,EAAE,MAAM;YAC7B,oCAAoC,EAAE,GAAG;SAC5C;QACD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,oBAAoB,IAAI,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAA;IAC/F,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACzD,MAAM,CAAC,EAAE,CACL,MAAM,EACN,oBAAoB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAC9F,CAAA;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACzD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;IAC9E,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,MAAM,IAAI,GAAG,GAAG,EAAE;QACd,QAAQ,GAAG,IAAI,CAAA;QACf,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACnB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC,CAAA;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC5B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC7B,IAAI,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC7B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACnC,IAAI,QAAQ,IAAI,IAAI,KAAK,CAAC;oBAAE,OAAO,EAAE,CAAA;;oBAChC,MAAM,CAAC,IAAI,QAAQ,CAAC,kBAAkB,EAAE,+BAA+B,MAAM,IAAI,IAAI,oCAAoC,CAAC,CAAC,CAAA;YACpI,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;YAAS,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC3B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACnB,MAAM,CAAC,KAAK,EAAE,CAAA;QACd,MAAM,CAAC,KAAK,EAAE,CAAA;IAClB,CAAC;AACL,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export declare function actorGenerate(options: {
2
- outDir: string;
2
+ outDir?: string;
3
+ language?: "python" | "typescript";
3
4
  }): Promise<void>;
4
5
  //# sourceMappingURL=actorGenerate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actorGenerate.d.ts","sourceRoot":"","sources":["../../src/commands/actorGenerate.ts"],"names":[],"mappings":"AAoBA,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC9E"}
1
+ {"version":3,"file":"actorGenerate.d.ts","sourceRoot":"","sources":["../../src/commands/actorGenerate.ts"],"names":[],"mappings":"AAoBA,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBnH"}
@@ -8,6 +8,7 @@ import { CliError } from "../cliError.js";
8
8
  import { BACKEND_URL } from "../config.js";
9
9
  import { ensureDotenvLoaded } from "../dotenv.js";
10
10
  import { loadProjectActorTools } from "../projectActorTools.js";
11
+ import { generatePythonActors } from "../pythonActors.js";
11
12
  import { getStoredApiKey } from "../userConfig.js";
12
13
  const publicationSchema = z.object({
13
14
  codeRevision: z.string().min(1).optional(),
@@ -16,7 +17,6 @@ const publicationSchema = z.object({
16
17
  });
17
18
  export async function actorGenerate(options) {
18
19
  ensureDotenvLoaded();
19
- const { generateClientArtifacts } = await loadProjectActorTools(process.cwd());
20
20
  const actorUrl = process.env.TERSE_ACTOR_URL?.trim() || DEFAULT_ACTOR_URL;
21
21
  let endpoint;
22
22
  try {
@@ -28,15 +28,29 @@ export async function actorGenerate(options) {
28
28
  const url = new URL(endpoint.contractUrl);
29
29
  const apiKey = actorApiKey(endpoint);
30
30
  const publication = await fetchContract(url, apiKey);
31
+ const language = options.language ?? (publication.contract.typescript ? "typescript" : "python");
32
+ const directory = path.resolve(options.outDir ?? (language === "python" ? "generated" : "src/terse.actors"));
33
+ if (language === "python") {
34
+ await generatePythonActors(publication.contract, directory);
35
+ }
36
+ else {
37
+ await generateTypeScriptActors(publication.contract, directory);
38
+ }
39
+ const source = publication.codeRevision ? `revision ${publication.codeRevision}` : `contract ${publication.contractHash}`;
40
+ console.log(`Generated actor client in ${path.relative(process.cwd(), directory) || "."} from ${source}.`);
41
+ }
42
+ async function generateTypeScriptActors(contract, directory) {
43
+ if (!contract.typescript)
44
+ throw new CliError("actor_generation_failed", "This actor contract supports Python clients. Use --language python.");
45
+ const { generateClientArtifacts } = await loadProjectActorTools(process.cwd());
31
46
  let files;
32
47
  try {
33
48
  // The upstream generator validates the complete public contract before emitting code.
34
- files = await generateClientArtifacts(publication.contract);
49
+ files = await generateClientArtifacts({ ...contract, typescript: contract.typescript });
35
50
  }
36
51
  catch (error) {
37
52
  throw new CliError("actor_generation_failed", formatActorDiagnostic(error instanceof Error ? error.message : String(error)));
38
53
  }
39
- const directory = path.resolve(options.outDir);
40
54
  for (const [fileName, code] of files) {
41
55
  if (fileName.startsWith("runtime/"))
42
56
  continue;
@@ -53,8 +67,6 @@ export async function actorGenerate(options) {
53
67
  const previousSource = await fs.readFile(previousEntry, "utf8").catch(() => "");
54
68
  if (previousSource.startsWith("// Generated by terse actor generate"))
55
69
  await fs.rm(previousEntry);
56
- const source = publication.codeRevision ? `revision ${publication.codeRevision}` : `contract ${publication.contractHash}`;
57
- console.log(`Generated actor client in ${path.relative(process.cwd(), directory) || "."} from ${source}.`);
58
70
  }
59
71
  function withTerseActorImports(code) {
60
72
  const source = ts.createSourceFile("index.ts", code, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
@@ -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,MAAM,YAAY,CAAA;AAC3B,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,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAsB,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,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,OAAgE;IAChG,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,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC5G,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,oBAAoB,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC/D,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,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAC9E,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,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAQ;QAC7C,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,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC9H,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,SAAS,qBAAqB,CAAC,IAAY;IACvC,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IACpG,MAAM,KAAK,GAAmD,EAAE,CAAA;IAChE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAC7H,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,MAAM,YAAY,GAAG,CAAC,IAAa,EAAQ,EAAE;QACzC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxH,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACvC,CAAC,CAAA;IACD,YAAY,CAAC,MAAM,CAAC,CAAA;IACpB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC7C,MAAM,gBAAgB,GAAG,CAAC,IAA6B,EAAW,EAAE,CAChE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC/K,MAAM,mBAAmB,GAAG,CAAC,KAA4B,EAAE,KAAa,EAAQ,EAAE;QAC9E,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACrI,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,CAAC,IAAa,EAAQ,EAAE;QAClC,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7I,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YAC1E,OAAM;QACV,CAAC;QACD,IAAI,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClG,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;YACzD,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC;YAAE,OAAM;QAC1D,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACvK,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YACnH,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,mBAAmB,CAAC,IAAI,CAAC,SAAU,EAAE,KAAK,CAAC,CAAA;QACjE,CAAC;QACD,IACI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,MAAM;YACxC,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,kBAAkB,EAChE,CAAC;YACC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC9D,IAAI,aAAa,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAA;gBACvE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,gCAAgC,QAAQ,sCAAsC,EAAE,CAAC,CAAA;gBACtJ,OAAM;YACV,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5K,IAAI,SAAS,IAAI,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5E,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA;gBACpC,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACrC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACT,KAAK,GAAG,QAAQ,CAAA;oBAChB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;wBAAE,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;oBAC5C,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBAChB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;gBACpC,CAAC;gBACD,qEAAqE;gBACrE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YAC3F,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAA;YAC1G,CAAC;QACL,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAChC,CAAC,CAAA;IACD,KAAK,CAAC,MAAM,CAAC,CAAA;IACb,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,OAAO,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/J,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACvF,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAA;IAC7H,CAAC;IACD,KAAK,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAA;IAC7D,CAAC;IACD,OAAO,IAAI;SACN,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,6BAA6B,EAAE,mCAAmC,CAAC;SAC3E,OAAO,CAAC,OAAO,EAAE,2FAA2F,CAAC,CAAA;AACtH,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAQxE,wBAAsB,MAAM,CAAC,QAAQ,GAAE,gBAAoC,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,oBAAoB,iBA2K/H;AAqQD,MAAM,MAAM,oBAAoB,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AASxE,wBAAsB,MAAM,CAAC,QAAQ,GAAE,gBAAqC,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,oBAAoB,iBA4KhI;AAqOD,MAAM,MAAM,oBAAoB,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA"}
@@ -2,12 +2,12 @@ import { cancel, intro, isCancel, log, multiselect, outro } from "@clack/prompts
2
2
  import { confirm } from "@inquirer/prompts";
3
3
  import chalk from "chalk";
4
4
  import dotenv from "dotenv";
5
- import { zipSync } from "fflate";
6
5
  import fs from "node:fs";
7
6
  import path from "node:path";
8
7
  import { ApiRoutes, buildRoute, sdkDeployRequestBodySchema, validateSecretName, validateSecretValue } from "terse-types";
9
8
  import { FrontendRoutes } from "terse-types/FrontendRoutesBuilder";
10
9
  import { ApiError, fetchWithAuth, fetchWithAuthAndSession, readApiKeyOrBail } from "../api.js";
10
+ import { assertProjectRoot } from "../assertProjectRoot.js";
11
11
  import { CliError } from "../cliError.js";
12
12
  import { isNonInteractive } from "../cliHelpers.js";
13
13
  import { createSpinner, printSelfHostedCredentials } from "../cliUi.js";
@@ -15,12 +15,13 @@ import { getCliVersion } from "../cliVersion.js";
15
15
  import { BACKEND_URL, FRONTEND_URL } from "../config.js";
16
16
  import { loadJobRegistry } from "../loadJob.js";
17
17
  import { PROJECT_CONFIG_FILENAME, createRemoteProject, readProjectConfigOrBail, writeProjectConfig } from "../projectConfig.js";
18
- import { resolveProvider } from "../providers/resolveProvider.js";
19
18
  import { openSessionStream } from "../providers/shared/sessionStream.js";
20
- import { loadActorContract } from "../providers/typescript/actorSources.js";
19
+ import { typeScriptProvider } from "../providers/typescript/TypeScriptProvider.js";
20
+ import { loadActorContract, resolveActorEntryFile } from "../providers/typescript/actorSources.js";
21
+ import { buildSourceArchive } from "../sourceArchive.js";
21
22
  // Base64 in a JSON body: fine for a source-only project, not for one carrying data files.
22
23
  const MAX_INLINE_ARCHIVE_BYTES = 8 * 1024 * 1024;
23
- export async function deploy(provider = resolveProvider(), entryFile, recovery) {
24
+ export async function deploy(provider = typeScriptProvider, entryFile, recovery) {
24
25
  const apiKey = readApiKeyOrBail({
25
26
  title: "Error: Not authenticated.",
26
27
  detail: "Run `terse auth login` to authenticate, or set TERSE_API_KEY in your environment."
@@ -29,8 +30,10 @@ export async function deploy(provider = resolveProvider(), entryFile, recovery)
29
30
  const { projectId } = config;
30
31
  const actorContract = await loadActorContract(process.cwd());
31
32
  const actorTypes = actorContract?.actors.map(actor => actor.actorName).sort() ?? [];
32
- const registry = await loadJobRegistry(provider, entryFile, actorTypes.length > 0);
33
- const jobs = [...registry.values()];
33
+ const pythonOnly = resolveActorEntryFile(process.cwd())?.endsWith(".py") && !fs.existsSync("tsconfig.json");
34
+ if (pythonOnly)
35
+ assertProjectRoot(provider, { requiredFiles: ["package.json", "pyproject.toml"], description: "Python actor project" });
36
+ const jobs = pythonOnly ? [] : [...(await loadJobRegistry(provider, entryFile, actorTypes.length > 0)).values()];
34
37
  // Self-hosted mode is driven entirely by terse.config.json (selfHosted + remoteServerUrl).
35
38
  const remoteServerUrl = config.remoteServerUrl?.trim() || undefined;
36
39
  if (config.selfHosted && !remoteServerUrl) {
@@ -45,7 +48,8 @@ export async function deploy(provider = resolveProvider(), entryFile, recovery)
45
48
  const typecheckSpinner = createSpinner();
46
49
  typecheckSpinner.start("Type-checking");
47
50
  try {
48
- await provider.typecheck();
51
+ if (!pythonOnly)
52
+ await provider.typecheck();
49
53
  typecheckSpinner.stop("Type-check passed");
50
54
  }
51
55
  catch (error) {
@@ -86,7 +90,7 @@ export async function deploy(provider = resolveProvider(), entryFile, recovery)
86
90
  // Asking for the upload URL is a round trip that does not need the archive, so it runs
87
91
  // while the project is being zipped.
88
92
  const session = requestUploadSession(apiKey);
89
- const zipPayload = buildZipPayload(provider);
93
+ const zipPayload = buildSourceArchive(process.cwd(), provider.deployExclusions);
90
94
  fileCount = zipPayload.fileCount;
91
95
  zipSizeBytes = zipPayload.zipSizeBytes;
92
96
  timeline.enter("UPLOADING_SOURCE");
@@ -198,33 +202,6 @@ async function tryRecoverStaleProject(error, args) {
198
202
  console.log(chalk.green(` Re-linked to ${newProject.projectId}. Retrying deploy…\n`));
199
203
  return { signingSecret, projectApiKey };
200
204
  }
201
- function collectFiles(dir, baseDir, provider) {
202
- const entries = {};
203
- for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
204
- if (provider.deployExclusions.dirs.has(entry.name))
205
- continue;
206
- if (provider.deployExclusions.files.has(entry.name))
207
- continue;
208
- const fullPath = path.join(dir, entry.name);
209
- if (entry.isDirectory()) {
210
- Object.assign(entries, collectFiles(fullPath, baseDir, provider));
211
- }
212
- else if (entry.isFile()) {
213
- entries[path.relative(baseDir, fullPath).split(path.sep).join("/")] = new Uint8Array(fs.readFileSync(fullPath));
214
- }
215
- }
216
- return entries;
217
- }
218
- function buildZipPayload(provider) {
219
- const cwd = process.cwd();
220
- const files = collectFiles(cwd, cwd, provider);
221
- const fileCount = Object.keys(files).length;
222
- if (fileCount === 0) {
223
- throw new CliError("no_files_to_deploy", "No files found to deploy");
224
- }
225
- const zipData = zipSync(files, { level: 6 });
226
- return { zipBytes: zipData, fileCount, zipSizeBytes: zipData.length };
227
- }
228
205
  /**
229
206
  * Object storage first, so a project carrying data files never rides inside the deploy request:
230
207
  * base64 in JSON inflates it by a third and buffers the whole thing in the control plane. A
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { type NonInteractiveOpts } from "../cliHelpers.js";
2
2
  import type { LanguageProvider } from "../providers/LanguageProvider.js";
3
- export declare function init(projectName?: string, provider?: LanguageProvider, opts?: NonInteractiveOpts): Promise<void>;
3
+ export declare function init(projectName?: string, provider?: LanguageProvider, opts?: NonInteractiveOpts & {
4
+ language?: "typescript" | "python";
5
+ }): Promise<void>;
4
6
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAI1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAOxE,wBAAsB,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,gBAAuE,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqG5K"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAI1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAQxE,wBAAsB,IAAI,CACtB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,GAAE,gBAAuE,EACjF,IAAI,CAAC,EAAE,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAA;CAAE,GACnE,OAAO,CAAC,IAAI,CAAC,CA4Gf"}
@@ -9,6 +9,7 @@ import { PROJECT_CONFIG_FILENAME, createRemoteProject, writeProjectConfig } from
9
9
  import { fetchSdkVersion } from "../providers/fetchSdkVersion.js";
10
10
  import { resolveProvider } from "../providers/resolveProvider.js";
11
11
  import { renderTemplate } from "../providers/templateUtils.js";
12
+ import { installPythonActors } from "../pythonActors.js";
12
13
  import { loginAndPersist } from "./auth.js";
13
14
  export async function init(projectName, provider = resolveProvider({ command: "init", language: "ts" }), opts) {
14
15
  if (!projectName && fs.existsSync(path.join(process.cwd(), "package.json"))) {
@@ -36,7 +37,7 @@ export async function init(projectName, provider = resolveProvider({ command: "i
36
37
  }
37
38
  fs.mkdirSync(path.join(targetDir, "src"), { recursive: true });
38
39
  const templateContext = provider.buildInitTemplateContext(resolvedName, sdkVersion);
39
- const scaffoldFiles = actorScaffoldFiles(provider.scaffoldFiles());
40
+ const scaffoldFiles = actorScaffoldFiles(provider.scaffoldFiles(), opts?.language);
40
41
  for (const file of scaffoldFiles) {
41
42
  const rendered = renderTemplate(file.template, templateContext);
42
43
  const outputPath = path.join(targetDir, file.output);
@@ -49,10 +50,18 @@ export async function init(projectName, provider = resolveProvider({ command: "i
49
50
  await changeDirectory(targetDir);
50
51
  try {
51
52
  await provider.installDependencies(targetDir);
53
+ if (opts?.language === "python")
54
+ await installPythonActors(targetDir);
52
55
  s.stop(`Dependencies installed with ${pm}`);
53
56
  }
54
- catch {
57
+ catch (error) {
55
58
  s.stop(`Failed to install dependencies. Run ${chalk.cyan(`${pm} install`)} manually.`);
59
+ if (opts?.language === "python") {
60
+ const setup = process.env.DURABLE_ACTORS_PYTHON
61
+ ? "Install requirements-dev.txt with the interpreter selected by DURABLE_ACTORS_PYTHON."
62
+ : `Run ${process.platform === "win32" ? "py" : "python3"} -m venv .venv, then install requirements-dev.txt with that environment's pip.`;
63
+ log.warn(`${error.message}\n${setup}`);
64
+ }
56
65
  }
57
66
  if (loginResult?.apiKey) {
58
67
  s.start("Creating Terse project");
@@ -71,7 +80,7 @@ export async function init(projectName, provider = resolveProvider({ command: "i
71
80
  console.log([
72
81
  "",
73
82
  ` ${chalk.bold("Make it yours")}`,
74
- ` Edit ${chalk.cyan("src/actor.ts")} to define your actors.`,
83
+ ` Edit ${chalk.cyan(opts?.language === "python" ? "src/actor.py" : "src/actor.ts")} to define your actors.`,
75
84
  "",
76
85
  ` ${chalk.bold("Run locally")}`,
77
86
  ...(projectName ? [` ${accent(`cd ${projectName}`)}`] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import chalk from "chalk";
3
- import { Command } from "commander";
3
+ import { Command, Option } from "commander";
4
4
  import { emitCliError, isCliError, setErrorOutputJson } from "./cliError.js";
5
5
  import { getCliVersion } from "./cliVersion.js";
6
6
  import { actorDev } from "./commands/actor.js";
@@ -40,7 +40,8 @@ actor
40
40
  actor
41
41
  .command("generate")
42
42
  .description("Generate typed clients from local actors or an explicit TERSE_ACTOR_URL")
43
- .option("--out-dir <directory>", "Generated actor client directory", "src/terse.actors")
43
+ .option("--out-dir <directory>", "Generated client directory (Python: generated; TypeScript: src/terse.actors)")
44
+ .addOption(new Option("--language <language>", "Client language (inferred from the actor contract)").choices(["typescript", "python"]))
44
45
  .action(actorGenerate);
45
46
  program
46
47
  .command("install")
@@ -64,6 +65,7 @@ program
64
65
  .command("init")
65
66
  .description("Create a new Terse project")
66
67
  .argument("[project-name]", "Name for the project directory")
68
+ .addOption(new Option("--language <language>", "Actor source language").choices(["typescript", "python"]).default("typescript"))
67
69
  .option(...NON_INTERACTIVE_OPTION)
68
70
  .addHelpText("after", `
69
71
  Examples:
@@ -80,7 +82,7 @@ program
80
82
  .command("deploy")
81
83
  .description("Deploy the project to Terse")
82
84
  .action(async () => {
83
- await deploy(resolveProvider());
85
+ await deploy();
84
86
  });
85
87
  program.commandsGroup("Project configuration:");
86
88
  const secretsCommand = program
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  /** New actor projects have one source file and only the supporting project files. */
2
- export declare function actorScaffoldFiles<T extends {
2
+ export declare function actorScaffoldFiles(files: Array<{
3
+ template: string;
3
4
  output: string;
4
- }>(files: T[]): T[];
5
+ }>, language?: "typescript" | "python"): Array<{
6
+ template: string;
7
+ output: string;
8
+ }>;
5
9
  //# sourceMappingURL=productFeatures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"productFeatures.d.ts","sourceRoot":"","sources":["../src/productFeatures.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAGhF"}
1
+ {"version":3,"file":"productFeatures.d.ts","sourceRoot":"","sources":["../src/productFeatures.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,QAAQ,GAAE,YAAY,GAAG,QAAuB,GAAG,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAYpL"}
@@ -1,5 +1,14 @@
1
1
  /** New actor projects have one source file and only the supporting project files. */
2
- export function actorScaffoldFiles(files) {
2
+ export function actorScaffoldFiles(files, language = "typescript") {
3
+ if (language === "python")
4
+ return [
5
+ { template: "python/init/package.json.hbs", output: "package.json" },
6
+ { template: "python/init/pyproject.toml.hbs", output: "pyproject.toml" },
7
+ { template: "python/init/requirements-dev.txt.hbs", output: "requirements-dev.txt" },
8
+ { template: "python/init/actor.py.hbs", output: "src/actor.py" },
9
+ { template: "python/init/gitignore.hbs", output: ".gitignore" },
10
+ { template: "typescript/init/env.example.hbs", output: ".env.example" }
11
+ ];
3
12
  const outputs = new Set(["package.json", "tsconfig.json", "src/actors.ts", ".env.example", ".gitignore"]);
4
13
  return files.filter(file => outputs.has(file.output)).map(file => (file.output === "src/actors.ts" ? { ...file, output: "src/actor.ts" } : file));
5
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"productFeatures.js","sourceRoot":"","sources":["../src/productFeatures.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAA+B,KAAU;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAA;IACzG,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACrJ,CAAC"}
1
+ {"version":3,"file":"productFeatures.js","sourceRoot":"","sources":["../src/productFeatures.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAAC,KAAkD,EAAE,WAAoC,YAAY;IACnI,IAAI,QAAQ,KAAK,QAAQ;QACrB,OAAO;YACH,EAAE,QAAQ,EAAE,8BAA8B,EAAE,MAAM,EAAE,cAAc,EAAE;YACpE,EAAE,QAAQ,EAAE,gCAAgC,EAAE,MAAM,EAAE,gBAAgB,EAAE;YACxE,EAAE,QAAQ,EAAE,sCAAsC,EAAE,MAAM,EAAE,sBAAsB,EAAE;YACpF,EAAE,QAAQ,EAAE,0BAA0B,EAAE,MAAM,EAAE,cAAc,EAAE;YAChE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,YAAY,EAAE;YAC/D,EAAE,QAAQ,EAAE,iCAAiC,EAAE,MAAM,EAAE,cAAc,EAAE;SAC1E,CAAA;IACL,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAA;IACzG,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACrJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"actorCodegen.d.ts","sourceRoot":"","sources":["../../../src/providers/typescript/actorCodegen.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAI3D,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAqD5E"}
1
+ {"version":3,"file":"actorCodegen.d.ts","sourceRoot":"","sources":["../../../src/providers/typescript/actorCodegen.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAI3D,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAsD5E"}
@@ -9,6 +9,8 @@ export async function renderActorFiles(cwd) {
9
9
  const entryFile = resolveActorEntryFile(cwd);
10
10
  if (!entryFile)
11
11
  return [];
12
+ if (entryFile.endsWith(".py"))
13
+ return [];
12
14
  try {
13
15
  const { ActorCompiler, generateClientArtifacts } = await loadProjectActorTools(cwd);
14
16
  const contract = new ActorCompiler().compileContract(path.join(cwd, entryFile));
@@ -1 +1 @@
1
- {"version":3,"file":"actorCodegen.js","sourceRoot":"","sources":["../../../src/providers/typescript/actorCodegen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAGhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAC9C,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAA;IACzB,IAAI,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,uBAAuB,EAAE,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAA;QACnF,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;QAC/E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;QACnE,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;QAC7B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAA;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,YAAY,CAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC1G,2FAA2F;QAC3F,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU;aACjC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;aAC1F,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAC3C,IAAI,CAAC,MAAM,CAAC,CAAA;QACjB,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kCAAkC,IAAI,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7H,OAAO;YACH;gBACI,QAAQ,EAAE,iCAAiC;gBAC3C,IAAI,EAAE,6JAA6J,YAAY,IAAI;aACtL;YACD;gBACI,QAAQ,EAAE,0CAA0C;gBACpD,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY;aACzC;YACD;gBACI,QAAQ,EAAE,2BAA2B;gBACrC,IAAI,EAAE;;;;mBAIH,WAAW;;;;;;iDAMmB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;;;;;CAOzE;aACY;SACJ,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,QAAQ;YAAE,MAAM,KAAK,CAAA;QAC1C,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5F,MAAM,IAAI,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAA;IACzD,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"actorCodegen.js","sourceRoot":"","sources":["../../../src/providers/typescript/actorCodegen.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ACTOR_ENTRY_FILE } from "terse-types/ActorSource";
2
+ import { type ActorContract } from "../../pythonActors.js";
2
3
  export { ACTOR_ENTRY_FILE };
3
4
  export declare function resolveActorEntryFile(cwd: string): string | undefined;
4
5
  export declare function loadActorTypes(cwd: string): Promise<string[]>;
5
- export declare function loadActorContract(cwd: string): Promise<import("durable-actors/compiler").PublicActorContract | undefined>;
6
+ export declare function loadActorContract(cwd: string): Promise<ActorContract | undefined>;
6
7
  //# sourceMappingURL=actorSources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actorSources.d.ts","sourceRoot":"","sources":["../../../src/providers/typescript/actorSources.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAA;AAK9E,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnE;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,8EAWlD"}
1
+ {"version":3,"file":"actorSources.d.ts","sourceRoot":"","sources":["../../../src/providers/typescript/actorSources.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAA;AAI9E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,uBAAuB,CAAA;AAE/E,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnE;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAYvF"}
@@ -4,6 +4,7 @@ import { formatActorDiagnostic } from "terse-types/ActorDiagnostics";
4
4
  import { ACTOR_ENTRY_FILE, findActorEntryFile } from "terse-types/ActorSource";
5
5
  import { CliError } from "../../cliError.js";
6
6
  import { loadProjectActorTools } from "../../projectActorTools.js";
7
+ import { compilePythonActors } from "../../pythonActors.js";
7
8
  export { ACTOR_ENTRY_FILE };
8
9
  export function resolveActorEntryFile(cwd) {
9
10
  return findActorEntryFile(file => fs.existsSync(path.join(cwd, file)));
@@ -18,6 +19,8 @@ export async function loadActorContract(cwd) {
18
19
  return undefined;
19
20
  const entry = path.join(cwd, entryFile);
20
21
  try {
22
+ if (entryFile.endsWith(".py"))
23
+ return await compilePythonActors(cwd, entryFile);
21
24
  const { ActorCompiler } = await loadProjectActorTools(cwd);
22
25
  return new ActorCompiler().compileContract(entry);
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actorSources.js","sourceRoot":"","sources":["../../../src/providers/typescript/actorSources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC5C,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC7C,OAAO,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC/C,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IACvC,IAAI,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAC1D,OAAO,IAAI,aAAa,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,QAAQ;YAAE,MAAM,KAAK,CAAA;QAC1C,MAAM,IAAI,QAAQ,CAAC,0BAA0B,EAAE,GAAG,SAAS,KAAK,qBAAqB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;IACpJ,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"actorSources.js","sourceRoot":"","sources":["../../../src/providers/typescript/actorSources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAsB,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC5C,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC7C,OAAO,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAA;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC/C,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IACvC,IAAI,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,MAAM,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAC/E,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAA;QAC1D,OAAO,IAAI,aAAa,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,QAAQ;YAAE,MAAM,KAAK,CAAA;QAC1C,MAAM,IAAI,QAAQ,CAAC,0BAA0B,EAAE,GAAG,SAAS,KAAK,qBAAqB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;IACpJ,CAAC;AACL,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { PublicActorContract } from "terse-sdk/dev";
2
+ export type ActorContract = Omit<PublicActorContract, "typescript"> & Partial<Pick<PublicActorContract, "typescript">>;
3
+ export declare function compilePythonActors(project: string, entrypoint: string): Promise<ActorContract>;
4
+ export declare function generatePythonActors(contract: ActorContract, directory: string): Promise<void>;
5
+ export declare function installPythonActors(project: string): Promise<void>;
6
+ export declare function pythonExecutable(project: string): Promise<string>;
7
+ //# sourceMappingURL=pythonActors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pythonActors.d.ts","sourceRoot":"","sources":["../src/pythonActors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAKxD,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAA;AAEtH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAYrG;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpG;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcvE"}
@@ -0,0 +1,65 @@
1
+ import { execFile } from "node:child_process";
2
+ import { access, mkdtemp, rm } from "node:fs/promises";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ import { z } from "zod";
7
+ import { CliError } from "./cliError.js";
8
+ export async function compilePythonActors(project, entrypoint) {
9
+ const executable = await pythonExecutable(project);
10
+ await runPython(project, executable, ["-m", "mypy", "--strict", entrypoint]);
11
+ const directory = await mkdtemp(path.join(os.tmpdir(), "terse-python-contract-"));
12
+ try {
13
+ const output = await runPython(project, executable, ["-m", "durable_actors.build", project, entrypoint, directory, "local"]);
14
+ const contract = JSON.parse(output);
15
+ z.object({ version: z.literal(1), actors: z.array(z.object({ actorName: z.string() })) }).parse(contract);
16
+ return contract;
17
+ }
18
+ finally {
19
+ await rm(directory, { recursive: true, force: true });
20
+ }
21
+ }
22
+ export async function generatePythonActors(contract, directory) {
23
+ const project = process.cwd();
24
+ const executable = await pythonExecutable(project);
25
+ const script = fileURLToPath(new URL("../templates/python/generate.py", import.meta.url));
26
+ await runPython(project, executable, [script, directory], JSON.stringify(contract));
27
+ await runPython(project, executable, ["-m", "mypy", "--strict", directory]);
28
+ }
29
+ export async function installPythonActors(project) {
30
+ let executable = process.env.DURABLE_ACTORS_PYTHON;
31
+ if (!executable) {
32
+ await runPython(project, await pythonExecutable(project), ["-m", "venv", ".venv"]);
33
+ executable = environmentPython(path.join(project, ".venv"));
34
+ }
35
+ await runPython(project, executable, ["-m", "pip", "install", "-r", "requirements-dev.txt"]);
36
+ }
37
+ export async function pythonExecutable(project) {
38
+ if (process.env.DURABLE_ACTORS_PYTHON)
39
+ return process.env.DURABLE_ACTORS_PYTHON;
40
+ for (const environment of [path.join(project, ".venv"), process.env.VIRTUAL_ENV]) {
41
+ if (!environment)
42
+ continue;
43
+ const executable = environmentPython(environment);
44
+ if (await access(executable).then(() => true, () => false))
45
+ return executable;
46
+ }
47
+ return process.platform === "win32" ? "py" : "python3";
48
+ }
49
+ function environmentPython(directory) {
50
+ return path.join(directory, process.platform === "win32" ? "Scripts/python.exe" : "bin/python");
51
+ }
52
+ function runPython(project, executable, args, input) {
53
+ return new Promise((resolve, reject) => {
54
+ const child = execFile(executable, args, { cwd: project, maxBuffer: 8 * 1024 * 1024 }, (error, stdout, stderr) => {
55
+ if (!error)
56
+ return resolve(stdout);
57
+ reject(new CliError("python_actor_tool_failed", `${stdout}${stderr || error.message}`.trim(), {
58
+ detail: "Install durable-actors[codegen] in your project virtual environment. DURABLE_ACTORS_PYTHON selects a different Python interpreter."
59
+ }));
60
+ });
61
+ child.stdin?.on("error", () => { });
62
+ child.stdin?.end(input);
63
+ });
64
+ }
65
+ //# sourceMappingURL=pythonActors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pythonActors.js","sourceRoot":"","sources":["../src/pythonActors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ interface Exclusions {
2
+ dirs: ReadonlySet<string>;
3
+ files: ReadonlySet<string>;
4
+ }
5
+ export declare function buildSourceArchive(project: string, exclusions: Exclusions): {
6
+ zipBytes: Uint8Array;
7
+ fileCount: number;
8
+ zipSizeBytes: number;
9
+ };
10
+ export {};
11
+ //# sourceMappingURL=sourceArchive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceArchive.d.ts","sourceRoot":"","sources":["../src/sourceArchive.ts"],"names":[],"mappings":"AAMA,UAAU,UAAU;IAChB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACzB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC7B;AAID,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAM7I"}
@@ -0,0 +1,29 @@
1
+ import { zipSync } from "fflate";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ import { CliError } from "./cliError.js";
5
+ const pythonDirectories = new Set([".venv", "venv", "__pycache__", ".mypy_cache", ".pytest_cache", ".ruff_cache"]);
6
+ export function buildSourceArchive(project, exclusions) {
7
+ const files = collectFiles(project, project, exclusions);
8
+ const fileCount = Object.keys(files).length;
9
+ if (fileCount === 0)
10
+ throw new CliError("no_files_to_deploy", "No files found to deploy");
11
+ const zipBytes = zipSync(files, { level: 6 });
12
+ return { zipBytes, fileCount, zipSizeBytes: zipBytes.length };
13
+ }
14
+ function collectFiles(directory, project, exclusions) {
15
+ const files = {};
16
+ if (fs.existsSync(path.join(directory, "pyvenv.cfg")))
17
+ return files;
18
+ for (const entry of fs.readdirSync(directory, { withFileTypes: true })) {
19
+ if (exclusions.dirs.has(entry.name) || exclusions.files.has(entry.name) || pythonDirectories.has(entry.name))
20
+ continue;
21
+ const source = path.join(directory, entry.name);
22
+ if (entry.isDirectory())
23
+ Object.assign(files, collectFiles(source, project, exclusions));
24
+ else if (entry.isFile())
25
+ files[path.relative(project, source).split(path.sep).join("/")] = new Uint8Array(fs.readFileSync(source));
26
+ }
27
+ return files;
28
+ }
29
+ //# sourceMappingURL=sourceArchive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceArchive.js","sourceRoot":"","sources":["../src/sourceArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAOxC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAA;AAElH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,UAAsB;IACtE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;IAC3C,IAAI,SAAS,KAAK,CAAC;QAAE,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAA;IACzF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;AACjE,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,OAAe,EAAE,UAAsB;IAC5E,MAAM,KAAK,GAA+B,EAAE,CAAA;IAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACnE,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAQ;QACtH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;aACnF,IAAI,KAAK,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IACtI,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "terse-cli",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "repository": {
@@ -32,15 +32,15 @@
32
32
  "handlebars": "^4.7.9",
33
33
  "import-meta-resolve": "^4.2.0",
34
34
  "json-schema-to-typescript": "^15.0.4",
35
- "durable-actors": "0.5.0",
35
+ "durable-actors": "0.5.5",
36
36
  "little-durable": "0.1.3",
37
37
  "luxon": "^3.7.2",
38
38
  "ora": "^8.0.0",
39
39
  "tsx": "^4.0.0",
40
40
  "typescript": "^5.0.0",
41
41
  "zod": "^4.3.6",
42
- "terse-types": "0.7.0",
43
- "terse-sdk": "0.7.0"
42
+ "terse-sdk": "0.8.0",
43
+ "terse-types": "0.8.0"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/luxon": "^3.7.1",
@@ -49,7 +49,7 @@
49
49
  "scripts": {
50
50
  "build": "rm -rf dist && tsc && chmod +x dist/index.js",
51
51
  "dev": "tsc --watch --preserveWatchOutput",
52
- "test": "node --import tsx --test test/**/*.test.ts",
52
+ "test": "node --import tsx --test test/**/*.test.ts tests/*.test.ts",
53
53
  "test:actors:local": "TERSE_TEST_LOCAL_ACTORS=1 node --import tsx --test test/localActorRuntime.test.ts",
54
54
  "format": "pnpm exec prettier --config ../../.prettierrc --write \"src/**/*.ts\"",
55
55
  "format:check": "pnpm exec prettier --config ../../.prettierrc --check \"src/**/*.ts\"",
@@ -0,0 +1,52 @@
1
+ """Generate Python actor clients with Terse's managed connection defaults."""
2
+
3
+ import ast
4
+ import json
5
+ import sys
6
+ from pathlib import Path
7
+
8
+ from durable_actors.codegen import generate_client
9
+
10
+
11
+ def generate(output: Path) -> None:
12
+ contract = json.load(sys.stdin)
13
+ generate_client(contract, output)
14
+ module = "_terse_transport"
15
+ while any(
16
+ "_" + actor["actorName"].lower() == module for actor in contract["actors"]
17
+ ):
18
+ module += "_"
19
+ files = [
20
+ output / "__init__.py",
21
+ output / "actors.py",
22
+ *(
23
+ output / ("_" + actor["actorName"].lower() + ".py")
24
+ for actor in contract["actors"]
25
+ ),
26
+ ]
27
+ for file in files:
28
+ tree = ast.parse(file.read_text())
29
+ for index, node in enumerate(tree.body):
30
+ if not isinstance(node, ast.ImportFrom):
31
+ continue
32
+ names = {
33
+ "durable_actors.client": "default_client",
34
+ "durable_actors.proxy": "prepare_authorization",
35
+ }
36
+ replacement = names.get(node.module or "")
37
+ selected = [name for name in node.names if name.name == replacement]
38
+ if selected:
39
+ node.names = [name for name in node.names if name not in selected]
40
+ injected = ast.ImportFrom(module=module, names=selected, level=1)
41
+ if node.names:
42
+ tree.body.insert(index + 1, injected)
43
+ else:
44
+ tree.body[index] = injected
45
+ file.write_text(ast.unparse(ast.fix_missing_locations(tree)) + "\n")
46
+ (output / (module + ".py")).write_text(
47
+ Path(__file__).with_name("transport.py").read_text()
48
+ )
49
+
50
+
51
+ if __name__ == "__main__":
52
+ generate(Path(sys.argv[1]))
@@ -0,0 +1,37 @@
1
+ from pydantic import BaseModel
2
+ from durable_actors import Actor, ActorSocket, emitted
3
+
4
+
5
+ class Member(BaseModel):
6
+ """Identity supplied when connecting to the room."""
7
+
8
+ name: str
9
+
10
+
11
+ class SendMessage(BaseModel):
12
+ """A message sent by a connected member."""
13
+
14
+ text: str
15
+
16
+
17
+ class Message(BaseModel):
18
+ """A saved message with its author."""
19
+
20
+ author: Member
21
+ text: str
22
+
23
+
24
+ class Chat(Actor[Member, SendMessage, Message]):
25
+ """A durable chat room with typed messages and live history."""
26
+
27
+ messages: list[Message] = emitted(default_factory=list)
28
+
29
+ def post(self, author: Member, text: str) -> Message:
30
+ """Save a message and broadcast it to connected members."""
31
+ message = Message(author=author, text=text)
32
+ self.messages.append(message)
33
+ self.broadcast(message)
34
+ return message
35
+
36
+ def on_message(self, socket: ActorSocket[Member, Message], message: SendMessage) -> None:
37
+ self.post(socket.metadata, message.text)
@@ -0,0 +1,8 @@
1
+ node_modules
2
+ .venv
3
+ __pycache__
4
+ .mypy_cache
5
+ .terse
6
+ .durable-actors
7
+ generated
8
+ .env
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "dependencies": {
7
+ "terse-sdk": "{{sdkVersion}}"
8
+ }
9
+ }
@@ -0,0 +1,8 @@
1
+ [project]
2
+ name = "{{projectName}}"
3
+ version = "0.1.0"
4
+ requires-python = ">=3.11"
5
+ dependencies = ["durable-actors>=0.5.5,<1"]
6
+
7
+ [tool.mypy]
8
+ strict = true
@@ -0,0 +1 @@
1
+ durable-actors[codegen]>=0.5.5,<1
@@ -0,0 +1,171 @@
1
+ """Terse connection defaults for this generated actor package."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import atexit
6
+ import os
7
+ import re
8
+ from functools import cache
9
+ from typing import Any
10
+ from urllib.parse import unquote, urlsplit
11
+
12
+ import httpx
13
+ from durable_actors import (
14
+ ActorSession,
15
+ ActorSessionRejectedError,
16
+ ActorSessionTransport,
17
+ Client,
18
+ SocketGrant,
19
+ )
20
+ from durable_actors.client import ActorTransport
21
+ from durable_actors.proxy import (
22
+ SocketAuthorization,
23
+ prepare_authorization as issue_authorization,
24
+ )
25
+
26
+
27
+ @cache
28
+ def default_client() -> ActorTransport:
29
+ """Use TERSE_ACTOR_URL and TERSE_API_KEY, with local development defaults."""
30
+ value = (
31
+ os.environ.get("TERSE_ACTOR_URL", "").strip()
32
+ or "http://127.0.0.1:7100/v1/projects/local/actors"
33
+ )
34
+ url = urlsplit(value)
35
+ match = re.fullmatch(r"/(?:(sdk|v1)/projects/)?([^/]+)/actors/?", url.path)
36
+ if (
37
+ not match
38
+ or url.scheme not in {"http", "https"}
39
+ or not url.hostname
40
+ or url.username
41
+ or url.password
42
+ or url.query
43
+ or url.fragment
44
+ ):
45
+ raise ValueError(
46
+ "TERSE_ACTOR_URL must end in /<projectId>/actors or /v1/projects/<projectId>/actors, without credentials, query, or fragment"
47
+ )
48
+ project_id = unquote(match[2])
49
+ if not re.fullmatch(r"[A-Za-z0-9._-]{1,64}", project_id) or project_id in {
50
+ ".",
51
+ "..",
52
+ }:
53
+ raise ValueError("Invalid project in TERSE_ACTOR_URL")
54
+ origin = f"{url.scheme}://{url.netloc}"
55
+ key = os.environ.get("TERSE_API_KEY", "").strip()
56
+ runtime = match[1] == "v1"
57
+ if not key and not (runtime and url.hostname in {"localhost", "127.0.0.1", "::1"}):
58
+ raise ValueError("Missing TERSE_API_KEY for this actor project")
59
+ client: Client | TerseTransport
60
+ if runtime:
61
+ client = Client(origin, project_id=project_id, api_key=key or None)
62
+ else:
63
+ client = TerseTransport(
64
+ f"{origin}/{project_id}/actors",
65
+ project_id,
66
+ key,
67
+ httpx.Client(timeout=180, follow_redirects=False),
68
+ )
69
+ atexit.register(client.close)
70
+ return client
71
+
72
+
73
+ def prepare_authorization(
74
+ authorization: SocketAuthorization[Any], transport: ActorTransport | None = None
75
+ ) -> SocketGrant:
76
+ """Issue a typed browser grant using the selected Terse project."""
77
+ return issue_authorization(
78
+ authorization, transport if transport is not None else default_client()
79
+ )
80
+
81
+
82
+ class TerseTransport:
83
+ """Exchange Terse credentials for renewable runtime sessions and socket grants."""
84
+
85
+ def __init__(
86
+ self, actor_url: str, project_id: str, api_key: str, http: httpx.Client
87
+ ) -> None:
88
+ self._actor_url = actor_url
89
+ self._project_id = project_id
90
+ self._headers = {
91
+ "Authorization": f"Bearer {api_key}",
92
+ "Accept": "application/json",
93
+ }
94
+ self._http = http
95
+ self._session = ActorSessionTransport(
96
+ project_id=project_id,
97
+ get_session=self._get_session,
98
+ create_transport=self._session_client,
99
+ )
100
+
101
+ def invoke(
102
+ self, actor_name: str, actor_id: str, method: str, args: list[Any]
103
+ ) -> Any:
104
+ """Invoke through a renewable actor session."""
105
+ return self._session.invoke(actor_name, actor_id, method, args)
106
+
107
+ def broadcast(self, actor_name: str, actor_id: str, message: Any) -> None:
108
+ """Broadcast through the current actor session."""
109
+ self._session.broadcast(actor_name, actor_id, message)
110
+
111
+ def prepare_websocket(
112
+ self,
113
+ actor_name: str,
114
+ actor_id: str,
115
+ metadata: Any,
116
+ *,
117
+ authorization_lifetime_ms: int = 900000,
118
+ home_region: str | None = None,
119
+ ) -> SocketGrant:
120
+ """Ask Terse for a direct WebSocket grant for this actor."""
121
+ response = self._http.post(
122
+ self._actor_url,
123
+ headers=self._headers,
124
+ json={
125
+ "actorName": actor_name,
126
+ "actorId": actor_id,
127
+ "metadata": metadata,
128
+ "authorizationLifetimeMs": authorization_lifetime_ms,
129
+ **({"homeRegion": home_region} if home_region is not None else {}),
130
+ },
131
+ timeout=10,
132
+ follow_redirects=False,
133
+ )
134
+ response.raise_for_status()
135
+ grant = SocketGrant.model_validate(response.json(), strict=True)
136
+ if urlsplit(grant.websocket_url).scheme not in {"ws", "wss"}:
137
+ raise ValueError("Invalid WebSocket grant URL")
138
+ return grant
139
+
140
+ def close(self) -> None:
141
+ """Stop session renewal and close this transport's HTTP client."""
142
+ self._session.close()
143
+ self._http.close()
144
+
145
+ def _get_session(self) -> ActorSession:
146
+ response = self._http.post(
147
+ self._actor_url + "/access",
148
+ headers=self._headers,
149
+ timeout=10,
150
+ follow_redirects=False,
151
+ )
152
+ if response.status_code in {401, 403}:
153
+ raise ActorSessionRejectedError(
154
+ f"Terse actor authorization failed (HTTP {response.status_code})"
155
+ )
156
+ response.raise_for_status()
157
+ value = response.json()
158
+ return ActorSession(
159
+ project_id=value["projectId"],
160
+ control_plane_url=value["controlPlaneUrl"],
161
+ token=value["token"],
162
+ expires_at_ms=value["expiresAtMs"],
163
+ )
164
+
165
+ def _session_client(self, session: ActorSession) -> Client:
166
+ return Client(
167
+ session.control_plane_url,
168
+ project_id=session.project_id,
169
+ api_key=session.token,
170
+ http=self._http,
171
+ )