@jpkme/diff-review 0.1.14 → 0.1.16

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 (129) hide show
  1. package/bin/diff-review.mjs +141 -77
  2. package/lib/acp-policy.mjs +10 -2
  3. package/lib/acp-policy.test.mjs +27 -0
  4. package/lib/acp-shell.mjs +23 -1
  5. package/lib/acp-shell.test.mjs +7 -0
  6. package/lib/output-name.mjs +7 -0
  7. package/lib/prompt.mjs +3 -2
  8. package/lib/prompt.test.mjs +37 -0
  9. package/lib/review-dir.mjs +14 -1
  10. package/lib/review.mjs +36 -4
  11. package/lib/review.test.mjs +35 -0
  12. package/lib/validate.mjs +10 -0
  13. package/lib/validate.test.mjs +47 -0
  14. package/package.json +1 -1
  15. package/schema.json +16 -1
  16. package/web/build/client/_app/immutable/assets/3.DB-bJJq2.css +1 -0
  17. package/web/build/client/_app/immutable/assets/3.DB-bJJq2.css.br +0 -0
  18. package/web/build/client/_app/immutable/assets/3.DB-bJJq2.css.gz +0 -0
  19. package/web/build/client/_app/immutable/assets/{storage.C8XGESwn.css → storage.BxR6930R.css} +1 -1
  20. package/web/build/client/_app/immutable/assets/storage.BxR6930R.css.br +0 -0
  21. package/web/build/client/_app/immutable/assets/{storage.C8XGESwn.css.gz → storage.BxR6930R.css.gz} +0 -0
  22. package/web/build/client/_app/immutable/chunks/BLMWhW3J.js +1 -0
  23. package/web/build/client/_app/immutable/chunks/BLMWhW3J.js.br +1 -0
  24. package/web/build/client/_app/immutable/chunks/BLMWhW3J.js.gz +0 -0
  25. package/web/build/client/_app/immutable/chunks/{D8WOD_eS.js → CXhIC34H.js} +1 -1
  26. package/web/build/client/_app/immutable/chunks/CXhIC34H.js.br +0 -0
  27. package/web/build/client/_app/immutable/chunks/CXhIC34H.js.gz +0 -0
  28. package/web/build/client/_app/immutable/chunks/{C0hrdiUt.js → DHO7NTh1.js} +2 -2
  29. package/web/build/client/_app/immutable/chunks/DHO7NTh1.js.br +0 -0
  30. package/web/build/client/_app/immutable/chunks/DHO7NTh1.js.gz +0 -0
  31. package/web/build/client/_app/immutable/chunks/DpxY75GB.js +215 -0
  32. package/web/build/client/_app/immutable/chunks/DpxY75GB.js.br +0 -0
  33. package/web/build/client/_app/immutable/chunks/DpxY75GB.js.gz +0 -0
  34. package/web/build/client/_app/immutable/chunks/{FOc6rgIW.js → cYiFfRa3.js} +1 -1
  35. package/web/build/client/_app/immutable/chunks/cYiFfRa3.js.br +1 -0
  36. package/web/build/client/_app/immutable/chunks/cYiFfRa3.js.gz +0 -0
  37. package/web/build/client/_app/immutable/entry/{app.DcAtSJ3n.js → app.CCv57mvp.js} +2 -2
  38. package/web/build/client/_app/immutable/entry/app.CCv57mvp.js.br +0 -0
  39. package/web/build/client/_app/immutable/entry/app.CCv57mvp.js.gz +0 -0
  40. package/web/build/client/_app/immutable/entry/start.B012TSbW.js +1 -0
  41. package/web/build/client/_app/immutable/entry/start.B012TSbW.js.br +1 -0
  42. package/web/build/client/_app/immutable/entry/start.B012TSbW.js.gz +0 -0
  43. package/web/build/client/_app/immutable/nodes/0.slrnBioC.js +1 -0
  44. package/web/build/client/_app/immutable/nodes/0.slrnBioC.js.br +0 -0
  45. package/web/build/client/_app/immutable/nodes/0.slrnBioC.js.gz +0 -0
  46. package/web/build/client/_app/immutable/nodes/1.Bs5JdO4l.js +1 -0
  47. package/web/build/client/_app/immutable/nodes/1.Bs5JdO4l.js.br +0 -0
  48. package/web/build/client/_app/immutable/nodes/1.Bs5JdO4l.js.gz +0 -0
  49. package/web/build/client/_app/immutable/nodes/2.D5ULH3EX.js +10 -0
  50. package/web/build/client/_app/immutable/nodes/2.D5ULH3EX.js.br +0 -0
  51. package/web/build/client/_app/immutable/nodes/2.D5ULH3EX.js.gz +0 -0
  52. package/web/build/client/_app/immutable/nodes/3.hjzQQgyj.js +173 -0
  53. package/web/build/client/_app/immutable/nodes/3.hjzQQgyj.js.br +0 -0
  54. package/web/build/client/_app/immutable/nodes/3.hjzQQgyj.js.gz +0 -0
  55. package/web/build/client/_app/version.json +1 -1
  56. package/web/build/client/_app/version.json.br +0 -0
  57. package/web/build/client/_app/version.json.gz +0 -0
  58. package/web/build/handler.js +3 -3
  59. package/web/build/index.js +3 -3
  60. package/web/build/server/chunks/{0-DUStDOsr.js → 0-D7NSxn1-.js} +2 -2
  61. package/web/build/server/chunks/{0-DUStDOsr.js.map → 0-D7NSxn1-.js.map} +1 -1
  62. package/web/build/server/chunks/1-DboYz8Fw.js +7 -0
  63. package/web/build/server/chunks/{1-BFhhV5JB.js.map → 1-DboYz8Fw.js.map} +1 -1
  64. package/web/build/server/chunks/2-B7LX817Q.js +7 -0
  65. package/web/build/server/chunks/2-B7LX817Q.js.map +1 -0
  66. package/web/build/server/chunks/3-DgJ_LmTL.js +7 -0
  67. package/web/build/server/chunks/{3-BV-TIUp1.js.map → 3-DgJ_LmTL.js.map} +1 -1
  68. package/web/build/server/chunks/{_server.ts-CdFoXw36.js → _server.ts-CP5cRLhW.js} +4 -4
  69. package/web/build/server/chunks/{_server.ts-CdFoXw36.js.map → _server.ts-CP5cRLhW.js.map} +1 -1
  70. package/web/build/server/chunks/{agent-sessions-D0WwtWgR.js → agent-sessions-2XGojSJ_.js} +105 -16
  71. package/web/build/server/chunks/agent-sessions-2XGojSJ_.js.map +1 -0
  72. package/web/build/server/chunks/{git-review-CgcBIbvM.js → git-review-jZ_JJYfv.js} +36 -8
  73. package/web/build/server/chunks/git-review-jZ_JJYfv.js.map +1 -0
  74. package/web/build/server/chunks/{handler-DbxjtK9M.js → handler-B_8yUXji.js} +3 -3
  75. package/web/build/server/chunks/{handler-DbxjtK9M.js.map → handler-B_8yUXji.js.map} +1 -1
  76. package/web/build/server/chunks/{hooks.server-Dg6gYUqs.js → hooks.server-rF_eBCff.js} +3 -3
  77. package/web/build/server/chunks/{hooks.server-Dg6gYUqs.js.map → hooks.server-rF_eBCff.js.map} +1 -1
  78. package/web/build/server/chunks/{index.js-NNne-njN.js → index.js-CGw8_Q7V.js} +884 -881
  79. package/web/build/server/chunks/index.js-CGw8_Q7V.js.map +1 -0
  80. package/web/build/server/chunks/{manifest.js-V8ViI5bl.js → manifest.js-CImZFS6G.js} +9 -9
  81. package/web/build/server/chunks/{manifest.js-V8ViI5bl.js.map → manifest.js-CImZFS6G.js.map} +1 -1
  82. package/web/build/server/chunks/{remote-1g4ayag-CCsG2QXw.js → remote-1g4ayag-BMpjk8UD.js} +4 -4
  83. package/web/build/server/chunks/{remote-1g4ayag-CCsG2QXw.js.map → remote-1g4ayag-BMpjk8UD.js.map} +1 -1
  84. package/web/build/server/chunks/{remote-wh6t6j-BCvmX37z.js → remote-wh6t6j-dYLCg8ks.js} +19 -7
  85. package/web/build/server/chunks/remote-wh6t6j-dYLCg8ks.js.map +1 -0
  86. package/web/build/server/chunks/{validate-CAQ31C7k.js → validate-Da6e71V3.js} +34 -5
  87. package/web/build/server/chunks/validate-Da6e71V3.js.map +1 -0
  88. package/web/build/client/_app/immutable/assets/3.BT54aVKb.css +0 -1
  89. package/web/build/client/_app/immutable/assets/3.BT54aVKb.css.br +0 -0
  90. package/web/build/client/_app/immutable/assets/3.BT54aVKb.css.gz +0 -0
  91. package/web/build/client/_app/immutable/assets/storage.C8XGESwn.css.br +0 -0
  92. package/web/build/client/_app/immutable/chunks/C0hrdiUt.js.br +0 -0
  93. package/web/build/client/_app/immutable/chunks/C0hrdiUt.js.gz +0 -0
  94. package/web/build/client/_app/immutable/chunks/CpeIO6nz.js +0 -210
  95. package/web/build/client/_app/immutable/chunks/CpeIO6nz.js.br +0 -0
  96. package/web/build/client/_app/immutable/chunks/CpeIO6nz.js.gz +0 -0
  97. package/web/build/client/_app/immutable/chunks/D8WOD_eS.js.br +0 -0
  98. package/web/build/client/_app/immutable/chunks/D8WOD_eS.js.gz +0 -0
  99. package/web/build/client/_app/immutable/chunks/FOc6rgIW.js.br +0 -2
  100. package/web/build/client/_app/immutable/chunks/FOc6rgIW.js.gz +0 -0
  101. package/web/build/client/_app/immutable/chunks/lUYXRDtZ.js +0 -1
  102. package/web/build/client/_app/immutable/chunks/lUYXRDtZ.js.br +0 -0
  103. package/web/build/client/_app/immutable/chunks/lUYXRDtZ.js.gz +0 -0
  104. package/web/build/client/_app/immutable/entry/app.DcAtSJ3n.js.br +0 -0
  105. package/web/build/client/_app/immutable/entry/app.DcAtSJ3n.js.gz +0 -0
  106. package/web/build/client/_app/immutable/entry/start.CO5l0Zbx.js +0 -1
  107. package/web/build/client/_app/immutable/entry/start.CO5l0Zbx.js.br +0 -0
  108. package/web/build/client/_app/immutable/entry/start.CO5l0Zbx.js.gz +0 -0
  109. package/web/build/client/_app/immutable/nodes/0.Dj97JW46.js +0 -1
  110. package/web/build/client/_app/immutable/nodes/0.Dj97JW46.js.br +0 -0
  111. package/web/build/client/_app/immutable/nodes/0.Dj97JW46.js.gz +0 -0
  112. package/web/build/client/_app/immutable/nodes/1.E-Hs7ura.js +0 -1
  113. package/web/build/client/_app/immutable/nodes/1.E-Hs7ura.js.br +0 -4
  114. package/web/build/client/_app/immutable/nodes/1.E-Hs7ura.js.gz +0 -0
  115. package/web/build/client/_app/immutable/nodes/2.s1_irV1Q.js +0 -10
  116. package/web/build/client/_app/immutable/nodes/2.s1_irV1Q.js.br +0 -0
  117. package/web/build/client/_app/immutable/nodes/2.s1_irV1Q.js.gz +0 -0
  118. package/web/build/client/_app/immutable/nodes/3.pgwe-_5b.js +0 -171
  119. package/web/build/client/_app/immutable/nodes/3.pgwe-_5b.js.br +0 -0
  120. package/web/build/client/_app/immutable/nodes/3.pgwe-_5b.js.gz +0 -0
  121. package/web/build/server/chunks/1-BFhhV5JB.js +0 -7
  122. package/web/build/server/chunks/2-BZ_MVqj8.js +0 -7
  123. package/web/build/server/chunks/2-BZ_MVqj8.js.map +0 -1
  124. package/web/build/server/chunks/3-BV-TIUp1.js +0 -7
  125. package/web/build/server/chunks/agent-sessions-D0WwtWgR.js.map +0 -1
  126. package/web/build/server/chunks/git-review-CgcBIbvM.js.map +0 -1
  127. package/web/build/server/chunks/index.js-NNne-njN.js.map +0 -1
  128. package/web/build/server/chunks/remote-wh6t6j-BCvmX37z.js.map +0 -1
  129. package/web/build/server/chunks/validate-CAQ31C7k.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { j as startPendingAgentRun } from './agent-sessions-D0WwtWgR.js';
