@korallis/k-pi 0.1.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.
Files changed (348) hide show
  1. package/CHANGELOG.md +5619 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE +66 -0
  4. package/README.md +723 -0
  5. package/dist/bundle/chunks/anthropic-messages-IBCPCIJO.js +45 -0
  6. package/dist/bundle/chunks/anthropic.js +75 -0
  7. package/dist/bundle/chunks/azure-openai-responses-GUUG57CZ.js +2 -0
  8. package/dist/bundle/chunks/bedrock-converse-stream.js +74 -0
  9. package/dist/bundle/chunks/chunk-4L3WN2XY.js +2 -0
  10. package/dist/bundle/chunks/chunk-6CYCI3EJ.js +12 -0
  11. package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
  12. package/dist/bundle/chunks/chunk-AXIIZGTV.js +2 -0
  13. package/dist/bundle/chunks/chunk-CO7LIZG5.js +2 -0
  14. package/dist/bundle/chunks/chunk-DRQDKNXA.js +2 -0
  15. package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
  16. package/dist/bundle/chunks/chunk-HOFU6X66.js +50 -0
  17. package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
  18. package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
  19. package/dist/bundle/chunks/chunk-MNAIPA3J.js +2 -0
  20. package/dist/bundle/chunks/chunk-NBBFIJUL.js +11 -0
  21. package/dist/bundle/chunks/chunk-NUHFSC37.js +25 -0
  22. package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
  23. package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
  24. package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
  25. package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
  26. package/dist/bundle/chunks/chunk-TRDNDS6A.js +4 -0
  27. package/dist/bundle/chunks/chunk-UAQELI3K.js +2 -0
  28. package/dist/bundle/chunks/chunk-X5QHCKY4.js +1653 -0
  29. package/dist/bundle/chunks/chunk-XDUWOHPL.js +6 -0
  30. package/dist/bundle/chunks/github-copilot.js +2 -0
  31. package/dist/bundle/chunks/google-generative-ai-YRXF7C4I.js +2 -0
  32. package/dist/bundle/chunks/google-vertex-BVZ6VBRQ.js +2 -0
  33. package/dist/bundle/chunks/https-proxy-agent-2VXB7436.js +13 -0
  34. package/dist/bundle/chunks/image-resize-worker.js +2 -0
  35. package/dist/bundle/chunks/kimi-coding.js +2 -0
  36. package/dist/bundle/chunks/lib-HGQMNYVT.js +9 -0
  37. package/dist/bundle/chunks/mistral-conversations-Q3AWZJAZ.js +5 -0
  38. package/dist/bundle/chunks/multipart-parser-SQ6GDJL7.js +3 -0
  39. package/dist/bundle/chunks/openai-codex-responses-GJVBJXLB.js +8 -0
  40. package/dist/bundle/chunks/openai-codex.js +75 -0
  41. package/dist/bundle/chunks/openai-completions-OICQQ5JB.js +7 -0
  42. package/dist/bundle/chunks/openai-responses-P5LIZTXX.js +2 -0
  43. package/dist/bundle/chunks/openrouter-images-XTKS2AS3.js +2 -0
  44. package/dist/bundle/chunks/openrouter.js +75 -0
  45. package/dist/bundle/chunks/pi-messages-TPFH44NP.js +8 -0
  46. package/dist/bundle/chunks/radius.js +75 -0
  47. package/dist/bundle/chunks/src-UK77SYZE.js +4 -0
  48. package/dist/bundle/chunks/xai.js +2 -0
  49. package/dist/bundle/cli.js +3 -0
  50. package/dist/bundle/client.js +2 -0
  51. package/dist/bundle/index.js +2 -0
  52. package/dist/bundle/rpc-entry.js +3 -0
  53. package/dist/core/export-html/template.css +1066 -0
  54. package/dist/core/export-html/template.html +55 -0
  55. package/dist/core/export-html/template.js +1864 -0
  56. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  57. package/dist/core/export-html/vendor/marked.min.js +78 -0
  58. package/dist/kpi/graphs/coding-loop.auto.json +377 -0
  59. package/dist/kpi/graphs/coding-loop.gated.json +417 -0
  60. package/dist/kpi/graphs/spec-first.json +40 -0
  61. package/dist/kpi/kstack/NOTICE +5 -0
  62. package/dist/kpi/kstack/UPSTREAM.md +23 -0
  63. package/dist/kpi/kstack/generated/LICENSE +21 -0
  64. package/dist/kpi/kstack/generated/skills/architect/SKILL.md +83 -0
  65. package/dist/kpi/kstack/generated/skills/architect/references/design-red-flags.md +33 -0
  66. package/dist/kpi/kstack/generated/skills/architect/references/rationale-template.md +35 -0
  67. package/dist/kpi/kstack/generated/skills/architect/references/runner-prompt.md +20 -0
  68. package/dist/kpi/kstack/generated/skills/arena/SKILL.md +29 -0
  69. package/dist/kpi/kstack/generated/skills/blast-radius/SKILL.md +50 -0
  70. package/dist/kpi/kstack/generated/skills/bro/SKILL.md +7 -0
  71. package/dist/kpi/kstack/generated/skills/create-verification-skill/SKILL.md +44 -0
  72. package/dist/kpi/kstack/generated/skills/create-verification-skill/references/feature-map-example/README.md +47 -0
  73. package/dist/kpi/kstack/generated/skills/create-verification-skill/references/feature-map-example/create-note.md +39 -0
  74. package/dist/kpi/kstack/generated/skills/create-verification-skill/references/feature-map-example/search.md +45 -0
  75. package/dist/kpi/kstack/generated/skills/figure-it-out/SKILL.md +55 -0
  76. package/dist/kpi/kstack/generated/skills/how/SKILL.md +135 -0
  77. package/dist/kpi/kstack/generated/skills/how/references/critic-prompt.md +59 -0
  78. package/dist/kpi/kstack/generated/skills/how/references/critique-rubric.md +58 -0
  79. package/dist/kpi/kstack/generated/skills/how/references/explainer-prompt.md +55 -0
  80. package/dist/kpi/kstack/generated/skills/how/references/explorer-prompt.md +52 -0
  81. package/dist/kpi/kstack/generated/skills/interrogate/SKILL.md +113 -0
  82. package/dist/kpi/kstack/generated/skills/interrogate/references/code-quality-review.md +47 -0
  83. package/dist/kpi/kstack/generated/skills/interrogate/references/lead-judgment.md +58 -0
  84. package/dist/kpi/kstack/generated/skills/interrogate/references/reviewer-prompt.md +72 -0
  85. package/dist/kpi/kstack/generated/skills/interrogate/references/rubric.md +77 -0
  86. package/dist/kpi/kstack/generated/skills/k-agent/SKILL.md +17 -0
  87. package/dist/kpi/kstack/generated/skills/k-mode/SKILL.md +64 -0
  88. package/dist/kpi/kstack/generated/skills/k-stack-principles/SKILL.md +24 -0
  89. package/dist/kpi/kstack/generated/skills/maintain-verification-skill/SKILL.md +39 -0
  90. package/dist/kpi/kstack/generated/skills/no-comments/SKILL.md +24 -0
  91. package/dist/kpi/kstack/generated/skills/playbook-arena/SKILL.md +20 -0
  92. package/dist/kpi/kstack/generated/skills/playbook-autonomous-run/SKILL.md +22 -0
  93. package/dist/kpi/kstack/generated/skills/playbook-autopilot-full/SKILL.md +20 -0
  94. package/dist/kpi/kstack/generated/skills/playbook-autopilot-stack/SKILL.md +20 -0
  95. package/dist/kpi/kstack/generated/skills/playbook-bug-fix/SKILL.md +21 -0
  96. package/dist/kpi/kstack/generated/skills/playbook-feature/SKILL.md +22 -0
  97. package/dist/kpi/kstack/generated/skills/playbook-investigation/SKILL.md +21 -0
  98. package/dist/kpi/kstack/generated/skills/playbook-shipping/SKILL.md +18 -0
  99. package/dist/kpi/kstack/generated/skills/playbook-swarm/SKILL.md +20 -0
  100. package/dist/kpi/kstack/generated/skills/principle-boundary-discipline/SKILL.md +34 -0
  101. package/dist/kpi/kstack/generated/skills/principle-build-the-lever/SKILL.md +23 -0
  102. package/dist/kpi/kstack/generated/skills/principle-encode-lessons-in-structure/SKILL.md +31 -0
  103. package/dist/kpi/kstack/generated/skills/principle-exhaust-the-design-space/SKILL.md +21 -0
  104. package/dist/kpi/kstack/generated/skills/principle-experience-first/SKILL.md +19 -0
  105. package/dist/kpi/kstack/generated/skills/principle-fix-root-causes/SKILL.md +23 -0
  106. package/dist/kpi/kstack/generated/skills/principle-foundational-thinking/SKILL.md +21 -0
  107. package/dist/kpi/kstack/generated/skills/principle-guard-the-context-window/SKILL.md +17 -0
  108. package/dist/kpi/kstack/generated/skills/principle-laziness-protocol/SKILL.md +18 -0
  109. package/dist/kpi/kstack/generated/skills/principle-make-operations-idempotent/SKILL.md +24 -0
  110. package/dist/kpi/kstack/generated/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +22 -0
  111. package/dist/kpi/kstack/generated/skills/principle-minimize-reader-load/SKILL.md +23 -0
  112. package/dist/kpi/kstack/generated/skills/principle-model-the-domain/SKILL.md +26 -0
  113. package/dist/kpi/kstack/generated/skills/principle-never-block-on-the-human/SKILL.md +23 -0
  114. package/dist/kpi/kstack/generated/skills/principle-outcome-oriented-execution/SKILL.md +22 -0
  115. package/dist/kpi/kstack/generated/skills/principle-prove-it-works/SKILL.md +33 -0
  116. package/dist/kpi/kstack/generated/skills/principle-redesign-from-first-principles/SKILL.md +16 -0
  117. package/dist/kpi/kstack/generated/skills/principle-separate-before-serializing-shared-state/SKILL.md +16 -0
  118. package/dist/kpi/kstack/generated/skills/principle-sequence-verifiable-units/SKILL.md +22 -0
  119. package/dist/kpi/kstack/generated/skills/principle-subtract-before-you-add/SKILL.md +22 -0
  120. package/dist/kpi/kstack/generated/skills/principle-type-system-discipline/SKILL.md +31 -0
  121. package/dist/kpi/kstack/generated/skills/recall/SKILL.md +35 -0
  122. package/dist/kpi/kstack/generated/skills/reflect/SKILL.md +77 -0
  123. package/dist/kpi/kstack/generated/skills/reflect/references/divergent-reviewer.md +43 -0
  124. package/dist/kpi/kstack/generated/skills/reflect/references/judgment-reviewer.md +42 -0
  125. package/dist/kpi/kstack/generated/skills/reflect/references/synthesizer.md +56 -0
  126. package/dist/kpi/kstack/generated/skills/reflect/references/tooling-reviewer.md +57 -0
  127. package/dist/kpi/kstack/generated/skills/setup-kstack/SKILL.md +48 -0
  128. package/dist/kpi/kstack/generated/skills/show-me-your-work/SKILL.md +82 -0
  129. package/dist/kpi/kstack/generated/skills/show-me-your-work/references/decision-log-template.tsv +1 -0
  130. package/dist/kpi/kstack/generated/skills/show-me-your-work/scripts/log.sh +40 -0
  131. package/dist/kpi/kstack/generated/skills/swarm/SKILL.md +27 -0
  132. package/dist/kpi/kstack/generated/skills/tdd/SKILL.md +44 -0
  133. package/dist/kpi/kstack/generated/skills/teach/SKILL.md +21 -0
  134. package/dist/kpi/kstack/generated/skills/technical-writing/SKILL.md +130 -0
  135. package/dist/kpi/kstack/generated/skills/typescript-best-practices/SKILL.md +30 -0
  136. package/dist/kpi/kstack/generated/skills/typescript-best-practices/references/patterns.md +313 -0
  137. package/dist/kpi/kstack/generated/skills/unslop/SKILL.md +81 -0
  138. package/dist/kpi/kstack/generated/skills/why/SKILL.md +230 -0
  139. package/dist/kpi/kstack/generated/skills/why/references/epistemics.md +144 -0
  140. package/dist/kpi/kstack/generated/skills/why/references/investigator-prompt.md +103 -0
  141. package/dist/kpi/kstack/generated/skills/why/references/source-playbook.md +17 -0
  142. package/dist/kpi/kstack/generated/skills/why/references/sources/code-archaeology.md +88 -0
  143. package/dist/kpi/kstack/generated/skills/why/references/sources/databricks.md +70 -0
  144. package/dist/kpi/kstack/generated/skills/why/references/sources/datadog.md +99 -0
  145. package/dist/kpi/kstack/generated/skills/why/references/sources/incident-postmortem.md +15 -0
  146. package/dist/kpi/kstack/generated/skills/why/references/sources/linear.md +48 -0
  147. package/dist/kpi/kstack/generated/skills/why/references/sources/notion.md +55 -0
  148. package/dist/kpi/kstack/generated/skills/why/references/sources/sentry.md +100 -0
  149. package/dist/kpi/kstack/generated/skills/why/references/sources/slack.md +54 -0
  150. package/dist/kpi/kstack/generated/skills/why/references/synthesizer-prompt.md +135 -0
  151. package/dist/kpi/kstack/model-ladder.md +50 -0
  152. package/dist/kpi/kstack/provenance.json +17 -0
  153. package/dist/kpi/prompts/implement.md +6 -0
  154. package/dist/kpi/prompts/plan.md +6 -0
  155. package/dist/kpi/prompts/review.md +6 -0
  156. package/dist/kpi/prompts/ship.md +6 -0
  157. package/dist/kpi/prompts/specify.md +6 -0
  158. package/dist/kpi/prompts/verify.md +6 -0
  159. package/dist/kpi/schemas/event.schema.json +1314 -0
  160. package/dist/kpi/schemas/evidence.schema.json +43 -0
  161. package/dist/kpi/schemas/stack.schema.json +102 -0
  162. package/dist/kpi/schemas/task.schema.json +165 -0
  163. package/dist/kpi/schemas/verdict.schema.json +44 -0
  164. package/dist/kpi/skills/concise-output/SKILL.md +10 -0
  165. package/dist/kpi/skills/context-pack/SKILL.md +10 -0
  166. package/dist/kpi/skills/conventional-commit/SKILL.md +12 -0
  167. package/dist/kpi/skills/isolated-review/SKILL.md +10 -0
  168. package/dist/kpi/skills/kg-claim/SKILL.md +26 -0
  169. package/dist/kpi/skills/minimalist/SKILL.md +24 -0
  170. package/dist/kpi/skills/quality-gates/SKILL.md +10 -0
  171. package/dist/kpi/skills/spec-first/SKILL.md +10 -0
  172. package/dist/kpi/skills/tdd-cycle/SKILL.md +10 -0
  173. package/dist/kpi/templates/AGENTS.md +31 -0
  174. package/dist/kpi/templates/APPEND_SYSTEM.md +13 -0
  175. package/dist/kpi/templates/context-pack/product.md +7 -0
  176. package/dist/kpi/templates/context-pack/structure.md +7 -0
  177. package/dist/kpi/templates/context-pack/tech.md +9 -0
  178. package/dist/kpi/templates/policy.json +17 -0
  179. package/dist/kpi/themes/loop-amber.json +82 -0
  180. package/dist/kpi/themes/protocol-blue.json +82 -0
  181. package/dist/modes/interactive/assets/clankolas.png +0 -0
  182. package/dist/modes/interactive/theme/dark.json +90 -0
  183. package/dist/modes/interactive/theme/light.json +89 -0
  184. package/dist/modes/interactive/theme/theme-schema.json +352 -0
  185. package/docs/compaction.md +418 -0
  186. package/docs/containerization.md +111 -0
  187. package/docs/custom-provider.md +777 -0
  188. package/docs/development.md +71 -0
  189. package/docs/docs.json +156 -0
  190. package/docs/environment-variables.md +97 -0
  191. package/docs/extensions.md +3020 -0
  192. package/docs/images/doom-extension.png +0 -0
  193. package/docs/images/exy.png +0 -0
  194. package/docs/images/interactive-mode.png +0 -0
  195. package/docs/images/tree-view.png +0 -0
  196. package/docs/index.md +84 -0
  197. package/docs/json.md +98 -0
  198. package/docs/keybindings.md +236 -0
  199. package/docs/llama-cpp.md +101 -0
  200. package/docs/models.md +571 -0
  201. package/docs/packages.md +228 -0
  202. package/docs/prompt-templates.md +96 -0
  203. package/docs/providers.md +317 -0
  204. package/docs/quickstart.md +167 -0
  205. package/docs/rpc.md +1618 -0
  206. package/docs/sdk.md +1219 -0
  207. package/docs/security.md +59 -0
  208. package/docs/session-format.md +438 -0
  209. package/docs/sessions.md +145 -0
  210. package/docs/settings.md +369 -0
  211. package/docs/shell-aliases.md +13 -0
  212. package/docs/skills.md +232 -0
  213. package/docs/terminal-setup.md +177 -0
  214. package/docs/termux.md +127 -0
  215. package/docs/themes.md +320 -0
  216. package/docs/tmux.md +63 -0
  217. package/docs/tui.md +942 -0
  218. package/docs/usage.md +311 -0
  219. package/docs/windows.md +39 -0
  220. package/examples/README.md +25 -0
  221. package/examples/extensions/README.md +213 -0
  222. package/examples/extensions/auto-commit-on-exit.ts +49 -0
  223. package/examples/extensions/bash-spawn-hook.ts +30 -0
  224. package/examples/extensions/bookmark.ts +50 -0
  225. package/examples/extensions/border-status-editor.ts +150 -0
  226. package/examples/extensions/built-in-tool-renderer.ts +249 -0
  227. package/examples/extensions/claude-rules.ts +86 -0
  228. package/examples/extensions/commands.ts +72 -0
  229. package/examples/extensions/confirm-destructive.ts +59 -0
  230. package/examples/extensions/custom-compaction.ts +117 -0
  231. package/examples/extensions/custom-footer.ts +64 -0
  232. package/examples/extensions/custom-header.ts +73 -0
  233. package/examples/extensions/custom-provider-anthropic/index.ts +611 -0
  234. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
  235. package/examples/extensions/custom-provider-anthropic/package.json +19 -0
  236. package/examples/extensions/custom-provider-gitlab-duo/index.ts +405 -0
  237. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
  238. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
  239. package/examples/extensions/dirty-repo-guard.ts +56 -0
  240. package/examples/extensions/doom-overlay/README.md +46 -0
  241. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
  242. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  243. package/examples/extensions/doom-overlay/doom/build.sh +152 -0
  244. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
  245. package/examples/extensions/doom-overlay/doom-component.ts +132 -0
  246. package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
  247. package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
  248. package/examples/extensions/doom-overlay/index.ts +74 -0
  249. package/examples/extensions/doom-overlay/wad-finder.ts +55 -0
  250. package/examples/extensions/dynamic-resources/SKILL.md +8 -0
  251. package/examples/extensions/dynamic-resources/dynamic.json +79 -0
  252. package/examples/extensions/dynamic-resources/dynamic.md +5 -0
  253. package/examples/extensions/dynamic-resources/index.ts +15 -0
  254. package/examples/extensions/dynamic-tools.ts +74 -0
  255. package/examples/extensions/entry-renderer.ts +41 -0
  256. package/examples/extensions/event-bus.ts +43 -0
  257. package/examples/extensions/file-trigger.ts +41 -0
  258. package/examples/extensions/git-checkpoint.ts +53 -0
  259. package/examples/extensions/git-merge-and-resolve.ts +115 -0
  260. package/examples/extensions/github-issue-autocomplete.ts +185 -0
  261. package/examples/extensions/gondolin/index.ts +531 -0
  262. package/examples/extensions/gondolin/package-lock.json +185 -0
  263. package/examples/extensions/gondolin/package.json +19 -0
  264. package/examples/extensions/handoff.ts +190 -0
  265. package/examples/extensions/hello.ts +26 -0
  266. package/examples/extensions/hidden-thinking-label.ts +53 -0
  267. package/examples/extensions/inline-bash.ts +94 -0
  268. package/examples/extensions/input-transform-streaming.ts +39 -0
  269. package/examples/extensions/input-transform.ts +43 -0
  270. package/examples/extensions/interactive-shell.ts +196 -0
  271. package/examples/extensions/kimi-deferred-tools.ts +61 -0
  272. package/examples/extensions/mac-system-theme.ts +47 -0
  273. package/examples/extensions/message-renderer.ts +59 -0
  274. package/examples/extensions/minimal-mode.ts +426 -0
  275. package/examples/extensions/modal-editor.ts +85 -0
  276. package/examples/extensions/model-status.ts +31 -0
  277. package/examples/extensions/notify.ts +57 -0
  278. package/examples/extensions/overlay-qa-tests.ts +1450 -0
  279. package/examples/extensions/overlay-test.ts +153 -0
  280. package/examples/extensions/permission-gate.ts +34 -0
  281. package/examples/extensions/pirate.ts +47 -0
  282. package/examples/extensions/plan-mode/README.md +66 -0
  283. package/examples/extensions/plan-mode/index.ts +390 -0
  284. package/examples/extensions/plan-mode/utils.ts +168 -0
  285. package/examples/extensions/preset.ts +436 -0
  286. package/examples/extensions/project-trust.ts +64 -0
  287. package/examples/extensions/prompt-customizer.ts +97 -0
  288. package/examples/extensions/protected-paths.ts +30 -0
  289. package/examples/extensions/provider-payload.ts +18 -0
  290. package/examples/extensions/qna.ts +118 -0
  291. package/examples/extensions/question.ts +286 -0
  292. package/examples/extensions/questionnaire.ts +448 -0
  293. package/examples/extensions/rainbow-editor.ts +88 -0
  294. package/examples/extensions/reload-runtime.ts +37 -0
  295. package/examples/extensions/rpc-demo.ts +118 -0
  296. package/examples/extensions/sandbox/index.ts +321 -0
  297. package/examples/extensions/sandbox/package-lock.json +92 -0
  298. package/examples/extensions/sandbox/package.json +19 -0
  299. package/examples/extensions/send-user-message.ts +97 -0
  300. package/examples/extensions/session-name.ts +27 -0
  301. package/examples/extensions/shutdown-command.ts +63 -0
  302. package/examples/extensions/snake.ts +343 -0
  303. package/examples/extensions/space-invaders.ts +560 -0
  304. package/examples/extensions/ssh.ts +220 -0
  305. package/examples/extensions/status-line.ts +32 -0
  306. package/examples/extensions/structured-output.ts +65 -0
  307. package/examples/extensions/subagent/README.md +177 -0
  308. package/examples/extensions/subagent/agents/planner.md +37 -0
  309. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  310. package/examples/extensions/subagent/agents/scout.md +50 -0
  311. package/examples/extensions/subagent/agents/worker.md +24 -0
  312. package/examples/extensions/subagent/agents.ts +157 -0
  313. package/examples/extensions/subagent/index.ts +1038 -0
  314. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  315. package/examples/extensions/subagent/prompts/implement.md +10 -0
  316. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  317. package/examples/extensions/summarize.ts +199 -0
  318. package/examples/extensions/system-prompt-header.ts +17 -0
  319. package/examples/extensions/tic-tac-toe.ts +1008 -0
  320. package/examples/extensions/timed-confirm.ts +70 -0
  321. package/examples/extensions/titlebar-spinner.ts +58 -0
  322. package/examples/extensions/todo.ts +297 -0
  323. package/examples/extensions/tool-override.ts +144 -0
  324. package/examples/extensions/tools.ts +146 -0
  325. package/examples/extensions/trigger-compact.ts +50 -0
  326. package/examples/extensions/truncated-tool.ts +195 -0
  327. package/examples/extensions/widget-placement.ts +9 -0
  328. package/examples/extensions/with-deps/index.ts +32 -0
  329. package/examples/extensions/with-deps/package-lock.json +31 -0
  330. package/examples/extensions/with-deps/package.json +22 -0
  331. package/examples/extensions/working-indicator.ts +123 -0
  332. package/examples/extensions/working-message-test.ts +25 -0
  333. package/examples/rpc-extension-ui.ts +641 -0
  334. package/examples/sdk/01-minimal.ts +26 -0
  335. package/examples/sdk/02-custom-model.ts +49 -0
  336. package/examples/sdk/03-custom-prompt.ts +75 -0
  337. package/examples/sdk/04-skills.ts +55 -0
  338. package/examples/sdk/05-tools.ts +48 -0
  339. package/examples/sdk/06-extensions.ts +99 -0
  340. package/examples/sdk/07-context-files.ts +47 -0
  341. package/examples/sdk/08-prompt-templates.ts +51 -0
  342. package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
  343. package/examples/sdk/10-settings.ts +53 -0
  344. package/examples/sdk/11-sessions.ts +52 -0
  345. package/examples/sdk/12-full-control.ts +74 -0
  346. package/examples/sdk/13-session-runtime.ts +67 -0
  347. package/examples/sdk/README.md +140 -0
  348. package/package.json +55 -0
