{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAIpE,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGpE,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,GAAE,kBAAuB,GAAG,IAAI,CAwCvF;AAED,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC","sourcesContent":["import type { ExtensionAPI } from \"@earendil-works/pi-coding-agent\";\nimport { registerTodoAutoTrigger } from \"./auto.ts\";\nimport { registerTodoCommand } from \"./command.ts\";\nimport { registerAgentLifecycleProtocol } from \"./protocol.ts\";\nimport { TodoRuntime, type TodoRuntimeOptions } from \"./runtime.ts\";\nimport { registerTodoTools } from \"./tools.ts\";\n\nexport default function piTodo(pi: ExtensionAPI, options: TodoRuntimeOptions = {}): void {\n\tconst runtime = new TodoRuntime(pi, options);\n\n\tregisterTodoCommand(pi, runtime);\n\tregisterTodoTools(pi, runtime);\n\tregisterTodoAutoTrigger(pi, runtime);\n\tconst disposeProtocol = registerAgentLifecycleProtocol(pi.events, runtime);\n\n\tpi.on(\"session_start\", async (event, ctx) => {\n\t\ttry {\n\t\t\tawait runtime.initialize(event, ctx);\n\t\t\tif (event.reason === \"fork\") {\n\t\t\t\tawait runtime.injectDigest();\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tctx.ui.notify(error instanceof Error ? error.message : String(error), \"error\");\n\t\t}\n\t});\n\n\tpi.on(\"session_tree\", async (_event, ctx) => {\n\t\ttry {\n\t\t\tawait runtime.restoreTree(ctx);\n\t\t\tawait runtime.injectDigest();\n\t\t} catch (error) {\n\t\t\tctx.ui.notify(error instanceof Error ? error.message : String(error), \"error\");\n\t\t}\n\t});\n\n\tpi.on(\"session_compact\", async () => {\n\t\tawait runtime.injectDigest();\n\t});\n\n\tpi.on(\"turn_end\", async () => {\n\t\tawait runtime.onTurnEnd();\n\t});\n\n\tpi.on(\"session_shutdown\", () => {\n\t\truntime.cancelDigest();\n\t\tdisposeProtocol();\n\t});\n}\n\nexport { TodoRuntime } from \"./runtime.ts\";\nexport { FileTodoStore, TodoPersistenceError } from \"./store.ts\";\nexport type { TodoDefinition, TodoListDocument, TodoListView, TodoStatus, TodoTask } from \"./types.ts\";\n"]}