@agent-native/core 0.91.2 → 0.92.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 (216) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +17 -0
  3. package/corpus/core/docs/content/faq.mdx +17 -0
  4. package/corpus/core/docs/content/notifications.mdx +12 -6
  5. package/corpus/core/package.json +1 -1
  6. package/corpus/core/src/agent/production-agent.ts +140 -46
  7. package/corpus/core/src/agent/tool-search.ts +71 -4
  8. package/corpus/core/src/cli/index.ts +20 -0
  9. package/corpus/core/src/cli/upgrade.ts +798 -0
  10. package/corpus/core/src/client/AssistantChat.tsx +1 -1
  11. package/corpus/core/src/client/HighlightedCodeBlock.tsx +20 -3
  12. package/corpus/core/src/client/agent-chat-adapter.ts +31 -6
  13. package/corpus/core/src/client/chat/message-components.tsx +85 -8
  14. package/corpus/core/src/client/chat/tool-call-display.tsx +355 -144
  15. package/corpus/core/src/client/code-agent-chat-adapter.ts +2 -9
  16. package/corpus/core/src/client/session-replay.ts +3 -97
  17. package/corpus/core/src/client/settings/SettingsPanel.tsx +533 -389
  18. package/corpus/core/src/client/settings/SettingsSection.tsx +154 -17
  19. package/corpus/core/src/client/sse-event-processor.ts +29 -2
  20. package/corpus/core/src/extensions/actions.ts +113 -5
  21. package/corpus/core/src/notifications/channels.ts +88 -25
  22. package/corpus/core/src/notifications/registry.ts +17 -3
  23. package/corpus/core/src/notifications/types.ts +4 -1
  24. package/corpus/core/src/server/agent-chat-plugin.ts +7 -3
  25. package/corpus/core/src/server/request-context.ts +7 -0
  26. package/corpus/core/src/styles/agent-conversation.css +1 -1
  27. package/corpus/core/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +20 -2
  28. package/corpus/core/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  29. package/corpus/core/src/templates/default/AGENTS.md +10 -3
  30. package/corpus/core/src/templates/default/package.json +2 -1
  31. package/corpus/core/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  32. package/corpus/core/src/templates/headless/AGENTS.md +9 -3
  33. package/corpus/core/src/templates/headless/package.json +1 -0
  34. package/corpus/core/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +20 -2
  35. package/corpus/core/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  36. package/corpus/core/src/templates/workspace-root/AGENTS.md +10 -4
  37. package/corpus/core/src/templates/workspace-root/package.json +1 -0
  38. package/corpus/templates/analytics/.agents/skills/self-modifying-code/SKILL.md +20 -2
  39. package/corpus/templates/analytics/.agents/skills/session-replay/SKILL.md +5 -6
  40. package/corpus/templates/analytics/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  41. package/corpus/templates/analytics/AGENTS.md +7 -5
  42. package/corpus/templates/analytics/actions/save-monitor.ts +14 -0
  43. package/corpus/templates/analytics/app/components/dashboard/DataTable.tsx +41 -6
  44. package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +122 -11
  45. package/corpus/templates/analytics/app/pages/monitoring/MonitoringPage.tsx +8 -2
  46. package/corpus/templates/analytics/app/pages/monitoring/uptime/MonitorFormPage.tsx +151 -32
  47. package/corpus/templates/analytics/app/pages/monitoring/uptime/i18n.ts +17 -2
  48. package/corpus/templates/analytics/app/pages/monitoring/uptime/types.ts +4 -0
  49. package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +54 -190
  50. package/corpus/templates/analytics/changelog/2026-07-08-dashboard-tables-keep-their-size-while-loading.md +6 -0
  51. package/corpus/templates/analytics/changelog/2026-07-08-monitoring-uptime-and-errors-tabs-now-clearly-show-which-view-is-active.md +6 -0
  52. package/corpus/templates/analytics/changelog/2026-07-08-session-replay-uses-stock-rrweb-sizing-again-so-recorded.md +6 -0
  53. package/corpus/templates/analytics/changelog/2026-07-08-sidebar-dashboard-menus-now-open-above-the-dashboard-canvas.md +6 -0
  54. package/corpus/templates/analytics/changelog/2026-07-08-uptime-alerting-clarifies-in-app-inbox-vs-email-and-lets-you-paste-slack-or-webhook-urls-per-monitor.md +6 -0
  55. package/corpus/templates/analytics/docs/uptime-monitoring.md +13 -11
  56. package/corpus/templates/analytics/server/db/schema-monitoring.ts +4 -0
  57. package/corpus/templates/analytics/server/lib/uptime-monitors.ts +60 -12
  58. package/corpus/templates/analytics/server/plugins/db.ts +10 -0
  59. package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +20 -2
  60. package/corpus/templates/assets/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  61. package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +20 -2
  62. package/corpus/templates/brain/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  63. package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +20 -2
  64. package/corpus/templates/calendar/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  65. package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +20 -2
  66. package/corpus/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  67. package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +20 -2
  68. package/corpus/templates/clips/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  69. package/corpus/templates/clips/changelog/2026-07-08-desktop-meeting-notes-stay-active-from-tray-and-shortcut-controls.md +6 -0
  70. package/corpus/templates/clips/changelog/2026-07-08-desktop-meeting-popovers-can-start-notes-and-join-the-meetin.md +6 -0
  71. package/corpus/templates/clips/changelog/2026-07-08-meeting-notes-keep-their-recording-state-when-the-desktop.md +6 -0
  72. package/corpus/templates/clips/changelog/2026-07-08-meeting-reminder-dropdowns-now-expand-fully-instead-of-being.md +6 -0
  73. package/corpus/templates/clips/desktop/src/app.tsx +123 -3
  74. package/corpus/templates/clips/desktop/src/hooks/useMeetingTranscription.ts +15 -1
  75. package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +23 -0
  76. package/corpus/templates/clips/desktop/src/styles.css +23 -1
  77. package/corpus/templates/clips/desktop/src-tauri/src/adhoc_meetings_watcher.rs +1 -3
  78. package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +40 -6
  79. package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +4 -2
  80. package/corpus/templates/clips/desktop/src-tauri/src/meetings_watcher.rs +3 -5
  81. package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +23 -19
  82. package/corpus/templates/clips/desktop/src-tauri/src/shortcuts.rs +3 -3
  83. package/corpus/templates/clips/desktop/src-tauri/src/silence_detector.rs +0 -1
  84. package/corpus/templates/clips/desktop/src-tauri/src/state.rs +5 -0
  85. package/corpus/templates/clips/desktop/src-tauri/src/tray.rs +18 -6
  86. package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +20 -2
  87. package/corpus/templates/content/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  88. package/corpus/templates/content/actions/_batch-utils.ts +8 -0
  89. package/corpus/templates/content/actions/_builder-cms-read-client.ts +7 -5
  90. package/corpus/templates/content/actions/_database-source-utils.ts +776 -319
  91. package/corpus/templates/content/actions/_database-utils.ts +6 -1
  92. package/corpus/templates/content/actions/_property-utils.ts +168 -0
  93. package/corpus/templates/content/actions/add-content-database-source-field-property.ts +19 -12
  94. package/corpus/templates/content/actions/bind-content-database-source-field.ts +19 -12
  95. package/corpus/templates/content/actions/delete-document.ts +9 -13
  96. package/corpus/templates/content/actions/refresh-content-database-source.ts +5 -5
  97. package/corpus/templates/content/app/components/editor/body-hydration.ts +35 -11
  98. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +47 -5
  99. package/corpus/templates/content/app/hooks/use-documents.ts +8 -2
  100. package/corpus/templates/content/changelog/2026-07-08-builder-source-sync-now-completes-reliably-on-hosted-databases.md +6 -0
  101. package/corpus/templates/content/changelog/2026-07-08-fixed-builder-database-sync-so-large-sources-continue-past-t.md +6 -0
  102. package/corpus/templates/content/server/plugins/db.ts +19 -0
  103. package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +20 -2
  104. package/corpus/templates/design/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  105. package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +20 -2
  106. package/corpus/templates/dispatch/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  107. package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +20 -2
  108. package/corpus/templates/forms/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  109. package/corpus/templates/macros/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  110. package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +20 -2
  111. package/corpus/templates/mail/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  112. package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +20 -2
  113. package/corpus/templates/plan/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  114. package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +20 -2
  115. package/corpus/templates/slides/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  116. package/corpus/templates/videos/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  117. package/corpus/templates/voice/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  118. package/dist/agent/production-agent.d.ts +5 -1
  119. package/dist/agent/production-agent.d.ts.map +1 -1
  120. package/dist/agent/production-agent.js +112 -42
  121. package/dist/agent/production-agent.js.map +1 -1
  122. package/dist/agent/tool-search.d.ts +2 -0
  123. package/dist/agent/tool-search.d.ts.map +1 -1
  124. package/dist/agent/tool-search.js +60 -4
  125. package/dist/agent/tool-search.js.map +1 -1
  126. package/dist/cli/index.js +19 -0
  127. package/dist/cli/index.js.map +1 -1
  128. package/dist/cli/upgrade.d.ts +100 -0
  129. package/dist/cli/upgrade.d.ts.map +1 -0
  130. package/dist/cli/upgrade.js +678 -0
  131. package/dist/cli/upgrade.js.map +1 -0
  132. package/dist/client/AssistantChat.js +1 -1
  133. package/dist/client/AssistantChat.js.map +1 -1
  134. package/dist/client/HighlightedCodeBlock.d.ts +2 -0
  135. package/dist/client/HighlightedCodeBlock.d.ts.map +1 -1
  136. package/dist/client/HighlightedCodeBlock.js +10 -1
  137. package/dist/client/HighlightedCodeBlock.js.map +1 -1
  138. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  139. package/dist/client/agent-chat-adapter.js +32 -4
  140. package/dist/client/agent-chat-adapter.js.map +1 -1
  141. package/dist/client/chat/message-components.d.ts.map +1 -1
  142. package/dist/client/chat/message-components.js +61 -8
  143. package/dist/client/chat/message-components.js.map +1 -1
  144. package/dist/client/chat/tool-call-display.d.ts +12 -0
  145. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  146. package/dist/client/chat/tool-call-display.js +136 -42
  147. package/dist/client/chat/tool-call-display.js.map +1 -1
  148. package/dist/client/code-agent-chat-adapter.js +2 -9
  149. package/dist/client/code-agent-chat-adapter.js.map +1 -1
  150. package/dist/client/session-replay.d.ts +0 -8
  151. package/dist/client/session-replay.d.ts.map +1 -1
  152. package/dist/client/session-replay.js +3 -80
  153. package/dist/client/session-replay.js.map +1 -1
  154. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  155. package/dist/client/settings/SettingsPanel.js +52 -19
  156. package/dist/client/settings/SettingsPanel.js.map +1 -1
  157. package/dist/client/settings/SettingsSection.d.ts +19 -4
  158. package/dist/client/settings/SettingsSection.d.ts.map +1 -1
  159. package/dist/client/settings/SettingsSection.js +33 -4
  160. package/dist/client/settings/SettingsSection.js.map +1 -1
  161. package/dist/client/sse-event-processor.d.ts +9 -0
  162. package/dist/client/sse-event-processor.d.ts.map +1 -1
  163. package/dist/client/sse-event-processor.js +20 -2
  164. package/dist/client/sse-event-processor.js.map +1 -1
  165. package/dist/collab/routes.d.ts +1 -1
  166. package/dist/extensions/actions.d.ts.map +1 -1
  167. package/dist/extensions/actions.js +85 -5
  168. package/dist/extensions/actions.js.map +1 -1
  169. package/dist/notifications/channels.d.ts +8 -3
  170. package/dist/notifications/channels.d.ts.map +1 -1
  171. package/dist/notifications/channels.js +61 -22
  172. package/dist/notifications/channels.js.map +1 -1
  173. package/dist/notifications/registry.d.ts.map +1 -1
  174. package/dist/notifications/registry.js +14 -3
  175. package/dist/notifications/registry.js.map +1 -1
  176. package/dist/notifications/routes.d.ts +1 -1
  177. package/dist/notifications/types.d.ts +4 -1
  178. package/dist/notifications/types.d.ts.map +1 -1
  179. package/dist/notifications/types.js.map +1 -1
  180. package/dist/observability/routes.d.ts +1 -1
  181. package/dist/resources/handlers.d.ts +1 -1
  182. package/dist/server/agent-chat-plugin.d.ts +5 -1
  183. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  184. package/dist/server/agent-chat-plugin.js +2 -2
  185. package/dist/server/agent-chat-plugin.js.map +1 -1
  186. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  187. package/dist/server/request-context.d.ts +7 -0
  188. package/dist/server/request-context.d.ts.map +1 -1
  189. package/dist/server/request-context.js.map +1 -1
  190. package/dist/styles/agent-conversation.css +1 -1
  191. package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +20 -2
  192. package/dist/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  193. package/dist/templates/default/AGENTS.md +10 -3
  194. package/dist/templates/default/package.json +2 -1
  195. package/dist/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  196. package/dist/templates/headless/AGENTS.md +9 -3
  197. package/dist/templates/headless/package.json +1 -0
  198. package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +20 -2
  199. package/dist/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  200. package/dist/templates/workspace-root/AGENTS.md +10 -4
  201. package/dist/templates/workspace-root/package.json +1 -0
  202. package/docs/content/faq.mdx +17 -0
  203. package/docs/content/notifications.mdx +12 -6
  204. package/package.json +2 -2
  205. package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +20 -2
  206. package/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  207. package/src/templates/default/AGENTS.md +10 -3
  208. package/src/templates/default/package.json +2 -1
  209. package/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  210. package/src/templates/headless/AGENTS.md +9 -3
  211. package/src/templates/headless/package.json +1 -0
  212. package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +20 -2
  213. package/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  214. package/src/templates/workspace-root/AGENTS.md +10 -4
  215. package/src/templates/workspace-root/package.json +1 -0
  216. package/corpus/templates/analytics/changelog/2026-07-08-session-replay-clamps-ultra-wide-viewports-while-keeping-the.md +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/cli/upgrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAC5C,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAuFlC,MAAM,SAAS,GAAc;IAC3B,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IACtC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;IACxC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAChC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE;QACvB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;QACjC,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;KACpC,CAAC;IACJ,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,MAAM,IAAI,GAAsB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,mEAAmE;QACrE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAE,GAA2B,SAAS;IACrE,EAAE,CAAC,GAAG,CACJ;QACE,QAAQ;QACR,yFAAyF;QACzF,oFAAoF;QACpF,iFAAiF;QACjF,EAAE;QACF,UAAU;QACV,2EAA2E;QAC3E,4DAA4D;QAC5D,iDAAiD;QACjD,+EAA+E;QAC/E,4CAA4C;QAC5C,gFAAgF;QAChF,EAAE;QACF,mEAAmE;QACnE,yEAAyE;QACzE,2EAA2E;QAC3E,oEAAoE;KACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAoB,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,KAAsB;IAC7D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACzB,OAAO,CACL,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACvB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QACpB,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACvB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAe;IAC1D,IAAI,sBAAsB,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,gBAAgB,CAAC;AAC7C,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAY,EACZ,GAAoB;IAEpB,MAAM,QAAQ,GAA+B,EAAE,CAAC;IAChD,MAAM,MAAM,GAGP;QACH,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE;QACrD,EAAE,KAAK,EAAE,0BAA0B,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE;QACzE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE;QAC1C,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE;KAC/C,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,SAAS;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,uDAAuD;YACvD,wDAAwD;YACxD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CACnB,IAAY,EACZ,GAAoB;IAEpB,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG;QACf,cAAc;QACd,iBAAiB;QACjB,sBAAsB;KACd,CAAC;IACX,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC9C,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC;gBAAE,SAAS;YACrD,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI;gBACJ,OAAO;gBACP,IAAI;gBACJ,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,gBAAgB;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,GAAoB,EAAE,KAA2B;IACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,oBAAoB,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/B,IAAI,WAAW,EAAE,CAAC;oBAChB,YAAY,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;gBAClE,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,GAAG;oBACT,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;oBAC9C,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;iBAChD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,aAAqB;IAChE,MAAM,QAAQ,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC3D,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;gBAC3B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACrC,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,6BAA6B,CAAC,aAAqB;IAC1D,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC;QACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClD,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,UAAU,GAAG,OAAO,KAAK,WAAW,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACtD,MAAM,OAAO,GAAG,OAAO;aACpB,KAAK,CAAC,CAAC,CAAC;aACR,IAAI,EAAE;aACN,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAY,EACZ,OAAe;IAEf,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,CAAC;IAClE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,4BAA4B,CACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACzC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,OAAO,EAAE;aACN,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC1C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aAC3D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,4BAA4B,CACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1C,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAW;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,8BAA8B,CACrC,WAAmB,EACnB,WAAmB;IAEnB,IAAI,GAAG,GAAG,WAAW,CAAC;IACtB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,GAAG,EACH,cAAc,EACd,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EACzB,cAAc,CACf,CAAC;QACF,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3E,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACtE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,0CAA0C;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,EAA2B;IAC9C,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAuB;IAEvB,MAAM,QAAQ,GAA+B,EAAE,CAAC;IAChD,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,QAAQ,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,oBAAoB,GAAG,8BAA8B,CACzD,OAAO,CAAC,IAAI,EACZ,oBAAoB,CACrB,CAAC;IACF,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;IAC5C,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5D,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,QAAQ;QACR,KAAK;QACL,oBAAoB;QACpB,cAAc;QACd,iBAAiB,EAAE,kBAAkB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,IAAY;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,OAAO,GAAG,IAAI,GAAG,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA2B;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IACvE,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CACR,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,GAAG,QAAQ,OAAO,CAAC,KAAK,EAAE,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CACR,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,EAAE,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,gBAAgB,GAAG;IACvB,gEAAgE;IAChE,mFAAmF;IACnF,2FAA2F;IAC3F,wFAAwF;IACxF,yCAAyC;CAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAc,EACd,EAAE,GAAc,SAAS;IAEzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACzC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,OAAO,GACX,4GAA4G,CAAC;QAC/G,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,EAAE,CAAC,GAAG,CACJ,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CACtE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACX,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAqB;QAC/B,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM;QACN,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,CAAC;KACZ,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;QAClB,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,OAAO;YACZ,gJAAgJ,CAAC;QACnJ,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAClC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACX,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACX,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAChB,EAAE,EAAE,QAAQ;QACZ,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QAChD,MAAM,EACJ,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,6DAA6D;YAC/D,CAAC,CAAC,gCAAgC;KACvC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,2DAA2D;SACpE,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,MAAM,CAAC,KAAK;iBACjB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE,CACvE;iBACA,IAAI,CAAC,IAAI,CAAC;SACd,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACvB,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAW,MAAM,CAAC,KAAK,CAAC,MAAM,oCAAoC;SAC3E,CAAC,CAAC;IACL,CAAC;IAED,WAAW;IACX,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,SAAS;YACb,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,gBAAgB;SACzB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,SAAS;YACb,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU;SACxD,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE;YAC5C,GAAG,EAAE,OAAO,CAAC,IAAI;YACjB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SACtC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;YAClB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,iBAAiB,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,MAAM,CAAC,OAAO;aACvB,CAAC,CAAC;YACH,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,kBAAkB;IAClB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,eAAe;SACxB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,kCAAkC;SAC3C,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,QAAQ;gBACZ,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,kCAAkC;aAC3C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;YAClB,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;YACpB,MAAM,CAAC,OAAO,GAAG,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7F,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,QAAQ;gBACZ,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,MAAM,CAAC,OAAO;aACvB,CAAC,CAAC;YACH,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;IACH,CAAC;IAED,UAAU;IACV,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,eAAe;SACxB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,4BAA4B;SACrC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,QAAQ;gBACZ,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,qBAAqB;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,IAAI,GACR,EAAE,KAAK,KAAK;gBACV,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC;gBACtB,CAAC,CAAC,EAAE,KAAK,MAAM;oBACb,CAAC,CAAC,CAAC,WAAW,CAAC;oBACf,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE;gBACjC,GAAG,EAAE,OAAO,CAAC,IAAI;gBACjB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aACtC,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;gBAClB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;oBAChB,EAAE,EAAE,QAAQ;oBACZ,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,MAAM,CAAC,OAAO;iBACvB,CAAC,CAAC;gBACH,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC;YACzB,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM;QAC1B,CAAC,CAAC,sDAAsD;QACxD,CAAC,CAAC,qGAAqG,CAAC;IAC1G,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CACjB,EAAa,EACb,IAAuB,EACvB,MAAwB;IAExB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACX,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,EAAE,CAAC,GAAG,CACJ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC;IACJ,CAAC;IACD,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACX,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC","sourcesContent":["/**\n * `agent-native upgrade` — bring an existing Agent Native app/workspace current.\n *\n * Older branches often break after a core bump. Agents then invent\n * `pnpm.overrides` / patches against `@agent-native/*` (especially dispatch),\n * which makes things worse. This command is the supported path:\n *\n * 1. Doctor: refuse or warn on framework overrides/patches\n * 2. Bump `@agent-native/*` deps to `latest` (unless file:/link:/workspace:)\n * 3. Install\n * 4. Refresh scaffold skills (`skills update scaffold --project`)\n * 5. Verify with typecheck when available\n *\n * On failure: print the error and stop. Do not patch framework packages.\n */\nimport { spawnSync, type SpawnSyncReturns } from \"node:child_process\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst AGENT_NATIVE_SCOPE = \"@agent-native/\";\nconst PINNABLE_VERSION = \"latest\";\n\nexport type UpgradeCommand = \"run\" | \"check\" | \"help\";\n\nexport interface UpgradeCliOptions {\n command: UpgradeCommand;\n cwd?: string;\n dryRun?: boolean;\n skipInstall?: boolean;\n skipVerify?: boolean;\n skipSkills?: boolean;\n json?: boolean;\n help?: boolean;\n /** Force past doctor findings that would otherwise block (not recommended). */\n force?: boolean;\n}\n\nexport interface PackageJsonLike {\n name?: string;\n version?: string;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n optionalDependencies?: Record<string, string>;\n peerDependencies?: Record<string, string>;\n pnpm?: {\n overrides?: Record<string, string>;\n patchedDependencies?: Record<string, string>;\n };\n overrides?: Record<string, string>;\n resolutions?: Record<string, string>;\n scripts?: Record<string, string>;\n}\n\nexport interface FrameworkOverrideFinding {\n file: string;\n field: string;\n key: string;\n value: string;\n}\n\nexport interface AgentNativeDepBump {\n file: string;\n section: \"dependencies\" | \"devDependencies\" | \"optionalDependencies\";\n name: string;\n from: string;\n to: string;\n}\n\nexport interface UpgradeProject {\n root: string;\n kind: \"standalone\" | \"workspace\";\n packageFiles: string[];\n}\n\nexport interface UpgradeDoctorReport {\n project: UpgradeProject;\n findings: FrameworkOverrideFinding[];\n bumps: AgentNativeDepBump[];\n installedCoreVersion: string | null;\n cliCoreVersion: string | null;\n scaffoldStaleHint: boolean;\n}\n\nexport interface UpgradeRunResult {\n ok: boolean;\n dryRun: boolean;\n doctor: UpgradeDoctorReport;\n steps: Array<{\n id: string;\n status: \"ok\" | \"skipped\" | \"failed\" | \"planned\";\n detail?: string;\n }>;\n message: string;\n exitCode: number;\n}\n\nexport interface UpgradeIo {\n log: (message: string) => void;\n err: (message: string) => void;\n spawn: (\n command: string,\n args: string[],\n options: { cwd: string; stdio?: \"inherit\" | \"pipe\" },\n ) => SpawnSyncReturns<string | Buffer>;\n runSkillsUpdate: (cwd: string) => Promise<void>;\n}\n\nconst defaultIo: UpgradeIo = {\n log: (message) => console.log(message),\n err: (message) => console.error(message),\n spawn: (command, args, options) =>\n spawnSync(command, args, {\n cwd: options.cwd,\n stdio: options.stdio ?? \"inherit\",\n encoding: \"utf-8\",\n shell: process.platform === \"win32\",\n }),\n runSkillsUpdate: async (cwd) => {\n const { runSkills } = await import(\"./skills.js\");\n const previous = process.cwd();\n process.chdir(cwd);\n try {\n await runSkills([\"update\", \"scaffold\", \"--project\"]);\n } finally {\n process.chdir(previous);\n }\n },\n};\n\nexport function parseUpgradeArgs(argv: string[]): UpgradeCliOptions {\n const opts: UpgradeCliOptions = { command: \"run\" };\n for (let i = 0; i < argv.length; i++) {\n const arg = argv[i];\n if (arg === \"check\" || arg === \"doctor\") {\n opts.command = \"check\";\n } else if (arg === \"help\" || arg === \"--help\" || arg === \"-h\") {\n opts.command = \"help\";\n opts.help = true;\n } else if (arg === \"--dry-run\") {\n opts.dryRun = true;\n } else if (arg === \"--skip-install\") {\n opts.skipInstall = true;\n } else if (arg === \"--skip-verify\") {\n opts.skipVerify = true;\n } else if (arg === \"--skip-skills\") {\n opts.skipSkills = true;\n } else if (arg === \"--json\") {\n opts.json = true;\n } else if (arg === \"--force\") {\n opts.force = true;\n } else if (arg === \"--cwd\" && argv[i + 1]) {\n opts.cwd = argv[++i];\n } else if (arg.startsWith(\"--cwd=\")) {\n opts.cwd = arg.slice(\"--cwd=\".length);\n } else if (!arg.startsWith(\"-\")) {\n // Ignore unknown positional for forward-compat; help covers usage.\n }\n }\n return opts;\n}\n\nexport function printUpgradeHelp(io: Pick<UpgradeIo, \"log\"> = defaultIo): void {\n io.log(\n [\n \"Usage:\",\n \" agent-native upgrade Bring this app/workspace to current @agent-native/*\",\n \" agent-native upgrade check Doctor only: overrides, patches, pending bumps\",\n \" agent-native upgrade --dry-run Show the plan without writing or installing\",\n \"\",\n \"Options:\",\n \" --skip-install Bump package.json only; do not run the package manager\",\n \" --skip-skills Skip `skills update scaffold --project`\",\n \" --skip-verify Skip typecheck after upgrade\",\n \" --force Continue even when framework overrides/patches are present\",\n \" --json Machine-readable report\",\n \" --cwd <dir> Run against a project root other than the current directory\",\n \"\",\n \"On failure: report the error and stop. Do NOT add pnpm.overrides,\",\n \"patchedDependencies, or local patches against @agent-native/* packages.\",\n \"Do NOT edit node_modules/@agent-native/* or invent dispatch/core behavior\",\n \"overrides. Revert those changes and re-run `agent-native upgrade`.\",\n ].join(\"\\n\"),\n );\n}\n\nfunction readJsonFile(filePath: string): PackageJsonLike | null {\n try {\n return JSON.parse(fs.readFileSync(filePath, \"utf-8\")) as PackageJsonLike;\n } catch {\n return null;\n }\n}\n\nfunction writeJsonFile(filePath: string, value: PackageJsonLike): void {\n fs.writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\\n`);\n}\n\nexport function isAgentNativePackageName(name: string): boolean {\n return name === \"@agent-native\" || name.startsWith(AGENT_NATIVE_SCOPE);\n}\n\nexport function isPinnedOrLocalVersion(version: string): boolean {\n const v = version.trim();\n return (\n v.startsWith(\"file:\") ||\n v.startsWith(\"link:\") ||\n v.startsWith(\"workspace:\") ||\n v.startsWith(\"portal:\") ||\n v.startsWith(\"git+\") ||\n v.startsWith(\"github:\") ||\n v.startsWith(\"http:\") ||\n v.startsWith(\"https:\")\n );\n}\n\nexport function shouldBumpAgentNativeVersion(version: string): boolean {\n if (isPinnedOrLocalVersion(version)) return false;\n return version.trim() !== PINNABLE_VERSION;\n}\n\nfunction collectOverrideFindings(\n file: string,\n pkg: PackageJsonLike,\n): FrameworkOverrideFinding[] {\n const findings: FrameworkOverrideFinding[] = [];\n const tables: Array<{\n field: string;\n map: Record<string, string> | undefined;\n }> = [\n { field: \"pnpm.overrides\", map: pkg.pnpm?.overrides },\n { field: \"pnpm.patchedDependencies\", map: pkg.pnpm?.patchedDependencies },\n { field: \"overrides\", map: pkg.overrides },\n { field: \"resolutions\", map: pkg.resolutions },\n ];\n for (const table of tables) {\n if (!table.map) continue;\n for (const [key, value] of Object.entries(table.map)) {\n // Keys may be bare (`@agent-native/core`) or versioned\n // (`@agent-native/core@1.2.3` for patchedDependencies).\n if (key.includes(AGENT_NATIVE_SCOPE) || isAgentNativePackageName(key)) {\n findings.push({ file, field: table.field, key, value: String(value) });\n }\n }\n }\n return findings;\n}\n\nfunction collectBumps(\n file: string,\n pkg: PackageJsonLike,\n): AgentNativeDepBump[] {\n const bumps: AgentNativeDepBump[] = [];\n const sections = [\n \"dependencies\",\n \"devDependencies\",\n \"optionalDependencies\",\n ] as const;\n for (const section of sections) {\n const deps = pkg[section];\n if (!deps) continue;\n for (const [name, version] of Object.entries(deps)) {\n if (!isAgentNativePackageName(name)) continue;\n if (!shouldBumpAgentNativeVersion(version)) continue;\n bumps.push({\n file,\n section,\n name,\n from: version,\n to: PINNABLE_VERSION,\n });\n }\n }\n return bumps;\n}\n\nfunction applyBumps(pkg: PackageJsonLike, bumps: AgentNativeDepBump[]): void {\n for (const bump of bumps) {\n const section = pkg[bump.section];\n if (!section) continue;\n if (section[bump.name] === bump.from) {\n section[bump.name] = bump.to;\n }\n }\n}\n\nexport function detectUpgradeProject(cwd: string): UpgradeProject | null {\n const start = path.resolve(cwd);\n let dir = start;\n while (true) {\n const pkgPath = path.join(dir, \"package.json\");\n if (fs.existsSync(pkgPath)) {\n const pkg = readJsonFile(pkgPath);\n const hasCore =\n Boolean(pkg?.dependencies?.[\"@agent-native/core\"]) ||\n Boolean(pkg?.devDependencies?.[\"@agent-native/core\"]);\n const workspaceYaml = path.join(dir, \"pnpm-workspace.yaml\");\n const isWorkspace = fs.existsSync(workspaceYaml);\n if (hasCore || isWorkspace) {\n const packageFiles = [pkgPath];\n if (isWorkspace) {\n packageFiles.push(...workspacePackageFiles(dir, workspaceYaml));\n }\n return {\n root: dir,\n kind: isWorkspace ? \"workspace\" : \"standalone\",\n packageFiles: Array.from(new Set(packageFiles)),\n };\n }\n }\n const parent = path.dirname(dir);\n if (parent === dir) break;\n dir = parent;\n }\n return null;\n}\n\nfunction workspacePackageFiles(root: string, workspaceYaml: string): string[] {\n const patterns = parseWorkspacePackagePatterns(workspaceYaml);\n const included = new Set<string>();\n const excluded = new Set<string>();\n for (const rawPattern of patterns) {\n const exclude = rawPattern.startsWith(\"!\");\n const pattern = exclude ? rawPattern.slice(1) : rawPattern;\n const files = packageFilesForWorkspacePattern(root, pattern);\n for (const file of files) {\n if (exclude) excluded.add(file);\n else included.add(file);\n }\n }\n return Array.from(included)\n .filter((file) => !excluded.has(file))\n .sort();\n}\n\nfunction parseWorkspacePackagePatterns(workspaceYaml: string): string[] {\n let text = \"\";\n try {\n text = fs.readFileSync(workspaceYaml, \"utf-8\");\n } catch {\n return [\"apps/*\", \"packages/*\"];\n }\n const patterns: string[] = [];\n let inPackages = false;\n for (const line of text.split(/\\r?\\n/)) {\n const trimmed = line.trim();\n if (!trimmed || trimmed.startsWith(\"#\")) continue;\n if (/^[A-Za-z0-9_-]+:/.test(trimmed)) {\n inPackages = trimmed === \"packages:\";\n continue;\n }\n if (!inPackages || !trimmed.startsWith(\"-\")) continue;\n const pattern = trimmed\n .slice(1)\n .trim()\n .replace(/^['\"]|['\"]$/g, \"\");\n if (pattern) patterns.push(pattern);\n }\n return patterns.length ? patterns : [\"apps/*\", \"packages/*\"];\n}\n\nfunction packageFilesForWorkspacePattern(\n root: string,\n pattern: string,\n): string[] {\n const normalized = pattern.replace(/\\\\/g, \"/\").replace(/\\/+$/g, \"\");\n if (!normalized || normalized.includes(\"node_modules\")) return [];\n if (normalized.endsWith(\"/**\")) {\n return collectPackageFilesRecursive(\n path.join(root, normalized.slice(0, -3)),\n );\n }\n if (normalized.endsWith(\"/*\")) {\n const base = path.join(root, normalized.slice(0, -2));\n if (!fs.existsSync(base)) return [];\n return fs\n .readdirSync(base, { withFileTypes: true })\n .filter((entry) => entry.isDirectory())\n .map((entry) => path.join(base, entry.name, \"package.json\"))\n .filter((file) => fs.existsSync(file));\n }\n if (normalized.includes(\"*\")) {\n return collectPackageFilesRecursive(\n path.join(root, normalized.split(\"*\")[0]),\n );\n }\n const file = path.join(root, normalized, \"package.json\");\n return fs.existsSync(file) ? [file] : [];\n}\n\nfunction collectPackageFilesRecursive(dir: string): string[] {\n if (!fs.existsSync(dir)) return [];\n const files: string[] = [];\n for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {\n if (!entry.isDirectory()) continue;\n if (entry.name === \"node_modules\" || entry.name === \".git\") continue;\n const child = path.join(dir, entry.name);\n const pkg = path.join(child, \"package.json\");\n if (fs.existsSync(pkg)) files.push(pkg);\n files.push(...collectPackageFilesRecursive(child));\n }\n return files;\n}\n\nfunction resolveInstalledPackageVersion(\n projectRoot: string,\n packageName: string,\n): string | null {\n let dir = projectRoot;\n while (true) {\n const candidate = path.join(\n dir,\n \"node_modules\",\n ...packageName.split(\"/\"),\n \"package.json\",\n );\n if (fs.existsSync(candidate)) {\n const pkg = readJsonFile(candidate);\n return typeof pkg?.version === \"string\" ? pkg.version : null;\n }\n const parent = path.dirname(dir);\n if (parent === dir) break;\n dir = parent;\n }\n return null;\n}\n\nfunction readCliCoreVersion(): string | null {\n try {\n const here = path.dirname(fileURLToPath(import.meta.url));\n const pkgPath = path.resolve(here, \"../../package.json\");\n const pkg = readJsonFile(pkgPath);\n return typeof pkg?.version === \"string\" ? pkg.version : null;\n } catch {\n return null;\n }\n}\n\nfunction detectPackageManager(projectRoot: string): \"pnpm\" | \"npm\" | \"yarn\" {\n if (fs.existsSync(path.join(projectRoot, \"pnpm-lock.yaml\"))) return \"pnpm\";\n if (fs.existsSync(path.join(projectRoot, \"yarn.lock\"))) return \"yarn\";\n if (fs.existsSync(path.join(projectRoot, \"package-lock.json\"))) return \"npm\";\n // Prefer pnpm for Agent Native scaffolds.\n return \"pnpm\";\n}\n\nfunction installArgs(pm: \"pnpm\" | \"npm\" | \"yarn\"): string[] {\n if (pm === \"npm\") return [\"install\"];\n if (pm === \"yarn\") return [\"install\"];\n return [\"install\"];\n}\n\nexport function buildUpgradeDoctorReport(\n project: UpgradeProject,\n): UpgradeDoctorReport {\n const findings: FrameworkOverrideFinding[] = [];\n const bumps: AgentNativeDepBump[] = [];\n for (const file of project.packageFiles) {\n const pkg = readJsonFile(file);\n if (!pkg) continue;\n findings.push(...collectOverrideFindings(file, pkg));\n bumps.push(...collectBumps(file, pkg));\n }\n const installedCoreVersion = resolveInstalledPackageVersion(\n project.root,\n \"@agent-native/core\",\n );\n const cliCoreVersion = readCliCoreVersion();\n const skillsUpdateScript = project.packageFiles.some((file) => {\n const pkg = readJsonFile(file);\n return Boolean(pkg?.scripts?.[\"skills:update\"]);\n });\n return {\n project,\n findings,\n bumps,\n installedCoreVersion,\n cliCoreVersion,\n scaffoldStaleHint: skillsUpdateScript || bumps.length > 0,\n };\n}\n\nfunction relativeTo(root: string, file: string): string {\n const rel = path.relative(root, file);\n return rel || \".\";\n}\n\nfunction formatDoctorHuman(report: UpgradeDoctorReport): string {\n const lines: string[] = [];\n lines.push(`Project: ${report.project.root} (${report.project.kind})`);\n if (report.installedCoreVersion) {\n lines.push(`Installed @agent-native/core: ${report.installedCoreVersion}`);\n } else {\n lines.push(\"Installed @agent-native/core: (not found in node_modules)\");\n }\n if (report.cliCoreVersion) {\n lines.push(`CLI package version: ${report.cliCoreVersion}`);\n }\n if (report.findings.length === 0) {\n lines.push(\"Framework overrides/patches: none\");\n } else {\n lines.push(\"Framework overrides/patches:\");\n for (const finding of report.findings) {\n lines.push(\n ` - ${relativeTo(report.project.root, finding.file)} ${finding.field}[\"${finding.key}\"] = ${finding.value}`,\n );\n }\n }\n if (report.bumps.length === 0) {\n lines.push(\"Pending @agent-native/* bumps: none\");\n } else {\n lines.push(\"Pending @agent-native/* bumps:\");\n for (const bump of report.bumps) {\n lines.push(\n ` - ${relativeTo(report.project.root, bump.file)} ${bump.name}: ${bump.from} → ${bump.to}`,\n );\n }\n }\n return lines.join(\"\\n\");\n}\n\nconst FAILURE_GUIDANCE = [\n \"Upgrade failed. Do not paper over this with framework patches.\",\n \"Never add pnpm.overrides / patchedDependencies / resolutions for @agent-native/*.\",\n \"Never edit node_modules/@agent-native/* or invent local dispatch/core behavior overrides.\",\n \"Revert those changes if present, fix the app-level compile/runtime error, then re-run:\",\n \" npx @agent-native/core@latest upgrade\",\n].join(\"\\n\");\n\nexport async function runUpgrade(\n argv: string[],\n io: UpgradeIo = defaultIo,\n): Promise<number> {\n const opts = parseUpgradeArgs(argv);\n if (opts.help || opts.command === \"help\") {\n printUpgradeHelp(io);\n return 0;\n }\n\n const cwd = path.resolve(opts.cwd ?? process.cwd());\n const project = detectUpgradeProject(cwd);\n if (!project) {\n const message =\n \"No Agent Native app/workspace found. Run from an app or workspace root that depends on @agent-native/core.\";\n if (opts.json) {\n io.err(JSON.stringify({ ok: false, message }, null, 2));\n } else {\n io.err(message);\n }\n return 1;\n }\n\n const doctor = buildUpgradeDoctorReport(project);\n if (opts.command === \"check\") {\n if (opts.json) {\n io.log(\n JSON.stringify({ ok: doctor.findings.length === 0, doctor }, null, 2),\n );\n } else {\n io.log(formatDoctorHuman(doctor));\n if (doctor.findings.length > 0) {\n io.err(\"\");\n io.err(FAILURE_GUIDANCE);\n }\n }\n return doctor.findings.length > 0 ? 1 : 0;\n }\n\n const result: UpgradeRunResult = {\n ok: true,\n dryRun: Boolean(opts.dryRun),\n doctor,\n steps: [],\n message: \"\",\n exitCode: 0,\n };\n\n if (doctor.findings.length > 0 && !opts.force) {\n result.ok = false;\n result.exitCode = 1;\n result.message =\n \"Blocked: framework overrides/patches for @agent-native/* are present. Remove them, then re-run upgrade (or pass --force to continue unsafely).\";\n result.steps.push({\n id: \"doctor\",\n status: \"failed\",\n detail: result.message,\n });\n if (opts.json) {\n io.err(JSON.stringify(result, null, 2));\n } else {\n io.log(formatDoctorHuman(doctor));\n io.err(\"\");\n io.err(result.message);\n io.err(\"\");\n io.err(FAILURE_GUIDANCE);\n }\n return 1;\n }\n\n result.steps.push({\n id: \"doctor\",\n status: doctor.findings.length > 0 ? \"ok\" : \"ok\",\n detail:\n doctor.findings.length > 0\n ? \"Continuing with --force despite framework overrides/patches\"\n : \"No framework overrides/patches\",\n });\n\n // Apply package.json bumps.\n if (doctor.bumps.length === 0) {\n result.steps.push({\n id: \"bump\",\n status: \"skipped\",\n detail: \"All @agent-native/* deps already use latest or local pins\",\n });\n } else if (opts.dryRun) {\n result.steps.push({\n id: \"bump\",\n status: \"planned\",\n detail: doctor.bumps\n .map(\n (b) =>\n `${relativeTo(project.root, b.file)} ${b.name}: ${b.from} → ${b.to}`,\n )\n .join(\"; \"),\n });\n } else {\n const byFile = new Map<string, AgentNativeDepBump[]>();\n for (const bump of doctor.bumps) {\n const list = byFile.get(bump.file) ?? [];\n list.push(bump);\n byFile.set(bump.file, list);\n }\n for (const [file, bumps] of byFile) {\n const pkg = readJsonFile(file);\n if (!pkg) continue;\n applyBumps(pkg, bumps);\n writeJsonFile(file, pkg);\n }\n result.steps.push({\n id: \"bump\",\n status: \"ok\",\n detail: `Updated ${doctor.bumps.length} @agent-native/* dependency pin(s)`,\n });\n }\n\n // Install.\n if (opts.skipInstall) {\n result.steps.push({\n id: \"install\",\n status: \"skipped\",\n detail: \"--skip-install\",\n });\n } else if (opts.dryRun) {\n result.steps.push({\n id: \"install\",\n status: \"planned\",\n detail: `${detectPackageManager(project.root)} install`,\n });\n } else {\n const pm = detectPackageManager(project.root);\n const spawned = io.spawn(pm, installArgs(pm), {\n cwd: project.root,\n stdio: opts.json ? \"pipe\" : \"inherit\",\n });\n if (spawned.status !== 0) {\n result.ok = false;\n result.exitCode = spawned.status ?? 1;\n result.message = `${pm} install failed`;\n result.steps.push({\n id: \"install\",\n status: \"failed\",\n detail: result.message,\n });\n emitResult(io, opts, result);\n return result.exitCode;\n }\n result.steps.push({ id: \"install\", status: \"ok\", detail: `${pm} install` });\n }\n\n // Skills refresh.\n if (opts.skipSkills) {\n result.steps.push({\n id: \"skills\",\n status: \"skipped\",\n detail: \"--skip-skills\",\n });\n } else if (opts.dryRun) {\n result.steps.push({\n id: \"skills\",\n status: \"planned\",\n detail: \"skills update scaffold --project\",\n });\n } else {\n try {\n await io.runSkillsUpdate(project.root);\n result.steps.push({\n id: \"skills\",\n status: \"ok\",\n detail: \"skills update scaffold --project\",\n });\n } catch (err) {\n result.ok = false;\n result.exitCode = 1;\n result.message = `skills update failed: ${err instanceof Error ? err.message : String(err)}`;\n result.steps.push({\n id: \"skills\",\n status: \"failed\",\n detail: result.message,\n });\n emitResult(io, opts, result);\n return result.exitCode;\n }\n }\n\n // Verify.\n if (opts.skipVerify) {\n result.steps.push({\n id: \"verify\",\n status: \"skipped\",\n detail: \"--skip-verify\",\n });\n } else if (opts.dryRun) {\n result.steps.push({\n id: \"verify\",\n status: \"planned\",\n detail: \"typecheck (when available)\",\n });\n } else {\n const rootPkg = readJsonFile(path.join(project.root, \"package.json\"));\n const hasTypecheck = Boolean(rootPkg?.scripts?.typecheck);\n if (!hasTypecheck) {\n result.steps.push({\n id: \"verify\",\n status: \"skipped\",\n detail: \"no typecheck script\",\n });\n } else {\n const pm = detectPackageManager(project.root);\n const args =\n pm === \"npm\"\n ? [\"run\", \"typecheck\"]\n : pm === \"yarn\"\n ? [\"typecheck\"]\n : [\"typecheck\"];\n const spawned = io.spawn(pm, args, {\n cwd: project.root,\n stdio: opts.json ? \"pipe\" : \"inherit\",\n });\n if (spawned.status !== 0) {\n result.ok = false;\n result.exitCode = spawned.status ?? 1;\n result.message = \"typecheck failed\";\n result.steps.push({\n id: \"verify\",\n status: \"failed\",\n detail: result.message,\n });\n emitResult(io, opts, result);\n return result.exitCode;\n }\n result.steps.push({ id: \"verify\", status: \"ok\", detail: \"typecheck\" });\n }\n }\n\n result.message = opts.dryRun\n ? \"Dry run complete. Re-run without --dry-run to apply.\"\n : \"Upgrade complete. If the app still fails to run, fix app-level code — do not patch @agent-native/*.\";\n emitResult(io, opts, result);\n return 0;\n}\n\nfunction emitResult(\n io: UpgradeIo,\n opts: UpgradeCliOptions,\n result: UpgradeRunResult,\n): void {\n if (opts.json) {\n const sink = result.ok ? io.log : io.err;\n sink(JSON.stringify(result, null, 2));\n return;\n }\n io.log(formatDoctorHuman(result.doctor));\n io.log(\"\");\n for (const step of result.steps) {\n io.log(\n `[${step.status}] ${step.id}${step.detail ? ` — ${step.detail}` : \"\"}`,\n );\n }\n io.log(\"\");\n if (result.ok) {\n io.log(result.message);\n } else {\n io.err(result.message);\n io.err(\"\");\n io.err(FAILURE_GUIDANCE);\n }\n}\n"]}
@@ -126,7 +126,7 @@ function isAssistantUiDuplicateMessageIdError(error) {
126
126
  message.includes("same id already exists"));
127
127
  }
128
128
  function cloneContentParts(content) {
129
- return content.map((part) => part.type === "text"
129
+ return content.map((part) => part.type === "text" || part.type === "reasoning"
130
130
  ? { ...part }
131
131
  : {
132
132
  ...part,