durable-actors 0.3.0 → 0.4.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 (280) hide show
  1. package/README.md +8 -19
  2. package/dist/backend.d.ts +3 -10
  3. package/dist/backend.d.ts.map +1 -1
  4. package/dist/backend.js +7 -34
  5. package/dist/backend.js.map +1 -1
  6. package/dist/cli/actor-source-watcher.d.ts.map +1 -1
  7. package/dist/cli/actor-source-watcher.js +6 -2
  8. package/dist/cli/actor-source-watcher.js.map +1 -1
  9. package/dist/cli/connection.d.ts +2 -2
  10. package/dist/cli/connection.d.ts.map +1 -1
  11. package/dist/cli/connection.js +2 -6
  12. package/dist/cli/connection.js.map +1 -1
  13. package/dist/cli/control-plane.d.ts +1 -1
  14. package/dist/cli/control-plane.d.ts.map +1 -1
  15. package/dist/cli/control-plane.js +11 -6
  16. package/dist/cli/control-plane.js.map +1 -1
  17. package/dist/cli/dev.d.ts.map +1 -1
  18. package/dist/cli/dev.js +51 -28
  19. package/dist/cli/dev.js.map +1 -1
  20. package/dist/cli/generate.d.ts.map +1 -1
  21. package/dist/cli/generate.js +16 -9
  22. package/dist/cli/generate.js.map +1 -1
  23. package/dist/cli.js +18 -3
  24. package/dist/cli.js.map +1 -1
  25. package/dist/client/clientSettings.d.ts +1 -7
  26. package/dist/client/clientSettings.d.ts.map +1 -1
  27. package/dist/client/clientSettings.js +1 -44
  28. package/dist/client/clientSettings.js.map +1 -1
  29. package/dist/client/remoteClient.d.ts +4 -35
  30. package/dist/client/remoteClient.d.ts.map +1 -1
  31. package/dist/client/remoteClient.js +14 -202
  32. package/dist/client/remoteClient.js.map +1 -1
  33. package/dist/client/telemetry.d.ts +4 -12
  34. package/dist/client/telemetry.d.ts.map +1 -1
  35. package/dist/client/telemetry.js +3 -19
  36. package/dist/client/telemetry.js.map +1 -1
  37. package/dist/client-runtime/client.d.ts +40 -0
  38. package/dist/client-runtime/client.d.ts.map +1 -0
  39. package/dist/client-runtime/client.js +183 -0
  40. package/dist/client-runtime/client.js.map +1 -0
  41. package/dist/client-runtime/errors.d.ts +30 -0
  42. package/dist/client-runtime/errors.d.ts.map +1 -0
  43. package/dist/client-runtime/errors.js +55 -0
  44. package/dist/client-runtime/errors.js.map +1 -0
  45. package/dist/client-runtime/http.d.ts +43 -0
  46. package/dist/client-runtime/http.d.ts.map +1 -0
  47. package/dist/client-runtime/http.js +63 -0
  48. package/dist/client-runtime/http.js.map +1 -0
  49. package/dist/client-runtime/index.browser.d.ts +8 -0
  50. package/dist/client-runtime/index.browser.d.ts.map +1 -0
  51. package/dist/client-runtime/index.browser.js +14 -0
  52. package/dist/client-runtime/index.browser.js.map +1 -0
  53. package/dist/client-runtime/index.d.ts +6 -0
  54. package/dist/client-runtime/index.d.ts.map +1 -0
  55. package/dist/client-runtime/index.js +4 -0
  56. package/dist/client-runtime/index.js.map +1 -0
  57. package/dist/client-runtime/json.d.ts +9 -0
  58. package/dist/client-runtime/json.d.ts.map +1 -0
  59. package/dist/client-runtime/json.js +16 -0
  60. package/dist/client-runtime/json.js.map +1 -0
  61. package/dist/client-runtime/proxy.d.ts +49 -0
  62. package/dist/client-runtime/proxy.d.ts.map +1 -0
  63. package/dist/client-runtime/proxy.js +106 -0
  64. package/dist/client-runtime/proxy.js.map +1 -0
  65. package/dist/client-runtime/settings.d.ts +20 -0
  66. package/dist/client-runtime/settings.d.ts.map +1 -0
  67. package/dist/client-runtime/settings.js +60 -0
  68. package/dist/client-runtime/settings.js.map +1 -0
  69. package/dist/client-runtime/stub.d.ts +15 -0
  70. package/dist/client-runtime/stub.d.ts.map +1 -0
  71. package/dist/client-runtime/stub.js +44 -0
  72. package/dist/client-runtime/stub.js.map +1 -0
  73. package/dist/client-runtime/telemetry.d.ts +13 -0
  74. package/dist/client-runtime/telemetry.d.ts.map +1 -0
  75. package/dist/client-runtime/telemetry.js +18 -0
  76. package/dist/client-runtime/telemetry.js.map +1 -0
  77. package/dist/compiler/actor-build.d.ts +8 -2
  78. package/dist/compiler/actor-build.d.ts.map +1 -1
  79. package/dist/compiler/actor-build.js +58 -4
  80. package/dist/compiler/actor-build.js.map +1 -1
  81. package/dist/compiler/actor-compiler.d.ts +11 -0
  82. package/dist/compiler/actor-compiler.d.ts.map +1 -1
  83. package/dist/compiler/actor-compiler.js +34 -22
  84. package/dist/compiler/actor-compiler.js.map +1 -1
  85. package/dist/compiler/deployment-build.js +18 -5
  86. package/dist/compiler/deployment-build.js.map +1 -1
  87. package/dist/compiler/generators/backend-generator.js +4 -4
  88. package/dist/compiler/generators/backend-generator.js.map +1 -1
  89. package/dist/compiler/generators/client-generator.d.ts.map +1 -1
  90. package/dist/compiler/generators/client-generator.js +6 -19
  91. package/dist/compiler/generators/client-generator.js.map +1 -1
  92. package/dist/compiler/generators/typescript-generator.d.ts +1 -1
  93. package/dist/compiler/generators/typescript-generator.d.ts.map +1 -1
  94. package/dist/compiler/generators/typescript-generator.js +11 -8
  95. package/dist/compiler/generators/typescript-generator.js.map +1 -1
  96. package/dist/compiler/json-schema.d.ts.map +1 -1
  97. package/dist/compiler/json-schema.js +2 -1
  98. package/dist/compiler/json-schema.js.map +1 -1
  99. package/dist/errors.d.ts +1 -29
  100. package/dist/errors.d.ts.map +1 -1
  101. package/dist/errors.js +1 -54
  102. package/dist/errors.js.map +1 -1
  103. package/dist/generated/client-runtime.d.ts +2 -0
  104. package/dist/generated/client-runtime.d.ts.map +1 -0
  105. package/dist/generated/client-runtime.js +2 -0
  106. package/dist/generated/client-runtime.js.map +1 -0
  107. package/dist/host/actor-host.d.ts +1 -3
  108. package/dist/host/actor-host.d.ts.map +1 -1
  109. package/dist/host/actor-host.js +6 -34
  110. package/dist/host/actor-host.js.map +1 -1
  111. package/dist/host/actor-worker.js +9 -14
  112. package/dist/host/actor-worker.js.map +1 -1
  113. package/dist/host/generic-host.d.ts.map +1 -1
  114. package/dist/host/generic-host.js +4 -5
  115. package/dist/host/generic-host.js.map +1 -1
  116. package/dist/host/protocol.d.ts +2 -4
  117. package/dist/host/protocol.d.ts.map +1 -1
  118. package/dist/host/protocol.js +1 -1
  119. package/dist/host/protocol.js.map +1 -1
  120. package/dist/host/types.d.ts +1 -8
  121. package/dist/host/types.d.ts.map +1 -1
  122. package/dist/host/validate-artifact.d.ts +2 -0
  123. package/dist/host/validate-artifact.d.ts.map +1 -0
  124. package/dist/host/validate-artifact.js +10 -0
  125. package/dist/host/validate-artifact.js.map +1 -0
  126. package/dist/host/worker-supervisor.d.ts +2 -28
  127. package/dist/host/worker-supervisor.d.ts.map +1 -1
  128. package/dist/host/worker-supervisor.js +4 -60
  129. package/dist/host/worker-supervisor.js.map +1 -1
  130. package/dist/json.d.ts +1 -1
  131. package/dist/json.d.ts.map +1 -1
  132. package/dist/json.js +1 -13
  133. package/dist/json.js.map +1 -1
  134. package/dist/localRuntime.d.ts +3 -3
  135. package/dist/localRuntime.d.ts.map +1 -1
  136. package/dist/localRuntime.js +13 -4
  137. package/dist/localRuntime.js.map +1 -1
  138. package/dist/projectSdk.d.ts +2 -0
  139. package/dist/projectSdk.d.ts.map +1 -0
  140. package/dist/projectSdk.js +19 -0
  141. package/dist/projectSdk.js.map +1 -0
  142. package/dist/proxy.d.ts +1 -51
  143. package/dist/proxy.d.ts.map +1 -1
  144. package/dist/proxy.js +1 -80
  145. package/dist/proxy.js.map +1 -1
  146. package/dist/templates/actor/README.md +6 -6
  147. package/dist/templates/actor/package.json +2 -2
  148. package/dist/templates/actor/pnpm-workspace.yaml +2 -0
  149. package/dist/templates/ai-chat/.env.example +0 -2
  150. package/dist/templates/ai-chat/README.md +5 -10
  151. package/dist/templates/ai-chat/package.json +1 -1
  152. package/dist/templates/ai-chat/pnpm-workspace.yaml +2 -0
  153. package/dist/templates/ai-chat/src/actors.ts +3 -8
  154. package/dist/templates/ai-chat/src/backend.ts +2 -12
  155. package/dist/templates/chat/.env.example +0 -2
  156. package/dist/templates/chat/README.md +1 -1
  157. package/dist/templates/chat/package.json +2 -2
  158. package/dist/templates/chat/pnpm-workspace.yaml +2 -0
  159. package/dist/templates/documents/.env.example +0 -2
  160. package/dist/templates/documents/README.md +1 -1
  161. package/dist/templates/documents/package.json +2 -2
  162. package/dist/templates/documents/pnpm-workspace.yaml +2 -0
  163. package/package.json +24 -21
  164. package/dist/client/actorHostGrpc.d.ts +0 -50
  165. package/dist/client/actorHostGrpc.d.ts.map +0 -1
  166. package/dist/client/actorHostGrpc.js +0 -111
  167. package/dist/client/actorHostGrpc.js.map +0 -1
  168. package/dist/generated/durable_actors/v1/ActivateActorReply.d.ts +0 -8
  169. package/dist/generated/durable_actors/v1/ActivateActorReply.d.ts.map +0 -1
  170. package/dist/generated/durable_actors/v1/ActivateActorReply.js +0 -3
  171. package/dist/generated/durable_actors/v1/ActivateActorReply.js.map +0 -1
  172. package/dist/generated/durable_actors/v1/ActivateActorRequest.d.ts +0 -8
  173. package/dist/generated/durable_actors/v1/ActivateActorRequest.d.ts.map +0 -1
  174. package/dist/generated/durable_actors/v1/ActivateActorRequest.js +0 -3
  175. package/dist/generated/durable_actors/v1/ActivateActorRequest.js.map +0 -1
  176. package/dist/generated/durable_actors/v1/ActorCompleted.d.ts +0 -9
  177. package/dist/generated/durable_actors/v1/ActorCompleted.d.ts.map +0 -1
  178. package/dist/generated/durable_actors/v1/ActorCompleted.js +0 -3
  179. package/dist/generated/durable_actors/v1/ActorCompleted.js.map +0 -1
  180. package/dist/generated/durable_actors/v1/ActorControlPlaneService.d.ts +0 -21
  181. package/dist/generated/durable_actors/v1/ActorControlPlaneService.d.ts.map +0 -1
  182. package/dist/generated/durable_actors/v1/ActorControlPlaneService.js +0 -3
  183. package/dist/generated/durable_actors/v1/ActorControlPlaneService.js.map +0 -1
  184. package/dist/generated/durable_actors/v1/ActorFailed.d.ts +0 -9
  185. package/dist/generated/durable_actors/v1/ActorFailed.d.ts.map +0 -1
  186. package/dist/generated/durable_actors/v1/ActorFailed.js +0 -3
  187. package/dist/generated/durable_actors/v1/ActorFailed.js.map +0 -1
  188. package/dist/generated/durable_actors/v1/ActorHostService.d.ts +0 -56
  189. package/dist/generated/durable_actors/v1/ActorHostService.d.ts.map +0 -1
  190. package/dist/generated/durable_actors/v1/ActorHostService.js +0 -3
  191. package/dist/generated/durable_actors/v1/ActorHostService.js.map +0 -1
  192. package/dist/generated/durable_actors/v1/ActorKey.d.ts +0 -11
  193. package/dist/generated/durable_actors/v1/ActorKey.d.ts.map +0 -1
  194. package/dist/generated/durable_actors/v1/ActorKey.js +0 -3
  195. package/dist/generated/durable_actors/v1/ActorKey.js.map +0 -1
  196. package/dist/generated/durable_actors/v1/ControlPlaneReply.d.ts +0 -7
  197. package/dist/generated/durable_actors/v1/ControlPlaneReply.d.ts.map +0 -1
  198. package/dist/generated/durable_actors/v1/ControlPlaneReply.js +0 -3
  199. package/dist/generated/durable_actors/v1/ControlPlaneReply.js.map +0 -1
  200. package/dist/generated/durable_actors/v1/ControlPlaneRequest.d.ts +0 -7
  201. package/dist/generated/durable_actors/v1/ControlPlaneRequest.d.ts.map +0 -1
  202. package/dist/generated/durable_actors/v1/ControlPlaneRequest.js +0 -3
  203. package/dist/generated/durable_actors/v1/ControlPlaneRequest.js.map +0 -1
  204. package/dist/generated/durable_actors/v1/Empty.d.ts +0 -5
  205. package/dist/generated/durable_actors/v1/Empty.d.ts.map +0 -1
  206. package/dist/generated/durable_actors/v1/Empty.js +0 -3
  207. package/dist/generated/durable_actors/v1/Empty.js.map +0 -1
  208. package/dist/generated/durable_actors/v1/HostInvokeActorRequest.d.ts +0 -11
  209. package/dist/generated/durable_actors/v1/HostInvokeActorRequest.d.ts.map +0 -1
  210. package/dist/generated/durable_actors/v1/HostInvokeActorRequest.js +0 -3
  211. package/dist/generated/durable_actors/v1/HostInvokeActorRequest.js.map +0 -1
  212. package/dist/generated/durable_actors/v1/HostSocketEventRequest.d.ts +0 -17
  213. package/dist/generated/durable_actors/v1/HostSocketEventRequest.d.ts.map +0 -1
  214. package/dist/generated/durable_actors/v1/HostSocketEventRequest.js +0 -3
  215. package/dist/generated/durable_actors/v1/HostSocketEventRequest.js.map +0 -1
  216. package/dist/generated/durable_actors/v1/InvokeActorReply.d.ts +0 -16
  217. package/dist/generated/durable_actors/v1/InvokeActorReply.d.ts.map +0 -1
  218. package/dist/generated/durable_actors/v1/InvokeActorReply.js +0 -3
  219. package/dist/generated/durable_actors/v1/InvokeActorReply.js.map +0 -1
  220. package/dist/generated/durable_actors/v1/InvokeActorRequest.d.ts +0 -14
  221. package/dist/generated/durable_actors/v1/InvokeActorRequest.d.ts.map +0 -1
  222. package/dist/generated/durable_actors/v1/InvokeActorRequest.js +0 -3
  223. package/dist/generated/durable_actors/v1/InvokeActorRequest.js.map +0 -1
  224. package/dist/generated/durable_actors/v1/PublishSocketEffectsRequest.d.ts +0 -13
  225. package/dist/generated/durable_actors/v1/PublishSocketEffectsRequest.d.ts.map +0 -1
  226. package/dist/generated/durable_actors/v1/PublishSocketEffectsRequest.js +0 -3
  227. package/dist/generated/durable_actors/v1/PublishSocketEffectsRequest.js.map +0 -1
  228. package/dist/generated/durable_actors/v1/ReplicaService.d.ts +0 -42
  229. package/dist/generated/durable_actors/v1/ReplicaService.d.ts.map +0 -1
  230. package/dist/generated/durable_actors/v1/ReplicaService.js +0 -3
  231. package/dist/generated/durable_actors/v1/ReplicaService.js.map +0 -1
  232. package/dist/generated/durable_actors/v1/ReplicaSessionHead.d.ts +0 -14
  233. package/dist/generated/durable_actors/v1/ReplicaSessionHead.d.ts.map +0 -1
  234. package/dist/generated/durable_actors/v1/ReplicaSessionHead.js +0 -3
  235. package/dist/generated/durable_actors/v1/ReplicaSessionHead.js.map +0 -1
  236. package/dist/generated/durable_actors/v1/ReplicaSnapshotRef.d.ts +0 -14
  237. package/dist/generated/durable_actors/v1/ReplicaSnapshotRef.d.ts.map +0 -1
  238. package/dist/generated/durable_actors/v1/ReplicaSnapshotRef.js +0 -3
  239. package/dist/generated/durable_actors/v1/ReplicaSnapshotRef.js.map +0 -1
  240. package/dist/generated/durable_actors/v1/ReplicaStreamHead.d.ts +0 -11
  241. package/dist/generated/durable_actors/v1/ReplicaStreamHead.d.ts.map +0 -1
  242. package/dist/generated/durable_actors/v1/ReplicaStreamHead.js +0 -3
  243. package/dist/generated/durable_actors/v1/ReplicaStreamHead.js.map +0 -1
  244. package/dist/generated/durable_actors/v1/ReplicaStreamIdentity.d.ts +0 -14
  245. package/dist/generated/durable_actors/v1/ReplicaStreamIdentity.d.ts.map +0 -1
  246. package/dist/generated/durable_actors/v1/ReplicaStreamIdentity.js +0 -3
  247. package/dist/generated/durable_actors/v1/ReplicaStreamIdentity.js.map +0 -1
  248. package/dist/generated/durable_actors/v1/Reroute.d.ts +0 -5
  249. package/dist/generated/durable_actors/v1/Reroute.d.ts.map +0 -1
  250. package/dist/generated/durable_actors/v1/Reroute.js +0 -3
  251. package/dist/generated/durable_actors/v1/Reroute.js.map +0 -1
  252. package/dist/generated/durable_actors/v1/SnapshotData.d.ts +0 -7
  253. package/dist/generated/durable_actors/v1/SnapshotData.d.ts.map +0 -1
  254. package/dist/generated/durable_actors/v1/SnapshotData.js +0 -3
  255. package/dist/generated/durable_actors/v1/SnapshotData.js.map +0 -1
  256. package/dist/generated/durable_actors/v1/SnapshotService.d.ts +0 -32
  257. package/dist/generated/durable_actors/v1/SnapshotService.d.ts.map +0 -1
  258. package/dist/generated/durable_actors/v1/SnapshotService.js +0 -3
  259. package/dist/generated/durable_actors/v1/SnapshotService.js.map +0 -1
  260. package/dist/generated/durable_actors/v1/SnapshotWriteReply.d.ts +0 -7
  261. package/dist/generated/durable_actors/v1/SnapshotWriteReply.d.ts.map +0 -1
  262. package/dist/generated/durable_actors/v1/SnapshotWriteReply.js +0 -3
  263. package/dist/generated/durable_actors/v1/SnapshotWriteReply.js.map +0 -1
  264. package/dist/generated/durable_actors.d.ts +0 -69
  265. package/dist/generated/durable_actors.d.ts.map +0 -1
  266. package/dist/generated/durable_actors.js +0 -2
  267. package/dist/generated/durable_actors.js.map +0 -1
  268. package/dist/generated/durable_actors.proto +0 -117
  269. package/dist/generated.browser.d.ts +0 -6
  270. package/dist/generated.browser.d.ts.map +0 -1
  271. package/dist/generated.browser.js +0 -10
  272. package/dist/generated.browser.js.map +0 -1
  273. package/dist/generated.d.ts +0 -3
  274. package/dist/generated.d.ts.map +0 -1
  275. package/dist/generated.js +0 -3
  276. package/dist/generated.js.map +0 -1
  277. package/dist/templates/actor/LICENSE.md +0 -9
  278. package/dist/templates/ai-chat/LICENSE.md +0 -9
  279. package/dist/templates/chat/LICENSE.md +0 -9
  280. package/dist/templates/documents/LICENSE.md +0 -9
