@ashx-j/lunr 0.2.11 → 0.2.13

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 (342) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +211 -236
  3. package/dist/builtin-extensions/ashxj-tui.d.ts +3 -0
  4. package/dist/builtin-extensions/ashxj-tui.d.ts.map +1 -1
  5. package/dist/builtin-extensions/ashxj-tui.js +28 -11
  6. package/dist/builtin-extensions/ashxj-tui.js.map +1 -1
  7. package/dist/builtin-extensions/index.d.ts.map +1 -1
  8. package/dist/builtin-extensions/index.js +0 -2
  9. package/dist/builtin-extensions/index.js.map +1 -1
  10. package/dist/builtin-extensions/lunr-cron.d.ts +1 -1
  11. package/dist/builtin-extensions/lunr-cron.d.ts.map +1 -1
  12. package/dist/builtin-extensions/lunr-cron.js +1 -1
  13. package/dist/builtin-extensions/lunr-cron.js.map +1 -1
  14. package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.d.ts.map +1 -1
  15. package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js +3 -3
  16. package/dist/builtin-extensions/pi-subagents/src/extension/chain-validation.js.map +1 -1
  17. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts +0 -2
  18. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.d.ts.map +1 -1
  19. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js +1 -23
  20. package/dist/builtin-extensions/pi-subagents/src/extension/doctor.js.map +1 -1
  21. package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.d.ts.map +1 -1
  22. package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js +6 -7
  23. package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js.map +1 -1
  24. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +1 -1
  25. package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
  26. package/dist/builtin-extensions/pi-subagents/src/extension/index.js +7 -14
  27. package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
  28. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts +12 -9
  29. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -1
  30. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +38 -34
  31. package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -1
  32. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts +3 -3
  33. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts.map +1 -1
  34. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js +32 -47
  35. package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js.map +1 -1
  36. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts +2 -2
  37. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts.map +1 -1
  38. package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js.map +1 -1
  39. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts +7 -10
  40. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts.map +1 -1
  41. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js +90 -109
  42. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js.map +1 -1
  43. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts +3 -2
  44. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.d.ts.map +1 -1
  45. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js +37 -50
  46. package/dist/builtin-extensions/pi-subagents/src/runs/background/async-resume.js.map +1 -1
  47. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.d.ts.map +1 -1
  48. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js +1 -1
  49. package/dist/builtin-extensions/pi-subagents/src/runs/background/run-status.js.map +1 -1
  50. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts +4 -0
  51. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.d.ts.map +1 -1
  52. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js +5 -5
  53. package/dist/builtin-extensions/pi-subagents/src/runs/background/scheduled-runs.js.map +1 -1
  54. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts.map +1 -1
  55. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js +31 -13
  56. package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js.map +1 -1
  57. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts +2 -2
  58. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.d.ts.map +1 -1
  59. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-clarify.js.map +1 -1
  60. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts +4 -3
  61. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.d.ts.map +1 -1
  62. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js +48 -20
  63. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/chain-execution.js.map +1 -1
  64. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts +2 -2
  65. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts.map +1 -1
  66. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js +90 -64
  67. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js.map +1 -1
  68. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts +6 -8
  69. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  70. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +262 -161
  71. package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
  72. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts +2 -1
  73. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.d.ts.map +1 -1
  74. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js +24 -33
  75. package/dist/builtin-extensions/pi-subagents/src/runs/shared/acceptance.js.map +1 -1
  76. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.d.ts +25 -0
  77. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.d.ts.map +1 -0
  78. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.js +51 -0
  79. package/dist/builtin-extensions/pi-subagents/src/runs/shared/child-tools.js.map +1 -0
  80. package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.d.ts.map +1 -1
  81. package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js +20 -3
  82. package/dist/builtin-extensions/pi-subagents/src/runs/shared/dynamic-fanout.js.map +1 -1
  83. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +4 -1
  84. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -1
  85. package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -1
  86. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts +5 -0
  87. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts.map +1 -1
  88. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js +9 -3
  89. package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js.map +1 -1
  90. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
  91. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js +2 -2
  92. package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
  93. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts +2 -2
  94. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts.map +1 -1
  95. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js +20 -17
  96. package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js.map +1 -1
  97. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts +70 -0
  98. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.d.ts.map +1 -0
  99. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js +153 -0
  100. package/dist/builtin-extensions/pi-subagents/src/shared/child-spec.js.map +1 -0
  101. package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts +13 -8
  102. package/dist/builtin-extensions/pi-subagents/src/shared/settings.d.ts.map +1 -1
  103. package/dist/builtin-extensions/pi-subagents/src/shared/settings.js +20 -51
  104. package/dist/builtin-extensions/pi-subagents/src/shared/settings.js.map +1 -1
  105. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +80 -20
  106. package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -1
  107. package/dist/builtin-extensions/pi-subagents/src/shared/types.js +10 -2
  108. package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -1
  109. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts +2 -2
  110. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts.map +1 -1
  111. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js +20 -32
  112. package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js.map +1 -1
  113. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +2 -1
  114. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -1
  115. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +23 -449
  116. package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -1
  117. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +2 -1
  118. package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -1
  119. package/dist/builtin-extensions/pi-subagents/src/tui/render.js +13 -11
  120. package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
  121. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts +2 -1
  122. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.d.ts.map +1 -1
  123. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js +18 -17
  124. package/dist/builtin-extensions/pi-subagents/src/watchdog/runtime.js.map +1 -1
  125. package/dist/builtin-extensions/simple-pi-memory.d.ts +2 -2
  126. package/dist/builtin-extensions/simple-pi-memory.d.ts.map +1 -1
  127. package/dist/builtin-extensions/simple-pi-memory.js +41 -17
  128. package/dist/builtin-extensions/simple-pi-memory.js.map +1 -1
  129. package/dist/catalog/models.json +1 -1
  130. package/dist/catalog/providers/amazon-bedrock.json +1 -1
  131. package/dist/catalog/providers/azure-openai-responses.json +1 -1
  132. package/dist/catalog/providers/cloudflare-ai-gateway.json +1 -1
  133. package/dist/catalog/providers/cloudflare-workers-ai.json +1 -1
  134. package/dist/catalog/providers/fireworks.json +1 -1
  135. package/dist/catalog/providers/github-copilot.json +1 -1
  136. package/dist/catalog/providers/huggingface.json +1 -1
  137. package/dist/catalog/providers/minimax-cn.json +1 -1
  138. package/dist/catalog/providers/minimax.json +1 -1
  139. package/dist/catalog/providers/mistral.json +1 -1
  140. package/dist/catalog/providers/nvidia.json +1 -1
  141. package/dist/catalog/providers/openai.json +1 -1
  142. package/dist/catalog/providers/opencode-go.json +1 -1
  143. package/dist/catalog/providers/opencode.json +1 -1
  144. package/dist/catalog/providers/openrouter.json +1 -1
  145. package/dist/catalog/providers/qwen-cloud-cn.json +1 -1
  146. package/dist/catalog/providers/qwen-cloud.json +1 -1
  147. package/dist/catalog/providers/qwen-token-plan-cn.json +1 -1
  148. package/dist/catalog/providers/qwen-token-plan.json +1 -1
  149. package/dist/catalog/providers/together.json +1 -1
  150. package/dist/catalog/providers/vercel-ai-gateway.json +1 -1
  151. package/dist/catalog/providers/zai-coding-cn.json +1 -1
  152. package/dist/catalog/providers/zai.json +1 -1
  153. package/dist/catalog/publication.json +3 -3
  154. package/dist/core/agent-session.d.ts +7 -1
  155. package/dist/core/agent-session.d.ts.map +1 -1
  156. package/dist/core/agent-session.js +34 -4
  157. package/dist/core/agent-session.js.map +1 -1
  158. package/dist/core/context-breakdown.d.ts +3 -1
  159. package/dist/core/context-breakdown.d.ts.map +1 -1
  160. package/dist/core/context-breakdown.js +5 -2
  161. package/dist/core/context-breakdown.js.map +1 -1
  162. package/dist/core/customize.d.ts +2 -0
  163. package/dist/core/customize.d.ts.map +1 -1
  164. package/dist/core/customize.js +6 -0
  165. package/dist/core/customize.js.map +1 -1
  166. package/dist/core/memory-cap.d.ts +4 -8
  167. package/dist/core/memory-cap.d.ts.map +1 -1
  168. package/dist/core/memory-cap.js +8 -8
  169. package/dist/core/memory-cap.js.map +1 -1
  170. package/dist/core/permissions.d.ts +2 -0
  171. package/dist/core/permissions.d.ts.map +1 -1
  172. package/dist/core/permissions.js +30 -14
  173. package/dist/core/permissions.js.map +1 -1
  174. package/dist/core/plan-mode.d.ts.map +1 -1
  175. package/dist/core/plan-mode.js +1 -9
  176. package/dist/core/plan-mode.js.map +1 -1
  177. package/dist/core/rollback.d.ts.map +1 -1
  178. package/dist/core/rollback.js +1 -1
  179. package/dist/core/rollback.js.map +1 -1
  180. package/dist/core/settings-manager.d.ts +16 -5
  181. package/dist/core/settings-manager.d.ts.map +1 -1
  182. package/dist/core/settings-manager.js +37 -10
  183. package/dist/core/settings-manager.js.map +1 -1
  184. package/dist/core/slash-commands.d.ts.map +1 -1
  185. package/dist/core/slash-commands.js +1 -5
  186. package/dist/core/slash-commands.js.map +1 -1
  187. package/dist/core/subagent-permission-inherit.d.ts +34 -22
  188. package/dist/core/subagent-permission-inherit.d.ts.map +1 -1
  189. package/dist/core/subagent-permission-inherit.js +37 -80
  190. package/dist/core/subagent-permission-inherit.js.map +1 -1
  191. package/dist/core/swarm.d.ts.map +1 -1
  192. package/dist/core/swarm.js +13 -7
  193. package/dist/core/swarm.js.map +1 -1
  194. package/dist/core/system-prompt.d.ts +6 -4
  195. package/dist/core/system-prompt.d.ts.map +1 -1
  196. package/dist/core/system-prompt.js +38 -48
  197. package/dist/core/system-prompt.js.map +1 -1
  198. package/dist/core/usage-adapters/openai-codex.d.ts +1 -1
  199. package/dist/core/usage-adapters/openai-codex.d.ts.map +1 -1
  200. package/dist/core/usage-adapters/openai-codex.js +22 -17
  201. package/dist/core/usage-adapters/openai-codex.js.map +1 -1
  202. package/dist/core/usage-service.d.ts +10 -1
  203. package/dist/core/usage-service.d.ts.map +1 -1
  204. package/dist/core/usage-service.js +17 -6
  205. package/dist/core/usage-service.js.map +1 -1
  206. package/dist/gateway/agent-bridge.d.ts.map +1 -1
  207. package/dist/gateway/agent-bridge.js +1 -4
  208. package/dist/gateway/agent-bridge.js.map +1 -1
  209. package/dist/gateway/cron.d.ts.map +1 -1
  210. package/dist/gateway/cron.js +1 -4
  211. package/dist/gateway/cron.js.map +1 -1
  212. package/dist/index.d.ts +1 -1
  213. package/dist/index.d.ts.map +1 -1
  214. package/dist/index.js.map +1 -1
  215. package/dist/main.d.ts.map +1 -1
  216. package/dist/main.js +0 -5
  217. package/dist/main.js.map +1 -1
  218. package/dist/migrations.d.ts +2 -0
  219. package/dist/migrations.d.ts.map +1 -1
  220. package/dist/migrations.js +21 -0
  221. package/dist/migrations.js.map +1 -1
  222. package/dist/modes/interactive/components/settings-selector.d.ts +7 -4
  223. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  224. package/dist/modes/interactive/components/settings-selector.js +122 -162
  225. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  226. package/dist/modes/interactive/components/usage-view.d.ts +1 -1
  227. package/dist/modes/interactive/components/usage-view.d.ts.map +1 -1
  228. package/dist/modes/interactive/components/usage-view.js +7 -4
  229. package/dist/modes/interactive/components/usage-view.js.map +1 -1
  230. package/dist/modes/interactive/interactive-mode.d.ts +1 -2
  231. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  232. package/dist/modes/interactive/interactive-mode.js +55 -96
  233. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  234. package/dist/modes/interactive/skill-tag-autocomplete.d.ts +13 -0
  235. package/dist/modes/interactive/skill-tag-autocomplete.d.ts.map +1 -0
  236. package/dist/modes/interactive/skill-tag-autocomplete.js +72 -0
  237. package/dist/modes/interactive/skill-tag-autocomplete.js.map +1 -0
  238. package/docs/compaction.md +23 -23
  239. package/docs/containerization.md +24 -24
  240. package/docs/custom-provider.md +18 -18
  241. package/docs/development.md +16 -15
  242. package/docs/docs.json +6 -2
  243. package/docs/extensions.md +82 -80
  244. package/docs/features.md +102 -0
  245. package/docs/index.md +25 -19
  246. package/docs/json.md +7 -7
  247. package/docs/keybindings.md +4 -4
  248. package/docs/models.md +2 -2
  249. package/docs/packages.md +38 -42
  250. package/docs/prompt-templates.md +4 -4
  251. package/docs/providers.md +22 -10
  252. package/docs/quickstart.md +81 -46
  253. package/docs/rpc.md +7 -13
  254. package/docs/sdk.md +43 -41
  255. package/docs/security.md +18 -18
  256. package/docs/session-format.md +9 -9
  257. package/docs/sessions.md +13 -12
  258. package/docs/settings.md +63 -24
  259. package/docs/shell-aliases.md +2 -2
  260. package/docs/skills.md +21 -11
  261. package/docs/terminal-setup.md +5 -5
  262. package/docs/termux.md +7 -7
  263. package/docs/themes.md +12 -14
  264. package/docs/tmux.md +4 -4
  265. package/docs/tui.md +23 -23
  266. package/docs/usage.md +112 -87
  267. package/docs/windows.md +10 -2
  268. package/examples/README.md +3 -1
  269. package/examples/extensions/README.md +6 -6
  270. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  271. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  272. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  273. package/examples/extensions/doom-overlay/README.md +2 -2
  274. package/examples/extensions/gondolin/package-lock.json +2 -2
  275. package/examples/extensions/gondolin/package.json +1 -1
  276. package/examples/extensions/plan-mode/README.md +3 -1
  277. package/examples/extensions/sandbox/package-lock.json +2 -2
  278. package/examples/extensions/sandbox/package.json +1 -1
  279. package/examples/extensions/subagent/README.md +13 -11
  280. package/examples/extensions/todo.ts +2 -1
  281. package/examples/extensions/with-deps/package-lock.json +2 -2
  282. package/examples/extensions/with-deps/package.json +1 -1
  283. package/examples/sdk/README.md +9 -5
  284. package/package.json +6 -7
  285. package/dist/builtin-extensions/lunr-behavior.d.ts +0 -44
  286. package/dist/builtin-extensions/lunr-behavior.d.ts.map +0 -1
  287. package/dist/builtin-extensions/lunr-behavior.js +0 -213
  288. package/dist/builtin-extensions/lunr-behavior.js.map +0 -1
  289. package/dist/builtin-extensions/pi-subagents/agents/context-builder.md +0 -46
  290. package/dist/builtin-extensions/pi-subagents/agents/deep-researcher.md +0 -36
  291. package/dist/builtin-extensions/pi-subagents/agents/delegate.md +0 -12
  292. package/dist/builtin-extensions/pi-subagents/agents/oracle.md +0 -73
  293. package/dist/builtin-extensions/pi-subagents/agents/planner.md +0 -55
  294. package/dist/builtin-extensions/pi-subagents/agents/research-writer.md +0 -37
  295. package/dist/builtin-extensions/pi-subagents/agents/researcher.md +0 -52
  296. package/dist/builtin-extensions/pi-subagents/agents/reviewer.md +0 -79
  297. package/dist/builtin-extensions/pi-subagents/agents/scout.md +0 -50
  298. package/dist/builtin-extensions/pi-subagents/agents/worker.md +0 -55
  299. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts +0 -20
  300. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.d.ts.map +0 -1
  301. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js +0 -1273
  302. package/dist/builtin-extensions/pi-subagents/src/agents/agent-management.js.map +0 -1
  303. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts +0 -49
  304. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.d.ts.map +0 -1
  305. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js +0 -252
  306. package/dist/builtin-extensions/pi-subagents/src/agents/agent-memory.js.map +0 -1
  307. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts +0 -3
  308. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.d.ts.map +0 -1
  309. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js +0 -6
  310. package/dist/builtin-extensions/pi-subagents/src/agents/agent-scope.js.map +0 -1
  311. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts +0 -3
  312. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.d.ts.map +0 -1
  313. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js +0 -23
  314. package/dist/builtin-extensions/pi-subagents/src/agents/agent-selection.js.map +0 -1
  315. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts +0 -8
  316. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.d.ts.map +0 -1
  317. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js +0 -143
  318. package/dist/builtin-extensions/pi-subagents/src/agents/agent-serializer.js.map +0 -1
  319. package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts +0 -176
  320. package/dist/builtin-extensions/pi-subagents/src/agents/agents.d.ts.map +0 -1
  321. package/dist/builtin-extensions/pi-subagents/src/agents/agents.js +0 -1326
  322. package/dist/builtin-extensions/pi-subagents/src/agents/agents.js.map +0 -1
  323. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts +0 -7
  324. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.d.ts.map +0 -1
  325. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js +0 -307
  326. package/dist/builtin-extensions/pi-subagents/src/agents/chain-serializer.js.map +0 -1
  327. package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts +0 -8
  328. package/dist/builtin-extensions/pi-subagents/src/agents/identity.d.ts.map +0 -1
  329. package/dist/builtin-extensions/pi-subagents/src/agents/identity.js +0 -30
  330. package/dist/builtin-extensions/pi-subagents/src/agents/identity.js.map +0 -1
  331. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts +0 -35
  332. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.d.ts.map +0 -1
  333. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js +0 -151
  334. package/dist/builtin-extensions/pi-subagents/src/agents/proactive-skills.js.map +0 -1
  335. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts +0 -131
  336. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.d.ts.map +0 -1
  337. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js +0 -491
  338. package/dist/builtin-extensions/pi-subagents/src/profiles/profiles.js.map +0 -1
  339. package/dist/core/behavior-preset.d.ts +0 -60
  340. package/dist/core/behavior-preset.d.ts.map +0 -1
  341. package/dist/core/behavior-preset.js +0 -257
  342. package/dist/core/behavior-preset.js.map +0 -1
