@agent-native/core 0.16.2 → 0.16.3

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 (120) hide show
  1. package/README.md +21 -5
  2. package/dist/cli/code-agent-executor.js +1 -1
  3. package/dist/cli/code-agent-executor.js.map +1 -1
  4. package/dist/cli/code.d.ts.map +1 -1
  5. package/dist/cli/code.js +29 -4
  6. package/dist/cli/code.js.map +1 -1
  7. package/dist/client/AgentPanel.d.ts.map +1 -1
  8. package/dist/client/AgentPanel.js +9 -1
  9. package/dist/client/AgentPanel.js.map +1 -1
  10. package/dist/client/AssistantChat.js +2 -2
  11. package/dist/client/AssistantChat.js.map +1 -1
  12. package/dist/client/ConnectBuilderCard.js +1 -1
  13. package/dist/client/ConnectBuilderCard.js.map +1 -1
  14. package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
  15. package/dist/client/components/CodeRequiredDialog.js +3 -1
  16. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  17. package/dist/client/composer/AgentComposerFrame.d.ts +3 -1
  18. package/dist/client/composer/AgentComposerFrame.d.ts.map +1 -1
  19. package/dist/client/composer/AgentComposerFrame.js +3 -3
  20. package/dist/client/composer/AgentComposerFrame.js.map +1 -1
  21. package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -1
  22. package/dist/client/composer/ComposerPlusMenu.js +2 -7
  23. package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
  24. package/dist/client/composer/PromptComposer.d.ts +4 -1
  25. package/dist/client/composer/PromptComposer.d.ts.map +1 -1
  26. package/dist/client/composer/PromptComposer.js +3 -3
  27. package/dist/client/composer/PromptComposer.js.map +1 -1
  28. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  29. package/dist/client/composer/TiptapComposer.js +13 -3
  30. package/dist/client/composer/TiptapComposer.js.map +1 -1
  31. package/dist/client/onboarding/OnboardingPanel.js +1 -1
  32. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  33. package/dist/client/settings/BackgroundAgentSection.d.ts.map +1 -1
  34. package/dist/client/settings/BackgroundAgentSection.js +9 -2
  35. package/dist/client/settings/BackgroundAgentSection.js.map +1 -1
  36. package/dist/client/settings/BrowserSection.d.ts.map +1 -1
  37. package/dist/client/settings/BrowserSection.js +17 -3
  38. package/dist/client/settings/BrowserSection.js.map +1 -1
  39. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  40. package/dist/client/settings/SettingsPanel.js +5 -5
  41. package/dist/client/settings/SettingsPanel.js.map +1 -1
  42. package/dist/client/settings/useBuilderStatus.d.ts +15 -2
  43. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  44. package/dist/client/settings/useBuilderStatus.js +99 -11
  45. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  46. package/dist/client/settings/useBuilderStatus.spec.js +12 -6
  47. package/dist/client/settings/useBuilderStatus.spec.js.map +1 -1
  48. package/dist/code-agents/background-controller.d.ts +39 -0
  49. package/dist/code-agents/background-controller.d.ts.map +1 -0
  50. package/dist/code-agents/background-controller.js +249 -0
  51. package/dist/code-agents/background-controller.js.map +1 -0
  52. package/dist/code-agents/background-run.d.ts +58 -0
  53. package/dist/code-agents/background-run.d.ts.map +1 -0
  54. package/dist/code-agents/background-run.js +58 -0
  55. package/dist/code-agents/background-run.js.map +1 -0
  56. package/dist/code-agents/index.d.ts +2 -0
  57. package/dist/code-agents/index.d.ts.map +1 -1
  58. package/dist/code-agents/index.js +2 -0
  59. package/dist/code-agents/index.js.map +1 -1
  60. package/dist/connections/index.d.ts +1 -0
  61. package/dist/connections/index.d.ts.map +1 -1
  62. package/dist/connections/index.js +1 -0
  63. package/dist/connections/index.js.map +1 -1
  64. package/dist/connections/reader.d.ts +248 -0
  65. package/dist/connections/reader.d.ts.map +1 -0
  66. package/dist/connections/reader.js +461 -0
  67. package/dist/connections/reader.js.map +1 -0
  68. package/dist/credentials/index.d.ts +11 -0
  69. package/dist/credentials/index.d.ts.map +1 -1
  70. package/dist/credentials/index.js +40 -15
  71. package/dist/credentials/index.js.map +1 -1
  72. package/dist/index.d.ts +2 -2
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +2 -2
  75. package/dist/index.js.map +1 -1
  76. package/dist/server/agent-chat-plugin.d.ts +18 -0
  77. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  78. package/dist/server/agent-chat-plugin.js +57 -9
  79. package/dist/server/agent-chat-plugin.js.map +1 -1
  80. package/dist/server/agent-teams.d.ts +66 -1
  81. package/dist/server/agent-teams.d.ts.map +1 -1
  82. package/dist/server/agent-teams.js +433 -16
  83. package/dist/server/agent-teams.js.map +1 -1
  84. package/dist/server/builder-browser.d.ts +11 -0
  85. package/dist/server/builder-browser.d.ts.map +1 -1
  86. package/dist/server/builder-browser.js +45 -0
  87. package/dist/server/builder-browser.js.map +1 -1
  88. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  89. package/dist/server/core-routes-plugin.js +25 -2
  90. package/dist/server/core-routes-plugin.js.map +1 -1
  91. package/dist/templates/workspace-root/AGENTS.md +5 -5
  92. package/dist/templates/workspace-root/README.md +1 -1
  93. package/dist/workspace-connections/credentials.d.ts +64 -0
  94. package/dist/workspace-connections/credentials.d.ts.map +1 -0
  95. package/dist/workspace-connections/credentials.js +378 -0
  96. package/dist/workspace-connections/credentials.js.map +1 -0
  97. package/dist/workspace-connections/index.d.ts +2 -1
  98. package/dist/workspace-connections/index.d.ts.map +1 -1
  99. package/dist/workspace-connections/index.js +2 -1
  100. package/dist/workspace-connections/index.js.map +1 -1
  101. package/dist/workspace-connections/store.d.ts +16 -0
  102. package/dist/workspace-connections/store.d.ts.map +1 -1
  103. package/dist/workspace-connections/store.js +57 -1
  104. package/dist/workspace-connections/store.js.map +1 -1
  105. package/docs/content/agent-teams.md +22 -5
  106. package/docs/content/cloneable-saas.md +2 -2
  107. package/docs/content/code-agents-ui.md +103 -3
  108. package/docs/content/creating-templates.md +16 -0
  109. package/docs/content/getting-started.md +40 -14
  110. package/docs/content/migration-workbench.md +25 -2
  111. package/docs/content/multi-app-workspace.md +1 -1
  112. package/docs/content/template-analytics.md +17 -1
  113. package/docs/content/template-brain.md +57 -28
  114. package/docs/content/template-dispatch.md +9 -2
  115. package/docs/content/workspace-connections.md +63 -14
  116. package/docs/content/workspace-management.md +9 -2
  117. package/docs/content/workspace.md +12 -5
  118. package/package.json +1 -1
  119. package/src/templates/workspace-root/AGENTS.md +5 -5
  120. package/src/templates/workspace-root/README.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/cli/code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,gCAAgC,EAChC,sBAAsB,EACtB,wBAAwB,GAKzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAqC1C,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACtD;QACE,EAAE,EAAE,MAAM;QACV,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB,OAAO,EACL,qEAAqE;QACvE,cAAc,EAAE,MAAM;KACvB;IACD;QACE,EAAE,EAAE,SAAS;QACb,YAAY,EAAE,UAAU;QACxB,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;QACjC,OAAO,EACL,6EAA6E;QAC/E,cAAc,EAAE,SAAS;KAC1B;IACD;QACE,EAAE,EAAE,OAAO;QACX,YAAY,EAAE,QAAQ;QACtB,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,CAAC;QAClD,OAAO,EACL,uFAAuF;QACzF,cAAc,EAAE,iBAAiB;KAClC;CACF,CAAC;AAaF,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAA6B;IACzE,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,IAAI;CAC2B,CAAC,CAAC;AACnC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAgC9B,MAAM,UAAU,kBAAkB,CAAC,IAAc;IAC/C,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QACtC,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,MAAM;YAClB,CAAC,CAAC;gBACE,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,QAAQ;oBAClC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;oBACvC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,sBAAsB;oBAC/B,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE;oBAC3C,CAAC,CAAC,EAAE,CAAC;aACR;YACH,CAAC,CAAC;gBACE,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC3B,CAAC;IACR,CAAC;IAED,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO;YACL,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAG,yBAAyB,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,QAAQ,CAAC,cAAc;gBACzB,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE;gBAC7C,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,IAAI,EAAE,CAAC;QACT,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO;gBACL,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,cAAc,CAAC,IAAI;gBAChC,aAAa,EAAE,IAAI;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;SACvB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAc,EACd,UAA4B,EAAE;IAE9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC;IAE/C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAClC,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC;YAC3C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM;SACP,CAAC,CAAC;QACH,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAChD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC5C,MAAM,2BAA2B,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACxC,MAAM,6BAA6B,CACjC,OAAO,CAAC,MAAM,EACd,MAAM,EACN,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,YAAY,CACrB,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC3C,MAAM,sBAAsB,CAC1B,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,aAAa,EACrB,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAA4B,EAAE;IAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC;IAC/C,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK;QACL,MAAM;QACN,QAAQ,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC;KAC/C,CAAC,CAAC;IAEH,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IACpC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEpB,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM;YACR,CAAC;YACD,WAAW,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,OAA+D;IAE/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,6BAA6B,CACjC,QAAQ,CAAC,MAAM,EACf,OAAO,CAAC,MAAM,EACd,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,YAAY,CACtB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAC3C,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACzC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;YACxD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,cAAc,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,sBAAsB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACxE,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,SAAS,CACP,OAAO,CAAC,MAAM,EACd,0BAA0B,QAAQ,wCAAwC,CAC3E,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QACtC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,6BAA6B,CACjC,UAAU,CAAC,MAAM,EACjB,OAAO,CAAC,MAAM,EACd,UAAU,CAAC,sBAAsB;gBAC/B,CAAC,CAAC,UAAU,CAAC,cAAc;gBAC3B,CAAC,CAAC,SAAS,EACb,SAAS,EACT,UAAU,CAAC,YAAY,CACxB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACzE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDP,cAAc,EAAE;EAChB,wBAAwB,EAAE;;;0CAGc,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO;gGACuF,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;;;;;;;;;;;;;;cAsBK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;+CACsC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAY;IAEZ,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAA4B,CAAC;IACjC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,IAAI,CAAC;YAChB,QAAQ,GAAG,IAAI,CAAC;YAChB,QAAQ,GAAG,KAAK,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnC,QAAQ,GAAG,IAAI,CAAC;YAChB,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,IAAI,CAAC;gBAChB,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,KAAK,GAAG,IAAI,CAAC;YACb,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QAED,OAAO,IAAI,IAAI,CAAC;QAChB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;IAC1D,CAAC;IAED,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,cAAc;IACrB,OAAO;EACP,cAAc,EAAE;EAChB,wBAAwB,EAAE,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,oBAAoB,CAAC,GAAG,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,QAAQ,GAAG,+BAA+B,EAAE,CAAC;IACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO;QACL,EAAE;QACF,mBAAmB;QACnB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,wBAAwB,CAAC;YACpE,OAAO,MAAM,OAAO,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC;QAC9D,CAAC,CAAC;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,+BAA+B;IACtC,OAAO,wBAAwB,EAAE,CAAC,MAAM,CACtC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7B,4BAA4B,CAAC,UAAU,CAAC;QACxC,UAAU,KAAK,MAAM;QACrB,UAAU,KAAK,MAAM;QACrB,UAAU,KAAK,MAAM;QACrB,UAAU,KAAK,OAAO,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,oBAAoB,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,EAAE,KAAK,UAAU;QACtB,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,UAAU;QACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,KAAa;IAEb,OAAO,8BAA8B,CAAC,GAAG,CACvC,KAAmC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAc;IAM/C,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACjC,IAAI,kBAAkB,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,QAAQ,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IACE,CAAC,QAAQ,CAAC,YAAY;QACtB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EACxD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,MAAM;QAClB,CAAC,CAAC;YACE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,QAAQ;gBAClC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;YACP,cAAc,EAAE,MAAM,CAAC,sBAAsB;gBAC3C,CAAC,CAAC,MAAM,CAAC,cAAc;gBACvB,CAAC,CAAC,SAAS;SACd;QACH,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,4BAA4B,CACnC,IAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO;YACL,UAAU,EACR,cAAc,KAAK,CAAC,CAAC;gBACnB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;YAC1C,YAAY,EAAE,cAAc,KAAK,CAAC,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,IACE,CAAC,UAAU;QACX,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;QAC1B,CAAC,cAAc,CAAC,UAAU,CAAC,EAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO;QACL,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;QACzE,YAAY,EAAE,cAAc,KAAK,CAAC,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,wDAAwD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAc;IACzC,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,aAAa,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,UAAsC,EACtC,IAAc,EACd,MAA6B,EAC7B,WAAW,GAAG,IAAI;IAElB,MAAM,IAAI,GAAG,uBAAuB,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAC1C,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,WAAW,CACZ,CAAC;IACF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,SAAS,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,MAAM,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACvD,OAAO;QACT,KAAK,QAAQ;YACX,MAAM,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACtD,OAAO;QACT,KAAK,MAAM;YACT,SAAS,CAAC,MAAM,EAAE,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YAC5D,OAAO;QACT,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI;YACP,SAAS,CAAC,MAAM,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,OAAO;QACT,KAAK,QAAQ;YACX,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,KAAK,QAAQ;YACX,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,KAAK,IAAI;YACP,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YAC1D,OAAO;QACT,KAAK,MAAM;YACT,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YACzD,OAAO;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,UAAsC,EACtC,IAA0B,EAC1B,IAAc,EACd,MAA6B,EAC7B,WAAoB;IAEpB,IACE,CAAC,WAAW;QACZ,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,gBAAgB,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,KAAK,CAAC;QACjB,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,IAA0B,EAC1B,MAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtB,SAAS,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;IAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7B,SAAS,CAAC,MAAM,EAAE,KAAK,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,SAAS,CACP,MAAM,EACN,SAAS,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,SAAS,EAAE,CACnG,CAAC;QACF,SAAS,CAAC,MAAM,EAAE,QAAQ,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEtB,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM;QACN,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACnD,EAAE,CAAC,QAAQ,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACrE,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;IACD,MAAM,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CAAC,IAA0B;IAC5D,OAAO;QACL,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,IAAI,CAAC,MAAM,KAAK,CAAC;YACf,CAAC,CAAC,wCAAwC;YAC1C,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,4BAA4B;QACvF,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE;QACzD,EAAE;QACF,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;QAC3C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE;QAC3D,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE;QACzD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE;QAC3D,IAAI,CAAC,MAAM,GAAG,CAAC;YACb,CAAC,CAAC,uDAAuD;YACzD,CAAC,CAAC,oDAAoD;KACzD;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAA0B,EAC1B,IAAc;IAEd,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE;QAC9C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC;KACjE,CAAC,CAAC;IACH,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,wBAAwB,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,EAAE;QACF,0BAA0B;QAC1B,EAAE;QACF,IAAI,CAAC,MAAM,KAAK,CAAC;YACf,CAAC,CAAC,wCAAwC;YAC1C,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS;QACpE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE;QACzD,EAAE;QACF,oDAAoD;QACpD,mEAAmE;KACpE;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAA0B,EAC1B,IAAc;IAEd,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,EAAE;YACF,0BAA0B;YAC1B,EAAE;YACF,wCAAwC;YACxC,EAAE;YACF,oDAAoD;SACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACnE,OAAO;QACL,EAAE;QACF,0BAA0B;QAC1B,EAAE;QACF,cAAc,GAAG,CAAC,EAAE,EAAE;QACtB,eAAe,GAAG,CAAC,MAAM,EAAE;QAC3B,cAAc,GAAG,CAAC,KAAK,EAAE;QACzB,cAAc,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/D,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC,cAAc,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;YAC5D,CAAC,CAAC,EAAE;QACN,cAAc,GAAG,CAAC,SAAS,EAAE;QAC7B,WAAW;YACT,CAAC,CAAC,cAAc,kBAAkB,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YAC9D,CAAC,CAAC,EAAE;QACN,EAAE;QACF,mBAAmB;QACnB,2BAA2B,GAAG,CAAC,EAAE,EAAE;QACnC,EAAE;QACF,gCAAgC;QAChC,8BAA8B,GAAG,CAAC,EAAE,EAAE;QACtC,EAAE;QACF,6BAA6B;QAC7B,8BAA8B,cAAc,qBAAqB;KAClE;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA0B,EAAE,IAAc;IACnE,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,OAAO;QACL,EAAE;QACF,sBAAsB;QACtB,EAAE;QACF,+EAA+E;QAC/E,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB;QAC/C,GAAG,CAAC,CAAC,CAAC,qDAAqD,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;KACzE;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAA0B,EAAE,IAAc;IAClE,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,IACE,GAAG;QACH,CAAC,GAAG,CAAC,MAAM,KAAK,WAAW;YACzB,GAAG,CAAC,MAAM,KAAK,SAAS;YACxB,GAAG,CAAC,KAAK,KAAK,UAAU;YACxB,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,EACxB,CAAC;QACD,OAAO;YACL,EAAE;YACF,wBAAwB;YACxB,EAAE;YACF,UAAU,GAAG,CAAC,EAAE,EAAE;YAClB,aAAa,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9D,EAAE;YACF,0DAA0D;SAC3D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC7B,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,8BAA8B,CAAC;YAC7B,KAAK,EAAE,GAAG,CAAC,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM;gBACb,CAAC,CAAC,8CAA8C;gBAChD,CAAC,CAAC,kEAAkE;YACtE,QAAQ,EAAE;gBACR,MAAM,EAAE,UAAU;gBAClB,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC3C,MAAM;gBACN,SAAS,EAAE,SAAS,IAAI,SAAS;aAClC;SACF,CAAC,CAAC;QACH,wBAAwB,CAAC,GAAG,CAAC,EAAE,EAAE;YAC/B,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE;gBACR,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;aACX;YACD,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,KAAK;gBAChB,cAAc,EAAE,MAAM;gBACtB,SAAS,EAAE,SAAS,IAAI,SAAS;aAClC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,EAAE;QACF,wBAAwB;QACxB,EAAE;QACF,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,0CAA0C;QACrE,EAAE;QACF,GAAG;YACD,CAAC,CAAC,+EAA+E;YACjF,CAAC,CAAC,sDAAsD;KAC3D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAA0B,EAC1B,IAAc,EACd,MAA6B;IAE7B,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE;QACzC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACvC,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,SAAS,CACP,MAAM,EACN;YACE,EAAE;YACF,2BAA2B;YAC3B,EAAE;YACF,0CAA0C;YAC1C,EAAE;YACF,uCAAuC;SACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACF,OAAO;IACT,CAAC;IAED,SAAS,CACP,MAAM,EACN;QACE,EAAE;QACF,2BAA2B;QAC3B,EAAE;QACF,UAAU,GAAG,CAAC,EAAE,EAAE;QAClB,EAAE;QACF,uCAAuC;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACF,MAAM,+BAA+B,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,SAAS,CACP,MAAM,EACN;QACE,EAAE;QACF,yBAAyB;QACzB,EAAE;QACF,uCAAuC;QACvC,2BAA2B,GAAG,CAAC,EAAE,EAAE;KACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAA0B,EAC1B,IAAc;IAEd,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,EAAE;YACF,wBAAwB;YACxB,EAAE;YACF,0CAA0C;YAC1C,EAAE;YACF,oCAAoC;SACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrD,OAAO;QACL,EAAE;QACF,2BAA2B,GAAG,CAAC,EAAE,EAAE;QACnC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACnE,GAAG,CAAC,KAAK;QACT,YAAY,GAAG,CAAC,SAAS,EAAE;QAC3B,WAAW,MAAM,CAAC,MAAM,EAAE;QAC1B,EAAE;QACF,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,sCAAsC;YACxC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,IAA0B,EAC1B,IAAc,EACd,MAA6B;IAE7B,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,SAAS,CACP,MAAM,EACN;YACE,EAAE;YACF,0BAA0B;YAC1B,EAAE;YACF,0CAA0C;YAC1C,EAAE;YACF,sCAAsC;SACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtB,SAAS,CAAC,MAAM,EAAE,sCAAsC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,SAAS,CACP,MAAM,EACN,2DAA2D,CAC5D,CAAC;IACF,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEtB,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC;IAEF,cAAc,EAAE,CAAC;IACjB,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,cAAc,EAAE,CAAC;YACjB,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS,CACP,MAAM,EACN,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CACrE,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,cAAc,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,KAA+B;IAClE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC5E,MAAM,KAAK,GACT,KAAK,CAAC,IAAI,KAAK,MAAM;QACnB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,WAAW;YACpC,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACnB,MAAM,IAAI,GACR,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,OAAO,IAAI,SAAS,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,aAAa,CAAC,GAAuB;IAC5C,OAAO,CACL,GAAG,CAAC,MAAM,KAAK,WAAW;QAC1B,GAAG,CAAC,MAAM,KAAK,SAAS;QACxB,GAAG,CAAC,MAAM,KAAK,QAAQ;QACvB,GAAG,CAAC,KAAK,KAAK,UAAU;QACxB,GAAG,CAAC,KAAK,KAAK,OAAO;QACrB,GAAG,CAAC,KAAK,KAAK,QAAQ;QACtB,GAAG,CAAC,KAAK,KAAK,qBAAqB;QACnC,GAAG,CAAC,KAAK,KAAK,SAAS,CACxB,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,kBAAkB,CACzB,IAA0B,EAC1B,IAAc,EACd,OAAmC;IAEnC,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,aAAa,CAAC,IAAI,IAAI,CAAC;IAC9D,CAAC;IACD,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,SAAS;QAC/C,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,IAAI,GAAG,KAAK,UAAU;YAAE,SAAS;QACjC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAe,EACf,GAAuB;IAEvB,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/D,OAAO;QACL,EAAE;QACF,OAAO;QACP,EAAE;QACF,iBAAiB,GAAG,CAAC,EAAE,EAAE;QACzB,kBAAkB,GAAG,CAAC,MAAM,EAAE;QAC9B,iBAAiB,GAAG,CAAC,KAAK,EAAE;QAC5B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;QACnD,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC,iBAAiB,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;YAC/D,CAAC,CAAC,EAAE;QACN,iBAAiB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAClE,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC,iBAAiB,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI;YAC5F,CAAC,CAAC,EAAE;QACN,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;QAC3D,iBAAiB,gBAAgB,CAAC,MAAM,SAAS,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QAC3F,iBAAiB,GAAG,CAAC,SAAS,EAAE;KACjC;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAuB;IACzD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ;QAC3B,CAAC,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE;QACrD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc;QACnC,CAAC,CAAC,KAAK,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;QACnD,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,OAAO,GAAG,CAAC,EAAE,EAAE;QACf,QAAQ,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,GAAG,UAAU,EAAE;QAC/F,OAAO,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;QAC3C,eAAe,GAAG,CAAC,SAAS,EAAE;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAA4B,EAC5B,MAA6B;IAE7B,OAAO,OAAO,CACX,KAA2B,CAAC,KAAK,IAAK,MAA6B,CAAC,KAAK,CAC3E,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAA6B,EAAE,IAAI,GAAG,EAAE;IACzD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,MAA6B;IAChD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,MAAuB,EACvB,aAAuB,EACvB,SAAgC,OAAO,CAAC,MAAM;IAE9C,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CACpC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CACvC,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,KAAK,MAAM;YACT,MAAM,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACrC,OAAO;QACT,KAAK,iBAAiB;YACpB,MAAM,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACtC,OAAO;QACT,KAAK,SAAS;YACZ,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;YAChC,OAAO;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,aAAuB,EACvB,MAA6B,EAC7B,UAA0B,EAAE;IAE5B,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,GAAG,GAAG,wBAAwB,CAAC;QACnC,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,qBAAqB;QACnD,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,UAAU;QACjB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;SACX;QACD,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;YAC3D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE;YAC5C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;SACxE;QACD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAE;YACR,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,mBAAmB;YAC7C,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC;KACF,CAAC,CAAC;IAEH,8BAA8B,CAAC;QAC7B,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;KACvC,CAAC,CAAC;IACH,8BAA8B,CAAC;QAC7B,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,6CAA6C;QACtD,QAAQ,EAAE;YACR,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,UAAU;SAClB;KACF,CAAC,CAAC;IAEH,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,MAAM,mBAAmB,CAAC;QACxB,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,MAAM;QACN,eAAe,EAAE,KAAK;QACtB,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,aAAuB,EACvB,MAA6B;IAE7B,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CACP,MAAM,EACN,qCAAqC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CACvE,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,+BAA+B,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3E,MAAM,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE;QAC9B,QAAQ,EAAE,oBAAoB,OAAO,CAAC,IAAI,EAAE;QAC5C,MAAM,EAAE,mCAAmC;QAC3C,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC1C,MAAc,EACd,MAA6B,EAC7B,cAAwC,EACxC,KAAc,EACd,eAAsC,WAAW;IAEjD,MAAM,GAAG,GAAG,KAAK;QACf,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,yBAAyB,EAAE,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,SAAS,CACP,MAAM,EACN;YACE,EAAE;YACF,KAAK;gBACH,CAAC,CAAC,oCAAoC,KAAK,EAAE;gBAC7C,CAAC,CAAC,kCAAkC;YACtC,EAAE;YACF,oDAAoD;SACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,cAAc;QAC9B,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,IAAI,GAAG,CAAC;QAC/D,CAAC,CAAC,GAAG,CAAC;IACR,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,8BAA8B,CAAC;QAC3C,KAAK,EAAE,SAAS,CAAC,EAAE;QACnB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,MAAM,EAAE,kBAAkB;YAC1B,cAAc;YACd,YAAY;YACZ,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SACjD;KACF,CAAC,CAAC;IACH,IAAI,WAAW,EAAE,CAAC;QAChB,sBAAsB,CAAC;YACrB,KAAK,EAAE,SAAS,CAAC,EAAE;YACnB,MAAM;YACN,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,cAAc;YACd,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACzE,MAAM,mBAAmB,CAAC;QACxB,KAAK,EAAE,SAAS,CAAC,EAAE;QACnB,MAAM;QACN,eAAe,EAAE,KAAK;QACtB,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CACpB,aAAuB,EACvB,wBAAiD,WAAW;IAE5D,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,cAAc,GAA4B,qBAAqB,CAAC;IACpE,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM;QACR,CAAC;QACD,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,UAAU;oBACV,cAAc;oBACd,KAAK,EAAE,qBAAqB,KAAK,IAAI,WAAW,EAAE;iBACnD,CAAC;YACJ,CAAC;YACD,cAAc,GAAG,UAAU,CAAC;YAC5B,sBAAsB,GAAG,IAAI,CAAC;YAC9B,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,gCAAgC,CACjD,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CACvC,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,MAAM,EAAE,EAAE;oBACV,UAAU;oBACV,cAAc;oBACd,KAAK,EAAE,qBAAqB,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE;iBACrE,CAAC;YACJ,CAAC;YACD,cAAc,GAAG,UAAU,CAAC;YAC5B,sBAAsB,GAAG,IAAI,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,GAAG,SAAS,CAAC;YAC3B,sBAAsB,GAAG,IAAI,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QACnC,UAAU;QACV,cAAc;QACd,sBAAsB;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,aAAuB;IAGhD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,YAAY,GAA0B,WAAW,CAAC;IACtD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,MAAM;QACR,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;YACtD,YAAY,GAAG,QAAQ,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC/C,YAAY,GAAG,WAAW,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,OAAO;QACL,GAAG,aAAa,CAAC,UAAU,CAAC;QAC5B,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW;IAC1C,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC;QACrB,KAAK,mBAAmB;YACtB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC;QACrB,KAAK,aAAa;YAChB,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa,EAAE,SAAiB;IAC1D,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5D,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAuB,EAAE,MAAc;IAChE,OAAO;QACL,EAAE;QACF,oCAAoC;QACpC,EAAE;QACF,aAAa,GAAG,CAAC,EAAE,EAAE;QACrB,aAAa,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;QAC9C,aAAa,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;QACzD,EAAE;QACF,gEAAgE;KACjE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAC7B,GAAuB,EACvB,KAAwD,EACxD,IAA2B;IAE3B,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,IAAI,KAAK,QAAQ;YACjB,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC,4DAA4D;QAChE,CAAC,CAAC,qDAAqD,CAAC;IAC1D,OAAO;QACL,EAAE;QACF,OAAO;QACP,EAAE;QACF,YAAY,GAAG,CAAC,EAAE,EAAE;QACpB,aAAa,GAAG,CAAC,MAAM,EAAE;QACzB,YAAY,KAAK,CAAC,EAAE,EAAE;QACtB,EAAE;QACF,MAAM;YACJ,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACjB,CAAC,CAAC,mDAAmD;gBACrD,CAAC,CAAC,kEAAkE;YACtE,CAAC,CAAC,gEAAgE;KACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS;IAChB,OAAO;QACL,EAAE;QACF,QAAQ;QACR,sCAAsC;QACtC,gDAAgD;QAChD,qDAAqD;QACrD,yCAAyC,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB;QACjG,EAAE;QACF,6HAA6H;KAC9H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAC7B,cAAmD;IAEnD,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;AACpE,CAAC","sourcesContent":["import { createInterface } from \"node:readline\";\n\nimport {\n CODE_AGENT_PERMISSION_MODES,\n appendCodeAgentTranscriptEvent,\n createCodeAgentRunRecord,\n getCodeAgentRunRecord,\n getLastCodeAgentRunRecord,\n isActiveCodeAgentRun,\n listCodeAgentRunRecords,\n listCodeAgentTranscriptEvents,\n normalizeCodeAgentPermissionMode,\n queueCodeAgentFollowUp,\n updateCodeAgentRunRecord,\n type CodeAgentFollowUpMode,\n type CodeAgentPermissionMode,\n type CodeAgentRunRecord,\n type CodeAgentTranscriptEvent,\n} from \"./code-agent-runs.js\";\nimport {\n findProjectSlashCommand,\n listProjectSlashCommands,\n renderProjectSlashCommandPrompt,\n} from \"./code-agent-commands.js\";\nimport {\n executeCodeAgentRun,\n executeExistingCodeAgentRun,\n executePendingCodeAgentApproval,\n} from \"./code-agent-executor.js\";\nimport { runAuditAgentWeb } from \"./audit-agent-web.js\";\nimport { runMigrate } from \"./migrate.js\";\n\nexport type CodeAgentGoalId = \"task\" | \"migrate\" | \"audit\";\n\nexport interface CodeAgentCliGoal {\n id: CodeAgentGoalId;\n slashCommand: string;\n aliases: string[];\n summary: string;\n backingCommand: \"task\" | \"migrate\" | \"audit-agent-web\";\n}\n\nexport type CodeCliCommand =\n | { kind: \"shell\" }\n | { kind: \"help\" }\n | { kind: \"list-goals\" }\n | { kind: \"serve\"; relayUrl?: string }\n | { kind: \"execute-existing-run\"; runId: string }\n | { kind: \"control\"; subcommand: CodeAgentControlSubcommand; args: string[] }\n | {\n kind: \"record-follow-up\";\n prompt: string;\n runId?: string;\n permissionMode?: CodeAgentPermissionMode;\n followUpMode?: CodeAgentFollowUpMode;\n }\n | {\n kind: \"run-project-command\";\n commandName: string;\n forwardedArgs: string[];\n }\n | {\n kind: \"run-goal\";\n goalId: CodeAgentGoalId;\n forwardedArgs: string[];\n };\n\nexport const CODE_AGENT_CLI_GOALS: CodeAgentCliGoal[] = [\n {\n id: \"task\",\n slashCommand: \"/task\",\n aliases: [\"task\", \"todo\"],\n summary:\n \"Run a generic coding task as a resumable Agent-Native Code session.\",\n backingCommand: \"task\",\n },\n {\n id: \"migrate\",\n slashCommand: \"/migrate\",\n aliases: [\"migrate\", \"migration\"],\n summary:\n \"Move a path, URL, or described product into agent-native with verification.\",\n backingCommand: \"migrate\",\n },\n {\n id: \"audit\",\n slashCommand: \"/audit\",\n aliases: [\"audit\", \"audit-agent-web\", \"agent-web\"],\n summary:\n \"Audit a public URL for agent-readable surfaces such as llms.txt and markdown mirrors.\",\n backingCommand: \"audit-agent-web\",\n },\n];\n\ntype CodeAgentControlSubcommand =\n | \"approve\"\n | \"attach\"\n | \"list\"\n | \"logs\"\n | \"ps\"\n | \"resume\"\n | \"status\"\n | \"stop\"\n | \"ui\";\n\nconst CODE_AGENT_CONTROL_SUBCOMMANDS = new Set<CodeAgentControlSubcommand>([\n \"approve\",\n \"attach\",\n \"list\",\n \"logs\",\n \"ps\",\n \"resume\",\n \"status\",\n \"stop\",\n \"ui\",\n] as CodeAgentControlSubcommand[]);\nconst SHELL_PROMPT = \"code> \";\n\nexport interface CodeShellOptions {\n input?: NodeJS.ReadableStream;\n output?: NodeJS.WritableStream;\n runGoal?: CodeGoalRunner;\n}\n\ntype CodeGoalRunner = (\n goalId: CodeAgentGoalId,\n forwardedArgs: string[],\n output?: NodeJS.WritableStream,\n) => Promise<void>;\n\ntype CodeShellLineResult = \"continue\" | \"exit\";\n\ninterface ParsedTaskArgs {\n prompt: string;\n promptArgs: string[];\n permissionMode: CodeAgentPermissionMode;\n permissionModeExplicit?: boolean;\n error?: string;\n}\n\ninterface RunTaskOptions {\n subtitle?: string;\n source?: string;\n commandName?: string;\n commandPath?: string;\n permissionMode?: CodeAgentPermissionMode;\n}\n\nexport function resolveCodeCommand(argv: string[]): CodeCliCommand {\n const [rawFirst, ...rest] = argv;\n if (!rawFirst) {\n return { kind: \"shell\" };\n }\n\n if (rawFirst === \"--help\" || rawFirst === \"-h\") {\n return { kind: \"help\" };\n }\n\n const first = normalizeGoalToken(rawFirst);\n if (first === \"goals\") {\n return { kind: \"list-goals\" };\n }\n\n if (first === \"serve\") {\n return { kind: \"serve\", relayUrl: parseRelayUrlOption(rest) };\n }\n\n if (first === \"exec\" || first === \"e\") {\n return {\n kind: \"run-goal\",\n goalId: \"task\",\n forwardedArgs: rest,\n };\n }\n\n if (first === \"--print\" || first === \"-p\") {\n return {\n kind: \"run-goal\",\n goalId: \"task\",\n forwardedArgs: rest,\n };\n }\n\n if (first === \"--continue\" || first === \"-c\") {\n const parsed = parseFollowUpArgs(rest);\n return parsed.prompt\n ? {\n kind: \"record-follow-up\",\n prompt: parsed.prompt,\n ...(parsed.followUpMode === \"queued\"\n ? { followUpMode: parsed.followUpMode }\n : {}),\n ...(parsed.permissionModeExplicit\n ? { permissionMode: parsed.permissionMode }\n : {}),\n }\n : {\n kind: \"control\",\n subcommand: \"resume\",\n args: [\"resume\", \"--last\"],\n };\n }\n\n if (first === \"--resume\" || first === \"-r\") {\n return {\n kind: \"control\",\n subcommand: \"resume\",\n args: [\"resume\", ...rest],\n };\n }\n\n if ((first === \"run\" || first === \"start\") && rest[0]) {\n return { kind: \"execute-existing-run\", runId: rest[0] };\n }\n\n const followUp = parseResumeFollowUpPrompt([rawFirst, ...rest]);\n if (followUp) {\n return {\n kind: \"record-follow-up\",\n prompt: followUp.prompt,\n runId: followUp.runId,\n ...(followUp.followUpMode ? { followUpMode: followUp.followUpMode } : {}),\n ...(followUp.permissionMode\n ? { permissionMode: followUp.permissionMode }\n : {}),\n };\n }\n\n const goal = findGoal(first);\n if (goal) {\n return {\n kind: \"run-goal\",\n goalId: goal.id,\n forwardedArgs: rest,\n };\n }\n\n if (rawFirst.startsWith(\"/\")) {\n const projectCommand = findProjectSlashCommand(first);\n if (projectCommand) {\n return {\n kind: \"run-project-command\",\n commandName: projectCommand.name,\n forwardedArgs: rest,\n };\n }\n }\n\n if (isCodeAgentControlSubcommand(first)) {\n return {\n kind: \"control\",\n subcommand: first,\n args: [first, ...rest],\n };\n }\n\n return {\n kind: \"run-goal\",\n goalId: \"task\",\n forwardedArgs: argv,\n };\n}\n\nexport async function runCode(\n argv: string[],\n options: CodeShellOptions = {},\n): Promise<void> {\n const command = resolveCodeCommand(argv);\n const output = options.output ?? process.stdout;\n const runGoal = options.runGoal ?? runCodeGoal;\n\n if (command.kind === \"shell\") {\n await runCodeShell({ ...options, output, runGoal });\n return;\n }\n\n if (command.kind === \"help\") {\n writeLine(output, codeUsage());\n return;\n }\n\n if (command.kind === \"list-goals\") {\n writeLine(output, renderGoalList());\n return;\n }\n\n if (command.kind === \"serve\") {\n const { runCodeAgentConnector } = await import(\"./code-agent-connector.js\");\n const exitCode = await runCodeAgentConnector({\n relayUrl: command.relayUrl,\n output,\n });\n if (exitCode !== 0) process.exitCode = exitCode;\n return;\n }\n\n if (command.kind === \"execute-existing-run\") {\n await executeExistingCodeAgentRun(command.runId, { stdout: output });\n return;\n }\n\n if (command.kind === \"control\") {\n await runCodeAgentControl(command.subcommand, command.args, output);\n return;\n }\n\n if (command.kind === \"record-follow-up\") {\n await recordCodeAgentFollowUpPrompt(\n command.prompt,\n output,\n command.permissionMode,\n command.runId,\n command.followUpMode,\n );\n return;\n }\n\n if (command.kind === \"run-project-command\") {\n await runProjectSlashCommand(\n command.commandName,\n command.forwardedArgs,\n output,\n );\n return;\n }\n\n await runGoal(command.goalId, command.forwardedArgs, output);\n}\n\nexport async function runCodeShell(\n options: CodeShellOptions = {},\n): Promise<void> {\n const input = options.input ?? process.stdin;\n const output = options.output ?? process.stdout;\n const runGoal = options.runGoal ?? runCodeGoal;\n const rl = createInterface({\n input,\n output,\n terminal: isInteractiveTerminal(input, output),\n });\n\n writeLine(output, codeShellIntro());\n writePrompt(output);\n\n try {\n for await (const line of rl) {\n const result = await handleCodeShellLine(line, { output, runGoal });\n if (result === \"exit\") {\n break;\n }\n writePrompt(output);\n }\n } finally {\n rl.close();\n }\n}\n\nexport async function handleCodeShellLine(\n line: string,\n options: Required<Pick<CodeShellOptions, \"output\" | \"runGoal\">>,\n): Promise<CodeShellLineResult> {\n const trimmed = line.trim();\n if (!trimmed) {\n return \"continue\";\n }\n\n const parsed = parseCodeShellArgs(trimmed);\n if (\"error\" in parsed) {\n writeLine(options.output, parsed.error);\n return \"continue\";\n }\n\n const [rawFirst, ...rest] = parsed.args;\n if (!rawFirst) {\n return \"continue\";\n }\n\n const followUp = parseResumeFollowUpPrompt(parsed.args);\n if (followUp) {\n await recordCodeAgentFollowUpPrompt(\n followUp.prompt,\n options.output,\n followUp.permissionMode,\n followUp.runId,\n followUp.followUpMode,\n );\n return \"continue\";\n }\n\n if (rawFirst.startsWith(\"/\")) {\n const first = normalizeGoalToken(rawFirst);\n if (first === \"help\") {\n writeLine(options.output, codeShellHelp());\n return \"continue\";\n }\n\n if (first === \"goals\") {\n writeLine(options.output, renderGoalList());\n return \"continue\";\n }\n\n if (first === \"exit\" || first === \"quit\") {\n writeLine(options.output, \"Leaving Agent-Native Code.\");\n return \"exit\";\n }\n\n const goal = findGoal(first);\n if (goal) {\n await options.runGoal(goal.id, rest, options.output);\n return \"continue\";\n }\n\n const projectCommand = findProjectSlashCommand(first);\n if (projectCommand) {\n await runProjectSlashCommand(projectCommand.name, rest, options.output);\n return \"continue\";\n }\n\n writeLine(\n options.output,\n `Unknown slash command: ${rawFirst}\\nTry /help to see available commands.`,\n );\n return \"continue\";\n }\n\n const first = normalizeGoalToken(rawFirst);\n if (first === \"exec\" || first === \"e\") {\n await options.runGoal(\"task\", rest, options.output);\n return \"continue\";\n }\n\n if (first === \"--print\" || first === \"-p\") {\n await options.runGoal(\"task\", rest, options.output);\n return \"continue\";\n }\n\n if (first === \"--continue\" || first === \"-c\") {\n const parsedTask = parseFollowUpArgs(rest);\n if (parsedTask.prompt) {\n await recordCodeAgentFollowUpPrompt(\n parsedTask.prompt,\n options.output,\n parsedTask.permissionModeExplicit\n ? parsedTask.permissionMode\n : undefined,\n undefined,\n parsedTask.followUpMode,\n );\n } else {\n await runCodeAgentControl(\"resume\", [\"resume\", \"--last\"], options.output);\n }\n return \"continue\";\n }\n\n if (first === \"--resume\" || first === \"-r\") {\n await runCodeAgentControl(\"resume\", [\"resume\", ...rest], options.output);\n return \"continue\";\n }\n\n if ((first === \"run\" || first === \"start\") && rest[0]) {\n await executeExistingCodeAgentRun(rest[0], { stdout: options.output });\n return \"continue\";\n }\n\n if (isCodeAgentControlSubcommand(first)) {\n await runCodeAgentControl(first, parsed.args, options.output);\n return \"continue\";\n }\n\n await options.runGoal(\"task\", parsed.args, options.output);\n return \"continue\";\n}\n\nexport function codeUsage(): string {\n return `agent-native code\n\nOpen the Agent-Native Code shell or run a coding-agent goal directly.\n\nUsage:\n agent-native code\n agent-native code \"fix the failing auth tests\"\n agent-native code exec \"fix the failing auth tests\"\n agent-native code -p \"fix the failing auth tests\"\n agent-native code --plan \"explain this repo\"\n agent-native code --auto \"fix the failing auth tests\"\n agent-native code /review-diff\n agent-native code /audit --url https://example.com\n agent-native code /migrate <source> [--out ../migrated-app]\n agent-native code /migrate --describe \"what to build or migrate\"\n agent-native code attach --last\n agent-native code logs --last\n agent-native code approve --last\n agent-native code list\n agent-native code resume --last \"follow-up prompt\"\n agent-native code --continue \"follow-up prompt\"\n agent-native code resume --last\n agent-native code status --last\n agent-native code serve --relay-url <url>\n agent-native code ui --last\n agent-native code run <runId>\n agent-native code goals\n\nInteractive shell:\n /help Show shell commands\n /goals List available coding-agent goals\n /migrate ... Run the migration goal\n /audit ... Run the web audit goal\n /<project> Run .agents/commands/<project>.md\n /exit Leave the shell\n\nSession commands:\n list List recent sessions\n attach ... Attach to a run transcript, following active work\n logs ... Print a run transcript once\n approve ... Run one pending approved command, then resume the session\n resume ... Continue the latest or selected run\n status ... Show run status\n stop ... Stop a tracked Desktop/CLI runner\n serve ... Run the remote relay connector\n\nModes:\n --plan, --auto\n --permission-mode read-only|ask-before-edit|auto-edit|full-auto\n --read-only, --ask-before-edit, --auto-edit, --full-auto\n\nAvailable goals:\n${renderGoalRows()}\n${renderProjectCommandRows()}\n\nThe existing shortcut still works:\n agent-native migrate <source> [options]`;\n}\n\nexport function codeShellIntro(): string {\n return `Agent-Native Code\nType a coding task to start a session, /help for commands, /goals for goals, or /exit to leave.`;\n}\n\nexport function codeShellHelp(): string {\n return `Agent-Native Code shell commands:\n /help Show this help\n /goals List available coding-agent goals\n /migrate ... Move a source into agent-native\n /audit ... Audit a public URL for agent-readable surfaces\n /<project> Run a project command from .agents/commands/*.md\n /exit Leave the shell\n /quit Leave the shell\n\nCompatibility shortcuts:\n exec \"prompt\"\n -p \"prompt\"\n list\n ps\n attach --last\n logs --last\n approve --last\n resume --last \"follow-up prompt\"\n --continue \"follow-up prompt\"\n resume --last\n status --last\n ui --last\n stop --last`;\n}\n\nexport function codeShellFreeTextMessage(): string {\n return `Bare prompts run as generic Agent-Native Code sessions.\nUse /migrate and /audit for specialized goals.`;\n}\n\nexport function parseCodeShellArgs(\n line: string,\n): { ok: true; args: string[] } | { ok: false; error: string } {\n const args: string[] = [];\n let current = \"\";\n let quote: \"'\" | '\"' | undefined;\n let escaping = false;\n let hasValue = false;\n\n const pushCurrent = () => {\n if (hasValue) {\n args.push(current);\n current = \"\";\n hasValue = false;\n }\n };\n\n for (const char of line) {\n if (escaping) {\n current += char;\n hasValue = true;\n escaping = false;\n continue;\n }\n\n if (char === \"\\\\\" && quote !== \"'\") {\n escaping = true;\n hasValue = true;\n continue;\n }\n\n if (quote) {\n if (char === quote) {\n quote = undefined;\n } else {\n current += char;\n hasValue = true;\n }\n continue;\n }\n\n if (char === \"'\" || char === '\"') {\n quote = char;\n hasValue = true;\n continue;\n }\n\n if (/\\s/.test(char)) {\n pushCurrent();\n continue;\n }\n\n current += char;\n hasValue = true;\n }\n\n if (escaping) {\n current += \"\\\\\";\n }\n\n if (quote) {\n return { ok: false, error: `Unclosed ${quote} quote.` };\n }\n\n pushCurrent();\n return { ok: true, args };\n}\n\nfunction renderGoalList(): string {\n return `Available Agent-Native Code goals:\n${renderGoalRows()}\n${renderProjectCommandRows()}`;\n}\n\nfunction renderGoalRows(): string {\n return CODE_AGENT_CLI_GOALS.map(\n (goal) => ` ${goal.slashCommand.padEnd(12)} ${goal.summary}`,\n ).join(\"\\n\");\n}\n\nfunction renderProjectCommandRows(): string {\n const commands = listVisibleProjectSlashCommands();\n if (commands.length === 0) return \"\";\n return [\n \"\",\n \"Project commands:\",\n ...commands.map((command) => {\n const args = command.argumentHint ? ` ${command.argumentHint}` : \"\";\n const description = command.description ?? \"Project slash command.\";\n return ` /${command.name}${args}`.padEnd(24) + description;\n }),\n ].join(\"\\n\");\n}\n\nfunction listVisibleProjectSlashCommands() {\n return listProjectSlashCommands().filter(\n (command) => !isReservedSlashName(command.name),\n );\n}\n\nfunction isReservedSlashName(name: string): boolean {\n const normalized = normalizeGoalToken(name);\n return (\n Boolean(findGoal(normalized)) ||\n isCodeAgentControlSubcommand(normalized) ||\n normalized === \"help\" ||\n normalized === \"exit\" ||\n normalized === \"quit\" ||\n normalized === \"goals\"\n );\n}\n\nfunction normalizeGoalToken(value: string): string {\n return value.replace(/^\\//, \"\").toLowerCase();\n}\n\nfunction findGoal(value: string): CodeAgentCliGoal | undefined {\n const normalized = normalizeGoalToken(value);\n return CODE_AGENT_CLI_GOALS.find(\n (goal) =>\n goal.id === normalized ||\n normalizeGoalToken(goal.slashCommand) === normalized ||\n goal.aliases.includes(normalized),\n );\n}\n\nfunction isCodeAgentControlSubcommand(\n value: string,\n): value is CodeAgentControlSubcommand {\n return CODE_AGENT_CONTROL_SUBCOMMANDS.has(\n value as CodeAgentControlSubcommand,\n );\n}\n\nfunction parseResumeFollowUpPrompt(args: string[]): {\n prompt: string;\n runId?: string;\n permissionMode?: CodeAgentPermissionMode;\n followUpMode?: CodeAgentFollowUpMode;\n} | null {\n const [rawFirst, ...rest] = args;\n if (normalizeGoalToken(rawFirst ?? \"\") !== \"resume\") return null;\n const selector = parseResumeSelectorAndPrompt(rest);\n if (!selector) return null;\n if (\n !selector.hasSeparator &&\n !selector.promptArgs.some((arg) => !arg.startsWith(\"-\"))\n ) {\n return null;\n }\n\n const parsed = parseFollowUpArgs(selector.promptArgs);\n return parsed.prompt\n ? {\n prompt: parsed.prompt,\n runId: selector.runId,\n ...(parsed.followUpMode === \"queued\"\n ? { followUpMode: parsed.followUpMode }\n : {}),\n permissionMode: parsed.permissionModeExplicit\n ? parsed.permissionMode\n : undefined,\n }\n : null;\n}\n\nfunction parseResumeSelectorAndPrompt(\n args: string[],\n): { runId?: string; promptArgs: string[]; hasSeparator: boolean } | null {\n const lastIndex = args.indexOf(\"--last\");\n if (lastIndex !== -1) {\n const promptArgs = args.filter((_, index) => index !== lastIndex);\n const separatorIndex = promptArgs.indexOf(\"--\");\n return {\n promptArgs:\n separatorIndex === -1\n ? promptArgs\n : promptArgs.slice(separatorIndex + 1),\n hasSeparator: separatorIndex !== -1,\n };\n }\n\n const [maybeRunId, ...rest] = args;\n if (\n !maybeRunId ||\n maybeRunId.startsWith(\"-\") ||\n !looksLikeRunId(maybeRunId)\n ) {\n return null;\n }\n const separatorIndex = rest.indexOf(\"--\");\n return {\n runId: maybeRunId,\n promptArgs: separatorIndex === -1 ? rest : rest.slice(separatorIndex + 1),\n hasSeparator: separatorIndex !== -1,\n };\n}\n\nfunction looksLikeRunId(value: string): boolean {\n return /^[a-z][a-z0-9-]*-(?:\\d{14}|\\d{8}t\\d{6}z)-[a-f0-9]{8}$/i.test(value);\n}\n\nfunction parseRelayUrlOption(args: string[]): string | undefined {\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n if (arg === \"--relay-url\" && args[i + 1]) return args[i + 1];\n if (arg.startsWith(\"--relay-url=\")) {\n const value = arg.slice(\"--relay-url=\".length).trim();\n if (value) return value;\n }\n }\n return undefined;\n}\n\nasync function runCodeAgentControl(\n subcommand: CodeAgentControlSubcommand,\n args: string[],\n output: NodeJS.WritableStream,\n allowPicker = true,\n): Promise<void> {\n const runs = listCodeAgentRunRecords();\n const effectiveArgs = await maybePickRunArgs(\n subcommand,\n runs,\n args,\n output,\n allowPicker,\n );\n if (!effectiveArgs) {\n writeLine(output, \"No Agent-Native Code session selected.\");\n return;\n }\n switch (subcommand) {\n case \"approve\":\n await approveCodeAgentRun(runs, effectiveArgs, output);\n return;\n case \"attach\":\n await attachCodeAgentRun(runs, effectiveArgs, output);\n return;\n case \"logs\":\n writeLine(output, renderCodeAgentLogs(runs, effectiveArgs));\n return;\n case \"list\":\n case \"ps\":\n writeLine(output, renderCodeAgentSessionList(runs));\n return;\n case \"status\":\n writeLine(output, renderCodeAgentStatus(runs, effectiveArgs));\n return;\n case \"resume\":\n writeLine(output, renderCodeAgentResume(runs, effectiveArgs));\n return;\n case \"ui\":\n writeLine(output, renderCodeAgentUi(runs, effectiveArgs));\n return;\n case \"stop\":\n writeLine(output, stopCodeAgentRun(runs, effectiveArgs));\n return;\n }\n}\n\nasync function maybePickRunArgs(\n subcommand: CodeAgentControlSubcommand,\n runs: CodeAgentRunRecord[],\n args: string[],\n output: NodeJS.WritableStream,\n allowPicker: boolean,\n): Promise<string[] | null> {\n if (\n !allowPicker ||\n ![\"approve\", \"attach\", \"logs\", \"resume\"].includes(subcommand) ||\n args.includes(\"--last\") ||\n hasExplicitRunId(args) ||\n runs.length === 0 ||\n !isInteractiveTerminal(process.stdin, output)\n ) {\n return args;\n }\n\n const selected = await promptForRunSelection(runs, output);\n return selected ? [subcommand, selected.id] : null;\n}\n\nasync function promptForRunSelection(\n runs: CodeAgentRunRecord[],\n output: NodeJS.WritableStream,\n): Promise<CodeAgentRunRecord | null> {\n const choices = runs.slice(0, 10);\n writeLine(output, \"\");\n writeLine(output, \"Select an Agent-Native Code session:\");\n choices.forEach((run, index) => {\n writeLine(output, ` ${index + 1}. ${run.id}`);\n writeLine(\n output,\n ` /${run.goalId} ${run.status}${run.phase ? ` (${run.phase})` : \"\"} updated ${run.updatedAt}`,\n );\n writeLine(output, ` ${truncateForDisplay(run.title, 90)}`);\n });\n writeLine(output, \"\");\n\n const rl = createInterface({\n input: process.stdin,\n output,\n terminal: true,\n });\n const answer = await new Promise<string>((resolve) => {\n rl.question(\"Run number or id (blank cancels): \", resolve);\n });\n rl.close();\n\n const trimmed = answer.trim();\n if (!trimmed) {\n writeLine(output, \"No run selected.\");\n return null;\n }\n const index = Number(trimmed);\n if (Number.isInteger(index) && index >= 1 && index <= choices.length) {\n return choices[index - 1] ?? null;\n }\n const matchingRun =\n choices.find((run) => run.id === trimmed) ??\n choices.find((run) => run.id.startsWith(trimmed));\n if (matchingRun) return matchingRun;\n\n writeLine(output, \"No matching run selected.\");\n return null;\n}\n\nfunction renderCodeAgentSessionList(runs: CodeAgentRunRecord[]): string {\n return [\n \"\",\n \"Agent-Native Code sessions\",\n \"\",\n runs.length === 0\n ? \" No Agent-Native Code sessions found.\"\n : ` ${runs.length} session${runs.length === 1 ? \"\" : \"s\"} found. Most recent first.`,\n ...runs.slice(0, 10).map(renderCodeAgentRunListItem),\n runs.length > 10 ? ` - ${runs.length - 10} more...` : \"\",\n \"\",\n runs.length > 0 ? \"Inspect a session:\" : \"\",\n runs.length > 0 ? \" agent-native code status <runId>\" : \"\",\n runs.length > 0 ? \" agent-native code logs <runId>\" : \"\",\n runs.length > 0 ? \" agent-native code resume <runId>\" : \"\",\n runs.length > 0\n ? ' agent-native code resume <runId> \"follow-up prompt\"'\n : 'Start one with: agent-native code \"what to change\"',\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction renderCodeAgentStatus(\n runs: CodeAgentRunRecord[],\n args: string[],\n): string {\n const selected = selectCodeAgentRun(runs, args, {\n defaultToLast: args.includes(\"--last\") || hasExplicitRunId(args),\n });\n if (selected) {\n return renderCodeAgentRunDetail(\"Agent-Native Code status\", selected);\n }\n\n return [\n \"\",\n \"Agent-Native Code status\",\n \"\",\n runs.length === 0\n ? \" No Agent-Native Code sessions found.\"\n : ` ${runs.length} session${runs.length === 1 ? \"\" : \"s\"} found.`,\n ...runs.slice(0, 10).map(renderCodeAgentRunListItem),\n runs.length > 10 ? ` - ${runs.length - 10} more...` : \"\",\n \"\",\n 'Start one with: agent-native code \"what to change\"',\n 'Add a follow-up with: agent-native code resume --last \"what next\"',\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction renderCodeAgentResume(\n runs: CodeAgentRunRecord[],\n args: string[],\n): string {\n const run = selectCodeAgentRun(runs, args, { defaultToLast: true });\n if (!run) {\n return [\n \"\",\n \"Agent-Native Code resume\",\n \"\",\n \" No Agent-Native Code sessions found.\",\n \"\",\n 'Start one with: agent-native code \"what to change\"',\n ].join(\"\\n\");\n }\n\n const transcriptEvents = listCodeAgentTranscriptEvents(run.id);\n const latestEvent = transcriptEvents.at(-1);\n const followUpTarget = args.includes(\"--last\") ? \"--last\" : run.id;\n return [\n \"\",\n \"Agent-Native Code resume\",\n \"\",\n ` Run: ${run.id}`,\n ` Goal: /${run.goalId}`,\n ` Title: ${run.title}`,\n ` Status: ${run.status}${run.phase ? ` (${run.phase})` : \"\"}`,\n run.permissionMode\n ? ` Mode: ${formatCodeAgentRunMode(run.permissionMode)}`\n : \"\",\n ` Updated: ${run.updatedAt}`,\n latestEvent\n ? ` Last: ${truncateForDisplay(latestEvent.message, 140)}`\n : \"\",\n \"\",\n \"Resume execution:\",\n ` agent-native code run ${run.id}`,\n \"\",\n \"Attach to the live transcript:\",\n ` agent-native code attach ${run.id}`,\n \"\",\n \"Append and run a follow-up:\",\n ` agent-native code resume ${followUpTarget} \"next instruction\"`,\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction renderCodeAgentUi(runs: CodeAgentRunRecord[], args: string[]): string {\n const run = selectCodeAgentRun(runs, args, { defaultToLast: true });\n return [\n \"\",\n \"Agent-Native Code UI\",\n \"\",\n \"Open Agent-Native Desktop and choose Agent-Native Code from the left sidebar.\",\n run ? `Run: ${run.id}` : \"No run selected yet.\",\n run ? `Deep link: agentnative://open?app=code-agents&run=${run.id}` : \"\",\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction stopCodeAgentRun(runs: CodeAgentRunRecord[], args: string[]): string {\n const run = selectCodeAgentRun(runs, args, { defaultToLast: true });\n if (\n run &&\n (run.status === \"completed\" ||\n run.status === \"errored\" ||\n run.phase === \"complete\" ||\n run.phase === \"error\")\n ) {\n return [\n \"\",\n \"Agent-Native Code stop\",\n \"\",\n ` Run: ${run.id}`,\n ` Status: ${run.status}${run.phase ? ` (${run.phase})` : \"\"}`,\n \"\",\n \" This run is already finished; no stop signal was sent.\",\n ].join(\"\\n\");\n }\n if (run) {\n const pid = Number(run.metadata?.runnerPid);\n let killed = false;\n let killError = \"\";\n if (Number.isFinite(pid) && pid > 0) {\n try {\n process.kill(pid, \"SIGTERM\");\n killed = true;\n } catch (err) {\n killError = err instanceof Error ? err.message : String(err);\n }\n }\n appendCodeAgentTranscriptEvent({\n runId: run.id,\n kind: \"status\",\n message: killed\n ? \"Stop requested for Agent-Native Code runner.\"\n : \"Stop requested; no active runner process was found from the CLI.\",\n metadata: {\n source: \"cli-stop\",\n pid: Number.isFinite(pid) ? pid : undefined,\n killed,\n killError: killError || undefined,\n },\n });\n updateCodeAgentRunRecord(run.id, {\n status: \"paused\",\n phase: \"stopped\",\n progress: {\n label: \"Stopped\",\n completed: 0,\n total: 1,\n percent: 0,\n },\n metadata: {\n stoppedAt: new Date().toISOString(),\n stoppedBy: \"cli\",\n stopSignalSent: killed,\n stopError: killError || undefined,\n },\n });\n }\n return [\n \"\",\n \"Agent-Native Code stop\",\n \"\",\n run ? ` Run: ${run.id}` : \" No Agent-Native Code session selected.\",\n \"\",\n run\n ? \" Stop requested. If a tracked runner process is active, it received SIGTERM.\"\n : ' Start one with: agent-native code \"what to change\"',\n ].join(\"\\n\");\n}\n\nasync function approveCodeAgentRun(\n runs: CodeAgentRunRecord[],\n args: string[],\n output: NodeJS.WritableStream,\n): Promise<void> {\n const run = selectCodeAgentRun(runs, args, {\n defaultToLast: args.includes(\"--last\"),\n });\n if (!run) {\n writeLine(\n output,\n [\n \"\",\n \"Agent-Native Code approve\",\n \"\",\n \" No Agent-Native Code session selected.\",\n \"\",\n \"Try: agent-native code approve --last\",\n ].join(\"\\n\"),\n );\n return;\n }\n\n writeLine(\n output,\n [\n \"\",\n \"Agent-Native Code approve\",\n \"\",\n ` Run: ${run.id}`,\n \"\",\n \"Running the pending approved command.\",\n ].join(\"\\n\"),\n );\n await executePendingCodeAgentApproval(run.id, { stdout: output });\n writeLine(\n output,\n [\n \"\",\n \"Approval step finished.\",\n \"\",\n \"Resume the Agent-Native Code session:\",\n ` agent-native code run ${run.id}`,\n ].join(\"\\n\"),\n );\n}\n\nfunction renderCodeAgentLogs(\n runs: CodeAgentRunRecord[],\n args: string[],\n): string {\n const run = selectCodeAgentRun(runs, args, { defaultToLast: true });\n if (!run) {\n return [\n \"\",\n \"Agent-Native Code logs\",\n \"\",\n \" No Agent-Native Code session selected.\",\n \"\",\n \"Try: agent-native code logs --last\",\n ].join(\"\\n\");\n }\n const events = listCodeAgentTranscriptEvents(run.id);\n return [\n \"\",\n `Agent-Native Code logs: ${run.id}`,\n `/${run.goalId} ${run.status}${run.phase ? ` (${run.phase})` : \"\"}`,\n run.title,\n `Updated: ${run.updatedAt}`,\n `Events: ${events.length}`,\n \"\",\n events.length === 0\n ? \" No transcript events recorded yet.\"\n : events.map(renderTranscriptEventForCli).join(\"\\n\"),\n ].join(\"\\n\");\n}\n\nasync function attachCodeAgentRun(\n runs: CodeAgentRunRecord[],\n args: string[],\n output: NodeJS.WritableStream,\n): Promise<void> {\n const run = selectCodeAgentRun(runs, args, { defaultToLast: true });\n if (!run) {\n writeLine(\n output,\n [\n \"\",\n \"Agent-Native Code attach\",\n \"\",\n \" No Agent-Native Code session selected.\",\n \"\",\n \"Try: agent-native code attach --last\",\n ].join(\"\\n\"),\n );\n return;\n }\n\n const follow = !args.includes(\"--no-follow\");\n const printed = new Set<string>();\n writeLine(output, \"\");\n writeLine(output, `Attaching to Agent-Native Code run ${run.id}`);\n writeLine(\n output,\n \"Press Ctrl+C to detach. The session keeps its transcript.\",\n );\n writeLine(output, \"\");\n\n const printNewEvents = () => {\n const events = listCodeAgentTranscriptEvents(run.id);\n for (const event of events) {\n const key = `${event.id}:${event.createdAt}`;\n if (printed.has(key)) continue;\n printed.add(key);\n writeLine(output, renderTranscriptEventForCli(event));\n }\n };\n\n printNewEvents();\n if (!follow) return;\n\n while (true) {\n const latest = getCodeAgentRunRecord(run.id);\n if (!latest || isTerminalRun(latest)) {\n printNewEvents();\n if (latest) {\n writeLine(\n output,\n `\\nRun ${latest.status}${latest.phase ? ` (${latest.phase})` : \"\"}.`,\n );\n }\n return;\n }\n await delay(1_000);\n printNewEvents();\n }\n}\n\nfunction renderTranscriptEventForCli(event: CodeAgentTranscriptEvent): string {\n const timestamp = event.createdAt.replace(\"T\", \" \").replace(/\\.\\d+Z$/, \"Z\");\n const label =\n event.kind === \"user\"\n ? \"user\"\n : event.metadata?.role === \"assistant\"\n ? \"assistant\"\n : event.kind;\n const tool =\n typeof event.metadata?.tool === \"string\" ? ` ${event.metadata.tool}` : \"\";\n return `[${timestamp}] ${label}${tool}: ${event.message}`;\n}\n\nfunction isTerminalRun(run: CodeAgentRunRecord): boolean {\n return (\n run.status === \"completed\" ||\n run.status === \"errored\" ||\n run.status === \"paused\" ||\n run.phase === \"complete\" ||\n run.phase === \"error\" ||\n run.phase === \"paused\" ||\n run.phase === \"missing-credentials\" ||\n run.phase === \"stopped\"\n );\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nfunction selectCodeAgentRun(\n runs: CodeAgentRunRecord[],\n args: string[],\n options: { defaultToLast: boolean },\n): CodeAgentRunRecord | null {\n const explicitRunId = getExplicitRunId(args);\n if (explicitRunId) {\n return runs.find((run) => run.id === explicitRunId) ?? null;\n }\n return options.defaultToLast ? (runs[0] ?? null) : null;\n}\n\nfunction hasExplicitRunId(args: string[]): boolean {\n return Boolean(getExplicitRunId(args));\n}\n\nfunction getExplicitRunId(args: string[]): string | null {\n const subcommand = args[0];\n for (const arg of args.slice(1)) {\n if (arg === \"--last\" || arg === \"--\") continue;\n if (arg.startsWith(\"-\")) continue;\n if (arg === subcommand) continue;\n return arg;\n }\n return null;\n}\n\nfunction renderCodeAgentRunDetail(\n heading: string,\n run: CodeAgentRunRecord,\n): string {\n const transcriptEvents = listCodeAgentTranscriptEvents(run.id);\n return [\n \"\",\n heading,\n \"\",\n ` Run: ${run.id}`,\n ` Goal: /${run.goalId}`,\n ` Title: ${run.title}`,\n run.subtitle ? ` Subtitle: ${run.subtitle}` : \"\",\n run.permissionMode\n ? ` Mode: ${formatCodeAgentRunMode(run.permissionMode)}`\n : \"\",\n ` Status: ${run.status}${run.phase ? ` (${run.phase})` : \"\"}`,\n run.progress\n ? ` Progress: ${run.progress.completed}/${run.progress.total} (${run.progress.percent}%)`\n : \"\",\n run.artifactRoot ? ` Artifacts: ${run.artifactRoot}` : \"\",\n ` Transcript: ${transcriptEvents.length} event${transcriptEvents.length === 1 ? \"\" : \"s\"}`,\n ` Updated: ${run.updatedAt}`,\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction renderCodeAgentRunListItem(run: CodeAgentRunRecord): string {\n const progress = run.progress\n ? `, ${run.progress.completed}/${run.progress.total}`\n : \"\";\n const permission = run.permissionMode\n ? `, ${formatCodeAgentRunMode(run.permissionMode)}`\n : \"\";\n return [\n ` - ${run.id}`,\n ` /${run.goalId} ${run.status}${run.phase ? ` (${run.phase})` : \"\"}${progress}${permission}`,\n ` ${truncateForDisplay(run.title, 100)}`,\n ` updated ${run.updatedAt}`,\n ].join(\"\\n\");\n}\n\nfunction isInteractiveTerminal(\n input: NodeJS.ReadableStream,\n output: NodeJS.WritableStream,\n): boolean {\n return Boolean(\n (input as NodeJS.ReadStream).isTTY && (output as NodeJS.WriteStream).isTTY,\n );\n}\n\nfunction writeLine(output: NodeJS.WritableStream, text = \"\"): void {\n output.write(`${text}\\n`);\n}\n\nfunction writePrompt(output: NodeJS.WritableStream): void {\n output.write(SHELL_PROMPT);\n}\n\nasync function runCodeGoal(\n goalId: CodeAgentGoalId,\n forwardedArgs: string[],\n output: NodeJS.WritableStream = process.stdout,\n): Promise<void> {\n const goal = CODE_AGENT_CLI_GOALS.find(\n (candidate) => candidate.id === goalId,\n );\n if (!goal) {\n throw new Error(`Unknown Agent-Native Code goal: ${goalId}`);\n }\n\n switch (goal.backingCommand) {\n case \"task\":\n await runTask(forwardedArgs, output);\n return;\n case \"audit-agent-web\":\n await runAuditAgentWeb(forwardedArgs);\n return;\n case \"migrate\":\n await runMigrate(forwardedArgs);\n return;\n }\n}\n\nasync function runTask(\n forwardedArgs: string[],\n output: NodeJS.WritableStream,\n options: RunTaskOptions = {},\n): Promise<void> {\n const parsed = parseTaskArgs(forwardedArgs, options.permissionMode);\n if (parsed.error) {\n writeLine(output, parsed.error);\n writeLine(output, taskUsage());\n return;\n }\n if (!parsed.prompt) {\n writeLine(output, taskUsage());\n return;\n }\n\n const prompt = parsed.prompt;\n const run = createCodeAgentRunRecord({\n goalId: \"task\",\n title: titleFromPrompt(prompt),\n subtitle: options.subtitle ?? \"Generic coding task\",\n status: \"running\",\n phase: \"starting\",\n permissionMode: parsed.permissionMode,\n progress: {\n label: \"Starting\",\n completed: 0,\n total: 1,\n percent: 5,\n },\n details: [\n { label: \"Prompt\", value: truncateForDisplay(prompt, 160) },\n { label: \"Agent\", value: \"Running locally\" },\n { label: \"Mode\", value: formatCodeAgentRunMode(parsed.permissionMode) },\n ],\n cwd: process.cwd(),\n metadata: {\n prompt,\n source: options.source ?? \"agent-native code\",\n commandName: options.commandName,\n commandPath: options.commandPath,\n permissionMode: parsed.permissionMode,\n },\n });\n\n appendCodeAgentTranscriptEvent({\n runId: run.id,\n kind: \"user\",\n message: prompt,\n metadata: { source: \"initial-prompt\" },\n });\n appendCodeAgentTranscriptEvent({\n runId: run.id,\n kind: \"status\",\n message: \"Starting local Agent-Native Code execution.\",\n metadata: {\n status: \"running\",\n phase: \"starting\",\n },\n });\n\n writeLine(output, renderTaskStarted(run, prompt));\n await executeCodeAgentRun({\n runId: run.id,\n prompt,\n appendUserEvent: false,\n stdout: output,\n });\n}\n\nasync function runProjectSlashCommand(\n commandName: string,\n forwardedArgs: string[],\n output: NodeJS.WritableStream,\n): Promise<void> {\n const command = findProjectSlashCommand(commandName);\n if (!command) {\n writeLine(\n output,\n `Project slash command not found: /${normalizeGoalToken(commandName)}`,\n );\n return;\n }\n const parsed = parseTaskArgs(forwardedArgs);\n if (parsed.error) {\n writeLine(output, parsed.error);\n return;\n }\n const prompt = renderProjectSlashCommandPrompt(command, parsed.promptArgs);\n await runTask([prompt], output, {\n subtitle: `Project command /${command.name}`,\n source: \"agent-native code project-command\",\n commandName: command.name,\n commandPath: command.path,\n permissionMode: parsed.permissionMode,\n });\n}\n\nasync function recordCodeAgentFollowUpPrompt(\n prompt: string,\n output: NodeJS.WritableStream,\n permissionMode?: CodeAgentPermissionMode,\n runId?: string,\n followUpMode: CodeAgentFollowUpMode = \"immediate\",\n): Promise<void> {\n const run = runId\n ? getCodeAgentRunRecord(runId)\n : getLastCodeAgentRunRecord();\n if (!run) {\n writeLine(\n output,\n [\n \"\",\n runId\n ? `Agent-Native Code run not found: ${runId}`\n : \"No Agent-Native Code runs found.\",\n \"\",\n 'Start one with: agent-native code \"what to change\"',\n ].join(\"\\n\"),\n );\n return;\n }\n\n const activeRun = permissionMode\n ? (updateCodeAgentRunRecord(run.id, { permissionMode }) ?? run)\n : run;\n const shouldQueue = isActiveCodeAgentRun(activeRun);\n const event = appendCodeAgentTranscriptEvent({\n runId: activeRun.id,\n kind: \"user\",\n message: prompt,\n metadata: {\n source: \"resume-follow-up\",\n permissionMode,\n followUpMode,\n delivery: shouldQueue ? followUpMode : \"run-now\",\n },\n });\n if (shouldQueue) {\n queueCodeAgentFollowUp({\n runId: activeRun.id,\n prompt,\n mode: followUpMode,\n eventId: event.id,\n permissionMode,\n source: \"resume-follow-up\",\n createdAt: event.createdAt,\n });\n writeLine(output, renderFollowUpRecorded(activeRun, event, followUpMode));\n return;\n }\n\n writeLine(output, renderFollowUpRecorded(activeRun, event, \"immediate\"));\n await executeCodeAgentRun({\n runId: activeRun.id,\n prompt,\n appendUserEvent: false,\n stdout: output,\n });\n}\n\nfunction parseTaskArgs(\n forwardedArgs: string[],\n defaultPermissionMode: CodeAgentPermissionMode = \"full-auto\",\n): ParsedTaskArgs {\n const promptArgs: string[] = [];\n let permissionMode: CodeAgentPermissionMode = defaultPermissionMode;\n let permissionModeExplicit = false;\n for (let index = 0; index < forwardedArgs.length; index += 1) {\n const arg = forwardedArgs[index];\n if (arg === \"--\") {\n promptArgs.push(...forwardedArgs.slice(index + 1));\n break;\n }\n if (arg === \"--permission-mode\") {\n const value = forwardedArgs[index + 1];\n const normalized = normalizeCodeAgentPermissionMode(value);\n if (!normalized) {\n return {\n prompt: \"\",\n promptArgs,\n permissionMode,\n error: `Invalid run mode: ${value ?? \"(missing)\"}`,\n };\n }\n permissionMode = normalized;\n permissionModeExplicit = true;\n index += 1;\n continue;\n }\n if (arg.startsWith(\"--permission-mode=\")) {\n const normalized = normalizeCodeAgentPermissionMode(\n arg.slice(\"--permission-mode=\".length),\n );\n if (!normalized) {\n return {\n prompt: \"\",\n promptArgs,\n permissionMode,\n error: `Invalid run mode: ${arg.slice(\"--permission-mode=\".length)}`,\n };\n }\n permissionMode = normalized;\n permissionModeExplicit = true;\n continue;\n }\n const shorthand = parsePermissionModeFlag(arg);\n if (shorthand) {\n permissionMode = shorthand;\n permissionModeExplicit = true;\n continue;\n }\n promptArgs.push(arg);\n }\n return {\n prompt: promptArgs.join(\" \").trim(),\n promptArgs,\n permissionMode,\n permissionModeExplicit,\n };\n}\n\nfunction parseFollowUpArgs(forwardedArgs: string[]): ParsedTaskArgs & {\n followUpMode: CodeAgentFollowUpMode;\n} {\n const promptArgs: string[] = [];\n let followUpMode: CodeAgentFollowUpMode = \"immediate\";\n for (let index = 0; index < forwardedArgs.length; index += 1) {\n const arg = forwardedArgs[index];\n if (arg === \"--\") {\n promptArgs.push(...forwardedArgs.slice(index));\n break;\n }\n if (arg === \"--queue\" || arg === \"--after-completion\") {\n followUpMode = \"queued\";\n continue;\n }\n if (arg === \"--immediate\" || arg === \"--steer\") {\n followUpMode = \"immediate\";\n continue;\n }\n promptArgs.push(arg);\n }\n return {\n ...parseTaskArgs(promptArgs),\n followUpMode,\n };\n}\n\nfunction parsePermissionModeFlag(arg: string): CodeAgentPermissionMode | null {\n switch (arg) {\n case \"--plan\":\n case \"--read-only\":\n return \"read-only\";\n case \"--auto\":\n return \"full-auto\";\n case \"--ask-before-edit\":\n return \"ask-before-edit\";\n case \"--auto-edit\":\n return \"auto-edit\";\n case \"--full-auto\":\n return \"full-auto\";\n default:\n return null;\n }\n}\n\nfunction titleFromPrompt(prompt: string): string {\n return truncateForDisplay(prompt.replace(/\\s+/g, \" \"), 80);\n}\n\nfunction truncateForDisplay(value: string, maxLength: number): string {\n if (value.length <= maxLength) return value;\n return `${value.slice(0, Math.max(0, maxLength - 3))}...`;\n}\n\nfunction renderTaskStarted(run: CodeAgentRunRecord, prompt: string): string {\n return [\n \"\",\n \"Agent-Native Code session started.\",\n \"\",\n ` Run: ${run.id}`,\n ` Prompt: ${truncateForDisplay(prompt, 160)}`,\n ` Mode: ${formatCodeAgentRunMode(run.permissionMode)}`,\n \"\",\n \"Streaming output below. The transcript is saved with this run.\",\n ].join(\"\\n\");\n}\n\nfunction renderFollowUpRecorded(\n run: CodeAgentRunRecord,\n event: ReturnType<typeof appendCodeAgentTranscriptEvent>,\n mode: CodeAgentFollowUpMode,\n): string {\n const active = isActiveCodeAgentRun(run);\n const heading = active\n ? mode === \"queued\"\n ? \"Queued follow-up prompt for Agent-Native Code run.\"\n : \"Recorded steering prompt for active Agent-Native Code run.\"\n : \"Running follow-up prompt for Agent-Native Code run.\";\n return [\n \"\",\n heading,\n \"\",\n ` Run: ${run.id}`,\n ` Goal: /${run.goalId}`,\n ` Event: ${event.id}`,\n \"\",\n active\n ? mode === \"queued\"\n ? \"It will run after the current execution finishes.\"\n : \"It will be applied by the active runner as soon as it can steer.\"\n : \"Streaming output below. The transcript is saved with this run.\",\n ].join(\"\\n\");\n}\n\nfunction taskUsage(): string {\n return [\n \"\",\n \"Usage:\",\n ' agent-native code \"what to change\"',\n ' agent-native code --plan \"explain this repo\"',\n ' agent-native code --auto \"fix this and verify it\"',\n ` agent-native code --permission-mode ${CODE_AGENT_PERMISSION_MODES.join(\"|\")} \"what to change\"`,\n \"\",\n \"The task goal starts a local Agent-Native Code session, saves transcript events, and can be resumed with follow-up prompts.\",\n ].join(\"\\n\");\n}\n\nfunction formatCodeAgentRunMode(\n permissionMode: CodeAgentPermissionMode | undefined,\n): string {\n return permissionMode === \"read-only\" ? \"Plan mode\" : \"Auto mode\";\n}\n"]}
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/cli/code.ts"],"names":[],"mappings":"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","sourcesContent":["import { createInterface } from \"node:readline\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nimport {\n CODE_AGENT_PERMISSION_MODES,\n appendCodeAgentTranscriptEvent,\n createCodeAgentRunRecord,\n getCodeAgentRunRecord,\n getLastCodeAgentRunRecord,\n isActiveCodeAgentRun,\n listCodeAgentRunRecords,\n listCodeAgentTranscriptEvents,\n normalizeCodeAgentPermissionMode,\n queueCodeAgentFollowUp,\n updateCodeAgentRunRecord,\n type CodeAgentFollowUpMode,\n type CodeAgentPermissionMode,\n type CodeAgentRunRecord,\n type CodeAgentTranscriptEvent,\n} from \"./code-agent-runs.js\";\nimport {\n findProjectSlashCommand,\n listProjectSlashCommands,\n renderProjectSlashCommandPrompt,\n} from \"./code-agent-commands.js\";\nimport {\n executeCodeAgentRun,\n executeExistingCodeAgentRun,\n executePendingCodeAgentApproval,\n} from \"./code-agent-executor.js\";\nimport { runAuditAgentWeb } from \"./audit-agent-web.js\";\nimport { runMigrate } from \"./migrate.js\";\n\nexport type CodeAgentGoalId = \"task\" | \"migrate\" | \"audit\";\n\nexport interface CodeAgentCliGoal {\n id: CodeAgentGoalId;\n slashCommand: string;\n aliases: string[];\n summary: string;\n backingCommand: \"task\" | \"migrate\" | \"audit-agent-web\";\n}\n\nexport type CodeCliCommand =\n | { kind: \"shell\" }\n | { kind: \"help\" }\n | { kind: \"list-goals\" }\n | { kind: \"serve\"; relayUrl?: string }\n | { kind: \"execute-existing-run\"; runId: string }\n | { kind: \"control\"; subcommand: CodeAgentControlSubcommand; args: string[] }\n | {\n kind: \"record-follow-up\";\n prompt: string;\n runId?: string;\n permissionMode?: CodeAgentPermissionMode;\n followUpMode?: CodeAgentFollowUpMode;\n }\n | {\n kind: \"run-project-command\";\n commandName: string;\n forwardedArgs: string[];\n }\n | {\n kind: \"run-goal\";\n goalId: CodeAgentGoalId;\n forwardedArgs: string[];\n };\n\nexport const CODE_AGENT_CLI_GOALS: CodeAgentCliGoal[] = [\n {\n id: \"task\",\n slashCommand: \"/task\",\n aliases: [\"task\", \"todo\"],\n summary:\n \"Run a generic coding task as a resumable Agent-Native Code session.\",\n backingCommand: \"task\",\n },\n {\n id: \"migrate\",\n slashCommand: \"/migrate\",\n aliases: [\"migrate\", \"migration\"],\n summary:\n \"Move a path, URL, or described product into agent-native with verification.\",\n backingCommand: \"migrate\",\n },\n {\n id: \"audit\",\n slashCommand: \"/audit\",\n aliases: [\"audit\", \"audit-agent-web\", \"agent-web\"],\n summary:\n \"Audit a public URL for agent-readable surfaces such as llms.txt and markdown mirrors.\",\n backingCommand: \"audit-agent-web\",\n },\n];\n\ntype CodeAgentControlSubcommand =\n | \"approve\"\n | \"attach\"\n | \"list\"\n | \"logs\"\n | \"ps\"\n | \"resume\"\n | \"status\"\n | \"stop\"\n | \"ui\";\n\nconst CODE_AGENT_CONTROL_SUBCOMMANDS = new Set<CodeAgentControlSubcommand>([\n \"approve\",\n \"attach\",\n \"list\",\n \"logs\",\n \"ps\",\n \"resume\",\n \"status\",\n \"stop\",\n \"ui\",\n] as CodeAgentControlSubcommand[]);\nconst SHELL_PROMPT = \"code> \";\nconst DEFAULT_CODE_AGENT_PERMISSION_MODE: CodeAgentPermissionMode = \"full-auto\";\n\nexport interface CodeShellOptions {\n input?: NodeJS.ReadableStream;\n output?: NodeJS.WritableStream;\n runGoal?: CodeGoalRunner;\n}\n\ntype CodeGoalRunner = (\n goalId: CodeAgentGoalId,\n forwardedArgs: string[],\n output?: NodeJS.WritableStream,\n) => Promise<void>;\n\ntype CodeShellLineResult = \"continue\" | \"exit\";\n\ninterface ParsedTaskArgs {\n prompt: string;\n promptArgs: string[];\n permissionMode: CodeAgentPermissionMode;\n permissionModeExplicit?: boolean;\n error?: string;\n}\n\ninterface RunTaskOptions {\n subtitle?: string;\n source?: string;\n commandName?: string;\n commandPath?: string;\n permissionMode?: CodeAgentPermissionMode;\n}\n\nexport function resolveCodeCommand(argv: string[]): CodeCliCommand {\n const [rawFirst, ...rest] = argv;\n if (!rawFirst) {\n return { kind: \"shell\" };\n }\n\n if (rawFirst === \"--help\" || rawFirst === \"-h\") {\n return { kind: \"help\" };\n }\n\n const first = normalizeGoalToken(rawFirst);\n if (first === \"goals\") {\n return { kind: \"list-goals\" };\n }\n\n if (first === \"serve\") {\n return { kind: \"serve\", relayUrl: parseRelayUrlOption(rest) };\n }\n\n if (first === \"exec\" || first === \"e\") {\n return {\n kind: \"run-goal\",\n goalId: \"task\",\n forwardedArgs: rest,\n };\n }\n\n if (first === \"--print\" || first === \"-p\") {\n return {\n kind: \"run-goal\",\n goalId: \"task\",\n forwardedArgs: rest,\n };\n }\n\n if (first === \"--continue\" || first === \"-c\") {\n const parsed = parseFollowUpArgs(rest);\n return parsed.prompt\n ? {\n kind: \"record-follow-up\",\n prompt: parsed.prompt,\n ...(parsed.followUpMode === \"queued\"\n ? { followUpMode: parsed.followUpMode }\n : {}),\n ...(parsed.permissionModeExplicit\n ? { permissionMode: parsed.permissionMode }\n : {}),\n }\n : {\n kind: \"control\",\n subcommand: \"resume\",\n args: [\"resume\", \"--last\"],\n };\n }\n\n if (first === \"--resume\" || first === \"-r\") {\n return {\n kind: \"control\",\n subcommand: \"resume\",\n args: [\"resume\", ...rest],\n };\n }\n\n if ((first === \"run\" || first === \"start\") && rest[0]) {\n return { kind: \"execute-existing-run\", runId: rest[0] };\n }\n\n const followUp = parseResumeFollowUpPrompt([rawFirst, ...rest]);\n if (followUp) {\n return {\n kind: \"record-follow-up\",\n prompt: followUp.prompt,\n runId: followUp.runId,\n ...(followUp.followUpMode ? { followUpMode: followUp.followUpMode } : {}),\n ...(followUp.permissionMode\n ? { permissionMode: followUp.permissionMode }\n : {}),\n };\n }\n\n const goal = findGoal(first);\n if (goal) {\n return {\n kind: \"run-goal\",\n goalId: goal.id,\n forwardedArgs: rest,\n };\n }\n\n if (rawFirst.startsWith(\"/\")) {\n const projectCommand = findProjectSlashCommand(first);\n if (projectCommand) {\n return {\n kind: \"run-project-command\",\n commandName: projectCommand.name,\n forwardedArgs: rest,\n };\n }\n }\n\n if (isCodeAgentControlSubcommand(first)) {\n return {\n kind: \"control\",\n subcommand: first,\n args: [first, ...rest],\n };\n }\n\n return {\n kind: \"run-goal\",\n goalId: \"task\",\n forwardedArgs: argv,\n };\n}\n\nexport async function runCode(\n argv: string[],\n options: CodeShellOptions = {},\n): Promise<void> {\n const command = resolveCodeCommand(argv);\n const output = options.output ?? process.stdout;\n const runGoal = options.runGoal ?? runCodeGoal;\n\n if (command.kind === \"shell\") {\n await runCodeShell({ ...options, output, runGoal });\n return;\n }\n\n if (command.kind === \"help\") {\n writeLine(output, codeUsage());\n return;\n }\n\n if (command.kind === \"list-goals\") {\n writeLine(output, renderGoalList());\n return;\n }\n\n if (command.kind === \"serve\") {\n const { runCodeAgentConnector } = await import(\"./code-agent-connector.js\");\n const exitCode = await runCodeAgentConnector({\n relayUrl: command.relayUrl,\n output,\n });\n if (exitCode !== 0) process.exitCode = exitCode;\n return;\n }\n\n if (command.kind === \"execute-existing-run\") {\n await executeExistingCodeAgentRun(command.runId, { stdout: output });\n return;\n }\n\n if (command.kind === \"control\") {\n await runCodeAgentControl(command.subcommand, command.args, output);\n return;\n }\n\n if (command.kind === \"record-follow-up\") {\n await recordCodeAgentFollowUpPrompt(\n command.prompt,\n output,\n command.permissionMode,\n command.runId,\n command.followUpMode,\n );\n return;\n }\n\n if (command.kind === \"run-project-command\") {\n await runProjectSlashCommand(\n command.commandName,\n command.forwardedArgs,\n output,\n );\n return;\n }\n\n await runGoal(command.goalId, command.forwardedArgs, output);\n}\n\nexport async function runCodeShell(\n options: CodeShellOptions = {},\n): Promise<void> {\n const input = options.input ?? process.stdin;\n const output = options.output ?? process.stdout;\n const runGoal = options.runGoal ?? runCodeGoal;\n const rl = createInterface({\n input,\n output,\n terminal: isInteractiveTerminal(input, output),\n });\n\n writeLine(output, codeShellIntro());\n writePrompt(output);\n\n try {\n for await (const line of rl) {\n const result = await handleCodeShellLine(line, { output, runGoal });\n if (result === \"exit\") {\n break;\n }\n writePrompt(output);\n }\n } finally {\n rl.close();\n }\n}\n\nexport async function handleCodeShellLine(\n line: string,\n options: Required<Pick<CodeShellOptions, \"output\" | \"runGoal\">>,\n): Promise<CodeShellLineResult> {\n const trimmed = line.trim();\n if (!trimmed) {\n return \"continue\";\n }\n\n const parsed = parseCodeShellArgs(trimmed);\n if (\"error\" in parsed) {\n writeLine(options.output, parsed.error);\n return \"continue\";\n }\n\n const [rawFirst, ...rest] = parsed.args;\n if (!rawFirst) {\n return \"continue\";\n }\n\n const followUp = parseResumeFollowUpPrompt(parsed.args);\n if (followUp) {\n await recordCodeAgentFollowUpPrompt(\n followUp.prompt,\n options.output,\n followUp.permissionMode,\n followUp.runId,\n followUp.followUpMode,\n );\n return \"continue\";\n }\n\n if (rawFirst.startsWith(\"/\")) {\n const first = normalizeGoalToken(rawFirst);\n if (first === \"help\") {\n writeLine(options.output, codeShellHelp());\n return \"continue\";\n }\n\n if (first === \"goals\") {\n writeLine(options.output, renderGoalList());\n return \"continue\";\n }\n\n if (first === \"exit\" || first === \"quit\") {\n writeLine(options.output, \"Leaving Agent-Native Code.\");\n return \"exit\";\n }\n\n const goal = findGoal(first);\n if (goal) {\n await options.runGoal(goal.id, rest, options.output);\n return \"continue\";\n }\n\n const projectCommand = findProjectSlashCommand(first);\n if (projectCommand) {\n await runProjectSlashCommand(projectCommand.name, rest, options.output);\n return \"continue\";\n }\n\n writeLine(\n options.output,\n `Unknown slash command: ${rawFirst}\\nTry /help to see available commands.`,\n );\n return \"continue\";\n }\n\n const first = normalizeGoalToken(rawFirst);\n if (first === \"exec\" || first === \"e\") {\n await options.runGoal(\"task\", rest, options.output);\n return \"continue\";\n }\n\n if (first === \"--print\" || first === \"-p\") {\n await options.runGoal(\"task\", rest, options.output);\n return \"continue\";\n }\n\n if (first === \"--continue\" || first === \"-c\") {\n const parsedTask = parseFollowUpArgs(rest);\n if (parsedTask.prompt) {\n await recordCodeAgentFollowUpPrompt(\n parsedTask.prompt,\n options.output,\n parsedTask.permissionModeExplicit\n ? parsedTask.permissionMode\n : undefined,\n undefined,\n parsedTask.followUpMode,\n );\n } else {\n await runCodeAgentControl(\"resume\", [\"resume\", \"--last\"], options.output);\n }\n return \"continue\";\n }\n\n if (first === \"--resume\" || first === \"-r\") {\n await runCodeAgentControl(\"resume\", [\"resume\", ...rest], options.output);\n return \"continue\";\n }\n\n if ((first === \"run\" || first === \"start\") && rest[0]) {\n await executeExistingCodeAgentRun(rest[0], { stdout: options.output });\n return \"continue\";\n }\n\n if (isCodeAgentControlSubcommand(first)) {\n await runCodeAgentControl(first, parsed.args, options.output);\n return \"continue\";\n }\n\n await options.runGoal(\"task\", parsed.args, options.output);\n return \"continue\";\n}\n\nexport function codeUsage(): string {\n return `agent-native code\n\nOpen the Agent-Native Code shell or run a coding-agent goal directly.\n\nUsage:\n agent-native code\n agent-native code \"fix the failing auth tests\"\n agent-native code exec \"fix the failing auth tests\"\n agent-native code -p \"fix the failing auth tests\"\n agent-native code --plan \"explain this repo\"\n agent-native code --auto \"fix the failing auth tests\"\n agent-native code /review-diff\n agent-native code /audit --url https://example.com\n agent-native code /migrate <source> [--out ../migrated-app]\n agent-native code /migrate --describe \"what to build or migrate\"\n agent-native code attach --last\n agent-native code logs --last\n agent-native code approve --last\n agent-native code list\n agent-native code resume --last \"follow-up prompt\"\n agent-native code --continue \"follow-up prompt\"\n agent-native code resume --last\n agent-native code status --last\n agent-native code serve --relay-url <url>\n agent-native code ui --last\n agent-native code run <runId>\n agent-native code goals\n\nInteractive shell:\n /help Show shell commands\n /goals List available coding-agent goals\n /migrate ... Run the migration goal\n /audit ... Run the web audit goal\n /<project> Run .agents/commands/<project>.md\n /exit Leave the shell\n\nSession commands:\n list List recent sessions\n attach ... Attach to a run transcript, following active work\n logs ... Print a run transcript once\n approve ... Run one pending approved command, then resume the session\n resume ... Continue the latest or selected run\n status ... Show run status\n stop ... Stop a tracked Desktop/CLI runner\n serve ... Run the remote relay connector\n\nModes:\n --plan, --auto\n --permission-mode read-only|ask-before-edit|auto-edit|full-auto\n --read-only, --ask-before-edit, --auto-edit, --full-auto\n\nAvailable goals:\n${renderGoalRows()}\n${renderProjectCommandRows()}\n\nThe existing shortcut still works:\n agent-native migrate <source> [options]`;\n}\n\nexport function codeShellIntro(): string {\n return [\n `Agent-Native Code v${getCorePackageVersion()}`,\n `cwd: ${process.cwd()}`,\n `default: ${formatCodeAgentRunMode(DEFAULT_CODE_AGENT_PERMISSION_MODE)} (${DEFAULT_CODE_AGENT_PERMISSION_MODE})`,\n \"\",\n \"Type a coding task to start a session. Use /help, /goals, or /exit.\",\n ].join(\"\\n\");\n}\n\nexport function codeShellHelp(): string {\n return `Agent-Native Code shell commands:\n /help Show this help\n /goals List available coding-agent goals\n /migrate ... Move a source into agent-native\n /audit ... Audit a public URL for agent-readable surfaces\n /<project> Run a project command from .agents/commands/*.md\n /exit Leave the shell\n /quit Leave the shell\n\nCompatibility shortcuts:\n exec \"prompt\"\n -p \"prompt\"\n list\n ps\n attach --last\n logs --last\n approve --last\n resume --last \"follow-up prompt\"\n --continue \"follow-up prompt\"\n resume --last\n status --last\n ui --last\n stop --last\n\nShell context:\n cwd: ${process.cwd()}\n default mode: ${formatCodeAgentRunMode(DEFAULT_CODE_AGENT_PERMISSION_MODE)} (${DEFAULT_CODE_AGENT_PERMISSION_MODE})`;\n}\n\nexport function codeShellFreeTextMessage(): string {\n return `Bare prompts run as generic Agent-Native Code sessions.\nUse /migrate and /audit for specialized goals.`;\n}\n\nexport function parseCodeShellArgs(\n line: string,\n): { ok: true; args: string[] } | { ok: false; error: string } {\n const args: string[] = [];\n let current = \"\";\n let quote: \"'\" | '\"' | undefined;\n let escaping = false;\n let hasValue = false;\n\n const pushCurrent = () => {\n if (hasValue) {\n args.push(current);\n current = \"\";\n hasValue = false;\n }\n };\n\n for (const char of line) {\n if (escaping) {\n current += char;\n hasValue = true;\n escaping = false;\n continue;\n }\n\n if (char === \"\\\\\" && quote !== \"'\") {\n escaping = true;\n hasValue = true;\n continue;\n }\n\n if (quote) {\n if (char === quote) {\n quote = undefined;\n } else {\n current += char;\n hasValue = true;\n }\n continue;\n }\n\n if (char === \"'\" || char === '\"') {\n quote = char;\n hasValue = true;\n continue;\n }\n\n if (/\\s/.test(char)) {\n pushCurrent();\n continue;\n }\n\n current += char;\n hasValue = true;\n }\n\n if (escaping) {\n current += \"\\\\\";\n }\n\n if (quote) {\n return { ok: false, error: `Unclosed ${quote} quote.` };\n }\n\n pushCurrent();\n return { ok: true, args };\n}\n\nfunction renderGoalList(): string {\n return `Available Agent-Native Code goals:\n${renderGoalRows()}\n${renderProjectCommandRows()}`;\n}\n\nfunction renderGoalRows(): string {\n return CODE_AGENT_CLI_GOALS.map(\n (goal) => ` ${goal.slashCommand.padEnd(12)} ${goal.summary}`,\n ).join(\"\\n\");\n}\n\nfunction renderProjectCommandRows(): string {\n const commands = listVisibleProjectSlashCommands();\n if (commands.length === 0) return \"\";\n return [\n \"\",\n \"Project commands:\",\n ...commands.map((command) => {\n const args = command.argumentHint ? ` ${command.argumentHint}` : \"\";\n const description = command.description ?? \"Project slash command.\";\n return ` /${command.name}${args}`.padEnd(24) + description;\n }),\n ].join(\"\\n\");\n}\n\nfunction listVisibleProjectSlashCommands() {\n return listProjectSlashCommands().filter(\n (command) => !isReservedSlashName(command.name),\n );\n}\n\nfunction isReservedSlashName(name: string): boolean {\n const normalized = normalizeGoalToken(name);\n return (\n Boolean(findGoal(normalized)) ||\n isCodeAgentControlSubcommand(normalized) ||\n normalized === \"help\" ||\n normalized === \"exit\" ||\n normalized === \"quit\" ||\n normalized === \"goals\"\n );\n}\n\nfunction normalizeGoalToken(value: string): string {\n return value.replace(/^\\//, \"\").toLowerCase();\n}\n\nfunction findGoal(value: string): CodeAgentCliGoal | undefined {\n const normalized = normalizeGoalToken(value);\n return CODE_AGENT_CLI_GOALS.find(\n (goal) =>\n goal.id === normalized ||\n normalizeGoalToken(goal.slashCommand) === normalized ||\n goal.aliases.includes(normalized),\n );\n}\n\nfunction isCodeAgentControlSubcommand(\n value: string,\n): value is CodeAgentControlSubcommand {\n return CODE_AGENT_CONTROL_SUBCOMMANDS.has(\n value as CodeAgentControlSubcommand,\n );\n}\n\nfunction parseResumeFollowUpPrompt(args: string[]): {\n prompt: string;\n runId?: string;\n permissionMode?: CodeAgentPermissionMode;\n followUpMode?: CodeAgentFollowUpMode;\n} | null {\n const [rawFirst, ...rest] = args;\n if (normalizeGoalToken(rawFirst ?? \"\") !== \"resume\") return null;\n const selector = parseResumeSelectorAndPrompt(rest);\n if (!selector) return null;\n if (\n !selector.hasSeparator &&\n !selector.promptArgs.some((arg) => !arg.startsWith(\"-\"))\n ) {\n return null;\n }\n\n const parsed = parseFollowUpArgs(selector.promptArgs);\n return parsed.prompt\n ? {\n prompt: parsed.prompt,\n runId: selector.runId,\n ...(parsed.followUpMode === \"queued\"\n ? { followUpMode: parsed.followUpMode }\n : {}),\n permissionMode: parsed.permissionModeExplicit\n ? parsed.permissionMode\n : undefined,\n }\n : null;\n}\n\nfunction parseResumeSelectorAndPrompt(\n args: string[],\n): { runId?: string; promptArgs: string[]; hasSeparator: boolean } | null {\n const lastIndex = args.indexOf(\"--last\");\n if (lastIndex !== -1) {\n const promptArgs = args.filter((_, index) => index !== lastIndex);\n const separatorIndex = promptArgs.indexOf(\"--\");\n return {\n promptArgs:\n separatorIndex === -1\n ? promptArgs\n : promptArgs.slice(separatorIndex + 1),\n hasSeparator: separatorIndex !== -1,\n };\n }\n\n const [maybeRunId, ...rest] = args;\n if (\n !maybeRunId ||\n maybeRunId.startsWith(\"-\") ||\n !looksLikeRunId(maybeRunId)\n ) {\n return null;\n }\n const separatorIndex = rest.indexOf(\"--\");\n return {\n runId: maybeRunId,\n promptArgs: separatorIndex === -1 ? rest : rest.slice(separatorIndex + 1),\n hasSeparator: separatorIndex !== -1,\n };\n}\n\nfunction looksLikeRunId(value: string): boolean {\n return /^[a-z][a-z0-9-]*-(?:\\d{14}|\\d{8}t\\d{6}z)-[a-f0-9]{8}$/i.test(value);\n}\n\nfunction parseRelayUrlOption(args: string[]): string | undefined {\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n if (arg === \"--relay-url\" && args[i + 1]) return args[i + 1];\n if (arg.startsWith(\"--relay-url=\")) {\n const value = arg.slice(\"--relay-url=\".length).trim();\n if (value) return value;\n }\n }\n return undefined;\n}\n\nasync function runCodeAgentControl(\n subcommand: CodeAgentControlSubcommand,\n args: string[],\n output: NodeJS.WritableStream,\n allowPicker = true,\n): Promise<void> {\n const runs = listCodeAgentRunRecords();\n const effectiveArgs = await maybePickRunArgs(\n subcommand,\n runs,\n args,\n output,\n allowPicker,\n );\n if (!effectiveArgs) {\n writeLine(output, \"No Agent-Native Code session selected.\");\n return;\n }\n switch (subcommand) {\n case \"approve\":\n await approveCodeAgentRun(runs, effectiveArgs, output);\n return;\n case \"attach\":\n await attachCodeAgentRun(runs, effectiveArgs, output);\n return;\n case \"logs\":\n writeLine(output, renderCodeAgentLogs(runs, effectiveArgs));\n return;\n case \"list\":\n case \"ps\":\n writeLine(output, renderCodeAgentSessionList(runs));\n return;\n case \"status\":\n writeLine(output, renderCodeAgentStatus(runs, effectiveArgs));\n return;\n case \"resume\":\n writeLine(output, renderCodeAgentResume(runs, effectiveArgs));\n return;\n case \"ui\":\n writeLine(output, renderCodeAgentUi(runs, effectiveArgs));\n return;\n case \"stop\":\n writeLine(output, stopCodeAgentRun(runs, effectiveArgs));\n return;\n }\n}\n\nasync function maybePickRunArgs(\n subcommand: CodeAgentControlSubcommand,\n runs: CodeAgentRunRecord[],\n args: string[],\n output: NodeJS.WritableStream,\n allowPicker: boolean,\n): Promise<string[] | null> {\n if (\n !allowPicker ||\n ![\"approve\", \"attach\", \"logs\", \"resume\"].includes(subcommand) ||\n args.includes(\"--last\") ||\n hasExplicitRunId(args) ||\n runs.length === 0 ||\n !isInteractiveTerminal(process.stdin, output)\n ) {\n return args;\n }\n\n const selected = await promptForRunSelection(runs, output);\n return selected ? [subcommand, selected.id] : null;\n}\n\nasync function promptForRunSelection(\n runs: CodeAgentRunRecord[],\n output: NodeJS.WritableStream,\n): Promise<CodeAgentRunRecord | null> {\n const choices = runs.slice(0, 10);\n writeLine(output, \"\");\n writeLine(output, \"Select an Agent-Native Code session:\");\n choices.forEach((run, index) => {\n writeLine(output, ` ${index + 1}. ${run.id}`);\n writeLine(\n output,\n ` /${run.goalId} ${run.status}${run.phase ? ` (${run.phase})` : \"\"} updated ${run.updatedAt}`,\n );\n writeLine(output, ` ${truncateForDisplay(run.title, 90)}`);\n });\n writeLine(output, \"\");\n\n const rl = createInterface({\n input: process.stdin,\n output,\n terminal: true,\n });\n const answer = await new Promise<string>((resolve) => {\n rl.question(\"Run number or id (blank cancels): \", resolve);\n });\n rl.close();\n\n const trimmed = answer.trim();\n if (!trimmed) {\n writeLine(output, \"No run selected.\");\n return null;\n }\n const index = Number(trimmed);\n if (Number.isInteger(index) && index >= 1 && index <= choices.length) {\n return choices[index - 1] ?? null;\n }\n const matchingRun =\n choices.find((run) => run.id === trimmed) ??\n choices.find((run) => run.id.startsWith(trimmed));\n if (matchingRun) return matchingRun;\n\n writeLine(output, \"No matching run selected.\");\n return null;\n}\n\nfunction renderCodeAgentSessionList(runs: CodeAgentRunRecord[]): string {\n return [\n \"\",\n \"Agent-Native Code sessions\",\n \"\",\n runs.length === 0\n ? \" No Agent-Native Code sessions found.\"\n : ` ${runs.length} session${runs.length === 1 ? \"\" : \"s\"} found. Most recent first.`,\n ...runs.slice(0, 10).map(renderCodeAgentRunListItem),\n runs.length > 10 ? ` - ${runs.length - 10} more...` : \"\",\n \"\",\n runs.length > 0 ? \"Inspect a session:\" : \"\",\n runs.length > 0 ? \" agent-native code status <runId>\" : \"\",\n runs.length > 0 ? \" agent-native code logs <runId>\" : \"\",\n runs.length > 0 ? \" agent-native code resume <runId>\" : \"\",\n runs.length > 0\n ? ' agent-native code resume <runId> \"follow-up prompt\"'\n : 'Start one with: agent-native code \"what to change\"',\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction renderCodeAgentStatus(\n runs: CodeAgentRunRecord[],\n args: string[],\n): string {\n const selected = selectCodeAgentRun(runs, args, {\n defaultToLast: args.includes(\"--last\") || hasExplicitRunId(args),\n });\n if (selected) {\n return renderCodeAgentRunDetail(\"Agent-Native Code status\", selected);\n }\n\n return [\n \"\",\n \"Agent-Native Code status\",\n \"\",\n runs.length === 0\n ? \" No Agent-Native Code sessions found.\"\n : ` ${runs.length} session${runs.length === 1 ? \"\" : \"s\"} found.`,\n ...runs.slice(0, 10).map(renderCodeAgentRunListItem),\n runs.length > 10 ? ` - ${runs.length - 10} more...` : \"\",\n \"\",\n 'Start one with: agent-native code \"what to change\"',\n 'Add a follow-up with: agent-native code resume --last \"what next\"',\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction renderCodeAgentResume(\n runs: CodeAgentRunRecord[],\n args: string[],\n): string {\n const run = selectCodeAgentRun(runs, args, { defaultToLast: true });\n if (!run) {\n return [\n \"\",\n \"Agent-Native Code resume\",\n \"\",\n \" No Agent-Native Code sessions found.\",\n \"\",\n 'Start one with: agent-native code \"what to change\"',\n ].join(\"\\n\");\n }\n\n const transcriptEvents = listCodeAgentTranscriptEvents(run.id);\n const latestEvent = transcriptEvents.at(-1);\n const followUpTarget = args.includes(\"--last\") ? \"--last\" : run.id;\n return [\n \"\",\n \"Agent-Native Code resume\",\n \"\",\n ` Run: ${run.id}`,\n ` Goal: /${run.goalId}`,\n ` Title: ${run.title}`,\n ` Status: ${run.status}${run.phase ? ` (${run.phase})` : \"\"}`,\n run.permissionMode\n ? ` Mode: ${formatCodeAgentRunMode(run.permissionMode)}`\n : \"\",\n ` Updated: ${run.updatedAt}`,\n latestEvent\n ? ` Last: ${truncateForDisplay(latestEvent.message, 140)}`\n : \"\",\n \"\",\n \"Resume execution:\",\n ` agent-native code run ${run.id}`,\n \"\",\n \"Attach to the live transcript:\",\n ` agent-native code attach ${run.id}`,\n \"\",\n \"Append and run a follow-up:\",\n ` agent-native code resume ${followUpTarget} \"next instruction\"`,\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction renderCodeAgentUi(runs: CodeAgentRunRecord[], args: string[]): string {\n const run = selectCodeAgentRun(runs, args, { defaultToLast: true });\n return [\n \"\",\n \"Agent-Native Code UI\",\n \"\",\n \"Open Agent-Native Desktop and choose Agent-Native Code from the left sidebar.\",\n run ? `Run: ${run.id}` : \"No run selected yet.\",\n run ? `Deep link: agentnative://open?app=code-agents&run=${run.id}` : \"\",\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction stopCodeAgentRun(runs: CodeAgentRunRecord[], args: string[]): string {\n const run = selectCodeAgentRun(runs, args, { defaultToLast: true });\n if (\n run &&\n (run.status === \"completed\" ||\n run.status === \"errored\" ||\n run.phase === \"complete\" ||\n run.phase === \"error\")\n ) {\n return [\n \"\",\n \"Agent-Native Code stop\",\n \"\",\n ` Run: ${run.id}`,\n ` Status: ${run.status}${run.phase ? ` (${run.phase})` : \"\"}`,\n \"\",\n \" This run is already finished; no stop signal was sent.\",\n ].join(\"\\n\");\n }\n if (run) {\n const pid = Number(run.metadata?.runnerPid);\n let killed = false;\n let killError = \"\";\n if (Number.isFinite(pid) && pid > 0) {\n try {\n process.kill(pid, \"SIGTERM\");\n killed = true;\n } catch (err) {\n killError = err instanceof Error ? err.message : String(err);\n }\n }\n appendCodeAgentTranscriptEvent({\n runId: run.id,\n kind: \"status\",\n message: killed\n ? \"Stop requested for Agent-Native Code runner.\"\n : \"Stop requested; no active runner process was found from the CLI.\",\n metadata: {\n source: \"cli-stop\",\n pid: Number.isFinite(pid) ? pid : undefined,\n killed,\n killError: killError || undefined,\n },\n });\n updateCodeAgentRunRecord(run.id, {\n status: \"paused\",\n phase: \"stopped\",\n progress: {\n label: \"Stopped\",\n completed: 0,\n total: 1,\n percent: 0,\n },\n metadata: {\n stoppedAt: new Date().toISOString(),\n stoppedBy: \"cli\",\n stopSignalSent: killed,\n stopError: killError || undefined,\n },\n });\n }\n return [\n \"\",\n \"Agent-Native Code stop\",\n \"\",\n run ? ` Run: ${run.id}` : \" No Agent-Native Code session selected.\",\n \"\",\n run\n ? \" Stop requested. If a tracked runner process is active, it received SIGTERM.\"\n : ' Start one with: agent-native code \"what to change\"',\n ].join(\"\\n\");\n}\n\nasync function approveCodeAgentRun(\n runs: CodeAgentRunRecord[],\n args: string[],\n output: NodeJS.WritableStream,\n): Promise<void> {\n const run = selectCodeAgentRun(runs, args, {\n defaultToLast: args.includes(\"--last\"),\n });\n if (!run) {\n writeLine(\n output,\n [\n \"\",\n \"Agent-Native Code approve\",\n \"\",\n \" No Agent-Native Code session selected.\",\n \"\",\n \"Try: agent-native code approve --last\",\n ].join(\"\\n\"),\n );\n return;\n }\n\n writeLine(\n output,\n [\n \"\",\n \"Agent-Native Code approve\",\n \"\",\n ` Run: ${run.id}`,\n \"\",\n \"Running the pending approved command.\",\n ].join(\"\\n\"),\n );\n await executePendingCodeAgentApproval(run.id, { stdout: output });\n writeLine(\n output,\n [\n \"\",\n \"Approval step finished.\",\n \"\",\n \"Resume the Agent-Native Code session:\",\n ` agent-native code run ${run.id}`,\n ].join(\"\\n\"),\n );\n}\n\nfunction renderCodeAgentLogs(\n runs: CodeAgentRunRecord[],\n args: string[],\n): string {\n const run = selectCodeAgentRun(runs, args, { defaultToLast: true });\n if (!run) {\n return [\n \"\",\n \"Agent-Native Code logs\",\n \"\",\n \" No Agent-Native Code session selected.\",\n \"\",\n \"Try: agent-native code logs --last\",\n ].join(\"\\n\");\n }\n const events = listCodeAgentTranscriptEvents(run.id);\n return [\n \"\",\n `Agent-Native Code logs: ${run.id}`,\n `/${run.goalId} ${run.status}${run.phase ? ` (${run.phase})` : \"\"}`,\n run.title,\n `Updated: ${run.updatedAt}`,\n `Events: ${events.length}`,\n \"\",\n events.length === 0\n ? \" No transcript events recorded yet.\"\n : events.map(renderTranscriptEventForCli).join(\"\\n\"),\n ].join(\"\\n\");\n}\n\nasync function attachCodeAgentRun(\n runs: CodeAgentRunRecord[],\n args: string[],\n output: NodeJS.WritableStream,\n): Promise<void> {\n const run = selectCodeAgentRun(runs, args, { defaultToLast: true });\n if (!run) {\n writeLine(\n output,\n [\n \"\",\n \"Agent-Native Code attach\",\n \"\",\n \" No Agent-Native Code session selected.\",\n \"\",\n \"Try: agent-native code attach --last\",\n ].join(\"\\n\"),\n );\n return;\n }\n\n const follow = !args.includes(\"--no-follow\");\n const printed = new Set<string>();\n writeLine(output, \"\");\n writeLine(output, `Attaching to Agent-Native Code run ${run.id}`);\n writeLine(\n output,\n \"Press Ctrl+C to detach. The session keeps its transcript.\",\n );\n writeLine(output, \"\");\n\n const printNewEvents = () => {\n const events = listCodeAgentTranscriptEvents(run.id);\n for (const event of events) {\n const key = `${event.id}:${event.createdAt}`;\n if (printed.has(key)) continue;\n printed.add(key);\n writeLine(output, renderTranscriptEventForCli(event));\n }\n };\n\n printNewEvents();\n if (!follow) return;\n\n while (true) {\n const latest = getCodeAgentRunRecord(run.id);\n if (!latest || isTerminalRun(latest)) {\n printNewEvents();\n if (latest) {\n writeLine(\n output,\n `\\nRun ${latest.status}${latest.phase ? ` (${latest.phase})` : \"\"}.`,\n );\n }\n return;\n }\n await delay(1_000);\n printNewEvents();\n }\n}\n\nfunction renderTranscriptEventForCli(event: CodeAgentTranscriptEvent): string {\n const timestamp = event.createdAt.replace(\"T\", \" \").replace(/\\.\\d+Z$/, \"Z\");\n const label =\n event.kind === \"user\"\n ? \"user\"\n : event.metadata?.role === \"assistant\"\n ? \"assistant\"\n : event.kind;\n const tool =\n typeof event.metadata?.tool === \"string\" ? ` ${event.metadata.tool}` : \"\";\n return `[${timestamp}] ${label}${tool}: ${event.message}`;\n}\n\nfunction isTerminalRun(run: CodeAgentRunRecord): boolean {\n return (\n run.status === \"completed\" ||\n run.status === \"errored\" ||\n run.status === \"paused\" ||\n run.phase === \"complete\" ||\n run.phase === \"error\" ||\n run.phase === \"paused\" ||\n run.phase === \"missing-credentials\" ||\n run.phase === \"stopped\"\n );\n}\n\nfunction delay(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nfunction selectCodeAgentRun(\n runs: CodeAgentRunRecord[],\n args: string[],\n options: { defaultToLast: boolean },\n): CodeAgentRunRecord | null {\n const explicitRunId = getExplicitRunId(args);\n if (explicitRunId) {\n return runs.find((run) => run.id === explicitRunId) ?? null;\n }\n return options.defaultToLast ? (runs[0] ?? null) : null;\n}\n\nfunction hasExplicitRunId(args: string[]): boolean {\n return Boolean(getExplicitRunId(args));\n}\n\nfunction getExplicitRunId(args: string[]): string | null {\n const subcommand = args[0];\n for (const arg of args.slice(1)) {\n if (arg === \"--last\" || arg === \"--\") continue;\n if (arg.startsWith(\"-\")) continue;\n if (arg === subcommand) continue;\n return arg;\n }\n return null;\n}\n\nfunction renderCodeAgentRunDetail(\n heading: string,\n run: CodeAgentRunRecord,\n): string {\n const transcriptEvents = listCodeAgentTranscriptEvents(run.id);\n return [\n \"\",\n heading,\n \"\",\n ` Run: ${run.id}`,\n ` Goal: /${run.goalId}`,\n ` Title: ${run.title}`,\n run.subtitle ? ` Subtitle: ${run.subtitle}` : \"\",\n run.permissionMode\n ? ` Mode: ${formatCodeAgentRunMode(run.permissionMode)}`\n : \"\",\n run.cwd ? ` Cwd: ${run.cwd}` : \"\",\n ` Status: ${run.status}${run.phase ? ` (${run.phase})` : \"\"}`,\n run.progress\n ? ` Progress: ${run.progress.completed}/${run.progress.total} (${run.progress.percent}%)`\n : \"\",\n run.artifactRoot ? ` Artifacts: ${run.artifactRoot}` : \"\",\n ` Transcript: ${transcriptEvents.length} event${transcriptEvents.length === 1 ? \"\" : \"s\"}`,\n ` Updated: ${run.updatedAt}`,\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction renderCodeAgentRunListItem(run: CodeAgentRunRecord): string {\n const progress = run.progress\n ? `, ${run.progress.completed}/${run.progress.total}`\n : \"\";\n const permission = run.permissionMode\n ? `, ${formatCodeAgentRunMode(run.permissionMode)}`\n : \"\";\n return [\n ` - ${run.id}`,\n ` /${run.goalId} ${run.status}${run.phase ? ` (${run.phase})` : \"\"}${progress}${permission}`,\n ` ${truncateForDisplay(run.title, 100)}`,\n ` updated ${run.updatedAt}`,\n ].join(\"\\n\");\n}\n\nfunction isInteractiveTerminal(\n input: NodeJS.ReadableStream,\n output: NodeJS.WritableStream,\n): boolean {\n return Boolean(\n (input as NodeJS.ReadStream).isTTY && (output as NodeJS.WriteStream).isTTY,\n );\n}\n\nfunction writeLine(output: NodeJS.WritableStream, text = \"\"): void {\n output.write(`${text}\\n`);\n}\n\nfunction writePrompt(output: NodeJS.WritableStream): void {\n output.write(SHELL_PROMPT);\n}\n\nfunction getCorePackageVersion(): string {\n try {\n const cliDir = path.dirname(fileURLToPath(import.meta.url));\n const packagePath = path.resolve(cliDir, \"../../package.json\");\n const pkg = JSON.parse(fs.readFileSync(packagePath, \"utf-8\")) as {\n version?: unknown;\n };\n return typeof pkg.version === \"string\" ? pkg.version : \"unknown\";\n } catch {\n return \"unknown\";\n }\n}\n\nasync function runCodeGoal(\n goalId: CodeAgentGoalId,\n forwardedArgs: string[],\n output: NodeJS.WritableStream = process.stdout,\n): Promise<void> {\n const goal = CODE_AGENT_CLI_GOALS.find(\n (candidate) => candidate.id === goalId,\n );\n if (!goal) {\n throw new Error(`Unknown Agent-Native Code goal: ${goalId}`);\n }\n\n switch (goal.backingCommand) {\n case \"task\":\n await runTask(forwardedArgs, output);\n return;\n case \"audit-agent-web\":\n await runAuditAgentWeb(forwardedArgs);\n return;\n case \"migrate\":\n await runMigrate(forwardedArgs);\n return;\n }\n}\n\nasync function runTask(\n forwardedArgs: string[],\n output: NodeJS.WritableStream,\n options: RunTaskOptions = {},\n): Promise<void> {\n const parsed = parseTaskArgs(forwardedArgs, options.permissionMode);\n if (parsed.error) {\n writeLine(output, parsed.error);\n writeLine(output, taskUsage());\n return;\n }\n if (!parsed.prompt) {\n writeLine(output, taskUsage());\n return;\n }\n\n const prompt = parsed.prompt;\n const run = createCodeAgentRunRecord({\n goalId: \"task\",\n title: titleFromPrompt(prompt),\n subtitle: options.subtitle ?? \"Generic coding task\",\n status: \"running\",\n phase: \"starting\",\n permissionMode: parsed.permissionMode,\n progress: {\n label: \"Starting\",\n completed: 0,\n total: 1,\n percent: 5,\n },\n details: [\n { label: \"Prompt\", value: truncateForDisplay(prompt, 160) },\n { label: \"Agent\", value: \"Running locally\" },\n { label: \"Mode\", value: formatCodeAgentRunMode(parsed.permissionMode) },\n ],\n cwd: process.cwd(),\n metadata: {\n prompt,\n source: options.source ?? \"agent-native code\",\n commandName: options.commandName,\n commandPath: options.commandPath,\n permissionMode: parsed.permissionMode,\n },\n });\n\n appendCodeAgentTranscriptEvent({\n runId: run.id,\n kind: \"user\",\n message: prompt,\n metadata: { source: \"initial-prompt\" },\n });\n appendCodeAgentTranscriptEvent({\n runId: run.id,\n kind: \"status\",\n message: \"Starting local Agent-Native Code execution.\",\n metadata: {\n status: \"running\",\n phase: \"starting\",\n },\n });\n\n writeLine(output, renderTaskStarted(run, prompt));\n await executeCodeAgentRun({\n runId: run.id,\n prompt,\n appendUserEvent: false,\n stdout: output,\n });\n}\n\nasync function runProjectSlashCommand(\n commandName: string,\n forwardedArgs: string[],\n output: NodeJS.WritableStream,\n): Promise<void> {\n const command = findProjectSlashCommand(commandName);\n if (!command) {\n writeLine(\n output,\n `Project slash command not found: /${normalizeGoalToken(commandName)}`,\n );\n return;\n }\n const parsed = parseTaskArgs(forwardedArgs);\n if (parsed.error) {\n writeLine(output, parsed.error);\n return;\n }\n const prompt = renderProjectSlashCommandPrompt(command, parsed.promptArgs);\n await runTask([prompt], output, {\n subtitle: `Project command /${command.name}`,\n source: \"agent-native code project-command\",\n commandName: command.name,\n commandPath: command.path,\n permissionMode: parsed.permissionMode,\n });\n}\n\nasync function recordCodeAgentFollowUpPrompt(\n prompt: string,\n output: NodeJS.WritableStream,\n permissionMode?: CodeAgentPermissionMode,\n runId?: string,\n followUpMode: CodeAgentFollowUpMode = \"immediate\",\n): Promise<void> {\n const run = runId\n ? getCodeAgentRunRecord(runId)\n : getLastCodeAgentRunRecord();\n if (!run) {\n writeLine(\n output,\n [\n \"\",\n runId\n ? `Agent-Native Code run not found: ${runId}`\n : \"No Agent-Native Code runs found.\",\n \"\",\n 'Start one with: agent-native code \"what to change\"',\n ].join(\"\\n\"),\n );\n return;\n }\n\n const activeRun = permissionMode\n ? (updateCodeAgentRunRecord(run.id, { permissionMode }) ?? run)\n : run;\n const shouldQueue = isActiveCodeAgentRun(activeRun);\n const event = appendCodeAgentTranscriptEvent({\n runId: activeRun.id,\n kind: \"user\",\n message: prompt,\n metadata: {\n source: \"resume-follow-up\",\n permissionMode,\n followUpMode,\n delivery: shouldQueue ? followUpMode : \"run-now\",\n },\n });\n if (shouldQueue) {\n queueCodeAgentFollowUp({\n runId: activeRun.id,\n prompt,\n mode: followUpMode,\n eventId: event.id,\n permissionMode,\n source: \"resume-follow-up\",\n createdAt: event.createdAt,\n });\n writeLine(output, renderFollowUpRecorded(activeRun, event, followUpMode));\n return;\n }\n\n writeLine(output, renderFollowUpRecorded(activeRun, event, \"immediate\"));\n await executeCodeAgentRun({\n runId: activeRun.id,\n prompt,\n appendUserEvent: false,\n stdout: output,\n });\n}\n\nfunction parseTaskArgs(\n forwardedArgs: string[],\n defaultPermissionMode: CodeAgentPermissionMode = DEFAULT_CODE_AGENT_PERMISSION_MODE,\n): ParsedTaskArgs {\n const promptArgs: string[] = [];\n let permissionMode: CodeAgentPermissionMode = defaultPermissionMode;\n let permissionModeExplicit = false;\n for (let index = 0; index < forwardedArgs.length; index += 1) {\n const arg = forwardedArgs[index];\n if (arg === \"--\") {\n promptArgs.push(...forwardedArgs.slice(index + 1));\n break;\n }\n if (arg === \"--permission-mode\") {\n const value = forwardedArgs[index + 1];\n const normalized = normalizeCodeAgentPermissionMode(value);\n if (!normalized) {\n return {\n prompt: \"\",\n promptArgs,\n permissionMode,\n error: `Invalid run mode: ${value ?? \"(missing)\"}`,\n };\n }\n permissionMode = normalized;\n permissionModeExplicit = true;\n index += 1;\n continue;\n }\n if (arg.startsWith(\"--permission-mode=\")) {\n const normalized = normalizeCodeAgentPermissionMode(\n arg.slice(\"--permission-mode=\".length),\n );\n if (!normalized) {\n return {\n prompt: \"\",\n promptArgs,\n permissionMode,\n error: `Invalid run mode: ${arg.slice(\"--permission-mode=\".length)}`,\n };\n }\n permissionMode = normalized;\n permissionModeExplicit = true;\n continue;\n }\n const shorthand = parsePermissionModeFlag(arg);\n if (shorthand) {\n permissionMode = shorthand;\n permissionModeExplicit = true;\n continue;\n }\n promptArgs.push(arg);\n }\n return {\n prompt: promptArgs.join(\" \").trim(),\n promptArgs,\n permissionMode,\n permissionModeExplicit,\n };\n}\n\nfunction parseFollowUpArgs(forwardedArgs: string[]): ParsedTaskArgs & {\n followUpMode: CodeAgentFollowUpMode;\n} {\n const promptArgs: string[] = [];\n let followUpMode: CodeAgentFollowUpMode = \"immediate\";\n for (let index = 0; index < forwardedArgs.length; index += 1) {\n const arg = forwardedArgs[index];\n if (arg === \"--\") {\n promptArgs.push(...forwardedArgs.slice(index));\n break;\n }\n if (arg === \"--queue\" || arg === \"--after-completion\") {\n followUpMode = \"queued\";\n continue;\n }\n if (arg === \"--immediate\" || arg === \"--steer\") {\n followUpMode = \"immediate\";\n continue;\n }\n promptArgs.push(arg);\n }\n return {\n ...parseTaskArgs(promptArgs),\n followUpMode,\n };\n}\n\nfunction parsePermissionModeFlag(arg: string): CodeAgentPermissionMode | null {\n switch (arg) {\n case \"--plan\":\n case \"--read-only\":\n return \"read-only\";\n case \"--auto\":\n return \"full-auto\";\n case \"--ask-before-edit\":\n return \"ask-before-edit\";\n case \"--auto-edit\":\n return \"auto-edit\";\n case \"--full-auto\":\n return \"full-auto\";\n default:\n return null;\n }\n}\n\nfunction titleFromPrompt(prompt: string): string {\n return truncateForDisplay(prompt.replace(/\\s+/g, \" \"), 80);\n}\n\nfunction truncateForDisplay(value: string, maxLength: number): string {\n if (value.length <= maxLength) return value;\n return `${value.slice(0, Math.max(0, maxLength - 3))}...`;\n}\n\nfunction renderTaskStarted(run: CodeAgentRunRecord, prompt: string): string {\n return [\n \"\",\n \"Agent-Native Code session started.\",\n \"\",\n ` Run: ${run.id}`,\n ` Prompt: ${truncateForDisplay(prompt, 160)}`,\n ` Mode: ${formatCodeAgentRunMode(run.permissionMode)}`,\n \"\",\n \"Streaming output below. The transcript is saved with this run.\",\n ].join(\"\\n\");\n}\n\nfunction renderFollowUpRecorded(\n run: CodeAgentRunRecord,\n event: ReturnType<typeof appendCodeAgentTranscriptEvent>,\n mode: CodeAgentFollowUpMode,\n): string {\n const active = isActiveCodeAgentRun(run);\n const heading = active\n ? mode === \"queued\"\n ? \"Queued follow-up prompt for Agent-Native Code run.\"\n : \"Recorded steering prompt for active Agent-Native Code run.\"\n : \"Running follow-up prompt for Agent-Native Code run.\";\n return [\n \"\",\n heading,\n \"\",\n ` Run: ${run.id}`,\n ` Goal: /${run.goalId}`,\n ` Event: ${event.id}`,\n \"\",\n active\n ? mode === \"queued\"\n ? \"It will run after the current execution finishes.\"\n : \"It will be applied by the active runner as soon as it can steer.\"\n : \"Streaming output below. The transcript is saved with this run.\",\n ].join(\"\\n\");\n}\n\nfunction taskUsage(): string {\n return [\n \"\",\n \"Usage:\",\n ' agent-native code \"what to change\"',\n ' agent-native code --plan \"explain this repo\"',\n ' agent-native code --auto \"fix this and verify it\"',\n ` agent-native code --permission-mode ${CODE_AGENT_PERMISSION_MODES.join(\"|\")} \"what to change\"`,\n \"\",\n \"The task goal starts a local Agent-Native Code session, saves transcript events, and can be resumed with follow-up prompts.\",\n ].join(\"\\n\");\n}\n\nfunction formatCodeAgentRunMode(\n permissionMode: CodeAgentPermissionMode | undefined,\n): string {\n return permissionMode === \"read-only\" ? \"Plan mode\" : \"Auto mode\";\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentPanel.d.ts","sourceRoot":"","sources":["../../src/client/AgentPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentPanel.d.ts","sourceRoot":"","sources":["../../src/client/AgentPanel.tsx"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ import { useLocation, useNavigate } from "react-router";
36
36
  import { cn } from "./utils.js";
37
37
  import { agentNativePath } from "./api-path.js";
38
38
  import { trackEvent } from "./analytics.js";
39
+ import { withBuilderConnectTrackingParams } from "./settings/useBuilderStatus.js";
39
40
  import { getFrameOrigin, isInFrame, isTrustedFrameMessage } from "./frame.js";
40
41
  import { shouldParentFrameOwnAgentPanel } from "./builder-frame.js";
41
42
  import { dispatchAgentSidebarStateChange, getInitialAgentSidebarOpen, SIDEBAR_OPEN_KEY, } from "./agent-sidebar-state.js";
@@ -226,12 +227,19 @@ function useClientOnly() {
226
227
  }
227
228
  function CodeAccessUnavailablePanel({ title, description, ctaLabel, ctaHref, secondaryCtaLabel = "Use Builder", secondaryCtaHref, compact = false, }) {
228
229
  const { connectUrl: builderConnectUrl } = useBuilderConnectUrl();
229
- const builderHref = secondaryCtaHref ?? builderConnectUrl ?? "https://builder.io";
230
+ const builderHref = secondaryCtaHref ??
231
+ (builderConnectUrl
232
+ ? withBuilderConnectTrackingParams(builderConnectUrl, {
233
+ source: "code_access_unavailable_panel",
234
+ flow: "background_agent",
235
+ })
236
+ : "https://builder.io");
230
237
  return (_jsxs("div", { className: cn("rounded-lg border border-border bg-muted/35 text-center", compact ? "mx-3 mt-2 px-3 py-2.5" : "max-w-[300px] px-4 py-4"), children: [_jsx("div", { className: cn("mx-auto flex items-center justify-center rounded-full bg-background text-muted-foreground", compact ? "mb-2 h-8 w-8" : "mb-3 h-10 w-10"), children: _jsx(IconTerminal2, { className: compact ? "h-4 w-4" : "h-5 w-5" }) }), _jsx("p", { className: "text-sm font-medium text-foreground", children: title }), _jsx("p", { className: cn("mt-1 text-muted-foreground", compact ? "text-[11px] leading-snug" : "text-xs leading-relaxed"), children: description }), _jsxs("div", { className: "mt-3 flex flex-wrap items-center justify-center gap-2", children: [ctaHref ? (_jsxs("a", { href: ctaHref, target: "_blank", rel: "noreferrer", className: "inline-flex items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs font-medium text-background hover:opacity-90", children: [ctaLabel, _jsx(IconExternalLink, { className: "h-3 w-3" })] })) : null, _jsxs("a", { href: builderHref, target: "_blank", rel: "noreferrer", onClick: () => {
231
238
  trackEvent("builder connect clicked", {
232
239
  feature: "builder",
233
240
  stage: "client",
234
241
  source: "code_access_unavailable_panel",
242
+ flow: "background_agent",
235
243
  connect_url_kind: builderConnectUrl ? "provided" : "fallback",
236
244
  });
237
245
  }, className: "inline-flex items-center gap-1.5 rounded-md border border-border bg-background px-3 py-1.5 text-xs font-medium text-foreground hover:bg-accent", children: [secondaryCtaLabel, _jsx(IconExternalLink, { className: "h-3 w-3" })] })] })] }));