@dxos/functions 0.8.4-main.84f28bd → 0.8.4-main.ae835ea

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 (180) hide show
  1. package/dist/lib/browser/bundler/index.mjs +43 -34
  2. package/dist/lib/browser/bundler/index.mjs.map +3 -3
  3. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  4. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-M6EXIREF.mjs +610 -0
  6. package/dist/lib/browser/chunk-M6EXIREF.mjs.map +7 -0
  7. package/dist/lib/browser/edge/index.mjs +22 -8
  8. package/dist/lib/browser/edge/index.mjs.map +3 -3
  9. package/dist/lib/browser/index.mjs +1106 -252
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/testing/index.mjs +94 -42
  13. package/dist/lib/browser/testing/index.mjs.map +4 -4
  14. package/dist/lib/node-esm/bundler/index.mjs +42 -34
  15. package/dist/lib/node-esm/bundler/index.mjs.map +3 -3
  16. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  17. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  18. package/dist/lib/node-esm/chunk-P3IATZMZ.mjs +612 -0
  19. package/dist/lib/node-esm/chunk-P3IATZMZ.mjs.map +7 -0
  20. package/dist/lib/node-esm/edge/index.mjs +21 -8
  21. package/dist/lib/node-esm/edge/index.mjs.map +3 -3
  22. package/dist/lib/node-esm/index.mjs +1106 -252
  23. package/dist/lib/node-esm/index.mjs.map +4 -4
  24. package/dist/lib/node-esm/meta.json +1 -1
  25. package/dist/lib/node-esm/testing/index.mjs +94 -42
  26. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  27. package/dist/types/src/bundler/bundler.d.ts +11 -12
  28. package/dist/types/src/bundler/bundler.d.ts.map +1 -1
  29. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  30. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  31. package/dist/types/src/edge/functions.d.ts +4 -3
  32. package/dist/types/src/edge/functions.d.ts.map +1 -1
  33. package/dist/types/src/errors.d.ts +137 -0
  34. package/dist/types/src/errors.d.ts.map +1 -0
  35. package/dist/types/src/example/fib.d.ts +7 -0
  36. package/dist/types/src/example/fib.d.ts.map +1 -0
  37. package/dist/types/src/example/forex-effect.d.ts +3 -0
  38. package/dist/types/src/example/forex-effect.d.ts.map +1 -0
  39. package/dist/types/src/example/index.d.ts +12 -0
  40. package/dist/types/src/example/index.d.ts.map +1 -0
  41. package/dist/types/src/example/reply.d.ts +3 -0
  42. package/dist/types/src/example/reply.d.ts.map +1 -0
  43. package/dist/types/src/example/sleep.d.ts +5 -0
  44. package/dist/types/src/example/sleep.d.ts.map +1 -0
  45. package/dist/types/src/executor/executor.d.ts +7 -1
  46. package/dist/types/src/executor/executor.d.ts.map +1 -1
  47. package/dist/types/src/handler.d.ts +54 -13
  48. package/dist/types/src/handler.d.ts.map +1 -1
  49. package/dist/types/src/index.d.ts +5 -3
  50. package/dist/types/src/index.d.ts.map +1 -1
  51. package/dist/types/src/services/credentials.d.ts +21 -3
  52. package/dist/types/src/services/credentials.d.ts.map +1 -1
  53. package/dist/types/src/services/database.d.ts +58 -6
  54. package/dist/types/src/services/database.d.ts.map +1 -1
  55. package/dist/types/src/services/event-logger.d.ts +68 -30
  56. package/dist/types/src/services/event-logger.d.ts.map +1 -1
  57. package/dist/types/src/services/function-invocation-service.d.ts +28 -0
  58. package/dist/types/src/services/function-invocation-service.d.ts.map +1 -0
  59. package/dist/types/src/services/function-invocation-service.test.d.ts +2 -0
  60. package/dist/types/src/services/function-invocation-service.test.d.ts.map +1 -0
  61. package/dist/types/src/services/index.d.ts +5 -5
  62. package/dist/types/src/services/index.d.ts.map +1 -1
  63. package/dist/types/src/services/local-function-execution.d.ts +34 -0
  64. package/dist/types/src/services/local-function-execution.d.ts.map +1 -0
  65. package/dist/types/src/services/queues.d.ts +33 -4
  66. package/dist/types/src/services/queues.d.ts.map +1 -1
  67. package/dist/types/src/services/remote-function-execution-service.d.ts +22 -0
  68. package/dist/types/src/services/remote-function-execution-service.d.ts.map +1 -0
  69. package/dist/types/src/services/service-container.d.ts +29 -18
  70. package/dist/types/src/services/service-container.d.ts.map +1 -1
  71. package/dist/types/src/services/service-registry.d.ts +31 -0
  72. package/dist/types/src/services/service-registry.d.ts.map +1 -0
  73. package/dist/types/src/services/service-registry.test.d.ts +2 -0
  74. package/dist/types/src/services/service-registry.test.d.ts.map +1 -0
  75. package/dist/types/src/services/tracing.d.ts +48 -4
  76. package/dist/types/src/services/tracing.d.ts.map +1 -1
  77. package/dist/types/src/testing/index.d.ts +1 -0
  78. package/dist/types/src/testing/index.d.ts.map +1 -1
  79. package/dist/types/src/testing/layer.d.ts +18 -0
  80. package/dist/types/src/testing/layer.d.ts.map +1 -0
  81. package/dist/types/src/testing/logger.d.ts +4 -4
  82. package/dist/types/src/testing/logger.d.ts.map +1 -1
  83. package/dist/types/src/testing/persist-database.test.d.ts +2 -0
  84. package/dist/types/src/testing/persist-database.test.d.ts.map +1 -0
  85. package/dist/types/src/testing/services.d.ts +8 -20
  86. package/dist/types/src/testing/services.d.ts.map +1 -1
  87. package/dist/types/src/trace.d.ts +21 -23
  88. package/dist/types/src/trace.d.ts.map +1 -1
  89. package/dist/types/src/translations.d.ts +2 -2
  90. package/dist/types/src/translations.d.ts.map +1 -1
  91. package/dist/types/src/triggers/index.d.ts +4 -0
  92. package/dist/types/src/triggers/index.d.ts.map +1 -0
  93. package/dist/types/src/triggers/input-builder.d.ts +3 -0
  94. package/dist/types/src/triggers/input-builder.d.ts.map +1 -0
  95. package/dist/types/src/triggers/invocation-tracer.d.ts +37 -0
  96. package/dist/types/src/triggers/invocation-tracer.d.ts.map +1 -0
  97. package/dist/types/src/triggers/trigger-dispatcher.d.ts +78 -0
  98. package/dist/types/src/triggers/trigger-dispatcher.d.ts.map +1 -0
  99. package/dist/types/src/triggers/trigger-dispatcher.test.d.ts +2 -0
  100. package/dist/types/src/triggers/trigger-dispatcher.test.d.ts.map +1 -0
  101. package/dist/types/src/triggers/trigger-state-store.d.ts +28 -0
  102. package/dist/types/src/triggers/trigger-state-store.d.ts.map +1 -0
  103. package/dist/types/src/types/Function.d.ts +47 -0
  104. package/dist/types/src/types/Function.d.ts.map +1 -0
  105. package/dist/types/src/types/Script.d.ts +28 -0
  106. package/dist/types/src/types/Script.d.ts.map +1 -0
  107. package/dist/types/src/types/Trigger.d.ts +139 -0
  108. package/dist/types/src/types/Trigger.d.ts.map +1 -0
  109. package/dist/types/src/types/TriggerEvent.d.ts +44 -0
  110. package/dist/types/src/types/TriggerEvent.d.ts.map +1 -0
  111. package/dist/types/src/types/index.d.ts +5 -0
  112. package/dist/types/src/types/index.d.ts.map +1 -0
  113. package/dist/types/src/url.d.ts +11 -7
  114. package/dist/types/src/url.d.ts.map +1 -1
  115. package/dist/types/tsconfig.tsbuildinfo +1 -1
  116. package/package.json +37 -42
  117. package/src/bundler/bundler.test.ts +8 -9
  118. package/src/bundler/bundler.ts +38 -35
  119. package/src/e2e/deploy.test.ts +69 -0
  120. package/src/edge/functions.ts +9 -6
  121. package/src/errors.ts +21 -0
  122. package/src/example/fib.ts +32 -0
  123. package/src/example/forex-effect.ts +40 -0
  124. package/src/example/index.ts +13 -0
  125. package/src/example/reply.ts +21 -0
  126. package/src/example/sleep.ts +24 -0
  127. package/src/executor/executor.ts +14 -10
  128. package/src/handler.ts +139 -26
  129. package/src/index.ts +5 -5
  130. package/src/services/credentials.ts +93 -4
  131. package/src/services/database.ts +145 -20
  132. package/src/services/event-logger.ts +71 -37
  133. package/src/services/function-invocation-service.test.ts +81 -0
  134. package/src/services/function-invocation-service.ts +84 -0
  135. package/src/services/index.ts +5 -5
  136. package/src/services/local-function-execution.ts +153 -0
  137. package/src/services/queues.ts +50 -8
  138. package/src/services/remote-function-execution-service.ts +63 -0
  139. package/src/services/service-container.ts +46 -58
  140. package/src/services/service-registry.test.ts +45 -0
  141. package/src/services/service-registry.ts +63 -0
  142. package/src/services/tracing.ts +122 -6
  143. package/src/testing/index.ts +1 -0
  144. package/src/testing/layer.ts +114 -0
  145. package/src/testing/logger.ts +5 -4
  146. package/src/testing/persist-database.test.ts +87 -0
  147. package/src/testing/services.ts +12 -71
  148. package/src/trace.ts +20 -22
  149. package/src/translations.ts +2 -2
  150. package/src/triggers/index.ts +7 -0
  151. package/src/triggers/input-builder.ts +35 -0
  152. package/src/triggers/invocation-tracer.ts +101 -0
  153. package/src/triggers/trigger-dispatcher.test.ts +664 -0
  154. package/src/triggers/trigger-dispatcher.ts +521 -0
  155. package/src/triggers/trigger-state-store.ts +61 -0
  156. package/src/types/Function.ts +51 -0
  157. package/src/types/Script.ts +33 -0
  158. package/src/types/Trigger.ts +139 -0
  159. package/src/types/TriggerEvent.ts +62 -0
  160. package/src/types/index.ts +8 -0
  161. package/src/url.ts +14 -11
  162. package/dist/lib/browser/chunk-54U464M4.mjs +0 -360
  163. package/dist/lib/browser/chunk-54U464M4.mjs.map +0 -7
  164. package/dist/lib/node-esm/chunk-XDSX35BS.mjs +0 -362
  165. package/dist/lib/node-esm/chunk-XDSX35BS.mjs.map +0 -7
  166. package/dist/types/src/schema.d.ts +0 -38
  167. package/dist/types/src/schema.d.ts.map +0 -1
  168. package/dist/types/src/services/ai.d.ts +0 -12
  169. package/dist/types/src/services/ai.d.ts.map +0 -1
  170. package/dist/types/src/services/function-call-service.d.ts +0 -16
  171. package/dist/types/src/services/function-call-service.d.ts.map +0 -1
  172. package/dist/types/src/services/tool-resolver.d.ts +0 -14
  173. package/dist/types/src/services/tool-resolver.d.ts.map +0 -1
  174. package/dist/types/src/types.d.ts +0 -411
  175. package/dist/types/src/types.d.ts.map +0 -1
  176. package/src/schema.ts +0 -57
  177. package/src/services/ai.ts +0 -32
  178. package/src/services/function-call-service.ts +0 -64
  179. package/src/services/tool-resolver.ts +0 -31
  180. package/src/types.ts +0 -211