package/README.md CHANGED
@@ -14,46 +14,35 @@ We offer a clean API to manage webSocket connections, Swift inspired syntax for
14
14
 
15
15
  ## Local development
16
16
 
17
- Install Node.js 22.19+, pnpm, and Bun 1.4.2+. Install the CLI once:
18
-
19
- ```sh
20
- pnpm add --global durable-actors
21
- ```
17
+ Install Node.js 22.19+, pnpm, and Bun 1.3.9+.
22
18
 
23
19
  ### Create your actor project in your directory of choice
24
20
 
25
21
  ```sh
26
- durable-actors init my-actors
22
+ npx durable-actors init my-actors
27
23
  cd my-actors
28
24
  pnpm install
29
- durable-actors dev // this will run the server locally on your machine
25
+ pnpm exec durable-actors dev # Run the server locally on your machine
30
26
  ```
31
27
 
32
28
  Running dev will also start a watch, every-time you make a change to an actor and save, metadata changes will be stored automatically.
33
29
 
34
30
  ### Connect your application
35
31
 
36
- In your separate application project's directory (ex: node server), install the SDK:
32
+ In your separate application project's directory (ex: node server), install the generator as a development dependency:
37
33
 
38
34
  ```sh
39
- pnpm add durable-actors
35
+ pnpm add -D durable-actors
40
36
  ```
