@hera-al/server 1.6.1

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/LICENSE +21 -0
  2. package/README.md +325 -0
  3. package/bundled/apple-notes/SKILL.md +77 -0
  4. package/bundled/apple-reminders/SKILL.md +96 -0
  5. package/bundled/blogwatcher/SKILL.md +69 -0
  6. package/bundled/camsnap/SKILL.md +45 -0
  7. package/bundled/discord/SKILL.md +578 -0
  8. package/bundled/gemini/SKILL.md +43 -0
  9. package/bundled/gifgrep/SKILL.md +79 -0
  10. package/bundled/github/SKILL.md +77 -0
  11. package/bundled/gog/SKILL.md +116 -0
  12. package/bundled/goplaces/SKILL.md +52 -0
  13. package/bundled/himalaya/SKILL.md +257 -0
  14. package/bundled/himalaya/references/configuration.md +184 -0
  15. package/bundled/himalaya/references/message-composition.md +199 -0
  16. package/bundled/homebrew/SKILL.md +82 -0
  17. package/bundled/local-places/SERVER_README.md +101 -0
  18. package/bundled/local-places/SKILL.md +102 -0
  19. package/bundled/local-places/pyproject.toml +21 -0
  20. package/bundled/local-places/src/local_places/__init__.py +2 -0
  21. package/bundled/local-places/src/local_places/google_places.py +314 -0
  22. package/bundled/local-places/src/local_places/main.py +65 -0
  23. package/bundled/local-places/src/local_places/schemas.py +107 -0
  24. package/bundled/markitdown/SKILL.md +96 -0
  25. package/bundled/mcporter/SKILL.md +61 -0
  26. package/bundled/merge-pr/SKILL.md +187 -0
  27. package/bundled/merge-pr/agents/openai.yaml +4 -0
  28. package/bundled/nano-banana-pro/SKILL.md +58 -0
  29. package/bundled/nano-banana-pro/scripts/generate_image.py +184 -0
  30. package/bundled/nano-pdf/SKILL.md +38 -0
  31. package/bundled/open-prose/README.md +25 -0
  32. package/bundled/open-prose/index.ts +5 -0
  33. package/bundled/open-prose/openclaw.plugin.json +11 -0
  34. package/bundled/open-prose/package.json +15 -0
  35. package/bundled/open-prose/skills/prose/LICENSE +21 -0
  36. package/bundled/open-prose/skills/prose/SKILL.md +323 -0
  37. package/bundled/open-prose/skills/prose/alt-borges.md +141 -0
  38. package/bundled/open-prose/skills/prose/alts/arabian-nights.md +358 -0
  39. package/bundled/open-prose/skills/prose/alts/borges.md +360 -0
  40. package/bundled/open-prose/skills/prose/alts/folk.md +322 -0
  41. package/bundled/open-prose/skills/prose/alts/homer.md +346 -0
  42. package/bundled/open-prose/skills/prose/alts/kafka.md +373 -0
  43. package/bundled/open-prose/skills/prose/compiler.md +2971 -0
  44. package/bundled/open-prose/skills/prose/examples/01-hello-world.prose +4 -0
  45. package/bundled/open-prose/skills/prose/examples/02-research-and-summarize.prose +6 -0
  46. package/bundled/open-prose/skills/prose/examples/03-code-review.prose +17 -0
  47. package/bundled/open-prose/skills/prose/examples/04-write-and-refine.prose +14 -0
  48. package/bundled/open-prose/skills/prose/examples/05-debug-issue.prose +20 -0
  49. package/bundled/open-prose/skills/prose/examples/06-explain-codebase.prose +17 -0
  50. package/bundled/open-prose/skills/prose/examples/07-refactor.prose +20 -0
  51. package/bundled/open-prose/skills/prose/examples/08-blog-post.prose +20 -0
  52. package/bundled/open-prose/skills/prose/examples/09-research-with-agents.prose +25 -0
  53. package/bundled/open-prose/skills/prose/examples/10-code-review-agents.prose +32 -0
  54. package/bundled/open-prose/skills/prose/examples/11-skills-and-imports.prose +27 -0
  55. package/bundled/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +43 -0
  56. package/bundled/open-prose/skills/prose/examples/13-variables-and-context.prose +51 -0
  57. package/bundled/open-prose/skills/prose/examples/14-composition-blocks.prose +48 -0
  58. package/bundled/open-prose/skills/prose/examples/15-inline-sequences.prose +23 -0
  59. package/bundled/open-prose/skills/prose/examples/16-parallel-reviews.prose +19 -0
  60. package/bundled/open-prose/skills/prose/examples/17-parallel-research.prose +19 -0
  61. package/bundled/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +36 -0
  62. package/bundled/open-prose/skills/prose/examples/19-advanced-parallel.prose +71 -0
  63. package/bundled/open-prose/skills/prose/examples/20-fixed-loops.prose +20 -0
  64. package/bundled/open-prose/skills/prose/examples/21-pipeline-operations.prose +35 -0
  65. package/bundled/open-prose/skills/prose/examples/22-error-handling.prose +51 -0
  66. package/bundled/open-prose/skills/prose/examples/23-retry-with-backoff.prose +63 -0
  67. package/bundled/open-prose/skills/prose/examples/24-choice-blocks.prose +86 -0
  68. package/bundled/open-prose/skills/prose/examples/25-conditionals.prose +114 -0
  69. package/bundled/open-prose/skills/prose/examples/26-parameterized-blocks.prose +100 -0
  70. package/bundled/open-prose/skills/prose/examples/27-string-interpolation.prose +105 -0
  71. package/bundled/open-prose/skills/prose/examples/28-automated-pr-review.prose +37 -0
  72. package/bundled/open-prose/skills/prose/examples/28-gas-town.prose +1572 -0
  73. package/bundled/open-prose/skills/prose/examples/29-captains-chair.prose +218 -0
  74. package/bundled/open-prose/skills/prose/examples/30-captains-chair-simple.prose +42 -0
  75. package/bundled/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +145 -0
  76. package/bundled/open-prose/skills/prose/examples/33-pr-review-autofix.prose +168 -0
  77. package/bundled/open-prose/skills/prose/examples/34-content-pipeline.prose +204 -0
  78. package/bundled/open-prose/skills/prose/examples/35-feature-factory.prose +296 -0
  79. package/bundled/open-prose/skills/prose/examples/36-bug-hunter.prose +237 -0
  80. package/bundled/open-prose/skills/prose/examples/37-the-forge.prose +1474 -0
  81. package/bundled/open-prose/skills/prose/examples/38-skill-scan.prose +455 -0
  82. package/bundled/open-prose/skills/prose/examples/39-architect-by-simulation.prose +277 -0
  83. package/bundled/open-prose/skills/prose/examples/40-rlm-self-refine.prose +32 -0
  84. package/bundled/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +38 -0
  85. package/bundled/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +46 -0
  86. package/bundled/open-prose/skills/prose/examples/43-rlm-pairwise.prose +50 -0
  87. package/bundled/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +261 -0
  88. package/bundled/open-prose/skills/prose/examples/45-plugin-release.prose +159 -0
  89. package/bundled/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +637 -0
  90. package/bundled/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +148 -0
  91. package/bundled/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +225 -0
  92. package/bundled/open-prose/skills/prose/examples/47-language-self-improvement.prose +356 -0
  93. package/bundled/open-prose/skills/prose/examples/48-habit-miner.prose +445 -0
  94. package/bundled/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +210 -0
  95. package/bundled/open-prose/skills/prose/examples/README.md +391 -0
  96. package/bundled/open-prose/skills/prose/examples/roadmap/README.md +22 -0
  97. package/bundled/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +20 -0
  98. package/bundled/open-prose/skills/prose/examples/roadmap/parallel-review.prose +18 -0
  99. package/bundled/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +17 -0
  100. package/bundled/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +223 -0
  101. package/bundled/open-prose/skills/prose/guidance/antipatterns.md +951 -0
  102. package/bundled/open-prose/skills/prose/guidance/patterns.md +700 -0
  103. package/bundled/open-prose/skills/prose/guidance/system-prompt.md +180 -0
  104. package/bundled/open-prose/skills/prose/help.md +144 -0
  105. package/bundled/open-prose/skills/prose/lib/README.md +108 -0
  106. package/bundled/open-prose/skills/prose/lib/calibrator.prose +215 -0
  107. package/bundled/open-prose/skills/prose/lib/cost-analyzer.prose +174 -0
  108. package/bundled/open-prose/skills/prose/lib/error-forensics.prose +250 -0
  109. package/bundled/open-prose/skills/prose/lib/inspector.prose +196 -0
  110. package/bundled/open-prose/skills/prose/lib/profiler.prose +460 -0
  111. package/bundled/open-prose/skills/prose/lib/program-improver.prose +275 -0
  112. package/bundled/open-prose/skills/prose/lib/project-memory.prose +118 -0
  113. package/bundled/open-prose/skills/prose/lib/user-memory.prose +93 -0
  114. package/bundled/open-prose/skills/prose/lib/vm-improver.prose +243 -0
  115. package/bundled/open-prose/skills/prose/primitives/session.md +593 -0
  116. package/bundled/open-prose/skills/prose/prose.md +1237 -0
  117. package/bundled/open-prose/skills/prose/state/filesystem.md +498 -0
  118. package/bundled/open-prose/skills/prose/state/in-context.md +384 -0
  119. package/bundled/open-prose/skills/prose/state/postgres.md +880 -0
  120. package/bundled/open-prose/skills/prose/state/sqlite.md +574 -0
  121. package/bundled/peekaboo/SKILL.md +190 -0
  122. package/bundled/prepare-pr/SKILL.md +277 -0
  123. package/bundled/prepare-pr/agents/openai.yaml +4 -0
  124. package/bundled/review-pr/SKILL.md +228 -0
  125. package/bundled/review-pr/agents/openai.yaml +4 -0
  126. package/bundled/sag/SKILL.md +87 -0
  127. package/bundled/skill-creator/SKILL.md +370 -0
  128. package/bundled/skill-creator/license.txt +202 -0
  129. package/bundled/skill-creator/scripts/init_skill.py +378 -0
  130. package/bundled/skill-creator/scripts/package_skill.py +111 -0
  131. package/bundled/skill-creator/scripts/quick_validate.py +101 -0
  132. package/bundled/spotify-player/SKILL.md +64 -0
  133. package/bundled/ssh/SKILL.md +119 -0
  134. package/bundled/summarize/SKILL.md +87 -0
  135. package/bundled/video-frames/SKILL.md +46 -0
  136. package/bundled/video-frames/scripts/frame.sh +81 -0
  137. package/bundled/voice-call/SKILL.md +45 -0
  138. package/bundled/wacli/SKILL.md +72 -0
  139. package/bundled/weather/SKILL.md +54 -0
  140. package/dist/agent/agent-service.d.ts +88 -0
  141. package/dist/agent/agent-service.js +1 -0
  142. package/dist/agent/message-queue.d.ts +24 -0
  143. package/dist/agent/message-queue.js +1 -0
  144. package/dist/agent/prompt-builder.d.ts +58 -0
  145. package/dist/agent/prompt-builder.js +1 -0
  146. package/dist/agent/session-agent.d.ts +197 -0
  147. package/dist/agent/session-agent.js +1 -0
  148. package/dist/agent/session-db.d.ts +26 -0
  149. package/dist/agent/session-db.js +1 -0
  150. package/dist/agent/session-error-handler.d.ts +37 -0
  151. package/dist/agent/session-error-handler.js +1 -0
  152. package/dist/agent/session-manager.d.ts +19 -0
  153. package/dist/agent/session-manager.js +1 -0
  154. package/dist/agent/workspace-files.d.ts +51 -0
  155. package/dist/agent/workspace-files.js +1 -0
  156. package/dist/auth/auth-middleware.d.ts +9 -0
  157. package/dist/auth/auth-middleware.js +1 -0
  158. package/dist/auth/node-signature-db.d.ts +30 -0
  159. package/dist/auth/node-signature-db.js +1 -0
  160. package/dist/auth/token-db.d.ts +38 -0
  161. package/dist/auth/token-db.js +1 -0
  162. package/dist/browser/browser-service.d.ts +9 -0
  163. package/dist/browser/browser-service.js +1 -0
  164. package/dist/channels/channel.d.ts +2 -0
  165. package/dist/channels/channel.js +1 -0
  166. package/dist/channels/responses.d.ts +21 -0
  167. package/dist/channels/responses.js +1 -0
  168. package/dist/commands/clear.d.ts +7 -0
  169. package/dist/commands/clear.js +1 -0
  170. package/dist/commands/cmd.d.ts +7 -0
  171. package/dist/commands/cmd.js +1 -0
  172. package/dist/commands/coder.d.ts +12 -0
  173. package/dist/commands/coder.js +1 -0
  174. package/dist/commands/command-registry.d.ts +12 -0
  175. package/dist/commands/command-registry.js +1 -0
  176. package/dist/commands/command.d.ts +22 -0
  177. package/dist/commands/command.js +1 -0
  178. package/dist/commands/compact.d.ts +7 -0
  179. package/dist/commands/compact.js +1 -0
  180. package/dist/commands/customsubagents.d.ts +15 -0
  181. package/dist/commands/customsubagents.js +1 -0
  182. package/dist/commands/help.d.ts +9 -0
  183. package/dist/commands/help.js +1 -0
  184. package/dist/commands/mcp.d.ts +9 -0
  185. package/dist/commands/mcp.js +1 -0
  186. package/dist/commands/model.d.ts +22 -0
  187. package/dist/commands/model.js +1 -0
  188. package/dist/commands/models.d.ts +11 -0
  189. package/dist/commands/models.js +1 -0
  190. package/dist/commands/new.d.ts +7 -0
  191. package/dist/commands/new.js +1 -0
  192. package/dist/commands/plugin.d.ts +7 -0
  193. package/dist/commands/plugin.js +1 -0
  194. package/dist/commands/sandbox.d.ts +12 -0
  195. package/dist/commands/sandbox.js +1 -0
  196. package/dist/commands/showtool.d.ts +12 -0
  197. package/dist/commands/showtool.js +1 -0
  198. package/dist/commands/status.d.ts +24 -0
  199. package/dist/commands/status.js +1 -0
  200. package/dist/commands/stop.d.ts +10 -0
  201. package/dist/commands/stop.js +1 -0
  202. package/dist/commands/subagents.d.ts +12 -0
  203. package/dist/commands/subagents.js +1 -0
  204. package/dist/commands/usage.d.ts +25 -0
  205. package/dist/commands/usage.js +1 -0
  206. package/dist/commands/useplugin.d.ts +7 -0
  207. package/dist/commands/useplugin.js +1 -0
  208. package/dist/config-watcher.d.ts +14 -0
  209. package/dist/config-watcher.js +1 -0
  210. package/dist/config.d.ts +267 -0
  211. package/dist/config.js +1 -0
  212. package/dist/cron/cron-service.d.ts +57 -0
  213. package/dist/cron/cron-service.js +1 -0
  214. package/dist/cron/heartbeat-token.d.ts +29 -0
  215. package/dist/cron/heartbeat-token.js +1 -0
  216. package/dist/cron/schedule.d.ts +3 -0
  217. package/dist/cron/schedule.js +1 -0
  218. package/dist/cron/store.d.ts +4 -0
  219. package/dist/cron/store.js +1 -0
  220. package/dist/cron/types.d.ts +47 -0
  221. package/dist/cron/types.js +1 -0
  222. package/dist/gateway/bridge.d.ts +38 -0
  223. package/dist/gateway/bridge.js +1 -0
  224. package/dist/gateway/channel-manager.d.ts +45 -0
  225. package/dist/gateway/channel-manager.js +1 -0
  226. package/dist/gateway/channels/qr-image.d.ts +5 -0
  227. package/dist/gateway/channels/qr-image.js +1 -0
  228. package/dist/gateway/channels/telegram.d.ts +39 -0
  229. package/dist/gateway/channels/telegram.js +1 -0
  230. package/dist/gateway/channels/webchat.d.ts +51 -0
  231. package/dist/gateway/channels/webchat.js +1 -0
  232. package/dist/gateway/channels/whatsapp.d.ts +40 -0
  233. package/dist/gateway/channels/whatsapp.js +1 -0
  234. package/dist/gateway/node-registry.d.ts +38 -0
  235. package/dist/gateway/node-registry.js +1 -0
  236. package/dist/heracli/index.d.ts +3 -0
  237. package/dist/heracli/index.js +2 -0
  238. package/dist/heracli/logs.d.ts +13 -0
  239. package/dist/heracli/logs.js +1 -0
  240. package/dist/heracli/security/audit.d.ts +17 -0
  241. package/dist/heracli/security/audit.js +1 -0
  242. package/dist/heracli/security/checks/channel-policies.d.ts +6 -0
  243. package/dist/heracli/security/checks/channel-policies.js +1 -0
  244. package/dist/heracli/security/checks/credentials.d.ts +6 -0
  245. package/dist/heracli/security/checks/credentials.js +1 -0
  246. package/dist/heracli/security/checks/fs-permissions.d.ts +6 -0
  247. package/dist/heracli/security/checks/fs-permissions.js +1 -0
  248. package/dist/heracli/security/checks/network.d.ts +4 -0
  249. package/dist/heracli/security/checks/network.js +1 -0
  250. package/dist/heracli/security/report.d.ts +4 -0
  251. package/dist/heracli/security/report.js +1 -0
  252. package/dist/index.d.ts +3 -0
  253. package/dist/index.js +2 -0
  254. package/dist/installer/hera.d.ts +3 -0
  255. package/dist/installer/hera.js +2 -0
  256. package/dist/media/message-processor.d.ts +23 -0
  257. package/dist/media/message-processor.js +1 -0
  258. package/dist/memory/memory-manager.d.ts +21 -0
  259. package/dist/memory/memory-manager.js +1 -0
  260. package/dist/memory/memory-provider.d.ts +22 -0
  261. package/dist/memory/memory-provider.js +1 -0
  262. package/dist/memory/memory-search.d.ts +102 -0
  263. package/dist/memory/memory-search.js +1 -0
  264. package/dist/memory/recall-strategies.d.ts +2 -0
  265. package/dist/memory/recall-strategies.js +1 -0
  266. package/dist/nostromo/auth.d.ts +29 -0
  267. package/dist/nostromo/auth.js +1 -0
  268. package/dist/nostromo/nostromo.d.ts +23 -0
  269. package/dist/nostromo/nostromo.js +1 -0
  270. package/dist/nostromo/ui-html-layout.d.ts +3 -0
  271. package/dist/nostromo/ui-html-layout.js +1 -0
  272. package/dist/nostromo/ui-html-modals.d.ts +3 -0
  273. package/dist/nostromo/ui-html-modals.js +1 -0
  274. package/dist/nostromo/ui-js-agent.d.ts +3 -0
  275. package/dist/nostromo/ui-js-agent.js +1 -0
  276. package/dist/nostromo/ui-js-channels.d.ts +3 -0
  277. package/dist/nostromo/ui-js-channels.js +1 -0
  278. package/dist/nostromo/ui-js-competences.d.ts +3 -0
  279. package/dist/nostromo/ui-js-competences.js +1 -0
  280. package/dist/nostromo/ui-js-config.d.ts +3 -0
  281. package/dist/nostromo/ui-js-config.js +1 -0
  282. package/dist/nostromo/ui-js-core.d.ts +3 -0
  283. package/dist/nostromo/ui-js-core.js +1 -0
  284. package/dist/nostromo/ui-js-ops.d.ts +3 -0
  285. package/dist/nostromo/ui-js-ops.js +1 -0
  286. package/dist/nostromo/ui-js-prompts.d.ts +3 -0
  287. package/dist/nostromo/ui-js-prompts.js +1 -0
  288. package/dist/nostromo/ui-styles.d.ts +3 -0
  289. package/dist/nostromo/ui-styles.js +1 -0
  290. package/dist/nostromo/ui.d.ts +2 -0
  291. package/dist/nostromo/ui.js +1 -0
  292. package/dist/server.d.ts +80 -0
  293. package/dist/server.js +1 -0
  294. package/dist/stt/local-whisper.d.ts +9 -0
  295. package/dist/stt/local-whisper.js +1 -0
  296. package/dist/stt/openai-whisper.d.ts +14 -0
  297. package/dist/stt/openai-whisper.js +1 -0
  298. package/dist/stt/stt-loader.d.ts +4 -0
  299. package/dist/stt/stt-loader.js +1 -0
  300. package/dist/stt/stt-provider.d.ts +4 -0
  301. package/dist/stt/stt-provider.js +1 -0
  302. package/dist/tools/browser-tools.d.ts +9 -0
  303. package/dist/tools/browser-tools.js +1 -0
  304. package/dist/tools/cron-tools.d.ts +4 -0
  305. package/dist/tools/cron-tools.js +1 -0
  306. package/dist/tools/memory-tools.d.ts +3 -0
  307. package/dist/tools/memory-tools.js +1 -0
  308. package/dist/tools/message-tools.d.ts +5 -0
  309. package/dist/tools/message-tools.js +1 -0
  310. package/dist/tools/node-tools.d.ts +3 -0
  311. package/dist/tools/node-tools.js +1 -0
  312. package/dist/tools/server-tools.d.ts +2 -0
  313. package/dist/tools/server-tools.js +1 -0
  314. package/dist/tools/tts-tools.d.ts +3 -0
  315. package/dist/tools/tts-tools.js +1 -0
  316. package/dist/tts/tts-service.d.ts +19 -0
  317. package/dist/tts/tts-service.js +1 -0
  318. package/dist/utils/chunk.d.ts +3 -0
  319. package/dist/utils/chunk.js +1 -0
  320. package/dist/utils/logger.d.ts +16 -0
  321. package/dist/utils/logger.js +1 -0
  322. package/dist/utils/markdown/fences.d.ts +11 -0
  323. package/dist/utils/markdown/fences.js +1 -0
  324. package/dist/utils/markdown/ir.d.ts +33 -0
  325. package/dist/utils/markdown/ir.js +1 -0
  326. package/dist/utils/markdown/render.d.ts +19 -0
  327. package/dist/utils/markdown/render.js +1 -0
  328. package/dist/utils/markdown/tables.d.ts +3 -0
  329. package/dist/utils/markdown/tables.js +1 -0
  330. package/dist/utils/media-response.d.ts +29 -0
  331. package/dist/utils/media-response.js +1 -0
  332. package/dist/utils/package-paths.d.ts +5 -0
  333. package/dist/utils/package-paths.js +1 -0
  334. package/dist/utils/telegram-format.d.ts +13 -0
  335. package/dist/utils/telegram-format.js +1 -0
  336. package/installationPkg/.env.example +26 -0
  337. package/installationPkg/AGENTS.md +143 -0
  338. package/installationPkg/BOOTSTRAP.md +45 -0
  339. package/installationPkg/CBINT.json +16 -0
  340. package/installationPkg/HEARTBEAT.md +5 -0
  341. package/installationPkg/IDENTITY.md +7 -0
  342. package/installationPkg/SOUL.md +36 -0
  343. package/installationPkg/SYSTEM_PROMPT.md +55 -0
  344. package/installationPkg/SYSTEM_PROMPT_SUBAGENT.md +40 -0
  345. package/installationPkg/TOOLS.md +36 -0
  346. package/installationPkg/USER.md +11 -0
  347. package/installationPkg/config.example.yaml +291 -0
  348. package/package.json +95 -0
