durable-actors 0.5.3 → 0.5.5

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 (74) hide show
  1. package/dist/actor/sandbox.d.ts +40 -0
  2. package/dist/actor/sandbox.d.ts.map +1 -0
  3. package/dist/actor/sandbox.js +32 -0
  4. package/dist/actor/sandbox.js.map +1 -0
  5. package/dist/actor/schema.d.ts +2 -0
  6. package/dist/actor/schema.d.ts.map +1 -1
  7. package/dist/actor/schema.js.map +1 -1
  8. package/dist/cli/actor-source-watcher.d.ts.map +1 -1
  9. package/dist/cli/actor-source-watcher.js +14 -2
  10. package/dist/cli/actor-source-watcher.js.map +1 -1
  11. package/dist/cli/dev.d.ts.map +1 -1
  12. package/dist/cli/dev.js +12 -1
  13. package/dist/cli/dev.js.map +1 -1
  14. package/dist/cli/generate.d.ts.map +1 -1
  15. package/dist/cli/generate.js +25 -6
  16. package/dist/cli/generate.js.map +1 -1
  17. package/dist/cli/python.d.ts +6 -0
  18. package/dist/cli/python.d.ts.map +1 -0
  19. package/dist/cli/python.js +50 -0
  20. package/dist/cli/python.js.map +1 -0
  21. package/dist/cli.js +14 -2
  22. package/dist/cli.js.map +1 -1
  23. package/dist/client/remoteClient.d.ts.map +1 -1
  24. package/dist/client/remoteClient.js +1 -10
  25. package/dist/client/remoteClient.js.map +1 -1
  26. package/dist/client-runtime/client.d.ts +0 -2
  27. package/dist/client-runtime/client.d.ts.map +1 -1
  28. package/dist/client-runtime/client.js +0 -3
  29. package/dist/client-runtime/client.js.map +1 -1
  30. package/dist/compiler/actor-compiler.d.ts +2 -0
  31. package/dist/compiler/actor-compiler.d.ts.map +1 -1
  32. package/dist/compiler/actor-compiler.js +9 -0
  33. package/dist/compiler/actor-compiler.js.map +1 -1
  34. package/dist/compiler/deployment-build.js +7 -0
  35. package/dist/compiler/deployment-build.js.map +1 -1
  36. package/dist/compiler/features/sandbox.d.ts +9 -0
  37. package/dist/compiler/features/sandbox.d.ts.map +1 -0
  38. package/dist/compiler/features/sandbox.js +50 -0
  39. package/dist/compiler/features/sandbox.js.map +1 -0
  40. package/dist/compiler/types.d.ts +8 -1
  41. package/dist/compiler/types.d.ts.map +1 -1
  42. package/dist/compiler/types.js +1 -0
  43. package/dist/compiler/types.js.map +1 -1
  44. package/dist/compiler/validate-public-contract.d.ts.map +1 -1
  45. package/dist/compiler/validate-public-contract.js +4 -0
  46. package/dist/compiler/validate-public-contract.js.map +1 -1
  47. package/dist/generated/client-runtime.d.ts.map +1 -1
  48. package/dist/generated/client-runtime.js +1 -1
  49. package/dist/generated/client-runtime.js.map +1 -1
  50. package/dist/host/actor-runtime.d.ts.map +1 -1
  51. package/dist/host/actor-runtime.js +2 -3
  52. package/dist/host/actor-runtime.js.map +1 -1
  53. package/dist/index.d.ts +2 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +1 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/templates/actor/package.json +1 -1
  58. package/dist/templates/ai-chat/package.json +1 -1
  59. package/dist/templates/chat/package.json +1 -1
  60. package/dist/templates/documents/package.json +1 -1
  61. package/dist/templates/python/.env.example +1 -0
  62. package/dist/templates/python/README.md +7 -0
  63. package/dist/templates/python/gitignore +6 -0
  64. package/dist/templates/python/package.json +11 -0
  65. package/dist/templates/python/pnpm-workspace.yaml +2 -0
  66. package/dist/templates/python/pyproject.toml +8 -0
  67. package/dist/templates/python/src/actors.py +9 -0
  68. package/dist/wire/public-contract.d.ts +4 -0
  69. package/dist/wire/public-contract.d.ts.map +1 -1
  70. package/package.json +2 -2
  71. package/dist/actor/invocationContext.d.ts +0 -4
  72. package/dist/actor/invocationContext.d.ts.map +0 -1
  73. package/dist/actor/invocationContext.js +0 -10
  74. package/dist/actor/invocationContext.js.map +0 -1
