@prismer/runtime 2.2.55 → 2.2.64

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 (563) hide show
  1. package/CHANGELOG.md +574 -0
  2. package/apc/skills/releasing-test/SKILL.md +9 -0
  3. package/built-in-skills/agent-coordination/SKILL.md +21 -4
  4. package/built-in-skills/agent-meta/SKILL.md +11 -0
  5. package/built-in-skills/assets/SKILL.md +1 -1
  6. package/built-in-skills/canvas-design/SKILL.md +3 -3
  7. package/built-in-skills/canvas-design/canvas-fonts/IBMPlexSerif-OFL.txt +93 -0
  8. package/built-in-skills/canvas-design/canvas-fonts/InstrumentSerif-OFL.txt +93 -0
  9. package/built-in-skills/canvas-design/canvas-fonts/LICENSE-SOURCES.md +16 -0
  10. package/built-in-skills/claim-agent-ownership/SKILL.md +7 -3
  11. package/built-in-skills/claude-api/SKILL.md +1 -1
  12. package/built-in-skills/claude-api/python/claude-api/README.md +2 -2
  13. package/built-in-skills/claude-api/python/claude-api/tool-use.md +9 -5
  14. package/built-in-skills/claude-api/python/managed-agents/README.md +11 -1
  15. package/built-in-skills/claude-api/shared/error-codes.md +4 -4
  16. package/built-in-skills/claude-api/shared/managed-agents-client-patterns.md +4 -2
  17. package/built-in-skills/claude-api/shared/managed-agents-core.md +1 -2
  18. package/built-in-skills/claude-api/shared/managed-agents-events.md +41 -22
  19. package/built-in-skills/claude-api/shared/managed-agents-multiagent.md +5 -3
  20. package/built-in-skills/claude-api/shared/managed-agents-self-hosted-sandboxes.md +1 -1
  21. package/built-in-skills/claude-api/shared/managed-agents-tools.md +2 -3
  22. package/built-in-skills/claude-api/shared/model-migration.md +3 -3
  23. package/built-in-skills/claude-api/shared/models.md +1 -1
  24. package/built-in-skills/claude-api/typescript/claude-api/batches.md +1 -1
  25. package/built-in-skills/claude-api/typescript/claude-api/files-api.md +3 -1
  26. package/built-in-skills/claude-api/typescript/claude-api/tool-use.md +8 -2
  27. package/built-in-skills/claude-api/typescript/managed-agents/README.md +8 -2
  28. package/built-in-skills/codebase-design/SKILL.md +15 -1
  29. package/built-in-skills/codebase-design/references/requesting-code-review/GUIDE.md +291 -0
  30. package/built-in-skills/codebase-design/references/requesting-code-review/LICENSE +21 -0
  31. package/built-in-skills/codebase-design/references/requesting-code-review/LICENSE.superpowers +21 -0
  32. package/built-in-skills/codebase-design/references/requesting-code-review/NOTICE.md +37 -0
  33. package/built-in-skills/codebase-design/references/sdlc-review/GUIDE.md +130 -0
  34. package/built-in-skills/codebase-design/references/sdlc-review/LICENSE +21 -0
  35. package/built-in-skills/codebase-design/references/sdlc-review/NOTICE.md +17 -0
  36. package/built-in-skills/codebase-design/references/simplify-code/GUIDE.md +269 -0
  37. package/built-in-skills/codebase-design/references/simplify-code/LICENSE +21 -0
  38. package/built-in-skills/codebase-design/references/simplify-code/NOTICE.md +37 -0
  39. package/built-in-skills/competitor-intelligence/LICENSE +21 -0
  40. package/built-in-skills/competitor-intelligence/NOTICE.md +6 -0
  41. package/built-in-skills/competitor-intelligence/SKILL.md +125 -0
  42. package/built-in-skills/competitor-intelligence/scripts/watch_state.py +160 -0
  43. package/built-in-skills/conversation-compaction/SKILL.md +3 -0
  44. package/built-in-skills/council-creator/SKILL.md +4 -3
  45. package/built-in-skills/diagnosing-bugs/SKILL.md +12 -0
  46. package/built-in-skills/diagnosing-bugs/references/desktop-dom/GUIDE.md +64 -0
  47. package/built-in-skills/diagnosing-bugs/references/desktop-dom/LICENSE +21 -0
  48. package/built-in-skills/diagnosing-bugs/references/desktop-dom/NOTICE.md +17 -0
  49. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/GUIDE.md +410 -0
  50. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/LICENSE +21 -0
  51. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/LICENSE.superpowers +21 -0
  52. package/built-in-skills/diagnosing-bugs/references/systematic-debugging/NOTICE.md +37 -0
  53. package/built-in-skills/doc-coauthoring/SKILL.md +6 -0
  54. package/built-in-skills/doc-coauthoring/references/humanizer/GUIDE.md +647 -0
  55. package/built-in-skills/doc-coauthoring/references/humanizer/LICENSE +21 -0
  56. package/built-in-skills/doc-coauthoring/references/humanizer/LICENSE.hermes +21 -0
  57. package/built-in-skills/doc-coauthoring/references/humanizer/PROVENANCE.md +7 -0
  58. package/built-in-skills/document-actions/LICENSE +21 -0
  59. package/built-in-skills/document-actions/NOTICE.md +21 -0
  60. package/built-in-skills/document-actions/SKILL.md +46 -0
  61. package/built-in-skills/evidence-citations/LICENSE +21 -0
  62. package/built-in-skills/evidence-citations/NOTICE.md +21 -0
  63. package/built-in-skills/evidence-citations/SKILL.md +46 -0
  64. package/built-in-skills/evidence-citations/references/citation-formats.md +68 -0
  65. package/built-in-skills/evidence-citations/references/grounding-rationale.md +64 -0
  66. package/built-in-skills/evidence-citations/scripts/sources.py +720 -0
  67. package/built-in-skills/frontend-design/SKILL.md +6 -0
  68. package/built-in-skills/frontend-design/references/claude-design/GUIDE.md +650 -0
  69. package/built-in-skills/frontend-design/references/claude-design/LICENSE +21 -0
  70. package/built-in-skills/frontend-design/references/claude-design/LICENSE.hermes +21 -0
  71. package/built-in-skills/frontend-design/references/claude-design/PROVENANCE.md +7 -0
  72. package/built-in-skills/image-generate/SKILL.md +5 -0
  73. package/built-in-skills/image-generate/scripts/generate-and-deliver.mjs +24 -3
  74. package/built-in-skills/mcp-builder/reference/evaluation.md +11 -2
  75. package/built-in-skills/mcp-builder/reference/node_mcp_server.md +34 -5
  76. package/built-in-skills/mcp-builder/reference/python_mcp_server.md +6 -2
  77. package/built-in-skills/mcp-builder/scripts/connections.py +1 -1
  78. package/built-in-skills/mcp-builder/scripts/evaluation.py +52 -34
  79. package/built-in-skills/mcp-builder/scripts/requirements.txt +2 -2
  80. package/built-in-skills/meeting-actions/LICENSE +21 -0
  81. package/built-in-skills/meeting-actions/NOTICE.md +21 -0
  82. package/built-in-skills/meeting-actions/SKILL.md +48 -0
  83. package/built-in-skills/memory/SKILL.md +27 -3
  84. package/built-in-skills/memory/references/llm-wiki/GUIDE.md +468 -0
  85. package/built-in-skills/memory/references/llm-wiki/LICENSE +21 -0
  86. package/built-in-skills/memory/references/llm-wiki/NOTICE.md +4 -0
  87. package/built-in-skills/memory/references/llm-wiki/scripts/lint_wiki.py +84 -0
  88. package/built-in-skills/memory/references/llm-wiki/scripts/requirements.txt +1 -0
  89. package/built-in-skills/memory/references/llm-wiki/templates/SCHEMA.md +19 -0
  90. package/built-in-skills/memory/references/llm-wiki/templates/index.md +9 -0
  91. package/built-in-skills/memory/references/llm-wiki/templates/log.md +4 -0
  92. package/built-in-skills/memory-dream/SKILL.md +8 -15
  93. package/built-in-skills/memory-import/SKILL.md +51 -0
  94. package/built-in-skills/office-artifacts/NOTICE.md +15 -0
  95. package/built-in-skills/office-artifacts/SKILL.md +20 -0
  96. package/built-in-skills/office-artifacts/references/RESOURCE-LIMITS.md +44 -0
  97. package/built-in-skills/office-artifacts/references/docx/GUIDE.md +196 -0
  98. package/built-in-skills/office-artifacts/references/docx/LICENSE +21 -0
  99. package/built-in-skills/office-artifacts/references/docx/NOTICE.md +21 -0
  100. package/built-in-skills/office-artifacts/references/docx/references/revisions-and-comments.md +88 -0
  101. package/built-in-skills/office-artifacts/references/docx/scripts/docx_comments.py +292 -0
  102. package/built-in-skills/office-artifacts/references/docx/scripts/docx_common.py +93 -0
  103. package/built-in-skills/office-artifacts/references/docx/scripts/docx_create.py +177 -0
  104. package/built-in-skills/office-artifacts/references/docx/scripts/docx_edit.py +250 -0
  105. package/built-in-skills/office-artifacts/references/docx/scripts/docx_read.py +169 -0
  106. package/built-in-skills/office-artifacts/references/docx/scripts/docx_revisions.py +149 -0
  107. package/built-in-skills/office-artifacts/references/docx/scripts/docx_template.py +70 -0
  108. package/built-in-skills/office-artifacts/references/docx/scripts/docx_validate.py +155 -0
  109. package/built-in-skills/office-artifacts/references/docx/tests/test_docx_skill.py +525 -0
  110. package/built-in-skills/office-artifacts/references/pdf/GUIDE.md +125 -0
  111. package/built-in-skills/office-artifacts/references/pdf/LICENSE +21 -0
  112. package/built-in-skills/office-artifacts/references/pdf/NOTICE.md +21 -0
  113. package/built-in-skills/office-artifacts/references/pdf/references/forms.md +99 -0
  114. package/built-in-skills/office-artifacts/references/pdf/references/nano-pdf-editing.md +40 -0
  115. package/built-in-skills/office-artifacts/references/pdf/references/ocr-extraction.md +165 -0
  116. package/built-in-skills/office-artifacts/references/pdf/scripts/_raster.py +87 -0
  117. package/built-in-skills/office-artifacts/references/pdf/scripts/extract_marker.py +95 -0
  118. package/built-in-skills/office-artifacts/references/pdf/scripts/extract_pymupdf.py +107 -0
  119. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_create.py +153 -0
  120. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_fill_form.py +97 -0
  121. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_form_layout.py +168 -0
  122. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_make_form.py +145 -0
  123. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_merge.py +50 -0
  124. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_meta.py +123 -0
  125. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_page_image.py +101 -0
  126. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_read.py +153 -0
  127. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_secure.py +71 -0
  128. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_split.py +86 -0
  129. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_stamp.py +145 -0
  130. package/built-in-skills/office-artifacts/references/pdf/scripts/pdf_watermark.py +51 -0
  131. package/built-in-skills/office-artifacts/references/pdf/tests/test_pdf_skill.py +414 -0
  132. package/built-in-skills/office-artifacts/references/powerpoint/GUIDE.md +220 -0
  133. package/built-in-skills/office-artifacts/references/powerpoint/LICENSE +21 -0
  134. package/built-in-skills/office-artifacts/references/powerpoint/NOTICE.md +21 -0
  135. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_create.py +214 -0
  136. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_edit.py +442 -0
  137. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_from_template.py +88 -0
  138. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_read.py +131 -0
  139. package/built-in-skills/office-artifacts/references/powerpoint/scripts/pptx_render.py +104 -0
  140. package/built-in-skills/office-artifacts/references/powerpoint/tests/test_powerpoint_skill.py +478 -0
  141. package/built-in-skills/office-artifacts/references/xlsx/GUIDE.md +196 -0
  142. package/built-in-skills/office-artifacts/references/xlsx/LICENSE +21 -0
  143. package/built-in-skills/office-artifacts/references/xlsx/NOTICE.md +21 -0
  144. package/built-in-skills/office-artifacts/references/xlsx/references/restructuring.md +74 -0
  145. package/built-in-skills/office-artifacts/references/xlsx/scripts/csv_to_xlsx.py +108 -0
  146. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_create.py +259 -0
  147. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_edit.py +269 -0
  148. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_read.py +160 -0
  149. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_recalc.py +111 -0
  150. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_restructure.py +418 -0
  151. package/built-in-skills/office-artifacts/references/xlsx/scripts/xlsx_to_csv.py +69 -0
  152. package/built-in-skills/office-artifacts/references/xlsx/tests/test_xlsx_skill.py +542 -0
  153. package/built-in-skills/office-artifacts/tests/test_resource_regressions.py +272 -0
  154. package/built-in-skills/persona-generator/SKILL.md +9 -9
  155. package/built-in-skills/pkf-svg/SKILL.md +5 -0
  156. package/built-in-skills/pkf-svg/references/architecture-diagram/GUIDE.md +148 -0
  157. package/built-in-skills/pkf-svg/references/architecture-diagram/LICENSE +21 -0
  158. package/built-in-skills/pkf-svg/references/architecture-diagram/LICENSE.hermes +21 -0
  159. package/built-in-skills/pkf-svg/references/architecture-diagram/PROVENANCE.md +7 -0
  160. package/built-in-skills/pkf-svg/references/architecture-diagram/templates/template.html +345 -0
  161. package/built-in-skills/pkf-writing/SKILL.md +36 -14
  162. package/built-in-skills/prismer-airtable/LICENSE +21 -0
  163. package/built-in-skills/prismer-airtable/NOTICE.md +11 -0
  164. package/built-in-skills/prismer-airtable/SKILL.md +248 -0
  165. package/built-in-skills/prismer-airtable/scripts/airtable_client.py +76 -0
  166. package/built-in-skills/prismer-apple-notes/LICENSE +21 -0
  167. package/built-in-skills/prismer-apple-notes/NOTICE.md +17 -0
  168. package/built-in-skills/prismer-apple-notes/SKILL.md +118 -0
  169. package/built-in-skills/prismer-apple-notes/scripts/readiness.py +47 -0
  170. package/built-in-skills/prismer-apple-reminders/LICENSE +21 -0
  171. package/built-in-skills/prismer-apple-reminders/NOTICE.md +17 -0
  172. package/built-in-skills/prismer-apple-reminders/SKILL.md +155 -0
  173. package/built-in-skills/prismer-apple-reminders/scripts/readiness.py +47 -0
  174. package/built-in-skills/prismer-ascii-video/LICENSE +21 -0
  175. package/built-in-skills/prismer-ascii-video/LICENSE.hermes +21 -0
  176. package/built-in-skills/prismer-ascii-video/PROVENANCE.md +7 -0
  177. package/built-in-skills/prismer-ascii-video/README.md +290 -0
  178. package/built-in-skills/prismer-ascii-video/SKILL.md +252 -0
  179. package/built-in-skills/prismer-ascii-video/provenance/category-DESCRIPTION.md +3 -0
  180. package/built-in-skills/prismer-ascii-video/references/architecture.md +807 -0
  181. package/built-in-skills/prismer-ascii-video/references/composition.md +900 -0
  182. package/built-in-skills/prismer-ascii-video/references/effects.md +1877 -0
  183. package/built-in-skills/prismer-ascii-video/references/inputs.md +693 -0
  184. package/built-in-skills/prismer-ascii-video/references/optimization.md +688 -0
  185. package/built-in-skills/prismer-ascii-video/references/scenes.md +1018 -0
  186. package/built-in-skills/prismer-ascii-video/references/shaders.md +1408 -0
  187. package/built-in-skills/prismer-ascii-video/references/troubleshooting.md +360 -0
  188. package/built-in-skills/prismer-baoyu-infographic/LICENSE +21 -0
  189. package/built-in-skills/prismer-baoyu-infographic/LICENSE.hermes +21 -0
  190. package/built-in-skills/prismer-baoyu-infographic/LICENSE.origin +21 -0
  191. package/built-in-skills/prismer-baoyu-infographic/PORT_NOTES.md +37 -0
  192. package/built-in-skills/prismer-baoyu-infographic/PROVENANCE.md +7 -0
  193. package/built-in-skills/prismer-baoyu-infographic/SKILL.md +240 -0
  194. package/built-in-skills/prismer-baoyu-infographic/references/analysis-framework.md +182 -0
  195. package/built-in-skills/prismer-baoyu-infographic/references/base-prompt.md +43 -0
  196. package/built-in-skills/prismer-baoyu-infographic/references/layouts/bento-grid.md +41 -0
  197. package/built-in-skills/prismer-baoyu-infographic/references/layouts/binary-comparison.md +48 -0
  198. package/built-in-skills/prismer-baoyu-infographic/references/layouts/bridge.md +41 -0
  199. package/built-in-skills/prismer-baoyu-infographic/references/layouts/circular-flow.md +41 -0
  200. package/built-in-skills/prismer-baoyu-infographic/references/layouts/comic-strip.md +41 -0
  201. package/built-in-skills/prismer-baoyu-infographic/references/layouts/comparison-matrix.md +41 -0
  202. package/built-in-skills/prismer-baoyu-infographic/references/layouts/dashboard.md +41 -0
  203. package/built-in-skills/prismer-baoyu-infographic/references/layouts/dense-modules.md +72 -0
  204. package/built-in-skills/prismer-baoyu-infographic/references/layouts/funnel.md +41 -0
  205. package/built-in-skills/prismer-baoyu-infographic/references/layouts/hierarchical-layers.md +48 -0
  206. package/built-in-skills/prismer-baoyu-infographic/references/layouts/hub-spoke.md +41 -0
  207. package/built-in-skills/prismer-baoyu-infographic/references/layouts/iceberg.md +41 -0
  208. package/built-in-skills/prismer-baoyu-infographic/references/layouts/isometric-map.md +41 -0
  209. package/built-in-skills/prismer-baoyu-infographic/references/layouts/jigsaw.md +41 -0
  210. package/built-in-skills/prismer-baoyu-infographic/references/layouts/linear-progression.md +48 -0
  211. package/built-in-skills/prismer-baoyu-infographic/references/layouts/periodic-table.md +41 -0
  212. package/built-in-skills/prismer-baoyu-infographic/references/layouts/story-mountain.md +41 -0
  213. package/built-in-skills/prismer-baoyu-infographic/references/layouts/structural-breakdown.md +48 -0
  214. package/built-in-skills/prismer-baoyu-infographic/references/layouts/tree-branching.md +41 -0
  215. package/built-in-skills/prismer-baoyu-infographic/references/layouts/venn-diagram.md +41 -0
  216. package/built-in-skills/prismer-baoyu-infographic/references/layouts/winding-roadmap.md +41 -0
  217. package/built-in-skills/prismer-baoyu-infographic/references/structured-content-template.md +244 -0
  218. package/built-in-skills/prismer-baoyu-infographic/references/styles/aged-academia.md +36 -0
  219. package/built-in-skills/prismer-baoyu-infographic/references/styles/bold-graphic.md +36 -0
  220. package/built-in-skills/prismer-baoyu-infographic/references/styles/chalkboard.md +61 -0
  221. package/built-in-skills/prismer-baoyu-infographic/references/styles/claymation.md +29 -0
  222. package/built-in-skills/prismer-baoyu-infographic/references/styles/corporate-memphis.md +29 -0
  223. package/built-in-skills/prismer-baoyu-infographic/references/styles/craft-handmade.md +44 -0
  224. package/built-in-skills/prismer-baoyu-infographic/references/styles/cyberpunk-neon.md +29 -0
  225. package/built-in-skills/prismer-baoyu-infographic/references/styles/hand-drawn-edu.md +63 -0
  226. package/built-in-skills/prismer-baoyu-infographic/references/styles/ikea-manual.md +29 -0
  227. package/built-in-skills/prismer-baoyu-infographic/references/styles/kawaii.md +29 -0
  228. package/built-in-skills/prismer-baoyu-infographic/references/styles/knolling.md +29 -0
  229. package/built-in-skills/prismer-baoyu-infographic/references/styles/lego-brick.md +29 -0
  230. package/built-in-skills/prismer-baoyu-infographic/references/styles/morandi-journal.md +60 -0
  231. package/built-in-skills/prismer-baoyu-infographic/references/styles/origami.md +29 -0
  232. package/built-in-skills/prismer-baoyu-infographic/references/styles/pixel-art.md +29 -0
  233. package/built-in-skills/prismer-baoyu-infographic/references/styles/pop-laboratory.md +48 -0
  234. package/built-in-skills/prismer-baoyu-infographic/references/styles/retro-pop-grid.md +47 -0
  235. package/built-in-skills/prismer-baoyu-infographic/references/styles/storybook-watercolor.md +29 -0
  236. package/built-in-skills/prismer-baoyu-infographic/references/styles/subway-map.md +29 -0
  237. package/built-in-skills/prismer-baoyu-infographic/references/styles/technical-schematic.md +36 -0
  238. package/built-in-skills/prismer-baoyu-infographic/references/styles/ui-wireframe.md +29 -0
  239. package/built-in-skills/prismer-blocked-page-recovery/LICENSE +21 -0
  240. package/built-in-skills/prismer-blocked-page-recovery/NOTICE.md +17 -0
  241. package/built-in-skills/prismer-blocked-page-recovery/SKILL.md +158 -0
  242. package/built-in-skills/prismer-blocked-page-recovery/scripts/recover_page.py +311 -0
  243. package/built-in-skills/prismer-box/LICENSE +21 -0
  244. package/built-in-skills/prismer-box/NOTICE.md +11 -0
  245. package/built-in-skills/prismer-box/SKILL.md +147 -0
  246. package/built-in-skills/prismer-box/references/bulk-operations.md +43 -0
  247. package/built-in-skills/prismer-box/references/cli-guide.md +133 -0
  248. package/built-in-skills/prismer-box/references/content-workflows.md +86 -0
  249. package/built-in-skills/prismer-box/references/hubs.md +77 -0
  250. package/built-in-skills/prismer-box/references/oauth-setup.md +92 -0
  251. package/built-in-skills/prismer-box/references/rest-api.md +37 -0
  252. package/built-in-skills/prismer-box/references/sdk-development.md +85 -0
  253. package/built-in-skills/prismer-box/references/search-and-ai.md +147 -0
  254. package/built-in-skills/prismer-box/references/troubleshooting.md +33 -0
  255. package/built-in-skills/prismer-box/references/webhooks-and-events.md +43 -0
  256. package/built-in-skills/prismer-codebase-inspection/LICENSE +21 -0
  257. package/built-in-skills/prismer-codebase-inspection/NOTICE.md +17 -0
  258. package/built-in-skills/prismer-codebase-inspection/SKILL.md +141 -0
  259. package/built-in-skills/prismer-computer-use/LICENSE +21 -0
  260. package/built-in-skills/prismer-computer-use/NOTICE.md +17 -0
  261. package/built-in-skills/prismer-computer-use/SKILL.md +372 -0
  262. package/built-in-skills/prismer-design-md/LICENSE +21 -0
  263. package/built-in-skills/prismer-design-md/LICENSE.hermes +21 -0
  264. package/built-in-skills/prismer-design-md/PROVENANCE.md +7 -0
  265. package/built-in-skills/prismer-design-md/SKILL.md +227 -0
  266. package/built-in-skills/prismer-design-md/templates/starter.md +99 -0
  267. package/built-in-skills/prismer-email-inbox-triage/LICENSE +21 -0
  268. package/built-in-skills/prismer-email-inbox-triage/NOTICE.md +11 -0
  269. package/built-in-skills/prismer-email-inbox-triage/SKILL.md +116 -0
  270. package/built-in-skills/prismer-findmy/LICENSE +21 -0
  271. package/built-in-skills/prismer-findmy/NOTICE.md +17 -0
  272. package/built-in-skills/prismer-findmy/SKILL.md +150 -0
  273. package/built-in-skills/prismer-findmy/scripts/readiness.py +47 -0
  274. package/built-in-skills/prismer-gif-search/LICENSE +21 -0
  275. package/built-in-skills/prismer-gif-search/LICENSE.hermes +21 -0
  276. package/built-in-skills/prismer-gif-search/PROVENANCE.md +7 -0
  277. package/built-in-skills/prismer-gif-search/SKILL.md +97 -0
  278. package/built-in-skills/prismer-gif-search/scripts/tenor.py +81 -0
  279. package/built-in-skills/prismer-github/LICENSE +21 -0
  280. package/built-in-skills/prismer-github/NOTICE.md +17 -0
  281. package/built-in-skills/prismer-github/SKILL.md +74 -0
  282. package/built-in-skills/prismer-github/references/auth.md +91 -0
  283. package/built-in-skills/prismer-github/references/ci-troubleshooting.md +193 -0
  284. package/built-in-skills/prismer-github/references/code-review.md +465 -0
  285. package/built-in-skills/prismer-github/references/conventional-commits.md +81 -0
  286. package/built-in-skills/prismer-github/references/github-api-cheatsheet.md +177 -0
  287. package/built-in-skills/prismer-github/references/issue-to-pr.md +74 -0
  288. package/built-in-skills/prismer-github/references/issues.md +336 -0
  289. package/built-in-skills/prismer-github/references/pr-workflow.md +346 -0
  290. package/built-in-skills/prismer-github/references/repo-management.md +484 -0
  291. package/built-in-skills/prismer-github/references/review-output-template.md +84 -0
  292. package/built-in-skills/prismer-github/scripts/ensure-gh.py +132 -0
  293. package/built-in-skills/prismer-github/scripts/gh-env.sh +25 -0
  294. package/built-in-skills/prismer-github/scripts/git-credential-token.py +68 -0
  295. package/built-in-skills/prismer-github/scripts/github-api.py +71 -0
  296. package/built-in-skills/prismer-github/scripts/github-context.py +28 -0
  297. package/built-in-skills/prismer-github/templates/bug-report.md +35 -0
  298. package/built-in-skills/prismer-github/templates/feature-request.md +31 -0
  299. package/built-in-skills/prismer-github/templates/pr-body-bugfix.md +35 -0
  300. package/built-in-skills/prismer-github/templates/pr-body-feature.md +33 -0
  301. package/built-in-skills/prismer-google-workspace/LICENSE +21 -0
  302. package/built-in-skills/prismer-google-workspace/NOTICE.md +11 -0
  303. package/built-in-skills/prismer-google-workspace/SKILL.md +369 -0
  304. package/built-in-skills/prismer-google-workspace/references/daily-brief.md +65 -0
  305. package/built-in-skills/prismer-google-workspace/references/gmail-search-syntax.md +63 -0
  306. package/built-in-skills/prismer-google-workspace/scripts/_hermes_home.py +17 -0
  307. package/built-in-skills/prismer-google-workspace/scripts/_private_state.py +39 -0
  308. package/built-in-skills/prismer-google-workspace/scripts/google_api.py +1339 -0
  309. package/built-in-skills/prismer-google-workspace/scripts/gws_bridge.py +121 -0
  310. package/built-in-skills/prismer-google-workspace/scripts/setup.py +563 -0
  311. package/built-in-skills/prismer-google-workspace/tests/test_productivity_regressions.py +214 -0
  312. package/built-in-skills/prismer-hermes-agent/LICENSE +21 -0
  313. package/built-in-skills/prismer-hermes-agent/NOTICE.md +17 -0
  314. package/built-in-skills/prismer-hermes-agent/SKILL.md +247 -0
  315. package/built-in-skills/prismer-hermes-agent/references/background-systems.md +108 -0
  316. package/built-in-skills/prismer-hermes-agent/references/cli-reference.md +158 -0
  317. package/built-in-skills/prismer-hermes-agent/references/configuration.md +96 -0
  318. package/built-in-skills/prismer-hermes-agent/references/contributor-guide.md +151 -0
  319. package/built-in-skills/prismer-hermes-agent/references/delegate-task-concurrency-diagnosis.md +47 -0
  320. package/built-in-skills/prismer-hermes-agent/references/desktop-plugins.md +215 -0
  321. package/built-in-skills/prismer-hermes-agent/references/native-mcp.md +351 -0
  322. package/built-in-skills/prismer-hermes-agent/references/petdex.md +82 -0
  323. package/built-in-skills/prismer-hermes-agent/references/portal-auth-for-third-party-apps.md +135 -0
  324. package/built-in-skills/prismer-hermes-agent/references/project-context-files.md +55 -0
  325. package/built-in-skills/prismer-hermes-agent/references/providers-and-models.md +81 -0
  326. package/built-in-skills/prismer-hermes-agent/references/security-privacy.md +73 -0
  327. package/built-in-skills/prismer-hermes-agent/references/slash-commands.md +119 -0
  328. package/built-in-skills/prismer-hermes-agent/references/themes.md +134 -0
  329. package/built-in-skills/prismer-hermes-agent/references/troubleshooting.md +87 -0
  330. package/built-in-skills/prismer-hermes-agent/references/tui-widgets.md +144 -0
  331. package/built-in-skills/prismer-hermes-agent/references/webhooks.md +219 -0
  332. package/built-in-skills/prismer-hermes-agent/references/windows-quirks.md +64 -0
  333. package/built-in-skills/prismer-hermes-agent/templates/clock.mjs +51 -0
  334. package/built-in-skills/prismer-hermes-agent/templates/plugin.js +97 -0
  335. package/built-in-skills/prismer-hermes-agent/templates/skin.yaml +49 -0
  336. package/built-in-skills/prismer-himalaya/LICENSE +21 -0
  337. package/built-in-skills/prismer-himalaya/NOTICE.md +11 -0
  338. package/built-in-skills/prismer-himalaya/SKILL.md +340 -0
  339. package/built-in-skills/prismer-himalaya/references/configuration.md +227 -0
  340. package/built-in-skills/prismer-himalaya/references/message-composition.md +206 -0
  341. package/built-in-skills/prismer-himalaya/scripts/compose_draft.py +48 -0
  342. package/built-in-skills/prismer-im-collab/SKILL.md +1 -1
  343. package/built-in-skills/prismer-imessage/LICENSE +21 -0
  344. package/built-in-skills/prismer-imessage/NOTICE.md +17 -0
  345. package/built-in-skills/prismer-imessage/SKILL.md +128 -0
  346. package/built-in-skills/prismer-imessage/scripts/readiness.py +47 -0
  347. package/built-in-skills/prismer-manim-video/LICENSE +21 -0
  348. package/built-in-skills/prismer-manim-video/LICENSE.hermes +21 -0
  349. package/built-in-skills/prismer-manim-video/PROVENANCE.md +7 -0
  350. package/built-in-skills/prismer-manim-video/README.md +23 -0
  351. package/built-in-skills/prismer-manim-video/SKILL.md +279 -0
  352. package/built-in-skills/prismer-manim-video/references/animation-design-thinking.md +161 -0
  353. package/built-in-skills/prismer-manim-video/references/animations.md +282 -0
  354. package/built-in-skills/prismer-manim-video/references/camera-and-3d.md +135 -0
  355. package/built-in-skills/prismer-manim-video/references/decorations.md +202 -0
  356. package/built-in-skills/prismer-manim-video/references/equations.md +216 -0
  357. package/built-in-skills/prismer-manim-video/references/graphs-and-data.md +163 -0
  358. package/built-in-skills/prismer-manim-video/references/mobjects.md +333 -0
  359. package/built-in-skills/prismer-manim-video/references/paper-explainer.md +255 -0
  360. package/built-in-skills/prismer-manim-video/references/production-quality.md +190 -0
  361. package/built-in-skills/prismer-manim-video/references/rendering.md +187 -0
  362. package/built-in-skills/prismer-manim-video/references/scene-planning.md +118 -0
  363. package/built-in-skills/prismer-manim-video/references/troubleshooting.md +135 -0
  364. package/built-in-skills/prismer-manim-video/references/updaters-and-trackers.md +260 -0
  365. package/built-in-skills/prismer-manim-video/references/visual-design.md +124 -0
  366. package/built-in-skills/prismer-manim-video/scripts/setup.sh +15 -0
  367. package/built-in-skills/prismer-maps/LICENSE +21 -0
  368. package/built-in-skills/prismer-maps/NOTICE.md +11 -0
  369. package/built-in-skills/prismer-maps/SKILL.md +240 -0
  370. package/built-in-skills/prismer-maps/scripts/maps_client.py +1324 -0
  371. package/built-in-skills/prismer-node-inspect-debugger/LICENSE +21 -0
  372. package/built-in-skills/prismer-node-inspect-debugger/NOTICE.md +17 -0
  373. package/built-in-skills/prismer-node-inspect-debugger/SKILL.md +347 -0
  374. package/built-in-skills/prismer-notion/LICENSE +21 -0
  375. package/built-in-skills/prismer-notion/NOTICE.md +11 -0
  376. package/built-in-skills/prismer-notion/SKILL.md +495 -0
  377. package/built-in-skills/prismer-notion/references/block-types.md +112 -0
  378. package/built-in-skills/prismer-obsidian/LICENSE +21 -0
  379. package/built-in-skills/prismer-obsidian/LICENSE.hermes +21 -0
  380. package/built-in-skills/prismer-obsidian/PROVENANCE.md +7 -0
  381. package/built-in-skills/prismer-obsidian/SKILL.md +80 -0
  382. package/built-in-skills/prismer-obsidian/provenance/category-DESCRIPTION.md +3 -0
  383. package/built-in-skills/prismer-obsidian/scripts/write_note.py +84 -0
  384. package/built-in-skills/prismer-p5js/LICENSE +21 -0
  385. package/built-in-skills/prismer-p5js/LICENSE.hermes +21 -0
  386. package/built-in-skills/prismer-p5js/PROVENANCE.md +7 -0
  387. package/built-in-skills/prismer-p5js/README.md +64 -0
  388. package/built-in-skills/prismer-p5js/SKILL.md +574 -0
  389. package/built-in-skills/prismer-p5js/references/animation.md +439 -0
  390. package/built-in-skills/prismer-p5js/references/color-systems.md +355 -0
  391. package/built-in-skills/prismer-p5js/references/core-api.md +410 -0
  392. package/built-in-skills/prismer-p5js/references/export-pipeline.md +534 -0
  393. package/built-in-skills/prismer-p5js/references/interaction.md +398 -0
  394. package/built-in-skills/prismer-p5js/references/shapes-and-geometry.md +300 -0
  395. package/built-in-skills/prismer-p5js/references/troubleshooting.md +532 -0
  396. package/built-in-skills/prismer-p5js/references/typography.md +302 -0
  397. package/built-in-skills/prismer-p5js/references/visual-effects.md +905 -0
  398. package/built-in-skills/prismer-p5js/references/webgl-and-3d.md +423 -0
  399. package/built-in-skills/prismer-p5js/scripts/export-frames.js +91 -0
  400. package/built-in-skills/prismer-p5js/scripts/render.sh +113 -0
  401. package/built-in-skills/prismer-p5js/scripts/serve.sh +25 -0
  402. package/built-in-skills/prismer-p5js/scripts/setup.sh +87 -0
  403. package/built-in-skills/prismer-p5js/templates/viewer.html +401 -0
  404. package/built-in-skills/prismer-popular-web-designs/LICENSE +21 -0
  405. package/built-in-skills/prismer-popular-web-designs/LICENSE.hermes +21 -0
  406. package/built-in-skills/prismer-popular-web-designs/LICENSE.origin +21 -0
  407. package/built-in-skills/prismer-popular-web-designs/PROVENANCE.md +7 -0
  408. package/built-in-skills/prismer-popular-web-designs/SKILL.md +218 -0
  409. package/built-in-skills/prismer-popular-web-designs/templates/airbnb.md +259 -0
  410. package/built-in-skills/prismer-popular-web-designs/templates/airtable.md +102 -0
  411. package/built-in-skills/prismer-popular-web-designs/templates/apple.md +326 -0
  412. package/built-in-skills/prismer-popular-web-designs/templates/bmw.md +193 -0
  413. package/built-in-skills/prismer-popular-web-designs/templates/cal.md +272 -0
  414. package/built-in-skills/prismer-popular-web-designs/templates/claude.md +325 -0
  415. package/built-in-skills/prismer-popular-web-designs/templates/clay.md +317 -0
  416. package/built-in-skills/prismer-popular-web-designs/templates/clickhouse.md +294 -0
  417. package/built-in-skills/prismer-popular-web-designs/templates/cohere.md +279 -0
  418. package/built-in-skills/prismer-popular-web-designs/templates/coinbase.md +142 -0
  419. package/built-in-skills/prismer-popular-web-designs/templates/composio.md +320 -0
  420. package/built-in-skills/prismer-popular-web-designs/templates/cursor.md +322 -0
  421. package/built-in-skills/prismer-popular-web-designs/templates/elevenlabs.md +278 -0
  422. package/built-in-skills/prismer-popular-web-designs/templates/expo.md +294 -0
  423. package/built-in-skills/prismer-popular-web-designs/templates/figma.md +233 -0
  424. package/built-in-skills/prismer-popular-web-designs/templates/framer.md +259 -0
  425. package/built-in-skills/prismer-popular-web-designs/templates/hashicorp.md +291 -0
  426. package/built-in-skills/prismer-popular-web-designs/templates/ibm.md +345 -0
  427. package/built-in-skills/prismer-popular-web-designs/templates/intercom.md +159 -0
  428. package/built-in-skills/prismer-popular-web-designs/templates/kraken.md +138 -0
  429. package/built-in-skills/prismer-popular-web-designs/templates/linear.app.md +380 -0
  430. package/built-in-skills/prismer-popular-web-designs/templates/lovable.md +311 -0
  431. package/built-in-skills/prismer-popular-web-designs/templates/minimax.md +270 -0
  432. package/built-in-skills/prismer-popular-web-designs/templates/mintlify.md +339 -0
  433. package/built-in-skills/prismer-popular-web-designs/templates/miro.md +121 -0
  434. package/built-in-skills/prismer-popular-web-designs/templates/mistral.ai.md +274 -0
  435. package/built-in-skills/prismer-popular-web-designs/templates/mongodb.md +279 -0
  436. package/built-in-skills/prismer-popular-web-designs/templates/notion.md +322 -0
  437. package/built-in-skills/prismer-popular-web-designs/templates/nvidia.md +306 -0
  438. package/built-in-skills/prismer-popular-web-designs/templates/ollama.md +280 -0
  439. package/built-in-skills/prismer-popular-web-designs/templates/opencode.ai.md +294 -0
  440. package/built-in-skills/prismer-popular-web-designs/templates/pinterest.md +243 -0
  441. package/built-in-skills/prismer-popular-web-designs/templates/posthog.md +269 -0
  442. package/built-in-skills/prismer-popular-web-designs/templates/raycast.md +281 -0
  443. package/built-in-skills/prismer-popular-web-designs/templates/replicate.md +274 -0
  444. package/built-in-skills/prismer-popular-web-designs/templates/resend.md +316 -0
  445. package/built-in-skills/prismer-popular-web-designs/templates/revolut.md +198 -0
  446. package/built-in-skills/prismer-popular-web-designs/templates/runwayml.md +257 -0
  447. package/built-in-skills/prismer-popular-web-designs/templates/sanity.md +370 -0
  448. package/built-in-skills/prismer-popular-web-designs/templates/sentry.md +275 -0
  449. package/built-in-skills/prismer-popular-web-designs/templates/spacex.md +207 -0
  450. package/built-in-skills/prismer-popular-web-designs/templates/spotify.md +259 -0
  451. package/built-in-skills/prismer-popular-web-designs/templates/stripe.md +335 -0
  452. package/built-in-skills/prismer-popular-web-designs/templates/supabase.md +268 -0
  453. package/built-in-skills/prismer-popular-web-designs/templates/superhuman.md +265 -0
  454. package/built-in-skills/prismer-popular-web-designs/templates/together.ai.md +276 -0
  455. package/built-in-skills/prismer-popular-web-designs/templates/uber.md +308 -0
  456. package/built-in-skills/prismer-popular-web-designs/templates/vercel.md +323 -0
  457. package/built-in-skills/prismer-popular-web-designs/templates/voltagent.md +336 -0
  458. package/built-in-skills/prismer-popular-web-designs/templates/warp.md +266 -0
  459. package/built-in-skills/prismer-popular-web-designs/templates/webflow.md +105 -0
  460. package/built-in-skills/prismer-popular-web-designs/templates/wise.md +186 -0
  461. package/built-in-skills/prismer-popular-web-designs/templates/x.ai.md +270 -0
  462. package/built-in-skills/prismer-popular-web-designs/templates/zapier.md +341 -0
  463. package/built-in-skills/prismer-product-price-monitor/LICENSE +21 -0
  464. package/built-in-skills/prismer-product-price-monitor/NOTICE.md +11 -0
  465. package/built-in-skills/prismer-product-price-monitor/SKILL.md +97 -0
  466. package/built-in-skills/prismer-product-price-monitor/scripts/watch_state.py +116 -0
  467. package/built-in-skills/prismer-python-debugpy/LICENSE +21 -0
  468. package/built-in-skills/prismer-python-debugpy/NOTICE.md +17 -0
  469. package/built-in-skills/prismer-python-debugpy/SKILL.md +377 -0
  470. package/built-in-skills/prismer-python-debugpy/scripts/dap_client.py +68 -0
  471. package/built-in-skills/prismer-songsee/LICENSE +21 -0
  472. package/built-in-skills/prismer-songsee/LICENSE.hermes +21 -0
  473. package/built-in-skills/prismer-songsee/PROVENANCE.md +7 -0
  474. package/built-in-skills/prismer-songsee/SKILL.md +91 -0
  475. package/built-in-skills/prismer-songwriting-and-ai-music/LICENSE +21 -0
  476. package/built-in-skills/prismer-songwriting-and-ai-music/LICENSE.hermes +21 -0
  477. package/built-in-skills/prismer-songwriting-and-ai-music/PROVENANCE.md +7 -0
  478. package/built-in-skills/prismer-songwriting-and-ai-music/SKILL.md +317 -0
  479. package/built-in-skills/prismer-spike/LICENSE +21 -0
  480. package/built-in-skills/prismer-spike/LICENSE.gsd +21 -0
  481. package/built-in-skills/prismer-spike/NOTICE.md +17 -0
  482. package/built-in-skills/prismer-spike/SKILL.md +212 -0
  483. package/built-in-skills/prismer-teams-meeting-pipeline/LICENSE +21 -0
  484. package/built-in-skills/prismer-teams-meeting-pipeline/NOTICE.md +11 -0
  485. package/built-in-skills/prismer-teams-meeting-pipeline/SKILL.md +156 -0
  486. package/built-in-skills/prismer-xurl/LICENSE +21 -0
  487. package/built-in-skills/prismer-xurl/LICENSE.hermes +21 -0
  488. package/built-in-skills/prismer-xurl/PROVENANCE.md +7 -0
  489. package/built-in-skills/prismer-xurl/SKILL.md +444 -0
  490. package/built-in-skills/prismer-xurl/provenance/category-DESCRIPTION.md +3 -0
  491. package/built-in-skills/prismer-youtube-content/LICENSE +21 -0
  492. package/built-in-skills/prismer-youtube-content/LICENSE.hermes +21 -0
  493. package/built-in-skills/prismer-youtube-content/PROVENANCE.md +7 -0
  494. package/built-in-skills/prismer-youtube-content/SKILL.md +86 -0
  495. package/built-in-skills/prismer-youtube-content/provenance/category-DESCRIPTION.md +3 -0
  496. package/built-in-skills/prismer-youtube-content/references/output-formats.md +56 -0
  497. package/built-in-skills/prismer-youtube-content/scripts/fetch_transcript.py +146 -0
  498. package/built-in-skills/research-arxiv/LICENSE +21 -0
  499. package/built-in-skills/research-arxiv/NOTICE.md +4 -0
  500. package/built-in-skills/research-arxiv/SKILL.md +263 -0
  501. package/built-in-skills/research-arxiv/scripts/search_arxiv.py +111 -0
  502. package/built-in-skills/role-builder/SKILL.md +7 -1
  503. package/built-in-skills/role-builder/scripts/author-role.mjs +23 -7
  504. package/built-in-skills/role-builder/scripts/ingest-role.mjs +15 -117
  505. package/built-in-skills/role-builder/scripts/instantiate-and-run.mjs +15 -1
  506. package/built-in-skills/role-builder/scripts/operation-harness.mjs +6 -4
  507. package/built-in-skills/skill-creator/LICENSE.prismer +21 -0
  508. package/built-in-skills/skill-creator/NOTICE.md +18 -0
  509. package/built-in-skills/skill-creator/SKILL.md +20 -1
  510. package/built-in-skills/skill-creator/eval-viewer/generate_review.py +20 -31
  511. package/built-in-skills/skill-creator/eval-viewer/viewer.html +35 -23
  512. package/built-in-skills/skill-creator/references/hermes-agent-skill-authoring/GUIDE.md +220 -0
  513. package/built-in-skills/skill-creator/references/hermes-agent-skill-authoring/LICENSE +21 -0
  514. package/built-in-skills/{skill-authoring/SKILL.md → skill-creator/references/skill-authoring/GUIDE.md} +1 -1
  515. package/built-in-skills/{skill-builder/SKILL.md → skill-creator/references/skill-builder/GUIDE.md} +8 -12
  516. package/built-in-skills/skill-creator/references/skill-builder/scripts/ingest.mjs +93 -0
  517. package/built-in-skills/skill-creator/scripts/aggregate_benchmark.py +3 -2
  518. package/built-in-skills/skill-creator/scripts/import-library.mjs +30 -7
  519. package/built-in-skills/skill-creator/scripts/improve_description.py +14 -16
  520. package/built-in-skills/skill-creator/scripts/package_skill.py +16 -9
  521. package/built-in-skills/skill-creator/scripts/quick_validate.py +22 -5
  522. package/built-in-skills/skill-creator/scripts/run_eval.py +63 -144
  523. package/built-in-skills/skill-creator/scripts/run_loop.py +24 -16
  524. package/built-in-skills/slack-gif-creator/core/gif_builder.py +13 -2
  525. package/built-in-skills/slack-gif-creator/core/validators.py +17 -7
  526. package/built-in-skills/tasks/SKILL.md +2 -2
  527. package/built-in-skills/tdd/SKILL.md +7 -0
  528. package/built-in-skills/tdd/references/test-driven-development/GUIDE.md +356 -0
  529. package/built-in-skills/tdd/references/test-driven-development/LICENSE +21 -0
  530. package/built-in-skills/tdd/references/test-driven-development/LICENSE.superpowers +21 -0
  531. package/built-in-skills/tdd/references/test-driven-development/NOTICE.md +37 -0
  532. package/built-in-skills/team/SKILL.md +1 -1
  533. package/built-in-skills/web-artifacts-builder/SKILL.md +3 -3
  534. package/built-in-skills/web-artifacts-builder/scripts/bundle-artifact.sh +9 -7
  535. package/built-in-skills/web-artifacts-builder/scripts/init-artifact.sh +28 -55
  536. package/built-in-skills/webapp-qa/LICENSE +21 -0
  537. package/built-in-skills/webapp-qa/NOTICE.md +37 -0
  538. package/built-in-skills/webapp-qa/SKILL.md +41 -0
  539. package/built-in-skills/webapp-qa/references/dogfood/GUIDE.md +161 -0
  540. package/built-in-skills/webapp-qa/references/issue-taxonomy.md +109 -0
  541. package/built-in-skills/webapp-qa/templates/dogfood-report-template.md +86 -0
  542. package/built-in-skills/webapp-testing/SKILL.md +9 -2
  543. package/built-in-skills/webapp-testing/examples/console_logging.py +10 -4
  544. package/built-in-skills/webapp-testing/examples/element_discovery.py +11 -4
  545. package/built-in-skills/webapp-testing/examples/static_html_automation.py +14 -9
  546. package/built-in-skills/webapp-testing/scripts/with_server.py +34 -10
  547. package/built-in-skills/weekly-review/LICENSE +21 -0
  548. package/built-in-skills/weekly-review/NOTICE.md +21 -0
  549. package/built-in-skills/weekly-review/SKILL.md +49 -0
  550. package/components/eaas-pi-components.manifest.json +37 -0
  551. package/dist/cli.cjs +7079 -3327
  552. package/dist/cli.js +6706 -2936
  553. package/dist/index.cjs +7930 -3822
  554. package/dist/index.d.cts +484 -5
  555. package/dist/index.d.ts +484 -5
  556. package/dist/index.js +7181 -3064
  557. package/package.json +7 -2
  558. package/plugins/memory/prismer/__init__.py +4 -0
  559. package/plugins/memory/prismer/tool-schemas.generated.json +8 -0
  560. package/built-in-skills/skill-builder/scripts/ingest.mjs +0 -265
  561. package/built-in-skills/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  562. /package/built-in-skills/{document-generation/SKILL.md → office-artifacts/references/document-generation/GUIDE.md} +0 -0
  563. /package/built-in-skills/{skill-authoring/skill.json → skill-creator/references/skill-authoring/draft-contract.json} +0 -0