@@ -0,0 +1,275 @@
1
+ # Program Improver
2
+ # Analyzes inspection reports and proposes improvements to .prose source code
3
+ #
4
+ # Usage:
5
+ # prose run @openprose/lib/program-improver
6
+ #
7
+ # Inputs:
8
+ # inspection_path: Path to inspection binding
9
+ # run_path: Path to the inspected run (to find program.prose)
10
+ #
11
+ # Output: PR to source repo if accessible, otherwise proposal file
12
+
13
+ input inspection_path: "Path to inspection output (bindings/inspection.md)"
14
+ input run_path: "Path to the inspected run directory"
15
+
16
+ # ============================================================
17
+ # Agents
18
+ # ============================================================
19
+
20
+ agent locator:
21
+ model: sonnet
22
+ prompt: """
23
+ You find the source location of .prose programs.
24
+
25
+ Check:
26
+ - Registry reference in program header (e.g., @handle/slug)
27
+ - Local file paths
28
+ - Whether source repo is accessible for PRs
29
+ """
30
+
31
+ agent analyst:
32
+ model: opus
33
+ prompt: """
34
+ You analyze OpenProse inspection reports for program improvement opportunities.
35
+
36
+ Look for:
37
+ - Wrong model tier (using opus where sonnet suffices, or vice versa)
38
+ - Missing error handling (no try/catch around risky operations)
39
+ - Suboptimal control flow (sequential where parallel would work)
40
+ - Context passing issues (passing too much, or missing context)
41
+ - Unnecessary complexity (over-engineered for the task)
42
+ - Missing parallelization (independent operations run sequentially)
43
+ - Agent prompt issues (vague, missing constraints, wrong role)
44
+
45
+ Be specific. Quote evidence from inspection.
46
+ """
47
+
48
+ agent implementer:
49
+ model: opus
50
+ prompt: """
51
+ You improve .prose programs while preserving their intent.
52
+
53
+ Rules:
54
+ - Keep the same overall structure
55
+ - Make minimal, targeted changes
56
+ - Follow OpenProse idioms
57
+ - Preserve comments and documentation
58
+ - One logical improvement per change
59
+ """
60
+
61
+ agent pr_author:
62
+ model: sonnet
63
+ prompt: """
64
+ You create branches and pull requests or write proposal files.
65
+ """
66
+
67
+ # ============================================================
68
+ # Phase 1: Locate Program Source
69
+ # ============================================================
70
+
71
+ let source_info = session: locator
72
+ prompt: """
73
+ Find the source of the inspected program.
74
+
75
+ Run path: {run_path}
76
+
77
+ Steps:
78
+ 1. Read {run_path}/program.prose
79
+ 2. Check header for registry reference (e.g., # from: @handle/slug)
80
+ 3. Check if it's a lib/ program (part of OpenProse)
81
+ 4. Determine if we can create a PR
82
+
83
+ Return JSON:
84
+ {
85
+ "program_name": "name from header or filename",
86
+ "registry_ref": "@handle/slug or null",
87
+ "source_type": "lib" | "local" | "registry" | "unknown",
88
+ "source_path": "path to original source or null",
89
+ "source_repo": "git repo URL or null",
90
+ "can_pr": true/false,
91
+ "program_content": "full program source"
92
+ }
93
+ """
94
+ context: run_path
95
+
96
+ # ============================================================
97
+ # Phase 2: Analyze for Improvements
98
+ # ============================================================
99
+
100
+ let analysis = session: analyst
101
+ prompt: """
102
+ Analyze this program and its inspection for improvement opportunities.
103
+
104
+ Program source:
105
+ {source_info.program_content}
106
+
107
+ Inspection report: {inspection_path}
108
+
109
+ For each opportunity:
110
+ - category: model-tier | error-handling | flow | context | complexity | parallel | prompts
111
+ - description: what could be better
112
+ - severity: low | medium | high
113
+ - location: which part of program (agent name, phase, line range)
114
+ - evidence: what in the inspection suggests this
115
+ - proposed_fix: brief description of the change
116
+
117
+ Return JSON:
118
+ {
119
+ "program_name": "{source_info.program_name}",
120
+ "opportunities": [...],
121
+ "priority_order": [indices by impact]
122
+ }
123
+ """
124
+ context: { source_info, inspection_path }
125
+
126
+ if **no actionable opportunities found**:
127
+ output result = {
128
+ status: "no-improvements-needed",
129
+ source_info: source_info,
130
+ analysis: analysis,
131
+ message: "Program executed well, no obvious improvements"
132
+ }
133
+
134
+ # ============================================================
135
+ # Phase 3: User Selection
136
+ # ============================================================
137
+
138
+ input selection: """
139
+ ## Program Improvement Opportunities
140
+
141
+ Program: {source_info.program_name}
142
+ Source: {source_info.source_type} ({source_info.source_path})
143
+ Can PR: {source_info.can_pr}
144
+
145
+ ### Opportunities Found:
146
+ {analysis.opportunities}
147
+
148
+ ---
149
+
150
+ Which improvements should I implement?
151
+ - List by number
152
+ - Or "all" for everything
153
+ - Or "none" to skip
154
+ """
155
+
156
+ if **user selected none or wants to skip**:
157
+ output result = {
158
+ status: "skipped",
159
+ source_info: source_info,
160
+ analysis: analysis
161
+ }
162
+
163
+ let selected = session "Parse selection"
164
+ prompt: "Extract selected opportunity indices"
165
+ context: { selection, analysis }
166
+
167
+ # ============================================================
168
+ # Phase 4: Implement Changes
169
+ # ============================================================
170
+
171
+ let implementation = session: implementer
172
+ prompt: """
173
+ Implement the selected improvements to this program.
174
+
175
+ Original program:
176
+ {source_info.program_content}
177
+
178
+ Selected opportunities: {selected}
179
+ Full analysis: {analysis}
180
+
181
+ Write the improved program. Make all selected changes.
182
+
183
+ Return JSON:
184
+ {
185
+ "improved_program": "full .prose source with improvements",
186
+ "changes_made": [
187
+ {
188
+ "opportunity_index": N,
189
+ "description": "what was changed",
190
+ "lines_affected": "before/after summary"
191
+ }
192
+ ],
193
+ "branch_name": "program/{program_name}-improvements"
194
+ }
195
+ """
196
+ context: { source_info, selected, analysis }
197
+
198
+ # ============================================================
199
+ # Phase 5: Create PR or Proposal
200
+ # ============================================================
201
+
202
+ if **source_info.can_pr is true**:
203
+ let pr = session: pr_author
204
+ prompt: """
205
+ Create a PR for this program improvement.
206
+
207
+ Source path: {source_info.source_path}
208
+ Source repo: {source_info.source_repo}
209
+ Branch: {implementation.branch_name}
210
+ Changes: {implementation.changes_made}
211
+ Improved program: {implementation.improved_program}
212
+
213
+ Steps:
214
+ 1. cd to repo containing source
215
+ 2. Create branch
216
+ 3. Write improved program to source path
217
+ 4. Commit with clear message
218
+ 5. Push and create PR
219
+
220
+ PR body should explain each improvement.
221
+
222
+ Return: { pr_url, branch, title }
223
+ """
224
+ context: { source_info, implementation }
225
+ permissions:
226
+ bash: allow
227
+ write: ["**/*.prose"]
228
+
229
+ output result = {
230
+ status: "pr-created",
231
+ source_info: source_info,
232
+ analysis: analysis,
233
+ implementation: implementation,
234
+ pr: pr
235
+ }
236
+
237
+ else:
238
+ # Write proposal file since we can't PR
239
+ let proposal_path = session: pr_author
240
+ prompt: """
241
+ Write a proposal file for this improvement.
242
+
243
+ Since we can't create a PR directly, write a proposal to:
244
+ .prose/proposals/{source_info.program_name}-improvements.md
245
+
246
+ Include:
247
+ # Improvement Proposal: {source_info.program_name}
248
+
249
+ ## Original Source
250
+ {source_info.source_path or source_info.registry_ref}
251
+
252
+ ## Changes Proposed
253
+ {implementation.changes_made}
254
+
255
+ ## Improved Program
256
+ ```prose
257
+ {implementation.improved_program}
258
+ ```
259
+
260
+ ## How to Apply
261
+ Instructions for manually applying or submitting upstream.
262
+
263
+ Return: { proposal_path }
264
+ """
265
+ context: { source_info, implementation }
266
+ permissions:
267
+ write: [".prose/proposals/*.md"]
268
+
269
+ output result = {
270
+ status: "proposal-written",
271
+ source_info: source_info,
272
+ analysis: analysis,
273
+ implementation: implementation,
274
+ proposal: proposal_path
275
+ }
@@ -0,0 +1,118 @@
1
+ # Project Memory
2
+ # A persistent agent that understands this specific project
3
+ #
4
+ # Usage:
5
+ # prose run @openprose/lib/project-memory --backend sqlite+
6
+ #
7
+ # Recommended backend: sqlite+ (for durable project-scoped persistence)
8
+ #
9
+ # Modes:
10
+ # ingest: Read and understand content (code, docs, history)
11
+ # query: Ask questions about the project
12
+ # update: Record decisions, changes, or learnings
13
+ # summarize: Get an overview of the project
14
+ #
15
+ # The memory agent builds understanding over time. Ingest key files,
16
+ # record decisions as you make them, and query when you need context.
17
+
18
+ input mode: "Mode: ingest | query | update | summarize"
19
+ input content: "Content to ingest, question to ask, update to record, or topic to summarize"
20
+
21
+ # ============================================================
22
+ # Agent
23
+ # ============================================================
24
+
25
+ agent memory:
26
+ model: opus
27
+ persist: project
28
+ prompt: """
29
+ You are this project's institutional memory.
30
+
31
+ You know:
32
+ - Architecture and design decisions (and WHY they were made)
33
+ - Key files, modules, and their purposes
34
+ - Patterns and conventions used in this codebase
35
+ - History of major changes and refactors
36
+ - Known issues, tech debt, and workarounds
37
+ - Dependencies and their purposes
38
+ - Configuration and environment setup
39
+ - Team decisions and their rationale
40
+
41
+ Principles:
42
+ - Remember the WHY, not just the WHAT.
43
+ - Track evolution—how things changed over time.
44
+ - Note uncertainty and gaps in your knowledge.
45
+ - Reference specific files, commits, or discussions when possible.
46
+ - Keep knowledge structured and retrievable.
47
+ """
48
+
49
+ # ============================================================
50
+ # Modes
51
+ # ============================================================
52
+
53
+ if **mode is ingest**:
54
+ output result = resume: memory
55
+ prompt: """
56
+ Ingest and understand this content:
57
+
58
+ {content}
59
+
60
+ This might be code, documentation, git history, PR discussions,
61
+ architecture diagrams, or any other project artifact.
62
+
63
+ Extract the important information and integrate it into your
64
+ understanding of this project. Note:
65
+ - What this tells you about the project
66
+ - How it connects to what you already know
67
+ - Any new patterns or conventions you observe
68
+ """
69
+
70
+ elif **mode is query**:
71
+ output result = resume: memory
72
+ prompt: """
73
+ Question: {content}
74
+
75
+ Answer from your knowledge of this project.
76
+
77
+ When relevant:
78
+ - Reference specific files or modules
79
+ - Cite decisions or discussions you remember
80
+ - Note historical context
81
+ - Flag if you're uncertain or making inferences
82
+ """
83
+
84
+ elif **mode is update**:
85
+ output result = resume: memory
86
+ prompt: """
87
+ Record this update:
88
+
89
+ {content}
90
+
91
+ This might be:
92
+ - A new architectural decision
93
+ - A change in direction or approach
94
+ - A lesson learned from debugging
95
+ - New context about requirements
96
+ - Tech debt being added or resolved
97
+
98
+ Integrate this into your project knowledge. Note the date
99
+ and how this relates to previous understanding.
100
+ """
101
+
102
+ elif **mode is summarize**:
103
+ output result = resume: memory
104
+ prompt: """
105
+ Summarize your knowledge about: {content}
106
+
107
+ If this is a broad topic (or empty), give a project overview.
108
+ If specific, focus on that area.
109
+
110
+ Include:
111
+ - Current state of understanding
112
+ - Key decisions and their rationale
113
+ - Known issues or gaps
114
+ - Recent changes if relevant
115
+ """
116
+
117
+ else:
118
+ throw "Unknown mode: {mode}. Use: ingest, query, update, or summarize"
@@ -0,0 +1,93 @@
1
+ # User Memory
2
+ # A persistent agent that learns and remembers across all your projects
3
+ #
4
+ # Usage:
5
+ # prose run @openprose/lib/user-memory --backend sqlite+
6
+ #
7
+ # Recommended backend: sqlite+ (for durable cross-project persistence)
8
+ #
9
+ # Modes:
10
+ # teach: Add new knowledge
11
+ # query: Ask questions
12
+ # reflect: Summarize what you know about a topic
13
+ #
14
+ # The memory agent accumulates knowledge over time. Each interaction
15
+ # builds on previous ones. Use liberally—teach it your preferences,
16
+ # decisions, patterns, and lessons learned.
17
+
18
+ input mode: "Mode: teach | query | reflect"
19
+ input content: "What to teach, ask, or reflect on"
20
+
21
+ # ============================================================
22
+ # Agent
23
+ # ============================================================
24
+
25
+ agent memory:
26
+ model: opus
27
+ persist: user
28
+ prompt: """
29
+ You are the user's personal knowledge base, persisting across all projects.
30
+
31
+ You remember:
32
+ - Technical preferences (languages, frameworks, patterns they prefer)
33
+ - Architectural decisions and their reasoning
34
+ - Coding conventions and style preferences
35
+ - Mistakes they've learned from (and what to do instead)
36
+ - Domain knowledge they've accumulated
37
+ - Project contexts and how they relate
38
+ - Tools, libraries, and configurations they use
39
+ - Opinions and strong preferences
40
+
41
+ Principles:
42
+ - Be concise. Store knowledge efficiently.
43
+ - Prioritize actionable knowledge over trivia.
44
+ - Note confidence levels when uncertain.
45
+ - Update previous knowledge when new info contradicts it.
46
+ - Connect related pieces of knowledge.
47
+ """
48
+
49
+ # ============================================================
50
+ # Modes
51
+ # ============================================================
52
+
53
+ if **mode is teach**:
54
+ output result = resume: memory
55
+ prompt: """
56
+ Learn and remember this:
57
+
58
+ {content}
59
+
60
+ Integrate with your existing knowledge. If this updates or
61
+ contradicts something you knew before, note the change.
62
+
63
+ Respond with a brief confirmation of what you learned.
64
+ """
65
+
66
+ elif **mode is query**:
67
+ output result = resume: memory
68
+ prompt: """
69
+ Question: {content}
70
+
71
+ Answer from your accumulated knowledge about this user.
72
+
73
+ If you know relevant context, share it.
74
+ If you're uncertain, say so.
75
+ If you don't know, say that clearly.
76
+ """
77
+
78
+ elif **mode is reflect**:
79
+ output result = resume: memory
80
+ prompt: """
81
+ Reflect on your knowledge about: {content}
82
+
83
+ Summarize:
84
+ - What you know about this topic
85
+ - How confident you are
86
+ - Gaps in your knowledge
87
+ - What would be valuable to learn
88
+
89
+ Be honest about the limits of what you know.
90
+ """
91
+
92
+ else:
93
+ throw "Unknown mode: {mode}. Use: teach, query, or reflect"