@@ -1,36 +1,46 @@
1
- import { Layer, type Context } from 'effect';
2
- import { AiService } from './ai';
1
+ import type * as Context from 'effect/Context';
2
+ import * as Layer from 'effect/Layer';
3
+ import { AiService } from '@dxos/ai';
3
4
  import { CredentialsService } from './credentials';
4
5
  import { DatabaseService } from './database';
5
- import { EventLogger } from './event-logger';
6
- import { FunctionCallService } from './function-call-service';
6
+ import { ComputeEventLogger } from './event-logger';
7
7
  import { QueueService } from './queues';
8
- import { ToolResolverService } from './tool-resolver';
8
+ import { RemoteFunctionExecutionService } from './remote-function-execution-service';
9
9
  import { TracingService } from './tracing';
10
10
  /**
11
- * List of all service tags and their names.
11
+ * List of all services.
12
12
  */
13
- export interface ServiceTagRecord {
14
- ai: AiService;
15
- credentials: CredentialsService;
16
- database: DatabaseService;
17
- eventLogger: EventLogger;
18
- functionCallService: FunctionCallService;
19
- tracing: TracingService;
20
- queues: QueueService;
21
- toolResolver: ToolResolverService;
22
- }
13
+ declare const SERVICES: {
14
+ readonly ai: typeof AiService.AiService;
15
+ readonly credentials: typeof CredentialsService;
16
+ readonly database: typeof DatabaseService;
17
+ readonly eventLogger: typeof ComputeEventLogger;
18
+ readonly functionCallService: typeof RemoteFunctionExecutionService;
19
+ readonly queues: typeof QueueService;
20
+ readonly tracing: typeof TracingService;
21
+ };
23
22
  /**
24
- * List of all services and their runtime types.
23
+ * Mapping of service names to their tags.
24
+ */
25
+ export type ServiceTagRecord = {
26
+ [K in keyof typeof SERVICES]: (typeof SERVICES)[K] extends {
27
+ new (_: never): infer T;
28
+ } ? T : never;
29
+ };
30
+ /**
31
+ * Mapping of service names to their runtime types.
25
32
  */