41
37
 
42
- Copy the three settings printed by `dev` into that application's `.env` file:
43
-
44
- ```dotenv
45
- DURABLE_ACTORS_CONTROL_PLANE_URL=http://127.0.0.1:7100
46
- DURABLE_ACTORS_SECRET='<paste the secret printed by dev>'
47
- ```
38
+ Local CLI commands and backend clients default to project `local` at `http://127.0.0.1:7100`. No project ID or secret is required, and local authentication is disabled unless you set `DURABLE_ACTORS_SECRET` on the actor server and backend.
48
39
 
49
40
  Then generate your client from the same application directory:
50
41
 
51
42
  ```sh
52
- durable-actors generate
43
+ pnpm exec durable-actors generate
53
44
  ```
54
45
 
55
- This contract will match perfectly the actor you have defined!
56
-
57
46
  Now you may call your actor and access the state.
58
47
 
59
48
  ```ts
@@ -89,7 +78,7 @@ export class ChatHistory extends Actor {
89
78
 
90
79
  ## Stream from the backend (Express)
91
80
 
92
- After adding `ChatHistory`, rerun `durable-actors generate` in your application and use its generated client:
81
+ After adding `ChatHistory`, rerun `pnpm exec durable-actors generate` in your application and use its generated client:
93
82
 
94
83
  ```ts
