stratal 0.0.9 → 0.0.10
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/dist/di/tokens.d.ts +2 -0
- package/dist/di/tokens.d.ts.map +1 -1
- package/dist/di/tokens.js +3 -0
- package/dist/di/tokens.js.map +1 -1
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +1 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/errors/stratal-not-initialized.error.d.ts +11 -0
- package/dist/errors/stratal-not-initialized.error.d.ts.map +1 -0
- package/dist/errors/stratal-not-initialized.error.js +14 -0
- package/dist/errors/stratal-not-initialized.error.js.map +1 -0
- package/dist/i18n/messages/en/errors.d.ts +1 -0
- package/dist/i18n/messages/en/errors.d.ts.map +1 -1
- package/dist/i18n/messages/en/errors.js +1 -0
- package/dist/i18n/messages/en/errors.js.map +1 -1
- package/dist/stratal.d.ts +9 -1
- package/dist/stratal.d.ts.map +1 -1
- package/dist/stratal.js +15 -0
- package/dist/stratal.js.map +1 -1
- package/dist/workers/index.d.ts +5 -0
- package/dist/workers/index.d.ts.map +1 -0
- package/dist/workers/index.js +5 -0
- package/dist/workers/index.js.map +1 -0
- package/dist/workers/run-in-scope.d.ts +9 -0
- package/dist/workers/run-in-scope.d.ts.map +1 -0
- package/dist/workers/run-in-scope.js +13 -0
- package/dist/workers/run-in-scope.js.map +1 -0
- package/dist/workers/stratal-durable-object.d.ts +28 -0
- package/dist/workers/stratal-durable-object.d.ts.map +1 -0
- package/dist/workers/stratal-durable-object.js +34 -0
- package/dist/workers/stratal-durable-object.js.map +1 -0
- package/dist/workers/stratal-worker-entrypoint.d.ts +27 -0
- package/dist/workers/stratal-worker-entrypoint.d.ts.map +1 -0
- package/dist/workers/stratal-worker-entrypoint.js +28 -0
- package/dist/workers/stratal-worker-entrypoint.js.map +1 -0
- package/dist/workers/stratal-workflow.d.ts +27 -0
- package/dist/workers/stratal-workflow.d.ts.map +1 -0
- package/dist/workers/stratal-workflow.js +28 -0
- package/dist/workers/stratal-workflow.js.map +1 -0
- package/package.json +1 -1
package/dist/di/tokens.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ export declare const DI_TOKENS: {
|
|
|
19
19
|
* AuthContext: Use for services that need user authentication (userId).
|
|
20
20
|
*/
|
|
21
21
|
readonly AuthContext: symbol;
|
|
22
|
+
readonly DurableObjectState: symbol;
|
|
23
|
+
readonly DurableObjectId: symbol;
|
|
22
24
|
};
|
|
23
25
|
export type DIToken = typeof DI_TOKENS[keyof typeof DI_TOKENS];
|
|
24
26
|
//# sourceMappingURL=tokens.d.ts.map
|
package/dist/di/tokens.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/di/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,eAAe,eAA6B,CAAA;AAEzD,eAAO,MAAM,SAAS;;;;;;;;;;;;IAiBpB;;OAEG
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/di/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,eAAe,eAA6B,CAAA;AAEzD,eAAO,MAAM,SAAS;;;;;;;;;;;;IAiBpB;;OAEG;;;;CAMK,CAAA;AAEV,MAAM,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAA"}
|
package/dist/di/tokens.js
CHANGED
|
@@ -22,5 +22,8 @@ export const DI_TOKENS = {
|
|
|
22
22
|
* AuthContext: Use for services that need user authentication (userId).
|
|
23
23
|
*/
|
|
24
24
|
AuthContext: Symbol.for('AuthContext'),
|
|
25
|
+
// Workers
|
|
26
|
+
DurableObjectState: Symbol.for('DurableObjectState'),
|
|
27
|
+
DurableObjectId: Symbol.for('DurableObjectId'),
|
|
25
28
|
};
|
|
26
29
|
//# sourceMappingURL=tokens.js.map
|
package/dist/di/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/di/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,aAAa;IACb,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAEhD,iBAAiB;IACjB,SAAS,EAAE,eAAe;IAC1B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAE1C,UAAU;IACV;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/di/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,aAAa;IACb,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAEhD,iBAAiB;IACjB,SAAS,EAAE,eAAe;IAC1B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAE1C,UAAU;IACV;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IAEtC,UAAU;IACV,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACpD,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;CACtC,CAAA"}
|
package/dist/errors/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,2CAA2C,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,2CAA2C,CAAA;AACzD,cAAc,iCAAiC,CAAA"}
|
package/dist/errors/index.js
CHANGED
package/dist/errors/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,2CAA2C,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,2CAA2C,CAAA;AACzD,cAAc,iCAAiC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ApplicationError } from './application-error';
|
|
2
|
+
/**
|
|
3
|
+
* StratalNotInitializedError
|
|
4
|
+
*
|
|
5
|
+
* Thrown when attempting to resolve the Application instance before Stratal has been instantiated.
|
|
6
|
+
* This typically indicates that the Stratal instance is not exported as the default export.
|
|
7
|
+
*/
|
|
8
|
+
export declare class StratalNotInitializedError extends ApplicationError {
|
|
9
|
+
constructor();
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=stratal-not-initialized.error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stratal-not-initialized.error.d.ts","sourceRoot":"","sources":["../../src/errors/stratal-not-initialized.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,gBAAgB;;CAO/D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ApplicationError } from './application-error';
|
|
2
|
+
import { ERROR_CODES } from './error-codes';
|
|
3
|
+
/**
|
|
4
|
+
* StratalNotInitializedError
|
|
5
|
+
*
|
|
6
|
+
* Thrown when attempting to resolve the Application instance before Stratal has been instantiated.
|
|
7
|
+
* This typically indicates that the Stratal instance is not exported as the default export.
|
|
8
|
+
*/
|
|
9
|
+
export class StratalNotInitializedError extends ApplicationError {
|
|
10
|
+
constructor() {
|
|
11
|
+
super('errors.stratalNotInitialized', ERROR_CODES.SYSTEM.INFRASTRUCTURE_ERROR);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=stratal-not-initialized.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stratal-not-initialized.error.js","sourceRoot":"","sources":["../../src/errors/stratal-not-initialized.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAC9D;QACE,KAAK,CACH,8BAA8B,EAC9B,WAAW,CAAC,MAAM,CAAC,oBAAoB,CACxC,CAAA;IACH,CAAC;CACF"}
|
|
@@ -22,6 +22,7 @@ export declare const errors: {
|
|
|
22
22
|
readonly conditionalBindingFallback: "Conditional binding predicate returned false for token \"{token}\" but no fallback was provided and no existing registration exists.";
|
|
23
23
|
readonly configNotInitialized: "Configuration service has not been initialized";
|
|
24
24
|
readonly configModuleNotInitialized: "ConfigModule.forRoot() was not called before module initialization";
|
|
25
|
+
readonly stratalNotInitialized: "Stratal has not been instantiated. Ensure you export a Stratal instance as the default export.";
|
|
25
26
|
readonly moduleAlreadyRegistered: "Module {moduleName} is already registered";
|
|
26
27
|
readonly moduleDependencyNotFound: "Module dependency {dependency} not found for module {moduleName}";
|
|
27
28
|
readonly moduleCircularDependency: "Circular dependency detected: {cycle}";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/i18n/messages/en/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/i18n/messages/en/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsIT,CAAA"}
|
|
@@ -26,6 +26,7 @@ export const errors = {
|
|
|
26
26
|
// Configuration errors
|
|
27
27
|
configNotInitialized: 'Configuration service has not been initialized',
|
|
28
28
|
configModuleNotInitialized: 'ConfigModule.forRoot() was not called before module initialization',
|
|
29
|
+
stratalNotInitialized: 'Stratal has not been instantiated. Ensure you export a Stratal instance as the default export.',
|
|
29
30
|
// Module errors
|
|
30
31
|
moduleAlreadyRegistered: 'Module {moduleName} is already registered',
|
|
31
32
|
moduleDependencyNotFound: 'Module dependency {dependency} not found for module {moduleName}',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/i18n/messages/en/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,iBAAiB;IACjB,aAAa,EAAE,4BAA4B;IAC3C,QAAQ,EAAE,oBAAoB;IAC9B,YAAY,EAAE,+BAA+B;IAC7C,SAAS,EAAE,eAAe;IAE1B,gBAAgB;IAChB,wBAAwB,EAAE,qEAAqE;IAC/F,aAAa,EAAE,kCAAkC;IACjD,iBAAiB,EAAE,oBAAoB;IACvC,wBAAwB,EAAE,mDAAmD;IAC7E,sBAAsB,EAAE,0DAA0D;IAElF,iBAAiB;IACjB,qBAAqB,EAAE,kCAAkC;IACzD,oBAAoB,EAAE,2BAA2B;IACjD,uBAAuB,EAAE,iDAAiD;IAC1E,8BAA8B,EAAE,4CAA4C;IAC5E,+BAA+B,EAAE,2IAA2I;IAC5K,0BAA0B,EAAE,oIAAoI;IAEhK,uBAAuB;IACvB,oBAAoB,EAAE,gDAAgD;IACtE,0BAA0B,EAAE,oEAAoE;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/i18n/messages/en/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/stratal.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
|
-
import { type ApplicationConfig } from './application';
|
|
2
|
+
import { Application, type ApplicationConfig } from './application';
|
|
3
3
|
import type { StratalEnv } from './env';
|
|
4
4
|
import type { HonoApp } from './router/hono-app';
|
|
5
5
|
/**
|
|
@@ -19,12 +19,20 @@ import type { HonoApp } from './router/hono-app';
|
|
|
19
19
|
export declare class Stratal<Env extends StratalEnv = StratalEnv> {
|
|
20
20
|
private app;
|
|
21
21
|
private initPromise;
|
|
22
|
+
private static _application;
|
|
22
23
|
constructor(config: ApplicationConfig);
|
|
23
24
|
fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
|
|
24
25
|
queue(batch: MessageBatch): Promise<void>;
|
|
25
26
|
scheduled(controller: ScheduledController): Promise<void>;
|
|
26
27
|
get hono(): Promise<HonoApp>;
|
|
27
28
|
shutdown(): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
* Resolves the Application instance from the static singleton.
|
|
32
|
+
* Used by worker base classes (DurableObject, Workflow, WorkerEntrypoint)
|
|
33
|
+
* to access the DI container without going through Cloudflare RPC.
|
|
34
|
+
*/
|
|
35
|
+
static resolveApplication(): Promise<Application>;
|
|
28
36
|
private ensureReady;
|
|
29
37
|
private prepareApp;
|
|
30
38
|
}
|
package/dist/stratal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stratal.d.ts","sourceRoot":"","sources":["../src/stratal.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,
|
|
1
|
+
{"version":3,"file":"stratal.d.ts","sourceRoot":"","sources":["../src/stratal.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;;;;;;;;;;;;GAaG;AACH,qBAAa,OAAO,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IACtD,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,WAAW,CAAsB;IAEzC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAoC;gBAEnD,MAAM,EAAE,iBAAiB;IAS/B,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK3E,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,SAAS,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAE3B;IAEK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;YAOnC,WAAW;YAKX,UAAU;CAMzB"}
|
package/dist/stratal.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { Application } from './application';
|
|
3
|
+
import { StratalNotInitializedError } from './errors';
|
|
3
4
|
/**
|
|
4
5
|
* Stratal — Hono-style entry point for Cloudflare Workers.
|
|
5
6
|
*
|
|
@@ -17,11 +18,13 @@ import { Application } from './application';
|
|
|
17
18
|
export class Stratal {
|
|
18
19
|
app = null;
|
|
19
20
|
initPromise;
|
|
21
|
+
static _application = null;
|
|
20
22
|
constructor(config) {
|
|
21
23
|
this.fetch = this.fetch.bind(this);
|
|
22
24
|
this.queue = this.queue.bind(this);
|
|
23
25
|
this.scheduled = this.scheduled.bind(this);
|
|
24
26
|
this.initPromise = this.prepareApp(config);
|
|
27
|
+
Stratal._application = this.initPromise;
|
|
25
28
|
}
|
|
26
29
|
async fetch(request, env, ctx) {
|
|
27
30
|
const app = await this.ensureReady();
|
|
@@ -48,6 +51,18 @@ export class Stratal {
|
|
|
48
51
|
this.app = null;
|
|
49
52
|
}
|
|
50
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* @internal
|
|
56
|
+
* Resolves the Application instance from the static singleton.
|
|
57
|
+
* Used by worker base classes (DurableObject, Workflow, WorkerEntrypoint)
|
|
58
|
+
* to access the DI container without going through Cloudflare RPC.
|
|
59
|
+
*/
|
|
60
|
+
static resolveApplication() {
|
|
61
|
+
if (!Stratal._application) {
|
|
62
|
+
throw new StratalNotInitializedError();
|
|
63
|
+
}
|
|
64
|
+
return Stratal._application;
|
|
65
|
+
}
|
|
51
66
|
async ensureReady() {
|
|
52
67
|
this.app ??= await this.initPromise;
|
|
53
68
|
return this.app;
|
package/dist/stratal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stratal.js","sourceRoot":"","sources":["../src/stratal.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"stratal.js","sourceRoot":"","sources":["../src/stratal.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAIrD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,OAAO;IACV,GAAG,GAAuB,IAAI,CAAA;IAC9B,WAAW,CAAsB;IAEjC,MAAM,CAAC,YAAY,GAAgC,IAAI,CAAA;IAE/D,YAAY,MAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB,EAAE,GAAQ,EAAE,GAAqB;QAC3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACpC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAmB;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACpC,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAA+B;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;QACpC,OAAO,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC;YAAC,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;QACjB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB;QACvB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,0BAA0B,EAAE,CAAA;QACxC,CAAC;QACD,OAAO,OAAO,CAAC,YAAY,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,WAAW,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAyB;QAChD,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAC7D,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAU,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;QAC/E,MAAM,GAAG,CAAC,UAAU,EAAE,CAAA;QACtB,OAAO,GAAG,CAAA;IACZ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { runInScope } from './run-in-scope';
|
|
2
|
+
export { StratalDurableObject } from './stratal-durable-object';
|
|
3
|
+
export { StratalWorkerEntrypoint } from './stratal-worker-entrypoint';
|
|
4
|
+
export { StratalWorkflow } from './stratal-workflow';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { runInScope } from './run-in-scope';
|
|
2
|
+
export { StratalDurableObject } from './stratal-durable-object';
|
|
3
|
+
export { StratalWorkerEntrypoint } from './stratal-worker-entrypoint';
|
|
4
|
+
export { StratalWorkflow } from './stratal-workflow';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Container } from '../di/container';
|
|
2
|
+
/**
|
|
3
|
+
* Shared helper that creates a request-scoped DI container by accessing the
|
|
4
|
+
* Stratal Application via the static singleton.
|
|
5
|
+
*
|
|
6
|
+
* Works with Durable Objects, Workflows, and WorkerEntrypoints.
|
|
7
|
+
*/
|
|
8
|
+
export declare function runInScope<T>(callback: (container: Container) => T | Promise<T>): Promise<T>;
|
|
9
|
+
//# sourceMappingURL=run-in-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-in-scope.d.ts","sourceRoot":"","sources":["../../src/workers/run-in-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjD,OAAO,CAAC,CAAC,CAAC,CAIZ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Stratal } from '../stratal';
|
|
2
|
+
/**
|
|
3
|
+
* Shared helper that creates a request-scoped DI container by accessing the
|
|
4
|
+
* Stratal Application via the static singleton.
|
|
5
|
+
*
|
|
6
|
+
* Works with Durable Objects, Workflows, and WorkerEntrypoints.
|
|
7
|
+
*/
|
|
8
|
+
export async function runInScope(callback) {
|
|
9
|
+
const app = await Stratal.resolveApplication();
|
|
10
|
+
const mockCtx = app.createMockRouterContext('en');
|
|
11
|
+
return app.container.runInRequestScope(mockCtx, callback);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=run-in-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-in-scope.js","sourceRoot":"","sources":["../../src/workers/run-in-scope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAkD;IAElD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAA;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;IACjD,OAAO,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;AAC3D,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DurableObject } from 'cloudflare:workers';
|
|
2
|
+
import type { Container } from '../di/container';
|
|
3
|
+
import type { StratalEnv } from '../env';
|
|
4
|
+
/**
|
|
5
|
+
* Base class for Durable Objects with full DI access.
|
|
6
|
+
*
|
|
7
|
+
* Extends Cloudflare's `DurableObject` and provides a `runInScope()` helper
|
|
8
|
+
* that creates a request-scoped container with `DurableObjectState` and
|
|
9
|
+
* `DurableObjectId` tokens registered.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { StratalDurableObject } from 'stratal/workers'
|
|
14
|
+
*
|
|
15
|
+
* export class Counter extends StratalDurableObject {
|
|
16
|
+
* async increment() {
|
|
17
|
+
* return this.runInScope(async (container) => {
|
|
18
|
+
* const svc = container.resolve(CounterService)
|
|
19
|
+
* return svc.increment()
|
|
20
|
+
* })
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare abstract class StratalDurableObject<Env extends StratalEnv = StratalEnv> extends DurableObject<Env> {
|
|
26
|
+
protected runInScope<T>(callback: (container: Container) => T | Promise<T>): Promise<T>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=stratal-durable-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stratal-durable-object.d.ts","sourceRoot":"","sources":["../../src/workers/stratal-durable-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGxC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,8BAAsB,oBAAoB,CACxC,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,SAAQ,aAAa,CAAC,GAAG,CAAC;cACV,UAAU,CAAC,CAAC,EAC1B,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjD,OAAO,CAAC,CAAC,CAAC;CAOd"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DurableObject } from 'cloudflare:workers';
|
|
2
|
+
import { DI_TOKENS } from '../di/tokens';
|
|
3
|
+
import { runInScope } from './run-in-scope';
|
|
4
|
+
/**
|
|
5
|
+
* Base class for Durable Objects with full DI access.
|
|
6
|
+
*
|
|
7
|
+
* Extends Cloudflare's `DurableObject` and provides a `runInScope()` helper
|
|
8
|
+
* that creates a request-scoped container with `DurableObjectState` and
|
|
9
|
+
* `DurableObjectId` tokens registered.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { StratalDurableObject } from 'stratal/workers'
|
|
14
|
+
*
|
|
15
|
+
* export class Counter extends StratalDurableObject {
|
|
16
|
+
* async increment() {
|
|
17
|
+
* return this.runInScope(async (container) => {
|
|
18
|
+
* const svc = container.resolve(CounterService)
|
|
19
|
+
* return svc.increment()
|
|
20
|
+
* })
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export class StratalDurableObject extends DurableObject {
|
|
26
|
+
async runInScope(callback) {
|
|
27
|
+
return runInScope(async (requestContainer) => {
|
|
28
|
+
requestContainer.registerValue(DI_TOKENS.DurableObjectState, this.ctx);
|
|
29
|
+
requestContainer.registerValue(DI_TOKENS.DurableObjectId, this.ctx.id);
|
|
30
|
+
return callback(requestContainer);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=stratal-durable-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stratal-durable-object.js","sourceRoot":"","sources":["../../src/workers/stratal-durable-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAgB,oBAEpB,SAAQ,aAAkB;IAChB,KAAK,CAAC,UAAU,CACxB,QAAkD;QAElD,OAAO,UAAU,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE;YAC3C,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YACtE,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACtE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { WorkerEntrypoint } from 'cloudflare:workers';
|
|
2
|
+
import type { Container } from '../di/container';
|
|
3
|
+
import type { StratalEnv } from '../env';
|
|
4
|
+
/**
|
|
5
|
+
* Base class for Cloudflare WorkerEntrypoints (Service Bindings / RPC) with full DI access.
|
|
6
|
+
*
|
|
7
|
+
* Extends Cloudflare's `WorkerEntrypoint` and provides a `runInScope()` helper
|
|
8
|
+
* that creates a request-scoped DI container.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { StratalWorkerEntrypoint } from 'stratal/workers'
|
|
13
|
+
*
|
|
14
|
+
* export class AuthRpc extends StratalWorkerEntrypoint {
|
|
15
|
+
* async verifyToken(token: string) {
|
|
16
|
+
* return this.runInScope(async (container) => {
|
|
17
|
+
* const auth = container.resolve(AuthService)
|
|
18
|
+
* return auth.verify(token)
|
|
19
|
+
* })
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare abstract class StratalWorkerEntrypoint<Env extends StratalEnv = StratalEnv> extends WorkerEntrypoint<Env> {
|
|
25
|
+
protected runInScope<T>(callback: (container: Container) => T | Promise<T>): Promise<T>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=stratal-worker-entrypoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stratal-worker-entrypoint.d.ts","sourceRoot":"","sources":["../../src/workers/stratal-worker-entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGxC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,uBAAuB,CAC3C,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,SAAQ,gBAAgB,CAAC,GAAG,CAAC;IAC7B,SAAS,CAAC,UAAU,CAAC,CAAC,EACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjD,OAAO,CAAC,CAAC,CAAC;CAGd"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { WorkerEntrypoint } from 'cloudflare:workers';
|
|
2
|
+
import { runInScope } from './run-in-scope';
|
|
3
|
+
/**
|
|
4
|
+
* Base class for Cloudflare WorkerEntrypoints (Service Bindings / RPC) with full DI access.
|
|
5
|
+
*
|
|
6
|
+
* Extends Cloudflare's `WorkerEntrypoint` and provides a `runInScope()` helper
|
|
7
|
+
* that creates a request-scoped DI container.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { StratalWorkerEntrypoint } from 'stratal/workers'
|
|
12
|
+
*
|
|
13
|
+
* export class AuthRpc extends StratalWorkerEntrypoint {
|
|
14
|
+
* async verifyToken(token: string) {
|
|
15
|
+
* return this.runInScope(async (container) => {
|
|
16
|
+
* const auth = container.resolve(AuthService)
|
|
17
|
+
* return auth.verify(token)
|
|
18
|
+
* })
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export class StratalWorkerEntrypoint extends WorkerEntrypoint {
|
|
24
|
+
runInScope(callback) {
|
|
25
|
+
return runInScope(callback);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=stratal-worker-entrypoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stratal-worker-entrypoint.js","sourceRoot":"","sources":["../../src/workers/stratal-worker-entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAgB,uBAEpB,SAAQ,gBAAqB;IACnB,UAAU,CAClB,QAAkD;QAElD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { WorkflowEntrypoint } from 'cloudflare:workers';
|
|
2
|
+
import type { Container } from '../di/container';
|
|
3
|
+
import type { StratalEnv } from '../env';
|
|
4
|
+
/**
|
|
5
|
+
* Base class for Cloudflare Workflows with full DI access.
|
|
6
|
+
*
|
|
7
|
+
* Extends Cloudflare's `WorkflowEntrypoint` and provides a `runInScope()` helper
|
|
8
|
+
* that creates a request-scoped DI container.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { StratalWorkflow } from 'stratal/workers'
|
|
13
|
+
*
|
|
14
|
+
* export class MyWorkflow extends StratalWorkflow<Env, { userId: string }> {
|
|
15
|
+
* async run(event: WorkflowEvent<{ userId: string }>, step: WorkflowStep) {
|
|
16
|
+
* await this.runInScope(async (container) => {
|
|
17
|
+
* const svc = container.resolve(UserService)
|
|
18
|
+
* await svc.process(event.payload.userId)
|
|
19
|
+
* })
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare abstract class StratalWorkflow<Env extends StratalEnv = StratalEnv, Params = unknown> extends WorkflowEntrypoint<Env, Params> {
|
|
25
|
+
protected runInScope<T>(callback: (container: Container) => T | Promise<T>): Promise<T>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=stratal-workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stratal-workflow.d.ts","sourceRoot":"","sources":["../../src/workers/stratal-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGxC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,eAAe,CACnC,GAAG,SAAS,UAAU,GAAG,UAAU,EACnC,MAAM,GAAG,OAAO,CAChB,SAAQ,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,UAAU,CAAC,CAAC,EACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACjD,OAAO,CAAC,CAAC,CAAC;CAGd"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { WorkflowEntrypoint } from 'cloudflare:workers';
|
|
2
|
+
import { runInScope } from './run-in-scope';
|
|
3
|
+
/**
|
|
4
|
+
* Base class for Cloudflare Workflows with full DI access.
|
|
5
|
+
*
|
|
6
|
+
* Extends Cloudflare's `WorkflowEntrypoint` and provides a `runInScope()` helper
|
|
7
|
+
* that creates a request-scoped DI container.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { StratalWorkflow } from 'stratal/workers'
|
|
12
|
+
*
|
|
13
|
+
* export class MyWorkflow extends StratalWorkflow<Env, { userId: string }> {
|
|
14
|
+
* async run(event: WorkflowEvent<{ userId: string }>, step: WorkflowStep) {
|
|
15
|
+
* await this.runInScope(async (container) => {
|
|
16
|
+
* const svc = container.resolve(UserService)
|
|
17
|
+
* await svc.process(event.payload.userId)
|
|
18
|
+
* })
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export class StratalWorkflow extends WorkflowEntrypoint {
|
|
24
|
+
runInScope(callback) {
|
|
25
|
+
return runInScope(callback);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=stratal-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stratal-workflow.js","sourceRoot":"","sources":["../../src/workers/stratal-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAgB,eAGpB,SAAQ,kBAA+B;IAC7B,UAAU,CAClB,QAAkD;QAElD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC;CACF"}
|
package/package.json
CHANGED