@@ -0,0 +1,102 @@
1
+ # Built-in features
2
+
3
+ lunR ships these workflows as baked-in extensions. You do not need a third-party package for MCP, subagents, plan mode, or todos.
4
+
5
+ Sample code under `examples/extensions/plan-mode`, `examples/extensions/todo.ts`, and `examples/extensions/subagent/` is **Extension API sample code**, not the product implementation.
6
+
7
+ ## Permissions and plan mode
8
+
9
+ Permission modes: `manual | yolo | plan | auto`. Shift+Tab (`app.mode.cycle`) cycles that order. Thinking cycle is unbound; use `/thinking`, `/effort`, or `/reasoning`.
10
+
11
+ - **manual** — approve every tool
12
+ - **yolo** — auto-approve tools; **does not** bypass the swarm gate
13
+ - **plan** — read-oriented planning; the model calls `present_plan` with a summary; you approve or decline in a dock
14
+ - **auto** — fully autonomous
15
+
16
+ `/plan` enters plan mode. `/plan <task>` enters plan mode and sends the task. If you are already in plan, `/plan <task>` restores the previous mode and sends. Default startup mode is `defaultPermissionMode` in settings (`manual`).
17
+
18
+ `present_plan` is only available in plan mode. After approval, interactive lunR leaves plan mode before the tool result resolves.
19
+
20
+ ## Subagents and swarm
21
+
22
+ Advertised subagents always start **fresh** (no forked parent context). Default parallel concurrency / max tasks / global run cap are unlimited; an explicit `concurrency` is still honored.
23
+
24
+ A **swarm** is 3+ parallel subagents in one `tasks`/`chain.parallel` call, or 3+ same-turn SINGLE `subagent` calls. Swarms are gated in **manual and yolo**. Sequential work stays `chain`.
25
+
26
+ - `/swarm <task>` — orchestrate parallel subagents
27
+
28
+ `/goal` sets a session goal and **forces session auto** permission mode.
29
+
30
+ ## Todos, memory, and global instructions
31
+
32
+ - **Todos** — lunr-todos is a full-replace list. Completed todos prune on the next user turn (no leftover `✓ N done` footer).
33
+ - **Agent memory** — durable established facts and stable preferences in `~/.lunr/simple-memory/memory.md`. `/settings` → Agent memory controls injection and the `memory_add`, `memory_remove`, and `memory_load` tools without deleting stored facts. `memoryCharCap` defaults to 5000. Behavior instructions, transient task state, transcripts, guesses, and secrets do not belong in memory.
34
+ - **Global instructions** — create `~/.lunr/agent/AGENTS.md` yourself when you want global behavior or instructions. lunR injects it through the normal context loader; `/reload` picks up changes. The model cannot modify this user-managed file. The retired `behavior.md` file and behavior presets are no longer loaded.
35
+
36
+ ## Cron
37
+
38
+ `/cron list | create <schedule> <prompt> | pause|resume|run|remove <id-or-name> | status`
39
+
40
+ Jobs persist in `~/.lunr/agent/cron/` (`jobs.json`). Interactive TUI cron runs in the live session. `lunr gateway` runs the same scheduler with a fresh headless session. TUI cron uses the same deliver allowlist as the gateway.
41
+
42
+ `cronFallbackModels` in settings is a hand-edited list of `provider/modelId` entries tried in order when a gateway cron fire fails.
43
+
44
+ Schedule examples: `every 30m`, `every 2h`, `every 1d`, a duration one-shot (`30m`), an ISO timestamp, or a 5-field cron expression.
45
+
46
+ ## Gateway (Telegram / Discord)
47
+
48
+ Enable the chat-platforms feature, then run the daemon:
49
+
50
+ ```bash
51
+ lunr setup
52
+ lunr features enable chat-platforms
53
+ lunr gateway
54
+ ```
55
+
56
+ Config: `~/.lunr/agent/gateway.json` (chmod 0600; may hold bot tokens). Secrets do not go in `install-features.json`.
57
+
58
+ Token resolution: `LUNR_<PLATFORM>_BOT_TOKEN` env → `<PLATFORM>_BOT_TOKEN` env → file token.
59
+
60
+ ```bash
61
+ lunr gateway # run the daemon
62
+ lunr gateway pair approve <platform> <code>
63
+ lunr gateway pair list
64
+ lunr gateway status
65
+ ```
66
+
67
+ - Telegram: long-poll bot. Talk to @BotFather, put the token in `gateway.json` or `LUNR_TELEGRAM_BOT_TOKEN`, set `telegram.enabled = true`.
68
+ - Discord: mention-gated by default (`requireMention: true`). Enable the Message Content intent. No GuildMembers intent. Put the token in `gateway.json` or `LUNR_DISCORD_BOT_TOKEN`.
69
+ - Authz is fail-closed. Unauthorized DMs pair (`unauthorizedDmBehavior: "pair"`) unless you set `ignore`.
70
+ - Gateway `/new` while a session is busy aborts the live turn and drops the queue.
71
+
72
+ Without runnable adapters (enabled platform + resolvable token), `lunr gateway` prints setup instructions and exits 1.
73
+
74
+ ## MCP, LSP, web search
75
+
76
+ - **MCP** — `/mcp`, `/mcp-auth`. Footer MCP segment is on by default (`footerMcp`).
77
+ - **LSP** — `/lsp`, `/lsp-restart`, `/lsp-config`. Footer LSP segment is off by default (`footerLsp`). On Windows, npm `.cmd` shims need a real LSP start (`shell: true`); if the server never starts, tools silently fall back to tree-sitter. Check `/lsp` if language features look missing.
78
+ - **Web search** — `/websearch` (and related search commands). Interactive TUI attaches web-access after first paint; print/RPC/gateway load it before the first turn.
79
+
80
+ ## Thinking, usage, streaming, UI
81
+
82
+ - `/thinking`, `/effort`, and `/reasoning` are full-parity aliases. `/thinking` only offers levels the session model supports (`getSupportedThinkingLevels`). `xhigh` and `max` are opt-in.
83
+ - `/usage` is **this-session** context plus every stored-credential subscription plan. The current provider is included for env-only auth. There is no `/token-usage`.
84
+ - `/fast [on|off|status]` controls `service_tier: "fast"` for OpenAI Codex subscriptions only. It persists across new sessions, gateway turns, and subagents. Paid `openai` API models do not use it.
85
+ - Footer plan bar prefers a 5h window and falls back to weekly (`planUsageWindow`). Customize → Footer: plan usage hides the whole segment; Footer: plan bar hides only the █░ fill and keeps the percent.
86
+ - Click a ✻ Thought or tool card to expand/collapse that item. `app.tools.expand` is unbound. `/tree` still uses `ctrl+o` for filters.
87
+ - Smooth streaming (`smoothStreaming`, default off) is **interactive TUI only** (grapheme reveal at ~30 FPS). Print, RPC, and gateway stay unsmoothed.
88
+ - Image paste inserts `[image_n]` chips. On Windows, paste is **Alt+V** (Ctrl+V is the terminal’s). VS Code may eat Alt+V; forward it with `sendSequence` `\u001b[118;3u`.
89
+ - Model tiers: `/settings` Enable model tiers. Per-tier thinking; unset = parent session.
90
+
91
+ ## Updates, catalogs, local models
92
+
93
+ - `lunr update` / `lunr update --self` reinstalls global `@ashx-j/lunr` only. Workspace `npx lunr` is not a published install and will not self-update.
94
+ - Catalog refresh is `/refresh`. First paint is cache-only. `/model` lists stored-cred providers only.
95
+ - **xAI SuperGrok:** `/login xai` can import `~/.grok/auth.json` from the Grok CLI. `/logout xai` does not delete that file.
96
+ - **Ollama / LM Studio:** `/login` and select the local provider (localhost probe).
97
+ - **OpenCode Zen:** `/login opencode` then `/refresh`. Do not add a second Zen provider.
98
+
99
+ ## Intercom and skill-creator
100
+
101
+ - **Intercom** — `/intercom` for the built-in intercom broker.
102
+ - **Skill-creator** — `/skill:skill-creator` (model invocation disabled by default). Global skills go in `~/.lunr/agent/skills/<name>/`; project skills in `.lunr/skills/<name>/` (requires trust).
package/docs/index.md CHANGED
@@ -1,48 +1,54 @@
1
- # Pi Documentation
1
+ # lunR Documentation
2
2
 