@@ -0,0 +1,40 @@
1
+ import { z } from "zod";
2
+ declare const sandboxRegion: z.ZodEnum<{
3
+ canada: "canada";
4
+ "north-america-east": "north-america-east";
5
+ "north-america-central": "north-america-central";
6
+ "north-america-south": "north-america-south";
7
+ "north-america-west": "north-america-west";
8
+ "europe-west": "europe-west";
9
+ "asia-southeast": "asia-southeast";
10
+ }>;
11
+ declare const sandboxOptionsSchema: z.ZodObject<{
12
+ cpu: z.ZodOptional<z.ZodNumber>;
13
+ memoryMiB: z.ZodOptional<z.ZodNumber>;
14
+ idleTimeoutMs: z.ZodOptional<z.ZodNumber>;
15
+ regions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
16
+ canada: "canada";
17
+ "north-america-east": "north-america-east";
18
+ "north-america-central": "north-america-central";
19
+ "north-america-south": "north-america-south";
20
+ "north-america-west": "north-america-west";
21
+ "europe-west": "europe-west";
22
+ "asia-southeast": "asia-southeast";
23
+ }>>>;
24
+ }, z.core.$strict>;
25
+ type SandboxRegion = z.infer<typeof sandboxRegion>;
26
+ interface SandboxOptions {
27
+ /** CPU cores, from 0.1 to 64 in increments of 0.001. */
28
+ readonly cpu?: number;
29
+ /** Memory request and cap, from 128 to 262144 MiB. */
30
+ readonly memoryMiB?: number;
31
+ /** Inactivity before eviction, from 1 to 86400000 ms. Inherits the server default (normally 10000). */
32
+ readonly idleTimeoutMs?: number;
33
+ /** Allowed compute regions, without priority order. Existing actors remain in their saved region. */
34
+ readonly regions?: readonly SandboxRegion[];
35
+ }
36
+ /** Overrides the deployment's sandbox defaults for this actor class. */
37
+ declare function Sandbox(options: SandboxOptions): (_value: Function, context: Pick<ClassDecoratorContext, "kind">) => void;
38
+ export { Sandbox, sandboxOptionsSchema };
39
+ export type { SandboxOptions, SandboxRegion };
40
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/actor/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,QAAA,MAAM,aAAa;;;;;;;;EAQjB,CAAA;AAEF,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;kBAUxB,CAAA;AAEF,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAClD,UAAU,cAAc;IACpB,wDAAwD;IACxD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,sDAAsD;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,uGAAuG;IACvG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,qGAAqG;IACrG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;CAC9C;AAED,wEAAwE;AACxE,iBAAS,OAAO,CAAC,OAAO,EAAE,cAAc,IAE5B,QAAQ,QAAQ,EAAE,SAAS,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAG,IAAI,CAGhF;AAED,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAA;AACxC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ import { ActorDefinitionError } from "../errors.js";
3
+ const sandboxRegion = z.enum([
4
+ "canada",
5
+ "north-america-east",
6
+ "north-america-central",
7
+ "north-america-south",
8
+ "north-america-west",
9
+ "europe-west",
10
+ "asia-southeast"
11
+ ]);
12
+ const sandboxOptionsSchema = z.strictObject({
13
+ cpu: z.number().min(0.1).max(64).multipleOf(0.001).optional(),
14
+ memoryMiB: z.number().int().min(128).max(262144).optional(),
15
+ idleTimeoutMs: z.number().int().min(1).max(86400000).optional(),
16
+ regions: z
17
+ .array(sandboxRegion)
18
+ .min(1)
19
+ .max(sandboxRegion.options.length)
20
+ .refine(regions => new Set(regions).size === regions.length, "regions must be unique")
21
+ .optional()
22
+ });
23
+ /** Overrides the deployment's sandbox defaults for this actor class. */
24
+ function Sandbox(options) {
25
+ sandboxOptionsSchema.parse(options);
26
+ return (_value, context) => {
27
+ if (context.kind !== "class")
28
+ throw new ActorDefinitionError("@Sandbox requires an actor class");
29
+ };
30
+ }
31
+ export { Sandbox, sandboxOptionsSchema };
32
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/actor/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEnD,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;IACzB,QAAQ;IACR,oBAAoB;IACpB,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;IACpB,aAAa;IACb,gBAAgB;CACnB,CAAC,CAAA;AAEF,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IAC3D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;IAC/D,OAAO,EAAE,CAAC;SACL,KAAK,CAAC,aAAa,CAAC;SACpB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;SACjC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,EAAE,wBAAwB,CAAC;SACrF,QAAQ,EAAE;CAClB,CAAC,CAAA;AAcF,wEAAwE;AACxE,SAAS,OAAO,CAAC,OAAuB;IACpC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACnC,OAAO,CAAC,MAAgB,EAAE,OAA4C,EAAQ,EAAE;QAC5E,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,oBAAoB,CAAC,kCAAkC,CAAC,CAAA;IACpG,CAAC,CAAA;AACL,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import type { SocketContract } from "../wire/contract.js";
2
+ import type { SandboxOptions } from "./sandbox.js";
2
3
  declare const ACTOR_ARTIFACT_VERSION = 1;
