@jpkme/diff-review 0.1.10 → 0.1.13
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.
- package/README.md +38 -15
- package/bin/diff-review.mjs +151 -34
- package/lib/acp-policy.mjs +223 -0
- package/lib/acp-policy.test.mjs +136 -0
- package/lib/acp-shell.mjs +409 -0
- package/lib/acp-shell.test.mjs +158 -0
- package/lib/acp.mjs +368 -0
- package/lib/acp.test.mjs +58 -0
- package/lib/agent-login.mjs +105 -0
- package/lib/agents.mjs +87 -14
- package/lib/agents.test.mjs +4 -6
- package/lib/check-report.mjs +30 -11
- package/lib/check-report.test.mjs +1 -0
- package/lib/extract-cache.test.mjs +162 -0
- package/lib/extract.mjs +197 -1
- package/lib/model-label.mjs +263 -0
- package/lib/model-label.test.mjs +77 -0
- package/lib/models-cache.mjs +75 -0
- package/lib/models-cache.test.mjs +50 -0
- package/lib/output-name.mjs +8 -0
- package/lib/prompt.mjs +168 -22
- package/lib/review-dir.mjs +108 -0
- package/lib/review-meta.mjs +5 -3
- package/lib/review-meta.test.mjs +11 -0
- package/lib/review-prep.mjs +63 -0
- package/lib/validate.mjs +2 -2
- package/lib/wait-output.mjs +46 -23
- package/lib/wait-output.test.mjs +24 -1
- package/package.json +3 -1
- package/web/build/client/_app/immutable/assets/{0.CLQiq3Ed.css → 0.BKRG1f36.css} +1 -1
- package/web/build/client/_app/immutable/assets/0.BKRG1f36.css.br +0 -0
- package/web/build/client/_app/immutable/assets/{0.CLQiq3Ed.css.gz → 0.BKRG1f36.css.gz} +0 -0
- package/web/build/client/_app/immutable/assets/2.tqrMRTM0.css +1 -0
- package/web/build/client/_app/immutable/assets/2.tqrMRTM0.css.br +0 -0
- package/web/build/client/_app/immutable/assets/2.tqrMRTM0.css.gz +0 -0
- package/web/build/client/_app/immutable/assets/3.BT54aVKb.css +1 -0
- package/web/build/client/_app/immutable/assets/3.BT54aVKb.css.br +0 -0
- package/web/build/client/_app/immutable/assets/3.BT54aVKb.css.gz +0 -0
- package/web/build/client/_app/immutable/assets/storage.DqYH0w6R.css +1 -0
- package/web/build/client/_app/immutable/assets/storage.DqYH0w6R.css.br +0 -0
- package/web/build/client/_app/immutable/assets/storage.DqYH0w6R.css.gz +0 -0
- package/web/build/client/_app/immutable/chunks/BXUWMim4.js +213 -0
- package/web/build/client/_app/immutable/chunks/BXUWMim4.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/BXUWMim4.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/Bu1mm6Oz.js +1 -0
- package/web/build/client/_app/immutable/chunks/Bu1mm6Oz.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/Bu1mm6Oz.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/D8WOD_eS.js +3 -0
- package/web/build/client/_app/immutable/chunks/D8WOD_eS.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/D8WOD_eS.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/{BBWAo_yW.js → DPfXzQnm.js} +2 -2
- package/web/build/client/_app/immutable/chunks/DPfXzQnm.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/DPfXzQnm.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/lUYXRDtZ.js +1 -0
- package/web/build/client/_app/immutable/chunks/lUYXRDtZ.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/lUYXRDtZ.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/app.CTgiuiU1.js +2 -0
- package/web/build/client/_app/immutable/entry/app.CTgiuiU1.js.br +0 -0
- package/web/build/client/_app/immutable/entry/app.CTgiuiU1.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/start.CFSl0kht.js +1 -0
- package/web/build/client/_app/immutable/entry/start.CFSl0kht.js.br +0 -0
- package/web/build/client/_app/immutable/entry/start.CFSl0kht.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/0.Dj97JW46.js +1 -0
- package/web/build/client/_app/immutable/nodes/0.Dj97JW46.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/0.Dj97JW46.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/1.0PQZpSbJ.js +1 -0
- package/web/build/client/_app/immutable/nodes/1.0PQZpSbJ.js.br +2 -0
- package/web/build/client/_app/immutable/nodes/1.0PQZpSbJ.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/2.DQaoQoy4.js +10 -0
- package/web/build/client/_app/immutable/nodes/2.DQaoQoy4.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/2.DQaoQoy4.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/3.AciugOtL.js +171 -0
- package/web/build/client/_app/immutable/nodes/3.AciugOtL.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/3.AciugOtL.js.gz +0 -0
- package/web/build/client/_app/version.json +1 -1
- package/web/build/client/_app/version.json.br +0 -0
- package/web/build/client/_app/version.json.gz +0 -0
- package/web/build/handler.js +3 -3
- package/web/build/index.js +3 -3
- package/web/build/server/chunks/0-DUStDOsr.js +11 -0
- package/web/build/server/chunks/{0-SseDy__O.js.map → 0-DUStDOsr.js.map} +1 -1
- package/web/build/server/chunks/1-C2qlInYk.js +7 -0
- package/web/build/server/chunks/1-C2qlInYk.js.map +1 -0
- package/web/build/server/chunks/2-DyE177MK.js +7 -0
- package/web/build/server/chunks/2-DyE177MK.js.map +1 -0
- package/web/build/server/chunks/3-SO3atuWO.js +7 -0
- package/web/build/server/chunks/3-SO3atuWO.js.map +1 -0
- package/web/build/server/chunks/_server.ts-CRNhzL2a.js +62 -0
- package/web/build/server/chunks/_server.ts-CRNhzL2a.js.map +1 -0
- package/web/build/server/chunks/agent-sessions-kcUaLhK5.js +2819 -0
- package/web/build/server/chunks/agent-sessions-kcUaLhK5.js.map +1 -0
- package/web/build/server/chunks/{remote-1g4ayag-B67QMR_2.js → git-review-CXKcjYgZ.js} +70 -704
- package/web/build/server/chunks/git-review-CXKcjYgZ.js.map +1 -0
- package/web/build/server/chunks/{handler-B5P65tLk.js → handler-_E0NucKN.js} +3 -3
- package/web/build/server/chunks/{handler-B5P65tLk.js.map → handler-_E0NucKN.js.map} +1 -1
- package/web/build/server/chunks/hooks.server-D7yPODoc.js +42 -0
- package/web/build/server/chunks/hooks.server-D7yPODoc.js.map +1 -0
- package/web/build/server/chunks/{index.js-CL95e0Gl.js → index.js-lMtDM8ZQ.js} +3 -5
- package/web/build/server/chunks/index.js-lMtDM8ZQ.js.map +1 -0
- package/web/build/server/chunks/manifest.js-BIm6jot5.js +58 -0
- package/web/build/server/chunks/manifest.js-BIm6jot5.js.map +1 -0
- package/web/build/server/chunks/remote-1g4ayag-DmqxwUIz.js +144 -0
- package/web/build/server/chunks/remote-1g4ayag-DmqxwUIz.js.map +1 -0
- package/web/build/server/chunks/remote-wh6t6j-DZk0W9Pp.js +162 -0
- package/web/build/server/chunks/remote-wh6t6j-DZk0W9Pp.js.map +1 -0
- package/web/build/server/chunks/validate-BsTKyhsq.js +1073 -0
- package/web/build/server/chunks/validate-BsTKyhsq.js.map +1 -0
- package/web/build/client/_app/immutable/assets/0.CLQiq3Ed.css.br +0 -0
- package/web/build/client/_app/immutable/assets/2.CNFDEnjx.css +0 -1
- package/web/build/client/_app/immutable/assets/2.CNFDEnjx.css.br +0 -0
- package/web/build/client/_app/immutable/assets/2.CNFDEnjx.css.gz +0 -0
- package/web/build/client/_app/immutable/assets/3.PHTPLlZ7.css +0 -1
- package/web/build/client/_app/immutable/assets/3.PHTPLlZ7.css.br +0 -0
- package/web/build/client/_app/immutable/assets/3.PHTPLlZ7.css.gz +0 -0
- package/web/build/client/_app/immutable/assets/ThemeToggle.DcT79vPK.css +0 -1
- package/web/build/client/_app/immutable/assets/ThemeToggle.DcT79vPK.css.br +0 -0
- package/web/build/client/_app/immutable/assets/ThemeToggle.DcT79vPK.css.gz +0 -0
- package/web/build/client/_app/immutable/chunks/BBWAo_yW.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/BBWAo_yW.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/Dur-vdUf.js +0 -3
- package/web/build/client/_app/immutable/chunks/Dur-vdUf.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/Dur-vdUf.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/QdZF3nkf.js +0 -176
- package/web/build/client/_app/immutable/chunks/QdZF3nkf.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/QdZF3nkf.js.gz +0 -0
- package/web/build/client/_app/immutable/chunks/tYeNsyIK.js +0 -1
- package/web/build/client/_app/immutable/chunks/tYeNsyIK.js.br +0 -0
- package/web/build/client/_app/immutable/chunks/tYeNsyIK.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/app.Dce6uJU3.js +0 -2
- package/web/build/client/_app/immutable/entry/app.Dce6uJU3.js.br +0 -0
- package/web/build/client/_app/immutable/entry/app.Dce6uJU3.js.gz +0 -0
- package/web/build/client/_app/immutable/entry/start.DnBSC38l.js +0 -1
- package/web/build/client/_app/immutable/entry/start.DnBSC38l.js.br +0 -0
- package/web/build/client/_app/immutable/entry/start.DnBSC38l.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/0.s5xmjXoS.js +0 -1
- package/web/build/client/_app/immutable/nodes/0.s5xmjXoS.js.br +0 -1
- package/web/build/client/_app/immutable/nodes/0.s5xmjXoS.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/1.5Iv4ssDT.js +0 -1
- package/web/build/client/_app/immutable/nodes/1.5Iv4ssDT.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/1.5Iv4ssDT.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/2.BomzYVBF.js +0 -66
- package/web/build/client/_app/immutable/nodes/2.BomzYVBF.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/2.BomzYVBF.js.gz +0 -0
- package/web/build/client/_app/immutable/nodes/3.CeUs4lBX.js +0 -170
- package/web/build/client/_app/immutable/nodes/3.CeUs4lBX.js.br +0 -0
- package/web/build/client/_app/immutable/nodes/3.CeUs4lBX.js.gz +0 -0
- package/web/build/server/chunks/0-SseDy__O.js +0 -11
- package/web/build/server/chunks/1-2OO2bb7H.js +0 -7
- package/web/build/server/chunks/1-2OO2bb7H.js.map +0 -1
- package/web/build/server/chunks/2-BJvuqKN6.js +0 -7
- package/web/build/server/chunks/2-BJvuqKN6.js.map +0 -1
- package/web/build/server/chunks/3-ZIl1rHef.js +0 -7
- package/web/build/server/chunks/3-ZIl1rHef.js.map +0 -1
- package/web/build/server/chunks/hooks.server-DERFlOe1.js +0 -14
- package/web/build/server/chunks/hooks.server-DERFlOe1.js.map +0 -1
- package/web/build/server/chunks/index.js-CL95e0Gl.js.map +0 -1
- package/web/build/server/chunks/manifest.js-uD_a0079.js +0 -50
- package/web/build/server/chunks/manifest.js-uD_a0079.js.map +0 -1
- package/web/build/server/chunks/remote-1g4ayag-B67QMR_2.js.map +0 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { j as startPendingAgentRun } from './agent-sessions-kcUaLhK5.js';
|
|
2
|
+
import './validate-BsTKyhsq.js';
|
|
3
|
+
import 'node:fs';
|
|
4
|
+
import 'node:child_process';
|
|
5
|
+
import 'node:path';
|
|
6
|
+
import 'node:os';
|
|
7
|
+
import 'node:stream';
|
|
8
|
+
import '@agentclientprotocol/sdk';
|
|
9
|
+
|
|
10
|
+
//#region src/hooks.server.ts
|
|
11
|
+
/**
|
|
12
|
+
* Hosts aceptados. La UI escucha en 127.0.0.1 y puede lanzar agentes: un Host ajeno (DNS rebinding: un dominio
|
|
13
|
+
* que resuelve a 127.0.0.1) no debe llegar a la app. Los POST de otro origen ya los frena SvelteKit (CSRF).
|
|
14
|
+
*/
|
|
15
|
+
function allowedHost(host) {
|
|
16
|
+
if (!host) return false;
|
|
17
|
+
const name = host.replace(/:\d+$/, "").replace(/^\[|\]$/g, "").toLowerCase();
|
|
18
|
+
if (name === "127.0.0.1" || name === "localhost" || name === "::1") return true;
|
|
19
|
+
const configured = String(process.env.HOST || "").trim().toLowerCase();
|
|
20
|
+
return Boolean(configured) && configured !== "0.0.0.0" && configured !== "::" && name === configured;
|
|
21
|
+
}
|
|
22
|
+
/** Si la CLI eligió un agente, la review arranca con el server (el navegador la sigue por `?agent=<id>`). */
|
|
23
|
+
var init = () => {
|
|
24
|
+
startPendingAgentRun();
|
|
25
|
+
};
|
|
26
|
+
var handle = ({ event, resolve }) => {
|
|
27
|
+
if (!allowedHost(event.request.headers.get("host"))) return new Response("Host no permitido", { status: 403 });
|
|
28
|
+
return resolve(event);
|
|
29
|
+
};
|
|
30
|
+
/** Herramienta local: conviene ver el error real (git, devalue, etc.) y no el 500 genérico. */
|
|
31
|
+
var handleError = ({ error, message }) => {
|
|
32
|
+
console.error("[diff-review]", error);
|
|
33
|
+
if (error instanceof Error && error.message.trim()) return { message: error.message };
|
|
34
|
+
if (error && typeof error === "object" && "message" in error) {
|
|
35
|
+
const detail = String(error.message || "").trim();
|
|
36
|
+
if (detail) return { message: detail };
|
|
37
|
+
}
|
|
38
|
+
return { message: message || "Error interno" };
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { handle, handleError, init };
|
|
42
|
+
//# sourceMappingURL=hooks.server-D7yPODoc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.server-D7yPODoc.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;;"}
|
|
@@ -4732,8 +4732,6 @@ function writable(value, start = noop$1) {
|
|
|
4732
4732
|
subscribe
|
|
4733
4733
|
};
|
|
4734
4734
|
}
|
|
4735
|
-
//#endregion
|
|
4736
|
-
//#region node_modules/svelte/src/utils.js
|
|
4737
4735
|
/**
|
|
4738
4736
|
* Attributes that are boolean, i.e. they are present or not present.
|
|
4739
4737
|
*/
|
|
@@ -7619,7 +7617,7 @@ var options = {
|
|
|
7619
7617
|
app: ({ head, body, assets, nonce, env }) => "<!doctype html>\n<html lang=\"es\">\n <head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <link rel=\"icon\" href=\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='7' fill='%236ea8fe'/></svg>\" />\n " + head + "\n </head>\n <body data-sveltekit-preload-data=\"hover\">\n <div style=\"display: contents\">" + body + "</div>\n </body>\n</html>\n",
|
|
7620
7618
|
error: error_template_default
|
|
7621
7619
|
},
|
|
7622
|
-
version_hash: "
|
|
7620
|
+
version_hash: "nots6r"
|
|
7623
7621
|
};
|
|
7624
7622
|
async function get_hooks() {
|
|
7625
7623
|
let handle;
|
|
@@ -7627,7 +7625,7 @@ async function get_hooks() {
|
|
|
7627
7625
|
let handleError;
|
|
7628
7626
|
let handleValidationError;
|
|
7629
7627
|
let init;
|
|
7630
|
-
({handle, handleFetch, handleError, handleValidationError, init} = await import('./hooks.server-
|
|
7628
|
+
({handle, handleFetch, handleError, handleValidationError, init} = await import('./hooks.server-D7yPODoc.js'));
|
|
7631
7629
|
let reroute;
|
|
7632
7630
|
let transport;
|
|
7633
7631
|
return {
|
|
@@ -11781,4 +11779,4 @@ var Server = class {
|
|
|
11781
11779
|
};
|
|
11782
11780
|
|
|
11783
11781
|
export { HttpError as H, MUTATIVE_METHODS as M, SvelteKitError as S, __exportAll as _, Server as a, stringify_remote_arg as b, create_remote_key as c, error as e, get_request_store as g, handle_error_and_jsonify as h, init_remote_functions as i, noop as n, splitCookiesString as s, with_request_store as w };
|
|
11784
|
-
//# sourceMappingURL=index.js-
|
|
11782
|
+
//# sourceMappingURL=index.js-lMtDM8ZQ.js.map
|