3
- Pi is a minimal terminal coding harness. It is designed to stay small at the core while being extended through TypeScript extensions, skills, prompt templates, themes, and pi packages.
3
+ lunR is a terminal coding agent derived from pi. It stays small at the core while shipping MCP, subagents, permissions, plan mode, todos, cron, and a Telegram/Discord gateway — and it still extends through TypeScript extensions, skills, prompt templates, themes, and packages.
4
4
 
5
5
  ## Quick start
6
6
 
7
- Install Pi with npm:
7
+ Requires **Node.js 22.19**.
8
8
 
9
9
  ```bash
10
- npm install -g --ignore-scripts @earendil-works/pi-coding-agent
10
+ npm i -g @ashx-j/lunr
11
11
  ```
12
12
 
13
- `--ignore-scripts` disables dependency lifecycle scripts during install. Pi does not require install scripts for normal npm installs.
13
+ `--ignore-scripts` is optional; lunR does not require install scripts for a normal npm install.
14
14
 
15
- On Linux or macOS, you can also use the installer:
15
+ There is no pi.dev curl installer. Then run it in a project directory:
16
16
 
17
17
  ```bash
18
- curl -fsSL https://pi.dev/install.sh | sh
18
+ lunr
19
19
  ```
20
20
 
21
- To uninstall pi itself, use npm for curl and npm installs:
21
+ Authenticate with `/login` for subscription providers, or set an API key such as `ANTHROPIC_API_KEY` before starting lunR.
22
+
23
+ Optional features (chat gateway):
22
24
 
