@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,358 @@
1
+ ---
2
+ role: experimental
3
+ summary: |
4
+ Arabian Nights register for OpenProse—a narrative/nested alternative keyword set.
5
+ Djinns, tales within tales, wishes, and oaths. For benchmarking against the functional register.
6
+ status: draft
7
+ requires: prose.md
8
+ ---
9
+
10
+ # OpenProse Arabian Nights 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 One Thousand and One Nights. Programs become tales told by Scheherazade. Recursion becomes stories within stories. Agents become djinns bound to serve.
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 Arabian Nights 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 a storytelling lens.
24
+
25
+ ---
26
+
27
+ ## Complete Translation Map
28
+
29
+ ### Core Constructs
30
+
31
+ | Functional | Nights | Reference |
32
+ | ---------- | -------- | ------------------------------------- |
33
+ | `agent` | `djinn` | Spirit bound to serve, grants wishes |
34
+ | `session` | `tale` | A story told, a narrative unit |
35
+ | `parallel` | `bazaar` | Many voices, many stalls, all at once |
36
+ | `block` | `frame` | A story that contains other stories |
37
+
38
+ ### Composition & Binding
39
+
40
+ | Functional | Nights | Reference |
41
+ | ---------- | --------- | -------------------------------- |
42
+ | `use` | `conjure` | Summoning from elsewhere |
43
+ | `input` | `wish` | What is asked of the djinn |
44
+ | `output` | `gift` | What is granted in return |
45
+ | `let` | `name` | Naming has power (same as folk) |
46
+ | `const` | `oath` | Unbreakable vow, sealed |
47
+ | `context` | `scroll` | What is written and passed along |
48
+
49
+ ### Control Flow
50
+
51
+ | Functional | Nights | Reference |
52
+ | ---------- | ------------------ | ------------------------------------ |
53
+ | `repeat N` | `N nights` | "For a thousand and one nights..." |
54
+ | `for...in` | `for each...among` | Among the merchants, among the tales |
55
+ | `loop` | `telling` | The telling continues |
56
+ | `until` | `until` | Unchanged |
57
+ | `while` | `while` | Unchanged |
58
+ | `choice` | `crossroads` | Where the story forks |
59
+ | `option` | `path` | One way the story could go |
60
+ | `if` | `should` | Narrative conditional |
61
+ | `elif` | `or should` | Continued conditional |
62
+ | `else` | `otherwise` | The other telling |
63
+
64
+ ### Error Handling
65
+
66
+ | Functional | Nights | Reference |
67
+ | ---------- | -------------------------- | -------------------------- |
68
+ | `try` | `venture` | Setting out on the journey |
69
+ | `catch` | `should misfortune strike` | The tale turns dark |
70
+ | `finally` | `and so it was` | The inevitable ending |
71
+ | `throw` | `curse` | Ill fate pronounced |
72
+ | `retry` | `persist` | The hero tries again |
73
+
74
+ ### Session Properties
75
+
76
+ | Functional | Nights | Reference |
77
+ | ---------- | --------- | ------------------------------ |
78
+ | `prompt` | `command` | What is commanded of the djinn |
79
+ | `model` | `spirit` | Which spirit answers |
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
+ # Nights
115
+ conjure "@alice/research" as research
116
+ wish topic: "What to investigate"
117
+
118
+ djinn helper:
119
+ spirit: sonnet
120
+
121
+ name findings = tale: helper
122
+ command: "Research {topic}"
123
+
124
+ gift summary = tale "Summarize"
125
+ scroll: 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
+ # Nights
143
+ bazaar:
144
+ security = tale "Check security"
145
+ perf = tale "Check performance"
146
+ style = tale "Check style"
147
+
148
+ tale "Synthesize review"
149
+ scroll: { 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
+ # Nights
162
+ telling until **the code is bug-free** (max: 5):
163
+ tale "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
+ # Nights
181
+ venture:
182
+ tale "Risky operation"
183
+ should misfortune strike as err:
184
+ tale "Handle error"
185
+ scroll: err
186
+ and so it was:
187
+ tale "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
+ # Nights
203
+ crossroads **the severity level**:
204
+ path "Critical":
205
+ tale "Escalate immediately"
206
+ path "Minor":
207
+ tale "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
+ # Nights
224
+ should **has security issues**:
225
+ tale "Fix security"
226
+ or should **has performance issues**:
227
+ tale "Optimize"
228
+ otherwise:
229
+ tale "Approve"
230
+ ```
231
+
232
+ ### Reusable Blocks (Frame Stories)
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
+ # Nights
245
+ frame review(topic):
246
+ tale "Research {topic}"
247
+ tale "Analyze {topic}"
248
+
249
+ tell review("quantum computing")
250
+ ```
251
+
252
+ ### Fixed Iteration
253
+
254
+ ```prose
255
+ # Functional
256
+ repeat 1001:
257
+ session "Tell a story"
258
+ ```
259
+
260
+ ```prose
261
+ # Nights
262
+ 1001 nights:
263
+ tale "Tell a story"
264
+ ```
265
+
266
+ ### Immutable Binding
267
+
268
+ ```prose
269
+ # Functional
270
+ const config = { model: "opus", retries: 3 }
271
+ ```
272
+
273
+ ```prose
274
+ # Nights
275
+ oath config = { spirit: "opus", persist: 3 }
276
+ ```
277
+
278
+ ---
279
+
280
+ ## The Case For Arabian Nights
281
+
282
+ 1. **Frame narrative is recursion.** Stories within stories maps perfectly to nested program calls.
283
+ 2. **Djinn/wish/gift.** The agent/input/output mapping is extremely clean.
284
+ 3. **Rich tradition.** One Thousand and One Nights is globally known.
285
+ 4. **Bazaar for parallel.** Many merchants, many stalls, all active at once—vivid metaphor.
286
+ 5. **Oath for const.** An unbreakable vow is a perfect metaphor for immutability.
287
+ 6. **"1001 nights"** as a loop count is delightful.
288
+
289
+ ## The Case Against Arabian Nights
290
+
291
+ 1. **Cultural sensitivity.** Must be handled respectfully, avoiding Orientalist tropes.
292
+ 2. **"Djinn" pronunciation.** Users unfamiliar may be uncertain (jinn? djinn? genie?).
293
+ 3. **Some mappings feel forced.** "Bazaar" for parallel is vivid but not obvious.
294
+ 4. **"Should misfortune strike"** is long for `catch`.
295
+
296
+ ---
297
+
298
+ ## Key Arabian Nights Concepts
299
+
300
+ | Term | Meaning | Used for |
301
+ | ------------ | --------------------------------------- | --------------------- |
302
+ | Scheherazade | The narrator who tells tales to survive | (the program author) |
303
+ | Djinn | Supernatural spirit, bound to serve | `agent` → `djinn` |
304
+ | Frame story | A story that contains other stories | `block` → `frame` |
305
+ | Wish | What is asked of the djinn | `input` → `wish` |
306
+ | Oath | Unbreakable promise | `const` → `oath` |
307
+ | Bazaar | Marketplace, many vendors | `parallel` → `bazaar` |
308
+
309
+ ---
310
+
311
+ ## Alternatives Considered
312
+
313
+ ### For `djinn` (agent)
314
+
315
+ | Keyword | Rejected because |
316
+ | ---------- | ---------------------------------- |
317
+ | `genie` | Disney connotation, less literary |
318
+ | `spirit` | Used for `model` |
319
+ | `ifrit` | Too specific (a type of djinn) |
320
+ | `narrator` | Too meta, Scheherazade is the user |
321
+
322
+ ### For `tale` (session)
323
+
324
+ | Keyword | Rejected because |
325
+ | --------- | ----------------------------------- |
326
+ | `story` | Good but `tale` feels more literary |
327
+ | `night` | Reserved for `repeat N nights` |
328
+ | `chapter` | More Western/novelistic |
329
+
330
+ ### For `bazaar` (parallel)
331
+
332
+ | Keyword | Rejected because |
333
+ | --------- | ------------------------------------------ |
334
+ | `caravan` | Sequential connotation (one after another) |
335
+ | `chorus` | Greek, wrong tradition |
336
+ | `souk` | Less widely known |
337
+
338
+ ### For `scroll` (context)
339
+
340
+ | Keyword | Rejected because |
341
+ | --------- | ------------------ |
342
+ | `letter` | Too small/personal |
343
+ | `tome` | Too large |
344
+ | `message` | Too plain |
345
+
346
+ ---
347
+
348
+ ## Verdict
349
+
350
+ Preserved for benchmarking. The Arabian Nights register offers a storytelling frame that maps naturally to recursive, nested programs. The djinn/wish/gift trio is particularly elegant.
351
+
352
+ Best suited for:
353
+
354
+ - Programs with deep nesting (stories within stories)
355
+ - Workflows that feel like granting wishes
356
+ - Users who enjoy narrative framing
357
+
358
+ The `frame` keyword for reusable blocks is especially apt—Scheherazade's frame story containing a thousand tales.
@@ -0,0 +1,360 @@
1
+ ---
2
+ role: experimental
3
+ summary: |
4
+ Borges register for OpenProse—a scholarly/metaphysical alternative keyword set.
5
+ Labyrinths, dreamers, forking paths, and infinite libraries. For benchmarking
6
+ against the functional register.
7
+ status: draft
8
+ requires: prose.md
9
+ ---
10
+
11
+ # OpenProse Borges 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 draws from the works of Jorge Luis Borges. Where the functional register is utilitarian and the folk register is whimsical, the Borges register is scholarly and metaphysical—everything feels like a citation from a fictional encyclopedia.
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 Borges 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 through a Borgesian lens.
25
+
26
+ ---
27
+
28
+ ## Complete Translation Map
29
+
30
+ ### Core Constructs
31
+
32
+ | Functional | Borges | Reference |
33
+ | ---------- | --------- | --------------------------------------------------------------- |
34
+ | `agent` | `dreamer` | "The Circular Ruins" — dreamers who dream worlds into existence |
35
+ | `session` | `dream` | Each execution is a dream within the dreamer |
36
+ | `parallel` | `forking` | "The Garden of Forking Paths" — branching timelines |
37
+ | `block` | `chapter` | Books within books, self-referential structure |
38
+
39
+ ### Composition & Binding
40
+
41
+ | Functional | Borges | Reference |
42
+ | ---------- | ---------- | -------------------------------------------------------- |
43
+ | `use` | `retrieve` | "The Library of Babel" — retrieving from infinite stacks |
44
+ | `input` | `axiom` | The given premise (Borges' scholarly/mathematical tone) |
45
+ | `output` | `theorem` | What is derived from the axioms |
46
+ | `let` | `inscribe` | Writing something into being |
47
+ | `const` | `zahir` | "The Zahir" — unforgettable, unchangeable, fixed in mind |
48
+ | `context` | `memory` | "Funes the Memorious" — perfect, total recall |
49
+
50
+ ### Control Flow
51
+
52
+ | Functional | Borges | Reference |
53
+ | ---------- | ------------------- | -------------------------------------- |
54
+ | `repeat N` | `N mirrors` | Infinite reflections facing each other |
55
+ | `for...in` | `for each...within` | Slightly more Borgesian preposition |
56
+ | `loop` | `labyrinth` | The maze that folds back on itself |
57
+ | `until` | `until` | Unchanged |
58
+ | `while` | `while` | Unchanged |
59
+ | `choice` | `bifurcation` | The forking of paths |
60
+ | `option` | `branch` | One branch of diverging time |
61
+ | `if` | `should` | Scholarly conditional |
62
+ | `elif` | `or should` | Continued conditional |
63
+ | `else` | `otherwise` | Natural alternative |
64
+
65
+ ### Error Handling
66
+
67
+ | Functional | Borges | Reference |
68
+ | ---------- | ------------ | -------------------------------------- |
69
+ | `try` | `venture` | Entering the labyrinth |
70
+ | `catch` | `lest` | "Lest it fail..." (archaic, scholarly) |
71
+ | `finally` | `ultimately` | The inevitable conclusion |
72
+ | `throw` | `shatter` | Breaking the mirror, ending the dream |
73
+ | `retry` | `recur` | Infinite regress, trying again |
74
+
75
+ ### Session Properties
76
+
77
+ | Functional | Borges | Reference |
78
+ | ---------- | -------- | ------------------------------ |
79
+ | `prompt` | `query` | Asking the Library |
80
+ | `model` | `author` | Which author writes this dream |
81
+
82
+ ### Unchanged
83
+
84
+ These keywords already work or are too functional to replace sensibly:
85
+
86
+ - `**...**` discretion markers — already "breaking the fourth wall"
87
+ - `until`, `while` — already work
88
+ - `map`, `filter`, `reduce`, `pmap` — pipeline operators
89
+ - `max` — constraint modifier
90
+ - `as` — aliasing
91
+ - Model names: `sonnet`, `opus`, `haiku` — already literary
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
+ # Borges
116
+ retrieve "@alice/research" as research
117
+ axiom topic: "What to investigate"
118
+
119
+ dreamer helper:
120
+ author: sonnet
121
+
122
+ inscribe findings = dream: helper
123
+ query: "Research {topic}"
124
+
125
+ theorem summary = dream "Summarize"
126
+ memory: 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
+ # Borges
144
+ forking:
145
+ security = dream "Check security"
146
+ perf = dream "Check performance"
147
+ style = dream "Check style"
148
+
149
+ dream "Synthesize review"
150
+ memory: { 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
+ # Borges
163
+ labyrinth until **the code is bug-free** (max: 5):
164
+ dream "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
+ # Borges
182
+ venture:
183
+ dream "Risky operation"
184
+ lest as err:
185
+ dream "Handle error"
186
+ memory: err
187
+ ultimately:
188
+ dream "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
+ # Borges
204
+ bifurcation **the severity level**:
205
+ branch "Critical":
206
+ dream "Escalate immediately"
207
+ branch "Minor":
208
+ dream "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
+ # Borges
225
+ should **has security issues**:
226
+ dream "Fix security"
227
+ or should **has performance issues**:
228
+ dream "Optimize"
229
+ otherwise:
230
+ dream "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
+ # Borges
246
+ chapter review(topic):
247
+ dream "Research {topic}"
248
+ dream "Analyze {topic}"
249
+
250
+ do review("quantum computing")
251
+ ```
252
+
253
+ ### Fixed Iteration
254
+
255
+ ```prose
256
+ # Functional
257
+ repeat 3:
258
+ session "Generate idea"
259
+ ```
260
+
261
+ ```prose
262
+ # Borges
263
+ 3 mirrors:
264
+ dream "Generate idea"
265
+ ```
266
+
267
+ ### Immutable Binding
268
+
269
+ ```prose
270
+ # Functional
271
+ const config = { model: "opus", retries: 3 }
272
+ ```
273
+
274
+ ```prose
275
+ # Borges
276
+ zahir config = { author: "opus", recur: 3 }
277
+ ```
278
+
279
+ ---
280
+
281
+ ## The Case For Borges
282
+
283
+ 1. **Metaphysical resonance.** AI sessions dreaming subagents into existence mirrors "The Circular Ruins."
284
+ 2. **Scholarly tone.** `axiom`/`theorem` frame programs as logical derivations.
285
+ 3. **Memorable metaphors.** The zahir you cannot change. The labyrinth you cannot escape. The library you retrieve from.
286
+ 4. **Thematic coherence.** Borges wrote about infinity, recursion, and branching time—all core to computation.
287
+ 5. **Literary prestige.** Borges is widely read; references land for many users.
288
+
289
+ ## The Case Against Borges
290
+
291
+ 1. **Requires familiarity.** "Zahir" and "Funes" are obscure to those who haven't read Borges.
292
+ 2. **Potentially pretentious.** May feel like showing off rather than communicating.
293
+ 3. **Translation overhead.** Users must map `labyrinth` → `loop` mentally.
294
+ 4. **Cultural specificity.** Less universal than folk/fairy tale tropes.
295
+
296
+ ---
297
+
298
+ ## Key Borges References
299
+
300
+ For those unfamiliar with the source material:
301
+
302
+ | Work | Concept Used | Summary |
303
+ | ----------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------- |
304
+ | "The Circular Ruins" | `dreamer`, `dream` | A man dreams another man into existence, only to discover he himself is being dreamed |
305
+ | "The Garden of Forking Paths" | `forking`, `bifurcation`, `branch` | A labyrinth that is a book; time forks perpetually into diverging futures |
306
+ | "The Library of Babel" | `retrieve` | An infinite library containing every possible book |
307
+ | "Funes the Memorious" | `memory` | A man with perfect memory who cannot forget anything |
308
+ | "The Zahir" | `zahir` | An object that, once seen, cannot be forgotten or ignored |
309
+ | "The Aleph" | (not used) | A point in space containing all other points |
310
+ | "Tlön, Uqbar, Orbis Tertius" | (not used) | A fictional world that gradually becomes real |
311
+
312
+ ---
313
+
314
+ ## Alternatives Considered
315
+
316
+ ### For `dreamer` (agent)
317
+
318
+ | Keyword | Rejected because |
319
+ | ----------- | ------------------------- |
320
+ | `author` | Used for `model` instead |
321
+ | `scribe` | Too passive, just records |
322
+ | `librarian` | More curator than creator |
323
+
324
+ ### For `labyrinth` (loop)
325
+
326
+ | Keyword | Rejected because |
327
+ | ---------------- | ---------------- |
328
+ | `recursion` | Too technical |
329
+ | `eternal return` | Too long |
330
+ | `ouroboros` | Wrong mythology |
331
+
332
+ ### For `zahir` (const)
333
+
334
+ | Keyword | Rejected because |
335
+ | --------- | --------------------------------------------- |
336
+ | `aleph` | The Aleph is about totality, not immutability |
337
+ | `fixed` | Too plain |
338
+ | `eternal` | Overused |
339
+
340
+ ### For `memory` (context)
341
+
342
+ | Keyword | Rejected because |
343
+ | --------- | --------------------------------- |
344
+ | `funes` | Too obscure as standalone keyword |
345
+ | `recall` | Sounds like a function call |
346
+ | `archive` | More Library of Babel than Funes |
347
+
348
+ ---
349
+
350
+ ## Verdict
351
+
352
+ Preserved for benchmarking against the functional and folk registers. The Borges register offers a distinctly intellectual/metaphysical flavor that may resonate with users who appreciate literary computing.
353
+
354
+ Potential benchmarking questions:
355
+
356
+ 1. **Learnability** — Is `labyrinth` intuitive for loops?
357
+ 2. **Memorability** — Does `zahir` stick better than `const`?
358
+ 3. **Comprehension** — Do users understand `dreamer`/`dream` immediately?
359
+ 4. **Preference** — Which register do users find most pleasant?
360
+ 5. **Error rates** — Does the metaphorical mapping cause mistakes?