26
33
  export type ServiceRecord = {
27
34
  [K in keyof ServiceTagRecord]: Context.Tag.Service<ServiceTagRecord[K]>;
28
35
  };
29
36
  /**
30
- * Union of all services.
37
+ * Union of all services tags.
31
38
  */
32
39
  export type Services = ServiceTagRecord[keyof ServiceTagRecord];
33
40
  export declare const SERVICE_TAGS: Context.Tag<any, any>[];
41
+ /**
42
+ * @deprecated
43
+ */
34
44
  export declare class ServiceContainer {
35
45
  private _services;
36
46
  /**
@@ -43,4 +53,5 @@ export declare class ServiceContainer {
43
53
  clone(): ServiceContainer;
44
54
  createLayer(): Layer.Layer<Services>;
45
55
  }
56
+ export {};
46
57
  //# sourceMappingURL=service-container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-container.d.ts","sourceRoot":"","sources":["../../../../src/services/service-container.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAgC,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,SAAS,CAAC;IACd,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACxE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,CAAC;AAahE,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAQ/C,CAAC;AAMF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAmD;IAEpE;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKnD,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;IAU7C,KAAK,IAAI,gBAAgB;IAKzB,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;CAgCrC"}
1
+ {"version":3,"file":"service-container.d.ts","sourceRoot":"","sources":["../../../../src/services/service-container.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,OAAO,EAAgC,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAI3C;;GAEG;AACH,QAAA,MAAM,QAAQ;;;;;;;;CAQyD,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,MAAM,OAAO,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACnG,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;KACzB,CAAC,IAAI,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACxE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,CAAC;AAMhE,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAA4B,CAAC;AAM7E;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAmD;IAEpE;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKnD,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;IAU7C,KAAK,IAAI,gBAAgB;IAKzB,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;CAsBrC"}
@@ -0,0 +1,31 @@
1
+ import * as Context from 'effect/Context';
2
+ import * as Effect from 'effect/Effect';
3
+ import type * as Option from 'effect/Option';
4
+ import { ServiceNotAvailableError } from '../errors';
5
+ export declare namespace ServiceRegistry {
6
+ interface Service {
7
+ resolve: <T extends Context.Tag<any, any>>(tag: T) => Option.Option<Context.Tag.Service<T>>;
8
+ }
9
+ }
10
+ declare const ServiceRegistry_base: Context.TagClass<ServiceRegistry, "@dxos/functions/ServiceRegistry", ServiceRegistry.Service>;
11
+ export declare class ServiceRegistry extends ServiceRegistry_base {
12
+ /**
13
+ * Resolves the service from the registry.
14
+ * @param tag Service tag to resolve.
15
+ * @throws {@link ServiceNotAvailableError} if the service is not found.
16
+ * @returns Effect that resolve to the service.
17
+ */
18
+ static resolve: <T extends Context.Tag<any, any>>(tag: T) => Effect.Effect<T, ServiceNotAvailableError, ServiceRegistry>;
19
+ static provide: {
20
+ <Tags extends [Context.Tag<any, any>, ...Context.Tag<any, any>[]]>(...tags: Tags): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E | ServiceNotAvailableError, Exclude<R, {
21
+ [K in keyof Tags]: Context.Tag.Identifier<Tags[K]>;
22
+ }[number]> | ServiceRegistry>;
23
+ };
24
+ static provideOrDie: {
25
+ <Tags extends [Context.Tag<any, any>, ...Context.Tag<any, any>[]]>(...tags: Tags): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, {
26
+ [K in keyof Tags]: Context.Tag.Identifier<Tags[K]>;
27
+ }[number]> | ServiceRegistry>;
28
+ };
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=service-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-registry.d.ts","sourceRoot":"","sources":["../../../../src/services/service-registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,yBAAiB,eAAe,CAAC;IAC/B,UAAiB,OAAO;QACtB,OAAO,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7F;CACF;;AAED,qBAAa,eAAgB,SAAQ,oBAGlC;IACD;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9C,GAAG,EAAE,CAAC,KACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,wBAAwB,EAAE,eAAe,CAAC,CAI5D;IAEJ,MAAM,CAAC,OAAO,EAAE;QACd,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAC/D,GAAG,IAAI,EAAE,IAAI,GACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAChB,CAAC,EACD,CAAC,GAAG,wBAAwB,EAC5B,OAAO,CAAC,CAAC,EAAE;aAAG,CAAC,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAAE,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAC7F,CAAC;KACH,CAC8G;IAE/G,MAAM,CAAC,YAAY,EAAE;QACnB,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAC/D,GAAG,IAAI,EAAE,IAAI,GACZ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CAChB,CAAC,EACD,CAAC,EACD,OAAO,CAAC,CAAC,EAAE;aAAG,CAAC,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAAE,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAC7F,CAAC;KACH,CAGG;CACL"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=service-registry.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-registry.test.d.ts","sourceRoot":"","sources":["../../../../src/services/service-registry.test.ts"],"names":[],"mappings":""}
@@ -1,15 +1,59 @@
1
- import { Context } from 'effect';
2
- import type { AnyEchoObject } from '@dxos/echo-schema';
3
- declare const TracingService_base: Context.TagClass<TracingService, "TracingService", {
1
+ import * as Context from 'effect/Context';
2
+ import * as Effect from 'effect/Effect';
3
+ import * as Layer from 'effect/Layer';
4
+ import { AgentStatus } from '@dxos/ai';
5
+ import { Obj } from '@dxos/echo';
6
+ import type { ObjectId } from '@dxos/echo/internal';
7
+ import type { Queue } from '@dxos/echo-db';
8
+ import { DataType } from '@dxos/schema';
9
+ declare const TracingService_base: Context.TagClass<TracingService, "@dxos/functions/TracingService", {
10
+ /**
11
+ * Gets the parent message ID.
12
+ */
13
+ getTraceContext: () => TracingService.TraceContext;
4
14
  /**
5
15
  * Write an event to the tracing queue.
6
16
  * @param event - The event to write. Must be an a typed object.
7
17
  */
8
- write(event: AnyEchoObject): void;
18
+ write: (event: Obj.Any) => void;
9
19
  }>;
20
+ /**
21
+ * Provides a way for compute primitives (functions, workflows, tools)
22
+ * to emit an execution trace as a series of structured ECHO objects.
23
+ */
10
24
  export declare class TracingService extends TracingService_base {
11
25
  static noop: Context.Tag.Service<TracingService>;
26
+ static layerNoop: Layer.Layer<TracingService, never, never>;
12
27
  static console: Context.Tag.Service<TracingService>;
28
+ static layerConsole: Layer.Layer<TracingService, never, never>;
29
+ static layerLogInfo: () => Layer.Layer<TracingService, never, never>;
30
+ /**
31
+ * Creates a TracingService layer that emits events to the parent tracing service.
32
+ */
33
+ static layerSubframe: (mapContext: (currentContext: TracingService.TraceContext) => TracingService.TraceContext) => Layer.Layer<TracingService, never, TracingService>;
34
+ static layerQueue: (queue: Queue) => Layer.Layer<TracingService, never, never>;
35
+ /**
36
+ * Emit the current human-readable execution status.
37
+ */
38
+ static emitStatus: (data: Omit<Obj.MakeProps<typeof AgentStatus>, 'created'>) => Effect.Effect<void, never, TracingService>;
39
+ static emitConverationMessage: (data: Obj.MakeProps<typeof DataType.Message>) => Effect.Effect<void, never, TracingService>;
40
+ }
41
+ export declare namespace TracingService {
42
+ interface TraceContext {
43
+ /**
44
+ * If this thread sprung from a tool call, this is the ID of the message containing the tool call.
45
+ */
46
+ parentMessage?: ObjectId;
47
+ /**
48
+ * If the current thread is a byproduct of a tool call, this is the ID of the tool call.
49
+ */
50
+ toolCallId?: string;
51
+ debugInfo?: unknown;
52
+ }
13
53
  }
54
+ /**
55
+ * Goes into {@link DataType.Message['properties']}
56
+ */
57
+ export declare const MESSAGE_PROPERTY_TOOL_CALL_ID: "toolCallId";
14
58
  export {};
15
59
  //# sourceMappingURL=tracing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../../src/services/tracing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;;IAKnD;;;OAGG;iBACU,aAAa,GAAG,IAAI;;AAPrC,qBAAa,cAAe,SAAQ,mBASjC;IACD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAuB;IAEvE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAKjD;CACH"}
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../../src/services/tracing.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;;IASpC;;OAEG;qBACc,MAAM,cAAc,CAAC,YAAY;IAElD;;;OAGG;WACI,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI;;AAhBnC;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAcjC;IACD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAoD;IAEpG,MAAM,CAAC,SAAS,4CAAsD;IAEtE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAKjD;IAEF,MAAM,CAAC,YAAY,4CAAyD;IAE5E,MAAM,CAAC,YAAY,kDAQd;IAEL;;OAEG;IACH,MAAM,CAAC,aAAa,GAAI,YAAY,CAAC,cAAc,EAAE,cAAc,CAAC,YAAY,KAAK,cAAc,CAAC,YAAY,wDAW5G;IAEJ,MAAM,CAAC,UAAU,GAAI,OAAO,KAAK,+CAc7B;IAEJ;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,CACjB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,WAAW,CAAC,EAAE,SAAS,CAAC,KACrD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAU5C;IAEH,MAAM,CAAC,sBAAsB,EAAE,CAC7B,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,QAAQ,CAAC,OAAO,CAAC,KACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAY5C;CACJ;AAED,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,YAAY;QAC3B;;WAEG;QACH,aAAa,CAAC,EAAE,QAAQ,CAAC;QAEzB;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;CACF;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAG,YAAqB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './services';
2
+ export * from './layer';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import * as Layer from 'effect/Layer';
3
+ import type * as Schema from 'effect/Schema';
4
+ import type { EchoHostIndexingConfig } from '@dxos/echo-pipeline';
5
+ import { PublicKey } from '@dxos/keys';
6
+ import { DatabaseService, QueueService } from '../services';
7
+ export declare const testStoragePath: ({ name }: {
8
+ name?: string;
9
+ }) => string;
10
+ export type TestDatabaseOptions = {
11
+ indexing?: Partial<EchoHostIndexingConfig>;
12
+ types?: Schema.Schema.AnyNoContext[];
13
+ spaceKey?: PublicKey;
14
+ storagePath?: string;
15
+ onInit?: () => Effect.Effect<void, never, DatabaseService | QueueService>;
16
+ };
17
+ export declare const TestDatabaseLayer: ({ indexing, types, spaceKey, storagePath, onInit }?: TestDatabaseOptions) => Layer.Layer<DatabaseService | QueueService, never, never>;
18
+ //# sourceMappingURL=layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../../../src/testing/layer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAI7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAKvC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI5D,eAAO,MAAM,eAAe,GAAI,UAAuC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,WAEvF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,GAAG,YAAY,CAAC,CAAC;CAC3E,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,qDAAoD,mBAAwB,8DA+E3G,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type Context } from 'effect';
2
- import { type EventLogger } from '../services';
3
- export declare const noopLogger: Context.Tag.Service<EventLogger>;
4
- export declare const consoleLogger: Context.Tag.Service<EventLogger>;
1
+ import type * as Context from 'effect/Context';
2
+ import { type ComputeEventLogger } from '../services';
3
+ export declare const noopLogger: Context.Tag.Service<ComputeEventLogger>;
4
+ export declare const consoleLogger: Context.Tag.Service<ComputeEventLogger>;
5
5
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/testing/logger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAI9C,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,aAAa,CAAC;AAElE,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAGvD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAoC,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/testing/logger.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAK/C,OAAO,EAAE,KAAK,kBAAkB,EAAqB,MAAM,aAAa,CAAC;AAEzE,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAG9D,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAoC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=persist-database.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persist-database.test.d.ts","sourceRoot":"","sources":["../../../../src/testing/persist-database.test.ts"],"names":[],"mappings":""}
@@ -1,8 +1,7 @@
1
- import { type Context } from 'effect';
2
- import { type AiServiceEdgeClientOptions, type AiServiceClient } from '@dxos/ai';
1
+ import type * as Context from 'effect/Context';
3
2
  import type { Space } from '@dxos/client/echo';
4
3
  import type { EchoDatabase, QueueFactory } from '@dxos/echo-db';
5
- import { type CredentialsService, type EventLogger, ServiceContainer, type ServiceCredential, ToolResolverService, type TracingService } from '../services';
4
+ import { type ComputeEventLogger, type CredentialsService, ServiceContainer, type ServiceCredential, type TracingService } from '../services';
6
5
  export type OneOf<T> = {
7
6
  [K in keyof T]: {
8
7
  [P in K]: T[P];
@@ -15,20 +14,7 @@ export type TestServiceOptions = {
15
14
  /**
16
15
  * AI service configuration.
17
16
  */
18
- ai?: OneOf<{
19
- /**
20
- * Custom AI service client.
21
- */
22
- client?: AiServiceClient;
23
- /**
24
- * Edge AI service at specified endpoint.
25
- */
26
- endpoint?: AiServiceEdgeClientOptions['endpoint'];
27
- /**
28
- * Predefined AI service configuration.
29
- */
30
- provider?: AiServiceProvider;
31
- }>;
17
+ ai?: any;
32
18
  /**
33
19
  * Credentials service configuration.
34
20
  */
@@ -56,7 +42,7 @@ export type TestServiceOptions = {
56
42
  */
57
43
  logging?: {
58
44
  enabled?: boolean;
59
- logger?: Context.Tag.Service<EventLogger>;
45
+ logger?: Context.Tag.Service<ComputeEventLogger>;
60
46
  };
61
47
  /**
62
48
  * Queue service configuration.
@@ -65,7 +51,9 @@ export type TestServiceOptions = {
65
51
  tracing?: {
66
52
  service?: Context.Tag.Service<TracingService>;
67
53
  };
68
- toolResolver?: Context.Tag.Service<ToolResolverService>;
69
54
  };
70
- export declare const createTestServices: ({ ai, credentials, db, logging, queues, space, tracing, toolResolver, }?: TestServiceOptions) => ServiceContainer;
55
+ /**
56
+ * @deprecated
57
+ */
58
+ export declare const createTestServices: ({ ai, credentials, db, logging, queues, space, tracing, }?: TestServiceOptions) => ServiceContainer;
71
59
  //# sourceMappingURL=services.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../../src/testing/services.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,KAAK,0BAA0B,EAAuB,KAAK,eAAe,EAAgB,MAAM,UAAU,CAAC;AAEpH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIhE,OAAO,EAGL,KAAK,kBAAkB,EAEvB,KAAK,WAAW,EAEhB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,GAAG;SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG;SAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK;KAAE;CAC5E,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,EAAE,CAAC,EAAE,KAAK,CAAC;QACT;;WAEG;QACH,MAAM,CAAC,EAAE,eAAe,CAAC;QAEzB;;WAEG;QACH,QAAQ,CAAC,EAAE,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAElD;;WAEG;QAEH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;KAC9B,CAAC,CAAC;IAEH;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB;;WAEG;QACH,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAE/B;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;KACnD,CAAC,CAAC;IAEH;;OAEG;IACH,EAAE,CAAC,EAAE,YAAY,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;KAC3C,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KAC/C,CAAC;IAEF,YAAY,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,0EAShC,kBAAuB,KAAG,gBAY5B,CAAC"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../../src/testing/services.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGhE,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAGvB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,GAAG;SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG;SAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK;KAAE;CAC5E,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,EAAE,CAAC,EAAE,GAAG,CAAC;IAET;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB;;WAEG;QACH,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAE/B;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;KACnD,CAAC,CAAC;IAEH;;OAEG;IACH,EAAE,CAAC,EAAE,YAAY,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;KAClD,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KAC/C,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,4DAQhC,kBAAuB,KAAG,gBAW5B,CAAC"}
@@ -1,7 +1,7 @@
1
- import { Schema } from 'effect';
2
- import { Type, type Ref } from '@dxos/echo';
1
+ import * as Schema from 'effect/Schema';
2
+ import { type Ref, Type } from '@dxos/echo';
3
3
  import { Queue } from '@dxos/echo-db';
4
- import { FunctionTrigger, type FunctionTriggerType } from './types';
4
+ import { Trigger } from './types';
5
5
  export declare enum InvocationOutcome {
6
6
  SUCCESS = "success",
7
7
  FAILURE = "failure",
@@ -12,7 +12,7 @@ export declare enum InvocationTraceEventType {
12
12
  END = "end"
13
13
  }
14
14
  export declare const TraceEventException: Schema.Struct<{
15
- timestampMs: typeof Schema.Number;
15
+ timestamp: typeof Schema.Number;
16
16
  message: typeof Schema.String;
17
17
  name: typeof Schema.String;
18
18
  stack: Schema.optional<typeof Schema.String>;
@@ -31,7 +31,7 @@ export declare const InvocationTraceStartEvent: Type.obj<Schema.Struct<{
31
31
  /**
32
32
  * Event generation time.
33
33
  */
34
- timestampMs: typeof Schema.Number;
34
+ timestamp: typeof Schema.Number;
35
35
  /**
36
36
  * Data passed to function / workflow as an argument.
37
37
  */
@@ -39,18 +39,18 @@ export declare const InvocationTraceStartEvent: Type.obj<Schema.Struct<{
39
39
  /**
40
40
  * Queue for function/workflow invocation events.
41
41
  */
42
- invocationTraceQueue: Type.ref<Schema.Schema<Queue<import("@dxos/echo/Obj").Any | import("@dxos/echo/Relation").Any>, Queue<import("@dxos/echo/Obj").Any | import("@dxos/echo/Relation").Any>, never>>;
42
+ invocationTraceQueue: Schema.optional<Type.ref<Schema.Schema<Queue<import("@dxos/echo/Obj").Any | import("@dxos/echo/Relation").Any>, Queue<import("@dxos/echo/Obj").Any | import("@dxos/echo/Relation").Any>, never>>>;
43
43
  /**
44
44
  * DXN of the invoked function/workflow.
45
45
  */
46
- invocationTarget: Type.ref<Schema.Schema<Type.Expando, {
46
+ invocationTarget: Schema.optional<Type.ref<Schema.Schema<Type.Expando, {
47
47
  [x: string]: any;
48
48
  id: string;
49
- }, never>>;
49
+ }, never>>>;
50
50
  /**
51
51
  * Present for automatic invocations.
52
52
  */
53
- trigger: Schema.optional<Type.ref<typeof FunctionTrigger>>;
53
+ trigger: Schema.optional<Type.ref<Schema.Schema<Trigger.Trigger, Trigger.TriggerEncoded, never>>>;
54
54
  }>>;
55
55
  export type InvocationTraceStartEvent = Schema.Schema.Type<typeof InvocationTraceStartEvent>;
56
56
  export declare const InvocationTraceEndEvent: Type.obj<Schema.Struct<{
@@ -66,10 +66,10 @@ export declare const InvocationTraceEndEvent: Type.obj<Schema.Struct<{
66
66
  /**
67
67
  * Event generation time.
68
68
  */
69
- timestampMs: typeof Schema.Number;
69
+ timestamp: typeof Schema.Number;
70
70
  outcome: Schema.Enums<typeof InvocationOutcome>;
71
71
  exception: Schema.optional<Schema.Struct<{
72
- timestampMs: typeof Schema.Number;
72
+ timestamp: typeof Schema.Number;
73
73
  message: typeof Schema.String;
74
74
  name: typeof Schema.String;
75
75
  stack: Schema.optional<typeof Schema.String>;
@@ -78,7 +78,7 @@ export declare const InvocationTraceEndEvent: Type.obj<Schema.Struct<{
78
78
  export type InvocationTraceEndEvent = Schema.Schema.Type<typeof InvocationTraceEndEvent>;
79
79
  export type InvocationTraceEvent = InvocationTraceStartEvent | InvocationTraceEndEvent;
80
80
  export declare const TraceEventLog: Schema.Struct<{
81
- timestampMs: typeof Schema.Number;
81
+ timestamp: typeof Schema.Number;
82
82
  level: typeof Schema.String;
83
83
  message: typeof Schema.String;
84
84
  context: Schema.optional<typeof Schema.Object>;
@@ -87,18 +87,16 @@ export declare const TraceEvent: Type.obj<Schema.Struct<{
87
87
  id: import("@dxos/keys").ObjectIdClass;
88
88
  outcome: typeof Schema.String;
89
89
  truncated: typeof Schema.Boolean;
90
- /**
91
- * Time when the event was persisted.
92
- */
93
- ingestionTimestampMs: typeof Schema.Number;
90
+ /** Time when the event was persisted. */
91
+ ingestionTimestamp: typeof Schema.Number;
94
92
  logs: Schema.Array$<Schema.Struct<{
95
- timestampMs: typeof Schema.Number;
93
+ timestamp: typeof Schema.Number;
96
94
  level: typeof Schema.String;
97
95
  message: typeof Schema.String;
98
96
  context: Schema.optional<typeof Schema.Object>;
99
97
  }>>;
100
98
  exceptions: Schema.Array$<Schema.Struct<{
101
- timestampMs: typeof Schema.Number;
99
+ timestamp: typeof Schema.Number;
102
100
  message: typeof Schema.String;
103
101
  name: typeof Schema.String;
104
102
  stack: Schema.optional<typeof Schema.String>;
@@ -111,13 +109,13 @@ export type TraceEvent = Schema.Schema.Type<typeof TraceEvent>;
111
109
  */
112
110
  export type InvocationSpan = {
113
111
  id: string;
114
- timestampMs: number;
112
+ timestamp: number;
113
+ duration: number;
115
114
  outcome: InvocationOutcome;
116
115
  input: object;
117
- durationMs: number;
118
- invocationTraceQueue: Ref.Ref<Queue>;
119
- invocationTarget: Ref.Ref<Type.Expando>;
120
- trigger?: Ref.Ref<FunctionTriggerType>;
116
+ invocationTraceQueue?: Ref.Ref<Queue>;
117
+ invocationTarget?: Ref.Ref<Type.Expando>;
118
+ trigger?: Ref.Ref<Trigger.Trigger>;
121
119
  exception?: TraceEventException;
122
120
  };
123
121
  export declare const createInvocationSpans: (items?: InvocationTraceEvent[]) => InvocationSpan[];
@@ -1 +1 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/trace.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAItC,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEpE,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAGD,oBAAY,wBAAwB;IAClC,KAAK,UAAU;IACf,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEjF,eAAO,MAAM,yBAAyB;IACpC;;OAEG;;;IAGH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAGH;;OAEG;;IAEH;;OAEG;;;;;IAEH;;OAEG;;GAEkF,CAAC;AAExF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE7F,eAAO,MAAM,uBAAuB;IAClC;;OAEG;;;IAGH;;OAEG;;IAEH;;OAEG;;;;;;;;;GAKgF,CAAC;AAEtF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEzF,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,uBAAuB,CAAC;AAEvF,eAAO,MAAM,aAAa;;;;;EAKxB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;IAKrB;;OAEG;;;;;;;;;;;;;;GAIwE,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,oBAAoB,EAAE,KAAG,cAAc,EAkDpF,CAAC"}
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/trace.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAGD,oBAAY,wBAAwB;IAClC,KAAK,UAAU;IACf,GAAG,QAAQ;CACZ;AAED,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEjF,eAAO,MAAM,yBAAyB;IACpC;;OAEG;;;IAGH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAGH;;OAEG;;IAEH;;OAEG;;;;;IAEH;;OAEG;;GAEkF,CAAC;AAExF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE7F,eAAO,MAAM,uBAAuB;IAClC;;OAEG;;;IAGH;;OAEG;;IAEH;;OAEG;;;;;;;;;GAKgF,CAAC;AAEtF,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEzF,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,uBAAuB,CAAC;AAEvF,eAAO,MAAM,aAAa;;;;;EAKxB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;IAKrB,yCAAyC;;;;;;;;;;;;;;GAIkC,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,oBAAoB,EAAE,KAAG,cAAc,EAkDpF,CAAC"}
@@ -1,7 +1,7 @@
1
- import { ScriptType } from './schema';
1
+ import { Script } from './types';
2
2
  export declare const translations: [{
3
3
  readonly 'en-US': {
4
- readonly [ScriptType.typename]: {
4
+ readonly [Script.Script.typename]: {
5
5
  readonly 'typename label': "Script";
6
6
  readonly 'typename label_zero': "Scripts";
7
7
  readonly 'typename label_one': "Script";
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,YAAY;;QAGnB,SAAA,CAAC,UAAU,CAAC,QAAQ,CAAC;;;;;UAKpB;;EAGwB,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,eAAO,MAAM,YAAY;;QAGnB,SAAA,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;;;;;UAKvB;;EAGwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './invocation-tracer';
2
+ export * from './trigger-dispatcher';
3
+ export * from './trigger-state-store';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/triggers/index.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Trigger, type TriggerEvent } from '../types';
2
+ export declare const createInvocationPayload: (trigger: Trigger.Trigger, event: TriggerEvent.TriggerEvent) => any;
3
+ //# sourceMappingURL=input-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-builder.d.ts","sourceRoot":"","sources":["../../../../src/triggers/input-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE3D,eAAO,MAAM,uBAAuB,GAAI,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,YAAY,CAAC,YAAY,KAAG,GA4BpG,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as Context from 'effect/Context';
2
+ import * as Effect from 'effect/Effect';
3
+ import * as Layer from 'effect/Layer';
4
+ import { type Queue } from '@dxos/echo-db';
5
+ import { DXN, ObjectId } from '@dxos/keys';
6
+ import { QueueService } from '../services';
7
+ import type { Trigger } from '../types';
8
+ export type FunctionInvocationPayload = {
9
+ data?: any;
10
+ inputNodeId?: string;
11
+ trigger?: {
12
+ id: string;
13
+ kind: Trigger.Kind;
14
+ };
15
+ };
16
+ export type TraceData = {
17
+ invocationId: ObjectId;
18
+ invocationTraceQueue: Queue;
19
+ };
20
+ declare const InvocationTracer_base: Context.TagClass<InvocationTracer, "@dxos/functions/InvocationTracer", {
21
+ traceInvocationStart({ payload, target, }: {
22
+ payload: FunctionInvocationPayload;
23
+ target?: DXN;
24
+ }): Effect.Effect<TraceData, never, QueueService>;
25
+ traceInvocationEnd({ trace, exception }: {
26
+ trace: TraceData;
27
+ exception?: any;
28
+ }): Effect.Effect<void>;
29
+ }>;
30
+ export declare class InvocationTracer extends InvocationTracer_base {
31
+ static layerLive: (opts: {
32
+ invocationTraceQueue: Queue;
33
+ }) => Layer.Layer<InvocationTracer, never, never>;
34
+ static layerTest: Layer.Layer<InvocationTracer, never, QueueService>;
35
+ }
36
+ export {};
37
+ //# sourceMappingURL=invocation-tracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invocation-tracer.d.ts","sourceRoot":"","sources":["../../../../src/triggers/invocation-tracer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,QAAQ,CAAC;IACvB,oBAAoB,EAAE,KAAK,CAAC;CAC7B,CAAC;;+CAQK;QACD,OAAO,EAAE,yBAAyB,CAAC;QACnC,MAAM,CAAC,EAAE,GAAG,CAAC;KACd,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC;6CAER;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,GAAG,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AAXxG,qBAAa,gBAAiB,SAAQ,qBAanC;IACD,MAAM,CAAC,SAAS,GAAI,MAAM;QAAE,oBAAoB,EAAE,KAAK,CAAA;KAAE,iDA2CrD;IAEJ,MAAM,CAAC,SAAS,qDAKd;CACH"}
@@ -0,0 +1,78 @@
1
+ import * as Context from 'effect/Context';
2
+ import * as Duration from 'effect/Duration';
3
+ import * as Effect from 'effect/Effect';
4
+ import * as Exit from 'effect/Exit';
5
+ import * as Layer from 'effect/Layer';
6
+ import { DatabaseService, FunctionInvocationService, QueueService } from '../services';
7
+ import { Trigger, type TriggerEvent } from '../types';
8
+ import { InvocationTracer } from './invocation-tracer';
9
+ import { TriggerStateStore } from './trigger-state-store';
10
+ export type TimeControl = 'natural' | 'manual';
11
+ export interface TriggerDispatcherOptions {
12
+ /**
13
+ * Time control mode.
14
+ * - 'natural': Use real time.
15
+ * - 'manual': Use internal clock for testing.
16
+ */
17
+ timeControl: TimeControl;
18
+ /**
19
+ * Starting time for manual time control mode.
20
+ * @default current time
21
+ */
22
+ startingTime?: Date;
23
+ /**
24
+ * Poll interval for cron triggers in 'natural' time control mode.
25
+ * @default 1 second
26
+ */
27
+ livePollInterval?: Duration.Duration;
28
+ }
29
+ export interface InvokeTriggerOptions {
30
+ trigger: Trigger.Trigger;
31
+ event: TriggerEvent.TriggerEvent;
32
+ }
33
+ export interface TriggerExecutionResult {
34
+ triggerId: string;
35
+ result: Exit.Exit<unknown>;
36
+ }
37
+ type TriggerDispatcherServices = FunctionInvocationService | TriggerStateStore | InvocationTracer | QueueService | DatabaseService;
38
+ declare const TriggerDispatcher_base: Context.TagClass<TriggerDispatcher, "@dxos/functions/TriggerDispatcher", {
39
+ readonly timeControl: TimeControl;
40
+ readonly running: boolean;
41
+ /**
42
+ * Start the trigger dispatcher.
43
+ * Will automatically invoke triggers.
44
+ */
45
+ start(): Effect.Effect<void, never, TriggerDispatcherServices>;
46
+ /**
47
+ * Stop the trigger dispatcher.
48
+ */
49
+ stop(): Effect.Effect<void>;
50
+ /**
51
+ * Refresh triggers.
52
+ */
53
+ refreshTriggers(): Effect.Effect<void, never, DatabaseService>;
54
+ /**
55
+ * Manually invoke a specific trigger.
56
+ */
57
+ invokeTrigger(options: InvokeTriggerOptions): Effect.Effect<TriggerExecutionResult, never, TriggerDispatcherServices>;
58
+ /**
59
+ * Invoke all scheduled triggers who are due.
60
+ */
61
+ invokeScheduledTriggers(opts?: {
62
+ kinds?: Trigger.Kind[];
63
+ }): Effect.Effect<TriggerExecutionResult[], never, TriggerDispatcherServices>;
64
+ /**
65
+ * Advance the internal clock (manual time control only).
66
+ * Note: Does not invoke triggers.
67
+ */
68
+ advanceTime(duration: Duration.Duration): Effect.Effect<void>;
69
+ /**
70
+ * Get current time based on time control mode.
71
+ */
72
+ getCurrentTime(): Date;
73
+ }>;
74
+ export declare class TriggerDispatcher extends TriggerDispatcher_base {
75
+ static layer: (options: Omit<TriggerDispatcherOptions, "database">) => Layer.Layer<TriggerDispatcher, never, never>;
76
+ }
77
+ export {};
78
+ //# sourceMappingURL=trigger-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/triggers/trigger-dispatcher.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAYtC,OAAO,EAEL,eAAe,EACf,yBAAyB,EACzB,YAAY,EAEb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAY,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAqB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE7E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/C,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC;CAClC;AACD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;CAC5B;AAYD,KAAK,yBAAyB,GAC1B,yBAAyB,GAEzB,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,GACZ,eAAe,CAAC;;0BAKM,WAAW;sBAElB,OAAO;IAEtB;;;OAGG;aACM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,yBAAyB,CAAC;IAE9D;;OAEG;YACK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAE3B;;OAEG;uBACgB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC;IAE9D;;OAEG;2BAEQ,oBAAoB,GAC5B,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,EAAE,yBAAyB,CAAC;IAE1E;;OAEG;mCAC4B;QAC7B,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KACxB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,yBAAyB,CAAC;IAE7E;;;OAGG;0BACmB,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAE7D;;OAEG;sBACe,IAAI;;AA9C1B,qBAAa,iBAAkB,SAAQ,sBAgDpC;IACD,MAAM,CAAC,KAAK,GAAI,SAAS,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,kDAM/D;CACL"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=trigger-dispatcher.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-dispatcher.test.d.ts","sourceRoot":"","sources":["../../../../src/triggers/trigger-dispatcher.test.ts"],"names":[],"mappings":""}