23
25
  ```bash
24
- npm uninstall -g @earendil-works/pi-coding-agent
26
+ lunr setup
27
+ lunr features list
28
+ lunr features enable chat-platforms
25
29
  ```
26
30
 
27
- For pnpm, Yarn, or Bun installs, use the matching global remove command: `pnpm remove -g @earendil-works/pi-coding-agent`, `yarn global remove @earendil-works/pi-coding-agent`, or `bun uninstall -g @earendil-works/pi-coding-agent`.
28
-
29
- Then run it in a project directory:
31
+ To uninstall the CLI:
30
32
 
31
33
  ```bash
32
- pi
34
+ lunr uninstall # keeps ~/.lunr/agent
35
+ lunr uninstall --purge # also wipes ~/.lunr/agent
33
36
  ```
34
37
 
35
- Authenticate with `/login` for subscription providers, or set an API key such as `ANTHROPIC_API_KEY` before starting pi.
38
+ `lunr uninstall <source>` removes an extension package (alias for `lunr remove`). `npm uninstall -g @ashx-j/lunr` also leaves `~/.lunr/agent` in place.
39
+
40
+ Config: `~/.lunr/agent` globally, project `.lunr/`. Override with `PI_CODING_AGENT_DIR`. Never use `~/.pi/` as the lunR home.
36
41
 
