@dxos/functions 0.5.9-main.a2de4fa → 0.5.9-main.a75fa71

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.
@@ -422,6 +422,9 @@ var DevServer = class {
422
422
  };
423
423
  var createContext = () => new Context({
424
424
  name: "DevServer"
425
+ }, {
426
+ F: __dxlog_file2,
427
+ L: 240
425
428
  });
426
429
 
427
430
  // packages/core/functions/src/runtime/scheduler.ts
@@ -605,6 +608,9 @@ var Scheduler = class {
605
608
  };
606
609
  var createContext2 = () => new Context2({
607
610
  name: "FunctionScheduler"
611
+ }, {
612
+ F: __dxlog_file3,
613
+ L: 167
608
614
  });
609
615
 
610
616
  // packages/core/functions/src/trigger/trigger-registry.ts
@@ -919,6 +925,9 @@ var TriggerRegistry = class extends Resource2 {
919
925
  });
920
926
  const activationCtx = new Context3({
921
927
  name: `FunctionTrigger-${trigger.function}`
928
+ }, {
929
+ F: __dxlog_file8,
930
+ L: 74
922
931
  });
923
932
  this._ctx.onDispose(() => activationCtx.dispose());
924
933
  const registeredTrigger = this._triggersBySpaceKey.get(space.key)?.find((reg) => reg.trigger.id === trigger.id);
@@ -1111,4 +1120,4 @@ export {
1111
1120
  Scheduler,
1112
1121
  TriggerRegistry
1113
1122
  };