95
84
  import { openai } from "@ai-sdk/openai"
package/dist/backend.d.ts CHANGED
@@ -1,15 +1,8 @@
1
- import type { ActorClientTransport } from "./client/client.js";
1
+ import type { ActorRpcMethod, ActorRpcTransport } from "./client-runtime/stub.js";
2
2
  import type { DurableActorsClientOptions } from "./client/remoteClient.js";
3
- type ActorRpcTransport = Pick<ActorClientTransport, "invoke">;
4
- interface ActorRpcMethod {
5
- readonly name: string;
6
- readonly result: "void" | "value";
7
- }
8
- /** Creates a backend client from generated method definitions. */
9
- declare function createActorStub<Stub extends object>(actorName: string, actorId: string, methods: readonly ActorRpcMethod[], transport?: ActorRpcTransport): Stub;
10
- export { createActorStub };
11
- export type { ActorRpcMethod, ActorRpcTransport };
3
+ export declare function createActorStub<Stub extends object>(actorName: string, actorId: string, methods: readonly ActorRpcMethod[], transport?: ActorRpcTransport): Stub;
12
4
  /** Connects backend clients using explicit settings. Keep the API key on the server. */
13
5
  export declare function createActorTransport(options: DurableActorsClientOptions): ActorRpcTransport;
14
6
  export type { DurableActorsClientOptions };
7
+ export type { ActorRpcMethod, ActorRpcTransport };
15
8
  //# sourceMappingURL=backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAG1E,KAAK,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAA;AAE7D,UAAU,cAAc;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;CACpC;AAED,kEAAkE;AAClE,iBAAS,eAAe,CAAC,IAAI,SAAS,MAAM,EACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,SAAS,CAAC,EAAE,iBAAiB,GAC9B,IAAI,CAqBN;AAWD,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAA;AAEjD,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,0BAA0B,GAAG,iBAAiB,CAU3F;AACD,YAAY,EAAE,0BAA0B,EAAE,CAAA"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAE1E,wBAAgB,eAAe,CAAC,IAAI,SAAS,MAAM,EAC/C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,SAAS,CAAC,EAAE,iBAAiB,GAC9B,IAAI,CAWN;AACD,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,0BAA0B,GAAG,iBAAiB,CAU3F;AACD,YAAY,EAAE,0BAA0B,EAAE,CAAA;AAE1C,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAA"}
package/dist/backend.js CHANGED
@@ -1,40 +1,13 @@
1
1
  /** @module durable-actors/backend */
2
- import { validateActorComponent } from "./actor/identity.js";
2
+ import { createActorStub as stub } from "./client-runtime/stub.js";
3
3
  import { actorClient } from "./client/client.js";
