@litfamily/litopencode 1.0.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 (690) hide show
  1. package/.gitattributes +8 -0
  2. package/ATTRIBUTION.md +56 -0
  3. package/CHANGELOG.md +267 -0
  4. package/CODE_OF_CONDUCT.md +30 -0
  5. package/CONTRIBUTING.md +82 -0
  6. package/LICENSE +21 -0
  7. package/README-Ko-KR.md +252 -0
  8. package/README.md +252 -0
  9. package/SECURITY.md +36 -0
  10. package/SUPPORT.md +37 -0
  11. package/bin/litopencode +3 -0
  12. package/bin/litopencode.cjs +10 -0
  13. package/dist/activation-managed-prompts.d.ts +2 -0
  14. package/dist/activation-managed-prompts.js +51 -0
  15. package/dist/activation-primary-prompts.d.ts +2 -0
  16. package/dist/activation-primary-prompts.js +176 -0
  17. package/dist/activation-probe.d.ts +3 -0
  18. package/dist/activation-probe.js +19 -0
  19. package/dist/activation-prompt-utils.d.ts +6 -0
  20. package/dist/activation-prompt-utils.js +36 -0
  21. package/dist/activation-routing.d.ts +5 -0
  22. package/dist/activation-routing.js +340 -0
  23. package/dist/activation-workflow-prompts.d.ts +26 -0
  24. package/dist/activation-workflow-prompts.js +295 -0
  25. package/dist/activation.d.ts +24 -0
  26. package/dist/activation.js +152 -0
  27. package/dist/agents/defaults.d.ts +15 -0
  28. package/dist/agents/defaults.js +112 -0
  29. package/dist/agents/registry.d.ts +65 -0
  30. package/dist/agents/registry.js +319 -0
  31. package/dist/agents/specialists.d.ts +49 -0
  32. package/dist/agents/specialists.js +307 -0
  33. package/dist/agents/types.d.ts +55 -0
  34. package/dist/agents/types.js +4 -0
  35. package/dist/agents.d.ts +4 -0
  36. package/dist/agents.js +3 -0
  37. package/dist/benchmark.d.ts +94 -0
  38. package/dist/benchmark.js +172 -0
  39. package/dist/bounded-authority-hooks.d.ts +19 -0
  40. package/dist/bounded-authority-hooks.js +157 -0
  41. package/dist/bounded-authority.d.ts +184 -0
  42. package/dist/bounded-authority.js +825 -0
  43. package/dist/cache-metrics.d.ts +54 -0
  44. package/dist/cache-metrics.js +81 -0
  45. package/dist/cli/args.d.ts +5 -0
  46. package/dist/cli/args.js +415 -0
  47. package/dist/cli/auto-update.d.ts +117 -0
  48. package/dist/cli/auto-update.js +604 -0
  49. package/dist/cli/command-alias-ownership.d.ts +2 -0
  50. package/dist/cli/command-alias-ownership.js +14 -0
  51. package/dist/cli/command-aliases.d.ts +12 -0
  52. package/dist/cli/command-aliases.js +112 -0
  53. package/dist/cli/doctor.d.ts +2 -0
  54. package/dist/cli/doctor.js +175 -0
  55. package/dist/cli/host-capabilities.d.ts +12 -0
  56. package/dist/cli/host-capabilities.js +25 -0
  57. package/dist/cli/host-limits.d.ts +21 -0
  58. package/dist/cli/host-limits.js +83 -0
  59. package/dist/cli/install-config.d.ts +13 -0
  60. package/dist/cli/install-config.js +201 -0
  61. package/dist/cli/install-report.d.ts +2 -0
  62. package/dist/cli/install-report.js +180 -0
  63. package/dist/cli/install-tui.d.ts +12 -0
  64. package/dist/cli/install-tui.js +174 -0
  65. package/dist/cli/install.d.ts +2 -0
  66. package/dist/cli/install.js +264 -0
  67. package/dist/cli/json.d.ts +4 -0
  68. package/dist/cli/json.js +31 -0
  69. package/dist/cli/loop.d.ts +3 -0
  70. package/dist/cli/loop.js +135 -0
  71. package/dist/cli/lsp-capability.d.ts +17 -0
  72. package/dist/cli/lsp-capability.js +92 -0
  73. package/dist/cli/managed-skill-assets.d.ts +23 -0
  74. package/dist/cli/managed-skill-assets.js +117 -0
  75. package/dist/cli/model-catalog.d.ts +21 -0
  76. package/dist/cli/model-catalog.js +107 -0
  77. package/dist/cli/model-policy.d.ts +3 -0
  78. package/dist/cli/model-policy.js +143 -0
  79. package/dist/cli/model-routing.d.ts +5 -0
  80. package/dist/cli/model-routing.js +208 -0
  81. package/dist/cli/native-canonical-backup.d.ts +9 -0
  82. package/dist/cli/native-canonical-backup.js +96 -0
  83. package/dist/cli/native-canonical-cache.d.ts +9 -0
  84. package/dist/cli/native-canonical-cache.js +37 -0
  85. package/dist/cli/native-skill-install.d.ts +2 -0
  86. package/dist/cli/native-skill-install.js +128 -0
  87. package/dist/cli/native-skill-integrity.d.ts +25 -0
  88. package/dist/cli/native-skill-integrity.js +178 -0
  89. package/dist/cli/native-skill-tree.d.ts +12 -0
  90. package/dist/cli/native-skill-tree.js +104 -0
  91. package/dist/cli/native-skills.d.ts +22 -0
  92. package/dist/cli/native-skills.js +105 -0
  93. package/dist/cli/plugin-mutation.d.ts +4 -0
  94. package/dist/cli/plugin-mutation.js +89 -0
  95. package/dist/cli/scientific-visualization-dependencies.d.ts +18 -0
  96. package/dist/cli/scientific-visualization-dependencies.js +91 -0
  97. package/dist/cli/skill-loop.d.ts +3 -0
  98. package/dist/cli/skill-loop.js +649 -0
  99. package/dist/cli/types.d.ts +188 -0
  100. package/dist/cli/types.js +1 -0
  101. package/dist/cli/update-check.d.ts +2 -0
  102. package/dist/cli/update-check.js +15 -0
  103. package/dist/cli/update-notifier.d.ts +70 -0
  104. package/dist/cli/update-notifier.js +717 -0
  105. package/dist/cli/vendor-path-migration.d.ts +9 -0
  106. package/dist/cli/vendor-path-migration.js +96 -0
  107. package/dist/cli.d.ts +7 -0
  108. package/dist/cli.js +250 -0
  109. package/dist/commands.d.ts +331 -0
  110. package/dist/commands.js +600 -0
  111. package/dist/config-parser.d.ts +5 -0
  112. package/dist/config-parser.js +274 -0
  113. package/dist/config.d.ts +72 -0
  114. package/dist/config.js +157 -0
  115. package/dist/deliverable-hedge-guard.d.ts +26 -0
  116. package/dist/deliverable-hedge-guard.js +302 -0
  117. package/dist/durable-plan.d.ts +23 -0
  118. package/dist/durable-plan.js +349 -0
  119. package/dist/features.d.ts +828 -0
  120. package/dist/features.js +1109 -0
  121. package/dist/hooks.d.ts +17 -0
  122. package/dist/hooks.js +83 -0
  123. package/dist/ignition.d.ts +14 -0
  124. package/dist/ignition.js +33 -0
  125. package/dist/index.d.ts +30 -0
  126. package/dist/index.js +30 -0
  127. package/dist/inert-data.d.ts +2 -0
  128. package/dist/inert-data.js +13 -0
  129. package/dist/knowledge.d.ts +98 -0
  130. package/dist/knowledge.js +961 -0
  131. package/dist/ledger.d.ts +181 -0
  132. package/dist/ledger.js +1179 -0
  133. package/dist/lit-fetch-classify.d.ts +8 -0
  134. package/dist/lit-fetch-classify.js +107 -0
  135. package/dist/lit-fetch-content.d.ts +2 -0
  136. package/dist/lit-fetch-content.js +43 -0
  137. package/dist/lit-fetch-http.d.ts +10 -0
  138. package/dist/lit-fetch-http.js +82 -0
  139. package/dist/lit-fetch-result.d.ts +2 -0
  140. package/dist/lit-fetch-result.js +65 -0
  141. package/dist/lit-fetch-ssrf.d.ts +9 -0
  142. package/dist/lit-fetch-ssrf.js +77 -0
  143. package/dist/lit-fetch-url.d.ts +3 -0
  144. package/dist/lit-fetch-url.js +28 -0
  145. package/dist/lit-fetch.d.ts +69 -0
  146. package/dist/lit-fetch.js +84 -0
  147. package/dist/lit-mark.d.ts +17 -0
  148. package/dist/lit-mark.js +129 -0
  149. package/dist/logger.d.ts +9 -0
  150. package/dist/logger.js +21 -0
  151. package/dist/model-route-policy.d.ts +25 -0
  152. package/dist/model-route-policy.js +129 -0
  153. package/dist/reader-facing-output.d.ts +3 -0
  154. package/dist/reader-facing-output.js +28 -0
  155. package/dist/rules/discovery.d.ts +36 -0
  156. package/dist/rules/discovery.js +270 -0
  157. package/dist/rules/engine.d.ts +43 -0
  158. package/dist/rules/engine.js +236 -0
  159. package/dist/rules/frontmatter.d.ts +16 -0
  160. package/dist/rules/frontmatter.js +179 -0
  161. package/dist/rules/glob.d.ts +12 -0
  162. package/dist/rules/glob.js +233 -0
  163. package/dist/rules/hooks.d.ts +25 -0
  164. package/dist/rules/hooks.js +75 -0
  165. package/dist/rules/output-style.d.ts +1 -0
  166. package/dist/rules/output-style.js +20 -0
  167. package/dist/scientific-visualization-banner.d.ts +1 -0
  168. package/dist/scientific-visualization-banner.js +2 -0
  169. package/dist/search-workflow-ideas.d.ts +67 -0
  170. package/dist/search-workflow-ideas.js +128 -0
  171. package/dist/secret-shapes.d.ts +9 -0
  172. package/dist/secret-shapes.js +63 -0
  173. package/dist/server.d.ts +6 -0
  174. package/dist/server.js +129 -0
  175. package/dist/session-lineage.d.ts +8 -0
  176. package/dist/session-lineage.js +12 -0
  177. package/dist/skill-loop/apply.d.ts +19 -0
  178. package/dist/skill-loop/apply.js +483 -0
  179. package/dist/skill-loop/config.d.ts +50 -0
  180. package/dist/skill-loop/config.js +215 -0
  181. package/dist/skill-loop/curator.d.ts +18 -0
  182. package/dist/skill-loop/curator.js +232 -0
  183. package/dist/skill-loop/ledger.d.ts +39 -0
  184. package/dist/skill-loop/ledger.js +344 -0
  185. package/dist/skill-loop/proposals.d.ts +48 -0
  186. package/dist/skill-loop/proposals.js +290 -0
  187. package/dist/skill-loop/storage.d.ts +72 -0
  188. package/dist/skill-loop/storage.js +817 -0
  189. package/dist/skill-loop/time.d.ts +2 -0
  190. package/dist/skill-loop/time.js +23 -0
  191. package/dist/skill-loop/transaction.d.ts +62 -0
  192. package/dist/skill-loop/transaction.js +836 -0
  193. package/dist/skill-loop/usage.d.ts +31 -0
  194. package/dist/skill-loop/usage.js +146 -0
  195. package/dist/skill-observer.d.ts +22 -0
  196. package/dist/skill-observer.js +1154 -0
  197. package/dist/skill-renames.d.ts +5 -0
  198. package/dist/skill-renames.js +8 -0
  199. package/dist/skills.d.ts +307 -0
  200. package/dist/skills.js +450 -0
  201. package/dist/stable-identity.d.ts +14 -0
  202. package/dist/stable-identity.js +15 -0
  203. package/dist/state.d.ts +25 -0
  204. package/dist/state.js +38 -0
  205. package/dist/strict-json.d.ts +2 -0
  206. package/dist/strict-json.js +94 -0
  207. package/dist/tool-guards.d.ts +34 -0
  208. package/dist/tool-guards.js +210 -0
  209. package/dist/tool-kit.d.ts +32 -0
  210. package/dist/tool-kit.js +75 -0
  211. package/dist/tools.d.ts +43 -0
  212. package/dist/tools.js +381 -0
  213. package/dist/uiux-visual-catalog.d.ts +50 -0
  214. package/dist/uiux-visual-catalog.js +103 -0
  215. package/dist/user-facing-markdown.d.ts +5 -0
  216. package/dist/user-facing-markdown.js +93 -0
  217. package/dist/workflow-families.d.ts +16 -0
  218. package/dist/workflow-families.js +95 -0
  219. package/docs/assets/cover.webp +0 -0
  220. package/docs/assets/litopencode-continuity-1600.webp +0 -0
  221. package/docs/assets/litopencode-ignition-1600.webp +0 -0
  222. package/docs/assets/readme/badge-license.svg +1 -0
  223. package/docs/assets/readme/badge-version.svg +1 -0
  224. package/docs/assets/readme/litopencode-clay-icon.png +0 -0
  225. package/docs/assets/readme/litopencode-wordmark.svg +5 -0
  226. package/docs/lit-mark.md +46 -0
  227. package/docs/migration.md +162 -0
  228. package/docs/privacy.md +82 -0
  229. package/docs/reference-Ko-KR.md +309 -0
  230. package/docs/reference.md +444 -0
  231. package/output-styles/asd-ste100-ko.md +41 -0
  232. package/output-styles/asd-ste100.md +40 -0
  233. package/output-styles/eli5-ko.md +13 -0
  234. package/output-styles/eli5.md +11 -0
  235. package/package.json +57 -0
  236. package/qa/fixtures/litfamily-harness-speed-v1.json +38 -0
  237. package/qa/harness-speed-contract.mjs +209 -0
  238. package/qa/harness-speed-v2-contract.mjs +213 -0
  239. package/qa/harness-speed-verdict.mjs +105 -0
  240. package/skills/agent-roster/SKILL.md +262 -0
  241. package/skills/autoconference/LICENSE +21 -0
  242. package/skills/autoconference/PROVENANCE.md +20 -0
  243. package/skills/autoconference/SKILL.md +125 -0
  244. package/skills/autoconference/assets/conference_template.md +76 -0
  245. package/skills/autoconference/assets/report_template.md +53 -0
  246. package/skills/autoconference/assets/synthesis_template.md +39 -0
  247. package/skills/autoconference/modes/analyze.md +255 -0
  248. package/skills/autoconference/modes/core.md +112 -0
  249. package/skills/autoconference/modes/debate.md +373 -0
  250. package/skills/autoconference/modes/plan.md +310 -0
  251. package/skills/autoconference/modes/resume.md +48 -0
  252. package/skills/autoconference/modes/ship.md +57 -0
  253. package/skills/autoconference/modes/survey.md +109 -0
  254. package/skills/autoconference/references/agent-prompts.md +134 -0
  255. package/skills/autoconference/references/conference-protocol.md +102 -0
  256. package/skills/autoconference/references/convergence-guide.md +167 -0
  257. package/skills/autoconference/references/core-principles.md +83 -0
  258. package/skills/autoconference/references/crash-recovery.md +104 -0
  259. package/skills/autoconference/references/results-logging.md +198 -0
  260. package/skills/autoconference/references/upstream-family-contract.md +130 -0
  261. package/skills/autoconference/references/visualization-guide.md +105 -0
  262. package/skills/autoconference/scripts/check_conference.sh +371 -0
  263. package/skills/autoconference/scripts/init_conference.py +625 -0
  264. package/skills/autoconference/scripts/style_presets.py +104 -0
  265. package/skills/autoresearch/LICENSE +21 -0
  266. package/skills/autoresearch/PROVENANCE.md +20 -0
  267. package/skills/autoresearch/SKILL.md +131 -0
  268. package/skills/autoresearch/assets/report_template.md +50 -0
  269. package/skills/autoresearch/assets/research_template.md +38 -0
  270. package/skills/autoresearch/assets/results_template.tsv +1 -0
  271. package/skills/autoresearch/modes/core.md +216 -0
  272. package/skills/autoresearch/modes/debug.md +235 -0
  273. package/skills/autoresearch/modes/fix.md +173 -0
  274. package/skills/autoresearch/modes/learn.md +91 -0
  275. package/skills/autoresearch/modes/plan.md +291 -0
  276. package/skills/autoresearch/modes/predict.md +266 -0
  277. package/skills/autoresearch/modes/reason.md +170 -0
  278. package/skills/autoresearch/modes/scenario.md +164 -0
  279. package/skills/autoresearch/modes/security.md +282 -0
  280. package/skills/autoresearch/modes/ship.md +49 -0
  281. package/skills/autoresearch/references/core-principles.md +80 -0
  282. package/skills/autoresearch/references/evaluator-contract.md +126 -0
  283. package/skills/autoresearch/references/investigation-techniques.md +205 -0
  284. package/skills/autoresearch/references/owasp-checklist.md +161 -0
  285. package/skills/autoresearch/references/persona-templates.md +232 -0
  286. package/skills/autoresearch/references/results-logging.md +96 -0
  287. package/skills/autoresearch/references/scenario-dimensions.md +178 -0
  288. package/skills/autoresearch/references/stride-model.md +196 -0
  289. package/skills/autoresearch/references/stuck-detection.md +107 -0
  290. package/skills/autoresearch/references/type-checklists.md +163 -0
  291. package/skills/autoresearch/references/upstream-family-contract.md +125 -0
  292. package/skills/autoresearch/references/visualization-guide.md +95 -0
  293. package/skills/autoresearch/scripts/check_progress.sh +272 -0
  294. package/skills/autoresearch/scripts/init_research.py +330 -0
  295. package/skills/autoresearch/scripts/run_with_deadline.py +164 -0
  296. package/skills/autoresearch/scripts/style_presets.py +104 -0
  297. package/skills/browser-drive/SKILL.md +133 -0
  298. package/skills/browser-drive/references/snapshot-act-loop.md +37 -0
  299. package/skills/browser-drive/scripts/capability-probe.mjs +262 -0
  300. package/skills/comment-checker/SKILL.md +171 -0
  301. package/skills/debugging/SKILL.md +202 -0
  302. package/skills/debugging/references/README.md +15 -0
  303. package/skills/debugging/references/escalation.md +43 -0
  304. package/skills/debugging/references/runtimes/README.md +17 -0
  305. package/skills/debugging/references/runtimes/bundled-js-binary.md +44 -0
  306. package/skills/debugging/references/runtimes/go.md +37 -0
  307. package/skills/debugging/references/runtimes/native-binary.md +44 -0
  308. package/skills/debugging/references/runtimes/node.md +43 -0
  309. package/skills/debugging/references/runtimes/python.md +41 -0
  310. package/skills/debugging/references/runtimes/rust.md +37 -0
  311. package/skills/debugging/references/tools.md +72 -0
  312. package/skills/deep-interview/SKILL.md +201 -0
  313. package/skills/doctor-installer/SKILL.md +252 -0
  314. package/skills/durable-litgoal/SKILL.md +248 -0
  315. package/skills/frontend-ui-ux/SKILL.md +70 -0
  316. package/skills/frontend-ui-ux/data/LICENSE +21 -0
  317. package/skills/frontend-ui-ux/data/PROVENANCE.json +1088 -0
  318. package/skills/frontend-ui-ux/data/THIRD-PARTY-NOTICE.txt +14 -0
  319. package/skills/frontend-ui-ux/data/design-intelligence.json +1 -0
  320. package/skills/frontend-ui-ux/references/_canonical-corpus/ATTRIBUTION.md +217 -0
  321. package/skills/frontend-ui-ux/references/_canonical-corpus/LICENSE +21 -0
  322. package/skills/frontend-ui-ux/references/_canonical-corpus/LICENSE-Apache-2.0.txt +201 -0
  323. package/skills/frontend-ui-ux/references/_canonical-corpus/manifest.json +867 -0
  324. package/skills/frontend-ui-ux/references/adaptive-layout.md +85 -0
  325. package/skills/frontend-ui-ux/references/brand-and-imagery.md +79 -0
  326. package/skills/frontend-ui-ux/references/complete-contract.md +282 -0
  327. package/skills/frontend-ui-ux/references/composition.md +87 -0
  328. package/skills/frontend-ui-ux/references/creative-directions.md +83 -0
  329. package/skills/frontend-ui-ux/references/design/README.md +248 -0
  330. package/skills/frontend-ui-ux/references/design/_INDEX.md +191 -0
  331. package/skills/frontend-ui-ux/references/design/airbnb.md +393 -0
  332. package/skills/frontend-ui-ux/references/design/airtable.md +92 -0
  333. package/skills/frontend-ui-ux/references/design/apple.md +250 -0
  334. package/skills/frontend-ui-ux/references/design/aside.md +209 -0
  335. package/skills/frontend-ui-ux/references/design/binance.md +348 -0
  336. package/skills/frontend-ui-ux/references/design/bmw.md +183 -0
  337. package/skills/frontend-ui-ux/references/design/brutalist-skill.md +92 -0
  338. package/skills/frontend-ui-ux/references/design/bugatti.md +271 -0
  339. package/skills/frontend-ui-ux/references/design/cal.md +262 -0
  340. package/skills/frontend-ui-ux/references/design/claude.md +315 -0
  341. package/skills/frontend-ui-ux/references/design/clay.md +307 -0
  342. package/skills/frontend-ui-ux/references/design/clickhouse.md +284 -0
  343. package/skills/frontend-ui-ux/references/design/clone-from-url.md +65 -0
  344. package/skills/frontend-ui-ux/references/design/cohere.md +269 -0
  345. package/skills/frontend-ui-ux/references/design/coinbase.md +132 -0
  346. package/skills/frontend-ui-ux/references/design/composio.md +310 -0
  347. package/skills/frontend-ui-ux/references/design/cursor.md +312 -0
  348. package/skills/frontend-ui-ux/references/design/design-system-architecture.md +244 -0
  349. package/skills/frontend-ui-ux/references/design/elevenlabs.md +268 -0
  350. package/skills/frontend-ui-ux/references/design/expo.md +284 -0
  351. package/skills/frontend-ui-ux/references/design/ferrari.md +317 -0
  352. package/skills/frontend-ui-ux/references/design/figma.md +223 -0
  353. package/skills/frontend-ui-ux/references/design/framer.md +249 -0
  354. package/skills/frontend-ui-ux/references/design/gpt-tasteskill.md +74 -0
  355. package/skills/frontend-ui-ux/references/design/hashicorp.md +281 -0
  356. package/skills/frontend-ui-ux/references/design/ibm.md +335 -0
  357. package/skills/frontend-ui-ux/references/design/image-to-code-skill.md +1228 -0
  358. package/skills/frontend-ui-ux/references/design/imagegen-brandkit.md +798 -0
  359. package/skills/frontend-ui-ux/references/design/imagegen-frontend-mobile.md +1465 -0
  360. package/skills/frontend-ui-ux/references/design/imagegen-frontend-web.md +987 -0
  361. package/skills/frontend-ui-ux/references/design/intercom.md +149 -0
  362. package/skills/frontend-ui-ux/references/design/kraken.md +128 -0
  363. package/skills/frontend-ui-ux/references/design/lamborghini.md +291 -0
  364. package/skills/frontend-ui-ux/references/design/layout-skill.md +107 -0
  365. package/skills/frontend-ui-ux/references/design/lazyweb.md +77 -0
  366. package/skills/frontend-ui-ux/references/design/linear.app.md +370 -0
  367. package/skills/frontend-ui-ux/references/design/lovable.md +301 -0
  368. package/skills/frontend-ui-ux/references/design/mastercard.md +368 -0
  369. package/skills/frontend-ui-ux/references/design/meta.md +369 -0
  370. package/skills/frontend-ui-ux/references/design/minimalist-skill.md +85 -0
  371. package/skills/frontend-ui-ux/references/design/minimax.md +260 -0
  372. package/skills/frontend-ui-ux/references/design/mintlify.md +329 -0
  373. package/skills/frontend-ui-ux/references/design/miro.md +111 -0
  374. package/skills/frontend-ui-ux/references/design/mistral.ai.md +264 -0
  375. package/skills/frontend-ui-ux/references/design/mongodb.md +269 -0
  376. package/skills/frontend-ui-ux/references/design/nike.md +366 -0
  377. package/skills/frontend-ui-ux/references/design/notion.md +312 -0
  378. package/skills/frontend-ui-ux/references/design/nvidia.md +296 -0
  379. package/skills/frontend-ui-ux/references/design/ollama.md +270 -0
  380. package/skills/frontend-ui-ux/references/design/opencode.ai.md +284 -0
  381. package/skills/frontend-ui-ux/references/design/output-skill.md +49 -0
  382. package/skills/frontend-ui-ux/references/design/pinterest.md +233 -0
  383. package/skills/frontend-ui-ux/references/design/playstation.md +367 -0
  384. package/skills/frontend-ui-ux/references/design/posthog.md +259 -0
  385. package/skills/frontend-ui-ux/references/design/raycast.md +271 -0
  386. package/skills/frontend-ui-ux/references/design/react-dev-tooling-skill.md +230 -0
  387. package/skills/frontend-ui-ux/references/design/redesign-skill.md +178 -0
  388. package/skills/frontend-ui-ux/references/design/renault.md +314 -0
  389. package/skills/frontend-ui-ux/references/design/replicate.md +264 -0
  390. package/skills/frontend-ui-ux/references/design/resend.md +306 -0
  391. package/skills/frontend-ui-ux/references/design/revolut.md +188 -0
  392. package/skills/frontend-ui-ux/references/design/runwayml.md +247 -0
  393. package/skills/frontend-ui-ux/references/design/sanity.md +360 -0
  394. package/skills/frontend-ui-ux/references/design/sentry.md +265 -0
  395. package/skills/frontend-ui-ux/references/design/shopify.md +353 -0
  396. package/skills/frontend-ui-ux/references/design/soft-skill.md +98 -0
  397. package/skills/frontend-ui-ux/references/design/spacex.md +197 -0
  398. package/skills/frontend-ui-ux/references/design/spotify.md +249 -0
  399. package/skills/frontend-ui-ux/references/design/starbucks.md +583 -0
  400. package/skills/frontend-ui-ux/references/design/stitch-design-example.md +121 -0
  401. package/skills/frontend-ui-ux/references/design/stitch-skill.md +184 -0
  402. package/skills/frontend-ui-ux/references/design/stripe.md +325 -0
  403. package/skills/frontend-ui-ux/references/design/supabase.md +258 -0
  404. package/skills/frontend-ui-ux/references/design/superhuman.md +255 -0
  405. package/skills/frontend-ui-ux/references/design/taste-skill.md +1206 -0
  406. package/skills/frontend-ui-ux/references/design/tesla.md +289 -0
  407. package/skills/frontend-ui-ux/references/design/theverge.md +342 -0
  408. package/skills/frontend-ui-ux/references/design/together.ai.md +266 -0
  409. package/skills/frontend-ui-ux/references/design/uber.md +298 -0
  410. package/skills/frontend-ui-ux/references/design/vercel.md +313 -0
  411. package/skills/frontend-ui-ux/references/design/vodafone.md +426 -0
  412. package/skills/frontend-ui-ux/references/design/voltagent.md +326 -0
  413. package/skills/frontend-ui-ux/references/design/warp.md +256 -0
  414. package/skills/frontend-ui-ux/references/design/webflow.md +95 -0
  415. package/skills/frontend-ui-ux/references/design/wired.md +281 -0
  416. package/skills/frontend-ui-ux/references/design/wise.md +176 -0
  417. package/skills/frontend-ui-ux/references/design/x.ai.md +260 -0
  418. package/skills/frontend-ui-ux/references/design/zapier.md +331 -0
  419. package/skills/frontend-ui-ux/references/designpowers/EVIDENCE.md +97 -0
  420. package/skills/frontend-ui-ux/references/designpowers/README.md +48 -0
  421. package/skills/frontend-ui-ux/references/designpowers/UPSTREAM.md +80 -0
  422. package/skills/frontend-ui-ux/references/designpowers/lane-a-direction.md +64 -0
  423. package/skills/frontend-ui-ux/references/designpowers/lane-b-execution.md +65 -0
  424. package/skills/frontend-ui-ux/references/designpowers/lane-c-review.md +65 -0
  425. package/skills/frontend-ui-ux/references/designpowers/lane-d-memory.md +83 -0
  426. package/skills/frontend-ui-ux/references/designpowers/orchestration.md +80 -0
  427. package/skills/frontend-ui-ux/references/designpowers/routing.md +79 -0
  428. package/skills/frontend-ui-ux/references/designpowers/vendor/LICENSE +21 -0
  429. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/accessibility-reviewer.md +83 -0
  430. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/content-writer.md +132 -0
  431. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-builder.md +109 -0
  432. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-critic.md +89 -0
  433. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-lead.md +113 -0
  434. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-scout.md +78 -0
  435. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/design-strategist.md +121 -0
  436. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/heuristic-evaluator.md +268 -0
  437. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/inspiration-scout.md +107 -0
  438. package/skills/frontend-ui-ux/references/designpowers/vendor/agents/motion-designer.md +120 -0
  439. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/accessible-content/reference.md +101 -0
  440. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/adaptive-interfaces/reference.md +109 -0
  441. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/cognitive-accessibility/reference.md +107 -0
  442. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debate/reference.md +199 -0
  443. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-debt-tracker/reference.md +174 -0
  444. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-handoff/reference.md +125 -0
  445. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-md/reference.md +106 -0
  446. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-retrospective/reference.md +266 -0
  447. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-review/reference.md +123 -0
  448. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/design-system-alignment/reference.md +120 -0
  449. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/designpowers-critique/reference.md +164 -0
  450. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/heuristic-evaluation/reference.md +85 -0
  451. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/inclusive-personas/reference.md +98 -0
  452. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/inspiration-scouting/reference.md +165 -0
  453. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/interaction-design/reference.md +122 -0
  454. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/motion-choreography/reference.md +81 -0
  455. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/research-planning/reference.md +96 -0
  456. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/responsive-patterns/reference.md +77 -0
  457. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/synthetic-user-testing/reference.md +192 -0
  458. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-feedback/reference.md +165 -0
  459. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/taste-report/reference.md +78 -0
  460. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/token-architecture/reference.md +75 -0
  461. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/ui-composition/reference.md +117 -0
  462. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/usability-testing/reference.md +78 -0
  463. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/verification-before-shipping/reference.md +125 -0
  464. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/voice-and-tone/reference.md +79 -0
  465. package/skills/frontend-ui-ux/references/designpowers/vendor/skills/writing-design-plans/reference.md +119 -0
  466. package/skills/frontend-ui-ux/references/evidence-review.md +103 -0
  467. package/skills/frontend-ui-ux/references/implementation-platforms.md +94 -0
  468. package/skills/frontend-ui-ux/references/inclusive-interface.md +85 -0
  469. package/skills/frontend-ui-ux/references/interaction-motion.md +93 -0
  470. package/skills/frontend-ui-ux/references/operating-lanes.md +80 -0
  471. package/skills/frontend-ui-ux/references/perfection/README.md +160 -0
  472. package/skills/frontend-ui-ux/references/perfection/react-perf-tooling.md +127 -0
  473. package/skills/frontend-ui-ux/references/performance-delivery.md +77 -0
  474. package/skills/frontend-ui-ux/references/product-direction.md +84 -0
  475. package/skills/frontend-ui-ux/references/redesign-playbook.md +88 -0
  476. package/skills/frontend-ui-ux/references/system-foundations.md +86 -0
  477. package/skills/frontend-ui-ux/references/taste-direction.md +55 -0
  478. package/skills/frontend-ui-ux/references/ui-ux-db/README.md +659 -0
  479. package/skills/frontend-ui-ux/references/ui-ux-db/data/charts.csv +26 -0
  480. package/skills/frontend-ui-ux/references/ui-ux-db/data/colors.csv +162 -0
  481. package/skills/frontend-ui-ux/references/ui-ux-db/data/icons.csv +106 -0
  482. package/skills/frontend-ui-ux/references/ui-ux-db/data/landing.csv +35 -0
  483. package/skills/frontend-ui-ux/references/ui-ux-db/data/products.csv +162 -0
  484. package/skills/frontend-ui-ux/references/ui-ux-db/data/react-performance.csv +45 -0
  485. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/astro.csv +54 -0
  486. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/flutter.csv +53 -0
  487. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
  488. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
  489. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nextjs.csv +53 -0
  490. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
  491. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
  492. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react-native.csv +52 -0
  493. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/react.csv +54 -0
  494. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/shadcn.csv +61 -0
  495. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/svelte.csv +54 -0
  496. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/swiftui.csv +51 -0
  497. package/skills/frontend-ui-ux/references/ui-ux-db/data/stacks/vue.csv +50 -0
  498. package/skills/frontend-ui-ux/references/ui-ux-db/data/styles.csv +85 -0
  499. package/skills/frontend-ui-ux/references/ui-ux-db/data/typography.csv +74 -0
  500. package/skills/frontend-ui-ux/references/ui-ux-db/data/ui-reasoning.csv +162 -0
  501. package/skills/frontend-ui-ux/references/ui-ux-db/data/ux-guidelines.csv +100 -0
  502. package/skills/frontend-ui-ux/references/ui-ux-db/data/web-interface.csv +31 -0
  503. package/skills/frontend-ui-ux/references/ui-ux-db/scripts/core.py +262 -0
  504. package/skills/frontend-ui-ux/references/ui-ux-db/scripts/design_system.py +1148 -0
  505. package/skills/frontend-ui-ux/references/ui-ux-db/scripts/search.py +114 -0
  506. package/skills/frontend-ui-ux/references/visual-language.md +84 -0
  507. package/skills/frontend-ui-ux/references/visual-reconstruction.md +87 -0
  508. package/skills/frontend-ui-ux/schemas/design-contract-v1alpha1.json +570 -0
  509. package/skills/frontend-ui-ux/schemas/design-contract-v1beta1.json +32 -0
  510. package/skills/frontend-ui-ux/schemas/design-contract-v1beta2.json +34 -0
  511. package/skills/frontend-ui-ux/scripts/bounded-json.mjs +45 -0
  512. package/skills/frontend-ui-ux/scripts/canonical-json.mjs +26 -0
  513. package/skills/frontend-ui-ux/scripts/contract-error.mjs +15 -0
  514. package/skills/frontend-ui-ux/scripts/csv.mjs +64 -0
  515. package/skills/frontend-ui-ux/scripts/dataset.mjs +65 -0
  516. package/skills/frontend-ui-ux/scripts/design-contract.mjs +609 -0
  517. package/skills/frontend-ui-ux/scripts/import-design-intelligence.mjs +193 -0
  518. package/skills/frontend-ui-ux/scripts/retrieval.mjs +92 -0
  519. package/skills/frontend-ui-ux/scripts/stable-file-read.mjs +237 -0
  520. package/skills/frontend-ui-ux/scripts/stdin-json.mjs +16 -0
  521. package/skills/frontend-ui-ux/scripts/strict-json.mjs +102 -0
  522. package/skills/frontend-ui-ux/scripts/uiux.mjs +86 -0
  523. package/skills/frontend-ui-ux/scripts/verify-canonical-corpus.mjs +266 -0
  524. package/skills/lit-burnoff/SKILL.md +227 -0
  525. package/skills/lit-burnoff-file/SKILL.md +175 -0
  526. package/skills/lit-code/SKILL.md +266 -0
  527. package/skills/lit-code/references/README.md +18 -0
  528. package/skills/lit-code/references/go/README.md +12 -0
  529. package/skills/lit-code/references/go/concurrency.md +42 -0
  530. package/skills/lit-code/references/go/error-handling.md +47 -0
  531. package/skills/lit-code/references/go/testing.md +55 -0
  532. package/skills/lit-code/references/go/tooling.md +35 -0
  533. package/skills/lit-code/references/go/type-patterns.md +50 -0
  534. package/skills/lit-code/references/python/README.md +12 -0
  535. package/skills/lit-code/references/python/async.md +50 -0
  536. package/skills/lit-code/references/python/error-handling.md +44 -0
  537. package/skills/lit-code/references/python/testing.md +50 -0
  538. package/skills/lit-code/references/python/tooling.md +38 -0
  539. package/skills/lit-code/references/python/type-patterns.md +46 -0
  540. package/skills/lit-code/references/rust/README.md +12 -0
  541. package/skills/lit-code/references/rust/concurrency.md +45 -0
  542. package/skills/lit-code/references/rust/error-handling.md +43 -0
  543. package/skills/lit-code/references/rust/tooling.md +36 -0
  544. package/skills/lit-code/references/rust/type-patterns.md +46 -0
  545. package/skills/lit-code/references/rust/unsafe.md +47 -0
  546. package/skills/lit-code/references/typescript/README.md +11 -0
  547. package/skills/lit-code/references/typescript/error-handling.md +56 -0
  548. package/skills/lit-code/references/typescript/testing.md +42 -0
  549. package/skills/lit-code/references/typescript/tsconfig-strict.md +40 -0
  550. package/skills/lit-code/references/typescript/type-patterns.md +60 -0
  551. package/skills/lit-commit/SKILL.md +222 -0
  552. package/skills/lit-comprehend/SKILL.md +278 -0
  553. package/skills/lit-comprehend/assets/explainer-scaffold.html +104 -0
  554. package/skills/lit-comprehend/references/artifact-template.md +114 -0
  555. package/skills/lit-comprehend/references/micro-worlds.md +115 -0
  556. package/skills/lit-comprehend/scripts/verify-explainer.ts +339 -0
  557. package/skills/lit-crucible/SKILL.md +212 -0
  558. package/skills/lit-fetch/SKILL.md +242 -0
  559. package/skills/lit-handoff/SKILL.md +199 -0
  560. package/skills/lit-init/SKILL.md +214 -0
  561. package/skills/lit-korean/SKILL.md +231 -0
  562. package/skills/lit-plan/SKILL.md +351 -0
  563. package/skills/lit-plan/scripts/scaffold-plan.mjs +275 -0
  564. package/skills/lit-recap/SKILL.md +233 -0
  565. package/skills/lit-scientific-visualization/SKILL.md +175 -0
  566. package/skills/litresearch/SKILL.md +436 -0
  567. package/skills/litwork/SKILL.md +227 -0
  568. package/skills/lsp/SKILL.md +186 -0
  569. package/skills/lsp-setup/SKILL.md +187 -0
  570. package/skills/lsp-setup/references/README.md +40 -0
  571. package/skills/lsp-setup/references/bash.md +31 -0
  572. package/skills/lsp-setup/references/c-cpp.md +43 -0
  573. package/skills/lsp-setup/references/csharp.md +29 -0
  574. package/skills/lsp-setup/references/dart.md +25 -0
  575. package/skills/lsp-setup/references/elixir.md +30 -0
  576. package/skills/lsp-setup/references/go.md +33 -0
  577. package/skills/lsp-setup/references/haskell.md +27 -0
  578. package/skills/lsp-setup/references/java.md +28 -0
  579. package/skills/lsp-setup/references/julia.md +28 -0
  580. package/skills/lsp-setup/references/kotlin.md +25 -0
  581. package/skills/lsp-setup/references/lua.md +26 -0
  582. package/skills/lsp-setup/references/php.md +30 -0
  583. package/skills/lsp-setup/references/python.md +33 -0
  584. package/skills/lsp-setup/references/ruby.md +34 -0
  585. package/skills/lsp-setup/references/rust.md +34 -0
  586. package/skills/lsp-setup/references/swift.md +26 -0
  587. package/skills/lsp-setup/references/terraform.md +26 -0
  588. package/skills/lsp-setup/references/typescript.md +35 -0
  589. package/skills/lsp-setup/references/yaml.md +27 -0
  590. package/skills/lsp-setup/references/zig.md +28 -0
  591. package/skills/managed-skill-manifest.json +1386 -0
  592. package/skills/native-goal-verdict/SKILL.md +216 -0
  593. package/skills/refactor/SKILL.md +221 -0
  594. package/skills/reference-benchmark-claims/SKILL.md +204 -0
  595. package/skills/release-guardrails/SKILL.md +245 -0
  596. package/skills/review-work/SKILL.md +301 -0
  597. package/skills/rules/SKILL.md +196 -0
  598. package/skills/search-workflow-ideas/SKILL.md +223 -0
  599. package/skills/skill-observer/SKILL.md +148 -0
  600. package/skills/skill-observer/references/review-contract.md +95 -0
  601. package/skills/skill-rename-aliases.json +10 -0
  602. package/skills/start-work/SKILL.md +334 -0
  603. package/skills/structural-search/SKILL.md +234 -0
  604. package/skills/tool-guards/SKILL.md +223 -0
  605. package/skills/visual-qa/SKILL.md +61 -0
  606. package/skills/visual-qa/references/capture-playbook.md +105 -0
  607. package/skills/visual-qa/references/complete-contract.md +411 -0
  608. package/skills/visual-qa/schemas/evidence-manifest-v1alpha1.json +201 -0
  609. package/skills/visual-qa/schemas/evidence-manifest-v1beta1.json +141 -0
  610. package/skills/visual-qa/schemas/review-receipt-v1alpha1.json +113 -0
  611. package/skills/visual-qa/scripts/artifact.mjs +123 -0
  612. package/skills/visual-qa/scripts/bounded-json.mjs +47 -0
  613. package/skills/visual-qa/scripts/canonical-json.mjs +28 -0
  614. package/skills/visual-qa/scripts/capabilities.mjs +66 -0
  615. package/skills/visual-qa/scripts/contract-text.mjs +15 -0
  616. package/skills/visual-qa/scripts/design-contract.mjs +611 -0
  617. package/skills/visual-qa/scripts/evidence-evaluate.mjs +521 -0
  618. package/skills/visual-qa/scripts/evidence.mjs +271 -0
  619. package/skills/visual-qa/scripts/png-decode.mjs +146 -0
  620. package/skills/visual-qa/scripts/png.mjs +154 -0
  621. package/skills/visual-qa/scripts/review.mjs +188 -0
  622. package/skills/visual-qa/scripts/stdin-json.mjs +16 -0
  623. package/skills/visual-qa/scripts/strict-json.mjs +102 -0
  624. package/skills/visual-qa/scripts/tui.mjs +149 -0
  625. package/skills/visual-qa/scripts/visual-qa.mjs +90 -0
  626. package/skills/wikify/LICENSE +21 -0
  627. package/skills/wikify/PROVENANCE.md +18 -0
  628. package/skills/wikify/SKILL.md +176 -0
  629. package/skills/wikify/assets/home-template.md +44 -0
  630. package/skills/wikify/assets/maintenance-report-template.md +46 -0
  631. package/skills/wikify/assets/paper-source-note-template.md +137 -0
  632. package/skills/wikify/assets/source-note-template.md +45 -0
  633. package/skills/wikify/assets/wiki-rules-template.md +117 -0
  634. package/skills/wikify/modes/ingest.md +57 -0
  635. package/skills/wikify/modes/init.md +44 -0
  636. package/skills/wikify/modes/lint.md +60 -0
  637. package/skills/wikify/modes/query.md +38 -0
  638. package/skills/wikify/modes/save.md +45 -0
  639. package/skills/wikify/references-upstream-contract.md +758 -0
  640. package/skills/workflow-loop/SKILL.md +387 -0
  641. package/tools/check-pack-payload.mjs +410 -0
  642. package/tools/check-payload-substance.mjs +738 -0
  643. package/tools/check-version-lockstep.mjs +238 -0
  644. package/tools/gen-canonical-frontend-manifest.mjs +66 -0
  645. package/tools/gen-managed-skill-manifest.mjs +135 -0
  646. package/tools/harness-speed-local.mjs +261 -0
  647. package/tools/payload-reference-exemptions.json +49 -0
  648. package/tools/payload-substance-allowlist.json +46 -0
  649. package/tools/payload-substance-parity.json +571 -0
  650. package/tools/qa-real-surface-fixtures.mjs +428 -0
  651. package/tools/qa-real-surface-harness.mjs +173 -0
  652. package/tools/run-behavior-replacement-probes.mjs +296 -0
  653. package/tools/run-build.mjs +101 -0
  654. package/tools/run-harness-speed-local.mjs +52 -0
  655. package/tools/run-harness-speed-v2.mjs +36 -0
  656. package/tools/run-installed-resource-tamper-probe.mjs +62 -0
  657. package/tools/run-negative-gate-matrix.mjs +516 -0
  658. package/tools/run-rules-glob-differential.mjs +232 -0
  659. package/tools/run-typecheck.mjs +25 -0
  660. package/tools/run-uiux-visual-qa-scenarios.mjs +234 -0
  661. package/tools/run-wikify-surface-probe.mjs +170 -0
  662. package/tools/scan-legacy-tokens.mjs +431 -0
  663. package/tools/version-manifests.json +60 -0
  664. package/tsconfig.build.json +12 -0
  665. package/tsconfig.json +13 -0
  666. package/vendor/NOTICE.md +21 -0
  667. package/vendor/handoff/SKILL.md +199 -0
  668. package/vendor/handoff/evals/evals.json +154 -0
  669. package/vendor/handoff/examples/HANDOFF-example-generic-auth-refactor.md +97 -0
  670. package/vendor/handoff/templates/HANDOFF.md +121 -0
  671. package/vendor/licenses/022_handoff-MIT.txt +21 -0
  672. package/vendor/licenses/045_scientific-visualization-MIT.txt +21 -0
  673. package/vendor/provenance/022_handoff.md +19 -0
  674. package/vendor/provenance/045_scientific-visualization.md +36 -0
  675. package/vendor/scientific-visualization/SKILL.md +283 -0
  676. package/vendor/scientific-visualization/assets/color_palettes.py +197 -0
  677. package/vendor/scientific-visualization/assets/nature.mplstyle +75 -0
  678. package/vendor/scientific-visualization/assets/presentation.mplstyle +74 -0
  679. package/vendor/scientific-visualization/assets/publication.mplstyle +78 -0
  680. package/vendor/scientific-visualization/evals/evals.json +158 -0
  681. package/vendor/scientific-visualization/references/color_palettes.md +380 -0
  682. package/vendor/scientific-visualization/references/journal_requirements.md +359 -0
  683. package/vendor/scientific-visualization/references/matplotlib_examples.md +608 -0
  684. package/vendor/scientific-visualization/references/mdanalysis_martini_visualization.md +85 -0
  685. package/vendor/scientific-visualization/references/publication_guidelines.md +217 -0
  686. package/vendor/scientific-visualization/references/seaborn_for_publications.md +293 -0
  687. package/vendor/scientific-visualization/scripts/figure_export.py +238 -0
  688. package/vendor/scientific-visualization/scripts/style_presets.py +467 -0
  689. package/vendor/scientific-visualization/tests/test_figure_export.py +51 -0
  690. package/vendor/scientific-visualization/tests/test_style_presets.py +114 -0