@@ -0,0 +1,82 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
3
+ "name": "protocol-blue",
4
+ "vars": {
5
+ "accent": "#3da9fc",
6
+ "success": "#3dff6a",
7
+ "error": "#ff3b3b",
8
+ "warning": "#ffb020",
9
+ "text": "#d8e1e8",
10
+ "muted": "#8493a0",
11
+ "dim": "#56636e",
12
+ "borderMuted": "#293641",
13
+ "selectedBg": "#17334a",
14
+ "userMessageBg": "#172632",
15
+ "customMessageBg": "#141f28",
16
+ "toolPendingBg": "#172b3a",
17
+ "toolSuccessBg": "#19301f",
18
+ "toolErrorBg": "#351b1b"
19
+ },
20
+ "colors": {
21
+ "accent": "#3da9fc",
22
+ "border": "#245f8c",
23
+ "borderAccent": "#3da9fc",
24
+ "borderMuted": "borderMuted",
25
+ "success": "#3dff6a",
26
+ "error": "#ff3b3b",
27
+ "warning": "#ffb020",
28
+ "muted": "muted",
29
+ "dim": "dim",
30
+ "text": "text",
31
+ "thinkingText": "muted",
32
+ "selectedBg": "selectedBg",
33
+ "scrollbarThumb": "selectedBg",
34
+ "searchMatchBg": "selectedBg",
35
+ "searchMatchText": "text",
36
+ "userMessageBg": "userMessageBg",
37
+ "userMessageText": "text",
38
+ "customMessageBg": "customMessageBg",
39
+ "customMessageText": "text",
40
+ "customMessageLabel": "#3da9fc",
41
+ "toolPendingBg": "toolPendingBg",
42
+ "toolSuccessBg": "toolSuccessBg",
43
+ "toolErrorBg": "toolErrorBg",
44
+ "toolTitle": "#3da9fc",
45
+ "toolOutput": "muted",
46
+ "mdHeading": "#84c9ff",
47
+ "mdLink": "accent",
48
+ "mdLinkUrl": "dim",
49
+ "mdCode": "#71c1ff",
50
+ "mdCodeBlock": "success",
51
+ "mdCodeBlockBorder": "borderMuted",
52
+ "mdQuote": "muted",
53
+ "mdQuoteBorder": "#245f8c",
54
+ "mdHr": "borderMuted",
55
+ "mdListBullet": "accent",
56
+ "toolDiffAdded": "success",
57
+ "toolDiffRemoved": "error",
58
+ "toolDiffContext": "muted",
59
+ "syntaxComment": "#71808c",
60
+ "syntaxKeyword": "#62b8fa",
61
+ "syntaxFunction": "#9ed4ff",
62
+ "syntaxVariable": "#d8e1e8",
63
+ "syntaxString": "#a9c9df",
64
+ "syntaxNumber": "#a7d98b",
65
+ "syntaxType": "#72d6b0",
66
+ "syntaxOperator": "#71c1ff",
67
+ "syntaxPunctuation": "#aab7c1",
68
+ "thinkingOff": "dim",
69
+ "thinkingMinimal": "#677784",
70
+ "thinkingLow": "#245f8c",
71
+ "thinkingMedium": "#2f83c2",
72
+ "thinkingHigh": "accent",
73
+ "thinkingXhigh": "#76c4ff",
74
+ "thinkingMax": "#b5e0ff",
75
+ "bashMode": "success"
76
+ },
77
+ "export": {
78
+ "pageBg": "#0a0e12",
79
+ "cardBg": "#101820",
80
+ "infoBg": "#172b3a"
81
+ }
82
+ }
@@ -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": "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
+ "scrollbarThumb": "selectedBg",
37
+ "searchMatchBg": "selectedBg",
38
+ "searchMatchText": "text",
39
+ "userMessageBg": "userMsgBg",
40
+ "userMessageText": "text",
41
+ "customMessageBg": "customMsgBg",
42
+ "customMessageText": "text",
43
+ "customMessageLabel": "#9575cd",
44
+ "toolPendingBg": "toolPendingBg",
45
+ "toolSuccessBg": "toolSuccessBg",
46
+ "toolErrorBg": "toolErrorBg",
47
+ "toolTitle": "text",
48
+ "toolOutput": "gray",
49
+
50
+ "mdHeading": "#f0c674",
51
+ "mdLink": "#81a2be",
52
+ "mdLinkUrl": "dimGray",
53
+ "mdCode": "accent",
54
+ "mdCodeBlock": "green",
55
+ "mdCodeBlockBorder": "gray",
56
+ "mdQuote": "gray",
57
+ "mdQuoteBorder": "gray",
58
+ "mdHr": "gray",
59
+ "mdListBullet": "accent",
60
+
61
+ "toolDiffAdded": "green",
62
+ "toolDiffRemoved": "red",
63
+ "toolDiffContext": "gray",
64
+
65
+ "syntaxComment": "#6A9955",
66
+ "syntaxKeyword": "#569CD6",
67
+ "syntaxFunction": "#DCDCAA",
68
+ "syntaxVariable": "#9CDCFE",
69
+ "syntaxString": "#CE9178",
70
+ "syntaxNumber": "#B5CEA8",
71
+ "syntaxType": "#4EC9B0",
72
+ "syntaxOperator": "#D4D4D4",
73
+ "syntaxPunctuation": "#D4D4D4",
74
+
75
+ "thinkingOff": "darkGray",
76
+ "thinkingMinimal": "#6e6e6e",
77
+ "thinkingLow": "#5f87af",
78
+ "thinkingMedium": "#81a2be",
79
+ "thinkingHigh": "#b294bb",
80
+ "thinkingXhigh": "#d183e8",
81
+ "thinkingMax": "#ff5fff",
82
+
83
+ "bashMode": "green"
84
+ },
85
+ "export": {
86
+ "pageBg": "#18181e",
87
+ "cardBg": "#1e1e24",
88
+ "infoBg": "#3c3728"
89
+ }
90
+ }
@@ -0,0 +1,89 @@
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
+ "scrollbarThumb": "selectedBg",
36
+ "searchMatchBg": "selectedBg",
37
+ "searchMatchText": "text",
38
+ "userMessageBg": "userMsgBg",
39
+ "userMessageText": "text",
40
+ "customMessageBg": "customMsgBg",
41
+ "customMessageText": "text",
42
+ "customMessageLabel": "#7e57c2",
43
+ "toolPendingBg": "toolPendingBg",
44
+ "toolSuccessBg": "toolSuccessBg",
45
+ "toolErrorBg": "toolErrorBg",
46
+ "toolTitle": "text",
47
+ "toolOutput": "mediumGray",
48
+
49
+ "mdHeading": "yellow",
50
+ "mdLink": "blue",
51
+ "mdLinkUrl": "dimGray",
52
+ "mdCode": "teal",
53
+ "mdCodeBlock": "green",
54
+ "mdCodeBlockBorder": "mediumGray",
55
+ "mdQuote": "mediumGray",
56
+ "mdQuoteBorder": "mediumGray",
57
+ "mdHr": "mediumGray",
58
+ "mdListBullet": "green",
59
+
60
+ "toolDiffAdded": "green",
61
+ "toolDiffRemoved": "red",
62
+ "toolDiffContext": "mediumGray",
63
+
64
+ "syntaxComment": "#008000",
65
+ "syntaxKeyword": "#0000FF",
66
+ "syntaxFunction": "#795E26",
67
+ "syntaxVariable": "#001080",
68
+ "syntaxString": "#A31515",
69
+ "syntaxNumber": "#098658",
70
+ "syntaxType": "#267F99",
71
+ "syntaxOperator": "#000000",
72
+ "syntaxPunctuation": "#000000",
73
+
74
+ "thinkingOff": "lightGray",
75
+ "thinkingMinimal": "#767676",
76
+ "thinkingLow": "blue",
77
+ "thinkingMedium": "teal",
78
+ "thinkingHigh": "#875f87",
79
+ "thinkingXhigh": "#8b008b",
80
+ "thinkingMax": "#af005f",
81
+
82
+ "bashMode": "green"
83
+ },
84
+ "export": {
85
+ "pageBg": "#f8f8f8",
86
+ "cardBg": "#ffffff",
87
+ "infoBg": "#fffae6"
88
+ }
89
+ }
@@ -0,0 +1,352 @@
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 (thinkingMax, scrollbarThumb, 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
+ "scrollbarThumb": {
141
+ "$ref": "#/$defs/colorValue",
142
+ "description": "Fullscreen scrollbar thumb background (falls back to selectedBg when omitted)"
143
+ },
144
+ "searchMatchBg": {
145
+ "$ref": "#/$defs/colorValue",
146
+ "description": "Transcript search match background and current-match text (falls back to selectedBg when omitted)"
147
+ },
148
+ "searchMatchText": {
149
+ "$ref": "#/$defs/colorValue",
150
+ "description": "Transcript search match text and current-match background (falls back to text when omitted)"
151
+ },
152
+ "userMessageBg": {
153
+ "$ref": "#/$defs/colorValue",
154
+ "description": "User message background"
155
+ },
156
+ "userMessageText": {
157
+ "$ref": "#/$defs/colorValue",
158
+ "description": "User message text color"
159
+ },
160
+ "customMessageBg": {
161
+ "$ref": "#/$defs/colorValue",
162
+ "description": "Custom message background (hook-injected messages)"
163
+ },
164
+ "customMessageText": {
165
+ "$ref": "#/$defs/colorValue",
166
+ "description": "Custom message text color"
167
+ },
168
+ "customMessageLabel": {
169
+ "$ref": "#/$defs/colorValue",
170
+ "description": "Custom message type label color"
171
+ },
172
+ "toolPendingBg": {
173
+ "$ref": "#/$defs/colorValue",
174
+ "description": "Tool execution box (pending state)"
175
+ },
176
+ "toolSuccessBg": {
177
+ "$ref": "#/$defs/colorValue",
178
+ "description": "Tool execution box (success state)"
179
+ },
180
+ "toolErrorBg": {
181
+ "$ref": "#/$defs/colorValue",
182
+ "description": "Tool execution box (error state)"
183
+ },
184
+ "toolTitle": {
185
+ "$ref": "#/$defs/colorValue",
186
+ "description": "Tool execution box title color"
187
+ },
188
+ "toolOutput": {
189
+ "$ref": "#/$defs/colorValue",
190
+ "description": "Tool execution box output text color"
191
+ },
192
+ "mdHeading": {
193
+ "$ref": "#/$defs/colorValue",
194
+ "description": "Markdown heading text"
195
+ },
196
+ "mdLink": {
197
+ "$ref": "#/$defs/colorValue",
198
+ "description": "Markdown link text"
199
+ },
200
+ "mdLinkUrl": {
201
+ "$ref": "#/$defs/colorValue",
202
+ "description": "Markdown link URL"
203
+ },
204
+ "mdCode": {
205
+ "$ref": "#/$defs/colorValue",
206
+ "description": "Markdown inline code"
207
+ },
208
+ "mdCodeBlock": {
209
+ "$ref": "#/$defs/colorValue",
210
+ "description": "Markdown code block content"
211
+ },
212
+ "mdCodeBlockBorder": {
213
+ "$ref": "#/$defs/colorValue",
214
+ "description": "Markdown code block fences"
215
+ },
216
+ "mdQuote": {
217
+ "$ref": "#/$defs/colorValue",
218
+ "description": "Markdown blockquote text"
219
+ },
220
+ "mdQuoteBorder": {
221
+ "$ref": "#/$defs/colorValue",
222
+ "description": "Markdown blockquote border"
223
+ },
224
+ "mdHr": {
225
+ "$ref": "#/$defs/colorValue",
226
+ "description": "Markdown horizontal rule"
227
+ },
228
+ "mdListBullet": {
229
+ "$ref": "#/$defs/colorValue",
230
+ "description": "Markdown list bullets/numbers"
231
+ },
232
+ "toolDiffAdded": {
233
+ "$ref": "#/$defs/colorValue",
234
+ "description": "Added lines in tool diffs"
235
+ },
236
+ "toolDiffRemoved": {
237
+ "$ref": "#/$defs/colorValue",
238
+ "description": "Removed lines in tool diffs"
239
+ },
240
+ "toolDiffContext": {
241
+ "$ref": "#/$defs/colorValue",
242
+ "description": "Context lines in tool diffs"
243
+ },
244
+ "syntaxComment": {
245
+ "$ref": "#/$defs/colorValue",
246
+ "description": "Syntax highlighting: comments"
247
+ },
248
+ "syntaxKeyword": {
249
+ "$ref": "#/$defs/colorValue",
250
+ "description": "Syntax highlighting: keywords"
251
+ },
252
+ "syntaxFunction": {
253
+ "$ref": "#/$defs/colorValue",
254
+ "description": "Syntax highlighting: function names"
255
+ },
256
+ "syntaxVariable": {
257
+ "$ref": "#/$defs/colorValue",
258
+ "description": "Syntax highlighting: variable names"
259
+ },
260
+ "syntaxString": {
261
+ "$ref": "#/$defs/colorValue",
262
+ "description": "Syntax highlighting: string literals"
263
+ },
264
+ "syntaxNumber": {
265
+ "$ref": "#/$defs/colorValue",
266
+ "description": "Syntax highlighting: number literals"
267
+ },
268
+ "syntaxType": {
269
+ "$ref": "#/$defs/colorValue",
270
+ "description": "Syntax highlighting: type names"
271
+ },
272
+ "syntaxOperator": {
273
+ "$ref": "#/$defs/colorValue",
274
+ "description": "Syntax highlighting: operators"
275
+ },
276
+ "syntaxPunctuation": {
277
+ "$ref": "#/$defs/colorValue",
278
+ "description": "Syntax highlighting: punctuation"
279
+ },
280
+ "thinkingOff": {
281
+ "$ref": "#/$defs/colorValue",
282
+ "description": "Thinking level border: off"
283
+ },
284
+ "thinkingMinimal": {
285
+ "$ref": "#/$defs/colorValue",
286
+ "description": "Thinking level border: minimal"
287
+ },
288
+ "thinkingLow": {
289
+ "$ref": "#/$defs/colorValue",
290
+ "description": "Thinking level border: low"
291
+ },
292
+ "thinkingMedium": {
293
+ "$ref": "#/$defs/colorValue",
294
+ "description": "Thinking level border: medium"
295
+ },
296
+ "thinkingHigh": {
297
+ "$ref": "#/$defs/colorValue",
298
+ "description": "Thinking level border: high"
299
+ },
300
+ "thinkingXhigh": {
301
+ "$ref": "#/$defs/colorValue",
302
+ "description": "Thinking level border: xhigh"
303
+ },
304
+ "thinkingMax": {
305
+ "$ref": "#/$defs/colorValue",
306
+ "description": "Thinking level border: max (falls back to thinkingXhigh when omitted)"
307
+ },
308
+ "bashMode": {
309
+ "$ref": "#/$defs/colorValue",
310
+ "description": "Editor border color in bash mode"
311
+ }
312
+ },
313
+ "additionalProperties": false
314
+ },
315
+ "export": {
316
+ "type": "object",
317
+ "description": "Optional colors for HTML export (defaults derived from userMessageBg if not specified)",
318
+ "properties": {
319
+ "pageBg": {
320
+ "$ref": "#/$defs/colorValue",
321
+ "description": "Page background color"
322
+ },
323
+ "cardBg": {
324
+ "$ref": "#/$defs/colorValue",
325
+ "description": "Card/container background color"
326
+ },
327
+ "infoBg": {
328
+ "$ref": "#/$defs/colorValue",
329
+ "description": "Info sections background (system prompt, notices)"
330
+ }
331
+ },
332
+ "additionalProperties": false
333
+ }
334
+ },
335
+ "additionalProperties": false,
336
+ "$defs": {
337
+ "colorValue": {
338
+ "oneOf": [
339
+ {
340
+ "type": "string",
341
+ "description": "Hex color (#RRGGBB), variable reference, or empty string for terminal default"
342
+ },
343
+ {
344
+ "type": "integer",
345
+ "minimum": 0,
346
+ "maximum": 255,
347
+ "description": "256-color palette index (0-255)"
348
+ }
349
+ ]
350
+ }
351
+ }
352
+ }