1114
- //# sourceMappingURL=chunk-ROZT7SSI.mjs.map
1123
+ //# sourceMappingURL=chunk-6ENHIEIP.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/function/function-registry.ts", "../../../src/runtime/dev-server.ts", "../../../src/runtime/scheduler.ts", "../../../src/trigger/trigger-registry.ts", "../../../src/trigger/type/subscription-trigger.ts", "../../../src/trigger/type/timer-trigger.ts", "../../../src/trigger/type/webhook-trigger.ts", "../../../src/trigger/type/websocket-trigger.ts"],
4
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\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 2023 DXOS.org\n//\n\nimport express from 'express';\nimport { getPort } from 'get-port-please';\nimport type http from 'http';\nimport { join } from 'node:path';\n\nimport { asyncTimeout, Event, Trigger } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { Context } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\n\nimport { type FunctionRegistry } from '../function';\nimport { type FunctionContext, type FunctionEvent, type FunctionHandler, type FunctionResponse } from '../handler';\nimport { type FunctionDef } from '../types';\n\nconst FN_TIMEOUT = 20_000;\n\nexport type DevServerOptions = {\n baseDir: string;\n port?: number;\n reload?: boolean;\n dataDir?: string;\n};\n\n/**\n * Functions dev server provides a local HTTP server for loading and invoking functions.\n * Functions are executed in the context of an authenticated client.\n */\nexport class DevServer {\n private _ctx = createContext();\n\n // Function handlers indexed by name (URL path).\n private readonly _handlers: Record<string, { def: FunctionDef; handler: FunctionHandler<any> }> = {};\n\n private _server?: http.Server;\n private _port?: number;\n private _functionServiceRegistration?: string;\n private _proxy?: string;\n private _seq = 0;\n\n public readonly update = new Event<number>();\n\n constructor(\n private readonly _client: Client,\n private readonly _functionsRegistry: FunctionRegistry,\n private readonly _options: DevServerOptions,\n ) {}\n\n get stats() {\n return {\n seq: this._seq,\n };\n }\n\n get endpoint() {\n invariant(this._port);\n return `http://localhost:${this._port}`;\n }\n\n get proxy() {\n return this._proxy;\n }\n\n get functions() {\n return Object.values(this._handlers);\n }\n\n async start() {\n invariant(!this._server);\n log.info('starting...');\n this._ctx = createContext();\n\n // TODO(burdon): Change to hono.\n const app = express();\n app.use(express.json());\n\n app.post('/:path', async (req, res) => {\n const { path } = req.params;\n try {\n log.info('calling', { path });\n if (this._options.reload) {\n const { def } = this._handlers['/' + path];\n await this._load(def, true);\n }\n\n // TODO(burdon): Get function context.\n res.statusCode = await asyncTimeout(this.invoke('/' + path, req.body), FN_TIMEOUT);\n res.end();\n } catch (err: any) {\n log.catch(err);\n res.statusCode = 500;\n res.end();\n }\n });\n\n this._port = this._options.port ?? (await getPort({ host: 'localhost', port: 7200, portRange: [7200, 7299] }));\n this._server = app.listen(this._port);\n\n try {\n // Register functions.\n const { registrationId, endpoint } = await this._client.services.services.FunctionRegistryService!.register({\n endpoint: this.endpoint,\n });\n\n log.info('registered', { endpoint });\n this._proxy = endpoint;\n this._functionServiceRegistration = registrationId;\n\n // Open after registration, so that it can be updated with the list of function definitions.\n await this._handleNewFunctions(this._functionsRegistry.getUniqueByUri());\n this._ctx.onDispose(this._functionsRegistry.registered.on(({ added }) => this._handleNewFunctions(added)));\n } catch (err: any) {\n await this.stop();\n throw new Error('FunctionRegistryService not available (check plugin is configured).');\n }\n\n log.info('started', { port: this._port });\n }\n\n async stop() {\n if (!this._server) {\n return;\n }\n\n log.info('stopping...');\n await this._ctx.dispose();\n\n const trigger = new Trigger();\n this._server.close(async () => {\n log.info('server stopped');\n try {\n if (this._functionServiceRegistration) {\n invariant(this._client.services.services.FunctionRegistryService);\n await this._client.services.services.FunctionRegistryService.unregister({\n registrationId: this._functionServiceRegistration,\n });\n\n log.info('unregistered', { registrationId: this._functionServiceRegistration });\n this._functionServiceRegistration = undefined;\n this._proxy = undefined;\n }\n\n trigger.wake();\n } catch (err) {\n trigger.throw(err as Error);\n }\n });\n\n await trigger.wait();\n this._port = undefined;\n this._server = undefined;\n log.info('stopped');\n }\n\n private async _handleNewFunctions(newFunctions: FunctionDef[]) {\n newFunctions.forEach((def) => this._load(def));\n await this._safeUpdateRegistration();\n log('new functions loaded', { newFunctions });\n }\n\n /**\n * Load function.\n */\n private async _load(def: FunctionDef, force?: boolean | undefined) {\n const { uri, route, handler } = def;\n const filePath = join(this._options.baseDir, handler);\n log.info('loading', { uri, force });\n\n // Remove from cache.\n if (force) {\n Object.keys(require.cache)\n .filter((key) => key.startsWith(filePath))\n .forEach((key) => {\n delete require.cache[key];\n });\n }\n\n // TODO(burdon): Import types.\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const module = require(filePath);\n if (typeof module.default !== 'function') {\n throw new Error(`Handler must export default function: ${uri}`);\n }\n\n this._handlers[route] = { def, handler: module.default };\n }\n\n private async _safeUpdateRegistration(): Promise<void> {\n invariant(this._functionServiceRegistration);\n try {\n await this._client.services.services.FunctionRegistryService!.updateRegistration({\n registrationId: this._functionServiceRegistration,\n functions: this.functions.map(({ def: { id, route } }) => ({ id, route })),\n });\n } catch (err) {\n log.catch(err);\n }\n }\n\n /**\n * Invoke function.\n */\n public async invoke(path: string, data: any): Promise<number> {\n const seq = ++this._seq;\n const now = Date.now();\n\n log.info('req', { seq, path });\n const statusCode = await this._invoke(path, { data });\n\n log.info('res', { seq, path, statusCode, duration: Date.now() - now });\n this.update.emit(statusCode);\n return statusCode;\n }\n\n private async _invoke(path: string, event: FunctionEvent) {\n const { handler } = this._handlers[path] ?? {};\n invariant(handler, `invalid path: ${path}`);\n const context: FunctionContext = {\n client: this._client,\n dataDir: this._options.dataDir,\n };\n\n let statusCode = 200;\n const response: FunctionResponse = {\n status: (code: number) => {\n statusCode = code;\n return response;\n },\n };\n\n await handler({ context, event, response });\n return statusCode;\n }\n}\n\nconst createContext = () => new Context({ name: 'DevServer' });\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport path from 'node:path';\n\nimport { Mutex } from '@dxos/async';\nimport { loadObjectReferences, type Space } from '@dxos/client/echo';\nimport { Context } from '@dxos/context';\nimport { Reference } from '@dxos/echo-protocol';\nimport { log } from '@dxos/log';\n\nimport { type FunctionRegistry } from '../function';\nimport { type FunctionEventMeta } from '../handler';\nimport { type TriggerRegistry } from '../trigger';\nimport { type FunctionDef, type FunctionManifest, type FunctionTrigger } from '../types';\n\nexport type Callback = (data: any) => Promise<void | number>;\n\nexport type SchedulerOptions = {\n endpoint?: string;\n callback?: Callback;\n};\n\n/**\n * The scheduler triggers function execution based on various trigger configurations.\n * Functions are scheduled within the context of a specific space.\n */\nexport class Scheduler {\n private _ctx = createContext();\n\n private readonly _functionUriToCallMutex = new Map<string, Mutex>();\n\n constructor(\n public readonly functions: FunctionRegistry,\n public readonly triggers: TriggerRegistry,\n private readonly _options: SchedulerOptions = {},\n ) {\n this.functions.registered.on(async ({ space, added }) => {\n await this._safeActivateTriggers(space, this.triggers.getInactiveTriggers(space), added);\n });\n this.triggers.registered.on(async ({ space, triggers }) => {\n await this._safeActivateTriggers(space, triggers, this.functions.getFunctions(space));\n });\n }\n\n async start() {\n await this._ctx.dispose();\n this._ctx = createContext();\n await this.functions.open(this._ctx);\n await this.triggers.open(this._ctx);\n }\n\n async stop() {\n await this._ctx.dispose();\n await this.functions.close();\n await this.triggers.close();\n }\n\n // TODO(burdon): Remove and update registries directly?\n public async register(space: Space, manifest: FunctionManifest) {\n await this.functions.register(space, manifest.functions);\n await this.triggers.register(space, manifest);\n }\n\n private async _safeActivateTriggers(\n space: Space,\n triggers: FunctionTrigger[],\n functions: FunctionDef[],\n ): Promise<void> {\n const mountTasks = triggers.map((trigger) => {\n return this.activate(space, functions, trigger);\n });\n await Promise.all(mountTasks).catch(log.catch);\n }\n\n /**\n * Activate trigger.\n */\n private async activate(space: Space, functions: FunctionDef[], trigger: FunctionTrigger) {\n const definition = functions.find((def) => def.uri === trigger.function);\n if (!definition) {\n log.info('function is not found for trigger', { trigger });\n return;\n }\n\n await this.triggers.activate(space, trigger, async (args) => {\n const mutex = this._functionUriToCallMutex.get(definition.uri) ?? new Mutex();\n this._functionUriToCallMutex.set(definition.uri, mutex);\n\n log.info('function triggered, waiting for mutex', { uri: definition.uri });\n return mutex.executeSynchronized(async () => {\n log.info('mutex acquired', { uri: definition.uri });\n\n // Load potential references in meta properties to serialize.\n await loadObjectReferences(trigger, (t) => Object.values(t.meta ?? {}));\n const meta: FunctionTrigger['meta'] = {};\n for (const [key, value] of Object.entries(trigger.meta ?? {})) {\n if (value instanceof Reference) {\n const object = await space.db.loadObjectById(value.objectId);\n if (object) {\n meta[key] = object;\n }\n } else {\n meta[key] = value;\n }\n }\n\n return this._execFunction(definition, trigger, {\n meta,\n data: { ...args, spaceKey: space.key },\n });\n });\n });\n\n log('activated trigger', { space: space.key, trigger });\n }\n\n /**\n * Invoke function RPC.\n */\n private async _execFunction<TData, TMeta>(\n def: FunctionDef,\n trigger: FunctionTrigger,\n { meta, data }: { meta?: TMeta; data: TData },\n ): Promise<number> {\n let status = 0;\n try {\n // TODO(burdon): Pass in Space key (common context)?\n const payload = Object.assign({}, meta && ({ meta } satisfies FunctionEventMeta<TMeta>), data);\n\n const { endpoint, callback } = this._options;\n if (endpoint) {\n // TODO(burdon): Move out of scheduler (generalize as callback).\n const url = path.join(endpoint, def.route);\n log.info('exec', { function: def.uri, url, triggerType: trigger.spec.type });\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(payload),\n });\n\n status = response.status;\n } else if (callback) {\n log.info('exec', { function: def.uri });\n status = (await callback(payload)) ?? 200;\n }\n\n // Check errors.\n if (status && status >= 400) {\n throw new Error(`Response: ${status}`);\n }\n\n // const result = await response.json();\n log.info('done', { function: def.uri, status });\n } catch (err: any) {\n log.error('error', { function: def.uri, error: err.message });\n status = 500;\n }\n\n return status;\n }\n}\n\nconst createContext = () => new Context({ name: 'FunctionScheduler' });\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, createWebhookTrigger, 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 TriggerHandlerMap = { [type in FunctionTriggerType]: TriggerFactory<any> };\n\nconst triggerHandlers: TriggerHandlerMap = {\n subscription: createSubscriptionTrigger,\n timer: createTimerTrigger,\n webhook: createWebhookTrigger,\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?: TriggerHandlerMap,\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 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 const options = this._options?.[trigger.spec.type];\n await triggerHandlers[trigger.spec.type](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", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { TextType } from '@braneframe/types';\nimport { debounce, UpdateScheduler } from '@dxos/async';\nimport { Filter, type Space } from '@dxos/client/echo';\nimport { type Context } from '@dxos/context';\nimport { createSubscription, getObjectCore, 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 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 { getPort } from 'get-port-please';\nimport http from 'node:http';\n\nimport { type Space } from '@dxos/client/echo';\nimport { type Context } from '@dxos/context';\nimport { log } from '@dxos/log';\n\nimport type { WebhookTrigger } from '../../types';\nimport { type TriggerCallback, type TriggerFactory } from '../trigger-registry';\n\nexport const createWebhookTrigger: TriggerFactory<WebhookTrigger> = async (\n ctx: Context,\n space: Space,\n spec: WebhookTrigger,\n callback: TriggerCallback,\n) => {\n // TODO(burdon): Enable POST hook with payload.\n const server = http.createServer(async (req, res) => {\n if (req.method !== spec.method) {\n res.statusCode = 405;\n return res.end();\n }\n res.statusCode = await callback({});\n res.end();\n });\n\n // TODO(burdon): Not used.\n // const DEF_PORT_RANGE = { min: 7500, max: 7599 };\n // const portRange = Object.assign({}, trigger.port, DEF_PORT_RANGE) as WebhookTrigger['port'];\n const port = await getPort({\n random: true,\n // portRange: [portRange!.min, portRange!.max],\n });\n\n // TODO(burdon): Update trigger object with actual port.\n server.listen(port, () => {\n log.info('started webhook', { port });\n spec.port = port;\n });\n\n ctx.onDispose(() => {\n server.close();\n });\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport WebSocket from 'ws';\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 = new WebSocket(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.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"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
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", "_open", "info", "spacesSubscription", "spaces", "subscribe", "has", "waitUntilReady", "_ctx", "disposed", "onDispose", "push", "emit", "unsubscribe", "_close", "_", "clear", "express", "getPort", "join", "asyncTimeout", "Event", "Trigger", "Context", "invariant", "log", "FN_TIMEOUT", "DevServer", "constructor", "_client", "_functionsRegistry", "_options", "_ctx", "createContext", "_handlers", "_seq", "update", "Event", "stats", "seq", "endpoint", "invariant", "_port", "proxy", "_proxy", "functions", "Object", "values", "start", "_server", "log", "info", "app", "express", "use", "json", "post", "req", "res", "path", "params", "reload", "def", "_load", "statusCode", "asyncTimeout", "invoke", "body", "end", "err", "catch", "port", "getPort", "host", "portRange", "listen", "registrationId", "services", "FunctionRegistryService", "register", "_functionServiceRegistration", "_handleNewFunctions", "getUniqueByUri", "onDispose", "registered", "on", "added", "stop", "Error", "dispose", "trigger", "Trigger", "close", "unregister", "undefined", "wake", "throw", "wait", "newFunctions", "forEach", "_safeUpdateRegistration", "force", "uri", "route", "handler", "filePath", "join", "baseDir", "keys", "require", "cache", "filter", "key", "startsWith", "module", "default", "updateRegistration", "map", "id", "data", "now", "Date", "_invoke", "duration", "emit", "event", "context", "client", "dataDir", "response", "status", "code", "Context", "name", "path", "Mutex", "loadObjectReferences", "Context", "Reference", "log", "Scheduler", "constructor", "functions", "triggers", "_options", "_ctx", "createContext", "_functionUriToCallMutex", "Map", "registered", "on", "space", "added", "_safeActivateTriggers", "getInactiveTriggers", "getFunctions", "start", "dispose", "open", "stop", "close", "register", "manifest", "mountTasks", "map", "trigger", "activate", "Promise", "all", "catch", "definition", "find", "def", "uri", "function", "info", "args", "mutex", "get", "set", "executeSynchronized", "t", "Object", "values", "meta", "key", "value", "entries", "object", "db", "loadObjectById", "objectId", "_execFunction", "data", "spaceKey", "status", "payload", "assign", "endpoint", "callback", "url", "join", "route", "triggerType", "spec", "type", "response", "fetch", "method", "headers", "body", "JSON", "stringify", "Error", "err", "error", "message", "name", "Event", "create", "Filter", "getMeta", "Context", "Resource", "compareForeignKeys", "ECHO_ATTR_META", "foreignKey", "invariant", "PublicKey", "log", "ComplexMap", "diff", "TextType", "debounce", "UpdateScheduler", "Filter", "createSubscription", "getObjectCore", "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", "content", "updates", "on", "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", "getPort", "http", "log", "createWebhookTrigger", "ctx", "space", "spec", "callback", "server", "createServer", "req", "res", "method", "statusCode", "end", "port", "random", "listen", "info", "onDispose", "close", "WebSocket", "sleep", "Trigger", "log", "createWebsocketTrigger", "ctx", "space", "spec", "callback", "options", "retryDelay", "maxAttempts", "url", "init", "wasOpen", "ws", "attempt", "open", "Object", "assign", "onopen", "info", "send", "TextEncoder", "encode", "JSON", "stringify", "wake", "onclose", "event", "code", "disposed", "setTimeout", "onerror", "catch", "error", "onmessage", "data", "parse", "TextDecoder", "decode", "err", "isOpen", "wait", "Math", "pow", "warn", "onDispose", "close", "triggerHandlers", "subscription", "createSubscriptionTrigger", "timer", "createTimerTrigger", "webhook", "createWebhookTrigger", "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", "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
  }