@@ -0,0 +1,54 @@
1
+ import type { Hooks } from "@opencode-ai/plugin";
2
+ /**
3
+ * The host exposes provider usage only on the assistant message receipt. Keep this
4
+ * shape deliberately numeric: no prompt, transcript, provider id, or model id is
5
+ * needed to answer whether the receipt carried cache counters.
6
+ */
7
+ export type ProviderUsageReceipt = {
8
+ readonly inputTokens: number;
9
+ readonly outputTokens: number;
10
+ readonly reasoningTokens: number;
11
+ readonly cacheReadTokens: number;
12
+ readonly cacheWriteTokens: number;
13
+ };
14
+ export type ProviderCacheMeasurement = {
15
+ readonly receiptEvents: number;
16
+ readonly inputTokens: number;
17
+ readonly outputTokens: number;
18
+ readonly reasoningTokens: number;
19
+ readonly cacheReadTokens: number;
20
+ readonly cacheWriteTokens: number;
21
+ /** Cache-read tokens divided by the full prompt footprint. */
22
+ readonly cacheReadShare: number | null;
23
+ };
24
+ export declare const emptyProviderCacheMeasurement: ProviderCacheMeasurement;
25
+ /**
26
+ * Extract only the stable numeric receipt fields from OpenCode's
27
+ * `message.updated` assistant event. Step-finish parts carry a second copy of
28
+ * these counters, so they are intentionally not accepted here.
29
+ */
30
+ export declare function providerUsageReceiptFromEvent(event: unknown): ProviderUsageReceipt | undefined;
31
+ export declare function recordProviderUsageReceipt(measurement: ProviderCacheMeasurement, receipt: ProviderUsageReceipt): ProviderCacheMeasurement;
32
+ export type ProviderUsageReceiptEventOptions = {
33
+ readonly onReceipt: (receipt: ProviderUsageReceipt) => void | Promise<void>;
34
+ };
35
+ /** A narrow event adapter that can be composed with other OpenCode event hooks. */
36
+ export declare function createProviderUsageReceiptEventHook(options: ProviderUsageReceiptEventOptions): NonNullable<Hooks["event"]>;
37
+ export type RuleDedupMetric = {
38
+ readonly selectedRuleCount: number;
39
+ readonly skippedAlreadyDeliveredCount: number;
40
+ };
41
+ export declare function ruleDedupMetric(selectedRuleCount: number, skippedAlreadyDeliveredCount: number): RuleDedupMetric;
42
+ export type ActivationRegexMetric = {
43
+ readonly routeMatched: boolean;
44
+ readonly injectionAccepted: boolean;
45
+ readonly childSession: boolean;
46
+ };
47
+ export declare function activationRegexMetric(routeMatched: boolean, injectionAccepted: boolean, childSession: boolean): ActivationRegexMetric;
48
+ export type UpdateCacheMetric = {
49
+ readonly cacheEntryPresent: boolean;
50
+ readonly latestVersionPresent: boolean;
51
+ readonly noticeShown: boolean;
52
+ readonly refreshEligible: boolean;
53
+ };
54
+ export declare function updateCacheMetric(cacheEntryPresent: boolean, latestVersionPresent: boolean, noticeShown: boolean, refreshEligible: boolean): UpdateCacheMetric;
@@ -0,0 +1,81 @@
1
+ export const emptyProviderCacheMeasurement = Object.freeze({
2
+ receiptEvents: 0,
3
+ inputTokens: 0,
4
+ outputTokens: 0,
5
+ reasoningTokens: 0,
6
+ cacheReadTokens: 0,
7
+ cacheWriteTokens: 0,
8
+ cacheReadShare: null
9
+ });
10
+ function isRecord(value) {
11
+ return typeof value === "object" && value !== null && !Array.isArray(value);
12
+ }
13
+ function nonNegativeSafeInteger(value) {
14
+ return typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
15
+ }
16
+ /**
17
+ * Extract only the stable numeric receipt fields from OpenCode's
18
+ * `message.updated` assistant event. Step-finish parts carry a second copy of
19
+ * these counters, so they are intentionally not accepted here.
20
+ */
21
+ export function providerUsageReceiptFromEvent(event) {
22
+ if (!isRecord(event) || event.type !== "message.updated")
23
+ return undefined;
24
+ const properties = event.properties;
25
+ if (!isRecord(properties) || !isRecord(properties.info) || properties.info.role !== "assistant")
26
+ return undefined;
27
+ const tokens = properties.info.tokens;
28
+ if (!isRecord(tokens) || !isRecord(tokens.cache))
29
+ return undefined;
30
+ if (!nonNegativeSafeInteger(tokens.input) ||
31
+ !nonNegativeSafeInteger(tokens.output) ||
32
+ !nonNegativeSafeInteger(tokens.reasoning) ||
33
+ !nonNegativeSafeInteger(tokens.cache.read) ||
34
+ !nonNegativeSafeInteger(tokens.cache.write))
35
+ return undefined;
36
+ return Object.freeze({
37
+ inputTokens: tokens.input,
38
+ outputTokens: tokens.output,
39
+ reasoningTokens: tokens.reasoning,
40
+ cacheReadTokens: tokens.cache.read,
41
+ cacheWriteTokens: tokens.cache.write
42
+ });
43
+ }
44
+ export function recordProviderUsageReceipt(measurement, receipt) {
45
+ const inputTokens = measurement.inputTokens + receipt.inputTokens;
46
+ const cacheReadTokens = measurement.cacheReadTokens + receipt.cacheReadTokens;
47
+ const cacheWriteTokens = measurement.cacheWriteTokens + receipt.cacheWriteTokens;
48
+ const promptTokens = inputTokens + cacheReadTokens + cacheWriteTokens;
49
+ return Object.freeze({
50
+ receiptEvents: measurement.receiptEvents + 1,
51
+ inputTokens,
52
+ outputTokens: measurement.outputTokens + receipt.outputTokens,
53
+ reasoningTokens: measurement.reasoningTokens + receipt.reasoningTokens,
54
+ cacheReadTokens,
55
+ cacheWriteTokens,
56
+ cacheReadShare: Number.isSafeInteger(promptTokens) && promptTokens > 0
57
+ ? cacheReadTokens / promptTokens
58
+ : null
59
+ });
60
+ }
61
+ /** A narrow event adapter that can be composed with other OpenCode event hooks. */
62
+ export function createProviderUsageReceiptEventHook(options) {
63
+ return async ({ event }) => {
64
+ const receipt = providerUsageReceiptFromEvent(event);
65
+ if (receipt !== undefined)
66
+ await options.onReceipt(receipt);
67
+ };
68
+ }
69
+ export function ruleDedupMetric(selectedRuleCount, skippedAlreadyDeliveredCount) {
70
+ const count = (value) => Number.isSafeInteger(value) && value >= 0 ? value : 0;
71
+ return Object.freeze({
72
+ selectedRuleCount: count(selectedRuleCount),
73
+ skippedAlreadyDeliveredCount: count(skippedAlreadyDeliveredCount)
74
+ });
75
+ }
76
+ export function activationRegexMetric(routeMatched, injectionAccepted, childSession) {
77
+ return Object.freeze({ routeMatched, injectionAccepted, childSession });
78
+ }
79
+ export function updateCacheMetric(cacheEntryPresent, latestVersionPresent, noticeShown, refreshEligible) {
80
+ return Object.freeze({ cacheEntryPresent, latestVersionPresent, noticeShown, refreshEligible });
81
+ }
@@ -0,0 +1,5 @@
1
+ import type { ParsedArgs } from "./types.ts";
2
+ export declare const loopCommands: readonly ["create-goals", "status", "record-evidence", "checkpoint", "steer", "complete-goals", "record-review-blockers", "record-observation", "list-observations"];
3
+ export type LoopCommand = (typeof loopCommands)[number];
4
+ export declare function isLoopCommand(command: string | undefined): command is LoopCommand;
5
+ export declare function parseArgs(argv: readonly string[]): ParsedArgs;
@@ -0,0 +1,415 @@
1
+ import os from "node:os";
2
+ import path from "node:path";
3
+ import { resolveModelRoute } from "./model-catalog.js";
4
+ export const loopCommands = [
5
+ "create-goals",
6
+ "status",
7
+ "record-evidence",
8
+ "checkpoint",
9
+ "steer",
10
+ "complete-goals",
11
+ "record-review-blockers",
12
+ "record-observation",
13
+ "list-observations"
14
+ ];
15
+ export function isLoopCommand(command) {
16
+ return loopCommands.some((candidate) => candidate === command);
17
+ }
18
+ function defaultOpenCodeRoot() {
19
+ const configHome = process.env.XDG_CONFIG_HOME;
20
+ if (configHome && configHome.length > 0)
21
+ return path.join(configHome, "opencode");
22
+ return path.join(os.homedir(), ".config", "opencode");
23
+ }
24
+ export function parseArgs(argv) {
25
+ let command = argv[0];
26
+ let root = defaultOpenCodeRoot();
27
+ let dryRun = false;
28
+ let provider;
29
+ let model;
30
+ let effort;
31
+ let subagentModel;
32
+ let subagentEffort;
33
+ let yes = false;
34
+ let modelPrompt = "auto";
35
+ let permissionMode = "safe";
36
+ let permissionModeExplicit = false;
37
+ let permissionPrompt = "auto";
38
+ let fetchPublicUrl;
39
+ let fetchPublicJson = false;
40
+ let fetchPublicAllowPrivateNetwork = false;
41
+ let fetchPublicTimeoutMs;
42
+ let fetchPublicMaxBytes;
43
+ let projectRoot = process.cwd();
44
+ let loopJson = false;
45
+ let force = false;
46
+ let needsUserDecision = false;
47
+ let sessionId;
48
+ let objective;
49
+ let title;
50
+ const criteria = [];
51
+ let criterionId;
52
+ let kind;
53
+ let ref;
54
+ let detail;
55
+ let status;
56
+ let summary;
57
+ let directive;
58
+ let resolve;
59
+ let signal;
60
+ let skillId;
61
+ let observed;
62
+ let proposal;
63
+ if (command === "--help" || command === "-h") {
64
+ command = "help";
65
+ }
66
+ const loop = isLoopCommand(command);
67
+ const requireLoopValue = (arg, value) => {
68
+ if (!loop)
69
+ throw new Error(`Unknown argument: ${arg}`);
70
+ const cleaned = cleanOption(value, arg);
71
+ if (cleaned === undefined)
72
+ throw new Error(`${arg} requires a value`);
73
+ return cleaned;
74
+ };
75
+ const firstOptionIndex = command === "fetch-public" ? 2 : 1;
76
+ if (command === "fetch-public") {
77
+ fetchPublicUrl = cleanOption(argv[1], "fetch-public URL");
78
+ if (!fetchPublicUrl)
79
+ throw new Error("fetch-public requires a URL");
80
+ }
81
+ for (let index = firstOptionIndex; index < argv.length; index += 1) {
82
+ const arg = argv[index];
83
+ if (arg === "--root" || arg === "--workdir") {
84
+ const value = argv[index + 1];
85
+ if (!value)
86
+ throw new Error(`${arg} requires a value`);
87
+ root = value;
88
+ index += 1;
89
+ continue;
90
+ }
91
+ if (arg === "--dry-run") {
92
+ dryRun = true;
93
+ continue;
94
+ }
95
+ if (arg === "--no-auto-update") {
96
+ continue;
97
+ }
98
+ if (arg === "--json") {
99
+ if (command === "fetch-public")
100
+ fetchPublicJson = true;
101
+ else if (loop)
102
+ loopJson = true;
103
+ else if (command !== "doctor")
104
+ throw new Error(`Unknown argument: ${arg}`);
105
+ continue;
106
+ }
107
+ if (arg === "--project") {
108
+ projectRoot = requireLoopValue(arg, argv[index + 1]);
109
+ index += 1;
110
+ continue;
111
+ }
112
+ if (arg === "--session-id") {
113
+ sessionId = requireLoopValue(arg, argv[index + 1]);
114
+ index += 1;
115
+ continue;
116
+ }
117
+ if (arg === "--objective") {
118
+ objective = requireLoopValue(arg, argv[index + 1]);
119
+ index += 1;
120
+ continue;
121
+ }
122
+ if (arg === "--title") {
123
+ title = requireLoopValue(arg, argv[index + 1]);
124
+ index += 1;
125
+ continue;
126
+ }
127
+ if (arg === "--criterion") {
128
+ criteria.push(requireLoopValue(arg, argv[index + 1]));
129
+ index += 1;
130
+ continue;
131
+ }
132
+ if (arg === "--criterion-id") {
133
+ criterionId = requireLoopValue(arg, argv[index + 1]);
134
+ index += 1;
135
+ continue;
136
+ }
137
+ if (arg === "--kind") {
138
+ kind = requireLoopValue(arg, argv[index + 1]);
139
+ index += 1;
140
+ continue;
141
+ }
142
+ if (arg === "--ref") {
143
+ ref = requireLoopValue(arg, argv[index + 1]);
144
+ index += 1;
145
+ continue;
146
+ }
147
+ if (arg === "--detail") {
148
+ detail = requireLoopValue(arg, argv[index + 1]);
149
+ index += 1;
150
+ continue;
151
+ }
152
+ if (arg === "--status") {
153
+ status = requireLoopValue(arg, argv[index + 1]);
154
+ index += 1;
155
+ continue;
156
+ }
157
+ if (arg === "--summary") {
158
+ summary = requireLoopValue(arg, argv[index + 1]);
159
+ index += 1;
160
+ continue;
161
+ }
162
+ if (arg === "--directive") {
163
+ directive = requireLoopValue(arg, argv[index + 1]);
164
+ index += 1;
165
+ continue;
166
+ }
167
+ if (arg === "--resolve") {
168
+ resolve = requireLoopValue(arg, argv[index + 1]);
169
+ index += 1;
170
+ continue;
171
+ }
172
+ if (arg === "--signal") {
173
+ signal = requireLoopValue(arg, argv[index + 1]);
174
+ index += 1;
175
+ continue;
176
+ }
177
+ if (arg === "--skill-id") {
178
+ skillId = requireLoopValue(arg, argv[index + 1]);
179
+ index += 1;
180
+ continue;
181
+ }
182
+ if (arg === "--observed") {
183
+ observed = requireLoopValue(arg, argv[index + 1]);
184
+ index += 1;
185
+ continue;
186
+ }
187
+ if (arg === "--proposal") {
188
+ proposal = requireLoopValue(arg, argv[index + 1]);
189
+ index += 1;
190
+ continue;
191
+ }
192
+ if (arg === "--force") {
193
+ if (!loop)
194
+ throw new Error(`Unknown argument: ${arg}`);
195
+ force = true;
196
+ continue;
197
+ }
198
+ if (arg === "--needs-user-decision") {
199
+ if (!loop)
200
+ throw new Error(`Unknown argument: ${arg}`);
201
+ needsUserDecision = true;
202
+ continue;
203
+ }
204
+ if (arg === "--allow-private-network") {
205
+ if (command !== "fetch-public")
206
+ throw new Error(`Unknown argument: ${arg}`);
207
+ fetchPublicAllowPrivateNetwork = true;
208
+ continue;
209
+ }
210
+ if (arg === "--timeout") {
211
+ if (command !== "fetch-public")
212
+ throw new Error(`Unknown argument: ${arg}`);
213
+ const value = argv[index + 1];
214
+ if (!value)
215
+ throw new Error("--timeout requires a value");
216
+ fetchPublicTimeoutMs = parsePositiveInteger(value, "--timeout");
217
+ index += 1;
218
+ continue;
219
+ }
220
+ if (arg === "--max-bytes") {
221
+ if (command !== "fetch-public")
222
+ throw new Error(`Unknown argument: ${arg}`);
223
+ const value = argv[index + 1];
224
+ if (!value)
225
+ throw new Error("--max-bytes requires a value");
226
+ fetchPublicMaxBytes = parsePositiveInteger(value, "--max-bytes");
227
+ index += 1;
228
+ continue;
229
+ }
230
+ if (arg === "--provider") {
231
+ const value = argv[index + 1];
232
+ if (!value)
233
+ throw new Error("--provider requires a value");
234
+ provider = value;
235
+ index += 1;
236
+ continue;
237
+ }
238
+ if (arg === "--model") {
239
+ const value = argv[index + 1];
240
+ if (!value)
241
+ throw new Error("--model requires a value");
242
+ model = value;
243
+ index += 1;
244
+ continue;
245
+ }
246
+ if (arg === "--effort") {
247
+ const value = argv[index + 1];
248
+ if (!value)
249
+ throw new Error("--effort requires a value");
250
+ effort = parseModelEffort(value, "--effort");
251
+ index += 1;
252
+ continue;
253
+ }
254
+ if (arg === "--subagent-model") {
255
+ const value = argv[index + 1];
256
+ if (!value)
257
+ throw new Error("--subagent-model requires a value");
258
+ subagentModel = value;
259
+ index += 1;
260
+ continue;
261
+ }
262
+ if (arg === "--subagent-effort") {
263
+ const value = argv[index + 1];
264
+ if (!value)
265
+ throw new Error("--subagent-effort requires a value");
266
+ subagentEffort = parseModelEffort(value, "--subagent-effort");
267
+ index += 1;
268
+ continue;
269
+ }
270
+ if (arg === "--yes") {
271
+ yes = true;
272
+ continue;
273
+ }
274
+ if (arg === "--model-prompt" || arg === "--select-model") {
275
+ modelPrompt = "always";
276
+ continue;
277
+ }
278
+ if (arg === "--no-model-prompt") {
279
+ modelPrompt = "never";
280
+ continue;
281
+ }
282
+ if (arg === "--permission-prompt" || arg === "--select-permissions") {
283
+ permissionPrompt = "always";
284
+ continue;
285
+ }
286
+ if (arg === "--no-permission-prompt") {
287
+ permissionPrompt = "never";
288
+ continue;
289
+ }
290
+ if (arg === "--permission-mode") {
291
+ const value = argv[index + 1];
292
+ if (!value)
293
+ throw new Error("--permission-mode requires a value");
294
+ permissionMode = parsePermissionMode(value, "--permission-mode");
295
+ permissionModeExplicit = true;
296
+ permissionPrompt = "never";
297
+ index += 1;
298
+ continue;
299
+ }
300
+ if (arg === "--yolo") {
301
+ permissionMode = "yolo";
302
+ permissionModeExplicit = true;
303
+ permissionPrompt = "never";
304
+ continue;
305
+ }
306
+ if (arg === "--help" || arg === "-h") {
307
+ command = "help";
308
+ continue;
309
+ }
310
+ throw new Error(`Unknown argument: ${arg}`);
311
+ }
312
+ return {
313
+ command,
314
+ root,
315
+ fetchPublicUrl,
316
+ fetchPublicJson,
317
+ fetchPublicAllowPrivateNetwork,
318
+ fetchPublicTimeoutMs,
319
+ fetchPublicMaxBytes,
320
+ dryRun,
321
+ permissionMode,
322
+ permissionModeExplicit,
323
+ permissionPrompt: yes ? "never" : permissionPrompt,
324
+ modelSelection: resolveModelSelection(provider, model, effort, subagentModel, subagentEffort),
325
+ modelPrompt: yes ? "never" : modelPrompt,
326
+ outputStylePrompt: yes ? "never" : "auto",
327
+ loop: {
328
+ projectRoot,
329
+ json: loopJson,
330
+ force,
331
+ needsUserDecision,
332
+ sessionId,
333
+ objective,
334
+ title,
335
+ criteria: Object.freeze([...criteria]),
336
+ criterionId,
337
+ kind,
338
+ ref,
339
+ detail,
340
+ status,
341
+ summary,
342
+ directive,
343
+ resolve,
344
+ signal,
345
+ skillId,
346
+ observed,
347
+ proposal
348
+ }
349
+ };
350
+ }
351
+ function parsePositiveInteger(value, optionName) {
352
+ const parsed = Number(value);
353
+ if (!Number.isInteger(parsed) || parsed <= 0)
354
+ throw new Error(optionName + " requires a positive integer");
355
+ return parsed;
356
+ }
357
+ function parsePermissionMode(value, optionName) {
358
+ const cleaned = cleanOption(value, optionName);
359
+ if (cleaned === "safe" || cleaned === "balanced" || cleaned === "yolo")
360
+ return cleaned;
361
+ throw new Error(optionName + " must be one of safe, balanced, yolo");
362
+ }
363
+ function parseModelEffort(value, optionName) {
364
+ const cleaned = cleanOption(value, optionName);
365
+ if (cleaned === "low" || cleaned === "medium" || cleaned === "high" || cleaned === "xhigh" || cleaned === "max")
366
+ return cleaned;
367
+ throw new Error(optionName + " must be one of low, medium, high, xhigh, max");
368
+ }
369
+ function cleanOption(value, optionName) {
370
+ if (value === undefined)
371
+ return undefined;
372
+ const trimmed = value.trim();
373
+ if (trimmed.length === 0)
374
+ throw new Error(optionName + " requires a non-empty value");
375
+ return trimmed;
376
+ }
377
+ function resolveModelSelection(providerValue, modelValue, effort, subagentModelValue, subagentEffort) {
378
+ const provider = cleanOption(providerValue, "--provider");
379
+ const model = cleanOption(modelValue, "--model");
380
+ const subagentModel = cleanOption(subagentModelValue, "--subagent-model");
381
+ if (provider === undefined && model === undefined) {
382
+ if (effort !== undefined)
383
+ throw new Error("--effort requires --model");
384
+ if (subagentModel !== undefined || subagentEffort !== undefined)
385
+ throw new Error("--subagent-model requires --model");
386
+ return undefined;
387
+ }
388
+ if (provider !== undefined && model === undefined)
389
+ throw new Error("--provider requires --model");
390
+ if (model === undefined)
391
+ return undefined;
392
+ const slashIndex = model.indexOf("/");
393
+ let lead;
394
+ if (provider === undefined) {
395
+ if (slashIndex <= 0 || slashIndex === model.length - 1) {
396
+ throw new Error("--model requires --provider unless the value is provider/model");
397
+ }
398
+ lead = resolveModelRoute(model.slice(0, slashIndex), model.slice(slashIndex + 1), effort, "--model");
399
+ }
400
+ else {
401
+ if (slashIndex >= 0)
402
+ throw new Error("Use --model <model> with --provider, or pass --model provider/model without --provider");
403
+ lead = resolveModelRoute(provider, model, effort, "--model");
404
+ }
405
+ if (subagentModel === undefined) {
406
+ if (subagentEffort !== undefined)
407
+ throw new Error("--subagent-effort requires --subagent-model");
408
+ return lead;
409
+ }
410
+ const helperSlash = subagentModel.indexOf("/");
411
+ const helper = helperSlash > 0 && helperSlash < subagentModel.length - 1
412
+ ? resolveModelRoute(subagentModel.slice(0, helperSlash), subagentModel.slice(helperSlash + 1), subagentEffort, "--subagent-model")
413
+ : resolveModelRoute(lead.provider, subagentModel, subagentEffort, "--subagent-model");
414
+ return { ...lead, helper };
415
+ }
@@ -0,0 +1,117 @@
1
+ export declare const autoUpdatePackageName = "@litfamily/litopencode";
2
+ export declare const autoUpdateTimeoutMs = 30000;
3
+ /** npm install, staged install, and post-install doctor each have this bound. */
4
+ export declare const autoUpdateTransactionBoundMs: number;
5
+ export declare const autoUpdateLockTimeoutMs = 2000;
6
+ /** Keep a live owner protected for the whole bounded transaction plus one command window. */
7
+ export declare const autoUpdateInstallLockStaleMs: number;
8
+ export declare const autoUpdateRecursionEnv = "LITOPENCODE_AUTO_UPDATE_IN_PROGRESS";
9
+ type CommandOutput = {
10
+ readonly stdout?: string;
11
+ readonly stderr?: string;
12
+ };
13
+ export type AutoUpdateReason = "plugin" | "management";
14
+ export type InteractiveAutoUpdateGate = {
15
+ readonly argv: readonly string[];
16
+ readonly exitCode: number;
17
+ readonly env: NodeJS.ProcessEnv;
18
+ readonly stdinIsTTY: boolean | undefined;
19
+ readonly stdoutIsTTY: boolean | undefined;
20
+ readonly stderrIsTTY: boolean | undefined;
21
+ readonly configRoot?: string;
22
+ };
23
+ export type AutoUpdateRunResult = {
24
+ readonly status: "updated" | "rolled-back" | "skipped" | "failed";
25
+ readonly reason?: string;
26
+ readonly currentVersion?: string;
27
+ readonly targetVersion?: string;
28
+ readonly spec?: string;
29
+ readonly receiptPath?: string;
30
+ readonly backupPath?: string;
31
+ readonly priorStateVerified?: boolean;
32
+ readonly stagedStateKnown?: boolean;
33
+ readonly rollback?: {
34
+ readonly ok: boolean;
35
+ readonly error?: string;
36
+ };
37
+ };
38
+ export type AutoUpdateCommandOptions = {
39
+ readonly cwd: string;
40
+ readonly env: NodeJS.ProcessEnv;
41
+ readonly timeout: number;
42
+ readonly maxBuffer: number;
43
+ };
44
+ export type AutoUpdateOptions = {
45
+ readonly reason: AutoUpdateReason;
46
+ readonly homeDir?: string;
47
+ readonly configRoot: string;
48
+ readonly currentVersion: string;
49
+ readonly env?: NodeJS.ProcessEnv;
50
+ readonly argv?: readonly string[];
51
+ readonly fetchLatestVersion?: () => Promise<string>;
52
+ readonly runCommand?: (command: string, args: readonly string[], options: AutoUpdateCommandOptions) => Promise<CommandOutput>;
53
+ };
54
+ type DoctorReceipt = {
55
+ readonly ok: boolean;
56
+ readonly exitCode?: number;
57
+ readonly package?: {
58
+ readonly name?: string;
59
+ readonly version?: string;
60
+ };
61
+ readonly error?: string;
62
+ };
63
+ type AutoUpdateReceipt = {
64
+ readonly schemaVersion: 1;
65
+ readonly status: AutoUpdateRunResult["status"];
66
+ readonly reason: AutoUpdateReason;
67
+ readonly currentVersion: string;
68
+ readonly targetVersion: string;
69
+ readonly spec: string;
70
+ readonly configRoot: string;
71
+ readonly startedAt: number;
72
+ readonly finishedAt: number;
73
+ readonly journalPath: string;
74
+ readonly backupPath: string;
75
+ readonly backupRetained: boolean;
76
+ readonly priorStateVerified: boolean;
77
+ readonly stagedStateKnown: boolean;
78
+ readonly doctor: DoctorReceipt;
79
+ readonly rollback: {
80
+ readonly ok: boolean;
81
+ readonly error?: string;
82
+ };
83
+ };
84
+ export declare function autoUpdateInstallLockPath(homeDir?: string): string;
85
+ export declare function autoUpdateJournalPath(homeDir?: string): string;
86
+ export declare function autoUpdateReceiptPath(homeDir?: string): string;
87
+ export declare function isAutoUpdateDisabled(env?: NodeJS.ProcessEnv, argv?: readonly string[]): boolean;
88
+ export declare function shouldRunInteractiveAutoUpdate(input: InteractiveAutoUpdateGate): boolean;
89
+ /**
90
+ * Keep npm child processes deliberately boring. In particular, npm config files,
91
+ * tokens, proxy credentials, and arbitrary `npm_config_*` values are not inherited.
92
+ */
93
+ export declare function sanitizedNpmEnvironment(env?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
94
+ export declare function runAutoUpdate(options: AutoUpdateOptions): Promise<AutoUpdateRunResult>;
95
+ /**
96
+ * A failed transaction is safe to leave in place only when the old managed
97
+ * state was restored and verified. Unknown child state or an unverified
98
+ * rollback must stop the host from claiming a successful install.
99
+ */
100
+ export declare function canContinueAfterAutoUpdate(result: AutoUpdateRunResult): boolean;
101
+ export declare function autoUpdateDiagnostic(result: AutoUpdateRunResult): string;
102
+ export type AutoUpdateReceiptSummary = {
103
+ readonly status: AutoUpdateReceipt["status"];
104
+ readonly backupPath: string;
105
+ readonly backupRetained: boolean;
106
+ readonly priorStateVerified: boolean;
107
+ readonly stagedStateKnown: boolean;
108
+ readonly rollbackOk: boolean;
109
+ readonly finishedAt: number;
110
+ };
111
+ /** Read only the bounded safety summary used by doctor; never echo command output. */
112
+ export declare function readAutoUpdateReceipt(homeDir?: string): Promise<AutoUpdateReceiptSummary | {
113
+ readonly status: "unreadable";
114
+ } | undefined>;
115
+ export declare function runPluginAutoUpdate(): Promise<AutoUpdateRunResult>;
116
+ export declare function runInteractiveAutoUpdate(input: InteractiveAutoUpdateGate): Promise<AutoUpdateRunResult>;
117
+ export {};