@dxos/functions 0.8.4-main.a4bbb77 → 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 (142) hide show
  1. package/dist/lib/browser/bundler/index.mjs +16 -25
  2. package/dist/lib/browser/bundler/index.mjs.map +3 -3
  3. package/dist/lib/browser/chunk-M6EXIREF.mjs +610 -0
  4. package/dist/lib/browser/chunk-M6EXIREF.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +957 -977
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/testing/index.mjs +8 -6
  9. package/dist/lib/browser/testing/index.mjs.map +3 -3
  10. package/dist/lib/node-esm/bundler/index.mjs +16 -25
  11. package/dist/lib/node-esm/bundler/index.mjs.map +3 -3
  12. package/dist/lib/node-esm/chunk-P3IATZMZ.mjs +612 -0
  13. package/dist/lib/node-esm/chunk-P3IATZMZ.mjs.map +7 -0
  14. package/dist/lib/node-esm/index.mjs +957 -977
  15. package/dist/lib/node-esm/index.mjs.map +4 -4
  16. package/dist/lib/node-esm/meta.json +1 -1
  17. package/dist/lib/node-esm/testing/index.mjs +8 -6
  18. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  19. package/dist/types/src/bundler/bundler.d.ts.map +1 -1
  20. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  21. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  22. package/dist/types/src/example/fib.d.ts.map +1 -0
  23. package/dist/types/src/example/forex-effect.d.ts +3 -0
  24. package/dist/types/src/example/forex-effect.d.ts.map +1 -0
  25. package/dist/types/src/example/index.d.ts +12 -0
  26. package/dist/types/src/example/index.d.ts.map +1 -0
  27. package/dist/types/src/example/reply.d.ts.map +1 -0
  28. package/dist/types/src/example/sleep.d.ts.map +1 -0
  29. package/dist/types/src/executor/executor.d.ts.map +1 -1
  30. package/dist/types/src/handler.d.ts +20 -24
  31. package/dist/types/src/handler.d.ts.map +1 -1
  32. package/dist/types/src/index.d.ts +4 -5
  33. package/dist/types/src/index.d.ts.map +1 -1
  34. package/dist/types/src/services/credentials.d.ts +6 -2
  35. package/dist/types/src/services/credentials.d.ts.map +1 -1
  36. package/dist/types/src/services/database.d.ts +6 -2
  37. package/dist/types/src/services/database.d.ts.map +1 -1
  38. package/dist/types/src/services/event-logger.d.ts +4 -1
  39. package/dist/types/src/services/event-logger.d.ts.map +1 -1
  40. package/dist/types/src/services/function-invocation-service.d.ts +5 -3
  41. package/dist/types/src/services/function-invocation-service.d.ts.map +1 -1
  42. package/dist/types/src/services/local-function-execution.d.ts +5 -3
  43. package/dist/types/src/services/local-function-execution.d.ts.map +1 -1
  44. package/dist/types/src/services/queues.d.ts +3 -1
  45. package/dist/types/src/services/queues.d.ts.map +1 -1
  46. package/dist/types/src/services/remote-function-execution-service.d.ts +3 -1
  47. package/dist/types/src/services/remote-function-execution-service.d.ts.map +1 -1
  48. package/dist/types/src/services/service-container.d.ts +2 -1
  49. package/dist/types/src/services/service-container.d.ts.map +1 -1
  50. package/dist/types/src/services/service-registry.d.ts +3 -1
  51. package/dist/types/src/services/service-registry.d.ts.map +1 -1
  52. package/dist/types/src/services/tracing.d.ts +4 -2
  53. package/dist/types/src/services/tracing.d.ts.map +1 -1
  54. package/dist/types/src/testing/layer.d.ts +3 -2
  55. package/dist/types/src/testing/layer.d.ts.map +1 -1
  56. package/dist/types/src/testing/logger.d.ts +1 -1
  57. package/dist/types/src/testing/logger.d.ts.map +1 -1
  58. package/dist/types/src/testing/services.d.ts +1 -1
  59. package/dist/types/src/testing/services.d.ts.map +1 -1
  60. package/dist/types/src/trace.d.ts +4 -4
  61. package/dist/types/src/trace.d.ts.map +1 -1
  62. package/dist/types/src/translations.d.ts +2 -2
  63. package/dist/types/src/translations.d.ts.map +1 -1
  64. package/dist/types/src/triggers/input-builder.d.ts +2 -2
  65. package/dist/types/src/triggers/input-builder.d.ts.map +1 -1
  66. package/dist/types/src/triggers/invocation-tracer.d.ts +5 -3
  67. package/dist/types/src/triggers/invocation-tracer.d.ts.map +1 -1
  68. package/dist/types/src/triggers/trigger-dispatcher.d.ts +10 -6
  69. package/dist/types/src/triggers/trigger-dispatcher.d.ts.map +1 -1
  70. package/dist/types/src/triggers/trigger-state-store.d.ts +5 -4
  71. package/dist/types/src/triggers/trigger-state-store.d.ts.map +1 -1
  72. package/dist/types/src/types/Function.d.ts +47 -0
  73. package/dist/types/src/types/Function.d.ts.map +1 -0
  74. package/dist/types/src/types/Script.d.ts +28 -0
  75. package/dist/types/src/types/Script.d.ts.map +1 -0
  76. package/dist/types/src/types/Trigger.d.ts +139 -0
  77. package/dist/types/src/types/Trigger.d.ts.map +1 -0
  78. package/dist/types/src/types/TriggerEvent.d.ts +44 -0
  79. package/dist/types/src/types/TriggerEvent.d.ts.map +1 -0
  80. package/dist/types/src/types/index.d.ts +5 -0
  81. package/dist/types/src/types/index.d.ts.map +1 -0
  82. package/dist/types/src/url.d.ts +1 -1
  83. package/dist/types/src/url.d.ts.map +1 -1
  84. package/dist/types/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +24 -36
  86. package/src/bundler/bundler.ts +7 -3
  87. package/src/e2e/deploy.test.ts +69 -0
  88. package/src/{examples → example}/fib.ts +2 -1
  89. package/src/example/forex-effect.ts +40 -0
  90. package/src/example/index.ts +13 -0
  91. package/src/{examples → example}/reply.ts +3 -1
  92. package/src/{examples → example}/sleep.ts +2 -1
  93. package/src/executor/executor.ts +2 -1
  94. package/src/handler.ts +23 -19
  95. package/src/index.ts +4 -5
  96. package/src/services/credentials.ts +7 -2
  97. package/src/services/database.ts +6 -2
  98. package/src/services/event-logger.ts +4 -1
  99. package/src/services/function-invocation-service.test.ts +3 -1
  100. package/src/services/function-invocation-service.ts +5 -3
  101. package/src/services/local-function-execution.ts +10 -7
  102. package/src/services/queues.ts +3 -1
  103. package/src/services/remote-function-execution-service.ts +3 -1
  104. package/src/services/service-container.ts +2 -1
  105. package/src/services/service-registry.test.ts +4 -1
  106. package/src/services/service-registry.ts +7 -3
  107. package/src/services/tracing.ts +4 -2
  108. package/src/testing/layer.ts +6 -4
  109. package/src/testing/logger.ts +2 -1
  110. package/src/testing/persist-database.test.ts +1 -1
  111. package/src/testing/services.ts +1 -1
  112. package/src/trace.ts +5 -5
  113. package/src/translations.ts +2 -2
  114. package/src/triggers/input-builder.ts +2 -2
  115. package/src/triggers/invocation-tracer.ts +5 -3
  116. package/src/triggers/trigger-dispatcher.test.ts +57 -44
  117. package/src/triggers/trigger-dispatcher.ts +26 -27
  118. package/src/triggers/trigger-state-store.ts +6 -5
  119. package/src/{schema.ts → types/Function.ts} +9 -26
  120. package/src/types/Script.ts +33 -0
  121. package/src/types/Trigger.ts +139 -0
  122. package/src/types/TriggerEvent.ts +62 -0
  123. package/src/types/index.ts +8 -0
  124. package/src/url.ts +1 -1
  125. package/dist/lib/browser/chunk-C2Z7LCJ2.mjs +0 -649
  126. package/dist/lib/browser/chunk-C2Z7LCJ2.mjs.map +0 -7
  127. package/dist/lib/node-esm/chunk-AH3AZM2U.mjs +0 -651
  128. package/dist/lib/node-esm/chunk-AH3AZM2U.mjs.map +0 -7
  129. package/dist/types/src/examples/fib.d.ts.map +0 -1
  130. package/dist/types/src/examples/index.d.ts +0 -4
  131. package/dist/types/src/examples/index.d.ts.map +0 -1
  132. package/dist/types/src/examples/reply.d.ts.map +0 -1
  133. package/dist/types/src/examples/sleep.d.ts.map +0 -1
  134. package/dist/types/src/schema.d.ts +0 -43
  135. package/dist/types/src/schema.d.ts.map +0 -1
  136. package/dist/types/src/types.d.ts +0 -221
  137. package/dist/types/src/types.d.ts.map +0 -1
  138. package/src/examples/index.ts +0 -7
  139. package/src/types.ts +0 -214
  140. /package/dist/types/src/{examples → example}/fib.d.ts +0 -0
  141. /package/dist/types/src/{examples → example}/reply.d.ts +0 -0
  142. /package/dist/types/src/{examples → example}/sleep.d.ts +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/errors.ts", "../../../src/url.ts", "../../../src/services/database.ts", "../../../src/services/credentials.ts", "../../../src/services/tracing.ts", "../../../src/services/event-logger.ts", "../../../src/services/queues.ts", "../../../src/services/remote-function-execution-service.ts", "../../../src/services/service-container.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { BaseError, type BaseErrorOptions } from '@dxos/errors';\n\nexport class ServiceNotAvailableError extends BaseError.extend('SERVICE_NOT_AVAILABLE', 'Service not available') {\n constructor(service: string, options?: Omit<BaseErrorOptions, 'context'>) {\n super({ context: { service }, ...options });\n }\n}\n\nexport class FunctionNotFoundError extends BaseError.extend('FUNCTION_NOT_FOUND', 'Function not found') {\n constructor(functionKey: string, options?: Omit<BaseErrorOptions, 'context'>) {\n super({ context: { function: functionKey }, ...options });\n }\n}\n\nexport class FunctionError extends BaseError.extend('FUNCTION_ERROR', 'Function invocation error') {}\n\nexport class TriggerStateNotFoundError extends BaseError.extend('TRIGGER_STATE_NOT_FOUND', 'Trigger state not found') {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ObjectMeta } from '@dxos/echo-schema';\nimport { type SpaceId } from '@dxos/keys';\n\n// TODO: use URL scheme for source?\nexport const FUNCTIONS_META_KEY = 'dxos.org/service/function';\n\nexport const FUNCTIONS_PRESET_META_KEY = 'dxos.org/service/function-preset';\n\nconst isSecure = (protocol: string) => {\n return protocol === 'https:' || protocol === 'wss:';\n};\n\n/**\n * NOTE: functionId is backend ID, not ECHO object id.\n */\nexport const getUserFunctionIdInMetadata = (meta: ObjectMeta) => {\n return meta.keys.find((key) => key.source === FUNCTIONS_META_KEY)?.id;\n};\n\n/**\n * NOTE: functionId is backend ID, not ECHO object id.\n */\nexport const setUserFunctionIdInMetadata = (meta: ObjectMeta, functionId: string) => {\n const key = meta.keys.find((key) => key.source === FUNCTIONS_META_KEY);\n if (key) {\n if (key.id !== functionId) {\n throw new Error('Metadata mismatch');\n }\n } else {\n meta.keys.push({ source: FUNCTIONS_META_KEY, id: functionId });\n }\n};\n\n/**\n * NOTE: functionId is backend ID, not ECHO object id.\n */\nexport const getInvocationUrl = (functionId: string, edgeUrl: string, options: InvocationOptions = {}) => {\n const baseUrl = new URL('functions/', edgeUrl);\n\n // Leading slashes cause the URL to be treated as an absolute path.\n const url = new URL(`./${functionId}`, baseUrl.toString());\n options.spaceId && url.searchParams.set('spaceId', options.spaceId);\n options.subjectId && url.searchParams.set('subjectId', options.subjectId);\n url.protocol = isSecure(url.protocol) ? 'https' : 'http';\n return url.toString();\n};\n\nexport type InvocationOptions = {\n spaceId?: SpaceId;\n subjectId?: string;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Context, Effect, Layer, Option, type Schema } from 'effect';\n\nimport {\n type Filter,\n type Live,\n Obj,\n ObjectNotFoundError,\n type Query,\n type Ref,\n type Relation,\n type Type,\n} from '@dxos/echo';\nimport type { EchoDatabase, FlushOptions, OneShotQueryResult, QueryResult, SchemaRegistryQuery } from '@dxos/echo-db';\nimport type { SchemaRegistryPreparedQuery } from '@dxos/echo-db';\nimport type { EchoSchema } from '@dxos/echo-schema';\nimport { promiseWithCauseCapture } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport type { DXN } from '@dxos/keys';\n\nexport class DatabaseService extends Context.Tag('@dxos/functions/DatabaseService')<\n DatabaseService,\n {\n readonly db: EchoDatabase;\n }\n>() {\n static notAvailable = Layer.succeed(DatabaseService, {\n get db(): EchoDatabase {\n throw new Error('Database not available');\n },\n });\n\n static make = (db: EchoDatabase): Context.Tag.Service<DatabaseService> => {\n return {\n get db() {\n return db;\n },\n };\n };\n\n static layer = (db: EchoDatabase): Layer.Layer<DatabaseService> => {\n return Layer.succeed(DatabaseService, DatabaseService.make(db));\n };\n\n /**\n * Resolves an object by its DXN.\n */\n static resolve: {\n // No type check.\n (dxn: DXN): Effect.Effect<Obj.Any | Relation.Any, never, DatabaseService>;\n // Check matches schema.\n <S extends Type.Obj.Any | Type.Relation.Any>(\n dxn: DXN,\n schema: S,\n ): Effect.Effect<Schema.Schema.Type<S>, ObjectNotFoundError, DatabaseService>;\n } = (<S extends Type.Obj.Any | Type.Relation.Any>(\n dxn: DXN,\n schema?: S,\n ): Effect.Effect<Schema.Schema.Type<S>, ObjectNotFoundError, DatabaseService> =>\n Effect.gen(function* () {\n const { db } = yield* DatabaseService;\n const object = yield* promiseWithCauseCapture(() =>\n db.graph\n .createRefResolver({\n context: {\n space: db.spaceId,\n },\n })\n .resolve(dxn),\n );\n\n if (!object) {\n return yield* Effect.fail(new ObjectNotFoundError(dxn));\n }\n invariant(!schema || Obj.instanceOf(schema, object), 'Object type mismatch.');\n return object as any;\n })) as any;\n\n /**\n * Loads an object reference.\n */\n static load: <T>(ref: Ref.Ref<T>) => Effect.Effect<T, ObjectNotFoundError, never> = Effect.fn(function* (ref) {\n const object = yield* promiseWithCauseCapture(() => ref.tryLoad());\n if (!object) {\n return yield* Effect.fail(new ObjectNotFoundError(ref.dxn));\n }\n return object;\n });\n\n /**\n * Loads an object reference option.\n */\n // TODO(burdon): Option?\n static loadOption: <T>(ref: Ref.Ref<T>) => Effect.Effect<Option.Option<T>, never, never> = Effect.fn(function* (ref) {\n const object = yield* DatabaseService.load(ref).pipe(\n Effect.catchTag('OBJECT_NOT_FOUND', () => Effect.succeed(undefined)),\n );\n return Option.fromNullable(object);\n });\n\n // TODO(burdon): Can we create a proxy for the following methods on EchoDatabase? Use @inheritDoc?\n // TODO(burdon): Figure out how to chain query().run();\n\n /**\n * @link EchoDatabase.add\n */\n static add = <T extends Obj.Any | Relation.Any>(obj: T): Effect.Effect<T, never, DatabaseService> =>\n DatabaseService.pipe(Effect.map(({ db }) => db.add(obj)));\n\n /**\n * @link EchoDatabase.remove\n */\n static remove = <T extends Obj.Any | Relation.Any>(obj: T): Effect.Effect<void, never, DatabaseService> =>\n DatabaseService.pipe(Effect.map(({ db }) => db.remove(obj)));\n\n /**\n * @link EchoDatabase.flush\n */\n static flush = (opts?: FlushOptions) =>\n DatabaseService.pipe(Effect.flatMap(({ db }) => promiseWithCauseCapture(() => db.flush(opts))));\n\n /**\n * @link EchoDatabase.getObjectById\n */\n static getObjectById = <T extends Obj.Any | Relation.Any>(\n id: string,\n ): Effect.Effect<Live<T> | undefined, never, DatabaseService> => {\n return DatabaseService.pipe(Effect.map(({ db }) => db.getObjectById(id)));\n };\n\n /**\n * Creates a `QueryResult` object that can be subscribed to.\n */\n static query: {\n <Q extends Query.Any>(query: Q): Effect.Effect<QueryResult<Live<Query.Type<Q>>>, never, DatabaseService>;\n <F extends Filter.Any>(filter: F): Effect.Effect<QueryResult<Live<Filter.Type<F>>>, never, DatabaseService>;\n } = (queryOrFilter: Query.Any | Filter.Any) =>\n DatabaseService.pipe(\n Effect.map(({ db }) => db.query(queryOrFilter as any)),\n Effect.withSpan('DatabaseService.query'),\n );\n\n /**\n * Executes the query once and returns the results.\n */\n static runQuery: {\n <Q extends Query.Any>(query: Q): Effect.Effect<OneShotQueryResult<Live<Query.Type<Q>>>, never, DatabaseService>;\n <F extends Filter.Any>(filter: F): Effect.Effect<OneShotQueryResult<Live<Filter.Type<F>>>, never, DatabaseService>;\n } = (queryOrFilter: Query.Any | Filter.Any) =>\n DatabaseService.query(queryOrFilter as any).pipe(\n Effect.flatMap((queryResult) => promiseWithCauseCapture(() => queryResult.run())),\n );\n\n static schemaQuery = <Q extends SchemaRegistryQuery>(\n query: Q,\n ): Effect.Effect<SchemaRegistryPreparedQuery<EchoSchema>, never, DatabaseService> =>\n DatabaseService.pipe(\n Effect.map(({ db }) => db.schemaRegistry.query(query)),\n Effect.withSpan('DatabaseService.schemaQuery'),\n );\n\n static runSchemaQuery = <Q extends SchemaRegistryQuery>(\n query: Q,\n ): Effect.Effect<EchoSchema[], never, DatabaseService> =>\n DatabaseService.schemaQuery(query).pipe(\n Effect.flatMap((queryResult) => promiseWithCauseCapture(() => queryResult.run())),\n );\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { HttpClient, HttpClientRequest } from '@effect/platform';\nimport { type Config, Context, Effect, Layer, Redacted } from 'effect';\n\nimport { Query } from '@dxos/echo';\nimport { DataType } from '@dxos/schema';\n\nimport { DatabaseService } from './database';\n\nexport type CredentialQuery = {\n service?: string;\n};\n\n// TODO(dmaretskyi): Unify with other apis.\n// packages/sdk/schema/src/common/access-token.ts\nexport type ServiceCredential = {\n service: string;\n\n // TODO(dmaretskyi): Build out.\n apiKey?: string;\n};\n\nexport class CredentialsService extends Context.Tag('@dxos/functions/CredentialsService')<\n CredentialsService,\n {\n /**\n * Query all.\n */\n queryCredentials: (query: CredentialQuery) => Promise<ServiceCredential[]>;\n\n /**\n * Get a single credential.\n * @throws {Error} If no credential is found.\n */\n getCredential: (query: CredentialQuery) => Promise<ServiceCredential>;\n }\n>() {\n static getCredential = (query: CredentialQuery): Effect.Effect<ServiceCredential, never, CredentialsService> =>\n Effect.gen(function* () {\n const credentials = yield* CredentialsService;\n return yield* Effect.promise(() => credentials.getCredential(query));\n });\n\n static getApiKey = (query: CredentialQuery): Effect.Effect<Redacted.Redacted<string>, never, CredentialsService> =>\n Effect.gen(function* () {\n const credential = yield* CredentialsService.getCredential(query);\n if (!credential.apiKey) {\n throw new Error(`API key not found for service: ${query.service}`);\n }\n return Redacted.make(credential.apiKey);\n });\n\n static configuredLayer = (credentials: ServiceCredential[]) =>\n Layer.succeed(CredentialsService, new ConfiguredCredentialsService(credentials));\n\n static layerConfig = (credentials: { service: string; apiKey: Config.Config<Redacted.Redacted<string>> }[]) =>\n Layer.effect(\n CredentialsService,\n Effect.gen(function* () {\n const serviceCredentials = yield* Effect.forEach(credentials, ({ service, apiKey }) =>\n Effect.gen(function* () {\n return {\n service,\n apiKey: Redacted.value(yield* apiKey),\n };\n }),\n );\n\n return new ConfiguredCredentialsService(serviceCredentials);\n }),\n );\n\n static layerFromDatabase = () =>\n Layer.effect(\n CredentialsService,\n Effect.gen(function* () {\n const dbService = yield* DatabaseService;\n const queryCredentials = async (query: CredentialQuery): Promise<ServiceCredential[]> => {\n const { objects: accessTokens } = await dbService.db.query(Query.type(DataType.AccessToken)).run();\n return accessTokens\n .filter((accessToken) => accessToken.source === query.service)\n .map((accessToken) => ({\n service: accessToken.source,\n apiKey: accessToken.token,\n }));\n };\n return {\n getCredential: async (query) => {\n const credentials = await queryCredentials(query);\n if (credentials.length === 0) {\n throw new Error(`Credential not found for service: ${query.service}`);\n }\n\n return credentials[0];\n },\n queryCredentials: async (query) => {\n return queryCredentials(query);\n },\n };\n }),\n );\n}\n\nexport class ConfiguredCredentialsService implements Context.Tag.Service<CredentialsService> {\n constructor(private readonly credentials: ServiceCredential[] = []) {}\n\n addCredentials(credentials: ServiceCredential[]): ConfiguredCredentialsService {\n this.credentials.push(...credentials);\n return this;\n }\n\n async queryCredentials(query: CredentialQuery): Promise<ServiceCredential[]> {\n return this.credentials.filter((credential) => credential.service === query.service);\n }\n\n async getCredential(query: CredentialQuery): Promise<ServiceCredential> {\n const credential = this.credentials.find((credential) => credential.service === query.service);\n if (!credential) {\n throw new Error(`Credential not found for service: ${query.service}`);\n }\n\n return credential;\n }\n}\n\n/**\n * Maps the request to include the API key from the credential.\n */\nexport const withAuthorization = (query: CredentialQuery, kind?: 'Bearer' | 'Basic') =>\n HttpClient.mapRequestEffect(\n Effect.fnUntraced(function* (request) {\n const key = yield* CredentialsService.getApiKey(query).pipe(Effect.map(Redacted.value));\n const authorization = kind ? `${kind} ${key}` : key;\n return HttpClientRequest.setHeader(request, 'Authorization', authorization);\n }),\n );\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Context, Effect, Layer } from 'effect';\n\nimport { AgentStatus } from '@dxos/ai';\nimport { Obj } from '@dxos/echo';\nimport type { Queue } from '@dxos/echo-db';\nimport type { ObjectId } from '@dxos/echo-schema';\nimport { log } from '@dxos/log';\nimport { DataType } from '@dxos/schema';\n\n/**\n * Provides a way for compute primitives (functions, workflows, tools)\n * to emit an execution trace as a series of structured ECHO objects.\n */\nexport class TracingService extends Context.Tag('@dxos/functions/TracingService')<\n TracingService,\n {\n /**\n * Gets the parent message ID.\n */\n getTraceContext: () => TracingService.TraceContext;\n\n /**\n * Write an event to the tracing queue.\n * @param event - The event to write. Must be an a typed object.\n */\n write: (event: Obj.Any) => void;\n }\n>() {\n static noop: Context.Tag.Service<TracingService> = { write: () => {}, getTraceContext: () => ({}) };\n\n static layerNoop = Layer.succeed(TracingService, TracingService.noop);\n\n static console: Context.Tag.Service<TracingService> = {\n write: (event) => {\n console.log(event);\n },\n getTraceContext: () => ({}),\n };\n\n static layerConsole = Layer.succeed(TracingService, TracingService.console);\n\n static layerLogInfo = () =>\n Layer.succeed(TracingService, {\n write: (event) => {\n if (Obj.instanceOf(AgentStatus, event)) {\n log.info('status', { message: event.message });\n }\n },\n getTraceContext: () => ({}),\n });\n\n /**\n * Creates a TracingService layer that emits events to the parent tracing service.\n */\n static layerSubframe = (mapContext: (currentContext: TracingService.TraceContext) => TracingService.TraceContext) =>\n Layer.effect(\n TracingService,\n Effect.gen(function* () {\n const tracing = yield* TracingService;\n const context = mapContext(tracing.getTraceContext());\n return {\n write: (event) => tracing.write(event),\n getTraceContext: () => context,\n };\n }),\n );\n\n static layerQueue = (queue: Queue) =>\n Layer.effect(\n TracingService,\n Effect.gen(function* () {\n // TODO(dmaretskyi): Batching.\n return {\n write: (event) => queue.append([event]),\n getTraceContext: () => ({\n debugInfo: {\n queue: queue.dxn.toString(),\n },\n }),\n };\n }),\n );\n\n /**\n * Emit the current human-readable execution status.\n */\n static emitStatus: (\n data: Omit<Obj.MakeProps<typeof AgentStatus>, 'created'>,\n ) => Effect.Effect<void, never, TracingService> = Effect.fnUntraced(function* (data) {\n const tracing = yield* TracingService;\n tracing.write(\n Obj.make(AgentStatus, {\n parentMessage: tracing.getTraceContext().parentMessage,\n toolCallId: tracing.getTraceContext().toolCallId,\n created: new Date().toISOString(),\n ...data,\n }),\n );\n });\n\n static emitConverationMessage: (\n data: Obj.MakeProps<typeof DataType.Message>,\n ) => Effect.Effect<void, never, TracingService> = Effect.fnUntraced(function* (data) {\n const tracing = yield* TracingService;\n tracing.write(\n Obj.make(DataType.Message, {\n parentMessage: tracing.getTraceContext().parentMessage,\n ...data,\n properties: {\n [MESSAGE_PROPERTY_TOOL_CALL_ID]: tracing.getTraceContext().toolCallId,\n ...data.properties,\n },\n }),\n );\n });\n}\n\nexport namespace TracingService {\n export interface TraceContext {\n /**\n * If this thread sprung from a tool call, this is the ID of the message containing the tool call.\n */\n parentMessage?: ObjectId;\n\n /**\n * If the current thread is a byproduct of a tool call, this is the ID of the tool call.\n */\n toolCallId?: string;\n\n debugInfo?: unknown;\n }\n}\n\n/**\n * Goes into {@link DataType.Message['properties']}\n */\nexport const MESSAGE_PROPERTY_TOOL_CALL_ID = 'toolCallId' as const;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Context, Effect, Layer, Schema } from 'effect';\n\nimport { Obj, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { LogLevel, log } from '@dxos/log';\n\nimport { TracingService } from './tracing';\n\nexport const ComputeEventPayload = Schema.Union(\n Schema.Struct({\n type: Schema.Literal('begin-compute'),\n nodeId: Schema.String,\n inputs: Schema.Record({ key: Schema.String, value: Schema.Any }),\n }),\n Schema.Struct({\n type: Schema.Literal('end-compute'),\n nodeId: Schema.String,\n outputs: Schema.Record({ key: Schema.String, value: Schema.Any }),\n }),\n Schema.Struct({\n type: Schema.Literal('compute-input'),\n nodeId: Schema.String,\n property: Schema.String,\n value: Schema.Any,\n }),\n Schema.Struct({\n type: Schema.Literal('compute-output'),\n nodeId: Schema.String,\n property: Schema.String,\n value: Schema.Any,\n }),\n Schema.Struct({\n type: Schema.Literal('custom'),\n nodeId: Schema.String,\n event: Schema.Any,\n }),\n);\nexport type ComputeEventPayload = Schema.Schema.Type<typeof ComputeEventPayload>;\n\nexport const ComputeEvent = Schema.Struct({\n payload: ComputeEventPayload,\n}).pipe(Type.Obj({ typename: 'dxos.org/type/ComputeEvent', version: '0.1.0' }));\n\n/**\n * Logs event for the compute workflows.\n */\nexport class ComputeEventLogger extends Context.Tag('@dxos/functions/ComputeEventLogger')<\n ComputeEventLogger,\n { readonly log: (event: ComputeEventPayload) => void; readonly nodeId: string | undefined }\n>() {\n static noop: Context.Tag.Service<ComputeEventLogger> = {\n log: () => {},\n nodeId: undefined,\n };\n\n /**\n * Implements ComputeEventLogger using TracingService.\n */\n static layerFromTracing = Layer.effect(\n ComputeEventLogger,\n Effect.gen(function* () {\n const tracing = yield* TracingService;\n return {\n log: (event: ComputeEventPayload) => {\n tracing.write(Obj.make(ComputeEvent, { payload: event }));\n },\n nodeId: undefined,\n };\n }),\n );\n}\n\nexport const logCustomEvent = (data: any) =>\n Effect.gen(function* () {\n const logger = yield* ComputeEventLogger;\n if (!logger.nodeId) {\n throw new Error('logCustomEvent must be called within a node compute function');\n }\n logger.log({\n type: 'custom',\n nodeId: logger.nodeId,\n event: data,\n });\n });\n\nexport const createDefectLogger = <A, E, R>(): ((self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>) =>\n Effect.catchAll((error) =>\n Effect.gen(function* () {\n log.error('unhandled effect error', { error });\n throw error;\n }),\n );\n\nexport const createEventLogger = (\n level: LogLevel,\n message: string = 'event',\n): Context.Tag.Service<ComputeEventLogger> => {\n const logFunction = (\n {\n [LogLevel.WARN]: log.warn,\n [LogLevel.VERBOSE]: log.verbose,\n [LogLevel.DEBUG]: log.debug,\n [LogLevel.INFO]: log.info,\n [LogLevel.ERROR]: log.error,\n } as any\n )[level];\n invariant(logFunction);\n return {\n log: (event: ComputeEventPayload) => {\n logFunction(message, event);\n },\n nodeId: undefined,\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Context, Effect, Layer } from 'effect';\n\nimport type { Obj, Relation } from '@dxos/echo';\nimport type { Queue, QueueAPI, QueueFactory } from '@dxos/echo-db';\nimport type { DXN, QueueSubspaceTag } from '@dxos/keys';\n\n/**\n * Gives access to all queues.\n */\nexport class QueueService extends Context.Tag('@dxos/functions/QueueService')<\n QueueService,\n {\n /**\n * API to access the queues.\n */\n readonly queues: QueueAPI;\n\n /**\n * The queue that is used to store the context of the current research.\n * @deprecated Use `ContextQueueService` instead.\n */\n readonly queue: Queue | undefined;\n }\n>() {\n static notAvailable = Layer.succeed(QueueService, {\n queues: {\n get(_dxn) {\n throw new Error('Queues not available');\n },\n create() {\n throw new Error('Queues not available');\n },\n },\n queue: undefined,\n });\n\n static make = (queues: QueueFactory, queue?: Queue): Context.Tag.Service<QueueService> => {\n return {\n queues,\n queue,\n };\n };\n\n static layer = (queues: QueueFactory, queue?: Queue): Layer.Layer<QueueService> =>\n Layer.succeed(QueueService, QueueService.make(queues, queue));\n\n /**\n * Gets a queue by its DXN.\n */\n static getQueue = <T extends Obj.Any | Relation.Any = Obj.Any | Relation.Any>(\n dxn: DXN,\n ): Effect.Effect<Queue<T>, never, QueueService> => QueueService.pipe(Effect.map(({ queues }) => queues.get<T>(dxn)));\n\n /**\n * Creates a new queue.\n */\n static createQueue = <T extends Obj.Any | Relation.Any = Obj.Any | Relation.Any>(options?: {\n subspaceTag?: QueueSubspaceTag;\n }): Effect.Effect<Queue<T>, never, QueueService> =>\n QueueService.pipe(Effect.map(({ queues }) => queues.create<T>(options)));\n\n static append = <T extends Obj.Any | Relation.Any = Obj.Any | Relation.Any>(\n queue: Queue<T>,\n objects: T[],\n ): Effect.Effect<void> => Effect.promise(() => queue.append(objects));\n}\n\n/**\n * Gives access to a specific queue passed as a context.\n */\nexport class ContextQueueService extends Context.Tag('@dxos/functions/ContextQueueService')<\n ContextQueueService,\n {\n readonly queue: Queue;\n }\n>() {\n static layer = (queue: Queue) => Layer.succeed(ContextQueueService, { queue });\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Context, Effect, Layer } from 'effect';\n\nimport type { SpaceId } from '@dxos/keys';\n\nimport { FunctionError } from '../errors';\nimport { getInvocationUrl } from '../url';\n\n/**\n * Allows calling into other functions.\n */\nexport class RemoteFunctionExecutionService extends Context.Tag('@dxos/functions/RemoteFunctionExecutionService')<\n RemoteFunctionExecutionService,\n {\n callFunction<I, O>(deployedFunctionId: string, input: I): Effect.Effect<O>;\n }\n>() {\n /**\n * @param baseUrl URL of the EDGE server.\n * @param spaceId - The space ID to invoke the function in. If not provided, the function will be without space context.\n * @returns\n */\n static fromClient(baseUrl: string, spaceId?: SpaceId): Layer.Layer<RemoteFunctionExecutionService> {\n return Layer.succeed(RemoteFunctionExecutionService, {\n callFunction: <I, O>(deployedFunctionId: string, input: I): Effect.Effect<O> =>\n Effect.gen(function* () {\n const url = getInvocationUrl(deployedFunctionId, baseUrl, { spaceId });\n const result = yield* Effect.promise(() =>\n fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(input),\n }),\n );\n if (result.status >= 300 || result.status < 200) {\n const text = yield* Effect.promise(() => result.text());\n return yield* Effect.die(\n new FunctionError({\n message: 'Failed to invoke function',\n cause: new Error(`HTTP error: ${text}`),\n }),\n );\n }\n const data = (yield* Effect.promise(() => result.json())) as O;\n return data;\n }),\n });\n }\n\n static mock = (): Context.Tag.Service<RemoteFunctionExecutionService> => {\n return {\n callFunction: <I, O>(deployedFunctionId: string, input: I): Effect.Effect<O> =>\n Effect.succeed(input as unknown as O),\n };\n };\n\n static layerMock = Layer.succeed(RemoteFunctionExecutionService, RemoteFunctionExecutionService.mock());\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Context, Layer } from 'effect';\n\nimport { AiService } from '@dxos/ai';\nimport { entries } from '@dxos/util';\n\nimport { ConfiguredCredentialsService, CredentialsService } from './credentials';\nimport { DatabaseService } from './database';\nimport { ComputeEventLogger } from './event-logger';\nimport { QueueService } from './queues';\nimport { RemoteFunctionExecutionService } from './remote-function-execution-service';\nimport { TracingService } from './tracing';\n\n// TODO(dmaretskyi): Refactor this module to only rely on tags and not the human-assigned names.\n\n/**\n * List of all services.\n */\nconst SERVICES = {\n ai: AiService.AiService,\n credentials: CredentialsService,\n database: DatabaseService,\n eventLogger: ComputeEventLogger,\n functionCallService: RemoteFunctionExecutionService,\n queues: QueueService,\n tracing: TracingService,\n} as const satisfies Record<string, Context.TagClass<any, string, any>>;\n\n/**\n * Mapping of service names to their tags.\n */\nexport type ServiceTagRecord = {\n [K in keyof typeof SERVICES]: (typeof SERVICES)[K] extends { new (_: never): infer T } ? T : never;\n};\n\n/**\n * Mapping of service names to their runtime types.\n */\nexport type ServiceRecord = {\n [K in keyof ServiceTagRecord]: Context.Tag.Service<ServiceTagRecord[K]>;\n};\n\n/**\n * Union of all services tags.\n */\nexport type Services = ServiceTagRecord[keyof ServiceTagRecord];\n\nconst SERVICE_MAPPING: Record<string, keyof ServiceRecord> = Object.fromEntries(\n entries(SERVICES).map(([name, tag]) => [tag.key, name]),\n);\n\nexport const SERVICE_TAGS: Context.Tag<any, any>[] = Object.values(SERVICES);\n\nconst DEFAULT_SERVICES: Partial<ServiceRecord> = {\n tracing: TracingService.noop,\n};\n\n/**\n * @deprecated\n */\nexport class ServiceContainer {\n private _services: Partial<ServiceRecord> = { ...DEFAULT_SERVICES };\n\n /**\n * Set services.\n * @param services - Services to set.\n * @returns The container instance.\n */\n setServices(services: Partial<ServiceRecord>): this {\n this._services = { ...this._services, ...services };\n return this;\n }\n\n getService<Id, T>(tag: Context.Tag<Id, T>): T {\n const serviceKey = SERVICE_MAPPING[tag.key];\n const service = serviceKey != null ? this._services[serviceKey] : undefined;\n if (!service) {\n throw new Error(`Service not available: ${tag.key}`);\n }\n\n return service as T;\n }\n\n clone(): ServiceContainer {\n return new ServiceContainer().setServices({ ...this._services });\n }\n\n // TODO(dmaretskyi): `getService` is designed to error at runtime if the service is not available, but Layer forces us to provide all services and makes stubs for the ones that are not available.\n createLayer(): Layer.Layer<Services> {\n const ai =\n this._services.ai != null ? Layer.succeed(AiService.AiService, this._services.ai) : AiService.notAvailable;\n const credentials = Layer.succeed(\n CredentialsService,\n this._services.credentials ?? new ConfiguredCredentialsService(),\n );\n const database =\n this._services.database != null\n ? Layer.succeed(DatabaseService, this._services.database)\n : DatabaseService.notAvailable;\n const queues =\n this._services.queues != null ? Layer.succeed(QueueService, this._services.queues) : QueueService.notAvailable;\n const tracing = Layer.succeed(TracingService, this._services.tracing ?? TracingService.noop);\n const eventLogger = Layer.succeed(ComputeEventLogger, this._services.eventLogger ?? ComputeEventLogger.noop);\n const functionCallService = Layer.succeed(\n RemoteFunctionExecutionService,\n this._services.functionCallService ?? RemoteFunctionExecutionService.mock(),\n );\n\n return Layer.mergeAll(ai, credentials, database, queues, tracing, eventLogger, functionCallService);\n }\n}\n"],
