hoomanjs 1.47.0 → 1.55.0

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 (246) hide show
  1. package/README.md +42 -18
  2. package/dist/acp/acp-agent.d.ts +3 -3
  3. package/dist/acp/acp-agent.js +16 -11
  4. package/dist/acp/acp-agent.js.map +1 -1
  5. package/dist/acp/approvals.js +11 -10
  6. package/dist/acp/approvals.js.map +1 -1
  7. package/dist/acp/browser.d.ts +9 -0
  8. package/dist/acp/browser.js +23 -0
  9. package/dist/acp/browser.js.map +1 -0
  10. package/dist/acp/meta/vscode.d.ts +8 -7
  11. package/dist/acp/meta/vscode.js +10 -11
  12. package/dist/acp/meta/vscode.js.map +1 -1
  13. package/dist/acp/sessions/store.d.ts +3 -3
  14. package/dist/acp/utils/tool-kind.js +6 -6
  15. package/dist/acp/utils/tool-kind.js.map +1 -1
  16. package/dist/chat/app.js +16 -9
  17. package/dist/chat/app.js.map +1 -1
  18. package/dist/chat/approvals.js +3 -0
  19. package/dist/chat/approvals.js.map +1 -1
  20. package/dist/chat/components/ApprovalPrompt.js +11 -22
  21. package/dist/chat/components/ApprovalPrompt.js.map +1 -1
  22. package/dist/chat/components/StatusBar.js +3 -0
  23. package/dist/chat/components/StatusBar.js.map +1 -1
  24. package/dist/chat/types.d.ts +3 -0
  25. package/dist/cli.js +162 -44
  26. package/dist/cli.js.map +1 -1
  27. package/dist/configure/app.js +46 -29
  28. package/dist/configure/app.js.map +1 -1
  29. package/dist/core/agent/default-retry-strategy.js +46 -12
  30. package/dist/core/agent/default-retry-strategy.js.map +1 -1
  31. package/dist/core/agent/gitignore-guard-plugin.js +17 -2
  32. package/dist/core/agent/gitignore-guard-plugin.js.map +1 -1
  33. package/dist/core/agent/index.js +37 -7
  34. package/dist/core/agent/index.js.map +1 -1
  35. package/dist/core/approvals/allowlist.js +1 -0
  36. package/dist/core/approvals/allowlist.js.map +1 -1
  37. package/dist/core/approvals/intervention.d.ts +10 -2
  38. package/dist/core/approvals/intervention.js +46 -8
  39. package/dist/core/approvals/intervention.js.map +1 -1
  40. package/dist/core/config.d.ts +9 -2
  41. package/dist/core/config.js +8 -4
  42. package/dist/core/config.js.map +1 -1
  43. package/dist/core/index.d.ts +2 -2
  44. package/dist/core/mcp/oauth/service.js +2 -2
  45. package/dist/core/mcp/oauth/service.js.map +1 -1
  46. package/dist/core/models/bedrock.js +6 -0
  47. package/dist/core/models/bedrock.js.map +1 -1
  48. package/dist/core/models/groq.js +34 -14
  49. package/dist/core/models/groq.js.map +1 -1
  50. package/dist/core/models/minimax.js +1 -1
  51. package/dist/core/models/minimax.js.map +1 -1
  52. package/dist/core/models/types.d.ts +10 -2
  53. package/dist/core/models/types.js +1 -0
  54. package/dist/core/models/types.js.map +1 -1
  55. package/dist/core/modes/definitions.d.ts +4 -2
  56. package/dist/core/modes/definitions.js +73 -9
  57. package/dist/core/modes/definitions.js.map +1 -1
  58. package/dist/core/modes/index.d.ts +1 -1
  59. package/dist/core/modes/index.js +1 -1
  60. package/dist/core/modes/index.js.map +1 -1
  61. package/dist/core/modes/registry.js +4 -9
  62. package/dist/core/modes/registry.js.map +1 -1
  63. package/dist/core/modes/schema.d.ts +1 -1
  64. package/dist/core/modes/schema.js +1 -1
  65. package/dist/core/modes/schema.js.map +1 -1
  66. package/dist/core/prompts/agents/{review.md → code-review.md} +2 -2
  67. package/dist/core/prompts/agents/design-review.md +35 -0
  68. package/dist/core/prompts/agents/{test-investigator.md → quality-analyst.md} +2 -2
  69. package/dist/core/prompts/modes/agent.md +2 -0
  70. package/dist/core/prompts/modes/ask.md +2 -2
  71. package/dist/core/prompts/modes/design.md +37 -0
  72. package/dist/core/prompts/modes/plan.md +5 -5
  73. package/dist/core/prompts/{runtime.js → runtime/agents.js} +2 -2
  74. package/dist/core/prompts/runtime/agents.js.map +1 -0
  75. package/dist/core/prompts/runtime/design.d.ts +11 -0
  76. package/dist/core/prompts/runtime/design.js +78 -0
  77. package/dist/core/prompts/runtime/design.js.map +1 -0
  78. package/dist/core/prompts/{session-mode-appendix.js → session-mode.js} +1 -1
  79. package/dist/core/prompts/session-mode.js.map +1 -0
  80. package/dist/core/prompts/static/ask-user.md +3 -2
  81. package/dist/core/prompts/static/fetch.md +2 -1
  82. package/dist/core/prompts/static/filesystem.md +2 -1
  83. package/dist/core/prompts/static/subagents.md +2 -1
  84. package/dist/core/prompts/static/switch-mode.md +10 -0
  85. package/dist/core/prompts/system.d.ts +1 -0
  86. package/dist/core/prompts/system.js +11 -3
  87. package/dist/core/prompts/system.js.map +1 -1
  88. package/dist/core/shell/index.d.ts +1 -1
  89. package/dist/core/shell/index.js +1 -1
  90. package/dist/core/shell/{shell.js → tools.js} +1 -1
  91. package/dist/core/shell/{shell.js.map → tools.js.map} +1 -1
  92. package/dist/core/skills/built-in/hooman-config/SKILL.md +30 -35
  93. package/dist/core/skills/built-in/hooman-config/search.md +5 -3
  94. package/dist/core/skills/built-in/hooman-design/SKILL.md +97 -0
  95. package/dist/core/skills/built-in/hooman-design/assets/article-shell.html +87 -0
  96. package/dist/core/skills/built-in/hooman-design/assets/auth-shell.html +143 -0
  97. package/dist/core/skills/built-in/hooman-design/assets/business-card-shell.html +112 -0
  98. package/dist/core/skills/built-in/hooman-design/assets/contact-shell.html +181 -0
  99. package/dist/core/skills/built-in/hooman-design/assets/dashboard-shell.html +90 -0
  100. package/dist/core/skills/built-in/hooman-design/assets/data-table-shell.html +114 -0
  101. package/dist/core/skills/built-in/hooman-design/assets/deck-shell.html +187 -0
  102. package/dist/core/skills/built-in/hooman-design/assets/dialog-shell.html +98 -0
  103. package/dist/core/skills/built-in/hooman-design/assets/email-shell.html +101 -0
  104. package/dist/core/skills/built-in/hooman-design/assets/empty-state-shell.html +92 -0
  105. package/dist/core/skills/built-in/hooman-design/assets/flyer-shell.html +168 -0
  106. package/dist/core/skills/built-in/hooman-design/assets/invite-shell.html +167 -0
  107. package/dist/core/skills/built-in/hooman-design/assets/landing-shell.html +184 -0
  108. package/dist/core/skills/built-in/hooman-design/assets/mobile-frame-shell.html +109 -0
  109. package/dist/core/skills/built-in/hooman-design/assets/newsletter-shell.html +141 -0
  110. package/dist/core/skills/built-in/hooman-design/assets/onboarding-shell.html +131 -0
  111. package/dist/core/skills/built-in/hooman-design/assets/pricing-shell.html +160 -0
  112. package/dist/core/skills/built-in/hooman-design/assets/prototype-shell.html +83 -0
  113. package/dist/core/skills/built-in/hooman-design/assets/resume-shell.html +228 -0
  114. package/dist/core/skills/built-in/hooman-design/assets/settings-shell.html +196 -0
  115. package/dist/core/skills/built-in/hooman-design/assets/tokens/botanical-calm.css +34 -0
  116. package/dist/core/skills/built-in/hooman-design/assets/tokens/copper-ledger.css +34 -0
  117. package/dist/core/skills/built-in/hooman-design/assets/tokens/editorial-ink.css +34 -0
  118. package/dist/core/skills/built-in/hooman-design/assets/tokens/fintech-clear.css +34 -0
  119. package/dist/core/skills/built-in/hooman-design/assets/tokens/harbor-navy.css +35 -0
  120. package/dist/core/skills/built-in/hooman-design/assets/tokens/midnight-editorial.css +34 -0
  121. package/dist/core/skills/built-in/hooman-design/assets/tokens/night-console.css +34 -0
  122. package/dist/core/skills/built-in/hooman-design/assets/tokens/paper-mono.css +35 -0
  123. package/dist/core/skills/built-in/hooman-design/assets/tokens/signal-mono.css +34 -0
  124. package/dist/core/skills/built-in/hooman-design/assets/tokens/soft-product.css +34 -0
  125. package/dist/core/skills/built-in/hooman-design/assets/tokens/swiss-grid.css +34 -0
  126. package/dist/core/skills/built-in/hooman-design/assets/tokens/warm-atelier.css +34 -0
  127. package/dist/core/skills/built-in/hooman-design/assets/waitlist-shell.html +139 -0
  128. package/dist/core/skills/built-in/hooman-design/craft/accessibility-baseline.md +32 -0
  129. package/dist/core/skills/built-in/hooman-design/craft/anti-ai-slop.md +27 -0
  130. package/dist/core/skills/built-in/hooman-design/craft/color-surfaces.md +45 -0
  131. package/dist/core/skills/built-in/hooman-design/craft/data-viz.md +24 -0
  132. package/dist/core/skills/built-in/hooman-design/craft/deck-slides.md +46 -0
  133. package/dist/core/skills/built-in/hooman-design/craft/forms-validation.md +35 -0
  134. package/dist/core/skills/built-in/hooman-design/craft/iconography.md +19 -0
  135. package/dist/core/skills/built-in/hooman-design/craft/layout-overflow.md +31 -0
  136. package/dist/core/skills/built-in/hooman-design/craft/motion.md +41 -0
  137. package/dist/core/skills/built-in/hooman-design/craft/print.md +37 -0
  138. package/dist/core/skills/built-in/hooman-design/craft/responsive.md +30 -0
  139. package/dist/core/skills/built-in/hooman-design/craft/spacing-density.md +46 -0
  140. package/dist/core/skills/built-in/hooman-design/craft/state-coverage.md +21 -0
  141. package/dist/core/skills/built-in/hooman-design/craft/typography.md +73 -0
  142. package/dist/core/skills/built-in/hooman-design/directions.md +115 -0
  143. package/dist/core/skills/built-in/hooman-design/references/artifact-layout.md +15 -0
  144. package/dist/core/skills/built-in/hooman-design/references/export.md +47 -0
  145. package/dist/core/skills/built-in/hooman-design/references/workflow.md +80 -0
  146. package/dist/core/skills/built-in/hooman-mcp/SKILL.md +2 -2
  147. package/dist/core/state/llm-modality.d.ts +13 -0
  148. package/dist/core/state/llm-modality.js +19 -0
  149. package/dist/core/state/llm-modality.js.map +1 -0
  150. package/dist/core/state/plan.d.ts +1 -1
  151. package/dist/core/state/plan.js +1 -1
  152. package/dist/core/state/tool-approvals.d.ts +12 -9
  153. package/dist/core/state/tool-approvals.js +91 -52
  154. package/dist/core/state/tool-approvals.js.map +1 -1
  155. package/dist/core/state/turn-boundaries.d.ts +1 -1
  156. package/dist/core/state/turn-boundaries.js +1 -1
  157. package/dist/core/subagents/index.d.ts +1 -1
  158. package/dist/core/subagents/index.js +1 -1
  159. package/dist/core/subagents/registry.js +15 -6
  160. package/dist/core/subagents/registry.js.map +1 -1
  161. package/dist/core/subagents/tool.d.ts +8 -2
  162. package/dist/core/subagents/tool.js +93 -44
  163. package/dist/core/subagents/tool.js.map +1 -1
  164. package/dist/core/tools/ask-user.d.ts +1 -1
  165. package/dist/core/tools/ask-user.js +1 -1
  166. package/dist/core/tools/export.d.ts +8 -0
  167. package/dist/core/tools/export.js +202 -0
  168. package/dist/core/tools/export.js.map +1 -0
  169. package/dist/core/tools/fetch.d.ts +2 -0
  170. package/dist/core/tools/fetch.js +92 -55
  171. package/dist/core/tools/fetch.js.map +1 -1
  172. package/dist/core/tools/filesystem.d.ts +2 -1
  173. package/dist/core/tools/filesystem.js +38 -4
  174. package/dist/core/tools/filesystem.js.map +1 -1
  175. package/dist/core/tools/index.d.ts +3 -1
  176. package/dist/core/tools/index.js +3 -1
  177. package/dist/core/tools/index.js.map +1 -1
  178. package/dist/core/tools/preview.d.ts +10 -0
  179. package/dist/core/tools/preview.js +147 -0
  180. package/dist/core/tools/preview.js.map +1 -0
  181. package/dist/core/tools/switch-mode.d.ts +6 -0
  182. package/dist/core/tools/switch-mode.js +188 -0
  183. package/dist/core/tools/switch-mode.js.map +1 -0
  184. package/dist/core/tools/web-search.js +176 -0
  185. package/dist/core/tools/web-search.js.map +1 -1
  186. package/dist/core/utils/browser.d.ts +8 -1
  187. package/dist/core/utils/browser.js +17 -1
  188. package/dist/core/utils/browser.js.map +1 -1
  189. package/dist/core/utils/export-design.d.ts +40 -0
  190. package/dist/core/utils/export-design.js +188 -0
  191. package/dist/core/utils/export-design.js.map +1 -0
  192. package/dist/core/utils/export-figma.d.ts +17 -0
  193. package/dist/core/utils/export-figma.js +189 -0
  194. package/dist/core/utils/export-figma.js.map +1 -0
  195. package/dist/core/utils/export-sketch.d.ts +11 -0
  196. package/dist/core/utils/export-sketch.js +456 -0
  197. package/dist/core/utils/export-sketch.js.map +1 -0
  198. package/dist/core/utils/fig-archive.d.ts +47 -0
  199. package/dist/core/utils/fig-archive.js +181 -0
  200. package/dist/core/utils/fig-archive.js.map +1 -0
  201. package/dist/core/utils/metadata.d.ts +30 -0
  202. package/dist/core/utils/metadata.js +122 -0
  203. package/dist/core/utils/metadata.js.map +1 -1
  204. package/dist/core/utils/models-prefetch.d.ts +53 -0
  205. package/dist/core/utils/models-prefetch.js +469 -0
  206. package/dist/core/utils/models-prefetch.js.map +1 -0
  207. package/dist/core/utils/onboarding-config.d.ts +48 -0
  208. package/dist/core/utils/onboarding-config.js +373 -0
  209. package/dist/core/utils/onboarding-config.js.map +1 -0
  210. package/dist/core/utils/paths.d.ts +9 -7
  211. package/dist/core/utils/paths.js +12 -10
  212. package/dist/core/utils/paths.js.map +1 -1
  213. package/dist/core/utils/preview-server.d.ts +20 -0
  214. package/dist/core/utils/preview-server.js +212 -0
  215. package/dist/core/utils/preview-server.js.map +1 -0
  216. package/dist/core/utils/search-probe.d.ts +19 -0
  217. package/dist/core/utils/search-probe.js +165 -0
  218. package/dist/core/utils/search-probe.js.map +1 -0
  219. package/dist/core/utils/seeds/empty-slides.deck +0 -0
  220. package/dist/core/utils/url-safety.d.ts +2 -0
  221. package/dist/core/utils/url-safety.js +47 -0
  222. package/dist/core/utils/url-safety.js.map +1 -0
  223. package/dist/core/utils/zstd.d.ts +6 -0
  224. package/dist/core/utils/zstd.js +39 -0
  225. package/dist/core/utils/zstd.js.map +1 -0
  226. package/dist/exec/approvals.js +5 -5
  227. package/dist/exec/approvals.js.map +1 -1
  228. package/dist/index.d.ts +9 -3
  229. package/dist/index.js +6 -3
  230. package/dist/index.js.map +1 -1
  231. package/dist/onboarding/app.d.ts +5 -0
  232. package/dist/onboarding/app.js +255 -0
  233. package/dist/onboarding/app.js.map +1 -0
  234. package/dist/onboarding/index.d.ts +5 -0
  235. package/dist/onboarding/index.js +27 -0
  236. package/dist/onboarding/index.js.map +1 -0
  237. package/package.json +16 -3
  238. package/dist/core/prompts/runtime.js.map +0 -1
  239. package/dist/core/prompts/session-mode-appendix.js.map +0 -1
  240. package/dist/core/prompts/static/planning.md +0 -3
  241. package/dist/core/tools/plan.d.ts +0 -5
  242. package/dist/core/tools/plan.js +0 -150
  243. package/dist/core/tools/plan.js.map +0 -1
  244. /package/dist/core/prompts/{runtime.d.ts → runtime/agents.d.ts} +0 -0
  245. /package/dist/core/prompts/{session-mode-appendix.d.ts → session-mode.d.ts} +0 -0
  246. /package/dist/core/shell/{shell.d.ts → tools.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-sketch.js","sourceRoot":"","sources":["../../../src/core/utils/export-sketch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,oDAAoD,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,SAAS,QAAQ;IACf,OAAO,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,GAAG,EACZ,MAAgC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAElD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IACxC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE;QAC5B,IAAI,CAAC,GAAG,UAAU,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACZ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACZ,OAAO,IAAI,UAAU,CACnB,MAAM,CAAC,MAAM,CAAC;QACZ,GAAG;QACH,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;QACnB,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;QACnB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC/B,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,sBAAsB,GAAG;IAC7B,MAAM,EAAE,eAAwB;IAChC,gBAAgB,EAAE,EAAc;IAChC,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,KAAK;IACjB,aAAa,EAAE,EAAe;CAC/B,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,MAAM,EAAE,WAAoB;IAC5B,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,EAAe;CACxB,CAAC;AAEF,SAAS,UAAU,CAAC,OAAO,GAAG,CAAC;IAC7B,OAAO;QACL,MAAM,EAAE,OAAgB;QACxB,WAAW,EAAE,QAAQ,EAAE;QACvB,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;QAC9C,UAAU,EAAE,EAAE;QACd,eAAe,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;QAChD,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO;QAC3C,IAAI,EAAE;YACJ,MAAM,EAAE,MAAe;YACvB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ;SACnC;QACD,aAAa,EAAE;YACb,MAAM,EAAE,eAAwB;YAChC,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,EAAc;YAC3B,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI;YAC1C,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,KAAK;SAC9C;QACD,OAAO,EAAE,EAAe;QACxB,aAAa,EAAE;YACb,MAAM,EAAE,eAAwB;YAChC,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,GAAG,EAAE,CAAC;YACN,UAAU,EAAE,CAAC;SACd;QACD,eAAe,EAAE;YACf,MAAM,EAAE,yBAAkC;YAC1C,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM;YACtC,OAAO;SACR;QACD,KAAK,EAAE,EAAe;QACtB,YAAY,EAAE,EAAe;QAC7B,OAAO,EAAE,EAAe;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;QACL,MAAM,EAAE,UAAmB;QAC3B,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM;QAC5C,EAAE,EAAE,UAAU;QACd,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,cAAuB;gBAC/B,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE;oBACL,MAAM,EAAE,OAAgB;oBACxB,GAAG,EAAE,CAAC;oBACN,KAAK,EAAE,CAAC;oBACR,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;iBACT;aACF;YACD;gBACE,MAAM,EAAE,cAAuB;gBAC/B,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE;oBACL,MAAM,EAAE,OAAgB;oBACxB,GAAG,EAAE,CAAC;oBACN,KAAK,EAAE,CAAC;oBACR,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;iBACT;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EAAU,EAAE,EAAU;IAC1C,OAAO;QACL;YACE,MAAM,EAAE,YAAqB;YAC7B,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO;YAC3C,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,MAAM,EAAE,YAAqB;YAC7B,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO;YAC3C,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,MAAM,EAAE,YAAqB;YAC7B,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO;YAC3C,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,QAAQ;SAChB;QACD;YACE,MAAM,EAAE,YAAqB;YAC7B,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO;YAC3C,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,QAAQ;SAChB;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAsB,EACtB,OAA2B,EAAE;IAE7B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IAChD,MAAM,SAAS,GAA8B,EAAE,CAAC;IAChD,MAAM,YAAY,GAAqC,EAAE,CAAC;IAC1D,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,GAAG,GAAG,EAAE,CAAC;IAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5D,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE,qBAA8B;YACtC,UAAU,EAAE,aAAsB;YAClC,IAAI,EAAE,UAAU,IAAI,EAAE;SACvB,CAAC;QACF,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,SAAS,CAAC,KAAK,GAAG;YAChB;gBACE,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO;gBACrC,KAAK,EAAE;oBACL,MAAM,EAAE,OAAO;oBACf,GAAG,EAAE,CAAC;oBACN,KAAK,EAAE,CAAC;oBACR,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;iBACT;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,yBAAyB;oBACjC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM;oBACtC,OAAO,EAAE,CAAC;iBACX;gBACD,QAAQ,EAAE,aAAa,EAAE;gBACzB,KAAK,EAAE,QAAQ;gBACf,UAAU,EAAE,CAAC;gBACb,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,IAAI;gBAChD,gBAAgB,EAAE,CAAC;aACpB;SACF,CAAC;QAEF,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,WAAoB;YAC5B,WAAW,EAAE,QAAQ,EAAE;YACvB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,IAAI;YAClD,iBAAiB,EAAE,KAAK;YACxB,mBAAmB,EAAE,KAAK;YAC1B,iBAAiB,EAAE,KAAK;YACxB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,IAAI;YACf,qBAAqB,EAAE,UAAU,CAAC,iBAAiB,CAAC,SAAS;YAC7D,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,EAAE;YACtB,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;YAC3C,QAAQ,EAAE,CAAC;YACX,oBAAoB,EAAE,KAAK;YAC3B,aAAa,EAAE,EAAE,GAAG,sBAAsB,EAAE;YAC5C,KAAK,EAAE;gBACL,MAAM,EAAE,MAAe;gBACvB,oBAAoB,EAAE,KAAK;gBAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL;YACD,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,KAAK;YACtB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,IAAI;YACd,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,CAAC,OAAO;YAC9D,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;YAC3C,WAAW,EAAE,CAAC;YACd,gCAAgC,EAAE,KAAK;YACvC,6BAA6B,EAAE,IAAI;SACpC,CAAC;QAEF,MAAM,UAAU,GAAG,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,SAAS,CAAC,IAAI,CAAC;YACb,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,UAAU;YACvB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,IAAI;YAClD,iBAAiB,EAAE,KAAK;YACxB,mBAAmB,EAAE,KAAK;YAC1B,iBAAiB,EAAE,KAAK;YACxB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,IAAI;YACf,qBAAqB,EAAE,UAAU,CAAC,iBAAiB,CAAC,QAAQ;YAC5D,IAAI;YACJ,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,EAAE;YACtB,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;YAC3C,QAAQ,EAAE,CAAC;YACX,oBAAoB,EAAE,KAAK;YAC3B,aAAa,EAAE,EAAE,GAAG,sBAAsB,EAAE;YAC5C,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,oBAAoB,EAAE,KAAK;gBAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,CAAC,EAAE,OAAO;gBACV,CAAC,EAAE,CAAC;aACL;YACD,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,KAAK;YACtB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YACpB,eAAe,EAAE,IAAI;YACrB,WAAW,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE;YACzD,MAAM,EAAE,CAAC,IAAI,CAAC;YACd,mBAAmB,EAAE,EAAE,GAAG,aAAa,EAAE;YACzC,iBAAiB,EAAE,EAAE,GAAG,aAAa,EAAE;YACvC,UAAU,EAAE,KAAK;YACjB,cAAc,EAAE,KAAK;YACrB,eAAe,EAAE;gBACf,MAAM,EAAE,OAAO;gBACf,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,CAAC;aACT;YACD,kBAAkB,EAAE,KAAK;YACzB,8BAA8B,EAAE,KAAK;YACrC,gCAAgC,EAAE,KAAK;SACxC,CAAC,CAAC;QACH,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACpC,OAAO,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,MAAe;QACvB,WAAW,EAAE,MAAM;QACnB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,IAAI;QAClD,iBAAiB,EAAE,KAAK;QACxB,mBAAmB,EAAE,KAAK;QAC1B,iBAAiB,EAAE,KAAK;QACxB,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,IAAI;QACf,qBAAqB,EAAE,UAAU,CAAC,iBAAiB,CAAC,SAAS;QAC7D,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,KAAK;QAClB,kBAAkB,EAAE,EAAE;QACtB,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO;QAC3C,QAAQ,EAAE,CAAC;QACX,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,EAAE,GAAG,sBAAsB,EAAE;QAC5C,KAAK,EAAE;YACL,MAAM,EAAE,MAAe;YACvB,oBAAoB,EAAE,KAAK;YAC3B,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL;QACD,gBAAgB,EAAE,CAAC;QACnB,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,UAAU,EAAE;QACnB,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,EAAE,MAAM,EAAE,gCAAyC,EAAE;QAClE,MAAM,EAAE,SAAS;QACjB,mBAAmB,EAAE,EAAE,GAAG,aAAa,EAAE;QACzC,iBAAiB,EAAE,EAAE,GAAG,aAAa,EAAE;KACxC,CAAC;IAEF,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,UAAmB;QAC3B,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS;QAC3C,gBAAgB,EAAE,CAAC;QACnB,MAAM,EAAE;YACN,MAAM,EAAE,iBAA0B;YAClC,WAAW,EAAE,QAAQ,EAAE;YACvB,MAAM,EAAE,EAAe;YACvB,WAAW,EAAE,EAAe;YAC5B,aAAa,EAAE,EAAe;YAC9B,cAAc,EAAE,EAAe;YAC/B,MAAM,EAAE,EAAe;YACvB,SAAS,EAAE,EAAe;SAC3B;QACD,kBAAkB,EAAE,EAAe;QACnC,cAAc,EAAE,EAAe;QAC/B,iBAAiB,EAAE,EAAe;QAClC,eAAe,EAAE,EAAe;QAChC,WAAW,EAAE,EAAE,MAAM,EAAE,sBAA+B,EAAE,OAAO,EAAE,EAAE,EAAE;QACrE,YAAY,EAAE,EAAE,MAAM,EAAE,iBAA0B,EAAE,OAAO,EAAE,EAAE,EAAE;QACjE,eAAe,EAAE;YACf,MAAM,EAAE,0BAAmC;YAC3C,OAAO,EAAE,EAAE;SACZ;QACD,cAAc,EAAE,EAAE,MAAM,EAAE,iBAA0B,EAAE,OAAO,EAAE,EAAE,EAAE;QACnE,oBAAoB,EAAE,EAAe;QACrC,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,qBAA8B;gBACtC,UAAU,EAAE,iBAA0B;gBACtC,IAAI,EAAE,SAAS,MAAM,EAAE;aACxB;SACF;KACF,CAAC;IAEF,MAAM,IAAI,GAAG;QACX,MAAM,EAAE,0CAA0C;QAClD,iBAAiB,EAAE;YACjB,CAAC,MAAM,CAAC,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,YAAY;aACxB;SACF;QACD,OAAO,EAAE,GAAG;QACZ,KAAK,EAAE,EAAc;QACrB,oBAAoB,EAAE,EAAE;QACxB,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa;QACtC,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE;YACP,MAAM,EAAE,0CAA0C;YAClD,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa;YACtC,oBAAoB,EAAE,EAAE;YACxB,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,aAAa;SACvB;QACD,WAAW,EAAE,CAAC,eAAe,CAAC;QAC9B,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,CAAC;KACT,CAAC;IAEF,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE;YACR,cAAc,EAAE,EAAE;YAClB,iBAAiB,EAAE,CAAC;SACrB;QACD,CAAC,MAAM,CAAC,EAAE;YACR,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,CAAC;SACb;KACF,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAC9B,MAAM,KAAK,GAA+B;QACxC,CAAC,SAAS,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1D,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrD,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,sBAAsB,EACpB,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI;YACf,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,oBAAoB,EAAE;KAC7B,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;QACtC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Encode openfig FigDocument → .fig / .deck ZIP bytes.
3
+ */
4
+ import { type FigDocument } from "openfig-core";
5
+ export declare const IDENTITY: {
6
+ readonly m00: 1;
7
+ readonly m01: 0;
8
+ readonly m02: 0;
9
+ readonly m10: 0;
10
+ readonly m11: 1;
11
+ readonly m12: 0;
12
+ };
13
+ export declare const FIG_BASE: {
14
+ readonly phase: "CREATED";
15
+ readonly visible: true;
16
+ readonly opacity: 1;
17
+ readonly strokeWeight: 0;
18
+ readonly strokeAlign: "CENTER";
19
+ readonly strokeJoin: "BEVEL";
20
+ readonly transform: {
21
+ readonly m00: 1;
22
+ readonly m01: 0;
23
+ readonly m02: 0;
24
+ readonly m10: 0;
25
+ readonly m11: 1;
26
+ readonly m12: 0;
27
+ };
28
+ };
29
+ export type EncodeArchiveOptions = {
30
+ prelude?: string;
31
+ meta?: Record<string, unknown>;
32
+ thumbnail?: Uint8Array;
33
+ fileName?: string;
34
+ includeImagesDir?: boolean;
35
+ };
36
+ /** Minimal solid PNG for archive thumbnail.png. */
37
+ export declare function createPlaceholderThumbnail(width?: number, height?: number): Uint8Array;
38
+ /** Fractional index positions: '!', '"', '#', ... */
39
+ export declare function siblingPosition(index: number): string;
40
+ export declare function rebuildFigMaps(doc: FigDocument): void;
41
+ export declare function maxLocalId(doc: FigDocument): number;
42
+ /** Store image bytes on the doc and return an IMAGE fill paint. */
43
+ export declare function figImagePaint(doc: FigDocument, bytes: Uint8Array, width: number, height: number): Record<string, unknown>;
44
+ /**
45
+ * Encode document → ZIP archive bytes (canvas.fig + meta.json + thumbnail.png).
46
+ */
47
+ export declare function encodeFigArchive(doc: FigDocument, options?: EncodeArchiveOptions): Promise<Uint8Array>;
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Encode openfig FigDocument → .fig / .deck ZIP bytes.
3
+ */
4
+ import { createHash } from "node:crypto";
5
+ import { deflateSync } from "node:zlib";
6
+ import { zipSync } from "fflate";
7
+ import { assembleCanvasFig, encodeFigParts, } from "openfig-core";
8
+ import { zstdCompress } from "./zstd.js";
9
+ export const IDENTITY = {
10
+ m00: 1,
11
+ m01: 0,
12
+ m02: 0,
13
+ m10: 0,
14
+ m11: 1,
15
+ m12: 0,
16
+ };
17
+ export const FIG_BASE = {
18
+ phase: "CREATED",
19
+ visible: true,
20
+ opacity: 1,
21
+ strokeWeight: 0,
22
+ strokeAlign: "CENTER",
23
+ strokeJoin: "BEVEL",
24
+ transform: { ...IDENTITY },
25
+ };
26
+ /** Minimal solid PNG for archive thumbnail.png. */
27
+ export function createPlaceholderThumbnail(width = 400, height = 260) {
28
+ const row = Buffer.alloc(1 + width * 3, 0xff);
29
+ row[0] = 0;
30
+ const raw = Buffer.alloc(height * row.length);
31
+ for (let i = 0; i < height; i++) {
32
+ row.copy(raw, i * row.length);
33
+ }
34
+ const idat = deflateSync(raw);
35
+ const crcTable = new Uint32Array(256);
36
+ for (let n = 0; n < 256; n++) {
37
+ let c = n;
38
+ for (let k = 0; k < 8; k++) {
39
+ c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
40
+ }
41
+ crcTable[n] = c >>> 0;
42
+ }
43
+ const crc32 = (buf) => {
44
+ let c = 0xffffffff;
45
+ for (const b of buf) {
46
+ c = (crcTable[(c ^ b) & 0xff] ^ (c >>> 8)) >>> 0;
47
+ }
48
+ return (c ^ 0xffffffff) >>> 0;
49
+ };
50
+ const chunk = (type, data) => {
51
+ const len = Buffer.alloc(4);
52
+ len.writeUInt32BE(data.length, 0);
53
+ const t = Buffer.from(type, "ascii");
54
+ const crc = Buffer.alloc(4);
55
+ crc.writeUInt32BE(crc32(Buffer.concat([t, data])), 0);
56
+ return Buffer.concat([len, t, data, crc]);
57
+ };
58
+ const sig = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
59
+ const ihdr = Buffer.alloc(13);
60
+ ihdr.writeUInt32BE(width, 0);
61
+ ihdr.writeUInt32BE(height, 4);
62
+ ihdr[8] = 8;
63
+ ihdr[9] = 2;
64
+ return new Uint8Array(Buffer.concat([
65
+ sig,
66
+ chunk("IHDR", ihdr),
67
+ chunk("IDAT", idat),
68
+ chunk("IEND", Buffer.alloc(0)),
69
+ ]));
70
+ }
71
+ /** Fractional index positions: '!', '"', '#', ... */
72
+ export function siblingPosition(index) {
73
+ return String.fromCharCode(0x21 + (index % 90));
74
+ }
75
+ export function rebuildFigMaps(doc) {
76
+ doc.nodeMap = new Map();
77
+ doc.childrenMap = new Map();
78
+ for (const node of doc.message.nodeChanges) {
79
+ const id = `${node.guid.sessionID}:${node.guid.localID}`;
80
+ doc.nodeMap.set(id, node);
81
+ }
82
+ for (const node of doc.message.nodeChanges) {
83
+ if (!node.parentIndex?.guid) {
84
+ continue;
85
+ }
86
+ const pid = `${node.parentIndex.guid.sessionID}:${node.parentIndex.guid.localID}`;
87
+ if (!doc.childrenMap.has(pid)) {
88
+ doc.childrenMap.set(pid, []);
89
+ }
90
+ doc.childrenMap.get(pid).push(node);
91
+ }
92
+ doc.nodes = doc.message.nodeChanges;
93
+ }
94
+ export function maxLocalId(doc) {
95
+ let max = 0;
96
+ for (const node of doc.message.nodeChanges) {
97
+ if (node.guid?.localID > max) {
98
+ max = node.guid.localID;
99
+ }
100
+ }
101
+ return max;
102
+ }
103
+ /** Store image bytes on the doc and return an IMAGE fill paint. */
104
+ export function figImagePaint(doc, bytes, width, height) {
105
+ const hashHex = createHash("sha1").update(bytes).digest("hex");
106
+ const hashBytes = Uint8Array.from(Buffer.from(hashHex, "hex"));
107
+ if (!doc.images) {
108
+ doc.images = new Map();
109
+ }
110
+ doc.images.set(hashHex, bytes);
111
+ return {
112
+ type: "IMAGE",
113
+ opacity: 1,
114
+ visible: true,
115
+ blendMode: "NORMAL",
116
+ transform: { ...IDENTITY },
117
+ image: { hash: hashBytes, name: hashHex },
118
+ // Same asset as thumbnail — Figma accepts this for freestanding images.
119
+ imageThumbnail: { hash: hashBytes, name: hashHex },
120
+ imageScaleMode: "FILL",
121
+ scale: 0.5,
122
+ originalImageWidth: width,
123
+ originalImageHeight: height,
124
+ thumbHash: new Uint8Array(0),
125
+ altText: "",
126
+ };
127
+ }
128
+ /**
129
+ * Encode document → ZIP archive bytes (canvas.fig + meta.json + thumbnail.png).
130
+ */
131
+ export async function encodeFigArchive(doc, options = {}) {
132
+ if (options.prelude) {
133
+ doc.header = { ...doc.header, prelude: options.prelude };
134
+ }
135
+ const msg = doc.message;
136
+ if (msg.sessionID === undefined) {
137
+ msg.sessionID = 0;
138
+ }
139
+ if (msg.ackID === undefined) {
140
+ msg.ackID = 0;
141
+ }
142
+ if (!msg.blobs) {
143
+ msg.blobs = [];
144
+ }
145
+ const parts = encodeFigParts(doc);
146
+ const messageCompressed = await zstdCompress(parts.messageRaw, 3);
147
+ const canvasFig = assembleCanvasFig({
148
+ prelude: options.prelude ?? parts.prelude,
149
+ version: parts.version,
150
+ schemaCompressed: parts.schemaCompressed,
151
+ messageCompressed,
152
+ passThrough: parts.passThrough,
153
+ });
154
+ const meta = options.meta ??
155
+ doc.meta ??
156
+ {
157
+ file_name: options.fileName ?? "Untitled",
158
+ version: 0,
159
+ };
160
+ const thumbnail = options.thumbnail ?? doc.thumbnail;
161
+ if (!thumbnail) {
162
+ throw new Error("encodeFigArchive: thumbnail.png is required for Figma import");
163
+ }
164
+ const isDeck = (options.prelude ?? parts.prelude) === "fig-deck";
165
+ const includeImagesDir = options.includeImagesDir ?? isDeck;
166
+ const entries = {
167
+ "canvas.fig": [canvasFig, { level: 0 }],
168
+ "meta.json": [new TextEncoder().encode(JSON.stringify(meta)), { level: 0 }],
169
+ "thumbnail.png": [thumbnail, { level: 0 }],
170
+ };
171
+ if (includeImagesDir) {
172
+ entries["images/"] = [new Uint8Array(0), { level: 0 }];
173
+ }
174
+ if (doc.images) {
175
+ for (const [name, data] of doc.images) {
176
+ entries[`images/${name}`] = [data, { level: 0 }];
177
+ }
178
+ }
179
+ return zipSync(entries);
180
+ }
181
+ //# sourceMappingURL=fig-archive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fig-archive.js","sourceRoot":"","sources":["../../../src/core/utils/fig-archive.ts"],"names":[],"mappings":"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"}
@@ -63,3 +63,33 @@ export declare function contextTokensFromUsage(usage: {
63
63
  cacheReadInputTokens?: number;
64
64
  cacheWriteInputTokens?: number;
65
65
  }): number;
66
+ /** Display name + chat-LLM flag from a models.dev catalog entry. */
67
+ export type ModelsDevModelInfo = {
68
+ displayName: string;
69
+ isChatLlm: boolean;
70
+ };
71
+ /**
72
+ * Ensure the models.dev catalog is loaded (refresh disk cache when stale).
73
+ * Returns `true` when a catalog is available in memory or on disk.
74
+ */
75
+ export declare function ensureModelsDevCatalog(): Promise<boolean>;
76
+ /**
77
+ * Look up a model in the models.dev catalog (ensuring the cache is warm).
78
+ * `providerHint` should be a models.dev provider id when known (e.g.
79
+ * `moonshotai`, `amazon-bedrock`).
80
+ *
81
+ * Pass `{ exact: true }` to require an exact id match (used by prefetch so
82
+ * `gpt-4o-transcribe` does not inherit `gpt-4o`'s chat-LLM metadata).
83
+ */
84
+ export declare function resolveModelsDevModelInfo(modelId: string, providerHint?: string, options?: {
85
+ exact?: boolean;
86
+ }): Promise<ModelsDevModelInfo | null>;
87
+ /**
88
+ * Chat / agent LLMs listed under a models.dev provider id (e.g. `google`).
89
+ * Used as the allowlist for hosted prefetch so specialty API-only models
90
+ * (Veo, Deep Research, …) that never appear on models.dev stay out.
91
+ */
92
+ export declare function listModelsDevChatLlms(providerId: string): Promise<Array<{
93
+ id: string;
94
+ displayName: string;
95
+ }>>;
@@ -316,4 +316,126 @@ export function contextTokensFromUsage(usage) {
316
316
  (usage.cacheReadInputTokens ?? 0) +
317
317
  (usage.cacheWriteInputTokens ?? 0));
318
318
  }
