@parlor/agent-ui 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/agent-ui-client.js.map +1 -1
- package/dist/client/confirmations.js.map +1 -1
- package/dist/client/environment.js.map +1 -1
- package/dist/client/highlight.js.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/json-equal.js.map +1 -1
- package/dist/client/registry.js.map +1 -1
- package/dist/client/screen.js.map +1 -1
- package/dist/client/write.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest.js.map +1 -1
- package/dist/pages.d.ts +11 -0
- package/dist/pages.d.ts.map +1 -0
- package/dist/pages.js +42 -0
- package/dist/pages.js.map +1 -0
- package/dist/protocol.js.map +1 -1
- package/dist/server/agent-ui.js.map +1 -1
- package/dist/server/audience.js.map +1 -1
- package/dist/server/broker.js.map +1 -1
- package/dist/server/confirmations.js.map +1 -1
- package/dist/server/directory.js.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/manifest-source.js.map +1 -1
- package/dist/server/routes.js.map +1 -1
- package/dist/server/schemas.js.map +1 -1
- package/dist/server/tools.js.map +1 -1
- package/dist/view.js.map +1 -1
- package/dist/vite/index.d.ts +1 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js.map +1 -1
- package/dist/vite/manifest.js.map +1 -1
- package/dist/vite/plugin.d.ts +8 -2
- package/dist/vite/plugin.d.ts.map +1 -1
- package/dist/vite/plugin.js +61 -12
- package/dist/vite/plugin.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-ui-client.js","sourceRoot":"","sources":["../../src/client/agent-ui-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-ui-client.js","sourceRoot":"","sources":["../../src/client/agent-ui-client.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ClientChannel } from \"@parlor/sync\";\nimport type { AnyRouter } from \"@tanstack/router-core\";\n\nimport {\n type AgentOrigin,\n type ClientMessage,\n MAX_WATCHED_THREADS,\n parseUiFrame,\n type PresenceUpdate,\n type QuerySnapshot,\n type RouteSnapshot,\n type ScreenSnapshot,\n UI_CHANNEL,\n UI_OPS,\n type UiError,\n type UiErrorCode,\n type UiOp,\n type UiOpInput,\n type UiReply,\n type UiRequest,\n} from \"../protocol.js\";\nimport { type AnyAgentView } from \"../view.js\";\nimport { type ConfirmationStore, createConfirmationStore } from \"./confirmations.js\";\nimport { type BrowserEnvironment, browserEnvironment } from \"./environment.js\";\nimport { createHighlightMarks, highlightView } from \"./highlight.js\";\nimport { createViewRegistry, type ViewRegistry, type ViewSlot } from \"./registry.js\";\nimport { captureScreen, DEFAULT_SCREEN_LIMITS, type ScreenLimits } from \"./screen.js\";\nimport { setView } from \"./write.js\";\n\nexport interface QuerySource {\n active(): readonly QuerySnapshot[];\n settled(timeoutMs: number): Promise<void>;\n}\n\nexport interface AgentUiClientOptions {\n readonly router?: AnyRouter | undefined;\n readonly queries: QuerySource;\n readonly send: (message: ClientMessage) => Promise<string | undefined>;\n readonly platform: string;\n readonly buildId?: string | undefined;\n readonly environment?: BrowserEnvironment | undefined;\n readonly limits?: Partial<ScreenLimits> | undefined;\n readonly settleMs?: number | undefined;\n readonly dev?: boolean | undefined;\n}\n\n/** What an agent is doing on this screen: a UI op, or waiting for the user to confirm. */\nexport type AgentActivityKind = UiOp | \"confirm\";\n\n/** How the app answered an operation: it did it, or refused with the error code the agent got. */\nexport type AgentOutcome =\n | { readonly status: \"done\" }\n | { readonly status: \"refused\"; readonly code: UiErrorCode };\n\nexport interface AgentActivity {\n /** A request is running, or a confirmation card is waiting for the user on this client. */\n readonly busy: boolean;\n readonly last:\n | {\n readonly op: AgentActivityKind;\n readonly origin: AgentOrigin;\n readonly at: number;\n /** Undefined while the operation runs, and for `confirm`, which the user answers. */\n readonly outcome?: AgentOutcome | undefined;\n }\n | undefined;\n}\n\nexport interface ActivityStore {\n subscribe(listener: () => void): () => void;\n get(): AgentActivity;\n}\n\nexport interface AgentUiClient extends ClientChannel {\n readonly views: ViewRegistry;\n readonly activity: ActivityStore;\n readonly confirmations: ConfirmationStore;\n screen(): Promise<ScreenSnapshot>;\n start(): () => void;\n /** Forgets what belongs to the signed-in user: the pending confirmations. */\n reset(): void;\n /** Declares a chat thread shown here until the returned function runs (presence `watching`). */\n watch(threadId: string): () => void;\n}\n\nconst REPLY_CACHE_SIZE = 64;\nconst DEFAULT_SETTLE_MS = 1500;\nconst OBSERVER_WAIT_MS = 100;\n\nexport function routeSnapshot(router: AnyRouter): RouteSnapshot | null {\n const { matches, location } = router.state;\n const leaf = matches.at(-1);\n if (!leaf) return null;\n if (matches.some((match) => match._notFound)) {\n return { notFound: true, url: location.href };\n }\n return {\n notFound: false,\n path: leaf.fullPath,\n params: leaf.params as Record<string, string>,\n search: location.search as Record<string, unknown>,\n url: location.href,\n };\n}\n\nfunction createActivityStore(): ActivityStore & {\n begin(request: UiRequest, at: number): void;\n end(reply: UiReply): void;\n confirming(\n pending: number,\n arrived: { readonly origin: AgentOrigin; readonly at: number } | undefined,\n ): void;\n watched(): boolean;\n} {\n const listeners = new Set<() => void>();\n let running = false;\n let pending = 0;\n let last: AgentActivity[\"last\"];\n let state: AgentActivity = { busy: false, last: undefined };\n const publish = () => {\n state = { busy: running || pending > 0, last };\n for (const listener of listeners) listener();\n };\n return {\n subscribe(listener) {\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n get: () => state,\n begin(request, at) {\n running = true;\n last = { op: request.op, origin: request.origin, at, outcome: undefined };\n publish();\n },\n end(reply) {\n running = false;\n if (last && last.op !== \"confirm\") {\n last = {\n ...last,\n outcome: reply.ok\n ? { status: \"done\" }\n : { status: \"refused\", code: reply.error.code },\n };\n }\n publish();\n },\n confirming(count, arrived) {\n pending = count;\n if (arrived) last = { op: \"confirm\", origin: arrived.origin, at: arrived.at };\n publish();\n },\n watched: () => listeners.size > 0,\n };\n}\n\nexport function createAgentUiClient(options: AgentUiClientOptions): AgentUiClient {\n const env = options.environment ?? browserEnvironment();\n const limits = { ...DEFAULT_SCREEN_LIMITS, ...options.limits };\n const registry = createViewRegistry(env);\n const unlistedWarned = new Set<string>();\n const warnIfUnlisted = (view: AnyAgentView) => {\n const router = options.router;\n if (!options.dev || !router || unlistedWarned.has(view.name)) return;\n const matches = router.state.matches;\n if (matches.some((match) => match.staticData?.views?.includes(view))) return;\n unlistedWarned.add(view.name);\n console.warn(\n `[parlor] The agent view \"${view.name}\" mounted on ${router.state.location.pathname}, but no matched route lists it in staticData.views, so the manifest cannot tell agents where it lives.`,\n );\n };\n const views: ViewRegistry = {\n track(view, binding) {\n const slot = registry.track(view, binding);\n return {\n ...slot,\n mount(key) {\n warnIfUnlisted(view);\n return slot.mount(key);\n },\n } satisfies ViewSlot;\n },\n };\n const activity = createActivityStore();\n const marks = createHighlightMarks(env);\n const confirmations = createConfirmationStore({\n env,\n answer: (id, approve) => post({ type: \"answer\", id, approve }),\n onWatchedChange: () => schedulePresence(),\n onChange: () => {\n const showing = confirmations.get();\n const arrived = showing.filter((item) => !seenCards.has(item.id)).at(-1);\n for (const item of showing) seenCards.add(item.id);\n activity.confirming(\n showing.length,\n arrived && { origin: arrived.origin, at: env.now() },\n );\n },\n });\n const seenCards = new Set<string>();\n const replies = new Map<string, UiReply>();\n const queued = new Set<string>();\n const queue: UiRequest[] = [];\n let draining = false;\n let warnedUnwatched = false;\n\n const deliver = (message: ClientMessage): Promise<void> =>\n options.send(message).then(\n (next) => {\n if (next !== undefined) receive(next);\n },\n () => {},\n );\n const post = (message: ClientMessage) => void deliver(message);\n\n let lifecycleTail: Promise<void> | undefined;\n const postInOrder = (message: ClientMessage) => {\n const delivered =\n lifecycleTail === undefined\n ? deliver(message)\n : lifecycleTail.then(() => deliver(message));\n const tail: Promise<void> = delivered.finally(() => {\n if (lifecycleTail === tail) lifecycleTail = undefined;\n });\n lifecycleTail = tail;\n };\n\n const observed = async () => {\n // A hidden page does not render, so its observer stays silent until it is shown.\n if (!registry.awaitingObserver() || env.document?.visibilityState !== \"visible\") {\n return;\n }\n let timer: ReturnType<typeof setTimeout> | undefined;\n await Promise.race([\n registry.observed(),\n new Promise<void>((resolve) => {\n timer = env.setTimeout(resolve, OBSERVER_WAIT_MS);\n }),\n ]);\n env.clearTimeout(timer);\n };\n\n const screen = async () => {\n await observed();\n return captureScreen(\n registry,\n {\n route: () => (options.router ? routeSnapshot(options.router) : null),\n queries: () => options.queries.active(),\n },\n env,\n limits,\n );\n };\n\n const settleMs = options.settleMs ?? DEFAULT_SETTLE_MS;\n\n const navigate = async (\n input: UiOpInput<\"navigate\">,\n ): Promise<ScreenSnapshot | UiError> => {\n const router = options.router;\n if (!router) {\n return {\n code: \"unknown_route\",\n message:\n \"This app did not give FrameworkProvider a router, so it cannot navigate.\",\n };\n }\n if (!Object.hasOwn(router.routesByPath, input.to)) {\n return { code: \"unknown_route\", message: `This app has no route ${input.to}.` };\n }\n const deadline = env.now() + settleMs;\n let timer: ReturnType<typeof setTimeout> | undefined;\n await Promise.race([\n router.navigate({\n to: input.to,\n ...(input.params ? { params: input.params } : {}),\n ...(input.search ? { search: input.search } : {}),\n ...(input.replace === undefined ? {} : { replace: input.replace }),\n } as unknown as Parameters<AnyRouter[\"navigate\"]>[0]),\n new Promise<void>((resolve) => {\n timer = env.setTimeout(resolve, settleMs);\n }),\n ]);\n env.clearTimeout(timer);\n await env.nextTask();\n await options.queries.settled(Math.max(0, deadline - env.now()));\n await env.nextTask();\n return screen();\n };\n\n const execute = async (request: UiRequest): Promise<UiReply> => {\n const ok = (result: unknown): UiReply => ({\n type: \"reply\",\n id: request.id,\n ok: true,\n result,\n });\n const fail = (error: UiError): UiReply => ({\n type: \"reply\",\n id: request.id,\n ok: false,\n error,\n });\n try {\n switch (request.op) {\n case \"screen\":\n return ok(await screen());\n case \"navigate\": {\n const outcome = await navigate(request.input);\n return \"code\" in outcome ? fail(outcome) : ok({ screen: outcome });\n }\n case \"set\": {\n const outcome = await setView(registry, request.input, env);\n return \"code\" in outcome ? fail(outcome) : ok(outcome);\n }\n case \"highlight\": {\n const outcome = await highlightView(registry, request.input, env, marks);\n return \"code\" in outcome ? fail(outcome) : ok(outcome);\n }\n }\n } catch (error) {\n return fail({\n code: \"internal\",\n message: error instanceof Error ? error.message : \"The app failed to answer.\",\n });\n }\n };\n\n const remember = (reply: UiReply) => {\n replies.set(reply.id, reply);\n if (replies.size > REPLY_CACHE_SIZE) replies.delete(replies.keys().next().value!);\n post(reply);\n };\n\n const drain = async () => {\n if (draining) return;\n draining = true;\n while (queue.length > 0) {\n const request = queue.shift()!;\n activity.begin(request, env.now());\n const reply = await execute(request);\n queued.delete(request.id);\n remember(reply);\n activity.end(reply);\n }\n draining = false;\n };\n\n const warnIfUnwatched = () => {\n if (!options.dev || warnedUnwatched || activity.watched()) return;\n warnedUnwatched = true;\n console.warn(\n \"[parlor] An agent is reading or driving this screen, but nothing renders useAgentActivity(). Show users when an agent is at work by building an indicator on useAgentActivity().\",\n );\n };\n\n const watched = new Map<string, number>();\n let lastPresence: string | undefined;\n let gone = false;\n let connected = false;\n let presenceTimer: ReturnType<typeof setTimeout> | undefined;\n const presence = (): PresenceUpdate => {\n const visible = env.document?.visibilityState === \"visible\";\n return {\n type: \"presence\",\n focused: visible && (env.document?.hasFocus() ?? false),\n visible,\n platform: options.platform,\n ...(options.buildId === undefined ? {} : { buildId: options.buildId }),\n ops: UI_OPS,\n canConfirm: confirmations.watched(),\n ...(watched.size > 0\n ? { watching: [...watched.keys()].slice(0, MAX_WATCHED_THREADS) }\n : {}),\n };\n };\n const reportPresence = () => {\n if (gone || !connected) return;\n const update = presence();\n const serialized = JSON.stringify(update);\n if (serialized === lastPresence) return;\n lastPresence = serialized;\n postInOrder(update);\n };\n const schedulePresence = () => {\n if (presenceTimer !== undefined) return;\n presenceTimer = env.setTimeout(() => {\n presenceTimer = undefined;\n reportPresence();\n }, 0);\n };\n const leave = () => {\n gone = true;\n lastPresence = undefined;\n if (presenceTimer !== undefined) env.clearTimeout(presenceTimer);\n presenceTimer = undefined;\n postInOrder({ type: \"leave\" });\n };\n const resume = () => {\n gone = false;\n schedulePresence();\n };\n const presenceTargets = () =>\n [\n [env.window, \"focus\", schedulePresence],\n [env.window, \"blur\", schedulePresence],\n [env.window, \"pageshow\", resume],\n [env.window, \"pagehide\", leave],\n [env.document, \"visibilitychange\", schedulePresence],\n ] as const;\n let presenceAttached = false;\n const attachPresence = () => {\n if (presenceAttached) return;\n presenceAttached = true;\n for (const [target, event, listener] of presenceTargets()) {\n target?.addEventListener(event, listener);\n }\n };\n const detachPresence = () => {\n presenceAttached = false;\n for (const [target, event, listener] of presenceTargets()) {\n target?.removeEventListener(event, listener);\n }\n if (presenceTimer !== undefined) env.clearTimeout(presenceTimer);\n presenceTimer = undefined;\n lastPresence = undefined;\n };\n\n const receive = (data: string) => {\n const parsed = parseUiFrame(data);\n if (!parsed.ok) {\n if (parsed.id !== undefined) {\n remember({\n type: \"reply\",\n id: parsed.id,\n ok: false,\n error: {\n code: \"internal\",\n message: \"The app could not read this UI request.\",\n },\n });\n }\n return;\n }\n const { frame: request } = parsed;\n if (!(\"op\" in request)) {\n confirmations.replace(request.items);\n return;\n }\n const cached = replies.get(request.id);\n if (cached) {\n post(cached);\n return;\n }\n if (queued.has(request.id)) return;\n warnIfUnwatched();\n queued.add(request.id);\n queue.push(request);\n void drain();\n };\n\n return {\n event: UI_CHANNEL,\n views,\n activity,\n confirmations,\n screen,\n opened() {\n gone = false;\n connected = true;\n attachPresence();\n lastPresence = undefined;\n reportPresence();\n },\n closed() {\n connected = false;\n detachPresence();\n },\n receive,\n watch(threadId) {\n watched.set(threadId, (watched.get(threadId) ?? 0) + 1);\n schedulePresence();\n let released = false;\n return () => {\n if (released) return;\n released = true;\n const remaining = (watched.get(threadId) ?? 1) - 1;\n if (remaining > 0) watched.set(threadId, remaining);\n else watched.delete(threadId);\n schedulePresence();\n };\n },\n reset() {\n confirmations.replace([]);\n },\n start() {\n registry.resume();\n return () => {\n registry.dispose();\n marks.dispose();\n confirmations.dispose();\n detachPresence();\n };\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmations.js","sourceRoot":"","sources":["../../src/client/confirmations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"confirmations.js","sourceRoot":"","sources":["../../src/client/confirmations.ts"],"names":[],"mappings":"AA0CA,MAAM,WAAW,GAAG,CAAC,MAA0B,EAAE,EAAE,CACjD,IAAI,CAAC,SAAS,CAAC;IACb,MAAM,CAAC,MAAM;IACb,MAAM,CAAC,WAAW;IAClB,MAAM,CAAC,KAAK;IACZ,MAAM,CAAC,MAAM,CAAC,GAAG;IACjB,MAAM,CAAC,MAAM,CAAC,IAAI;IAClB,MAAM,CAAC,QAAQ;CAChB,CAAC,CAAC;AAEL,MAAM,SAAS,GAAG,CAAC,CAA+B,EAAE,CAA+B,EAAE,EAAE,CACrF,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvE,MAAM,UAAU,uBAAuB,CACrC,OAAiC;IAEjC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IACxC,IAAI,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,IAAI,OAAO,GAAiC,EAAE,CAAC;IAC/C,IAAI,MAAiD,CAAC;IAEtD,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,GAAG,SAAS,CAAC;QACnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE,OAAO;QACrC,OAAO,GAAG,IAAI,CAAC;QACf,cAAc,EAAE,CAAC;QACjB,KAAK,MAAM,QAAQ,IAAI,SAAS;YAAE,QAAQ,EAAE,CAAC;QAC7C,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,SAAS,MAAM;QACb,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;QAClF,MAAM,EAAE,CAAC;QACT,cAAc,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,OAAgB,EAAE,EAAE;QAC/C,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO;QAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,MAA0B,EAAqB,EAAE,CAAC,CAAC;QACjE,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW;QACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC;QACvC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC;KACzC,CAAC,CAAC;IAEH,OAAO;QACL,SAAS,CAAC,QAAQ;YAChB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,CAAC,eAAe,EAAE,CAAC;YACpD,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAAE,OAAO;gBACxC,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;oBAAE,OAAO,CAAC,eAAe,EAAE,CAAC;YACtD,CAAC,CAAC;QACJ,CAAC;QACD,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO;QAClB,OAAO,CAAC,OAAO;YACb,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAC;YACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,EAAE,EACT,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAC7E,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,MAAM,EAAE,IAAI,QAAQ;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAClE,MAAM,EAAE,CAAC;QACX,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;QACjC,OAAO;YACL,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,GAAG,SAAS,CAAC;YACnB,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { AgentOrigin, ConfirmationPrompt } from \"../protocol.js\";\nimport type { BrowserEnvironment } from \"./environment.js\";\n\n/** A pending agent request the user must approve, as an app renders it. */\nexport interface AgentConfirmation {\n readonly id: string;\n readonly action: string;\n readonly description: string;\n /** The validated input the action will run with, as JSON. */\n readonly input: unknown;\n readonly origin: AgentOrigin;\n /** Local `Date.now()` time after which the server stops waiting. */\n readonly expiresAt: number;\n /** The chat thread an inline agent asked from; the chat shows the card inline there. */\n readonly threadId?: string | undefined;\n readonly approve: () => void;\n readonly decline: () => void;\n}\n\nexport interface ConfirmationStore {\n subscribe(listener: () => void): () => void;\n get(): readonly AgentConfirmation[];\n}\n\nexport interface ConfirmationStoreRuntime extends ConfirmationStore {\n replace(items: readonly ConfirmationPrompt[]): void;\n watched(): boolean;\n dispose(): void;\n}\n\nexport interface ConfirmationStoreOptions {\n readonly env: Pick<BrowserEnvironment, \"now\" | \"setTimeout\" | \"clearTimeout\">;\n readonly answer: (id: string, approve: boolean) => void;\n readonly onWatchedChange: () => void;\n readonly onChange: () => void;\n}\n\ninterface Entry {\n readonly signature: string;\n readonly item: AgentConfirmation;\n}\n\nconst signatureOf = (prompt: ConfirmationPrompt) =>\n JSON.stringify([\n prompt.action,\n prompt.description,\n prompt.input,\n prompt.origin.via,\n prompt.origin.name,\n prompt.threadId,\n ]);\n\nconst sameItems = (a: readonly AgentConfirmation[], b: readonly AgentConfirmation[]) =>\n a.length === b.length && a.every((item, index) => item === b[index]);\n\nexport function createConfirmationStore(\n options: ConfirmationStoreOptions,\n): ConfirmationStoreRuntime {\n const { env } = options;\n const listeners = new Set<() => void>();\n let entries = new Map<string, Entry>();\n const answered = new Set<string>();\n let visible: readonly AgentConfirmation[] = [];\n let expiry: ReturnType<typeof setTimeout> | undefined;\n\n const scheduleExpiry = () => {\n env.clearTimeout(expiry);\n expiry = undefined;\n if (visible.length === 0) return;\n const next = Math.min(...visible.map((item) => item.expiresAt));\n expiry = env.setTimeout(expire, Math.max(0, next - env.now()));\n };\n\n const commit = () => {\n const next = [...entries.values()]\n .map((entry) => entry.item)\n .filter((item) => !answered.has(item.id));\n if (sameItems(next, visible)) return;\n visible = next;\n scheduleExpiry();\n for (const listener of listeners) listener();\n options.onChange();\n };\n\n function expire() {\n const now = env.now();\n entries = new Map([...entries].filter(([, entry]) => entry.item.expiresAt > now));\n commit();\n scheduleExpiry();\n }\n\n const respond = (id: string, approve: boolean) => {\n if (answered.has(id)) return;\n answered.add(id);\n options.answer(id, approve);\n commit();\n };\n\n const itemOf = (prompt: ConfirmationPrompt): AgentConfirmation => ({\n id: prompt.id,\n action: prompt.action,\n description: prompt.description,\n input: prompt.input,\n origin: prompt.origin,\n expiresAt: env.now() + prompt.expiresInMs,\n threadId: prompt.threadId,\n approve: () => respond(prompt.id, true),\n decline: () => respond(prompt.id, false),\n });\n\n return {\n subscribe(listener) {\n listeners.add(listener);\n if (listeners.size === 1) options.onWatchedChange();\n return () => {\n if (!listeners.delete(listener)) return;\n if (listeners.size === 0) options.onWatchedChange();\n };\n },\n get: () => visible,\n replace(prompts) {\n const next = new Map<string, Entry>();\n for (const prompt of prompts) {\n const signature = signatureOf(prompt);\n const known = entries.get(prompt.id);\n next.set(\n prompt.id,\n known?.signature === signature ? known : { signature, item: itemOf(prompt) },\n );\n }\n entries = next;\n for (const id of answered) if (!next.has(id)) answered.delete(id);\n commit();\n },\n watched: () => listeners.size > 0,\n dispose() {\n env.clearTimeout(expiry);\n expiry = undefined;\n listeners.clear();\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/client/environment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/client/environment.ts"],"names":[],"mappings":"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","sourcesContent":["export interface IntersectionObserverLike {\n observe(element: Element): void;\n unobserve(element: Element): void;\n disconnect(): void;\n}\n\nexport interface IntersectionEntryLike {\n readonly target: Element;\n readonly isIntersecting: boolean;\n}\n\nexport interface RectLike {\n readonly top: number;\n readonly bottom: number;\n readonly left: number;\n readonly right: number;\n readonly width: number;\n readonly height: number;\n}\n\nexport interface BrowserEnvironment {\n readonly document: Document | undefined;\n readonly window: (Window & typeof globalThis) | undefined;\n readonly observeIntersections: (\n callback: (entries: readonly IntersectionEntryLike[]) => void,\n ) => IntersectionObserverLike | undefined;\n readonly rect: (element: Element) => RectLike;\n readonly viewport: () => { readonly width: number; readonly height: number };\n readonly now: () => number;\n readonly nextTask: () => Promise<void>;\n readonly setTimeout: typeof globalThis.setTimeout;\n readonly clearTimeout: typeof globalThis.clearTimeout;\n readonly scrollIntoView: (element: Element) => Promise<void>;\n readonly hasFinePointer: () => boolean;\n}\n\nexport const SCROLL_SETTLE_CAP_MS = 900;\n\nconst NO_SCROLL_FRAMES = 6;\nconst STILL_FRAMES = 2;\n\nexport function scrollIntoCenter(\n window: (Window & typeof globalThis) | undefined,\n element: Element,\n): Promise<void> {\n if (!window) return Promise.resolve();\n const hidden = window.document?.visibilityState === \"hidden\";\n const reduced = window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n const started = window.performance.now();\n let last = element.getBoundingClientRect().top;\n element.scrollIntoView({\n block: \"center\",\n inline: \"nearest\",\n behavior: reduced || hidden ? \"instant\" : \"smooth\",\n });\n if (hidden) return Promise.resolve();\n return new Promise((resolve) => {\n let moved = false;\n let still = 0;\n let frames = 0;\n let done = false;\n const finish = () => {\n done = true;\n globalThis.clearTimeout(cap);\n resolve();\n };\n const cap = globalThis.setTimeout(finish, SCROLL_SETTLE_CAP_MS);\n const step = () => {\n if (done) return;\n const { top } = element.getBoundingClientRect();\n frames++;\n if (top === last) still++;\n else {\n moved = true;\n still = 0;\n last = top;\n }\n const settled = moved ? still >= STILL_FRAMES : frames >= NO_SCROLL_FRAMES;\n if (settled || window.performance.now() - started >= SCROLL_SETTLE_CAP_MS) {\n finish();\n return;\n }\n window.requestAnimationFrame(step);\n };\n window.requestAnimationFrame(step);\n });\n}\n\nexport function browserEnvironment(): BrowserEnvironment {\n const window = typeof globalThis.window === \"undefined\" ? undefined : globalThis.window;\n return {\n document: window?.document,\n window,\n observeIntersections: (callback) =>\n typeof IntersectionObserver === \"undefined\"\n ? undefined\n : new IntersectionObserver((entries) => callback(entries)),\n rect: (element) => element.getBoundingClientRect(),\n viewport: () => ({\n width: window?.innerWidth ?? 0,\n height: window?.innerHeight ?? 0,\n }),\n now: () => Date.now(),\n nextTask: () =>\n new Promise((resolve) => {\n const channel = new MessageChannel();\n channel.port1.onmessage = () => {\n channel.port1.close();\n resolve();\n };\n channel.port2.postMessage(undefined);\n }),\n setTimeout: globalThis.setTimeout.bind(globalThis),\n clearTimeout: globalThis.clearTimeout.bind(globalThis),\n scrollIntoView: (element) => scrollIntoCenter(window, element),\n hasFinePointer: () => window?.matchMedia(\"(pointer: fine)\").matches ?? false,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../src/client/highlight.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../src/client/highlight.ts"],"names":[],"mappings":"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","sourcesContent":["import type { UiError, UiOpInput, UiOpResults } from \"../protocol.js\";\nimport type { BrowserEnvironment } from \"./environment.js\";\nimport type { ViewRegistryRuntime } from \"./registry.js\";\nimport { measure } from \"./screen.js\";\nimport { notMounted } from \"./write.js\";\n\nexport const HIGHLIGHT_ATTRIBUTE = \"data-parlor-highlight\";\nexport const HIGHLIGHT_HOLD_MS = 2000;\n\nexport interface HighlightMarks {\n mark(element: Element): void;\n dispose(): void;\n}\n\nexport function createHighlightMarks(\n env: Pick<BrowserEnvironment, \"setTimeout\" | \"clearTimeout\">,\n holdMs: number = HIGHLIGHT_HOLD_MS,\n): HighlightMarks {\n const timers = new Map<Element, ReturnType<typeof setTimeout>>();\n const clear = (element: Element) => {\n env.clearTimeout(timers.get(element));\n timers.delete(element);\n element.removeAttribute(HIGHLIGHT_ATTRIBUTE);\n };\n return {\n mark(element) {\n env.clearTimeout(timers.get(element));\n element.setAttribute(HIGHLIGHT_ATTRIBUTE, \"\");\n timers.set(\n element,\n env.setTimeout(() => clear(element), holdMs),\n );\n },\n dispose() {\n for (const element of [...timers.keys()]) clear(element);\n },\n };\n}\n\nconst quote = (name: string) => name.replace(/[\"\\\\]/g, \"\\\\$&\");\n\nconst NON_TEXT_INPUTS: ReadonlySet<string> = new Set([\n \"button\",\n \"checkbox\",\n \"color\",\n \"file\",\n \"image\",\n \"radio\",\n \"range\",\n \"reset\",\n \"submit\",\n]);\n\nconst CONTENT_EDITABLE =\n '[contenteditable=\"\"],[contenteditable=\"true\"],[contenteditable=\"plaintext-only\"]';\n\nfunction takesTyping(element: Element): boolean {\n switch (element.tagName) {\n case \"TEXTAREA\":\n case \"SELECT\":\n return true;\n case \"INPUT\":\n return !NON_TEXT_INPUTS.has((element as HTMLInputElement).type);\n default:\n return element.closest(CONTENT_EDITABLE) !== null;\n }\n}\n\nfunction typingElsewhere(\n registry: Pick<ViewRegistryRuntime, \"agentFocus\">,\n env: Pick<BrowserEnvironment, \"document\">,\n target: Element,\n): Element | undefined {\n const document = env.document;\n if (!document?.hasFocus()) return undefined;\n const active = document.activeElement;\n return active &&\n active !== target &&\n active !== registry.agentFocus() &&\n takesTyping(active)\n ? active\n : undefined;\n}\n\nasync function untilIntersectionsReported(env: Pick<BrowserEnvironment, \"nextTask\">) {\n // The observer's notification is queued after our first task, so wait for a second.\n await env.nextTask();\n await env.nextTask();\n}\n\nexport async function highlightView(\n registry: ViewRegistryRuntime,\n input: UiOpInput<\"highlight\">,\n env: BrowserEnvironment,\n marks: HighlightMarks,\n): Promise<UiOpResults[\"highlight\"] | UiError> {\n const root = registry.find(input)?.element;\n if (!root) return notMounted(input);\n const element =\n input.field === undefined\n ? root\n : root.querySelector<HTMLElement>(`[name=\"${quote(input.field)}\"]`);\n if (!element) {\n return {\n code: \"not_mounted\",\n message: `${input.view} has no field ${input.field} on screen.`,\n issues: [{ path: \"field\", message: input.field! }],\n };\n }\n const typing = typingElsewhere(registry, env, element);\n if (typing) {\n const name = typing.getAttribute(\"name\") ?? typing.tagName.toLowerCase();\n return {\n code: \"user_editing\",\n message: `The user is typing in ${name}. Wait, or ask them.`,\n issues: [{ path: name, message: \"The user is typing here.\" }],\n };\n }\n await registry.quietly(async () => {\n if (input.field !== undefined && env.hasFinePointer()) {\n registry.placeFocus(element as HTMLElement);\n }\n await env.scrollIntoView(element);\n await untilIntersectionsReported(env);\n });\n marks.mark(element);\n return { shown: measure(element, env).shown };\n}\n"]}
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,mBAAmB,EAEnB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,kBAAkB,GAInB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAkD,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAGL,eAAe,GAGhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAqB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,mBAAmB,EAEnB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,kBAAkB,GAInB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAkD,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAGL,eAAe,GAGhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAqB,MAAM,aAAa,CAAC","sourcesContent":["export {\n type ActivityStore,\n type AgentActivity,\n type AgentActivityKind,\n type AgentOutcome,\n type AgentUiClient,\n type AgentUiClientOptions,\n createAgentUiClient,\n type QuerySource,\n routeSnapshot,\n} from \"./agent-ui-client.js\";\nexport {\n type BrowserEnvironment,\n browserEnvironment,\n type IntersectionEntryLike,\n type IntersectionObserverLike,\n type RectLike,\n} from \"./environment.js\";\nexport { type AgentConfirmation, type ConfirmationStore } from \"./confirmations.js\";\nexport {\n type AgentWrites,\n type AnyViewBinding,\n NO_AGENT_WRITES,\n type ViewRegistry,\n type ViewSlot,\n} from \"./registry.js\";\nexport { agentFieldsOf } from \"./write.js\";\nexport { DEFAULT_SCREEN_LIMITS, type ScreenLimits } from \"./screen.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-equal.js","sourceRoot":"","sources":["../../src/client/json-equal.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,CAAC,KAAc,EAAoC,EAAE;IACzE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,CAAU,EAAE,CAAU;IAC9C,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YACrC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"json-equal.js","sourceRoot":"","sources":["../../src/client/json-equal.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,CAAC,KAAc,EAAoC,EAAE;IACzE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,CAAU,EAAE,CAAU;IAC9C,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YACrC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["const isPlainObject = (value: unknown): value is Record<string, unknown> => {\n if (typeof value !== \"object\" || value === null) return false;\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n};\n\nexport function jsonEqual(a: unknown, b: unknown): boolean {\n if (Object.is(a, b)) return true;\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => jsonEqual(item, b[index]));\n }\n if (isPlainObject(a) && isPlainObject(b)) {\n const keys = Object.keys(a);\n return (\n keys.length === Object.keys(b).length &&\n keys.every((key) => Object.hasOwn(b, key) && jsonEqual(a[key], b[key]))\n );\n }\n return false;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/client/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/client/registry.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AnyAgentView, ViewRef } from \"../view.js\";\nimport type {\n BrowserEnvironment,\n IntersectionEntryLike,\n IntersectionObserverLike,\n} from \"./environment.js\";\nimport { jsonEqual } from \"./json-equal.js\";\n\nexport interface AnyViewBinding {\n readonly key?: string | undefined;\n get(): Readonly<Record<string, unknown>>;\n set?(\n next: Readonly<Record<string, unknown>>,\n changed: readonly string[],\n ): void | Promise<void>;\n}\n\nexport type AgentWrites = ReadonlyMap<string, unknown>;\n\nexport const NO_AGENT_WRITES: AgentWrites = new Map();\n\nexport interface ViewSlot {\n readonly ref: (element: Element | null) => void;\n bind(binding: AnyViewBinding): void;\n mount(key: string | undefined): () => void;\n readonly subscribeWrites: (listener: () => void) => () => void;\n readonly writes: () => AgentWrites;\n}\n\nexport interface ViewRegistry {\n track(view: AnyAgentView, binding: AnyViewBinding): ViewSlot;\n}\n\nexport interface MountedView {\n readonly view: AnyAgentView;\n readonly key: string | undefined;\n readonly binding: AnyViewBinding;\n readonly element: Element | undefined;\n readonly writes: AgentWrites;\n}\n\nexport interface Moment {\n readonly view: MountedView;\n readonly at: number;\n}\n\nexport interface RegistryReader {\n find(ref: ViewRef): MountedView | undefined;\n singles(): Iterable<MountedView>;\n onScreenCandidates(): Iterable<MountedView>;\n keyedCount(viewName: string): number;\n isCurrent(mounted: MountedView): boolean;\n owner(node: Node | null): MountedView | undefined;\n lastEntered(): Moment | undefined;\n lastInteracted(): Moment | undefined;\n agentFocus(): Element | undefined;\n}\n\nexport interface ViewRegistryRuntime extends ViewRegistry, RegistryReader {\n remember(mounted: MountedView, values: Readonly<Record<string, unknown>>): void;\n quietly<T>(act: () => Promise<T>): Promise<T>;\n placeFocus(element: HTMLElement): void;\n restore(mounted: MountedView, writes: AgentWrites): void;\n awaitingObserver(): boolean;\n observed(): Promise<void>;\n resume(): void;\n dispose(): void;\n}\n\nclass Mounted implements MountedView {\n element: Element | undefined;\n key: string | undefined;\n writes: AgentWrites = NO_AGENT_WRITES;\n readonly writeListeners = new Set<() => void>();\n constructor(\n readonly view: AnyAgentView,\n public binding: AnyViewBinding,\n ) {}\n}\n\ntype Visibility = \"pending\" | \"in\" | \"out\";\n\nexport function createViewRegistry(env: BrowserEnvironment): ViewRegistryRuntime {\n const singles = new Map<string, Mounted[]>();\n const keyed = new Map<string, Map<string, Mounted[]>>();\n const live = new Set<Mounted>();\n const byElement = new WeakMap<Element, Mounted>();\n const visibility = new Map<Mounted, Visibility>();\n let observer: IntersectionObserverLike | undefined;\n let pending = 0;\n const waiting: (() => void)[] = [];\n let listening = false;\n let entered: Moment | undefined;\n let interacted: Moment | undefined;\n let quiet = 0;\n let agentFocus: Element | undefined;\n\n const settle = () => {\n if (pending > 0) return;\n for (const resolve of waiting.splice(0)) resolve();\n };\n\n const setVisibility = (mounted: Mounted, next: Visibility | undefined) => {\n const previous = visibility.get(mounted);\n if (previous === \"pending\") pending--;\n if (next === \"pending\") pending++;\n if (next === undefined) visibility.delete(mounted);\n else visibility.set(mounted, next);\n return previous;\n };\n\n const onEntries = (entries: readonly IntersectionEntryLike[]) => {\n for (const entry of entries) {\n const mounted = byElement.get(entry.target);\n if (!mounted || !visibility.has(mounted)) continue;\n const previous = setVisibility(mounted, entry.isIntersecting ? \"in\" : \"out\");\n if (entry.isIntersecting && previous === \"out\" && quiet === 0) {\n entered = { view: mounted, at: env.now() };\n }\n }\n settle();\n };\n\n const handBack = (event: Event) => {\n if (event.target === agentFocus) agentFocus = undefined;\n };\n\n const onInteraction = (event: Event) => {\n if (quiet > 0 && event.type === \"focusin\") return;\n if (event.type === \"focusin\") agentFocus = undefined;\n else handBack(event);\n const mounted = owner(event.target as Node | null);\n if (mounted) interacted = { view: mounted, at: env.now() };\n };\n\n const listen = () => {\n if (listening || !env.document) return;\n listening = true;\n env.document.addEventListener(\"pointerdown\", onInteraction, true);\n env.document.addEventListener(\"focusin\", onInteraction, true);\n env.document.addEventListener(\"keydown\", handBack, true);\n env.document.addEventListener(\"input\", onInput);\n };\n\n const observe = (mounted: Mounted) => {\n if (!mounted.element || !live.has(mounted)) return;\n setVisibility(mounted, \"pending\");\n observer ??= env.observeIntersections(onEntries);\n observer?.observe(mounted.element);\n };\n\n const unobserve = (mounted: Mounted) => {\n if (setVisibility(mounted, undefined) === undefined) return;\n if (mounted.element) observer?.unobserve(mounted.element);\n settle();\n };\n\n const stackOf = (mounted: Mounted, create: boolean): Mounted[] | undefined => {\n const name = mounted.view.name;\n if (!mounted.view.keyed) {\n let stack = singles.get(name);\n if (!stack && create) singles.set(name, (stack = []));\n return stack;\n }\n let byKey = keyed.get(name);\n if (!byKey && create) keyed.set(name, (byKey = new Map()));\n const key = mounted.key ?? \"\";\n let stack = byKey?.get(key);\n if (!stack && byKey && create) byKey.set(key, (stack = []));\n return stack;\n };\n\n const removeFromStack = (mounted: Mounted) => {\n const stack = stackOf(mounted, false);\n if (!stack) return;\n stack.splice(stack.indexOf(mounted), 1);\n if (stack.length > 0) return;\n const name = mounted.view.name;\n if (!mounted.view.keyed) {\n singles.delete(name);\n return;\n }\n const byKey = keyed.get(name);\n byKey?.delete(mounted.key ?? \"\");\n if (byKey?.size === 0) keyed.delete(name);\n };\n\n function owner(node: Node | null): MountedView | undefined {\n for (let current = node; current; current = current.parentNode) {\n const mounted = byElement.get(current as Element);\n if (mounted && live.has(mounted)) return mounted;\n }\n return undefined;\n }\n\n const replaceWrites = (mounted: Mounted, writes: AgentWrites) => {\n mounted.writes = writes;\n for (const listener of mounted.writeListeners) listener();\n };\n\n const onInput = (event: Event) => {\n handBack(event);\n const target = event.target as Element | null;\n const mounted = owner(target) as Mounted | undefined;\n if (!mounted || mounted.writes.size === 0) return;\n const name = target?.getAttribute?.(\"name\");\n const remaining = new Map(mounted.writes);\n if (name) remaining.delete(name);\n replaceWrites(mounted, remaining.size === 0 ? NO_AGENT_WRITES : remaining);\n };\n\n const current = (moment: Moment | undefined) =>\n moment && live.has(moment.view as Mounted) ? moment : undefined;\n\n return {\n track(view, binding) {\n const mounted = new Mounted(view, binding);\n return {\n bind(next) {\n mounted.binding = next;\n },\n ref(element) {\n if (mounted.element === (element ?? undefined)) return;\n unobserve(mounted);\n if (mounted.element) byElement.delete(mounted.element);\n mounted.element = element ?? undefined;\n if (element) byElement.set(element, mounted);\n observe(mounted);\n },\n mount(key) {\n mounted.key = key;\n live.add(mounted);\n stackOf(mounted, true)!.push(mounted);\n listen();\n observe(mounted);\n let mountedNow = true;\n return () => {\n if (!mountedNow) return;\n mountedNow = false;\n unobserve(mounted);\n removeFromStack(mounted);\n live.delete(mounted);\n };\n },\n subscribeWrites(listener) {\n mounted.writeListeners.add(listener);\n return () => mounted.writeListeners.delete(listener);\n },\n writes: () => mounted.writes,\n };\n },\n find(ref) {\n return (\n ref.key === undefined ? singles.get(ref.view) : keyed.get(ref.view)?.get(ref.key)\n )?.at(-1);\n },\n remember(mounted, values) {\n const target = mounted as Mounted;\n const entries = Object.entries(values).filter(\n ([field, value]) =>\n !target.writes.has(field) || !jsonEqual(target.writes.get(field), value),\n );\n if (entries.length === 0) return;\n replaceWrites(target, new Map([...target.writes, ...entries]));\n },\n async quietly(act) {\n quiet++;\n try {\n return await act();\n } finally {\n quiet--;\n }\n },\n placeFocus(element) {\n if (element.ownerDocument.activeElement === element) return;\n quiet++;\n try {\n element.focus({ preventScroll: true });\n } finally {\n quiet--;\n }\n agentFocus = element;\n },\n restore: (mounted, writes) => replaceWrites(mounted as Mounted, writes),\n *singles() {\n for (const stack of singles.values()) yield stack.at(-1)!;\n },\n *onScreenCandidates() {\n for (const [mounted, state] of visibility) {\n if (mounted.view.keyed && state !== \"out\") yield mounted;\n }\n },\n keyedCount: (viewName) => keyed.get(viewName)?.size ?? 0,\n isCurrent: (mounted) => stackOf(mounted as Mounted, false)?.at(-1) === mounted,\n owner,\n lastEntered: () => current(entered),\n lastInteracted: () => current(interacted),\n agentFocus: () => agentFocus,\n awaitingObserver: () => pending > 0 && observer !== undefined,\n observed() {\n if (pending === 0 || !observer) return Promise.resolve();\n return new Promise((resolve) => waiting.push(resolve));\n },\n resume() {\n listen();\n for (const mounted of live) if (!visibility.has(mounted)) observe(mounted);\n },\n dispose() {\n observer?.disconnect();\n observer = undefined;\n visibility.clear();\n agentFocus = undefined;\n pending = 0;\n settle();\n if (listening && env.document) {\n env.document.removeEventListener(\"pointerdown\", onInteraction, true);\n env.document.removeEventListener(\"focusin\", onInteraction, true);\n env.document.removeEventListener(\"keydown\", handBack, true);\n env.document.removeEventListener(\"input\", onInput);\n }\n listening = false;\n },\n };\n}\n\nexport function refOf(mounted: MountedView): ViewRef {\n return mounted.key === undefined\n ? { view: mounted.view.name }\n : { view: mounted.view.name, key: mounted.key };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/client/screen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/client/screen.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n AttentionSnapshot,\n FocusSnapshot,\n ItemSnapshot,\n JsonObject,\n QuerySnapshot,\n RecentRef,\n RouteSnapshot,\n ScreenSnapshot,\n SelectionSnapshot,\n SingleViewSnapshot,\n TruncatedValue,\n ViewSnapshot,\n} from \"../protocol.js\";\nimport type { BrowserEnvironment, RectLike } from \"./environment.js\";\nimport { type Moment, type MountedView, refOf, type RegistryReader } from \"./registry.js\";\n\nexport interface ScreenLimits {\n readonly totalBytes: number;\n readonly valueBytes: number;\n readonly itemsPerView: number;\n readonly selectionChars: number;\n}\n\nexport const DEFAULT_SCREEN_LIMITS: ScreenLimits = {\n totalBytes: 64 * 1024,\n valueBytes: 8 * 1024,\n itemsPerView: 50,\n selectionChars: 2000,\n};\n\nexport interface PageSources {\n route(): RouteSnapshot | null;\n queries(): readonly QuerySnapshot[];\n}\n\ninterface Measured {\n readonly mounted: MountedView;\n readonly shown: number;\n readonly score: number;\n}\n\nconst encoder = new TextEncoder();\nconst bytesOf = (json: string) => encoder.encode(json).byteLength;\n\nexport function measure(\n element: Element,\n env: BrowserEnvironment,\n): { shown: number; score: number } {\n const rect: RectLike = env.rect(element);\n const { width, height } = env.viewport();\n const area = rect.width * rect.height;\n if (area <= 0) return { shown: 0, score: 0 };\n const top = Math.max(rect.top, 0);\n const bottom = Math.min(rect.bottom, height);\n const visibleHeight = Math.max(0, bottom - top);\n const visibleWidth = Math.max(0, Math.min(rect.right, width) - Math.max(rect.left, 0));\n const shown = Math.round(((visibleHeight * visibleWidth) / area) * 100) / 100;\n if (shown <= 0) return { shown: 0, score: 0 };\n const half = height / 2;\n const distance = Math.abs((top + bottom) / 2 - half);\n return { shown, score: shown * Math.max(0, 1 - distance / half) };\n}\n\nfunction valueOf(mounted: MountedView, limit: number): JsonObject | TruncatedValue {\n const value = mounted.binding.get();\n const bytes = bytesOf(JSON.stringify(value));\n return bytes > limit ? { truncated: true, bytes } : value;\n}\n\nfunction documentOrder(a: Measured, b: Measured): number {\n const x = a.mounted.element;\n const y = b.mounted.element;\n if (!x || !y || x === y) return 0;\n return x.compareDocumentPosition(y) & 4 ? -1 : 1;\n}\n\nfunction labelOf(element: Element): string | undefined {\n const aria = element.getAttribute(\"aria-label\");\n if (aria) return aria;\n const labels = (element as HTMLInputElement).labels;\n const text = (labels?.[0] ?? element.closest(\"label\"))?.textContent?.trim();\n return text || undefined;\n}\n\nfunction focusOf(\n registry: RegistryReader,\n env: BrowserEnvironment,\n): FocusSnapshot | null {\n const active = env.document?.activeElement;\n if (\n !active ||\n active === env.document?.body ||\n active === env.document?.documentElement\n ) {\n return null;\n }\n const owner = registry.owner(active);\n const field = active.getAttribute(\"name\") ?? undefined;\n const label = labelOf(active);\n return {\n ...(owner ? refOf(owner) : {}),\n ...(field ? { field } : {}),\n ...(label ? { label } : {}),\n };\n}\n\nfunction selectionOf(\n registry: RegistryReader,\n env: BrowserEnvironment,\n limit: number,\n): SelectionSnapshot | null {\n const selection = env.document?.getSelection();\n if (!selection || selection.isCollapsed || selection.rangeCount === 0) return null;\n const owners = new Set(\n Array.from({ length: selection.rangeCount }, (_, index) =>\n registry.owner(selection.getRangeAt(index).commonAncestorContainer),\n ),\n );\n const [owner] = owners;\n if (owners.size !== 1 || !owner) return null;\n const text = selection.toString();\n if (!text) return null;\n return {\n text: text.slice(0, limit),\n within: refOf(owner),\n truncated: text.length > limit,\n };\n}\n\nfunction recent(moment: Moment | undefined, env: BrowserEnvironment): RecentRef | null {\n return moment\n ? { ...refOf(moment.view), agoMs: Math.max(0, env.now() - moment.at) }\n : null;\n}\n\nexport function captureScreen(\n registry: RegistryReader,\n page: PageSources,\n env: BrowserEnvironment,\n limits: ScreenLimits,\n): ScreenSnapshot {\n const views: Record<string, ViewSnapshot> = {};\n const singleShown = new Map<string, number>();\n let focal: Measured | undefined;\n const consider = (candidate: Measured) => {\n if (candidate.score > 0 && (!focal || candidate.score > focal.score))\n focal = candidate;\n };\n\n for (const mounted of registry.singles()) {\n const snapshot: SingleViewSnapshot = { value: valueOf(mounted, limits.valueBytes) };\n if (mounted.element) {\n const measured = { mounted, ...measure(mounted.element, env) };\n consider(measured);\n singleShown.set(mounted.view.name, measured.shown);\n views[mounted.view.name] = { ...snapshot, shown: measured.shown };\n } else {\n views[mounted.view.name] = snapshot;\n }\n }\n\n const onScreen = new Map<string, Measured[]>();\n for (const mounted of registry.onScreenCandidates()) {\n if (!mounted.element || !registry.isCurrent(mounted)) continue;\n const measured = { mounted, ...measure(mounted.element, env) };\n if (measured.shown <= 0) continue;\n const list = onScreen.get(mounted.view.name) ?? [];\n list.push(measured);\n onScreen.set(mounted.view.name, list);\n }\n const keyed = new Map<string, ItemSnapshot[]>();\n for (const [name, measured] of onScreen) {\n measured.sort(documentOrder);\n const listed = measured.slice(0, limits.itemsPerView);\n for (const item of measured) consider(item);\n keyed.set(\n name,\n listed.map((item) => ({\n key: item.mounted.key ?? \"\",\n value: valueOf(item.mounted, limits.valueBytes),\n shown: item.shown,\n })),\n );\n }\n\n const keyedView = (name: string, items: readonly ItemSnapshot[]) => ({\n items,\n offscreen: registry.keyedCount(name) - items.length,\n });\n for (const [name, items] of keyed) views[name] = keyedView(name, items);\n\n const attention: AttentionSnapshot = {\n focus: focusOf(registry, env),\n selection: selectionOf(registry, env, limits.selectionChars),\n lastInteracted: recent(registry.lastInteracted(), env),\n lastEntered: recent(registry.lastEntered(), env),\n focal: focal ? refOf(focal.mounted) : null,\n };\n\n const snapshot: ScreenSnapshot = {\n route: page.route(),\n queries: page.queries(),\n views,\n attention,\n truncated: false,\n };\n return fitBudget(snapshot, keyed, singleShown, keyedView, limits.totalBytes);\n}\n\nfunction fitBudget(\n snapshot: ScreenSnapshot,\n keyed: Map<string, ItemSnapshot[]>,\n singleShown: ReadonlyMap<string, number>,\n keyedView: (name: string, items: readonly ItemSnapshot[]) => ViewSnapshot,\n totalBytes: number,\n): ScreenSnapshot {\n let size = bytesOf(JSON.stringify(snapshot));\n if (size <= totalBytes) return snapshot;\n\n const views = { ...snapshot.views };\n const byShown = [...keyed].flatMap(([name, items]) =>\n items.map((item) => ({ name, item })),\n );\n byShown.sort((a, b) => a.item.shown - b.item.shown);\n const dropped = new Set<ItemSnapshot>();\n let next = 0;\n while (size > totalBytes && next < byShown.length) {\n const { item } = byShown[next++]!;\n dropped.add(item);\n size -= bytesOf(JSON.stringify(item)) + 1;\n }\n const withoutDropped = (): ScreenSnapshot => {\n for (const [name, items] of keyed) {\n views[name] = keyedView(\n name,\n items.filter((item) => !dropped.has(item)),\n );\n }\n return { ...snapshot, views, truncated: true };\n };\n let fitted = withoutDropped();\n const fits = () => bytesOf(JSON.stringify(fitted)) <= totalBytes;\n while (!fits() && next < byShown.length) {\n dropped.add(byShown[next++]!.item);\n fitted = withoutDropped();\n }\n if (fits()) return fitted;\n\n fitted = { ...fitted, queries: [] };\n if (fits()) return fitted;\n\n for (const name of [...singleShown.keys()].sort(\n (a, b) => singleShown.get(a)! - singleShown.get(b)!,\n )) {\n delete views[name];\n if (fits()) return fitted;\n }\n for (const name of Object.keys(views)) delete views[name];\n if (fits()) return fitted;\n return {\n ...fitted,\n route:\n fitted.route?.notFound === false ? { ...fitted.route, search: {} } : fitted.route,\n attention: { ...fitted.attention, selection: null },\n };\n}\n"]}
|
package/dist/client/write.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/client/write.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/client/write.ts"],"names":[],"mappings":"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","sourcesContent":["import type { UiError, UiOpInput, UiOpResults } from \"../protocol.js\";\nimport type { AnyAgentView } from \"../view.js\";\nimport type { BrowserEnvironment } from \"./environment.js\";\nimport { jsonEqual } from \"./json-equal.js\";\nimport type { AgentWrites, MountedView, ViewRegistryRuntime } from \"./registry.js\";\n\nexport { jsonEqual };\n\nexport function notMounted(input: { view: string; key?: string | undefined }): UiError {\n const target = input.key === undefined ? input.view : `${input.view} ${input.key}`;\n return {\n code: \"not_mounted\",\n message: `${target} is not on screen. Call ui_screen to see what is.`,\n };\n}\n\nexport function userEditing(\n registry: Pick<ViewRegistryRuntime, \"owner\" | \"agentFocus\">,\n target: MountedView,\n changed: readonly string[],\n env: Pick<BrowserEnvironment, \"document\">,\n): readonly string[] {\n const document = env.document;\n if (!document?.hasFocus()) return [];\n const active = document.activeElement;\n if (!active || active === registry.agentFocus() || registry.owner(active) !== target) {\n return [];\n }\n const name = active.getAttribute(\"name\");\n return name !== null && changed.includes(name) ? [name] : [];\n}\n\nconst NO_FIELDS: ReadonlySet<string> = new Set();\n\nexport function agentFieldsOf(\n writes: AgentWrites,\n current: Readonly<Record<string, unknown>>,\n): ReadonlySet<string> {\n if (writes.size === 0) return NO_FIELDS;\n return new Set(\n [...writes.keys()].filter((field) => jsonEqual(current[field], writes.get(field))),\n );\n}\n\nfunction refused(view: AnyAgentView, fields: readonly string[], detail: string): UiError {\n return {\n code: \"not_writable\",\n message: `${view.name}: ${detail}`,\n issues: fields.map((path) => ({ path, message: \"Not writable\" })),\n };\n}\n\nfunction unlistedFields(view: AnyAgentView, changed: readonly string[]): string[] {\n const { writable } = view;\n if (writable === true) return [];\n return changed.filter((field) => writable === false || !writable.includes(field));\n}\n\nfunction writableDetail(view: AnyAgentView): string {\n const { writable } = view;\n return writable === false || writable === true || writable.length === 0\n ? \"this view is read-only.\"\n : `only ${writable.join(\", \")} can be written.`;\n}\n\nconst pick = (source: Readonly<Record<string, unknown>>, fields: readonly string[]) =>\n Object.fromEntries(\n fields.filter((f) => Object.hasOwn(source, f)).map((f) => [f, source[f]]),\n );\n\nconst segmentOf = (segment: PropertyKey | { readonly key: PropertyKey }) =>\n String(typeof segment === \"object\" ? segment.key : segment);\n\nexport async function setView(\n registry: ViewRegistryRuntime,\n input: UiOpInput<\"set\">,\n env: Pick<BrowserEnvironment, \"document\">,\n): Promise<UiOpResults[\"set\"] | UiError> {\n const target = registry.find(input);\n if (!target) return notMounted(input);\n const { view, binding } = target;\n const changed = Object.keys(input.value);\n\n const unlisted = unlistedFields(view, changed);\n if (unlisted.length > 0 || !binding.set) {\n return refused(view, unlisted.length > 0 ? unlisted : changed, writableDetail(view));\n }\n const editing = userEditing(registry, target, changed, env);\n if (editing.length > 0) {\n return {\n code: \"user_editing\",\n message: `The user is typing in ${editing.join(\", \")}. Wait, or ask them.`,\n issues: editing.map((path) => ({ path, message: \"The user is typing here.\" })),\n };\n }\n\n const checked = await view.schema[\"~standard\"].validate({\n ...binding.get(),\n ...input.value,\n });\n if (checked.issues) {\n return {\n code: \"invalid_value\",\n message: `${view.name} would be invalid with this value.`,\n issues: checked.issues.map(({ path, message }) => ({\n path: path?.map(segmentOf).join(\".\") ?? \"\",\n message,\n })),\n };\n }\n const parsed = checked.value;\n const dropped = changed.filter((field) => !Object.hasOwn(parsed, field));\n if (dropped.length > 0) {\n return refused(view, dropped, `${dropped.join(\", \")} is not a field of this view.`);\n }\n\n const accepted = pick(parsed, changed);\n const previous = target.writes;\n registry.remember(target, accepted);\n try {\n await binding.set(parsed, changed);\n } catch (error) {\n registry.restore(target, previous);\n throw error;\n }\n\n const value = registry.find(input)?.binding.get() ?? parsed;\n const normalised = changed.filter((field) => !jsonEqual(value[field], accepted[field]));\n if (normalised.length > 0) registry.remember(target, pick(value, normalised));\n return { value, agentFields: [...agentFieldsOf(target.writes, value)] };\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { type AgentRouteData, type JsonSchema, type ManifestBuild, type RouteEntry, routeHref, type UiAppInfo, UI_MANIFEST_FILE, type UiManifest, type ViewEntry, } from "./manifest.js";
|
|
2
2
|
export { type AgentOrigin, type AttentionSnapshot, type ClientMessage, type ClientSummary, type FocusSnapshot, type ItemSnapshot, type JsonObject, type KeyedViewSnapshot, type LeaveNotice, MAX_WATCHED_THREADS, type MatchedRouteSnapshot, type NotFoundRouteSnapshot, type PresenceUpdate, type QuerySnapshot, type QueryStatus, type RecentRef, type RouteSnapshot, type ScreenSnapshot, type SelectionSnapshot, type SingleViewSnapshot, type TruncatedValue, UI_CHANNEL, UI_ERROR_CODES, UI_OPS, type UiError, type UiErrorCode, type UiOp, type UiOpInput, type UiOpInputs, uiOpReadOnly, uiOps, type UiOpResults, type UiReply, type UiRequest, type ViewSnapshot, } from "./protocol.js";
|
|
3
3
|
export { type AgentViewBinding, type AgentViewConfig, type AgentViewDefinition, type AnyAgentView, defineAgentView, isAgentView, type IsWritable, type ViewField, type ViewRef, type ViewSchema, type ViewSetter, type ViewValue, type WritableField, } from "./view.js";
|
|
4
|
+
export { pagePattern, UNROUTED_HEADER } from "./pages.js";
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,SAAS,EACT,KAAK,SAAS,EACd,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,UAAU,EACV,cAAc,EACd,MAAM,EACN,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,eAAe,EACf,WAAW,EACX,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,SAAS,EACT,KAAK,SAAS,EACd,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,UAAU,EACV,cAAc,EACd,MAAM,EACN,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,YAAY,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,eAAe,EACf,WAAW,EACX,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { routeHref, UI_MANIFEST_FILE, } from "./manifest.js";
|
|
2
2
|
export { MAX_WATCHED_THREADS, UI_CHANNEL, UI_ERROR_CODES, UI_OPS, uiOpReadOnly, uiOps, } from "./protocol.js";
|
|
3
3
|
export { defineAgentView, isAgentView, } from "./view.js";
|
|
4
|
+
export { pagePattern, UNROUTED_HEADER } from "./pages.js";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EAET,gBAAgB,GAGjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAUL,mBAAmB,EAYnB,UAAU,EACV,cAAc,EACd,MAAM,EAMN,YAAY,EACZ,KAAK,GAKN,MAAM,eAAe,CAAC;AACvB,OAAO,EAKL,eAAe,EACf,WAAW,GAQZ,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EAET,gBAAgB,GAGjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAUL,mBAAmB,EAYnB,UAAU,EACV,cAAc,EACd,MAAM,EAMN,YAAY,EACZ,KAAK,GAKN,MAAM,eAAe,CAAC;AACvB,OAAO,EAKL,eAAe,EACf,WAAW,GAQZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC","sourcesContent":["export {\n type AgentRouteData,\n type JsonSchema,\n type ManifestBuild,\n type RouteEntry,\n routeHref,\n type UiAppInfo,\n UI_MANIFEST_FILE,\n type UiManifest,\n type ViewEntry,\n} from \"./manifest.js\";\nexport {\n type AgentOrigin,\n type AttentionSnapshot,\n type ClientMessage,\n type ClientSummary,\n type FocusSnapshot,\n type ItemSnapshot,\n type JsonObject,\n type KeyedViewSnapshot,\n type LeaveNotice,\n MAX_WATCHED_THREADS,\n type MatchedRouteSnapshot,\n type NotFoundRouteSnapshot,\n type PresenceUpdate,\n type QuerySnapshot,\n type QueryStatus,\n type RecentRef,\n type RouteSnapshot,\n type ScreenSnapshot,\n type SelectionSnapshot,\n type SingleViewSnapshot,\n type TruncatedValue,\n UI_CHANNEL,\n UI_ERROR_CODES,\n UI_OPS,\n type UiError,\n type UiErrorCode,\n type UiOp,\n type UiOpInput,\n type UiOpInputs,\n uiOpReadOnly,\n uiOps,\n type UiOpResults,\n type UiReply,\n type UiRequest,\n type ViewSnapshot,\n} from \"./protocol.js\";\nexport {\n type AgentViewBinding,\n type AgentViewConfig,\n type AgentViewDefinition,\n type AnyAgentView,\n defineAgentView,\n isAgentView,\n type IsWritable,\n type ViewField,\n type ViewRef,\n type ViewSchema,\n type ViewSetter,\n type ViewValue,\n type WritableField,\n} from \"./view.js\";\nexport { pagePattern, UNROUTED_HEADER } from \"./pages.js\";\n"]}
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAwCnD,MAAM,UAAU,SAAS,CACvB,KAAiB,EACjB,MAAoD,EACpD,MAAqD;IAErD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;SACpB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,OAAO,OAAO,KAAK,GAAG;YACpB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACpD,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACrC,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC"}
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAwCnD,MAAM,UAAU,SAAS,CACvB,KAAiB,EACjB,MAAoD,EACpD,MAAqD;IAErD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;SACpB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,OAAO,OAAO,KAAK,GAAG;YACpB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACpD,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACrC,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC","sourcesContent":["import type { StaticDataRouteOption } from \"@tanstack/router-core\";\n\nimport type { AnyAgentView } from \"./view.js\";\n\ndeclare module \"@tanstack/router-core\" {\n interface StaticDataRouteOption {\n readonly description?: string | undefined;\n readonly views?: readonly AnyAgentView[] | undefined;\n }\n}\n\nexport type AgentRouteData = Pick<StaticDataRouteOption, \"description\" | \"views\">;\n\nexport const UI_MANIFEST_FILE = \"ui-manifest.json\";\n\nexport type JsonSchema = Readonly<Record<string, unknown>>;\n\nexport interface UiAppInfo {\n readonly id: string;\n readonly name: string;\n readonly description?: string | undefined;\n readonly scheme?: string | undefined;\n}\n\nexport interface RouteEntry {\n readonly path: string;\n readonly description?: string | undefined;\n readonly params: readonly string[];\n readonly search?: JsonSchema | undefined;\n readonly views: readonly string[];\n}\n\nexport interface ViewEntry {\n readonly name: string;\n readonly description: string;\n readonly keyed: boolean;\n readonly schema?: JsonSchema | undefined;\n readonly writable: readonly string[];\n}\n\nexport interface UiManifest {\n readonly protocol: 1;\n readonly app: UiAppInfo;\n readonly buildId?: string | undefined;\n readonly routes: readonly RouteEntry[];\n readonly views: readonly ViewEntry[];\n}\n\nexport interface ManifestBuild {\n readonly manifest: UiManifest;\n readonly warnings: readonly string[];\n}\n\nexport function routeHref(\n route: RouteEntry,\n params: Readonly<Record<string, string>> | undefined,\n search: Readonly<Record<string, unknown>> | undefined,\n): string {\n const path = route.path\n .split(\"/\")\n .map((segment) => {\n if (!segment.startsWith(\"$\")) return segment;\n const value = params?.[segment === \"$\" ? \"_splat\" : segment.slice(1)] ?? \"\";\n return segment === \"$\"\n ? value.split(\"/\").map(encodeURIComponent).join(\"/\")\n : encodeURIComponent(value);\n })\n .join(\"/\");\n const query = new URLSearchParams();\n for (const [key, value] of Object.entries(search ?? {})) {\n if (value === undefined) continue;\n query.set(key, typeof value === \"string\" ? value : JSON.stringify(value));\n }\n const queryString = query.toString();\n return queryString ? `${path}?${queryString}` : path;\n}\n"]}
|
package/dist/pages.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Marks the 404 the app's server answers when none of its routes match, so the host serves
|
|
3
|
+
* the app's document instead and the page shows its own not-found view.
|
|
4
|
+
*/
|
|
5
|
+
export declare const UNROUTED_HEADER = "x-parlor-unrouted";
|
|
6
|
+
/**
|
|
7
|
+
* Matches the URL paths, with or without a query string, that the page route at `path`
|
|
8
|
+
* renders, case-insensitively like the router.
|
|
9
|
+
*/
|
|
10
|
+
export declare function pagePattern(path: string): RegExp;
|
|
11
|
+
//# sourceMappingURL=pages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAyBnD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD"}
|
package/dist/pages.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Marks the 404 the app's server answers when none of its routes match, so the host serves
|
|
3
|
+
* the app's document instead and the page shows its own not-found view.
|
|
4
|
+
*/
|
|
5
|
+
export const UNROUTED_HEADER = "x-parlor-unrouted";
|
|
6
|
+
const escape = (text) => text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
7
|
+
/** Mirrors `parseSegment` in `@tanstack/router-core`, erring towards matching more. */
|
|
8
|
+
function segmentSource(segment) {
|
|
9
|
+
if (segment === "$")
|
|
10
|
+
return { source: "(?:/.*)?", rest: true };
|
|
11
|
+
if (segment.startsWith("$"))
|
|
12
|
+
return { source: "/[^/]+", rest: false };
|
|
13
|
+
const open = segment.indexOf("{");
|
|
14
|
+
const close = segment.indexOf("}", open);
|
|
15
|
+
const optional = segment[open + 1] === "-";
|
|
16
|
+
const nameStart = open + (optional ? 3 : 2);
|
|
17
|
+
if (open < 0 || close < 0 || segment[nameStart - 1] !== "$") {
|
|
18
|
+
return { source: `/${escape(segment)}`, rest: false };
|
|
19
|
+
}
|
|
20
|
+
const prefix = escape(segment.slice(0, open));
|
|
21
|
+
const suffix = escape(segment.slice(close + 1));
|
|
22
|
+
if (optional)
|
|
23
|
+
return { source: `(?:/${prefix}[^/]+${suffix})?`, rest: false };
|
|
24
|
+
if (nameStart === close)
|
|
25
|
+
return { source: `/${prefix}.*`, rest: true };
|
|
26
|
+
return { source: `/${prefix}[^/]+${suffix}`, rest: false };
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Matches the URL paths, with or without a query string, that the page route at `path`
|
|
30
|
+
* renders, case-insensitively like the router.
|
|
31
|
+
*/
|
|
32
|
+
export function pagePattern(path) {
|
|
33
|
+
let source = "";
|
|
34
|
+
for (const segment of path.split("/").filter(Boolean)) {
|
|
35
|
+
const next = segmentSource(segment);
|
|
36
|
+
source += next.source;
|
|
37
|
+
if (next.rest)
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
return new RegExp(`^${source}/?(?:\\?.*)?$`, "i");
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=pages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAEnD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAE7E,uFAAuF;AACvF,SAAS,aAAa,CAAC,OAAe;IAIpC,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/D,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5D,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,IAAI,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,MAAM,QAAQ,MAAM,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC9E,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvE,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,QAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM;IACvB,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,IAAI,MAAM,eAAe,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC","sourcesContent":["/**\n * Marks the 404 the app's server answers when none of its routes match, so the host serves\n * the app's document instead and the page shows its own not-found view.\n */\nexport const UNROUTED_HEADER = \"x-parlor-unrouted\";\n\nconst escape = (text: string) => text.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\n/** Mirrors `parseSegment` in `@tanstack/router-core`, erring towards matching more. */\nfunction segmentSource(segment: string): {\n readonly source: string;\n readonly rest: boolean;\n} {\n if (segment === \"$\") return { source: \"(?:/.*)?\", rest: true };\n if (segment.startsWith(\"$\")) return { source: \"/[^/]+\", rest: false };\n const open = segment.indexOf(\"{\");\n const close = segment.indexOf(\"}\", open);\n const optional = segment[open + 1] === \"-\";\n const nameStart = open + (optional ? 3 : 2);\n if (open < 0 || close < 0 || segment[nameStart - 1] !== \"$\") {\n return { source: `/${escape(segment)}`, rest: false };\n }\n const prefix = escape(segment.slice(0, open));\n const suffix = escape(segment.slice(close + 1));\n if (optional) return { source: `(?:/${prefix}[^/]+${suffix})?`, rest: false };\n if (nameStart === close) return { source: `/${prefix}.*`, rest: true };\n return { source: `/${prefix}[^/]+${suffix}`, rest: false };\n}\n\n/**\n * Matches the URL paths, with or without a query string, that the page route at `path`\n * renders, case-insensitively like the router.\n */\nexport function pagePattern(path: string): RegExp {\n let source = \"\";\n for (const segment of path.split(\"/\").filter(Boolean)) {\n const next = segmentSource(segment);\n source += next.source;\n if (next.rest) break;\n }\n return new RegExp(`^${source}/?(?:\\\\?.*)?$`, \"i\");\n}\n"]}
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ActionSource } from \"@parlor/core\";\n\nimport type { ViewRef } from \"./view.js\";\n\nexport const UI_CHANNEL = \"ui\";\n\n/** Presence names at most this many watched chat threads; a client sending more is truncated. */\nexport const MAX_WATCHED_THREADS = 8;\n\nexport interface UiOpInputs {\n readonly screen: Readonly<Record<string, never>>;\n readonly navigate: {\n readonly to: string;\n readonly params?: Readonly<Record<string, string>> | undefined;\n readonly search?: Readonly<Record<string, unknown>> | undefined;\n readonly replace?: boolean | undefined;\n };\n readonly set: {\n readonly view: string;\n readonly key?: string | undefined;\n readonly value: JsonObject;\n };\n readonly highlight: {\n readonly view: string;\n readonly key?: string | undefined;\n readonly field?: string | undefined;\n };\n}\n\nexport type UiOp = keyof UiOpInputs;\n\nexport type UiOpInput<O extends UiOp> = UiOpInputs[O];\n\nexport interface UiOpResults {\n readonly screen: ScreenSnapshot;\n readonly navigate: { readonly screen: ScreenSnapshot };\n readonly set: { readonly value: JsonObject; readonly agentFields: readonly string[] };\n readonly highlight: { readonly shown: number };\n}\n\ninterface UiOpSpec<O extends UiOp> {\n readonly readOnly: boolean;\n readonly input: (value: unknown) => UiOpInput<O> | undefined;\n}\n\nexport const uiOps: { readonly [O in UiOp]: UiOpSpec<O> } = {\n screen: { readOnly: true, input: (value) => (isFields(value) ? {} : undefined) },\n navigate: { readOnly: false, input: (value) => navigateInputOf(value) },\n set: { readOnly: false, input: (value) => setInputOf(value) },\n highlight: { readOnly: false, input: (value) => highlightInputOf(value) },\n};\n\nexport const UI_OPS = Object.keys(uiOps) as readonly UiOp[];\n\nexport const isUiOp = (value: unknown): value is UiOp =>\n typeof value === \"string\" && Object.hasOwn(uiOps, value);\n\nexport const LEGACY_UI_OPS: readonly UiOp[] = [\"screen\", \"navigate\"];\n\nexport const uiOpReadOnly: { readonly [O in UiOp]: boolean } = {\n screen: uiOps.screen.readOnly,\n navigate: uiOps.navigate.readOnly,\n set: uiOps.set.readOnly,\n highlight: uiOps.highlight.readOnly,\n};\n\nexport interface AgentOrigin {\n readonly via: Extract<ActionSource, \"mcp\" | \"agent\">;\n readonly name?: string | undefined;\n}\n\nexport type UiRequest = {\n readonly [O in UiOp]: {\n readonly id: string;\n readonly op: O;\n readonly input: UiOpInput<O>;\n readonly origin: AgentOrigin;\n readonly timeoutMs: number;\n };\n}[UiOp];\n\nexport const UI_ERROR_CODES = [\n \"unknown_route\",\n \"unknown_client\",\n \"ambiguous_client\",\n \"not_mounted\",\n \"not_writable\",\n \"invalid_value\",\n \"user_editing\",\n \"unsupported_op\",\n \"busy\",\n \"timeout\",\n \"outcome_unknown\",\n \"internal\",\n] as const;\n\nexport type UiErrorCode = (typeof UI_ERROR_CODES)[number];\n\nexport interface UiError {\n readonly code: UiErrorCode;\n readonly message: string;\n readonly issues?:\n | readonly { readonly path: string; readonly message: string }[]\n | undefined;\n}\n\nexport type UiReply =\n | {\n readonly type: \"reply\";\n readonly id: string;\n readonly ok: true;\n readonly result: unknown;\n }\n | {\n readonly type: \"reply\";\n readonly id: string;\n readonly ok: false;\n readonly error: UiError;\n };\n\nexport interface PresenceUpdate {\n readonly type: \"presence\";\n readonly focused: boolean;\n readonly visible: boolean;\n readonly platform: string;\n readonly buildId?: string | undefined;\n readonly ops?: readonly string[] | undefined;\n readonly canConfirm?: boolean | undefined;\n /** Chat threads this client shows; a confirmation bound to one reaches every watcher. */\n readonly watching?: readonly string[] | undefined;\n}\n\nexport interface LeaveNotice {\n readonly type: \"leave\";\n}\n\nexport interface ConfirmationAnswer {\n readonly type: \"answer\";\n readonly id: string;\n readonly approve: boolean;\n}\n\nexport type ClientMessage = UiReply | PresenceUpdate | LeaveNotice | ConfirmationAnswer;\n\nexport interface ConfirmationPrompt {\n readonly id: string;\n readonly action: string;\n readonly description: string;\n readonly input: unknown;\n readonly origin: AgentOrigin;\n readonly expiresInMs: number;\n /** The chat thread whose turn asked; the chat renders the card inline there. */\n readonly threadId?: string | undefined;\n}\n\nexport interface ConfirmationsFrame {\n readonly type: \"confirmations\";\n readonly items: readonly ConfirmationPrompt[];\n}\n\nexport type UiFrame = UiRequest | ConfirmationsFrame;\n\nexport type JsonObject = { readonly [key: string]: unknown };\n\nexport interface TruncatedValue {\n readonly truncated: true;\n readonly bytes: number;\n}\n\nexport interface MatchedRouteSnapshot {\n readonly notFound: false;\n readonly path: string;\n readonly params: Readonly<Record<string, string>>;\n readonly search: JsonObject;\n readonly url: string;\n}\n\nexport interface NotFoundRouteSnapshot {\n readonly notFound: true;\n readonly url: string;\n}\n\nexport type RouteSnapshot = MatchedRouteSnapshot | NotFoundRouteSnapshot;\n\nexport type QueryStatus = \"pending\" | \"error\" | \"success\";\n\nexport interface QuerySnapshot {\n readonly action: string;\n readonly input: unknown;\n readonly status: QueryStatus;\n}\n\nexport interface SingleViewSnapshot {\n readonly value: JsonObject | TruncatedValue;\n readonly shown?: number | undefined;\n}\n\nexport interface ItemSnapshot {\n readonly key: string;\n readonly value: JsonObject | TruncatedValue;\n readonly shown: number;\n}\n\nexport interface KeyedViewSnapshot {\n readonly items: readonly ItemSnapshot[];\n readonly offscreen: number;\n}\n\nexport type ViewSnapshot = SingleViewSnapshot | KeyedViewSnapshot;\n\nexport interface RecentRef extends ViewRef {\n readonly agoMs: number;\n}\n\nexport interface FocusSnapshot {\n readonly view?: string | undefined;\n readonly key?: string | undefined;\n readonly field?: string | undefined;\n readonly label?: string | undefined;\n}\n\nexport interface SelectionSnapshot {\n readonly text: string;\n readonly within: ViewRef;\n readonly truncated: boolean;\n}\n\nexport interface AttentionSnapshot {\n readonly focus: FocusSnapshot | null;\n readonly selection: SelectionSnapshot | null;\n readonly lastInteracted: RecentRef | null;\n readonly lastEntered: RecentRef | null;\n readonly focal: ViewRef | null;\n}\n\nexport interface ScreenSnapshot {\n readonly route: RouteSnapshot | null;\n readonly queries: readonly QuerySnapshot[];\n readonly views: Readonly<Record<string, ViewSnapshot>>;\n readonly attention: AttentionSnapshot;\n readonly truncated: boolean;\n}\n\nexport interface ClientSummary {\n readonly id: string;\n readonly platform: string;\n readonly buildId?: string | undefined;\n readonly focused: boolean;\n readonly visible: boolean;\n readonly seenAgoMs: number;\n}\n\nexport type ParsedUiFrame =\n | { readonly ok: true; readonly frame: UiFrame }\n | { readonly ok: false; readonly id: string | undefined };\n\ntype Fields = { readonly [key: string]: unknown };\n\nconst isFields = (value: unknown): value is Fields =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nconst isString = (value: unknown): value is string => typeof value === \"string\";\n\nconst isBoolean = (value: unknown): value is boolean => typeof value === \"boolean\";\n\nconst isPositiveInteger = (value: unknown): value is number =>\n typeof value === \"number\" && Number.isSafeInteger(value) && value > 0;\n\nconst isStringFields = (value: unknown): value is Readonly<Record<string, string>> =>\n isFields(value) && Object.values(value).every(isString);\n\nconst absentOr = <T>(\n value: unknown,\n guard: (value: unknown) => value is T,\n): value is T | undefined => value === undefined || guard(value);\n\nfunction originOf(value: unknown): AgentOrigin | undefined {\n if (!isFields(value)) return undefined;\n const { via, name } = value;\n if (via !== \"mcp\" && via !== \"agent\") return undefined;\n if (!absentOr(name, isString)) return undefined;\n return name === undefined ? { via } : { via, name };\n}\n\nfunction navigateInputOf(value: unknown): UiOpInput<\"navigate\"> | undefined {\n if (!isFields(value) || !isString(value.to)) return undefined;\n const { to, params, search, replace } = value;\n if (\n !absentOr(params, isStringFields) ||\n !absentOr(search, isFields) ||\n !absentOr(replace, isBoolean)\n ) {\n return undefined;\n }\n return {\n to,\n ...(params === undefined ? {} : { params }),\n ...(search === undefined ? {} : { search }),\n ...(replace === undefined ? {} : { replace }),\n };\n}\n\nfunction setInputOf(value: unknown): UiOpInput<\"set\"> | undefined {\n if (!isFields(value) || !isString(value.view) || !isFields(value.value)) {\n return undefined;\n }\n if (!absentOr(value.key, isString)) return undefined;\n const { view, key } = value;\n return key === undefined\n ? { view, value: value.value }\n : { view, key, value: value.value };\n}\n\nfunction highlightInputOf(value: unknown): UiOpInput<\"highlight\"> | undefined {\n if (!isFields(value) || !isString(value.view)) return undefined;\n if (!absentOr(value.key, isString) || !absentOr(value.field, isString))\n return undefined;\n const { view, key, field } = value;\n return {\n view,\n ...(key === undefined ? {} : { key }),\n ...(field === undefined ? {} : { field }),\n };\n}\n\nfunction requestOf(json: unknown): UiRequest | undefined {\n if (!isFields(json)) return undefined;\n const { id, op, input, timeoutMs } = json;\n const origin = originOf(json.origin);\n if (!isString(id) || id === \"\" || !origin || !isPositiveInteger(timeoutMs)) {\n return undefined;\n }\n if (!isUiOp(op)) return undefined;\n const parsed = uiOps[op].input(input);\n return parsed === undefined\n ? undefined\n : ({ id, origin, timeoutMs, op, input: parsed } as UiRequest);\n}\n\nconst isNonNegativeInteger = (value: unknown): value is number =>\n typeof value === \"number\" && Number.isSafeInteger(value) && value >= 0;\n\nfunction promptOf(json: unknown): ConfirmationPrompt | undefined {\n if (!isFields(json)) return undefined;\n const { id, action, description, input, expiresInMs } = json;\n const origin = originOf(json.origin);\n if (!isString(id) || id === \"\" || !isString(action) || !isString(description)) {\n return undefined;\n }\n if (!origin || !isNonNegativeInteger(expiresInMs)) return undefined;\n const { threadId } = json;\n return {\n id,\n action,\n description,\n input,\n origin,\n expiresInMs,\n ...(isString(threadId) && threadId !== \"\" ? { threadId } : {}),\n };\n}\n\nfunction confirmationsOf(json: Fields): ConfirmationsFrame | undefined {\n if (!Array.isArray(json.items)) return undefined;\n const items = json.items.flatMap((item) => promptOf(item) ?? []);\n return { type: \"confirmations\", items };\n}\n\nfunction parseJson(data: string): unknown {\n try {\n return JSON.parse(data);\n } catch {\n return undefined;\n }\n}\n\nconst idOf = (json: unknown) => {\n const id = isFields(json) ? json.id : undefined;\n return isString(id) && id !== \"\" ? id : undefined;\n};\n\nexport function parseUiFrame(data: string): ParsedUiFrame {\n const json = parseJson(data);\n if (isFields(json) && json.type === \"confirmations\") {\n const frame = confirmationsOf(json);\n return frame ? { ok: true, frame } : { ok: false, id: undefined };\n }\n const request = requestOf(json);\n return request ? { ok: true, frame: request } : { ok: false, id: idOf(json) };\n}\n"]}
|