5
- "mappings": ";;;AAIA,SAASA,iBAAwC;AAE1C,IAAMC,2BAAN,cAAuCC,UAAUC,OAAO,yBAAyB,uBAAA,EAAA;EACtF,YAAYC,SAAiBC,SAA6C;AACxE,UAAM;MAAEC,SAAS;QAAEF;MAAQ;MAAG,GAAGC;IAAQ,CAAA;EAC3C;AACF;AAEO,IAAME,wBAAN,cAAoCL,UAAUC,OAAO,sBAAsB,oBAAA,EAAA;EAChF,YAAYK,aAAqBH,SAA6C;AAC5E,UAAM;MAAEC,SAAS;QAAEG,UAAUD;MAAY;MAAG,GAAGH;IAAQ,CAAA;EACzD;AACF;AAEO,IAAMK,gBAAN,cAA4BR,UAAUC,OAAO,kBAAkB,2BAAA,EAAA;AAA8B;AAE7F,IAAMQ,4BAAN,cAAwCT,UAAUC,OAAO,2BAA2B,yBAAA,EAAA;AAA4B;;;ACZhH,IAAMS,qBAAqB;AAE3B,IAAMC,4BAA4B;AAEzC,IAAMC,WAAW,CAACC,aAAAA;AAChB,SAAOA,aAAa,YAAYA,aAAa;AAC/C;AAKO,IAAMC,8BAA8B,CAACC,SAAAA;AAC1C,SAAOA,KAAKC,KAAKC,KAAK,CAACC,QAAQA,IAAIC,WAAWT,kBAAAA,GAAqBU;AACrE;AAKO,IAAMC,8BAA8B,CAACN,MAAkBO,eAAAA;AAC5D,QAAMJ,MAAMH,KAAKC,KAAKC,KAAK,CAACC,SAAQA,KAAIC,WAAWT,kBAAAA;AACnD,MAAIQ,KAAK;AACP,QAAIA,IAAIE,OAAOE,YAAY;AACzB,YAAM,IAAIC,MAAM,mBAAA;IAClB;EACF,OAAO;AACLR,SAAKC,KAAKQ,KAAK;MAAEL,QAAQT;MAAoBU,IAAIE;IAAW,CAAA;EAC9D;AACF;AAKO,IAAMG,mBAAmB,CAACH,YAAoBI,SAAiBC,UAA6B,CAAC,MAAC;AACnG,QAAMC,UAAU,IAAIC,IAAI,cAAcH,OAAAA;AAGtC,QAAMI,MAAM,IAAID,IAAI,KAAKP,UAAAA,IAAcM,QAAQG,SAAQ,CAAA;AACvDJ,UAAQK,WAAWF,IAAIG,aAAaC,IAAI,WAAWP,QAAQK,OAAO;AAClEL,UAAQQ,aAAaL,IAAIG,aAAaC,IAAI,aAAaP,QAAQQ,SAAS;AACxEL,MAAIjB,WAAWD,SAASkB,IAAIjB,QAAQ,IAAI,UAAU;AAClD,SAAOiB,IAAIC,SAAQ;AACrB;;;AC7CA,SAASK,SAASC,QAAQC,OAAOC,cAA2B;AAE5D,SAGEC,KACAC,2BAKK;AAIP,SAASC,+BAA+B;AACxC,SAASC,iBAAiB;;;;;;;;;;;;;;;IAGWP;AAA9B,IAAMQ,kBAAN,eAA8BR,eAAAA,QAAQS,IAAI,iCAAA,EAAA,GAK/C;AA8IF;AA7IE,iBANWD,iBAMJE,gBAAeR,MAAMS,QAAQH,iBAAiB;EACnD,IAAII,KAAmB;AACrB,UAAM,IAAIC,MAAM,wBAAA;EAClB;AACF,CAAA,CAAA;AAEA,iBAZWL,iBAYJM,QAAO,CAACF,OAAAA;AACb,SAAO;IACL,IAAIA,KAAK;AACP,aAAOA;IACT;EACF;AACF,CAAA;AAEA,iBApBWJ,iBAoBJO,SAAQ,CAACH,OAAAA;AACd,SAAOV,MAAMS,QAAQH,iBAAiBA,gBAAgBM,KAAKF,EAAAA,CAAAA;AAC7D,CAAA;AAKA,iBA3BWJ,iBA2BJQ,WAQF,CACHC,KACAC,WAEAjB,OAAOkB,IAAI,aAAA;AACT,QAAM,EAAEP,GAAE,IAAK,OAAOJ;AACtB,QAAMY,SAAS,OAAOd,wBAAwB,MAC5CM,GAAGS,MACAC,kBAAkB;IACjBC,SAAS;MACPC,OAAOZ,GAAGa;IACZ;EACF,CAAA,EACCT,QAAQC,GAAAA,CAAAA;AAGb,MAAI,CAACG,QAAQ;AACX,WAAO,OAAOnB,OAAOyB,KAAK,IAAIrB,oBAAoBY,GAAAA,CAAAA;EACpD;AACAV,YAAU,CAACW,UAAUd,IAAIuB,WAAWT,QAAQE,MAAAA,GAAS,yBAAA;;;;;;;;;AACrD,SAAOA;AACT,CAAA,CAAA;AAKF,iBA7DWZ,iBA6DJoB,QAA6E3B,OAAO4B,GAAG,WAAWC,KAAG;AAC1G,QAAMV,SAAS,OAAOd,wBAAwB,MAAMwB,IAAIC,QAAO,CAAA;AAC/D,MAAI,CAACX,QAAQ;AACX,WAAO,OAAOnB,OAAOyB,KAAK,IAAIrB,oBAAoByB,IAAIb,GAAG,CAAA;EAC3D;AACA,SAAOG;AACT,CAAA,CAAA;AAMA,iBAzEWZ,iBAyEJwB,cAAoF/B,OAAO4B,GAAG,WAAWC,KAAG;AACjH,QAAMV,SAAS,OAAOZ,gBAAgBoB,KAAKE,GAAAA,EAAKG,KAC9ChC,OAAOiC,SAAS,oBAAoB,MAAMjC,OAAOU,QAAQwB,MAAAA,CAAAA,CAAAA;AAE3D,SAAOhC,OAAOiC,aAAahB,MAAAA;AAC7B,CAAA,CAAA;AAQA,iBAtFWZ,iBAsFJ6B,OAAM,CAAmCC,QAC9C9B,gBAAgByB,KAAKhC,OAAOsC,IAAI,CAAC,EAAE3B,GAAE,MAAOA,GAAGyB,IAAIC,GAAAA,CAAAA,CAAAA,CAAAA;AAKrD,iBA5FW9B,iBA4FJgC,UAAS,CAAmCF,QACjD9B,gBAAgByB,KAAKhC,OAAOsC,IAAI,CAAC,EAAE3B,GAAE,MAAOA,GAAG4B,OAAOF,GAAAA,CAAAA,CAAAA,CAAAA;AAKxD,iBAlGW9B,iBAkGJiC,SAAQ,CAACC,SACdlC,gBAAgByB,KAAKhC,OAAO0C,QAAQ,CAAC,EAAE/B,GAAE,MAAON,wBAAwB,MAAMM,GAAG6B,MAAMC,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAKzF,iBAxGWlC,iBAwGJoC,iBAAgB,CACrBC,OAAAA;AAEA,SAAOrC,gBAAgByB,KAAKhC,OAAOsC,IAAI,CAAC,EAAE3B,GAAE,MAAOA,GAAGgC,cAAcC,EAAAA,CAAAA,CAAAA;AACtE,CAAA;AAKA,iBAjHWrC,iBAiHJsC,SAGH,CAACC,kBACHvC,gBAAgByB,KACdhC,OAAOsC,IAAI,CAAC,EAAE3B,GAAE,MAAOA,GAAGkC,MAAMC,aAAAA,CAAAA,GAChC9C,OAAO+C,SAAS,uBAAA,CAAA,CAAA;AAMpB,iBA7HWxC,iBA6HJyC,YAGH,CAACF,kBACHvC,gBAAgBsC,MAAMC,aAAAA,EAAsBd,KAC1ChC,OAAO0C,QAAQ,CAACO,gBAAgB5C,wBAAwB,MAAM4C,YAAYC,IAAG,CAAA,CAAA,CAAA,CAAA;AAGjF,iBArIW3C,iBAqIJ4C,eAAc,CACnBN,UAEAtC,gBAAgByB,KACdhC,OAAOsC,IAAI,CAAC,EAAE3B,GAAE,MAAOA,GAAGyC,eAAeP,MAAMA,KAAAA,CAAAA,GAC/C7C,OAAO+C,SAAS,6BAAA,CAAA,CAAA;AAGpB,iBA7IWxC,iBA6IJ8C,kBAAiB,CACtBR,UAEAtC,gBAAgB4C,YAAYN,KAAAA,EAAOb,KACjChC,OAAO0C,QAAQ,CAACO,gBAAgB5C,wBAAwB,MAAM4C,YAAYC,IAAG,CAAA,CAAA,CAAA,CAAA;;;ACpKnF,SAASI,YAAYC,yBAAyB;AAC9C,SAAsBC,WAAAA,UAASC,UAAAA,SAAQC,SAAAA,QAAOC,gBAAgB;AAE9D,SAASC,aAAa;AACtB,SAASC,gBAAgB;A;;;;;;;;;;;;;IAiBeC;AAAjC,IAAMC,qBAAN,eAAiCD,gBAAAA,SAAQE,IAAI,oCAAA,EAAA,GAclD;AAiEF;AAhEEC,kBAfWF,oBAeJG,iBAAgB,CAACC,UACtBC,QAAOC,IAAI,aAAA;AACT,QAAMC,cAAc,OAAOP;AAC3B,SAAO,OAAOK,QAAOG,QAAQ,MAAMD,YAAYJ,cAAcC,KAAAA,CAAAA;AAC/D,CAAA,CAAA;AAEFF,kBArBWF,oBAqBJS,aAAY,CAACL,UAClBC,QAAOC,IAAI,aAAA;AACT,QAAMI,aAAa,OAAOV,mBAAmBG,cAAcC,KAAAA;AAC3D,MAAI,CAACM,WAAWC,QAAQ;AACtB,UAAM,IAAIC,MAAM,kCAAkCR,MAAMS,OAAO,EAAE;EACnE;AACA,SAAOC,SAASC,KAAKL,WAAWC,MAAM;AACxC,CAAA,CAAA;AAEFT,kBA9BWF,oBA8BJgB,mBAAkB,CAACT,gBACxBU,OAAMC,QAAQlB,oBAAoB,IAAImB,6BAA6BZ,WAAAA,CAAAA,CAAAA;AAErEL,kBAjCWF,oBAiCJoB,eAAc,CAACb,gBACpBU,OAAMI,OACJrB,oBACAK,QAAOC,IAAI,aAAA;AACT,QAAMgB,qBAAqB,OAAOjB,QAAOkB,QAAQhB,aAAa,CAAC,EAAEM,SAASF,OAAM,MAC9EN,QAAOC,IAAI,aAAA;AACT,WAAO;MACLO;MACAF,QAAQG,SAASU,MAAM,OAAOb,MAAK;IACrC;EACF,CAAA,CAAA;AAGF,SAAO,IAAIQ,6BAA6BG,kBAAAA;AAC1C,CAAA,CAAA,CAAA;AAGJpB,kBAlDWF,oBAkDJyB,qBAAoB,MACzBR,OAAMI,OACJrB,oBACAK,QAAOC,IAAI,aAAA;AACT,QAAMoB,YAAY,OAAOC;AACzB,QAAMC,mBAAmB,OAAOxB,UAAAA;AAC9B,UAAM,EAAEyB,SAASC,aAAY,IAAK,MAAMJ,UAAUK,GAAG3B,MAAM4B,MAAMC,KAAKC,SAASC,WAAW,CAAA,EAAGC,IAAG;AAChG,WAAON,aACJO,OAAO,CAACC,gBAAgBA,YAAYC,WAAWnC,MAAMS,OAAO,EAC5D2B,IAAI,CAACF,iBAAiB;MACrBzB,SAASyB,YAAYC;MACrB5B,QAAQ2B,YAAYG;IACtB,EAAA;EACJ;AACA,SAAO;IACLtC,eAAe,OAAOC,UAAAA;AACpB,YAAMG,cAAc,MAAMqB,iBAAiBxB,KAAAA;AAC3C,UAAIG,YAAYmC,WAAW,GAAG;AAC5B,cAAM,IAAI9B,MAAM,qCAAqCR,MAAMS,OAAO,EAAE;MACtE;AAEA,aAAON,YAAY,CAAA;IACrB;IACAqB,kBAAkB,OAAOxB,UAAAA;AACvB,aAAOwB,iBAAiBxB,KAAAA;IAC1B;EACF;AACF,CAAA,CAAA,CAAA;AAIC,IAAMe,+BAAN,MAAMA;EAGXwB,eAAepC,aAAgE;AAC7E,SAAKA,YAAYqC,KAAI,GAAIrC,WAAAA;AACzB,WAAO;EACT;EAEA,MAAMqB,iBAAiBxB,OAAsD;AAC3E,WAAO,KAAKG,YAAY8B,OAAO,CAAC3B,eAAeA,WAAWG,YAAYT,MAAMS,OAAO;EACrF;EAEA,MAAMV,cAAcC,OAAoD;AACtE,UAAMM,aAAa,KAAKH,YAAYsC,KAAK,CAACnC,gBAAeA,YAAWG,YAAYT,MAAMS,OAAO;AAC7F,QAAI,CAACH,YAAY;AACf,YAAM,IAAIE,MAAM,qCAAqCR,MAAMS,OAAO,EAAE;IACtE;AAEA,WAAOH;EACT;EAlBA,YAA6BH,cAAmC,CAAA,GAAI;;SAAvCA,cAAAA;EAAwC;AAmBvE;AAKO,IAAMuC,oBAAoB,CAAC1C,OAAwB2C,SACxDC,WAAWC,iBACT5C,QAAO6C,WAAW,WAAWC,SAAO;AAClC,QAAMC,MAAM,OAAOpD,mBAAmBS,UAAUL,KAAAA,EAAOiD,KAAKhD,QAAOmC,IAAI1B,SAASU,KAAK,CAAA;AACrF,QAAM8B,gBAAgBP,OAAO,GAAGA,IAAAA,IAAQK,GAAAA,KAAQA;AAChD,SAAOG,kBAAkBC,UAAUL,SAAS,iBAAiBG,aAAAA;AAC/D,CAAA,CAAA;;;ACrIJ,SAASG,WAAAA,UAASC,UAAAA,SAAQC,SAAAA,cAAa;AAEvC,SAASC,mBAAmB;AAC5B,SAASC,OAAAA,YAAW;AAGpB,SAASC,WAAW;AACpB,SAASC,YAAAA,iBAAgB;;;;;;;;;;;;;;;IAMWN;AAA7B,IAAMO,iBAAN,eAA6BP,gBAAAA,SAAQQ,IAAI,gCAAA,EAAA,GAc9C;AAwFF;AAvFEC,kBAfWF,gBAeJG,QAA4C;EAAEC,OAAO,MAAA;EAAO;EAAGC,iBAAiB,OAAO,CAAC;AAAG,CAAA;AAElGH,kBAjBWF,gBAiBJM,aAAYX,OAAMY,QAAQP,gBAAgBA,eAAeG,IAAI,CAAA;AAEpED,kBAnBWF,gBAmBJQ,WAA+C;EACpDJ,OAAO,CAACK,UAAAA;AACND,YAAQV,IAAIW,KAAAA;EACd;EACAJ,iBAAiB,OAAO,CAAC;AAC3B,CAAA;AAEAH,kBA1BWF,gBA0BJU,gBAAef,OAAMY,QAAQP,gBAAgBA,eAAeQ,OAAO,CAAA;AAE1EN,kBA5BWF,gBA4BJW,gBAAe,MACpBhB,OAAMY,QAAQP,gBAAgB;EAC5BI,OAAO,CAACK,UAAAA;AACN,QAAIZ,KAAIe,WAAWhB,aAAaa,KAAAA,GAAQ;AACtCX,UAAIe,KAAK,UAAU;QAAEC,SAASL,MAAMK;MAAQ,GAAA;;;WAhCzCd;;;IAiCL;EACF;EACAK,iBAAiB,OAAO,CAAC;AAC3B,CAAA,CAAA;AAKFH,kBAzCWF,gBAyCJe,iBAAgB,CAACC,eACtBrB,OAAMsB,OACJjB,gBACAN,QAAOwB,IAAI,aAAA;AACT,QAAMC,UAAU,OAAOnB;AACvB,QAAMoB,UAAUJ,WAAWG,QAAQd,gBAAe,CAAA;AAClD,SAAO;IACLD,OAAO,CAACK,UAAUU,QAAQf,MAAMK,KAAAA;IAChCJ,iBAAiB,MAAMe;EACzB;AACF,CAAA,CAAA,CAAA;AAGJlB,kBAtDWF,gBAsDJqB,cAAa,CAACC,UACnB3B,OAAMsB,OACJjB,gBACAN,QAAOwB,IAAI,aAAA;AAET,SAAO;IACLd,OAAO,CAACK,UAAUa,MAAMC,OAAO;MAACd;KAAM;IACtCJ,iBAAiB,OAAO;MACtBmB,WAAW;QACTF,OAAOA,MAAMG,IAAIC,SAAQ;MAC3B;IACF;EACF;AACF,CAAA,CAAA,CAAA;AAMJxB,kBAzEWF,gBAyEJ2B,cAE2CjC,QAAOkC,WAAW,WAAWC,MAAI;AACjF,QAAMV,UAAU,OAAOnB;AACvBmB,UAAQf,MACNP,KAAIiC,KAAKlC,aAAa;IACpBmC,eAAeZ,QAAQd,gBAAe,EAAG0B;IACzCC,YAAYb,QAAQd,gBAAe,EAAG2B;IACtCC,UAAS,oBAAIC,KAAAA,GAAOC,YAAW;IAC/B,GAAGN;EACL,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA3B,kBAvFWF,gBAuFJoC,0BAE2C1C,QAAOkC,WAAW,WAAWC,MAAI;AACjF,QAAMV,UAAU,OAAOnB;AACvBmB,UAAQf,MACNP,KAAIiC,KAAK/B,UAASsC,SAAS;IACzBN,eAAeZ,QAAQd,gBAAe,EAAG0B;IACzC,GAAGF;IACHS,YAAY;MACV,CAACC,6BAAAA,GAAgCpB,QAAQd,gBAAe,EAAG2B;MAC3D,GAAGH,KAAKS;IACV;EACF,CAAA,CAAA;AAEJ,CAAA,CAAA;AAsBK,IAAMC,gCAAgC;;;ACxI7C,SAASC,WAAAA,UAASC,UAAAA,SAAQC,SAAAA,QAAOC,cAAc;AAE/C,SAASC,OAAAA,MAAKC,YAAY;AAC1B,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,UAAUC,OAAAA,YAAW;;;;;;;;;;;;;;;AAIvB,IAAMC,sBAAsBC,OAAOC,MACxCD,OAAOE,OAAO;EACZC,MAAMH,OAAOI,QAAQ,eAAA;EACrBC,QAAQL,OAAOM;EACfC,QAAQP,OAAOQ,OAAO;IAAEC,KAAKT,OAAOM;IAAQI,OAAOV,OAAOW;EAAI,CAAA;AAChE,CAAA,GACAX,OAAOE,OAAO;EACZC,MAAMH,OAAOI,QAAQ,aAAA;EACrBC,QAAQL,OAAOM;EACfM,SAASZ,OAAOQ,OAAO;IAAEC,KAAKT,OAAOM;IAAQI,OAAOV,OAAOW;EAAI,CAAA;AACjE,CAAA,GACAX,OAAOE,OAAO;EACZC,MAAMH,OAAOI,QAAQ,eAAA;EACrBC,QAAQL,OAAOM;EACfO,UAAUb,OAAOM;EACjBI,OAAOV,OAAOW;AAChB,CAAA,GACAX,OAAOE,OAAO;EACZC,MAAMH,OAAOI,QAAQ,gBAAA;EACrBC,QAAQL,OAAOM;EACfO,UAAUb,OAAOM;EACjBI,OAAOV,OAAOW;AAChB,CAAA,GACAX,OAAOE,OAAO;EACZC,MAAMH,OAAOI,QAAQ,QAAA;EACrBC,QAAQL,OAAOM;EACfQ,OAAOd,OAAOW;AAChB,CAAA,CAAA;AAIK,IAAMI,eAAef,OAAOE,OAAO;EACxCc,SAASjB;AACX,CAAA,EAAGkB,KAAKC,KAAKC,IAAI;EAAEC,UAAU;EAA8BC,SAAS;AAAQ,CAAA,CAAA;IAKpCC;AAAjC,IAAMC,qBAAN,eAAiCD,gBAAAA,SAAQE,IAAI,oCAAA,EAAA,GAGlD;AAqBF;AApBEC,kBAJWF,oBAIJG,QAAgD;EACrDC,KAAK,MAAA;EAAO;EACZtB,QAAQuB;AACV,CAAA;AAKAH,kBAZWF,oBAYJM,oBAAmBC,OAAMC,OAC9BR,oBACAS,QAAOC,IAAI,aAAA;AACT,QAAMC,UAAU,OAAOC;AACvB,SAAO;IACLR,KAAK,CAACb,UAAAA;AACJoB,cAAQE,MAAMjB,KAAIkB,KAAKtB,cAAc;QAAEC,SAASF;MAAM,CAAA,CAAA;IACxD;IACAT,QAAQuB;EACV;AACF,CAAA,CAAA,CAAA;AAIG,IAAMU,iBAAiB,CAACC,SAC7BP,QAAOC,IAAI,aAAA;AACT,QAAMO,SAAS,OAAOjB;AACtB,MAAI,CAACiB,OAAOnC,QAAQ;AAClB,UAAM,IAAIoC,MAAM,8DAAA;EAClB;AACAD,SAAOb,IAAI;IACTxB,MAAM;IACNE,QAAQmC,OAAOnC;IACfS,OAAOyB;EACT,CAAA;AACF,CAAA;AAEK,IAAMG,qBAAqB,MAChCV,QAAOW,SAAS,CAACC,UACfZ,QAAOC,IAAI,aAAA;AACTN,EAAAA,KAAIiB,MAAM,0BAA0B;IAAEA;EAAM,GAAA;;;;;;AAC5C,QAAMA;AACR,CAAA,CAAA;AAGG,IAAMC,oBAAoB,CAC/BC,OACAC,UAAkB,YAAO;AAEzB,QAAMC,cACJ;IACE,CAACC,SAASC,IAAI,GAAGvB,KAAIwB;IACrB,CAACF,SAASG,OAAO,GAAGzB,KAAI0B;IACxB,CAACJ,SAASK,KAAK,GAAG3B,KAAI4B;IACtB,CAACN,SAASO,IAAI,GAAG7B,KAAI8B;IACrB,CAACR,SAASS,KAAK,GAAG/B,KAAIiB;EACxB,EACAE,KAAAA;AACFa,EAAAA,WAAUX,aAAAA,QAAAA;;;;;;;;;AACV,SAAO;IACLrB,KAAK,CAACb,UAAAA;AACJkC,kBAAYD,SAASjC,KAAAA;IACvB;IACAT,QAAQuB;EACV;AACF;;;ACjHA,SAASgC,WAAAA,UAASC,UAAAA,SAAQC,SAAAA,cAAa;;;;;;;;;;;;;;IASLC;AAA3B,IAAMC,eAAN,eAA2BD,gBAAAA,SAAQE,IAAI,8BAAA,EAAA,GAc5C;AA0CF;AAzCEC,kBAfWF,cAeJG,gBAAeC,OAAMC,QAAQL,cAAc;EAChDM,QAAQ;IACNC,IAAIC,MAAI;AACN,YAAM,IAAIC,MAAM,sBAAA;IAClB;IACAC,SAAAA;AACE,YAAM,IAAID,MAAM,sBAAA;IAClB;EACF;EACAE,OAAOC;AACT,CAAA,CAAA;AAEAV,kBA3BWF,cA2BJa,QAAO,CAACP,QAAsBK,UAAAA;AACnC,SAAO;IACLL;IACAK;EACF;AACF,CAAA;AAEAT,kBAlCWF,cAkCJc,SAAQ,CAACR,QAAsBK,UACpCP,OAAMC,QAAQL,cAAcA,aAAaa,KAAKP,QAAQK,KAAAA,CAAAA,CAAAA;AAKxDT,kBAxCWF,cAwCJe,YAAW,CAChBC,QACiDhB,aAAaiB,KAAKC,QAAOC,IAAI,CAAC,EAAEb,OAAM,MAAOA,OAAOC,IAAOS,GAAAA,CAAAA,CAAAA,CAAAA;AAK9Gd,kBA/CWF,cA+CJoB,eAAc,CAA4DC,YAG/ErB,aAAaiB,KAAKC,QAAOC,IAAI,CAAC,EAAEb,OAAM,MAAOA,OAAOI,OAAUW,OAAAA,CAAAA,CAAAA,CAAAA;AAEhEnB,kBApDWF,cAoDJsB,UAAS,CACdX,OACAY,YACwBL,QAAOM,QAAQ,MAAMb,MAAMW,OAAOC,OAAAA,CAAAA,CAAAA;IAMrBxB;AAAlC,IAAM0B,sBAAN,eAAkC1B,gBAAAA,SAAQE,IAAI,qCAAA,EAAA,GAKnD;AAEF;AADEC,kBANWuB,qBAMJX,SAAQ,CAACH,UAAiBP,OAAMC,QAAQoB,qBAAqB;EAAEd;AAAM,CAAA,CAAA;;;AC5E9E,SAASe,WAAAA,UAASC,UAAAA,SAAQC,SAAAA,cAAa;A;;;;;;;;;;;;;IAUaC;AAA7C,IAAMC,iCAAN,MAAMA,yCAAuCD,gBAAAA,SAAQE,IAAI,gDAAA,EAAA,GAK9D;;;;;;EAMA,OAAOC,WAAWC,SAAiBC,SAAgE;AACjG,WAAOC,OAAMC,QAAQN,iCAAgC;MACnDO,cAAc,CAAOC,oBAA4BC,UAC/CC,QAAOC,IAAI,aAAA;AACT,cAAMC,MAAMC,iBAAiBL,oBAAoBL,SAAS;UAAEC;QAAQ,CAAA;AACpE,cAAMU,SAAS,OAAOJ,QAAOK,QAAQ,MACnCC,MAAMJ,KAAK;UACTK,QAAQ;UACRC,SAAS;YAAE,gBAAgB;UAAmB;UAC9CC,MAAMC,KAAKC,UAAUZ,KAAAA;QACvB,CAAA,CAAA;AAEF,YAAIK,OAAOQ,UAAU,OAAOR,OAAOQ,SAAS,KAAK;AAC/C,gBAAMC,OAAO,OAAOb,QAAOK,QAAQ,MAAMD,OAAOS,KAAI,CAAA;AACpD,iBAAO,OAAOb,QAAOc,IACnB,IAAIC,cAAc;YAChBC,SAAS;YACTC,OAAO,IAAIC,MAAM,eAAeL,IAAAA,EAAM;UACxC,CAAA,CAAA;QAEJ;AACA,cAAMM,OAAQ,OAAOnB,QAAOK,QAAQ,MAAMD,OAAOgB,KAAI,CAAA;AACrD,eAAOD;MACT,CAAA;IACJ,CAAA;EACF;AAUF;AAREE,kBAtCW/B,gCAsCJgC,QAAO,MAAA;AACZ,SAAO;IACLzB,cAAc,CAAOC,oBAA4BC,UAC/CC,QAAOJ,QAAQG,KAAAA;EACnB;AACF,CAAA;AAEAsB,kBA7CW/B,gCA6CJiC,aAAY5B,OAAMC,QAAQN,gCAAgCA,+BAA+BgC,KAAI,CAAA,CAAA;;;ACvDtG,SAAuBE,SAAAA,cAAa;AAEpC,SAASC,iBAAiB;AAC1B,SAASC,eAAe;A;;;;;;;;;;;;;AAcxB,IAAMC,WAAW;EACfC,IAAIC,UAAUA;EACdC,aAAaC;EACbC,UAAUC;EACVC,aAAaC;EACbC,qBAAqBC;EACrBC,QAAQC;EACRC,SAASC;AACX;AAqBA,IAAMC,kBAAuDC,OAAOC,YAClEC,QAAQlB,QAAAA,EAAUmB,IAAI,CAAC,CAACC,MAAMC,GAAAA,MAAS;EAACA,IAAIC;EAAKF;CAAK,CAAA;AAGjD,IAAMG,eAAwCP,OAAOQ,OAAOxB,QAAAA;AAEnE,IAAMyB,mBAA2C;EAC/CZ,SAASC,eAAeY;AAC1B;AAKO,IAAMC,mBAAN,MAAMA,kBAAAA;;;;;;EAQXC,YAAYC,UAAwC;AAClD,SAAKC,YAAY;MAAE,GAAG,KAAKA;MAAW,GAAGD;IAAS;AAClD,WAAO;EACT;EAEAE,WAAkBV,KAA4B;AAC5C,UAAMW,aAAajB,gBAAgBM,IAAIC,GAAG;AAC1C,UAAMW,UAAUD,cAAc,OAAO,KAAKF,UAAUE,UAAAA,IAAcE;AAClE,QAAI,CAACD,SAAS;AACZ,YAAM,IAAIE,MAAM,0BAA0Bd,IAAIC,GAAG,EAAE;IACrD;AAEA,WAAOW;EACT;EAEAG,QAA0B;AACxB,WAAO,IAAIT,kBAAAA,EAAmBC,YAAY;MAAE,GAAG,KAAKE;IAAU,CAAA;EAChE;;EAGAO,cAAqC;AACnC,UAAMpC,KACJ,KAAK6B,UAAU7B,MAAM,OAAOqC,OAAMC,QAAQrC,UAAUA,WAAW,KAAK4B,UAAU7B,EAAE,IAAIC,UAAUsC;AAChG,UAAMrC,cAAcmC,OAAMC,QACxBnC,oBACA,KAAK0B,UAAU3B,eAAe,IAAIsC,6BAAAA,CAAAA;AAEpC,UAAMpC,WACJ,KAAKyB,UAAUzB,YAAY,OACvBiC,OAAMC,QAAQjC,iBAAiB,KAAKwB,UAAUzB,QAAQ,IACtDC,gBAAgBkC;AACtB,UAAM7B,SACJ,KAAKmB,UAAUnB,UAAU,OAAO2B,OAAMC,QAAQ3B,cAAc,KAAKkB,UAAUnB,MAAM,IAAIC,aAAa4B;AACpG,UAAM3B,UAAUyB,OAAMC,QAAQzB,gBAAgB,KAAKgB,UAAUjB,WAAWC,eAAeY,IAAI;AAC3F,UAAMnB,cAAc+B,OAAMC,QAAQ/B,oBAAoB,KAAKsB,UAAUvB,eAAeC,mBAAmBkB,IAAI;AAC3G,UAAMjB,sBAAsB6B,OAAMC,QAChC7B,gCACA,KAAKoB,UAAUrB,uBAAuBC,+BAA+BgC,KAAI,CAAA;AAG3E,WAAOJ,OAAMK,SAAS1C,IAAIE,aAAaE,UAAUM,QAAQE,SAASN,aAAaE,mBAAAA;EACjF;;AAhDA,IAAAmC,kBAAA,MAAQd,aAAoC;MAAE,GAAGL;IAAiB,CAAA;;AAiDpE;",
6
- "names": ["BaseError", "ServiceNotAvailableError", "BaseError", "extend", "service", "options", "context", "FunctionNotFoundError", "functionKey", "function", "FunctionError", "TriggerStateNotFoundError", "FUNCTIONS_META_KEY", "FUNCTIONS_PRESET_META_KEY", "isSecure", "protocol", "getUserFunctionIdInMetadata", "meta", "keys", "find", "key", "source", "id", "setUserFunctionIdInMetadata", "functionId", "Error", "push", "getInvocationUrl", "edgeUrl", "options", "baseUrl", "URL", "url", "toString", "spaceId", "searchParams", "set", "subjectId", "Context", "Effect", "Layer", "Option", "Obj", "ObjectNotFoundError", "promiseWithCauseCapture", "invariant", "DatabaseService", "Tag", "notAvailable", "succeed", "db", "Error", "make", "layer", "resolve", "dxn", "schema", "gen", "object", "graph", "createRefResolver", "context", "space", "spaceId", "fail", "instanceOf", "load", "fn", "ref", "tryLoad", "loadOption", "pipe", "catchTag", "undefined", "fromNullable", "add", "obj", "map", "remove", "flush", "opts", "flatMap", "getObjectById", "id", "query", "queryOrFilter", "withSpan", "runQuery", "queryResult", "run", "schemaQuery", "schemaRegistry", "runSchemaQuery", "HttpClient", "HttpClientRequest", "Context", "Effect", "Layer", "Redacted", "Query", "DataType", "Context", "CredentialsService", "Tag", "_define_property", "getCredential", "query", "Effect", "gen", "credentials", "promise", "getApiKey", "credential", "apiKey", "Error", "service", "Redacted", "make", "configuredLayer", "Layer", "succeed", "ConfiguredCredentialsService", "layerConfig", "effect", "serviceCredentials", "forEach", "value", "layerFromDatabase", "dbService", "DatabaseService", "queryCredentials", "objects", "accessTokens", "db", "Query", "type", "DataType", "AccessToken", "run", "filter", "accessToken", "source", "map", "token", "length", "addCredentials", "push", "find", "withAuthorization", "kind", "HttpClient", "mapRequestEffect", "fnUntraced", "request", "key", "pipe", "authorization", "HttpClientRequest", "setHeader", "Context", "Effect", "Layer", "AgentStatus", "Obj", "log", "DataType", "TracingService", "Tag", "_define_property", "noop", "write", "getTraceContext", "layerNoop", "succeed", "console", "event", "layerConsole", "layerLogInfo", "instanceOf", "info", "message", "layerSubframe", "mapContext", "effect", "gen", "tracing", "context", "layerQueue", "queue", "append", "debugInfo", "dxn", "toString", "emitStatus", "fnUntraced", "data", "make", "parentMessage", "toolCallId", "created", "Date", "toISOString", "emitConverationMessage", "Message", "properties", "MESSAGE_PROPERTY_TOOL_CALL_ID", "Context", "Effect", "Layer", "Schema", "Obj", "Type", "invariant", "LogLevel", "log", "ComputeEventPayload", "Schema", "Union", "Struct", "type", "Literal", "nodeId", "String", "inputs", "Record", "key", "value", "Any", "outputs", "property", "event", "ComputeEvent", "payload", "pipe", "Type", "Obj", "typename", "version", "Context", "ComputeEventLogger", "Tag", "_define_property", "noop", "log", "undefined", "layerFromTracing", "Layer", "effect", "Effect", "gen", "tracing", "TracingService", "write", "make", "logCustomEvent", "data", "logger", "Error", "createDefectLogger", "catchAll", "error", "createEventLogger", "level", "message", "logFunction", "LogLevel", "WARN", "warn", "VERBOSE", "verbose", "DEBUG", "debug", "INFO", "info", "ERROR", "invariant", "Context", "Effect", "Layer", "Context", "QueueService", "Tag", "_define_property", "notAvailable", "Layer", "succeed", "queues", "get", "_dxn", "Error", "create", "queue", "undefined", "make", "layer", "getQueue", "dxn", "pipe", "Effect", "map", "createQueue", "options", "append", "objects", "promise", "ContextQueueService", "Context", "Effect", "Layer", "Context", "RemoteFunctionExecutionService", "Tag", "fromClient", "baseUrl", "spaceId", "Layer", "succeed", "callFunction", "deployedFunctionId", "input", "Effect", "gen", "url", "getInvocationUrl", "result", "promise", "fetch", "method", "headers", "body", "JSON", "stringify", "status", "text", "die", "FunctionError", "message", "cause", "Error", "data", "json", "_define_property", "mock", "layerMock", "Layer", "AiService", "entries", "SERVICES", "ai", "AiService", "credentials", "CredentialsService", "database", "DatabaseService", "eventLogger", "ComputeEventLogger", "functionCallService", "RemoteFunctionExecutionService", "queues", "QueueService", "tracing", "TracingService", "SERVICE_MAPPING", "Object", "fromEntries", "entries", "map", "name", "tag", "key", "SERVICE_TAGS", "values", "DEFAULT_SERVICES", "noop", "ServiceContainer", "setServices", "services", "_services", "getService", "serviceKey", "service", "undefined", "Error", "clone", "createLayer", "Layer", "succeed", "notAvailable", "ConfiguredCredentialsService", "mock", "mergeAll", "_define_property"]
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"fib.d.ts","sourceRoot":"","sources":["../../../../src/examples/fib.ts"],"names":[],"mappings":";;;;;AAQA,wBAsBG"}
@@ -1,4 +0,0 @@
1
- export { default as fib } from './fib';
2
- export { default as reply } from './reply';
3
- export { default as sleep } from './sleep';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/examples/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"reply.d.ts","sourceRoot":"","sources":["../../../../src/examples/reply.ts"],"names":[],"mappings":";AAQA,wBAUG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../../../src/examples/sleep.ts"],"names":[],"mappings":";;;AAQA,wBAcG"}
@@ -1,43 +0,0 @@
1
- import { Schema } from 'effect';
2
- import { Type } from '@dxos/echo';
3
- import { Ref } from '@dxos/echo-schema';
4
- /**
5
- * Source script.
6
- */
7
- export declare const ScriptType: Type.obj<Schema.Struct<{
8
- name: Schema.optional<typeof Schema.String>;
9
- description: Schema.optional<typeof Schema.String>;
10
- changed: Schema.optional<typeof Schema.Boolean>;
11
- source: import("@dxos/echo-schema").Ref$<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
12
- content: string;
13
- }>;
14
- }>>;
15
- export interface ScriptType extends Schema.Schema.Type<typeof ScriptType> {
16
- }
17
- /**
18
- * Function deployment.
19
- */
20
- export declare const FunctionType: Type.obj<Schema.Struct<{
21
- /**
22
- * Global registry ID.
23
- * NOTE: The `key` property refers to the original registry entry.
24
- */
25
- key: Schema.optional<typeof Schema.String>;
26
- name: typeof Schema.NonEmptyString;
27
- version: typeof Schema.String;
28
- description: Schema.optional<typeof Schema.String>;
29
- source: Schema.optional<import("@dxos/echo-schema").Ref$<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
30
- name?: string | undefined;
31
- description?: string | undefined;
32
- changed?: boolean | undefined;
33
- source: Ref<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
34
- content: string;
35
- }>;
36
- }>>;
37
- inputSchema: Schema.optional<Schema.Schema<Type.JsonSchema, Type.JsonSchema, never>>;
38
- outputSchema: Schema.optional<Schema.Schema<Type.JsonSchema, Type.JsonSchema, never>>;
39
- binding: Schema.optional<typeof Schema.String>;
40
- }>>;
41
- export interface FunctionType extends Schema.Schema.Type<typeof FunctionType> {
42
- }
43
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAmC,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGzE;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;GAatB,CAAC;AAEF,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC;CAAG;AAE5E;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB;;;OAGG;;;;;;;;;;;;;;;;GA6BJ,CAAC;AACF,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;CAAG"}
@@ -1,221 +0,0 @@
1
- import { Schema } from 'effect';
2
- import { QueryAST, Type } from '@dxos/echo';
3
- import { Expando, Ref } from '@dxos/echo-schema';
4
- /**
5
- * Type discriminator for TriggerType.
6
- * Every spec has a type field of type TriggerKind that we can use to understand which type we're working with.
7
- * https://www.typescriptlang.org/docs/handbook/2/narrowing.html#discriminated-unions
8
- */
9
- export declare const TriggerKinds: readonly ["timer", "webhook", "subscription", "email", "queue"];
10
- export type TriggerKind = (typeof TriggerKinds)[number];
11
- /**
12
- * Cron timer.
13
- */
14
- declare const TimerTriggerSchema: Schema.mutable<Schema.Struct<{
15
- kind: Schema.Literal<["timer"]>;
16
- cron: Schema.SchemaClass<string, string, never>;
17
- }>>;
18
- export type TimerTrigger = Schema.Schema.Type<typeof TimerTriggerSchema>;
19
- declare const EmailTriggerSchema: Schema.mutable<Schema.Struct<{
20
- kind: Schema.Literal<["email"]>;
21
- }>>;
22
- export type EmailTrigger = Schema.Schema.Type<typeof EmailTriggerSchema>;
23
- declare const QueueTriggerSchema: Schema.mutable<Schema.Struct<{
24
- kind: Schema.Literal<["queue"]>;
25
- queue: Schema.refine<string, typeof Schema.NonEmptyString>;
26
- }>>;
27
- export type QueueTrigger = Schema.Schema.Type<typeof QueueTriggerSchema>;
28
- /**
29
- * Webhook.
30
- */
31
- declare const WebhookTriggerSchema: Schema.mutable<Schema.Struct<{
32
- kind: Schema.Literal<["webhook"]>;
33
- method: Schema.optional<Schema.SchemaClass<string, string, never>>;
34
- port: Schema.optional<Schema.SchemaClass<number, number, never>>;
35
- }>>;
36
- export type WebhookTrigger = Schema.Schema.Type<typeof WebhookTriggerSchema>;
37
- /**
38
- * Subscription.
39
- */
40
- declare const SubscriptionTriggerSchema: Schema.mutable<Schema.Struct<{
41
- kind: Schema.Literal<["subscription"]>;
42
- query: Schema.Schema<QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, never>;
43
- options: Schema.optional<Schema.Struct<{
44
- deep: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
45
- delay: Schema.optional<Schema.SchemaClass<number, number, never>>;
46
- }>>;
47
- }>>;
48
- export type SubscriptionTrigger = Schema.Schema.Type<typeof SubscriptionTriggerSchema>;
49
- /**
50
- * Trigger schema (discriminated union).
51
- */
52
- export declare const TriggerSchema: Schema.Union<[Schema.mutable<Schema.Struct<{
53
- kind: Schema.Literal<["timer"]>;
54
- cron: Schema.SchemaClass<string, string, never>;
55
- }>>, Schema.mutable<Schema.Struct<{
56
- kind: Schema.Literal<["webhook"]>;
57
- method: Schema.optional<Schema.SchemaClass<string, string, never>>;
58
- port: Schema.optional<Schema.SchemaClass<number, number, never>>;
59
- }>>, Schema.mutable<Schema.Struct<{
60
- kind: Schema.Literal<["subscription"]>;
61
- query: Schema.Schema<QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, never>;
62
- options: Schema.optional<Schema.Struct<{
63
- deep: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
64
- delay: Schema.optional<Schema.SchemaClass<number, number, never>>;
65
- }>>;
66
- }>>, Schema.mutable<Schema.Struct<{
67
- kind: Schema.Literal<["email"]>;
68
- }>>, Schema.mutable<Schema.Struct<{
69
- kind: Schema.Literal<["queue"]>;
70
- queue: Schema.refine<string, typeof Schema.NonEmptyString>;
71
- }>>]>;
72
- export type TriggerType = Schema.Schema.Type<typeof TriggerSchema>;
73
- export type EventType = EmailTriggerOutput | WebhookTriggerOutput | QueueTriggerOutput | SubscriptionTriggerOutput | TimerTriggerOutput;
74
- export declare const EmailTriggerOutput: Schema.mutable<Schema.Struct<{
75
- from: typeof Schema.String;
76
- to: typeof Schema.String;
77
- subject: typeof Schema.String;
78
- created: typeof Schema.String;
79
- body: typeof Schema.String;
80
- }>>;
81
- export type EmailTriggerOutput = Schema.Schema.Type<typeof EmailTriggerOutput>;
82
- export declare const WebhookTriggerOutput: Schema.mutable<Schema.Struct<{
83
- url: typeof Schema.String;
84
- method: Schema.Literal<["GET", "POST"]>;
85
- headers: Schema.Record$<typeof Schema.String, typeof Schema.String>;
86
- bodyText: typeof Schema.String;
87
- }>>;
88
- export type WebhookTriggerOutput = Schema.Schema.Type<typeof WebhookTriggerOutput>;
89
- export declare const QueueTriggerOutput: Schema.mutable<Schema.Struct<{
90
- queue: Schema.refine<string, typeof Schema.NonEmptyString>;
91
- item: typeof Schema.Any;
92
- cursor: typeof Schema.String;
93
- }>>;
94
- export type QueueTriggerOutput = Schema.Schema.Type<typeof QueueTriggerOutput>;
95
- export declare const SubscriptionTriggerOutput: Schema.mutable<Schema.Struct<{
96
- /**
97
- * Type of the mutation.
98
- */
99
- type: typeof Schema.String;
100
- /**
101
- * Reference to the object that was changed or created.
102
- */
103
- subject: Type.ref<Type.obj<Schema.Struct<{}>>>;
104
- /**
105
- * @deprecated
106
- */
107
- changedObjectId: Schema.optional<typeof Schema.String>;
108
- }>>;
109
- export type SubscriptionTriggerOutput = Schema.Schema.Type<typeof SubscriptionTriggerOutput>;
110
- export declare const TimerTriggerOutput: Schema.mutable<Schema.Struct<{
111
- tick: typeof Schema.Number;
112
- }>>;
113
- export type TimerTriggerOutput = Schema.Schema.Type<typeof TimerTriggerOutput>;
114
- /**
115
- * Function trigger.
116
- * Function is invoked with the `payload` passed as input data.
117
- * The event that triggers the function is available in the function context.
118
- */
119
- declare const FunctionTrigger_: Type.obj<Schema.Struct<{
120
- /**
121
- * Function or workflow to invoke.
122
- */
123
- function: Schema.optional<Schema.SchemaClass<Ref<Expando>, import("@dxos/echo-protocol").EncodedReference, never>>;
124
- /**
125
- * Only used for workflowSchema.
126
- * Specifies the input node in the circuit.
127
- * @deprecated Remove and enforce a single input node in all compute graphSchema.
128
- */
129
- inputNodeId: Schema.optional<Schema.SchemaClass<string, string, never>>;
130
- enabled: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
131
- spec: Schema.optional<Schema.Union<[Schema.mutable<Schema.Struct<{
132
- kind: Schema.Literal<["timer"]>;
133
- cron: Schema.SchemaClass<string, string, never>;
134
- }>>, Schema.mutable<Schema.Struct<{
135
- kind: Schema.Literal<["webhook"]>;
136
- method: Schema.optional<Schema.SchemaClass<string, string, never>>;
137
- port: Schema.optional<Schema.SchemaClass<number, number, never>>;
138
- }>>, Schema.mutable<Schema.Struct<{
139
- kind: Schema.Literal<["subscription"]>;
140
- query: Schema.Schema<QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, QueryAST.QuerySelectClause | QueryAST.QueryFilterClause | QueryAST.QueryReferenceTraversalClause | QueryAST.QueryIncomingReferencesClause | QueryAST.QueryRelationClause | QueryAST.QueryRelationTraversalClause | QueryAST.QueryUnionClause | QueryAST.QuerySetDifferenceClause | QueryAST.QueryOrderClause | QueryAST.QueryOptionsClause, never>;
141
- options: Schema.optional<Schema.Struct<{
142
- deep: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
143
- delay: Schema.optional<Schema.SchemaClass<number, number, never>>;
144
- }>>;
145
- }>>, Schema.mutable<Schema.Struct<{
146
- kind: Schema.Literal<["email"]>;
147
- }>>, Schema.mutable<Schema.Struct<{
148
- kind: Schema.Literal<["queue"]>;
149
- queue: Schema.refine<string, typeof Schema.NonEmptyString>;
150
- }>>]>>;
151
- /**
152
- * Passed as the input data to the function.
153
- * Must match the function's input schema.
154
- *
155
- * @example
156
- * {
157
- * item: '{{$.trigger.event}}',
158
- * instructions: 'Summarize and perform entity-extraction'
159
- * mailbox: { '/': 'dxn:echo:AAA:ZZZ' }
160
- * }
161
- */
162
- input: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
163
- }>>;
164
- export interface FunctionTrigger extends Schema.Schema.Type<typeof FunctionTrigger_> {
165
- }
166
- export interface FunctionTriggerEncoded extends Schema.Schema.Encoded<typeof FunctionTrigger_> {
167
- }
168
- export declare const FunctionTrigger: Schema.Schema<FunctionTrigger, FunctionTriggerEncoded>;
169
- /**
170
- * Function manifest file.
171
- */
172
- export declare const FunctionManifestSchema: Schema.Struct<{
173
- functions: Schema.optional<Schema.mutable<Schema.Array$<Schema.Schema<import("@dxos/echo-schema").ExcludeId<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
174
- name: string;
175
- description?: string | undefined;
176
- source?: Ref<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
177
- name?: string | undefined;
178
- description?: string | undefined;
179
- changed?: boolean | undefined;
180
- source: Ref<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
181
- content: string;
182
- }>;
183
- }> | undefined;
184
- version: string;
185
- key?: string | undefined;
186
- inputSchema?: Type.JsonSchema | undefined;
187
- outputSchema?: Type.JsonSchema | undefined;
188
- binding?: string | undefined;
189
- }> & import("@dxos/echo-schema").WithMeta, {
190
- id: string;
191
- name: string;
192
- version: string;
193
- description?: string | undefined;
194
- source?: import("@dxos/echo-protocol").EncodedReference | undefined;
195
- key?: string | undefined;
196
- inputSchema?: Type.JsonSchema | undefined;
197
- outputSchema?: Type.JsonSchema | undefined;
198
- binding?: string | undefined;
199
- }, never>>>>;
200
- triggers: Schema.optional<Schema.mutable<Schema.Array$<Schema.Schema<import("@dxos/echo-schema").ExcludeId<FunctionTrigger> & import("@dxos/echo-schema").WithMeta, FunctionTriggerEncoded, never>>>>;
201
- }>;
202
- export type FunctionManifest = Schema.Schema.Type<typeof FunctionManifestSchema>;
203
- export declare const FUNCTION_TYPES: (Type.obj<Schema.Struct<{
204
- key: Schema.optional<typeof Schema.String>;
205
- name: typeof Schema.NonEmptyString;
206
- version: typeof Schema.String;
207
- description: Schema.optional<typeof Schema.String>;
208
- source: Schema.optional<import("@dxos/echo-schema").Ref$<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
209
- name?: string | undefined;
210
- description?: string | undefined;
211
- changed?: boolean | undefined;
212
- source: Ref<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
213
- content: string;
214
- }>;
215
- }>>;
216
- inputSchema: Schema.optional<Schema.Schema<Type.JsonSchema, Type.JsonSchema, never>>;
217
- outputSchema: Schema.optional<Schema.Schema<Type.JsonSchema, Type.JsonSchema, never>>;
218
- binding: Schema.optional<typeof Schema.String>;
219
- }>> | Schema.Schema<FunctionTrigger, FunctionTriggerEncoded, never>)[];
220
- export {};
221
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- export { default as fib } from './fib';
6
- export { default as reply } from './reply';
7
- export { default as sleep } from './sleep';
package/src/types.ts DELETED
@@ -1,214 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { Schema, SchemaAST } from 'effect';
6
-
7
- import { Obj, QueryAST, Type } from '@dxos/echo';
8
- import { Expando, OptionsAnnotationId, RawObject, Ref } from '@dxos/echo-schema';
9
- import { DXN } from '@dxos/keys';
10
-
11
- import { FunctionType } from './schema';
12
-
13
- /**
14
- * Type discriminator for TriggerType.
15
- * Every spec has a type field of type TriggerKind that we can use to understand which type we're working with.
16
- * https://www.typescriptlang.org/docs/handbook/2/narrowing.html#discriminated-unions
17
- */
18
- export const TriggerKinds = ['timer', 'webhook', 'subscription', 'email', 'queue'] as const;
19
- export type TriggerKind = (typeof TriggerKinds)[number];
20
-
21
- const kindLiteralAnnotations = { title: 'Kind' };
22
-
23
- /**
24
- * Cron timer.
25
- */
26
- const TimerTriggerSchema = Schema.Struct({
27
- kind: Schema.Literal('timer').annotations(kindLiteralAnnotations),
28
- cron: Schema.String.annotations({
29
- title: 'Cron',
30
- [SchemaAST.ExamplesAnnotationId]: ['0 0 * * *'],
31
- }),
32
- }).pipe(Schema.mutable);
33
- export type TimerTrigger = Schema.Schema.Type<typeof TimerTriggerSchema>;
34
-
35
- const EmailTriggerSchema = Schema.Struct({
36
- kind: Schema.Literal('email').annotations(kindLiteralAnnotations),
37
- }).pipe(Schema.mutable);
38
- export type EmailTrigger = Schema.Schema.Type<typeof EmailTriggerSchema>;
39
-
40
- const QueueTriggerSchema = Schema.Struct({
41
- kind: Schema.Literal('queue').annotations(kindLiteralAnnotations),
42
-
43
- // TODO(dmaretskyi): Change to a reference.
44
- queue: DXN.Schema,
45
- }).pipe(Schema.mutable);
46
- export type QueueTrigger = Schema.Schema.Type<typeof QueueTriggerSchema>;
47
-
48
- /**
49
- * Webhook.
50
- */
51
- const WebhookTriggerSchema = Schema.Struct({
52
- kind: Schema.Literal('webhook').annotations(kindLiteralAnnotations),
53
- method: Schema.optional(
54
- Schema.String.annotations({
55
- title: 'Method',
56
- [OptionsAnnotationId]: ['GET', 'POST'],
57
- }),
58
- ),
59
- port: Schema.optional(
60
- Schema.Number.annotations({
61
- title: 'Port',
62
- }),
63
- ),
64
- }).pipe(Schema.mutable);
65
- export type WebhookTrigger = Schema.Schema.Type<typeof WebhookTriggerSchema>;
66
-
67
- /**
68
- * Subscription.
69
- */
70
- const SubscriptionTriggerSchema = Schema.Struct({
71
- kind: Schema.Literal('subscription').annotations(kindLiteralAnnotations),
72
- query: QueryAST.Query.annotations({ title: 'Query' }),
73
- options: Schema.optional(
74
- Schema.Struct({
75
- // Watch changes to object (not just creation).
76
- deep: Schema.optional(Schema.Boolean.annotations({ title: 'Nested' })),
77
- // Debounce changes (delay in ms).
78
- delay: Schema.optional(Schema.Number.annotations({ title: 'Delay' })),
79
- }).annotations({ title: 'Options' }),
80
- ),
81
- }).pipe(Schema.mutable);
82
- export type SubscriptionTrigger = Schema.Schema.Type<typeof SubscriptionTriggerSchema>;
83
-
84
- /**
85
- * Trigger schema (discriminated union).
86
- */
87
- export const TriggerSchema = Schema.Union(
88
- TimerTriggerSchema,
89
- WebhookTriggerSchema,
90
- SubscriptionTriggerSchema,
91
- EmailTriggerSchema,
92
- QueueTriggerSchema,
93
- ).annotations({
94
- title: 'Trigger',
95
- });
96
- export type TriggerType = Schema.Schema.Type<typeof TriggerSchema>;
97
-
98
- export type EventType =
99
- | EmailTriggerOutput
100
- | WebhookTriggerOutput
101
- | QueueTriggerOutput
102
- | SubscriptionTriggerOutput
103
- | TimerTriggerOutput;
104
-
105
- // TODO(burdon): Reuse trigger schema from @dxos/functions (TriggerType).
106
- export const EmailTriggerOutput = Schema.mutable(
107
- Schema.Struct({
108
- from: Schema.String,
109
- to: Schema.String,
110
- subject: Schema.String,
111
- created: Schema.String,
112
- body: Schema.String,
113
- }),
114
- );
115
- export type EmailTriggerOutput = Schema.Schema.Type<typeof EmailTriggerOutput>;
116
-
117
- export const WebhookTriggerOutput = Schema.mutable(
118
- Schema.Struct({
119
- url: Schema.String,
120
- method: Schema.Literal('GET', 'POST'),
121
- headers: Schema.Record({ key: Schema.String, value: Schema.String }),
122
- bodyText: Schema.String,
123
- }),
124
- );
125
- export type WebhookTriggerOutput = Schema.Schema.Type<typeof WebhookTriggerOutput>;
126
-
127
- export const QueueTriggerOutput = Schema.mutable(
128
- Schema.Struct({
129
- queue: DXN.Schema,
130
- item: Schema.Any,
131
- cursor: Schema.String,
132
- }),
133
- );
134
- export type QueueTriggerOutput = Schema.Schema.Type<typeof QueueTriggerOutput>;
135
-
136
- export const SubscriptionTriggerOutput = Schema.Struct({
137
- /**
138
- * Type of the mutation.
139
- */
140
- // TODO(dmaretskyi): Specify enum.
141
- type: Schema.String,
142
-
143
- /**
144
- * Reference to the object that was changed or created.
145
- */
146
- subject: Type.Ref(Obj.Any),
147
-
148
- /**
149
- * @deprecated
150
- */
151
- changedObjectId: Schema.optional(Schema.String),
152
- }).pipe(Schema.mutable);
153
- export type SubscriptionTriggerOutput = Schema.Schema.Type<typeof SubscriptionTriggerOutput>;
154
-
155
- export const TimerTriggerOutput = Schema.mutable(Schema.Struct({ tick: Schema.Number }));
156
- export type TimerTriggerOutput = Schema.Schema.Type<typeof TimerTriggerOutput>;
157
-
158
- /**
159
- * Function trigger.
160
- * Function is invoked with the `payload` passed as input data.
161
- * The event that triggers the function is available in the function context.
162
- */
163
- const FunctionTrigger_ = Schema.Struct({
164
- /**
165
- * Function or workflow to invoke.
166
- */
167
- // TODO(dmaretskyi): Can be a Ref(FunctionType) or Ref(ComputeGraphType).
168
- function: Schema.optional(Ref(Expando).annotations({ title: 'Function' })),
169
-
170
- /**
171
- * Only used for workflowSchema.
172
- * Specifies the input node in the circuit.
173
- * @deprecated Remove and enforce a single input node in all compute graphSchema.
174
- */
175
- inputNodeId: Schema.optional(Schema.String.annotations({ title: 'Input Node ID' })),
176
-
177
- enabled: Schema.optional(Schema.Boolean.annotations({ title: 'Enabled' })),
178
-
179
- spec: Schema.optional(TriggerSchema),
180
-
181
- /**
182
- * Passed as the input data to the function.
183
- * Must match the function's input schema.
184
- *
185
- * @example
186
- * {
187
- * item: '{{$.trigger.event}}',
188
- * instructions: 'Summarize and perform entity-extraction'
189
- * mailbox: { '/': 'dxn:echo:AAA:ZZZ' }
190
- * }
191
- */
192
- input: Schema.optional(Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.Any }))),
193
- }).pipe(
194
- Type.Obj({
195
- typename: 'dxos.org/type/FunctionTrigger',
196
- version: '0.2.0',
197
- }),
198
- );
199
- export interface FunctionTrigger extends Schema.Schema.Type<typeof FunctionTrigger_> {}
200
- export interface FunctionTriggerEncoded extends Schema.Schema.Encoded<typeof FunctionTrigger_> {}
201
- export const FunctionTrigger: Schema.Schema<FunctionTrigger, FunctionTriggerEncoded> = FunctionTrigger_;
202
-
203
- // TODO(wittjosiah): Remove?
204
-
205
- /**
206
- * Function manifest file.
207
- */
208
- export const FunctionManifestSchema = Schema.Struct({
209
- functions: Schema.optional(Schema.mutable(Schema.Array(RawObject(FunctionType)))),
210
- triggers: Schema.optional(Schema.mutable(Schema.Array(RawObject(FunctionTrigger)))),
211
- });
212
- export type FunctionManifest = Schema.Schema.Type<typeof FunctionManifestSchema>;
213
-
214
- export const FUNCTION_TYPES = [FunctionType, FunctionTrigger];