stratal 0.0.9 → 0.0.11

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 (63) hide show
  1. package/dist/cache/cache.tokens.js +1 -1
  2. package/dist/cache/cache.tokens.js.map +1 -1
  3. package/dist/config/config.tokens.js +1 -1
  4. package/dist/config/config.tokens.js.map +1 -1
  5. package/dist/config/register-as.d.ts +2 -2
  6. package/dist/config/register-as.d.ts.map +1 -1
  7. package/dist/config/register-as.js +2 -2
  8. package/dist/config/register-as.js.map +1 -1
  9. package/dist/di/tokens.d.ts +2 -0
  10. package/dist/di/tokens.d.ts.map +1 -1
  11. package/dist/di/tokens.js +15 -12
  12. package/dist/di/tokens.js.map +1 -1
  13. package/dist/email/email.tokens.js +5 -5
  14. package/dist/email/email.tokens.js.map +1 -1
  15. package/dist/errors/index.d.ts +1 -0
  16. package/dist/errors/index.d.ts.map +1 -1
  17. package/dist/errors/index.js +1 -0
  18. package/dist/errors/index.js.map +1 -1
  19. package/dist/errors/stratal-not-initialized.error.d.ts +11 -0
  20. package/dist/errors/stratal-not-initialized.error.d.ts.map +1 -0
  21. package/dist/errors/stratal-not-initialized.error.js +14 -0
  22. package/dist/errors/stratal-not-initialized.error.js.map +1 -0
  23. package/dist/i18n/i18n.tokens.js +3 -3
  24. package/dist/i18n/i18n.tokens.js.map +1 -1
  25. package/dist/i18n/messages/en/errors.d.ts +1 -0
  26. package/dist/i18n/messages/en/errors.d.ts.map +1 -1
  27. package/dist/i18n/messages/en/errors.js +1 -0
  28. package/dist/i18n/messages/en/errors.js.map +1 -1
  29. package/dist/logger/logger.tokens.js +5 -5
  30. package/dist/logger/logger.tokens.js.map +1 -1
  31. package/dist/openapi/openapi.tokens.js +3 -3
  32. package/dist/openapi/openapi.tokens.js.map +1 -1
  33. package/dist/queue/queue.tokens.js +3 -3
  34. package/dist/queue/queue.tokens.js.map +1 -1
  35. package/dist/router/router.tokens.js +1 -1
  36. package/dist/router/router.tokens.js.map +1 -1
  37. package/dist/storage/storage.tokens.js +3 -3
  38. package/dist/storage/storage.tokens.js.map +1 -1
  39. package/dist/stratal.d.ts +9 -1
  40. package/dist/stratal.d.ts.map +1 -1
  41. package/dist/stratal.js +15 -0
  42. package/dist/stratal.js.map +1 -1
  43. package/dist/workers/index.d.ts +5 -0
  44. package/dist/workers/index.d.ts.map +1 -0
  45. package/dist/workers/index.js +5 -0
  46. package/dist/workers/index.js.map +1 -0
  47. package/dist/workers/run-in-scope.d.ts +9 -0
  48. package/dist/workers/run-in-scope.d.ts.map +1 -0
  49. package/dist/workers/run-in-scope.js +13 -0
  50. package/dist/workers/run-in-scope.js.map +1 -0
  51. package/dist/workers/stratal-durable-object.d.ts +28 -0
  52. package/dist/workers/stratal-durable-object.d.ts.map +1 -0
  53. package/dist/workers/stratal-durable-object.js +34 -0
  54. package/dist/workers/stratal-durable-object.js.map +1 -0
  55. package/dist/workers/stratal-worker-entrypoint.d.ts +27 -0
  56. package/dist/workers/stratal-worker-entrypoint.d.ts.map +1 -0
  57. package/dist/workers/stratal-worker-entrypoint.js +28 -0
  58. package/dist/workers/stratal-worker-entrypoint.js.map +1 -0
  59. package/dist/workers/stratal-workflow.d.ts +27 -0
  60. package/dist/workers/stratal-workflow.d.ts.map +1 -0
  61. package/dist/workers/stratal-workflow.js +28 -0
  62. package/dist/workers/stratal-workflow.js.map +1 -0
  63. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
1
  export const CACHE_TOKENS = {
2
- CacheService: Symbol.for('CacheService'),
2
+ CacheService: Symbol.for('stratal:cache:service'),
3
3
  };
4
4
  //# sourceMappingURL=cache.tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.tokens.js","sourceRoot":"","sources":["../../src/cache/cache.tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;CAChC,CAAA"}