4
- import { ActorDefinitionError, ActorSerializationError } from "./errors.js";
5
- /** Creates a backend client from generated method definitions. */
6
- function createActorStub(actorName, actorId, methods, transport) {
7
- validateActorComponent("actor name", actorName);
8
- validateActorComponent("actor ID", actorId);
9
- const stub = Object.create(null);
10
- for (const method of methods) {
11
- validateActorComponent("actor method", method.name);
12
- if (["then", "connect", "broadcast", "onConnect", "onMessage", "onDisconnect"].includes(method.name))
13
- throw new ActorDefinitionError(`actor method ${actorName}.${method.name} is reserved`);
14
- if (Object.hasOwn(stub, method.name))
15
- throw new ActorDefinitionError(`duplicate actor method ${actorName}.${method.name}`);
16
- Object.defineProperty(stub, method.name, {
17
- enumerable: true,
18
- value: async (...args) => {
19
- const parameters = invocationArguments(args);
20
- const client = transport ?? (await actorClient());
21
- const result = await client.invoke(actorName, actorId, method.name, parameters);
22
- return method.result === "void" ? undefined : result;
23
- }
24
- });
25
- }
26
- return stub;
27
- }
28
- function invocationArguments(args) {
29
- let end = args.length;
30
- while (end > 0 && args[end - 1] === undefined)
31
- end--;
32
- const parameters = args.slice(0, end);
33
- if (parameters.includes(undefined))
34
- throw new ActorSerializationError("undefined cannot precede a supplied RPC argument in JSON transport");
35
- return parameters;
4
+ export function createActorStub(actorName, actorId, methods, transport) {
5
+ return stub(actorName, actorId, methods, transport ?? {
6
+ async invoke(...args) {
7
+ return (await actorClient()).invoke(...args);
8
+ }
9
+ });
36
10
  }
37
- export { createActorStub };
38
11
  /** Connects backend clients using explicit settings. Keep the API key on the server. */
39
12
  export function createActorTransport(options) {
40
13
  let client;
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAS3E,kEAAkE;AAClE,SAAS,eAAe,CACpB,SAAiB,EACjB,OAAe,EACf,OAAkC,EAClC,SAA6B;IAE7B,sBAAsB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IAC/C,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,sBAAsB,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;YAChG,MAAM,IAAI,oBAAoB,CAAC,gBAAgB,SAAS,IAAI,MAAM,CAAC,IAAI,cAAc,CAAC,CAAA;QAC1F,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;YAChC,MAAM,IAAI,oBAAoB,CAAC,0BAA0B,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACxF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;YACrC,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBAChC,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;gBAC5C,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,MAAM,WAAW,EAAE,CAAC,CAAA;gBACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;gBAC/E,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;YACxD,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;IACD,OAAO,IAAY,CAAA;AACvB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAwB;IACjD,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAA;IACrB,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,SAAS;QAAE,GAAG,EAAE,CAAA;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACrC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9B,MAAM,IAAI,uBAAuB,CAAC,oEAAoE,CAAC,CAAA;IAC3G,OAAO,UAAU,CAAA;AACrB,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAA;AAG1B,wFAAwF;AACxF,MAAM,UAAU,oBAAoB,CAAC,OAAmC;IACpE,IAAI,MAA8C,CAAA;IAClD,OAAO;QACH,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;YAChB,MAAM,KAAK,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAC9C,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAC5D,CAAA;YACD,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;QACzC,CAAC;KACJ,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,eAAe,IAAI,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,MAAM,UAAU,eAAe,CAC3B,SAAiB,EACjB,OAAe,EACf,OAAkC,EAClC,SAA6B;IAE7B,OAAO,IAAI,CACP,SAAS,EACT,OAAO,EACP,OAAO,EACP,SAAS,IAAI;QACT,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;YAChB,OAAO,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;QAChD,CAAC;KACJ,CACJ,CAAA;AACL,CAAC;AACD,wFAAwF;AACxF,MAAM,UAAU,oBAAoB,CAAC,OAAmC;IACpE,IAAI,MAA8C,CAAA;IAClD,OAAO;QACH,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;YAChB,MAAM,KAAK,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAC9C,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAC5D,CAAA;YACD,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;QACzC,CAAC;KACJ,CAAA;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"actor-source-watcher.d.ts","sourceRoot":"","sources":["../../src/cli/actor-source-watcher.ts"],"names":[],"mappings":"AAGA,UAAU,yBAAyB;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,UAAU,kBAAkB;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,iBAAe,iBAAiB,CAC5B,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAgC7B;AAiBD,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"actor-source-watcher.d.ts","sourceRoot":"","sources":["../../src/cli/actor-source-watcher.ts"],"names":[],"mappings":"AAGA,UAAU,yBAAyB;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,UAAU,kBAAkB;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,iBAAe,iBAAiB,CAC5B,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAkC7B;AAqBD,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
@@ -2,7 +2,8 @@ import { watch } from "chokidar";
2
2
  import path from "node:path";
3
3
  async function watchActorSources(options, refresh) {
4
4
  const watcher = watch(options.projectDirectory, {
5
- ignored: watchedPath => ignoredActorPath(watchedPath, options),
5
+ ignored: (watchedPath, stats) => ignoredActorPath(watchedPath, options) ||
6
+ (stats !== undefined && !stats.isDirectory() && (!stats.isFile() || !isActorSource(watchedPath))),
6
7
  ignoreInitial: true,
7
8
  followSymlinks: false,
8
9
  atomic: true,
@@ -11,7 +12,7 @@ async function watchActorSources(options, refresh) {
11
12
  let timer;
12
13
  let updates = Promise.resolve();
13
14
  watcher.on("all", (_event, changedPath) => {
14
- if (!/\.(?:ts|tsx|mts|cts)$/u.test(changedPath))
15
+ if (!isActorSource(changedPath))
15
16
  return;
16
17
  clearTimeout(timer);
17
18
  timer = setTimeout(() => {
@@ -48,6 +49,9 @@ function ignoredActorPath(candidate, options) {
48
49
  const state = path.resolve(options.dataDirectory);
49
50
  return candidate === state || candidate.startsWith(`${state}${path.sep}`);
50
51
  }
52
+ function isActorSource(candidate) {
53
+ return /\.(?:[cm]?[jt]sx?|json|ya?ml)$/u.test(candidate) || path.basename(candidate) === "bun.lock";
54
+ }
51
55
  function reportWatchError(error) {
52
56
  console.error(`Actor source update failed: ${error instanceof Error ? error.message : String(error)}`);
53
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"actor-source-watcher.js","sourceRoot":"","sources":["../../src/cli/actor-source-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAW5B,KAAK,UAAU,iBAAiB,CAC5B,OAAkC,EAClC,OAA4B;IAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE;QAC5C,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC9D,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,KAAK;QACrB,MAAM,EAAE,IAAI;QACZ,gBAAgB,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE;KAClE,CAAC,CAAA;IACF,IAAI,KAAgD,CAAA;IACpD,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IAC/B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QACtC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,OAAM;QACvD,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACpB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAC3D,CAAC,EAAE,EAAE,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACnB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACrB,MAAM,KAAK,CAAA;IACf,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;IACrC,OAAO;QACH,KAAK,CAAC,KAAK;YACP,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;YACrB,MAAM,OAAO,CAAA;QACjB,CAAC;KACJ,CAAA;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,OAAkC;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;IACnE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAA;IAChG,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC3C,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAA;IACnF,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACzE,IAAI,CAAC,OAAO,CAAC,aAAa;QAAE,OAAO,KAAK,CAAA;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACjD,OAAO,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACpC,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAC1G,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"actor-source-watcher.js","sourceRoot":"","sources":["../../src/cli/actor-source-watcher.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  export declare function connection(environment: NodeJS.ProcessEnv): {
2
- credential: string;
3
2
  projectId: string;
3
+ credential: string | undefined;
4
4
  homeRegion: string | undefined;
5
5
  controlPlaneUrl: string;
6
6
  };
7
- export declare const connectionHelp = "\nConnection settings (.env or environment):\n DURABLE_ACTORS_PROJECT_ID\n DURABLE_ACTORS_CONTROL_PLANE_URL (default: http://127.0.0.1:7100)\n DURABLE_ACTORS_SECRET";
7
+ export declare const connectionHelp = "\nConnection settings (.env or environment):\n DURABLE_ACTORS_PROJECT_ID (default: local on localhost)\n DURABLE_ACTORS_CONTROL_PLANE_URL (default: http://127.0.0.1:7100)\n DURABLE_ACTORS_SECRET (optional; must match the server's secret when authentication is enabled)";
8
8
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/cli/connection.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU;;;;;EASxD;AAED,eAAO,MAAM,cAAc,4KAIH,CAAA"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/cli/connection.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU;;;;;EAOxD;AAED,eAAO,MAAM,cAAc,oRAIuE,CAAA"}
@@ -2,10 +2,6 @@ import { configuredSettings } from "../client/clientSettings.js";
2
2
  import { actorEnvironment } from "../environment.js";
3
3
  export function connection(environment) {
4
4
  const env = actorEnvironment(environment);
5
- if (!env.DURABLE_ACTORS_PROJECT_ID)
6
- throw new Error("Set DURABLE_ACTORS_PROJECT_ID to your actor project ID.");
7
- if (!env.DURABLE_ACTORS_SECRET)
8
- throw new Error("Set DURABLE_ACTORS_SECRET to provide the shared secret.");
9
5
  return configuredSettings({
10
6
  projectId: env.DURABLE_ACTORS_PROJECT_ID,
11
7
  controlPlaneUrl: env.DURABLE_ACTORS_CONTROL_PLANE_URL || "http://127.0.0.1:7100",
@@ -14,7 +10,7 @@ export function connection(environment) {
14
10
  }
15
11
  export const connectionHelp = `
16
12
  Connection settings (.env or environment):
17
- DURABLE_ACTORS_PROJECT_ID
13
+ DURABLE_ACTORS_PROJECT_ID (default: local on localhost)
18
14
  DURABLE_ACTORS_CONTROL_PLANE_URL (default: http://127.0.0.1:7100)
19
- DURABLE_ACTORS_SECRET`;
15
+ DURABLE_ACTORS_SECRET (optional; must match the server's secret when authentication is enabled)`;
20
16
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/cli/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,UAAU,UAAU,CAAC,WAA8B;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACzC,IAAI,CAAC,GAAG,CAAC,yBAAyB;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC9G,IAAI,CAAC,GAAG,CAAC,qBAAqB;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC1G,OAAO,kBAAkB,CAAC;QACtB,SAAS,EAAE,GAAG,CAAC,yBAAyB;QACxC,eAAe,EAAE,GAAG,CAAC,gCAAgC,IAAI,uBAAuB;QAChF,MAAM,EAAE,GAAG,CAAC,qBAAqB;KACpC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;;;;wBAIN,CAAA"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/cli/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,UAAU,UAAU,CAAC,WAA8B;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACzC,OAAO,kBAAkB,CAAC;QACtB,SAAS,EAAE,GAAG,CAAC,yBAAyB;QACxC,eAAe,EAAE,GAAG,CAAC,gCAAgC,IAAI,uBAAuB;QAChF,MAAM,EAAE,GAAG,CAAC,qBAAqB;KACpC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;;;;kGAIoE,CAAA"}
@@ -1,7 +1,7 @@
1
1
  interface ControlPlaneConnection {
2
2
  projectId: string;
3
3
  controlPlaneUrl: string;
4
- credential: string;
4
+ credential: string | undefined;
5
5
  }
6
6
  declare class ControlPlaneClient {
7
7
  readonly connection: ControlPlaneConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../src/cli/control-plane.ts"],"names":[],"mappings":"AAIA,UAAU,sBAAsB;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACrB;AAED,cAAM,kBAAkB;IAEhB,QAAQ,CAAC,UAAU,EAAE,sBAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADf,UAAU,EAAE,sBAAsB,EAC1B,OAAO,EAAE,OAAO,KAAK;IAGpC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIvD,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK/E,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5E,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1E,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9E,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;YAUhE,UAAU;IAaxB,OAAO,CAAC,WAAW;YAIL,WAAW;CAwB5B;AAED,iBAAS,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,GAAG,kBAAkB,CAEnG;AAqBD,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,CAAA;AACvD,YAAY,EAAE,sBAAsB,EAAE,CAAA"}
1
+ {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../src/cli/control-plane.ts"],"names":[],"mappings":"AAKA,UAAU,sBAAsB;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CACjC;AAED,cAAM,kBAAkB;IAEhB,QAAQ,CAAC,UAAU,EAAE,sBAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADf,UAAU,EAAE,sBAAsB,EAC1B,OAAO,EAAE,OAAO,KAAK;IAGpC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIvD,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK/E,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5E,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1E,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9E,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;YAUhE,UAAU;IAaxB,OAAO,CAAC,WAAW;YAIL,WAAW;CAwB5B;AAED,iBAAS,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,GAAG,kBAAkB,CAEnG;AA0BD,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,CAAA;AACvD,YAAY,EAAE,sBAAsB,EAAE,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { validateProjectId } from "../actor/identity.js";
2
+ import { authorizationHeaders } from "../client/clientSettings.js";
2
3
  import { connection } from "./connection.js";
3
4
  class ControlPlaneClient {
4
5
  connection;
@@ -42,7 +43,7 @@ class ControlPlaneClient {
42
43
  const response = await this.request(`${this.connection.controlPlaneUrl}${path}`, {
43
44
  signal,
44
45
  redirect: "error",
45
- headers: { authorization: `Bearer ${this.connection.credential}`, accept: "text/event-stream" }
46
+ headers: { ...authorizationHeaders(this.connection.credential), accept: "text/event-stream" }
46
47
  });
47
48
  if (!response.ok || !response.headers.get("content-type")?.startsWith("text/event-stream") || !response.body) {
48
49
  await response.body?.cancel();
@@ -58,7 +59,7 @@ class ControlPlaneClient {
58
59
  const response = await this.request(`${controlPlaneUrl}${pathname}`, {
59
60
  method,
60
61
  headers: {
61
- authorization: `Bearer ${credential}`,
62
+ ...authorizationHeaders(credential),
62
63
  ...(body === undefined ? {} : { "content-type": "application/json" })
63
64
  },
64
65
  body: body === undefined ? undefined : JSON.stringify(body),
@@ -67,20 +68,24 @@ class ControlPlaneClient {
67
68
  }).catch(() => {
68
69
  throw new Error(`Cannot complete ${method} ${pathname} at ${controlPlaneUrl}. Check the URL and runtime.${method === "GET" ? "" : " The request may have reached the server."}`);
69
70
  });
70
- return readResponse(response);
71
+ return readResponse(response, method, `${controlPlaneUrl}${pathname}`);
71
72
  }
72
73
  }
73
74
  function createControlPlaneClient(env, request) {
74
75
  return new ControlPlaneClient(connection(env), request);
75
76
  }
76
- async function readResponse(response) {
77
+ async function readResponse(response, method, url) {
77
78
  const result = await response.json().catch(() => {
78
79
  if (response.ok)
79
80
  throw new Error(`Control plane returned invalid JSON (HTTP ${response.status}).`);
80
81
  return undefined;
81
82
  });
82
- if (!response.ok)
83
- throw new Error(`Control-plane request failed (HTTP ${response.status}): ${errorMessage(result) ?? response.statusText}`);
83
+ if (!response.ok) {
84
+ const hint = response.status === 404 && url.endsWith("/deployment/contract")
85
+ ? "\nCheck the control-plane URL and DURABLE_ACTORS_PROJECT_ID. For local development, run durable-actors dev in the actor project and wait for Ready."
86
+ : "";
87
+ throw new Error(`Control-plane request failed (HTTP ${response.status}): ${errorMessage(result) ?? response.statusText}\n${method} ${url}${hint}`);
88
+ }
84
89
  return result;
85
90
  }
86
91
  function errorMessage(result) {
@@ -1 +1 @@
1
- {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../../src/cli/control-plane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../../src/cli/control-plane.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,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,CAezD;AA+BD,iBAAe,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAW1D;AAgFD,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;AAejE,UAAU,UAAU;IAChB,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"}
package/dist/cli/dev.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { InvalidArgumentError, Option } from "commander";
2
- import { mkdtemp, realpath, rm, writeFile } from "node:fs/promises";
3
- import { tmpdir } from "node:os";
2
+ import { realpath, stat } from "node:fs/promises";
4
3
  import path from "node:path";
5
4
  import { fileURLToPath } from "node:url";
6
5
  import { z } from "zod";
7
6
  import { projectIdSchema } from "../actor/identity.js";
8
7
  import { configuredSettings } from "../client/clientSettings.js";
8
+ 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";
@@ -15,11 +15,17 @@ export function registerDevCommand(program) {
15
15
  .command("dev")
16
16
  .description("Run local actors and reload code changes")
17
17
  .option("--no-watch", "disable automatic code reload")
18
- .addOption(new Option("--port <number>", "loopback port (0 selects a free port)")
18
+ .addOption(new Option("--port <number>", "localhost port (0 selects a free port)")
19
19
  .env("DURABLE_ACTORS_PORT")
20
20
  .argParser(portNumber)
21
21
  .default(7100))
22
- .addHelpText("after", "\nConfigure development in .env; DURABLE_ACTORS_PROJECT_ID defaults to local.")
22
+ .addHelpText("after", `
23
+ Run from your actor project directory; dev loads src/actors.ts by default.
24
+ No configuration is required. Optional overrides in .env:
25
+ DURABLE_ACTORS_PROJECT project directory (default: current directory)
26
+ DURABLE_ACTORS_ENTRYPOINT actor source file, relative to the project (default: src/actors.ts)
27
+
28
+ Create a project with: durable-actors init my-project`)
23
29
  .action(async (options) => {
24
30
  process.exitCode = await runDev(developmentOptions(options, process.env));
25
31
  });
@@ -51,29 +57,53 @@ const developmentEnvironment = z.object({
51
57
  DURABLE_ACTORS_STORAGE: z.enum(["local", "gcs"]).default("local")
52
58
  });
53
59
  async function runDev(options) {
54
- const project = await realpath(options.project);
55
- const contract = await compileContract(project, options.entrypoint);
56
- const directory = await mkdtemp(path.join(tmpdir(), "durable-actors-contract-"));
57
- try {
58
- const file = path.join(directory, "contract.json");
59
- await writeFile(file, JSON.stringify(contract));
60
- return await runDevRuntime(options, project, file);
61
- }
62
- finally {
63
- await rm(directory, { recursive: true, force: true });
64
- }
60
+ const project = await developmentProject(options);
61
+ const local = await projectSdkModule(project, "./cli/dev.js", import.meta.url);
62
+ if (local !== undefined)
63
+ return (await import(local)).runDev({ ...options, project });
64
+ return runDevRuntime(options, project);
65
+ }
66
+ async function developmentProject(options) {
67
+ const directory = path.resolve(options.project);
68
+ if (!(await developmentPathStats(directory))?.isDirectory())
69
+ throw new Error(`No actor project directory found at ${directory}.\n` +
70
+ "Run from your actor project directory, or set DURABLE_ACTORS_PROJECT in .env.\n" +
71
+ "Create a project with: durable-actors init my-project");
72
+ const project = await realpath(directory);
73
+ const entrypoint = path.resolve(project, options.entrypoint);
74
+ if (!(await developmentPathStats(entrypoint))?.isFile())
75
+ throw new Error(`No actor source file found at ${entrypoint}.\n` +
76
+ "Run from your actor project directory, or set DURABLE_ACTORS_PROJECT and DURABLE_ACTORS_ENTRYPOINT in .env.\n" +
77
+ "Create a project with: durable-actors init my-project");
78
+ return project;
65
79
  }
66
- async function runDevRuntime(options, project, contractFile) {
80
+ async function developmentPathStats(candidate) {
81
+ return stat(candidate).catch((error) => {
82
+ if (error.code === "ENOENT" || error.code === "ENOTDIR")
83
+ return undefined;
84
+ throw error;
85
+ });
86
+ }
87
+ async function runDevRuntime(options, project) {
67
88
  const executable = await fetchRuntimeExecutablePath();
68
- const runtime = startRustRuntime(executable, [...devArguments(options), "--contract", contractFile, "--ready-fd", "3"], runtimeEnvironment(executable), true, true);
89
+ const runtime = startRustRuntime(executable, [...devArguments(options), "--ready-fd", "3"], runtimeEnvironment(executable), true, true);
69
90
  const connection = runtimeConnection(runtime.readiness, runtime.exited);
70
- const settings = connection.then(value => configuredSettings(z.object({ projectId: z.string(), controlPlaneUrl: z.string(), apiKey: z.string() }).parse(value)));
91
+ const settings = connection.then(value => configuredSettings(z
92
+ .object({
93
+ projectId: z.string(),
94
+ controlPlaneUrl: z.string(),
95
+ apiKey: z
96
+ .string()
97
+ .nullish()
98
+ .transform(value => value ?? undefined)
99
+ })
100
+ .parse(value)));
71
101
  const client = settings.then(settings => new ControlPlaneClient(settings, fetch));
72
102
  void client.catch(() => { });
73
103
  let watcher;
74
104
  try {
75
105
  if (options.watch) {
76
- watcher = await watchActorSources({ projectDirectory: project, dataDirectory: options.dataDir }, async () => publishLocalContract(options, project, await client));
106
+ watcher = await watchActorSources({ projectDirectory: project, dataDirectory: options.dataDir }, async () => publishLocalCode(options, project, await client));
77
107
  }
78
108
  await client;
79
109
  return await runtime.exited;
@@ -87,22 +117,15 @@ async function runDevRuntime(options, project, contractFile) {
87
117
  await watcher?.close();
88
118
  }
89
119
  }
90
- async function publishLocalContract(options, project, client) {
91
- const contract = await compileContract(project, options.entrypoint);
120
+ async function publishLocalCode(options, project, client) {
92
121
  await client.registerDeployment({
93
122
  imageRef: "local",
94
123
  workingDirectory: project,
95
124
  actorEntrypoint: options.entrypoint,
96
- secretRefs: [],
97
- contract
125
+ secretRefs: []
98
126
  });
99
127
  console.log("Updated local actors.");
100
128
  }
101
- async function compileContract(project, entrypoint) {
102
- const { ActorCompiler } = await import("../compiler/actor-compiler.js");
103
- const { parsePublicContract } = await import("../compiler/validate-public-contract.js");
104
- return parsePublicContract(new ActorCompiler().compileContract(path.resolve(project, entrypoint)));
105
- }
106
129
  function devArguments(options) {
107
130
  const args = [
108
131
  "dev",
@@ -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;AAcnC,iBAAS,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAUvD;AAmCD,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcnC,iBAAS,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAUvD;AA4CD,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
@@ -6,18 +6,20 @@ import { createControlPlaneClient } from "./control-plane.js";
6
6
  function registerGenerateCommand(program) {
7
7
  program
8
8
  .command("generate")
9
- .argument("[entrypoint]", "actor source file (default: src/actors.ts)")
10
- .description("Generate clients to reach durable actors in your own project")
9
+ .argument("[entrypoint]", "actor source file to compile instead of fetching from the server")
10
+ .description("Generate actor clients from the running server or an explicit source file")
11
11
  .option("--out-dir <directory>", "generated source directory", "generated")
12
12
  .option("--config <file>", "TypeScript configuration file (local source only)")
13
- .option("--remote", "generate from the configured server")
13
+ .option("--control-plane-url <url>", "control-plane origin (overrides DURABLE_ACTORS_CONTROL_PLANE_URL)")
14
14
  .addHelpText("after", connectionHelp)
15
15
  .action(generate);
16
16
  }
17
17
  async function generate(entrypoint, options) {
18
18
  validateOptions(entrypoint, options);
19
19
  const { generateClient } = await import("../compiler/generators/client-generator.js");
20
- const contract = options.remote ? await remoteContract() : await localContract(entrypoint, options.config);
20
+ const contract = entrypoint
21
+ ? await localContract(entrypoint, options.config)
22
+ : await remoteContract(options.controlPlaneUrl);
21
23
  const directory = path.resolve(options.outDir);
22
24
  await generateClient(contract, directory);
23
25
  for (const obsolete of ["contract.json", "contract-source.json"])
@@ -25,16 +27,21 @@ async function generate(entrypoint, options) {
25
27
  console.log(`Generated ${contract.actors.length} actor contract(s) in ${directory}.`);
26
28
  }
27
29
  function validateOptions(entrypoint, options) {
28
- if (options.remote && (entrypoint || options.config))
29
- throw new Error("--remote cannot be combined with a source entrypoint or --config.");
30
+ if (entrypoint && options.controlPlaneUrl !== undefined)
31
+ throw new Error("--control-plane-url cannot be combined with a source entrypoint.");
32
+ if (options.config && !entrypoint)
33
+ throw new Error("--config requires a source entrypoint.");
30
34
  }
31
35
  async function localContract(entrypoint, configFile) {
32
36
  const { ActorCompiler } = await import("../compiler/actor-compiler.js");
33
- return new ActorCompiler().compileContract(entrypoint ?? "src/actors.ts", { configFile });
37
+ return new ActorCompiler().compileContract(entrypoint, { configFile });
34
38
  }
35
- async function remoteContract() {
39
+ async function remoteContract(controlPlaneUrl) {
36
40
  const { parsePublicContract } = await import("../compiler/validate-public-contract.js");
37
- const client = createControlPlaneClient(process.env, fetch);
41
+ const client = createControlPlaneClient({
42
+ ...process.env,
43
+ DURABLE_ACTORS_CONTROL_PLANE_URL: controlPlaneUrl ?? process.env.DURABLE_ACTORS_CONTROL_PLANE_URL
44
+ }, fetch);
38
45
  const publication = publicationSchema.parse(await client.getContract());
39
46
  return parsePublicContract(publication.contract);
40
47
  }
@@ -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":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACrC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAQ7D,SAAS,uBAAuB,CAAC,OAAgB;IAC7C,OAAO;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,cAAc,EAAE,kEAAkE,CAAC;SAC5F,WAAW,CAAC,2EAA2E,CAAC;SACxF,MAAM,CAAC,uBAAuB,EAAE,4BAA4B,EAAE,WAAW,CAAC;SAC1E,MAAM,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;SAC9E,MAAM,CAAC,2BAA2B,EAAE,mEAAmE,CAAC;SACxG,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC;SACpC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,UAA8B,EAAE,OAAwB;IAC5E,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACpC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAA;IACrF,MAAM,QAAQ,GAAG,UAAU;QACvB,CAAC,CAAC,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC;QACjD,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACzC,KAAK,MAAM,QAAQ,IAAI,CAAC,eAAe,EAAE,sBAAsB,CAAC;QAC5D,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7D,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,yBAAyB,SAAS,GAAG,CAAC,CAAA;AACzF,CAAC;AAED,SAAS,eAAe,CAAC,UAA8B,EAAE,OAAwB;IAC7E,IAAI,UAAU,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;QACnD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACvF,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;AAChG,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,UAAkB,EAAE,UAAmB;IAChE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAA;IACvE,OAAO,IAAI,aAAa,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;AAC1E,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,eAAwB;IAClD,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAA;IACvF,MAAM,MAAM,GAAG,wBAAwB,CACnC;QACI,GAAG,OAAO,CAAC,GAAG;QACd,gCAAgC,EAAE,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,gCAAgC;KACpG,EACD,KAAK,CACR,CAAA;IACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IACvE,OAAO,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC;IACxD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;CACxB,CAAC,CAAA;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAA"}