package/dist/index.d.ts CHANGED
@@ -3,7 +3,8 @@ import Database from 'better-sqlite3';
3
3
  import { Options } from '@anthropic-ai/claude-agent-sdk';
4
4
  import { EventEmitter } from 'node:events';
5
5
  import { IncomingMessage, ServerResponse } from 'node:http';
6
- import { Models, Model, Api } from '@earendil-works/pi-ai';
6
+ import { AgentTool } from '@earendil-works/pi-agent-core/node';
7
+ import { TextContent, ImageContent, Models, Model, Api } from '@earendil-works/pi-ai';
7
8
  import { Command } from 'commander';
8
9
 
9
10
  interface AssetRef {
@@ -402,6 +403,14 @@ interface ResolvedAssetRef extends AssetRef {
402
403
  base64?: string;
403
404
  reachable?: 'cdn' | 'base64' | 'unknown';
404
405
  }
406
+ /**
407
+ * spec 11 T4-2 — hand-maintained mirror of the cloud canon
408
+ * (`src/im/types/im-events.ts`). The field-NAME set (incl. `?`; field TYPES
409
+ * are NOT in the nail's scope) MUST match canon; the one named exception is
410
+ * the runtime-only `projectId?` below (cloud retired the project dimension —
411
+ * see its field comment). Drift is nailed by
412
+ * `scripts/__tests__/dispatch-wire-mirror-parity.test.ts` (T0 CI tier).
413
+ */
405
414
  interface TaskDispatchRequestPayload {
406
415
  taskId: string;
407
416
  /**
@@ -558,6 +567,13 @@ interface TaskDispatchRequestPayload {
558
567
  */
559
568
  sections?: IdentitySection[];
560
569
  };
570
+ /**
571
+ * S6/M1 — capability bit. Only a cloud that understands multi-frame replies
572
+ * sets this (chat agent-run dispatches). Legacy clouds never carry it, so the
573
+ * daemon must never send interim frames on their behalf — "legacy cloud only
574
+ * ever sees the final frame" is carried by THIS field, not by the frames.
575
+ */
576
+ interimReply?: boolean;
561
577
  }
