marvisx-cli 0.3.9b2__tar.gz → 0.3.9b5__tar.gz

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 (891) hide show
  1. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/PKG-INFO +1 -1
  2. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/404/index.html +1 -1
  3. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/404.html +1 -1
  4. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/0ZFzK04rM5_rbuC1keeD4/_buildManifest.js +1 -0
  5. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/2582-e29b5abf7233c8a7.js → marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/2582-826c53501c1b350b.js +1 -1
  6. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/3146-1e63111660c71af2.js +1 -0
  7. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/4281-282554c5817c5e43.js +1 -0
  8. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/5344-d91a24b075f21e36.js → marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/5344-9b5e7c062a79d988.js +1 -1
  9. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/960-8de73e8fd16edc11.js +1 -0
  10. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/app/(app)/diario/page-b1583039b0fc40ab.js +1 -0
  11. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/app/(app)/layout-e11ee4ae89d793b2.js +1 -0
  12. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/app/(app)/projects/page-674bd7855b764614.js → marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/app/(app)/projects/page-ed1e9fb3cf1d7d85.js +1 -1
  13. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/app/(app)/settings/layout-2fb27c54a1e725d9.js +1 -0
  14. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/app/(app)/settings/llm/page-b4a49ebcfc1d70ed.js +1 -0
  15. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/app/(app)/settings/users/page-c9b2deda86b37089.js → marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/app/(app)/settings/users/page-8f9d4754b7ed06ff.js +1 -1
  16. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/app/(app)/settings/workspace/page-10d01f62c6e50368.js → marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/app/(app)/settings/workspace/page-95c16941920110c1.js +1 -1
  17. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/app/(app)/tasks/page-fe164bb56947d25c.js +1 -0
  18. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/chunks/app/(app)/todos/page-e0d4bfbb77992ddc.js +1 -0
  19. marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/css/cbcbfeb01a119839.css +3 -0
  20. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/cronologia/index.html +1 -1
  21. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/cronologia/index.txt +3 -3
  22. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/da-decidere/index.html +1 -1
  23. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/da-decidere/index.txt +4 -4
  24. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/diario/index.html +1 -1
  25. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/diario/index.txt +3 -3
  26. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/index.html +1 -1
  27. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/index.txt +3 -3
  28. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/memoria/index.html +1 -1
  29. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/memoria/index.txt +4 -4
  30. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/stride/index.html +1 -1
  31. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/brain/stride/index.txt +3 -3
  32. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/diario/index.html +1 -1
  33. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/diario/index.txt +4 -4
  34. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/finder/index.html +1 -1
  35. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/finder/index.txt +4 -4
  36. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/graph/index.html +1 -1
  37. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/graph/index.txt +4 -4
  38. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/graph/pr-impact/index.html +1 -1
  39. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/graph/pr-impact/index.txt +4 -4
  40. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/inbox/index.html +1 -1
  41. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/inbox/index.txt +4 -4
  42. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/inbox/triage/files/index.html +1 -1
  43. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/inbox/triage/files/index.txt +4 -4
  44. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/index.html +1 -1
  45. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/index.txt +3 -3
  46. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/login/index.html +1 -1
  47. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/login/index.txt +3 -3
  48. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/login/sso-callback/index.html +1 -1
  49. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/login/sso-callback/index.txt +3 -3
  50. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/monitoring/index.html +1 -1
  51. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/monitoring/index.txt +4 -4
  52. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/projects/detail/index.html +1 -1
  53. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/projects/detail/index.txt +4 -4
  54. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/projects/index.html +1 -1
  55. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/projects/index.txt +4 -4
  56. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/activity/index.html +1 -1
  57. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/activity/index.txt +6 -6
  58. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/general/index.html +1 -1
  59. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/general/index.txt +6 -6
  60. marvisx_cli-0.3.9b5/core/api/console_dist/settings/llm/index.html +1 -0
  61. marvisx_cli-0.3.9b5/core/api/console_dist/settings/llm/index.txt +30 -0
  62. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/tags/index.html +1 -1
  63. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/tags/index.txt +6 -6
  64. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/teams/detail/index.html +1 -1
  65. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/teams/detail/index.txt +6 -6
  66. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/teams/index.html +1 -1
  67. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/teams/index.txt +6 -6
  68. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/tokens/index.html +2 -2
  69. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/tokens/index.txt +5 -5
  70. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/users/index.html +1 -1
  71. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/users/index.txt +6 -6
  72. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/workspace/index.html +1 -1
  73. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/settings/workspace/index.txt +6 -6
  74. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/tasks/index.html +1 -1
  75. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/tasks/index.txt +4 -4
  76. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/terminal/index.html +1 -1
  77. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/terminal/index.txt +3 -3
  78. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/todos/index.html +1 -1
  79. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/todos/index.txt +4 -4
  80. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/triage/index.html +1 -1
  81. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/triage/index.txt +4 -4
  82. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/universe/index.html +1 -1
  83. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/universe/index.txt +4 -4
  84. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/welcome/index.html +1 -1
  85. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/welcome/index.txt +2 -2
  86. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/db.py +69 -8
  87. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/auth.py +10 -0
  88. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/delegations.py +5 -2
  89. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/llm_config.py +41 -11
  90. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/projects.py +5 -5
  91. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/crypto.py +9 -0
  92. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/graph_cosmo_service.py +5 -1
  93. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/tmux.py +16 -2
  94. marvisx_cli-0.3.9b5/core/api/services/todos/adr.py +222 -0
  95. marvisx_cli-0.3.9b5/core/api/services/todos/heuristics.py +201 -0
  96. marvisx_cli-0.3.9b5/core/api/services/todos/llm/byok_provider.py +121 -0
  97. marvisx_cli-0.3.9b5/core/api/services/todos/llm/factory.py +55 -0
  98. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_tmux.py +28 -0
  99. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/projects.py +39 -10
  100. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/todos.py +129 -10
  101. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/visibility.py +8 -0
  102. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/marvisx_cli.egg-info/PKG-INFO +1 -1
  103. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/marvisx_cli.egg-info/SOURCES.txt +24 -16
  104. marvisx_cli-0.3.9b5/migrations/154_drop_legacy_project_dirs_default.sql +10 -0
  105. marvisx_cli-0.3.9b5/migrations/154_drop_legacy_project_dirs_default_down.sql +6 -0
  106. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/pyproject.toml +1 -1
  107. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/-MWhMs_DzvgduGQXekcBh/_buildManifest.js +0 -1
  108. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/3146-54c9a71a01f9d205.js +0 -1
  109. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/4281-6320c69ff831729a.js +0 -1
  110. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/960-5fe67e5c1f644da4.js +0 -1
  111. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/app/(app)/diario/page-20f893d662447a8f.js +0 -1
  112. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/app/(app)/layout-fa33ae074a5966f5.js +0 -1
  113. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/app/(app)/settings/layout-5af816412ec1efd2.js +0 -1
  114. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/app/(app)/tasks/page-ab86c1b0d6c7e17d.js +0 -1
  115. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/chunks/app/(app)/todos/page-6ccb15bdff3050d4.js +0 -1
  116. marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/css/48fb03de4f747e34.css +0 -3
  117. marvisx_cli-0.3.9b2/core/api/services/todos/llm/factory.py +0 -19
  118. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/LICENSE +0 -0
  119. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/MANIFEST.in +0 -0
  120. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/README.md +0 -0
  121. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/__init__.py +0 -0
  122. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/agents/__init__.py +0 -0
  123. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/agents/session_health.py +0 -0
  124. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/agents/session_manager.py +0 -0
  125. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/bin/marvisx-state-hook.py +0 -0
  126. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/config.py +0 -0
  127. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_headers +0 -0
  128. {marvisx_cli-0.3.9b2/core/api/console_dist/_next/static/-MWhMs_DzvgduGQXekcBh → marvisx_cli-0.3.9b5/core/api/console_dist/_next/static/0ZFzK04rM5_rbuC1keeD4}/_ssgManifest.js +0 -0
  129. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/1167.56964d4357d212b4.js +0 -0
  130. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/1224.65b4107adf5cb0b2.js +0 -0
  131. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/1255-a122635a4d00ff55.js +0 -0
  132. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/1831-97a6930096ac20ba.js +0 -0
  133. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/1936.c58ae480ebdd6212.js +0 -0
  134. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/2349-cb9d15daee7a0d0c.js +0 -0
  135. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/2619-3c9e02e22d10480a.js +0 -0
  136. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/2730.8905bd392be7d6c8.js +0 -0
  137. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/2830-ca1e7f2af92dc8cd.js +0 -0
  138. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/3196.1f17feceb62a90d1.js +0 -0
  139. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/3536-f40f752bd58947b2.js +0 -0
  140. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/363642f4.51720966c931df2a.js +0 -0
  141. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/3685.2166187595b1308c.js +0 -0
  142. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/3782-9aa8ad62e30d3637.js +0 -0
  143. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/3953.3efa521f4e9b926a.js +0 -0
  144. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/4879-e5fdfbbbcf9e18e0.js +0 -0
  145. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/4bd1b696-f785427dddbba9fb.js +0 -0
  146. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/504.1289e0e995df2db7.js +0 -0
  147. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/54a60aa6.f2bac6fcd6436529.js +0 -0
  148. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/6429.c373590bc136fd9b.js +0 -0
  149. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/6485.653eb88dc226390d.js +0 -0
  150. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/70e0d97a.99a5d98b36f4c1d1.js +0 -0
  151. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/7898.48a1d7021540e048.js +0 -0
  152. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/8730.5e2ea76eff6648e0.js +0 -0
  153. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/8850.a338126091e12ca0.js +0 -0
  154. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/8872.18fc42f6c0e2e05d.js +0 -0
  155. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/9174-7352c096560eb0b2.js +0 -0
  156. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/9260-47dba8e5326b7d90.js +0 -0
  157. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/977.79f9713e4dd962be.js +0 -0
  158. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/brain/cronologia/page-9e7215b8ab2824d4.js +0 -0
  159. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/brain/da-decidere/page-d2edf9b70cbfaea4.js +0 -0
  160. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/brain/diario/page-0dcf9645e229d568.js +0 -0
  161. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/brain/layout-20e2e8b971a21371.js +0 -0
  162. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/brain/memoria/page-d837112b04d3ddd1.js +0 -0
  163. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/brain/page-d5d782d1290aa2f5.js +0 -0
  164. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/brain/stride/page-9067d05ceff5fbc0.js +0 -0
  165. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/finder/page-56f654046dc1e234.js +0 -0
  166. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/graph/page-601be0e5ea31a4e6.js +0 -0
  167. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/graph/pr-impact/page-15d3bcc06fca2ad4.js +0 -0
  168. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/inbox/page-55bf6b17337d4e07.js +0 -0
  169. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/inbox/triage/files/page-93334ecd190891fa.js +0 -0
  170. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/monitoring/page-906a9e2d30559363.js +0 -0
  171. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/page-821bbc902ed943b7.js +0 -0
  172. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/projects/detail/page-6fe9ecffd4d6e43d.js +0 -0
  173. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/settings/activity/page-067c23efcc643bc3.js +0 -0
  174. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/settings/general/page-24800070c127b772.js +0 -0
  175. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/settings/tags/page-16b4c9bd3412becb.js +0 -0
  176. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/settings/teams/detail/page-45830809172c8b07.js +0 -0
  177. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/settings/teams/page-7b6c65c4e7f563f0.js +0 -0
  178. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/settings/tokens/page-b2f9e9978756ebde.js +0 -0
  179. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/terminal/page-227a70a89c536002.js +0 -0
  180. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/triage/page-383e96f0540bf5eb.js +0 -0
  181. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(app)/universe/page-ddb4e75a79daa4f4.js +0 -0
  182. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(welcome)/layout-227a70a89c536002.js +0 -0
  183. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/(welcome)/welcome/page-28e3766f5571f69a.js +0 -0
  184. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/_not-found/page-88bdbe882c0ecf30.js +0 -0
  185. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/layout-6898769151251321.js +0 -0
  186. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/login/page-73b237e6e769d749.js +0 -0
  187. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/app/login/sso-callback/page-c287d7f9b76060d9.js +0 -0
  188. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/ba16dcd3.3d61b93c641c7ff1.js +0 -0
  189. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/d0709137.05f318d692f5ffd6.js +0 -0
  190. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/framework-e60c938074ff7136.js +0 -0
  191. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/main-57baee16398f4eca.js +0 -0
  192. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/main-app-8eb58590bd33c22b.js +0 -0
  193. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/pages/_app-6c8c2371b16a04b8.js +0 -0
  194. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/pages/_error-94812ad32cad7365.js +0 -0
  195. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
  196. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/chunks/webpack-eb4202bb8f321e36.js +0 -0
  197. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/css/1bf4906983b62b81.css +0 -0
  198. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/css/605fd8d4b965ab60.css +0 -0
  199. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/0a73eaad36fca508-s.woff2 +0 -0
  200. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/15e555873b2c38f2-s.woff2 +0 -0
  201. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/3f552249f03de128-s.woff2 +0 -0
  202. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/558ca1a6aa3cb55e-s.p.woff2 +0 -0
  203. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/64d784ea54a4acde-s.woff2 +0 -0
  204. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/6b2b1f51776cc4fb-s.woff2 +0 -0
  205. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/6d831b18ae5b01dc-s.woff2 +0 -0
  206. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/86892bc41b523ae7-s.woff2 +0 -0
  207. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/964acd21874711e6-s.woff2 +0 -0
  208. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/a31f6539c570f5f4-s.p.woff2 +0 -0
  209. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/ac0e76ddaeeb7981-s.woff2 +0 -0
  210. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/c8db6d45c695a7ab-s.woff2 +0 -0
  211. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/cd5bec9268da5b8d-s.p.woff2 +0 -0
  212. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/e967e3e11e121e1e-s.woff2 +0 -0
  213. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/edc640959b0c7826-s.woff2 +0 -0
  214. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_next/static/media/ff71da380fbe67dd-s.woff2 +0 -0
  215. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/_redirects +0 -0
  216. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/app-icon.svg +0 -0
  217. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/bot-mark-dark.svg +0 -0
  218. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/bot-mark.svg +0 -0
  219. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/favicon-16.svg +0 -0
  220. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/favicon-32.svg +0 -0
  221. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/favicon.svg +0 -0
  222. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/fonts/Exo2-Italic-VariableFont_wght.ttf +0 -0
  223. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/fonts/Exo2-VariableFont_wght.ttf +0 -0
  224. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/fonts/OFL.txt +0 -0
  225. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/icons/icon-192.png +0 -0
  226. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/icons/icon-512.png +0 -0
  227. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/icons/maskable-512.png +0 -0
  228. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/logo-lockup.svg +0 -0
  229. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/logo-mark.svg +0 -0
  230. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/manifest.webmanifest +0 -0
  231. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/console_dist/sw.js +0 -0
  232. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/dependencies/__init__.py +0 -0
  233. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/dependencies/tenant.py +0 -0
  234. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/main.py +0 -0
  235. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/__init__.py +0 -0
  236. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/_adapter.py +0 -0
  237. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/server.py +0 -0
  238. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/stdio.py +0 -0
  239. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/__init__.py +0 -0
  240. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/brain.py +0 -0
  241. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/graph.py +0 -0
  242. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/handoffs.py +0 -0
  243. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/ingest.py +0 -0
  244. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/learnings.py +0 -0
  245. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/onboarding.py +0 -0
  246. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/projects.py +0 -0
  247. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/pull_requests.py +0 -0
  248. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/safety.py +0 -0
  249. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/search.py +0 -0
  250. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/tasks.py +0 -0
  251. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/todos.py +0 -0
  252. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/workflow_playbooks/brainstorm.md +0 -0
  253. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/workflow_playbooks/compound.md +0 -0
  254. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/workflow_playbooks/plan.md +0 -0
  255. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/mcp/tools/workflows.py +0 -0
  256. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/middleware/__init__.py +0 -0
  257. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/middleware/tool_call_audit.py +0 -0
  258. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/__init__.py +0 -0
  259. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/auth.py +0 -0
  260. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/brain.py +0 -0
  261. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/common.py +0 -0
  262. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/costs.py +0 -0
  263. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/graph.py +0 -0
  264. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/graph_cosmo.py +0 -0
  265. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/graph_pr_impact.py +0 -0
  266. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/graph_ux.py +0 -0
  267. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/inbox.py +0 -0
  268. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/ingest_keys.py +0 -0
  269. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/kg.py +0 -0
  270. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/llm_config.py +0 -0
  271. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/monitoring.py +0 -0
  272. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/onboarding.py +0 -0
  273. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/projects.py +0 -0
  274. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/search.py +0 -0
  275. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/sessions.py +0 -0
  276. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/tasks.py +0 -0
  277. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/teams.py +0 -0
  278. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/todos.py +0 -0
  279. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/models/users.py +0 -0
  280. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/observability/__init__.py +0 -0
  281. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/observability/tracing.py +0 -0
  282. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/paths.py +0 -0
  283. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/rate_limit.py +0 -0
  284. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/rbac.py +0 -0
  285. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/__init__.py +0 -0
  286. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/_adapter.py +0 -0
  287. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/admin_pr_impact.py +0 -0
  288. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/admin_settings.py +0 -0
  289. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/agent.py +0 -0
  290. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/agent_tokens.py +0 -0
  291. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/app_settings.py +0 -0
  292. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/audit.py +0 -0
  293. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/bench.py +0 -0
  294. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/brain.py +0 -0
  295. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/brain_directions.py +0 -0
  296. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/ci_checks.py +0 -0
  297. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/comments.py +0 -0
  298. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/costs.py +0 -0
  299. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/docs_coverage.py +0 -0
  300. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/docs_governance.py +0 -0
  301. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/documents.py +0 -0
  302. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/files.py +0 -0
  303. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/finder.py +0 -0
  304. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/graph.py +0 -0
  305. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/handoffs.py +0 -0
  306. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/inbox.py +0 -0
  307. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/ingest_api_keys.py +0 -0
  308. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/ingest_triage.py +0 -0
  309. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/judge.py +0 -0
  310. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/kg.py +0 -0
  311. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/learnings.py +0 -0
  312. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/monitoring.py +0 -0
  313. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/notifications.py +0 -0
  314. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/onboarding.py +0 -0
  315. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/pr_impact.py +0 -0
  316. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/pull_requests.py +0 -0
  317. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/push.py +0 -0
  318. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/raci.py +0 -0
  319. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/search.py +0 -0
  320. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/sessions.py +0 -0
  321. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/settings.py +0 -0
  322. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/share_repo.py +0 -0
  323. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/status_updates.py +0 -0
  324. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/tags.py +0 -0
  325. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/tasks.py +0 -0
  326. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/teams.py +0 -0
  327. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/terminal.py +0 -0
  328. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/todos.py +0 -0
  329. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/users.py +0 -0
  330. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/routers/webhooks.py +0 -0
  331. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/runtime_settings.py +0 -0
  332. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/security.py +0 -0
  333. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/__init__.py +0 -0
  334. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/_fts.py +0 -0
  335. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/audit.py +0 -0
  336. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/auto_approval.py +0 -0
  337. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/__init__.py +0 -0
  338. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/baseline.py +0 -0
  339. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/capabilities.py +0 -0
  340. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/cascade_rollup.py +0 -0
  341. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/compound_bridge.py +0 -0
  342. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/cycle.py +0 -0
  343. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/cycle_snapshot.py +0 -0
  344. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/digest_collector.py +0 -0
  345. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/direction.py +0 -0
  346. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/drift.py +0 -0
  347. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/drift_router.py +0 -0
  348. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/edge_metrics.py +0 -0
  349. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/events_reader.py +0 -0
  350. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/findings.py +0 -0
  351. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/findings_reader.py +0 -0
  352. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/jobs.py +0 -0
  353. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/journal.py +0 -0
  354. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/knowledge_forms.py +0 -0
  355. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/__init__.py +0 -0
  356. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/_runner.py +0 -0
  357. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/base.py +0 -0
  358. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/cache.py +0 -0
  359. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/claude_cli.py +0 -0
  360. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/constants.py +0 -0
  361. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/direction_alignment.py +0 -0
  362. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/factory.py +0 -0
  363. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/finding_reasoning.py +0 -0
  364. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/finding_summary.py +0 -0
  365. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/grounding.py +0 -0
  366. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/journal_polish.py +0 -0
  367. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/local_gateway.py +0 -0
  368. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/parsers.py +0 -0
  369. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/llm/router_glue.py +0 -0
  370. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/manual_run.py +0 -0
  371. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/memory_ops.py +0 -0
  372. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/models.py +0 -0
  373. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/owner_hint.py +0 -0
  374. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/recap.py +0 -0
  375. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/rules/__init__.py +0 -0
  376. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/rules/_signals.py +0 -0
  377. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/rules/dr1_activity_without_status.py +0 -0
  378. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/rules/dr2_decision_without_adr.py +0 -0
  379. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/rules/dr3_stale_open_loop.py +0 -0
  380. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/rules/dr4_docs_governance_drift.py +0 -0
  381. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/rules/dr5_playbook_changed.py +0 -0
  382. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/rules/dr6_external_update_unpropagated.py +0 -0
  383. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/rules/dr7_claimed_decision_gap.py +0 -0
  384. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/rules/dr8_direction_misalignment.py +0 -0
  385. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/runs_reader.py +0 -0
  386. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/scope.py +0 -0
  387. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/sources/__init__.py +0 -0
  388. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/sources/base.py +0 -0
  389. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/sources/git_kg.py +0 -0
  390. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/sources/handoffs.py +0 -0
  391. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/sources/ingestor.py +0 -0
  392. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/sources/learnings.py +0 -0
  393. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/sources/pir_tasks.py +0 -0
  394. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/temporal_recency.py +0 -0
  395. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/warehouse_consolidate.py +0 -0
  396. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/watermarks.py +0 -0
  397. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/brain/ws_emitter.py +0 -0
  398. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/cc_tasks_reader.py +0 -0
  399. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/chunking.py +0 -0
  400. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ci_service.py +0 -0
  401. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/claude_metrics.py +0 -0
  402. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/codex_metrics.py +0 -0
  403. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/conversation_reader.py +0 -0
  404. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/cost_service.py +0 -0
  405. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/docs_governance/__init__.py +0 -0
  406. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/docs_governance/confidence.py +0 -0
  407. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/docs_governance/config.py +0 -0
  408. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/docs_governance/enrichment.py +0 -0
  409. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/docs_governance/frontmatter_validator.py +0 -0
  410. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/docs_governance/hard_gates.py +0 -0
  411. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/docs_governance/triage_orchestrator.py +0 -0
  412. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/dream_cycle.py +0 -0
  413. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/embedding_backends/__init__.py +0 -0
  414. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/embedding_internal.py +0 -0
  415. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/embedding_service.py +0 -0
  416. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/event_dispatcher.py +0 -0
  417. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/events.py +0 -0
  418. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/git_ops.py +0 -0
  419. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/graph_ranker.py +0 -0
  420. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/graph_service.py +0 -0
  421. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/grounding/__init__.py +0 -0
  422. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/grounding/citations.py +0 -0
  423. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/grounding/verifier.py +0 -0
  424. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox.py +0 -0
  425. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox_digest.py +0 -0
  426. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox_digest_deep_research.py +0 -0
  427. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox_digest_jobs.py +0 -0
  428. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox_gmail_sync.py +0 -0
  429. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox_llm_classifier.py +0 -0
  430. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox_source_identity.py +0 -0
  431. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox_sources.py +0 -0
  432. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox_taxonomy.py +0 -0
  433. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox_tldr.py +0 -0
  434. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/inbox_triage.py +0 -0
  435. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/__init__.py +0 -0
  436. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/api_key_auth.py +0 -0
  437. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/auto_approve.py +0 -0
  438. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/classifier.py +0 -0
  439. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/confidence.py +0 -0
  440. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/dispatch.py +0 -0
  441. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/embedding_router.py +0 -0
  442. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/events.py +0 -0
  443. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/ignore_patterns.py +0 -0
  444. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/image_probe.py +0 -0
  445. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/ingress.py +0 -0
  446. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/insert_saga.py +0 -0
  447. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/__init__.py +0 -0
  448. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/anthropic_haiku.py +0 -0
  449. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/base.py +0 -0
  450. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/byok_provider.py +0 -0
  451. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/classification_context.py +0 -0
  452. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/config_store.py +0 -0
  453. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/factory.py +0 -0
  454. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/kg_enricher.py +0 -0
  455. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/local_gateway.py +0 -0
  456. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/local_vllm.py +0 -0
  457. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/llm/openai_nano.py +0 -0
  458. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/lock_advisory.py +0 -0
  459. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parser_router.py +0 -0
  460. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/__init__.py +0 -0
  461. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/docling_parser.py +0 -0
  462. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/docparse_gateway.py +0 -0
  463. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/docx_parser.py +0 -0
  464. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/folder_unpacker.py +0 -0
  465. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/gateway_aux.py +0 -0
  466. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/image_parser.py +0 -0
  467. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/internal_markdown.py +0 -0
  468. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/ocr_gateway.py +0 -0
  469. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/ocr_pdf_parser.py +0 -0
  470. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/pdf_types.py +0 -0
  471. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/transcript_parser.py +0 -0
  472. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/vision_gateway.py +0 -0
  473. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/xlsx_parser.py +0 -0
  474. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/parsers/zip_unpacker.py +0 -0
  475. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/preflight.py +0 -0
  476. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/routing_policy.py +0 -0
  477. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/serializers/__init__.py +0 -0
  478. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/serializers/xlsx_to_markdown.py +0 -0
  479. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/skip_log.py +0 -0
  480. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/ingest/watcher.py +0 -0
  481. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/__init__.py +0 -0
  482. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/audit.py +0 -0
  483. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/communities.py +0 -0
  484. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/community_summary.py +0 -0
  485. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/graph_lane.py +0 -0
  486. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/hybrid_search.py +0 -0
  487. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/lens.py +0 -0
  488. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/manual_edges.py +0 -0
  489. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/pr_impact.py +0 -0
  490. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/queries.py +0 -0
  491. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/ranking.py +0 -0
  492. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg/rrf.py +0 -0
  493. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/kg_watcher_control.py +0 -0
  494. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/local_llm/__init__.py +0 -0
  495. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/local_llm/async_client.py +0 -0
  496. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/local_llm/client.py +0 -0
  497. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/local_llm/url_validator.py +0 -0
  498. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/metrics_collector.py +0 -0
  499. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/metrics_providers.py +0 -0
  500. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/model_registry.py +0 -0
  501. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/model_router.py +0 -0
  502. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/n8n_client.py +0 -0
  503. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/newsletter_llm_gateway.py +0 -0
  504. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/notification_service.py +0 -0
  505. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/openai_responses.py +0 -0
  506. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/opencode_metrics.py +0 -0
  507. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/opencode_sessions.py +0 -0
  508. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/pii_redactor.py +0 -0
  509. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/pr_impact_pipeline/__init__.py +0 -0
  510. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/pr_impact_pipeline/differ.py +0 -0
  511. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/pr_impact_pipeline/dispatcher.py +0 -0
  512. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/pr_impact_pipeline/gc.py +0 -0
  513. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/pr_impact_pipeline/languages.py +0 -0
  514. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/pr_impact_pipeline/parser.py +0 -0
  515. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/pr_impact_pipeline/writer.py +0 -0
  516. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/pr_service.py +0 -0
  517. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/project_paths.py +0 -0
  518. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/project_status_updates.py +0 -0
  519. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/providers.py +0 -0
  520. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/push_service.py +0 -0
  521. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/reminder_service.py +0 -0
  522. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/runas.py +0 -0
  523. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/salience_service.py +0 -0
  524. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/security_collector.py +0 -0
  525. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/session_catalog.py +0 -0
  526. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/session_metrics_service.py +0 -0
  527. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/session_ops.py +0 -0
  528. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/session_state.py +0 -0
  529. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/share_links.py +0 -0
  530. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/task_transitions.py +0 -0
  531. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/temporal_tiebreak.py +0 -0
  532. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/temporal_write.py +0 -0
  533. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/terminal_metrics.py +0 -0
  534. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/terminal_metrics_dump.py +0 -0
  535. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/todos/__init__.py +0 -0
  536. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/todos/llm/__init__.py +0 -0
  537. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/todos/llm/base.py +0 -0
  538. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/todos/llm/local_gateway.py +0 -0
  539. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/webhook_service.py +0 -0
  540. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/services/workspace_sync.py +0 -0
  541. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/templates/__init__.py +0 -0
  542. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/templates/markdown_share.py +0 -0
  543. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/terminal.py +0 -0
  544. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/__init__.py +0 -0
  545. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_agent_facing_auth_dependencies.py +0 -0
  546. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_audit_permissions.py +0 -0
  547. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_backfill_session_conversations.py +0 -0
  548. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_backfill_working_seconds_msg.py +0 -0
  549. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_claude_metrics.py +0 -0
  550. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_codex_metrics.py +0 -0
  551. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_config_env_aliases.py +0 -0
  552. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_finder_paths.py +0 -0
  553. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_git_ops_merge.py +0 -0
  554. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_graph_freshness.py +0 -0
  555. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_graph_freshness_flag.py +0 -0
  556. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_graph_neighbors_denoise.py +0 -0
  557. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_graph_summary.py +0 -0
  558. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_kg_claims_builder.py +0 -0
  559. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_kg_claims_wire.py +0 -0
  560. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_kg_trust_write_path.py +0 -0
  561. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_learnings_check_search.py +0 -0
  562. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_learnings_create_pre148.py +0 -0
  563. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_metrics_providers.py +0 -0
  564. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_migration_087.py +0 -0
  565. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_migration_088.py +0 -0
  566. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_migration_089.py +0 -0
  567. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_migration_149.py +0 -0
  568. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_openai_responses.py +0 -0
  569. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_opencode_metrics.py +0 -0
  570. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_opencode_sessions.py +0 -0
  571. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_populate_decay_flag.py +0 -0
  572. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_pr_workflow_e2e.py +0 -0
  573. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_projects_handoffs.py +0 -0
  574. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_providers.py +0 -0
  575. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_require_scope_empty_deny.py +0 -0
  576. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_safety_bridge.py +0 -0
  577. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_session_brief_temporal.py +0 -0
  578. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_session_catalog.py +0 -0
  579. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_session_conversations.py +0 -0
  580. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_session_metrics_service.py +0 -0
  581. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_session_resume_paths.py +0 -0
  582. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_session_theme_mode_migration.py +0 -0
  583. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_sessions_rbac.py +0 -0
  584. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_share_edit.py +0 -0
  585. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_share_repo.py +0 -0
  586. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_temporal_recency.py +0 -0
  587. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_terminal_session_manager.py +0 -0
  588. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_terminal_upload.py +0 -0
  589. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_ui_static.py +0 -0
  590. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_workspace_sync.py +0 -0
  591. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/tests/test_ws_ticket_in_memory.py +0 -0
  592. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/ui_static.py +0 -0
  593. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/__init__.py +0 -0
  594. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/_context.py +0 -0
  595. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/_errors.py +0 -0
  596. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/_roles.py +0 -0
  597. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/audit.py +0 -0
  598. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/brain.py +0 -0
  599. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/costs.py +0 -0
  600. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/graph.py +0 -0
  601. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/handoffs.py +0 -0
  602. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/ingest_triage.py +0 -0
  603. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/learnings.py +0 -0
  604. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/onboarding.py +0 -0
  605. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/pull_requests.py +0 -0
  606. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/search.py +0 -0
  607. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/api/use_cases/tasks.py +0 -0
  608. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/README.md +0 -0
  609. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/__init__.py +0 -0
  610. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/_brain_opportunistic.py +0 -0
  611. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/_brain_schedule.py +0 -0
  612. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/_index_source.py +0 -0
  613. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/_onboarding.py +0 -0
  614. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/_runtime_ctx.py +0 -0
  615. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/_transmute.py +0 -0
  616. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/_update_check.py +0 -0
  617. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/guides/__init__.py +0 -0
  618. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/guides/marvis-way.md +0 -0
  619. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_account.py +0 -0
  620. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_brain.py +0 -0
  621. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_console.py +0 -0
  622. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_doctor.py +0 -0
  623. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_feedback.py +0 -0
  624. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_governance.py +0 -0
  625. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_guide.py +0 -0
  626. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_hooks.py +0 -0
  627. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_init.py +0 -0
  628. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_mcp.py +0 -0
  629. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_runtime.py +0 -0
  630. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_task.py +0 -0
  631. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/cli/marvis_telemetry.py +0 -0
  632. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/platform/__init__.py +0 -0
  633. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/_drift_check.py +0 -0
  634. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/_frontmatter.py +0 -0
  635. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/_graph_writer.py +0 -0
  636. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/ast_parser.py +0 -0
  637. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/__init__.py +0 -0
  638. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/_config.sh +0 -0
  639. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/block-dangerous-bash.sh +0 -0
  640. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/block-db-direct-write.sh +0 -0
  641. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/block-push-no-task.sh +0 -0
  642. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/block-staging-to-prod.sh +0 -0
  643. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/block-subtree-push.sh +0 -0
  644. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/config.json +0 -0
  645. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/enforce-no-merge-main.sh +0 -0
  646. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/enforce-worktree.sh +0 -0
  647. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/quality-gate.sh +0 -0
  648. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/safety_bridge.py +0 -0
  649. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/install_hooks/secret-scan.sh +0 -0
  650. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/migrate_spike_node_ids.py +0 -0
  651. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/populate_artifacts.py +0 -0
  652. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/populate_cross_project.py +0 -0
  653. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/populate_inbox_nodes.py +0 -0
  654. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/populate_pr_impact.py +0 -0
  655. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/populate_project_nodes.py +0 -0
  656. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/populate_touch_counter.py +0 -0
  657. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/reparse_failed.py +0 -0
  658. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/scripts/safety_bridge.py +0 -0
  659. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/telemetry/__init__.py +0 -0
  660. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/telemetry/client.py +0 -0
  661. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/telemetry/entitlements.py +0 -0
  662. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/telemetry/rollup.py +0 -0
  663. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/telemetry/schema.py +0 -0
  664. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/telemetry/sender.py +0 -0
  665. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/wizard/__init__.py +0 -0
  666. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/wizard/byok_vault.py +0 -0
  667. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/wizard/defaults.py +0 -0
  668. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/wizard/state.py +0 -0
  669. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/wizard/steps.py +0 -0
  670. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/core/wizard/validation.py +0 -0
  671. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/marvisx_cli.egg-info/dependency_links.txt +0 -0
  672. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/marvisx_cli.egg-info/entry_points.txt +0 -0
  673. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/marvisx_cli.egg-info/requires.txt +0 -0
  674. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/marvisx_cli.egg-info/top_level.txt +0 -0
  675. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/001_initial.sql +0 -0
  676. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/002_tasks.sql +0 -0
  677. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/003_session_management.sql +0 -0
  678. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/004_projects_comments.sql +0 -0
  679. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/005_session_intelligence.sql +0 -0
  680. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/006_settings.sql +0 -0
  681. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/007_task_scoring.sql +0 -0
  682. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/008_cost_tracking.sql +0 -0
  683. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/009_session_card_metrics.sql +0 -0
  684. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/010_monitoring.sql +0 -0
  685. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/012_agent_api.sql +0 -0
  686. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/013_session_complete.sql +0 -0
  687. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/015_pull_requests.sql +0 -0
  688. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/015_pull_requests_down.sql +0 -0
  689. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/016_users_raci.sql +0 -0
  690. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/017_task_cost_entries.sql +0 -0
  691. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/018_agents.sql +0 -0
  692. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/018_agents_down.sql +0 -0
  693. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/019_review_feedback.sql +0 -0
  694. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/020_pr_commit_sha.sql +0 -0
  695. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/021_webhook_events.sql +0 -0
  696. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/022_devx_agent_managed.sql +0 -0
  697. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/022_devx_agent_managed_down.sql +0 -0
  698. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/023_devx_p1_gate.sql +0 -0
  699. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/023_devx_p1_gate_down.sql +0 -0
  700. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/024_chat_messages.sql +0 -0
  701. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/024_pr_conversation_id.sql +0 -0
  702. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/024_task_indexes.sql +0 -0
  703. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/024_task_indexes_down.sql +0 -0
  704. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/025_audit_log.sql +0 -0
  705. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/026_agent_tokens.sql +0 -0
  706. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/027_teams_auth_phase_b.sql +0 -0
  707. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/028_learnings.sql +0 -0
  708. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/029_team_roles.sql +0 -0
  709. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/030_finder_pins.sql +0 -0
  710. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/031_pr_deploy_status.sql +0 -0
  711. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/032_task_reminders.sql +0 -0
  712. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/033_events_retry_count.sql +0 -0
  713. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/033_session_owner.sql +0 -0
  714. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/034_notifications.sql +0 -0
  715. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/035_shared_links.sql +0 -0
  716. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/036_session_index_upgrade.sql +0 -0
  717. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/037_pr_approval.sql +0 -0
  718. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/038_pr_submitted_by.sql +0 -0
  719. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/039_push_subscriptions.sql +0 -0
  720. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/040_semantic_search.sql +0 -0
  721. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/041_workspaces.sql +0 -0
  722. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/042_oidc_providers.sql +0 -0
  723. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/043_ci_checks.sql +0 -0
  724. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/044_agent_metrics.sql +0 -0
  725. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/045_documents_doc_type.sql +0 -0
  726. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/046_salience.sql +0 -0
  727. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/047_seed_missing_agents.sql +0 -0
  728. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/048_fix_agent_paths_roles.sql +0 -0
  729. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/049_agent_role_and_learnings_schema.sql +0 -0
  730. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/050_session_provider.sql +0 -0
  731. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/051_session_launch_profile.sql +0 -0
  732. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/052_session_theme_mode.sql +0 -0
  733. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/052_task_kind.sql +0 -0
  734. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/053_inbox_items.sql +0 -0
  735. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/054_inbox_triage_contract.sql +0 -0
  736. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/055_inbox_topic_treatment.sql +0 -0
  737. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/056_inbox_treatment_read_save.sql +0 -0
  738. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/057_session_theme_mode_backfill.sql +0 -0
  739. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/058_inbox_item_status_lifecycle.sql +0 -0
  740. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/059_inbox_tldr_and_source_scores.sql +0 -0
  741. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/060_newsletter.sql +0 -0
  742. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/061_inbox_redesign.sql +0 -0
  743. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/062_fix_inbox_sources_backfill.sql +0 -0
  744. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/063_task_completion_mode.sql +0 -0
  745. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/064_judge_mode_setting.sql +0 -0
  746. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/065_knowledge_graph_spike.sql +0 -0
  747. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/066_digest_ranking_inputs.sql +0 -0
  748. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/066_kg_artifact_nodes.sql +0 -0
  749. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/067_inbox_digest_selections.sql +0 -0
  750. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/067_kg_temporal.sql +0 -0
  751. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/068_inbox_digest_app_settings.sql +0 -0
  752. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/068_kg_touch_counter.sql +0 -0
  753. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/069_kg_doc_types.sql +0 -0
  754. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/070_digest_ranking_inputs_recovery.sql +0 -0
  755. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/071_inbox_digest_selections_recovery.sql +0 -0
  756. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/072_inbox_digest_app_settings_recovery.sql +0 -0
  757. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/073_kg_cross_project.sql +0 -0
  758. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/073_kg_cross_project_down.sql +0 -0
  759. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/074_kg_infra_types.sql +0 -0
  760. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/074_kg_infra_types_down.sql +0 -0
  761. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/075_kg_file_state_recovery.sql +0 -0
  762. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/075_kg_file_state_recovery_down.sql +0 -0
  763. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/076_kg_watcher_state.sql +0 -0
  764. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/076_kg_watcher_state_down.sql +0 -0
  765. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/077_kg_doc_types_extend.sql +0 -0
  766. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/077_kg_doc_types_extend_down.sql +0 -0
  767. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/078_kg_fts5.sql +0 -0
  768. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/078_kg_fts5_down.sql +0 -0
  769. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/079_kg_missing_indexes.sql +0 -0
  770. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/079_kg_missing_indexes_down.sql +0 -0
  771. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/080_kg_fts5_extended.sql +0 -0
  772. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/080_kg_fts5_extended_down.sql +0 -0
  773. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/081_kg_lens_indexes.sql +0 -0
  774. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/081_kg_lens_indexes_down.sql +0 -0
  775. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/082_kg_pins.sql +0 -0
  776. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/082_kg_pins_down.sql +0 -0
  777. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/083_kg_graph_nodes_degree.sql +0 -0
  778. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/083_kg_graph_nodes_degree_down.sql +0 -0
  779. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/084_drop_legacy_scheduler_tables.sql +0 -0
  780. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/084_drop_legacy_scheduler_tables_down.sql +0 -0
  781. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/085_kg_edge_resolves_to.sql +0 -0
  782. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/085_kg_edge_resolves_to_down.sql +0 -0
  783. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/086_project_status_updates_feed.sql +0 -0
  784. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/086_project_status_updates_feed_down.sql +0 -0
  785. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/087_session_metrics_dual.sql +0 -0
  786. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/087_session_metrics_dual_down.sql +0 -0
  787. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/088_rename_context_pct_legacy.sql +0 -0
  788. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/088_rename_context_pct_legacy_down.sql +0 -0
  789. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/089_session_metrics_equivalent_cost.sql +0 -0
  790. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/089_session_metrics_equivalent_cost_down.sql +0 -0
  791. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/090_kg_inbox_node_type.sql +0 -0
  792. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/090_kg_inbox_node_type_down.sql +0 -0
  793. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/091_kg_inbox_node_type_check.sql +0 -0
  794. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/091_kg_inbox_node_type_check_down.sql +0 -0
  795. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/092_sessions_activity_state_ts.sql +0 -0
  796. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/092_sessions_activity_state_ts_down.sql +0 -0
  797. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/093_sessions_activity_state_column.sql +0 -0
  798. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/093_sessions_activity_state_column_down.sql +0 -0
  799. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/094_ingest_pending.sql +0 -0
  800. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/094_ingest_pending_down.sql +0 -0
  801. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/095_kg_intent_first.sql +0 -0
  802. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/095_kg_intent_first_down.sql +0 -0
  803. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/096_kg_xlsx_artifact_prefix.sql +0 -0
  804. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/096_kg_xlsx_artifact_prefix_down.sql +0 -0
  805. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/097_ingest_change_history.sql +0 -0
  806. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/097_ingest_change_history_down.sql +0 -0
  807. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/098_kg_node_type_business.sql +0 -0
  808. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/098_kg_node_type_business_down.sql +0 -0
  809. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/099_kg_edges_restore_weight.sql +0 -0
  810. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/099_kg_edges_restore_weight_down.sql +0 -0
  811. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/100_kg_enriched_at.sql +0 -0
  812. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/100_kg_enriched_at_down.sql +0 -0
  813. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/101_local_llm_shadow_comparisons.sql +0 -0
  814. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/101_local_llm_shadow_comparisons_down.sql +0 -0
  815. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/102_promote_llm_costs.sql +0 -0
  816. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/102_promote_llm_costs_down.sql +0 -0
  817. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/103_ingest_skipped_log.sql +0 -0
  818. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/103_ingest_skipped_log_down.sql +0 -0
  819. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/120_docs_governance.sql +0 -0
  820. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/120_docs_governance_down.sql +0 -0
  821. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/121_notification_event_fk_cleanup.sql +0 -0
  822. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/121_notification_event_fk_cleanup_down.sql +0 -0
  823. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/122_docs_drift_history.sql +0 -0
  824. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/122_docs_drift_history_down.sql +0 -0
  825. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/123_ingest_parser_waiting_status.sql +0 -0
  826. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/123_ingest_parser_waiting_status_down.sql +0 -0
  827. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/124_heypocket_recordings.sql +0 -0
  828. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/124_heypocket_recordings_down.sql +0 -0
  829. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/125_kg_node_type_record.sql +0 -0
  830. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/125_kg_node_type_record_down.sql +0 -0
  831. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/126_ingest_terminal_upload_source_kind.sql +0 -0
  832. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/126_ingest_terminal_upload_source_kind_down.sql +0 -0
  833. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/127_brain_v1_substrate.sql +0 -0
  834. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/127_brain_v1_substrate_down.sql +0 -0
  835. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/128_brain_drift_signals.sql +0 -0
  836. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/128_brain_drift_signals_down.sql +0 -0
  837. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/129_brain_memory_operations.sql +0 -0
  838. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/129_brain_memory_operations_down.sql +0 -0
  839. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/130_brain_findings.sql +0 -0
  840. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/130_brain_findings_down.sql +0 -0
  841. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/132_kg_pr_modifies.sql +0 -0
  842. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/132_kg_pr_modifies_down.sql +0 -0
  843. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/133_brain_v1_2_direction_schema.sql +0 -0
  844. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/133_brain_v1_2_direction_schema_down.sql +0 -0
  845. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/134_brain_journal_narrative_polished.sql +0 -0
  846. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/134_brain_journal_narrative_polished_down.sql +0 -0
  847. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/135_kg_edges_provider.sql +0 -0
  848. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/136_documents_fts.sql +0 -0
  849. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/137_promote_llm_costs.sql +0 -0
  850. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/137_promote_llm_costs_down.sql +0 -0
  851. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/138_ingest_api_keys.sql +0 -0
  852. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/138_ingest_api_keys_down.sql +0 -0
  853. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/139_ingest_pending_ingress.sql +0 -0
  854. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/139_ingest_pending_ingress_down.sql +0 -0
  855. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/140_ingest_idempotency_quota.sql +0 -0
  856. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/140_ingest_idempotency_quota_down.sql +0 -0
  857. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/141_ingest_pending_metadata.sql +0 -0
  858. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/141_ingest_pending_metadata_down.sql +0 -0
  859. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/142_llm_function_config.sql +0 -0
  860. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/142_llm_function_config_down.sql +0 -0
  861. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/143_kg_code_embeddings.sql +0 -0
  862. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/143_kg_code_embeddings_down.sql +0 -0
  863. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/144_notifications_pending_sync_index.sql +0 -0
  864. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/145_audit_log_immutable.sql +0 -0
  865. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/145_audit_log_immutable_down.sql +0 -0
  866. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/146_drop_kg_backup_tables.sql +0 -0
  867. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/146_drop_kg_backup_tables_down.sql +0 -0
  868. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/147_chunks.sql +0 -0
  869. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/147_chunks_down.sql +0 -0
  870. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/148_bitemporal_learnings.sql +0 -0
  871. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/148_bitemporal_learnings_down.sql +0 -0
  872. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/149_kg_trust_columns.sql +0 -0
  873. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/149_kg_trust_columns_down.sql +0 -0
  874. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/150_delegations.sql +0 -0
  875. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/150_delegations_down.sql +0 -0
  876. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/151_todos.sql +0 -0
  877. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/151_todos_down.sql +0 -0
  878. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/152_project_color.sql +0 -0
  879. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/152_project_color_down.sql +0 -0
  880. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/153_manual_project_edges.sql +0 -0
  881. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/153_manual_project_edges_down.sql +0 -0
  882. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/migrations/__init__.py +0 -0
  883. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/projects/_template/context.md +0 -0
  884. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/projects/_template/docs/brainstorms/YYYY-MM-DD-example-brainstorm.md +0 -0
  885. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/projects/_template/docs/plans/YYYY-MM-DD-example-plan.md +0 -0
  886. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/projects/_template/docs/solutions/YYYY-MM-DD-example-solution.md +0 -0
  887. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/projects/_template/input/README.md +0 -0
  888. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/projects/_template/memory/handoff.md +0 -0
  889. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/projects/_template/output/README.md +0 -0
  890. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/projects/_template/project.yaml +0 -0
  891. {marvisx_cli-0.3.9b2 → marvisx_cli-0.3.9b5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: marvisx-cli
3
- Version: 0.3.9b2
3
+ Version: 0.3.9b5
4
4
  Summary: MarvisX OSS — agent-native company-brain CLI runtime (init, status, brief, triage)
5
5
  Author: MarvisX maintainers
6
6
  License: BSL-1.1
@@ -1 +1 @@
1
- <!DOCTYPE html><!--_MWhMs_DzvgduGQXekcBh--><html lang="en" class="__variable_8e4f0e __variable_45d476 theme-v2"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="preload" href="/ui/_next/static/media/558ca1a6aa3cb55e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/ui/_next/static/media/a31f6539c570f5f4-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/ui/_next/static/media/cd5bec9268da5b8d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/ui/_next/static/css/1bf4906983b62b81.css" data-precedence="next"/><link rel="stylesheet" href="/ui/_next/static/css/48fb03de4f747e34.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/ui/_next/static/chunks/webpack-eb4202bb8f321e36.js"/><script src="/ui/_next/static/chunks/4bd1b696-f785427dddbba9fb.js" async=""></script><script src="/ui/_next/static/chunks/1255-a122635a4d00ff55.js" async=""></script><script src="/ui/_next/static/chunks/main-app-8eb58590bd33c22b.js" async=""></script><script src="/ui/_next/static/chunks/app/layout-6898769151251321.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><meta name="theme-color" content="#0f172a"/><title>Marvis Console</title><meta name="description" content="Agent-native project management console"/><link rel="manifest" href="/ui/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Marvis"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><link rel="icon" href="/ui/favicon-16.svg" sizes="16x16" type="image/svg+xml"/><link rel="icon" href="/ui/favicon-32.svg" sizes="32x32" type="image/svg+xml"/><link rel="icon" href="/ui/favicon.svg" type="image/svg+xml"/><link rel="apple-touch-icon" href="/ui/icons/icon-192.png" sizes="192x192"/><script id="pir-design-v2-init">(function(){try{if(localStorage.getItem("marvisx:design-v2")==="false")document.documentElement.classList.remove("theme-v2");}catch(e){}})();</script><script src="/ui/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-pir-base text-pir-text-primary font-sans antialiased h-screen overflow-hidden"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/ui/_next/static/chunks/webpack-eb4202bb8f321e36.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[5379,[\"7177\",\"static/chunks/app/layout-6898769151251321.js\"],\"ThemeProvider\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[4431,[],\"OutletBoundary\"]\n7:I[5278,[],\"AsyncMetadataOutlet\"]\n9:I[4431,[],\"ViewportBoundary\"]\nb:I[4431,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7150,[],\"\"]\n:HL[\"/ui/_next/static/media/558ca1a6aa3cb55e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/media/a31f6539c570f5f4-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/media/cd5bec9268da5b8d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/css/1bf4906983b62b81.css\",\"style\"]\n:HL[\"/ui/_next/static/css/48fb03de4f747e34.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"-MWhMs_DzvgduGQXekcBh\",\"p\":\"/ui\",\"c\":[\"\",\"_not-found\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ui/_next/static/css/1bf4906983b62b81.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/ui/_next/static/css/48fb03de4f747e34.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"__variable_8e4f0e __variable_45d476 theme-v2\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"id\":\"pir-design-v2-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{if(localStorage.getItem(\\\"marvisx:design-v2\\\")===\\\"false\\\")document.documentElement.classList.remove(\\\"theme-v2\\\");}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"className\":\"bg-pir-base text-pir-text-primary font-sans antialiased h-screen overflow-hidden\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0f172a\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"f:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"8:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Marvis Console\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Agent-native project management console\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/ui/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Marvis\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"default\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/ui/favicon-16.svg\",\"sizes\":\"16x16\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"7\",{\"rel\":\"icon\",\"href\":\"/ui/favicon-32.svg\",\"sizes\":\"32x32\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/ui/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"9\",{\"rel\":\"apple-touch-icon\",\"href\":\"/ui/icons/icon-192.png\",\"sizes\":\"192x192\"}],[\"$\",\"$Lf\",\"10\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--0ZFzK04rM5_rbuC1keeD4--><html lang="en" class="__variable_8e4f0e __variable_45d476 theme-v2"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="preload" href="/ui/_next/static/media/558ca1a6aa3cb55e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/ui/_next/static/media/a31f6539c570f5f4-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/ui/_next/static/media/cd5bec9268da5b8d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/ui/_next/static/css/1bf4906983b62b81.css" data-precedence="next"/><link rel="stylesheet" href="/ui/_next/static/css/cbcbfeb01a119839.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/ui/_next/static/chunks/webpack-eb4202bb8f321e36.js"/><script src="/ui/_next/static/chunks/4bd1b696-f785427dddbba9fb.js" async=""></script><script src="/ui/_next/static/chunks/1255-a122635a4d00ff55.js" async=""></script><script src="/ui/_next/static/chunks/main-app-8eb58590bd33c22b.js" async=""></script><script src="/ui/_next/static/chunks/app/layout-6898769151251321.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><meta name="theme-color" content="#0f172a"/><title>Marvis Console</title><meta name="description" content="Agent-native project management console"/><link rel="manifest" href="/ui/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Marvis"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><link rel="icon" href="/ui/favicon-16.svg" sizes="16x16" type="image/svg+xml"/><link rel="icon" href="/ui/favicon-32.svg" sizes="32x32" type="image/svg+xml"/><link rel="icon" href="/ui/favicon.svg" type="image/svg+xml"/><link rel="apple-touch-icon" href="/ui/icons/icon-192.png" sizes="192x192"/><script id="pir-design-v2-init">(function(){try{if(localStorage.getItem("marvisx:design-v2")==="false")document.documentElement.classList.remove("theme-v2");}catch(e){}})();</script><script src="/ui/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-pir-base text-pir-text-primary font-sans antialiased h-screen overflow-hidden"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/ui/_next/static/chunks/webpack-eb4202bb8f321e36.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[5379,[\"7177\",\"static/chunks/app/layout-6898769151251321.js\"],\"ThemeProvider\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[4431,[],\"OutletBoundary\"]\n7:I[5278,[],\"AsyncMetadataOutlet\"]\n9:I[4431,[],\"ViewportBoundary\"]\nb:I[4431,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7150,[],\"\"]\n:HL[\"/ui/_next/static/media/558ca1a6aa3cb55e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/media/a31f6539c570f5f4-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/media/cd5bec9268da5b8d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/css/1bf4906983b62b81.css\",\"style\"]\n:HL[\"/ui/_next/static/css/cbcbfeb01a119839.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"0ZFzK04rM5_rbuC1keeD4\",\"p\":\"/ui\",\"c\":[\"\",\"_not-found\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ui/_next/static/css/1bf4906983b62b81.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/ui/_next/static/css/cbcbfeb01a119839.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"__variable_8e4f0e __variable_45d476 theme-v2\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"id\":\"pir-design-v2-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{if(localStorage.getItem(\\\"marvisx:design-v2\\\")===\\\"false\\\")document.documentElement.classList.remove(\\\"theme-v2\\\");}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"className\":\"bg-pir-base text-pir-text-primary font-sans antialiased h-screen overflow-hidden\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0f172a\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"f:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"8:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Marvis Console\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Agent-native project management console\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/ui/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Marvis\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"default\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/ui/favicon-16.svg\",\"sizes\":\"16x16\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"7\",{\"rel\":\"icon\",\"href\":\"/ui/favicon-32.svg\",\"sizes\":\"32x32\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/ui/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"9\",{\"rel\":\"apple-touch-icon\",\"href\":\"/ui/icons/icon-192.png\",\"sizes\":\"192x192\"}],[\"$\",\"$Lf\",\"10\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><!--_MWhMs_DzvgduGQXekcBh--><html lang="en" class="__variable_8e4f0e __variable_45d476 theme-v2"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="preload" href="/ui/_next/static/media/558ca1a6aa3cb55e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/ui/_next/static/media/a31f6539c570f5f4-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/ui/_next/static/media/cd5bec9268da5b8d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/ui/_next/static/css/1bf4906983b62b81.css" data-precedence="next"/><link rel="stylesheet" href="/ui/_next/static/css/48fb03de4f747e34.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/ui/_next/static/chunks/webpack-eb4202bb8f321e36.js"/><script src="/ui/_next/static/chunks/4bd1b696-f785427dddbba9fb.js" async=""></script><script src="/ui/_next/static/chunks/1255-a122635a4d00ff55.js" async=""></script><script src="/ui/_next/static/chunks/main-app-8eb58590bd33c22b.js" async=""></script><script src="/ui/_next/static/chunks/app/layout-6898769151251321.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><meta name="theme-color" content="#0f172a"/><title>Marvis Console</title><meta name="description" content="Agent-native project management console"/><link rel="manifest" href="/ui/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Marvis"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><link rel="icon" href="/ui/favicon-16.svg" sizes="16x16" type="image/svg+xml"/><link rel="icon" href="/ui/favicon-32.svg" sizes="32x32" type="image/svg+xml"/><link rel="icon" href="/ui/favicon.svg" type="image/svg+xml"/><link rel="apple-touch-icon" href="/ui/icons/icon-192.png" sizes="192x192"/><script id="pir-design-v2-init">(function(){try{if(localStorage.getItem("marvisx:design-v2")==="false")document.documentElement.classList.remove("theme-v2");}catch(e){}})();</script><script src="/ui/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-pir-base text-pir-text-primary font-sans antialiased h-screen overflow-hidden"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/ui/_next/static/chunks/webpack-eb4202bb8f321e36.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[5379,[\"7177\",\"static/chunks/app/layout-6898769151251321.js\"],\"ThemeProvider\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[4431,[],\"OutletBoundary\"]\n7:I[5278,[],\"AsyncMetadataOutlet\"]\n9:I[4431,[],\"ViewportBoundary\"]\nb:I[4431,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7150,[],\"\"]\n:HL[\"/ui/_next/static/media/558ca1a6aa3cb55e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/media/a31f6539c570f5f4-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/media/cd5bec9268da5b8d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/css/1bf4906983b62b81.css\",\"style\"]\n:HL[\"/ui/_next/static/css/48fb03de4f747e34.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"-MWhMs_DzvgduGQXekcBh\",\"p\":\"/ui\",\"c\":[\"\",\"_not-found\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ui/_next/static/css/1bf4906983b62b81.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/ui/_next/static/css/48fb03de4f747e34.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"__variable_8e4f0e __variable_45d476 theme-v2\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"id\":\"pir-design-v2-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{if(localStorage.getItem(\\\"marvisx:design-v2\\\")===\\\"false\\\")document.documentElement.classList.remove(\\\"theme-v2\\\");}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"className\":\"bg-pir-base text-pir-text-primary font-sans antialiased h-screen overflow-hidden\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0f172a\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"f:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"8:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Marvis Console\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Agent-native project management console\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/ui/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Marvis\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"default\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/ui/favicon-16.svg\",\"sizes\":\"16x16\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"7\",{\"rel\":\"icon\",\"href\":\"/ui/favicon-32.svg\",\"sizes\":\"32x32\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/ui/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"9\",{\"rel\":\"apple-touch-icon\",\"href\":\"/ui/icons/icon-192.png\",\"sizes\":\"192x192\"}],[\"$\",\"$Lf\",\"10\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
1
+ <!DOCTYPE html><!--0ZFzK04rM5_rbuC1keeD4--><html lang="en" class="__variable_8e4f0e __variable_45d476 theme-v2"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="preload" href="/ui/_next/static/media/558ca1a6aa3cb55e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/ui/_next/static/media/a31f6539c570f5f4-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/ui/_next/static/media/cd5bec9268da5b8d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/ui/_next/static/css/1bf4906983b62b81.css" data-precedence="next"/><link rel="stylesheet" href="/ui/_next/static/css/cbcbfeb01a119839.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/ui/_next/static/chunks/webpack-eb4202bb8f321e36.js"/><script src="/ui/_next/static/chunks/4bd1b696-f785427dddbba9fb.js" async=""></script><script src="/ui/_next/static/chunks/1255-a122635a4d00ff55.js" async=""></script><script src="/ui/_next/static/chunks/main-app-8eb58590bd33c22b.js" async=""></script><script src="/ui/_next/static/chunks/app/layout-6898769151251321.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><meta name="theme-color" content="#0f172a"/><title>Marvis Console</title><meta name="description" content="Agent-native project management console"/><link rel="manifest" href="/ui/manifest.webmanifest"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Marvis"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><link rel="icon" href="/ui/favicon-16.svg" sizes="16x16" type="image/svg+xml"/><link rel="icon" href="/ui/favicon-32.svg" sizes="32x32" type="image/svg+xml"/><link rel="icon" href="/ui/favicon.svg" type="image/svg+xml"/><link rel="apple-touch-icon" href="/ui/icons/icon-192.png" sizes="192x192"/><script id="pir-design-v2-init">(function(){try{if(localStorage.getItem("marvisx:design-v2")==="false")document.documentElement.classList.remove("theme-v2");}catch(e){}})();</script><script src="/ui/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-pir-base text-pir-text-primary font-sans antialiased h-screen overflow-hidden"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/ui/_next/static/chunks/webpack-eb4202bb8f321e36.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[5379,[\"7177\",\"static/chunks/app/layout-6898769151251321.js\"],\"ThemeProvider\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[4431,[],\"OutletBoundary\"]\n7:I[5278,[],\"AsyncMetadataOutlet\"]\n9:I[4431,[],\"ViewportBoundary\"]\nb:I[4431,[],\"MetadataBoundary\"]\nc:\"$Sreact.suspense\"\ne:I[7150,[],\"\"]\n:HL[\"/ui/_next/static/media/558ca1a6aa3cb55e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/media/a31f6539c570f5f4-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/media/cd5bec9268da5b8d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/ui/_next/static/css/1bf4906983b62b81.css\",\"style\"]\n:HL[\"/ui/_next/static/css/cbcbfeb01a119839.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"0ZFzK04rM5_rbuC1keeD4\",\"p\":\"/ui\",\"c\":[\"\",\"_not-found\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ui/_next/static/css/1bf4906983b62b81.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/ui/_next/static/css/cbcbfeb01a119839.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"__variable_8e4f0e __variable_45d476 theme-v2\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"id\":\"pir-design-v2-init\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{if(localStorage.getItem(\\\"marvisx:design-v2\\\")===\\\"false\\\")document.documentElement.classList.remove(\\\"theme-v2\\\");}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"className\":\"bg-pir-base text-pir-text-primary font-sans antialiased h-screen overflow-hidden\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$L6\",[\"$\",\"$L7\",null,{\"promise\":\"$@8\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"fallback\":null,\"children\":\"$Ld\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0f172a\"}]]\n6:null\n"])</script><script>self.__next_f.push([1,"f:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"8:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Marvis Console\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Agent-native project management console\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/ui/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Marvis\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"default\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/ui/favicon-16.svg\",\"sizes\":\"16x16\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"7\",{\"rel\":\"icon\",\"href\":\"/ui/favicon-32.svg\",\"sizes\":\"32x32\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/ui/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"9\",{\"rel\":\"apple-touch-icon\",\"href\":\"/ui/icons/icon-192.png\",\"sizes\":\"192x192\"}],[\"$\",\"$Lf\",\"10\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"d:\"$8:metadata\"\n"])</script></body></html>
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(e,r,t){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:34,errorRate:1e-4,numBits:652,numHashes:14,bitArray:[1,0,1,e,e,0,e,r,r,e,e,e,e,r,e,e,r,r,r,e,r,e,e,r,r,r,r,e,r,r,r,r,r,e,e,e,e,e,r,e,e,r,e,r,e,r,e,r,r,r,e,e,r,r,r,r,e,r,r,e,e,r,e,e,e,e,e,e,r,e,r,e,r,r,e,e,r,r,r,r,r,e,r,r,r,e,e,e,r,r,r,e,r,e,e,r,e,r,r,r,r,r,r,r,r,r,r,r,e,e,r,r,r,e,r,r,r,e,e,e,r,r,r,r,e,e,r,r,r,r,r,r,e,r,r,e,r,r,r,e,r,r,r,e,e,e,e,e,r,e,e,r,r,r,e,r,e,e,r,r,e,r,e,e,r,r,r,r,r,e,e,r,e,r,e,e,r,r,r,r,e,r,r,e,e,e,e,r,e,e,e,e,r,e,r,r,r,r,r,e,r,r,e,e,r,e,r,e,e,r,e,r,r,r,e,e,r,r,r,r,e,e,e,r,e,r,e,r,r,r,e,e,e,e,e,e,e,r,r,r,e,r,r,e,e,e,e,r,r,r,e,e,r,r,e,r,e,e,e,e,e,e,e,r,e,e,e,e,r,e,r,e,e,e,e,e,e,r,r,r,e,e,e,e,e,e,e,e,r,e,r,r,r,e,r,r,r,r,r,e,r,e,r,e,r,r,r,e,e,r,r,r,r,e,e,r,e,e,e,r,e,e,r,e,r,r,r,r,r,e,r,e,e,r,r,e,r,e,r,r,r,r,e,e,e,r,e,e,r,e,r,e,e,r,e,r,r,e,r,e,r,e,e,r,r,e,r,e,e,r,e,e,r,r,e,e,e,r,r,e,e,e,r,r,e,r,e,r,e,e,e,e,e,r,r,e,e,r,e,e,r,e,e,e,e,r,r,r,r,e,r,r,r,e,e,r,e,r,e,e,e,e,r,e,e,e,r,r,e,r,e,e,e,r,r,e,r,e,e,r,r,e,e,e,r,r,e,r,e,e,e,e,e,e,r,r,e,e,r,e,r,e,e,r,e,r,r,e,e,e,r,e,r,r,r,e,e,r,r,e,r,e,r,e,r,e,e,e,r,e,r,e,e,r,r,r,e,e,e,e,e,r,e,e,r,r,e,e,e,r,r,r,r,e,e,e,e,e,e,r,r,r,r,r,r,e,e,e,e,r,r,e,r,e,r,r,r,r,r,e,r,r,r,e,r,r,e,r,r,r,e,e,e,e,r,r,r,r,e,r,e,e,e,r,r,r,r,e,r,e,e,e,e,r,e,e,r,e,r,e,e,r,r,r,r,e,e,e,r,r,e,e,e,r,r,e,r,e,e,r,r,e,r,e,r,r,e,r,e,r,r,e,r,e,e,e,e,e,e,r,r,r,e,e,e,e,e,e,r,r,r,e,e,r,e,r,e,e,r,e,r,r,e,e,r,e,r,r,e,e,e,r]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-94812ad32cad7365.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2582],{1955:(e,t,r)=>{r.d(t,{j:()=>s});var a=r(2115);function s(e,t){let{interval:r,enabled:s=!0,backoff:n=!1,unchangedThreshold:i=3,maxInterval:l=4*r}=t,[c,o]=(0,a.useState)(null),[d,x]=(0,a.useState)(!0),[p,u]=(0,a.useState)(null),m=(0,a.useRef)(null),h=(0,a.useRef)(null),b=(0,a.useRef)(""),f=(0,a.useRef)(0),g=(0,a.useRef)(r),j=(0,a.useCallback)(async()=>{var t;null==(t=m.current)||t.abort();let a=new AbortController;m.current=a;try{let t=await e(a.signal),s=JSON.stringify(t);n&&s===b.current?f.current++:(f.current=0,g.current=r),b.current=s,o(t),u(null)}catch(e){if(e instanceof DOMException&&"AbortError"===e.name)return;u(e instanceof Error?e:Error("Fetch failed"))}finally{x(!1)}},[e,n,r]),v=(0,a.useCallback)(()=>{j(),h.current&&clearInterval(h.current);let e=g.current;n&&f.current>=i&&(g.current=e=Math.min(2*e,l)),h.current=setInterval(j,e)},[j,n,i,l]),y=(0,a.useCallback)(()=>{h.current&&(clearInterval(h.current),h.current=null)},[]);return(0,a.useEffect)(()=>{if(!s)return void y();let e=()=>{"visible"===document.visibilityState?v():y()};return v(),document.addEventListener("visibilitychange",e),()=>{var t;null==(t=m.current)||t.abort(),y(),document.removeEventListener("visibilitychange",e)}},[s,v,y]),{data:c,loading:d,error:p,refresh:(0,a.useCallback)(()=>{f.current=0,g.current=r,j()},[j,r])}}},2582:(e,t,r)=>{r.d(t,{A:()=>F});var a=r(5155),s=r(2115),n=r(8885),i=r(960),l=r(8737),c=r(1803),o=r(2931);function d(e){let{unifiedDiff:t}=e,r=(0,s.useMemo)(()=>{if(!t)return"";let e=(0,c.qy)(t,{drawFileList:!0,matching:"lines",outputFormat:"line-by-line"});return o.A.sanitize(e)},[t]);return r?(0,a.jsx)("div",{className:"diff-viewer text-xs overflow-x-auto [&_.d2h-wrapper]:bg-transparent [&_.d2h-file-header]:bg-pir-surface-0 [&_.d2h-file-header]:border-pir [&_.d2h-code-linenumber]:bg-pir-surface-0 [&_.d2h-code-line]:bg-transparent [&_.d2h-info]:bg-pir-surface-0 [&_.d2h-file-list-wrapper]:bg-pir-surface-0 [&_.d2h-file-list-wrapper]:border-pir [&_td]:text-pir-text-secondary [&_.d2h-del]:bg-pir-error/10 [&_.d2h-ins]:bg-pir-success/10 [&_.d2h-del_.d2h-code-line-ctn]:text-pir-error [&_.d2h-ins_.d2h-code-line-ctn]:text-pir-success",dangerouslySetInnerHTML:{__html:r}}):(0,a.jsx)("div",{className:"text-caption text-pir-text-muted py-2",children:"No diff available"})}r(8356);var x=r(1601),p=r(5704);let u={draft:{label:"Branch",cls:"bg-pir-text-muted/20 text-pir-text-muted"},open:{label:"In Review",cls:"bg-pir-warning/20 text-pir-warning"},merging:{label:"Merging...",cls:"bg-pir-accent/20 text-pir-accent"},merged:{label:"Merged",cls:"bg-pir-success/20 text-pir-success"},closed:{label:"Closed",cls:"bg-pir-error/20 text-pir-error"}};function m(e){var t;let{taskId:r,onTaskCompleted:n,currentUser:c}=e,[o,m]=(0,s.useState)(null),[h,b]=(0,s.useState)(!0),[f,g]=(0,s.useState)(null),[j,v]=(0,s.useState)(0),[y,N]=(0,s.useState)(!1),[k,C]=(0,s.useState)(null),[w,_]=(0,s.useState)(null),[S,D]=(0,s.useState)(!1),[M,E]=(0,s.useState)(""),[L,A]=(0,s.useState)(!1),[R,T]=(0,s.useState)(!1),[W,B]=(0,s.useState)(!1),[I,P]=(0,s.useState)(""),[H,U]=(0,s.useState)(!1),[q,F]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=new AbortController;return b(!0),g(null),(0,i.T9n)(r,{signal:e.signal}).then(e=>m(e)).catch(e=>{if("AbortError"!==e.name){var t,r;(null==(t=e.message)?void 0:t.includes("404"))?m(null):g(null!=(r=e.message)?r:"Unknown error")}}).finally(()=>{e.signal.aborted||b(!1)}),()=>e.abort()},[r,j]);let z=(0,s.useCallback)(async()=>{if(o){N(!0),C(null),_(null);try{await (0,i.dK_)(r),m(e=>e?{...e,status:"merged"}:e),null==n||n()}catch(t){let e=t instanceof Error?t.message:"Merge failed";try{let t=JSON.parse(e);if(t.conflicting_files){_(t.conflicting_files),C("Merge conflict");return}}catch(e){}C(e)}finally{N(!1)}}},[o,r,n]),O=(0,s.useCallback)(async()=>{A(!0);try{await (0,i.d66)(r,M),m(e=>e?{...e,status:"closed",closed_reason:M||null}:e),D(!1),E("")}catch(e){C(e instanceof Error?e.message:"Close failed")}finally{A(!1)}},[r,M]),$=(0,s.useCallback)(async()=>{if(o){T(!0),C(null);try{let e=await (0,i.WYS)(r);m(e)}catch(e){C(e instanceof Error?e.message:"Approve failed")}finally{T(!1)}}},[o,r]),G=(0,s.useCallback)(async()=>{U(!0);try{await (0,i.fdU)(r,I),m(e=>e?{...e,approved_by:null,approved_at:null}:e),B(!1),P("")}catch(e){C(e instanceof Error?e.message:"Request changes failed")}finally{U(!1)}},[r,I]);if(h)return(0,a.jsx)("div",{className:"text-caption text-pir-text-muted py-2",children:"Loading PR..."});if(!o&&!f)return null;if(f)return"Failed to fetch"===f?(0,a.jsxs)("div",{className:"text-caption text-pir-text-muted py-2 flex items-center gap-2",children:[(0,a.jsx)("span",{children:"PR data unavailable"}),(0,a.jsx)("button",{onClick:()=>v(e=>e+1),className:"text-pir-accent hover:text-pir-accent/80 transition-colors underline-offset-2 hover:underline",children:"Retry"})]}):(0,a.jsx)(x.$,{message:"PR error: ".concat(f),className:"py-2"});if(!o)return null;let J=u[o.status],V="open"===o.status,K="draft"===o.status||"open"===o.status,X="merged"===o.status||"closed"===o.status,Z=((null==c?void 0:c.system_role)==="admin"||(null==c?void 0:c.system_role)==="super_admin")&&o.submitted_by!==(null==c?void 0:c.user_id)&&"open"===o.status;return(0,a.jsxs)("div",{className:"border border-pir rounded bg-pir-surface-0",children:[(0,a.jsxs)("div",{className:"px-3 py-2 flex items-center gap-2 border-b border-pir",children:[(0,a.jsx)("span",{className:"text-caption font-mono text-pir-text-muted truncate flex-1",children:o.branch}),(0,a.jsx)("span",{className:"text-[10px] px-2 py-0.5 rounded-full ".concat(J.cls),children:J.label}),"true"===p.env.NEXT_PUBLIC_ENABLE_GRAPH_UX&&(0,a.jsx)("a",{href:"/graph/?id=pr:artifact:".concat(r,"&tab=context"),title:"View PR in Knowledge Graph",className:"text-[10px] text-pir-text-muted hover:text-pir-text-secondary transition-colors",children:"KG →"})]}),(0,a.jsxs)("div",{className:"px-3 py-2 space-y-1",children:[o.title&&(0,a.jsx)("div",{className:"text-xs text-pir-text-primary font-medium",children:o.title}),o.diff&&(0,a.jsxs)("div",{className:"flex items-center gap-3 text-caption text-pir-text-muted",children:[(0,a.jsxs)("span",{children:[o.diff.stats.files_changed," file",1!==o.diff.stats.files_changed?"s":""]}),(0,a.jsxs)("span",{className:"text-pir-success",children:["+",o.diff.stats.additions]}),(0,a.jsxs)("span",{className:"text-pir-error",children:["-",o.diff.stats.deletions]}),o.diff.unified_diff&&(0,a.jsx)("button",{onClick:()=>F(e=>!e),className:"text-pir-accent hover:text-pir-accent/80 transition-colors ml-auto",children:q?"Hide diff":"Show diff"})]})]}),q&&(null==(t=o.diff)?void 0:t.unified_diff)&&(0,a.jsx)("div",{className:"border-t border-pir px-3 py-2 max-h-[400px] overflow-y-auto",children:(0,a.jsx)(d,{unifiedDiff:o.diff.unified_diff})}),"closed"===o.status&&o.closed_reason&&(0,a.jsx)("div",{className:"border-t border-pir px-3 py-2",children:(0,a.jsxs)("div",{className:"text-caption text-pir-text-muted",children:[(0,a.jsx)("span",{className:"font-medium",children:"Closed:"})," ",o.closed_reason]})}),o.approved_by&&"open"===o.status&&(0,a.jsx)("div",{className:"border-t border-pir px-3 py-2",children:(0,a.jsxs)("div",{className:"text-caption text-pir-success",children:["Approvata da ",o.approved_by]})}),k&&(0,a.jsxs)("div",{className:"border-t border-pir px-3 py-2",children:[(0,a.jsx)(x.$,{message:k}),w&&(0,a.jsx)("ul",{className:"mt-1 text-caption text-pir-text-muted list-disc pl-4",children:w.map(e=>(0,a.jsx)("li",{className:"font-mono",children:e},e))})]}),!X&&(0,a.jsx)("div",{className:"border-t border-pir px-3 py-2 flex items-center gap-2 flex-wrap",children:(0,a.jsxs)(l.B,{minRole:"operator",children:[K&&(0,a.jsx)("button",{onClick:()=>D(!0),className:"text-[10px] px-2.5 py-1 rounded border border-pir text-pir-text-muted hover:text-pir-error hover:border-pir-error/40 transition-colors",children:"Close PR"}),Z&&!o.approved_by&&(0,a.jsx)("button",{onClick:$,disabled:R,className:"text-[10px] px-2.5 py-1 rounded bg-pir-accent text-white hover:bg-pir-accent/80 disabled:opacity-50 transition-colors",children:R?"Approvando...":"✅ Approva"}),Z&&(0,a.jsx)("button",{onClick:()=>B(!0),className:"text-[10px] px-2.5 py-1 rounded border border-pir-warning text-pir-warning hover:bg-pir-warning/10 transition-colors",children:"✏️ Request Changes"}),V&&(0,a.jsx)("button",{onClick:z,disabled:y,className:"text-[10px] px-2.5 py-1 rounded bg-pir-success text-white hover:bg-pir-success/80 disabled:opacity-50 transition-colors ml-auto",children:y?"Merging...":"Merge"})]})}),S&&(0,a.jsxs)("div",{className:"border-t border-pir px-3 py-2 space-y-2",children:[(0,a.jsx)("textarea",{value:M,onChange:e=>E(e.target.value),placeholder:"Reason for closing (feedback for the agent)",rows:2,className:"w-full bg-pir-surface-1 border border-pir rounded px-2 py-1.5 text-xs text-pir-text-primary placeholder:text-pir-text-muted focus:outline-none focus:border-pir-accent resize-none"}),(0,a.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,a.jsx)("button",{onClick:()=>{D(!1),E("")},className:"text-[10px] px-2.5 py-1 rounded border border-pir text-pir-text-muted hover:bg-pir-surface-1 transition-colors",children:"Cancel"}),(0,a.jsx)("button",{onClick:O,disabled:L,className:"text-[10px] px-2.5 py-1 rounded bg-pir-error text-white hover:bg-pir-error/80 disabled:opacity-50 transition-colors",children:L?"Closing...":"Close PR"})]})]}),W&&(0,a.jsxs)("div",{className:"border-t border-pir px-3 py-2 space-y-2",children:[(0,a.jsx)("textarea",{value:I,onChange:e=>P(e.target.value),placeholder:"Commento per l'agente (obbligatorio)",rows:2,className:"w-full bg-pir-surface-1 border border-pir rounded px-2 py-1.5 text-xs text-pir-text-primary placeholder:text-pir-text-muted focus:outline-none focus:border-pir-accent resize-none"}),(0,a.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,a.jsx)("button",{onClick:()=>{B(!1),P("")},className:"text-[10px] px-2.5 py-1 rounded border border-pir text-pir-text-muted hover:bg-pir-surface-1 transition-colors",children:"Cancel"}),(0,a.jsx)("button",{onClick:G,disabled:H||!I.trim(),className:"text-[10px] px-2.5 py-1 rounded bg-pir-warning text-white hover:bg-pir-warning/80 disabled:opacity-50 transition-colors",children:H?"Inviando...":"Request Changes"})]})]})]})}function h(e){return 0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function b(e){if(e<60)return"".concat(e,"m");let t=Math.floor(e/60),r=Math.round(e%60);return r>0?"".concat(t,"h ").concat(r,"m"):"".concat(t,"h")}function f(e){var t;let{entry:r}=e,s="agent"===r.entry_type;return(0,a.jsxs)("div",{className:"flex items-start gap-2 py-1.5 text-xs border-b border-pir last:border-0",children:[(0,a.jsx)("span",{className:"shrink-0 mt-0.5 rounded px-1.5 py-0.5 font-medium text-[10px] uppercase tracking-wide ".concat(s?"bg-pir-accent/15 text-pir-accent":"bg-pir-text-muted/15 text-pir-text-muted"),children:s?"Agent":"Human"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[r.description&&(0,a.jsx)("p",{className:"text-pir-text-secondary truncate mb-0.5",children:r.description}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5 text-pir-text-muted",children:[s&&r.agent_seconds>0&&(0,a.jsxs)("span",{children:["agent time: ",(t=r.agent_seconds)<60?"".concat(t,"s"):b(Math.round(t/60))]}),!s&&r.human_minutes>0&&(0,a.jsxs)("span",{children:["human time: ",b(r.human_minutes)]}),(0,a.jsx)("span",{children:function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<60)return"".concat(t,"m ago");let r=Math.floor(t/60);return r<24?"".concat(r,"h ago"):"".concat(Math.floor(r/24),"d ago")}(r.created_at)}),(0,a.jsxs)("span",{children:["by ",r.created_by]}),!r.is_billable&&(0,a.jsx)("span",{className:"text-pir-warning",children:"non-billable"})]})]}),(0,a.jsxs)("div",{className:"shrink-0 text-right",children:[(0,a.jsx)("div",{className:"text-pir-text-primary font-mono",children:h(r.total_cost_usd)}),r.total_bill_usd!==r.total_cost_usd&&(0,a.jsxs)("div",{className:"text-pir-text-muted font-mono text-[10px]",children:["bill ",h(r.total_bill_usd)]})]})]})}function g(e){let{taskId:t,onSaved:r,onCancel:n}=e,[l,c]=(0,s.useState)(""),[o,d]=(0,s.useState)(""),[p,u]=(0,s.useState)(!0),[m,h]=(0,s.useState)(!1),[b,f]=(0,s.useState)(null);async function g(e){e.preventDefault();let a=parseFloat(l);if(!a||a<1)return void f("Minimum 1 minute");h(!0),f(null);try{let e=await (0,i.Vel)(t,{human_minutes:a,description:o.trim()||void 0,is_billable:p});r(e)}catch(e){f(e instanceof Error?e.message:"Failed to save")}finally{h(!1)}}return(0,a.jsxs)("form",{onSubmit:g,className:"border border-pir rounded p-3 bg-pir-surface-0 space-y-2.5 mt-2",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("label",{className:"text-[10px] text-pir-text-muted uppercase tracking-wide block mb-1",children:"Minutes"}),(0,a.jsx)("input",{type:"number",min:"1",max:"1440",step:"1",value:l,onChange:e=>c(e.target.value),placeholder:"e.g. 30",className:"w-full bg-pir-surface-1 border border-pir rounded px-2 py-1 text-xs text-pir-text-primary focus:outline-none focus:border-pir-accent/60",required:!0})]}),(0,a.jsxs)("div",{className:"flex-[2]",children:[(0,a.jsx)("label",{className:"text-[10px] text-pir-text-muted uppercase tracking-wide block mb-1",children:"Description (optional)"}),(0,a.jsx)("input",{type:"text",maxLength:200,value:o,onChange:e=>d(e.target.value),placeholder:"e.g. Code review",className:"w-full bg-pir-surface-1 border border-pir rounded px-2 py-1 text-xs text-pir-text-primary focus:outline-none focus:border-pir-accent/60"})]})]}),(0,a.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer select-none",children:[(0,a.jsx)("input",{type:"checkbox",checked:p,onChange:e=>u(e.target.checked),className:"accent-pir-accent"}),(0,a.jsx)("span",{className:"text-xs text-pir-text-secondary",children:"Billable"})]}),b&&(0,a.jsx)(x.$,{message:b}),(0,a.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,a.jsx)("button",{type:"button",onClick:n,className:"px-3 py-1 text-xs text-pir-text-muted hover:text-pir-text-secondary rounded border border-pir hover:border-pir-text-muted/40 transition-colors",children:"Cancel"}),(0,a.jsx)("button",{type:"submit",disabled:m,className:"px-3 py-1 text-xs bg-pir-accent/90 hover:bg-pir-accent text-white rounded transition-colors disabled:opacity-50",children:m?"Saving...":"Save"})]})]})}function j(e){let{taskId:t}=e,[r,n]=(0,s.useState)(null),[l,c]=(0,s.useState)(!0),[o,d]=(0,s.useState)(null),[x,p]=(0,s.useState)(!1),[u,m]=(0,s.useState)(!1);if((0,s.useEffect)(()=>{let e=new AbortController;return c(!0),d(null),(0,i.VGD)(t).then(t=>{e.signal.aborted||n(t)}).catch(e=>{"AbortError"!==e.name&&d(e.message)}).finally(()=>{e.signal.aborted||c(!1)}),()=>e.abort()},[t]),l)return(0,a.jsx)("div",{className:"text-xs text-pir-text-muted animate-pulse",children:"Loading costs..."});if(o)return(0,a.jsx)("div",{className:"text-xs text-pir-error",children:"Cost data unavailable"});let b=r&&r.entry_count>0;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsx)("h3",{className:"text-xs font-medium text-pir-text-primary",children:"Cost"}),(0,a.jsx)("button",{type:"button",onClick:()=>m(e=>!e),className:"text-[10px] text-pir-text-muted hover:text-pir-accent transition-colors",children:"+ Log time"})]}),b?(0,a.jsxs)("div",{className:"border border-pir rounded p-3 bg-pir-surface-0 space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4 text-xs",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-pir-text-muted",children:"Total cost "}),(0,a.jsx)("span",{className:"font-mono text-pir-text-primary",children:h(r.total_cost_usd)})]}),r.total_bill_usd!==r.total_cost_usd&&(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-pir-text-muted",children:"Billable "}),(0,a.jsx)("span",{className:"font-mono text-pir-text-primary",children:h(r.billable_usd)})]}),(0,a.jsxs)("div",{className:"ml-auto flex gap-3 text-pir-text-muted",children:[r.agent_cost_usd>0&&(0,a.jsxs)("span",{children:["agent ",h(r.agent_cost_usd)]}),r.human_cost_usd>0&&(0,a.jsxs)("span",{children:["human ",h(r.human_cost_usd)]})]})]}),r.entry_count>0&&(0,a.jsxs)("button",{type:"button",onClick:()=>p(e=>!e),className:"text-[10px] text-pir-text-muted hover:text-pir-text-secondary transition-colors",children:[x?"Hide":"Show"," ",r.entry_count," ",1===r.entry_count?"entry":"entries"]}),x&&r.entries.length>0&&(0,a.jsx)("div",{className:"mt-1",children:r.entries.map(e=>(0,a.jsx)(f,{entry:e},e.id))})]}):(0,a.jsx)("div",{className:"text-xs text-pir-text-muted italic",children:"No cost entries yet."}),u&&(0,a.jsx)(g,{taskId:t,onSaved:function(e){n(e),m(!1),p(!0)},onCancel:()=>m(!1)})]})}var v=r(1955);function y(e){let t,r,s,{summary:n,onClick:i}=e,{total:l,passed:c,failed:o,pending:d,merge_blocked:x}=n;return 0===l?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400",children:[(0,a.jsx)(C,{}),"No CI"]}):(c===l&&0===o&&0===d?(t="bg-emerald-50 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",r="CI Passed",s=(0,a.jsx)(N,{})):o>0?(t="bg-red-50 text-red-700 dark:bg-red-900/30 dark:text-red-400",r="CI Failing",s=(0,a.jsx)(k,{})):d>0?(t="bg-amber-50 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",r="Running",s=(0,a.jsx)(w,{})):(t="bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400",r="CI",s=null),(0,a.jsxs)("button",{type:"button",onClick:i,className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full transition-opacity hover:opacity-80 ".concat(t),children:[s,r,(0,a.jsxs)("span",{className:"opacity-60",children:[c,"/",l]}),x&&(0,a.jsx)("span",{className:"ml-0.5 text-red-600 dark:text-red-400 font-semibold",children:"blocked"})]}))}function N(){return(0,a.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",className:"shrink-0",children:(0,a.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function k(){return(0,a.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",className:"shrink-0",children:(0,a.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function C(){return(0,a.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",className:"shrink-0",children:[(0,a.jsx)("circle",{cx:"6",cy:"6",r:"4",stroke:"currentColor",strokeWidth:"1.2"}),(0,a.jsx)("path",{d:"M4 6H8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function w(){return(0,a.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 animate-spin",children:[(0,a.jsx)("circle",{cx:"6",cy:"6",r:"4",stroke:"currentColor",strokeWidth:"1.2",opacity:"0.3"}),(0,a.jsx)("path",{d:"M6 2a4 4 0 012.83 1.17",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function _(e){let{taskId:t,hasPr:r}=e,[n,l]=(0,s.useState)(!1),c=(0,s.useCallback)(e=>(0,i.ulo)(t,{signal:e}),[t]),o=(0,s.useCallback)(e=>(0,i.CXw)(t,{signal:e}),[t]),{data:d,loading:x,error:p,refresh:u}=(0,v.j)(c,{interval:15e3,enabled:r,backoff:!0,unchangedThreshold:3}),m=!!d&&d.pending>0,{data:h,loading:b}=(0,v.j)(o,{interval:15e3,enabled:r&&n&&m,backoff:!0});return r?x&&!d?(0,a.jsx)("div",{className:"animate-pulse h-6 bg-pir-surface-0 rounded w-24"}):p?(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-pir-text-muted",children:[(0,a.jsx)("span",{children:"Unable to load CI status"}),(0,a.jsx)("button",{onClick:u,className:"text-pir-accent hover:underline",children:"Retry"})]}):d?(0,a.jsxs)("div",{className:"space-y-2",children:[d.merge_blocked&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded px-2.5 py-1.5",children:[(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0",children:[(0,a.jsx)("path",{d:"M6 1L11 10H1L6 1Z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),(0,a.jsx)("path",{d:"M6 4.5V6.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"}),(0,a.jsx)("circle",{cx:"6",cy:"8",r:"0.5",fill:"currentColor"})]}),"Merge blocked — ",d.required_failing.length," required check",1!==d.required_failing.length?"s":""," failing"]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(y,{summary:d,onClick:()=>l(!n)}),d.total>0&&(0,a.jsx)("button",{onClick:()=>l(!n),className:"text-[10px] text-pir-text-muted hover:text-pir-text-secondary",children:n?"Hide checks":"".concat(d.total," check").concat(1!==d.total?"s":"")})]}),n&&(0,a.jsx)("div",{className:"border border-pir rounded overflow-hidden",children:b&&!h?(0,a.jsx)("div",{className:"p-2 space-y-1.5",children:[1,2,3].map(e=>(0,a.jsx)("div",{className:"animate-pulse h-5 bg-pir-surface-0 rounded"},e))}):h&&h.length>0?(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto",children:h.map(e=>(0,a.jsx)(S,{check:e},e.id))}):(0,a.jsx)("div",{className:"p-2 text-xs text-pir-text-muted",children:"No checks found"})})]}):null:null}function S(e){var t;let{check:r}=e,s="in_progress"===(t=r).status||"queued"===t.status?(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 text-amber-500 animate-spin",children:[(0,a.jsx)("circle",{cx:"6",cy:"6",r:"4",stroke:"currentColor",strokeWidth:"1.2",opacity:"0.3"}),(0,a.jsx)("path",{d:"M6 2a4 4 0 012.83 1.17",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]}):"success"===t.conclusion?(0,a.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 text-emerald-500",children:(0,a.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}):"failure"===t.conclusion?(0,a.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 text-red-500",children:(0,a.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})}):"skipped"===t.conclusion||"neutral"===t.conclusion?(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 text-gray-400",children:[(0,a.jsx)("circle",{cx:"6",cy:"6",r:"4",stroke:"currentColor",strokeWidth:"1.2"}),(0,a.jsx)("path",{d:"M4 6H8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]}):(0,a.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 text-gray-400",children:(0,a.jsx)("circle",{cx:"6",cy:"6",r:"4",stroke:"currentColor",strokeWidth:"1.2"})}),n=r.started_at&&r.completed_at?function(e){let t=Math.floor(e/1e3);if(t<60)return"".concat(t,"s");let r=Math.floor(t/60);if(r<60)return"".concat(r,"m ").concat(t%60,"s");let a=Math.floor(r/60);return"".concat(a,"h ").concat(r%60,"m")}(new Date(r.completed_at).getTime()-new Date(r.started_at).getTime()):null,i=r.check_name;return(0,a.jsxs)("div",{className:"flex items-center gap-2 px-2.5 py-1.5 text-xs border-b border-pir last:border-b-0 hover:bg-pir-surface-1/50",children:[s,(0,a.jsx)("span",{className:"flex-1 min-w-0 truncate text-pir-text-secondary",children:i}),n&&(0,a.jsx)("span",{className:"text-[10px] text-pir-text-muted shrink-0",children:n}),r.details_url&&(0,a.jsx)("a",{href:r.details_url,target:"_blank",rel:"noopener noreferrer",className:"text-pir-accent hover:underline shrink-0",onClick:e=>e.stopPropagation(),children:"Details"})]})}var D=r(6830);let M=[{value:"agent",label:"Agent",color:"bg-emerald-500/20 text-emerald-700 dark:text-emerald-400 border-emerald-500/30"},{value:"hybrid",label:"Hybrid",color:"bg-blue-500/20 text-blue-700 dark:text-blue-400 border-blue-500/30"},{value:"human",label:"Human",color:"bg-amber-500/20 text-amber-700 dark:text-amber-400 border-amber-500/30"}];function E(e){let{label:t,value:r,onChange:s}=e;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,a.jsx)("span",{className:"text-caption text-pir-text-tertiary",children:t}),(0,a.jsx)("span",{className:"text-caption text-pir-text-muted tabular-nums w-4 text-right",children:null!=r?r:"-"})]}),(0,a.jsx)("div",{className:"flex gap-px",children:Array.from({length:10},(e,t)=>t+1).map(e=>{let t=null!=r&&e<=r,n=e===r;return(0,a.jsx)("button",{onClick:()=>s(e===r?null:e),className:"flex-1 h-5 text-[9px] rounded-sm transition-colors tabular-nums ".concat(n?"bg-pir-accent text-white":t?"bg-pir-accent/30 text-pir-accent":"bg-pir-surface-1 text-pir-text-muted hover:bg-pir-surface-2"),children:e},e)})})]})}let L=(0,s.memo)(function(e){let{impact:t,confidence:r,ease:s,delegation:n,iceScore:i,onChange:l}=e;return(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-label text-pir-text-secondary",children:"ICE-D Score"}),null!=i?(0,a.jsx)("span",{className:"text-heading text-pir-accent tabular-nums",children:i}):(0,a.jsx)("span",{className:"text-label text-pir-text-muted",children:"Unscored"})]}),(0,a.jsx)(E,{label:"Impact",value:t,onChange:e=>l({impact:e})}),(0,a.jsx)(E,{label:"Confidence",value:r,onChange:e=>l({confidence:e})}),(0,a.jsx)(E,{label:"Ease",value:s,onChange:e=>l({ease:e})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-caption text-pir-text-tertiary block mb-1",children:"Delegation"}),(0,a.jsx)("div",{className:"flex gap-1",children:M.map(e=>{let t=n===e.value;return(0,a.jsx)("button",{onClick:()=>l({delegation:t?null:e.value}),className:"flex-1 text-[10px] py-1 rounded border transition-colors ".concat(t?e.color:"bg-pir-surface-1 text-pir-text-muted border-transparent hover:bg-pir-surface-2"),children:e.label},e.value)})})]})]})});var A=r(5440),R=r(5704);let T=/^(C'è bisogno(?:\s+di)?|Devo)\s+(.+?)\s+perch[eé]\s+(.+?)(?:\.\s*Attenzione a:?\s+(.+?))?\.?\s*$/i,W=/^-(\/.+)$/;function B(e){let{path:t}=e,[r,n]=(0,s.useState)(!1);return(0,a.jsxs)("button",{type:"button",onClick:function(){navigator.clipboard.writeText(t).then(()=>{n(!0),setTimeout(()=>n(!1),1500)})},title:"Click to copy",className:"inline-flex items-center gap-1.5 bg-pir-surface-0 border border-pir rounded px-2 py-0.5 font-mono text-[11px] text-pir-text-muted hover:text-pir-text-secondary hover:border-pir-accent/40 transition-colors",children:[(0,a.jsxs)("svg",{className:"w-3 h-3 shrink-0",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,a.jsx)("path",{d:"M2 2h4l2 2v6H2V2z"}),(0,a.jsx)("path",{d:"M5 4h5l-1-1"})]}),r?"copied!":t]})}function I(e){let{description:t}=e,r=function(e){var t;let r=e.split("\n"),a=[],s=[];for(let e of r){let t=e.trim().match(W);t?s.push(t[1]):e.trim()&&a.push(e.trim())}let n=a.join(" ").trim().match(T);return n?{prefix:n[1],action:n[2],problem:n[3],attention:null!=(t=n[4])?t:null,dirRefs:s}:null}(t);if(r){let{prefix:e,action:t,problem:s,attention:n,dirRefs:i}=r;return(0,a.jsxs)("div",{className:"space-y-2.5",children:[(0,a.jsxs)("p",{className:"text-xs text-pir-text-secondary leading-relaxed",children:[(0,a.jsxs)("span",{children:[e," "]}),(0,a.jsx)("span",{className:"text-pir-success font-semibold",children:t}),(0,a.jsx)("span",{children:" perch\xe9 "}),(0,a.jsx)("span",{className:"text-pir-error font-semibold",children:s}),n&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-pir-text-muted",children:". Attenzione a "}),(0,a.jsx)("span",{className:"text-pir-warning font-semibold",children:n})]}),(0,a.jsx)("span",{children:"."})]}),i.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:i.map(e=>(0,a.jsx)(B,{path:e},e))})]})}return(0,a.jsx)("p",{className:"text-xs text-pir-text-secondary whitespace-pre-wrap leading-relaxed",children:t})}let P={high:"text-pir-error",medium:"text-pir-warning",low:"text-pir-text-muted"},H={pending:"bg-pir-text-muted/20 text-pir-text-muted",approved:"bg-pir-accent/20 text-pir-accent",in_progress:"bg-pir-warning/20 text-pir-warning",completed:"bg-pir-success/20 text-pir-success",failed:"bg-pir-error/20 text-pir-error"},U={pending:["approved","rejected"],approved:["in_progress","rejected"],in_progress:["completed","failed"],failed:["approved"],completed:[],rejected:[]},q=["high","medium","low"];function F(e){var t,r,l,c;let{task:o,slug:d,onClose:x,onStatusChange:p,onTaskUpdated:u,onTaskDeleted:h}=e,{permissions:b}=(0,A.A)(),[f,g]=(0,s.useState)(null),[v,y]=(0,s.useState)(o),[N,k]=(0,s.useState)(null),[C,w]=(0,s.useState)(!1),[S,M]=(0,s.useState)(o.title),[E,T]=(0,s.useState)(null!=(t=o.description)?t:""),[W,B]=(0,s.useState)(o.priority),[F,z]=(0,s.useState)(o.tags.join(", ")),[O,$]=(0,s.useState)(null!=(r=o.owner_id)?r:null),[G,J]=(0,s.useState)([]),[V,K]=(0,s.useState)(!1),[X,Z]=(0,s.useState)(!1),[Y,Q]=(0,s.useState)(!1),[ee,et]=(0,s.useState)(!1),[er,ea]=(0,s.useState)(o.impact),[es,en]=(0,s.useState)(o.confidence),[ei,el]=(0,s.useState)(o.ease),[ec,eo]=(0,s.useState)(o.delegation),ed=(0,s.useRef)(!1);(0,s.useEffect)(()=>{let e=new AbortController;return(0,i.ggW)(o.id,{signal:e.signal}).then(e=>{var t;y(e),T(null!=(t=e.description)?t:"")}).catch(()=>{}),()=>e.abort()},[o.id]);let ex=null!=er&&null!=es&&null!=ei?er*es*ei:null,ep=(0,s.useCallback)(e=>{var t,r,a,s;"impact"in e&&ea(null!=(t=e.impact)?t:null),"confidence"in e&&en(null!=(r=e.confidence)?r:null),"ease"in e&&el(null!=(a=e.ease)?a:null),"delegation"in e&&eo(null!=(s=e.delegation)?s:null),ed.current=!0},[]),eu=(0,s.useCallback)(async()=>{if(ed.current)try{let e=await (0,i.lCH)(v.id,{impact:er,confidence:es,ease:ei,delegation:ec});null==u||u(e)}catch(e){}x()},[v.id,er,es,ei,ec,x,u]);async function em(){K(!0);try{let e=F.split(",").map(e=>e.trim()).filter(Boolean),t=await fetch("".concat(D.JR,"/api/v1/tasks/").concat(v.id),{method:"PATCH",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:S,description:E,priority:W,tags:e,owner_id:O})});if(t.ok){let e=await t.json();y(e),w(!1),null==u||u(e)}}finally{K(!1)}}async function eh(e){et(!0);try{(await fetch("".concat(D.JR,"/api/v1/tasks/").concat(v.id),{method:"PATCH",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:e})})).ok&&(y(t=>({...t,status:e})),null==p||p(v.id,e))}finally{et(!1)}}async function eb(){Q(!0);try{(await fetch("".concat(D.JR,"/api/v1/tasks/").concat(v.id),{method:"DELETE",credentials:"include"})).ok&&(null==h||h(v.id),x())}finally{Q(!1)}}(0,s.useEffect)(()=>{(0,i.jpm)().then(e=>g(e.username)).catch(()=>{})},[]),(0,s.useEffect)(()=>{v.project&&(0,i.DR0)(v.project).then(e=>{var t;k(null!=(t=e.find(e=>"responsible"===e.role))?t:null)}).catch(()=>{})},[v.project]);let ef=null!=(l=H[v.status])?l:"bg-pir-surface-0 text-pir-text-muted";return(0,a.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50 p-4",onClick:e=>e.target===e.currentTarget&&eu(),children:(0,a.jsxs)("div",{className:"bg-pir-surface-1 border border-pir rounded w-full max-w-lg max-h-[85vh] flex flex-col",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between px-5 py-4 border-b border-pir shrink-0",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[C?(0,a.jsx)("input",{className:"w-full bg-pir-surface-0 border border-pir rounded px-2 py-1 text-sm font-semibold text-pir-text-primary focus:outline-none",value:S,onChange:e=>M(e.target.value),"aria-label":"Task title"}):(0,a.jsx)("h2",{className:"text-sm font-semibold text-pir-text-primary",children:v.title}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-1.5 flex-wrap",children:[N&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full bg-blue-400/15 text-blue-400 border border-blue-400/30",children:[(0,a.jsx)("span",{className:"w-3.5 h-3.5 rounded-full flex-shrink-0 flex items-center justify-center text-[7px] font-bold text-white",style:{backgroundColor:N.user.avatar_color},children:N.user.display_name.charAt(0).toUpperCase()}),N.user.display_name]}),(()=>{let e=U[v.status]||[],t=[v.status,...e];return(0,a.jsx)("select",{className:"text-[10px] px-2 py-0.5 rounded-full border-0 cursor-pointer ".concat(ef," bg-transparent"),value:v.status,disabled:ee||0===e.length||!b.canWrite,onChange:e=>eh(e.target.value),"aria-label":"Task status",children:t.map(e=>(0,a.jsx)("option",{value:e,children:e},e))})})(),"pending"===v.status&&!C&&b.canWrite&&(0,a.jsx)("button",{onClick:()=>eh("approved"),disabled:ee,className:"text-[10px] px-2 py-0.5 rounded-full bg-pir-accent/20 text-pir-accent hover:bg-pir-accent/30 disabled:opacity-50 transition-colors","aria-label":"Approve task",children:ee?"...":"Approve"}),C?(0,a.jsx)("select",{className:"text-[10px] font-medium bg-pir-surface-0 border border-pir rounded px-1 py-0.5 text-pir-text-primary focus:outline-none",value:W,onChange:e=>B(e.target.value),"aria-label":"Task priority",children:q.map(e=>(0,a.jsx)("option",{value:e,children:e},e))}):(0,a.jsx)("span",{className:"text-[10px] font-medium ".concat(null!=(c=P[v.priority])?c:"text-pir-text-muted"),children:v.priority})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-3 shrink-0",children:[!C&&b.canWrite&&(0,a.jsx)("button",{onClick:function(){var e,t;M(v.title),T(null!=(e=v.description)?e:""),B(v.priority),z(v.tags.join(", ")),$(null!=(t=v.owner_id)?t:null),w(!0),(0,i.ZZm)().then(J).catch(()=>{})},className:"text-xs text-pir-text-muted hover:text-pir-text-secondary px-2 py-1 border border-pir rounded","aria-label":"Edit task",children:"Edit"}),C&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:em,disabled:V,className:"text-xs text-pir-text-primary px-2 py-1 border border-pir rounded hover:bg-pir-surface-2 disabled:opacity-50","aria-label":"Save task",children:V?"Saving...":"Save"}),(0,a.jsx)("button",{onClick:function(){w(!1)},className:"text-xs text-pir-text-muted px-2 py-1 border border-pir rounded hover:bg-pir-surface-2","aria-label":"Cancel edit",children:"Cancel"})]}),"true"===R.env.NEXT_PUBLIC_ENABLE_GRAPH_UX&&(0,a.jsx)("a",{href:"/graph/?id=task:artifact:".concat(v.id,"&view=list&tab=context"),title:"View in Knowledge Graph",className:"text-caption text-pir-text-muted hover:text-pir-kg-node-task transition-colors px-1.5 py-0.5 border border-pir rounded",children:"KG"}),(0,a.jsx)("button",{onClick:eu,className:"text-pir-text-muted hover:text-pir-text-secondary text-lg leading-none","aria-label":"Close",children:"\xd7"})]})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-4",children:[C?(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-label text-pir-text-tertiary block mb-1",children:"Description"}),(0,a.jsx)("textarea",{className:"w-full bg-pir-surface-0 border border-pir rounded px-2 py-1 text-sm text-pir-text-primary focus:outline-none resize-none",rows:5,value:E,onChange:e=>T(e.target.value),"aria-label":"Task description"})]}):v.description&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-label text-pir-text-tertiary block mb-1.5",children:"Description"}),(0,a.jsx)(I,{description:v.description})]}),(0,a.jsxs)("div",{className:"flex items-center gap-4 text-xs text-pir-text-muted",children:[v.owner&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"text-pir-text-tertiary mr-1",children:"Owner:"}),(0,a.jsx)("div",{className:"w-4 h-4 rounded-full flex-shrink-0",style:{backgroundColor:v.owner.avatar_color}}),(0,a.jsx)("span",{className:"text-pir-text-secondary",children:v.owner.display_name})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-pir-text-tertiary mr-1",children:"Created by:"}),(0,a.jsx)("span",{className:"text-pir-text-secondary",children:v.created_by})]})]}),C?(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-label text-pir-text-tertiary block mb-1",children:"Owner"}),(0,a.jsxs)("select",{className:"w-full bg-pir-surface-0 border border-pir rounded px-2 py-1 text-sm text-pir-text-primary focus:outline-none",value:null!=O?O:"",onChange:e=>$(e.target.value||null),"aria-label":"Task owner",children:[(0,a.jsx)("option",{value:"",children:"— nessuno —"}),G.map(e=>(0,a.jsxs)("option",{value:e.id,children:[e.display_name," (",e.type,")"]},e.id))]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-label text-pir-text-tertiary block mb-1",children:"Tags (comma-separated)"}),(0,a.jsx)("input",{className:"w-full bg-pir-surface-0 border border-pir rounded px-2 py-1 text-sm text-pir-text-primary focus:outline-none",value:F,onChange:e=>z(e.target.value),"aria-label":"Task tags",placeholder:"tag1, tag2, tag3"})]})]}):v.tags.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:v.tags.map(e=>(0,a.jsx)("span",{className:"text-[10px] bg-pir-surface-0 border border-pir px-2 py-0.5 rounded text-pir-text-muted",children:e},e))}),(0,a.jsx)("div",{className:"border border-pir rounded p-3 bg-pir-surface-0",children:(0,a.jsx)(L,{impact:er,confidence:es,ease:ei,delegation:ec,iceScore:ex,onChange:ep})}),(0,a.jsx)(m,{taskId:v.id,onTaskCompleted:()=>{y(e=>({...e,status:"completed"})),null==p||p(v.id,"completed")}}),(0,a.jsx)(_,{taskId:v.id,hasPr:!!v.pr_status}),(0,a.jsx)(j,{taskId:v.id}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-xs font-medium text-pir-text-primary mb-2",children:"Comments"}),f?(0,a.jsx)(n.A,{targetType:"task",targetId:v.id,currentUser:f}):(0,a.jsx)("div",{className:"text-xs text-pir-text-muted",children:"Loading..."})]})]}),b.canWrite&&(0,a.jsx)("div",{className:"border-t border-pir px-5 py-3 shrink-0",children:X?(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("span",{className:"text-caption text-pir-text-secondary flex-1",children:"Delete this task?"}),(0,a.jsx)("button",{onClick:eb,disabled:Y,className:"text-xs px-3 py-1 rounded border border-pir-error text-pir-error hover:bg-pir-error/10 disabled:opacity-50","aria-label":"Confirm delete",children:Y?"Deleting...":"Confirm"}),(0,a.jsx)("button",{onClick:()=>Z(!1),className:"text-xs px-3 py-1 rounded border border-pir text-pir-text-muted hover:bg-pir-surface-2","aria-label":"Cancel delete",children:"Cancel"})]}):(0,a.jsx)("button",{onClick:()=>Z(!0),className:"text-xs text-pir-text-muted hover:text-pir-error","aria-label":"Delete task",children:"Delete task"})})]})})}},5440:(e,t,r)=>{r.d(t,{O:()=>o,A:()=>d});var a=r(5155),s=r(2115),n=r(960);let i={viewer:0,operator:1,admin:2,super_admin:3};function l(e){let t=null!==e?i[e]:-1;return{canWrite:t>=i.operator,canAdmin:t>=i.admin}}let c=(0,s.createContext)({status:"loading",username:null,role:null,userId:null,displayName:null,permissions:l(null),login:async()=>{},logout:async()=>{}});function o(e){let{children:t}=e,[r,i]=(0,s.useState)("loading"),[o,d]=(0,s.useState)(null),[x,p]=(0,s.useState)(null),[u,m]=(0,s.useState)(null),[h,b]=(0,s.useState)(null),[f,g]=(0,s.useState)(l(null));(0,s.useEffect)(()=>{(0,n.jpm)().then(e=>{var t,r,a;d(e.username);let s=null!=(t=e.system_role)?t:null;p(s),m(null!=(r=e.user_id)?r:null),b(null!=(a=e.display_name)?a:null),g(l(s)),i("authenticated")}).catch(()=>{i("unauthenticated")})},[]);let j=(0,s.useCallback)(async(e,t)=>{var r,a,s;await (0,n.iDC)(e,t);let c=await (0,n.jpm)();d(c.username);let o=null!=(r=c.system_role)?r:null;p(o),m(null!=(a=c.user_id)?a:null),b(null!=(s=c.display_name)?s:null),g(l(o)),i("authenticated")},[]),v=(0,s.useCallback)(async()=>{await (0,n.rig)(),d(null),p(null),m(null),b(null),g(l(null)),i("unauthenticated")},[]);return(0,a.jsx)(c.Provider,{value:{status:r,username:o,role:x,userId:u,displayName:h,permissions:f,login:j,logout:v},children:t})}function d(){return(0,s.useContext)(c)}},8737:(e,t,r)=>{r.d(t,{B:()=>i});var a=r(5155),s=r(5440);let n={viewer:0,operator:1,admin:2,super_admin:3};function i(e){var t;let{minRole:r,children:i,fallback:l=null}=e,{role:c,status:o}=(0,s.A)();return"loading"===o||(null!==c&&null!=(t=n[c])?t:-1)<n[r]?(0,a.jsx)(a.Fragment,{children:l}):(0,a.jsx)(a.Fragment,{children:i})}},8885:(e,t,r)=>{r.d(t,{A:()=>x});var a=r(5155),s=r(2115),n=r(1450),i=r(960);let l={info:"text-pir-text-muted",question:"text-pir-warning",blocker:"text-pir-error",resolved:"text-pir-success"},c={"+1":"\uD83D\uDC4D","-1":"\uD83D\uDC4E",eyes:"\uD83D\uDC40",check:"✅"};function o(e){let{reactions:t,currentUser:r,onToggle:s}=e,n={};for(let e of t)n[e.reaction]||(n[e.reaction]={count:0,byMe:!1}),n[e.reaction].count++,e.created_by===r&&(n[e.reaction].byMe=!0);return(0,a.jsx)("div",{className:"flex items-center gap-1 mt-1",children:Object.keys(c).map(e=>{let t=n[e];return(0,a.jsxs)("button",{onClick:()=>s(e),className:"text-caption px-1.5 py-0.5 rounded border transition-colors ".concat((null==t?void 0:t.byMe)?"border-pir-accent bg-pir-accent/10 text-pir-accent":"border-pir text-pir-text-muted hover:border-pir-accent/50"),children:[c[e],t&&t.count>0?" ".concat(t.count):""]},e)})})}function d(e){var t;let{comment:r,currentUser:i,onReply:c,onUpdate:x,onDelete:p,onReaction:u,depth:m}=e,[h,b]=(0,s.useState)(!1),[f,g]=(0,s.useState)(r.body),[j,v]=(0,s.useState)(r.status),y=r.created_by===i,N="[deleted]"===r.body;return(0,a.jsxs)("div",{className:"".concat(m>0?"ml-6 border-l border-pir pl-3":""),children:[(0,a.jsxs)("div",{className:"bg-pir-surface-1 border border-pir rounded p-3 mb-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,a.jsx)("span",{className:"text-caption font-medium text-pir-text-secondary",children:r.created_by}),(0,a.jsx)("span",{className:"text-caption ".concat(l[r.status]),children:r.status}),(0,a.jsx)("span",{className:"text-caption text-pir-text-muted ml-auto",children:new Date(r.created_at).toLocaleDateString()}),r.edited_at&&(0,a.jsx)("span",{className:"text-caption text-pir-text-muted",children:"(edited)"})]}),h?(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("textarea",{value:f,onChange:e=>g(e.target.value),className:"w-full bg-pir-surface-0 border border-pir rounded px-2 py-1 text-caption text-pir-text-primary min-h-[60px] resize-y"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("select",{value:j,onChange:e=>v(e.target.value),className:"text-caption bg-pir-surface-0 border border-pir rounded px-1 py-0.5 text-pir-text-primary",children:[(0,a.jsx)("option",{value:"info",children:"info"}),(0,a.jsx)("option",{value:"question",children:"question"}),(0,a.jsx)("option",{value:"blocker",children:"blocker"}),(0,a.jsx)("option",{value:"resolved",children:"resolved"})]}),(0,a.jsx)("button",{onClick:function(){x(r.id,f,j),b(!1)},className:"text-caption px-2 py-0.5 bg-pir-accent text-white rounded",children:"Save"}),(0,a.jsx)("button",{onClick:()=>b(!1),className:"text-caption px-2 py-0.5 text-pir-text-muted",children:"Cancel"})]})]}):(0,a.jsx)("div",{className:"text-caption text-pir-text-secondary",children:N?(0,a.jsx)("span",{className:"italic text-pir-text-muted",children:"[deleted]"}):(0,a.jsx)(n.A,{content:r.body})}),!N&&!h&&(0,a.jsxs)("div",{className:"flex items-center gap-3 mt-2",children:[(0,a.jsx)(o,{reactions:r.reactions,currentUser:i,onToggle:function(e){let t=r.reactions.find(t=>t.reaction===e&&t.created_by===i);u(r.id,e,!t)}}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-auto",children:[0===m&&(0,a.jsx)("button",{onClick:()=>c(r.id),className:"text-caption text-pir-text-muted hover:text-pir-accent",children:"Reply"}),y&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:()=>{g(r.body),v(r.status),b(!0)},className:"text-caption text-pir-text-muted hover:text-pir-accent",children:"Edit"}),(0,a.jsx)("button",{onClick:()=>p(r.id),className:"text-caption text-pir-text-muted hover:text-pir-error",children:"Delete"})]})]})]})]}),null==(t=r.replies)?void 0:t.map(e=>(0,a.jsx)(d,{comment:e,currentUser:i,onReply:c,onUpdate:x,onDelete:p,onReaction:u,depth:m+1},e.id))]})}function x(e){let{targetType:t,targetId:r,currentUser:n}=e,[l,c]=(0,s.useState)([]),[o,x]=(0,s.useState)(!0),[p,u]=(0,s.useState)(""),[m,h]=(0,s.useState)("info"),[b,f]=(0,s.useState)(null),[g,j]=(0,s.useState)(!1),v=(0,s.useCallback)(()=>{let e=new AbortController;return(0,i.vrD)(t,r,{signal:e.signal}).then(c).catch(()=>{}).finally(()=>{e.signal.aborted||x(!1)}),e},[t,r]);async function y(e){if(e.preventDefault(),p.trim()&&!g){j(!0);try{let e={target_type:t,target_id:r,body:p.trim(),status:m,parent_id:b};await (0,i.eT_)(e),u(""),f(null),h("info"),v()}catch(e){}finally{j(!1)}}}async function N(e,t,r){try{await (0,i.vvS)(e,{body:t,status:r}),v()}catch(e){}}async function k(e){try{await (0,i.Tu0)(e),v()}catch(e){}}async function C(e,t,r){try{r?await (0,i.BBT)(e,t):await (0,i.etj)(e,t),v()}catch(e){}}return((0,s.useEffect)(()=>{let e=v();return()=>e.abort()},[v]),o)?(0,a.jsx)("div",{className:"text-pir-text-muted text-caption p-2",children:"Loading comments..."}):(0,a.jsxs)("div",{className:"space-y-3",children:[0===l.length&&(0,a.jsx)("div",{className:"text-pir-text-muted text-caption",children:"No comments yet."}),l.map(e=>(0,a.jsx)(d,{comment:e,currentUser:n,onReply:e=>f(e),onUpdate:N,onDelete:k,onReaction:C,depth:0},e.id)),(0,a.jsxs)("form",{onSubmit:y,className:"bg-pir-surface-0 border border-pir rounded p-3",children:[b&&(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,a.jsxs)("span",{className:"text-caption text-pir-text-muted",children:["Replying to #",b]}),(0,a.jsx)("button",{type:"button",onClick:()=>f(null),className:"text-caption text-pir-error",children:"Cancel"})]}),(0,a.jsx)("textarea",{value:p,onChange:e=>u(e.target.value),placeholder:"Write a comment... (markdown supported)",className:"w-full bg-pir-surface-1 border border-pir rounded px-3 py-2 text-caption text-pir-text-primary placeholder:text-pir-text-muted min-h-[60px] resize-y"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,a.jsxs)("select",{value:m,onChange:e=>h(e.target.value),className:"text-caption bg-pir-surface-1 border border-pir rounded px-2 py-1 text-pir-text-primary",children:[(0,a.jsx)("option",{value:"info",children:"info"}),(0,a.jsx)("option",{value:"question",children:"question"}),(0,a.jsx)("option",{value:"blocker",children:"blocker"}),(0,a.jsx)("option",{value:"resolved",children:"resolved"})]}),(0,a.jsx)("button",{type:"submit",disabled:g||!p.trim(),className:"ml-auto px-3 py-1 text-caption bg-pir-accent text-white rounded hover:bg-pir-accent/80 disabled:opacity-50",children:g?"Posting...":b?"Reply":"Comment"})]})]})]})}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2582],{1955:(e,t,r)=>{r.d(t,{j:()=>s});var a=r(2115);function s(e,t){let{interval:r,enabled:s=!0,backoff:n=!1,unchangedThreshold:i=3,maxInterval:l=4*r}=t,[c,o]=(0,a.useState)(null),[d,x]=(0,a.useState)(!0),[p,u]=(0,a.useState)(null),m=(0,a.useRef)(null),h=(0,a.useRef)(null),b=(0,a.useRef)(""),f=(0,a.useRef)(0),g=(0,a.useRef)(r),j=(0,a.useCallback)(async()=>{var t;null==(t=m.current)||t.abort();let a=new AbortController;m.current=a;try{let t=await e(a.signal),s=JSON.stringify(t);n&&s===b.current?f.current++:(f.current=0,g.current=r),b.current=s,o(t),u(null)}catch(e){if(e instanceof DOMException&&"AbortError"===e.name)return;u(e instanceof Error?e:Error("Fetch failed"))}finally{x(!1)}},[e,n,r]),v=(0,a.useCallback)(()=>{j(),h.current&&clearInterval(h.current);let e=g.current;n&&f.current>=i&&(g.current=e=Math.min(2*e,l)),h.current=setInterval(j,e)},[j,n,i,l]),y=(0,a.useCallback)(()=>{h.current&&(clearInterval(h.current),h.current=null)},[]);return(0,a.useEffect)(()=>{if(!s)return void y();let e=()=>{"visible"===document.visibilityState?v():y()};return v(),document.addEventListener("visibilitychange",e),()=>{var t;null==(t=m.current)||t.abort(),y(),document.removeEventListener("visibilitychange",e)}},[s,v,y]),{data:c,loading:d,error:p,refresh:(0,a.useCallback)(()=>{f.current=0,g.current=r,j()},[j,r])}}},2582:(e,t,r)=>{r.d(t,{A:()=>F});var a=r(5155),s=r(2115),n=r(8885),i=r(960),l=r(8737),c=r(1803),o=r(2931);function d(e){let{unifiedDiff:t}=e,r=(0,s.useMemo)(()=>{if(!t)return"";let e=(0,c.qy)(t,{drawFileList:!0,matching:"lines",outputFormat:"line-by-line"});return o.A.sanitize(e)},[t]);return r?(0,a.jsx)("div",{className:"diff-viewer text-xs overflow-x-auto [&_.d2h-wrapper]:bg-transparent [&_.d2h-file-header]:bg-pir-surface-0 [&_.d2h-file-header]:border-pir [&_.d2h-code-linenumber]:bg-pir-surface-0 [&_.d2h-code-line]:bg-transparent [&_.d2h-info]:bg-pir-surface-0 [&_.d2h-file-list-wrapper]:bg-pir-surface-0 [&_.d2h-file-list-wrapper]:border-pir [&_td]:text-pir-text-secondary [&_.d2h-del]:bg-pir-error/10 [&_.d2h-ins]:bg-pir-success/10 [&_.d2h-del_.d2h-code-line-ctn]:text-pir-error [&_.d2h-ins_.d2h-code-line-ctn]:text-pir-success",dangerouslySetInnerHTML:{__html:r}}):(0,a.jsx)("div",{className:"text-caption text-pir-text-muted py-2",children:"No diff available"})}r(8356);var x=r(1601),p=r(5704);let u={draft:{label:"Branch",cls:"bg-pir-text-muted/20 text-pir-text-muted"},open:{label:"In Review",cls:"bg-pir-warning/20 text-pir-warning"},merging:{label:"Merging...",cls:"bg-pir-accent/20 text-pir-accent"},merged:{label:"Merged",cls:"bg-pir-success/20 text-pir-success"},closed:{label:"Closed",cls:"bg-pir-error/20 text-pir-error"}};function m(e){var t;let{taskId:r,onTaskCompleted:n,currentUser:c}=e,[o,m]=(0,s.useState)(null),[h,b]=(0,s.useState)(!0),[f,g]=(0,s.useState)(null),[j,v]=(0,s.useState)(0),[y,N]=(0,s.useState)(!1),[k,C]=(0,s.useState)(null),[w,_]=(0,s.useState)(null),[S,M]=(0,s.useState)(!1),[D,E]=(0,s.useState)(""),[L,A]=(0,s.useState)(!1),[R,T]=(0,s.useState)(!1),[W,B]=(0,s.useState)(!1),[I,P]=(0,s.useState)(""),[H,U]=(0,s.useState)(!1),[q,F]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=new AbortController;return b(!0),g(null),(0,i.T9n)(r,{signal:e.signal}).then(e=>m(e)).catch(e=>{if("AbortError"!==e.name){var t,r;(null==(t=e.message)?void 0:t.includes("404"))?m(null):g(null!=(r=e.message)?r:"Unknown error")}}).finally(()=>{e.signal.aborted||b(!1)}),()=>e.abort()},[r,j]);let z=(0,s.useCallback)(async()=>{if(o){N(!0),C(null),_(null);try{await (0,i.dK_)(r),m(e=>e?{...e,status:"merged"}:e),null==n||n()}catch(t){let e=t instanceof Error?t.message:"Merge failed";try{let t=JSON.parse(e);if(t.conflicting_files){_(t.conflicting_files),C("Merge conflict");return}}catch(e){}C(e)}finally{N(!1)}}},[o,r,n]),O=(0,s.useCallback)(async()=>{A(!0);try{await (0,i.d66)(r,D),m(e=>e?{...e,status:"closed",closed_reason:D||null}:e),M(!1),E("")}catch(e){C(e instanceof Error?e.message:"Close failed")}finally{A(!1)}},[r,D]),$=(0,s.useCallback)(async()=>{if(o){T(!0),C(null);try{let e=await (0,i.WYS)(r);m(e)}catch(e){C(e instanceof Error?e.message:"Approve failed")}finally{T(!1)}}},[o,r]),G=(0,s.useCallback)(async()=>{U(!0);try{await (0,i.fdU)(r,I),m(e=>e?{...e,approved_by:null,approved_at:null}:e),B(!1),P("")}catch(e){C(e instanceof Error?e.message:"Request changes failed")}finally{U(!1)}},[r,I]);if(h)return(0,a.jsx)("div",{className:"text-caption text-pir-text-muted py-2",children:"Loading PR..."});if(!o&&!f)return null;if(f)return"Failed to fetch"===f?(0,a.jsxs)("div",{className:"text-caption text-pir-text-muted py-2 flex items-center gap-2",children:[(0,a.jsx)("span",{children:"PR data unavailable"}),(0,a.jsx)("button",{onClick:()=>v(e=>e+1),className:"text-pir-accent hover:text-pir-accent/80 transition-colors underline-offset-2 hover:underline",children:"Retry"})]}):(0,a.jsx)(x.$,{message:"PR error: ".concat(f),className:"py-2"});if(!o)return null;let J=u[o.status],K="open"===o.status,V="draft"===o.status||"open"===o.status,X="merged"===o.status||"closed"===o.status,Z=((null==c?void 0:c.system_role)==="admin"||(null==c?void 0:c.system_role)==="super_admin")&&o.submitted_by!==(null==c?void 0:c.user_id)&&"open"===o.status;return(0,a.jsxs)("div",{className:"border border-pir rounded bg-pir-surface-0",children:[(0,a.jsxs)("div",{className:"px-3 py-2 flex items-center gap-2 border-b border-pir",children:[(0,a.jsx)("span",{className:"text-caption font-mono text-pir-text-muted truncate flex-1",children:o.branch}),(0,a.jsx)("span",{className:"text-[10px] px-2 py-0.5 rounded-full ".concat(J.cls),children:J.label}),"true"===p.env.NEXT_PUBLIC_ENABLE_GRAPH_UX&&(0,a.jsx)("a",{href:"/graph/?id=pr:artifact:".concat(r,"&tab=context"),title:"View PR in Knowledge Graph",className:"text-[10px] text-pir-text-muted hover:text-pir-text-secondary transition-colors",children:"KG →"})]}),(0,a.jsxs)("div",{className:"px-3 py-2 space-y-1",children:[o.title&&(0,a.jsx)("div",{className:"text-xs text-pir-text-primary font-medium",children:o.title}),o.diff&&(0,a.jsxs)("div",{className:"flex items-center gap-3 text-caption text-pir-text-muted",children:[(0,a.jsxs)("span",{children:[o.diff.stats.files_changed," file",1!==o.diff.stats.files_changed?"s":""]}),(0,a.jsxs)("span",{className:"text-pir-success",children:["+",o.diff.stats.additions]}),(0,a.jsxs)("span",{className:"text-pir-error",children:["-",o.diff.stats.deletions]}),o.diff.unified_diff&&(0,a.jsx)("button",{onClick:()=>F(e=>!e),className:"text-pir-accent hover:text-pir-accent/80 transition-colors ml-auto",children:q?"Hide diff":"Show diff"})]})]}),q&&(null==(t=o.diff)?void 0:t.unified_diff)&&(0,a.jsx)("div",{className:"border-t border-pir px-3 py-2 max-h-[400px] overflow-y-auto",children:(0,a.jsx)(d,{unifiedDiff:o.diff.unified_diff})}),"closed"===o.status&&o.closed_reason&&(0,a.jsx)("div",{className:"border-t border-pir px-3 py-2",children:(0,a.jsxs)("div",{className:"text-caption text-pir-text-muted",children:[(0,a.jsx)("span",{className:"font-medium",children:"Closed:"})," ",o.closed_reason]})}),o.approved_by&&"open"===o.status&&(0,a.jsx)("div",{className:"border-t border-pir px-3 py-2",children:(0,a.jsxs)("div",{className:"text-caption text-pir-success",children:["Approvata da ",o.approved_by]})}),k&&(0,a.jsxs)("div",{className:"border-t border-pir px-3 py-2",children:[(0,a.jsx)(x.$,{message:k}),w&&(0,a.jsx)("ul",{className:"mt-1 text-caption text-pir-text-muted list-disc pl-4",children:w.map(e=>(0,a.jsx)("li",{className:"font-mono",children:e},e))})]}),!X&&(0,a.jsx)("div",{className:"border-t border-pir px-3 py-2 flex items-center gap-2 flex-wrap",children:(0,a.jsxs)(l.B,{minRole:"operator",children:[V&&(0,a.jsx)("button",{onClick:()=>M(!0),className:"text-[10px] px-2.5 py-1 rounded border border-pir text-pir-text-muted hover:text-pir-error hover:border-pir-error/40 transition-colors",children:"Close PR"}),Z&&!o.approved_by&&(0,a.jsx)("button",{onClick:$,disabled:R,className:"text-[10px] px-2.5 py-1 rounded bg-pir-accent text-white hover:bg-pir-accent/80 disabled:opacity-50 transition-colors",children:R?"Approvando...":"✅ Approva"}),Z&&(0,a.jsx)("button",{onClick:()=>B(!0),className:"text-[10px] px-2.5 py-1 rounded border border-pir-warning text-pir-warning hover:bg-pir-warning/10 transition-colors",children:"✏️ Request Changes"}),K&&(0,a.jsx)("button",{onClick:z,disabled:y,className:"text-[10px] px-2.5 py-1 rounded bg-pir-success text-white hover:bg-pir-success/80 disabled:opacity-50 transition-colors ml-auto",children:y?"Merging...":"Merge"})]})}),S&&(0,a.jsxs)("div",{className:"border-t border-pir px-3 py-2 space-y-2",children:[(0,a.jsx)("textarea",{value:D,onChange:e=>E(e.target.value),placeholder:"Reason for closing (feedback for the agent)",rows:2,className:"w-full bg-pir-surface-1 border border-pir rounded px-2 py-1.5 text-xs text-pir-text-primary placeholder:text-pir-text-muted focus:outline-none focus:border-pir-accent resize-none"}),(0,a.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,a.jsx)("button",{onClick:()=>{M(!1),E("")},className:"text-[10px] px-2.5 py-1 rounded border border-pir text-pir-text-muted hover:bg-pir-surface-1 transition-colors",children:"Cancel"}),(0,a.jsx)("button",{onClick:O,disabled:L,className:"text-[10px] px-2.5 py-1 rounded bg-pir-error text-white hover:bg-pir-error/80 disabled:opacity-50 transition-colors",children:L?"Closing...":"Close PR"})]})]}),W&&(0,a.jsxs)("div",{className:"border-t border-pir px-3 py-2 space-y-2",children:[(0,a.jsx)("textarea",{value:I,onChange:e=>P(e.target.value),placeholder:"Commento per l'agente (obbligatorio)",rows:2,className:"w-full bg-pir-surface-1 border border-pir rounded px-2 py-1.5 text-xs text-pir-text-primary placeholder:text-pir-text-muted focus:outline-none focus:border-pir-accent resize-none"}),(0,a.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,a.jsx)("button",{onClick:()=>{B(!1),P("")},className:"text-[10px] px-2.5 py-1 rounded border border-pir text-pir-text-muted hover:bg-pir-surface-1 transition-colors",children:"Cancel"}),(0,a.jsx)("button",{onClick:G,disabled:H||!I.trim(),className:"text-[10px] px-2.5 py-1 rounded bg-pir-warning text-white hover:bg-pir-warning/80 disabled:opacity-50 transition-colors",children:H?"Inviando...":"Request Changes"})]})]})]})}function h(e){return 0===e?"$0.00":e<.01?"$".concat(e.toFixed(4)):"$".concat(e.toFixed(2))}function b(e){if(e<60)return"".concat(e,"m");let t=Math.floor(e/60),r=Math.round(e%60);return r>0?"".concat(t,"h ").concat(r,"m"):"".concat(t,"h")}function f(e){var t;let{entry:r}=e,s="agent"===r.entry_type;return(0,a.jsxs)("div",{className:"flex items-start gap-2 py-1.5 text-xs border-b border-pir last:border-0",children:[(0,a.jsx)("span",{className:"shrink-0 mt-0.5 rounded px-1.5 py-0.5 font-medium text-[10px] uppercase tracking-wide ".concat(s?"bg-pir-accent/15 text-pir-accent":"bg-pir-text-muted/15 text-pir-text-muted"),children:s?"Agent":"Human"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[r.description&&(0,a.jsx)("p",{className:"text-pir-text-secondary truncate mb-0.5",children:r.description}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5 text-pir-text-muted",children:[s&&r.agent_seconds>0&&(0,a.jsxs)("span",{children:["agent time: ",(t=r.agent_seconds)<60?"".concat(t,"s"):b(Math.round(t/60))]}),!s&&r.human_minutes>0&&(0,a.jsxs)("span",{children:["human time: ",b(r.human_minutes)]}),(0,a.jsx)("span",{children:function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<60)return"".concat(t,"m ago");let r=Math.floor(t/60);return r<24?"".concat(r,"h ago"):"".concat(Math.floor(r/24),"d ago")}(r.created_at)}),(0,a.jsxs)("span",{children:["by ",r.created_by]}),!r.is_billable&&(0,a.jsx)("span",{className:"text-pir-warning",children:"non-billable"})]})]}),(0,a.jsxs)("div",{className:"shrink-0 text-right",children:[(0,a.jsx)("div",{className:"text-pir-text-primary font-mono",children:h(r.total_cost_usd)}),r.total_bill_usd!==r.total_cost_usd&&(0,a.jsxs)("div",{className:"text-pir-text-muted font-mono text-[10px]",children:["bill ",h(r.total_bill_usd)]})]})]})}function g(e){let{taskId:t,onSaved:r,onCancel:n}=e,[l,c]=(0,s.useState)(""),[o,d]=(0,s.useState)(""),[p,u]=(0,s.useState)(!0),[m,h]=(0,s.useState)(!1),[b,f]=(0,s.useState)(null);async function g(e){e.preventDefault();let a=parseFloat(l);if(!a||a<1)return void f("Minimum 1 minute");h(!0),f(null);try{let e=await (0,i.Vel)(t,{human_minutes:a,description:o.trim()||void 0,is_billable:p});r(e)}catch(e){f(e instanceof Error?e.message:"Failed to save")}finally{h(!1)}}return(0,a.jsxs)("form",{onSubmit:g,className:"border border-pir rounded p-3 bg-pir-surface-0 space-y-2.5 mt-2",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("label",{className:"text-[10px] text-pir-text-muted uppercase tracking-wide block mb-1",children:"Minutes"}),(0,a.jsx)("input",{type:"number",min:"1",max:"1440",step:"1",value:l,onChange:e=>c(e.target.value),placeholder:"e.g. 30",className:"w-full bg-pir-surface-1 border border-pir rounded px-2 py-1 text-xs text-pir-text-primary focus:outline-none focus:border-pir-accent/60",required:!0})]}),(0,a.jsxs)("div",{className:"flex-[2]",children:[(0,a.jsx)("label",{className:"text-[10px] text-pir-text-muted uppercase tracking-wide block mb-1",children:"Description (optional)"}),(0,a.jsx)("input",{type:"text",maxLength:200,value:o,onChange:e=>d(e.target.value),placeholder:"e.g. Code review",className:"w-full bg-pir-surface-1 border border-pir rounded px-2 py-1 text-xs text-pir-text-primary focus:outline-none focus:border-pir-accent/60"})]})]}),(0,a.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer select-none",children:[(0,a.jsx)("input",{type:"checkbox",checked:p,onChange:e=>u(e.target.checked),className:"accent-pir-accent"}),(0,a.jsx)("span",{className:"text-xs text-pir-text-secondary",children:"Billable"})]}),b&&(0,a.jsx)(x.$,{message:b}),(0,a.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,a.jsx)("button",{type:"button",onClick:n,className:"px-3 py-1 text-xs text-pir-text-muted hover:text-pir-text-secondary rounded border border-pir hover:border-pir-text-muted/40 transition-colors",children:"Cancel"}),(0,a.jsx)("button",{type:"submit",disabled:m,className:"px-3 py-1 text-xs bg-pir-accent/90 hover:bg-pir-accent text-white rounded transition-colors disabled:opacity-50",children:m?"Saving...":"Save"})]})]})}function j(e){let{taskId:t}=e,[r,n]=(0,s.useState)(null),[l,c]=(0,s.useState)(!0),[o,d]=(0,s.useState)(null),[x,p]=(0,s.useState)(!1),[u,m]=(0,s.useState)(!1);if((0,s.useEffect)(()=>{let e=new AbortController;return c(!0),d(null),(0,i.VGD)(t).then(t=>{e.signal.aborted||n(t)}).catch(e=>{"AbortError"!==e.name&&d(e.message)}).finally(()=>{e.signal.aborted||c(!1)}),()=>e.abort()},[t]),l)return(0,a.jsx)("div",{className:"text-xs text-pir-text-muted animate-pulse",children:"Loading costs..."});if(o)return(0,a.jsx)("div",{className:"text-xs text-pir-error",children:"Cost data unavailable"});let b=r&&r.entry_count>0;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsx)("h3",{className:"text-xs font-medium text-pir-text-primary",children:"Cost"}),(0,a.jsx)("button",{type:"button",onClick:()=>m(e=>!e),className:"text-[10px] text-pir-text-muted hover:text-pir-accent transition-colors",children:"+ Log time"})]}),b?(0,a.jsxs)("div",{className:"border border-pir rounded p-3 bg-pir-surface-0 space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4 text-xs",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-pir-text-muted",children:"Total cost "}),(0,a.jsx)("span",{className:"font-mono text-pir-text-primary",children:h(r.total_cost_usd)})]}),r.total_bill_usd!==r.total_cost_usd&&(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-pir-text-muted",children:"Billable "}),(0,a.jsx)("span",{className:"font-mono text-pir-text-primary",children:h(r.billable_usd)})]}),(0,a.jsxs)("div",{className:"ml-auto flex gap-3 text-pir-text-muted",children:[r.agent_cost_usd>0&&(0,a.jsxs)("span",{children:["agent ",h(r.agent_cost_usd)]}),r.human_cost_usd>0&&(0,a.jsxs)("span",{children:["human ",h(r.human_cost_usd)]})]})]}),r.entry_count>0&&(0,a.jsxs)("button",{type:"button",onClick:()=>p(e=>!e),className:"text-[10px] text-pir-text-muted hover:text-pir-text-secondary transition-colors",children:[x?"Hide":"Show"," ",r.entry_count," ",1===r.entry_count?"entry":"entries"]}),x&&r.entries.length>0&&(0,a.jsx)("div",{className:"mt-1",children:r.entries.map(e=>(0,a.jsx)(f,{entry:e},e.id))})]}):(0,a.jsx)("div",{className:"text-xs text-pir-text-muted italic",children:"No cost entries yet."}),u&&(0,a.jsx)(g,{taskId:t,onSaved:function(e){n(e),m(!1),p(!0)},onCancel:()=>m(!1)})]})}var v=r(1955);function y(e){let t,r,s,{summary:n,onClick:i}=e,{total:l,passed:c,failed:o,pending:d,merge_blocked:x}=n;return 0===l?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400",children:[(0,a.jsx)(C,{}),"No CI"]}):(c===l&&0===o&&0===d?(t="bg-emerald-50 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",r="CI Passed",s=(0,a.jsx)(N,{})):o>0?(t="bg-red-50 text-red-700 dark:bg-red-900/30 dark:text-red-400",r="CI Failing",s=(0,a.jsx)(k,{})):d>0?(t="bg-amber-50 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",r="Running",s=(0,a.jsx)(w,{})):(t="bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400",r="CI",s=null),(0,a.jsxs)("button",{type:"button",onClick:i,className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full transition-opacity hover:opacity-80 ".concat(t),children:[s,r,(0,a.jsxs)("span",{className:"opacity-60",children:[c,"/",l]}),x&&(0,a.jsx)("span",{className:"ml-0.5 text-red-600 dark:text-red-400 font-semibold",children:"blocked"})]}))}function N(){return(0,a.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",className:"shrink-0",children:(0,a.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function k(){return(0,a.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",className:"shrink-0",children:(0,a.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function C(){return(0,a.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",className:"shrink-0",children:[(0,a.jsx)("circle",{cx:"6",cy:"6",r:"4",stroke:"currentColor",strokeWidth:"1.2"}),(0,a.jsx)("path",{d:"M4 6H8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function w(){return(0,a.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 animate-spin",children:[(0,a.jsx)("circle",{cx:"6",cy:"6",r:"4",stroke:"currentColor",strokeWidth:"1.2",opacity:"0.3"}),(0,a.jsx)("path",{d:"M6 2a4 4 0 012.83 1.17",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}function _(e){let{taskId:t,hasPr:r}=e,[n,l]=(0,s.useState)(!1),c=(0,s.useCallback)(e=>(0,i.ulo)(t,{signal:e}),[t]),o=(0,s.useCallback)(e=>(0,i.CXw)(t,{signal:e}),[t]),{data:d,loading:x,error:p,refresh:u}=(0,v.j)(c,{interval:15e3,enabled:r,backoff:!0,unchangedThreshold:3}),m=!!d&&d.pending>0,{data:h,loading:b}=(0,v.j)(o,{interval:15e3,enabled:r&&n&&m,backoff:!0});return r?x&&!d?(0,a.jsx)("div",{className:"animate-pulse h-6 bg-pir-surface-0 rounded w-24"}):p?(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-pir-text-muted",children:[(0,a.jsx)("span",{children:"Unable to load CI status"}),(0,a.jsx)("button",{onClick:u,className:"text-pir-accent hover:underline",children:"Retry"})]}):d?(0,a.jsxs)("div",{className:"space-y-2",children:[d.merge_blocked&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded px-2.5 py-1.5",children:[(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0",children:[(0,a.jsx)("path",{d:"M6 1L11 10H1L6 1Z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),(0,a.jsx)("path",{d:"M6 4.5V6.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"}),(0,a.jsx)("circle",{cx:"6",cy:"8",r:"0.5",fill:"currentColor"})]}),"Merge blocked — ",d.required_failing.length," required check",1!==d.required_failing.length?"s":""," failing"]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(y,{summary:d,onClick:()=>l(!n)}),d.total>0&&(0,a.jsx)("button",{onClick:()=>l(!n),className:"text-[10px] text-pir-text-muted hover:text-pir-text-secondary",children:n?"Hide checks":"".concat(d.total," check").concat(1!==d.total?"s":"")})]}),n&&(0,a.jsx)("div",{className:"border border-pir rounded overflow-hidden",children:b&&!h?(0,a.jsx)("div",{className:"p-2 space-y-1.5",children:[1,2,3].map(e=>(0,a.jsx)("div",{className:"animate-pulse h-5 bg-pir-surface-0 rounded"},e))}):h&&h.length>0?(0,a.jsx)("div",{className:"max-h-48 overflow-y-auto",children:h.map(e=>(0,a.jsx)(S,{check:e},e.id))}):(0,a.jsx)("div",{className:"p-2 text-xs text-pir-text-muted",children:"No checks found"})})]}):null:null}function S(e){var t;let{check:r}=e,s="in_progress"===(t=r).status||"queued"===t.status?(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 text-amber-500 animate-spin",children:[(0,a.jsx)("circle",{cx:"6",cy:"6",r:"4",stroke:"currentColor",strokeWidth:"1.2",opacity:"0.3"}),(0,a.jsx)("path",{d:"M6 2a4 4 0 012.83 1.17",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]}):"success"===t.conclusion?(0,a.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 text-emerald-500",children:(0,a.jsx)("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}):"failure"===t.conclusion?(0,a.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 text-red-500",children:(0,a.jsx)("path",{d:"M3 3L9 9M9 3L3 9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})}):"skipped"===t.conclusion||"neutral"===t.conclusion?(0,a.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 text-gray-400",children:[(0,a.jsx)("circle",{cx:"6",cy:"6",r:"4",stroke:"currentColor",strokeWidth:"1.2"}),(0,a.jsx)("path",{d:"M4 6H8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]}):(0,a.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"shrink-0 text-gray-400",children:(0,a.jsx)("circle",{cx:"6",cy:"6",r:"4",stroke:"currentColor",strokeWidth:"1.2"})}),n=r.started_at&&r.completed_at?function(e){let t=Math.floor(e/1e3);if(t<60)return"".concat(t,"s");let r=Math.floor(t/60);if(r<60)return"".concat(r,"m ").concat(t%60,"s");let a=Math.floor(r/60);return"".concat(a,"h ").concat(r%60,"m")}(new Date(r.completed_at).getTime()-new Date(r.started_at).getTime()):null,i=r.check_name;return(0,a.jsxs)("div",{className:"flex items-center gap-2 px-2.5 py-1.5 text-xs border-b border-pir last:border-b-0 hover:bg-pir-surface-1/50",children:[s,(0,a.jsx)("span",{className:"flex-1 min-w-0 truncate text-pir-text-secondary",children:i}),n&&(0,a.jsx)("span",{className:"text-[10px] text-pir-text-muted shrink-0",children:n}),r.details_url&&(0,a.jsx)("a",{href:r.details_url,target:"_blank",rel:"noopener noreferrer",className:"text-pir-accent hover:underline shrink-0",onClick:e=>e.stopPropagation(),children:"Details"})]})}var M=r(6830);let D=[{value:"agent",label:"Agent",color:"bg-emerald-500/20 text-emerald-700 dark:text-emerald-400 border-emerald-500/30"},{value:"hybrid",label:"Hybrid",color:"bg-blue-500/20 text-blue-700 dark:text-blue-400 border-blue-500/30"},{value:"human",label:"Human",color:"bg-amber-500/20 text-amber-700 dark:text-amber-400 border-amber-500/30"}];function E(e){let{label:t,value:r,onChange:s}=e;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,a.jsx)("span",{className:"text-caption text-pir-text-tertiary",children:t}),(0,a.jsx)("span",{className:"text-caption text-pir-text-muted tabular-nums w-4 text-right",children:null!=r?r:"-"})]}),(0,a.jsx)("div",{className:"flex gap-px",children:Array.from({length:10},(e,t)=>t+1).map(e=>{let t=null!=r&&e<=r,n=e===r;return(0,a.jsx)("button",{onClick:()=>s(e===r?null:e),className:"flex-1 h-5 text-[9px] rounded-sm transition-colors tabular-nums ".concat(n?"bg-pir-accent text-white":t?"bg-pir-accent/30 text-pir-accent":"bg-pir-surface-1 text-pir-text-muted hover:bg-pir-surface-2"),children:e},e)})})]})}let L=(0,s.memo)(function(e){let{impact:t,confidence:r,ease:s,delegation:n,iceScore:i,onChange:l}=e;return(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-label text-pir-text-secondary",children:"ICE-D Score"}),null!=i?(0,a.jsx)("span",{className:"text-heading text-pir-accent tabular-nums",children:i}):(0,a.jsx)("span",{className:"text-label text-pir-text-muted",children:"Unscored"})]}),(0,a.jsx)(E,{label:"Impact",value:t,onChange:e=>l({impact:e})}),(0,a.jsx)(E,{label:"Confidence",value:r,onChange:e=>l({confidence:e})}),(0,a.jsx)(E,{label:"Ease",value:s,onChange:e=>l({ease:e})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-caption text-pir-text-tertiary block mb-1",children:"Delegation"}),(0,a.jsx)("div",{className:"flex gap-1",children:D.map(e=>{let t=n===e.value;return(0,a.jsx)("button",{onClick:()=>l({delegation:t?null:e.value}),className:"flex-1 text-[10px] py-1 rounded border transition-colors ".concat(t?e.color:"bg-pir-surface-1 text-pir-text-muted border-transparent hover:bg-pir-surface-2"),children:e.label},e.value)})})]})]})});var A=r(5440),R=r(5704);let T=/^(C'è bisogno(?:\s+di)?|Devo)\s+(.+?)\s+perch[eé]\s+(.+?)(?:\.\s*Attenzione a:?\s+(.+?))?\.?\s*$/i,W=/^-(\/.+)$/;function B(e){let{path:t}=e,[r,n]=(0,s.useState)(!1);return(0,a.jsxs)("button",{type:"button",onClick:function(){navigator.clipboard.writeText(t).then(()=>{n(!0),setTimeout(()=>n(!1),1500)})},title:"Click to copy",className:"inline-flex items-center gap-1.5 bg-pir-surface-0 border border-pir rounded px-2 py-0.5 font-mono text-[11px] text-pir-text-muted hover:text-pir-text-secondary hover:border-pir-accent/40 transition-colors",children:[(0,a.jsxs)("svg",{className:"w-3 h-3 shrink-0",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,a.jsx)("path",{d:"M2 2h4l2 2v6H2V2z"}),(0,a.jsx)("path",{d:"M5 4h5l-1-1"})]}),r?"copied!":t]})}function I(e){let{description:t}=e,r=function(e){var t;let r=e.split("\n"),a=[],s=[];for(let e of r){let t=e.trim().match(W);t?s.push(t[1]):e.trim()&&a.push(e.trim())}let n=a.join(" ").trim().match(T);return n?{prefix:n[1],action:n[2],problem:n[3],attention:null!=(t=n[4])?t:null,dirRefs:s}:null}(t);if(r){let{prefix:e,action:t,problem:s,attention:n,dirRefs:i}=r;return(0,a.jsxs)("div",{className:"space-y-2.5",children:[(0,a.jsxs)("p",{className:"text-xs text-pir-text-secondary leading-relaxed",children:[(0,a.jsxs)("span",{children:[e," "]}),(0,a.jsx)("span",{className:"text-pir-success font-semibold",children:t}),(0,a.jsx)("span",{children:" perch\xe9 "}),(0,a.jsx)("span",{className:"text-pir-error font-semibold",children:s}),n&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-pir-text-muted",children:". Attenzione a "}),(0,a.jsx)("span",{className:"text-pir-warning font-semibold",children:n})]}),(0,a.jsx)("span",{children:"."})]}),i.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:i.map(e=>(0,a.jsx)(B,{path:e},e))})]})}return(0,a.jsx)("p",{className:"text-xs text-pir-text-secondary whitespace-pre-wrap leading-relaxed",children:t})}let P={high:"text-pir-error",medium:"text-pir-warning",low:"text-pir-text-muted"},H={pending:"bg-pir-text-muted/20 text-pir-text-muted",approved:"bg-pir-accent/20 text-pir-accent",in_progress:"bg-pir-warning/20 text-pir-warning",completed:"bg-pir-success/20 text-pir-success",failed:"bg-pir-error/20 text-pir-error"},U={pending:["approved","rejected"],approved:["in_progress","rejected"],in_progress:["completed","failed"],failed:["approved"],completed:[],rejected:[]},q=["high","medium","low"];function F(e){var t,r,l,c;let{task:o,slug:d,onClose:x,onStatusChange:p,onTaskUpdated:u,onTaskDeleted:h}=e,{permissions:b}=(0,A.A)(),[f,g]=(0,s.useState)(null),[v,y]=(0,s.useState)(o),[N,k]=(0,s.useState)(null),[C,w]=(0,s.useState)(!1),[S,D]=(0,s.useState)(o.title),[E,T]=(0,s.useState)(null!=(t=o.description)?t:""),[W,B]=(0,s.useState)(o.priority),[F,z]=(0,s.useState)(o.tags.join(", ")),[O,$]=(0,s.useState)(null!=(r=o.owner_id)?r:null),[G,J]=(0,s.useState)([]),[K,V]=(0,s.useState)(!1),[X,Z]=(0,s.useState)(!1),[Y,Q]=(0,s.useState)(!1),[ee,et]=(0,s.useState)(!1),[er,ea]=(0,s.useState)(o.impact),[es,en]=(0,s.useState)(o.confidence),[ei,el]=(0,s.useState)(o.ease),[ec,eo]=(0,s.useState)(o.delegation),ed=(0,s.useRef)(!1);(0,s.useEffect)(()=>{let e=new AbortController;return(0,i.ggW)(o.id,{signal:e.signal}).then(e=>{var t;y(e),T(null!=(t=e.description)?t:"")}).catch(()=>{}),()=>e.abort()},[o.id]);let ex=null!=er&&null!=es&&null!=ei?er*es*ei:null,ep=(0,s.useCallback)(e=>{var t,r,a,s;"impact"in e&&ea(null!=(t=e.impact)?t:null),"confidence"in e&&en(null!=(r=e.confidence)?r:null),"ease"in e&&el(null!=(a=e.ease)?a:null),"delegation"in e&&eo(null!=(s=e.delegation)?s:null),ed.current=!0},[]),eu=(0,s.useCallback)(async()=>{if(ed.current)try{let e=await (0,i.lCH)(v.id,{impact:er,confidence:es,ease:ei,delegation:ec});null==u||u(e)}catch(e){}x()},[v.id,er,es,ei,ec,x,u]);async function em(){V(!0);try{let e=F.split(",").map(e=>e.trim()).filter(Boolean),t=await fetch("".concat(M.JR,"/api/v1/tasks/").concat(v.id),{method:"PATCH",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:S,description:E,priority:W,tags:e,owner_id:O})});if(t.ok){let e=await t.json();y(e),w(!1),null==u||u(e)}}finally{V(!1)}}async function eh(e){et(!0);try{(await fetch("".concat(M.JR,"/api/v1/tasks/").concat(v.id),{method:"PATCH",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:e})})).ok&&(y(t=>({...t,status:e})),null==p||p(v.id,e))}finally{et(!1)}}async function eb(){Q(!0);try{(await fetch("".concat(M.JR,"/api/v1/tasks/").concat(v.id),{method:"DELETE",credentials:"include"})).ok&&(null==h||h(v.id),x())}finally{Q(!1)}}(0,s.useEffect)(()=>{(0,i.jpm)().then(e=>g(e.username)).catch(()=>{})},[]),(0,s.useEffect)(()=>{v.project&&(0,i.DR0)(v.project).then(e=>{var t;k(null!=(t=e.find(e=>"responsible"===e.role))?t:null)}).catch(()=>{})},[v.project]);let ef=null!=(l=H[v.status])?l:"bg-pir-surface-0 text-pir-text-muted";return(0,a.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50 p-4",onClick:e=>e.target===e.currentTarget&&eu(),children:(0,a.jsxs)("div",{className:"bg-pir-surface-1 border border-pir rounded w-full max-w-lg max-h-[85vh] flex flex-col",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between px-5 py-4 border-b border-pir shrink-0",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[C?(0,a.jsx)("input",{className:"w-full bg-pir-surface-0 border border-pir rounded px-2 py-1 text-sm font-semibold text-pir-text-primary focus:outline-none",value:S,onChange:e=>D(e.target.value),"aria-label":"Task title"}):(0,a.jsx)("h2",{className:"text-sm font-semibold text-pir-text-primary",children:v.title}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-1.5 flex-wrap",children:[N&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full bg-blue-400/15 text-blue-400 border border-blue-400/30",children:[(0,a.jsx)("span",{className:"w-3.5 h-3.5 rounded-full flex-shrink-0 flex items-center justify-center text-[7px] font-bold text-white",style:{backgroundColor:N.user.avatar_color},children:N.user.display_name.charAt(0).toUpperCase()}),N.user.display_name]}),(()=>{let e=U[v.status]||[],t=[v.status,...e];return(0,a.jsx)("select",{className:"text-[10px] px-2 py-0.5 rounded-full border-0 cursor-pointer ".concat(ef," bg-transparent"),value:v.status,disabled:ee||0===e.length||!b.canWrite,onChange:e=>eh(e.target.value),"aria-label":"Task status",children:t.map(e=>(0,a.jsx)("option",{value:e,children:e},e))})})(),"pending"===v.status&&!C&&b.canWrite&&(0,a.jsx)("button",{onClick:()=>eh("approved"),disabled:ee,className:"text-[10px] px-2 py-0.5 rounded-full bg-pir-accent/20 text-pir-accent hover:bg-pir-accent/30 disabled:opacity-50 transition-colors","aria-label":"Approve task",children:ee?"...":"Approve"}),C?(0,a.jsx)("select",{className:"text-[10px] font-medium bg-pir-surface-0 border border-pir rounded px-1 py-0.5 text-pir-text-primary focus:outline-none",value:W,onChange:e=>B(e.target.value),"aria-label":"Task priority",children:q.map(e=>(0,a.jsx)("option",{value:e,children:e},e))}):(0,a.jsx)("span",{className:"text-[10px] font-medium ".concat(null!=(c=P[v.priority])?c:"text-pir-text-muted"),children:v.priority})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-3 shrink-0",children:[!C&&b.canWrite&&(0,a.jsx)("button",{onClick:function(){var e,t;D(v.title),T(null!=(e=v.description)?e:""),B(v.priority),z(v.tags.join(", ")),$(null!=(t=v.owner_id)?t:null),w(!0),(0,i.ZZm)().then(J).catch(()=>{})},className:"text-xs text-pir-text-muted hover:text-pir-text-secondary px-2 py-1 border border-pir rounded","aria-label":"Edit task",children:"Edit"}),C&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:em,disabled:K,className:"text-xs text-pir-text-primary px-2 py-1 border border-pir rounded hover:bg-pir-surface-2 disabled:opacity-50","aria-label":"Save task",children:K?"Saving...":"Save"}),(0,a.jsx)("button",{onClick:function(){w(!1)},className:"text-xs text-pir-text-muted px-2 py-1 border border-pir rounded hover:bg-pir-surface-2","aria-label":"Cancel edit",children:"Cancel"})]}),"true"===R.env.NEXT_PUBLIC_ENABLE_GRAPH_UX&&(0,a.jsx)("a",{href:"/graph/?id=task:artifact:".concat(v.id,"&view=list&tab=context"),title:"View in Knowledge Graph",className:"text-caption text-pir-text-muted hover:text-pir-kg-node-task transition-colors px-1.5 py-0.5 border border-pir rounded",children:"KG"}),(0,a.jsx)("button",{onClick:eu,className:"text-pir-text-muted hover:text-pir-text-secondary text-lg leading-none","aria-label":"Close",children:"\xd7"})]})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-4",children:[C?(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-label text-pir-text-tertiary block mb-1",children:"Description"}),(0,a.jsx)("textarea",{className:"w-full bg-pir-surface-0 border border-pir rounded px-2 py-1 text-sm text-pir-text-primary focus:outline-none resize-none",rows:5,value:E,onChange:e=>T(e.target.value),"aria-label":"Task description"})]}):v.description&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-label text-pir-text-tertiary block mb-1.5",children:"Description"}),(0,a.jsx)(I,{description:v.description})]}),(0,a.jsxs)("div",{className:"flex items-center gap-4 text-xs text-pir-text-muted",children:[v.owner&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"text-pir-text-tertiary mr-1",children:"Owner:"}),(0,a.jsx)("div",{className:"w-4 h-4 rounded-full flex-shrink-0",style:{backgroundColor:v.owner.avatar_color}}),(0,a.jsx)("span",{className:"text-pir-text-secondary",children:v.owner.display_name})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-pir-text-tertiary mr-1",children:"Created by:"}),(0,a.jsx)("span",{className:"text-pir-text-secondary",children:v.created_by})]})]}),C?(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-label text-pir-text-tertiary block mb-1",children:"Owner"}),(0,a.jsxs)("select",{className:"w-full bg-pir-surface-0 border border-pir rounded px-2 py-1 text-sm text-pir-text-primary focus:outline-none",value:null!=O?O:"",onChange:e=>$(e.target.value||null),"aria-label":"Task owner",children:[(0,a.jsx)("option",{value:"",children:"— nessuno —"}),G.map(e=>(0,a.jsxs)("option",{value:e.id,children:[e.display_name," (",e.type,")"]},e.id))]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-label text-pir-text-tertiary block mb-1",children:"Tags (comma-separated)"}),(0,a.jsx)("input",{className:"w-full bg-pir-surface-0 border border-pir rounded px-2 py-1 text-sm text-pir-text-primary focus:outline-none",value:F,onChange:e=>z(e.target.value),"aria-label":"Task tags",placeholder:"tag1, tag2, tag3"})]})]}):v.tags.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:v.tags.map(e=>(0,a.jsx)("span",{className:"text-[10px] bg-pir-surface-0 border border-pir px-2 py-0.5 rounded text-pir-text-muted",children:e},e))}),(0,a.jsx)("div",{className:"border border-pir rounded p-3 bg-pir-surface-0",children:(0,a.jsx)(L,{impact:er,confidence:es,ease:ei,delegation:ec,iceScore:ex,onChange:ep})}),(0,a.jsx)(m,{taskId:v.id,onTaskCompleted:()=>{y(e=>({...e,status:"completed"})),null==p||p(v.id,"completed")}}),(0,a.jsx)(_,{taskId:v.id,hasPr:!!v.pr_status}),(0,a.jsx)(j,{taskId:v.id}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-xs font-medium text-pir-text-primary mb-2",children:"Comments"}),f?(0,a.jsx)(n.A,{targetType:"task",targetId:v.id,currentUser:f}):(0,a.jsx)("div",{className:"text-xs text-pir-text-muted",children:"Loading..."})]})]}),b.canWrite&&(0,a.jsx)("div",{className:"border-t border-pir px-5 py-3 shrink-0",children:X?(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("span",{className:"text-caption text-pir-text-secondary flex-1",children:"Delete this task?"}),(0,a.jsx)("button",{onClick:eb,disabled:Y,className:"text-xs px-3 py-1 rounded border border-pir-error text-pir-error hover:bg-pir-error/10 disabled:opacity-50","aria-label":"Confirm delete",children:Y?"Deleting...":"Confirm"}),(0,a.jsx)("button",{onClick:()=>Z(!1),className:"text-xs px-3 py-1 rounded border border-pir text-pir-text-muted hover:bg-pir-surface-2","aria-label":"Cancel delete",children:"Cancel"})]}):(0,a.jsx)("button",{onClick:()=>Z(!0),className:"text-xs text-pir-text-muted hover:text-pir-error","aria-label":"Delete task",children:"Delete task"})})]})})}},5440:(e,t,r)=>{r.d(t,{O:()=>o,A:()=>d});var a=r(5155),s=r(2115),n=r(960);let i={viewer:0,operator:1,admin:2,super_admin:3};function l(e){let t=null!==e?i[e]:-1;return{canWrite:t>=i.operator,canAdmin:t>=i.admin}}let c=(0,s.createContext)({status:"loading",username:null,role:null,userId:null,displayName:null,permissions:l(null),llmKeyMissing:!1,login:async()=>{},logout:async()=>{}});function o(e){let{children:t}=e,[r,i]=(0,s.useState)("loading"),[o,d]=(0,s.useState)(null),[x,p]=(0,s.useState)(null),[u,m]=(0,s.useState)(null),[h,b]=(0,s.useState)(null),[f,g]=(0,s.useState)(l(null)),[j,v]=(0,s.useState)(!1);(0,s.useEffect)(()=>{(0,n.jpm)().then(e=>{var t,r,a,s;d(e.username);let n=null!=(r=e.system_role)?r:null;p(n),m(null!=(a=e.user_id)?a:null),b(null!=(s=e.display_name)?s:null),g(l(n)),v((null==(t=e.capabilities)?void 0:t.todos_llm_key_missing)===!0),i("authenticated")}).catch(()=>{i("unauthenticated")})},[]);let y=(0,s.useCallback)(async(e,t)=>{var r,a,s,c;await (0,n.iDC)(e,t);let o=await (0,n.jpm)();d(o.username);let x=null!=(a=o.system_role)?a:null;p(x),m(null!=(s=o.user_id)?s:null),b(null!=(c=o.display_name)?c:null),g(l(x)),v((null==(r=o.capabilities)?void 0:r.todos_llm_key_missing)===!0),i("authenticated")},[]),N=(0,s.useCallback)(async()=>{await (0,n.rig)(),d(null),p(null),m(null),b(null),g(l(null)),v(!1),i("unauthenticated")},[]);return(0,a.jsx)(c.Provider,{value:{status:r,username:o,role:x,userId:u,displayName:h,permissions:f,llmKeyMissing:j,login:y,logout:N},children:t})}function d(){return(0,s.useContext)(c)}},8737:(e,t,r)=>{r.d(t,{B:()=>i});var a=r(5155),s=r(5440);let n={viewer:0,operator:1,admin:2,super_admin:3};function i(e){var t;let{minRole:r,children:i,fallback:l=null}=e,{role:c,status:o}=(0,s.A)();return"loading"===o||(null!==c&&null!=(t=n[c])?t:-1)<n[r]?(0,a.jsx)(a.Fragment,{children:l}):(0,a.jsx)(a.Fragment,{children:i})}},8885:(e,t,r)=>{r.d(t,{A:()=>x});var a=r(5155),s=r(2115),n=r(1450),i=r(960);let l={info:"text-pir-text-muted",question:"text-pir-warning",blocker:"text-pir-error",resolved:"text-pir-success"},c={"+1":"\uD83D\uDC4D","-1":"\uD83D\uDC4E",eyes:"\uD83D\uDC40",check:"✅"};function o(e){let{reactions:t,currentUser:r,onToggle:s}=e,n={};for(let e of t)n[e.reaction]||(n[e.reaction]={count:0,byMe:!1}),n[e.reaction].count++,e.created_by===r&&(n[e.reaction].byMe=!0);return(0,a.jsx)("div",{className:"flex items-center gap-1 mt-1",children:Object.keys(c).map(e=>{let t=n[e];return(0,a.jsxs)("button",{onClick:()=>s(e),className:"text-caption px-1.5 py-0.5 rounded border transition-colors ".concat((null==t?void 0:t.byMe)?"border-pir-accent bg-pir-accent/10 text-pir-accent":"border-pir text-pir-text-muted hover:border-pir-accent/50"),children:[c[e],t&&t.count>0?" ".concat(t.count):""]},e)})})}function d(e){var t;let{comment:r,currentUser:i,onReply:c,onUpdate:x,onDelete:p,onReaction:u,depth:m}=e,[h,b]=(0,s.useState)(!1),[f,g]=(0,s.useState)(r.body),[j,v]=(0,s.useState)(r.status),y=r.created_by===i,N="[deleted]"===r.body;return(0,a.jsxs)("div",{className:"".concat(m>0?"ml-6 border-l border-pir pl-3":""),children:[(0,a.jsxs)("div",{className:"bg-pir-surface-1 border border-pir rounded p-3 mb-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,a.jsx)("span",{className:"text-caption font-medium text-pir-text-secondary",children:r.created_by}),(0,a.jsx)("span",{className:"text-caption ".concat(l[r.status]),children:r.status}),(0,a.jsx)("span",{className:"text-caption text-pir-text-muted ml-auto",children:new Date(r.created_at).toLocaleDateString()}),r.edited_at&&(0,a.jsx)("span",{className:"text-caption text-pir-text-muted",children:"(edited)"})]}),h?(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("textarea",{value:f,onChange:e=>g(e.target.value),className:"w-full bg-pir-surface-0 border border-pir rounded px-2 py-1 text-caption text-pir-text-primary min-h-[60px] resize-y"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("select",{value:j,onChange:e=>v(e.target.value),className:"text-caption bg-pir-surface-0 border border-pir rounded px-1 py-0.5 text-pir-text-primary",children:[(0,a.jsx)("option",{value:"info",children:"info"}),(0,a.jsx)("option",{value:"question",children:"question"}),(0,a.jsx)("option",{value:"blocker",children:"blocker"}),(0,a.jsx)("option",{value:"resolved",children:"resolved"})]}),(0,a.jsx)("button",{onClick:function(){x(r.id,f,j),b(!1)},className:"text-caption px-2 py-0.5 bg-pir-accent text-white rounded",children:"Save"}),(0,a.jsx)("button",{onClick:()=>b(!1),className:"text-caption px-2 py-0.5 text-pir-text-muted",children:"Cancel"})]})]}):(0,a.jsx)("div",{className:"text-caption text-pir-text-secondary",children:N?(0,a.jsx)("span",{className:"italic text-pir-text-muted",children:"[deleted]"}):(0,a.jsx)(n.A,{content:r.body})}),!N&&!h&&(0,a.jsxs)("div",{className:"flex items-center gap-3 mt-2",children:[(0,a.jsx)(o,{reactions:r.reactions,currentUser:i,onToggle:function(e){let t=r.reactions.find(t=>t.reaction===e&&t.created_by===i);u(r.id,e,!t)}}),(0,a.jsxs)("div",{className:"flex items-center gap-2 ml-auto",children:[0===m&&(0,a.jsx)("button",{onClick:()=>c(r.id),className:"text-caption text-pir-text-muted hover:text-pir-accent",children:"Reply"}),y&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{onClick:()=>{g(r.body),v(r.status),b(!0)},className:"text-caption text-pir-text-muted hover:text-pir-accent",children:"Edit"}),(0,a.jsx)("button",{onClick:()=>p(r.id),className:"text-caption text-pir-text-muted hover:text-pir-error",children:"Delete"})]})]})]})]}),null==(t=r.replies)?void 0:t.map(e=>(0,a.jsx)(d,{comment:e,currentUser:i,onReply:c,onUpdate:x,onDelete:p,onReaction:u,depth:m+1},e.id))]})}function x(e){let{targetType:t,targetId:r,currentUser:n}=e,[l,c]=(0,s.useState)([]),[o,x]=(0,s.useState)(!0),[p,u]=(0,s.useState)(""),[m,h]=(0,s.useState)("info"),[b,f]=(0,s.useState)(null),[g,j]=(0,s.useState)(!1),v=(0,s.useCallback)(()=>{let e=new AbortController;return(0,i.vrD)(t,r,{signal:e.signal}).then(c).catch(()=>{}).finally(()=>{e.signal.aborted||x(!1)}),e},[t,r]);async function y(e){if(e.preventDefault(),p.trim()&&!g){j(!0);try{let e={target_type:t,target_id:r,body:p.trim(),status:m,parent_id:b};await (0,i.eT_)(e),u(""),f(null),h("info"),v()}catch(e){}finally{j(!1)}}}async function N(e,t,r){try{await (0,i.vvS)(e,{body:t,status:r}),v()}catch(e){}}async function k(e){try{await (0,i.Tu0)(e),v()}catch(e){}}async function C(e,t,r){try{r?await (0,i.BBT)(e,t):await (0,i.etj)(e,t),v()}catch(e){}}return((0,s.useEffect)(()=>{let e=v();return()=>e.abort()},[v]),o)?(0,a.jsx)("div",{className:"text-pir-text-muted text-caption p-2",children:"Loading comments..."}):(0,a.jsxs)("div",{className:"space-y-3",children:[0===l.length&&(0,a.jsx)("div",{className:"text-pir-text-muted text-caption",children:"No comments yet."}),l.map(e=>(0,a.jsx)(d,{comment:e,currentUser:n,onReply:e=>f(e),onUpdate:N,onDelete:k,onReaction:C,depth:0},e.id)),(0,a.jsxs)("form",{onSubmit:y,className:"bg-pir-surface-0 border border-pir rounded p-3",children:[b&&(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,a.jsxs)("span",{className:"text-caption text-pir-text-muted",children:["Replying to #",b]}),(0,a.jsx)("button",{type:"button",onClick:()=>f(null),className:"text-caption text-pir-error",children:"Cancel"})]}),(0,a.jsx)("textarea",{value:p,onChange:e=>u(e.target.value),placeholder:"Write a comment... (markdown supported)",className:"w-full bg-pir-surface-1 border border-pir rounded px-3 py-2 text-caption text-pir-text-primary placeholder:text-pir-text-muted min-h-[60px] resize-y"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,a.jsxs)("select",{value:m,onChange:e=>h(e.target.value),className:"text-caption bg-pir-surface-1 border border-pir rounded px-2 py-1 text-pir-text-primary",children:[(0,a.jsx)("option",{value:"info",children:"info"}),(0,a.jsx)("option",{value:"question",children:"question"}),(0,a.jsx)("option",{value:"blocker",children:"blocker"}),(0,a.jsx)("option",{value:"resolved",children:"resolved"})]}),(0,a.jsx)("button",{type:"submit",disabled:g||!p.trim(),className:"ml-auto px-3 py-1 text-caption bg-pir-accent text-white rounded hover:bg-pir-accent/80 disabled:opacity-50",children:g?"Posting...":b?"Reply":"Comment"})]})]})]})}}}]);