carthagent 0.0.0-stage → 1.0.7

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 (379) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +219 -2
  3. package/bin/ctg.mjs +736 -0
  4. package/docs/budgets.md +72 -0
  5. package/docs/compaction.md +34 -0
  6. package/docs/context-efficiency-plan.md +24 -0
  7. package/docs/context-efficiency-review.md +27 -0
  8. package/docs/context-efficiency.md +49 -0
  9. package/docs/deepseek-jev-benchmark-plan.md +70 -0
  10. package/docs/deepseek-jev-benchmark-repair-plan.md +20 -0
  11. package/docs/deepseek-jev-benchmark-restart.md +9 -0
  12. package/docs/deepseek-jev-benchmark-results.md +77 -0
  13. package/docs/deepseek-jev-benchmark-running.md +60 -0
  14. package/docs/deepseek-jev-benchmark-v3-results.md +41 -0
  15. package/docs/deepseek-jev-benchmark-v4-protocol.md +15 -0
  16. package/docs/deepseek-jev-benchmark-v4-results.md +119 -0
  17. package/docs/deepseek-jev-http400-diagnosis.md +45 -0
  18. package/docs/delivery-review-evidence.md +53 -0
  19. package/docs/delivery-timeout-repair-plan.md +51 -0
  20. package/docs/evaluation-readiness.md +31 -0
  21. package/docs/evaluation.md +70 -0
  22. package/docs/extending.md +354 -0
  23. package/docs/glm-pilot-execution.md +9 -0
  24. package/docs/glm-pilot-plan.md +15 -0
  25. package/docs/glm-pilot-results.md +71 -0
  26. package/docs/graph-context-optimization.md +15 -0
  27. package/docs/jev-repository-pilot-plan.md +25 -0
  28. package/docs/jev-repository-pilot-protocol.md +39 -0
  29. package/docs/jev-repository-pilot-restart.md +7 -0
  30. package/docs/jev-repository-pilot-results.md +79 -0
  31. package/docs/jev.md +32 -0
  32. package/docs/model-registry.md +25 -0
  33. package/docs/native-compatibility.md +117 -0
  34. package/docs/opencode-archive.md +9 -0
  35. package/docs/opencode-migration.md +115 -0
  36. package/docs/opencode-runtime.md +94 -0
  37. package/docs/opencode-workspace.md +31 -0
  38. package/docs/owned-runtime-workflow-registration.md +17 -0
  39. package/docs/plan-advisor-evaluation.md +38 -0
  40. package/docs/planning-startup-fix-plan.md +23 -0
  41. package/docs/planning-startup-fix-review.md +24 -0
  42. package/docs/planning.md +118 -0
  43. package/docs/production-merge-review.md +23 -0
  44. package/docs/quality.md +35 -0
  45. package/docs/repository-benchmark-design.md +111 -0
  46. package/docs/review-assurance.md +9 -0
  47. package/docs/review-experiment-results.md +59 -0
  48. package/docs/tested-planning-roadmap.md +58 -0
  49. package/docs/tested-planning.md +58 -0
  50. package/docs/tui-pickers.md +9 -0
  51. package/docs/webdriver.md +83 -0
  52. package/docs/workflow-modes.md +26 -0
  53. package/docs/workflow.d2 +17 -0
  54. package/docs/workflow.svg +149 -0
  55. package/docs/workspace-coordination.md +9 -0
  56. package/evaluate.mjs +249 -0
  57. package/extensions/codegraph.ts +36 -0
  58. package/extensions/delivery.ts +819 -0
  59. package/extensions/experiential.ts +21 -0
  60. package/extensions/subscriptions.ts +21 -0
  61. package/guidance/profiles/authenticated-web.json +24 -0
  62. package/guidance/profiles/data-visualization.json +25 -0
  63. package/guidance/profiles/database-change.json +24 -0
  64. package/guidance/profiles/external-api.json +24 -0
  65. package/guidance/profiles/transactional-data.json +25 -0
  66. package/guidance/profiles/web-application.json +26 -0
  67. package/lib/acceptance-review.mjs +4 -0
  68. package/lib/browser-bin.mjs +160 -0
  69. package/lib/browser-errors.mjs +54 -0
  70. package/lib/browser.mjs +219 -0
  71. package/lib/budget.mjs +37 -0
  72. package/lib/cdp.mjs +221 -0
  73. package/lib/cloud/client.mjs +275 -0
  74. package/lib/cloud/control-plane.mjs +350 -0
  75. package/lib/cloud/gateway.mjs +380 -0
  76. package/lib/cloud/http.mjs +135 -0
  77. package/lib/cloud/ledger.mjs +215 -0
  78. package/lib/codegraph-query.mjs +60 -0
  79. package/lib/codegraph.mjs +378 -0
  80. package/lib/context-archive.mjs +18 -0
  81. package/lib/delivery-context.mjs +132 -0
  82. package/lib/delivery-guidance.mjs +9 -0
  83. package/lib/delivery-review.mjs +94 -0
  84. package/lib/delivery.mjs +610 -0
  85. package/lib/engine.mjs +137 -0
  86. package/lib/guidance.mjs +71 -0
  87. package/lib/jev-advisor.mjs +47 -0
  88. package/lib/opencode/archive.mjs +122 -0
  89. package/lib/opencode/compatibility.mjs +19 -0
  90. package/lib/opencode/credentials.mjs +205 -0
  91. package/lib/opencode/evaluation-budget-plugin/index.ts +147 -0
  92. package/lib/opencode/evaluation.mjs +242 -0
  93. package/lib/opencode/file-lock.mjs +86 -0
  94. package/lib/opencode/headless.mjs +200 -0
  95. package/lib/opencode/review.mjs +213 -0
  96. package/lib/opencode/runtime.mjs +246 -0
  97. package/lib/opencode/service.mjs +249 -0
  98. package/lib/opencode/session-options.mjs +60 -0
  99. package/lib/opencode/workspace.mjs +133 -0
  100. package/lib/openrouter-jev.mjs +37 -0
  101. package/lib/outcome-contract.mjs +21 -0
  102. package/lib/plan-advisor.mjs +38 -0
  103. package/lib/planning-access.mjs +7 -0
  104. package/lib/planning-advice.mjs +28 -0
  105. package/lib/planning-discovery.mjs +14 -0
  106. package/lib/planning-guide.mjs +34 -0
  107. package/lib/planning-view.mjs +57 -0
  108. package/lib/planning.mjs +155 -0
  109. package/lib/probe-diagnostics.mjs +13 -0
  110. package/lib/providers/experiential.mjs +292 -0
  111. package/lib/providers/model-catalog.json +700 -0
  112. package/lib/providers/model-catalog.mjs +7 -0
  113. package/lib/providers/names.mjs +13 -0
  114. package/lib/providers/subscription-models.mjs +483 -0
  115. package/lib/reports.mjs +80 -0
  116. package/lib/review-state.mjs +49 -0
  117. package/lib/review.mjs +114 -0
  118. package/lib/scenarios.mjs +99 -0
  119. package/lib/ship-auth.mjs +44 -0
  120. package/lib/ship-jev.mjs +59 -0
  121. package/lib/ship-telemetry.mjs +183 -0
  122. package/lib/tui/ansi.mjs +255 -0
  123. package/lib/tui/app.mjs +2445 -0
  124. package/lib/tui/auth.mjs +249 -0
  125. package/lib/tui/carthage.mjs +109 -0
  126. package/lib/tui/clipboard.mjs +122 -0
  127. package/lib/tui/d2.mjs +431 -0
  128. package/lib/tui/feed.mjs +467 -0
  129. package/lib/tui/framing.mjs +80 -0
  130. package/lib/tui/glyphs.mjs +172 -0
  131. package/lib/tui/hash-worker.mjs +11 -0
  132. package/lib/tui/mock-engine.mjs +222 -0
  133. package/lib/tui/models.mjs +73 -0
  134. package/lib/tui/picker.mjs +18 -0
  135. package/lib/tui/theme.mjs +663 -0
  136. package/lib/tui/title.mjs +7 -0
  137. package/lib/update-channel.mjs +62 -0
  138. package/lib/update.mjs +230 -0
  139. package/lib/webdriver.mjs +82 -0
  140. package/lib/workflow.mjs +88 -0
  141. package/lib/workspace.mjs +39 -0
  142. package/metadata.json +8 -0
  143. package/package.json +94 -4
  144. package/plugins/carthagent/index.ts +3 -0
  145. package/plugins/carthagent/package.json +28 -0
  146. package/plugins/carthagent/src/archive-rpc.ts +46 -0
  147. package/plugins/carthagent/src/bootstrap.ts +38 -0
  148. package/plugins/carthagent/src/index.ts +62 -0
  149. package/plugins/carthagent/src/pull-request-rpc.ts +54 -0
  150. package/plugins/carthagent/src/rpc.ts +76 -0
  151. package/plugins/carthagent/src/server/archive-rpc.ts +327 -0
  152. package/plugins/carthagent/src/server/budgets.ts +21 -0
  153. package/plugins/carthagent/src/server/codegraph.ts +46 -0
  154. package/plugins/carthagent/src/server/delivery.ts +488 -0
  155. package/plugins/carthagent/src/server/device-auth.ts +91 -0
  156. package/plugins/carthagent/src/server/native-delivery.ts +26 -0
  157. package/plugins/carthagent/src/server/orchestration.ts +56 -0
  158. package/plugins/carthagent/src/server/policy.ts +24 -0
  159. package/plugins/carthagent/src/server/providers.ts +424 -0
  160. package/plugins/carthagent/src/server/pull-request-rpc.ts +387 -0
  161. package/plugins/carthagent/src/server/session-controls.ts +82 -0
  162. package/plugins/carthagent/src/server/telemetry.ts +92 -0
  163. package/plugins/carthagent/src/server/workspace-rpc.ts +349 -0
  164. package/plugins/carthagent/src/session-rpc.ts +31 -0
  165. package/plugins/carthagent/src/testing.ts +85 -0
  166. package/plugins/carthagent/src/workspace-rpc.ts +133 -0
  167. package/plugins/carthagent/test-plugin/index.ts +4 -0
  168. package/plugins/carthagent/test-plugin/package.json +1 -0
  169. package/plugins/carthagent/tsconfig.json +19 -0
  170. package/plugins/carthagent/tui.ts +1 -0
  171. package/prompts/delivery.md +7 -0
  172. package/public/index.html +983 -0
  173. package/scenarios/cli/grade_cli.py +69 -0
  174. package/scenarios/cli/scenario.json +21 -0
  175. package/scenarios/game/baseline/minecraft.py +193 -0
  176. package/scenarios/game/context.md +1 -0
  177. package/scenarios/game/grade_minecraft_clone.py +603 -0
  178. package/scenarios/game/requirements.txt +2 -0
  179. package/scenarios/game/scenario.json +33 -0
  180. package/server.mjs +341 -0
  181. package/skills/game-development/SKILL.md +36 -0
  182. package/skills/game-development/assets/ursina_starter.py +98 -0
  183. package/skills/game-development/scripts/verify_ursina.py +80 -0
  184. package/skills/software-delivery/SKILL.md +50 -0
  185. package/skills/typescript-delivery/SKILL.md +69 -0
  186. package/tests/acceptance-review.test.mjs +13 -0
  187. package/tests/auth.test.mjs +234 -0
  188. package/tests/bounded-summary.test.mjs +68 -0
  189. package/tests/browser-bin.test.mjs +91 -0
  190. package/tests/browser.test.mjs +96 -0
  191. package/tests/budget-engine.test.mjs +110 -0
  192. package/tests/budget.test.mjs +23 -0
  193. package/tests/cli.test.mjs +245 -0
  194. package/tests/clipboard.test.mjs +79 -0
  195. package/tests/cloud-client.test.mjs +129 -0
  196. package/tests/cloud-control-plane.test.mjs +144 -0
  197. package/tests/cloud-gateway.test.mjs +147 -0
  198. package/tests/cloud-http.test.mjs +102 -0
  199. package/tests/cloud-ledger.test.mjs +75 -0
  200. package/tests/codegraph-query.test.mjs +66 -0
  201. package/tests/codegraph.test.mjs +142 -0
  202. package/tests/delivery-context.test.mjs +66 -0
  203. package/tests/delivery-review.test.mjs +139 -0
  204. package/tests/delivery.test.mjs +343 -0
  205. package/tests/engine-api.mjs +24 -0
  206. package/tests/experiential-extension.test.mjs +37 -0
  207. package/tests/experiential.test.mjs +300 -0
  208. package/tests/extension.test.mjs +921 -0
  209. package/tests/fixtures/archive-plugin/index.ts +10 -0
  210. package/tests/guidance.test.mjs +78 -0
  211. package/tests/model-registry.test.mjs +68 -0
  212. package/tests/models.test.mjs +70 -0
  213. package/tests/openai-idempotency.test.mjs +99 -0
  214. package/tests/opencode-archive-rpc.test.mjs +82 -0
  215. package/tests/opencode-delivery.test.mjs +231 -0
  216. package/tests/opencode-providers.test.mjs +414 -0
  217. package/tests/opencode-runtime.test.mjs +455 -0
  218. package/tests/opencode-session-controls.test.mjs +115 -0
  219. package/tests/opencode-session-options.test.mjs +26 -0
  220. package/tests/opencode-workspace.test.mjs +339 -0
  221. package/tests/outcome-contract.test.mjs +17 -0
  222. package/tests/picker.test.mjs +34 -0
  223. package/tests/plan-advisor.test.mjs +88 -0
  224. package/tests/plan-review-loop.test.mjs +53 -0
  225. package/tests/planning-advice.test.mjs +27 -0
  226. package/tests/planning-contract.test.mjs +65 -0
  227. package/tests/planning-startup.test.mjs +38 -0
  228. package/tests/planning-view.test.mjs +33 -0
  229. package/tests/planning.test.mjs +223 -0
  230. package/tests/probe-diagnostics.test.mjs +21 -0
  231. package/tests/pull-request-rpc.test.mjs +366 -0
  232. package/tests/review-state.test.mjs +32 -0
  233. package/tests/review.test.mjs +127 -0
  234. package/tests/server.test.mjs +252 -0
  235. package/tests/ship-jev.test.mjs +77 -0
  236. package/tests/ship-telemetry.test.mjs +333 -0
  237. package/tests/standard-workflow.test.mjs +28 -0
  238. package/tests/subscription-models.test.mjs +416 -0
  239. package/tests/subscriptions-extension.test.mjs +27 -0
  240. package/tests/terminal-title.test.mjs +13 -0
  241. package/tests/test_grade_minecraft_clone.py +199 -0
  242. package/tests/test_starter.py +78 -0
  243. package/tests/theme.test.mjs +175 -0
  244. package/tests/tui-copy-paste.test.mjs +54 -0
  245. package/tests/tui.test.mjs +808 -0
  246. package/tests/update-channels.test.mjs +129 -0
  247. package/tests/update.test.mjs +175 -0
  248. package/tests/webdriver.test.mjs +31 -0
  249. package/tests/workflow.test.mjs +47 -0
  250. package/tests/workspace-rpc.test.mjs +236 -0
  251. package/tests/workspace.test.mjs +24 -0
  252. package/tools/benchmark/advisor.test.mjs +7 -0
  253. package/tools/benchmark/advisor.ts +27 -0
  254. package/tools/benchmark/campaign.mjs +45 -0
  255. package/tools/benchmark/diagnose-request.mjs +40 -0
  256. package/tools/benchmark/eval-common.mjs +32 -0
  257. package/tools/benchmark/eval-ledger.mjs +22 -0
  258. package/tools/benchmark/eval-shop.mjs +26 -0
  259. package/tools/benchmark/eval-voxel.mjs +20 -0
  260. package/tools/benchmark/evaluate.mjs +24 -0
  261. package/tools/benchmark/evaluators.test.mjs +13 -0
  262. package/tools/benchmark/fixtures/shop/server.mjs +18 -0
  263. package/tools/benchmark/fixtures/shop/ui.html +8 -0
  264. package/tools/benchmark/freeze.mjs +30 -0
  265. package/tools/benchmark/gateway.mjs +91 -0
  266. package/tools/benchmark/gateway.test.mjs +38 -0
  267. package/tools/benchmark/generator.mjs +11 -0
  268. package/tools/benchmark/generator.test.mjs +26 -0
  269. package/tools/benchmark/guard.test.mjs +133 -0
  270. package/tools/benchmark/guard.ts +136 -0
  271. package/tools/benchmark/native-plugin/index.ts +24 -0
  272. package/tools/benchmark/planning-startup.test.mjs +47 -0
  273. package/tools/benchmark/preflight-live.mjs +31 -0
  274. package/tools/benchmark/preflight.mjs +22 -0
  275. package/tools/benchmark/replay-diagnostic.mjs +23 -0
  276. package/tools/benchmark/runner.mjs +141 -0
  277. package/tools/benchmark/runner.test.mjs +93 -0
  278. package/tools/benchmark/runtime.mjs +23 -0
  279. package/tools/benchmark/selftest.mjs +47 -0
  280. package/tools/benchmark/smoke-jev.mjs +5 -0
  281. package/tools/benchmark/tasks.mjs +20 -0
  282. package/tools/benchmark/transport.mjs +65 -0
  283. package/tools/benchmark/transport.test.mjs +44 -0
  284. package/tools/benchmark/upstream-error.mjs +18 -0
  285. package/tools/benchmark/upstream-error.test.mjs +10 -0
  286. package/tools/browser-check.mjs +109 -0
  287. package/tools/check-syntax.mjs +27 -0
  288. package/tools/evaluate-plan-advisor.mjs +20 -0
  289. package/tools/native-fixture.mjs +194 -0
  290. package/tools/native-pty-smoke.py +108 -0
  291. package/tools/native-report-plugin/index.ts +50 -0
  292. package/tools/native-report-plugin/package.json +7 -0
  293. package/tools/patch-compaction.mjs +24 -0
  294. package/tools/patch-model-catalog.mjs +12 -0
  295. package/tools/patch-print-shutdown.mjs +39 -0
  296. package/tools/repo-pilot/evaluator.cjs +32 -0
  297. package/tools/repo-pilot/reference.mjs +43 -0
  298. package/tools/repo-pilot/runner.mjs +85 -0
  299. package/tools/repo-pilot/sandbox-entry.mjs +12 -0
  300. package/tools/repo-pilot/tasks.mjs +20 -0
  301. package/tools/repo-pilot/type-evaluator.cjs +6 -0
  302. package/tools/test-native-controls.mjs +84 -0
  303. package/tools/test-native-delivery-host.mjs +307 -0
  304. package/tools/test-native-evaluation.mjs +46 -0
  305. package/tools/test-native-host.mjs +385 -0
  306. package/tools/test-native-outcomes.mjs +73 -0
  307. package/tools/test-native-package.mjs +70 -0
  308. package/tools/test-native-pty.mjs +20 -0
  309. package/tools/test-native-report.mjs +88 -0
  310. package/tools/test-native-swe-host.mjs +132 -0
  311. package/tools/test-native-swe.mjs +122 -0
  312. package/tools/test-picker-pty.py +45 -0
  313. package/tools/test-python.mjs +29 -0
  314. package/tools/test-webdriver.mjs +54 -0
  315. package/tools/verify-release-version.mjs +37 -0
  316. package/tools/webdriver-check.mjs +52 -0
  317. package/vendor/agent/bounded-summary.mjs +88 -0
  318. package/vendor/agent/chunks/anthropic-messages-VWZZOSJQ.js +6 -0
  319. package/vendor/agent/chunks/anthropic.js +75 -0
  320. package/vendor/agent/chunks/azure-openai-responses-BJLAM6CD.js +2 -0
  321. package/vendor/agent/chunks/bedrock-converse-stream.js +74 -0
  322. package/vendor/agent/chunks/chord-context.js +96 -0
  323. package/vendor/agent/chunks/chunk-4L3WN2XY.js +2 -0
  324. package/vendor/agent/chunks/chunk-6CYCI3EJ.js +12 -0
  325. package/vendor/agent/chunks/chunk-6R7UI4IY.js +2 -0
  326. package/vendor/agent/chunks/chunk-7ZC4UXSL.js +2 -0
  327. package/vendor/agent/chunks/chunk-AXIIZGTV.js +2 -0
  328. package/vendor/agent/chunks/chunk-CLNPYIDP.js +42 -0
  329. package/vendor/agent/chunks/chunk-DRQDKNXA.js +2 -0
  330. package/vendor/agent/chunks/chunk-GMWCTUPB.js +2 -0
  331. package/vendor/agent/chunks/chunk-IDDQWTHI.js +2 -0
  332. package/vendor/agent/chunks/chunk-JVUZSMYM.js +1548 -0
  333. package/vendor/agent/chunks/chunk-L2ZPNLYD.js +2 -0
  334. package/vendor/agent/chunks/chunk-NUHFSC37.js +25 -0
  335. package/vendor/agent/chunks/chunk-OUXLLA64.js +11 -0
  336. package/vendor/agent/chunks/chunk-PGXDEOVV.js +2 -0
  337. package/vendor/agent/chunks/chunk-PJACZCIR.js +2 -0
  338. package/vendor/agent/chunks/chunk-PRRNXB7S.js +2 -0
  339. package/vendor/agent/chunks/chunk-TEPMHNKQ.js +2 -0
  340. package/vendor/agent/chunks/chunk-TRDNDS6A.js +4 -0
  341. package/vendor/agent/chunks/chunk-U6ZMQKGD.js +50 -0
  342. package/vendor/agent/chunks/chunk-UAQELI3K.js +2 -0
  343. package/vendor/agent/chunks/chunk-USJZMAIR.js +2 -0
  344. package/vendor/agent/chunks/chunk-XDUWOHPL.js +6 -0
  345. package/vendor/agent/chunks/chunk-XNGRGP62.js +2 -0
  346. package/vendor/agent/chunks/github-copilot.js +2 -0
  347. package/vendor/agent/chunks/google-generative-ai-Q2K7FBDI.js +2 -0
  348. package/vendor/agent/chunks/google-vertex-7UJBF4S7.js +2 -0
  349. package/vendor/agent/chunks/https-proxy-agent-2VXB7436.js +13 -0
  350. package/vendor/agent/chunks/image-resize-worker.js +2 -0
  351. package/vendor/agent/chunks/kimi-coding.js +2 -0
  352. package/vendor/agent/chunks/lib-HGQMNYVT.js +9 -0
  353. package/vendor/agent/chunks/mistral-conversations-4M6BZBX6.js +5 -0
  354. package/vendor/agent/chunks/multipart-parser-SQ6GDJL7.js +3 -0
  355. package/vendor/agent/chunks/node-KG362ECQ.js +16 -0
  356. package/vendor/agent/chunks/node-TWVVAGPO.js +2 -0
  357. package/vendor/agent/chunks/openai-codex-responses-R6VYZTVY.js +10 -0
  358. package/vendor/agent/chunks/openai-codex.js +75 -0
  359. package/vendor/agent/chunks/openai-completions-EKZT2IH2.js +7 -0
  360. package/vendor/agent/chunks/openai-responses-TFDINO6W.js +2 -0
  361. package/vendor/agent/chunks/openrouter-images-N4XVVFSD.js +2 -0
  362. package/vendor/agent/chunks/openrouter.js +75 -0
  363. package/vendor/agent/chunks/pi-messages-PML4SPVJ.js +8 -0
  364. package/vendor/agent/chunks/radius.js +75 -0
  365. package/vendor/agent/chunks/src-UK77SYZE.js +4 -0
  366. package/vendor/agent/chunks/xai.js +2 -0
  367. package/vendor/agent/cli.js +3 -0
  368. package/vendor/agent/dist/modes/interactive/theme/dark.json +91 -0
  369. package/vendor/agent/dist/modes/interactive/theme/light.json +90 -0
  370. package/vendor/agent/dist/modes/interactive/theme/theme-schema.json +356 -0
  371. package/vendor/agent/index.js +2 -0
  372. package/vendor/agent/modes/interactive/theme/dark.json +91 -0
  373. package/vendor/agent/modes/interactive/theme/light.json +90 -0
  374. package/vendor/agent/modes/interactive/theme/theme-schema.json +356 -0
  375. package/vendor/agent/package.json +14 -0
  376. package/vendor/agent/rpc-entry.js +3 -0
  377. package/vendor/agent/theme/dark.json +91 -0
  378. package/vendor/agent/theme/light.json +90 -0
  379. package/vendor/agent/theme/theme-schema.json +356 -0