3
4
  declare enum Persistence {
4
5
  Persisted = "persisted",
@@ -14,6 +15,7 @@ interface ActorFieldSchema {
14
15
  interface ActorSchema {
15
16
  readonly actorName: string;
16
17
  readonly fields: readonly ActorFieldSchema[];
18
+ readonly sandbox?: SandboxOptions;
17
19
  readonly reentrantMethods?: readonly string[];
18
20
  readonly contract?: SocketContract;
19
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/actor/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,QAAA,MAAM,sBAAsB,IAAI,CAAA;AAEhC,aAAK,WAAW;IACZ,SAAS,cAAc;IACvB,SAAS,cAAc;CAC1B;AAED,UAAU,gBAAgB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,UAAU,WAAW;IACjB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CACrC;AAED,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/actor/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,QAAA,MAAM,sBAAsB,IAAI,CAAA;AAEhC,aAAK,WAAW;IACZ,SAAS,cAAc;IACvB,SAAS,cAAc;CAC1B;AAED,UAAU,gBAAgB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,UAAU,WAAW;IACjB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAA;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CACrC;AAED,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/actor/schema.ts"],"names":[],"mappings":"AAEA,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAEhC,IAAK,WAGJ;AAHD,WAAK,WAAW;IACZ,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;AAC3B,CAAC,EAHI,WAAW,KAAX,WAAW,QAGf;AAiBD,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/actor/schema.ts"],"names":[],"mappings":"AAIA,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAEhC,IAAK,WAGJ;AAHD,WAAK,WAAW;IACZ,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;AAC3B,CAAC,EAHI,WAAW,KAAX,WAAW,QAGf;AAkBD,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"actor-source-watcher.d.ts","sourceRoot":"","sources":["../../src/cli/actor-source-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,MAAM,UAAU,CAAA;AAGhD,UAAU,yBAAyB;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,iBAAe,iBAAiB,CAC5B,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAI7B;AAED,cAAM,kBAAkB;IAQhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVzB,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,KAAK,CAAC,CAA+B;IAC7C,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAQ;gBAGH,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,aAAa,EAAE,OAAO,KAAK,EAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAG9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;YAgBR,OAAO;CAUxB;AAyBD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"actor-source-watcher.d.ts","sourceRoot":"","sources":["../../src/cli/actor-source-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,MAAM,UAAU,CAAA;AAIhD,UAAU,yBAAyB;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,iBAAe,iBAAiB,CAC5B,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAI7B;AAED,cAAM,kBAAkB;IAQhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVzB,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,KAAK,CAAC,CAA+B;IAC7C,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAQ;gBAGH,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,aAAa,EAAE,OAAO,KAAK,EAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAG9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;YAgBR,OAAO;CAUxB;AA0CD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { watch } from "chokidar";
2
+ import { existsSync } from "node:fs";
2
3
  import path from "node:path";
3
4
  async function watchActorSources(options, refresh) {
4
5
  const watcher = new ActorSourceWatcher(options, refresh, watch, message => console.warn(message));
@@ -25,6 +26,7 @@ class ActorSourceWatcher {
25
26
  try {
26
27
  this.watcher = this.createWatcher(this.options.projectDirectory, {
27
28
  ignored: (watchedPath, stats) => ignoredActorPath(watchedPath, this.options) ||
29
+ (stats?.isDirectory() === true && existsSync(path.join(watchedPath, "pyvenv.cfg"))) ||
28
30
  (stats !== undefined && !stats.isDirectory() && (!stats.isFile() || !isActorSource(watchedPath))),
29
31
  ignoreInitial: true,
30
32
  followSymlinks: false,
@@ -98,7 +100,16 @@ function ignoredActorPath(candidate, options) {
98
100
  if (!relative || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative))
99
101
  return false;
100
102
  const components = relative.split(path.sep);
101
- if (components.includes(".git") || components.includes("node_modules"))
103
+ if (components.some(component => [
104
+ ".git",
105
+ "node_modules",
106
+ ".venv",
107
+ "venv",
108
+ "__pycache__",
109
+ ".mypy_cache",
110
+ ".pytest_cache",
111
+ ".ruff_cache"
112
+ ].includes(component)))
102
113
  return true;
103
114
  if ([".durable-actors", "generated"].includes(components[0]))
104
115
  return true;
@@ -108,7 +119,8 @@ function ignoredActorPath(candidate, options) {
108
119
  return candidate === state || candidate.startsWith(`${state}${path.sep}`);
109
120
  }
110
121
  function isActorSource(candidate) {
111
- return /\.(?:[cm]?[jt]sx?|json|ya?ml)$/u.test(candidate) || path.basename(candidate) === "bun.lock";
122
+ return (/\.(?:[cm]?[jt]sx?|json|ya?ml|py|toml)$/u.test(candidate) ||
123
+ ["bun.lock", "uv.lock", "requirements.txt"].includes(path.basename(candidate)));
112
124
  }
113
125
  function reportWatchError(error) {
114
126
  console.error(`Actor source update failed: ${error instanceof Error ? error.message : String(error)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"actor-source-watcher.js","sourceRoot":"","sources":["../../src/cli/actor-source-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actor-source-watcher.js","sourceRoot":"","sources":["../../src/cli/actor-source-watcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAA;AAejE,UAAU,UAAU;IAChB,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,GAAG,KAAK,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwBzD;AA+BD,iBAAe,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAK1D;AA2GD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAA;AAgBjE,UAAU,UAAU;IAChB,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,GAAG,KAAK,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2BzD;AA+BD,iBAAe,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1D;AA8GD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,CAAA"}
package/dist/cli/dev.js CHANGED
@@ -9,6 +9,7 @@ import { projectSdkModule } from "../projectSdk.js";
9
9
  import { fetchRuntimeExecutablePath } from "../runtimeInstaller.js";
10
10
  import { watchActorSources } from "./actor-source-watcher.js";
11
11
  import { ControlPlaneClient } from "./control-plane.js";
12
+ import { checkPython, pythonExecutable } from "./python.js";
12
13
  import { runtimeConnection, runtimeEnvironment, startRustRuntime } from "./rust-runtime.js";
13
14
  export function registerDevCommand(program) {
14
15
  program
@@ -25,6 +26,9 @@ No configuration is required. Optional overrides in .env:
25
26
  DURABLE_ACTORS_PROJECT project directory (default: current directory)
26
27
  DURABLE_ACTORS_ENTRYPOINT actor source file, relative to the project (default: src/actors.ts)
27
28
 
29
+ Python projects: durable-actors init my-project --template python
30
+ DURABLE_ACTORS_PYTHON selects an interpreter; otherwise dev uses the project .venv.
31
+
28
32
  Create a project with: durable-actors init my-project`)
29
33
  .action(async (options) => {
30
34
  process.exitCode = await runDev(developmentOptions(options, process.env));
@@ -58,6 +62,8 @@ const developmentEnvironment = z.object({
58
62
  });
59
63
  async function runDev(options) {
60
64
  const project = await developmentProject(options);
65
+ if (options.entrypoint.endsWith(".py"))
66
+ return runDevRuntime(options, project);
61
67
  const local = await projectSdkModule(project, "./cli/dev.js", import.meta.url, options.sdkResolveFrom);
62
68
  if (local !== undefined)
63
69
  return (await import(local)).runDev({ ...options, project });
@@ -85,8 +91,11 @@ async function developmentPathStats(candidate) {
85
91
  });
86
92
  }
87
93
  async function runDevRuntime(options, project) {
94
+ const python = options.entrypoint.endsWith(".py") ? await pythonExecutable(project) : undefined;
95
+ if (python)
96
+ await checkPython(project, [options.entrypoint], python);
88
97
  const executable = await fetchRuntimeExecutablePath();
89
- const runtime = startRustRuntime(executable, [...devArguments(options), "--ready-fd", "3"], runtimeEnvironment(executable), true, true);
98
+ const runtime = startRustRuntime(executable, [...devArguments(options), "--ready-fd", "3"], { ...runtimeEnvironment(executable), ...(python ? { DURABLE_ACTORS_PYTHON: python } : {}) }, true, true);
90
99
  const connection = runtimeConnection(runtime.readiness, runtime.exited);
91
100
  const settings = connection.then(value => configuredSettings(z
92
101
  .object({
@@ -118,6 +127,8 @@ async function runDevRuntime(options, project) {
118
127
  }
119
128
  }
120
129
  async function publishLocalCode(options, project, client) {
130
+ if (options.entrypoint.endsWith(".py"))
131
+ await checkPython(project, [options.entrypoint]);
121
132
  await client.registerDeployment({
122
133
  imageRef: "local",
123
134
  workingDirectory: project,
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAanC,iBAAS,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAUvD;AA+CD,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AAe3C,iBAAS,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgBvD;AAyDD,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
@@ -1,13 +1,19 @@
1
+ import { Option } from "commander";
1
2
  import path from "node:path";
2
3
  import { z } from "zod";
3
4
  import { connectionHelp } from "./connection.js";
4
5
  import { createControlPlaneClient } from "./control-plane.js";
6
+ import { compilePythonContract, generatePythonClient } from "./python.js";
5
7
  function registerGenerateCommand(program) {
6
8
  program
7
9
  .command("generate")
8
10
  .argument("[entrypoint]", "actor source file to compile instead of fetching from the server")
9
11
  .description("Generate actor clients from the running server or an explicit source file")
10
- .option("--out-dir <directory>", "generated JavaScript and declaration directory", "generated")
12
+ .option("--out-dir <directory>", "generated client directory", "generated")
13
+ .addOption(new Option("--language <language>", "client language (inferred from the contract)").choices([
14
+ "typescript",
15
+ "python"
16
+ ]))
11
17
  .option("--config <file>", "TypeScript configuration file (local source only)")
12
18
  .option("--control-plane-url <url>", "control-plane origin (overrides DURABLE_ACTORS_CONTROL_PLANE_URL)")
13
19
  .addHelpText("after", connectionHelp)
@@ -15,13 +21,23 @@ function registerGenerateCommand(program) {
15
21
  }
16
22
  async function generate(entrypoint, options) {
17
23
  validateOptions(entrypoint, options);
18
- const { generateClient } = await import("../compiler/generators/client-generator.js");
19
- const contract = entrypoint
24
+ const source = entrypoint
20
25
  ? await localContract(entrypoint, options.config)
21
26
  : await remoteContract(options.controlPlaneUrl);
22
27
  const directory = path.resolve(options.outDir);
28
+ const summary = z.object({ actors: z.array(z.unknown()), typescript: z.unknown().optional() }).parse(source);
29
+ const language = options.language ?? (summary.typescript === undefined ? "python" : "typescript");
30
+ if (language === "python")
31
+ await generatePythonClient(source, directory);
32
+ else
33
+ await generateTypeScriptClient(source, directory);
34
+ console.log(`Generated ${summary.actors.length} actor contract(s) in ${directory}.`);
35
+ }
36
+ async function generateTypeScriptClient(source, directory) {
37
+ const { generateClient } = await import("../compiler/generators/client-generator.js");
38
+ const { parsePublicContract } = await import("../compiler/validate-public-contract.js");
39
+ const contract = parsePublicContract(source);
23
40
  await generateClient(contract, directory);
24
- console.log(`Generated ${contract.actors.length} actor contract(s) in ${directory}.`);
25
41
  const dependencies = Object.entries(contract.typescript.dependencies);
26
42
  if (dependencies.length)
27
43
  console.log(`Type dependencies: ${dependencies.map(([name, version]) => `${name}@${version}`).join(", ")}. Install compatible versions in the calling project.`);
@@ -29,21 +45,24 @@ async function generate(entrypoint, options) {
29
45
  function validateOptions(entrypoint, options) {
30
46
  if (entrypoint && options.controlPlaneUrl !== undefined)
31
47
  throw new Error("--control-plane-url cannot be combined with a source entrypoint.");
48
+ if (options.config && entrypoint?.endsWith(".py"))
49
+ throw new Error("--config applies to TypeScript source only.");
32
50
  if (options.config && !entrypoint)
33
51
  throw new Error("--config requires a source entrypoint.");
34
52
  }
35
53
  async function localContract(entrypoint, configFile) {
54
+ if (entrypoint.endsWith(".py"))
55
+ return compilePythonContract(entrypoint);
36
56
  const { ActorCompiler } = await import("../compiler/actor-compiler.js");
37
57
  return new ActorCompiler().compileContract(entrypoint, { configFile });
38
58
  }
39
59
  async function remoteContract(controlPlaneUrl) {
40
- const { parsePublicContract } = await import("../compiler/validate-public-contract.js");
41
60
  const client = createControlPlaneClient({
42
61
  ...process.env,
43
62
  DURABLE_ACTORS_CONTROL_PLANE_URL: controlPlaneUrl ?? process.env.DURABLE_ACTORS_CONTROL_PLANE_URL
44
63
  }, fetch);
45
64
  const publication = publicationSchema.parse(await client.getContract());
46
- return parsePublicContract(publication.contract);
65
+ return publication.contract;
47
66
  }
48
67
  const publicationSchema = z.strictObject({
49
68
  contractHash: z.string().regex(/^sha256:[a-f0-9]{64}$/u),
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ declare function pythonExecutable(project: string): Promise<string>;
2
+ declare function checkPython(project: string, targets: string[], executable?: string): Promise<void>;
3
+ declare function compilePythonContract(entrypoint: string): Promise<unknown>;
4
+ declare function generatePythonClient(contract: unknown, directory: string): Promise<void>;
5
+ export { checkPython, compilePythonContract, generatePythonClient, pythonExecutable };
6
+ //# sourceMappingURL=python.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../src/cli/python.ts"],"names":[],"mappings":"AAKA,iBAAe,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUhE;AAED,iBAAe,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG;AAED,iBAAe,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYzE;AAED,iBAAe,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvF;AA4BD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,50 @@
1
+ import { execFile } from "node:child_process";
2
+ import { access, mkdtemp, rm } from "node:fs/promises";
3
+ import { tmpdir } from "node:os";
4
+ import path from "node:path";
5
+ async function pythonExecutable(project) {
6
+ if (process.env.DURABLE_ACTORS_PYTHON)
7
+ return process.env.DURABLE_ACTORS_PYTHON;
8
+ const directory = process.env.VIRTUAL_ENV ?? path.join(project, ".venv");
9
+ const executable = path.join(directory, process.platform === "win32" ? "Scripts/python.exe" : "bin/python");
10
+ return (await access(executable).then(() => true, () => false))
11
+ ? executable
12
+ : "python3";
13
+ }
14
+ async function checkPython(project, targets, executable) {
15
+ await runPython(executable ?? (await pythonExecutable(project)), project, "mypy", ["--strict", ...targets]);
16
+ }
17
+ async function compilePythonContract(entrypoint) {
18
+ const project = process.cwd();
19
+ const executable = await pythonExecutable(project);
20
+ await checkPython(project, [entrypoint], executable);
21
+ const directory = await mkdtemp(path.join(tmpdir(), "durable-actors-build-"));
22
+ try {
23
+ return JSON.parse(await runPython(executable, project, "durable_actors.build", [project, entrypoint, directory, "local"]));
24
+ }
25
+ finally {
26
+ await rm(directory, { recursive: true, force: true });
27
+ }
28
+ }
29
+ async function generatePythonClient(contract, directory) {
30
+ const project = process.cwd();
31
+ const executable = await pythonExecutable(project);
32
+ await runPython(executable, project, "durable_actors.codegen", [directory], JSON.stringify(contract));
33
+ await checkPython(project, [directory], executable);
34
+ }
35
+ function runPython(executable, project, module, args, input) {
36
+ return new Promise((resolve, reject) => {
37
+ const child = execFile(executable, ["-m", module, ...args], { cwd: project, maxBuffer: 8 * 1024 * 1024 }, (error, stdout, stderr) => {
38
+ if (!error)
39
+ return resolve(stdout);
40
+ const hint = error.code === "ENOENT" || stderr.includes("No module named")
41
+ ? "\nInstall durable-actors[codegen] in the project virtual environment; DURABLE_ACTORS_PYTHON can select another interpreter."
42
+ : "";
43
+ reject(new Error(`${module} failed: ${stdout}${stderr || error.message}${hint}`));
44
+ });
45
+ child.stdin?.on("error", () => { });
46
+ child.stdin?.end(input);
47
+ });
48
+ }
49
+ export { checkPython, compilePythonContract, generatePythonClient, pythonExecutable };
50
+ //# sourceMappingURL=python.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/cli/python.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -15,7 +15,7 @@ try {
15
15
  Object.assign(process.env, actorEnvironment(process.env));
16
16
  const program = new Command()
17
17
  .name("durable-actors")
18
- .description("Run durable TypeScript actors locally or in the cloud")
18
+ .description("Run durable TypeScript and Python actors locally or in the cloud")
19
19
  .version(await version())
20
20
  .enablePositionalOptions()
21
21
  .addHelpCommand(false)
@@ -24,7 +24,7 @@ try {
24
24
  .command("init <directory>")
25
25
  .description("Create a sample actor project")
26
26
  .addOption(new Option("--template <name>", "project template")
27
- .choices(["actor", "chat", "ai-chat", "documents"])
27
+ .choices(["actor", "chat", "ai-chat", "documents", "python"])
28
28
  .default("actor"))
29
29
  .action(initializeProject);
30
30
  registerDevCommand(program);
@@ -52,6 +52,8 @@ async function initializeProject(directory, options) {
52
52
  force: false
53
53
  });
54
54
  await rename(path.join(destination, "gitignore"), path.join(destination, ".gitignore"));
55
+ if (options.template === "python")
56
+ await rename(path.join(destination, ".env.example"), path.join(destination, ".env"));
55
57
  await nameProject(destination);
56
58
  }
57
59
  catch (error) {
@@ -74,6 +76,16 @@ async function nameProject(destination) {
74
76
  await writeFile(manifest, JSON.stringify(metadata, null, 4) + "\n");
75
77
  }
76
78
  function projectInstructions(destination, template) {
79
+ if (template === "python")
80
+ return `Created Python actors in ${destination}.
81
+
82
+ From that directory, run:
83
+ pnpm install
84
+ uv sync
85
+ pnpm exec durable-actors dev
86
+
87
+ Edit src/actors.py. The CLI checks types before starting and reloading.
88
+ Generate typed Python clients with: pnpm exec durable-actors generate`;
77
89
  if (template === "actor")
78
90
  return actorProjectInstructions(destination);
79
91
  return `Created ${template} app in ${destination}.
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"remoteClient.d.ts","sourceRoot":"","sources":["../../src/client/remoteClient.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAG7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAQ1G,cAAM,iBAAkB,SAAQ,eAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;gBACzC,OAAO,CAAC,EAAE,0BAA0B,EAAE,YAAY,GAAE,6BAAkC;IAW5F,OAAO,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,YAAiB,GAC3B,OAAO,CAAC,eAAe,CAAC;IAoCrB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;YAuBjF,oBAAoB;CAkBrC;AAuBD,UAAU,6BAA8B,SAAQ,2BAA2B;IACvE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACjD;AACD,KAAK,kBAAkB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;AAE1F,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,YAAY,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,CAAA"}
1
+ {"version":3,"file":"remoteClient.d.ts","sourceRoot":"","sources":["../../src/client/remoteClient.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAG7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,KAAK,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAQ1G,cAAM,iBAAkB,SAAQ,eAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;gBACzC,OAAO,CAAC,EAAE,0BAA0B,EAAE,YAAY,GAAE,6BAAkC;IAO5F,OAAO,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,YAAiB,GAC3B,OAAO,CAAC,eAAe,CAAC;IA8BrB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;YAiBjF,oBAAoB;CAkBrC;AAuBD,UAAU,6BAA8B,SAAQ,2BAA2B;IACvE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACjD;AACD,KAAK,kBAAkB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;AAE1F,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,YAAY,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,CAAA"}
@@ -1,7 +1,6 @@
1
1
  import WebSocket from "ws";
2
2
  import { z } from "zod";
3
3
  import { projectActorPath, validateActorComponent } from "../actor/identity.js";
4
- import { currentActorInvocation } from "../actor/invocationContext.js";
5
4
  import { socketMessage } from "../actor/socket.js";
6
5
  import { socketMetadata } from "../actor/socketValidation.js";
7
6
  import { HttpActorClient } from "../client-runtime/client.js";
@@ -14,18 +13,12 @@ class RemoteActorClient extends HttpActorClient {
14
13
  constructor(options, dependencies = {}) {
15
14
  super(options, {
16
15
  ...dependencies,
17
- telemetry: dependencies.telemetry ?? stderrTelemetry,
18
- beforeInvoke: requestId => {
19
- if (currentActorInvocation() !== undefined)
20
- throw new ActorInvocationError("actor_error", requestId, "actor-to-actor calls are not available");
21
- }
16
+ telemetry: dependencies.telemetry ?? stderrTelemetry
22
17
  });
23
18
  this.connectWebSocket = dependencies.connectWebSocket ?? openWebSocket;
24
19
  }
25
20
  async connect(actorName, actorId, metadata, schemas = {}) {
26
21
  const requestId = validateActorComponent("request ID", this.requestId());
27
- if (currentActorInvocation() !== undefined)
28
- throw new ActorInvocationError("actor_error", requestId, "actor-to-actor socket connections are not available");
29
22
  const actor = {
30
23
  projectId: this.settings.projectId,
31
24
  actorName: validateActorComponent("actor name", actorName),
@@ -52,8 +45,6 @@ class RemoteActorClient extends HttpActorClient {
52
45
  }
53
46
  async broadcast(actorName, actorId, message) {
54
47
  const requestId = validateActorComponent("request ID", this.requestId());
55
- if (currentActorInvocation() !== undefined)
56
- throw new ActorInvocationError("actor_error", requestId, "actor-to-actor socket broadcasts are not available");
57
48
  const actor = {
58
49
  requestId,
59
50
  projectId: this.settings.projectId,
@@ -1 +1 @@
1
- {"version":3,"file":"remoteClient.js","sourceRoot":"","sources":["../../src/client/remoteClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remoteClient.js","sourceRoot":"","sources":["../../src/client/remoteClient.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ import type { DurableActorsClientOptions, Environment } from "./settings.js";
4
4
  import { LatencyTimeline } from "./telemetry.js";
5
5
  import type { TelemetrySink } from "./telemetry.js";
6
6
  export declare class HttpActorClient {
7
- private readonly beforeInvoke;
8
7
  private settingsValue;
9
8
  protected readonly environment: Environment;
10
9
  protected readonly fetchRequest: typeof globalThis.fetch;
@@ -42,7 +41,6 @@ export interface HttpActorClientDependencies {
42
41
  readonly now?: () => number;
43
42
  readonly monotonicNow?: () => number;
44
43
  readonly telemetry?: TelemetrySink;
45
- readonly beforeInvoke?: (requestId: string) => void;
46
44
  }
47
45
  export type { DurableActorsClientOptions };
48
46
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client-runtime/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAGrG,OAAO,EAEH,kBAAkB,EAMrB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAInD,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,aAAa,CAAiC;IACtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,CAAA;IAC1C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAA;IAChD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAA;IACpC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,CAAA;IAC7C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,OAAO,gCAAsC;gBAEpD,OAAO,CAAC,EAAE,0BAA0B,EAAE,YAAY,GAAE,2BAAgC;IAa1F,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAwB9F,aAAa;YAiCb,MAAM;YAeN,gBAAgB;IA4C9B,OAAO,CAAC,gBAAgB;YAKV,YAAY;cAeV,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAoBvF,aAAa;IA2B3B,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,UAAU;IAiBlB,SAAS,KAAK,QAAQ,IAAI,mBAAmB,CAI5C;IAED,OAAO,CAAC,aAAa;CAKxB;AAiCD,KAAK,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC,CAAA;AAC9F,UAAU,gBAAgB;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,eAAe,CAAA;CAC3B;AACD,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAChE,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,MAAM,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,CAAA;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;CACtD;AACD,YAAY,EAAE,0BAA0B,EAAE,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client-runtime/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAGrG,OAAO,EAEH,kBAAkB,EAMrB,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAInD,qBAAa,eAAe;IACxB,OAAO,CAAC,aAAa,CAAiC;IACtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,CAAA;IAC1C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAA;IAChD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAA;IACpC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,CAAA;IAC7C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;IAC3C,SAAS,CAAC,QAAQ,CAAC,OAAO,gCAAsC;gBAEpD,OAAO,CAAC,EAAE,0BAA0B,EAAE,YAAY,GAAE,2BAAgC;IAY1F,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAuB9F,aAAa;YAiCb,MAAM;YAeN,gBAAgB;IA4C9B,OAAO,CAAC,gBAAgB;YAKV,YAAY;cAeV,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAoBvF,aAAa;IA2B3B,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,UAAU;IAiBlB,SAAS,KAAK,QAAQ,IAAI,mBAAmB,CAI5C;IAED,OAAO,CAAC,aAAa;CAKxB;AAiCD,KAAK,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC,CAAA;AAC9F,UAAU,gBAAgB;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,eAAe,CAAA;CAC3B;AACD,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAChE,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,MAAM,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,MAAM,CAAA;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAA;CACrC;AACD,YAAY,EAAE,0BAA0B,EAAE,CAAA"}