319
+ /**
320
+ * Ensure the models.dev catalog is loaded (refresh disk cache when stale).
321
+ * Returns `true` when a catalog is available in memory or on disk.
322
+ */
323
+ export async function ensureModelsDevCatalog() {
324
+ return (await loadCatalog()) !== null;
325
+ }
326
+ /**
327
+ * Whether a models.dev entry looks like a chat / agent LLM (not embeddings,
328
+ * STT/TTS, image/video generators, moderation, etc.).
329
+ */
330
+ function isChatLlmEntry(model) {
331
+ const family = String(model.family ?? "").toLowerCase();
332
+ const id = String(model.id ?? "").toLowerCase();
333
+ const nonLlm = /(embed|whisper|tts|stt|transcri|moderation|guard|imagine|kling|asr|realtime|dall-?e|imagen|gpt-image|chatgpt-image|omni-flash|veo|lyria|deep-research|\baqa\b|native-audio|computer-use|robotics|-image(?:-|$)|antigravity)/;
334
+ if (nonLlm.test(family) || nonLlm.test(id)) {
335
+ return false;
336
+ }
337
+ const input = (model.modalities?.input ?? ["text"]).map((value) => value.toLowerCase());
338
+ const output = (model.modalities?.output ?? ["text"]).map((value) => value.toLowerCase());
339
+ if (!output.includes("text")) {
340
+ return false;
341
+ }
342
+ if (!input.includes("text") &&
343
+ (input.includes("audio") || input.includes("video"))) {
344
+ return false;
345
+ }
346
+ // Generators expose image/audio/video in output; chat LLMs are text-out
347
+ // (they may still accept image/pdf input).
348
+ if (output.includes("image") ||
349
+ output.includes("audio") ||
350
+ output.includes("video")) {
351
+ return false;
352
+ }
353
+ if (model.tool_call === false) {
354
+ return false;
355
+ }
356
+ if (model.tool_call === true) {
357
+ return true;
358
+ }
359
+ return input.includes("text") && output.includes("text");
360
+ }
361
+ function findModelsDevEntry(catalog, modelId, providerHint, exactOnly = false) {
362
+ const targets = targetForms(modelId);
363
+ if (targets.length === 0) {
364
+ return null;
365
+ }
366
+ const matches = [];
367
+ for (const [providerId, provider] of Object.entries(catalog.providers ?? {})) {
368
+ for (const [modelKey, model] of Object.entries(provider?.models ?? {})) {
369
+ const match = matchModelId(targets, modelKey) ??
370
+ (model?.id ? matchModelId(targets, model.id) : null);
371
+ if (!match) {
372
+ continue;
373
+ }
374
+ if (exactOnly && match.tier !== 1) {
375
+ continue;
376
+ }
377
+ matches.push({ providerId, model, ...match });
378
+ }
379
+ }
380
+ if (matches.length === 0) {
381
+ return null;
382
+ }
383
+ const bestTier = Math.min(...matches.map((match) => match.tier));
384
+ const candidates = matches.filter((match) => match.tier === bestTier);
385
+ if (providerHint) {
386
+ const preferred = candidates.find((match) => match.providerId === providerHint);
387
+ if (preferred) {
388
+ return preferred.model;
389
+ }
390
+ }
391
+ return candidates.reduce((best, match) => match.lengthDiff < best.lengthDiff ? match : best).model;
392
+ }
393
+ /**
394
+ * Look up a model in the models.dev catalog (ensuring the cache is warm).
395
+ * `providerHint` should be a models.dev provider id when known (e.g.
396
+ * `moonshotai`, `amazon-bedrock`).
397
+ *
398
+ * Pass `{ exact: true }` to require an exact id match (used by prefetch so
399
+ * `gpt-4o-transcribe` does not inherit `gpt-4o`'s chat-LLM metadata).
400
+ */
401
+ export async function resolveModelsDevModelInfo(modelId, providerHint, options) {
402
+ const catalog = await loadCatalog();
403
+ if (!catalog) {
404
+ return null;
405
+ }
406
+ const entry = findModelsDevEntry(catalog, modelId, providerHint, options?.exact === true);
407
+ if (!entry) {
408
+ return null;
409
+ }
410
+ const displayName = typeof entry.name === "string" && entry.name.trim()
411
+ ? entry.name.trim()
412
+ : modelId;
413
+ return { displayName, isChatLlm: isChatLlmEntry(entry) };
414
+ }
415
+ /**
416
+ * Chat / agent LLMs listed under a models.dev provider id (e.g. `google`).
417
+ * Used as the allowlist for hosted prefetch so specialty API-only models
418
+ * (Veo, Deep Research, …) that never appear on models.dev stay out.
419
+ */
420
+ export async function listModelsDevChatLlms(providerId) {
421
+ const catalog = await loadCatalog();
422
+ if (!catalog) {
423
+ return [];
424
+ }
425
+ const provider = catalog.providers?.[providerId];
426
+ const rows = [];
427
+ for (const [modelKey, model] of Object.entries(provider?.models ?? {})) {
428
+ if (!model || !isChatLlmEntry(model)) {
429
+ continue;
430
+ }
431
+ const id = typeof model.id === "string" && model.id.trim()
432
+ ? model.id.trim()
433
+ : modelKey;
434
+ const displayName = typeof model.name === "string" && model.name.trim()
435
+ ? model.name.trim()
436
+ : id;
437
+ rows.push({ id, displayName });
438
+ }
439
+ return rows;
440
+ }
319
441
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/core/utils/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/core/utils/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Prefetch model ids from provider-specific list endpoints (or curated
3
+ * local defaults). Used by VS Code onboarding and available to other
4
+ * surfaces that need a first-run / picker catalog without going through ACP.
5
+ *
6
+ * Flow: list from the provider → check models.dev → keep chat LLMs only
7
+ * (display names from the catalog when present).
8
+ */
9
+ /** Runtime provider id (matches `LlmProvider` string values). */
10
+ export type PrefetchProviderId = "anthropic" | "azure" | "bedrock" | "google" | "groq" | "llama-cpp" | "minimax" | "mlx" | "moonshot" | "ollama" | "openai" | "openrouter" | "xai";
11
+ export type PrefetchedModel = {
12
+ id: string;
13
+ displayName: string;
14
+ };
15
+ export type PrefetchModelsOptions = {
16
+ provider: PrefetchProviderId;
17
+ apiKey?: string;
18
+ baseURL?: string;
19
+ region?: string;
20
+ accessKeyId?: string;
21
+ secretAccessKey?: string;
22
+ /** Azure deployment name — used as the sole/default model id. */
23
+ azureDeployment?: string;
24
+ /** Prefer this model id (moved to front, or inserted when missing). */
25
+ preferredModel?: string;
26
+ /** Soft cap for huge catalogs (default 40). */
27
+ limit?: number;
28
+ signal?: AbortSignal;
29
+ };
30
+ /** Suggested default model id per provider (matches VS Code / configure UI). */
31
+ export declare const DEFAULT_PREFETCH_MODEL_BY_PROVIDER: Record<PrefetchProviderId, string>;
32
+ /**
33
+ * Known-good model id/label for local / curated providers (llama.cpp, MLX, Bedrock).
34
+ */
35
+ export declare function defaultPrefetchedModel(provider: PrefetchProviderId): PrefetchedModel;
36
+ /** Providers that need an API key (or Azure key + deployment) before onboarding can finish. */
37
+ export declare function providerRequiresCredentials(provider: PrefetchProviderId): boolean;
38
+ /**
39
+ * Whether the options include the credentials needed to call the list endpoint.
40
+ */
41
+ export declare function hasPrefetchCredentials(options: PrefetchModelsOptions): boolean;
42
+ /**
43
+ * Resolve models for onboarding. Credentials required by the provider must be
44
+ * present and valid (list endpoint succeeds); there is no silent fallback.
45
+ * Local / curated providers (llama.cpp, MLX, Bedrock) use known defaults.
46
+ */
47
+ export declare function resolvePrefetchModels(options: PrefetchModelsOptions): Promise<PrefetchedModel[]>;
48
+ /**
49
+ * List models for a provider: remote catalog where available, curated
50
+ * local entries for llama.cpp / MLX, deployment name for Azure.
51
+ * Non-LLM catalog entries are dropped; display names prefer models.dev.
52
+ */
53
+ export declare function prefetchProviderModels(options: PrefetchModelsOptions): Promise<PrefetchedModel[]>;