@opengsd/gsd-pi 1.2.0-dev.b1abb545 → 1.2.0-dev.fb12b103

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 (520) hide show
  1. package/dist/cli-style.d.ts +17 -0
  2. package/dist/cli-style.js +28 -0
  3. package/dist/cli.js +1 -1
  4. package/dist/headless-events.d.ts +4 -2
  5. package/dist/headless-events.js +7 -29
  6. package/dist/models-resolver.d.ts +3 -13
  7. package/dist/models-resolver.js +3 -22
  8. package/dist/resource-loader.js +2 -14
  9. package/dist/resources/.managed-resources-content-hash +1 -1
  10. package/dist/resources/extensions/async-jobs/async-bash-tool.js +30 -64
  11. package/dist/resources/extensions/async-jobs/await-tool.js +80 -12
  12. package/dist/resources/extensions/async-jobs/index.js +65 -0
  13. package/dist/resources/extensions/async-jobs/job-manager.js +12 -1
  14. package/dist/resources/extensions/bg-shell/bg-shell-command.js +6 -6
  15. package/dist/resources/extensions/bg-shell/bg-shell-tool.js +10 -7
  16. package/dist/resources/extensions/bg-shell/overlay.js +9 -6
  17. package/dist/resources/extensions/bg-shell/process-manager.js +54 -25
  18. package/dist/resources/extensions/bg-shell/readiness-detector.js +11 -0
  19. package/dist/resources/extensions/bg-shell/utilities.js +5 -2
  20. package/dist/resources/extensions/browser-tools/engine/managed-gsd-browser.js +209 -88
  21. package/dist/resources/extensions/browser-tools/engine/selection.js +73 -5
  22. package/dist/resources/extensions/browser-tools/index.js +69 -12
  23. package/dist/resources/extensions/claude-code-cli/models.js +9 -0
  24. package/dist/resources/extensions/claude-code-cli/stream-adapter.js +38 -6
  25. package/dist/resources/extensions/gsd/auto/orchestrator.js +40 -9
  26. package/dist/resources/extensions/gsd/auto/phases.js +6 -1
  27. package/dist/resources/extensions/gsd/auto-dispatch.js +12 -1
  28. package/dist/resources/extensions/gsd/auto-model-selection.js +25 -6
  29. package/dist/resources/extensions/gsd/auto-post-unit.js +19 -8
  30. package/dist/resources/extensions/gsd/auto-prompts.js +15 -10
  31. package/dist/resources/extensions/gsd/auto-start.js +21 -21
  32. package/dist/resources/extensions/gsd/auto-tool-tracking.js +18 -0
  33. package/dist/resources/extensions/gsd/auto-unit-tool-scope.js +7 -16
  34. package/dist/resources/extensions/gsd/auto-worktree-repair.js +10 -2
  35. package/dist/resources/extensions/gsd/auto-worktree.js +35 -352
  36. package/dist/resources/extensions/gsd/auto.js +8 -20
  37. package/dist/resources/extensions/gsd/bootstrap/agent-end-recovery.js +3 -2
  38. package/dist/resources/extensions/gsd/bootstrap/dynamic-tools.js +32 -12
  39. package/dist/resources/extensions/gsd/bootstrap/register-extension.js +19 -0
  40. package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +151 -20
  41. package/dist/resources/extensions/gsd/bootstrap/write-gate.js +30 -4
  42. package/dist/resources/extensions/gsd/branch-patterns.js +2 -0
  43. package/dist/resources/extensions/gsd/browser-daemon-auto-prep.js +83 -0
  44. package/dist/resources/extensions/gsd/browser-evidence.js +8 -2
  45. package/dist/resources/extensions/gsd/captures.js +5 -15
  46. package/dist/resources/extensions/gsd/closeout-recovery.js +3 -2
  47. package/dist/resources/extensions/gsd/commands/catalog.js +6 -62
  48. package/dist/resources/extensions/gsd/constants.js +0 -2
  49. package/dist/resources/extensions/gsd/crash-recovery.js +4 -12
  50. package/dist/resources/extensions/gsd/db/engine.js +755 -0
  51. package/dist/resources/extensions/gsd/db/queries.js +372 -0
  52. package/dist/resources/extensions/gsd/db/sql-constants.js +11 -0
  53. package/dist/resources/extensions/gsd/db/writers/cascades.js +194 -0
  54. package/dist/resources/extensions/gsd/db/writers/import-restore.js +182 -0
  55. package/dist/resources/extensions/gsd/db/writers/memory.js +149 -0
  56. package/dist/resources/extensions/gsd/db/writers/reconcile.js +458 -0
  57. package/dist/resources/extensions/gsd/db/writers/status.js +70 -0
  58. package/dist/resources/extensions/gsd/doctor-environment.js +5 -11
  59. package/dist/resources/extensions/gsd/doctor-format.js +9 -6
  60. package/dist/resources/extensions/gsd/doctor-git-checks.js +4 -3
  61. package/dist/resources/extensions/gsd/doctor-runtime-checks.js +21 -16
  62. package/dist/resources/extensions/gsd/error-classifier.js +9 -0
  63. package/dist/resources/extensions/gsd/exec-sandbox.js +30 -10
  64. package/dist/resources/extensions/gsd/git-service.js +1 -0
  65. package/dist/resources/extensions/gsd/gitignore.js +3 -0
  66. package/dist/resources/extensions/gsd/gsd-db.js +171 -2048
  67. package/dist/resources/extensions/gsd/guidance.js +98 -0
  68. package/dist/resources/extensions/gsd/guided-flow.js +51 -5
  69. package/dist/resources/extensions/gsd/mcp-filter.js +2 -19
  70. package/dist/resources/extensions/gsd/mcp-tool-name.js +5 -13
  71. package/dist/resources/extensions/gsd/memory-consolidation-scanner.js +1 -1
  72. package/dist/resources/extensions/gsd/migrate/safety.js +20 -9
  73. package/dist/resources/extensions/gsd/migration-auto-check.js +24 -3
  74. package/dist/resources/extensions/gsd/model-cost-table.js +1 -0
  75. package/dist/resources/extensions/gsd/model-router.js +3 -0
  76. package/dist/resources/extensions/gsd/notification-store.js +11 -4
  77. package/dist/resources/extensions/gsd/parallel-merge.js +14 -11
  78. package/dist/resources/extensions/gsd/parallel-monitor-overlay.js +11 -7
  79. package/dist/resources/extensions/gsd/paths.js +37 -24
  80. package/dist/resources/extensions/gsd/pre-execution-checks.js +91 -3
  81. package/dist/resources/extensions/gsd/preferences-models.js +14 -48
  82. package/dist/resources/extensions/gsd/preferences.js +14 -0
  83. package/dist/resources/extensions/gsd/prompts/complete-slice.md +1 -1
  84. package/dist/resources/extensions/gsd/prompts/plan-slice.md +1 -1
  85. package/dist/resources/extensions/gsd/prompts/refine-slice.md +1 -1
  86. package/dist/resources/extensions/gsd/prompts/replan-slice.md +1 -1
  87. package/dist/resources/extensions/gsd/prompts/run-uat.md +1 -1
  88. package/dist/resources/extensions/gsd/prompts/system.md +5 -2
  89. package/dist/resources/extensions/gsd/provider-error-guidance.js +1 -5
  90. package/dist/resources/extensions/gsd/provider-switch-observer.js +1 -1
  91. package/dist/resources/extensions/gsd/publication.js +87 -0
  92. package/dist/resources/extensions/gsd/recovery-classification.js +41 -87
  93. package/dist/resources/extensions/gsd/safety/destructive-confirmation.js +108 -0
  94. package/dist/resources/extensions/gsd/safety/evidence-collector.js +37 -4
  95. package/dist/resources/extensions/gsd/safety/evidence-cross-ref.js +7 -2
  96. package/dist/resources/extensions/gsd/safety/file-change-validator.js +10 -0
  97. package/dist/resources/extensions/gsd/state-transition-matrix.js +38 -0
  98. package/dist/resources/extensions/gsd/state.js +1 -20
  99. package/dist/resources/extensions/gsd/status-guards.js +56 -8
  100. package/dist/resources/extensions/gsd/stop-notice.js +57 -0
  101. package/dist/resources/extensions/gsd/tool-surface-readiness.js +56 -0
  102. package/dist/resources/extensions/gsd/tools/complete-slice.js +24 -43
  103. package/dist/resources/extensions/gsd/tools/exec-tool.js +10 -8
  104. package/dist/resources/extensions/gsd/tools/plan-slice.js +12 -6
  105. package/dist/resources/extensions/gsd/tools/reopen-milestone.js +11 -29
  106. package/dist/resources/extensions/gsd/tools/reopen-slice.js +14 -33
  107. package/dist/resources/extensions/gsd/tools/skip-slice.js +18 -36
  108. package/dist/resources/extensions/gsd/uat-policy.js +2 -1
  109. package/dist/resources/extensions/gsd/undo.js +8 -7
  110. package/dist/resources/extensions/gsd/unit-closeout.js +138 -0
  111. package/dist/resources/extensions/gsd/unit-context-composer.js +74 -1
  112. package/dist/resources/extensions/gsd/unit-context-manifest.js +4 -27
  113. package/dist/resources/extensions/gsd/unit-registry.js +337 -0
  114. package/dist/resources/extensions/gsd/unit-tool-contracts.js +9 -182
  115. package/dist/resources/extensions/gsd/web-app-uat.js +45 -8
  116. package/dist/resources/extensions/gsd/workflow-tool-surface.js +1 -1
  117. package/dist/resources/extensions/gsd/worktree-git-recovery.js +293 -0
  118. package/dist/resources/extensions/gsd/worktree-lifecycle.js +9 -1
  119. package/dist/resources/extensions/gsd/worktree-manager.js +45 -28
  120. package/dist/resources/extensions/gsd/worktree-placement.js +59 -0
  121. package/dist/resources/extensions/gsd/worktree-reentry.js +12 -8
  122. package/dist/resources/extensions/gsd/worktree-root.js +28 -6
  123. package/dist/resources/extensions/gsd/worktree-safety.js +8 -5
  124. package/dist/resources/extensions/gsd/worktree-session-state.js +12 -11
  125. package/dist/resources/extensions/search-the-web/native-search.js +5 -3
  126. package/dist/resources/extensions/shared/browser-contract.js +59 -0
  127. package/dist/resources/extensions/shared/gsd-browser-cli.js +96 -5
  128. package/dist/resources/shared/package.json +3 -0
  129. package/dist/resources/skills/create-skill/references/executable-code.md +1 -1
  130. package/dist/resources/skills/create-skill/workflows/add-reference.md +8 -3
  131. package/dist/resources/skills/create-skill/workflows/add-script.md +4 -2
  132. package/dist/resources/skills/create-skill/workflows/add-template.md +3 -1
  133. package/dist/resources/skills/create-skill/workflows/add-workflow.md +8 -3
  134. package/dist/resources/skills/create-skill/workflows/upgrade-to-router.md +10 -5
  135. package/dist/resources/skills/create-skill/workflows/verify-skill.md +9 -4
  136. package/dist/resources/skills/gsd-browser/SKILL.md +1 -1
  137. package/dist/resources/skills/spike-wrap-up/SKILL.md +9 -9
  138. package/dist/tsconfig.extensions.tsbuildinfo +1 -1
  139. package/dist/web/standalone/.next/BUILD_ID +1 -1
  140. package/dist/web/standalone/.next/app-path-routes-manifest.json +10 -10
  141. package/dist/web/standalone/.next/build-manifest.json +3 -3
  142. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  143. package/dist/web/standalone/.next/react-loadable-manifest.json +1 -1
  144. package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
  145. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  146. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  147. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  148. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  149. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  150. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  151. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  152. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  153. package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
  154. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  155. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  156. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  157. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  158. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  159. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  160. package/dist/web/standalone/.next/server/app/api/boot/route.js.nft.json +1 -1
  161. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js.nft.json +1 -1
  162. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js.nft.json +1 -1
  163. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js.nft.json +1 -1
  164. package/dist/web/standalone/.next/server/app/api/captures/route.js.nft.json +1 -1
  165. package/dist/web/standalone/.next/server/app/api/cleanup/route.js.nft.json +1 -1
  166. package/dist/web/standalone/.next/server/app/api/doctor/route.js.nft.json +1 -1
  167. package/dist/web/standalone/.next/server/app/api/export-data/route.js.nft.json +1 -1
  168. package/dist/web/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  169. package/dist/web/standalone/.next/server/app/api/forensics/route.js.nft.json +1 -1
  170. package/dist/web/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  171. package/dist/web/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
  172. package/dist/web/standalone/.next/server/app/api/hooks/route.js.nft.json +1 -1
  173. package/dist/web/standalone/.next/server/app/api/inspect/route.js.nft.json +1 -1
  174. package/dist/web/standalone/.next/server/app/api/knowledge/route.js.nft.json +1 -1
  175. package/dist/web/standalone/.next/server/app/api/live-state/route.js.nft.json +1 -1
  176. package/dist/web/standalone/.next/server/app/api/mcp-connections/route.js.nft.json +1 -1
  177. package/dist/web/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  178. package/dist/web/standalone/.next/server/app/api/onboarding/route.js.nft.json +1 -1
  179. package/dist/web/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  180. package/dist/web/standalone/.next/server/app/api/recovery/route.js.nft.json +1 -1
  181. package/dist/web/standalone/.next/server/app/api/session/browser/route.js.nft.json +1 -1
  182. package/dist/web/standalone/.next/server/app/api/session/command/route.js.nft.json +1 -1
  183. package/dist/web/standalone/.next/server/app/api/session/events/route.js.nft.json +1 -1
  184. package/dist/web/standalone/.next/server/app/api/session/manage/route.js.nft.json +1 -1
  185. package/dist/web/standalone/.next/server/app/api/settings-data/route.js.nft.json +1 -1
  186. package/dist/web/standalone/.next/server/app/api/shutdown/route.js.nft.json +1 -1
  187. package/dist/web/standalone/.next/server/app/api/skill-health/route.js.nft.json +1 -1
  188. package/dist/web/standalone/.next/server/app/api/steer/route.js.nft.json +1 -1
  189. package/dist/web/standalone/.next/server/app/api/switch-root/route.js.nft.json +1 -1
  190. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js.nft.json +1 -1
  191. package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js.nft.json +1 -1
  192. package/dist/web/standalone/.next/server/app/api/undo/route.js.nft.json +1 -1
  193. package/dist/web/standalone/.next/server/app/api/update/route.js +1 -1
  194. package/dist/web/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  195. package/dist/web/standalone/.next/server/app/api/visualizer/route.js.nft.json +1 -1
  196. package/dist/web/standalone/.next/server/app/index.html +1 -1
  197. package/dist/web/standalone/.next/server/app/index.rsc +1 -1
  198. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  199. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  200. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  201. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  202. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  203. package/dist/web/standalone/.next/server/app-paths-manifest.json +10 -10
  204. package/dist/web/standalone/.next/server/chunks/5124.js +1 -1
  205. package/dist/web/standalone/.next/server/chunks/{5047.js → 5942.js} +2 -2
  206. package/dist/web/standalone/.next/server/chunks/8357.js +1 -1
  207. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  208. package/dist/web/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  209. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  210. package/dist/web/standalone/.next/server/pages/500.html +1 -1
  211. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  212. package/dist/web/standalone/.next/static/chunks/{796.cf859a427a2cb2ac.js → 796.e0bdc932325d7e03.js} +1 -1
  213. package/dist/web/standalone/.next/static/chunks/{webpack-fbea77b5f9953368.js → webpack-f0285ce91d4ec9ef.js} +1 -1
  214. package/dist/web/standalone/node_modules/node-pty/build/Makefile +1 -1
  215. package/dist/web/standalone/node_modules/postcss/lib/container.js +18 -26
  216. package/dist/web/standalone/node_modules/postcss/lib/css-syntax-error.js +14 -47
  217. package/dist/web/standalone/node_modules/postcss/lib/declaration.js +4 -4
  218. package/dist/web/standalone/node_modules/postcss/lib/fromJSON.js +3 -3
  219. package/dist/web/standalone/node_modules/postcss/lib/input.js +29 -54
  220. package/dist/web/standalone/node_modules/postcss/lib/lazy-result.js +37 -47
  221. package/dist/web/standalone/node_modules/postcss/lib/map-generator.js +9 -26
  222. package/dist/web/standalone/node_modules/postcss/lib/no-work-result.js +55 -57
  223. package/dist/web/standalone/node_modules/postcss/lib/node.js +31 -99
  224. package/dist/web/standalone/node_modules/postcss/lib/parse.js +1 -1
  225. package/dist/web/standalone/node_modules/postcss/lib/parser.js +9 -10
  226. package/dist/web/standalone/node_modules/postcss/lib/postcss.js +12 -12
  227. package/dist/web/standalone/node_modules/postcss/lib/previous-map.js +11 -30
  228. package/dist/web/standalone/node_modules/postcss/lib/processor.js +7 -7
  229. package/dist/web/standalone/node_modules/postcss/lib/result.js +5 -5
  230. package/dist/web/standalone/node_modules/postcss/lib/rule.js +6 -6
  231. package/dist/web/standalone/node_modules/postcss/lib/stringifier.js +28 -69
  232. package/dist/web/standalone/node_modules/postcss/lib/tokenize.js +2 -6
  233. package/dist/web/standalone/node_modules/postcss/package.json +48 -48
  234. package/dist/web/standalone/package.json +1 -1
  235. package/dist/worktree-cli.js +3 -6
  236. package/dist/worktree-status-banner.js +7 -11
  237. package/package.json +1 -1
  238. package/packages/cloud-mcp-gateway/package.json +2 -2
  239. package/packages/contracts/dist/rpc.d.ts +1 -0
  240. package/packages/contracts/dist/rpc.d.ts.map +1 -1
  241. package/packages/contracts/dist/rpc.js.map +1 -1
  242. package/packages/contracts/dist/workflow.d.ts +4 -0
  243. package/packages/contracts/dist/workflow.d.ts.map +1 -1
  244. package/packages/contracts/dist/workflow.js.map +1 -1
  245. package/packages/contracts/package.json +1 -1
  246. package/packages/daemon/package.json +4 -4
  247. package/packages/gsd-agent-core/package.json +5 -5
  248. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.d.ts +5 -0
  249. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  250. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.js +8 -0
  251. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.js.map +1 -1
  252. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.d.ts.map +1 -1
  253. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.js +7 -0
  254. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.js.map +1 -1
  255. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.d.ts.map +1 -1
  256. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.js +8 -1
  257. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.js.map +1 -1
  258. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-chat-render.d.ts.map +1 -1
  259. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-chat-render.js +11 -1
  260. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-chat-render.js.map +1 -1
  261. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-selectors-auth.d.ts.map +1 -1
  262. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-selectors-auth.js +4 -4
  263. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-selectors-auth.js.map +1 -1
  264. package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  265. package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.js +3 -1
  266. package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.js.map +1 -1
  267. package/packages/gsd-agent-modes/package.json +7 -7
  268. package/packages/mcp-server/dist/cli.js +6 -3
  269. package/packages/mcp-server/dist/cli.js.map +1 -1
  270. package/packages/mcp-server/dist/workflow-tools.d.ts +8 -0
  271. package/packages/mcp-server/dist/workflow-tools.d.ts.map +1 -1
  272. package/packages/mcp-server/dist/workflow-tools.js +46 -21
  273. package/packages/mcp-server/dist/workflow-tools.js.map +1 -1
  274. package/packages/mcp-server/package.json +3 -3
  275. package/packages/native/package.json +1 -1
  276. package/packages/pi-agent-core/dist/harness/env/nodejs.d.ts +1 -0
  277. package/packages/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  278. package/packages/pi-agent-core/dist/harness/env/nodejs.js +34 -3
  279. package/packages/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  280. package/packages/pi-agent-core/dist/index.d.ts +1 -0
  281. package/packages/pi-agent-core/dist/index.d.ts.map +1 -1
  282. package/packages/pi-agent-core/dist/index.js +3 -0
  283. package/packages/pi-agent-core/dist/index.js.map +1 -1
  284. package/packages/pi-agent-core/package.json +1 -1
  285. package/packages/pi-ai/dist/image-models.generated.d.ts +2 -2
  286. package/packages/pi-ai/dist/image-models.generated.js +6 -6
  287. package/packages/pi-ai/dist/image-models.generated.js.map +1 -1
  288. package/packages/pi-ai/dist/models.generated.d.ts +478 -484
  289. package/packages/pi-ai/dist/models.generated.d.ts.map +1 -1
  290. package/packages/pi-ai/dist/models.generated.js +500 -533
  291. package/packages/pi-ai/dist/models.generated.js.map +1 -1
  292. package/packages/pi-ai/package.json +1 -1
  293. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts +2 -2
  294. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  295. package/packages/pi-coding-agent/dist/core/auth-storage.js +19 -13
  296. package/packages/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  297. package/packages/pi-coding-agent/dist/core/capability-patches.d.ts.map +1 -1
  298. package/packages/pi-coding-agent/dist/core/capability-patches.js +3 -1
  299. package/packages/pi-coding-agent/dist/core/capability-patches.js.map +1 -1
  300. package/packages/pi-coding-agent/dist/core/provider-readiness.d.ts.map +1 -1
  301. package/packages/pi-coding-agent/dist/core/provider-readiness.js +13 -6
  302. package/packages/pi-coding-agent/dist/core/provider-readiness.js.map +1 -1
  303. package/packages/pi-coding-agent/dist/core/tools/bash.d.ts +11 -0
  304. package/packages/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
  305. package/packages/pi-coding-agent/dist/core/tools/bash.js +53 -11
  306. package/packages/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
  307. package/packages/pi-coding-agent/dist/index.d.ts +1 -1
  308. package/packages/pi-coding-agent/dist/index.d.ts.map +1 -1
  309. package/packages/pi-coding-agent/dist/index.js +1 -1
  310. package/packages/pi-coding-agent/dist/index.js.map +1 -1
  311. package/packages/pi-coding-agent/dist/utils/shell.d.ts +28 -2
  312. package/packages/pi-coding-agent/dist/utils/shell.d.ts.map +1 -1
  313. package/packages/pi-coding-agent/dist/utils/shell.js +56 -10
  314. package/packages/pi-coding-agent/dist/utils/shell.js.map +1 -1
  315. package/packages/pi-coding-agent/package.json +7 -7
  316. package/packages/pi-tui/dist/tui.d.ts.map +1 -1
  317. package/packages/pi-tui/dist/tui.js +9 -0
  318. package/packages/pi-tui/dist/tui.js.map +1 -1
  319. package/packages/pi-tui/package.json +2 -2
  320. package/packages/rpc-client/package.json +2 -2
  321. package/pkg/package.json +1 -1
  322. package/src/resources/extensions/async-jobs/async-bash-cancel.test.ts +360 -0
  323. package/src/resources/extensions/async-jobs/async-bash-tool.ts +33 -56
  324. package/src/resources/extensions/async-jobs/await-tool.test.ts +139 -0
  325. package/src/resources/extensions/async-jobs/await-tool.ts +82 -12
  326. package/src/resources/extensions/async-jobs/index.ts +79 -0
  327. package/src/resources/extensions/async-jobs/job-manager.ts +21 -1
  328. package/src/resources/extensions/bg-shell/bg-shell-command.ts +6 -6
  329. package/src/resources/extensions/bg-shell/bg-shell-tool.ts +10 -6
  330. package/src/resources/extensions/bg-shell/overlay.ts +9 -5
  331. package/src/resources/extensions/bg-shell/process-manager.ts +50 -25
  332. package/src/resources/extensions/bg-shell/readiness-detector.ts +12 -0
  333. package/src/resources/extensions/bg-shell/tests/lifecycle-and-utilities.test.ts +48 -1
  334. package/src/resources/extensions/bg-shell/utilities.ts +5 -2
  335. package/src/resources/extensions/browser-tools/engine/managed-gsd-browser.ts +265 -98
  336. package/src/resources/extensions/browser-tools/engine/selection.ts +90 -4
  337. package/src/resources/extensions/browser-tools/index.ts +71 -13
  338. package/src/resources/extensions/browser-tools/tests/browser-engine-selection.test.mjs +83 -13
  339. package/src/resources/extensions/browser-tools/tests/gsd-browser-launch-config.test.mjs +29 -1
  340. package/src/resources/extensions/browser-tools/tests/managed-gsd-browser-tools.test.mjs +136 -0
  341. package/src/resources/extensions/claude-code-cli/models.ts +9 -0
  342. package/src/resources/extensions/claude-code-cli/stream-adapter.ts +40 -4
  343. package/src/resources/extensions/claude-code-cli/tests/stream-adapter.test.ts +28 -0
  344. package/src/resources/extensions/gsd/auto/loop-deps.ts +1 -1
  345. package/src/resources/extensions/gsd/auto/orchestrator.ts +46 -10
  346. package/src/resources/extensions/gsd/auto/phases.ts +10 -1
  347. package/src/resources/extensions/gsd/auto-dispatch.ts +12 -0
  348. package/src/resources/extensions/gsd/auto-model-selection.ts +25 -5
  349. package/src/resources/extensions/gsd/auto-post-unit.ts +25 -7
  350. package/src/resources/extensions/gsd/auto-prompts.ts +40 -26
  351. package/src/resources/extensions/gsd/auto-start.ts +21 -22
  352. package/src/resources/extensions/gsd/auto-tool-tracking.ts +19 -0
  353. package/src/resources/extensions/gsd/auto-unit-tool-scope.ts +10 -17
  354. package/src/resources/extensions/gsd/auto-worktree-repair.ts +13 -2
  355. package/src/resources/extensions/gsd/auto-worktree.ts +41 -364
  356. package/src/resources/extensions/gsd/auto.ts +20 -24
  357. package/src/resources/extensions/gsd/bootstrap/agent-end-recovery.ts +3 -5
  358. package/src/resources/extensions/gsd/bootstrap/dynamic-tools.ts +33 -12
  359. package/src/resources/extensions/gsd/bootstrap/register-extension.ts +24 -0
  360. package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +180 -15
  361. package/src/resources/extensions/gsd/bootstrap/write-gate.ts +29 -3
  362. package/src/resources/extensions/gsd/branch-patterns.ts +3 -0
  363. package/src/resources/extensions/gsd/browser-daemon-auto-prep.ts +108 -0
  364. package/src/resources/extensions/gsd/browser-evidence.ts +18 -2
  365. package/src/resources/extensions/gsd/captures.ts +5 -16
  366. package/src/resources/extensions/gsd/closeout-recovery.ts +2 -1
  367. package/src/resources/extensions/gsd/commands/catalog.ts +6 -68
  368. package/src/resources/extensions/gsd/constants.ts +0 -3
  369. package/src/resources/extensions/gsd/crash-recovery.ts +3 -9
  370. package/src/resources/extensions/gsd/db/engine.ts +809 -0
  371. package/src/resources/extensions/gsd/db/queries.ts +453 -0
  372. package/src/resources/extensions/gsd/db/sql-constants.ts +12 -0
  373. package/src/resources/extensions/gsd/db/writers/cascades.ts +237 -0
  374. package/src/resources/extensions/gsd/db/writers/import-restore.ts +310 -0
  375. package/src/resources/extensions/gsd/db/writers/memory.ts +220 -0
  376. package/src/resources/extensions/gsd/db/writers/reconcile.ts +500 -0
  377. package/src/resources/extensions/gsd/db/writers/status.ts +88 -0
  378. package/src/resources/extensions/gsd/doctor-environment.ts +5 -13
  379. package/src/resources/extensions/gsd/doctor-format.ts +12 -7
  380. package/src/resources/extensions/gsd/doctor-git-checks.ts +3 -3
  381. package/src/resources/extensions/gsd/doctor-runtime-checks.ts +22 -17
  382. package/src/resources/extensions/gsd/error-classifier.ts +11 -0
  383. package/src/resources/extensions/gsd/exec-sandbox.ts +49 -9
  384. package/src/resources/extensions/gsd/git-service.ts +1 -0
  385. package/src/resources/extensions/gsd/gitignore.ts +3 -0
  386. package/src/resources/extensions/gsd/gsd-db.ts +173 -2373
  387. package/src/resources/extensions/gsd/guidance.ts +139 -0
  388. package/src/resources/extensions/gsd/guided-flow.ts +50 -5
  389. package/src/resources/extensions/gsd/mcp-filter.ts +2 -23
  390. package/src/resources/extensions/gsd/mcp-tool-name.ts +6 -11
  391. package/src/resources/extensions/gsd/memory-consolidation-scanner.ts +1 -1
  392. package/src/resources/extensions/gsd/migrate/safety.ts +18 -7
  393. package/src/resources/extensions/gsd/migration-auto-check.ts +28 -3
  394. package/src/resources/extensions/gsd/model-cost-table.ts +1 -0
  395. package/src/resources/extensions/gsd/model-router.ts +3 -0
  396. package/src/resources/extensions/gsd/notification-store.ts +26 -3
  397. package/src/resources/extensions/gsd/parallel-merge.ts +12 -9
  398. package/src/resources/extensions/gsd/parallel-monitor-overlay.ts +10 -7
  399. package/src/resources/extensions/gsd/paths.ts +42 -22
  400. package/src/resources/extensions/gsd/pre-execution-checks.ts +109 -3
  401. package/src/resources/extensions/gsd/preferences-models.ts +12 -47
  402. package/src/resources/extensions/gsd/preferences.ts +18 -0
  403. package/src/resources/extensions/gsd/prompts/complete-slice.md +1 -1
  404. package/src/resources/extensions/gsd/prompts/plan-slice.md +1 -1
  405. package/src/resources/extensions/gsd/prompts/refine-slice.md +1 -1
  406. package/src/resources/extensions/gsd/prompts/replan-slice.md +1 -1
  407. package/src/resources/extensions/gsd/prompts/run-uat.md +1 -1
  408. package/src/resources/extensions/gsd/prompts/system.md +5 -2
  409. package/src/resources/extensions/gsd/provider-error-guidance.ts +4 -9
  410. package/src/resources/extensions/gsd/provider-switch-observer.ts +1 -1
  411. package/src/resources/extensions/gsd/publication.ts +122 -0
  412. package/src/resources/extensions/gsd/recovery-classification.ts +47 -88
  413. package/src/resources/extensions/gsd/safety/destructive-confirmation.ts +134 -0
  414. package/src/resources/extensions/gsd/safety/evidence-collector.ts +36 -4
  415. package/src/resources/extensions/gsd/safety/evidence-cross-ref.ts +7 -2
  416. package/src/resources/extensions/gsd/safety/file-change-validator.ts +14 -0
  417. package/src/resources/extensions/gsd/state-transition-matrix.ts +42 -0
  418. package/src/resources/extensions/gsd/state.ts +4 -21
  419. package/src/resources/extensions/gsd/status-guards.ts +59 -8
  420. package/src/resources/extensions/gsd/stop-notice.ts +75 -0
  421. package/src/resources/extensions/gsd/tests/auto-loop.test.ts +123 -0
  422. package/src/resources/extensions/gsd/tests/auto-model-selection.test.ts +22 -0
  423. package/src/resources/extensions/gsd/tests/auto-orchestrator.test.ts +16 -19
  424. package/src/resources/extensions/gsd/tests/auto-paused-ui-cleanup.test.ts +3 -1
  425. package/src/resources/extensions/gsd/tests/auto-post-unit-evidence-crossref-4909.test.ts +46 -0
  426. package/src/resources/extensions/gsd/tests/auto-worktree-registry.test.ts +2 -2
  427. package/src/resources/extensions/gsd/tests/auto-worktree-repair.test.ts +4 -2
  428. package/src/resources/extensions/gsd/tests/browser-automation-contract-fixture.ts +39 -0
  429. package/src/resources/extensions/gsd/tests/browser-contract.test.ts +44 -0
  430. package/src/resources/extensions/gsd/tests/browser-daemon-auto-prep.test.ts +144 -0
  431. package/src/resources/extensions/gsd/tests/checkout-branch-stash-guard.test.ts +66 -1
  432. package/src/resources/extensions/gsd/tests/clear-stale-autostart.test.ts +44 -0
  433. package/src/resources/extensions/gsd/tests/commands-verdict.test.ts +8 -7
  434. package/src/resources/extensions/gsd/tests/destructive-confirmation.test.ts +303 -0
  435. package/src/resources/extensions/gsd/tests/dispatch-run-uat-browser-tools.test.ts +2 -1
  436. package/src/resources/extensions/gsd/tests/dynamic-bash-no-cap.test.ts +132 -0
  437. package/src/resources/extensions/gsd/tests/evidence-xref-gsd-exec.test.ts +157 -0
  438. package/src/resources/extensions/gsd/tests/exec-graceful-kill.test.ts +193 -0
  439. package/src/resources/extensions/gsd/tests/exec-tool.test.ts +29 -1
  440. package/src/resources/extensions/gsd/tests/extension-bootstrap-isolation.test.ts +35 -1
  441. package/src/resources/extensions/gsd/tests/file-change-validator.test.ts +33 -1
  442. package/src/resources/extensions/gsd/tests/guidance.test.ts +125 -0
  443. package/src/resources/extensions/gsd/tests/integration/auto-worktree-milestone-merge.test.ts +58 -15
  444. package/src/resources/extensions/gsd/tests/integration/auto-worktree.test.ts +74 -59
  445. package/src/resources/extensions/gsd/tests/integration/git-service.test.ts +3 -2
  446. package/src/resources/extensions/gsd/tests/integration/gsd-integration-fixture.ts +80 -0
  447. package/src/resources/extensions/gsd/tests/mcp-project-config.test.ts +3 -1
  448. package/src/resources/extensions/gsd/tests/migration-auto-check.test.ts +85 -1
  449. package/src/resources/extensions/gsd/tests/model-unittype-mapping.test.ts +32 -1
  450. package/src/resources/extensions/gsd/tests/notification-store.test.ts +32 -0
  451. package/src/resources/extensions/gsd/tests/oauth-api-model-routing.test.ts +167 -0
  452. package/src/resources/extensions/gsd/tests/pre-execution-checks.test.ts +193 -1
  453. package/src/resources/extensions/gsd/tests/provider-error-guidance.test.ts +3 -3
  454. package/src/resources/extensions/gsd/tests/publication.test.ts +120 -0
  455. package/src/resources/extensions/gsd/tests/recovery-classification-illegal-transition.test.ts +30 -0
  456. package/src/resources/extensions/gsd/tests/register-hooks-depth-verification.test.ts +248 -1
  457. package/src/resources/extensions/gsd/tests/runtime-invariant-modules.test.ts +1 -0
  458. package/src/resources/extensions/gsd/tests/safety-harness-false-positives.test.ts +38 -0
  459. package/src/resources/extensions/gsd/tests/session-switch-clears-pending-autostart.test.ts +108 -0
  460. package/src/resources/extensions/gsd/tests/single-writer-invariant.test.ts +43 -6
  461. package/src/resources/extensions/gsd/tests/state-transition-matrix.test.ts +36 -0
  462. package/src/resources/extensions/gsd/tests/status-guards.test.ts +38 -0
  463. package/src/resources/extensions/gsd/tests/stop-notice.test.ts +70 -0
  464. package/src/resources/extensions/gsd/tests/token-tool-gating.test.ts +76 -0
  465. package/src/resources/extensions/gsd/tests/tool-invocation-error-loop-break.test.ts +8 -0
  466. package/src/resources/extensions/gsd/tests/tool-surface-readiness.test.ts +155 -0
  467. package/src/resources/extensions/gsd/tests/uat-policy.test.ts +24 -29
  468. package/src/resources/extensions/gsd/tests/unit-closeout.test.ts +209 -0
  469. package/src/resources/extensions/gsd/tests/unit-context-composer.test.ts +67 -2
  470. package/src/resources/extensions/gsd/tests/unit-registry.test.ts +163 -0
  471. package/src/resources/extensions/gsd/tests/web-app-uat.test.ts +44 -1
  472. package/src/resources/extensions/gsd/tests/workflow-mcp.test.ts +2 -2
  473. package/src/resources/extensions/gsd/tests/workflow-tool-executors.test.ts +2 -2
  474. package/src/resources/extensions/gsd/tests/worktree-lifecycle.test.ts +41 -4
  475. package/src/resources/extensions/gsd/tests/worktree-manager.test.ts +22 -1
  476. package/src/resources/extensions/gsd/tests/worktree-placement.test.ts +113 -0
  477. package/src/resources/extensions/gsd/tests/worktree-reentry.test.ts +1 -1
  478. package/src/resources/extensions/gsd/tests/worktree-safety.test.ts +3 -1
  479. package/src/resources/extensions/gsd/tests/worktree-symlink-removal.test.ts +12 -6
  480. package/src/resources/extensions/gsd/tests/worktree-teardown-safety.test.ts +2 -2
  481. package/src/resources/extensions/gsd/tests/write-gate.test.ts +42 -0
  482. package/src/resources/extensions/gsd/tool-surface-readiness.ts +76 -0
  483. package/src/resources/extensions/gsd/tools/complete-slice.ts +23 -58
  484. package/src/resources/extensions/gsd/tools/exec-tool.ts +9 -8
  485. package/src/resources/extensions/gsd/tools/plan-slice.ts +12 -6
  486. package/src/resources/extensions/gsd/tools/reopen-milestone.ts +11 -38
  487. package/src/resources/extensions/gsd/tools/reopen-slice.ts +14 -42
  488. package/src/resources/extensions/gsd/tools/skip-slice.ts +18 -44
  489. package/src/resources/extensions/gsd/uat-policy.ts +2 -1
  490. package/src/resources/extensions/gsd/undo.ts +9 -8
  491. package/src/resources/extensions/gsd/unit-closeout.ts +201 -0
  492. package/src/resources/extensions/gsd/unit-context-composer.ts +111 -1
  493. package/src/resources/extensions/gsd/unit-context-manifest.ts +4 -28
  494. package/src/resources/extensions/gsd/unit-registry.ts +412 -0
  495. package/src/resources/extensions/gsd/unit-tool-contracts.ts +27 -192
  496. package/src/resources/extensions/gsd/web-app-uat.ts +51 -8
  497. package/src/resources/extensions/gsd/workflow-tool-surface.ts +4 -1
  498. package/src/resources/extensions/gsd/worktree-git-recovery.ts +314 -0
  499. package/src/resources/extensions/gsd/worktree-lifecycle.ts +10 -1
  500. package/src/resources/extensions/gsd/worktree-manager.ts +47 -28
  501. package/src/resources/extensions/gsd/worktree-placement.ts +63 -0
  502. package/src/resources/extensions/gsd/worktree-reentry.ts +10 -7
  503. package/src/resources/extensions/gsd/worktree-root.ts +29 -6
  504. package/src/resources/extensions/gsd/worktree-safety.ts +8 -5
  505. package/src/resources/extensions/gsd/worktree-session-state.ts +11 -11
  506. package/src/resources/extensions/search-the-web/native-search.ts +5 -3
  507. package/src/resources/extensions/shared/browser-contract.ts +66 -0
  508. package/src/resources/extensions/shared/gsd-browser-cli.ts +119 -5
  509. package/src/resources/shared/package.json +3 -0
  510. package/src/resources/skills/create-skill/references/executable-code.md +1 -1
  511. package/src/resources/skills/create-skill/workflows/add-reference.md +8 -3
  512. package/src/resources/skills/create-skill/workflows/add-script.md +4 -2
  513. package/src/resources/skills/create-skill/workflows/add-template.md +3 -1
  514. package/src/resources/skills/create-skill/workflows/add-workflow.md +8 -3
  515. package/src/resources/skills/create-skill/workflows/upgrade-to-router.md +10 -5
  516. package/src/resources/skills/create-skill/workflows/verify-skill.md +9 -4
  517. package/src/resources/skills/gsd-browser/SKILL.md +1 -1
  518. package/src/resources/skills/spike-wrap-up/SKILL.md +9 -9
  519. /package/dist/web/standalone/.next/static/{3PtrU9qGPEXwNLWkIyiqk → mU4QIDlpVHDdjDpeEKh5W}/_buildManifest.js +0 -0
  520. /package/dist/web/standalone/.next/static/{3PtrU9qGPEXwNLWkIyiqk → mU4QIDlpVHDdjDpeEKh5W}/_ssgManifest.js +0 -0