@@ -0,0 +1,356 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Pi Coding Agent Theme",
4
+ "description": "Theme schema for Pi coding agent",
5
+ "type": "object",
6
+ "required": ["name", "colors"],
7
+ "properties": {
8
+ "$schema": {
9
+ "type": "string",
10
+ "description": "JSON schema reference"
11
+ },
12
+ "name": {
13
+ "type": "string",
14
+ "pattern": "^[^/]+$",
15
+ "description": "Theme name. Must not contain '/' because it is reserved for automatic light/dark theme settings."
16
+ },
17
+ "vars": {
18
+ "type": "object",
19
+ "description": "Reusable color variables",
20
+ "additionalProperties": {
21
+ "oneOf": [
22
+ {
23
+ "type": "string",
24
+ "description": "Hex color (#RRGGBB), variable reference, or empty string for terminal default"
25
+ },
26
+ {
27
+ "type": "integer",
28
+ "minimum": 0,
29
+ "maximum": 255,
30
+ "description": "256-color palette index (0-255)"
31
+ }
32
+ ]
33
+ }
34
+ },
35
+ "colors": {
36
+ "type": "object",
37
+ "description": "Theme color definitions (scrollbar, thinkingMax, and search highlight colors are optional and use compatible fallbacks)",
38
+ "required": [
39
+ "accent",
40
+ "border",
41
+ "borderAccent",
42
+ "borderMuted",
43
+ "success",
44
+ "error",
45
+ "warning",
46
+ "muted",
47
+ "dim",
48
+ "text",
49
+ "thinkingText",
50
+ "selectedBg",
51
+ "userMessageBg",
52
+ "userMessageText",
53
+ "customMessageBg",
54
+ "customMessageText",
55
+ "customMessageLabel",
56
+ "toolPendingBg",
57
+ "toolSuccessBg",
58
+ "toolErrorBg",
59
+ "toolTitle",
60
+ "toolOutput",
61
+ "mdHeading",
62
+ "mdLink",
63
+ "mdLinkUrl",
64
+ "mdCode",
65
+ "mdCodeBlock",
66
+ "mdCodeBlockBorder",
67
+ "mdQuote",
68
+ "mdQuoteBorder",
69
+ "mdHr",
70
+ "mdListBullet",
71
+ "toolDiffAdded",
72
+ "toolDiffRemoved",
73
+ "toolDiffContext",
74
+ "syntaxComment",
75
+ "syntaxKeyword",
76
+ "syntaxFunction",
77
+ "syntaxVariable",
78
+ "syntaxString",
79
+ "syntaxNumber",
80
+ "syntaxType",
81
+ "syntaxOperator",
82
+ "syntaxPunctuation",
83
+ "thinkingOff",
84
+ "thinkingMinimal",
85
+ "thinkingLow",
86
+ "thinkingMedium",
87
+ "thinkingHigh",
88
+ "thinkingXhigh",
89
+ "bashMode"
90
+ ],
91
+ "properties": {
92
+ "accent": {
93
+ "$ref": "#/$defs/colorValue",
94
+ "description": "Primary accent color (logo, selected items, cursor)"
95
+ },
96
+ "border": {
97
+ "$ref": "#/$defs/colorValue",
98
+ "description": "Normal borders"
99
+ },
100
+ "borderAccent": {
101
+ "$ref": "#/$defs/colorValue",
102
+ "description": "Highlighted borders"
103
+ },
104
+ "borderMuted": {
105
+ "$ref": "#/$defs/colorValue",
106
+ "description": "Subtle borders"
107
+ },
108
+ "success": {
109
+ "$ref": "#/$defs/colorValue",
110
+ "description": "Success states"
111
+ },
112
+ "error": {
113
+ "$ref": "#/$defs/colorValue",
114
+ "description": "Error states"
115
+ },
116
+ "warning": {
117
+ "$ref": "#/$defs/colorValue",
118
+ "description": "Warning states"
119
+ },
120
+ "muted": {
121
+ "$ref": "#/$defs/colorValue",
122
+ "description": "Secondary/dimmed text"
123
+ },
124
+ "dim": {
125
+ "$ref": "#/$defs/colorValue",
126
+ "description": "Very dimmed text (more subtle than muted)"
127
+ },
128
+ "text": {
129
+ "$ref": "#/$defs/colorValue",
130
+ "description": "Default text color (usually empty string)"
131
+ },
132
+ "thinkingText": {
133
+ "$ref": "#/$defs/colorValue",
134
+ "description": "Thinking block text color"
135
+ },
136
+ "selectedBg": {
137
+ "$ref": "#/$defs/colorValue",
138
+ "description": "Selected item background"
139
+ },
140
+ "scrollbarTrack": {
141
+ "$ref": "#/$defs/colorValue",
142
+ "description": "Fullscreen scrollbar track foreground (falls back to muted when omitted)"
143
+ },
144
+ "scrollbarThumb": {
145
+ "$ref": "#/$defs/colorValue",
146
+ "description": "Fullscreen scrollbar thumb foreground (falls back to text when omitted)"
147
+ },
148
+ "searchMatchBg": {
149
+ "$ref": "#/$defs/colorValue",
150
+ "description": "Transcript search match background and current-match text (falls back to selectedBg when omitted)"
151
+ },
152
+ "searchMatchText": {
153
+ "$ref": "#/$defs/colorValue",
154
+ "description": "Transcript search match text and current-match background (falls back to text when omitted)"
155
+ },
156
+ "userMessageBg": {
157
+ "$ref": "#/$defs/colorValue",
158
+ "description": "User message background"
159
+ },
160
+ "userMessageText": {
161
+ "$ref": "#/$defs/colorValue",
162
+ "description": "User message text color"
163
+ },
164
+ "customMessageBg": {
165
+ "$ref": "#/$defs/colorValue",
166
+ "description": "Custom message background (hook-injected messages)"
167
+ },
168
+ "customMessageText": {
169
+ "$ref": "#/$defs/colorValue",
170
+ "description": "Custom message text color"
171
+ },
172
+ "customMessageLabel": {
173
+ "$ref": "#/$defs/colorValue",
174
+ "description": "Custom message type label color"
175
+ },
176
+ "toolPendingBg": {
177
+ "$ref": "#/$defs/colorValue",
178
+ "description": "Tool execution box (pending state)"
179
+ },
180
+ "toolSuccessBg": {
181
+ "$ref": "#/$defs/colorValue",
182
+ "description": "Tool execution box (success state)"
183
+ },
184
+ "toolErrorBg": {
185
+ "$ref": "#/$defs/colorValue",
186
+ "description": "Tool execution box (error state)"
187
+ },
188
+ "toolTitle": {
189
+ "$ref": "#/$defs/colorValue",
190
+ "description": "Tool execution box title color"
191
+ },
192
+ "toolOutput": {
193
+ "$ref": "#/$defs/colorValue",
194
+ "description": "Tool execution box output text color"
195
+ },
196
+ "mdHeading": {
197
+ "$ref": "#/$defs/colorValue",
198
+ "description": "Markdown heading text"
199
+ },
200
+ "mdLink": {
201
+ "$ref": "#/$defs/colorValue",
202
+ "description": "Markdown link text"
203
+ },
204
+ "mdLinkUrl": {
205
+ "$ref": "#/$defs/colorValue",
206
+ "description": "Markdown link URL"
207
+ },
208
+ "mdCode": {
209
+ "$ref": "#/$defs/colorValue",
210
+ "description": "Markdown inline code"
211
+ },
212
+ "mdCodeBlock": {
213
+ "$ref": "#/$defs/colorValue",
214
+ "description": "Markdown code block content"
215
+ },
216
+ "mdCodeBlockBorder": {
217
+ "$ref": "#/$defs/colorValue",
218
+ "description": "Markdown code block fences"
219
+ },
220
+ "mdQuote": {
221
+ "$ref": "#/$defs/colorValue",
222
+ "description": "Markdown blockquote text"
223
+ },
224
+ "mdQuoteBorder": {
225
+ "$ref": "#/$defs/colorValue",
226
+ "description": "Markdown blockquote border"
227
+ },
228
+ "mdHr": {
229
+ "$ref": "#/$defs/colorValue",
230
+ "description": "Markdown horizontal rule"
231
+ },
232
+ "mdListBullet": {
233
+ "$ref": "#/$defs/colorValue",
234
+ "description": "Markdown list bullets/numbers"
235
+ },
236
+ "toolDiffAdded": {
237
+ "$ref": "#/$defs/colorValue",
238
+ "description": "Added lines in tool diffs"
239
+ },
240
+ "toolDiffRemoved": {
241
+ "$ref": "#/$defs/colorValue",
242
+ "description": "Removed lines in tool diffs"
243
+ },
244
+ "toolDiffContext": {
245
+ "$ref": "#/$defs/colorValue",
246
+ "description": "Context lines in tool diffs"
247
+ },
248
+ "syntaxComment": {
249
+ "$ref": "#/$defs/colorValue",
250
+ "description": "Syntax highlighting: comments"
251
+ },
252
+ "syntaxKeyword": {
253
+ "$ref": "#/$defs/colorValue",
254
+ "description": "Syntax highlighting: keywords"
255
+ },
256
+ "syntaxFunction": {
257
+ "$ref": "#/$defs/colorValue",
258
+ "description": "Syntax highlighting: function names"
259
+ },
260
+ "syntaxVariable": {
261
+ "$ref": "#/$defs/colorValue",
262
+ "description": "Syntax highlighting: variable names"
263
+ },
264
+ "syntaxString": {
265
+ "$ref": "#/$defs/colorValue",
266
+ "description": "Syntax highlighting: string literals"
267
+ },
268
+ "syntaxNumber": {
269
+ "$ref": "#/$defs/colorValue",
270
+ "description": "Syntax highlighting: number literals"
271
+ },
272
+ "syntaxType": {
273
+ "$ref": "#/$defs/colorValue",
274
+ "description": "Syntax highlighting: type names"
275
+ },
276
+ "syntaxOperator": {
277
+ "$ref": "#/$defs/colorValue",
278
+ "description": "Syntax highlighting: operators"
279
+ },
280
+ "syntaxPunctuation": {
281
+ "$ref": "#/$defs/colorValue",
282
+ "description": "Syntax highlighting: punctuation"
283
+ },
284
+ "thinkingOff": {
285
+ "$ref": "#/$defs/colorValue",
286
+ "description": "Thinking level border: off"
287
+ },
288
+ "thinkingMinimal": {
289
+ "$ref": "#/$defs/colorValue",
290
+ "description": "Thinking level border: minimal"
291
+ },
292
+ "thinkingLow": {
293
+ "$ref": "#/$defs/colorValue",
294
+ "description": "Thinking level border: low"
295
+ },
296
+ "thinkingMedium": {
297
+ "$ref": "#/$defs/colorValue",
298
+ "description": "Thinking level border: medium"
299
+ },
300
+ "thinkingHigh": {
301
+ "$ref": "#/$defs/colorValue",
302
+ "description": "Thinking level border: high"
303
+ },
304
+ "thinkingXhigh": {
305
+ "$ref": "#/$defs/colorValue",
306
+ "description": "Thinking level border: xhigh"
307
+ },
308
+ "thinkingMax": {
309
+ "$ref": "#/$defs/colorValue",
310
+ "description": "Thinking level border: max (falls back to thinkingXhigh when omitted)"
311
+ },
312
+ "bashMode": {
313
+ "$ref": "#/$defs/colorValue",
314
+ "description": "Editor border color in bash mode"
315
+ }
316
+ },
317
+ "additionalProperties": false
318
+ },
319
+ "export": {
320
+ "type": "object",
321
+ "description": "Optional colors for HTML export (defaults derived from userMessageBg if not specified)",
322
+ "properties": {
323
+ "pageBg": {
324
+ "$ref": "#/$defs/colorValue",
325
+ "description": "Page background color"
326
+ },
327
+ "cardBg": {
328
+ "$ref": "#/$defs/colorValue",
329
+ "description": "Card/container background color"
330
+ },
331
+ "infoBg": {
332
+ "$ref": "#/$defs/colorValue",
333
+ "description": "Info sections background (system prompt, notices)"
334
+ }
335
+ },
336
+ "additionalProperties": false
337
+ }
338
+ },
339
+ "additionalProperties": false,
340
+ "$defs": {
341
+ "colorValue": {
342
+ "oneOf": [
343
+ {
344
+ "type": "string",
345
+ "description": "Hex color (#RRGGBB), variable reference, or empty string for terminal default"
346
+ },
347
+ {
348
+ "type": "integer",
349
+ "minimum": 0,
350
+ "maximum": 255,
351
+ "description": "256-color palette index (0-255)"
352
+ }
353
+ ]
354
+ }
355
+ }
356
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "carthagent-engine",
3
+ "version": "0.2.0",
4
+ "description": "Baked-in agent engine for Carthagent",
5
+ "type": "module",
6
+ "piConfig": {
7
+ "name": "carthagent",
8
+ "configDir": ".carthagent"
9
+ },
10
+ "main": "./index.js",
11
+ "bin": {
12
+ "carthagent-engine": "./cli.js"
13
+ }
14
+ }
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
3
+ import{APP_NAME,configureHttpDispatcher,main}from"./chunks/chunk-JVUZSMYM.js";import"./chunks/chunk-XDUWOHPL.js";import"./chunks/chunk-USJZMAIR.js";import"./chunks/chunk-DRQDKNXA.js";import"./chunks/chunk-TRDNDS6A.js";import"./chunks/chunk-IDDQWTHI.js";import"./chunks/chunk-UAQELI3K.js";import"./chunks/chunk-4L3WN2XY.js";process.title=`${APP_NAME}-rpc`;process.env.PI_CODING_AGENT="true";process.env.AI_AGENT="pi";process.emitWarning=(()=>{});configureHttpDispatcher();main(["--mode","rpc",...process.argv.slice(2)]);
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
3
+ "name": "dark",
4
+ "vars": {
5
+ "cyan": "#00d7ff",
6
+ "blue": "#5f87ff",
7
+ "green": "#b5bd68",
8
+ "red": "#cc6666",
9
+ "yellow": "#ffff00",
10
+ "text": "#d4d4d4",
11
+ "gray": "#808080",
12
+ "dimGray": "#666666",
13
+ "darkGray": "#505050",
14
+ "accent": "#8abeb7",
15
+ "selectedBg": "#3a3a4a",
16
+ "userMsgBg": "#343541",
17
+ "toolPendingBg": "#282832",
18
+ "toolSuccessBg": "#283228",
19
+ "toolErrorBg": "#3c2828",
20
+ "customMsgBg": "#2d2838"
21
+ },
22
+ "colors": {
23
+ "accent": "accent",
24
+ "border": "blue",
25
+ "borderAccent": "cyan",
26
+ "borderMuted": "darkGray",
27
+ "success": "green",
28
+ "error": "red",
29
+ "warning": "yellow",
30
+ "muted": "gray",
31
+ "dim": "dimGray",
32
+ "text": "text",
33
+ "thinkingText": "gray",
34
+
35
+ "selectedBg": "selectedBg",
36
+ "scrollbarTrack": "darkGray",
37
+ "scrollbarThumb": "text",
38
+ "searchMatchBg": "selectedBg",
39
+ "searchMatchText": "text",
40
+ "userMessageBg": "userMsgBg",
41
+ "userMessageText": "text",
42
+ "customMessageBg": "customMsgBg",
43
+ "customMessageText": "text",
44
+ "customMessageLabel": "#9575cd",
45
+ "toolPendingBg": "toolPendingBg",
46
+ "toolSuccessBg": "toolSuccessBg",
47
+ "toolErrorBg": "toolErrorBg",
48
+ "toolTitle": "text",
49
+ "toolOutput": "gray",
50
+
51
+ "mdHeading": "#f0c674",
52
+ "mdLink": "#81a2be",
53
+ "mdLinkUrl": "dimGray",
54
+ "mdCode": "accent",
55
+ "mdCodeBlock": "green",
56
+ "mdCodeBlockBorder": "gray",
57
+ "mdQuote": "gray",
58
+ "mdQuoteBorder": "gray",
59
+ "mdHr": "gray",
60
+ "mdListBullet": "accent",
61
+
62
+ "toolDiffAdded": "green",
63
+ "toolDiffRemoved": "red",
64
+ "toolDiffContext": "gray",
65
+
66
+ "syntaxComment": "#6A9955",
67
+ "syntaxKeyword": "#569CD6",
68
+ "syntaxFunction": "#DCDCAA",
69
+ "syntaxVariable": "#9CDCFE",
70
+ "syntaxString": "#CE9178",
71
+ "syntaxNumber": "#B5CEA8",
72
+ "syntaxType": "#4EC9B0",
73
+ "syntaxOperator": "#D4D4D4",
74
+ "syntaxPunctuation": "#D4D4D4",
75
+
76
+ "thinkingOff": "darkGray",
77
+ "thinkingMinimal": "#6e6e6e",
78
+ "thinkingLow": "#5f87af",
79
+ "thinkingMedium": "#81a2be",
80
+ "thinkingHigh": "#b294bb",
81
+ "thinkingXhigh": "#d183e8",
82
+ "thinkingMax": "#ff5fff",
83
+
84
+ "bashMode": "green"
85
+ },
86
+ "export": {
87
+ "pageBg": "#18181e",
88
+ "cardBg": "#1e1e24",
89
+ "infoBg": "#3c3728"
90
+ }
91
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
3
+ "name": "light",
4
+ "vars": {
5
+ "teal": "#5a8080",
6
+ "blue": "#547da7",
7
+ "green": "#588458",
8
+ "red": "#aa5555",
9
+ "yellow": "#9a7326",
10
+ "text": "#1f2328",
11
+ "mediumGray": "#6c6c6c",
12
+ "dimGray": "#767676",
13
+ "lightGray": "#b0b0b0",
14
+ "selectedBg": "#d0d0e0",
15
+ "userMsgBg": "#e8e8e8",
16
+ "toolPendingBg": "#e8e8f0",
17
+ "toolSuccessBg": "#e8f0e8",
18
+ "toolErrorBg": "#f0e8e8",
19
+ "customMsgBg": "#ede7f6"
20
+ },
21
+ "colors": {
22
+ "accent": "teal",
23
+ "border": "blue",
24
+ "borderAccent": "teal",
25
+ "borderMuted": "lightGray",
26
+ "success": "green",
27
+ "error": "red",
28
+ "warning": "yellow",
29
+ "muted": "mediumGray",
30
+ "dim": "dimGray",
31
+ "text": "text",
32
+ "thinkingText": "mediumGray",
33
+
34
+ "selectedBg": "selectedBg",
35
+ "scrollbarTrack": "lightGray",
36
+ "scrollbarThumb": "text",
37
+ "searchMatchBg": "selectedBg",
38
+ "searchMatchText": "text",
39
+ "userMessageBg": "userMsgBg",
40
+ "userMessageText": "text",
41
+ "customMessageBg": "customMsgBg",
42
+ "customMessageText": "text",
43
+ "customMessageLabel": "#7e57c2",
44
+ "toolPendingBg": "toolPendingBg",
45
+ "toolSuccessBg": "toolSuccessBg",
46
+ "toolErrorBg": "toolErrorBg",
47
+ "toolTitle": "text",
48
+ "toolOutput": "mediumGray",
49
+
50
+ "mdHeading": "yellow",
51
+ "mdLink": "blue",
52
+ "mdLinkUrl": "dimGray",
53
+ "mdCode": "teal",
54
+ "mdCodeBlock": "green",
55
+ "mdCodeBlockBorder": "mediumGray",
56
+ "mdQuote": "mediumGray",
57
+ "mdQuoteBorder": "mediumGray",
58
+ "mdHr": "mediumGray",
59
+ "mdListBullet": "green",
60
+
61
+ "toolDiffAdded": "green",
62
+ "toolDiffRemoved": "red",
63
+ "toolDiffContext": "mediumGray",
64
+
65
+ "syntaxComment": "#008000",
66
+ "syntaxKeyword": "#0000FF",
67
+ "syntaxFunction": "#795E26",
68
+ "syntaxVariable": "#001080",
69
+ "syntaxString": "#A31515",
70
+ "syntaxNumber": "#098658",
71
+ "syntaxType": "#267F99",
72
+ "syntaxOperator": "#000000",
73
+ "syntaxPunctuation": "#000000",
74
+
75
+ "thinkingOff": "lightGray",
76
+ "thinkingMinimal": "#767676",
77
+ "thinkingLow": "blue",
78
+ "thinkingMedium": "teal",
79
+ "thinkingHigh": "#875f87",
80
+ "thinkingXhigh": "#8b008b",
81
+ "thinkingMax": "#af005f",
82
+
83
+ "bashMode": "green"
84
+ },
85
+ "export": {
86
+ "pageBg": "#f8f8f8",
87
+ "cardBg": "#ffffff",
88
+ "infoBg": "#fffae6"
89
+ }
90
+ }