2
- import './validate-CAQ31C7k.js';
1
+ import { k as startPendingAgentRun } from './agent-sessions-2XGojSJ_.js';
2
+ import './validate-Da6e71V3.js';
3
3
  import 'node:fs';
4
4
  import 'node:child_process';
5
5
  import 'node:path';
@@ -39,4 +39,4 @@ var handleError = ({ error, message }) => {
39
39
  };
40
40
 
41
41
  export { handle, handleError, init };
42
- //# sourceMappingURL=hooks.server-Dg6gYUqs.js.map
42
+ //# sourceMappingURL=hooks.server-rF_eBCff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.server-Dg6gYUqs.js","sources":["../../../.svelte-kit/output/server/entries/hooks.server.js"],"sourcesContent":["import { d as startPendingAgentRun } from \"../chunks/agent-sessions.js\";\n//#region src/hooks.server.ts\n/**\n* Hosts aceptados. La UI escucha en 127.0.0.1 y puede lanzar agentes: un Host ajeno (DNS rebinding: un dominio\n* que resuelve a 127.0.0.1) no debe llegar a la app. Los POST de otro origen ya los frena SvelteKit (CSRF).\n*/\nfunction allowedHost(host) {\n\tif (!host) return false;\n\tconst name = host.replace(/:\\d+$/, \"\").replace(/^\\[|\\]$/g, \"\").toLowerCase();\n\tif (name === \"127.0.0.1\" || name === \"localhost\" || name === \"::1\") return true;\n\tconst configured = String(process.env.HOST || \"\").trim().toLowerCase();\n\treturn Boolean(configured) && configured !== \"0.0.0.0\" && configured !== \"::\" && name === configured;\n}\n/** Si la CLI eligió un agente, la review arranca con el server (el navegador la sigue por `?agent=<id>`). */\nvar init = () => {\n\tstartPendingAgentRun();\n};\nvar handle = ({ event, resolve }) => {\n\tif (!allowedHost(event.request.headers.get(\"host\"))) return new Response(\"Host no permitido\", { status: 403 });\n\treturn resolve(event);\n};\n/** Herramienta local: conviene ver el error real (git, devalue, etc.) y no el 500 genérico. */\nvar handleError = ({ error, message }) => {\n\tconsole.error(\"[diff-review]\", error);\n\tif (error instanceof Error && error.message.trim()) return { message: error.message };\n\tif (error && typeof error === \"object\" && \"message\" in error) {\n\t\tconst detail = String(error.message || \"\").trim();\n\t\tif (detail) return { message: detail };\n\t}\n\treturn { message: message || \"Error interno\" };\n};\n//#endregion\nexport { handle, handleError, init };\n"],"names":[],"mappings":";;;;;;;;;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AACxB,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;AAC7E,CAAC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,EAAE,OAAO,IAAI;AAChF,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AACvE,CAAC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,IAAI,KAAK,UAAU;AACrG;AACA;AACG,IAAC,IAAI,GAAG,MAAM;AACjB,CAAC,oBAAoB,EAAE;AACvB;AACG,IAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;AACrC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,QAAQ,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC/G,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC;AACtB;AACA;AACG,IAAC,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC;AACtC,CAAC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;AACtF,CAAC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE;AAC/D,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AACnD,EAAE,IAAI,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;AACxC,CAAC;AACD,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE;AAC/C;;"}
1
+ {"version":3,"file":"hooks.server-rF_eBCff.js","sources":["../../../.svelte-kit/output/server/entries/hooks.server.js"],"sourcesContent":["import { f as startPendingAgentRun } from \"../chunks/agent-sessions.js\";\n//#region src/hooks.server.ts\n/**\n* Hosts aceptados. La UI escucha en 127.0.0.1 y puede lanzar agentes: un Host ajeno (DNS rebinding: un dominio\n* que resuelve a 127.0.0.1) no debe llegar a la app. Los POST de otro origen ya los frena SvelteKit (CSRF).\n*/\nfunction allowedHost(host) {\n\tif (!host) return false;\n\tconst name = host.replace(/:\\d+$/, \"\").replace(/^\\[|\\]$/g, \"\").toLowerCase();\n\tif (name === \"127.0.0.1\" || name === \"localhost\" || name === \"::1\") return true;\n\tconst configured = String(process.env.HOST || \"\").trim().toLowerCase();\n\treturn Boolean(configured) && configured !== \"0.0.0.0\" && configured !== \"::\" && name === configured;\n}\n/** Si la CLI eligió un agente, la review arranca con el server (el navegador la sigue por `?agent=<id>`). */\nvar init = () => {\n\tstartPendingAgentRun();\n};\nvar handle = ({ event, resolve }) => {\n\tif (!allowedHost(event.request.headers.get(\"host\"))) return new Response(\"Host no permitido\", { status: 403 });\n\treturn resolve(event);\n};\n/** Herramienta local: conviene ver el error real (git, devalue, etc.) y no el 500 genérico. */\nvar handleError = ({ error, message }) => {\n\tconsole.error(\"[diff-review]\", error);\n\tif (error instanceof Error && error.message.trim()) return { message: error.message };\n\tif (error && typeof error === \"object\" && \"message\" in error) {\n\t\tconst detail = String(error.message || \"\").trim();\n\t\tif (detail) return { message: detail };\n\t}\n\treturn { message: message || \"Error interno\" };\n};\n//#endregion\nexport { handle, handleError, init };\n"],"names":[],"mappings":";;;;;;;;;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AACxB,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;AAC7E,CAAC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,EAAE,OAAO,IAAI;AAChF,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AACvE,CAAC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,IAAI,KAAK,UAAU;AACrG;AACA;AACG,IAAC,IAAI,GAAG,MAAM;AACjB,CAAC,oBAAoB,EAAE;AACvB;AACG,IAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;AACrC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,QAAQ,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC/G,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC;AACtB;AACA;AACG,IAAC,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC;AACtC,CAAC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;AACtF,CAAC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE;AAC/D,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AACnD,EAAE,IAAI,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;AACxC,CAAC;AACD,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE;AAC/C;;"}