37
42
  For the full first-run flow, see [Quickstart](quickstart.md).
38
43
 
39
44
  ## Start here
40
45
 
41
46
  - [Quickstart](quickstart.md) - install, authenticate, and run a first session.
42
- - [Using Pi](usage.md) - interactive mode, slash commands, context files, and CLI reference.
47
+ - [Using lunR](usage.md) - interactive mode, slash commands, context files, and CLI reference.
48
+ - [Built-in features](features.md) - gateway, cron, MCP, LSP, subagents, plan, todos, and more.
43
49
  - [Providers](providers.md) - subscription and API-key setup for built-in providers.
44
50
  - [Security](security.md) - project trust, sandbox boundaries, and vulnerability reporting.
45
- - [Containerization](containerization.md) - sandbox pi with Gondolin, Docker, or OpenShell.
51
+ - [Containerization](containerization.md) - sandbox lunR with Gondolin, Docker, or OpenShell.
46
52
  - [Settings](settings.md) - global and project settings.
47
53
  - [Keybindings](keybindings.md) - default shortcuts and custom keybindings.
48
54
  - [Sessions](sessions.md) - session management, branching, and tree navigation.
@@ -53,14 +59,14 @@ For the full first-run flow, see [Quickstart](quickstart.md).
53
59
  - [Extensions](extensions.md) - TypeScript modules for tools, commands, events, and custom UI.
54
60
  - [Skills](skills.md) - Agent Skills for reusable on-demand capabilities.
55
61
  - [Prompt templates](prompt-templates.md) - reusable prompts that expand from slash commands.
56
- - [Themes](themes.md) - built-in and custom terminal themes.
57
- - [Pi packages](packages.md) - bundle and share extensions, skills, prompts, and themes.
62
+ - [Themes](themes.md) - built-in `moon` theme and custom terminal themes.
63
+ - [Packages](packages.md) - bundle and share extensions, skills, prompts, and themes.
58
64
  - [Custom models](models.md) - add model entries for supported provider APIs.
59
65
  - [Custom providers](custom-provider.md) - implement custom APIs and OAuth flows.
60
66
 
61
67
  ## Programmatic usage
62
68
 
63
- - [SDK](sdk.md) - embed pi in Node.js applications.
69
+ - [SDK](sdk.md) - embed lunR in Node.js applications (`npm install @ashx-j/lunr`).
64
70
  - [RPC mode](rpc.md) - integrate over stdin/stdout JSONL.
65
71
  - [JSON event stream mode](json.md) - print mode with structured events.
66
72
  - [TUI components](tui.md) - build custom terminal UI for extensions.
package/docs/json.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # JSON Event Stream Mode
2
2
 
3
3
  ```bash
4
- pi --mode json "Your prompt"
4
+ lunr --mode json "Your prompt"
5
5
  ```
6
6
 
7
- Outputs all session events as JSON lines to stdout. Useful for integrating pi into other tools or custom UIs.
7
+ Outputs all session events as JSON lines to stdout. Useful for integrating lunR into other tools or custom UIs.
8
8
 
9
9
  ## Event Types
10
10
 
