durable-actors 0.7.16 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/bin/durable-actors.js +2 -0
- package/dist/actor/actor.d.ts +20 -12
- package/dist/actor/actor.d.ts.map +1 -1
- package/dist/actor/actor.js +42 -35
- package/dist/actor/actor.js.map +1 -1
- package/dist/actor/alarm.d.ts +19 -0
- package/dist/actor/alarm.d.ts.map +1 -0
- package/dist/actor/alarm.js +2 -0
- package/dist/actor/alarm.js.map +1 -0
- package/dist/actor/context.d.ts +25 -0
- package/dist/actor/context.d.ts.map +1 -0
- package/dist/actor/context.js +83 -0
- package/dist/actor/context.js.map +1 -0
- package/dist/actor/database.d.ts +5 -4
- package/dist/actor/database.d.ts.map +1 -1
- package/dist/actor/database.js +9 -19
- package/dist/actor/database.js.map +1 -1
- package/dist/actor/decorators.d.ts +7 -2
- package/dist/actor/decorators.d.ts.map +1 -1
- package/dist/actor/decorators.js +11 -2
- package/dist/actor/decorators.js.map +1 -1
- package/dist/actor/resource.d.ts +9 -0
- package/dist/actor/resource.d.ts.map +1 -0
- package/dist/actor/resource.js +2 -0
- package/dist/actor/resource.js.map +1 -0
- package/dist/actor/schema.d.ts +3 -1
- package/dist/actor/schema.d.ts.map +1 -1
- package/dist/actor/schema.js.map +1 -1
- package/dist/actor/unchecked.d.ts +12 -0
- package/dist/actor/unchecked.d.ts.map +1 -0
- package/dist/actor/unchecked.js +8 -0
- package/dist/actor/unchecked.js.map +1 -0
- package/dist/cli/dev.d.ts.map +1 -1
- package/dist/cli/dev.js +13 -42
- package/dist/cli/dev.js.map +1 -1
- package/dist/cli/inspect.d.ts +73 -0
- package/dist/cli/inspect.d.ts.map +1 -0
- package/dist/cli/inspect.js +132 -0
- package/dist/cli/inspect.js.map +1 -0
- package/dist/cli/python.d.ts.map +1 -1
- package/dist/cli/python.js +0 -1
- package/dist/cli/python.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +11 -18
- package/dist/cli.js.map +1 -1
- package/dist/client-runtime/http.d.ts +1 -1
- package/dist/client-runtime/http.d.ts.map +1 -1
- package/dist/client-runtime/http.js +1 -1
- package/dist/client-runtime/http.js.map +1 -1
- package/dist/client-runtime/stub.d.ts.map +1 -1
- package/dist/client-runtime/stub.js +11 -1
- package/dist/client-runtime/stub.js.map +1 -1
- package/dist/compiler/actor-compiler.d.ts +4 -2
- package/dist/compiler/actor-compiler.d.ts.map +1 -1
- package/dist/compiler/actor-compiler.js +48 -13
- package/dist/compiler/actor-compiler.js.map +1 -1
- package/dist/compiler/declarations.d.ts.map +1 -1
- package/dist/compiler/declarations.js +2678 -183
- package/dist/compiler/declarations.js.map +7 -1
- package/dist/compiler/features/atomicity.d.ts +9 -0
- package/dist/compiler/features/atomicity.d.ts.map +1 -0
- package/dist/compiler/features/atomicity.js +44 -0
- package/dist/compiler/features/atomicity.js.map +1 -0
- package/dist/compiler/features/interleave.d.ts +9 -0
- package/dist/compiler/features/{reentrancy.d.ts.map → interleave.d.ts.map} +1 -1
- package/dist/compiler/features/{reentrancy.js → interleave.js} +13 -13
- package/dist/compiler/features/{reentrancy.js.map → interleave.js.map} +1 -1
- package/dist/compiler/features/persistence.d.ts +2 -5
- package/dist/compiler/features/persistence.d.ts.map +1 -1
- package/dist/compiler/features/persistence.js +5 -83
- package/dist/compiler/features/persistence.js.map +1 -1
- package/dist/compiler/features/resource.d.ts +5 -0
- package/dist/compiler/features/resource.d.ts.map +1 -0
- package/dist/compiler/features/resource.js +18 -0
- package/dist/compiler/features/resource.js.map +1 -0
- package/dist/compiler/fieldParsing.d.ts +12 -0
- package/dist/compiler/fieldParsing.d.ts.map +1 -0
- package/dist/compiler/fieldParsing.js +106 -0
- package/dist/compiler/fieldParsing.js.map +1 -0
- package/dist/compiler/json-schema.d.ts +2 -2
- package/dist/compiler/json-schema.d.ts.map +1 -1
- package/dist/compiler/json-schema.js +22 -14
- package/dist/compiler/json-schema.js.map +1 -1
- package/dist/compiler/rpc-contract.d.ts +1 -1
- package/dist/compiler/rpc-contract.d.ts.map +1 -1
- package/dist/compiler/rpc-contract.js +21 -11
- package/dist/compiler/rpc-contract.js.map +1 -1
- package/dist/compiler/socket-contract.d.ts +1 -1
- package/dist/compiler/socket-contract.d.ts.map +1 -1
- package/dist/compiler/socket-contract.js +3 -3
- package/dist/compiler/socket-contract.js.map +1 -1
- package/dist/compiler/types.d.ts +13 -3
- package/dist/compiler/types.d.ts.map +1 -1
- package/dist/compiler/types.js +3 -1
- package/dist/compiler/types.js.map +1 -1
- package/dist/compiler/validate-public-contract.d.ts.map +1 -1
- package/dist/compiler/validate-public-contract.js +12 -1
- package/dist/compiler/validate-public-contract.js.map +1 -1
- package/dist/generated/client-runtime.d.ts.map +1 -1
- package/dist/generated/client-runtime.js +1 -1
- package/dist/generated/client-runtime.js.map +1 -1
- package/dist/host/actor-host.d.ts.map +1 -1
- package/dist/host/actor-host.js +44 -50
- package/dist/host/actor-host.js.map +1 -1
- package/dist/host/actor-runtime.d.ts +7 -8
- package/dist/host/actor-runtime.d.ts.map +1 -1
- package/dist/host/actor-runtime.js +80 -79
- package/dist/host/actor-runtime.js.map +1 -1
- package/dist/host/actor-worker.js +10 -27
- package/dist/host/actor-worker.js.map +1 -1
- package/dist/host/database-bridge.d.ts +16 -0
- package/dist/host/database-bridge.d.ts.map +1 -0
- package/dist/host/database-bridge.js +29 -0
- package/dist/host/database-bridge.js.map +1 -0
- package/dist/host/database.d.ts +86 -0
- package/dist/host/database.d.ts.map +1 -0
- package/dist/host/database.js +87 -0
- package/dist/host/database.js.map +1 -0
- package/dist/host/generic-host.js +1 -1
- package/dist/host/persisted-fields.d.ts +7 -0
- package/dist/host/persisted-fields.d.ts.map +1 -0
- package/dist/host/persisted-fields.js +29 -0
- package/dist/host/persisted-fields.js.map +1 -0
- package/dist/host/protocol.d.ts +55 -131
- package/dist/host/protocol.d.ts.map +1 -1
- package/dist/host/protocol.js +28 -28
- package/dist/host/protocol.js.map +1 -1
- package/dist/host/types.d.ts +8 -9
- package/dist/host/types.d.ts.map +1 -1
- package/dist/host/worker-supervisor.d.ts +32 -30
- package/dist/host/worker-supervisor.d.ts.map +1 -1
- package/dist/host/worker-supervisor.js +246 -230
- package/dist/host/worker-supervisor.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/projectSdk.js +1 -1
- package/dist/projectSdk.js.map +1 -1
- package/dist/templates/actor/README.md +7 -9
- package/dist/templates/actor/bunfig +2 -0
- package/dist/templates/actor/package.json +6 -3
- package/dist/templates/ai-chat/README.md +8 -8
- package/dist/templates/ai-chat/bunfig +2 -0
- package/dist/templates/ai-chat/package.json +7 -5
- package/dist/templates/ai-chat/src/actors.ts +1 -1
- package/dist/templates/chat/README.md +8 -8
- package/dist/templates/chat/bunfig +2 -0
- package/dist/templates/chat/package.json +7 -5
- package/dist/templates/chat/src/actors.ts +1 -1
- package/dist/templates/documents/README.md +8 -8
- package/dist/templates/documents/bunfig +2 -0
- package/dist/templates/documents/package.json +7 -5
- package/dist/templates/documents/src/actors.ts +1 -1
- package/package.json +110 -108
- package/dist/cli/actor-source-watcher.d.ts +0 -25
- package/dist/cli/actor-source-watcher.d.ts.map +0 -1
- package/dist/cli/actor-source-watcher.js +0 -129
- package/dist/cli/actor-source-watcher.js.map +0 -1
- package/dist/compiler/features/reentrancy.d.ts +0 -9
- package/dist/host/sqlite.d.ts +0 -49
- package/dist/host/sqlite.d.ts.map +0 -1
- package/dist/host/sqlite.js +0 -159
- package/dist/host/sqlite.js.map +0 -1
- package/dist/templates/actor/pnpm-workspace.yaml +0 -2
- package/dist/templates/ai-chat/pnpm-workspace.yaml +0 -2
- package/dist/templates/chat/pnpm-workspace.yaml +0 -2
- package/dist/templates/documents/pnpm-workspace.yaml +0 -2
- package/dist/templates/python/README.md +0 -7
- package/dist/templates/python/gitignore +0 -6
- package/dist/templates/python/package.json +0 -11
- package/dist/templates/python/pnpm-workspace.yaml +0 -2
- package/dist/templates/python/pyproject.toml +0 -8
- package/dist/templates/python/src/actors.py +0 -9
|
@@ -1,14 +1,19 @@
|
|
|
1
|
+
import { ActorResource } from "./resource.js";
|
|
2
|
+
/** Marks a method for whole-call transactions. Currently all non-interleaved calls use this behavior. */
|
|
3
|
+
declare function Atomic(_value: Function, context: ClassMethodDecoratorContext): void;
|
|
1
4
|
/**
|
|
2
5
|
* Lets other calls run during awaits. State may change while waiting.
|
|
3
6
|
* Disables error rollback for the whole actor class. State is saved on successful completion.
|
|
4
7
|
* @experimental
|
|
5
8
|
*/
|
|
6
9
|
declare function Interleave(_value: Function, context: ClassMethodDecoratorContext): void;
|
|
7
|
-
/**
|
|
10
|
+
/** Writes assignments to SQLite; reassign objects and arrays to save changes. Commits after successful calls. */
|
|
8
11
|
declare function Persisted(_value: undefined, context: ClassFieldDecoratorContext): void;
|
|
9
12
|
/** Marks a temporary field that may reset between calls. */
|
|
10
13
|
declare function Ephemeral(_value: undefined, context: ClassFieldDecoratorContext): void;
|
|
11
14
|
/** Sends browser state updates for a public `@Persisted` field. */
|
|
12
15
|
declare function Emittable(_value: undefined, context: ClassFieldDecoratorContext): void;
|
|
13
|
-
|
|
16
|
+
/** Marks a property as being a Resource. Includes them in Actor Lifecycle */
|
|
17
|
+
declare function Resource<This, Value extends ActorResource>(_value: undefined, context: ClassFieldDecoratorContext<This, Value>): void;
|
|
18
|
+
export { Atomic, Emittable, Ephemeral, Interleave, Persisted, Resource };
|
|
14
19
|
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/actor/decorators.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,iBAAS,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAGhF;AAED
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/actor/decorators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,yGAAyG;AACzG,iBAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAG5E;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAGhF;AAED,iHAAiH;AACjH,iBAAS,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAG/E;AAED,4DAA4D;AAC5D,iBAAS,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAE/E;AAED,mEAAmE;AACnE,iBAAS,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAG/E;AAED,6EAA6E;AAC7E,iBAAS,QAAQ,CAAC,IAAI,EAAE,KAAK,SAAS,aAAa,EAC/C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,GACjD,IAAI,CAEN;AAOD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA"}
|
package/dist/actor/decorators.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { ActorDefinitionError } from "../errors.js";
|
|
2
|
+
/** Marks a method for whole-call transactions. Currently all non-interleaved calls use this behavior. */
|
|
3
|
+
function Atomic(_value, context) {
|
|
4
|
+
if (context.kind !== "method" || context.static || context.private || typeof context.name !== "string")
|
|
5
|
+
throw new ActorDefinitionError("@Atomic requires a public instance async method");
|
|
6
|
+
}
|
|
2
7
|
/**
|
|
3
8
|
* Lets other calls run during awaits. State may change while waiting.
|
|
4
9
|
* Disables error rollback for the whole actor class. State is saved on successful completion.
|
|
@@ -8,7 +13,7 @@ function Interleave(_value, context) {
|
|
|
8
13
|
if (context.kind !== "method" || context.static || context.private || typeof context.name !== "string")
|
|
9
14
|
throw new ActorDefinitionError("@Interleave requires a public instance async method");
|
|
10
15
|
}
|
|
11
|
-
/**
|
|
16
|
+
/** Writes assignments to SQLite; reassign objects and arrays to save changes. Commits after successful calls. */
|
|
12
17
|
function Persisted(_value, context) {
|
|
13
18
|
validateField("Persisted", context);
|
|
14
19
|
if (context.private)
|
|
@@ -24,9 +29,13 @@ function Emittable(_value, context) {
|
|
|
24
29
|
if (context.private)
|
|
25
30
|
throw new ActorDefinitionError("@Emittable requires a public field");
|
|
26
31
|
}
|
|
32
|
+
/** Marks a property as being a Resource. Includes them in Actor Lifecycle */
|
|
33
|
+
function Resource(_value, context) {
|
|
34
|
+
validateField("Resource", context);
|
|
35
|
+
}
|
|
27
36
|
function validateField(name, context) {
|
|
28
37
|
if (context.kind !== "field" || context.static || typeof context.name !== "string")
|
|
29
38
|
throw new ActorDefinitionError(`@${name} requires an instance field with a string name`);
|
|
30
39
|
}
|
|
31
|
-
export { Emittable, Ephemeral, Interleave, Persisted };
|
|
40
|
+
export { Atomic, Emittable, Ephemeral, Interleave, Persisted, Resource };
|
|
32
41
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/actor/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/actor/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAInD,yGAAyG;AACzG,SAAS,MAAM,CAAC,MAAgB,EAAE,OAAoC;IAClE,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;QAClG,MAAM,IAAI,oBAAoB,CAAC,iDAAiD,CAAC,CAAA;AACzF,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,MAAgB,EAAE,OAAoC;IACtE,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;QAClG,MAAM,IAAI,oBAAoB,CAAC,qDAAqD,CAAC,CAAA;AAC7F,CAAC;AAED,iHAAiH;AACjH,SAAS,SAAS,CAAC,MAAiB,EAAE,OAAmC;IACrE,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IACnC,IAAI,OAAO,CAAC,OAAO;QAAE,MAAM,IAAI,oBAAoB,CAAC,uDAAuD,CAAC,CAAA;AAChH,CAAC;AAED,4DAA4D;AAC5D,SAAS,SAAS,CAAC,MAAiB,EAAE,OAAmC;IACrE,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;AACvC,CAAC;AAED,mEAAmE;AACnE,SAAS,SAAS,CAAC,MAAiB,EAAE,OAAmC;IACrE,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IACnC,IAAI,OAAO,CAAC,OAAO;QAAE,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,CAAC,CAAA;AAC7F,CAAC;AAED,6EAA6E;AAC7E,SAAS,QAAQ,CACb,MAAiB,EACjB,OAAgD;IAEhD,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,OAAmC;IACpE,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;QAC9E,MAAM,IAAI,oBAAoB,CAAC,IAAI,IAAI,gDAAgD,CAAC,CAAA;AAChG,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ActorDatabase } from "./database.js";
|
|
2
|
+
export interface ActorResourceContext {
|
|
3
|
+
db: ActorDatabase;
|
|
4
|
+
}
|
|
5
|
+
export interface ActorResource {
|
|
6
|
+
onResume(): Promise<void>;
|
|
7
|
+
onGracefulShutdown(): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/actor/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,aAAa,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/actor/resource.ts"],"names":[],"mappings":""}
|
package/dist/actor/schema.d.ts
CHANGED
|
@@ -11,12 +11,14 @@ interface ActorFieldSchema {
|
|
|
11
11
|
readonly private?: boolean;
|
|
12
12
|
readonly visibility?: "private" | "protected";
|
|
13
13
|
readonly emittable?: boolean;
|
|
14
|
+
readonly resource?: boolean;
|
|
14
15
|
}
|
|
15
16
|
interface ActorSchema {
|
|
16
17
|
readonly actorName: string;
|
|
17
18
|
readonly fields: readonly ActorFieldSchema[];
|
|
18
19
|
readonly sandbox?: ComputeOptions;
|
|
19
|
-
readonly
|
|
20
|
+
readonly atomicMethods?: readonly string[];
|
|
21
|
+
readonly interleaveMethods?: readonly string[];
|
|
20
22
|
readonly contract?: SocketContract;
|
|
21
23
|
}
|
|
22
24
|
export { ACTOR_ARTIFACT_VERSION, Persistence };
|
|
@@ -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,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,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;AAGlD,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;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC9B;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,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CACrC;AAED,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA"}
|
package/dist/actor/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/actor/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/actor/schema.ts"],"names":[],"mappings":"AAKA,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAEhC,IAAK,WAGJ;AAHD,WAAK,WAAW;IACZ,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;AAC3B,CAAC,EAHI,WAAW,KAAX,WAAW,QAGf;AAoBD,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare const uncheckedValue: unique symbol;
|
|
2
|
+
export interface Unchecked<T> {
|
|
3
|
+
/** @ignore Stops typescript-json-schema from walking into T. */
|
|
4
|
+
readonly [uncheckedValue]: T;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Use this to opt out of adding the type to the contract. Useful for complicated types that you would prefer to be opaque.
|
|
8
|
+
* ex: Pi harness message types.
|
|
9
|
+
*/
|
|
10
|
+
export declare function unchecked<T>(value: T): Unchecked<T>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=unchecked.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unchecked.d.ts","sourceRoot":"","sources":["../../src/actor/unchecked.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAA;AAE3C,MAAM,WAAW,SAAS,CAAC,CAAC;IACxB,gEAAgE;IAChE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;CAC/B;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAEnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unchecked.js","sourceRoot":"","sources":["../../src/actor/unchecked.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAI,KAAQ;IACjC,OAAO,KAAgC,CAAA;AAC3C,CAAC"}
|
package/dist/cli/dev.d.ts.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgC,MAAM,WAAW,CAAA;AAajE,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+CD,iBAAe,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1D;AAsED,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAE,CAAA"}
|
package/dist/cli/dev.js
CHANGED
|
@@ -4,12 +4,9 @@ import path from "node:path";
|
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import { projectIdSchema } from "../actor/identity.js";
|
|
7
|
-
import { configuredSettings } from "../client/clientSettings.js";
|
|
8
7
|
import { projectSdkModule } from "../projectSdk.js";
|
|
9
8
|
import { fetchRuntimeExecutablePath } from "../runtimeInstaller.js";
|
|
10
|
-
import {
|
|
11
|
-
import { ControlPlaneClient } from "./control-plane.js";
|
|
12
|
-
import { checkPython, pythonExecutable } from "./python.js";
|
|
9
|
+
import { pythonExecutable } from "./python.js";
|
|
13
10
|
import { runtimeConnection, runtimeEnvironment, startRustRuntime } from "./rust-runtime.js";
|
|
14
11
|
export function registerDevCommand(program) {
|
|
15
12
|
program
|
|
@@ -21,12 +18,12 @@ export function registerDevCommand(program) {
|
|
|
21
18
|
.argParser(portNumber)
|
|
22
19
|
.default(7100))
|
|
23
20
|
.addHelpText("after", `
|
|
24
|
-
Run from your actor project directory; dev
|
|
21
|
+
Run from your actor project directory; dev finds src/actors.ts, src/actors.py, actors.ts, or actors.py.
|
|
25
22
|
No configuration is required. Optional overrides in .env:
|
|
26
23
|
DURABLE_ACTORS_PROJECT project directory (default: current directory)
|
|
27
|
-
DURABLE_ACTORS_ENTRYPOINT actor source file, relative to the project (default:
|
|
24
|
+
DURABLE_ACTORS_ENTRYPOINT actor source file, relative to the project (default: discover actors.ts or actors.py in src/ or the project root)
|
|
28
25
|
|
|
29
|
-
Python projects: durable-actors init my-project
|
|
26
|
+
Python projects: uvx --from 'durable-actors[cli]' durable-actors init my-project
|
|
30
27
|
DURABLE_ACTORS_PYTHON selects an interpreter; otherwise dev uses the project .venv.
|
|
31
28
|
|
|
32
29
|
Create a project with: durable-actors init my-project`)
|
|
@@ -47,12 +44,15 @@ async function developmentOptions(options, environment) {
|
|
|
47
44
|
};
|
|
48
45
|
}
|
|
49
46
|
async function defaultEntrypoint(project) {
|
|
47
|
+
const found = [];
|
|
50
48
|
for (const entrypoint of DEFAULT_ENTRYPOINTS)
|
|
51
49
|
if ((await developmentPathStats(path.resolve(project, entrypoint)))?.isFile())
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
found.push(entrypoint);
|
|
51
|
+
if (found.length > 1)
|
|
52
|
+
throw new Error(`Multiple actor sources found in ${path.resolve(project)}: ${found.join(", ")}. Set DURABLE_ACTORS_ENTRYPOINT to choose one.`);
|
|
53
|
+
return found[0] ?? DEFAULT_ENTRYPOINTS[0];
|
|
54
54
|
}
|
|
55
|
-
const DEFAULT_ENTRYPOINTS = ["src/actors.ts", "src/actors.py"];
|
|
55
|
+
const DEFAULT_ENTRYPOINTS = ["src/actors.ts", "src/actors.py", "actors.ts", "actors.py"];
|
|
56
56
|
function portNumber(value) {
|
|
57
57
|
const port = Number(value);
|
|
58
58
|
if (!/^\d+$/u.test(value) || !Number.isSafeInteger(port) || port < 0 || port > 65535)
|
|
@@ -99,29 +99,10 @@ async function developmentPathStats(candidate) {
|
|
|
99
99
|
}
|
|
100
100
|
async function runDevRuntime(options, project) {
|
|
101
101
|
const python = options.entrypoint.endsWith(".py") ? await pythonExecutable(project) : undefined;
|
|
102
|
-
if (python)
|
|
103
|
-
await checkPython(project, [options.entrypoint], python);
|
|
104
102
|
const executable = await fetchRuntimeExecutablePath();
|
|
105
103
|
const runtime = startRustRuntime(executable, [...devArguments(options), "--ready-fd", "3"], { ...runtimeEnvironment(executable), ...(python ? { DURABLE_ACTORS_PYTHON: python } : {}) }, true, true);
|
|
106
|
-
const connection = runtimeConnection(runtime.readiness, runtime.exited);
|
|
107
|
-
const settings = connection.then(value => configuredSettings(z
|
|
108
|
-
.object({
|
|
109
|
-
projectId: z.string(),
|
|
110
|
-
controlPlaneUrl: z.string(),
|
|
111
|
-
apiKey: z
|
|
112
|
-
.string()
|
|
113
|
-
.nullish()
|
|
114
|
-
.transform(value => value ?? undefined)
|
|
115
|
-
})
|
|
116
|
-
.parse(value)));
|
|
117
|
-
const client = settings.then(settings => new ControlPlaneClient(settings, fetch));
|
|
118
|
-
void client.catch(() => { });
|
|
119
|
-
let watcher;
|
|
120
104
|
try {
|
|
121
|
-
|
|
122
|
-
watcher = await watchActorSources({ projectDirectory: project, dataDirectory: options.dataDir }, async () => publishLocalCode(options, project, await client));
|
|
123
|
-
}
|
|
124
|
-
await client;
|
|
105
|
+
await runtimeConnection(runtime.readiness, runtime.exited);
|
|
125
106
|
return await runtime.exited;
|
|
126
107
|
}
|
|
127
108
|
catch (error) {
|
|
@@ -129,18 +110,6 @@ async function runDevRuntime(options, project) {
|
|
|
129
110
|
await runtime.exited.catch(() => { });
|
|
130
111
|
throw error;
|
|
131
112
|
}
|
|
132
|
-
finally {
|
|
133
|
-
await watcher?.close();
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
async function publishLocalCode(options, project, client) {
|
|
137
|
-
if (options.entrypoint.endsWith(".py"))
|
|
138
|
-
await checkPython(project, [options.entrypoint]);
|
|
139
|
-
await client.registerDeployment({
|
|
140
|
-
localSource: { workingDirectory: project, actorEntrypoint: options.entrypoint },
|
|
141
|
-
secretRefs: []
|
|
142
|
-
});
|
|
143
|
-
console.log("Updated local actors.");
|
|
144
113
|
}
|
|
145
114
|
function devArguments(options) {
|
|
146
115
|
const args = [
|
|
@@ -158,6 +127,8 @@ function devArguments(options) {
|
|
|
158
127
|
"--sdk-host",
|
|
159
128
|
fileURLToPath(new URL("../host.js", import.meta.url))
|
|
160
129
|
];
|
|
130
|
+
if (options.watch)
|
|
131
|
+
args.push("--watch");
|
|
161
132
|
if (options.apiKey)
|
|
162
133
|
args.push("--api-key", options.apiKey);
|
|
163
134
|
if (options.dataDir)
|
package/dist/cli/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,oBAAoB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { ControlPlaneClient } from "./control-plane.js";
|
|
4
|
+
interface ActorSelector {
|
|
5
|
+
actorName: string;
|
|
6
|
+
actorId: string;
|
|
7
|
+
}
|
|
8
|
+
declare const instanceSchema: z.ZodObject<{
|
|
9
|
+
actorId: z.ZodString;
|
|
10
|
+
status: z.ZodEnum<{
|
|
11
|
+
unknown: "unknown";
|
|
12
|
+
live: "live";
|
|
13
|
+
dormant: "dormant";
|
|
14
|
+
}>;
|
|
15
|
+
connections: z.ZodArray<z.ZodObject<{
|
|
16
|
+
id: z.ZodString;
|
|
17
|
+
metadata: z.ZodUnknown;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
waiting: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
20
|
+
id: z.ZodString;
|
|
21
|
+
operation: z.ZodString;
|
|
22
|
+
}, z.core.$strip>>>>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
declare const inventorySchema: z.ZodObject<{
|
|
25
|
+
connectionsComplete: z.ZodBoolean;
|
|
26
|
+
actors: z.ZodArray<z.ZodObject<{
|
|
27
|
+
actorName: z.ZodString;
|
|
28
|
+
live: z.ZodNumber;
|
|
29
|
+
dormant: z.ZodNumber;
|
|
30
|
+
unknown: z.ZodNumber;
|
|
31
|
+
instances: z.ZodArray<z.ZodObject<{
|
|
32
|
+
actorId: z.ZodString;
|
|
33
|
+
status: z.ZodEnum<{
|
|
34
|
+
unknown: "unknown";
|
|
35
|
+
live: "live";
|
|
36
|
+
dormant: "dormant";
|
|
37
|
+
}>;
|
|
38
|
+
connections: z.ZodArray<z.ZodObject<{
|
|
39
|
+
id: z.ZodString;
|
|
40
|
+
metadata: z.ZodUnknown;
|
|
41
|
+
}, z.core.$strip>>;
|
|
42
|
+
waiting: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
43
|
+
id: z.ZodString;
|
|
44
|
+
operation: z.ZodString;
|
|
45
|
+
}, z.core.$strip>>>>;
|
|
46
|
+
}, z.core.$strip>>;
|
|
47
|
+
}, z.core.$strip>>;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
declare const stateSchema: z.ZodObject<{
|
|
50
|
+
snapshot: z.ZodNullable<z.ZodObject<{
|
|
51
|
+
stateVersion: z.ZodNumber;
|
|
52
|
+
ownerEpoch: z.ZodNumber;
|
|
53
|
+
requestId: z.ZodString;
|
|
54
|
+
state: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
55
|
+
}, z.core.$loose>>;
|
|
56
|
+
schema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
type Inventory = z.infer<typeof inventorySchema>;
|
|
59
|
+
type ActorInstance = z.infer<typeof instanceSchema>;
|
|
60
|
+
type StateResponse = z.infer<typeof stateSchema>;
|
|
61
|
+
declare function registerInspectCommand(program: Command): void;
|
|
62
|
+
declare function inspectActors(client: Pick<ControlPlaneClient, "listActors" | "getState">, options?: {
|
|
63
|
+
selector?: string;
|
|
64
|
+
json?: boolean;
|
|
65
|
+
}): Promise<{
|
|
66
|
+
text: string;
|
|
67
|
+
warning?: string;
|
|
68
|
+
}>;
|
|
69
|
+
declare function parseActorSelector(value: string): ActorSelector;
|
|
70
|
+
declare function formatInventory(inventory: Inventory): string;
|
|
71
|
+
declare function formatInstance(selector: ActorSelector, instance: ActorInstance, state: StateResponse): string;
|
|
72
|
+
export { formatInstance, formatInventory, inspectActors, parseActorSelector, registerInspectCommand };
|
|
73
|
+
//# sourceMappingURL=inspect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/cli/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,OAAO,EAAE,kBAAkB,EAA4B,MAAM,oBAAoB,CAAA;AAOjF,UAAU,aAAa;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAClB;AAID,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;iBAKlB,CAAA;AACF,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;iBAWnB,CAAA;AACF,QAAA,MAAM,WAAW;;;;;;;;iBAUf,CAAA;AAEF,KAAK,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAChD,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AACnD,KAAK,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAEhD,iBAAS,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAStD;AAeD,iBAAe,aAAa,CACxB,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,UAAU,CAAC,EAC3D,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GACpD,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB7C;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAYxD;AAED,iBAAS,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAYrD;AAED,iBAAS,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,CAStG;AA2BD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAA"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { validateActorComponent } from "../actor/identity.js";
|
|
3
|
+
import { connectionHelp } from "./connection.js";
|
|
4
|
+
import { createControlPlaneClient } from "./control-plane.js";
|
|
5
|
+
const waitingSchema = z.object({ id: z.string(), operation: z.string() });
|
|
6
|
+
const connectionSchema = z.object({ id: z.string(), metadata: z.unknown() });
|
|
7
|
+
const instanceSchema = z.object({
|
|
8
|
+
actorId: z.string(),
|
|
9
|
+
status: z.enum(["live", "dormant", "unknown"]),
|
|
10
|
+
connections: z.array(connectionSchema),
|
|
11
|
+
waiting: z.array(waitingSchema).nullable().optional()
|
|
12
|
+
});
|
|
13
|
+
const inventorySchema = z.object({
|
|
14
|
+
connectionsComplete: z.boolean(),
|
|
15
|
+
actors: z.array(z.object({
|
|
16
|
+
actorName: z.string(),
|
|
17
|
+
live: z.number().int().nonnegative(),
|
|
18
|
+
dormant: z.number().int().nonnegative(),
|
|
19
|
+
unknown: z.number().int().nonnegative(),
|
|
20
|
+
instances: z.array(instanceSchema)
|
|
21
|
+
}))
|
|
22
|
+
});
|
|
23
|
+
const stateSchema = z.object({
|
|
24
|
+
snapshot: z
|
|
25
|
+
.looseObject({
|
|
26
|
+
stateVersion: z.number(),
|
|
27
|
+
ownerEpoch: z.number(),
|
|
28
|
+
requestId: z.string(),
|
|
29
|
+
state: z.record(z.string(), z.unknown())
|
|
30
|
+
})
|
|
31
|
+
.nullable(),
|
|
32
|
+
schema: z.record(z.string(), z.unknown()).nullable()
|
|
33
|
+
});
|
|
34
|
+
function registerInspectCommand(program) {
|
|
35
|
+
program
|
|
36
|
+
.command("inspect")
|
|
37
|
+
.argument("[selector]", "actor instance as ActorName/actorId")
|
|
38
|
+
.description("Print actor inventory and the latest persisted state")
|
|
39
|
+
.option("--json", "print machine-readable JSON")
|
|
40
|
+
.option("--control-plane-url <url>", "control-plane origin (overrides DURABLE_ACTORS_CONTROL_PLANE_URL)")
|
|
41
|
+
.addHelpText("after", connectionHelp)
|
|
42
|
+
.action(inspect);
|
|
43
|
+
}
|
|
44
|
+
async function inspect(selector, options) {
|
|
45
|
+
const client = createControlPlaneClient({
|
|
46
|
+
...process.env,
|
|
47
|
+
DURABLE_ACTORS_CONTROL_PLANE_URL: options.controlPlaneUrl ?? process.env.DURABLE_ACTORS_CONTROL_PLANE_URL
|
|
48
|
+
}, fetch);
|
|
49
|
+
const result = await inspectActors(client, { selector, json: options.json });
|
|
50
|
+
if (result.warning)
|
|
51
|
+
console.error(result.warning);
|
|
52
|
+
console.log(result.text);
|
|
53
|
+
}
|
|
54
|
+
async function inspectActors(client, options = {}) {
|
|
55
|
+
const inventory = readInventory(await client.listActors());
|
|
56
|
+
const warning = inventory.connectionsComplete ? undefined : "Warning: connection inventory is incomplete.";
|
|
57
|
+
if (!options.selector)
|
|
58
|
+
return { text: options.json ? stringify(inventory) : formatInventory(inventory), warning };
|
|
59
|
+
const selector = parseActorSelector(options.selector);
|
|
60
|
+
const instance = findInstance(inventory, selector);
|
|
61
|
+
if (!instance)
|
|
62
|
+
throw new Error(`No actor instance ${selector.actorName}/${selector.actorId}.`);
|
|
63
|
+
const state = readState(await client.getState(new URLSearchParams({ actorName: selector.actorName, actorId: selector.actorId })));
|
|
64
|
+
return {
|
|
65
|
+
text: options.json
|
|
66
|
+
? stringify({ actorName: selector.actorName, actorId: selector.actorId, instance, state })
|
|
67
|
+
: formatInstance(selector, instance, state),
|
|
68
|
+
warning
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function parseActorSelector(value) {
|
|
72
|
+
const separator = value.indexOf("/");
|
|
73
|
+
if (separator <= 0 || separator !== value.lastIndexOf("/") || separator === value.length - 1)
|
|
74
|
+
throw new Error("Expected ActorName/actorId.");
|
|
75
|
+
try {
|
|
76
|
+
return {
|
|
77
|
+
actorName: validateActorComponent("actorName", value.slice(0, separator)),
|
|
78
|
+
actorId: validateActorComponent("actorId", value.slice(separator + 1))
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
throw new Error("Expected ActorName/actorId.");
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function formatInventory(inventory) {
|
|
86
|
+
const rows = inventory.actors.flatMap(actor => actor.instances.map(instance => [actor.actorName, instance.actorId, instance.status]));
|
|
87
|
+
if (rows.length === 0)
|
|
88
|
+
return "No actor instances.";
|
|
89
|
+
const header = ["ACTOR", "INSTANCE ID", "STATUS"];
|
|
90
|
+
const width = (index) => Math.max(header[index].length, ...rows.map(row => row[index].length));
|
|
91
|
+
const actorWidth = width(0);
|
|
92
|
+
const idWidth = width(1);
|
|
93
|
+
const line = (actor, actorId, status) => `${actor.padEnd(actorWidth)} ${actorId.padEnd(idWidth)} ${status}`;
|
|
94
|
+
return [line(header[0], header[1], header[2]), ...rows.map(row => line(row[0], row[1], row[2]))].join("\n");
|
|
95
|
+
}
|
|
96
|
+
function formatInstance(selector, instance, state) {
|
|
97
|
+
const missing = `No persisted snapshot for ${selector.actorName}/${selector.actorId}.`;
|
|
98
|
+
return [
|
|
99
|
+
`Actor: ${selector.actorName}`,
|
|
100
|
+
`Instance ID: ${selector.actorId}`,
|
|
101
|
+
`Status: ${instance.status}`,
|
|
102
|
+
"State:",
|
|
103
|
+
state.snapshot ? stringify(state.snapshot.state) : missing
|
|
104
|
+
].join("\n");
|
|
105
|
+
}
|
|
106
|
+
function findInstance(inventory, selector) {
|
|
107
|
+
for (const row of inventory.actors) {
|
|
108
|
+
if (row.actorName !== selector.actorName)
|
|
109
|
+
continue;
|
|
110
|
+
const instance = row.instances.find(item => item.actorId === selector.actorId);
|
|
111
|
+
if (instance)
|
|
112
|
+
return instance;
|
|
113
|
+
}
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
function readInventory(value) {
|
|
117
|
+
const result = inventorySchema.safeParse(value);
|
|
118
|
+
if (!result.success)
|
|
119
|
+
throw new Error("Invalid actor inventory response.");
|
|
120
|
+
return result.data;
|
|
121
|
+
}
|
|
122
|
+
function readState(value) {
|
|
123
|
+
const result = stateSchema.safeParse(value);
|
|
124
|
+
if (!result.success)
|
|
125
|
+
throw new Error("Invalid state response.");
|
|
126
|
+
return result.data;
|
|
127
|
+
}
|
|
128
|
+
function stringify(value) {
|
|
129
|
+
return JSON.stringify(value, null, 2);
|
|
130
|
+
}
|
|
131
|
+
export { formatInstance, formatInventory, inspectActors, parseActorSelector, registerInspectCommand };
|
|
132
|
+
//# sourceMappingURL=inspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/cli/inspect.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/python.d.ts.map
CHANGED
|
@@ -1 +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,
|
|
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,CAWzE;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"}
|
package/dist/cli/python.js
CHANGED
|
@@ -17,7 +17,6 @@ async function checkPython(project, targets, executable) {
|
|
|
17
17
|
async function compilePythonContract(entrypoint) {
|
|
18
18
|
const project = process.cwd();
|
|
19
19
|
const executable = await pythonExecutable(project);
|
|
20
|
-
await checkPython(project, [entrypoint], executable);
|
|
21
20
|
const directory = await mkdtemp(path.join(tmpdir(), "durable-actors-build-"));
|
|
22
21
|
try {
|
|
23
22
|
return JSON.parse(await runPython(executable, project, "durable_actors.build", [project, entrypoint, directory, "local"]));
|
package/dist/cli/python.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/cli/python.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,KAAK,UAAU,gBAAgB,CAAC,OAAe;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAA;IAC/E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACxE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAC3G,OAAO,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CACjC,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACd,CAAC;QACE,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,SAAS,CAAA;AACnB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,OAAiB,EAAE,UAAmB;IAC9E,MAAM,SAAS,CAAC,UAAU,IAAI,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAA;AAC/G,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,UAAkB;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAC7B,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/cli/python.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED