@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,322 @@
1
+ ---
2
+ role: experimental
3
+ summary: |
4
+ Folk register for OpenProse—a literary/folklore alternative keyword set.
5
+ Whimsical, theatrical, rooted in fairy tale and myth. For benchmarking
6
+ against the functional register.
7
+ status: draft
8
+ requires: prose.md
9
+ ---
10
+
11
+ # OpenProse Folk Register
12
+
13
+ > **This is a skin layer.** It requires `prose.md` to be loaded first. All execution semantics, state management, and VM behavior are defined there. This file only provides keyword translations.
14
+
15
+ An alternative register for OpenProse that leans into literary, theatrical, and folklore terminology. The functional register prioritizes utility and clarity; the folk register prioritizes whimsy and narrative flow.
16
+
17
+ ## How to Use
18
+
19
+ 1. Load `prose.md` first (execution semantics)
20
+ 2. Load this file (keyword translations)
21
+ 3. When parsing `.prose` files, accept folk keywords as aliases for functional keywords
22
+ 4. All execution behavior remains identical—only surface syntax changes
23
+
24
+ > **Design constraint:** Still aims to be "structured but self-evident" per the language tenets—just self-evident to a different sensibility.
25
+
26
+ ---
27
+
28
+ ## Complete Translation Map
29
+
30
+ ### Core Constructs
31
+
32
+ | Functional | Folk | Origin | Connotation |
33
+ | ---------- | ---------- | -------- | -------------------------------------- |
34
+ | `agent` | `sprite` | Folklore | Quick, light, ephemeral spirit helper |
35
+ | `session` | `scene` | Theatre | A moment of action, theatrical framing |
36
+ | `parallel` | `ensemble` | Theatre | Everyone performs together |
37
+ | `block` | `act` | Theatre | Reusable unit of dramatic action |
38
+
39
+ ### Composition & Binding
40
+
41
+ | Functional | Folk | Origin | Connotation |
42
+ | ---------- | --------- | ----------------- | -------------------------------- |
43
+ | `use` | `summon` | Folklore | Calling forth from elsewhere |
44
+ | `input` | `given` | Fairy tale | "Given a magic sword..." |
45
+ | `output` | `yield` | Agriculture/magic | What the spell produces |
46
+ | `let` | `name` | Folklore | Naming has power (true names) |
47
+ | `const` | `seal` | Medieval | Unchangeable, wax seal on decree |
48
+ | `context` | `bearing` | Heraldry | What the messenger carries |
49
+
50
+ ### Control Flow
51
+
52
+ | Functional | Folk | Origin | Connotation |
53
+ | ---------- | ------------------ | ------------ | ----------------------------------- |
54
+ | `repeat N` | `N times` | Fairy tale | "Three times she called..." |
55
+ | `for...in` | `for each...among` | Narrative | Slightly more storytelling |
56
+ | `loop` | `loop` | — | Already poetic, unchanged |
57
+ | `until` | `until` | — | Already works, unchanged |
58
+ | `while` | `while` | — | Already works, unchanged |
59
+ | `choice` | `crossroads` | Folklore | Fateful decisions at the crossroads |
60
+ | `option` | `path` | Journey | Which path to take |
61
+ | `if` | `when` | Narrative | "When the moon rises..." |
62
+ | `elif` | `or when` | Narrative | Continued conditional |
63
+ | `else` | `otherwise` | Storytelling | Natural narrative alternative |
64
+
65
+ ### Error Handling
66
+
67
+ | Functional | Folk | Origin | Connotation |
68
+ | ---------- | ---------------- | ---------- | ------------------------------ |
69
+ | `try` | `venture` | Adventure | Attempting something uncertain |
70
+ | `catch` | `should it fail` | Narrative | Conditional failure handling |
71
+ | `finally` | `ever after` | Fairy tale | "And ever after..." |
72
+ | `throw` | `cry` | Drama | Raising alarm, calling out |
73
+ | `retry` | `persist` | Quest | Keep trying against odds |
74
+
75
+ ### Session Properties
76
+
77
+ | Functional | Folk | Origin | Connotation |
78
+ | ---------- | -------- | -------- | ---------------------- |
79
+ | `prompt` | `charge` | Chivalry | Giving a quest or duty |
80
+ | `model` | `voice` | Theatre | Which voice speaks |
81
+
82
+ ### Unchanged
83
+
84
+ These keywords already have poetic quality or are too functional to replace sensibly:
85
+
86
+ - `**...**` discretion markers — already "breaking the fourth wall"
87
+ - `loop`, `until`, `while` — already work narratively
88
+ - `map`, `filter`, `reduce`, `pmap` — pipeline operators, functional is fine
89
+ - `max` — constraint modifier
90
+ - `as` — aliasing
91
+ - Model names: `sonnet`, `opus`, `haiku` — already poetic
92
+
93
+ ---
94
+
95
+ ## Side-by-Side Comparison
96
+
97
+ ### Simple Program
98
+
99
+ ```prose
100
+ # Functional
101
+ use "@alice/research" as research
102
+ input topic: "What to investigate"
103
+
104
+ agent helper:
105
+ model: sonnet
106
+
107
+ let findings = session: helper
108
+ prompt: "Research {topic}"
109
+
110
+ output summary = session "Summarize"
111
+ context: findings
112
+ ```
113
+
114
+ ```prose
115
+ # Folk
116
+ summon "@alice/research" as research
117
+ given topic: "What to investigate"
118
+
119
+ sprite helper:
120
+ voice: sonnet
121
+
122
+ name findings = scene: helper
123
+ charge: "Research {topic}"
124
+
125
+ yield summary = scene "Summarize"
126
+ bearing: findings
127
+ ```
128
+
129
+ ### Parallel Execution
130
+
131
+ ```prose
132
+ # Functional
133
+ parallel:
134
+ security = session "Check security"
135
+ perf = session "Check performance"
136
+ style = session "Check style"
137
+
138
+ session "Synthesize review"
139
+ context: { security, perf, style }
140
+ ```
141
+
142
+ ```prose
143
+ # Folk
144
+ ensemble:
145
+ security = scene "Check security"
146
+ perf = scene "Check performance"
147
+ style = scene "Check style"
148
+
149
+ scene "Synthesize review"
150
+ bearing: { security, perf, style }
151
+ ```
152
+
153
+ ### Loop with Condition
154
+
155
+ ```prose
156
+ # Functional
157
+ loop until **the code is bug-free** (max: 5):
158
+ session "Find and fix bugs"
159
+ ```
160
+
161
+ ```prose
162
+ # Folk
163
+ loop until **the code is bug-free** (max: 5):
164
+ scene "Find and fix bugs"
165
+ ```
166
+
167
+ ### Error Handling
168
+
169
+ ```prose
170
+ # Functional
171
+ try:
172
+ session "Risky operation"
173
+ catch as err:
174
+ session "Handle error"
175
+ context: err
176
+ finally:
177
+ session "Cleanup"
178
+ ```
179
+
180
+ ```prose
181
+ # Folk
182
+ venture:
183
+ scene "Risky operation"
184
+ should it fail as err:
185
+ scene "Handle error"
186
+ bearing: err
187
+ ever after:
188
+ scene "Cleanup"
189
+ ```
190
+
191
+ ### Choice Block
192
+
193
+ ```prose
194
+ # Functional
195
+ choice **the severity level**:
196
+ option "Critical":
197
+ session "Escalate immediately"
198
+ option "Minor":
199
+ session "Log for later"
200
+ ```
201
+
202
+ ```prose
203
+ # Folk
204
+ crossroads **the severity level**:
205
+ path "Critical":
206
+ scene "Escalate immediately"
207
+ path "Minor":
208
+ scene "Log for later"
209
+ ```
210
+
211
+ ### Conditionals
212
+
213
+ ```prose
214
+ # Functional
215
+ if **has security issues**:
216
+ session "Fix security"
217
+ elif **has performance issues**:
218
+ session "Optimize"
219
+ else:
220
+ session "Approve"
221
+ ```
222
+
223
+ ```prose
224
+ # Folk
225
+ when **has security issues**:
226
+ scene "Fix security"
227
+ or when **has performance issues**:
228
+ scene "Optimize"
229
+ otherwise:
230
+ scene "Approve"
231
+ ```
232
+
233
+ ### Reusable Blocks
234
+
235
+ ```prose
236
+ # Functional
237
+ block review(topic):
238
+ session "Research {topic}"
239
+ session "Analyze {topic}"
240
+
241
+ do review("quantum computing")
242
+ ```
243
+
244
+ ```prose
245
+ # Folk
246
+ act review(topic):
247
+ scene "Research {topic}"
248
+ scene "Analyze {topic}"
249
+
250
+ perform review("quantum computing")
251
+ ```
252
+
253
+ ---
254
+
255
+ ## The Case For Folk
256
+
257
+ 1. **"OpenProse" is literary.** Prose is a literary form—why not lean in?
258
+ 2. **Fourth wall is theatrical.** `**...**` already uses theatre terminology.
259
+ 3. **Signals difference.** Literary terms say "this is not your typical DSL."
260
+ 4. **Internally consistent.** Everything draws from folklore/theatre/narrative.
261
+ 5. **Memorable.** `sprite`, `scene`, `crossroads` stick in the mind.
262
+ 6. **Model names already fit.** `sonnet`, `opus`, `haiku` are poetic forms.
263
+
264
+ ## The Case Against Folk
265
+
266
+ 1. **Cultural knowledge required.** Not everyone knows folklore tropes.
267
+ 2. **Harder to Google.** "OpenProse summon" vs "OpenProse import."
268
+ 3. **May feel precious.** Some users want utilitarian tools.
269
+ 4. **Translation overhead.** Mental mapping to familiar concepts.
270
+
271
+ ---
272
+
273
+ ## Alternatives Considered
274
+
275
+ ### For `sprite` (ephemeral agent)
276
+
277
+ | Keyword | Origin | Rejected because |
278
+ | --------- | ------- | ----------------------------------------- |
279
+ | `spark` | English | Good but less folklore |
280
+ | `wisp` | English | Too insubstantial |
281
+ | `herald` | English | More messenger than worker |
282
+ | `courier` | French | Good functional alternative, not literary |
283
+ | `envoy` | French | Formal, diplomatic |
284
+
285
+ ### For `shade` (persistent agent, if implemented)
286
+
287
+ | Keyword | Origin | Rejected because |
288
+ | --------- | ---------- | --------------------------------- |
289
+ | `daemon` | Greek/Unix | Unix "always running" connotation |
290
+ | `oracle` | Greek | Too "read-only" feeling |
291
+ | `spirit` | Latin | Too close to `sprite` |
292
+ | `specter` | Latin | Negative/spooky connotation |
293
+ | `genius` | Roman | Overloaded (smart person) |
294
+
295
+ ### For `ensemble` (parallel)
296
+
297
+ | Keyword | Origin | Rejected because |
298
+ | --------- | ------- | ----------------------------------------- |
299
+ | `chorus` | Greek | Everyone speaks same thing, not different |
300
+ | `troupe` | French | Good alternative, slightly less clear |
301
+ | `company` | Theatre | Overloaded (business) |
302
+
303
+ ### For `crossroads` (choice)
304
+
305
+ | Keyword | Origin | Rejected because |
306
+ | ------------ | ------ | ------------------------ |
307
+ | `fork` | Path | Too technical (git fork) |
308
+ | `branch` | Tree | Also too technical |
309
+ | `divergence` | Latin | Too abstract |
310
+
311
+ ---
312
+
313
+ ## Verdict
314
+
315
+ Preserved for benchmarking against the functional register. The functional register remains the primary path, but folk provides an interesting data point for:
316
+
317
+ 1. **Learnability** — Which is easier for newcomers?
318
+ 2. **Memorability** — Which sticks better?
319
+ 3. **Error rates** — Which leads to fewer mistakes?
320
+ 4. **Preference** — Which do users actually prefer?
321
+
322
+ A future experiment could present both registers and measure outcomes.
@@ -0,0 +1,346 @@
1
+ ---
2
+ role: experimental
3
+ summary: |
4
+ Homeric register for OpenProse—an epic/heroic alternative keyword set.
5
+ Heroes, trials, fates, and glory. For benchmarking against the functional register.
6
+ status: draft
7
+ requires: prose.md
8
+ ---
9
+
10
+ # OpenProse Homeric Register
11
+
12
+ > **This is a skin layer.** It requires `prose.md` to be loaded first. All execution semantics, state management, and VM behavior are defined there. This file only provides keyword translations.
13
+
14
+ An alternative register for OpenProse that draws from Greek epic poetry—the Iliad, the Odyssey, and the heroic tradition. Programs become quests. Agents become heroes. Outputs become glory won.
15
+
16
+ ## How to Use
17
+
18
+ 1. Load `prose.md` first (execution semantics)
19
+ 2. Load this file (keyword translations)
20
+ 3. When parsing `.prose` files, accept Homeric keywords as aliases for functional keywords
21
+ 4. All execution behavior remains identical—only surface syntax changes
22
+
23
+ > **Design constraint:** Still aims to be "structured but self-evident" per the language tenets—just self-evident through an epic lens.
24
+
25
+ ---
26
+
27
+ ## Complete Translation Map
28
+
29
+ ### Core Constructs
30
+
31
+ | Functional | Homeric | Reference |
32
+ | ---------- | ------- | ----------------------------- |
33
+ | `agent` | `hero` | The one who acts, who strives |
34
+ | `session` | `trial` | Each task is a labor, a test |
35
+ | `parallel` | `host` | An army moving as one |
36
+ | `block` | `book` | A division of the epic |
37
+
38
+ ### Composition & Binding
39
+
40
+ | Functional | Homeric | Reference |
41
+ | ---------- | --------- | -------------------------------------- |
42
+ | `use` | `invoke` | "Sing, O Muse..." — calling upon |
43
+ | `input` | `omen` | Signs from the gods, the given portent |
44
+ | `output` | `glory` | Kleos — the glory won, what endures |
45
+ | `let` | `decree` | Fate declared, spoken into being |
46
+ | `const` | `fate` | Moira — unchangeable destiny |
47
+ | `context` | `tidings` | News carried by herald or messenger |
48
+
49
+ ### Control Flow
50
+
51
+ | Functional | Homeric | Reference |
52
+ | ---------- | ------------------ | ---------------------------------------- |
53
+ | `repeat N` | `N labors` | The labors of Heracles |
54
+ | `for...in` | `for each...among` | Among the host |
55
+ | `loop` | `ordeal` | Repeated trial, suffering that continues |
56
+ | `until` | `until` | Unchanged |
57
+ | `while` | `while` | Unchanged |
58
+ | `choice` | `crossroads` | Where fates diverge |
59
+ | `option` | `path` | One road of many |
60
+ | `if` | `should` | Epic conditional |
61
+ | `elif` | `or should` | Continued conditional |
62
+ | `else` | `otherwise` | The alternative fate |
63
+
64
+ ### Error Handling
65
+
66
+ | Functional | Homeric | Reference |
67
+ | ---------- | ------------------ | ---------------------------- |
68
+ | `try` | `venture` | Setting forth on the journey |
69
+ | `catch` | `should ruin come` | Até — divine ruin, disaster |
70
+ | `finally` | `in the end` | The inevitable conclusion |
71
+ | `throw` | `lament` | The hero's cry of anguish |
72
+ | `retry` | `persist` | Enduring, trying again |
73
+
74
+ ### Session Properties
75
+
76
+ | Functional | Homeric | Reference |
77
+ | ---------- | -------- | ------------------- |
78
+ | `prompt` | `charge` | The quest given |
79
+ | `model` | `muse` | Which muse inspires |
80
+
81
+ ### Unchanged
82
+
83
+ These keywords already work or are too functional to replace sensibly:
84
+
85
+ - `**...**` discretion markers — already work
86
+ - `until`, `while` — already work
87
+ - `map`, `filter`, `reduce`, `pmap` — pipeline operators
88
+ - `max` — constraint modifier
89
+ - `as` — aliasing
90
+ - Model names: `sonnet`, `opus`, `haiku` — already poetic
91
+
92
+ ---
93
+
94
+ ## Side-by-Side Comparison
95
+
96
+ ### Simple Program
97
+
98
+ ```prose
99
+ # Functional
100
+ use "@alice/research" as research
101
+ input topic: "What to investigate"
102
+
103
+ agent helper:
104
+ model: sonnet
105
+
106
+ let findings = session: helper
107
+ prompt: "Research {topic}"
108
+
109
+ output summary = session "Summarize"
110
+ context: findings
111
+ ```
112
+
113
+ ```prose
114
+ # Homeric
115
+ invoke "@alice/research" as research
116
+ omen topic: "What to investigate"
117
+
118
+ hero helper:
119
+ muse: sonnet
120
+
121
+ decree findings = trial: helper
122
+ charge: "Research {topic}"
123
+
124
+ glory summary = trial "Summarize"
125
+ tidings: findings
126
+ ```
127
+
128
+ ### Parallel Execution
129
+
130
+ ```prose
131
+ # Functional
132
+ parallel:
133
+ security = session "Check security"
134
+ perf = session "Check performance"
135
+ style = session "Check style"
136
+
137
+ session "Synthesize review"
138
+ context: { security, perf, style }
139
+ ```
140
+
141
+ ```prose
142
+ # Homeric
143
+ host:
144
+ security = trial "Check security"
145
+ perf = trial "Check performance"
146
+ style = trial "Check style"
147
+
148
+ trial "Synthesize review"
149
+ tidings: { security, perf, style }
150
+ ```
151
+
152
+ ### Loop with Condition
153
+
154
+ ```prose
155
+ # Functional
156
+ loop until **the code is bug-free** (max: 5):
157
+ session "Find and fix bugs"
158
+ ```
159
+
160
+ ```prose
161
+ # Homeric
162
+ ordeal until **the code is bug-free** (max: 5):
163
+ trial "Find and fix bugs"
164
+ ```
165
+
166
+ ### Error Handling
167
+
168
+ ```prose
169
+ # Functional
170
+ try:
171
+ session "Risky operation"
172
+ catch as err:
173
+ session "Handle error"
174
+ context: err
175
+ finally:
176
+ session "Cleanup"
177
+ ```
178
+
179
+ ```prose
180
+ # Homeric
181
+ venture:
182
+ trial "Risky operation"
183
+ should ruin come as err:
184
+ trial "Handle error"
185
+ tidings: err
186
+ in the end:
187
+ trial "Cleanup"
188
+ ```
189
+
190
+ ### Choice Block
191
+
192
+ ```prose
193
+ # Functional
194
+ choice **the severity level**:
195
+ option "Critical":
196
+ session "Escalate immediately"
197
+ option "Minor":
198
+ session "Log for later"
199
+ ```
200
+
201
+ ```prose
202
+ # Homeric
203
+ crossroads **the severity level**:
204
+ path "Critical":
205
+ trial "Escalate immediately"
206
+ path "Minor":
207
+ trial "Log for later"
208
+ ```
209
+
210
+ ### Conditionals
211
+
212
+ ```prose
213
+ # Functional
214
+ if **has security issues**:
215
+ session "Fix security"
216
+ elif **has performance issues**:
217
+ session "Optimize"
218
+ else:
219
+ session "Approve"
220
+ ```
221
+
222
+ ```prose
223
+ # Homeric
224
+ should **has security issues**:
225
+ trial "Fix security"
226
+ or should **has performance issues**:
227
+ trial "Optimize"
228
+ otherwise:
229
+ trial "Approve"
230
+ ```
231
+
232
+ ### Reusable Blocks
233
+
234
+ ```prose
235
+ # Functional
236
+ block review(topic):
237
+ session "Research {topic}"
238
+ session "Analyze {topic}"
239
+
240
+ do review("quantum computing")
241
+ ```
242
+
243
+ ```prose
244
+ # Homeric
245
+ book review(topic):
246
+ trial "Research {topic}"
247
+ trial "Analyze {topic}"
248
+
249
+ do review("quantum computing")
250
+ ```
251
+
252
+ ### Fixed Iteration
253
+
254
+ ```prose
255
+ # Functional
256
+ repeat 12:
257
+ session "Complete task"
258
+ ```
259
+
260
+ ```prose
261
+ # Homeric
262
+ 12 labors:
263
+ trial "Complete task"
264
+ ```
265
+
266
+ ### Immutable Binding
267
+
268
+ ```prose
269
+ # Functional
270
+ const config = { model: "opus", retries: 3 }
271
+ ```
272
+
273
+ ```prose
274
+ # Homeric
275
+ fate config = { muse: "opus", persist: 3 }
276
+ ```
277
+
278
+ ---
279
+
280
+ ## The Case For Homeric
281
+
282
+ 1. **Universal recognition.** Greek epics are foundational to Western literature.
283
+ 2. **Heroic framing.** Transforms mundane tasks into glorious trials.
284
+ 3. **Natural fit.** Heroes face trials, receive tidings, win glory—maps cleanly to agent/session/output.
285
+ 4. **Gravitas.** When you want programs to feel epic and consequential.
286
+ 5. **Fate vs decree.** `const` as `fate` (unchangeable) vs `let` as `decree` (declared but mutable) is intuitive.
287
+
288
+ ## The Case Against Homeric
289
+
290
+ 1. **Grandiosity mismatch.** "12 labors" for a simple loop may feel overblown.
291
+ 2. **Western-centric.** Greek epic tradition is culturally specific.
292
+ 3. **Limited vocabulary.** Fewer distinctive terms than Borges or folk.
293
+ 4. **Potentially silly.** Heroic language for mundane tasks risks bathos.
294
+
295
+ ---
296
+
297
+ ## Key Homeric Concepts
298
+
299
+ | Term | Meaning | Used for |
300
+ | ------ | ----------------------------------- | ---------------------------------- |
301
+ | Kleos | Glory, fame that outlives you | `output` → `glory` |
302
+ | Moira | Fate, one's allotted portion | `const` → `fate` |
303
+ | Até | Divine ruin, blindness sent by gods | `catch` → `should ruin come` |
304
+ | Nostos | The return journey | (not used, but could be `finally`) |
305
+ | Xenia | Guest-friendship, hospitality | (not used) |
306
+ | Muse | Divine inspiration | `model` → `muse` |
307
+
308
+ ---
309
+
310
+ ## Alternatives Considered
311
+
312
+ ### For `hero` (agent)
313
+
314
+ | Keyword | Rejected because |
315
+ | ---------- | -------------------------------------- |
316
+ | `champion` | More medieval than Homeric |
317
+ | `warrior` | Too martial, not all tasks are battles |
318
+ | `wanderer` | Too passive |
319
+
320
+ ### For `trial` (session)
321
+
322
+ | Keyword | Rejected because |
323
+ | ------- | --------------------------------------- |
324
+ | `labor` | Good but reserved for `repeat N labors` |
325
+ | `quest` | More medieval/RPG |
326
+ | `task` | Too plain |
327
+
328
+ ### For `host` (parallel)
329
+
330
+ | Keyword | Rejected because |
331
+ | --------- | ------------------------------ |
332
+ | `army` | Too specifically martial |
333
+ | `fleet` | Only works for naval metaphors |
334
+ | `phalanx` | Too technical |
335
+
336
+ ---
337
+
338
+ ## Verdict
339
+
340
+ Preserved for benchmarking. The Homeric register offers gravitas and heroic framing. Best suited for:
341
+
342
+ - Programs that feel like epic undertakings
343
+ - Users who enjoy classical references
344
+ - Contexts where "glory" as output feels appropriate
345
+
346
+ May cause unintentional bathos when applied to mundane tasks.