1
+ {"version":3,"file":"cache.tokens.js","sourceRoot":"","sources":["../../src/cache/cache.tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;CACzC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  export const CONFIG_TOKENS = {
2
- ConfigService: Symbol.for('ConfigService'),
2
+ ConfigService: Symbol.for('stratal:config:service'),
3
3
  };
4
4
  //# sourceMappingURL=config.tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.tokens.js","sourceRoot":"","sources":["../../src/config/config.tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;CACjC,CAAA"}
1
+ {"version":3,"file":"config.tokens.js","sourceRoot":"","sources":["../../src/config/config.tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;CAC1C,CAAA"}
@@ -4,7 +4,7 @@ import type { FactoryProvider } from '../module/types';
4
4
  * Configuration namespace registration result
5
5
  */
6
6
  export interface ConfigNamespace<TKey extends string, TEnv, TConfig extends object> {
7
- /** Auto-derived injection token (e.g., 'database' -> Symbol('CONFIG:database')) */
7
+ /** Auto-derived injection token (e.g., 'database' -> Symbol('stratal:config:database')) */
8
8
  readonly KEY: InjectionToken<TConfig>;
9
9
  /** The namespace key */
10
10
  readonly namespace: TKey;
@@ -32,7 +32,7 @@ export interface ConfigNamespace<TKey extends string, TEnv, TConfig extends obje
32
32
  * maxConnections: parseInt(env.DATABASE_MAX_CONNECTIONS || '10'),
33
33
  * }))
34
34
  *
35
- * // Auto-generates: databaseConfig.KEY = Symbol('CONFIG:database')
35
+ * // Auto-generates: databaseConfig.KEY = Symbol('stratal:config:database')
36
36
  *
37
37
  * // Usage in module:
38
38
  * // Option 1: Manual provider
@@ -1 +1 @@
1
- {"version":3,"file":"register-as.d.ts","sourceRoot":"","sources":["../../src/config/register-as.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,SAAS,MAAM;IAChF,mFAAmF;IACnF,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,wBAAwB;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAA;IACxC;;;OAGG;IACH,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,SAAS,MAAM,EAC1E,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,GAC9B,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAetC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"register-as.d.ts","sourceRoot":"","sources":["../../src/config/register-as.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,SAAS,MAAM;IAChF,2FAA2F;IAC3F,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,wBAAwB;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAA;IACxC;;;OAGG;IACH,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,OAAO,SAAS,MAAM,EAC1E,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,GAC9B,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAetC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
@@ -15,7 +15,7 @@ import { DI_TOKENS } from '../di/tokens';
15
15
  * maxConnections: parseInt(env.DATABASE_MAX_CONNECTIONS || '10'),
16
16
  * }))
17
17
  *
18
- * // Auto-generates: databaseConfig.KEY = Symbol('CONFIG:database')
18
+ * // Auto-generates: databaseConfig.KEY = Symbol('stratal:config:database')
19
19
  *
20
20
  * // Usage in module:
21
21
  * // Option 1: Manual provider
