@tekmidian/pai 0.66.2 → 0.66.3

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.
Files changed (82) hide show
  1. package/dist/{aibroker-client-CHEEvJZW.mjs → aibroker-client-Ck3p3k_-.mjs} +1 -1
  2. package/dist/{aibroker-client-Dfv7j1Od.mjs → aibroker-client-WCZi_tn-.mjs} +2 -2
  3. package/dist/{aibroker-client-Dfv7j1Od.mjs.map → aibroker-client-WCZi_tn-.mjs.map} +1 -1
  4. package/dist/{chain-D5876UQX.mjs → chain-Fz4NLm4D.mjs} +3 -3
  5. package/dist/{chain-D5876UQX.mjs.map → chain-Fz4NLm4D.mjs.map} +1 -1
  6. package/dist/cli/index.mjs +13 -13
  7. package/dist/cli/program.mjs +13 -13
  8. package/dist/{config-DKIA7wgF.mjs → config-CnsDMETf.mjs} +1 -1
  9. package/dist/{config-C-LiGlop.mjs → config-Ddc4DIPk.mjs} +5 -3
  10. package/dist/config-Ddc4DIPk.mjs.map +1 -0
  11. package/dist/{context-handover-cache-9PGvXRIw.mjs → context-handover-cache-DcPEW6vf.mjs} +244 -10
  12. package/dist/context-handover-cache-DcPEW6vf.mjs.map +1 -0
  13. package/dist/daemon/index.mjs +11 -11
  14. package/dist/{daemon-BUgNvMUh.mjs → daemon-Bl8TpHdM.mjs} +37 -18
  15. package/dist/daemon-Bl8TpHdM.mjs.map +1 -0
  16. package/dist/daemon-ZhHU6D0i.mjs +18 -0
  17. package/dist/daemon-mcp/index.mjs +9 -9
  18. package/dist/{embeddings-CEBGrzwu.mjs → embeddings-D0WOQpYR.mjs} +1 -1
  19. package/dist/{embeddings-DOLZnT1X.mjs → embeddings-DMVzpvRZ.mjs} +18 -9
  20. package/dist/embeddings-DMVzpvRZ.mjs.map +1 -0
  21. package/dist/{factory-Ypf8r0fK.mjs → factory-BUnZgnKW.mjs} +5 -5
  22. package/dist/{factory-Ypf8r0fK.mjs.map → factory-BUnZgnKW.mjs.map} +1 -1
  23. package/dist/{factory-DrBg24UT.mjs → factory-CrVlo2hY.mjs} +4 -4
  24. package/dist/{fallback-D51R4shY.mjs → fallback-awOmq_9A.mjs} +4 -4
  25. package/dist/{fallback-D51R4shY.mjs.map → fallback-awOmq_9A.mjs.map} +1 -1
  26. package/dist/hooks/block-sleep-poll.mjs +6 -5
  27. package/dist/hooks/block-sleep-poll.mjs.map +3 -3
  28. package/dist/hooks/context-compression-hook.mjs +1 -0
  29. package/dist/hooks/context-compression-hook.mjs.map +2 -2
  30. package/dist/hooks/load-project-context.mjs +6 -5
  31. package/dist/hooks/load-project-context.mjs.map +3 -3
  32. package/dist/hooks/post-compact-inject.mjs +6 -5
  33. package/dist/hooks/post-compact-inject.mjs.map +3 -3
  34. package/dist/hooks/route-agents-to-worker.mjs +6 -5
  35. package/dist/hooks/route-agents-to-worker.mjs.map +3 -3
  36. package/dist/hooks/security-validator.mjs +1 -0
  37. package/dist/hooks/security-validator.mjs.map +2 -2
  38. package/dist/hooks/whisper-rules.mjs +1 -0
  39. package/dist/hooks/whisper-rules.mjs.map +2 -2
  40. package/dist/hooks/worker-guard.mjs +6 -5
  41. package/dist/hooks/worker-guard.mjs.map +3 -3
  42. package/dist/hooks/worker-proxy.mjs +6 -5
  43. package/dist/hooks/worker-proxy.mjs.map +3 -3
  44. package/dist/hooks/worker-status-line.mjs +6 -5
  45. package/dist/hooks/worker-status-line.mjs.map +3 -3
  46. package/dist/hooks/worker-supervision.mjs +6 -5
  47. package/dist/hooks/worker-supervision.mjs.map +3 -3
  48. package/dist/{ipc-client-BLYX51nG.mjs → ipc-client-DkxRay-o.mjs} +2 -2
  49. package/dist/{ipc-client-BLYX51nG.mjs.map → ipc-client-DkxRay-o.mjs.map} +1 -1
  50. package/dist/{main-resolver-kVkMJZUD.mjs → main-resolver-CVGPICy-.mjs} +6 -6
  51. package/dist/{main-resolver-kVkMJZUD.mjs.map → main-resolver-CVGPICy-.mjs.map} +1 -1
  52. package/dist/main-resolver-DDShdDBm.mjs +7 -0
  53. package/dist/{pai-home-Cm9rcJgX.mjs → pai-home-UncxWxlX.mjs} +1 -1
  54. package/dist/{pai-home-Cm9rcJgX.mjs.map → pai-home-UncxWxlX.mjs.map} +1 -1
  55. package/dist/{planner-D5yt0EfA.mjs → planner-GdiYe2FO.mjs} +8 -8
  56. package/dist/{planner-D5yt0EfA.mjs.map → planner-GdiYe2FO.mjs.map} +1 -1
  57. package/dist/{postgres-BmLr0MUm.mjs → postgres-DKyiCA5V.mjs} +2 -2
  58. package/dist/{postgres-D3xc2RB4.mjs → postgres-H85VSYHI.mjs} +2 -2
  59. package/dist/{postgres-D3xc2RB4.mjs.map → postgres-H85VSYHI.mjs.map} +1 -1
  60. package/dist/{program-DIXRtAFy.mjs → program-D3MSfx86.mjs} +117 -82
  61. package/dist/program-D3MSfx86.mjs.map +1 -0
  62. package/dist/{query-feedback-B7FYE4JR.mjs → query-feedback-BPdapXKd.mjs} +2 -2
  63. package/dist/{query-feedback-B7FYE4JR.mjs.map → query-feedback-BPdapXKd.mjs.map} +1 -1
  64. package/dist/{run-CLYTOm0x.mjs → run-D9YbWsnL.mjs} +5 -5
  65. package/dist/{run-CLYTOm0x.mjs.map → run-D9YbWsnL.mjs.map} +1 -1
  66. package/dist/{run-env-Bnmf6bRI.mjs → run-env-CQRnxNht.mjs} +3 -3
  67. package/dist/{run-env-Bnmf6bRI.mjs.map → run-env-CQRnxNht.mjs.map} +1 -1
  68. package/dist/{runtime-paths-D3FKAm69.mjs → runtime-paths-Bw3Jk8qJ.mjs} +4 -2
  69. package/dist/runtime-paths-Bw3Jk8qJ.mjs.map +1 -0
  70. package/dist/{zettelkasten-BhZMvmoK.mjs → zettelkasten-BRIaHzFm.mjs} +2 -2
  71. package/dist/{zettelkasten-BhZMvmoK.mjs.map → zettelkasten-BRIaHzFm.mjs.map} +1 -1
  72. package/dist/{zettelkasten-BwV1pluL.mjs → zettelkasten-G0-ZTybr.mjs} +3 -3
  73. package/docs/commands/memory.md +2 -0
  74. package/package.json +1 -1
  75. package/dist/config-C-LiGlop.mjs.map +0 -1
  76. package/dist/context-handover-cache-9PGvXRIw.mjs.map +0 -1
  77. package/dist/daemon-BUgNvMUh.mjs.map +0 -1
  78. package/dist/daemon-DL0eglMJ.mjs +0 -18
  79. package/dist/embeddings-DOLZnT1X.mjs.map +0 -1
  80. package/dist/main-resolver-BYgP86C1.mjs +0 -7
  81. package/dist/program-DIXRtAFy.mjs.map +0 -1
  82. package/dist/runtime-paths-D3FKAm69.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { a as paiHomePath, n as migratePaiDir, o as resolvePaiFile } from "./pai-home-Cm9rcJgX.mjs";
