@dxos/functions 0.6.12-main.5cc132e → 0.6.12-main.78ddbdf
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/{chunk-E7GXBW5N.mjs → chunk-JUASLIOP.mjs} +11 -5
- package/dist/lib/browser/{chunk-E7GXBW5N.mjs.map → chunk-JUASLIOP.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +1 -1
- package/dist/lib/node/{chunk-S5VUBTIA.cjs → chunk-DELILIR2.cjs} +14 -8
- package/dist/lib/node/{chunk-S5VUBTIA.cjs.map → chunk-DELILIR2.cjs.map} +3 -3
- package/dist/lib/node/index.cjs +7 -7
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +3 -3
- package/dist/lib/node-esm/{chunk-ZZQ234R7.mjs → chunk-H3RLSCYN.mjs} +13 -6
- package/dist/lib/node-esm/chunk-H3RLSCYN.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-KFC4XAIY.mjs → chunk-OWEGFCYZ.mjs} +2 -1
- package/dist/lib/node-esm/{chunk-KFC4XAIY.mjs.map → chunk-OWEGFCYZ.mjs.map} +1 -1
- package/dist/lib/node-esm/index.mjs +3 -2
- package/dist/lib/node-esm/index.mjs.map +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +3 -2
- package/dist/lib/node-esm/testing/index.mjs.map +1 -1
- package/dist/lib/node-esm/types.mjs +2 -1
- package/dist/types/src/trigger/type/websocket-trigger.d.ts.map +1 -1
- package/package.json +14 -14
- package/src/trigger/type/websocket-trigger.ts +7 -2
- package/dist/lib/node-esm/chunk-ZZQ234R7.mjs.map +0 -7
|
@@ -290,16 +290,22 @@ var createWebsocketTrigger = async (ctx, space, spec, callback, options = {
|
|
|
290
290
|
S: void 0,
|
|
291
291
|
C: (f, a) => f(...a)
|
|
292
292
|
});
|
|
293
|
-
|
|
293
|
+
let data;
|
|
294
|
+
if (event.data && "text" in event.data) {
|
|
295
|
+
data = JSON.parse(await event.data.text());
|
|
296
|
+
} else {
|
|
297
|
+
data = JSON.parse(new TextDecoder().decode(event.data));
|
|
298
|
+
}
|
|
294
299
|
await callback({
|
|
295
300
|
data
|
|
296
301
|
});
|
|
297
302
|
} catch (err) {
|
|
298
303
|
log4.catch(err, {
|
|
299
|
-
url
|
|
304
|
+
url,
|
|
305
|
+
data: event.data
|
|
300
306
|
}, {
|
|
301
307
|
F: __dxlog_file4,
|
|
302
|
-
L:
|
|
308
|
+
L: 76,
|
|
303
309
|
S: void 0,
|
|
304
310
|
C: (f, a) => f(...a)
|
|
305
311
|
});
|
|
@@ -320,7 +326,7 @@ var createWebsocketTrigger = async (ctx, space, spec, callback, options = {
|
|
|
320
326
|
attempt
|
|
321
327
|
}, {
|
|
322
328
|
F: __dxlog_file4,
|
|
323
|
-
L:
|
|
329
|
+
L: 91,
|
|
324
330
|
S: void 0,
|
|
325
331
|
C: (f, a) => f(...a)
|
|
326
332
|
});
|
|
@@ -595,4 +601,4 @@ export {
|
|
|
595
601
|
createWebSocket,
|
|
596
602
|
TriggerRegistry
|
|
597
603
|
};
|
|
598
|
-
//# sourceMappingURL=chunk-
|
|
604
|
+
//# sourceMappingURL=chunk-JUASLIOP.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/function/function-registry.ts", "../../../src/trigger/type/subscription-trigger.ts", "../../../src/trigger/type/timer-trigger.ts", "../../../src/trigger/type/websocket-trigger.ts", "../../../src/trigger/trigger-registry.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Event } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { create, Filter, type Space } from '@dxos/client/echo';\nimport { type Context, Resource } from '@dxos/context';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { ComplexMap, diff } from '@dxos/util';\n\nimport { FunctionDef, type FunctionManifest } from '../types';\n\nexport type FunctionsRegisteredEvent = {\n space: Space;\n added: FunctionDef[];\n};\n\nexport class FunctionRegistry extends Resource {\n private readonly _functionBySpaceKey = new ComplexMap<PublicKey, FunctionDef[]>(PublicKey.hash);\n\n public readonly registered = new Event<FunctionsRegisteredEvent>();\n\n constructor(private readonly _client: Client) {\n super();\n }\n\n public getFunctions(space: Space): FunctionDef[] {\n return this._functionBySpaceKey.get(space.key) ?? [];\n }\n\n public getUniqueByUri(): FunctionDef[] {\n const uniqueByUri = [...this._functionBySpaceKey.values()]\n .flatMap((defs) => defs)\n .reduce((acc, v) => {\n acc.set(v.uri, v);\n return acc;\n }, new Map<string, FunctionDef>());\n return [...uniqueByUri.values()];\n }\n\n /**\n * Loads function definitions from the manifest into the space.\n * We first load all the definitions from the space to deduplicate by functionId.\n */\n public async register(space: Space, functions: FunctionManifest['functions']): Promise<void> {\n log('register', { space: space.key, functions: functions?.length ?? 0 });\n if (!functions?.length) {\n return;\n }\n if (!space.db.graph.schemaRegistry.hasSchema(FunctionDef)) {\n space.db.graph.schemaRegistry.addSchema([FunctionDef]);\n }\n\n // Sync definitions.\n const { objects: existing } = await space.db.query(Filter.schema(FunctionDef)).run();\n const { added } = diff(existing, functions, (a, b) => a.uri === b.uri);\n // TODO(burdon): Update existing templates.\n added.forEach((def) => space.db.add(create(FunctionDef, def)));\n\n if (added.length > 0) {\n await space.db.flush({ indexes: true, updates: true });\n }\n }\n\n protected override async _open(): Promise<void> {\n log.info('opening...');\n const spacesSubscription = this._client.spaces.subscribe(async (spaces) => {\n for (const space of spaces) {\n if (this._functionBySpaceKey.has(space.key)) {\n continue;\n }\n\n const registered: FunctionDef[] = [];\n this._functionBySpaceKey.set(space.key, registered);\n await space.waitUntilReady();\n if (this._ctx.disposed) {\n break;\n }\n\n // Subscribe to updates.\n this._ctx.onDispose(\n space.db.query(Filter.schema(FunctionDef)).subscribe(({ objects }) => {\n const { added } = diff(registered, objects, (a, b) => a.uri === b.uri);\n // TODO(burdon): Update and remove.\n if (added.length > 0) {\n registered.push(...added);\n this.registered.emit({ space, added });\n }\n }),\n );\n }\n });\n\n // TODO(burdon): API: Normalize unsubscribe methods.\n this._ctx.onDispose(() => spacesSubscription.unsubscribe());\n }\n\n protected override async _close(_: Context): Promise<void> {\n log.info('closing...');\n this._functionBySpaceKey.clear();\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { debounce, UpdateScheduler } from '@dxos/async';\nimport { Filter, type Space } from '@dxos/client/echo';\nimport { type Context } from '@dxos/context';\nimport { createSubscription, type Query } from '@dxos/echo-db';\nimport { log } from '@dxos/log';\n\nimport type { SubscriptionTrigger } from '../../types';\nimport { type TriggerCallback, type TriggerFactory } from '../trigger-registry';\n\nexport const createSubscriptionTrigger: TriggerFactory<SubscriptionTrigger> = async (\n ctx: Context,\n space: Space,\n spec: SubscriptionTrigger,\n callback: TriggerCallback,\n) => {\n const objectIds = new Set<string>();\n const task = new UpdateScheduler(\n ctx,\n async () => {\n if (objectIds.size > 0) {\n const objects = Array.from(objectIds);\n objectIds.clear();\n await callback({ objects });\n }\n },\n { maxFrequency: 4 },\n );\n\n // TODO(burdon): Factor out diff.\n // TODO(burdon): Don't fire initially?\n // TODO(burdon): Create queue. Only allow one invocation per trigger at a time?\n const subscriptions: (() => void)[] = [];\n const subscription = createSubscription(({ added, updated }) => {\n const sizeBefore = objectIds.size;\n for (const object of added) {\n objectIds.add(object.id);\n }\n for (const object of updated) {\n objectIds.add(object.id);\n }\n if (objectIds.size > sizeBefore) {\n log.info('updated', { added: added.length, updated: updated.length });\n task.trigger();\n }\n });\n\n subscriptions.push(() => subscription.unsubscribe());\n\n // TODO(burdon): Disable trigger if keeps failing.\n const { filter, options: { deep, delay } = {} } = spec;\n const update = ({ objects }: Query) => {\n log.info('update', { objects: objects.length });\n subscription.update(objects);\n\n // TODO(burdon): Hack to monitor changes to Document's text object.\n if (deep) {\n // TODO(dmaretskyi): Removed to not have dependency on markdown-plugin.\n // for (const object of objects) {\n // const content = object.content;\n // if (content instanceof TextType) {\n // subscriptions.push(getObjectCore(content).updates.on(debounce(() => subscription.update([object]), 1_000)));\n // }\n // }\n }\n };\n\n // TODO(burdon): OR not working.\n // TODO(burdon): [Bug]: all callbacks are fired on the first mutation.\n // TODO(burdon): [Bug]: not updated when document is deleted (either top or hierarchically).\n log.info('subscription', { filter });\n // const query = triggerCtx.space.db.query(Filter.or(filter.map(({ type, props }) => Filter.typename(type, props))));\n if (filter) {\n const query = space.db.query(Filter.typename(filter[0].type, filter[0].props));\n subscriptions.push(query.subscribe(delay ? debounce(update, delay) : update));\n }\n\n ctx.onDispose(() => {\n subscriptions.forEach((unsubscribe) => unsubscribe());\n });\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { CronJob } from 'cron';\n\nimport { DeferredTask } from '@dxos/async';\nimport { type Space } from '@dxos/client/echo';\nimport { type Context } from '@dxos/context';\nimport { log } from '@dxos/log';\n\nimport type { TimerTrigger } from '../../types';\nimport { type TriggerCallback, type TriggerFactory } from '../trigger-registry';\n\nexport const createTimerTrigger: TriggerFactory<TimerTrigger> = async (\n ctx: Context,\n space: Space,\n spec: TimerTrigger,\n callback: TriggerCallback,\n) => {\n const task = new DeferredTask(ctx, async () => {\n await callback({});\n });\n\n let last = 0;\n let run = 0;\n // https://www.npmjs.com/package/cron#constructor\n const job = CronJob.from({\n cronTime: spec.cron,\n runOnInit: false,\n onTick: () => {\n // TODO(burdon): Check greater than 30s (use cron-parser).\n const now = Date.now();\n const delta = last ? now - last : 0;\n last = now;\n\n run++;\n log.info('tick', { space: space.key.truncate(), count: run, delta });\n task.schedule();\n },\n });\n\n job.start();\n ctx.onDispose(() => job.stop());\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { sleep, Trigger } from '@dxos/async';\nimport { type Space } from '@dxos/client/echo';\nimport { type Context } from '@dxos/context';\nimport { log } from '@dxos/log';\n\nimport { type WebsocketTrigger } from '../../types';\nimport { type TriggerCallback, type TriggerFactory } from '../trigger-registry';\n\ninterface WebsocketTriggerOptions {\n retryDelay: number;\n maxAttempts: number;\n}\n\n/**\n * Websocket.\n * NOTE: The port must be unique, so the same hook cannot be used for multiple spaces.\n */\nexport const createWebsocketTrigger: TriggerFactory<WebsocketTrigger, WebsocketTriggerOptions> = async (\n ctx: Context,\n space: Space,\n spec: WebsocketTrigger,\n callback: TriggerCallback,\n options: WebsocketTriggerOptions = { retryDelay: 2, maxAttempts: 5 },\n) => {\n const { url, init } = spec;\n\n let wasOpen = false;\n let ws: WebSocket;\n for (let attempt = 1; attempt <= options.maxAttempts; attempt++) {\n const open = new Trigger<boolean>();\n\n ws = await createWebSocket(url);\n Object.assign(ws, {\n onopen: () => {\n log.info('opened', { url });\n if (spec.init) {\n ws.send(new TextEncoder().encode(JSON.stringify(init)));\n }\n\n open.wake(true);\n },\n\n onclose: (event) => {\n log.info('closed', { url, code: event.code });\n // Reconnect if server closes (e.g., CF restart).\n // https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent/code\n if (event.code === 1006 && wasOpen && !ctx.disposed) {\n setTimeout(async () => {\n log.info(`reconnecting in ${options.retryDelay}s...`, { url });\n await createWebsocketTrigger(ctx, space, spec, callback, options);\n }, options.retryDelay * 1_000);\n }\n open.wake(false);\n },\n\n onerror: (event) => {\n log.catch((event as any).error ?? new Error('Unspecified ws error.'), { url });\n open.wake(false);\n },\n\n onmessage: async (event) => {\n try {\n log.info('message');\n const data = JSON.parse(new TextDecoder().decode(event.data as Uint8Array));\n await callback({ data });\n } catch (err) {\n log.catch(err, { url });\n }\n },\n } satisfies Partial<WebSocket>);\n\n const isOpen = await open.wait();\n if (ctx.disposed) {\n break;\n }\n if (isOpen) {\n wasOpen = true;\n break;\n }\n const wait = Math.pow(attempt, 2) * options.retryDelay;\n if (attempt < options.maxAttempts) {\n log.warn(`failed to connect; trying again in ${wait}s`, { attempt });\n await sleep(wait * 1_000);\n }\n }\n\n ctx.onDispose(() => {\n ws?.close();\n });\n};\n\nconst createNodeWebSocket = async (url: string) => {\n // eslint-disable-next-line no-new-func\n const importESM = Function('path', 'return import(path)');\n const {\n default: { WebSocket },\n } = await importESM('ws');\n return new WebSocket(url);\n};\n\nexport const createWebSocket = async (url: string): Promise<WebSocket> => {\n return typeof (globalThis as any).WebSocket === 'undefined' ? await createNodeWebSocket(url) : new WebSocket(url);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Event } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { create, Filter, getMeta, type Space } from '@dxos/client/echo';\nimport { Context, Resource } from '@dxos/context';\nimport { compareForeignKeys, ECHO_ATTR_META, foreignKey } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { ComplexMap, diff } from '@dxos/util';\n\nimport { createSubscriptionTrigger, createTimerTrigger, createWebsocketTrigger } from './type';\nimport { type FunctionManifest, FunctionTrigger, type FunctionTriggerType, type TriggerSpec } from '../types';\n\ntype ResponseCode = number;\n\nexport type TriggerCallback = (args: object) => Promise<ResponseCode>;\n\n// TODO(burdon): Make object?\nexport type TriggerFactory<Spec extends TriggerSpec, Options = any> = (\n ctx: Context,\n space: Space,\n spec: Spec,\n callback: TriggerCallback,\n options?: Options,\n) => Promise<void>;\n\nexport type TriggerFactoryMap = Record<FunctionTriggerType, TriggerFactory<any>>;\n\nconst triggerFactory: TriggerFactoryMap = {\n subscription: createSubscriptionTrigger,\n timer: createTimerTrigger,\n // TODO(burdon): Cannot use in browser.\n // webhook: createWebhookTrigger,\n webhook: null as any,\n websocket: createWebsocketTrigger,\n};\n\nexport type TriggerEvent = {\n space: Space;\n triggers: FunctionTrigger[];\n};\n\ntype RegisteredTrigger = {\n activationCtx?: Context;\n trigger: FunctionTrigger;\n};\n\nexport class TriggerRegistry extends Resource {\n private readonly _triggersBySpaceKey = new ComplexMap<PublicKey, RegisteredTrigger[]>(PublicKey.hash);\n\n public readonly registered = new Event<TriggerEvent>();\n public readonly removed = new Event<TriggerEvent>();\n\n constructor(\n private readonly _client: Client,\n private readonly _options?: TriggerFactoryMap,\n ) {\n super();\n }\n\n public getActiveTriggers(space: Space): FunctionTrigger[] {\n return this._getTriggers(space, (t) => t.activationCtx != null);\n }\n\n public getInactiveTriggers(space: Space): FunctionTrigger[] {\n return this._getTriggers(space, (t) => t.activationCtx == null);\n }\n\n /**\n * Set callback for trigger.\n */\n public async activate(space: Space, trigger: FunctionTrigger, callback: TriggerCallback): Promise<void> {\n log('activate', { space: space.key, trigger });\n\n const activationCtx = new Context({ name: `FunctionTrigger-${trigger.function}` });\n this._ctx.onDispose(() => activationCtx.dispose());\n const registeredTrigger = this._triggersBySpaceKey.get(space.key)?.find((reg) => reg.trigger.id === trigger.id);\n invariant(registeredTrigger, `Trigger is not registered: ${trigger.function}`);\n registeredTrigger.activationCtx = activationCtx;\n\n try {\n // Create trigger.\n const options = this._options?.[trigger.spec.type];\n const createTrigger = triggerFactory[trigger.spec.type];\n invariant(createTrigger, `Trigger factory not found: ${trigger.spec.type}`);\n await createTrigger(activationCtx, space, trigger.spec, callback, options);\n } catch (err) {\n delete registeredTrigger.activationCtx;\n throw err;\n }\n }\n\n /**\n * Loads triggers from the manifest into the space.\n */\n public async register(space: Space, manifest: FunctionManifest): Promise<void> {\n log('register', { space: space.key });\n if (!manifest.triggers?.length) {\n return;\n }\n\n if (!space.db.graph.schemaRegistry.hasSchema(FunctionTrigger)) {\n space.db.graph.schemaRegistry.addSchema([FunctionTrigger]);\n }\n\n // Create FK to enable syncing if none are set (NOTE: Possible collision).\n const manifestTriggers = manifest.triggers.map((trigger) => {\n let keys = trigger[ECHO_ATTR_META]?.keys;\n delete trigger[ECHO_ATTR_META];\n if (!keys?.length) {\n keys = [foreignKey('manifest', [trigger.function, trigger.spec.type].join(':'))];\n }\n\n return create(FunctionTrigger, trigger, { keys });\n });\n\n // Sync triggers.\n const { objects: existing } = await space.db.query(Filter.schema(FunctionTrigger)).run();\n const { added } = diff(existing, manifestTriggers, compareForeignKeys);\n\n // TODO(burdon): Update existing.\n added.forEach((trigger) => {\n space.db.add(trigger);\n log.info('added', { meta: getMeta(trigger) });\n });\n\n if (added.length > 0) {\n await space.db.flush();\n }\n }\n\n protected override async _open(): Promise<void> {\n log.info('open...');\n const spaceListSubscription = this._client.spaces.subscribe(async (spaces) => {\n for (const space of spaces) {\n if (this._triggersBySpaceKey.has(space.key)) {\n continue;\n }\n\n const registered: RegisteredTrigger[] = [];\n this._triggersBySpaceKey.set(space.key, registered);\n await space.waitUntilReady();\n if (this._ctx.disposed) {\n break;\n }\n\n // Subscribe to updates.\n this._ctx.onDispose(\n space.db.query(Filter.schema(FunctionTrigger)).subscribe(async ({ objects: current }) => {\n log.info('update', { space: space.key, registered: registered.length, current: current.length });\n await this._handleRemovedTriggers(space, current, registered);\n this._handleNewTriggers(space, current, registered);\n }),\n );\n }\n });\n\n this._ctx.onDispose(() => spaceListSubscription.unsubscribe());\n log.info('opened');\n }\n\n protected override async _close(_: Context): Promise<void> {\n log.info('close...');\n this._triggersBySpaceKey.clear();\n log.info('closed');\n }\n\n private _handleNewTriggers(space: Space, current: FunctionTrigger[], registered: RegisteredTrigger[]) {\n const added = current.filter((candidate) => {\n return candidate.enabled && registered.find((reg) => reg.trigger.id === candidate.id) == null;\n });\n\n if (added.length > 0) {\n const newRegisteredTriggers: RegisteredTrigger[] = added.map((trigger) => ({ trigger }));\n registered.push(...newRegisteredTriggers);\n log.info('added', () => ({\n spaceKey: space.key,\n triggers: added.map((trigger) => trigger.function),\n }));\n\n this.registered.emit({ space, triggers: added });\n }\n }\n\n private async _handleRemovedTriggers(\n space: Space,\n current: FunctionTrigger[],\n registered: RegisteredTrigger[],\n ): Promise<void> {\n const removed: FunctionTrigger[] = [];\n for (let i = registered.length - 1; i >= 0; i--) {\n const wasRemoved =\n current.filter((trigger) => trigger.enabled).find((trigger) => trigger.id === registered[i].trigger.id) == null;\n if (wasRemoved) {\n const unregistered = registered.splice(i, 1)[0];\n await unregistered.activationCtx?.dispose();\n removed.push(unregistered.trigger);\n }\n }\n\n if (removed.length > 0) {\n log.info('removed', () => ({\n spaceKey: space.key,\n triggers: removed.map((trigger) => trigger.function),\n }));\n\n this.removed.emit({ space, triggers: removed });\n }\n }\n\n private _getTriggers(space: Space, predicate: (trigger: RegisteredTrigger) => boolean): FunctionTrigger[] {\n const allSpaceTriggers = this._triggersBySpaceKey.get(space.key) ?? [];\n return allSpaceTriggers.filter(predicate).map((trigger) => trigger.trigger);\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Event", "create", "Filter", "Resource", "PublicKey", "log", "ComplexMap", "diff", "FunctionRegistry", "Resource", "constructor", "_client", "_functionBySpaceKey", "ComplexMap", "PublicKey", "hash", "registered", "Event", "getFunctions", "space", "get", "key", "getUniqueByUri", "uniqueByUri", "values", "flatMap", "defs", "reduce", "acc", "v", "set", "uri", "Map", "register", "functions", "log", "length", "db", "graph", "schemaRegistry", "hasSchema", "FunctionDef", "addSchema", "objects", "existing", "query", "Filter", "schema", "run", "added", "diff", "a", "b", "forEach", "def", "add", "create", "flush", "indexes", "updates", "_open", "info", "spacesSubscription", "spaces", "subscribe", "has", "waitUntilReady", "_ctx", "disposed", "onDispose", "push", "emit", "unsubscribe", "_close", "_", "clear", "debounce", "UpdateScheduler", "Filter", "createSubscription", "log", "createSubscriptionTrigger", "ctx", "space", "spec", "callback", "objectIds", "Set", "task", "size", "objects", "Array", "from", "clear", "maxFrequency", "subscriptions", "subscription", "added", "updated", "sizeBefore", "object", "add", "id", "info", "length", "trigger", "push", "unsubscribe", "filter", "options", "deep", "delay", "update", "query", "db", "typename", "type", "props", "subscribe", "onDispose", "forEach", "CronJob", "DeferredTask", "log", "createTimerTrigger", "ctx", "space", "spec", "callback", "task", "last", "run", "job", "from", "cronTime", "cron", "runOnInit", "onTick", "now", "Date", "delta", "info", "key", "truncate", "count", "schedule", "start", "onDispose", "stop", "sleep", "Trigger", "log", "createWebsocketTrigger", "ctx", "space", "spec", "callback", "options", "retryDelay", "maxAttempts", "url", "init", "wasOpen", "ws", "attempt", "open", "createWebSocket", "Object", "assign", "onopen", "info", "send", "TextEncoder", "encode", "JSON", "stringify", "wake", "onclose", "event", "code", "disposed", "setTimeout", "onerror", "catch", "error", "Error", "onmessage", "data", "parse", "TextDecoder", "decode", "err", "isOpen", "wait", "Math", "pow", "warn", "onDispose", "close", "createNodeWebSocket", "importESM", "Function", "default", "WebSocket", "globalThis", "Event", "create", "Filter", "getMeta", "Context", "Resource", "compareForeignKeys", "ECHO_ATTR_META", "foreignKey", "invariant", "PublicKey", "log", "ComplexMap", "diff", "triggerFactory", "subscription", "createSubscriptionTrigger", "timer", "createTimerTrigger", "webhook", "websocket", "createWebsocketTrigger", "TriggerRegistry", "Resource", "constructor", "_client", "_options", "_triggersBySpaceKey", "ComplexMap", "PublicKey", "hash", "registered", "Event", "removed", "getActiveTriggers", "space", "_getTriggers", "t", "activationCtx", "getInactiveTriggers", "activate", "trigger", "callback", "log", "key", "Context", "name", "function", "_ctx", "onDispose", "dispose", "registeredTrigger", "get", "find", "reg", "id", "invariant", "options", "spec", "type", "createTrigger", "err", "register", "manifest", "triggers", "length", "db", "graph", "schemaRegistry", "hasSchema", "FunctionTrigger", "addSchema", "manifestTriggers", "map", "keys", "ECHO_ATTR_META", "foreignKey", "join", "create", "objects", "existing", "query", "Filter", "schema", "run", "added", "diff", "compareForeignKeys", "forEach", "add", "info", "meta", "getMeta", "flush", "_open", "spaceListSubscription", "spaces", "subscribe", "has", "set", "waitUntilReady", "disposed", "current", "_handleRemovedTriggers", "_handleNewTriggers", "unsubscribe", "_close", "_", "clear", "filter", "candidate", "enabled", "newRegisteredTriggers", "push", "spaceKey", "emit", "i", "wasRemoved", "unregistered", "splice", "predicate", "allSpaceTriggers"]
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Event } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { create, Filter, type Space } from '@dxos/client/echo';\nimport { type Context, Resource } from '@dxos/context';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { ComplexMap, diff } from '@dxos/util';\n\nimport { FunctionDef, type FunctionManifest } from '../types';\n\nexport type FunctionsRegisteredEvent = {\n space: Space;\n added: FunctionDef[];\n};\n\nexport class FunctionRegistry extends Resource {\n private readonly _functionBySpaceKey = new ComplexMap<PublicKey, FunctionDef[]>(PublicKey.hash);\n\n public readonly registered = new Event<FunctionsRegisteredEvent>();\n\n constructor(private readonly _client: Client) {\n super();\n }\n\n public getFunctions(space: Space): FunctionDef[] {\n return this._functionBySpaceKey.get(space.key) ?? [];\n }\n\n public getUniqueByUri(): FunctionDef[] {\n const uniqueByUri = [...this._functionBySpaceKey.values()]\n .flatMap((defs) => defs)\n .reduce((acc, v) => {\n acc.set(v.uri, v);\n return acc;\n }, new Map<string, FunctionDef>());\n return [...uniqueByUri.values()];\n }\n\n /**\n * Loads function definitions from the manifest into the space.\n * We first load all the definitions from the space to deduplicate by functionId.\n */\n public async register(space: Space, functions: FunctionManifest['functions']): Promise<void> {\n log('register', { space: space.key, functions: functions?.length ?? 0 });\n if (!functions?.length) {\n return;\n }\n if (!space.db.graph.schemaRegistry.hasSchema(FunctionDef)) {\n space.db.graph.schemaRegistry.addSchema([FunctionDef]);\n }\n\n // Sync definitions.\n const { objects: existing } = await space.db.query(Filter.schema(FunctionDef)).run();\n const { added } = diff(existing, functions, (a, b) => a.uri === b.uri);\n // TODO(burdon): Update existing templates.\n added.forEach((def) => space.db.add(create(FunctionDef, def)));\n\n if (added.length > 0) {\n await space.db.flush({ indexes: true, updates: true });\n }\n }\n\n protected override async _open(): Promise<void> {\n log.info('opening...');\n const spacesSubscription = this._client.spaces.subscribe(async (spaces) => {\n for (const space of spaces) {\n if (this._functionBySpaceKey.has(space.key)) {\n continue;\n }\n\n const registered: FunctionDef[] = [];\n this._functionBySpaceKey.set(space.key, registered);\n await space.waitUntilReady();\n if (this._ctx.disposed) {\n break;\n }\n\n // Subscribe to updates.\n this._ctx.onDispose(\n space.db.query(Filter.schema(FunctionDef)).subscribe(({ objects }) => {\n const { added } = diff(registered, objects, (a, b) => a.uri === b.uri);\n // TODO(burdon): Update and remove.\n if (added.length > 0) {\n registered.push(...added);\n this.registered.emit({ space, added });\n }\n }),\n );\n }\n });\n\n // TODO(burdon): API: Normalize unsubscribe methods.\n this._ctx.onDispose(() => spacesSubscription.unsubscribe());\n }\n\n protected override async _close(_: Context): Promise<void> {\n log.info('closing...');\n this._functionBySpaceKey.clear();\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { debounce, UpdateScheduler } from '@dxos/async';\nimport { Filter, type Space } from '@dxos/client/echo';\nimport { type Context } from '@dxos/context';\nimport { createSubscription, type Query } from '@dxos/echo-db';\nimport { log } from '@dxos/log';\n\nimport type { SubscriptionTrigger } from '../../types';\nimport { type TriggerCallback, type TriggerFactory } from '../trigger-registry';\n\nexport const createSubscriptionTrigger: TriggerFactory<SubscriptionTrigger> = async (\n ctx: Context,\n space: Space,\n spec: SubscriptionTrigger,\n callback: TriggerCallback,\n) => {\n const objectIds = new Set<string>();\n const task = new UpdateScheduler(\n ctx,\n async () => {\n if (objectIds.size > 0) {\n const objects = Array.from(objectIds);\n objectIds.clear();\n await callback({ objects });\n }\n },\n { maxFrequency: 4 },\n );\n\n // TODO(burdon): Factor out diff.\n // TODO(burdon): Don't fire initially?\n // TODO(burdon): Create queue. Only allow one invocation per trigger at a time?\n const subscriptions: (() => void)[] = [];\n const subscription = createSubscription(({ added, updated }) => {\n const sizeBefore = objectIds.size;\n for (const object of added) {\n objectIds.add(object.id);\n }\n for (const object of updated) {\n objectIds.add(object.id);\n }\n if (objectIds.size > sizeBefore) {\n log.info('updated', { added: added.length, updated: updated.length });\n task.trigger();\n }\n });\n\n subscriptions.push(() => subscription.unsubscribe());\n\n // TODO(burdon): Disable trigger if keeps failing.\n const { filter, options: { deep, delay } = {} } = spec;\n const update = ({ objects }: Query) => {\n log.info('update', { objects: objects.length });\n subscription.update(objects);\n\n // TODO(burdon): Hack to monitor changes to Document's text object.\n if (deep) {\n // TODO(dmaretskyi): Removed to not have dependency on markdown-plugin.\n // for (const object of objects) {\n // const content = object.content;\n // if (content instanceof TextType) {\n // subscriptions.push(getObjectCore(content).updates.on(debounce(() => subscription.update([object]), 1_000)));\n // }\n // }\n }\n };\n\n // TODO(burdon): OR not working.\n // TODO(burdon): [Bug]: all callbacks are fired on the first mutation.\n // TODO(burdon): [Bug]: not updated when document is deleted (either top or hierarchically).\n log.info('subscription', { filter });\n // const query = triggerCtx.space.db.query(Filter.or(filter.map(({ type, props }) => Filter.typename(type, props))));\n if (filter) {\n const query = space.db.query(Filter.typename(filter[0].type, filter[0].props));\n subscriptions.push(query.subscribe(delay ? debounce(update, delay) : update));\n }\n\n ctx.onDispose(() => {\n subscriptions.forEach((unsubscribe) => unsubscribe());\n });\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { CronJob } from 'cron';\n\nimport { DeferredTask } from '@dxos/async';\nimport { type Space } from '@dxos/client/echo';\nimport { type Context } from '@dxos/context';\nimport { log } from '@dxos/log';\n\nimport type { TimerTrigger } from '../../types';\nimport { type TriggerCallback, type TriggerFactory } from '../trigger-registry';\n\nexport const createTimerTrigger: TriggerFactory<TimerTrigger> = async (\n ctx: Context,\n space: Space,\n spec: TimerTrigger,\n callback: TriggerCallback,\n) => {\n const task = new DeferredTask(ctx, async () => {\n await callback({});\n });\n\n let last = 0;\n let run = 0;\n // https://www.npmjs.com/package/cron#constructor\n const job = CronJob.from({\n cronTime: spec.cron,\n runOnInit: false,\n onTick: () => {\n // TODO(burdon): Check greater than 30s (use cron-parser).\n const now = Date.now();\n const delta = last ? now - last : 0;\n last = now;\n\n run++;\n log.info('tick', { space: space.key.truncate(), count: run, delta });\n task.schedule();\n },\n });\n\n job.start();\n ctx.onDispose(() => job.stop());\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { sleep, Trigger } from '@dxos/async';\nimport { type Space } from '@dxos/client/echo';\nimport { type Context } from '@dxos/context';\nimport { log } from '@dxos/log';\n\nimport { type WebsocketTrigger } from '../../types';\nimport { type TriggerCallback, type TriggerFactory } from '../trigger-registry';\n\ninterface WebsocketTriggerOptions {\n retryDelay: number;\n maxAttempts: number;\n}\n\n/**\n * Websocket.\n * NOTE: The port must be unique, so the same hook cannot be used for multiple spaces.\n */\nexport const createWebsocketTrigger: TriggerFactory<WebsocketTrigger, WebsocketTriggerOptions> = async (\n ctx: Context,\n space: Space,\n spec: WebsocketTrigger,\n callback: TriggerCallback,\n options: WebsocketTriggerOptions = { retryDelay: 2, maxAttempts: 5 },\n) => {\n const { url, init } = spec;\n\n let wasOpen = false;\n let ws: WebSocket;\n for (let attempt = 1; attempt <= options.maxAttempts; attempt++) {\n const open = new Trigger<boolean>();\n\n ws = await createWebSocket(url);\n Object.assign(ws, {\n onopen: () => {\n log.info('opened', { url });\n if (spec.init) {\n ws.send(new TextEncoder().encode(JSON.stringify(init)));\n }\n\n open.wake(true);\n },\n\n onclose: (event) => {\n log.info('closed', { url, code: event.code });\n // Reconnect if server closes (e.g., CF restart).\n // https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent/code\n if (event.code === 1006 && wasOpen && !ctx.disposed) {\n setTimeout(async () => {\n log.info(`reconnecting in ${options.retryDelay}s...`, { url });\n await createWebsocketTrigger(ctx, space, spec, callback, options);\n }, options.retryDelay * 1_000);\n }\n open.wake(false);\n },\n\n onerror: (event) => {\n log.catch((event as any).error ?? new Error('Unspecified ws error.'), { url });\n open.wake(false);\n },\n\n onmessage: async (event) => {\n try {\n log.info('message');\n let data;\n if (event.data && 'text' in event.data) {\n data = JSON.parse(await (event.data as Blob).text());\n } else {\n data = JSON.parse(new TextDecoder().decode(event.data as Uint8Array));\n }\n await callback({ data });\n } catch (err) {\n log.catch(err, { url, data: event.data });\n }\n },\n } satisfies Partial<WebSocket>);\n\n const isOpen = await open.wait();\n if (ctx.disposed) {\n break;\n }\n if (isOpen) {\n wasOpen = true;\n break;\n }\n const wait = Math.pow(attempt, 2) * options.retryDelay;\n if (attempt < options.maxAttempts) {\n log.warn(`failed to connect; trying again in ${wait}s`, { attempt });\n await sleep(wait * 1_000);\n }\n }\n\n ctx.onDispose(() => {\n ws?.close();\n });\n};\n\nconst createNodeWebSocket = async (url: string) => {\n // eslint-disable-next-line no-new-func\n const importESM = Function('path', 'return import(path)');\n const {\n default: { WebSocket },\n } = await importESM('ws');\n return new WebSocket(url);\n};\n\nexport const createWebSocket = async (url: string): Promise<WebSocket> => {\n return typeof (globalThis as any).WebSocket === 'undefined' ? await createNodeWebSocket(url) : new WebSocket(url);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Event } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { create, Filter, getMeta, type Space } from '@dxos/client/echo';\nimport { Context, Resource } from '@dxos/context';\nimport { compareForeignKeys, ECHO_ATTR_META, foreignKey } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { ComplexMap, diff } from '@dxos/util';\n\nimport { createSubscriptionTrigger, createTimerTrigger, createWebsocketTrigger } from './type';\nimport { type FunctionManifest, FunctionTrigger, type FunctionTriggerType, type TriggerSpec } from '../types';\n\ntype ResponseCode = number;\n\nexport type TriggerCallback = (args: object) => Promise<ResponseCode>;\n\n// TODO(burdon): Make object?\nexport type TriggerFactory<Spec extends TriggerSpec, Options = any> = (\n ctx: Context,\n space: Space,\n spec: Spec,\n callback: TriggerCallback,\n options?: Options,\n) => Promise<void>;\n\nexport type TriggerFactoryMap = Record<FunctionTriggerType, TriggerFactory<any>>;\n\nconst triggerFactory: TriggerFactoryMap = {\n subscription: createSubscriptionTrigger,\n timer: createTimerTrigger,\n // TODO(burdon): Cannot use in browser.\n // webhook: createWebhookTrigger,\n webhook: null as any,\n websocket: createWebsocketTrigger,\n};\n\nexport type TriggerEvent = {\n space: Space;\n triggers: FunctionTrigger[];\n};\n\ntype RegisteredTrigger = {\n activationCtx?: Context;\n trigger: FunctionTrigger;\n};\n\nexport class TriggerRegistry extends Resource {\n private readonly _triggersBySpaceKey = new ComplexMap<PublicKey, RegisteredTrigger[]>(PublicKey.hash);\n\n public readonly registered = new Event<TriggerEvent>();\n public readonly removed = new Event<TriggerEvent>();\n\n constructor(\n private readonly _client: Client,\n private readonly _options?: TriggerFactoryMap,\n ) {\n super();\n }\n\n public getActiveTriggers(space: Space): FunctionTrigger[] {\n return this._getTriggers(space, (t) => t.activationCtx != null);\n }\n\n public getInactiveTriggers(space: Space): FunctionTrigger[] {\n return this._getTriggers(space, (t) => t.activationCtx == null);\n }\n\n /**\n * Set callback for trigger.\n */\n public async activate(space: Space, trigger: FunctionTrigger, callback: TriggerCallback): Promise<void> {\n log('activate', { space: space.key, trigger });\n\n const activationCtx = new Context({ name: `FunctionTrigger-${trigger.function}` });\n this._ctx.onDispose(() => activationCtx.dispose());\n const registeredTrigger = this._triggersBySpaceKey.get(space.key)?.find((reg) => reg.trigger.id === trigger.id);\n invariant(registeredTrigger, `Trigger is not registered: ${trigger.function}`);\n registeredTrigger.activationCtx = activationCtx;\n\n try {\n // Create trigger.\n const options = this._options?.[trigger.spec.type];\n const createTrigger = triggerFactory[trigger.spec.type];\n invariant(createTrigger, `Trigger factory not found: ${trigger.spec.type}`);\n await createTrigger(activationCtx, space, trigger.spec, callback, options);\n } catch (err) {\n delete registeredTrigger.activationCtx;\n throw err;\n }\n }\n\n /**\n * Loads triggers from the manifest into the space.\n */\n public async register(space: Space, manifest: FunctionManifest): Promise<void> {\n log('register', { space: space.key });\n if (!manifest.triggers?.length) {\n return;\n }\n\n if (!space.db.graph.schemaRegistry.hasSchema(FunctionTrigger)) {\n space.db.graph.schemaRegistry.addSchema([FunctionTrigger]);\n }\n\n // Create FK to enable syncing if none are set (NOTE: Possible collision).\n const manifestTriggers = manifest.triggers.map((trigger) => {\n let keys = trigger[ECHO_ATTR_META]?.keys;\n delete trigger[ECHO_ATTR_META];\n if (!keys?.length) {\n keys = [foreignKey('manifest', [trigger.function, trigger.spec.type].join(':'))];\n }\n\n return create(FunctionTrigger, trigger, { keys });\n });\n\n // Sync triggers.\n const { objects: existing } = await space.db.query(Filter.schema(FunctionTrigger)).run();\n const { added } = diff(existing, manifestTriggers, compareForeignKeys);\n\n // TODO(burdon): Update existing.\n added.forEach((trigger) => {\n space.db.add(trigger);\n log.info('added', { meta: getMeta(trigger) });\n });\n\n if (added.length > 0) {\n await space.db.flush();\n }\n }\n\n protected override async _open(): Promise<void> {\n log.info('open...');\n const spaceListSubscription = this._client.spaces.subscribe(async (spaces) => {\n for (const space of spaces) {\n if (this._triggersBySpaceKey.has(space.key)) {\n continue;\n }\n\n const registered: RegisteredTrigger[] = [];\n this._triggersBySpaceKey.set(space.key, registered);\n await space.waitUntilReady();\n if (this._ctx.disposed) {\n break;\n }\n\n // Subscribe to updates.\n this._ctx.onDispose(\n space.db.query(Filter.schema(FunctionTrigger)).subscribe(async ({ objects: current }) => {\n log.info('update', { space: space.key, registered: registered.length, current: current.length });\n await this._handleRemovedTriggers(space, current, registered);\n this._handleNewTriggers(space, current, registered);\n }),\n );\n }\n });\n\n this._ctx.onDispose(() => spaceListSubscription.unsubscribe());\n log.info('opened');\n }\n\n protected override async _close(_: Context): Promise<void> {\n log.info('close...');\n this._triggersBySpaceKey.clear();\n log.info('closed');\n }\n\n private _handleNewTriggers(space: Space, current: FunctionTrigger[], registered: RegisteredTrigger[]) {\n const added = current.filter((candidate) => {\n return candidate.enabled && registered.find((reg) => reg.trigger.id === candidate.id) == null;\n });\n\n if (added.length > 0) {\n const newRegisteredTriggers: RegisteredTrigger[] = added.map((trigger) => ({ trigger }));\n registered.push(...newRegisteredTriggers);\n log.info('added', () => ({\n spaceKey: space.key,\n triggers: added.map((trigger) => trigger.function),\n }));\n\n this.registered.emit({ space, triggers: added });\n }\n }\n\n private async _handleRemovedTriggers(\n space: Space,\n current: FunctionTrigger[],\n registered: RegisteredTrigger[],\n ): Promise<void> {\n const removed: FunctionTrigger[] = [];\n for (let i = registered.length - 1; i >= 0; i--) {\n const wasRemoved =\n current.filter((trigger) => trigger.enabled).find((trigger) => trigger.id === registered[i].trigger.id) == null;\n if (wasRemoved) {\n const unregistered = registered.splice(i, 1)[0];\n await unregistered.activationCtx?.dispose();\n removed.push(unregistered.trigger);\n }\n }\n\n if (removed.length > 0) {\n log.info('removed', () => ({\n spaceKey: space.key,\n triggers: removed.map((trigger) => trigger.function),\n }));\n\n this.removed.emit({ space, triggers: removed });\n }\n }\n\n private _getTriggers(space: Space, predicate: (trigger: RegisteredTrigger) => boolean): FunctionTrigger[] {\n const allSpaceTriggers = this._triggersBySpaceKey.get(space.key) ?? [];\n return allSpaceTriggers.filter(predicate).map((trigger) => trigger.trigger);\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Event", "create", "Filter", "Resource", "PublicKey", "log", "ComplexMap", "diff", "FunctionRegistry", "Resource", "constructor", "_client", "_functionBySpaceKey", "ComplexMap", "PublicKey", "hash", "registered", "Event", "getFunctions", "space", "get", "key", "getUniqueByUri", "uniqueByUri", "values", "flatMap", "defs", "reduce", "acc", "v", "set", "uri", "Map", "register", "functions", "log", "length", "db", "graph", "schemaRegistry", "hasSchema", "FunctionDef", "addSchema", "objects", "existing", "query", "Filter", "schema", "run", "added", "diff", "a", "b", "forEach", "def", "add", "create", "flush", "indexes", "updates", "_open", "info", "spacesSubscription", "spaces", "subscribe", "has", "waitUntilReady", "_ctx", "disposed", "onDispose", "push", "emit", "unsubscribe", "_close", "_", "clear", "debounce", "UpdateScheduler", "Filter", "createSubscription", "log", "createSubscriptionTrigger", "ctx", "space", "spec", "callback", "objectIds", "Set", "task", "size", "objects", "Array", "from", "clear", "maxFrequency", "subscriptions", "subscription", "added", "updated", "sizeBefore", "object", "add", "id", "info", "length", "trigger", "push", "unsubscribe", "filter", "options", "deep", "delay", "update", "query", "db", "typename", "type", "props", "subscribe", "onDispose", "forEach", "CronJob", "DeferredTask", "log", "createTimerTrigger", "ctx", "space", "spec", "callback", "task", "last", "run", "job", "from", "cronTime", "cron", "runOnInit", "onTick", "now", "Date", "delta", "info", "key", "truncate", "count", "schedule", "start", "onDispose", "stop", "sleep", "Trigger", "log", "createWebsocketTrigger", "ctx", "space", "spec", "callback", "options", "retryDelay", "maxAttempts", "url", "init", "wasOpen", "ws", "attempt", "open", "createWebSocket", "Object", "assign", "onopen", "info", "send", "TextEncoder", "encode", "JSON", "stringify", "wake", "onclose", "event", "code", "disposed", "setTimeout", "onerror", "catch", "error", "Error", "onmessage", "data", "parse", "text", "TextDecoder", "decode", "err", "isOpen", "wait", "Math", "pow", "warn", "onDispose", "close", "createNodeWebSocket", "importESM", "Function", "default", "WebSocket", "globalThis", "Event", "create", "Filter", "getMeta", "Context", "Resource", "compareForeignKeys", "ECHO_ATTR_META", "foreignKey", "invariant", "PublicKey", "log", "ComplexMap", "diff", "triggerFactory", "subscription", "createSubscriptionTrigger", "timer", "createTimerTrigger", "webhook", "websocket", "createWebsocketTrigger", "TriggerRegistry", "Resource", "constructor", "_client", "_options", "_triggersBySpaceKey", "ComplexMap", "PublicKey", "hash", "registered", "Event", "removed", "getActiveTriggers", "space", "_getTriggers", "t", "activationCtx", "getInactiveTriggers", "activate", "trigger", "callback", "log", "key", "Context", "name", "function", "_ctx", "onDispose", "dispose", "registeredTrigger", "get", "find", "reg", "id", "invariant", "options", "spec", "type", "createTrigger", "err", "register", "manifest", "triggers", "length", "db", "graph", "schemaRegistry", "hasSchema", "FunctionTrigger", "addSchema", "manifestTriggers", "map", "keys", "ECHO_ATTR_META", "foreignKey", "join", "create", "objects", "existing", "query", "Filter", "schema", "run", "added", "diff", "compareForeignKeys", "forEach", "add", "info", "meta", "getMeta", "flush", "_open", "spaceListSubscription", "spaces", "subscribe", "has", "set", "waitUntilReady", "disposed", "current", "_handleRemovedTriggers", "_handleNewTriggers", "unsubscribe", "_close", "_", "clear", "filter", "candidate", "enabled", "newRegisteredTriggers", "push", "spaceKey", "emit", "i", "wasRemoved", "unregistered", "splice", "predicate", "allSpaceTriggers"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"inject-globals:@inject-globals":{"bytes":324,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/types.ts":{"bytes":9947,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/function/function-registry.ts":{"bytes":13004,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/functions/src/types.ts","kind":"import-statement","original":"../types"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/function/index.ts":{"bytes":529,"imports":[{"path":"packages/core/functions/src/function/function-registry.ts","kind":"import-statement","original":"./function-registry"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/handler.ts":{"bytes":10606,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/subscription-trigger.ts":{"bytes":10343,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/timer-trigger.ts":{"bytes":4173,"imports":[{"path":"cron","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/websocket-trigger.ts":{"bytes":12606,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/index.ts":{"bytes":864,"imports":[{"path":"packages/core/functions/src/trigger/type/subscription-trigger.ts","kind":"import-statement","original":"./subscription-trigger"},{"path":"packages/core/functions/src/trigger/type/timer-trigger.ts","kind":"import-statement","original":"./timer-trigger"},{"path":"packages/core/functions/src/trigger/type/websocket-trigger.ts","kind":"import-statement","original":"./websocket-trigger"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/trigger-registry.ts":{"bytes":28453,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/functions/src/trigger/type/index.ts","kind":"import-statement","original":"./type"},{"path":"packages/core/functions/src/types.ts","kind":"import-statement","original":"../types"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/index.ts":{"bytes":603,"imports":[{"path":"packages/core/functions/src/trigger/trigger-registry.ts","kind":"import-statement","original":"./trigger-registry"},{"path":"packages/core/functions/src/trigger/type/index.ts","kind":"import-statement","original":"./type"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/index.ts":{"bytes":840,"imports":[{"path":"packages/core/functions/src/function/index.ts","kind":"import-statement","original":"./function"},{"path":"packages/core/functions/src/handler.ts","kind":"import-statement","original":"./handler"},{"path":"packages/core/functions/src/trigger/index.ts","kind":"import-statement","original":"./trigger"},{"path":"packages/core/functions/src/types.ts","kind":"import-statement","original":"./types"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/testing/types.ts":{"bytes":1131,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/runtime/dev-server.ts":{"bytes":28958,"imports":[{"path":"express","kind":"import-statement","external":true},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/runtime/scheduler.ts":{"bytes":21084,"imports":[{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/runtime/index.ts":{"bytes":598,"imports":[{"path":"packages/core/functions/src/runtime/dev-server.ts","kind":"import-statement","original":"./dev-server"},{"path":"packages/core/functions/src/runtime/scheduler.ts","kind":"import-statement","original":"./scheduler"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/testing/setup.ts":{"bytes":12671,"imports":[{"path":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/functions/src/testing/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/functions/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"packages/core/functions/src/runtime/index.ts","kind":"import-statement","original":"../runtime"},{"path":"packages/core/functions/src/trigger/index.ts","kind":"import-statement","original":"../trigger"},{"path":"packages/core/functions/src/types.ts","kind":"import-statement","original":"../types"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/testing/util.ts":{"bytes":4292,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"packages/core/functions/src/types.ts","kind":"import-statement","original":"../types"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/testing/manifest.ts":{"bytes":1139,"imports":[{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/testing/index.ts":{"bytes":749,"imports":[{"path":"packages/core/functions/src/testing/setup.ts","kind":"import-statement","original":"./setup"},{"path":"packages/core/functions/src/testing/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/functions/src/testing/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/core/functions/src/testing/manifest.ts","kind":"import-statement","original":"./manifest"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/core/functions/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5747},"packages/core/functions/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-E7GXBW5N.mjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionRegistry","FunctionTrigger","TriggerRegistry","createSubscriptionTrigger","createTimerTrigger","createWebSocket","createWebsocketTrigger","subscriptionHandler"],"entryPoint":"packages/core/functions/src/index.ts","inputs":{"packages/core/functions/src/index.ts":{"bytesInOutput":0},"packages/core/functions/src/handler.ts":{"bytesInOutput":1624}},"bytes":2275},"packages/core/functions/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":32213},"packages/core/functions/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-E7GXBW5N.mjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs","kind":"import-statement"},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"express","kind":"import-statement","external":true},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true}],"exports":["TestType","createFunctionRuntime","createInitializedClients","inviteMember","startFunctionsHost","testFunctionManifest","triggerWebhook"],"entryPoint":"packages/core/functions/src/testing/index.ts","inputs":{"packages/core/functions/src/testing/setup.ts":{"bytesInOutput":2793},"packages/core/functions/src/testing/types.ts":{"bytesInOutput":182},"packages/core/functions/src/runtime/dev-server.ts":{"bytesInOutput":7870},"packages/core/functions/src/runtime/index.ts":{"bytesInOutput":0},"packages/core/functions/src/runtime/scheduler.ts":{"bytesInOutput":5340},"packages/core/functions/src/testing/index.ts":{"bytesInOutput":0},"packages/core/functions/src/testing/util.ts":{"bytesInOutput":1051},"packages/core/functions/src/testing/manifest.ts":{"bytesInOutput":146}},"bytes":18126},"packages/core/functions/dist/lib/browser/chunk-E7GXBW5N.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":32761},"packages/core/functions/dist/lib/browser/chunk-E7GXBW5N.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs","kind":"import-statement"},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"cron","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["FunctionRegistry","TriggerRegistry","createSubscriptionTrigger","createTimerTrigger","createWebSocket","createWebsocketTrigger"],"inputs":{"packages/core/functions/src/function/function-registry.ts":{"bytesInOutput":3046},"packages/core/functions/src/function/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/type/subscription-trigger.ts":{"bytesInOutput":2008},"packages/core/functions/src/trigger/type/timer-trigger.ts":{"bytesInOutput":898},"packages/core/functions/src/trigger/type/websocket-trigger.ts":{"bytesInOutput":3306},"packages/core/functions/src/trigger/trigger-registry.ts":{"bytesInOutput":7421},"packages/core/functions/src/trigger/type/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/index.ts":{"bytesInOutput":0}},"bytes":17295},"packages/core/functions/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/core/functions/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs","kind":"import-statement"}],"exports":["FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionTrigger"],"entryPoint":"packages/core/functions/src/types.ts","inputs":{},"bytes":276},"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5522},"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs":{"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionTrigger","__require"],"inputs":{"inject-globals:@inject-globals":{"bytesInOutput":90},"packages/core/functions/src/types.ts":{"bytesInOutput":1898}},"bytes":2610}}}
|
|
1
|
+
{"inputs":{"inject-globals:@inject-globals":{"bytes":324,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/types.ts":{"bytes":9947,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/function/function-registry.ts":{"bytes":13004,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/functions/src/types.ts","kind":"import-statement","original":"../types"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/function/index.ts":{"bytes":529,"imports":[{"path":"packages/core/functions/src/function/function-registry.ts","kind":"import-statement","original":"./function-registry"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/handler.ts":{"bytes":10606,"imports":[{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/subscription-trigger.ts":{"bytes":10343,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/timer-trigger.ts":{"bytes":4173,"imports":[{"path":"cron","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/websocket-trigger.ts":{"bytes":13341,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/index.ts":{"bytes":864,"imports":[{"path":"packages/core/functions/src/trigger/type/subscription-trigger.ts","kind":"import-statement","original":"./subscription-trigger"},{"path":"packages/core/functions/src/trigger/type/timer-trigger.ts","kind":"import-statement","original":"./timer-trigger"},{"path":"packages/core/functions/src/trigger/type/websocket-trigger.ts","kind":"import-statement","original":"./websocket-trigger"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/trigger-registry.ts":{"bytes":28453,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/functions/src/trigger/type/index.ts","kind":"import-statement","original":"./type"},{"path":"packages/core/functions/src/types.ts","kind":"import-statement","original":"../types"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/index.ts":{"bytes":603,"imports":[{"path":"packages/core/functions/src/trigger/trigger-registry.ts","kind":"import-statement","original":"./trigger-registry"},{"path":"packages/core/functions/src/trigger/type/index.ts","kind":"import-statement","original":"./type"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/index.ts":{"bytes":840,"imports":[{"path":"packages/core/functions/src/function/index.ts","kind":"import-statement","original":"./function"},{"path":"packages/core/functions/src/handler.ts","kind":"import-statement","original":"./handler"},{"path":"packages/core/functions/src/trigger/index.ts","kind":"import-statement","original":"./trigger"},{"path":"packages/core/functions/src/types.ts","kind":"import-statement","original":"./types"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/testing/types.ts":{"bytes":1131,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/runtime/dev-server.ts":{"bytes":28958,"imports":[{"path":"express","kind":"import-statement","external":true},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/runtime/scheduler.ts":{"bytes":21084,"imports":[{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/runtime/index.ts":{"bytes":598,"imports":[{"path":"packages/core/functions/src/runtime/dev-server.ts","kind":"import-statement","original":"./dev-server"},{"path":"packages/core/functions/src/runtime/scheduler.ts","kind":"import-statement","original":"./scheduler"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/testing/setup.ts":{"bytes":12671,"imports":[{"path":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/functions/src/testing/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/functions/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"packages/core/functions/src/runtime/index.ts","kind":"import-statement","original":"../runtime"},{"path":"packages/core/functions/src/trigger/index.ts","kind":"import-statement","original":"../trigger"},{"path":"packages/core/functions/src/types.ts","kind":"import-statement","original":"../types"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/testing/util.ts":{"bytes":4292,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"packages/core/functions/src/types.ts","kind":"import-statement","original":"../types"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/testing/manifest.ts":{"bytes":1139,"imports":[{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/testing/index.ts":{"bytes":749,"imports":[{"path":"packages/core/functions/src/testing/setup.ts","kind":"import-statement","original":"./setup"},{"path":"packages/core/functions/src/testing/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/functions/src/testing/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/core/functions/src/testing/manifest.ts","kind":"import-statement","original":"./manifest"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/core/functions/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5747},"packages/core/functions/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-JUASLIOP.mjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs","kind":"import-statement"},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionRegistry","FunctionTrigger","TriggerRegistry","createSubscriptionTrigger","createTimerTrigger","createWebSocket","createWebsocketTrigger","subscriptionHandler"],"entryPoint":"packages/core/functions/src/index.ts","inputs":{"packages/core/functions/src/index.ts":{"bytesInOutput":0},"packages/core/functions/src/handler.ts":{"bytesInOutput":1624}},"bytes":2275},"packages/core/functions/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":32213},"packages/core/functions/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-JUASLIOP.mjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs","kind":"import-statement"},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"express","kind":"import-statement","external":true},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/node-std/path","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-protocol","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/client/testing","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true}],"exports":["TestType","createFunctionRuntime","createInitializedClients","inviteMember","startFunctionsHost","testFunctionManifest","triggerWebhook"],"entryPoint":"packages/core/functions/src/testing/index.ts","inputs":{"packages/core/functions/src/testing/setup.ts":{"bytesInOutput":2793},"packages/core/functions/src/testing/types.ts":{"bytesInOutput":182},"packages/core/functions/src/runtime/dev-server.ts":{"bytesInOutput":7870},"packages/core/functions/src/runtime/index.ts":{"bytesInOutput":0},"packages/core/functions/src/runtime/scheduler.ts":{"bytesInOutput":5340},"packages/core/functions/src/testing/index.ts":{"bytesInOutput":0},"packages/core/functions/src/testing/util.ts":{"bytesInOutput":1051},"packages/core/functions/src/testing/manifest.ts":{"bytesInOutput":146}},"bytes":18126},"packages/core/functions/dist/lib/browser/chunk-JUASLIOP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":33089},"packages/core/functions/dist/lib/browser/chunk-JUASLIOP.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs","kind":"import-statement"},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"cron","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["FunctionRegistry","TriggerRegistry","createSubscriptionTrigger","createTimerTrigger","createWebSocket","createWebsocketTrigger"],"inputs":{"packages/core/functions/src/function/function-registry.ts":{"bytesInOutput":3046},"packages/core/functions/src/function/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/type/subscription-trigger.ts":{"bytesInOutput":2008},"packages/core/functions/src/trigger/type/timer-trigger.ts":{"bytesInOutput":898},"packages/core/functions/src/trigger/type/websocket-trigger.ts":{"bytesInOutput":3491},"packages/core/functions/src/trigger/trigger-registry.ts":{"bytesInOutput":7421},"packages/core/functions/src/trigger/type/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/index.ts":{"bytesInOutput":0}},"bytes":17480},"packages/core/functions/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/core/functions/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs","kind":"import-statement"}],"exports":["FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionTrigger"],"entryPoint":"packages/core/functions/src/types.ts","inputs":{},"bytes":276},"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5522},"packages/core/functions/dist/lib/browser/chunk-2I75VGHZ.mjs":{"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionTrigger","__require"],"inputs":{"inject-globals:@inject-globals":{"bytesInOutput":90},"packages/core/functions/src/types.ts":{"bytesInOutput":1898}},"bytes":2610}}}
|
|
@@ -16,8 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_DELILIR2_exports = {};
|
|
20
|
+
__export(chunk_DELILIR2_exports, {
|
|
21
21
|
FunctionRegistry: () => FunctionRegistry,
|
|
22
22
|
TriggerRegistry: () => TriggerRegistry,
|
|
23
23
|
createSubscriptionTrigger: () => createSubscriptionTrigger,
|
|
@@ -25,7 +25,7 @@ __export(chunk_S5VUBTIA_exports, {
|
|
|
25
25
|
createWebSocket: () => createWebSocket,
|
|
26
26
|
createWebsocketTrigger: () => createWebsocketTrigger
|
|
27
27
|
});
|
|
28
|
-
module.exports = __toCommonJS(
|
|
28
|
+
module.exports = __toCommonJS(chunk_DELILIR2_exports);
|
|
29
29
|
var import_chunk_JV3VNH5X = require("./chunk-JV3VNH5X.cjs");
|
|
30
30
|
var import_async = require("@dxos/async");
|
|
31
31
|
var import_echo = require("@dxos/client/echo");
|
|
@@ -314,16 +314,22 @@ var createWebsocketTrigger = async (ctx, space, spec, callback, options = {
|
|
|
314
314
|
S: void 0,
|
|
315
315
|
C: (f, a) => f(...a)
|
|
316
316
|
});
|
|
317
|
-
|
|
317
|
+
let data;
|
|
318
|
+
if (event.data && "text" in event.data) {
|
|
319
|
+
data = JSON.parse(await event.data.text());
|
|
320
|
+
} else {
|
|
321
|
+
data = JSON.parse(new TextDecoder().decode(event.data));
|
|
322
|
+
}
|
|
318
323
|
await callback({
|
|
319
324
|
data
|
|
320
325
|
});
|
|
321
326
|
} catch (err) {
|
|
322
327
|
import_log4.log.catch(err, {
|
|
323
|
-
url
|
|
328
|
+
url,
|
|
329
|
+
data: event.data
|
|
324
330
|
}, {
|
|
325
331
|
F: __dxlog_file4,
|
|
326
|
-
L:
|
|
332
|
+
L: 76,
|
|
327
333
|
S: void 0,
|
|
328
334
|
C: (f, a) => f(...a)
|
|
329
335
|
});
|
|
@@ -344,7 +350,7 @@ var createWebsocketTrigger = async (ctx, space, spec, callback, options = {
|
|
|
344
350
|
attempt
|
|
345
351
|
}, {
|
|
346
352
|
F: __dxlog_file4,
|
|
347
|
-
L:
|
|
353
|
+
L: 91,
|
|
348
354
|
S: void 0,
|
|
349
355
|
C: (f, a) => f(...a)
|
|
350
356
|
});
|
|
@@ -609,4 +615,4 @@ var TriggerRegistry = class extends import_context2.Resource {
|
|
|
609
615
|
createWebSocket,
|
|
610
616
|
createWebsocketTrigger
|
|
611
617
|
});
|
|
612
|
-
//# sourceMappingURL=chunk-
|
|
618
|
+
//# sourceMappingURL=chunk-DELILIR2.cjs.map
|