11
- Events are defined in [`AgentSessionEvent`](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/agent-session.ts#L102):
11
+ Events are defined in [`AgentSessionEvent`](https://github.com/ashx-j/lunR/blob/master/packages/coding-agent/src/core/agent-session.ts#L102):
12
12
 
13
13
  ```typescript
14
14
  type AgentSessionEvent =
@@ -22,7 +22,7 @@ type AgentSessionEvent =
22
22
 
23
23
  `queue_update` emits the full pending steering and follow-up queues whenever they change. `compaction_start` and `compaction_end` cover both manual and automatic compaction.
24
24
 
25
- Base events from [`AgentEvent`](https://github.com/earendil-works/pi-mono/blob/main/packages/agent/src/types.ts#L179):
25
+ Base events from [`AgentEvent`](https://github.com/ashx-j/lunR/blob/master/packages/agent/src/types.ts#L179):
26
26
 
27
27
  ```typescript
28
28
  type AgentEvent =
@@ -44,12 +44,12 @@ type AgentEvent =
44
44
 
45
45
  ## Message Types
46
46
 
47
- Base messages from [`packages/ai/src/types.ts`](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/types.ts#L134):
47
+ Base messages from [`packages/ai/src/types.ts`](https://github.com/ashx-j/lunR/blob/master/packages/ai/src/types.ts#L134):
48
48
  - `UserMessage` (line 134)
49
49
  - `AssistantMessage` (line 140)
50
50
  - `ToolResultMessage` (line 152)
51
51
 
52
- Extended messages from [`packages/coding-agent/src/core/messages.ts`](https://github.com/earendil-works/pi-mono/blob/main/packages/coding-agent/src/core/messages.ts#L29):
52
+ Extended messages from [`packages/coding-agent/src/core/messages.ts`](https://github.com/ashx-j/lunR/blob/master/packages/coding-agent/src/core/messages.ts#L29):
53
53
  - `BashExecutionMessage` (line 29)
54
54
  - `CustomMessage` (line 46)
55
55
  - `BranchSummaryMessage` (line 55)
@@ -78,5 +78,5 @@ Followed by events as they occur:
78
78
  ## Example
79
79
 
80
80
  ```bash
81
- pi --mode json "List files" 2>/dev/null | jq -c 'select(.type == "message_end")'
81
+ lunr --mode json "List files" 2>/dev/null | jq -c 'select(.type == "message_end")'
82
82
  ```
@@ -1,12 +1,12 @@
1
1
  # Keybindings
2
2
 
3
- All keyboard shortcuts can be customized via `~/.pi/agent/keybindings.json`. Each action can be bound to one or more keys.
3
+ All keyboard shortcuts can be customized via `~/.lunr/agent/keybindings.json`. Each action can be bound to one or more keys.
4
4
 
5
- The config file uses the same namespaced keybinding ids that pi uses internally and that extension authors use in `keyHint()` and injected `keybindings` managers.
5
+ The config file uses the same namespaced keybinding ids that lunR uses internally and that extension authors use in `keyHint()` and injected `keybindings` managers.
6
6
 
7
7
  Older configs using pre-namespaced ids such as `cursorUp` or `expandTools` are migrated automatically to the namespaced ids on startup.
8
8
 
9
- After editing `keybindings.json`, run `/reload` in pi to apply the changes without restarting the session.
9
+ After editing `keybindings.json`, run `/reload` in lunR to apply the changes without restarting the session.
10
10
 
11
11
  ## Key Format
12
12
 
@@ -158,7 +158,7 @@ Used inside the scoped models selector (opened via `/scoped-models`).
158
158
 
159
159
  ## Custom Configuration
160
160
 
161
- Create `~/.pi/agent/keybindings.json`:
161
+ Create `~/.lunr/agent/keybindings.json`:
162
162
 
163
163
  ```json
164
164
  {
package/docs/models.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Custom Models
2
2
 
3
- Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via `~/.pi/agent/models.json`.
3
+ Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via `~/.lunr/agent/models.json`.
4
4
 
5
5
  ## Table of Contents
6
6
 
@@ -369,7 +369,7 @@ Behavior notes:
369
369
 
370
370
  For providers or proxies using `api: "anthropic-messages"`, use `compat` to control Anthropic-specific request compatibility.
371
371
 
372
- By default pi sends per-tool `eager_input_streaming: true`. If a proxy or Anthropic-compatible backend rejects that field, set `supportsEagerToolInputStreaming` to `false`. Pi will omit `tools[].eager_input_streaming` and send the legacy `fine-grained-tool-streaming-2025-05-14` beta header for tool-enabled requests instead.
372
+ By default pi sends per-tool `eager_input_streaming: true`. If a proxy or Anthropic-compatible backend rejects that field, set `supportsEagerToolInputStreaming` to `false`. lunR will omit `tools[].eager_input_streaming` and send the legacy `fine-grained-tool-streaming-2025-05-14` beta header for tool-enabled requests instead.
373
373
 
374
374
  Some Anthropic models require adaptive thinking (`thinking.type: "adaptive"` plus `output_config.effort`) instead of the legacy budget-based thinking payload. Built-in models set this automatically. For custom providers or aliases that route to those models, set `forceAdaptiveThinking` to `true`.
375
375
 
package/docs/packages.md CHANGED
@@ -1,14 +1,14 @@
1
- > pi can help you create pi packages. Ask it to bundle your extensions, skills, prompt templates, or themes.
1
+ > lunR can help you create packages. Ask it to bundle your extensions, skills, prompt templates, or themes.
2
2
 
3
- # Pi Packages
3
+ # Packages
4
4
 
5
- Pi packages bundle extensions, skills, prompt templates, and themes so you can share them through npm or git. A package can declare resources in `package.json` under the `pi` key, or use conventional directories.
5
+ lunR packages bundle extensions, skills, prompt templates, and themes so you can share them through npm or git. A package can declare resources in `package.json` under the `pi` key (keep that key), or use conventional directories.
6
6
 
7
7
  ## Table of Contents
8
8
 
9
9
  - [Install and Manage](#install-and-manage)
10
10
  - [Package Sources](#package-sources)
11
- - [Creating a Pi Package](#creating-a-pi-package)
11
+ - [Creating a Package](#creating-a-package)
12
12
  - [Package Structure](#package-structure)
13
13
  - [Dependencies](#dependencies)
14
14
  - [Package Filtering](#package-filtering)
@@ -17,41 +17,38 @@ Pi packages bundle extensions, skills, prompt templates, and themes so you can s
17
17
 
18
18
  ## Install and Manage
19
19
 
20
- > **Security:** Pi packages run with full system access. Extensions execute arbitrary code, and skills can instruct the model to perform any action including running executables. Review source code before installing third-party packages.
20
+ > **Security:** Packages run with full system access. Extensions execute arbitrary code, and skills can instruct the model to perform any action including running executables. Review source code before installing third-party packages.
21
21
 
22
22
  ```bash
23
- pi install npm:@foo/bar@1.0.0
24
- pi install git:github.com/user/repo@v1
25
- pi install https://github.com/user/repo # raw URLs work too
26
- pi install /absolute/path/to/package
27
- pi install ./relative/path/to/package
28
-
29
- pi remove npm:@foo/bar
30
- pi list # show installed packages from settings
31
- pi update # update pi only
32
- pi update --all # update pi, update packages, and reconcile pinned git refs
33
- pi update --extensions # update packages and reconcile pinned git refs only
34
- pi update --models # refresh model catalogs only
35
- pi update --self # update pi only
36
- pi update --self --force # reinstall pi even if current
37
- pi update npm:@foo/bar # update one package
38
- pi update --extension npm:@foo/bar
23
+ lunr install npm:@foo/bar@1.0.0
24
+ lunr install git:github.com/user/repo@v1
25
+ lunr install https://github.com/user/repo # raw URLs work too
26
+ lunr install /absolute/path/to/package
27
+ lunr install ./relative/path/to/package
28
+
29
+ lunr remove npm:@foo/bar
30
+ lunr uninstall npm:@foo/bar # alias for remove (requires a source)
31
+ lunr list # show installed packages from settings
32
+ lunr update # reinstall global @ashx-j/lunr only
33
+ lunr update --self # same as lunr update
39
34
  ```
40
35
 
41
- These commands manage pi packages and `pi update` can update the pi CLI installation. To uninstall pi itself, see [Quickstart](quickstart.md#uninstall).
36
+ `lunr update` does not take `--models`, `--all`, `--force`, or `--extensions`. Refresh catalogs with `/refresh`. Reinstall a git package at a new ref with `lunr install git:host/user/repo@new-ref`.
42
37
 
43
- By default, `install` and `remove` write to user settings (`~/.pi/agent/settings.json`). Use `-l` to write to project settings (`.pi/settings.json`) instead. Project settings can be shared with your team, and pi installs any missing packages automatically on startup after the project is trusted.
38
+ These commands manage packages. `lunr update` reinstalls the published global CLI. To uninstall lunR itself, see [Quickstart](quickstart.md#uninstall). `lunr uninstall` with no source removes the CLI; `lunr uninstall <source>` removes a package.
39
+
40
+ By default, `install` and `remove` write to user settings (`~/.lunr/agent/settings.json`). Use `-l` to write to project settings (`.lunr/settings.json`) instead. Project settings can be shared with your team, and lunR installs any missing packages automatically on startup after the project is trusted.
44
41
 
45
42
  To try a package without installing it, use `--extension` or `-e`. This installs to a temporary directory for the current run only:
46
43
 
47
44
  ```bash
48
- pi -e npm:@foo/bar
49
- pi -e git:github.com/user/repo
45
+ lunr -e npm:@foo/bar
46
+ lunr -e git:github.com/user/repo
50
47
  ```
51
48
 
52
49
  ## Package Sources
53
50
 
54
- Pi accepts three source types in settings and `pi install`.
51
+ lunR accepts three source types in settings and `lunr install`.
55
52
 
56
53
  ### npm
57
54
 
@@ -60,9 +57,9 @@ npm:@scope/pkg@1.2.3
60
57
  npm:pkg
61
58
  ```
62
59
 
63
- - Versioned specs are pinned and skipped by package updates (`pi update --extensions`, `pi update --all`).
64
- - User installs go under `~/.pi/agent/npm/`.
65
- - Project installs go under `.pi/npm/`.
60
+ - Versioned specs are pinned. `lunr update` does not refresh packages; reinstall with a new spec to move a pin.
61
+ - User installs go under `~/.lunr/agent/npm/`.
62
+ - Project installs go under `.lunr/npm/`.
66
63
  - Set `npmCommand` in `settings.json` to pin npm package lookup and install operations to a specific wrapper command such as `mise` or `asdf`.
67
64
 
68
65
  Example:
@@ -87,21 +84,20 @@ ssh://git@github.com/user/repo@v1
87
84
  - HTTPS and SSH URLs are both supported.
88
85
  - SSH URLs use your configured SSH keys automatically (respects `~/.ssh/config`).
89
86
  - For non-interactive runs (for example CI), you can set `GIT_TERMINAL_PROMPT=0` to disable credential prompts and set `GIT_SSH_COMMAND` (for example `ssh -o BatchMode=yes -o ConnectTimeout=5`) to fail fast.
90
- - Refs are pinned tags or commits. `pi update --extensions` and `pi update --all` do not move them to newer refs, but they do reconcile an existing clone to the configured ref.
91
- - Use `pi install git:host/user/repo@new-ref` to update settings and move an existing package to a new pinned ref.
92
- - Cloned to `~/.pi/agent/git/<host>/<path>` (global) or `.pi/git/<host>/<path>` (project).
93
- - When reconciliation changes the checkout, pi resets and cleans the clone, then runs `npm install` if `package.json` exists.
87
+ - Refs are pinned tags or commits. `lunr update` does not refresh packages. Use `lunr install git:host/user/repo@new-ref` to move an existing package to a new pinned ref.
88
+ - Cloned to `~/.lunr/agent/git/<host>/<path>` (global) or `.lunr/git/<host>/<path>` (project).
89
+ - When the checkout changes, lunR resets and cleans the clone, then runs `npm install` if `package.json` exists.
94
90
 
95
91
  **SSH examples:**
96
92
  ```bash
97
93
  # git@host:path shorthand (requires git: prefix)
98
- pi install git:git@github.com:user/repo
94
+ lunr install git:git@github.com:user/repo
99
95
 
100
96
  # ssh:// protocol format
101
- pi install ssh://git@github.com/user/repo
97
+ lunr install ssh://git@github.com/user/repo
102
98
 
103
99
  # With version ref
104
- pi install git:git@github.com:user/repo@v1.0.0
100
+ lunr install git:git@github.com:user/repo@v1.0.0
105
101
  ```
106
102
 
107
103
  ### Local Paths
@@ -111,9 +107,9 @@ pi install git:git@github.com:user/repo@v1.0.0
111
107
  ./relative/path/to/package
112
108
  ```
113
109
 
114
- Local paths point to files or directories on disk and are added to settings without copying. Relative paths are resolved against the settings file they appear in. If the path is a file, it loads as a single extension. If it is a directory, pi loads resources using package rules.
110
+ Local paths point to files or directories on disk and are added to settings without copying. Relative paths are resolved against the settings file they appear in. If the path is a file, it loads as a single extension. If it is a directory, lunR loads resources using package rules.
115
111
 
116
- ## Creating a Pi Package
112
+ ## Creating a Package
117
113
 
118
114
  Add a `pi` manifest to `package.json` or use conventional directories. Include the `pi-package` keyword for discoverability.
119
115
 
@@ -166,11 +162,11 @@ If no `pi` manifest is present, pi auto-discovers resources from these directori
166
162
 
167
163
  ## Dependencies
168
164
 
169
- Third party runtime dependencies belong in `dependencies` in `package.json`. Dependencies that do not register extensions, skills, prompt templates, or themes also belong in `dependencies`. When pi installs a package from npm or git, it runs `npm install`, so those dependencies are installed automatically.
165
+ Third party runtime dependencies belong in `dependencies` in `package.json`. Dependencies that do not register extensions, skills, prompt templates, or themes also belong in `dependencies`. When lunr installs a package from npm or git, it runs `npm install`, so those dependencies are installed automatically.
170
166
 
171
- Pi bundles core packages for extensions and skills. If you import any of these, list them in `peerDependencies` with a `"*"` range and do not bundle them: `@earendil-works/pi-ai`, `@earendil-works/pi-agent-core`, `@earendil-works/pi-coding-agent`, `@earendil-works/pi-tui`, `typebox`.
167
+ lunR bundles core packages for extensions and skills. If you import any of these, list them in `peerDependencies` with a `"*"` range and do not bundle them: `@ashx-j/lunr-ai`, `@ashx-j/lunr-agent`, `@ashx-j/lunr`, `@ashx-j/lunr-tui`, `typebox`.
172
168
 
173
- Other pi packages must be bundled in your tarball. Add them to `dependencies` and `bundledDependencies`, then reference their resources through `node_modules/` paths. Pi loads packages with separate module roots, so separate installs do not collide or share modules.
169
+ Other packages must be bundled in your tarball. Add them to `dependencies` and `bundledDependencies`, then reference their resources through `node_modules/` paths. lunR loads packages with separate module roots, so separate installs do not collide or share modules.
174
170
 
175
171
  Example:
176
172
 
@@ -217,7 +213,7 @@ Filter what a package loads using the object form in settings:
217
213
 
218
214
  ## Enable and Disable Resources
219
215
 
220
- Use `pi config` to enable or disable extensions, skills, prompt templates, and themes from installed packages and local directories. `pi config` starts in global settings (`~/.pi/agent/settings.json`); press Tab to switch between global and project-local modes. Use `pi config -l` to start in project overrides (`.pi/settings.json`) with inherited global resources dimmed.
216
+ Use `lunr config` to enable or disable extensions, skills, prompt templates, and themes from installed packages and local directories. `lunr config` starts in global settings (`~/.lunr/agent/settings.json`); press Tab to switch between global and project-local modes. Use `lunr config -l` to start in project overrides (`.lunr/settings.json`) with inherited global resources dimmed.
221
217
 
222
218
  ## Scope and Deduplication
223
219
 
@@ -1,4 +1,4 @@
1
- > pi can create prompt templates. Ask it to build one for your workflow.
1
+ > lunR can create prompt templates. Ask it to build one for your workflow.
2
2
 
3
3
  # Prompt Templates
4
4
 
@@ -6,10 +6,10 @@ Prompt templates are Markdown snippets that expand into full prompts. Type `/nam
6
6
 
7
7
  ## Locations
8
8
 
9
- Pi loads prompt templates from:
9
+ lunR loads prompt templates from:
10
10
 
11
- - Global: `~/.pi/agent/prompts/*.md`
12
- - Project: `.pi/prompts/*.md` (only after the project is trusted)
11
+ - Global: `~/.lunr/agent/prompts/*.md`
12
+ - Project: `.lunr/prompts/*.md` (only after the project is trusted)
13
13
  - Packages: `prompts/` directories or `pi.prompts` entries in `package.json`
14
14
  - Settings: `prompts` array with files or directories
15
15
  - CLI: `--prompt-template <path>` (repeatable)
package/docs/providers.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Providers
2
2
 
3
- Pi supports subscription-based providers via OAuth and API key providers via environment variables or auth file. Built-in catalogs ship with pi; configured providers may refresh newer catalogs and cache them in `~/.pi/agent/models-store.json` for offline use.
3
+ lunR supports subscription-based providers via OAuth and API-key providers via environment variables or the auth file. Built-in catalogs ship with lunR. First paint is cache-only. `/model` lists stored-credential providers only. Run `/refresh` to pull newer catalogs; configured providers cache shards in `~/.lunr/agent/models-store.json` for offline use.
4
4
 
5
5
  ## Table of Contents
6
6
 
@@ -21,7 +21,7 @@ Use `/login` in interactive mode, then select a provider:
21
21
  - xAI (Grok/X subscription)
22
22
  - Radius
23
23
 
24
- Use `/logout` to clear credentials. Tokens are stored in `~/.pi/agent/auth.json` and auto-refresh when expired.
24
+ Use `/logout` to clear credentials. Tokens are stored in `~/.lunr/agent/auth.json` and auto-refresh when expired.
25
25
 
26
26
  ### OpenAI Codex
27
27
 
@@ -40,12 +40,24 @@ Anthropic subscription auth is active for Claude Pro/Max accounts. Third-party h
40
40
  ### xAI (Grok/X subscription)
41
41
 
42
42
  - Run `/login xai`, then select **Use a subscription**
43
+ - `/login xai` can import the Grok CLI session from `~/.grok/auth.json` when lunR's own token is expired or after `invalid_grant`
44
+ - `/logout xai` does **not** delete `~/.grok/auth.json`
43
45
  - `XAI_API_KEY` remains available through **Use an API key**
44
46
 
45
47
  ### Radius
46
48
 
47
49
  Radius is a dynamic `pi-messages` gateway. `/login radius` stores OAuth tokens in `auth.json`; the gateway catalog is refreshed independently and cached in `models-store.json`. Custom Radius gateways can be declared in `models.json` with `"oauth": "radius"` and a gateway `baseUrl`.
48
50
 
51
+ ### Local Ollama and LM Studio
52
+
53
+ `/login` includes local servers. Selecting Ollama or LM Studio probes localhost (3s timeout) and stores a dummy credential so the models appear in `/model`. If the server is offline, the model list refreshes empty and the provider becomes unavailable.
54
+
55
+ You can still add custom local entries in `~/.lunr/agent/models.json`; see [Custom Models](models.md).
56
+
57
+ ### OpenCode Zen
58
+
59
+ `/login opencode` (or `OPENCODE_API_KEY`) then `/refresh`. Free rows rotate from live `/v1/models` intersected with models.dev. There is no second Zen provider.
60
+
49
61
  ## API Keys
50
62
 
51
63
  ### Environment Variables or Auth File
@@ -54,7 +66,7 @@ Use `/login` in interactive mode and select a provider to store an API key in `a
54
66
 
55
67
  ```bash
56
68
  export ANTHROPIC_API_KEY=sk-ant-...
57
- pi
69
+ lunr
58
70
  ```
59
71
 
60
72
  | Provider | Environment Variable | `auth.json` key |
@@ -95,11 +107,11 @@ pi
95
107
 
96
108
  OpenCode Zen free models still require `/login opencode` (or `OPENCODE_API_KEY`). The free set rotates; `/refresh` after login pulls the official catalog shard.
97
109
 
98
- Reference for environment variables and `auth.json` keys: [`const envMap`](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/env-api-keys.ts) in [`packages/ai/src/env-api-keys.ts`](https://github.com/earendil-works/pi-mono/blob/main/packages/ai/src/env-api-keys.ts).
110
+ Reference for environment variables and `auth.json` keys: [`const envMap`](https://github.com/ashx-j/lunR/blob/master/packages/ai/src/env-api-keys.ts) in [`packages/ai/src/env-api-keys.ts`](https://github.com/ashx-j/lunR/blob/master/packages/ai/src/env-api-keys.ts).
99
111
 
100
112
  #### Auth File
101
113
 
102
- Store credentials in `~/.pi/agent/auth.json`:
114
+ Store credentials in `~/.lunr/agent/auth.json`:
103
115
 
104
116
  ```json
105
117
  {
@@ -209,14 +221,14 @@ export AWS_REGION=us-west-2
209
221
  Also supports ECS task roles (`AWS_CONTAINER_CREDENTIALS_*`) and IRSA (`AWS_WEB_IDENTITY_TOKEN_FILE`).
210
222
 
211
223
  ```bash
212
- pi --provider amazon-bedrock --model us.anthropic.claude-sonnet-4-20250514-v1:0
224
+ lunr --provider amazon-bedrock --model us.anthropic.claude-sonnet-4-20250514-v1:0
213
225
  ```
214
226
 
215
227
  Prompt caching is enabled automatically for Claude models whose ID contains a recognizable model name (base models and system-defined inference profiles). For application inference profiles (whose ARNs don't contain the model name), set `AWS_BEDROCK_FORCE_CACHE=1` to enable cache points:
216
228
 
217
229
  ```bash
218
230
  export AWS_BEDROCK_FORCE_CACHE=1
219
- pi --provider amazon-bedrock --model arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/abc123
231
+ lunr --provider amazon-bedrock --model arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/abc123
220
232
  ```
221
233
 
222
234
  If you are connecting to a Bedrock API proxy, the following environment variables can be used:
@@ -240,7 +252,7 @@ export AWS_BEDROCK_FORCE_HTTP1=1
240
252
  export CLOUDFLARE_API_KEY=... # or use /login
241
253
  export CLOUDFLARE_ACCOUNT_ID=...
242
254
  export CLOUDFLARE_GATEWAY_ID=... # create at dash.cloudflare.com → AI → AI Gateway
243
- pi --provider cloudflare-ai-gateway --model "claude-sonnet-4-5"
255
+ lunr --provider cloudflare-ai-gateway --model "claude-sonnet-4-5"
244
256
  ```
245
257
 
246
258
  Routes to OpenAI, Anthropic, and Workers AI through Cloudflare AI Gateway. Workers AI uses the Unified API (`/compat`) and prefixed model IDs (`workers-ai/@cf/...`). OpenAI uses the OpenAI passthrough route (`/openai`) with native OpenAI model IDs such as `gpt-5.1`. Anthropic uses the Anthropic passthrough route (`/anthropic`) with native Anthropic model IDs such as `claude-sonnet-4-5`.
@@ -263,10 +275,10 @@ For normal pi usage, prefer unified billing or stored BYOK. Inline BYOK requires
263
275
  ```bash
264
276
  export CLOUDFLARE_API_KEY=... # or use /login
265
277
  export CLOUDFLARE_ACCOUNT_ID=...
266
- pi --provider cloudflare-workers-ai --model "@cf/moonshotai/kimi-k2.6"
278
+ lunr --provider cloudflare-workers-ai --model "@cf/moonshotai/kimi-k2.6"
267
279
  ```
268
280
 
269
- Pi automatically sets `x-session-affinity` for [prefix caching](https://developers.cloudflare.com/workers-ai/features/prompt-caching/) discounts.
281
+ lunR automatically sets `x-session-affinity` for [prefix caching](https://developers.cloudflare.com/workers-ai/features/prompt-caching/) discounts.
270
282
 
271
283
  ### Google Vertex AI
272
284