1
+ import { a as paiHomePath, n as migratePaiDir, o as resolvePaiFile } from "./pai-home-UncxWxlX.mjs";
2
2
  import { existsSync, mkdirSync, writeFileSync } from "node:fs";
3
3
  import { homedir } from "node:os";
4
4
  import { join } from "node:path";
@@ -85,4 +85,4 @@ function saveQueryResult(record) {
85
85
 
86
86
  //#endregion
87
87
  export { queriesDirPath as n, saveQueryResult as r, migrateQueriesDir as t };
88
- //# sourceMappingURL=query-feedback-B7FYE4JR.mjs.map
88
+ //# sourceMappingURL=query-feedback-BPdapXKd.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-feedback-B7FYE4JR.mjs","names":[],"sources":["../src/zettelkasten/query-feedback.ts"],"sourcesContent":["/**\n * Query feedback loop — persist search queries and results as markdown files.\n *\n * When memory_search or zettel_converse returns results, the query + result\n * metadata is saved to ~/.config/pai/queries/ as a markdown file with YAML\n * frontmatter. The daemon indexer picks these up on the next cycle and indexes\n * them into the storage backend, creating a self-reinforcing feedback loop: past\n * queries become searchable context for future queries.\n */\n\nimport { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\nimport { paiHomePath, resolvePaiFile, migratePaiDir, type MigrateDirResult } from \"../config/pai-home.js\";\n\nexport interface QueryRecord {\n /** The original query string. */\n query: string;\n /** Timestamp of the query. */\n timestamp: number;\n /** Tool that produced the result: 'memory_search' | 'zettel_converse'. */\n source: string;\n /** Slugs of the top result paths (for linking back). */\n sourceSlugs: string[];\n /** Preview of the answer/result (first 500 chars). */\n answerPreview: string;\n /** Number of results returned. */\n resultCount: number;\n}\n\nfunction oldQueriesDir(): string {\n return join(homedir(), \".config\", \"pai\", \"queries\");\n}\n\n/** Where queries live: the new PAI_HOME dir if it has anything in it or was\n * already created, else the pre-2026-09-19 ~/.config/pai/queries (printing\n * a one-time notice), else the new dir (the target a first write creates). */\nexport function queriesDirPath(): string {\n return resolvePaiFile(paiHomePath(\"queries\"), [oldQueriesDir()], \"pai config migrate\");\n}\n\nexport function migrateQueriesDir(opts: { dryRun?: boolean } = {}): MigrateDirResult {\n return migratePaiDir(paiHomePath(\"queries\"), [oldQueriesDir()], opts);\n}\n\n/**\n * Ensure the queries directory exists.\n */\nfunction ensureQueriesDir(): void {\n const dir = paiHomePath(\"queries\");\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n}\n\n/**\n * Generate a filename-safe slug from a query string.\n */\nfunction querySlug(query: string, timestamp: number): string {\n const slug = query\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, \"\")\n .replace(/\\s+/g, \"-\")\n .slice(0, 60);\n const ts = new Date(timestamp).toISOString().slice(0, 10);\n const shortHash = timestamp.toString(36).slice(-4);\n return `${ts}-${slug}-${shortHash}`;\n}\n\n/**\n * Save a query + result record as a markdown file with YAML frontmatter.\n *\n * The file is written to PAI_HOME's queries/ dir and will be picked up by\n * the daemon indexer on the next cycle.\n */\nexport function saveQueryResult(record: QueryRecord): string | null {\n try {\n ensureQueriesDir();\n\n const filename = querySlug(record.query, record.timestamp) + \".md\";\n const filepath = join(paiHomePath(\"queries\"), filename);\n\n // Don't overwrite if the exact file already exists\n if (existsSync(filepath)) return filepath;\n\n const frontmatter = [\n \"---\",\n `query: \"${record.query.replace(/\"/g, '\\\\\"')}\"`,\n `timestamp: ${new Date(record.timestamp).toISOString()}`,\n `source: ${record.source}`,\n `result_count: ${record.resultCount}`,\n `source_slugs:`,\n ...record.sourceSlugs.map((s) => ` - \"${s}\"`),\n \"---\",\n ].join(\"\\n\");\n\n const body = [\n \"\",\n `# Query: ${record.query}`,\n \"\",\n `**Source:** ${record.source} `,\n `**Date:** ${new Date(record.timestamp).toISOString().slice(0, 19).replace(\"T\", \" \")} `,\n `**Results:** ${record.resultCount}`,\n \"\",\n \"## Answer Preview\",\n \"\",\n record.answerPreview,\n \"\",\n \"## Source Paths\",\n \"\",\n ...record.sourceSlugs.map((s) => `- \\`${s}\\``),\n \"\",\n ].join(\"\\n\");\n\n writeFileSync(filepath, frontmatter + body, \"utf8\");\n return filepath;\n } catch {\n // Non-critical — don't crash the parent tool if query logging fails\n return null;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AA8BA,SAAS,gBAAwB;AAC/B,QAAO,KAAK,SAAS,EAAE,WAAW,OAAO,UAAU;;;;;AAMrD,SAAgB,iBAAyB;AACvC,QAAO,eAAe,YAAY,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,qBAAqB;;AAGxF,SAAgB,kBAAkB,OAA6B,EAAE,EAAoB;AACnF,QAAO,cAAc,YAAY,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK;;;;;AAMvE,SAAS,mBAAyB;CAChC,MAAM,MAAM,YAAY,UAAU;AAClC,KAAI,CAAC,WAAW,IAAI,CAClB,WAAU,KAAK,EAAE,WAAW,MAAM,CAAC;;;;;AAOvC,SAAS,UAAU,OAAe,WAA2B;CAC3D,MAAM,OAAO,MACV,aAAa,CACb,QAAQ,gBAAgB,GAAG,CAC3B,QAAQ,QAAQ,IAAI,CACpB,MAAM,GAAG,GAAG;AAGf,QAAO,GAFI,IAAI,KAAK,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAE5C,GAAG,KAAK,GADH,UAAU,SAAS,GAAG,CAAC,MAAM,GAAG;;;;;;;;AAUpD,SAAgB,gBAAgB,QAAoC;AAClE,KAAI;AACF,oBAAkB;EAElB,MAAM,WAAW,UAAU,OAAO,OAAO,OAAO,UAAU,GAAG;EAC7D,MAAM,WAAW,KAAK,YAAY,UAAU,EAAE,SAAS;AAGvD,MAAI,WAAW,SAAS,CAAE,QAAO;AA+BjC,gBAAc,UA7BM;GAClB;GACA,WAAW,OAAO,MAAM,QAAQ,MAAM,OAAM,CAAC;GAC7C,cAAc,IAAI,KAAK,OAAO,UAAU,CAAC,aAAa;GACtD,WAAW,OAAO;GAClB,iBAAiB,OAAO;GACxB;GACA,GAAG,OAAO,YAAY,KAAK,MAAM,QAAQ,EAAE,GAAG;GAC9C;GACD,CAAC,KAAK,KAAK,GAEC;GACX;GACA,YAAY,OAAO;GACnB;GACA,eAAe,OAAO,OAAO;GAC7B,aAAa,IAAI,KAAK,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;GACrF,gBAAgB,OAAO;GACvB;GACA;GACA;GACA,OAAO;GACP;GACA;GACA;GACA,GAAG,OAAO,YAAY,KAAK,MAAM,OAAO,EAAE,IAAI;GAC9C;GACD,CAAC,KAAK,KAAK,EAEgC,OAAO;AACnD,SAAO;SACD;AAEN,SAAO"}
1
+ {"version":3,"file":"query-feedback-BPdapXKd.mjs","names":[],"sources":["../src/zettelkasten/query-feedback.ts"],"sourcesContent":["/**\n * Query feedback loop — persist search queries and results as markdown files.\n *\n * When memory_search or zettel_converse returns results, the query + result\n * metadata is saved to ~/.config/pai/queries/ as a markdown file with YAML\n * frontmatter. The daemon indexer picks these up on the next cycle and indexes\n * them into the storage backend, creating a self-reinforcing feedback loop: past\n * queries become searchable context for future queries.\n */\n\nimport { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\nimport { paiHomePath, resolvePaiFile, migratePaiDir, type MigrateDirResult } from \"../config/pai-home.js\";\n\nexport interface QueryRecord {\n /** The original query string. */\n query: string;\n /** Timestamp of the query. */\n timestamp: number;\n /** Tool that produced the result: 'memory_search' | 'zettel_converse'. */\n source: string;\n /** Slugs of the top result paths (for linking back). */\n sourceSlugs: string[];\n /** Preview of the answer/result (first 500 chars). */\n answerPreview: string;\n /** Number of results returned. */\n resultCount: number;\n}\n\nfunction oldQueriesDir(): string {\n return join(homedir(), \".config\", \"pai\", \"queries\");\n}\n\n/** Where queries live: the new PAI_HOME dir if it has anything in it or was\n * already created, else the pre-2026-09-19 ~/.config/pai/queries (printing\n * a one-time notice), else the new dir (the target a first write creates). */\nexport function queriesDirPath(): string {\n return resolvePaiFile(paiHomePath(\"queries\"), [oldQueriesDir()], \"pai config migrate\");\n}\n\nexport function migrateQueriesDir(opts: { dryRun?: boolean } = {}): MigrateDirResult {\n return migratePaiDir(paiHomePath(\"queries\"), [oldQueriesDir()], opts);\n}\n\n/**\n * Ensure the queries directory exists.\n */\nfunction ensureQueriesDir(): void {\n const dir = paiHomePath(\"queries\");\n if (!existsSync(dir)) {\n mkdirSync(dir, { recursive: true });\n }\n}\n\n/**\n * Generate a filename-safe slug from a query string.\n */\nfunction querySlug(query: string, timestamp: number): string {\n const slug = query\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, \"\")\n .replace(/\\s+/g, \"-\")\n .slice(0, 60);\n const ts = new Date(timestamp).toISOString().slice(0, 10);\n const shortHash = timestamp.toString(36).slice(-4);\n return `${ts}-${slug}-${shortHash}`;\n}\n\n/**\n * Save a query + result record as a markdown file with YAML frontmatter.\n *\n * The file is written to PAI_HOME's queries/ dir and will be picked up by\n * the daemon indexer on the next cycle.\n */\nexport function saveQueryResult(record: QueryRecord): string | null {\n try {\n ensureQueriesDir();\n\n const filename = querySlug(record.query, record.timestamp) + \".md\";\n const filepath = join(paiHomePath(\"queries\"), filename);\n\n // Don't overwrite if the exact file already exists\n if (existsSync(filepath)) return filepath;\n\n const frontmatter = [\n \"---\",\n `query: \"${record.query.replace(/\"/g, '\\\\\"')}\"`,\n `timestamp: ${new Date(record.timestamp).toISOString()}`,\n `source: ${record.source}`,\n `result_count: ${record.resultCount}`,\n `source_slugs:`,\n ...record.sourceSlugs.map((s) => ` - \"${s}\"`),\n \"---\",\n ].join(\"\\n\");\n\n const body = [\n \"\",\n `# Query: ${record.query}`,\n \"\",\n `**Source:** ${record.source} `,\n `**Date:** ${new Date(record.timestamp).toISOString().slice(0, 19).replace(\"T\", \" \")} `,\n `**Results:** ${record.resultCount}`,\n \"\",\n \"## Answer Preview\",\n \"\",\n record.answerPreview,\n \"\",\n \"## Source Paths\",\n \"\",\n ...record.sourceSlugs.map((s) => `- \\`${s}\\``),\n \"\",\n ].join(\"\\n\");\n\n writeFileSync(filepath, frontmatter + body, \"utf8\");\n return filepath;\n } catch {\n // Non-critical — don't crash the parent tool if query logging fails\n return null;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AA8BA,SAAS,gBAAwB;AAC/B,QAAO,KAAK,SAAS,EAAE,WAAW,OAAO,UAAU;;;;;AAMrD,SAAgB,iBAAyB;AACvC,QAAO,eAAe,YAAY,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,qBAAqB;;AAGxF,SAAgB,kBAAkB,OAA6B,EAAE,EAAoB;AACnF,QAAO,cAAc,YAAY,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK;;;;;AAMvE,SAAS,mBAAyB;CAChC,MAAM,MAAM,YAAY,UAAU;AAClC,KAAI,CAAC,WAAW,IAAI,CAClB,WAAU,KAAK,EAAE,WAAW,MAAM,CAAC;;;;;AAOvC,SAAS,UAAU,OAAe,WAA2B;CAC3D,MAAM,OAAO,MACV,aAAa,CACb,QAAQ,gBAAgB,GAAG,CAC3B,QAAQ,QAAQ,IAAI,CACpB,MAAM,GAAG,GAAG;AAGf,QAAO,GAFI,IAAI,KAAK,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAE5C,GAAG,KAAK,GADH,UAAU,SAAS,GAAG,CAAC,MAAM,GAAG;;;;;;;;AAUpD,SAAgB,gBAAgB,QAAoC;AAClE,KAAI;AACF,oBAAkB;EAElB,MAAM,WAAW,UAAU,OAAO,OAAO,OAAO,UAAU,GAAG;EAC7D,MAAM,WAAW,KAAK,YAAY,UAAU,EAAE,SAAS;AAGvD,MAAI,WAAW,SAAS,CAAE,QAAO;AA+BjC,gBAAc,UA7BM;GAClB;GACA,WAAW,OAAO,MAAM,QAAQ,MAAM,OAAM,CAAC;GAC7C,cAAc,IAAI,KAAK,OAAO,UAAU,CAAC,aAAa;GACtD,WAAW,OAAO;GAClB,iBAAiB,OAAO;GACxB;GACA,GAAG,OAAO,YAAY,KAAK,MAAM,QAAQ,EAAE,GAAG;GAC9C;GACD,CAAC,KAAK,KAAK,GAEC;GACX;GACA,YAAY,OAAO;GACnB;GACA,eAAe,OAAO,OAAO;GAC7B,aAAa,IAAI,KAAK,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;GACrF,gBAAgB,OAAO;GACvB;GACA;GACA;GACA,OAAO;GACP;GACA;GACA;GACA,GAAG,OAAO,YAAY,KAAK,MAAM,OAAO,EAAE,IAAI;GAC9C;GACD,CAAC,KAAK,KAAK,EAEgC,OAAO;AACnD,SAAO;SACD;AAEN,SAAO"}
@@ -1,6 +1,6 @@
1
- import { i as getRegistryBackend } from "./factory-Ypf8r0fK.mjs";
2
- import { a as paiHomePath, o as resolvePaiFile } from "./pai-home-Cm9rcJgX.mjs";
3
- import { A as resolveProviderKey, D as readWorkersSection, E as providerKeyPath, O as resolveCapability, T as providerCostTier, _ as classModelCapability, b as getProviderOrNative, f as NATIVE_ANTHROPIC_MODELS, g as assertProviderRunnable, h as WorkersConfigError, k as resolveModelCapability, m as WORKER_CLASSES, n as claudeCommand, o as DEFAULT_LOG_DIR, r as ANTHROPIC_NATIVE, t as buildRunEnv, x as isModelCapability, y as expandHome } from "./run-env-Bnmf6bRI.mjs";
1
+ import { i as getRegistryBackend } from "./factory-BUnZgnKW.mjs";
2
+ import { a as paiHomePath, o as resolvePaiFile } from "./pai-home-UncxWxlX.mjs";
3
+ import { A as resolveProviderKey, D as readWorkersSection, E as providerKeyPath, O as resolveCapability, T as providerCostTier, _ as classModelCapability, b as getProviderOrNative, f as NATIVE_ANTHROPIC_MODELS, g as assertProviderRunnable, h as WorkersConfigError, k as resolveModelCapability, m as WORKER_CLASSES, n as claudeCommand, o as DEFAULT_LOG_DIR, r as ANTHROPIC_NATIVE, t as buildRunEnv, x as isModelCapability, y as expandHome } from "./run-env-CQRnxNht.mjs";
4
4
  import { appendFileSync, closeSync, existsSync, lstatSync, mkdirSync, mkdtempSync, openSync, readFileSync, readdirSync, readlinkSync, realpathSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync, writeSync } from "node:fs";
5
5
  import { homedir, platform, tmpdir } from "node:os";
6
6
  import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
@@ -4472,7 +4472,7 @@ async function runWorker(opts) {
4472
4472
  if (gc?.length) process.stderr.write(`pai worker: archived ${gc.length} leftover worktree(s) (pai worker gc)\n`);
4473
4473
  } catch {}
4474
4474
  if (opts.className === "plan" && !opts._planner) {
4475
- const { runPlanner } = await import("./planner-D5yt0EfA.mjs");
4475
+ const { runPlanner } = await import("./planner-GdiYe2FO.mjs");
4476
4476
  return runPlanner(opts);
4477
4477
  }
4478
4478
  const parent = launchParent(opts.parent);
@@ -5732,4 +5732,4 @@ function resultFromOutput(out) {
5732
5732
 
5733
5733
  //#endregion
5734
5734
  export { longInlinePromptHint as $, git as A, contextLabel as B, itermUuid as C, workerInScope as D, sessionTag as E, appendLedger as F, loadStatus as G, elapsedOf as H, ledgerSummary as I, nowStamp as J, loadStatuses as K, UNLABELED as L, uncommittedPaths as M, verifyWorker as N, discardWorker as O, worktreesDir as P, waitForTerminalStatus as Q, ageOf as R, itermForClaudeSession as S, sessionMapPath as T, isChatPane as U, contextPercent as V, isLive as W, saveStatus as X, ownsPid as Y, setWorkerLabel as Z, markControlsHeld as _, expandMcpNames as _t, deadlineLabel as a, clearCooldown as at, requestKill as b, handoffFromInside as c, resolveTarget as ct, workerDepth as d, ledgerPath as dt, parseRunnerArgs as et, checkPaneForWorker as f, statusPath as ft, clickrControlsArgv as g, describeMcp as gt, openPaneForWorker as h, projectLaunchConfig as ht, usageContextTokens as i, stopProxy as it, mergeWorker as j, gcWorktrees as k, readInbox as l, ensureNoMcpConfig as lt, openFollowPane as m, pinNotices as mt, runWorker as n, DEFAULT_PROXY_PORT as nt, parseWorkerReport as o, probeQuota as ot, closeEndedPanes as p, workersLogDir as pt, newWorkerId as q, testProvider as r, ensureProxyRunning as rt, renderReport as s, quotaSkipThreshold as st, printResult as t, shortText as tt, sayToWorker as u, eventsPath as ut, callerDescription as v, resolveSession as w, currentTabKey as x, endLabel as y, alive as z };
5735
- //# sourceMappingURL=run-CLYTOm0x.mjs.map
5735
+ //# sourceMappingURL=run-D9YbWsnL.mjs.map