@dxos/functions 0.8.4-main.c1de068 → 0.8.4-main.dedc0f3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/bundler/index.mjs +56 -38
- package/dist/lib/browser/bundler/index.mjs.map +3 -3
- package/dist/lib/browser/chunk-ANP3DFCO.mjs +623 -0
- package/dist/lib/browser/chunk-ANP3DFCO.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/browser/edge/index.mjs +22 -8
- package/dist/lib/browser/edge/index.mjs.map +3 -3
- package/dist/lib/browser/index.mjs +892 -130
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +76 -6
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/bundler/index.mjs +55 -38
- package/dist/lib/node-esm/bundler/index.mjs.map +3 -3
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MPKVY7ZR.mjs +625 -0
- package/dist/lib/node-esm/chunk-MPKVY7ZR.mjs.map +7 -0
- package/dist/lib/node-esm/edge/index.mjs +21 -8
- package/dist/lib/node-esm/edge/index.mjs.map +3 -3
- package/dist/lib/node-esm/index.mjs +892 -130
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +76 -6
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/types/src/bundler/bundler.d.ts +11 -12
- package/dist/types/src/bundler/bundler.d.ts.map +1 -1
- package/dist/types/src/edge/functions.d.ts +3 -2
- package/dist/types/src/edge/functions.d.ts.map +1 -1
- package/dist/types/src/errors.d.ts +77 -8
- package/dist/types/src/errors.d.ts.map +1 -1
- package/dist/types/src/examples/fib.d.ts +7 -0
- package/dist/types/src/examples/fib.d.ts.map +1 -0
- package/dist/types/src/examples/index.d.ts +4 -0
- package/dist/types/src/examples/index.d.ts.map +1 -0
- package/dist/types/src/examples/reply.d.ts +3 -0
- package/dist/types/src/examples/reply.d.ts.map +1 -0
- package/dist/types/src/examples/sleep.d.ts +5 -0
- package/dist/types/src/examples/sleep.d.ts.map +1 -0
- package/dist/types/src/executor/executor.d.ts +4 -1
- package/dist/types/src/executor/executor.d.ts.map +1 -1
- package/dist/types/src/handler.d.ts +40 -8
- package/dist/types/src/handler.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/schema.d.ts +6 -1
- package/dist/types/src/schema.d.ts.map +1 -1
- package/dist/types/src/services/credentials.d.ts +16 -3
- package/dist/types/src/services/credentials.d.ts.map +1 -1
- package/dist/types/src/services/database.d.ts +75 -6
- package/dist/types/src/services/database.d.ts.map +1 -1
- package/dist/types/src/services/event-logger.d.ts +65 -30
- package/dist/types/src/services/event-logger.d.ts.map +1 -1
- package/dist/types/src/services/index.d.ts +2 -1
- package/dist/types/src/services/index.d.ts.map +1 -1
- package/dist/types/src/services/local-function-execution.d.ts +25 -0
- package/dist/types/src/services/local-function-execution.d.ts.map +1 -0
- package/dist/types/src/services/queues.d.ts +21 -6
- package/dist/types/src/services/queues.d.ts.map +1 -1
- package/dist/types/src/services/remote-function-execution-service.d.ts +15 -0
- package/dist/types/src/services/remote-function-execution-service.d.ts.map +1 -0
- package/dist/types/src/services/service-container.d.ts +5 -5
- package/dist/types/src/services/service-container.d.ts.map +1 -1
- package/dist/types/src/services/service-registry.d.ts +1 -1
- package/dist/types/src/services/service-registry.d.ts.map +1 -1
- package/dist/types/src/services/tracing.d.ts +37 -5
- package/dist/types/src/services/tracing.d.ts.map +1 -1
- package/dist/types/src/testing/layer.d.ts +7 -2
- package/dist/types/src/testing/layer.d.ts.map +1 -1
- package/dist/types/src/testing/logger.d.ts +3 -3
- package/dist/types/src/testing/logger.d.ts.map +1 -1
- package/dist/types/src/testing/persist-database.test.d.ts +2 -0
- package/dist/types/src/testing/persist-database.test.d.ts.map +1 -0
- package/dist/types/src/testing/services.d.ts +2 -2
- package/dist/types/src/testing/services.d.ts.map +1 -1
- package/dist/types/src/trace.d.ts +20 -22
- package/dist/types/src/trace.d.ts.map +1 -1
- package/dist/types/src/triggers/index.d.ts +4 -0
- package/dist/types/src/triggers/index.d.ts.map +1 -0
- package/dist/types/src/triggers/input-builder.d.ts +3 -0
- package/dist/types/src/triggers/input-builder.d.ts.map +1 -0
- package/dist/types/src/triggers/invocation-tracer.d.ts +35 -0
- package/dist/types/src/triggers/invocation-tracer.d.ts.map +1 -0
- package/dist/types/src/triggers/trigger-dispatcher.d.ts +75 -0
- package/dist/types/src/triggers/trigger-dispatcher.d.ts.map +1 -0
- package/dist/types/src/triggers/trigger-dispatcher.test.d.ts +2 -0
- package/dist/types/src/triggers/trigger-dispatcher.test.d.ts.map +1 -0
- package/dist/types/src/triggers/trigger-state-store.d.ts +27 -0
- package/dist/types/src/triggers/trigger-state-store.d.ts.map +1 -0
- package/dist/types/src/types.d.ts +49 -249
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/src/url.d.ts +10 -6
- package/dist/types/src/url.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +39 -34
- package/src/bundler/bundler.test.ts +8 -9
- package/src/bundler/bundler.ts +32 -33
- package/src/edge/functions.ts +8 -5
- package/src/errors.ts +8 -0
- package/src/examples/fib.ts +30 -0
- package/src/examples/index.ts +7 -0
- package/src/examples/reply.ts +18 -0
- package/src/examples/sleep.ts +22 -0
- package/src/executor/executor.ts +9 -9
- package/src/handler.ts +99 -18
- package/src/index.ts +3 -3
- package/src/schema.ts +11 -0
- package/src/services/credentials.ts +79 -3
- package/src/services/database.ts +118 -18
- package/src/services/event-logger.ts +68 -37
- package/src/services/index.ts +2 -1
- package/src/services/local-function-execution.ts +114 -0
- package/src/services/queues.ts +37 -10
- package/src/services/remote-function-execution-service.ts +46 -0
- package/src/services/service-container.ts +11 -10
- package/src/services/service-registry.ts +5 -2
- package/src/services/tracing.ts +105 -7
- package/src/testing/layer.ts +83 -3
- package/src/testing/logger.ts +4 -4
- package/src/testing/persist-database.test.ts +87 -0
- package/src/testing/services.ts +4 -3
- package/src/trace.ts +17 -19
- package/src/triggers/index.ts +7 -0
- package/src/triggers/input-builder.ts +35 -0
- package/src/triggers/invocation-tracer.ts +99 -0
- package/src/triggers/trigger-dispatcher.test.ts +652 -0
- package/src/triggers/trigger-dispatcher.ts +512 -0
- package/src/triggers/trigger-state-store.ts +60 -0
- package/src/types.ts +22 -33
- package/src/url.ts +13 -10
- package/dist/lib/browser/chunk-3NGCSUEW.mjs +0 -328
- package/dist/lib/browser/chunk-3NGCSUEW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FJ2MU7TL.mjs +0 -330
- package/dist/lib/node-esm/chunk-FJ2MU7TL.mjs.map +0 -7
- package/dist/types/src/services/function-call-service.d.ts +0 -16
- package/dist/types/src/services/function-call-service.d.ts.map +0 -1
- package/src/services/function-call-service.ts +0 -64
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/testing/services.ts", "../../../../src/testing/logger.ts", "../../../../src/testing/layer.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Context } from 'effect';\n\nimport type { Space } from '@dxos/client/echo';\nimport type { EchoDatabase, QueueFactory } from '@dxos/echo-db';\nimport { assertArgument } from '@dxos/invariant';\n\nimport {\n ConfiguredCredentialsService,\n type CredentialsService,\n DatabaseService,\n
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["assertArgument", "Effect", "LogLevel", "noopLogger", "log", "Effect", "succeed", "undefined", "nodeId", "consoleLogger", "createEventLogger", "LogLevel", "INFO", "createTestServices", "ai", "credentials", "db", "logging", "queues", "space", "tracing", "assertArgument", "ServiceContainer", "setServices", "createCredentialsService", "database", "DatabaseService", "make", "undefined", "eventLogger", "logger", "enabled", "consoleLogger", "noopLogger", "QueueService", "service", "services", "ConfiguredCredentialsService", "Context", "Effect", "Layer", "EchoTestBuilder", "accuireReleaseResource", "testBuilder", "accuireReleaseResource", "EchoTestBuilder", "TestDatabaseLayer", "indexing", "types", "Layer", "scopedContext", "Effect", "gen", "builder", "db", "queues", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Context } from 'effect';\n\nimport type { Space } from '@dxos/client/echo';\nimport type { EchoDatabase, QueueFactory } from '@dxos/echo-db';\nimport { assertArgument } from '@dxos/invariant';\n\nimport {\n type ComputeEventLogger,\n ConfiguredCredentialsService,\n type CredentialsService,\n DatabaseService,\n QueueService,\n ServiceContainer,\n type ServiceCredential,\n type TracingService,\n} from '../services';\n\nimport { consoleLogger, noopLogger } from './logger';\n\n// TODO(burdon): Factor out.\nexport type OneOf<T> = {\n [K in keyof T]: { [P in K]: T[P] } & { [P in Exclude<keyof T, K>]?: never };\n}[keyof T];\n\nexport type AiServiceProvider = 'dev' | 'edge' | 'ollama' | 'lmstudio';\n\nexport type TestServiceOptions = {\n /**\n * AI service configuration.\n */\n ai?: any;\n\n /**\n * Credentials service configuration.\n */\n credentials?: OneOf<{\n /**\n * Predefined credentials list.\n */\n services?: ServiceCredential[];\n\n /**\n * Custom credentials service.\n */\n service?: Context.Tag.Service<CredentialsService>;\n }>;\n\n /**\n * Database configuration.\n */\n db?: EchoDatabase;\n\n /**\n * Gets database and queue services from the space.\n * Exclusive with: `db`, `queues`\n */\n space?: Space;\n\n /**\n * Logging configuration.\n */\n logging?: {\n enabled?: boolean;\n logger?: Context.Tag.Service<ComputeEventLogger>;\n };\n\n /**\n * Queue service configuration.\n */\n queues?: QueueFactory;\n\n tracing?: {\n service?: Context.Tag.Service<TracingService>;\n };\n};\n\n/**\n * @deprecated\n */\nexport const createTestServices = ({\n ai,\n credentials,\n db,\n logging,\n queues,\n space,\n tracing,\n}: TestServiceOptions = {}): ServiceContainer => {\n assertArgument(!(!!space && (!!db || !!queues)), 'space', 'space can be provided only if db and queues are not');\n\n return new ServiceContainer().setServices({\n // ai: createAiService(ai),\n credentials: createCredentialsService(credentials),\n database: space || db ? DatabaseService.make(space?.db || db!) : undefined,\n eventLogger: (logging?.logger ?? logging?.enabled) ? consoleLogger : noopLogger,\n queues: space || queues ? QueueService.make(space?.queues || queues!, undefined) : undefined,\n tracing: tracing?.service,\n });\n};\n\nconst createCredentialsService = (\n credentials: TestServiceOptions['credentials'] | undefined,\n): Context.Tag.Service<CredentialsService> | undefined => {\n if (credentials?.services) {\n return new ConfiguredCredentialsService(credentials.services);\n }\n\n if (credentials?.service) {\n return credentials.service;\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Context, Effect } from 'effect';\n\nimport { LogLevel } from '@dxos/log';\n\nimport { type ComputeEventLogger, createEventLogger } from '../services';\n\nexport const noopLogger: Context.Tag.Service<ComputeEventLogger> = {\n log: () => Effect.succeed(undefined),\n nodeId: undefined,\n};\n\nexport const consoleLogger: Context.Tag.Service<ComputeEventLogger> = createEventLogger(LogLevel.INFO);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport type { Schema } from 'effect';\nimport { Context, Effect, Layer } from 'effect';\n\nimport type { EchoDatabaseImpl, QueueFactory } from '@dxos/echo-db';\nimport { EchoTestBuilder } from '@dxos/echo-db/testing';\nimport type { EchoHostIndexingConfig } from '@dxos/echo-pipeline';\nimport { accuireReleaseResource } from '@dxos/effect';\nimport { PublicKey } from '@dxos/keys';\nimport type { LevelDB } from '@dxos/kv-store';\nimport { createTestLevel } from '@dxos/kv-store/testing';\nimport { log } from '@dxos/log';\n\nimport { DatabaseService, QueueService } from '../services';\n\nconst testBuilder = accuireReleaseResource(() => new EchoTestBuilder());\n\nexport const testStoragePath = ({ name = PublicKey.random().toHex() }: { name?: string }) => {\n return `/tmp/dxos-${name}`;\n};\n\nexport type TestDatabaseOptions = {\n indexing?: Partial<EchoHostIndexingConfig>;\n types?: Schema.Schema.AnyNoContext[];\n storagePath?: string;\n onInit?: () => Effect.Effect<void, never, DatabaseService | QueueService>;\n};\n\nexport const TestDatabaseLayer = ({ indexing, types, storagePath, onInit }: TestDatabaseOptions = {}) =>\n Layer.scopedContext(\n Effect.gen(function* () {\n const builder = yield* testBuilder;\n\n let kv: LevelDB | undefined;\n if (storagePath) {\n kv = createTestLevel(storagePath);\n yield* Effect.promise(() => kv!.open());\n // const keyCount = yield* Effect.promise(async () => (await kv!.iterator({ values: false }).all()).length);\n // log.info('opened test db', { storagePath, keyCount });\n }\n const peer = yield* Effect.promise(() => builder.createPeer({ indexing, types, kv }));\n\n let db: EchoDatabaseImpl | undefined;\n let queues: QueueFactory | undefined;\n\n if (storagePath) {\n const testMetadata = yield* Effect.promise(async () => {\n try {\n return await kv!.get('test-metadata', { valueEncoding: 'json' });\n } catch (e) {\n if ((e as any).code === 'LEVEL_NOT_FOUND') {\n return undefined;\n }\n throw e;\n }\n });\n log('starting persistant test db', { storagePath, testMetadata });\n if (!testMetadata) {\n const key = PublicKey.random();\n db = yield* Effect.promise(() => peer.createDatabase(key));\n queues = peer.client.constructQueueFactory(db.spaceId);\n\n yield* Effect.promise(() =>\n kv!.put('test-metadata', { key: key.toHex(), rootUrl: db!.rootUrl }, { valueEncoding: 'json' }),\n );\n\n if (onInit) {\n yield* onInit().pipe(\n Effect.provideService(DatabaseService, DatabaseService.make(db)),\n Effect.provideService(QueueService, QueueService.make(queues, undefined)),\n );\n }\n } else {\n const key = PublicKey.from((testMetadata as any).key);\n const rootUrl = (testMetadata as any).rootUrl;\n db = yield* Effect.promise(() => peer.openDatabase(key, rootUrl));\n queues = peer.client.constructQueueFactory(db.spaceId);\n }\n } else {\n db = yield* Effect.promise(() => peer.createDatabase());\n queues = peer.client.constructQueueFactory(db.spaceId);\n if (onInit) {\n yield* onInit().pipe(\n Effect.provideService(DatabaseService, DatabaseService.make(db)),\n Effect.provideService(QueueService, QueueService.make(queues, undefined)),\n );\n }\n }\n\n yield* Effect.addFinalizer(() =>\n Effect.promise(async () => {\n if (kv) {\n // {\n // const keyCount = (await kv.iterator({ values: false }).all()).length;\n // log.info('closing persistant test db', { storagePath, keyCount });\n // }\n\n await kv.close();\n }\n }),\n );\n\n return Context.mergeAll(\n Context.make(DatabaseService, DatabaseService.make(db)),\n Context.make(QueueService, QueueService.make(queues, undefined)),\n );\n }),\n );\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["assertArgument", "Effect", "LogLevel", "noopLogger", "log", "Effect", "succeed", "undefined", "nodeId", "consoleLogger", "createEventLogger", "LogLevel", "INFO", "createTestServices", "ai", "credentials", "db", "logging", "queues", "space", "tracing", "assertArgument", "ServiceContainer", "setServices", "createCredentialsService", "database", "DatabaseService", "make", "undefined", "eventLogger", "logger", "enabled", "consoleLogger", "noopLogger", "QueueService", "service", "services", "ConfiguredCredentialsService", "Context", "Effect", "Layer", "EchoTestBuilder", "accuireReleaseResource", "PublicKey", "createTestLevel", "log", "testBuilder", "accuireReleaseResource", "EchoTestBuilder", "testStoragePath", "name", "PublicKey", "random", "toHex", "TestDatabaseLayer", "indexing", "types", "storagePath", "onInit", "Layer", "scopedContext", "Effect", "gen", "builder", "kv", "createTestLevel", "promise", "open", "peer", "createPeer", "db", "queues", "testMetadata", "get", "valueEncoding", "e", "code", "undefined", "log", "key", "createDatabase", "client", "constructQueueFactory", "spaceId", "put", "rootUrl", "pipe", "provideService", "DatabaseService", "make", "QueueService", "from", "openDatabase", "addFinalizer", "close", "Context", "mergeAll"]
|
|
7
7
|
}
|
|
@@ -5,23 +5,22 @@ export type Import = {
|
|
|
5
5
|
namedImports: string[];
|
|
6
6
|
};
|
|
7
7
|
export type BundleOptions = {
|
|
8
|
-
/**
|
|
9
|
-
* Path to the source file on the local file system.
|
|
10
|
-
* If provided, the path will be used instead of the `source` code.
|
|
11
|
-
*/
|
|
12
|
-
path?: string;
|
|
13
8
|
/**
|
|
14
9
|
* Source code to bundle.
|
|
15
|
-
* Required if `path` is not provided.
|
|
16
10
|
*/
|
|
17
|
-
source
|
|
11
|
+
source: string;
|
|
18
12
|
};
|
|
19
13
|
export type BundleResult = {
|
|
20
14
|
timestamp: number;
|
|
21
|
-
sourceHash
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
sourceHash: Buffer;
|
|
16
|
+
error: unknown;
|
|
17
|
+
} | {
|
|
18
|
+
timestamp: number;
|
|
19
|
+
sourceHash: Buffer;
|
|
20
|
+
imports: Import[];
|
|
21
|
+
entryPoint: string;
|
|
22
|
+
asset: Uint8Array;
|
|
23
|
+
bundle: string;
|
|
25
24
|
};
|
|
26
25
|
export type BundlerOptions = {
|
|
27
26
|
platform: BuildOptions['platform'];
|
|
@@ -37,7 +36,7 @@ export declare const initializeBundler: (options: {
|
|
|
37
36
|
export declare class Bundler {
|
|
38
37
|
private readonly _options;
|
|
39
38
|
constructor(_options: BundlerOptions);
|
|
40
|
-
bundle({
|
|
39
|
+
bundle({ source }: BundleOptions): Promise<BundleResult>;
|
|
41
40
|
analyzeImports(result: BuildResult): Import[];
|
|
42
41
|
analyzeSourceFileImports(code: string): {
|
|
43
42
|
defaultImportName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../../src/bundler/bundler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../../../src/bundler/bundler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAA+C,MAAM,cAAc,CAAC;AAOhH,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAU,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,kBAInE,CAAC;AAEF;;GAEG;AACH,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,cAAc;IAE/C,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAyF9D,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE;IA0B7C,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG;QACtC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE;CAaJ"}
|
|
@@ -4,13 +4,14 @@ import { type PublicKey } from '@dxos/keys';
|
|
|
4
4
|
import { type UploadFunctionResponseBody } from '@dxos/protocols';
|
|
5
5
|
export type UploadWorkerArgs = {
|
|
6
6
|
client: Client;
|
|
7
|
-
source: string;
|
|
8
7
|
version: string;
|
|
9
8
|
name?: string;
|
|
10
9
|
functionId?: string;
|
|
11
10
|
ownerPublicKey: PublicKey;
|
|
11
|
+
entryPoint: string;
|
|
12
|
+
assets: Record<string, Uint8Array>;
|
|
12
13
|
};
|
|
13
|
-
export declare const uploadWorkerFunction: ({ client, version,
|
|
14
|
+
export declare const uploadWorkerFunction: ({ client, version, name, functionId, ownerPublicKey, entryPoint, assets, }: UploadWorkerArgs) => Promise<UploadFunctionResponseBody>;
|
|
14
15
|
export declare const incrementSemverPatch: (version: string) => string;
|
|
15
16
|
export declare const publicKeyToDid: (key: PublicKey) => DID;
|
|
16
17
|
//# sourceMappingURL=functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../../src/edge/functions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../../src/edge/functions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,4EAQxC,gBAAgB,KAAG,OAAO,CAAC,0BAA0B,CAsBvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,MAKtD,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,KAAK,SAAS,KAAG,GAE/C,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BaseError } from '@dxos/errors';
|
|
2
2
|
declare const ServiceNotAvailableError_base: {
|
|
3
3
|
new (message: string, options?: import("@dxos/errors").BaseErrorOptions): {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
#code: "SERVICE_NOT_AVAILABLE";
|
|
5
|
+
#context: Record<string, unknown>;
|
|
6
6
|
readonly name: "SERVICE_NOT_AVAILABLE";
|
|
7
7
|
readonly code: "SERVICE_NOT_AVAILABLE";
|
|
8
8
|
readonly _tag: "SERVICE_NOT_AVAILABLE";
|
|
@@ -14,8 +14,8 @@ declare const ServiceNotAvailableError_base: {
|
|
|
14
14
|
code: "SERVICE_NOT_AVAILABLE";
|
|
15
15
|
is(error: unknown): error is BaseError;
|
|
16
16
|
wrap(message: string, options?: Omit<import("@dxos/errors").BaseErrorOptions, "cause">): (error: unknown) => {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
#code: "SERVICE_NOT_AVAILABLE";
|
|
18
|
+
#context: Record<string, unknown>;
|
|
19
19
|
readonly name: "SERVICE_NOT_AVAILABLE";
|
|
20
20
|
readonly code: "SERVICE_NOT_AVAILABLE";
|
|
21
21
|
readonly _tag: "SERVICE_NOT_AVAILABLE";
|
|
@@ -25,6 +25,7 @@ declare const ServiceNotAvailableError_base: {
|
|
|
25
25
|
cause?: unknown;
|
|
26
26
|
};
|
|
27
27
|
extend<Code extends string>(code: Code): any;
|
|
28
|
+
isError(error: unknown): error is Error;
|
|
28
29
|
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
29
30
|
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
30
31
|
stackTraceLimit: number;
|
|
@@ -32,10 +33,44 @@ declare const ServiceNotAvailableError_base: {
|
|
|
32
33
|
export declare class ServiceNotAvailableError extends ServiceNotAvailableError_base {
|
|
33
34
|
constructor(serviceName: string);
|
|
34
35
|
}
|
|
36
|
+
declare const FunctionNotFoundError_base: {
|
|
37
|
+
new (message: string, options?: import("@dxos/errors").BaseErrorOptions): {
|
|
38
|
+
#code: "FUNCTION_NOT_FOUND";
|
|
39
|
+
#context: Record<string, unknown>;
|
|
40
|
+
readonly name: "FUNCTION_NOT_FOUND";
|
|
41
|
+
readonly code: "FUNCTION_NOT_FOUND";
|
|
42
|
+
readonly _tag: "FUNCTION_NOT_FOUND";
|
|
43
|
+
readonly context: Record<string, unknown>;
|
|
44
|
+
message: string;
|
|
45
|
+
stack?: string;
|
|
46
|
+
cause?: unknown;
|
|
47
|
+
};
|
|
48
|
+
code: "FUNCTION_NOT_FOUND";
|
|
49
|
+
is(error: unknown): error is BaseError;
|
|
50
|
+
wrap(message: string, options?: Omit<import("@dxos/errors").BaseErrorOptions, "cause">): (error: unknown) => {
|
|
51
|
+
#code: "FUNCTION_NOT_FOUND";
|
|
52
|
+
#context: Record<string, unknown>;
|
|
53
|
+
readonly name: "FUNCTION_NOT_FOUND";
|
|
54
|
+
readonly code: "FUNCTION_NOT_FOUND";
|
|
55
|
+
readonly _tag: "FUNCTION_NOT_FOUND";
|
|
56
|
+
readonly context: Record<string, unknown>;
|
|
57
|
+
message: string;
|
|
58
|
+
stack?: string;
|
|
59
|
+
cause?: unknown;
|
|
60
|
+
};
|
|
61
|
+
extend<Code extends string>(code: Code): any;
|
|
62
|
+
isError(error: unknown): error is Error;
|
|
63
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
64
|
+
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
65
|
+
stackTraceLimit: number;
|
|
66
|
+
};
|
|
67
|
+
export declare class FunctionNotFoundError extends FunctionNotFoundError_base {
|
|
68
|
+
constructor(functionKey: string);
|
|
69
|
+
}
|
|
35
70
|
declare const FunctionError_base: {
|
|
36
71
|
new (message: string, options?: import("@dxos/errors").BaseErrorOptions): {
|
|
37
|
-
|
|
38
|
-
|
|
72
|
+
#code: "FUNCTION_ERROR";
|
|
73
|
+
#context: Record<string, unknown>;
|
|
39
74
|
readonly name: "FUNCTION_ERROR";
|
|
40
75
|
readonly code: "FUNCTION_ERROR";
|
|
41
76
|
readonly _tag: "FUNCTION_ERROR";
|
|
@@ -47,8 +82,8 @@ declare const FunctionError_base: {
|
|
|
47
82
|
code: "FUNCTION_ERROR";
|
|
48
83
|
is(error: unknown): error is BaseError;
|
|
49
84
|
wrap(message: string, options?: Omit<import("@dxos/errors").BaseErrorOptions, "cause">): (error: unknown) => {
|
|
50
|
-
|
|
51
|
-
|
|
85
|
+
#code: "FUNCTION_ERROR";
|
|
86
|
+
#context: Record<string, unknown>;
|
|
52
87
|
readonly name: "FUNCTION_ERROR";
|
|
53
88
|
readonly code: "FUNCTION_ERROR";
|
|
54
89
|
readonly _tag: "FUNCTION_ERROR";
|
|
@@ -58,11 +93,45 @@ declare const FunctionError_base: {
|
|
|
58
93
|
cause?: unknown;
|
|
59
94
|
};
|
|
60
95
|
extend<Code extends string>(code: Code): any;
|
|
96
|
+
isError(error: unknown): error is Error;
|
|
61
97
|
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
62
98
|
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
63
99
|
stackTraceLimit: number;
|
|
64
100
|
};
|
|
65
101
|
export declare class FunctionError extends FunctionError_base {
|
|
66
102
|
}
|
|
103
|
+
declare const TriggerStateNotFoundError_base: {
|
|
104
|
+
new (message: string, options?: import("@dxos/errors").BaseErrorOptions): {
|
|
105
|
+
#code: "TRIGGER_STATE_NOT_FOUND";
|
|
106
|
+
#context: Record<string, unknown>;
|
|
107
|
+
readonly name: "TRIGGER_STATE_NOT_FOUND";
|
|
108
|
+
readonly code: "TRIGGER_STATE_NOT_FOUND";
|
|
109
|
+
readonly _tag: "TRIGGER_STATE_NOT_FOUND";
|
|
110
|
+
readonly context: Record<string, unknown>;
|
|
111
|
+
message: string;
|
|
112
|
+
stack?: string;
|
|
113
|
+
cause?: unknown;
|
|
114
|
+
};
|
|
115
|
+
code: "TRIGGER_STATE_NOT_FOUND";
|
|
116
|
+
is(error: unknown): error is BaseError;
|
|
117
|
+
wrap(message: string, options?: Omit<import("@dxos/errors").BaseErrorOptions, "cause">): (error: unknown) => {
|
|
118
|
+
#code: "TRIGGER_STATE_NOT_FOUND";
|
|
119
|
+
#context: Record<string, unknown>;
|
|
120
|
+
readonly name: "TRIGGER_STATE_NOT_FOUND";
|
|
121
|
+
readonly code: "TRIGGER_STATE_NOT_FOUND";
|
|
122
|
+
readonly _tag: "TRIGGER_STATE_NOT_FOUND";
|
|
123
|
+
readonly context: Record<string, unknown>;
|
|
124
|
+
message: string;
|
|
125
|
+
stack?: string;
|
|
126
|
+
cause?: unknown;
|
|
127
|
+
};
|
|
128
|
+
extend<Code extends string>(code: Code): any;
|
|
129
|
+
isError(error: unknown): error is Error;
|
|
130
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
131
|
+
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
132
|
+
stackTraceLimit: number;
|
|
133
|
+
};
|
|
134
|
+
export declare class TriggerStateNotFoundError extends TriggerStateNotFoundError_base {
|
|
135
|
+
}
|
|
67
136
|
export {};
|
|
68
137
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzC,qBAAa,wBAAyB,SAAQ,6BAAyC;gBACzE,WAAW,EAAE,MAAM;CAGhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,qBAAsB,SAAQ,0BAAsC;gBACnE,WAAW,EAAE,MAAM;CAGhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,aAAc,SAAQ,kBAAkC;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExE,qBAAa,yBAA0B,SAAQ,8BAA2C;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fib.d.ts","sourceRoot":"","sources":["../../../../src/examples/fib.ts"],"names":[],"mappings":";;;;;AAQA,wBAqBG"}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reply.d.ts","sourceRoot":"","sources":["../../../../src/examples/reply.ts"],"names":[],"mappings":";AAQA,wBASG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../../../src/examples/sleep.ts"],"names":[],"mappings":";;;AAQA,wBAaG"}
|
|
@@ -3,6 +3,9 @@ import type { ServiceContainer } from '../services';
|
|
|
3
3
|
export declare class FunctionExecutor {
|
|
4
4
|
private readonly _services;
|
|
5
5
|
constructor(_services: ServiceContainer);
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Invoke function.
|
|
8
|
+
*/
|
|
9
|
+
invoke<F extends FunctionDefinition<any, any>>(functionDef: F, input: F extends FunctionDefinition<infer I, infer _O> ? I : never): Promise<F extends FunctionDefinition<infer _I, infer O> ? O : never>;
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../src/executor/executor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,aAAa,CAAC;AAE9D,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../src/executor/executor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,aAAa,CAAC;AAE9D,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;IAExD;;OAEG;IAEG,MAAM,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,EACjD,WAAW,EAAE,CAAC,EACd,KAAK,EAAE,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,GACjE,OAAO,CAAC,CAAC,SAAS,kBAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;CA+BxE"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type
|
|
3
|
-
import type { EchoDatabase } from '@dxos/echo-db';
|
|
1
|
+
import { type Context, Effect, Schema, type Types } from 'effect';
|
|
2
|
+
import { type EchoDatabase } from '@dxos/echo-db';
|
|
4
3
|
import { type HasId } from '@dxos/echo-schema';
|
|
5
|
-
import { type
|
|
4
|
+
import { type DXN, type SpaceId } from '@dxos/keys';
|
|
6
5
|
import { type QueryResult } from '@dxos/protocols';
|
|
7
|
-
import
|
|
6
|
+
import { FunctionType } from './schema';
|
|
7
|
+
import { type Services } from './services';
|
|
8
8
|
/**
|
|
9
9
|
* Function handler.
|
|
10
10
|
*/
|
|
@@ -28,7 +28,6 @@ export interface FunctionContext {
|
|
|
28
28
|
* Space from which the function was invoked.
|
|
29
29
|
*/
|
|
30
30
|
space: SpaceAPI | undefined;
|
|
31
|
-
ai: AiServiceClient;
|
|
32
31
|
/**
|
|
33
32
|
* Resolves a service available to the function.
|
|
34
33
|
* @throws if the service is not available.
|
|
@@ -51,12 +50,45 @@ export interface SpaceAPI {
|
|
|
51
50
|
get db(): EchoDatabase;
|
|
52
51
|
get queues(): QueuesAPI;
|
|
53
52
|
}
|
|
54
|
-
|
|
53
|
+
declare const typeId: unique symbol;
|
|
54
|
+
export type FunctionDefinition<T = any, O = any> = {
|
|
55
|
+
[typeId]: true;
|
|
56
|
+
key: string;
|
|
55
57
|
name: string;
|
|
56
58
|
description?: string;
|
|
57
59
|
inputSchema: Schema.Schema<T, any>;
|
|
58
60
|
outputSchema?: Schema.Schema<O, any>;
|
|
59
61
|
handler: FunctionHandler<T, O>;
|
|
60
62
|
};
|
|
61
|
-
export declare const defineFunction:
|
|
63
|
+
export declare const defineFunction: {
|
|
64
|
+
<I, O>(params: {
|
|
65
|
+
key?: string;
|
|
66
|
+
name: string;
|
|
67
|
+
description?: string;
|
|
68
|
+
inputSchema: Schema.Schema<I, any>;
|
|
69
|
+
outputSchema?: Schema.Schema<O, any>;
|
|
70
|
+
handler: Types.NoInfer<FunctionHandler<I, O>>;
|
|
71
|
+
}): FunctionDefinition<I, O>;
|
|
72
|
+
};
|
|
73
|
+
export declare const FunctionDefinition: {
|
|
74
|
+
make: <I, O>(params: {
|
|
75
|
+
key?: string;
|
|
76
|
+
name: string;
|
|
77
|
+
description?: string;
|
|
78
|
+
inputSchema: Schema.Schema<I, any>;
|
|
79
|
+
outputSchema?: Schema.Schema<O, any>;
|
|
80
|
+
handler: Types.NoInfer<FunctionHandler<I, O>>;
|
|
81
|
+
}) => FunctionDefinition<I, O>;
|
|
82
|
+
isFunction: (value: unknown) => value is FunctionDefinition.Any;
|
|
83
|
+
serialize: (functionDef: FunctionDefinition.Any) => FunctionType;
|
|
84
|
+
deserialize: (functionObj: FunctionType) => FunctionDefinition.Any;
|
|
85
|
+
};
|
|
86
|
+
export declare namespace FunctionDefinition {
|
|
87
|
+
type Any = FunctionDefinition<any, any>;
|
|
88
|
+
type Input<T extends FunctionDefinition> = T extends FunctionDefinition<infer I, any> ? I : never;
|
|
89
|
+
type Output<T extends FunctionDefinition> = T extends FunctionDefinition<any, infer O> ? O : never;
|
|
90
|
+
}
|
|
91
|
+
export declare const serializeFunction: (functionDef: FunctionDefinition<any, any>) => FunctionType;
|
|
92
|
+
export declare const deserializeFunction: (functionObj: FunctionType) => FunctionDefinition<unknown, unknown>;
|
|
93
|
+
export {};
|
|
62
94
|
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAGlE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAO3C;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,KAAK,GAAG,EAAE,EAAE,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;IAChE;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IAEzB;;;;OAIG;IACH,IAAI,EAAE,KAAK,CAAC;CACb,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE5B;;;OAGG;IACH,UAAU,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhF,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,iBAAiB;IAEhC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC9D;AAQD,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3D,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,IAAI,OAAO,CAAC;IAClB,IAAI,EAAE,IAAI,YAAY,CAAC;IAGvB,IAAI,MAAM,IAAI,SAAS,CAAC;CACzB;AAOD,QAAA,MAAM,MAAM,eAAmD,CAAC;AAEhE,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI;IACjD,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IAEf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE;QAEb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/C,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CA+C9B,CAAC;AAEF,eAAO,MAAM,kBAAkB;WAzD5B,CAAC,EAAE,CAAC,UAAU;QAEb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/C,KAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;wBAmDR,OAAO,KAAG,KAAK,IAAI,kBAAkB,CAAC,GAAG;6BAGpC,kBAAkB,CAAC,GAAG,KAAG,YAAY;+BAInC,YAAY,KAAG,kBAAkB,CAAC,GAAG;CAIjE,CAAC;AACF,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IAC1C,KAAY,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/C,KAAY,KAAK,CAAC,CAAC,SAAS,kBAAkB,IAAI,CAAC,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzG,KAAY,MAAM,CAAC,CAAC,SAAS,kBAAkB,IAAI,CAAC,SAAS,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;CAC3G;AAED,eAAO,MAAM,iBAAiB,GAAI,aAAa,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,KAAG,YAQ1E,CAAC;AAEL,eAAO,MAAM,mBAAmB,GAAI,aAAa,YAAY,KAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAWlG,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
export * from './errors';
|
|
1
2
|
export * from './handler';
|
|
2
3
|
export * from './schema';
|
|
3
4
|
export * from './trace';
|
|
4
5
|
export * from './types';
|
|
5
6
|
export * from './url';
|
|
7
|
+
export * from './triggers';
|
|
6
8
|
export * from './services';
|
|
7
9
|
export * from './executor';
|
|
8
|
-
export * from './
|
|
10
|
+
export * as exampleFunctions from './examples';
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,gBAAgB,MAAM,YAAY,CAAC"}
|
|
@@ -18,12 +18,17 @@ export interface ScriptType extends Schema.Schema.Type<typeof ScriptType> {
|
|
|
18
18
|
* Function deployment.
|
|
19
19
|
*/
|
|
20
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>;
|
|
21
26
|
name: typeof Schema.NonEmptyString;
|
|
22
27
|
version: typeof Schema.String;
|
|
23
28
|
description: Schema.optional<typeof Schema.String>;
|
|
24
29
|
source: Schema.optional<import("@dxos/echo-schema").Ref$<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
25
|
-
description?: string | undefined;
|
|
26
30
|
name?: string | undefined;
|
|
31
|
+
description?: string | undefined;
|
|
27
32
|
changed?: boolean | undefined;
|
|
28
33
|
source: Ref<Type.OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
29
34
|
content: string;
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type
|
|
1
|
+
import { HttpClient } from '@effect/platform';
|
|
2
|
+
import { type Config, Context, Effect, Layer, Redacted } from 'effect';
|
|
3
|
+
import { DatabaseService } from './database';
|
|
4
|
+
export type CredentialQuery = {
|
|
3
5
|
service?: string;
|
|
4
6
|
};
|
|
5
7
|
export type ServiceCredential = {
|
|
6
8
|
service: string;
|
|
7
9
|
apiKey?: string;
|
|
8
10
|
};
|
|
9
|
-
declare const CredentialsService_base: Context.TagClass<CredentialsService, "CredentialsService", {
|
|
11
|
+
declare const CredentialsService_base: Context.TagClass<CredentialsService, "@dxos/functions/CredentialsService", {
|
|
10
12
|
/**
|
|
11
13
|
* Query all.
|
|
12
14
|
*/
|
|
@@ -19,6 +21,13 @@ declare const CredentialsService_base: Context.TagClass<CredentialsService, "Cre
|
|
|
19
21
|
}>;
|
|
20
22
|
export declare class CredentialsService extends CredentialsService_base {
|
|
21
23
|
static getCredential: (query: CredentialQuery) => Effect.Effect<ServiceCredential, never, CredentialsService>;
|
|
24
|
+
static getApiKey: (query: CredentialQuery) => Effect.Effect<Redacted.Redacted<string>, never, CredentialsService>;
|
|
25
|
+
static configuredLayer: (credentials: ServiceCredential[]) => Layer.Layer<CredentialsService, never, never>;
|
|
26
|
+
static layerConfig: (credentials: {
|
|
27
|
+
service: string;
|
|
28
|
+
apiKey: Config.Config<Redacted.Redacted<string>>;
|
|
29
|
+
}[]) => Layer.Layer<CredentialsService, import("effect/ConfigError").ConfigError, never>;
|
|
30
|
+
static layerFromDatabase: () => Layer.Layer<CredentialsService, never, DatabaseService>;
|
|
22
31
|
}
|
|
23
32
|
export declare class ConfiguredCredentialsService implements Context.Tag.Service<CredentialsService> {
|
|
24
33
|
private readonly credentials;
|
|
@@ -27,5 +36,9 @@ export declare class ConfiguredCredentialsService implements Context.Tag.Service
|
|
|
27
36
|
queryCredentials(query: CredentialQuery): Promise<ServiceCredential[]>;
|
|
28
37
|
getCredential(query: CredentialQuery): Promise<ServiceCredential>;
|
|
29
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Maps the request to include the API key from the credential.
|
|
41
|
+
*/
|
|
42
|
+
export declare const withAuthorization: (query: CredentialQuery, kind?: "Bearer" | "Basic") => <E, R>(self: HttpClient.HttpClient.With<E, R>) => HttpClient.HttpClient.With<E, CredentialsService | R>;
|
|
30
43
|
export {};
|
|
31
44
|
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../../src/services/credentials.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../../src/services/credentials.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAqB,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAKvE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;;IAKE;;OAEG;sBACe,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAE1E;;;OAGG;mBACY,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,iBAAiB,CAAC;;AAZzE,qBAAa,kBAAmB,SAAQ,uBAcrC;IACD,MAAM,CAAC,aAAa,GAAI,OAAO,eAAe,KAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAIvG;IAEL,MAAM,CAAC,SAAS,GAAI,OAAO,eAAe,KAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAO3G;IAEL,MAAM,CAAC,eAAe,GAAI,aAAa,iBAAiB,EAAE,mDACyB;IAEnF,MAAM,CAAC,WAAW,GAAI,aAAa;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;KAAE,EAAE,sFAetG;IAEJ,MAAM,CAAC,iBAAiB,gEA2BpB;CACL;AAED,qBAAa,4BAA6B,YAAW,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC9E,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,GAAE,iBAAiB,EAAO;IAElE,cAAc,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,4BAA4B;IAKxE,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAItE,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAOxE;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,eAAe,EAAE,OAAO,QAAQ,GAAG,OAAO,4GAOhF,CAAC"}
|
|
@@ -1,15 +1,48 @@
|
|
|
1
|
-
import { Context, Effect, Layer } from 'effect';
|
|
2
|
-
import type
|
|
3
|
-
import type { EchoDatabase, OneShotQueryResult, QueryResult } from '@dxos/echo-db';
|
|
1
|
+
import { Context, Effect, Layer, Option, type Schema } from 'effect';
|
|
2
|
+
import { type Filter, type Live, Obj, type Query, type Ref, type Relation, type Type } from '@dxos/echo';
|
|
3
|
+
import type { EchoDatabase, FlushOptions, OneShotQueryResult, QueryResult, SchemaRegistryQuery } from '@dxos/echo-db';
|
|
4
|
+
import type { SchemaRegistryPreparedQuery } from '@dxos/echo-db';
|
|
5
|
+
import type { EchoSchema } from '@dxos/echo-schema';
|
|
6
|
+
import { BaseError } from '@dxos/errors';
|
|
4
7
|
import type { DXN } from '@dxos/keys';
|
|
5
|
-
declare const DatabaseService_base: Context.TagClass<DatabaseService, "DatabaseService", {
|
|
8
|
+
declare const DatabaseService_base: Context.TagClass<DatabaseService, "@dxos/functions/DatabaseService", {
|
|
6
9
|
readonly db: EchoDatabase;
|
|
7
10
|
}>;
|
|
8
11
|
export declare class DatabaseService extends DatabaseService_base {
|
|
9
12
|
static notAvailable: Layer.Layer<DatabaseService, never, never>;
|
|
10
13
|
static make: (db: EchoDatabase) => Context.Tag.Service<DatabaseService>;
|
|
11
|
-
static
|
|
12
|
-
|
|
14
|
+
static layer: (db: EchoDatabase) => Layer.Layer<DatabaseService>;
|
|
15
|
+
/**
|
|
16
|
+
* Resolves an object by its DXN.
|
|
17
|
+
*/
|
|
18
|
+
static resolve: {
|
|
19
|
+
(dxn: DXN): Effect.Effect<Obj.Any | Relation.Any, never, DatabaseService>;
|
|
20
|
+
<S extends Type.Obj.Any | Type.Relation.Any>(dxn: DXN, schema: S): Effect.Effect<Schema.Schema.Type<S>, ObjectNotFoundError, DatabaseService>;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Loads an object reference.
|
|
24
|
+
*/
|
|
25
|
+
static load: <T>(ref: Ref.Ref<T>) => Effect.Effect<T, ObjectNotFoundError, never>;
|
|
26
|
+
/**
|
|
27
|
+
* Loads an object reference option.
|
|
28
|
+
*/
|
|
29
|
+
static loadOption: <T>(ref: Ref.Ref<T>) => Effect.Effect<Option.Option<T>, never, never>;
|
|
30
|
+
/**
|
|
31
|
+
* @link EchoDatabase.add
|
|
32
|
+
*/
|
|
33
|
+
static add: <T extends Obj.Any | Relation.Any>(obj: T) => Effect.Effect<T, never, DatabaseService>;
|
|
34
|
+
/**
|
|
35
|
+
* @link EchoDatabase.remove
|
|
36
|
+
*/
|
|
37
|
+
static remove: <T extends Obj.Any | Relation.Any>(obj: T) => Effect.Effect<void, never, DatabaseService>;
|
|
38
|
+
/**
|
|
39
|
+
* @link EchoDatabase.flush
|
|
40
|
+
*/
|
|
41
|
+
static flush: (opts?: FlushOptions) => Effect.Effect<void, never, DatabaseService>;
|
|
42
|
+
/**
|
|
43
|
+
* @link EchoDatabase.getObjectById
|
|
44
|
+
*/
|
|
45
|
+
static getObjectById: <T extends Obj.Any | Relation.Any>(id: string) => Effect.Effect<Live<T> | undefined, never, DatabaseService>;
|
|
13
46
|
/**
|
|
14
47
|
* Creates a `QueryResult` object that can be subscribed to.
|
|
15
48
|
*/
|
|
@@ -24,6 +57,42 @@ export declare class DatabaseService extends DatabaseService_base {
|
|
|
24
57
|
<Q extends Query.Any>(query: Q): Effect.Effect<OneShotQueryResult<Live<Query.Type<Q>>>, never, DatabaseService>;
|
|
25
58
|
<F extends Filter.Any>(filter: F): Effect.Effect<OneShotQueryResult<Live<Filter.Type<F>>>, never, DatabaseService>;
|
|
26
59
|
};
|
|
60
|
+
static schemaQuery: <Q extends SchemaRegistryQuery>(query: Q) => Effect.Effect<SchemaRegistryPreparedQuery<EchoSchema>, never, DatabaseService>;
|
|
61
|
+
static runSchemaQuery: <Q extends SchemaRegistryQuery>(query: Q) => Effect.Effect<EchoSchema[], never, DatabaseService>;
|
|
62
|
+
}
|
|
63
|
+
declare const ObjectNotFoundError_base: {
|
|
64
|
+
new (message: string, options?: import("@dxos/errors").BaseErrorOptions): {
|
|
65
|
+
#code: "OBJECT_NOT_FOUND";
|
|
66
|
+
#context: Record<string, unknown>;
|
|
67
|
+
readonly name: "OBJECT_NOT_FOUND";
|
|
68
|
+
readonly code: "OBJECT_NOT_FOUND";
|
|
69
|
+
readonly _tag: "OBJECT_NOT_FOUND";
|
|
70
|
+
readonly context: Record<string, unknown>;
|
|
71
|
+
message: string;
|
|
72
|
+
stack?: string;
|
|
73
|
+
cause?: unknown;
|
|
74
|
+
};
|
|
75
|
+
code: "OBJECT_NOT_FOUND";
|
|
76
|
+
is(error: unknown): error is BaseError;
|
|
77
|
+
wrap(message: string, options?: Omit<import("@dxos/errors").BaseErrorOptions, "cause">): (error: unknown) => {
|
|
78
|
+
#code: "OBJECT_NOT_FOUND";
|
|
79
|
+
#context: Record<string, unknown>;
|
|
80
|
+
readonly name: "OBJECT_NOT_FOUND";
|
|
81
|
+
readonly code: "OBJECT_NOT_FOUND";
|
|
82
|
+
readonly _tag: "OBJECT_NOT_FOUND";
|
|
83
|
+
readonly context: Record<string, unknown>;
|
|
84
|
+
message: string;
|
|
85
|
+
stack?: string;
|
|
86
|
+
cause?: unknown;
|
|
87
|
+
};
|
|
88
|
+
extend<Code extends string>(code: Code): any;
|
|
89
|
+
isError(error: unknown): error is Error;
|
|
90
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
91
|
+
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
92
|
+
stackTraceLimit: number;
|
|
93
|
+
};
|
|
94
|
+
declare class ObjectNotFoundError extends ObjectNotFoundError_base {
|
|
95
|
+
constructor(context?: Record<string, unknown>);
|
|
27
96
|
}
|
|
28
97
|
export {};
|
|
29
98
|
//# sourceMappingURL=database.d.ts.map
|