@@ -4,7 +4,7 @@ import {
4
4
  FunctionRegistry,
5
5
  Scheduler,
6
6
  TriggerRegistry
7
- } from "./chunk-ROZT7SSI.mjs";
7
+ } from "./chunk-6ENHIEIP.mjs";
8
8
  import {
9
9
  FUNCTION_SCHEMA,
10
10
  FunctionDef,
@@ -1 +1 @@
1
- {"inputs":{"inject-globals:@inject-globals":{"bytes":384,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/types.ts":{"bytes":9803,"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":12521,"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":9119,"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/runtime/dev-server.ts":{"bytes":28901,"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":20701,"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/trigger/type/subscription-trigger.ts":{"bytes":10635,"imports":[{"path":"@braneframe/types","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":"@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/webhook-trigger.ts":{"bytes":4388,"imports":[{"path":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/http","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":11002,"imports":[{"path":"ws","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/index.ts":{"bytes":865,"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/webhook-trigger.ts","kind":"import-statement","original":"./webhook-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":27366,"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":523,"imports":[{"path":"packages/core/functions/src/trigger/trigger-registry.ts","kind":"import-statement","original":"./trigger-registry"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/index.ts":{"bytes":837,"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/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/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/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":4836},"packages/core/functions/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-ROZT7SSI.mjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/browser/chunk-YSDC6YCF.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":["DevServer","FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionRegistry","FunctionTrigger","Scheduler","TriggerRegistry","subscriptionHandler"],"entryPoint":"packages/core/functions/src/index.ts","inputs":{"packages/core/functions/src/index.ts":{"bytesInOutput":0},"packages/core/functions/src/handler.ts":{"bytesInOutput":1622}},"bytes":2133},"packages/core/functions/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9729},"packages/core/functions/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-ROZT7SSI.mjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/browser/chunk-YSDC6YCF.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":"@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":2791},"packages/core/functions/src/testing/types.ts":{"bytesInOutput":182},"packages/core/functions/src/testing/index.ts":{"bytesInOutput":0},"packages/core/functions/src/testing/util.ts":{"bytesInOutput":1034},"packages/core/functions/src/testing/manifest.ts":{"bytesInOutput":146}},"bytes":4803},"packages/core/functions/dist/lib/browser/chunk-ROZT7SSI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":56121},"packages/core/functions/dist/lib/browser/chunk-ROZT7SSI.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-YSDC6YCF.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":"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/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":"@braneframe/types","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":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/http","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["DevServer","FunctionRegistry","Scheduler","TriggerRegistry"],"inputs":{"packages/core/functions/src/function/function-registry.ts":{"bytesInOutput":2927},"packages/core/functions/src/function/index.ts":{"bytesInOutput":0},"packages/core/functions/src/runtime/dev-server.ts":{"bytesInOutput":7890},"packages/core/functions/src/runtime/scheduler.ts":{"bytesInOutput":5218},"packages/core/functions/src/runtime/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/trigger-registry.ts":{"bytesInOutput":6995},"packages/core/functions/src/trigger/type/subscription-trigger.ts":{"bytesInOutput":2349},"packages/core/functions/src/trigger/type/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/type/timer-trigger.ts":{"bytesInOutput":898},"packages/core/functions/src/trigger/type/webhook-trigger.ts":{"bytesInOutput":839},"packages/core/functions/src/trigger/type/websocket-trigger.ts":{"bytesInOutput":2942},"packages/core/functions/src/trigger/index.ts":{"bytesInOutput":0}},"bytes":30848},"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-YSDC6YCF.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-YSDC6YCF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5445},"packages/core/functions/dist/lib/browser/chunk-YSDC6YCF.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":1868}},"bytes":2584}}}
1
+ {"inputs":{"inject-globals:@inject-globals":{"bytes":384,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/types.ts":{"bytes":9803,"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":12521,"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":9119,"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/runtime/dev-server.ts":{"bytes":28950,"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":20750,"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/trigger/type/subscription-trigger.ts":{"bytes":10635,"imports":[{"path":"@braneframe/types","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":"@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/webhook-trigger.ts":{"bytes":4388,"imports":[{"path":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/http","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":11002,"imports":[{"path":"ws","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/index.ts":{"bytes":865,"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/webhook-trigger.ts","kind":"import-statement","original":"./webhook-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":27434,"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":523,"imports":[{"path":"packages/core/functions/src/trigger/trigger-registry.ts","kind":"import-statement","original":"./trigger-registry"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/index.ts":{"bytes":837,"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/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/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/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":4836},"packages/core/functions/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-6ENHIEIP.mjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/browser/chunk-YSDC6YCF.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":["DevServer","FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionRegistry","FunctionTrigger","Scheduler","TriggerRegistry","subscriptionHandler"],"entryPoint":"packages/core/functions/src/index.ts","inputs":{"packages/core/functions/src/index.ts":{"bytesInOutput":0},"packages/core/functions/src/handler.ts":{"bytesInOutput":1622}},"bytes":2133},"packages/core/functions/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9729},"packages/core/functions/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-6ENHIEIP.mjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/browser/chunk-YSDC6YCF.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":"@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":2791},"packages/core/functions/src/testing/types.ts":{"bytesInOutput":182},"packages/core/functions/src/testing/index.ts":{"bytesInOutput":0},"packages/core/functions/src/testing/util.ts":{"bytesInOutput":1034},"packages/core/functions/src/testing/manifest.ts":{"bytesInOutput":146}},"bytes":4803},"packages/core/functions/dist/lib/browser/chunk-6ENHIEIP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":56130},"packages/core/functions/dist/lib/browser/chunk-6ENHIEIP.mjs":{"imports":[{"path":"packages/core/functions/dist/lib/browser/chunk-YSDC6YCF.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":"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/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":"@braneframe/types","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":"get-port-please","kind":"import-statement","external":true},{"path":"@dxos/node-std/http","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["DevServer","FunctionRegistry","Scheduler","TriggerRegistry"],"inputs":{"packages/core/functions/src/function/function-registry.ts":{"bytesInOutput":2927},"packages/core/functions/src/function/index.ts":{"bytesInOutput":0},"packages/core/functions/src/runtime/dev-server.ts":{"bytesInOutput":7924},"packages/core/functions/src/runtime/scheduler.ts":{"bytesInOutput":5252},"packages/core/functions/src/runtime/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/trigger-registry.ts":{"bytesInOutput":7040},"packages/core/functions/src/trigger/type/subscription-trigger.ts":{"bytesInOutput":2349},"packages/core/functions/src/trigger/type/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/type/timer-trigger.ts":{"bytesInOutput":898},"packages/core/functions/src/trigger/type/webhook-trigger.ts":{"bytesInOutput":839},"packages/core/functions/src/trigger/type/websocket-trigger.ts":{"bytesInOutput":2942},"packages/core/functions/src/trigger/index.ts":{"bytesInOutput":0}},"bytes":30961},"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-YSDC6YCF.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-YSDC6YCF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5445},"packages/core/functions/dist/lib/browser/chunk-YSDC6YCF.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":1868}},"bytes":2584}}}
@@ -4,7 +4,7 @@ import {
4
4
  FunctionRegistry,
5
5
  Scheduler,
6
6
  TriggerRegistry
7
- } from "../chunk-ROZT7SSI.mjs";
7
+ } from "../chunk-6ENHIEIP.mjs";
8
8
  import {
9
9
  FunctionDef,
10
10
  FunctionTrigger
@@ -26,14 +26,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_H5Q2TXOA_exports = {};
30
- __export(chunk_H5Q2TXOA_exports, {
29
+ var chunk_RC4NXTBG_exports = {};
30
+ __export(chunk_RC4NXTBG_exports, {
31
31
  DevServer: () => DevServer,
32
32
  FunctionRegistry: () => FunctionRegistry,
33
33
  Scheduler: () => Scheduler,
34
34
  TriggerRegistry: () => TriggerRegistry
35
35
  });
36
- module.exports = __toCommonJS(chunk_H5Q2TXOA_exports);
36
+ module.exports = __toCommonJS(chunk_RC4NXTBG_exports);
37
37
  var import_chunk_3E6PY6JH = require("./chunk-3E6PY6JH.cjs");
38
38
  var import_async = require("@dxos/async");
39
39
  var import_echo = require("@dxos/client/echo");
@@ -477,6 +477,9 @@ var DevServer = class {
477
477
  };
478
478
  var createContext = () => new import_context2.Context({
479
479
  name: "DevServer"
480
+ }, {
481
+ F: __dxlog_file2,
482
+ L: 240
480
483
  });
481
484
  var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/core/functions/src/runtime/scheduler.ts";
482
485
  var Scheduler = class {
@@ -652,6 +655,9 @@ var Scheduler = class {
652
655
  };
653
656
  var createContext2 = () => new import_context3.Context({
654
657
  name: "FunctionScheduler"
658
+ }, {
659
+ F: __dxlog_file3,
660
+ L: 167
655
661
  });
656
662
  var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/core/functions/src/trigger/type/subscription-trigger.ts";
657
663
  var createSubscriptionTrigger = async (ctx, space, spec, callback) => {
@@ -932,6 +938,9 @@ var TriggerRegistry = class extends import_context4.Resource {
932
938
  });
933
939
  const activationCtx = new import_context4.Context({
934
940
  name: `FunctionTrigger-${trigger.function}`
941
+ }, {
942
+ F: __dxlog_file8,
943
+ L: 74
935
944
  });
936
945
  this._ctx.onDispose(() => activationCtx.dispose());
937
946
  const registeredTrigger = this._triggersBySpaceKey.get(space.key)?.find((reg) => reg.trigger.id === trigger.id);
@@ -1124,4 +1133,4 @@ var TriggerRegistry = class extends import_context4.Resource {
1124
1133
  Scheduler,
1125
1134
  TriggerRegistry
1126
1135
  });
1127
- //# sourceMappingURL=chunk-H5Q2TXOA.cjs.map
1136
+ //# sourceMappingURL=chunk-RC4NXTBG.cjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/function/function-registry.ts", "../../../src/runtime/dev-server.ts", "../../../src/runtime/scheduler.ts", "../../../src/trigger/trigger-registry.ts", "../../../src/trigger/type/subscription-trigger.ts", "../../../src/trigger/type/timer-trigger.ts", "../../../src/trigger/type/webhook-trigger.ts", "../../../src/trigger/type/websocket-trigger.ts"],
4
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\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 2023 DXOS.org\n//\n\nimport express from 'express';\nimport { getPort } from 'get-port-please';\nimport type http from 'http';\nimport { join } from 'node:path';\n\nimport { asyncTimeout, Event, Trigger } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { Context } from '@dxos/context';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\n\nimport { type FunctionRegistry } from '../function';\nimport { type FunctionContext, type FunctionEvent, type FunctionHandler, type FunctionResponse } from '../handler';\nimport { type FunctionDef } from '../types';\n\nconst FN_TIMEOUT = 20_000;\n\nexport type DevServerOptions = {\n baseDir: string;\n port?: number;\n reload?: boolean;\n dataDir?: string;\n};\n\n/**\n * Functions dev server provides a local HTTP server for loading and invoking functions.\n * Functions are executed in the context of an authenticated client.\n */\nexport class DevServer {\n private _ctx = createContext();\n\n // Function handlers indexed by name (URL path).\n private readonly _handlers: Record<string, { def: FunctionDef; handler: FunctionHandler<any> }> = {};\n\n private _server?: http.Server;\n private _port?: number;\n private _functionServiceRegistration?: string;\n private _proxy?: string;\n private _seq = 0;\n\n public readonly update = new Event<number>();\n\n constructor(\n private readonly _client: Client,\n private readonly _functionsRegistry: FunctionRegistry,\n private readonly _options: DevServerOptions,\n ) {}\n\n get stats() {\n return {\n seq: this._seq,\n };\n }\n\n get endpoint() {\n invariant(this._port);\n return `http://localhost:${this._port}`;\n }\n\n get proxy() {\n return this._proxy;\n }\n\n get functions() {\n return Object.values(this._handlers);\n }\n\n async start() {\n invariant(!this._server);\n log.info('starting...');\n this._ctx = createContext();\n\n // TODO(burdon): Change to hono.\n const app = express();\n app.use(express.json());\n\n app.post('/:path', async (req, res) => {\n const { path } = req.params;\n try {\n log.info('calling', { path });\n if (this._options.reload) {\n const { def } = this._handlers['/' + path];\n await this._load(def, true);\n }\n\n // TODO(burdon): Get function context.\n res.statusCode = await asyncTimeout(this.invoke('/' + path, req.body), FN_TIMEOUT);\n res.end();\n } catch (err: any) {\n log.catch(err);\n res.statusCode = 500;\n res.end();\n }\n });\n\n this._port = this._options.port ?? (await getPort({ host: 'localhost', port: 7200, portRange: [7200, 7299] }));\n this._server = app.listen(this._port);\n\n try {\n // Register functions.\n const { registrationId, endpoint } = await this._client.services.services.FunctionRegistryService!.register({\n endpoint: this.endpoint,\n });\n\n log.info('registered', { endpoint });\n this._proxy = endpoint;\n this._functionServiceRegistration = registrationId;\n\n // Open after registration, so that it can be updated with the list of function definitions.\n await this._handleNewFunctions(this._functionsRegistry.getUniqueByUri());\n this._ctx.onDispose(this._functionsRegistry.registered.on(({ added }) => this._handleNewFunctions(added)));\n } catch (err: any) {\n await this.stop();\n throw new Error('FunctionRegistryService not available (check plugin is configured).');\n }\n\n log.info('started', { port: this._port });\n }\n\n async stop() {\n if (!this._server) {\n return;\n }\n\n log.info('stopping...');\n await this._ctx.dispose();\n\n const trigger = new Trigger();\n this._server.close(async () => {\n log.info('server stopped');\n try {\n if (this._functionServiceRegistration) {\n invariant(this._client.services.services.FunctionRegistryService);\n await this._client.services.services.FunctionRegistryService.unregister({\n registrationId: this._functionServiceRegistration,\n });\n\n log.info('unregistered', { registrationId: this._functionServiceRegistration });\n this._functionServiceRegistration = undefined;\n this._proxy = undefined;\n }\n\n trigger.wake();\n } catch (err) {\n trigger.throw(err as Error);\n }\n });\n\n await trigger.wait();\n this._port = undefined;\n this._server = undefined;\n log.info('stopped');\n }\n\n private async _handleNewFunctions(newFunctions: FunctionDef[]) {\n newFunctions.forEach((def) => this._load(def));\n await this._safeUpdateRegistration();\n log('new functions loaded', { newFunctions });\n }\n\n /**\n * Load function.\n */\n private async _load(def: FunctionDef, force?: boolean | undefined) {\n const { uri, route, handler } = def;\n const filePath = join(this._options.baseDir, handler);\n log.info('loading', { uri, force });\n\n // Remove from cache.\n if (force) {\n Object.keys(require.cache)\n .filter((key) => key.startsWith(filePath))\n .forEach((key) => {\n delete require.cache[key];\n });\n }\n\n // TODO(burdon): Import types.\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const module = require(filePath);\n if (typeof module.default !== 'function') {\n throw new Error(`Handler must export default function: ${uri}`);\n }\n\n this._handlers[route] = { def, handler: module.default };\n }\n\n private async _safeUpdateRegistration(): Promise<void> {\n invariant(this._functionServiceRegistration);\n try {\n await this._client.services.services.FunctionRegistryService!.updateRegistration({\n registrationId: this._functionServiceRegistration,\n functions: this.functions.map(({ def: { id, route } }) => ({ id, route })),\n });\n } catch (err) {\n log.catch(err);\n }\n }\n\n /**\n * Invoke function.\n */\n public async invoke(path: string, data: any): Promise<number> {\n const seq = ++this._seq;\n const now = Date.now();\n\n log.info('req', { seq, path });\n const statusCode = await this._invoke(path, { data });\n\n log.info('res', { seq, path, statusCode, duration: Date.now() - now });\n this.update.emit(statusCode);\n return statusCode;\n }\n\n private async _invoke(path: string, event: FunctionEvent) {\n const { handler } = this._handlers[path] ?? {};\n invariant(handler, `invalid path: ${path}`);\n const context: FunctionContext = {\n client: this._client,\n dataDir: this._options.dataDir,\n };\n\n let statusCode = 200;\n const response: FunctionResponse = {\n status: (code: number) => {\n statusCode = code;\n return response;\n },\n };\n\n await handler({ context, event, response });\n return statusCode;\n }\n}\n\nconst createContext = () => new Context({ name: 'DevServer' });\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport path from 'node:path';\n\nimport { Mutex } from '@dxos/async';\nimport { loadObjectReferences, type Space } from '@dxos/client/echo';\nimport { Context } from '@dxos/context';\nimport { Reference } from '@dxos/echo-protocol';\nimport { log } from '@dxos/log';\n\nimport { type FunctionRegistry } from '../function';\nimport { type FunctionEventMeta } from '../handler';\nimport { type TriggerRegistry } from '../trigger';\nimport { type FunctionDef, type FunctionManifest, type FunctionTrigger } from '../types';\n\nexport type Callback = (data: any) => Promise<void | number>;\n\nexport type SchedulerOptions = {\n endpoint?: string;\n callback?: Callback;\n};\n\n/**\n * The scheduler triggers function execution based on various trigger configurations.\n * Functions are scheduled within the context of a specific space.\n */\nexport class Scheduler {\n private _ctx = createContext();\n\n private readonly _functionUriToCallMutex = new Map<string, Mutex>();\n\n constructor(\n public readonly functions: FunctionRegistry,\n public readonly triggers: TriggerRegistry,\n private readonly _options: SchedulerOptions = {},\n ) {\n this.functions.registered.on(async ({ space, added }) => {\n await this._safeActivateTriggers(space, this.triggers.getInactiveTriggers(space), added);\n });\n this.triggers.registered.on(async ({ space, triggers }) => {\n await this._safeActivateTriggers(space, triggers, this.functions.getFunctions(space));\n });\n }\n\n async start() {\n await this._ctx.dispose();\n this._ctx = createContext();\n await this.functions.open(this._ctx);\n await this.triggers.open(this._ctx);\n }\n\n async stop() {\n await this._ctx.dispose();\n await this.functions.close();\n await this.triggers.close();\n }\n\n // TODO(burdon): Remove and update registries directly?\n public async register(space: Space, manifest: FunctionManifest) {\n await this.functions.register(space, manifest.functions);\n await this.triggers.register(space, manifest);\n }\n\n private async _safeActivateTriggers(\n space: Space,\n triggers: FunctionTrigger[],\n functions: FunctionDef[],\n ): Promise<void> {\n const mountTasks = triggers.map((trigger) => {\n return this.activate(space, functions, trigger);\n });\n await Promise.all(mountTasks).catch(log.catch);\n }\n\n /**\n * Activate trigger.\n */\n private async activate(space: Space, functions: FunctionDef[], trigger: FunctionTrigger) {\n const definition = functions.find((def) => def.uri === trigger.function);\n if (!definition) {\n log.info('function is not found for trigger', { trigger });\n return;\n }\n\n await this.triggers.activate(space, trigger, async (args) => {\n const mutex = this._functionUriToCallMutex.get(definition.uri) ?? new Mutex();\n this._functionUriToCallMutex.set(definition.uri, mutex);\n\n log.info('function triggered, waiting for mutex', { uri: definition.uri });\n return mutex.executeSynchronized(async () => {\n log.info('mutex acquired', { uri: definition.uri });\n\n // Load potential references in meta properties to serialize.\n await loadObjectReferences(trigger, (t) => Object.values(t.meta ?? {}));\n const meta: FunctionTrigger['meta'] = {};\n for (const [key, value] of Object.entries(trigger.meta ?? {})) {\n if (value instanceof Reference) {\n const object = await space.db.loadObjectById(value.objectId);\n if (object) {\n meta[key] = object;\n }\n } else {\n meta[key] = value;\n }\n }\n\n return this._execFunction(definition, trigger, {\n meta,\n data: { ...args, spaceKey: space.key },\n });\n });\n });\n\n log('activated trigger', { space: space.key, trigger });\n }\n\n /**\n * Invoke function RPC.\n */\n private async _execFunction<TData, TMeta>(\n def: FunctionDef,\n trigger: FunctionTrigger,\n { meta, data }: { meta?: TMeta; data: TData },\n ): Promise<number> {\n let status = 0;\n try {\n // TODO(burdon): Pass in Space key (common context)?\n const payload = Object.assign({}, meta && ({ meta } satisfies FunctionEventMeta<TMeta>), data);\n\n const { endpoint, callback } = this._options;\n if (endpoint) {\n // TODO(burdon): Move out of scheduler (generalize as callback).\n const url = path.join(endpoint, def.route);\n log.info('exec', { function: def.uri, url, triggerType: trigger.spec.type });\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(payload),\n });\n\n status = response.status;\n } else if (callback) {\n log.info('exec', { function: def.uri });\n status = (await callback(payload)) ?? 200;\n }\n\n // Check errors.\n if (status && status >= 400) {\n throw new Error(`Response: ${status}`);\n }\n\n // const result = await response.json();\n log.info('done', { function: def.uri, status });\n } catch (err: any) {\n log.error('error', { function: def.uri, error: err.message });\n status = 500;\n }\n\n return status;\n }\n}\n\nconst createContext = () => new Context({ name: 'FunctionScheduler' });\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, createWebhookTrigger, 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 TriggerHandlerMap = { [type in FunctionTriggerType]: TriggerFactory<any> };\n\nconst triggerHandlers: TriggerHandlerMap = {\n subscription: createSubscriptionTrigger,\n timer: createTimerTrigger,\n webhook: createWebhookTrigger,\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?: TriggerHandlerMap,\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 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 const options = this._options?.[trigger.spec.type];\n await triggerHandlers[trigger.spec.type](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", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { TextType } from '@braneframe/types';\nimport { debounce, UpdateScheduler } from '@dxos/async';\nimport { Filter, type Space } from '@dxos/client/echo';\nimport { type Context } from '@dxos/context';\nimport { createSubscription, getObjectCore, 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 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 { getPort } from 'get-port-please';\nimport http from 'node:http';\n\nimport { type Space } from '@dxos/client/echo';\nimport { type Context } from '@dxos/context';\nimport { log } from '@dxos/log';\n\nimport type { WebhookTrigger } from '../../types';\nimport { type TriggerCallback, type TriggerFactory } from '../trigger-registry';\n\nexport const createWebhookTrigger: TriggerFactory<WebhookTrigger> = async (\n ctx: Context,\n space: Space,\n spec: WebhookTrigger,\n callback: TriggerCallback,\n) => {\n // TODO(burdon): Enable POST hook with payload.\n const server = http.createServer(async (req, res) => {\n if (req.method !== spec.method) {\n res.statusCode = 405;\n return res.end();\n }\n res.statusCode = await callback({});\n res.end();\n });\n\n // TODO(burdon): Not used.\n // const DEF_PORT_RANGE = { min: 7500, max: 7599 };\n // const portRange = Object.assign({}, trigger.port, DEF_PORT_RANGE) as WebhookTrigger['port'];\n const port = await getPort({\n random: true,\n // portRange: [portRange!.min, portRange!.max],\n });\n\n // TODO(burdon): Update trigger object with actual port.\n server.listen(port, () => {\n log.info('started webhook', { port });\n spec.port = port;\n });\n\n ctx.onDispose(() => {\n server.close();\n });\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport WebSocket from 'ws';\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 = new WebSocket(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.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"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["import_async", "import_context", "import_log", "import_node_path", "import_echo", "import_invariant", "import_keys", "import_util", "import_get_port_please", "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", "_open", "info", "spacesSubscription", "spaces", "subscribe", "has", "waitUntilReady", "_ctx", "disposed", "onDispose", "push", "emit", "unsubscribe", "_close", "_", "clear", "FN_TIMEOUT", "DevServer", "_functionsRegistry", "_options", "createContext", "_handlers", "_seq", "update", "stats", "seq", "endpoint", "invariant", "_port", "proxy", "_proxy", "Object", "start", "_server", "app", "express", "use", "json", "post", "req", "res", "path", "params", "reload", "_load", "statusCode", "asyncTimeout", "invoke", "body", "end", "err", "catch", "port", "getPort", "host", "portRange", "listen", "registrationId", "services", "FunctionRegistryService", "_functionServiceRegistration", "_handleNewFunctions", "on", "stop", "Error", "dispose", "trigger", "Trigger", "close", "unregister", "undefined", "wake", "throw", "wait", "newFunctions", "_safeUpdateRegistration", "force", "route", "handler", "filePath", "join", "baseDir", "keys", "require", "cache", "filter", "startsWith", "module", "default", "updateRegistration", "map", "id", "data", "now", "Date", "_invoke", "duration", "event", "context", "client", "dataDir", "response", "status", "code", "Context", "name", "Scheduler", "triggers", "_functionUriToCallMutex", "_safeActivateTriggers", "getInactiveTriggers", "open", "manifest", "mountTasks", "activate", "Promise", "all", "definition", "find", "function", "args", "mutex", "Mutex", "executeSynchronized", "loadObjectReferences", "t", "meta", "value", "entries", "Reference", "object", "loadObjectById", "objectId", "_execFunction", "spaceKey", "payload", "assign", "callback", "url", "triggerType", "spec", "type", "fetch", "method", "headers", "JSON", "stringify", "error", "message", "createSubscriptionTrigger", "ctx", "objectIds", "Set", "task", "UpdateScheduler", "size", "Array", "from", "maxFrequency", "subscriptions", "subscription", "createSubscription", "updated", "sizeBefore", "options", "deep", "delay", "content", "TextType", "getObjectCore", "updates", "debounce", "typename", "props", "createTimerTrigger", "DeferredTask", "last", "job", "CronJob", "cronTime", "cron", "runOnInit", "onTick", "delta", "truncate", "count", "schedule", "createWebhookTrigger", "server", "http", "createServer", "random", "createWebsocketTrigger", "retryDelay", "maxAttempts", "init", "wasOpen", "ws", "attempt", "WebSocket", "onopen", "send", "TextEncoder", "encode", "onclose", "setTimeout", "onerror", "onmessage", "parse", "TextDecoder", "decode", "isOpen", "Math", "pow", "warn", "sleep", "triggerHandlers", "timer", "webhook", "websocket", "TriggerRegistry", "_triggersBySpaceKey", "removed", "getActiveTriggers", "_getTriggers", "activationCtx", "registeredTrigger", "reg", "FunctionTrigger", "manifestTriggers", "ECHO_ATTR_META", "foreignKey", "compareForeignKeys", "getMeta", "flush", "spaceListSubscription", "current", "_handleRemovedTriggers", "_handleNewTriggers", "candidate", "enabled", "newRegisteredTriggers", "i", "wasRemoved", "unregistered", "splice", "predicate", "allSpaceTriggers"]
7
7
  }
@@ -18,18 +18,18 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var node_exports = {};
20
20
  __export(node_exports, {
21
- DevServer: () => import_chunk_H5Q2TXOA.DevServer,
21
+ DevServer: () => import_chunk_RC4NXTBG.DevServer,
22
22
  FUNCTION_SCHEMA: () => import_chunk_3E6PY6JH.FUNCTION_SCHEMA,
23
23
  FunctionDef: () => import_chunk_3E6PY6JH.FunctionDef,
24
24
  FunctionManifestSchema: () => import_chunk_3E6PY6JH.FunctionManifestSchema,
25
- FunctionRegistry: () => import_chunk_H5Q2TXOA.FunctionRegistry,
25
+ FunctionRegistry: () => import_chunk_RC4NXTBG.FunctionRegistry,
26
26
  FunctionTrigger: () => import_chunk_3E6PY6JH.FunctionTrigger,
27
- Scheduler: () => import_chunk_H5Q2TXOA.Scheduler,
28
- TriggerRegistry: () => import_chunk_H5Q2TXOA.TriggerRegistry,
27
+ Scheduler: () => import_chunk_RC4NXTBG.Scheduler,
28
+ TriggerRegistry: () => import_chunk_RC4NXTBG.TriggerRegistry,
29
29
  subscriptionHandler: () => subscriptionHandler
30
30
  });
31
31
  module.exports = __toCommonJS(node_exports);
32
- var import_chunk_H5Q2TXOA = require("./chunk-H5Q2TXOA.cjs");
32
+ var import_chunk_RC4NXTBG = require("./chunk-RC4NXTBG.cjs");
33
33
  var import_chunk_3E6PY6JH = require("./chunk-3E6PY6JH.cjs");
34
34
  var import_client = require("@dxos/client");
35
35
  var import_log = require("@dxos/log");
@@ -1 +1 @@
1
- {"inputs":{"packages/core/functions/src/types.ts":{"bytes":9803,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/function/function-registry.ts":{"bytes":12521,"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"}],"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"}],"format":"esm"},"packages/core/functions/src/handler.ts":{"bytes":9119,"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}],"format":"esm"},"packages/core/functions/src/runtime/dev-server.ts":{"bytes":28901,"imports":[{"path":"express","kind":"import-statement","external":true},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"node: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":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/runtime/scheduler.ts":{"bytes":20701,"imports":[{"path":"node: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}],"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"}],"format":"esm"},"packages/core/functions/src/trigger/type/subscription-trigger.ts":{"bytes":10635,"imports":[{"path":"@braneframe/types","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}],"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}],"format":"esm"},"packages/core/functions/src/trigger/type/webhook-trigger.ts":{"bytes":4388,"imports":[{"path":"get-port-please","kind":"import-statement","external":true},{"path":"node:http","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/websocket-trigger.ts":{"bytes":11002,"imports":[{"path":"ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/index.ts":{"bytes":865,"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/webhook-trigger.ts","kind":"import-statement","original":"./webhook-trigger"},{"path":"packages/core/functions/src/trigger/type/websocket-trigger.ts","kind":"import-statement","original":"./websocket-trigger"}],"format":"esm"},"packages/core/functions/src/trigger/trigger-registry.ts":{"bytes":27366,"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"}],"format":"esm"},"packages/core/functions/src/trigger/index.ts":{"bytes":523,"imports":[{"path":"packages/core/functions/src/trigger/trigger-registry.ts","kind":"import-statement","original":"./trigger-registry"}],"format":"esm"},"packages/core/functions/src/index.ts":{"bytes":837,"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/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"}],"format":"esm"},"packages/core/functions/src/testing/types.ts":{"bytes":1131,"imports":[{"path":"@dxos/echo-schema","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":"node: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"}],"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"}],"format":"esm"},"packages/core/functions/src/testing/manifest.ts":{"bytes":1139,"imports":[],"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"}],"format":"esm"}},"outputs":{"packages/core/functions/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4835},"packages/core/functions/dist/lib/node/index.cjs":{"imports":[{"path":"packages/core/functions/dist/lib/node/chunk-H5Q2TXOA.cjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs","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":["DevServer","FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionRegistry","FunctionTrigger","Scheduler","TriggerRegistry","subscriptionHandler"],"entryPoint":"packages/core/functions/src/index.ts","inputs":{"packages/core/functions/src/index.ts":{"bytesInOutput":0},"packages/core/functions/src/handler.ts":{"bytesInOutput":1622}},"bytes":2100},"packages/core/functions/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9728},"packages/core/functions/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/core/functions/dist/lib/node/chunk-H5Q2TXOA.cjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs","kind":"import-statement"},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"node: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":"@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":2781},"packages/core/functions/src/testing/types.ts":{"bytesInOutput":182},"packages/core/functions/src/testing/index.ts":{"bytesInOutput":0},"packages/core/functions/src/testing/util.ts":{"bytesInOutput":1034},"packages/core/functions/src/testing/manifest.ts":{"bytesInOutput":146}},"bytes":4760},"packages/core/functions/dist/lib/node/chunk-H5Q2TXOA.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":56120},"packages/core/functions/dist/lib/node/chunk-H5Q2TXOA.cjs":{"imports":[{"path":"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs","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":"express","kind":"import-statement","external":true},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"node: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":"node: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/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":"@braneframe/types","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":"get-port-please","kind":"import-statement","external":true},{"path":"node:http","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["DevServer","FunctionRegistry","Scheduler","TriggerRegistry"],"inputs":{"packages/core/functions/src/function/function-registry.ts":{"bytesInOutput":2927},"packages/core/functions/src/function/index.ts":{"bytesInOutput":0},"packages/core/functions/src/runtime/dev-server.ts":{"bytesInOutput":7880},"packages/core/functions/src/runtime/scheduler.ts":{"bytesInOutput":5208},"packages/core/functions/src/runtime/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/trigger-registry.ts":{"bytesInOutput":6995},"packages/core/functions/src/trigger/type/subscription-trigger.ts":{"bytesInOutput":2349},"packages/core/functions/src/trigger/type/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/type/timer-trigger.ts":{"bytesInOutput":898},"packages/core/functions/src/trigger/type/webhook-trigger.ts":{"bytesInOutput":829},"packages/core/functions/src/trigger/type/websocket-trigger.ts":{"bytesInOutput":2942},"packages/core/functions/src/trigger/index.ts":{"bytesInOutput":0}},"bytes":30785},"packages/core/functions/dist/lib/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/core/functions/dist/lib/node/types.cjs":{"imports":[{"path":"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs","kind":"import-statement"}],"exports":["FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionTrigger"],"entryPoint":"packages/core/functions/src/types.ts","inputs":{},"bytes":243},"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5437},"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionTrigger","__require"],"inputs":{"packages/core/functions/src/types.ts":{"bytesInOutput":1868}},"bytes":2426}}}
1
+ {"inputs":{"packages/core/functions/src/types.ts":{"bytes":9803,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/function/function-registry.ts":{"bytes":12521,"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"}],"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"}],"format":"esm"},"packages/core/functions/src/handler.ts":{"bytes":9119,"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}],"format":"esm"},"packages/core/functions/src/runtime/dev-server.ts":{"bytes":28950,"imports":[{"path":"express","kind":"import-statement","external":true},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"node: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":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/runtime/scheduler.ts":{"bytes":20750,"imports":[{"path":"node: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}],"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"}],"format":"esm"},"packages/core/functions/src/trigger/type/subscription-trigger.ts":{"bytes":10635,"imports":[{"path":"@braneframe/types","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}],"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}],"format":"esm"},"packages/core/functions/src/trigger/type/webhook-trigger.ts":{"bytes":4388,"imports":[{"path":"get-port-please","kind":"import-statement","external":true},{"path":"node:http","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/websocket-trigger.ts":{"bytes":11002,"imports":[{"path":"ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/functions/src/trigger/type/index.ts":{"bytes":865,"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/webhook-trigger.ts","kind":"import-statement","original":"./webhook-trigger"},{"path":"packages/core/functions/src/trigger/type/websocket-trigger.ts","kind":"import-statement","original":"./websocket-trigger"}],"format":"esm"},"packages/core/functions/src/trigger/trigger-registry.ts":{"bytes":27434,"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"}],"format":"esm"},"packages/core/functions/src/trigger/index.ts":{"bytes":523,"imports":[{"path":"packages/core/functions/src/trigger/trigger-registry.ts","kind":"import-statement","original":"./trigger-registry"}],"format":"esm"},"packages/core/functions/src/index.ts":{"bytes":837,"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/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"}],"format":"esm"},"packages/core/functions/src/testing/types.ts":{"bytes":1131,"imports":[{"path":"@dxos/echo-schema","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":"node: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"}],"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"}],"format":"esm"},"packages/core/functions/src/testing/manifest.ts":{"bytes":1139,"imports":[],"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"}],"format":"esm"}},"outputs":{"packages/core/functions/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4835},"packages/core/functions/dist/lib/node/index.cjs":{"imports":[{"path":"packages/core/functions/dist/lib/node/chunk-RC4NXTBG.cjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs","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":["DevServer","FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionRegistry","FunctionTrigger","Scheduler","TriggerRegistry","subscriptionHandler"],"entryPoint":"packages/core/functions/src/index.ts","inputs":{"packages/core/functions/src/index.ts":{"bytesInOutput":0},"packages/core/functions/src/handler.ts":{"bytesInOutput":1622}},"bytes":2100},"packages/core/functions/dist/lib/node/testing/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9728},"packages/core/functions/dist/lib/node/testing/index.cjs":{"imports":[{"path":"packages/core/functions/dist/lib/node/chunk-RC4NXTBG.cjs","kind":"import-statement"},{"path":"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs","kind":"import-statement"},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"node: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":"@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":2781},"packages/core/functions/src/testing/types.ts":{"bytesInOutput":182},"packages/core/functions/src/testing/index.ts":{"bytesInOutput":0},"packages/core/functions/src/testing/util.ts":{"bytesInOutput":1034},"packages/core/functions/src/testing/manifest.ts":{"bytesInOutput":146}},"bytes":4760},"packages/core/functions/dist/lib/node/chunk-RC4NXTBG.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":56129},"packages/core/functions/dist/lib/node/chunk-RC4NXTBG.cjs":{"imports":[{"path":"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs","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":"express","kind":"import-statement","external":true},{"path":"get-port-please","kind":"import-statement","external":true},{"path":"node: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":"node: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/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":"@braneframe/types","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":"get-port-please","kind":"import-statement","external":true},{"path":"node:http","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["DevServer","FunctionRegistry","Scheduler","TriggerRegistry"],"inputs":{"packages/core/functions/src/function/function-registry.ts":{"bytesInOutput":2927},"packages/core/functions/src/function/index.ts":{"bytesInOutput":0},"packages/core/functions/src/runtime/dev-server.ts":{"bytesInOutput":7914},"packages/core/functions/src/runtime/scheduler.ts":{"bytesInOutput":5242},"packages/core/functions/src/runtime/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/trigger-registry.ts":{"bytesInOutput":7040},"packages/core/functions/src/trigger/type/subscription-trigger.ts":{"bytesInOutput":2349},"packages/core/functions/src/trigger/type/index.ts":{"bytesInOutput":0},"packages/core/functions/src/trigger/type/timer-trigger.ts":{"bytesInOutput":898},"packages/core/functions/src/trigger/type/webhook-trigger.ts":{"bytesInOutput":829},"packages/core/functions/src/trigger/type/websocket-trigger.ts":{"bytesInOutput":2942},"packages/core/functions/src/trigger/index.ts":{"bytesInOutput":0}},"bytes":30898},"packages/core/functions/dist/lib/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/core/functions/dist/lib/node/types.cjs":{"imports":[{"path":"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs","kind":"import-statement"}],"exports":["FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionTrigger"],"entryPoint":"packages/core/functions/src/types.ts","inputs":{},"bytes":243},"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5437},"packages/core/functions/dist/lib/node/chunk-3E6PY6JH.cjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["FUNCTION_SCHEMA","FunctionDef","FunctionManifestSchema","FunctionTrigger","__require"],"inputs":{"packages/core/functions/src/types.ts":{"bytesInOutput":1868}},"bytes":2426}}}
@@ -37,7 +37,7 @@ __export(testing_exports, {
37
37
  triggerWebhook: () => triggerWebhook
38
38
  });
39
39
  module.exports = __toCommonJS(testing_exports);
40
- var import_chunk_H5Q2TXOA = require("../chunk-H5Q2TXOA.cjs");
40
+ var import_chunk_RC4NXTBG = require("../chunk-RC4NXTBG.cjs");
41
41
  var import_chunk_3E6PY6JH = require("../chunk-3E6PY6JH.cjs");
42
42
  var import_get_port_please = require("get-port-please");
43
43
  var import_node_path = __toESM(require("node:path"));
@@ -99,7 +99,7 @@ var createFunctionRuntime = async (testBuilder, pluginInitializer) => {
99
99
  };
100
100
  var startFunctionsHost = async (testBuilder, pluginInitializer, options) => {
101
101
  const functionRuntime = await createFunctionRuntime(testBuilder, pluginInitializer);
102
- const functionsRegistry = new import_chunk_H5Q2TXOA.FunctionRegistry(functionRuntime);
102
+ const functionsRegistry = new import_chunk_RC4NXTBG.FunctionRegistry(functionRuntime);
103
103
  const devServer = await startDevServer(testBuilder, functionRuntime, functionsRegistry, options);
104
104
  const scheduler = await startScheduler(testBuilder, functionRuntime, devServer, functionsRegistry);
105
105
  return {
@@ -113,8 +113,8 @@ var startFunctionsHost = async (testBuilder, pluginInitializer, options) => {
113
113
  };
114
114
  };
115
115
  var startScheduler = async (testBuilder, client, devServer, functionRegistry) => {
116
- const triggerRegistry = new import_chunk_H5Q2TXOA.TriggerRegistry(client);
117
- const scheduler = new import_chunk_H5Q2TXOA.Scheduler(functionRegistry, triggerRegistry, {
116
+ const triggerRegistry = new import_chunk_RC4NXTBG.TriggerRegistry(client);
117
+ const scheduler = new import_chunk_RC4NXTBG.Scheduler(functionRegistry, triggerRegistry, {
118
118
  endpoint: devServer.endpoint
119
119
  });
120
120
  await scheduler.start();
@@ -122,7 +122,7 @@ var startScheduler = async (testBuilder, client, devServer, functionRegistry) =>
122
122
  return scheduler;
123
123
  };
124
124
  var startDevServer = async (testBuilder, client, functionRegistry, options) => {
125
- const server = new import_chunk_H5Q2TXOA.DevServer(client, functionRegistry, {
125
+ const server = new import_chunk_RC4NXTBG.DevServer(client, functionRegistry, {
126
126
  baseDir: import_node_path.default.join(__dirname, "../testing"),
127
127
  port: await (0, import_get_port_please.getRandomPort)("127.0.0.1"),
128
128
  ...options
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/functions",
3
- "version": "0.5.9-main.a2de4fa",
3
+ "version": "0.5.9-main.a75fa71",
4
4
  "description": "Functions API and runtime.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -49,24 +49,24 @@
49
49
  "express": "^4.19.2",
50
50
  "get-port-please": "^3.1.1",
51
51
  "ws": "^8.14.2",
52
- "@braneframe/types": "0.5.9-main.a2de4fa",
53
- "@dxos/async": "0.5.9-main.a2de4fa",
54
- "@dxos/client": "0.5.9-main.a2de4fa",
55
- "@dxos/context": "0.5.9-main.a2de4fa",
56
- "@dxos/echo-db": "0.5.9-main.a2de4fa",
57
- "@dxos/echo-protocol": "0.5.9-main.a2de4fa",
58
- "@dxos/invariant": "0.5.9-main.a2de4fa",
59
- "@dxos/echo-schema": "0.5.9-main.a2de4fa",
60
- "@dxos/node-std": "0.5.9-main.a2de4fa",
61
- "@dxos/keys": "0.5.9-main.a2de4fa",
62
- "@dxos/log": "0.5.9-main.a2de4fa",
63
- "@dxos/protocols": "0.5.9-main.a2de4fa",
64
- "@dxos/util": "0.5.9-main.a2de4fa"
52
+ "@braneframe/types": "0.5.9-main.a75fa71",
53
+ "@dxos/async": "0.5.9-main.a75fa71",
54
+ "@dxos/client": "0.5.9-main.a75fa71",
55
+ "@dxos/context": "0.5.9-main.a75fa71",
56
+ "@dxos/echo-db": "0.5.9-main.a75fa71",
57
+ "@dxos/echo-protocol": "0.5.9-main.a75fa71",
58
+ "@dxos/keys": "0.5.9-main.a75fa71",
59
+ "@dxos/echo-schema": "0.5.9-main.a75fa71",
60
+ "@dxos/invariant": "0.5.9-main.a75fa71",
61
+ "@dxos/log": "0.5.9-main.a75fa71",
62
+ "@dxos/node-std": "0.5.9-main.a75fa71",
63
+ "@dxos/protocols": "0.5.9-main.a75fa71",
64
+ "@dxos/util": "0.5.9-main.a75fa71"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/express": "^4.17.17",
68
68
  "@types/ws": "^7.4.0",
69
- "@dxos/agent": "0.5.9-main.a2de4fa"
69
+ "@dxos/agent": "0.5.9-main.a75fa71"
70
70
  },
71
71
  "publishConfig": {
72
72
  "access": "public"