@dxos/react-ui-trace 0.13.0 → 0.14.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.
@@ -6,6 +6,7 @@ import { Annotation } from "@dxos/echo";
6
6
  import { EntityId } from "@dxos/keys";
7
7
  import * as Effect from "effect/Effect";
8
8
  import * as Operation from "@dxos/compute/Operation";
9
+ import { makeTestProcess } from "@dxos/compute-runtime/testing";
9
10
  //#region src/testing/simulated-agent.ts
10
11
  var agentScenarios = [
11
12
  {
@@ -120,7 +121,7 @@ var SimulatedAgent = Operation.makeDurable({
120
121
  input: AgentStep,
121
122
  output: Schema.Void,
122
123
  services: [Trace.TraceService]
123
- }, (ctx) => Effect.gen(function* () {
124
+ }).pipe(Operation.withDurableHandler((ctx) => Effect.gen(function* () {
124
125
  const messageId = EntityId.random();
125
126
  return {
126
127
  onInput: (step) => Effect.gen(function* () {
@@ -170,7 +171,7 @@ var SimulatedAgent = Operation.makeDurable({
170
171
  onAlarm: () => Effect.void,
171
172
  onChildEvent: () => Effect.void
172
173
  };
173
- }));
174
+ })));
174
175
  var OperationInput = Schema.Struct({
175
176
  key: Schema.String,
176
177
  name: Schema.String,
@@ -187,7 +188,7 @@ var SimulatedOperation = Operation.makeDurable({
187
188
  input: OperationInput,
188
189
  output: Schema.Void,
189
190
  services: [Trace.TraceService]
190
- }, (ctx) => Effect.succeed({
191
+ }).pipe(Operation.withDurableHandler((ctx) => Effect.succeed({
191
192
  onInput: ({ key, name, icon, durationMs, fail }) => Effect.gen(function* () {
192
193
  yield* writeAndFlush(Trace.OperationStart, {
193
194
  key,
@@ -207,7 +208,7 @@ var SimulatedOperation = Operation.makeDurable({
207
208
  }).pipe(Effect.orDie),
208
209
  onAlarm: () => Effect.void,
209
210
  onChildEvent: () => Effect.void
210
- }));
211
+ })));
211
212
  /**
212
213
  * Spawns one simulated operation (and its children) beneath `parentProcessId`.
213
214
  * A process cannot spawn its own children, so the tree is assembled from the caller's side.
@@ -311,7 +312,7 @@ var useLocalStorageNumber = (key, initial) => {
311
312
  };
312
313
  //#endregion
313
314
  //#region src/testing/test-trace.ts
314
- var makeProcess = (overrides) => ({
315
+ var makeProcess = (overrides) => makeTestProcess({
315
316
  parentPid: null,
316
317
  key: `test.process.${overrides.name}`,
317
318
  params: {
@@ -1 +1 @@
1
- {"version":3,"file":"testing.mjs","names":[],"sources":["../../src/testing/simulated-agent.ts","../../src/testing/snapshot-playback.ts","../../src/testing/test-trace.ts","../../src/execution-graph/testing/sub-agent-delegation.json"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { type ProcessManager } from '@dxos/compute-runtime';\nimport * as Operation from '@dxos/compute/Operation';\nimport * as Process from '@dxos/compute/Process';\nimport * as Trace from '@dxos/compute/Trace';\nimport { EntityId } from '@dxos/keys';\n\n/**\n * One simulated operation. Rendered as a child process in the tree and as an `operation.start`/\n * `operation.end` span on the timeline.\n */\nexport interface SimulatedTool {\n readonly key: string;\n readonly name: string;\n readonly icon?: string;\n readonly durationMs: number;\n /** Nested operations, spawned under this one so the tree exercises more than one level. */\n readonly children?: readonly SimulatedTool[];\n /** Run `children` concurrently, producing parallel lanes on the timeline. */\n readonly concurrent?: boolean;\n /** End with `outcome: 'failure'` and fail the process. */\n readonly fail?: boolean;\n}\n\nexport interface AgentScenario {\n readonly name: string;\n readonly prompt: string;\n readonly tools: readonly SimulatedTool[];\n}\n\nexport const agentScenarios: readonly AgentScenario[] = [\n {\n name: 'Create organization',\n prompt: 'Create an organization called \"Cyberdyne Systems\"',\n tools: [\n { key: 'list-schemas', name: 'List Schemas', icon: 'ph--list--regular', durationMs: 800 },\n {\n key: 'create-object',\n name: 'Create Object',\n icon: 'ph--plus-circle--regular',\n durationMs: 1_600,\n children: [{ key: 'validate', name: 'Validate', icon: 'ph--check--regular', durationMs: 600 }],\n },\n ],\n },\n {\n name: 'Research',\n prompt: 'Search for all organizations and persons',\n tools: [\n { key: 'list-schemas', name: 'List Schemas', icon: 'ph--list--regular', durationMs: 700 },\n {\n key: 'delegate',\n name: 'Delegate Research',\n icon: 'ph--users-three--regular',\n durationMs: 2_400,\n concurrent: true,\n children: [\n { key: 'query', name: 'Query Organizations', icon: 'ph--magnifying-glass--regular', durationMs: 1_800 },\n { key: 'query', name: 'Query Persons', icon: 'ph--magnifying-glass--regular', durationMs: 1_200 },\n ],\n },\n { key: 'summarize', name: 'Summarize', icon: 'ph--article--regular', durationMs: 900 },\n ],\n },\n {\n name: 'Failing run',\n prompt: 'Create a person named \"John Connor\"',\n tools: [\n { key: 'list-schemas', name: 'List Schemas', icon: 'ph--list--regular', durationMs: 600 },\n { key: 'create-object', name: 'Create Object', icon: 'ph--plus-circle--regular', durationMs: 1_200, fail: true },\n ],\n },\n];\n\nconst delay = (ms: number) => Effect.promise(() => new Promise<void>((resolve) => setTimeout(resolve, ms)));\n\n/**\n * Write a trace event and yield to the event loop so FeedTraceSink flushes it to ECHO before continuing.\n */\nconst writeAndFlush = <T>(eventType: Trace.EventType<T>, payload: T) =>\n Effect.gen(function* () {\n yield* Trace.write(eventType, payload);\n yield* delay(100);\n });\n\n//\n// Agent.\n//\n\nconst AgentStep = Schema.Union([\n Schema.Struct({ _tag: Schema.Literal('begin'), prompt: Schema.String }),\n Schema.Struct({ _tag: Schema.Literal('toolCall'), toolCallId: Schema.String, name: Schema.String }),\n Schema.Struct({ _tag: Schema.Literal('toolResult'), toolCallId: Schema.String, name: Schema.String }),\n Schema.Struct({ _tag: Schema.Literal('end'), status: Schema.Literals(['success', 'error']) }),\n]);\n\ntype AgentStep = Schema.Schema.Type<typeof AgentStep>;\n\n/**\n * Storybook fixture: a {@link Process} standing in for a conversational agent. Each input advances\n * it one step, so the caller can interleave the agent's own trace events with the child operation\n * processes that {@link runScenario} spawns beneath it.\n */\nexport const SimulatedAgent = Operation.makeDurable(\n {\n key: 'org.dxos.testing.process.agent',\n input: AgentStep,\n output: Schema.Void,\n services: [Trace.TraceService],\n },\n (ctx) =>\n Effect.gen(function* () {\n // One message id spans the whole turn, so every block groups under a single message.\n const messageId = EntityId.random();\n\n return {\n onInput: (step: AgentStep) =>\n Effect.gen(function* () {\n switch (step._tag) {\n case 'begin': {\n yield* writeAndFlush(Trace.AgentRequestBegin, {});\n yield* writeAndFlush(Trace.CompleteBlock, {\n messageId,\n role: 'user',\n block: { _tag: 'text', text: step.prompt },\n });\n break;\n }\n\n case 'toolCall': {\n yield* writeAndFlush(Trace.CompleteBlock, {\n messageId,\n role: 'assistant',\n block: {\n _tag: 'toolCall',\n toolCallId: step.toolCallId,\n name: step.name,\n input: '{}',\n providerExecuted: false,\n },\n });\n break;\n }\n\n case 'toolResult': {\n yield* writeAndFlush(Trace.CompleteBlock, {\n messageId,\n role: 'assistant',\n block: {\n _tag: 'toolResult',\n toolCallId: step.toolCallId,\n name: step.name,\n providerExecuted: false,\n },\n });\n break;\n }\n\n case 'end': {\n yield* writeAndFlush(Trace.AgentRequestEnd, { status: step.status });\n if (step.status === 'error') {\n ctx.fail(new Error('Simulated agent failure'));\n } else {\n ctx.succeed();\n }\n break;\n }\n }\n }).pipe(Effect.orDie),\n onAlarm: () => Effect.void,\n onChildEvent: () => Effect.void,\n };\n }),\n);\n\n//\n// Operation.\n//\n\nconst OperationInput = Schema.Struct({\n key: Schema.String,\n name: Schema.String,\n icon: Schema.optional(Schema.String),\n durationMs: Schema.Number,\n fail: Schema.optional(Schema.Boolean),\n});\n\ntype OperationInput = Schema.Schema.Type<typeof OperationInput>;\n\n/**\n * Storybook fixture: a {@link Process} that emits the `operation.start`/`operation.end` pair a real\n * operation process emits, with a simulated execution time in between.\n */\nexport const SimulatedOperation = Operation.makeDurable(\n {\n key: 'org.dxos.testing.process.operation',\n input: OperationInput,\n output: Schema.Void,\n services: [Trace.TraceService],\n },\n (ctx) =>\n Effect.succeed({\n onInput: ({ key, name, icon, durationMs, fail }: OperationInput) =>\n Effect.gen(function* () {\n yield* writeAndFlush(Trace.OperationStart, { key, name, icon });\n yield* delay(durationMs);\n yield* writeAndFlush(Trace.OperationEnd, {\n key,\n name,\n icon,\n outcome: fail ? 'failure' : 'success',\n error: fail ? `Simulated failure in '${name}'` : undefined,\n });\n\n if (fail) {\n ctx.fail(new Error(`Simulated failure in '${name}'`));\n } else {\n ctx.succeed();\n }\n }).pipe(Effect.orDie),\n onAlarm: () => Effect.void,\n onChildEvent: () => Effect.void,\n }),\n);\n\n//\n// Orchestration.\n//\n\n/**\n * Spawns one simulated operation (and its children) beneath `parentProcessId`.\n * A process cannot spawn its own children, so the tree is assembled from the caller's side.\n */\nconst runTool = (\n manager: ProcessManager.Manager,\n tool: SimulatedTool,\n parentProcessId: Process.ID,\n environment: Process.Environment,\n): Effect.Effect<void> =>\n Effect.gen(function* () {\n const handle = yield* manager.spawn(SimulatedOperation, { parentProcessId, name: tool.name, environment });\n yield* handle.submitInput({\n key: tool.key,\n name: tool.name,\n icon: tool.icon,\n durationMs: tool.durationMs,\n fail: tool.fail,\n });\n\n const children = tool.children ?? [];\n if (children.length > 0) {\n const effects = children.map((child) => runTool(manager, child, handle.pid, environment));\n yield* tool.concurrent ? Effect.all(effects, { concurrency: 'unbounded' }) : Effect.all(effects);\n }\n\n // A failing operation surfaces as a defect, which `Effect.ignore` would not catch; the scenario\n // only needs the trace it wrote, and carries on to close out the agent.\n yield* Effect.exit(handle.runToCompletion());\n }).pipe(Effect.orDie);\n\n/**\n * Runs one {@link agentScenarios} entry end to end: an agent process with a child operation process\n * per tool, so the panel has both a populated process tree and a timeline with nested spans.\n */\nexport const runScenario = (\n manager: ProcessManager.Manager,\n index: number,\n environment: Process.Environment,\n): Effect.Effect<void> =>\n Effect.gen(function* () {\n const scenario = agentScenarios[index % agentScenarios.length];\n const agent = yield* manager.spawn(SimulatedAgent, { name: `Agent (${scenario.name})`, environment });\n yield* agent.submitInput({ _tag: 'begin', prompt: scenario.prompt });\n\n let failed = false;\n for (const tool of scenario.tools) {\n const toolCallId = EntityId.random();\n yield* agent.submitInput({ _tag: 'toolCall', toolCallId, name: tool.key });\n yield* runTool(manager, tool, agent.pid, environment);\n if (tool.fail) {\n failed = true;\n break;\n }\n yield* agent.submitInput({ _tag: 'toolResult', toolCallId, name: tool.key });\n }\n\n yield* agent.submitInput({ _tag: 'end', status: failed ? 'error' : 'success' });\n }).pipe(Effect.orDie);\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { type Dispatch, type SetStateAction, useEffect, useRef, useState } from 'react';\n\n/**\n * Interval (ms) between auto-played trace messages in the snapshot playback story.\n */\nexport const PLAYBACK_INTERVAL_MS = 250;\n\nexport const STEP_STORAGE_KEY = 'plugin-assistant.trace-panel.snapshot.step';\n\n/**\n * `useState<number>` that hydrates from and persists to `localStorage`.\n * The third tuple member is `true` iff a valid value was loaded on first render.\n */\nexport const useLocalStorageNumber = (\n key: string,\n initial: number,\n): [number, Dispatch<SetStateAction<number>>, boolean] => {\n const initRef = useRef<{ value: number; hydrated: boolean } | null>(null);\n if (initRef.current === null) {\n let value = initial;\n let hydrated = false;\n if (typeof window !== 'undefined') {\n const stored = window.localStorage.getItem(key);\n const parsed = stored === null ? Number.NaN : Number(stored);\n if (Number.isInteger(parsed) && parsed >= 0) {\n value = parsed;\n hydrated = true;\n }\n }\n initRef.current = { value, hydrated };\n }\n\n const [value, setValue] = useState(initRef.current.value);\n useEffect(() => {\n if (typeof window !== 'undefined') {\n window.localStorage.setItem(key, String(value));\n }\n }, [key, value]);\n\n return [value, setValue, initRef.current.hydrated];\n};\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\n\nimport * as Process from '@dxos/compute/Process';\nimport { Annotation } from '@dxos/echo';\n\nexport const makeProcess = (\n overrides: Partial<Process.Process> & Pick<Process.Process, 'pid' | 'state'> & { name: string },\n): Process.Process => ({\n parentPid: null,\n key: `test.process.${overrides.name}`,\n params: { name: overrides.name, annotations: Annotation.buildDictionary(() => {}) },\n environment: {},\n error: null,\n startedAt: Date.now() - 10_000,\n completedAt: Option.none(),\n metrics: { wallTime: 0, inputCount: 0, outputCount: 0 },\n ...overrides,\n});\n","[\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800819470,\n \"type\": \"assistant.agentRequestBegin\",\n \"data\": {}\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"e200b1f7-30a5-4aa8-ba12-31c6d9ddf4aa\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800819779,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"e200b1f7-30a5-4aa8-ba12-31c6d9ddf4aa\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800819796,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800819855,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG004MEGN8W9GP1T443300A\",\n \"role\": \"user\",\n \"block\": {\n \"_tag\": \"text\",\n \"text\": \"create a sub-agent that creates a haiku in a new document\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"fe05f5e6-f261-464a-a993-1ecc78557286\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800820015,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"fe05f5e6-f261-464a-a993-1ecc78557286\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800820031,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800822596,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG006SHPCW6D5WZJT9J0TKE\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"toolCall\",\n \"toolCallId\": \"toolu_01T1XhBHArQ2UNHvdCEtWY1C\",\n \"name\": \"update-tasks\",\n \"input\": \"{\\\"tasks\\\": [{\\\"id\\\":\\\"task_1\\\",\\\"title\\\":\\\"Create a sub-agent that writes a haiku in a new document\\\",\\\"status\\\":\\\"in-progress\\\"}]}\",\n \"providerExecuted\": false,\n \"operationKey\": \"dxn:org.dxos.operation.assistantToolkit.updateTasks\",\n \"operationName\": \"Update tasks\",\n \"operationIcon\": \"ph--check-square-offset--regular\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800822638,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG007BDN1MTQT7JXNC9MFQW\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-sonnet-4-6\",\n \"duration\": 2536,\n \"message\": \"OK\",\n \"toolCalls\": 1,\n \"usage\": {\n \"inputTokens\": 3,\n \"outputTokens\": 90,\n \"totalTokens\": 93\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"4f9baefc-1353-406d-b883-0b5a7d1f0e31\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Update tasks (dxn:org.dxos.operation.assistantToolkit.updateTasks)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800822760,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.updateTasks\",\n \"name\": \"Update tasks\",\n \"icon\": \"ph--check-square-offset--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"4f9baefc-1353-406d-b883-0b5a7d1f0e31\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Update tasks (dxn:org.dxos.operation.assistantToolkit.updateTasks)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800822783,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.updateTasks\",\n \"name\": \"Update tasks\",\n \"icon\": \"ph--check-square-offset--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800822829,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG007HCMJQEHXMRSCQCQDNY\",\n \"role\": \"tool\",\n \"block\": {\n \"_tag\": \"toolResult\",\n \"toolCallId\": \"toolu_01T1XhBHArQ2UNHvdCEtWY1C\",\n \"name\": \"update-tasks\",\n \"result\": \"\\\"You must update the task status to 'in-progress' when you start and 'done' when complete.\\\\nCurrent plan updated:\\\\n<plan>\\\\n - **IN-PROGRESS**: Create a sub-agent that writes a haiku in a new document <!-- id=task_1 -->\\\\n</plan>\\\"\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"211a43a3-f85b-4925-aae3-af92c46ac91b\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800823031,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"211a43a3-f85b-4925-aae3-af92c46ac91b\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800823047,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825033,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG009EK5A1PBQW38R1T8ABZ\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"toolCall\",\n \"toolCallId\": \"toolu_014hZLnJnQzNRkr9Xwx6gJ79\",\n \"name\": \"delegate-task\",\n \"input\": \"{\\\"title\\\": \\\"Create a haiku in a new document\\\"}\",\n \"providerExecuted\": false,\n \"operationKey\": \"dxn:org.dxos.operation.assistantToolkit.delegateTask\",\n \"operationName\": \"Delegate task\",\n \"operationIcon\": \"ph--share-network--regular\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825087,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG009QYZCDFTBGFSNCFXZ4C\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-sonnet-4-6\",\n \"duration\": 1981,\n \"message\": \"OK\",\n \"toolCalls\": 1,\n \"usage\": {\n \"inputTokens\": 1,\n \"outputTokens\": 60,\n \"totalTokens\": 61\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cad71a95-5fbc-45cd-a834-bfc7e5085a3f\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Delegate task (dxn:org.dxos.operation.assistantToolkit.delegateTask)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825246,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.delegateTask\",\n \"name\": \"Delegate task\",\n \"icon\": \"ph--share-network--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cad71a95-5fbc-45cd-a834-bfc7e5085a3f\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Delegate task (dxn:org.dxos.operation.assistantToolkit.delegateTask)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825268,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.delegateTask\",\n \"name\": \"Delegate task\",\n \"icon\": \"ph--share-network--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825324,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG009ZCDCCCF7ZPHE3SECXG\",\n \"role\": \"tool\",\n \"block\": {\n \"_tag\": \"toolResult\",\n \"toolCallId\": \"toolu_014hZLnJnQzNRkr9Xwx6gJ79\",\n \"name\": \"delegate-task\",\n \"result\": \"\\\"Delegated work as an in-progress task. Current plan:\\\\n<plan>\\\\n - **IN-PROGRESS**: Create a sub-agent that writes a haiku in a new document <!-- id=task_1 -->\\\\n - **IN-PROGRESS**: Create a haiku in a new document <!-- id=1-d4 -->\\\\n</plan>\\\"\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf82b042-0703-4e57-b630-204f0e13deee\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825537,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf82b042-0703-4e57-b630-204f0e13deee\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825552,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800827693,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00B9HS4BWE7G8NPYGEG00\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"text\",\n \"text\": \"Done! I've created a sub-agent with the task of writing a haiku in a new document. The sub-agent is now in progress and will create the document with a haiku. Once it completes, the artifact will be available in the space.\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800827757,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00CBCTK0Y7068HEY1TJXJ\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-sonnet-4-6\",\n \"duration\": 2135,\n \"message\": \"OK\",\n \"toolCalls\": 0,\n \"usage\": {\n \"inputTokens\": 1,\n \"outputTokens\": 57,\n \"totalTokens\": 58\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800827765,\n \"type\": \"assistant.agentRequestEnd\",\n \"data\": {}\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800827912,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.function.prompt\",\n \"name\": \"Run Routine\",\n \"icon\": \"ph--brain--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"58e4ed1d-6cb2-475e-850a-d89be0c5c714\",\n \"processName\": \"Update Chat Name (dxn:org.dxos.operation.assistant.updateChatName)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828033,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistant.updateChatName\",\n \"name\": \"Update Chat Name\",\n \"icon\": \"ph--pencil--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"b070e30f-bafe-4118-94da-83681c24d49d\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828277,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"b070e30f-bafe-4118-94da-83681c24d49d\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828278,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828323,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00CX281TNXBSMXVWGJFER\",\n \"role\": \"user\",\n \"block\": {\n \"_tag\": \"text\",\n \"text\": \"Complete the following task and report the result concisely.\\n\\nIf you create any documents or artifacts, call completeJob with a JSON object of the\\nform { \\\"summary\\\": string, \\\"artifactIds\\\": string[] }, where artifactIds are the exact\\nids returned by the tools that created them. Otherwise return a short summary string.\\n\\nTask: Create a haiku in a new document\\n<input>{}</input>\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"c2b79fcc-a455-4546-b306-fe175a2b646a\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828453,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"c2b79fcc-a455-4546-b306-fe175a2b646a\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828455,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"58e4ed1d-6cb2-475e-850a-d89be0c5c714\",\n \"processName\": \"Update Chat Name (dxn:org.dxos.operation.assistant.updateChatName)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828735,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistant.updateChatName\",\n \"name\": \"Update Chat Name\",\n \"icon\": \"ph--pencil--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800830265,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00EK399C8GJJ8VA656YCB\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"reasoning\",\n \"reasoningText\": \"The user wants me to create a haiku in a new document.\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800831962,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00EW0KX1Z76MNJBD0958W\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"toolCall\",\n \"toolCallId\": \"toolu_0178cbySPezLkhabBTSDtzCL\",\n \"name\": \"create\",\n \"input\": \"{\\\"name\\\": \\\"Haiku\\\", \\\"content\\\": \\\"# Haiku\\\\n\\\\nAutumn leaves descend,\\\\nWhispering through quiet woods—\\\\nEarth breathes in their fall.\\\"}\",\n \"providerExecuted\": false,\n \"operationKey\": \"dxn:org.dxos.operation.markdown.create\",\n \"operationName\": \"Create\",\n \"operationIcon\": \"ph--file-text--regular\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832083,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00GJK5KB5BQT6C5H9HE6J\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-opus-4-6\",\n \"duration\": 3587,\n \"message\": \"OK\",\n \"toolCalls\": 1,\n \"usage\": {\n \"inputTokens\": 3,\n \"outputTokens\": 126,\n \"totalTokens\": 129\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"dd1b51d9-f2f7-4144-945b-7ccd96978964\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Create (dxn:org.dxos.operation.markdown.create)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832091,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.markdown.create\",\n \"name\": \"Create\",\n \"icon\": \"ph--file-text--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"dd1b51d9-f2f7-4144-945b-7ccd96978964\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Create (dxn:org.dxos.operation.markdown.create)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832174,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.markdown.create\",\n \"name\": \"Create\",\n \"icon\": \"ph--file-text--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832177,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00GNGWSK4HBSS3G6GHN3Z\",\n \"role\": \"tool\",\n \"block\": {\n \"_tag\": \"toolResult\",\n \"toolCallId\": \"toolu_0178cbySPezLkhabBTSDtzCL\",\n \"name\": \"create\",\n \"result\": \"{\\\"id\\\":\\\"echo://BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN/01KTG00GJWSZ4SQSXABYFWGDVV\\\"}\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"01175964-6ffa-4785-84cb-649cbb80edd5\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832318,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"01175964-6ffa-4785-84cb-649cbb80edd5\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832319,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834244,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00J47C4BSC65F86Z1DY9C\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"toolCall\",\n \"toolCallId\": \"toolu_019cwi3tVMMseebHThRSJkRA\",\n \"name\": \"add-artifact\",\n \"input\": \"{\\\"name\\\": \\\"Haiku\\\", \\\"artifact\\\": \\\"echo://BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN/01KTG00GJWSZ4SQSXABYFWGDVV\\\"}\",\n \"providerExecuted\": false,\n \"operationKey\": \"dxn:org.dxos.function.agent.addArtifact\",\n \"operationName\": \"Add artifact\",\n \"operationIcon\": \"ph--plus--regular\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834342,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00JS52RCKXSCQNEGYW6ZS\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-opus-4-6\",\n \"duration\": 1991,\n \"message\": \"OK\",\n \"toolCalls\": 1,\n \"usage\": {\n \"inputTokens\": 1,\n \"outputTokens\": 121,\n \"totalTokens\": 122\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2f805c44-2f1e-4fff-9f1d-5864bc176d56\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Add artifact (dxn:org.dxos.function.agent.addArtifact)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834363,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.function.agent.addArtifact\",\n \"name\": \"Add artifact\",\n \"icon\": \"ph--plus--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2f805c44-2f1e-4fff-9f1d-5864bc176d56\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Add artifact (dxn:org.dxos.function.agent.addArtifact)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834365,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.function.agent.addArtifact\",\n \"name\": \"Add artifact\",\n \"icon\": \"ph--plus--regular\",\n \"outcome\": \"failure\",\n \"error\": \"There should be exactly one agent in context. Got: 0\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834370,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00JT1JGBNR4C0TW653WVV\",\n \"role\": \"tool\",\n \"block\": {\n \"_tag\": \"toolResult\",\n \"toolCallId\": \"toolu_019cwi3tVMMseebHThRSJkRA\",\n \"name\": \"add-artifact\",\n \"error\": \"Error: There should be exactly one agent in context. Got: 0\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"901f7e36-b0be-4e9e-99df-389261ff3722\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834486,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"901f7e36-b0be-4e9e-99df-389261ff3722\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834487,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800837620,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00MSMF112Q6HS7TM5YRWZ\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"toolCall\",\n \"toolCallId\": \"toolu_01C5PdSKAg51X4odG3F3Nzf6\",\n \"name\": \"completeJob\",\n \"input\": \"{\\\"success\\\": {\\\"summary\\\":\\\"Created a new document titled 'Haiku' containing an autumn-themed haiku: \\\\\\\"Autumn leaves descend, / Whispering through quiet woods— / Earth breathes in their fall.\\\\\\\"\\\",\\\"artifactIds\\\":[\\\"echo://BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN/01KTG00GJWSZ4SQSXABYFWGDVV\\\"]}}\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800837627,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00NZTEE9V745YZTH9RJVS\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-opus-4-6\",\n \"duration\": 3095,\n \"message\": \"OK\",\n \"toolCalls\": 1,\n \"usage\": {\n \"inputTokens\": 1,\n \"outputTokens\": 158,\n \"totalTokens\": 159\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800837636,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00P04B6FP1T09Y1XN487Q\",\n \"role\": \"tool\",\n \"block\": {\n \"_tag\": \"toolResult\",\n \"toolCallId\": \"toolu_01C5PdSKAg51X4odG3F3Nzf6\",\n \"name\": \"completeJob\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"639e78ff-d0b1-4d00-8e52-7fc43d245c9f\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800837746,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"639e78ff-d0b1-4d00-8e52-7fc43d245c9f\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800837747,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800838834,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00Q5HN24VN54SRMH1GPT6\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-opus-4-6\",\n \"duration\": 1052,\n \"message\": \"OK\",\n \"toolCalls\": 0,\n \"usage\": {\n \"inputTokens\": 1,\n \"outputTokens\": 2,\n \"totalTokens\": 3\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800838870,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.function.prompt\",\n \"name\": \"Run Routine\",\n \"icon\": \"ph--brain--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n }\n]\n"],"mappings":"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"}
1
+ {"version":3,"file":"testing.mjs","names":[],"sources":["../../src/testing/simulated-agent.ts","../../src/testing/snapshot-playback.ts","../../src/testing/test-trace.ts","../../src/execution-graph/testing/sub-agent-delegation.json"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { type ProcessManager } from '@dxos/compute-runtime';\nimport * as Operation from '@dxos/compute/Operation';\nimport * as Process from '@dxos/compute/Process';\nimport * as Trace from '@dxos/compute/Trace';\nimport { EntityId } from '@dxos/keys';\n\n/**\n * One simulated operation. Rendered as a child process in the tree and as an `operation.start`/\n * `operation.end` span on the timeline.\n */\nexport interface SimulatedTool {\n readonly key: string;\n readonly name: string;\n readonly icon?: string;\n readonly durationMs: number;\n /** Nested operations, spawned under this one so the tree exercises more than one level. */\n readonly children?: readonly SimulatedTool[];\n /** Run `children` concurrently, producing parallel lanes on the timeline. */\n readonly concurrent?: boolean;\n /** End with `outcome: 'failure'` and fail the process. */\n readonly fail?: boolean;\n}\n\nexport interface AgentScenario {\n readonly name: string;\n readonly prompt: string;\n readonly tools: readonly SimulatedTool[];\n}\n\nexport const agentScenarios: readonly AgentScenario[] = [\n {\n name: 'Create organization',\n prompt: 'Create an organization called \"Cyberdyne Systems\"',\n tools: [\n { key: 'list-schemas', name: 'List Schemas', icon: 'ph--list--regular', durationMs: 800 },\n {\n key: 'create-object',\n name: 'Create Object',\n icon: 'ph--plus-circle--regular',\n durationMs: 1_600,\n children: [{ key: 'validate', name: 'Validate', icon: 'ph--check--regular', durationMs: 600 }],\n },\n ],\n },\n {\n name: 'Research',\n prompt: 'Search for all organizations and persons',\n tools: [\n { key: 'list-schemas', name: 'List Schemas', icon: 'ph--list--regular', durationMs: 700 },\n {\n key: 'delegate',\n name: 'Delegate Research',\n icon: 'ph--users-three--regular',\n durationMs: 2_400,\n concurrent: true,\n children: [\n { key: 'query', name: 'Query Organizations', icon: 'ph--magnifying-glass--regular', durationMs: 1_800 },\n { key: 'query', name: 'Query Persons', icon: 'ph--magnifying-glass--regular', durationMs: 1_200 },\n ],\n },\n { key: 'summarize', name: 'Summarize', icon: 'ph--article--regular', durationMs: 900 },\n ],\n },\n {\n name: 'Failing run',\n prompt: 'Create a person named \"John Connor\"',\n tools: [\n { key: 'list-schemas', name: 'List Schemas', icon: 'ph--list--regular', durationMs: 600 },\n { key: 'create-object', name: 'Create Object', icon: 'ph--plus-circle--regular', durationMs: 1_200, fail: true },\n ],\n },\n];\n\nconst delay = (ms: number) => Effect.promise(() => new Promise<void>((resolve) => setTimeout(resolve, ms)));\n\n/**\n * Write a trace event and yield to the event loop so FeedTraceSink flushes it to ECHO before continuing.\n */\nconst writeAndFlush = <T>(eventType: Trace.EventType<T>, payload: T) =>\n Effect.gen(function* () {\n yield* Trace.write(eventType, payload);\n yield* delay(100);\n });\n\n//\n// Agent.\n//\n\nconst AgentStep = Schema.Union([\n Schema.Struct({ _tag: Schema.Literal('begin'), prompt: Schema.String }),\n Schema.Struct({ _tag: Schema.Literal('toolCall'), toolCallId: Schema.String, name: Schema.String }),\n Schema.Struct({ _tag: Schema.Literal('toolResult'), toolCallId: Schema.String, name: Schema.String }),\n Schema.Struct({ _tag: Schema.Literal('end'), status: Schema.Literals(['success', 'error']) }),\n]);\n\ntype AgentStep = Schema.Schema.Type<typeof AgentStep>;\n\n/**\n * Storybook fixture: a {@link Process} standing in for a conversational agent. Each input advances\n * it one step, so the caller can interleave the agent's own trace events with the child operation\n * processes that {@link runScenario} spawns beneath it.\n */\nexport const SimulatedAgent = Operation.makeDurable({\n key: 'org.dxos.testing.process.agent',\n input: AgentStep,\n output: Schema.Void,\n services: [Trace.TraceService],\n}).pipe(\n Operation.withDurableHandler((ctx) =>\n Effect.gen(function* () {\n // One message id spans the whole turn, so every block groups under a single message.\n const messageId = EntityId.random();\n\n return {\n onInput: (step: AgentStep) =>\n Effect.gen(function* () {\n switch (step._tag) {\n case 'begin': {\n yield* writeAndFlush(Trace.AgentRequestBegin, {});\n yield* writeAndFlush(Trace.CompleteBlock, {\n messageId,\n role: 'user',\n block: { _tag: 'text', text: step.prompt },\n });\n break;\n }\n\n case 'toolCall': {\n yield* writeAndFlush(Trace.CompleteBlock, {\n messageId,\n role: 'assistant',\n block: {\n _tag: 'toolCall',\n toolCallId: step.toolCallId,\n name: step.name,\n input: '{}',\n providerExecuted: false,\n },\n });\n break;\n }\n\n case 'toolResult': {\n yield* writeAndFlush(Trace.CompleteBlock, {\n messageId,\n role: 'assistant',\n block: {\n _tag: 'toolResult',\n toolCallId: step.toolCallId,\n name: step.name,\n providerExecuted: false,\n },\n });\n break;\n }\n\n case 'end': {\n yield* writeAndFlush(Trace.AgentRequestEnd, { status: step.status });\n if (step.status === 'error') {\n ctx.fail(new Error('Simulated agent failure'));\n } else {\n ctx.succeed();\n }\n break;\n }\n }\n }).pipe(Effect.orDie),\n onAlarm: () => Effect.void,\n onChildEvent: () => Effect.void,\n };\n }),\n ),\n);\n\n//\n// Operation.\n//\n\nconst OperationInput = Schema.Struct({\n key: Schema.String,\n name: Schema.String,\n icon: Schema.optional(Schema.String),\n durationMs: Schema.Number,\n fail: Schema.optional(Schema.Boolean),\n});\n\ntype OperationInput = Schema.Schema.Type<typeof OperationInput>;\n\n/**\n * Storybook fixture: a {@link Process} that emits the `operation.start`/`operation.end` pair a real\n * operation process emits, with a simulated execution time in between.\n */\nexport const SimulatedOperation = Operation.makeDurable({\n key: 'org.dxos.testing.process.operation',\n input: OperationInput,\n output: Schema.Void,\n services: [Trace.TraceService],\n}).pipe(\n Operation.withDurableHandler((ctx) =>\n Effect.succeed({\n onInput: ({ key, name, icon, durationMs, fail }: OperationInput) =>\n Effect.gen(function* () {\n yield* writeAndFlush(Trace.OperationStart, { key, name, icon });\n yield* delay(durationMs);\n yield* writeAndFlush(Trace.OperationEnd, {\n key,\n name,\n icon,\n outcome: fail ? 'failure' : 'success',\n error: fail ? `Simulated failure in '${name}'` : undefined,\n });\n\n if (fail) {\n ctx.fail(new Error(`Simulated failure in '${name}'`));\n } else {\n ctx.succeed();\n }\n }).pipe(Effect.orDie),\n onAlarm: () => Effect.void,\n onChildEvent: () => Effect.void,\n }),\n ),\n);\n\n//\n// Orchestration.\n//\n\n/**\n * Spawns one simulated operation (and its children) beneath `parentProcessId`.\n * A process cannot spawn its own children, so the tree is assembled from the caller's side.\n */\nconst runTool = (\n manager: ProcessManager.Manager,\n tool: SimulatedTool,\n parentProcessId: Process.ID,\n environment: Process.Environment,\n): Effect.Effect<void> =>\n Effect.gen(function* () {\n const handle = yield* manager.spawn(SimulatedOperation, { parentProcessId, name: tool.name, environment });\n yield* handle.submitInput({\n key: tool.key,\n name: tool.name,\n icon: tool.icon,\n durationMs: tool.durationMs,\n fail: tool.fail,\n });\n\n const children = tool.children ?? [];\n if (children.length > 0) {\n const effects = children.map((child) => runTool(manager, child, handle.pid, environment));\n yield* tool.concurrent ? Effect.all(effects, { concurrency: 'unbounded' }) : Effect.all(effects);\n }\n\n // A failing operation surfaces as a defect, which `Effect.ignore` would not catch; the scenario\n // only needs the trace it wrote, and carries on to close out the agent.\n yield* Effect.exit(handle.runToCompletion());\n }).pipe(Effect.orDie);\n\n/**\n * Runs one {@link agentScenarios} entry end to end: an agent process with a child operation process\n * per tool, so the panel has both a populated process tree and a timeline with nested spans.\n */\nexport const runScenario = (\n manager: ProcessManager.Manager,\n index: number,\n environment: Process.Environment,\n): Effect.Effect<void> =>\n Effect.gen(function* () {\n const scenario = agentScenarios[index % agentScenarios.length];\n const agent = yield* manager.spawn(SimulatedAgent, { name: `Agent (${scenario.name})`, environment });\n yield* agent.submitInput({ _tag: 'begin', prompt: scenario.prompt });\n\n let failed = false;\n for (const tool of scenario.tools) {\n const toolCallId = EntityId.random();\n yield* agent.submitInput({ _tag: 'toolCall', toolCallId, name: tool.key });\n yield* runTool(manager, tool, agent.pid, environment);\n if (tool.fail) {\n failed = true;\n break;\n }\n yield* agent.submitInput({ _tag: 'toolResult', toolCallId, name: tool.key });\n }\n\n yield* agent.submitInput({ _tag: 'end', status: failed ? 'error' : 'success' });\n }).pipe(Effect.orDie);\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { type Dispatch, type SetStateAction, useEffect, useRef, useState } from 'react';\n\n/**\n * Interval (ms) between auto-played trace messages in the snapshot playback story.\n */\nexport const PLAYBACK_INTERVAL_MS = 250;\n\nexport const STEP_STORAGE_KEY = 'plugin-assistant.trace-panel.snapshot.step';\n\n/**\n * `useState<number>` that hydrates from and persists to `localStorage`.\n * The third tuple member is `true` iff a valid value was loaded on first render.\n */\nexport const useLocalStorageNumber = (\n key: string,\n initial: number,\n): [number, Dispatch<SetStateAction<number>>, boolean] => {\n const initRef = useRef<{ value: number; hydrated: boolean } | null>(null);\n if (initRef.current === null) {\n let value = initial;\n let hydrated = false;\n if (typeof window !== 'undefined') {\n const stored = window.localStorage.getItem(key);\n const parsed = stored === null ? Number.NaN : Number(stored);\n if (Number.isInteger(parsed) && parsed >= 0) {\n value = parsed;\n hydrated = true;\n }\n }\n initRef.current = { value, hydrated };\n }\n\n const [value, setValue] = useState(initRef.current.value);\n useEffect(() => {\n if (typeof window !== 'undefined') {\n window.localStorage.setItem(key, String(value));\n }\n }, [key, value]);\n\n return [value, setValue, initRef.current.hydrated];\n};\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\n\nimport { makeTestProcess } from '@dxos/compute-runtime/testing';\nimport * as Process from '@dxos/compute/Process';\nimport { Annotation } from '@dxos/echo';\n\nexport const makeProcess = (\n overrides: Partial<Process.Data> & Pick<Process.Data, 'pid' | 'state'> & { name: string },\n): Process.Process =>\n makeTestProcess({\n parentPid: null,\n key: `test.process.${overrides.name}`,\n params: { name: overrides.name, annotations: Annotation.buildDictionary(() => {}) },\n environment: {},\n error: null,\n startedAt: Date.now() - 10_000,\n completedAt: Option.none(),\n metrics: { wallTime: 0, inputCount: 0, outputCount: 0 },\n ...overrides,\n });\n","[\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800819470,\n \"type\": \"assistant.agentRequestBegin\",\n \"data\": {}\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"e200b1f7-30a5-4aa8-ba12-31c6d9ddf4aa\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800819779,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"e200b1f7-30a5-4aa8-ba12-31c6d9ddf4aa\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800819796,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800819855,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG004MEGN8W9GP1T443300A\",\n \"role\": \"user\",\n \"block\": {\n \"_tag\": \"text\",\n \"text\": \"create a sub-agent that creates a haiku in a new document\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"fe05f5e6-f261-464a-a993-1ecc78557286\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800820015,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"fe05f5e6-f261-464a-a993-1ecc78557286\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800820031,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800822596,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG006SHPCW6D5WZJT9J0TKE\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"toolCall\",\n \"toolCallId\": \"toolu_01T1XhBHArQ2UNHvdCEtWY1C\",\n \"name\": \"update-tasks\",\n \"input\": \"{\\\"tasks\\\": [{\\\"id\\\":\\\"task_1\\\",\\\"title\\\":\\\"Create a sub-agent that writes a haiku in a new document\\\",\\\"status\\\":\\\"in-progress\\\"}]}\",\n \"providerExecuted\": false,\n \"operationKey\": \"dxn:org.dxos.operation.assistantToolkit.updateTasks\",\n \"operationName\": \"Update tasks\",\n \"operationIcon\": \"ph--check-square-offset--regular\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800822638,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG007BDN1MTQT7JXNC9MFQW\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-sonnet-4-6\",\n \"duration\": 2536,\n \"message\": \"OK\",\n \"toolCalls\": 1,\n \"usage\": {\n \"inputTokens\": 3,\n \"outputTokens\": 90,\n \"totalTokens\": 93\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"4f9baefc-1353-406d-b883-0b5a7d1f0e31\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Update tasks (dxn:org.dxos.operation.assistantToolkit.updateTasks)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800822760,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.updateTasks\",\n \"name\": \"Update tasks\",\n \"icon\": \"ph--check-square-offset--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"4f9baefc-1353-406d-b883-0b5a7d1f0e31\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Update tasks (dxn:org.dxos.operation.assistantToolkit.updateTasks)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800822783,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.updateTasks\",\n \"name\": \"Update tasks\",\n \"icon\": \"ph--check-square-offset--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800822829,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG007HCMJQEHXMRSCQCQDNY\",\n \"role\": \"tool\",\n \"block\": {\n \"_tag\": \"toolResult\",\n \"toolCallId\": \"toolu_01T1XhBHArQ2UNHvdCEtWY1C\",\n \"name\": \"update-tasks\",\n \"result\": \"\\\"You must update the task status to 'in-progress' when you start and 'done' when complete.\\\\nCurrent plan updated:\\\\n<plan>\\\\n - **IN-PROGRESS**: Create a sub-agent that writes a haiku in a new document <!-- id=task_1 -->\\\\n</plan>\\\"\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"211a43a3-f85b-4925-aae3-af92c46ac91b\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800823031,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"211a43a3-f85b-4925-aae3-af92c46ac91b\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800823047,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825033,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG009EK5A1PBQW38R1T8ABZ\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"toolCall\",\n \"toolCallId\": \"toolu_014hZLnJnQzNRkr9Xwx6gJ79\",\n \"name\": \"delegate-task\",\n \"input\": \"{\\\"title\\\": \\\"Create a haiku in a new document\\\"}\",\n \"providerExecuted\": false,\n \"operationKey\": \"dxn:org.dxos.operation.assistantToolkit.delegateTask\",\n \"operationName\": \"Delegate task\",\n \"operationIcon\": \"ph--share-network--regular\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825087,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG009QYZCDFTBGFSNCFXZ4C\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-sonnet-4-6\",\n \"duration\": 1981,\n \"message\": \"OK\",\n \"toolCalls\": 1,\n \"usage\": {\n \"inputTokens\": 1,\n \"outputTokens\": 60,\n \"totalTokens\": 61\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cad71a95-5fbc-45cd-a834-bfc7e5085a3f\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Delegate task (dxn:org.dxos.operation.assistantToolkit.delegateTask)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825246,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.delegateTask\",\n \"name\": \"Delegate task\",\n \"icon\": \"ph--share-network--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cad71a95-5fbc-45cd-a834-bfc7e5085a3f\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Delegate task (dxn:org.dxos.operation.assistantToolkit.delegateTask)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825268,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.delegateTask\",\n \"name\": \"Delegate task\",\n \"icon\": \"ph--share-network--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825324,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG009ZCDCCCF7ZPHE3SECXG\",\n \"role\": \"tool\",\n \"block\": {\n \"_tag\": \"toolResult\",\n \"toolCallId\": \"toolu_014hZLnJnQzNRkr9Xwx6gJ79\",\n \"name\": \"delegate-task\",\n \"result\": \"\\\"Delegated work as an in-progress task. Current plan:\\\\n<plan>\\\\n - **IN-PROGRESS**: Create a sub-agent that writes a haiku in a new document <!-- id=task_1 -->\\\\n - **IN-PROGRESS**: Create a haiku in a new document <!-- id=1-d4 -->\\\\n</plan>\\\"\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf82b042-0703-4e57-b630-204f0e13deee\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825537,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf82b042-0703-4e57-b630-204f0e13deee\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800825552,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800827693,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00B9HS4BWE7G8NPYGEG00\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"text\",\n \"text\": \"Done! I've created a sub-agent with the task of writing a haiku in a new document. The sub-agent is now in progress and will create the document with a haiku. Once it completes, the artifact will be available in the space.\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800827757,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00CBCTK0Y7068HEY1TJXJ\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-sonnet-4-6\",\n \"duration\": 2135,\n \"message\": \"OK\",\n \"toolCalls\": 0,\n \"usage\": {\n \"inputTokens\": 1,\n \"outputTokens\": 57,\n \"totalTokens\": 58\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Agent\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"conversationId\": \"01KTFZZXTFTNVTK86WEJ6DKTFT\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800827765,\n \"type\": \"assistant.agentRequestEnd\",\n \"data\": {}\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800827912,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.function.prompt\",\n \"name\": \"Run Routine\",\n \"icon\": \"ph--brain--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"58e4ed1d-6cb2-475e-850a-d89be0c5c714\",\n \"processName\": \"Update Chat Name (dxn:org.dxos.operation.assistant.updateChatName)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828033,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistant.updateChatName\",\n \"name\": \"Update Chat Name\",\n \"icon\": \"ph--pencil--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"b070e30f-bafe-4118-94da-83681c24d49d\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828277,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"b070e30f-bafe-4118-94da-83681c24d49d\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828278,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828323,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00CX281TNXBSMXVWGJFER\",\n \"role\": \"user\",\n \"block\": {\n \"_tag\": \"text\",\n \"text\": \"Complete the following task and report the result concisely.\\n\\nIf you create any documents or artifacts, call completeJob with a JSON object of the\\nform { \\\"summary\\\": string, \\\"artifactIds\\\": string[] }, where artifactIds are the exact\\nids returned by the tools that created them. Otherwise return a short summary string.\\n\\nTask: Create a haiku in a new document\\n<input>{}</input>\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"c2b79fcc-a455-4546-b306-fe175a2b646a\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828453,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"c2b79fcc-a455-4546-b306-fe175a2b646a\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828455,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"58e4ed1d-6cb2-475e-850a-d89be0c5c714\",\n \"processName\": \"Update Chat Name (dxn:org.dxos.operation.assistant.updateChatName)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800828735,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistant.updateChatName\",\n \"name\": \"Update Chat Name\",\n \"icon\": \"ph--pencil--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800830265,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00EK399C8GJJ8VA656YCB\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"reasoning\",\n \"reasoningText\": \"The user wants me to create a haiku in a new document.\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800831962,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00EW0KX1Z76MNJBD0958W\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"toolCall\",\n \"toolCallId\": \"toolu_0178cbySPezLkhabBTSDtzCL\",\n \"name\": \"create\",\n \"input\": \"{\\\"name\\\": \\\"Haiku\\\", \\\"content\\\": \\\"# Haiku\\\\n\\\\nAutumn leaves descend,\\\\nWhispering through quiet woods—\\\\nEarth breathes in their fall.\\\"}\",\n \"providerExecuted\": false,\n \"operationKey\": \"dxn:org.dxos.operation.markdown.create\",\n \"operationName\": \"Create\",\n \"operationIcon\": \"ph--file-text--regular\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832083,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00GJK5KB5BQT6C5H9HE6J\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-opus-4-6\",\n \"duration\": 3587,\n \"message\": \"OK\",\n \"toolCalls\": 1,\n \"usage\": {\n \"inputTokens\": 3,\n \"outputTokens\": 126,\n \"totalTokens\": 129\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"dd1b51d9-f2f7-4144-945b-7ccd96978964\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Create (dxn:org.dxos.operation.markdown.create)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832091,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.markdown.create\",\n \"name\": \"Create\",\n \"icon\": \"ph--file-text--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"dd1b51d9-f2f7-4144-945b-7ccd96978964\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Create (dxn:org.dxos.operation.markdown.create)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832174,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.markdown.create\",\n \"name\": \"Create\",\n \"icon\": \"ph--file-text--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832177,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00GNGWSK4HBSS3G6GHN3Z\",\n \"role\": \"tool\",\n \"block\": {\n \"_tag\": \"toolResult\",\n \"toolCallId\": \"toolu_0178cbySPezLkhabBTSDtzCL\",\n \"name\": \"create\",\n \"result\": \"{\\\"id\\\":\\\"echo://BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN/01KTG00GJWSZ4SQSXABYFWGDVV\\\"}\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"01175964-6ffa-4785-84cb-649cbb80edd5\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832318,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"01175964-6ffa-4785-84cb-649cbb80edd5\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800832319,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834244,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00J47C4BSC65F86Z1DY9C\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"toolCall\",\n \"toolCallId\": \"toolu_019cwi3tVMMseebHThRSJkRA\",\n \"name\": \"add-artifact\",\n \"input\": \"{\\\"name\\\": \\\"Haiku\\\", \\\"artifact\\\": \\\"echo://BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN/01KTG00GJWSZ4SQSXABYFWGDVV\\\"}\",\n \"providerExecuted\": false,\n \"operationKey\": \"dxn:org.dxos.function.agent.addArtifact\",\n \"operationName\": \"Add artifact\",\n \"operationIcon\": \"ph--plus--regular\"\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834342,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00JS52RCKXSCQNEGYW6ZS\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-opus-4-6\",\n \"duration\": 1991,\n \"message\": \"OK\",\n \"toolCalls\": 1,\n \"usage\": {\n \"inputTokens\": 1,\n \"outputTokens\": 121,\n \"totalTokens\": 122\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2f805c44-2f1e-4fff-9f1d-5864bc176d56\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Add artifact (dxn:org.dxos.function.agent.addArtifact)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834363,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.function.agent.addArtifact\",\n \"name\": \"Add artifact\",\n \"icon\": \"ph--plus--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"2f805c44-2f1e-4fff-9f1d-5864bc176d56\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Add artifact (dxn:org.dxos.function.agent.addArtifact)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834365,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.function.agent.addArtifact\",\n \"name\": \"Add artifact\",\n \"icon\": \"ph--plus--regular\",\n \"outcome\": \"failure\",\n \"error\": \"There should be exactly one agent in context. Got: 0\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834370,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00JT1JGBNR4C0TW653WVV\",\n \"role\": \"tool\",\n \"block\": {\n \"_tag\": \"toolResult\",\n \"toolCallId\": \"toolu_019cwi3tVMMseebHThRSJkRA\",\n \"name\": \"add-artifact\",\n \"error\": \"Error: There should be exactly one agent in context. Got: 0\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"901f7e36-b0be-4e9e-99df-389261ff3722\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834486,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"901f7e36-b0be-4e9e-99df-389261ff3722\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800834487,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800837620,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00MSMF112Q6HS7TM5YRWZ\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"toolCall\",\n \"toolCallId\": \"toolu_01C5PdSKAg51X4odG3F3Nzf6\",\n \"name\": \"completeJob\",\n \"input\": \"{\\\"success\\\": {\\\"summary\\\":\\\"Created a new document titled 'Haiku' containing an autumn-themed haiku: \\\\\\\"Autumn leaves descend, / Whispering through quiet woods— / Earth breathes in their fall.\\\\\\\"\\\",\\\"artifactIds\\\":[\\\"echo://BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN/01KTG00GJWSZ4SQSXABYFWGDVV\\\"]}}\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800837627,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00NZTEE9V745YZTH9RJVS\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-opus-4-6\",\n \"duration\": 3095,\n \"message\": \"OK\",\n \"toolCalls\": 1,\n \"usage\": {\n \"inputTokens\": 1,\n \"outputTokens\": 158,\n \"totalTokens\": 159\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800837636,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00P04B6FP1T09Y1XN487Q\",\n \"role\": \"tool\",\n \"block\": {\n \"_tag\": \"toolResult\",\n \"toolCallId\": \"toolu_01C5PdSKAg51X4odG3F3Nzf6\",\n \"name\": \"completeJob\",\n \"providerExecuted\": false\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"639e78ff-d0b1-4d00-8e52-7fc43d245c9f\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800837746,\n \"type\": \"operation.start\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"639e78ff-d0b1-4d00-8e52-7fc43d245c9f\",\n \"parentPid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"processName\": \"Get Agent Context (dxn:org.dxos.operation.assistantToolkit.getContext)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800837747,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.operation.assistantToolkit.getContext\",\n \"name\": \"Get Agent Context\",\n \"icon\": \"ph--info--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800838834,\n \"type\": \"assistant.completeBlock\",\n \"data\": {\n \"messageId\": \"01KTG00Q5HN24VN54SRMH1GPT6\",\n \"role\": \"assistant\",\n \"block\": {\n \"_tag\": \"stats\",\n \"model\": \"claude-opus-4-6\",\n \"duration\": 1052,\n \"message\": \"OK\",\n \"toolCalls\": 0,\n \"usage\": {\n \"inputTokens\": 1,\n \"outputTokens\": 2,\n \"totalTokens\": 3\n }\n }\n }\n }\n ]\n },\n {\n \"meta\": {\n \"pid\": \"cf8f7243-5b1d-4902-b158-70d9107d5f43\",\n \"parentPid\": \"2433a0a1-7c09-46e6-bc6f-893f104d1691\",\n \"processName\": \"Run Routine (dxn:org.dxos.function.prompt)\",\n \"space\": \"BIRSBKL52RS4PRK3IU2GHWTRLO5T6VOLN\",\n \"runtimeName\": \"local\"\n },\n \"isEphemeral\": false,\n \"events\": [\n {\n \"timestamp\": 1780800838870,\n \"type\": \"operation.end\",\n \"data\": {\n \"key\": \"dxn:org.dxos.function.prompt\",\n \"name\": \"Run Routine\",\n \"icon\": \"ph--brain--regular\",\n \"outcome\": \"success\"\n }\n }\n ]\n }\n]\n"],"mappings":"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"}
@@ -30,7 +30,7 @@ export declare const agentScenarios: readonly AgentScenario[];
30
30
  * it one step, so the caller can interleave the agent's own trace events with the child operation
31
31
  * processes that {@link runScenario} spawns beneath it.
32
32
  */
33
- export declare const SimulatedAgent: Operation.Durable<{
33
+ export declare const SimulatedAgent: Operation.DurableDefinition.WithHandler<Operation.DurableDefinition<{
34
34
  readonly _tag: "begin";
35
35
  readonly prompt: string;
36
36
  } | {
@@ -44,18 +44,18 @@ export declare const SimulatedAgent: Operation.Durable<{
44
44
  } | {
45
45
  readonly _tag: "end";
46
46
  readonly status: "error" | "success";
47
- }, void, Trace.TraceService, never>;
47
+ }, void, Trace.TraceService, never>>;
48
48
  /**
49
49
  * Storybook fixture: a {@link Process} that emits the `operation.start`/`operation.end` pair a real
50
50
  * operation process emits, with a simulated execution time in between.
51
51
  */
52
- export declare const SimulatedOperation: Operation.Durable<{
52
+ export declare const SimulatedOperation: Operation.DurableDefinition.WithHandler<Operation.DurableDefinition<{
53
53
  readonly key: string;
54
54
  readonly name: string;
55
55
  readonly icon?: string | undefined;
56
56
  readonly durationMs: number;
57
57
  readonly fail?: boolean | undefined;
58
- }, void, Trace.TraceService, never>;
58
+ }, void, Trace.TraceService, never>>;
59
59
  /**
60
60
  * Runs one {@link agentScenarios} entry end to end: an agent process with a child operation process
61
61
  * per tool, so the panel has both a populated process tree and a timeline with nested spans.
@@ -1 +1 @@
1
- {"version":3,"file":"simulated-agent.d.ts","sourceRoot":"","sources":["../../../../src/testing/simulated-agent.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAC;AAG7C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,aAAa,EA0ClD,CAAC;AA0BF;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;mCAsE1B,CAAC;AAgBF;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;mCA8B9B,CAAC;AAqCF;;;GAGG;AACH,eAAO,MAAM,WAAW,YACb,cAAc,CAAC,OAAO,SACxB,MAAM,eACA,OAAO,CAAC,WAAW,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAmBE,CAAC"}
1
+ {"version":3,"file":"simulated-agent.d.ts","sourceRoot":"","sources":["../../../../src/testing/simulated-agent.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAC;AAG7C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,aAAa,EA0ClD,CAAC;AA0BF;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;oCAsE1B,CAAC;AAgBF;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;oCA8B9B,CAAC;AAqCF;;;GAGG;AACH,eAAO,MAAM,WAAW,YACb,cAAc,CAAC,OAAO,SACxB,MAAM,eACA,OAAO,CAAC,WAAW,KAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAmBE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as Process from '@dxos/compute/Process';
2
- export declare const makeProcess: (overrides: Partial<Process.Process> & Pick<Process.Process, 'pid' | 'state'> & {
2
+ export declare const makeProcess: (overrides: Partial<Process.Data> & Pick<Process.Data, 'pid' | 'state'> & {
3
3
  name: string;
4
4
  }) => Process.Process;
5
5
  //# sourceMappingURL=test-trace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-trace.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-trace.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAGjD,eAAO,MAAM,WAAW,cACX,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KAC9F,OAAO,CAAC,OAUT,CAAC"}
1
+ {"version":3,"file":"test-trace.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-trace.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAGjD,eAAO,MAAM,WAAW,cACX,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KACxF,OAAO,CAAC,OAWP,CAAC"}