@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,391 @@
1
+ # OpenProse Examples
2
+
3
+ These examples demonstrate workflows using OpenProse's full feature set.
4
+
5
+ ## Available Examples
6
+
7
+ ### Basics (01-08)
8
+
9
+ | File | Description |
10
+ | --------------------------------- | -------------------------------------------- |
11
+ | `01-hello-world.prose` | Simplest possible program - a single session |
12
+ | `02-research-and-summarize.prose` | Research a topic, then summarize findings |
13
+ | `03-code-review.prose` | Multi-perspective code review pipeline |
14
+ | `04-write-and-refine.prose` | Draft content and iteratively improve it |
15
+ | `05-debug-issue.prose` | Step-by-step debugging workflow |
16
+ | `06-explain-codebase.prose` | Progressive exploration of a codebase |
17
+ | `07-refactor.prose` | Systematic refactoring workflow |
18
+ | `08-blog-post.prose` | End-to-end content creation |
19
+
20
+ ### Agents & Skills (09-12)
21
+
22
+ | File | Description |
23
+ | ----------------------------------- | ------------------------------------ |
24
+ | `09-research-with-agents.prose` | Custom agents with model selection |
25
+ | `10-code-review-agents.prose` | Specialized reviewer agents |
26
+ | `11-skills-and-imports.prose` | External skill imports |
27
+ | `12-secure-agent-permissions.prose` | Agent permissions and access control |
28
+
29
+ ### Variables & Composition (13-15)
30
+
31
+ | File | Description |
32
+ | -------------------------------- | ----------------------------------- |
33
+ | `13-variables-and-context.prose` | let/const bindings, context passing |
34
+ | `14-composition-blocks.prose` | Named blocks, do blocks |
35
+ | `15-inline-sequences.prose` | Arrow operator chains |
36
+
37
+ ### Parallel Execution (16-19)
38
+
39
+ | File | Description |
40
+ | ------------------------------------ | ----------------------------------------- |
41
+ | `16-parallel-reviews.prose` | Basic parallel execution |
42
+ | `17-parallel-research.prose` | Named parallel results |
43
+ | `18-mixed-parallel-sequential.prose` | Combined parallel and sequential patterns |
44
+ | `19-advanced-parallel.prose` | Join strategies, failure policies |
45
+
46
+ ### Loops (20)
47
+
48
+ | File | Description |
49
+ | ---------------------- | --------------------------------------- |
50
+ | `20-fixed-loops.prose` | repeat, for-each, parallel for patterns |
51
+
52
+ ### Pipelines (21)
53
+
54
+ | File | Description |
55
+ | ------------------------------ | ----------------------------------------- |
56
+ | `21-pipeline-operations.prose` | map, filter, reduce, pmap transformations |
57
+
58
+ ### Error Handling (22-23)
59
+
60
+ | File | Description |
61
+ | ----------------------------- | -------------------------------------- |
62
+ | `22-error-handling.prose` | try/catch/finally patterns |
63
+ | `23-retry-with-backoff.prose` | Resilient API calls with retry/backoff |
64
+
65
+ ### Advanced Features (24-27)
66
+
67
+ | File | Description |
68
+ | ------------------------------- | --------------------------------- |
69
+ | `24-choice-blocks.prose` | AI-selected branching |
70
+ | `25-conditionals.prose` | if/elif/else patterns |
71
+ | `26-parameterized-blocks.prose` | Reusable blocks with arguments |
72
+ | `27-string-interpolation.prose` | Dynamic prompts with {var} syntax |
73
+
74
+ ### Orchestration Systems (28-31)
75
+
76
+ | File | Description |
77
+ | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
78
+ | `28-gas-town.prose` | Multi-agent orchestration ("Kubernetes for agents") with 7 worker roles, patrols, convoys, and GUPP propulsion |
79
+ | `29-captains-chair.prose` | Full captain's chair pattern: coordinating agent dispatches subagents for all work, with parallel research, critic review cycles, and checkpoint validation |
80
+ | `30-captains-chair-simple.prose` | Minimal captain's chair: core pattern without complexity |
81
+ | `31-captains-chair-with-memory.prose` | Captain's chair with retrospective analysis and session-to-session learning |
82
+
83
+ ### Production Workflows (33-38)
84
+
85
+ | File | Description |
86
+ | ---------------------------- | ---------------------------------------- |
87
+ | `33-pr-review-autofix.prose` | Automated PR review with fix suggestions |
88
+ | `34-content-pipeline.prose` | End-to-end content creation pipeline |
89
+ | `35-feature-factory.prose` | Feature implementation automation |
90
+ | `36-bug-hunter.prose` | Systematic bug detection and analysis |
91
+ | `37-the-forge.prose` | Build a browser from scratch |
92
+ | `38-skill-scan.prose` | Skill discovery and analysis |
93
+
94
+ ### Architecture Patterns (39)
95
+
96
+ | File | Description |
97
+ | ---------------------------------- | ---------------------------------------------------------------------------------------------------- |
98
+ | `39-architect-by-simulation.prose` | Design systems through simulated implementation phases with serial handoffs and persistent architect |
99
+
100
+ ### Recursive Language Models (40-43)
101
+
102
+ | File | Description |
103
+ | ----------------------------- | ------------------------------------------------------------------- |
104
+ | `40-rlm-self-refine.prose` | Recursive refinement until quality threshold - the core RLM pattern |
105
+ | `41-rlm-divide-conquer.prose` | Hierarchical chunking for inputs beyond context limits |
106
+ | `42-rlm-filter-recurse.prose` | Filter-then-process for needle-in-haystack tasks |
107
+ | `43-rlm-pairwise.prose` | O(n^2) pairwise aggregation for relationship mapping |
108
+
109
+ ### Meta / Self-Hosting (44-48)
110
+
111
+ | File | Description |
112
+ | ------------------------------------ | ------------------------------------------------------------------ |
113
+ | `44-run-endpoint-ux-test.prose` | Concurrent agents testing the /run API endpoint |
114
+ | `45-plugin-release.prose` | OpenProse plugin release workflow (this repo) |
115
+ | `46-workflow-crystallizer.prose` | Reflective: observes thread, extracts workflow, writes .prose |
116
+ | `47-language-self-improvement.prose` | Meta-level 2: analyzes .prose corpus to evolve the language itself |
117
+ | `48-habit-miner.prose` | Mines AI session logs for patterns, generates .prose automations |
118
+
119
+ ## The Architect By Simulation Pattern
120
+
121
+ The architect-by-simulation pattern is for designing systems by "implementing" them through reasoning. Instead of writing code, each phase produces specification documents that the next phase builds upon.
122
+
123
+ **Key principles:**
124
+
125
+ 1. **Thinking/deduction framework**: "Implement" means reasoning through design decisions
126
+ 2. **Serial pipeline with handoffs**: Each phase reads previous phase's output
127
+ 3. **Persistent architect**: Maintains master plan and synthesizes learnings
128
+ 4. **User checkpoint**: Get plan approval BEFORE executing the pipeline
129
+ 5. **Simulation as implementation**: The spec IS the deliverable
130
+
131
+ ```prose
132
+ # The core pattern
133
+ agent architect:
134
+ model: opus
135
+ persist: true
136
+ prompt: "Design by simulating implementation"
137
+
138
+ # Create master plan with phases
139
+ let plan = session: architect
140
+ prompt: "Break feature into design phases"
141
+
142
+ # User reviews the plan BEFORE the pipeline runs
143
+ input user_approval: "User reviews plan and approves"
144
+
145
+ # Execute phases serially with handoffs
146
+ for phase_name, index in phases:
147
+ let handoff = session: phase-executor
148
+ prompt: "Execute phase {index}"
149
+ context: previous_handoffs
150
+
151
+ # Architect synthesizes after each phase
152
+ resume: architect
153
+ prompt: "Synthesize learnings from phase {index}"
154
+ context: handoff
155
+
156
+ # Synthesize all handoffs into final spec
157
+ output spec = session: architect
158
+ prompt: "Synthesize all handoffs into final spec"
159
+ ```
160
+
161
+ See example 39 for the full implementation.
162
+
163
+ ## The Captain's Chair Pattern
164
+
165
+ The captain's chair is an orchestration paradigm where a coordinating agent (the "captain") dispatches specialized subagents for all execution. The captain never writes code directly—only plans, coordinates, and validates.
166
+
167
+ **Key principles:**
168
+
169
+ 1. **Context isolation**: Subagents receive targeted context, not everything
170
+ 2. **Parallel execution**: Multiple subagents work concurrently where possible
171
+ 3. **Continuous criticism**: Critic agents review plans and outputs mid-stream
172
+ 4. **80/20 planning**: 80% effort on planning, 20% on execution oversight
173
+ 5. **Checkpoint validation**: User approval at key decision points
174
+
175
+ ```prose
176
+ # The core pattern
177
+ agent captain:
178
+ model: opus
179
+ prompt: "Coordinate but never execute directly"
180
+
181
+ agent executor:
182
+ model: sonnet
183
+ prompt: "Execute assigned tasks precisely"
184
+
185
+ agent critic:
186
+ model: sonnet
187
+ prompt: "Review work and find issues"
188
+
189
+ # Captain plans
190
+ let plan = session: captain
191
+ prompt: "Break down this task"
192
+
193
+ # Parallel execution with criticism
194
+ parallel:
195
+ work = session: executor
196
+ context: plan
197
+ review = session: critic
198
+ context: plan
199
+
200
+ # Captain validates
201
+ output result = session: captain
202
+ prompt: "Validate and integrate"
203
+ context: { work, review }
204
+ ```
205
+
206
+ See examples 29-31 for full implementations.
207
+
208
+ ## The Recursive Language Model Pattern
209
+
210
+ Recursive Language Models (RLMs) are a paradigm for handling inputs far beyond context limits. The key insight: treat the prompt as an external environment that the LLM can symbolically interact with, chunk, and recursively process.
211
+
212
+ **Why RLMs matter:**
213
+
214
+ - Base LLMs degrade rapidly on long contexts ("context rot")
215
+ - RLMs maintain performance on inputs 2 orders of magnitude beyond context limits
216
+ - On quadratic-complexity tasks, base models get <0.1% while RLMs achieve 58%
217
+
218
+ **Key patterns:**
219
+
220
+ 1. **Self-refinement**: Recursive improvement until quality threshold
221
+ 2. **Divide-and-conquer**: Chunk, process, aggregate recursively
222
+ 3. **Filter-then-recurse**: Cheap filtering before expensive deep dives
223
+ 4. **Pairwise aggregation**: Handle O(n²) tasks through batch decomposition
224
+
225
+ ```prose
226
+ # The core RLM pattern: recursive block with scope isolation
227
+ block process(data, depth):
228
+ # Base case
229
+ if **data is small** or depth <= 0:
230
+ output session "Process directly"
231
+ context: data
232
+
233
+ # Recursive case: chunk and fan out
234
+ let chunks = session "Split into logical chunks"
235
+ context: data
236
+
237
+ parallel for chunk in chunks:
238
+ do process(chunk, depth - 1) # Recursive call
239
+
240
+ # Aggregate results (fan in)
241
+ output session "Synthesize partial results"
242
+ ```
243
+
244
+ **OpenProse advantages for RLMs:**
245
+
246
+ - **Scope isolation**: Each recursive call gets its own `execution_id`, preventing variable collisions
247
+ - **Parallel fan-out**: `parallel for` enables concurrent processing at each recursion level
248
+ - **State persistence**: SQLite/PostgreSQL backends track the full call tree
249
+ - **Natural aggregation**: Pipelines (`| reduce`) and explicit context passing
250
+
251
+ See examples 40-43 for full implementations.
252
+
253
+ ## Running Examples
254
+
255
+ Ask Claude to run any example:
256
+
257
+ ```
258
+ Run the code review example from the OpenProse examples
259
+ ```
260
+
261
+ Or reference the file directly:
262
+
263
+ ```
264
+ Execute examples/03-code-review.prose
265
+ ```
266
+
267
+ ## Feature Reference
268
+
269
+ ### Core Syntax
270
+
271
+ ```prose
272
+ # Comments
273
+ session "prompt" # Simple session
274
+ let x = session "..." # Variable binding
275
+ const y = session "..." # Immutable binding
276
+ ```
277
+
278
+ ### Agents
279
+
280
+ ```prose
281
+ agent name:
282
+ model: sonnet # haiku, sonnet, opus
283
+ prompt: "System prompt"
284
+ skills: ["skill1", "skill2"]
285
+ permissions:
286
+ read: ["*.md"]
287
+ bash: deny
288
+ ```
289
+
290
+ ### Parallel
291
+
292
+ ```prose
293
+ parallel: # Basic parallel
294
+ a = session "A"
295
+ b = session "B"
296
+
297
+ parallel ("first"): # Race - first wins
298
+ parallel ("any", count: 2): # Wait for N successes
299
+ parallel (on-fail: "continue"): # Don't fail on errors
300
+ ```
301
+
302
+ ### Loops
303
+
304
+ ```prose
305
+ repeat 3: # Fixed iterations
306
+ session "..."
307
+
308
+ for item in items: # For-each
309
+ session "..."
310
+
311
+ parallel for item in items: # Parallel for-each
312
+ session "..."
313
+
314
+ loop until **condition** (max: 10): # Unbounded with AI condition
315
+ session "..."
316
+ ```
317
+
318
+ ### Pipelines
319
+
320
+ ```prose
321
+ items | map: # Transform each
322
+ session "..."
323
+ items | filter: # Keep matching
324
+ session "..."
325
+ items | reduce(acc, x): # Accumulate
326
+ session "..."
327
+ items | pmap: # Parallel transform
328
+ session "..."
329
+ ```
330
+
331
+ ### Error Handling
332
+
333
+ ```prose
334
+ try:
335
+ session "..."
336
+ catch as err:
337
+ session "..."
338
+ finally:
339
+ session "..."
340
+
341
+ session "..."
342
+ retry: 3
343
+ backoff: "exponential" # none, linear, exponential
344
+
345
+ throw "message" # Raise error
346
+ ```
347
+
348
+ ### Conditionals
349
+
350
+ ```prose
351
+ if **condition**:
352
+ session "..."
353
+ elif **other condition**:
354
+ session "..."
355
+ else:
356
+ session "..."
357
+ ```
358
+
359
+ ### Choice
360
+
361
+ ```prose
362
+ choice **criteria**:
363
+ option "Label A":
364
+ session "..."
365
+ option "Label B":
366
+ session "..."
367
+ ```
368
+
369
+ ### Blocks
370
+
371
+ ```prose
372
+ block name(param): # Define with parameters
373
+ session "... {param} ..."
374
+
375
+ do name("value") # Invoke with arguments
376
+ ```
377
+
378
+ ### String Interpolation
379
+
380
+ ```prose
381
+ let x = session "Get value"
382
+ session "Use {x} in prompt" # Single-line
383
+
384
+ session """ # Multi-line
385
+ Multi-line prompt with {x}
386
+ """
387
+ ```
388
+
389
+ ## Learn More
390
+
391
+ See `compiler.md` in the skill directory for the complete language specification.
@@ -0,0 +1,22 @@
1
+ # Roadmap Examples
2
+
3
+ These examples demonstrate **planned** OpenProse syntax that is **not yet implemented**.
4
+
5
+ They are included to show the direction of the language and gather feedback on the design.
6
+
7
+ ## Planned Features
8
+
9
+ | Feature | Status | Example File |
10
+ | -------------------- | ------- | -------------------------------- |
11
+ | Agent definitions | Planned | `simple-pipeline.prose` |
12
+ | Named sessions | Planned | `simple-pipeline.prose` |
13
+ | Parallel execution | Planned | `parallel-review.prose` |
14
+ | Variables & context | Planned | `iterative-refinement.prose` |
15
+ | Loops & conditionals | Planned | `iterative-refinement.prose` |
16
+ | Imports | Planned | `syntax/open-prose-syntax.prose` |
17
+
18
+ ## Do Not Run These Examples
19
+
20
+ These files will not work with the current interpreter. They are for reference only.
21
+
22
+ For working examples, see the parent `examples/` directory.
@@ -0,0 +1,20 @@
1
+ # Iterative Refinement Example
2
+ # Write draft, get feedback, refine until approved
3
+
4
+ agent writer:
5
+ model: opus
6
+
7
+ agent reviewer:
8
+ model: sonnet
9
+
10
+ let draft = session: writer
11
+ prompt: "Write a first draft about AI safety"
12
+
13
+ loop until **approved**:
14
+ let feedback = session: reviewer
15
+ prompt: "Review this draft and provide feedback"
16
+ context: draft
17
+
18
+ draft = session: writer
19
+ prompt: "Improve the draft based on feedback"
20
+ context: { draft, feedback }
@@ -0,0 +1,18 @@
1
+ # Parallel Review Example
2
+ # Three reviewers analyze code in parallel, then synthesize
3
+
4
+ agent reviewer:
5
+ model: sonnet
6
+
7
+ parallel:
8
+ security = session: reviewer
9
+ prompt: "Review this code for security issues"
10
+ performance = session: reviewer
11
+ prompt: "Review this code for performance issues"
12
+ style = session: reviewer
13
+ prompt: "Review this code for style and readability"
14
+
15
+ session synthesizer:
16
+ model: opus
17
+ prompt: "Synthesize the reviews into a unified report"
18
+ context: { security, performance, style }
@@ -0,0 +1,17 @@
1
+ # Simple Pipeline Example
2
+ # Research a topic, then write an article
3
+
4
+ import "web-search" from "github:example/web-search"
5
+
6
+ agent researcher:
7
+ model: sonnet
8
+ skills: ["web-search"]
9
+
10
+ agent writer:
11
+ model: opus
12
+
13
+ session research: researcher
14
+ prompt: "Research the latest developments in quantum computing"
15
+
16
+ -> session article: writer
17
+ prompt: "Write a blog post about quantum computing"
@@ -0,0 +1,223 @@
1
+ # OpenProse - Confirmed Syntax
2
+ # Python-like indentation, keyword-driven, minimal punctuation
3
+
4
+ # ============================================
5
+ # IMPORTS (quoted skill names)
6
+ # ============================================
7
+
8
+ import "web-search" from "github:example/web-search"
9
+ import "summarizer" from "./skills/summarizer"
10
+
11
+ # ============================================
12
+ # AGENT DEFINITIONS (quoted skills array)
13
+ # ============================================
14
+
15
+ agent researcher:
16
+ model: sonnet
17
+ skills: ["web-search", "summarizer"]
18
+ permissions:
19
+ bash: deny
20
+
21
+ agent writer:
22
+ model: opus
23
+ skills: ["summarizer"]
24
+
25
+ # ============================================
26
+ # SIMPLE FLOW
27
+ # ============================================
28
+
29
+ # Simplest program: single session
30
+ session "Explain quantum computing"
31
+
32
+ # Sequential (indentation = sequence)
33
+ do:
34
+ session: researcher
35
+ prompt: "Research quantum computing"
36
+ session: writer
37
+ prompt: "Write a blog post"
38
+
39
+ # Inline sequence with arrow
40
+ session "A" -> session "B" -> session "C"
41
+
42
+ # ============================================
43
+ # PARALLEL EXECUTION (quoted modifiers)
44
+ # ============================================
45
+
46
+ # Default: wait for all, fail-fast
47
+ parallel:
48
+ session "Security review"
49
+ session "Performance review"
50
+ session "Style review"
51
+
52
+ # Race: first to complete wins
53
+ parallel ("first"):
54
+ session "Try approach A"
55
+ session "Try approach B"
56
+
57
+ # Continue on failure
58
+ parallel (on-fail: "continue"):
59
+ session "Risky operation 1"
60
+ session "Risky operation 2"
61
+
62
+ # Named results for downstream use
63
+ parallel:
64
+ security = session "Security review"
65
+ perf = session "Performance review"
66
+
67
+ session "Synthesize":
68
+ context: { security, perf }
69
+
70
+ # ============================================
71
+ # COMPOSITION: NAMED BLOCKS WITH PARAMETERS
72
+ # ============================================
73
+
74
+ # Define a reusable block
75
+ block review-pipeline:
76
+ parallel:
77
+ session "Security review"
78
+ session "Performance review"
79
+ session "Synthesize reviews"
80
+
81
+ # Block with parameters
82
+ block research(topic):
83
+ session "Research {topic}"
84
+ session "Summarize findings about {topic}"
85
+
86
+ # Invoke with `do`
87
+ do:
88
+ session "Write code"
89
+ do review-pipeline
90
+ session "Final edits"
91
+
92
+ do research("quantum computing")
93
+
94
+ # ============================================
95
+ # LOOPS (with ** orchestrator discretion)
96
+ # ============================================
97
+
98
+ # Loop until condition (orchestrator evaluates **)
99
+ loop until **approved**:
100
+ session "Write draft"
101
+ session "Get feedback"
102
+
103
+ # Multi-word condition
104
+ loop until **user is satisfied with the result**:
105
+ session "Propose solution"
106
+ session "Get feedback"
107
+
108
+ # Repeat N times
109
+ repeat 3:
110
+ session "Attempt solution"
111
+
112
+ # Infinite loop (with runtime safeguards)
113
+ loop:
114
+ session "Monitor for events"
115
+ session "Handle event"
116
+
117
+ # For-each
118
+ for item in items:
119
+ session "Process {item}"
120
+
121
+ # ============================================
122
+ # CHOICE (orchestrator discretion)
123
+ # ============================================
124
+
125
+ choice **based on urgency**:
126
+ session "Quick fix"
127
+ session "Thorough solution"
128
+
129
+ # ============================================
130
+ # PIPELINE OPERATIONS
131
+ # ============================================
132
+
133
+ # Map: transform each item
134
+ items | map: session "Process {item}"
135
+
136
+ # Filter: select items
137
+ items | filter: session "Is {item} relevant?"
138
+
139
+ # Reduce: accumulate results
140
+ items | reduce(summary, item):
141
+ session "Add {item} to {summary}"
142
+
143
+ # Chaining
144
+ files
145
+ | filter: session "Is {item} relevant?"
146
+ | map: session "Extract info from {item}"
147
+ | reduce(report, info):
148
+ session "Add {info} to {report}"
149
+
150
+ # Parallel map
151
+ items | pmap: session "Process {item}"
152
+
153
+ # ============================================
154
+ # ERROR HANDLING
155
+ # ============================================
156
+
157
+ # Try/catch/finally
158
+ try:
159
+ session "Risky operation"
160
+ catch:
161
+ session "Handle failure"
162
+ finally:
163
+ session "Cleanup"
164
+
165
+ # Retry with backoff
166
+ session "Flaky API call" (retry: 3)
167
+
168
+ # ============================================
169
+ # CONTEXT PASSING
170
+ # ============================================
171
+
172
+ # Variable binding (mutable)
173
+ let research = session: researcher
174
+ prompt: "Research topic"
175
+
176
+ # Variable binding (immutable)
177
+ const config = session "Get configuration"
178
+
179
+ # Explicit context
180
+ session: writer
181
+ prompt: "Write about the research"
182
+ context: research
183
+
184
+ # Multiple contexts
185
+ session "Final synthesis":
186
+ context: [research, analysis, feedback]
187
+
188
+ # No context (start fresh)
189
+ session "Independent task":
190
+ context: []
191
+
192
+ # ============================================
193
+ # COMPLETE EXAMPLE
194
+ # ============================================
195
+
196
+ import "code-review" from "github:example/code-review"
197
+
198
+ agent code-reviewer:
199
+ model: sonnet
200
+ skills: ["code-review"]
201
+
202
+ agent synthesizer:
203
+ model: opus
204
+
205
+ # Parallel review with named results
206
+ parallel:
207
+ sec = session: code-reviewer
208
+ prompt: "Review for security issues"
209
+ perf = session: code-reviewer
210
+ prompt: "Review for performance issues"
211
+ style = session: code-reviewer
212
+ prompt: "Review for style issues"
213
+
214
+ # Synthesize all results
215
+ session: synthesizer
216
+ prompt: "Create unified review report"
217
+ context: { sec, perf, style }
218
+
219
+ # Iterative refinement with ** condition
220
+ loop until **approved**:
221
+ let draft = session "Improve based on feedback"
222
+ let feedback = session "Get stakeholder review"
223
+ context: draft