562
578
  /**
563
579
  * product204/07 Phase C — one named identityContext section. `content` is a
@@ -565,9 +581,13 @@ interface TaskDispatchRequestPayload {
565
581
  * does no templating, only order-sort + trim + join.
566
582
  */
567
583
  interface IdentitySection {
568
- /** kebab-case, globally unique ('platform-directives' | 'config-directives' | 'per-turn-voice' | …). */
584
+ /** kebab-case, globally unique ('platform-directives' | 'config-directives' | 'per-turn-voice' | 'org-collaboration' | …). */
569
585
  id: string;
570
- /** Owning product204 doc number ('07' | '09' | '03') — kept loose for forward compat. */
586
+ /**
587
+ * Owning doc number ('07' | '09' | '03' | 'product205/12' | 'bugfix211/B' |
588
+ * 'organization/04') — kept loose (cloud side is a closed union; this mirror
589
+ * stays `string` so an old daemon never rejects a section added later).
590
+ */
571
591
  owner: string;
572
592
  /** Render position; daemon stable-sorts ascending before joining. */
573
593
  order: number;
@@ -721,6 +741,10 @@ interface TaskDispatchReplyPayload {
721
741
  outboxRejections?: OutboxRejectionRecord[];
722
742
  /** product209 Phase 1: bounded pre-reply authoritative Memory outcome. */
723
743
  durability?: TaskDurabilityResult;
744
+ /** S6/M1 — 1-based position in this turn's reply stream; present on every frame of a multi-frame turn. */
745
+ seq?: number;
746
+ /** S6/M1 — false = interim commentary frame (I1 shape); true/absent = terminal frame. */
747
+ final?: boolean;
724
748
  }
725
749
  interface TaskCancelPayload {
726
750
  taskId: string;
@@ -1851,11 +1875,25 @@ interface AgentRunOptions {
1851
1875
  interface AgentUsage {
1852
1876
  inputTokens?: number;
1853
1877
  cachedInputTokens?: number;
1878
+ /** PI cache creation tokens, separate from uncached input and cache reads. */
1879
+ cacheWriteTokens?: number;
1854
1880
  outputTokens?: number;
1855
1881
  totalCostUsd?: number;
1856
1882
  contextWindowMaxTokens?: number;
1857
1883
  contextWindowUsedTokens?: number;
1858
1884
  }
1885
+ /** Measurements at the PI engine boundary, not a provider billing receipt. */
1886
+ interface ModelCallObservation {
1887
+ sequence: number;
1888
+ source: 'pi-engine';
1889
+ provider: string;
1890
+ model: string;
1891
+ startedAt: number;
1892
+ durationMs: number;
1893
+ firstTextMs: number | null;
1894
+ status: 'completed' | 'failed' | 'canceled';
1895
+ usage: AgentUsage | null;
1896
+ }
1859
1897
  declare const TOOL_CALL_ICON_NAMES: readonly ["wrench", "square_terminal", "eye", "pencil", "search", "bot", "sparkles", "brain", "mic_vocal"];
1860
1898
  type ToolCallIconName = (typeof TOOL_CALL_ICON_NAMES)[number];
1861
1899
  type ToolCallDetail = {
@@ -2008,6 +2046,16 @@ type AgentTimelineItem = {
2008
2046
  message: string;
2009
2047
  } | CompactionTimelineItem;
2010
2048
  type AgentStreamEvent = {
2049
+ type: 'model_request_started';
2050
+ provider: AgentProvider;
2051
+ startedAt: number;
2052
+ turnId?: string;
2053
+ } | {
2054
+ type: 'model_call_observed';
2055
+ provider: AgentProvider;
2056
+ call: ModelCallObservation;
2057
+ turnId?: string;
2058
+ } | {
2011
2059
  type: "thread_started";
2012
2060
  sessionId: string;
2013
2061
  provider: AgentProvider;
@@ -2200,6 +2248,20 @@ interface AgentSessionConfig {
2200
2248
  sandboxMode?: string;
2201
2249
  networkAccess?: boolean;
2202
2250
  webSearch?: boolean;
2251
+ /**
2252
+ * Runtime turn tool declarations supplied by the cloud-side envelope.
2253
+ *
2254
+ * Omitted means provider default behavior. When present, runtime engines must
2255
+ * fail closed to the declared, enabled tool set.
2256
+ */
2257
+ runtimeTools?: Array<{
2258
+ name: string;
2259
+ kind: "builtin" | "component" | string;
2260
+ enabled?: boolean;
2261
+ version?: string;
2262
+ source?: string;
2263
+ config?: Record<string, unknown>;
2264
+ }>;
2203
2265
  extra?: {
2204
2266
  codex?: AgentMetadata;
2205
2267
  claude?: Partial<Options>;
@@ -2459,6 +2521,20 @@ interface TaskInput {
2459
2521
  message?: string;
2460
2522
  detail?: Record<string, unknown>;
2461
2523
  }) => void;
2524
+ /**
2525
+ * S6/M1 — mid-turn milestone narration relay (hermes v2026.9.14
2526
+ * `assistant.commentary` SSE events). Invoked once per non-empty commentary
2527
+ * segment, in stream order, with a per-turn 1-based `seq`. The final
2528
+ * `TaskResult.output` stays the last `assistant.completed` — narration is
2529
+ * never merged into it, and the callback is fire-and-forget: a throwing
2530
+ * consumer must never break the SSE loop. Optional — adapters that don't
2531
+ * relay commentary leave it undefined. Kill-switch:
2532
+ * `HERMES_COMMENTARY_RELAY` (default on, explicit `false|0|off` disables).
2533
+ */
2534
+ onInterimReply?: (segment: {
2535
+ text: string;
2536
+ seq: number;
2537
+ }) => void;
2462
2538
  signal?: AbortSignal;
2463
2539
  /**
2464
2540
  * Wave-3 D2 observability handles. Optional — pre-Wave-3 adapters that
@@ -2656,10 +2732,35 @@ interface TaskResult {
2656
2732
  * For Hermes this wraps an HTTP client to `hermes gateway`; for OpenClaw
2657
2733
  * (1.9.5+) it wraps an in-process TS worker.
2658
2734
  */
2735
+ /**
2736
+ * S7 (spec 07 Task 1 / 裁决 B) — options for ONE dispatch CALL.
2737
+ *
2738
+ * The daemon's P2 retry loop is a single dispatch call: a transient failure
2739
+ * retries the same intent. Anything the upstream uses to recognise a replay
2740
+ * must therefore be identical across those attempts — a re-minted value turns
2741
+ * the retry into a second, separately-billed execution.
2742
+ *
2743
+ * It is deliberately NOT the same axis as `TaskInput.metadata.attemptNo`,
2744
+ * which exists to make LLM-proxy cache keys differ per attempt.
2745
+ */
2746
+ interface DispatchCallOptions {
2747
+ /**
2748
+ * Minted ONCE by the daemon at the entry of a dispatch call and reused by
2749
+ * every P2 attempt. A genuinely NEW dispatch call (cloud requeue, a fresh
2750
+ * user action) mints a new one: replaying an already-closed run's terminal
2751
+ * result is worse than running it again.
2752
+ */
2753
+ idempotencyNonce?: string;
2754
+ }
2659
2755
  interface AdapterService {
2660
2756
  /** Service-specific identifier (e.g. 'http://127.0.0.1:8642' for hermes). */
2661
2757
  id: string;
2662
- dispatch(task: TaskInput): Promise<TaskResult>;
2758
+ /**
2759
+ * `opts` is per-CALL, not per-task: adapters that talk to a replay-aware
2760
+ * upstream read `idempotencyNonce` from it so every P2 retry of this call
2761
+ * presents the same identity (see DispatchCallOptions).
2762
+ */
2763
+ dispatch(task: TaskInput, opts?: DispatchCallOptions): Promise<TaskResult>;
2663
2764
  healthy(): Promise<boolean>;
2664
2765
  /** Optional: stop the service. May be no-op if user owns lifecycle. */
2665
2766
  shutdown?(): Promise<void>;
@@ -2816,6 +2917,171 @@ declare const HermesProfileConfigSchema: z.ZodObject<{
2816
2917
  type HermesProfileConfig = z.infer<typeof HermesProfileConfigSchema>;
2817
2918
  declare const hermesAdapter: AdapterDef;
2818
2919
 
2920
+ /** Loopback only — the plugin binds 127.0.0.1, never a routable interface. */
2921
+ declare const BRIDGE_DEFAULT_HOST = "127.0.0.1";
2922
+ /** Plugin default when `PRISMER_PLATFORM_PORT` is unset (adapter.py `_port()`). */
2923
+ declare const BRIDGE_DEFAULT_PORT = 8788;
2924
+ declare const BRIDGE_DEFAULT_CONNECT_TIMEOUT_MS = 5000;
2925
+ declare const BRIDGE_DEFAULT_RECONNECT_DELAY_MS = 1000;
2926
+ /**
2927
+ * Ceiling on the pending-line buffer. The plugin truncates content at 32 000
2928
+ * chars (≈32× headroom here), so a longer line means the peer is not speaking
2929
+ * this protocol — drop the buffer instead of growing it without bound.
2930
+ */
2931
+ declare const BRIDGE_MAX_LINE_CHARS = 1048576;
2932
+ interface BridgeInboundFrame {
2933
+ t: 'in';
2934
+ conversation_id: string;
2935
+ sender_id: string;
2936
+ sender_name: string;
2937
+ text: string;
2938
+ message_id: string;
2939
+ metadata: Record<string, unknown>;
2940
+ }
2941
+ interface BridgeOutboundFrame {
2942
+ t: 'out';
2943
+ chat_id: string;
2944
+ content: string;
2945
+ reply_to: string | null;
2946
+ metadata: Record<string, unknown>;
2947
+ message_id: string;
2948
+ /** Non-null when the gateway reports a delivery failure for this reply. */
2949
+ error: string | null;
2950
+ }
2951
+ interface BridgeInboundInput {
2952
+ conversationId: string;
2953
+ senderId: string;
2954
+ senderName: string;
2955
+ text: string;
2956
+ /** Defaults to a fresh uuid; the caller keeps it to anchor `reply_to`. */
2957
+ messageId?: string;
2958
+ metadata?: Record<string, unknown>;
2959
+ }
2960
+ type BridgeFrameParse = {
2961
+ ok: true;
2962
+ frame: BridgeOutboundFrame;
2963
+ } | {
2964
+ ok: false;
2965
+ error: string;
2966
+ };
2967
+ /**
2968
+ * Build the frame the plugin expects on the wire. Shape mirrors
2969
+ * `adapter.py::_on_inbound` field-for-field — snake_case keys, `t` first.
2970
+ */
2971
+ declare function buildInboundFrame(input: BridgeInboundInput): BridgeInboundFrame;
2972
+ /**
2973
+ * Parse one outbound line into a usable frame.
2974
+ *
2975
+ * Strict on the two fields a reply cannot be routed without (`chat_id`,
2976
+ * `content`); everything else normalises to its documented default. Gateway
2977
+ * field drift must degrade to a still-usable frame rather than a dropped reply
2978
+ * — `reply_to`/`metadata`/`message_id`/`error` are omitted defaults, not
2979
+ * errors.
2980
+ */
2981
+ declare function parseOutboundFrame(raw: string): BridgeFrameParse;
2982
+ interface BridgeProbeResult {
2983
+ reachable: boolean;
2984
+ host: string;
2985
+ port: number;
2986
+ latencyMs: number | null;
2987
+ /** Node errno (`ECONNREFUSED`, …) when the dial failed at the OS level. */
2988
+ code: string | null;
2989
+ error: string | null;
2990
+ }
2991
+ interface BridgeProbeOptions {
2992
+ port: number;
2993
+ host?: string;
2994
+ timeoutMs?: number;
2995
+ }
2996
+ /**
2997
+ * Liveness probe: open a TCP connection and close it. The bridge protocol has
2998
+ * no ping/pong frame, so reachability IS the health signal.
2999
+ *
3000
+ * NEVER rejects and never hangs — a missing bridge resolves
3001
+ * `{ reachable: false, code: 'ECONNREFUSED' | 'ETIMEDOUT', error }` so callers
3002
+ * get an explicit answer instead of an unhandled rejection.
3003
+ */
3004
+ declare function probeBridge(options: BridgeProbeOptions): Promise<BridgeProbeResult>;
3005
+ type BridgeConnectionState = 'idle' | 'connecting' | 'connected' | 'closed';
3006
+ type BridgeSendResult = {
3007
+ ok: true;
3008
+ messageId: string;
3009
+ } | {
3010
+ ok: false;
3011
+ error: string;
3012
+ };
3013
+ interface BridgeClientOptions {
3014
+ port: number;
3015
+ host?: string;
3016
+ connectTimeoutMs?: number;
3017
+ /** Delay between reconnect attempts after an unexpected drop. */
3018
+ reconnectDelayMs?: number;
3019
+ /** Reconnect after a drop. Default true; `close()` always stops the loop. */
3020
+ autoReconnect?: boolean;
3021
+ /** Called for every parsed outbound frame. */
3022
+ onOutbound: (frame: BridgeOutboundFrame) => void;
3023
+ /** Called for every unparseable / wrong-shaped line. Never throws. */
3024
+ onMalformed?: (raw: string, reason: string) => void;
3025
+ onStateChange?: (state: BridgeConnectionState) => void;
3026
+ }
3027
+ /**
3028
+ * Long-lived client for the bridge socket: dials, frames lines, reconnects on
3029
+ * drop and surfaces the outbound stream to `onOutbound`.
3030
+ *
3031
+ * Nothing here throws asynchronously — a dead bridge shows up as a state
3032
+ * change, a `log.warn`, a failed `sendInbound` result, or a rejected
3033
+ * `waitForConnected`. There is no path that silently swallows a failure.
3034
+ */
3035
+ declare class BridgeClient {
3036
+ readonly host: string;
3037
+ readonly port: number;
3038
+ private readonly connectTimeoutMs;
3039
+ private readonly reconnectDelayMs;
3040
+ private readonly autoReconnect;
3041
+ private readonly options;
3042
+ private socket;
3043
+ private started;
3044
+ private state;
3045
+ private reconnectTimer;
3046
+ private connectTimer;
3047
+ private lineBuffer;
3048
+ private lastError;
3049
+ private attempts;
3050
+ private readonly waiters;
3051
+ constructor(options: BridgeClientOptions);
3052
+ get connectionState(): BridgeConnectionState;
3053
+ get isConnected(): boolean;
3054
+ /** Dial attempts so far (initial + reconnects). Diagnostics/tests only. */
3055
+ get connectAttempts(): number;
3056
+ /** Last dial/socket error, human-readable. Null before any failure. */
3057
+ get lastConnectError(): string | null;
3058
+ /** Begin dialing. Idempotent while started. */
3059
+ start(): void;
3060
+ /**
3061
+ * Resolve once the socket is up, reject with an explicit error on timeout.
3062
+ * Rejects immediately if the client was closed while waiting.
3063
+ */
3064
+ waitForConnected(timeoutMs?: number): Promise<void>;
3065
+ /**
3066
+ * Write one inbound frame. Never throws: a detached socket, a blank `text`
3067
+ * (the gateway drops those silently) and a build failure all come back as
3068
+ * `{ ok: false, error }`.
3069
+ */
3070
+ sendInbound(input: BridgeInboundInput): BridgeSendResult;
3071
+ /**
3072
+ * Stop for good: drop the socket, cancel the reconnect loop, reject anything
3073
+ * still waiting on `waitForConnected`. Safe to call repeatedly.
3074
+ */
3075
+ close(): Promise<void>;
3076
+ private setState;
3077
+ private dial;
3078
+ private onData;
3079
+ private onLine;
3080
+ private reportMalformed;
3081
+ private clearReconnectTimer;
3082
+ private clearConnectTimer;
3083
+ }
3084
+
2819
3085
  /** Direct-connect provider families the daemon can route to (doc §2a). */
2820
3086
  declare const PROVIDER_PROFILE_TYPES: readonly ["anthropic", "openai", "deepseek", "ollama", "openai-compatible"];
2821
3087
  type ProviderProfileType = (typeof PROVIDER_PROFILE_TYPES)[number];
@@ -4541,6 +4807,17 @@ interface DispatchDeps {
4541
4807
  * in-flight run (the background path can't kill safely, so it only flags).
4542
4808
  */
4543
4809
  consumeSkillDirty?: (profileId: string) => boolean;
4810
+ /**
4811
+ * S5 §3.4-4b — re-arm a profile's skill-dirty flag. Counterpart of
4812
+ * `consumeSkillDirty`: when the skill-sync respawn is DEFERRED because a turn
4813
+ * is in flight, the pending change must survive to the next dispatch.
4814
+ */
4815
+ markSkillDirty?: (profileId: string) => void;
4816
+ /**
4817
+ * S5 §3.4-4b — does the profile's cached service have a turn in flight?
4818
+ * Wired to `ServicePool.peek(id) instanceof HermesService && svc.busy`.
4819
+ */
4820
+ peekServiceBusy?: (profileId: string) => boolean;
4544
4821
  /** Aborts the in-flight adapter dispatch when cloud sends task.cancel. */
4545
4822
  signal?: AbortSignal;
4546
4823
  /** Hook for tests / observability. */
@@ -6766,10 +7043,179 @@ type CodexConfig = z.infer<typeof CodexConfigSchema>;
6766
7043
  declare function parseCodexOutput(stdout: string): string;
6767
7044
  declare const codexAdapter: AdapterDef;
6768
7045
 
7046
+ interface ComponentStageRequest {
7047
+ schemaVersion: 1;
7048
+ environmentId: string;
7049
+ sandboxId: string;
7050
+ bindingHash: string;
7051
+ environmentEpoch: number;
7052
+ operationId: string;
7053
+ componentId: string;
7054
+ generation: string;
7055
+ attemptId: string;
7056
+ source: string;
7057
+ integrity: string;
7058
+ policyRevision: string;
7059
+ installerIdentity: string;
7060
+ packageName: string;
7061
+ version: string;
7062
+ archiveSha256: string;
7063
+ treeSha256: string;
7064
+ tools: string[];
7065
+ files: {
7066
+ path: string;
7067
+ bytes: number;
7068
+ sha256: string;
7069
+ contentBase64: string;
7070
+ }[];
7071
+ }
7072
+ interface ComponentStageReceipt {
7073
+ schemaVersion: 1;
7074
+ status: 'staged';
7075
+ environmentId: string;
7076
+ sandboxId: string;
7077
+ bindingHash: string;
7078
+ environmentEpoch: number;
7079
+ operationId: string;
7080
+ componentId: string;
7081
+ generation: string;
7082
+ attemptId: string;
7083
+ relativePath: string;
7084
+ archiveSha256: string;
7085
+ treeSha256: string;
7086
+ diskBytes: number;
7087
+ fileCount: number;
7088
+ loader: {
7089
+ kind: 'pi-extension';
7090
+ entrypoint: string;
7091
+ tools: string[];
7092
+ };
7093
+ }
7094
+ type ComponentStageManifest = Omit<ComponentStageRequest, 'files'> & {
7095
+ files: Array<Omit<ComponentStageRequest['files'][number], 'contentBase64'>>;
7096
+ };
7097
+
7098
+ type ActiveTenantComponent = ComponentStageManifest & {
7099
+ enabled: boolean;
7100
+ relativePath: string;
7101
+ loader: ComponentStageReceipt['loader'];
7102
+ };
7103
+ type TenantComponentContext = Pick<ComponentStageManifest, 'environmentId' | 'sandboxId' | 'bindingHash' | 'environmentEpoch'>;
7104
+
7105
+ /** Untrusted turn selection, never an executable path or load authority. */
7106
+ interface TenantComponentReference {
7107
+ componentId: string;
7108
+ generation: string;
7109
+ treeSha256: string;
7110
+ }
7111
+ /** Trusted host contract. Resolve from authenticated server state, never disk receipts/envelope config.
7112
+ * authorize must check current owner grant, enabled generation, expiry/deletion, epoch,
7113
+ * sandbox and binding on EVERY call. Offline/error/unknown must deny; no cached allow.
7114
+ * Cloud sender/authorization transport is a separate integration, not implemented here.
7115
+ */
7116
+ interface TenantComponentHost {
7117
+ root: string;
7118
+ context: TenantComponentContext;
7119
+ components: ActiveTenantComponent[];
7120
+ authorize(query: {
7121
+ turnId: string;
7122
+ context: TenantComponentContext;
7123
+ component: ActiveTenantComponent;
7124
+ phase: 'load' | 'invoke';
7125
+ tool?: string;
7126
+ }): Promise<boolean>;
7127
+ }
7128
+ interface TenantComponentSelection {
7129
+ turnId: string;
7130
+ components: TenantComponentReference[];
7131
+ }
7132
+ interface TenantComponentBinding extends TenantComponentSelection {
7133
+ host: TenantComponentHost;
7134
+ }
7135
+
7136
+ /**
7137
+ * TurnEnvelopeV1 / TurnEgressV1 / TurnResultV2 — 「一次 turn」的 in-pod 文件协议
7138
+ * (Gate B+ Task 7 design §2.4;MUST-1 起出口凭据走 `egress.json`;**v2** 起工具
7139
+ * 活动走同目录的 `events.jsonl`、结果带 `tools[]` 终态汇总)。
7140
+ *
7141
+ * 形态:cloud 侧把 envelope 写进 `<turnDir>/input.json`(0600,**不含密钥**);
7142
+ * LLM 出口凭据写进同目录的 `egress.json`(0600,**turn 作用域短 TTL token**,不是
7143
+ * owner 凭据——pod 内没有 provider key,模型调用经 cloud 的出口端点代理),本 CLI
7144
+ * 跑完一轮后把 TurnResultV2 写进 `<output.json>`,turn 进行中逐行追加
7145
+ * `events.jsonl`(0600)。投递文件**读完即删**。**stdout 不是数据通道**——引擎日志
7146
+ * 会污染它;结果只走文件。
7147
+ *
7148
+ * exit code 契约(cloud 侧 exec 包装器按此判定):
7149
+ * 0 = output.json 已写(turn 跑完;里面可能是 status:"error")
7150
+ * 70 = 基建失败(bundle 缺 / node 崩 / 无 output)→ 端口映射 runtime_unavailable
7151
+ *
7152
+ * 命名:`TurnEnvelopeV1` / `TurnEgressV1` 是**形态族名**(v2 未改这两个文件的字节
7153
+ * 形态,改动的是版本常量与结果面);`TurnResultV2` 与 `ToolEventV1` 是各自形态的
7154
+ * 版本——events 文件是 v2 新引入的产物,其行 schema 即该文件的首版(V1)。
7155
+ *
7156
+ * 校验纪律与 `src/tenant/contract.ts` 同族:手写 guard,违例抛
7157
+ * `TurnProtocolError`(不静默补默认值——坏输入必须可见)。
7158
+ */
7159
+ /**
7160
+ * 协议版本(唯一合法值;不匹配 = 明确拒绝,不做兼容推断)。
7161
+ *
7162
+ * v2 = 工具事件(`events.jsonl` + `result.tools[]`)。旧 bundle(常量 = 1)收到 v2
7163
+ * envelope 会在 `parseTurnEnvelope` 明确拒绝(exit 70 + 可见错误),不静默降级。
7164
+ */
7165
+
7166
+ /** 工具事件种类(§3.2:每工具调用两条)。 */
7167
+ type ToolEventKind = 'tool_started' | 'tool_finished';
7168
+ /**
7169
+ * `events.jsonl` 的一行(§3.2 逐字段)。`seq` / `at` **由写侧赋值**:hook 只上报
7170
+ * 原始测量值(`ToolEventInput`),seq 是「文件里的第几行」——由唯一写者按追加顺序
7171
+ * 赋 1-based 单调值并打 ISO 时间戳,故 seq 顺序 ≡ 行序,轮询器据此去重。
7172
+ */
7173
+ interface ToolEventV1 {
7174
+ /**
7175
+ * 1-based 单调序号(写侧赋值)。写侧达上限即**整条停写**(不跳号),故文件里恒为
7176
+ * 连续 1..N;消费方仍按「≤ 已见 seq 即重复」去重(对重放/截断天然安全)。
7177
+ */
7178
+ seq: number;
7179
+ /** 事件落盘时刻(写侧打戳,ISO)。 */
7180
+ at: string;
7181
+ kind: ToolEventKind;
7182
+ /** 工具名(read / write / edit / bash)。 */
7183
+ name: string;
7184
+ /** 入参摘要(≤500 字符,已剥凭据)。 */
7185
+ argsSummary?: string;
7186
+ /** 结果摘要(≤500 字符,已剥凭据)。 */
7187
+ resultSummary?: string;
7188
+ isError?: boolean;
7189
+ durationMs?: number;
7190
+ }
7191
+ /** 引擎 hook 上报的原始测量值——`seq` / `at` 归写侧(见 {@link ToolEventV1})。 */
7192
+ type ToolEventInput = Omit<ToolEventV1, 'seq' | 'at'>;
7193
+ /** 工具事件 sink(引擎 → 写侧);**只记录不拦截**,实现必须自吞异常。 */
7194
+ type ToolEventSink = (event: ToolEventInput) => void;
7195
+
6769
7196
  declare const PI_CORE_PROVIDER: "pi-core";
6770
7197
  declare const DEFAULT_PI_GATEWAY_PROVIDER: "prismer";
6771
7198
  declare const DEFAULT_PI_GATEWAY_MODEL: "gemini-3.1-flash-lite-preview";
7199
+ interface PiCoreToolPolicy {
7200
+ /** Exact bound tool names; absent allows all, an empty list allows none. */
7201
+ allow?: readonly string[];
7202
+ /** Exact bound tool names. Deny always wins over allow/authorize. */
7203
+ deny?: readonly string[];
7204
+ /** Trusted host authorization, checked per call. Only true permits execution. */
7205
+ authorize?: (call: {
7206
+ name: string;
7207
+ args: unknown;
7208
+ cwd: string;
7209
+ }, signal?: AbortSignal) => boolean | Promise<boolean>;
7210
+ }
7211
+ interface PiCoreHistoryEntry {
7212
+ role: "principal" | "agent";
7213
+ content: string | Array<TextContent | ImageContent>;
7214
+ }
6772
7215
  interface PiAgentCoreClientOptions {
7216
+ tenantComponents?: TenantComponentBinding;
7217
+ /** Trusted host replay data; never executable tool calls or system messages. */
7218
+ initialHistory?: readonly PiCoreHistoryEntry[];
6773
7219
  /** Test seam: callers can inject a scripted Models collection. */
6774
7220
  models?: Models;
6775
7221
  /** Test seam: pin a concrete model object instead of resolving by id. */
@@ -6778,12 +7224,35 @@ interface PiAgentCoreClientOptions {
6778
7224
  defaultProvider?: string;
6779
7225
  /** Preferred model when neither config.model nor gateway env chooses one. */
6780
7226
  defaultModelId?: string;
7227
+ /**
7228
+ * 会话级 shell 开关(design §3.1 修1,缺省 **false**):true 时该 client 建出的
7229
+ * 会话额外绑 bash 工具、解除 `exec()` 恒拒、放开 jail 内的 temp 文件。
7230
+ *
7231
+ * 缺省 false 是**刻意的爆炸半径控制**:pi-core 同时被 daemon(dispatch / runner /
7232
+ * skill-sync)与 engine registry(`createPiCoreAdapter`)使用,全局绑 bash 会外溢到
7233
+ * 桌面 / 本地 hosted agent。EaaS turn 显式传 true;daemon 侧是否解禁是独立决策。
7234
+ */
7235
+ allowShell?: boolean;
7236
+ /** Execution gate, not a shell sandbox. Allowed bash retains container-level access. */
7237
+ toolPolicy?: PiCoreToolPolicy;
7238
+ /**
7239
+ * 工具事件 sink(design §3.2;EaaS turn 注入)。只记录不授权;授权由独立的
7240
+ * toolPolicy 执行,sink 失败不得改变授权结果。未配置策略时保留原执行行为。
7241
+ */
7242
+ onToolEvent?: ToolEventSink;
6781
7243
  }
6782
7244
  interface PiAgentCoreSessionOptions {
7245
+ tenantTools?: AgentTool[];
7246
+ initialHistory?: readonly PiCoreHistoryEntry[];
6783
7247
  config: AgentSessionConfig;
6784
7248
  model: Model<Api>;
6785
7249
  models: Models;
6786
7250
  launchEnv?: Record<string, string>;
7251
+ /** 见 {@link PiAgentCoreClientOptions.allowShell}(缺省 false)。 */
7252
+ allowShell?: boolean;
7253
+ toolPolicy?: PiCoreToolPolicy;
7254
+ /** 见 {@link PiAgentCoreClientOptions.onToolEvent}。 */
7255
+ onToolEvent?: ToolEventSink;
6787
7256
  }
6788
7257
  declare class PiAgentCoreSession implements AgentSession {
6789
7258
  private readonly options;
@@ -6794,6 +7263,8 @@ declare class PiAgentCoreSession implements AgentSession {
6794
7263
  private readonly tools;
6795
7264
  private readonly subscribers;
6796
7265
  private readonly toolArgs;
7266
+ /** 工具事件面的起表(toolCallId → 开始时刻);与 `toolArgs`(timeline 用)互不依赖。 */
7267
+ private readonly toolStartedAt;
6797
7268
  private activeRun;
6798
7269
  constructor(options: PiAgentCoreSessionOptions);
6799
7270
  run(prompt: AgentPromptInput, options?: AgentRunOptions): Promise<AgentRunResult>;
@@ -6813,6 +7284,7 @@ declare class PiAgentCoreSession implements AgentSession {
6813
7284
  close(): Promise<void>;
6814
7285
  listCommands(): Promise<AgentSlashCommand[]>;
6815
7286
  private emit;
7287
+ private emitObservation;
6816
7288
  private recordTimeline;
6817
7289
  private handlePiEvent;
6818
7290
  private handleMessageEvent;
@@ -6882,6 +7354,13 @@ interface HermesBundleConfig {
6882
7354
  model: string;
6883
7355
  /** Optional per-profile/per-role model overrides (desktop multi-workspace). */
6884
7356
  models?: Record<string, string>;
7357
+ /**
7358
+ * Model id → authoritative context window (tokens). Written to
7359
+ * `~/.hermes/config.yaml` as `custom_providers[].models.<id>.context_length`
7360
+ * — Hermes' step-0 config override, which short-circuits the per-turn
7361
+ * endpoint-probe pipeline for context-length resolution.
7362
+ */
7363
+ modelContextLengths?: Record<string, number>;
6885
7364
  }
6886
7365
  type MemoryRuntimeCapabilityV1 = 'memory-authority-snapshot-v1' | 'memory-replica-manifest-v1' | 'memory-replica-content-v1';
6887
7366
  /** Server-derived actor authority row. Cloud generates; daemon NEVER submits. */
@@ -7090,4 +7569,4 @@ interface DrainBeforeKillResult {
7090
7569
  */
7091
7570
  declare function drainBeforeGatewayKill(opts?: DrainBeforeKillOptions): Promise<DrainBeforeKillResult>;
7092
7571
 
7093
- export { ADMIN_OBSERVABILITY_REQUEST_MAX_BYTES, ADMIN_OBSERVABILITY_RESPONSE_MAX_BYTES, type AcquireResult, type AdapterDef, type AdapterKind, AdapterRegistry, type AdapterService, type AgentChangedPayload, type AgentDispatchReplyAttachment, type AgentDispatchReplyContentBlockInput, type AgentDispatchReplyContentBlockToolResultInput, type AgentDispatchReplyPayload, type AgentDispatchReplyPkfContentBlock, type AgentDispatchReplyPkfContentBlockInput, type AgentDispatchReplyStatus, type AgentDispatchRequest, type AgentDispatchResponse, type AgentHostDeclarePayload, type AgentProfile, type AgentProfileChangedPayload, type AgentStatusChangedPayload, AssetCache, type AssetCacheOptions, type AssetChangedPayload, type AssetDispatchObservation, type AssetDispatchStrategy, type AssetRef, type AttachAdminObservabilityRpcOptions, type AttachMirrorRpcOptions, BOOTSTRAP_BACKOFF_MS, BUILTIN_ROLE_TEMPLATES, type BootstrapFetchOptions, type BootstrapFetchResult, type BootstrapRequest, type BootstrapResponse, type BootstrapState, type BootstrapStopReason, type BundleApplyResult, type CachedAsset, type ClaudeCodeConfig, CloudClient, type CloudClientOptions, CloudError, type CloudResponse, type CodexConfig, type Config, type ConfigApplyState, type ConfigPaths, ConfigSchema, DEFAULT_PI_GATEWAY_MODEL, DEFAULT_PI_GATEWAY_PROVIDER, DEFAULT_REMOTE_ALLOWLIST, type DispatchDeps, type DrainBeforeKillOptions, type DrainBeforeKillResult, type EditCheckResult, type Envelope, type FlushFn, type FlushResult, GIT_RPC_OPS, type GatewayConfig, type GatewayDeps, type GitExecPayload, type GitExecReply, GitRpcError, type GitRpcErrorCode, type GitRpcOp, type GitRpcRequest, type GitRpcResult, type HealthStatus, type HermesBundleConfig, type HermesProfileConfig, type HermesProviderConfig, type HostAckedPayload, type HostedAgentDeclaration, type IMAgentStatus, type IMWSMessage, type KeyRefResolver, LOCAL_PROVIDER_PREFIX, type LocalDb, LocalGateway, LocalRelay, LocalServer, type LocalServerOptions, type LocalServerState, type LocalSyncEvent, type MaterializeResult$1 as MaterializeResult, Materializer, type MaterializerDeps, type MessageDispatchAgent, type MessageDispatchDeps, type MessageDispatchHandle, type MessageDispatchTaskInput, type MirrorAssetDescriptor, type MirrorEntry, MirrorManager, type MirrorManagerOptions, type NormalizedContent, type OllamaProbeResult, PI_CORE_PROVIDER, PROVIDER_PROFILE_TYPES, type PairOptions, type PairResult, type ParseClaim, ParseClaimController, type ParseClaimControllerOptions, type ParsedPrismerUri, PiAgentCoreClient, type PiAgentCoreClientOptions, PiAgentCoreSession, type PiCoreConfig, type PrismerUriType, type ProviderProfile, ProviderProfileSchema, type ProviderProfileType, RM_SCHEMA_VERSION, type RawWsEvent, type RejectedHostedAgent, type ResolvedLocalProvider, type RmDomain, type RmSyncStatus, type RoleTemplate, Runner, type RunnerOptions, type RuntimeConfigBundle, type AgentDispatchReplyPkfContentBlockInput as RuntimePkfContentBlockInput, SWR_TTL_MS, ServicePool, type SyncOperation, SyncQueue, type SyncQueueRow, type SyncResourceType, type SyncStatus, SyncWorker, type SyncWorkerOptions, TARGET_SCHEMA_VERSION, type TakeAdminObservabilityCloudInput, type TaskCancelPayload, type TaskDispatchContextEntry, type TaskDispatchProgressPayload, type TaskDispatchReplyPayload, type TaskDispatchRequestPayload, type TaskInput, type TaskResult, UriResolver, type UriResolverOptions, type UrlResolution, type ValidationResult, WS_CLOSE, type WorkspaceChangedPayload, type WorkspaceFileBinding, type WorkspaceFileChangedPayload, WorkspaceMirror, type WorkspaceMirrorOptions, type WorkspaceNameResolver, WsClient, type WsClientOptions, applyBundle, attachAdminObservabilityRpc, attachMirrorRpc, buildProgram, claudeCodeAdapter, codexAdapter, composePrompt, computeBootstrapErrorAction, configExists, createBootstrapState, createPiCoreAdapter, currentSchemaVersion, deriveWsUrl, drainBeforeGatewayKill, effectiveBaseUrl, envelope, extractHttpUrls, fetchBootstrapBundle, getLocalProviders, getRoleTemplate, gitRpc, handleAgentMessageDispatch, handleDispatch, hermesAdapter, isDaemonId, isLocalProviderSelector, isValidBundle, keyRefEnvVar, listRoleTemplates, loadConfig, localProviderProfileId, newDaemonId, nextBackoffMs, nextBootstrapBackoffMs, openLocalDb, openReadModel, pair, parseCodexOutput, parseUris, piCoreAdapter, probeOllama, providerTypeRequiresKey, remoteAllowlistFromEnv, resetBootstrapStopped, resolveGatewayConfig, resolveGitCwd, resolveKeyRef, resolveLocalProvider, resolvePaths, runCli, runGitExecRequest, runMigrations, sanitizeSegment, saveConfig, setKeyRefResolver, setLocalProviders, takeAdminObservabilityCloud, toApplyState };
7572
+ export { ADMIN_OBSERVABILITY_REQUEST_MAX_BYTES, ADMIN_OBSERVABILITY_RESPONSE_MAX_BYTES, type AcquireResult, type AdapterDef, type AdapterKind, AdapterRegistry, type AdapterService, type AgentChangedPayload, type AgentDispatchReplyAttachment, type AgentDispatchReplyContentBlockInput, type AgentDispatchReplyContentBlockToolResultInput, type AgentDispatchReplyPayload, type AgentDispatchReplyPkfContentBlock, type AgentDispatchReplyPkfContentBlockInput, type AgentDispatchReplyStatus, type AgentDispatchRequest, type AgentDispatchResponse, type AgentHostDeclarePayload, type AgentProfile, type AgentProfileChangedPayload, type AgentStatusChangedPayload, AssetCache, type AssetCacheOptions, type AssetChangedPayload, type AssetDispatchObservation, type AssetDispatchStrategy, type AssetRef, type AttachAdminObservabilityRpcOptions, type AttachMirrorRpcOptions, BOOTSTRAP_BACKOFF_MS, BRIDGE_DEFAULT_CONNECT_TIMEOUT_MS, BRIDGE_DEFAULT_HOST, BRIDGE_DEFAULT_PORT, BRIDGE_DEFAULT_RECONNECT_DELAY_MS, BRIDGE_MAX_LINE_CHARS, BUILTIN_ROLE_TEMPLATES, type BootstrapFetchOptions, type BootstrapFetchResult, type BootstrapRequest, type BootstrapResponse, type BootstrapState, type BootstrapStopReason, BridgeClient, type BridgeClientOptions, type BridgeConnectionState, type BridgeFrameParse, type BridgeInboundFrame, type BridgeInboundInput, type BridgeOutboundFrame, type BridgeProbeOptions, type BridgeProbeResult, type BridgeSendResult, type BundleApplyResult, type CachedAsset, type ClaudeCodeConfig, CloudClient, type CloudClientOptions, CloudError, type CloudResponse, type CodexConfig, type Config, type ConfigApplyState, type ConfigPaths, ConfigSchema, DEFAULT_PI_GATEWAY_MODEL, DEFAULT_PI_GATEWAY_PROVIDER, DEFAULT_REMOTE_ALLOWLIST, type DispatchDeps, type DrainBeforeKillOptions, type DrainBeforeKillResult, type EditCheckResult, type Envelope, type FlushFn, type FlushResult, GIT_RPC_OPS, type GatewayConfig, type GatewayDeps, type GitExecPayload, type GitExecReply, GitRpcError, type GitRpcErrorCode, type GitRpcOp, type GitRpcRequest, type GitRpcResult, type HealthStatus, type HermesBundleConfig, type HermesProfileConfig, type HermesProviderConfig, type HostAckedPayload, type HostedAgentDeclaration, type IMAgentStatus, type IMWSMessage, type KeyRefResolver, LOCAL_PROVIDER_PREFIX, type LocalDb, LocalGateway, LocalRelay, LocalServer, type LocalServerOptions, type LocalServerState, type LocalSyncEvent, type MaterializeResult$1 as MaterializeResult, Materializer, type MaterializerDeps, type MessageDispatchAgent, type MessageDispatchDeps, type MessageDispatchHandle, type MessageDispatchTaskInput, type MirrorAssetDescriptor, type MirrorEntry, MirrorManager, type MirrorManagerOptions, type NormalizedContent, type OllamaProbeResult, PI_CORE_PROVIDER, PROVIDER_PROFILE_TYPES, type PairOptions, type PairResult, type ParseClaim, ParseClaimController, type ParseClaimControllerOptions, type ParsedPrismerUri, PiAgentCoreClient, type PiAgentCoreClientOptions, PiAgentCoreSession, type PiCoreConfig, type PrismerUriType, type ProviderProfile, ProviderProfileSchema, type ProviderProfileType, RM_SCHEMA_VERSION, type RawWsEvent, type RejectedHostedAgent, type ResolvedLocalProvider, type RmDomain, type RmSyncStatus, type RoleTemplate, Runner, type RunnerOptions, type RuntimeConfigBundle, type AgentDispatchReplyPkfContentBlockInput as RuntimePkfContentBlockInput, SWR_TTL_MS, ServicePool, type SyncOperation, SyncQueue, type SyncQueueRow, type SyncResourceType, type SyncStatus, SyncWorker, type SyncWorkerOptions, TARGET_SCHEMA_VERSION, type TakeAdminObservabilityCloudInput, type TaskCancelPayload, type TaskDispatchContextEntry, type TaskDispatchProgressPayload, type TaskDispatchReplyPayload, type TaskDispatchRequestPayload, type TaskInput, type TaskResult, UriResolver, type UriResolverOptions, type UrlResolution, type ValidationResult, WS_CLOSE, type WorkspaceChangedPayload, type WorkspaceFileBinding, type WorkspaceFileChangedPayload, WorkspaceMirror, type WorkspaceMirrorOptions, type WorkspaceNameResolver, WsClient, type WsClientOptions, applyBundle, attachAdminObservabilityRpc, attachMirrorRpc, buildInboundFrame, buildProgram, claudeCodeAdapter, codexAdapter, composePrompt, computeBootstrapErrorAction, configExists, createBootstrapState, createPiCoreAdapter, currentSchemaVersion, deriveWsUrl, drainBeforeGatewayKill, effectiveBaseUrl, envelope, extractHttpUrls, fetchBootstrapBundle, getLocalProviders, getRoleTemplate, gitRpc, handleAgentMessageDispatch, handleDispatch, hermesAdapter, isDaemonId, isLocalProviderSelector, isValidBundle, keyRefEnvVar, listRoleTemplates, loadConfig, localProviderProfileId, newDaemonId, nextBackoffMs, nextBootstrapBackoffMs, openLocalDb, openReadModel, pair, parseCodexOutput, parseOutboundFrame, parseUris, piCoreAdapter, probeBridge, probeOllama, providerTypeRequiresKey, remoteAllowlistFromEnv, resetBootstrapStopped, resolveGatewayConfig, resolveGitCwd, resolveKeyRef, resolveLocalProvider, resolvePaths, runCli, runGitExecRequest, runMigrations, sanitizeSegment, saveConfig, setKeyRefResolver, setLocalProviders, takeAdminObservabilityCloud, toApplyState };