@@ -1,62 +1,12 @@
1
1
  'use strict'
2
2
 
3
3
  let MapGenerator = require('./map-generator')
4
- let parse = require('./parse')
5
- let Result = require('./result')
6
4
  let stringify = require('./stringify')
7
5
  let warnOnce = require('./warn-once')
6
+ let parse = require('./parse')
7
+ const Result = require('./result')
8
8
 
9
9
  class NoWorkResult {
10
- get content() {
11
- return this.result.css
12
- }
13
-
14
- get css() {
15
- return this.result.css
16
- }
17
-
18
- get map() {
19
- return this.result.map
20
- }
21
-
22
- get messages() {
23
- return []
24
- }
25
-
26
- get opts() {
27
- return this.result.opts
28
- }
29
-
30
- get processor() {
31
- return this.result.processor
32
- }
33
-
34
- get root() {
35
- if (this._root) {
36
- return this._root
37
- }
38
-
39
- let root
40
- let parser = parse
41
-
42
- try {
43
- root = parser(this._css, this._opts)
44
- } catch (error) {
45
- this.error = error
46
- }
47
-
48
- if (this.error) {
49
- throw this.error
50
- } else {
51
- this._root = root
52
- return root
53
- }
54
- }
55
-
56
- get [Symbol.toStringTag]() {
57
- return 'NoWorkResult'
58
- }
59
-
60
10
  constructor(processor, css, opts) {
61
11
  css = css.toString()
62
12
  this.stringified = false
@@ -65,9 +15,10 @@ class NoWorkResult {
65
15
  this._css = css
66
16
  this._opts = opts
67
17
  this._map = undefined
18
+ let root
68
19
 
69
20
  let str = stringify
70
- this.result = new Result(this._processor, undefined, this._opts)
21
+ this.result = new Result(this._processor, root, this._opts)
71
22
  this.result.css = css
72
23
 
73
24
  let self = this
@@ -77,7 +28,7 @@ class NoWorkResult {
77
28
  }
78
29
  })
79
30
 
80
- let map = new MapGenerator(str, undefined, this._opts, css)
31
+ let map = new MapGenerator(str, root, this._opts, css)
81
32
  if (map.isMap()) {
82
33
  let [generatedCSS, generatedMap] = map.generate()
83
34
  if (generatedCSS) {
@@ -86,9 +37,6 @@ class NoWorkResult {
86
37
  if (generatedMap) {
87
38
  this.result.map = generatedMap
88
39
  }
89
- } else {
90
- map.clearAnnotation()
91
- this.result.css = map.css
92
40
  }
93
41
  }
94
42
 
@@ -131,6 +79,56 @@ class NoWorkResult {
131
79
  warnings() {
132
80
  return []
133
81
  }
82
+
83
+ get content() {
84
+ return this.result.css
85
+ }
86
+
87
+ get css() {
88
+ return this.result.css
89
+ }
90
+
91
+ get map() {
92
+ return this.result.map
93
+ }
94
+
95
+ get messages() {
96
+ return []
97
+ }
98
+
99
+ get opts() {
100
+ return this.result.opts
101
+ }
102
+
103
+ get processor() {
104
+ return this.result.processor
105
+ }
106
+
107
+ get root() {
108
+ if (this._root) {
109
+ return this._root
110
+ }
111
+
112
+ let root
113
+ let parser = parse
114
+
115
+ try {
116
+ root = parser(this._css, this._opts)
117
+ } catch (error) {
118
+ this.error = error
119
+ }
120
+
121
+ if (this.error) {
122
+ throw this.error
123
+ } else {
124
+ this._root = root
125
+ return root
126
+ }
127
+ }
128
+
129
+ get [Symbol.toStringTag]() {
130
+ return 'NoWorkResult'
131
+ }
134
132
  }
135
133
 
136
134
  module.exports = NoWorkResult
@@ -1,9 +1,9 @@
1
1
  'use strict'
2
2
 
3
+ let { isClean, my } = require('./symbols')
3
4
  let CssSyntaxError = require('./css-syntax-error')
4
5
  let Stringifier = require('./stringifier')
5
6
  let stringify = require('./stringify')
6
- let { isClean, my } = require('./symbols')
7
7
 
8
8
  function cloneNode(obj, parent) {
9
9
  let cloned = new obj.constructor()
@@ -32,38 +32,7 @@ function cloneNode(obj, parent) {
32
32
  return cloned
33
33
  }
34
34
 
35
- function sourceOffset(inputCSS, position) {
36
- // Not all custom syntaxes support `offset` in `source.start` and `source.end`
37
- if (position && typeof position.offset !== 'undefined') {
38
- return position.offset
39
- }
40
-
41
- let column = 1
42
- let line = 1
43
- let offset = 0
44
-
45
- for (let i = 0; i < inputCSS.length; i++) {
46
- if (line === position.line && column === position.column) {
47
- offset = i
48
- break
49
- }
50
-
51
- if (inputCSS[i] === '\n') {
52
- column = 1
53
- line += 1
54
- } else {
55
- column += 1
56
- }
57
- }
58
-
59
- return offset
60
- }
61
-
62
35
  class Node {
63
- get proxyOf() {
64
- return this
65
- }
66
-
67
36
  constructor(defaults = {}) {
68
37
  this.raws = {}
69
38
  this[isClean] = false
@@ -184,11 +153,6 @@ class Node {
184
153
  }
185
154
  }
186
155
 
187
- /* c8 ignore next 3 */
188
- markClean() {
189
- this[isClean] = true
190
- }
191
-
192
156
  markDirty() {
193
157
  if (this[isClean]) {
194
158
  this[isClean] = false
@@ -205,37 +169,25 @@ class Node {
205
169
  return this.parent.nodes[index + 1]
206
170
  }
207
171
 
208
- positionBy(opts = {}) {
172
+ positionBy(opts, stringRepresentation) {
209
173
  let pos = this.source.start
210
174
  if (opts.index) {
211
- pos = this.positionInside(opts.index)
175
+ pos = this.positionInside(opts.index, stringRepresentation)
212
176
  } else if (opts.word) {
213
- let inputString =
214
- 'document' in this.source.input
215
- ? this.source.input.document
216
- : this.source.input.css
217
- let stringRepresentation = inputString.slice(
218
- sourceOffset(inputString, this.source.start),
219
- sourceOffset(inputString, this.source.end)
220
- )
177
+ stringRepresentation = this.toString()
221
178
  let index = stringRepresentation.indexOf(opts.word)
222
- if (index !== -1) pos = this.positionInside(index)
179
+ if (index !== -1) pos = this.positionInside(index, stringRepresentation)
223
180
  }
224
181
  return pos
225
182
  }
226
183
 
227
- positionInside(index) {
184
+ positionInside(index, stringRepresentation) {
185
+ let string = stringRepresentation || this.toString()
228
186
  let column = this.source.start.column
229
187
  let line = this.source.start.line
230
- let inputString =
231
- 'document' in this.source.input
232
- ? this.source.input.document
233
- : this.source.input.css
234
- let offset = sourceOffset(inputString, this.source.start)
235
- let end = offset + index
236
-
237
- for (let i = offset; i < end; i++) {
238
- if (inputString[i] === '\n') {
188
+
189
+ for (let i = 0; i < index; i++) {
190
+ if (string[i] === '\n') {
239
191
  column = 1
240
192
  line += 1
241
193
  } else {
@@ -243,7 +195,7 @@ class Node {
243
195
  }
244
196
  }
245
197
 
246
- return { column, line, offset: end }
198
+ return { column, line }
247
199
  }
248
200
 
249
201
  prev() {
@@ -252,51 +204,33 @@ class Node {
252
204
  return this.parent.nodes[index - 1]
253
205
  }
254
206
 
255
- rangeBy(opts = {}) {
256
- let inputString =
257
- 'document' in this.source.input
258
- ? this.source.input.document
259
- : this.source.input.css
207
+ rangeBy(opts) {
260
208
  let start = {
261
209
  column: this.source.start.column,
262
- line: this.source.start.line,
263
- offset: sourceOffset(inputString, this.source.start)
210
+ line: this.source.start.line
264
211
  }
265
212
  let end = this.source.end
266
213
  ? {
267
- column: this.source.end.column + 1,
268
- line: this.source.end.line,
269
- offset:
270
- typeof this.source.end.offset === 'number'
271
- ? // `source.end.offset` is exclusive, so we don't need to add 1
272
- this.source.end.offset
273
- : // Since line/column in this.source.end is inclusive,
274
- // the `sourceOffset(... , this.source.end)` returns an inclusive offset.
275
- // So, we add 1 to convert it to exclusive.
276
- sourceOffset(inputString, this.source.end) + 1
277
- }
214
+ column: this.source.end.column + 1,
215
+ line: this.source.end.line
216
+ }
278
217
  : {
279
- column: start.column + 1,
280
- line: start.line,
281
- offset: start.offset + 1
282
- }
218
+ column: start.column + 1,
219
+ line: start.line
220
+ }
283
221
 
284
222
  if (opts.word) {
285
- let stringRepresentation = inputString.slice(
286
- sourceOffset(inputString, this.source.start),
287
- sourceOffset(inputString, this.source.end)
288
- )
223
+ let stringRepresentation = this.toString()
289
224
  let index = stringRepresentation.indexOf(opts.word)
290
225
  if (index !== -1) {
291
- start = this.positionInside(index)
292
- end = this.positionInside(index + opts.word.length)
226
+ start = this.positionInside(index, stringRepresentation)
227
+ end = this.positionInside(index + opts.word.length, stringRepresentation)
293
228
  }
294
229
  } else {
295
230
  if (opts.start) {
296
231
  start = {
297
232
  column: opts.start.column,
298
- line: opts.start.line,
299
- offset: sourceOffset(inputString, opts.start)
233
+ line: opts.start.line
300
234
  }
301
235
  } else if (opts.index) {
302
236
  start = this.positionInside(opts.index)
@@ -305,10 +239,9 @@ class Node {
305
239
  if (opts.end) {
306
240
  end = {
307
241
  column: opts.end.column,
308
- line: opts.end.line,
309
- offset: sourceOffset(inputString, opts.end)
242
+ line: opts.end.line
310
243
  }
311
- } else if (typeof opts.endIndex === 'number') {
244
+ } else if (opts.endIndex) {
312
245
  end = this.positionInside(opts.endIndex)
313
246
  } else if (opts.index) {
314
247
  end = this.positionInside(opts.index + 1)
@@ -319,11 +252,7 @@ class Node {
319
252
  end.line < start.line ||
320
253
  (end.line === start.line && end.column <= start.column)
321
254
  ) {
322
- end = {
323
- column: start.column + 1,
324
- line: start.line,
325
- offset: start.offset + 1
326
- }
255
+ end = { column: start.column + 1, line: start.line }
327
256
  }
328
257
 
329
258
  return { end, start }
@@ -398,7 +327,6 @@ class Node {
398
327
  } else if (typeof value === 'object' && value.toJSON) {
399
328
  fixed[name] = value.toJSON(null, inputs)
400
329
  } else if (name === 'source') {
401
- if (value == null) continue
402
330
  let inputId = inputs.get(value.input)
403
331
  if (inputId == null) {
404
332
  inputId = inputsNextIndex
@@ -438,11 +366,15 @@ class Node {
438
366
  return result
439
367
  }
440
368
 
441
- warn(result, text, opts = {}) {
369
+ warn(result, text, opts) {
442
370
  let data = { node: this }
443
371
  for (let i in opts) data[i] = opts[i]
444
372
  return result.warn(text, data)
445
373
  }
374
+
375
+ get proxyOf() {
376
+ return this
377
+ }
446
378
  }
447
379
 
448
380
  module.exports = Node
@@ -1,8 +1,8 @@
1
1
  'use strict'
2
2
 
3
3
  let Container = require('./container')
4
- let Input = require('./input')
5
4
  let Parser = require('./parser')
5
+ let Input = require('./input')
6
6
 
7
7
  function parse(css, opts) {
8
8
  let input = new Input(css, opts)
@@ -1,11 +1,11 @@
1
1
  'use strict'
2
2
 
3
- let AtRule = require('./at-rule')
4
- let Comment = require('./comment')
5
3
  let Declaration = require('./declaration')
4
+ let tokenizer = require('./tokenize')
5
+ let Comment = require('./comment')
6
+ let AtRule = require('./at-rule')
6
7
  let Root = require('./root')
7
8
  let Rule = require('./rule')
8
- let tokenizer = require('./tokenize')
9
9
 
10
10
  const SAFE_COMMENT_NEIGHBOR = {
11
11
  empty: true,
@@ -28,6 +28,7 @@ class Parser {
28
28
  this.current = this.root
29
29
  this.spaces = ''
30
30
  this.semicolon = false
31
+ this.customProperty = false
31
32
 
32
33
  this.createTokenizer()
33
34
  this.root.source = { input, start: { column: 1, line: 1, offset: 0 } }
@@ -143,7 +144,7 @@ class Parser {
143
144
 
144
145
  colon(tokens) {
145
146
  let brackets = 0
146
- let prev, token, type
147
+ let token, type, prev
147
148
  for (let [i, element] of tokens.entries()) {
148
149
  token = element
149
150
  type = token[0]
@@ -176,7 +177,7 @@ class Parser {
176
177
  node.source.end.offset++
177
178
 
178
179
  let text = token[1].slice(2, -2)
179
- if (!text.trim()) {
180
+ if (/^\s*$/.test(text)) {
180
181
  node.text = ''
181
182
  node.raws.left = text
182
183
  node.raws.right = ''
@@ -267,12 +268,12 @@ class Parser {
267
268
  let str = ''
268
269
  for (let j = i; j > 0; j--) {
269
270
  let type = cache[j][0]
270
- if (str.trim().startsWith('!') && type !== 'space') {
271
+ if (str.trim().indexOf('!') === 0 && type !== 'space') {
271
272
  break
272
273
  }
273
274
  str = cache.pop()[1] + str
274
275
  }
275
- if (str.trim().startsWith('!')) {
276
+ if (str.trim().indexOf('!') === 0) {
276
277
  node.important = true
277
278
  node.raws.important = str
278
279
  tokens = cache
@@ -347,8 +348,6 @@ class Parser {
347
348
  if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) {
348
349
  prev.raws.ownSemicolon = this.spaces
349
350
  this.spaces = ''
350
- prev.source.end = this.getPosition(token[2])
351
- prev.source.end.offset += prev.raws.ownSemicolon.length
352
351
  }
353
352
  }
354
353
  }
@@ -593,7 +592,7 @@ class Parser {
593
592
 
594
593
  unknownWord(tokens) {
595
594
  throw this.input.error(
596
- 'Unknown word ' + tokens[0][1],
595
+ 'Unknown word',
597
596
  { offset: tokens[0][2] },
598
597
  { offset: tokens[0][2] + tokens[0][1].length }
599
598
  )
@@ -1,23 +1,23 @@
1
1
  'use strict'
2
2
 
3
- let AtRule = require('./at-rule')
4
- let Comment = require('./comment')
5
- let Container = require('./container')
6
3
  let CssSyntaxError = require('./css-syntax-error')
7
4
  let Declaration = require('./declaration')
8
- let Document = require('./document')
9
- let fromJSON = require('./fromJSON')
10
- let Input = require('./input')
11
5
  let LazyResult = require('./lazy-result')
12
- let list = require('./list')
13
- let Node = require('./node')
14
- let parse = require('./parse')
6
+ let Container = require('./container')
15
7
  let Processor = require('./processor')
16
- let Result = require('./result.js')
17
- let Root = require('./root')
18
- let Rule = require('./rule')
19
8
  let stringify = require('./stringify')
9
+ let fromJSON = require('./fromJSON')
10
+ let Document = require('./document')
20
11
  let Warning = require('./warning')
12
+ let Comment = require('./comment')
13
+ let AtRule = require('./at-rule')
14
+ let Result = require('./result.js')
15
+ let Input = require('./input')
16
+ let parse = require('./parse')
17
+ let list = require('./list')
18
+ let Rule = require('./rule')
19
+ let Root = require('./root')
20
+ let Node = require('./node')
21
21
 
22
22
  function postcss(...plugins) {
23
23
  if (plugins.length === 1 && Array.isArray(plugins[0])) {
@@ -1,8 +1,8 @@
1
1
  'use strict'
2
2
 
3
+ let { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')
3
4
  let { existsSync, readFileSync } = require('fs')
4
5
  let { dirname, join } = require('path')
5
- let { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')
6
6
 
7
7
  function fromBase64(str) {
8
8
  if (Buffer) {
@@ -16,7 +16,6 @@ function fromBase64(str) {
16
16
  class PreviousMap {
17
17
  constructor(css, opts) {
18
18
  if (opts.map === false) return
19
- if (opts.unsafeMap) this.unsafeMap = true
20
19
  this.loadAnnotation(css)
21
20
  this.inline = this.startWith(this.annotation, 'data:')
22
21
 
@@ -31,7 +30,7 @@ class PreviousMap {
31
30
 
32
31
  consumer() {
33
32
  if (!this.consumerCache) {
34
- this.consumerCache = new SourceMapConsumer(this.json || this.text)
33
+ this.consumerCache = new SourceMapConsumer(this.text)
35
34
  }
36
35
  return this.consumerCache
37
36
  }
@@ -42,18 +41,15 @@ class PreviousMap {
42
41
  let charsetUri = /^data:application\/json;charset=utf-?8,/
43
42
  let uri = /^data:application\/json,/
44
43
 
45
- let uriMatch = text.match(charsetUri) || text.match(uri)
46
- if (uriMatch) {
47
- return decodeURIComponent(text.substr(uriMatch[0].length))
44
+ if (charsetUri.test(text) || uri.test(text)) {
45
+ return decodeURIComponent(text.substr(RegExp.lastMatch.length))
48
46
  }
49
47
 
50
- let baseUriMatch = text.match(baseCharsetUri) || text.match(baseUri)
51
- if (baseUriMatch) {
52
- return fromBase64(text.substr(baseUriMatch[0].length))
48
+ if (baseCharsetUri.test(text) || baseUri.test(text)) {
49
+ return fromBase64(text.substr(RegExp.lastMatch.length))
53
50
  }
54
51
 
55
- let encoding = text.slice('data:application/json;'.length)
56
- encoding = encoding.slice(0, encoding.indexOf(','))
52
+ let encoding = text.match(/data:application\/json;([^,]+),/)[1]
57
53
  throw new Error('Unsupported source map encoding ' + encoding)
58
54
  }
59
55
 
@@ -71,7 +67,7 @@ class PreviousMap {
71
67
  }
72
68
 
73
69
  loadAnnotation(css) {
74
- let comments = css.match(/\/\*\s*# sourceMappingURL=/g)
70
+ let comments = css.match(/\/\*\s*# sourceMappingURL=/gm)
75
71
  if (!comments) return
76
72
 
77
73
  // sourceMappingURLs from comments, strings, etc.
@@ -84,13 +80,7 @@ class PreviousMap {
84
80
  }
85
81
  }
86
82
 
87
- loadFile(path, cssFile, trusted) {
88
- /* c8 ignore next 5 */
89
- if (!trusted && !this.unsafeMap) {
90
- if (!/\.map$/i.test(path)) {
91
- return undefined
92
- }
93
- }
83
+ loadFile(path) {
94
84
  this.root = dirname(path)
95
85
  if (existsSync(path)) {
96
86
  this.mapFile = path
@@ -107,7 +97,7 @@ class PreviousMap {
107
97
  } else if (typeof prev === 'function') {
108
98
  let prevPath = prev(file)
109
99
  if (prevPath) {
110
- let map = this.loadFile(prevPath, file, true)
100
+ let map = this.loadFile(prevPath)
111
101
  if (!map) {
112
102
  throw new Error(
113
103
  'Unable to load previous source map: ' + prevPath.toString()
@@ -131,16 +121,7 @@ class PreviousMap {
131
121
  } else if (this.annotation) {
132
122
  let map = this.annotation
133
123
  if (file) map = join(dirname(file), map)
134
- let unknown = this.loadFile(map, file, false)
135
- if (unknown) {
136
- try {
137
- /* c8 ignore next 4 */
138
- this.json = JSON.parse(unknown.replace(/^\)]}'[^\n]*\n/, ''))
139
- } catch {
140
- return undefined
141
- }
142
- }
143
- return unknown
124
+ return this.loadFile(map)
144
125
  }
145
126
  }
146
127
 
@@ -1,13 +1,13 @@
1
1
  'use strict'
2
2
 
3
- let Document = require('./document')
4
- let LazyResult = require('./lazy-result')
5
3
  let NoWorkResult = require('./no-work-result')
4
+ let LazyResult = require('./lazy-result')
5
+ let Document = require('./document')
6
6
  let Root = require('./root')
7
7
 
8
8
  class Processor {
9
9
  constructor(plugins = []) {
10
- this.version = '8.5.12'
10
+ this.version = '8.4.31'
11
11
  this.plugins = this.normalize(plugins)
12
12
  }
13
13
 
@@ -43,10 +43,10 @@ class Processor {
43
43
 
44
44
  process(css, opts = {}) {
45
45
  if (
46
- !this.plugins.length &&
47
- !opts.parser &&
48
- !opts.stringifier &&
49
- !opts.syntax
46
+ this.plugins.length === 0 &&
47
+ typeof opts.parser === 'undefined' &&
48
+ typeof opts.stringifier === 'undefined' &&
49
+ typeof opts.syntax === 'undefined'
50
50
  ) {
51
51
  return new NoWorkResult(this, css, opts)
52
52
  } else {
@@ -3,16 +3,12 @@
3
3
  let Warning = require('./warning')
4
4
 
5
5
  class Result {
6
- get content() {
7
- return this.css
8
- }
9
-
10
6
  constructor(processor, root, opts) {
11
7
  this.processor = processor
12
8
  this.messages = []
13
9
  this.root = root
14
10
  this.opts = opts
15
- this.css = ''
11
+ this.css = undefined
16
12
  this.map = undefined
17
13
  }
18
14
 
@@ -36,6 +32,10 @@ class Result {
36
32
  warnings() {
37
33
  return this.messages.filter(i => i.type === 'warning')
38
34
  }
35
+
36
+ get content() {
37
+ return this.css
38
+ }
39
39
  }
40
40
 
41
41
  module.exports = Result
@@ -4,6 +4,12 @@ let Container = require('./container')
4
4
  let list = require('./list')
5
5
 
6
6
  class Rule extends Container {
7
+ constructor(defaults) {
8
+ super(defaults)
9
+ this.type = 'rule'
10
+ if (!this.nodes) this.nodes = []
11
+ }
12
+
7
13
  get selectors() {
8
14
  return list.comma(this.selector)
9
15
  }
@@ -13,12 +19,6 @@ class Rule extends Container {
13
19
  let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')
14
20
  this.selector = values.join(sep)
15
21
  }
16
-
17
- constructor(defaults) {
18
- super(defaults)
19
- this.type = 'rule'
20
- if (!this.nodes) this.nodes = []
21
- }
22
22
  }
23
23
 
24
24
  module.exports = Rule