@@ -31,7 +31,7 @@ import { DI_TOKENS } from '../di/tokens';
31
31
  * ```
32
32
  */
33
33
  export function registerAs(namespace, factory) {
34
- const KEY = Symbol.for(`CONFIG:${namespace}`);
34
+ const KEY = Symbol.for(`stratal:config:${namespace}`);
35
35
  return {
36
36
  KEY,
37
37
  namespace,
@@ -1 +1 @@
1
- {"version":3,"file":"register-as.js","sourceRoot":"","sources":["../../src/config/register-as.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAoBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,UAAU,CACxB,SAAe,EACf,OAA+B;IAE/B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,SAAS,EAAE,CAA4B,CAAA;IAExE,OAAO;QACL,GAAG;QACH,SAAS;QACT,OAAO;QACP,UAAU;YACR,OAAO;gBACL,OAAO,EAAE,GAAG;gBACZ,UAAU,EAAE,OAAO;gBACnB,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC;aAClC,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"register-as.js","sourceRoot":"","sources":["../../src/config/register-as.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAoBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,UAAU,CACxB,SAAe,EACf,OAA+B;IAE/B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,SAAS,EAAE,CAA4B,CAAA;IAEhF,OAAO;QACL,GAAG;QACH,SAAS;QACT,OAAO;QACP,UAAU;YACR,OAAO;gBACL,OAAO,EAAE,GAAG;gBACZ,UAAU,EAAE,OAAO;gBACnB,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC;aAClC,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -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
@@ -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;;CAEK,CAAA;AAEV,MAAM,MAAM,OAAO,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/di/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,eAAe,eAAqC,CAAA;AAEjE,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
@@ -2,25 +2,28 @@
2
2
  * Token for the Container instance
3
3
  * Used for injecting the Container into services that need dynamic resolution
4
4
  */
5
- export const CONTAINER_TOKEN = Symbol.for('di:Container');
5
+ export const CONTAINER_TOKEN = Symbol.for('stratal:di:container');
6
6
  export const DI_TOKENS = {
7
7
  // Cloudflare
8
- CloudflareEnv: Symbol.for('CloudflareEnv'),
9
- ExecutionContext: Symbol.for('ExecutionContext'),
8
+ CloudflareEnv: Symbol.for('stratal:cloudflare:env'),
9
+ ExecutionContext: Symbol.for('stratal:execution:context'),
10
10
  // Infrastructure
11
11
  Container: CONTAINER_TOKEN,
12
- Application: Symbol.for('Application'),
13
- ModuleRegistry: Symbol.for('ModuleRegistry'),
14
- ErrorHandler: Symbol.for('ErrorHandler'),
15
- Database: Symbol.for('DatabaseService'),
16
- Queue: Symbol.for('QueueManager'),
17
- ConsumerRegistry: Symbol.for('ConsumerRegistry'),
18
- Cron: Symbol.for('CronManager'),
19
- EventRegistry: Symbol.for('EventRegistry'),
12
+ Application: Symbol.for('stratal:application'),
13
+ ModuleRegistry: Symbol.for('stratal:module:registry'),
14
+ ErrorHandler: Symbol.for('stratal:error:handler'),
15
+ Database: Symbol.for('stratal:database:service'),
16
+ Queue: Symbol.for('stratal:queue:manager'),
17
+ ConsumerRegistry: Symbol.for('stratal:consumer:registry'),
18
+ Cron: Symbol.for('stratal:cron:manager'),
19
+ EventRegistry: Symbol.for('stratal:event:registry'),
20
20
  // Context
21
21
  /**
22
22
  * AuthContext: Use for services that need user authentication (userId).
23
23
  */
24
- AuthContext: Symbol.for('AuthContext'),
24
+ AuthContext: Symbol.for('stratal:auth:context'),
25
+ // Workers
26
+ DurableObjectState: Symbol.for('stratal:durable:object:state'),
27
+ DurableObjectId: Symbol.for('stratal:durable:object:id'),
25
28
  };
26
29
  //# sourceMappingURL=tokens.js.map
@@ -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;CAC9B,CAAA"}
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,sBAAsB,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,aAAa;IACb,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACnD,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAEzD,iBAAiB;IACjB,SAAS,EAAE,eAAe;IAC1B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACrD,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAC1C,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;IAEnD,UAAU;IACV;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAE/C,UAAU;IACV,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC;IAC9D,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC;CAChD,CAAA"}
@@ -11,23 +11,23 @@ export const EMAIL_TOKENS = {
11
11
  /**
12
12
  * Email module configuration options
13
13
  */
14
- Options: Symbol.for('EmailModuleOptions'),
14
+ Options: Symbol.for('stratal:email:options'),
15
15
  /**
16
16
  * Main email service - facade for sending emails via queues
17
17
  */
18
- EmailService: Symbol.for('EmailService'),
18
+ EmailService: Symbol.for('stratal:email:service'),
19
19
  /**
20
20
  * Factory for creating email provider instances based on configuration
21
21
  */
22
- EmailProviderFactory: Symbol.for('EmailProviderFactory'),
22
+ EmailProviderFactory: Symbol.for('stratal:email:provider:factory'),
23
23
  /**
24
24
  * Email provider interface - abstracts provider implementation
25
25
  */
26
- EmailProvider: Symbol.for('EmailProvider'),
26
+ EmailProvider: Symbol.for('stratal:email:provider'),
27
27
  /**
28
28
  * Queue sender for email dispatch.
29
29
  * Bound via EmailModule.forRoot({ queue: 'queue-name' })
30
30
  */
31
- EmailQueue: Symbol.for('email:Queue'),
31
+ EmailQueue: Symbol.for('stratal:email:queue'),
32
32
  };
33
33
  //# sourceMappingURL=email.tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.tokens.js","sourceRoot":"","sources":["../../src/email/email.tokens.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAEzC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IAExC;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAExD;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAE1C;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;CAC7B,CAAA"}
1
+ {"version":3,"file":"email.tokens.js","sourceRoot":"","sources":["../../src/email/email.tokens.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAE5C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAEjD;;OAEG;IACH,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAElE;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;IAEnD;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;CACrC,CAAA"}
@@ -6,4 +6,5 @@ export * from './internal-error';
6
6
  export * from './is-application-error';
7
7
  export * from './error-codes';
8
8
  export * from './request-container-not-initialized.error';
9
+ export * from './stratal-not-initialized.error';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -6,4 +6,5 @@ export * from './internal-error';
6
6
  export * from './is-application-error';
7
7
  export * from './error-codes';
8
8
  export * from './request-container-not-initialized.error';
9
+ export * from './stratal-not-initialized.error';
9
10
  //# sourceMappingURL=index.js.map
@@ -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"}
@@ -4,10 +4,10 @@
4
4
  */
5
5
  export const I18N_TOKENS = {
6
6
  /** MessageLoaderService - loads and caches locale messages */
7
- MessageLoader: Symbol.for('I18nModule.MessageLoader'),
7
+ MessageLoader: Symbol.for('stratal:i18n:message:loader'),
8
8
  /** I18nService - request-scoped translation service */
9
- I18nService: Symbol.for('I18nModule.I18nService'),
9
+ I18nService: Symbol.for('stratal:i18n:service'),
10
10
  /** I18nModuleOptions - configuration options from forRoot() */
11
- Options: Symbol.for('I18nModule.Options')
11
+ Options: Symbol.for('stratal:i18n:options')
12
12
  };
13
13
  //# sourceMappingURL=i18n.tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.tokens.js","sourceRoot":"","sources":["../../src/i18n/i18n.tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACrD,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACjD,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;CACjC,CAAA"}
1
+ {"version":3,"file":"i18n.tokens.js","sourceRoot":"","sources":["../../src/i18n/i18n.tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACxD,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAC/C,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;CACnC,CAAA"}
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqIT,CAAA"}
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;IAEhG,gBAAgB;IAChB,uBAAuB,EAAE,2CAA2C;IACpE,wBAAwB,EAAE,kEAAkE;IAC5F,wBAAwB,EAAE,uCAAuC;IACjE,qBAAqB,EAAE,mDAAmD;IAE1E,kBAAkB;IAClB,eAAe,EAAE,yBAAyB;IAC1C,sBAAsB,EAAE,8BAA8B;IACtD,wBAAwB,EAAE,uBAAuB;IACjD,4BAA4B,EAAE,0BAA0B;IACxD,wBAAwB,EAAE,+BAA+B;IACzD,eAAe,EAAE,wBAAwB;IACzC,sBAAsB,EAAE,2BAA2B;IACnD,0BAA0B,EAAE,+BAA+B;IAC3D,2BAA2B,EAAE,kCAAkC;IAC/D,wBAAwB,EAAE,oCAAoC;IAC9D,qBAAqB,EAAE,oDAAoD;IAC3E,sBAAsB,EAAE,kDAAkD;IAC1E,oBAAoB,EAAE,4CAA4C;IAClE,qBAAqB,EAAE,kCAAkC;IAEzD,eAAe;IACf,oBAAoB,EAAE,oDAAoD;IAC1E,yBAAyB,EAAE,iFAAiF;IAE5G,cAAc;IACd,mBAAmB,EAAE,8DAA8D;IAEnF,cAAc;IACd,kBAAkB,EAAE,2EAA2E;IAC/F,kBAAkB,EAAE,0DAA0D;IAE9E,2BAA2B;IAC3B,gBAAgB,EAAE,0BAA0B;IAE5C,iBAAiB;IACjB,iBAAiB,EAAE,sCAAsC;IACzD,wBAAwB,EAAE,mDAAmD;IAE7E,eAAe;IACf,KAAK,EAAE;QACL,mBAAmB,EAAE,+EAA+E;QACpG,wBAAwB,EAAE,gEAAgE;QAC1F,eAAe,EAAE,+EAA+E;QAChG,oBAAoB,EAAE,wDAAwD;QAC9E,eAAe,EAAE,kBAAkB;QACnC,oBAAoB,EAAE,2EAA2E;KAClG;IAED,iBAAiB;IACjB,OAAO,EAAE;QACP,YAAY,EAAE,qCAAqC;QACnD,WAAW,EAAE,yCAAyC;QACtD,eAAe,EAAE,uCAAuC;QACxD,YAAY,EAAE,4DAA4D;QAC1E,yBAAyB,EAAE,gDAAgD;QAC3E,iBAAiB,EAAE,iCAAiC;QACpD,oBAAoB,EAAE,gDAAgD;QACtE,mBAAmB,EAAE,8CAA8C;KACpE;IAED,eAAe;IACf,KAAK,EAAE;QACL,SAAS,EAAE,qDAAqD;QAChE,SAAS,EAAE,gDAAgD;QAC3D,YAAY,EAAE,mDAAmD;QACjE,UAAU,EAAE,2BAA2B;KACxC;IAED,wBAAwB;IACxB,IAAI,EAAE;QACJ,aAAa,EAAE,gCAAgC;QAC/C,YAAY,EAAE,uCAAuC;QACrD,kBAAkB,EAAE,wCAAwC;QAC5D,YAAY,EAAE,gDAAgD;QAC9D,kBAAkB,EAAE,2BAA2B;QAC/C,eAAe,EAAE,kBAAkB;QACnC,YAAY,EAAE,uBAAuB;QACrC,cAAc,EAAE,iDAAiD;QACjE,gBAAgB,EAAE,oDAAoD;QACtE,gBAAgB,EAAE,kDAAkD;QACpE,eAAe,EAAE,iDAAiD;QAClE,oBAAoB,EAAE,2CAA2C;QACjE,kBAAkB,EAAE,kDAAkD;QACtE,qBAAqB,EAAE,6CAA6C;QACpE,kBAAkB,EAAE,+CAA+C;QACnE,kBAAkB,EAAE,sDAAsD;QAC1E,mBAAmB,EAAE,wDAAwD;QAC7E,mBAAmB,EAAE,uDAAuD;QAC5E,gBAAgB,EAAE,mCAAmC;QACrD,iBAAiB,EAAE,8BAA8B;QACjD,eAAe,EAAE,mBAAmB;QACpC,yBAAyB,EAAE,8BAA8B;QACzD,uBAAuB,EAAE,iCAAiC;QAC1D,sBAAsB,EAAE,iCAAiC;QACzD,oBAAoB,EAAE,8CAA8C;QACpE,YAAY,EAAE,8EAA8E;KAC7F;IAED,mBAAmB;IACnB,SAAS,EAAE;QACT,MAAM,EAAE,2CAA2C;QACnD,gBAAgB,EAAE,sFAAsF;QACxG,cAAc,EAAE,oDAAoD;QACpE,QAAQ,EAAE,qCAAqC;KAChD;CACO,CAAA"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/i18n/messages/en/errors.ts"],"names":[],"mappings":"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"}
@@ -8,22 +8,22 @@ export const LOGGER_TOKENS = {
8
8
  /**
9
9
  * Main logger service facade
10
10
  */
11
- LoggerService: Symbol.for('Logger.LoggerService'),
11
+ LoggerService: Symbol.for('stratal:logger:service'),
12
12
  /**
13
13
  * Log formatter (JSON or Pretty)
14
14
  */
15
- Formatter: Symbol.for('Logger.Formatter'),
15
+ Formatter: Symbol.for('stratal:logger:formatter'),
16
16
  /**
17
17
  * Array of active transports
18
18
  */
19
- Transports: Symbol.for('Logger.Transports'),
19
+ Transports: Symbol.for('stratal:logger:transports'),
20
20
  /**
21
21
  * Individual transport tokens (for factory registration)
22
22
  */
23
- ConsoleTransport: Symbol.for('Logger.ConsoleTransport'),
23
+ ConsoleTransport: Symbol.for('stratal:logger:console:transport'),
24
24
  /**
25
25
  * Configured log level for filtering
26
26
  */
27
- LogLevelOptions: Symbol.for('Logger.LogLevelOptions'),
27
+ LogLevelOptions: Symbol.for('stratal:logger:log:level:options'),
28
28
  };
29
29
  //# sourceMappingURL=logger.tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.tokens.js","sourceRoot":"","sources":["../../src/logger/logger.tokens.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAEjD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAEzC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAE3C;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAEvD;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;CAC7C,CAAA"}
1
+ {"version":3,"file":"logger.tokens.js","sourceRoot":"","sources":["../../src/logger/logger.tokens.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;IAEnD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAEjD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAEnD;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAEhE;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC;CACvD,CAAA"}
@@ -3,10 +3,10 @@
3
3
  */
4
4
  export const OPENAPI_TOKENS = {
5
5
  /** Static options provided via forRoot() */
6
- Options: Symbol.for('OpenAPIModule.Options'),
6
+ Options: Symbol.for('stratal:openapi:options'),
7
7
  /** Request-scoped config service that supports runtime overrides */
8
- ConfigService: Symbol.for('OpenAPIModule.ConfigService'),
8
+ ConfigService: Symbol.for('stratal:openapi:config:service'),
9
9
  /** OpenAPI service that generates specs and serves endpoints */
10
- OpenAPIService: Symbol.for('OpenAPIModule.OpenAPIService'),
10
+ OpenAPIService: Symbol.for('stratal:openapi:service'),
11
11
  };
12
12
  //# sourceMappingURL=openapi.tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.tokens.js","sourceRoot":"","sources":["../../src/openapi/openapi.tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAE5C,oEAAoE;IACpE,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC;IAExD,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC;CAClD,CAAA"}
1
+ {"version":3,"file":"openapi.tokens.js","sourceRoot":"","sources":["../../src/openapi/openapi.tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAE9C,oEAAoE;IACpE,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAE3D,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC;CAC7C,CAAA"}
@@ -1,6 +1,6 @@
1
1
  export const QUEUE_TOKENS = {
2
- QueueProviderFactory: Symbol.for('QueueProviderFactory'),
3
- QueueRegistry: Symbol.for('QueueRegistry'),
4
- QueueModuleOptions: Symbol.for('QueueModuleOptions'),
2
+ QueueProviderFactory: Symbol.for('stratal:queue:provider:factory'),
3
+ QueueRegistry: Symbol.for('stratal:queue:registry'),
4
+ QueueModuleOptions: Symbol.for('stratal:queue:options'),
5
5
  };
6
6
  //# sourceMappingURL=queue.tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue.tokens.js","sourceRoot":"","sources":["../../src/queue/queue.tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACxD,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;CAC5C,CAAA"}
1
+ {"version":3,"file":"queue.tokens.js","sourceRoot":"","sources":["../../src/queue/queue.tokens.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC;IAClE,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACnD,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;CAC/C,CAAA"}
@@ -6,6 +6,6 @@ export const ROUTER_TOKENS = {
6
6
  * Token for RouterContext (request-scoped)
7
7
  * Contains Hono context wrapper with helper methods
8
8
  */
9
- RouterContext: Symbol.for('RouterContext'),
9
+ RouterContext: Symbol.for('stratal:router:context'),
10
10
  };
11
11
  //# sourceMappingURL=router.tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.tokens.js","sourceRoot":"","sources":["../../src/router/router.tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;CAClC,CAAA"}
1
+ {"version":3,"file":"router.tokens.js","sourceRoot":"","sources":["../../src/router/router.tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;CAC3C,CAAA"}
@@ -3,8 +3,8 @@
3
3
  * Using Symbol-based tokens to avoid magic strings
4
4
  */
5
5
  export const STORAGE_TOKENS = {
6
- Options: Symbol.for('StorageModuleOptions'),
7
- StorageService: Symbol.for('StorageService'),
8
- StorageManager: Symbol.for('StorageManager'),
6
+ Options: Symbol.for('stratal:storage:options'),
7
+ StorageService: Symbol.for('stratal:storage:service'),
8
+ StorageManager: Symbol.for('stratal:storage:manager'),
9
9
  };
10
10
  //# sourceMappingURL=storage.tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.tokens.js","sourceRoot":"","sources":["../../src/storage/storage.tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAC3C,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;CACpC,CAAA"}
1
+ {"version":3,"file":"storage.tokens.js","sourceRoot":"","sources":["../../src/storage/storage.tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACrD,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC;CAC7C,CAAA"}
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stratal.d.ts","sourceRoot":"","sources":["../src/stratal.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACnE,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;gBAE7B,MAAM,EAAE,iBAAiB;IAQ/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;YAQjB,WAAW;YAKX,UAAU;CAMzB"}
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;
@@ -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;AAInE;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,OAAO;IACV,GAAG,GAAuB,IAAI,CAAA;IAC9B,WAAW,CAAsB;IAEzC,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;IAC5C,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;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;CACF"}
1
+ {"version":3,"file":"stratal.js","sourceRoot":"","sources":["../src/stratal.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stratal",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "description": "A modular Cloudflare Workers framework with dependency injection, queue-based events, and type-safe configuration",
5
5
  "type": "module",
6
6
  "license": "MIT",