@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,58 @@
|
|
|
1
|
+
const manifest = (() => {
|
|
2
|
+
function __memo(fn) {
|
|
3
|
+
let value;
|
|
4
|
+
return () => value ??= (value = fn());
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
return {
|
|
8
|
+
appDir: "_app",
|
|
9
|
+
appPath: "_app",
|
|
10
|
+
assets: new Set([]),
|
|
11
|
+
mimeTypes: {},
|
|
12
|
+
_: {
|
|
13
|
+
client: {start:"_app/immutable/entry/start.CFSl0kht.js",app:"_app/immutable/entry/app.CTgiuiU1.js",imports:["_app/immutable/entry/start.CFSl0kht.js","_app/immutable/chunks/DPfXzQnm.js","_app/immutable/chunks/D8WOD_eS.js","_app/immutable/entry/app.CTgiuiU1.js","_app/immutable/chunks/D8WOD_eS.js","_app/immutable/chunks/lUYXRDtZ.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
14
|
+
nodes: [
|
|
15
|
+
__memo(() => import('./0-DUStDOsr.js')),
|
|
16
|
+
__memo(() => import('./1-C2qlInYk.js')),
|
|
17
|
+
__memo(() => import('./2-DyE177MK.js')),
|
|
18
|
+
__memo(() => import('./3-SO3atuWO.js'))
|
|
19
|
+
],
|
|
20
|
+
remotes: {
|
|
21
|
+
'1g4ayag': __memo(() => import('./remote-1g4ayag-DmqxwUIz.js')),
|
|
22
|
+
'wh6t6j': __memo(() => import('./remote-wh6t6j-DZk0W9Pp.js'))
|
|
23
|
+
},
|
|
24
|
+
routes: [
|
|
25
|
+
{
|
|
26
|
+
id: "/",
|
|
27
|
+
pattern: /^\/$/,
|
|
28
|
+
params: [],
|
|
29
|
+
page: { layouts: [0,], errors: [1,], leaf: 2 },
|
|
30
|
+
endpoint: null
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: "/api/agent/[id]/events",
|
|
34
|
+
pattern: /^\/api\/agent\/([^/]+?)\/events\/?$/,
|
|
35
|
+
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
36
|
+
page: null,
|
|
37
|
+
endpoint: __memo(() => import('./_server.ts-CRNhzL2a.js'))
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "/report/[id]",
|
|
41
|
+
pattern: /^\/report\/([^/]+?)\/?$/,
|
|
42
|
+
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
43
|
+
page: { layouts: [0,], errors: [1,], leaf: 3 },
|
|
44
|
+
endpoint: null
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
prerendered_routes: new Set([]),
|
|
48
|
+
matchers: async () => {
|
|
49
|
+
|
|
50
|
+
return { };
|
|
51
|
+
},
|
|
52
|
+
server_assets: {}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
})();
|
|
56
|
+
|
|
57
|
+
export { manifest as m };
|
|
58
|
+
//# sourceMappingURL=manifest.js-BIm6jot5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js-BIm6jot5.js","sources":["../../../.svelte-kit/output/server/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([]),\n\tmimeTypes: {},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.CFSl0kht.js\",app:\"_app/immutable/entry/app.CTgiuiU1.js\",imports:[\"_app/immutable/entry/start.CFSl0kht.js\",\"_app/immutable/chunks/DPfXzQnm.js\",\"_app/immutable/chunks/D8WOD_eS.js\",\"_app/immutable/entry/app.CTgiuiU1.js\",\"_app/immutable/chunks/D8WOD_eS.js\",\"_app/immutable/chunks/lUYXRDtZ.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t'1g4ayag': __memo(() => import('./chunks/remote-1g4ayag.js')),\n\t\t\t'wh6t6j': __memo(() => import('./chunks/remote-wh6t6j.js'))\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/agent/[id]/events\",\n\t\t\t\tpattern: /^\\/api\\/agent\\/([^/]+?)\\/events\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/agent/_id_/events/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/report/[id]\",\n\t\t\t\tpattern: /^\\/report\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n"],"names":[],"mappings":"AAAY,MAAC,QAAQ,GAAG,CAAC,MAAM;AAC/B,SAAS,MAAM,CAAC,EAAE,EAAE;AACpB,CAAC,IAAI,KAAK;AACV,CAAC,OAAO,MAAM,KAAK,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;AACtC;;AAEA,OAAO;AACP,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,OAAO,EAAE,MAAM;AAChB,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACpB,CAAC,SAAS,EAAE,EAAE;AACd,CAAC,CAAC,EAAE;AACJ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,GAAG,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,sCAAsC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACrY,EAAE,KAAK,EAAE;AACT,GAAG,MAAM,CAAC,MAAM,OAAO,iBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,iBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,iBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,iBAAc,CAAC;AACtC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,GAAG,SAAS,EAAE,MAAM,CAAC,MAAM,OAAO,8BAA4B,CAAC,CAAC;AAChE,GAAG,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,6BAA2B,CAAC;AAC7D,GAAG;AACH,EAAE,MAAM,EAAE;AACV,GAAG;AACH,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,wBAAwB;AAChC,IAAI,OAAO,EAAE,qCAAqC;AAClD,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzE,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,0BAAyD,CAAC;AAC5F,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,OAAO,EAAE,yBAAyB;AACtC,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzE,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,EAAE,kBAAkB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACjC,EAAE,QAAQ,EAAE,YAAY;AACxB;AACA,GAAG,OAAO,IAAI;AACd,EAAE,CAAC;AACH,EAAE,aAAa,EAAE;AACjB;AACA;AACA,CAAC;;"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { _ as __exportAll, i as init_remote_functions, e as error } from './index.js-lMtDM8ZQ.js';
|
|
2
|
+
import { q as query, c as command, l as loadRepoInfo, a as loadLaunchRepoInfo, d as describeGitError, t as takePendingImport, b as detectReviewOutput, r as resolveOutputName, e as readReviewOutput, w as writeReviewOutput$1, p as pickLocalFolder$1, f as pickReviewJsonFile, g as loadFileLines, h as hydrateReviewPayload } from './git-review-CXKcjYgZ.js';
|
|
3
|
+
import { m as makeOutputFilename, d as decodePayload } from './validate-BsTKyhsq.js';
|
|
4
|
+
import { basename } from 'node:path';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:child_process';
|
|
7
|
+
import 'node:os';
|
|
8
|
+
import 'node:crypto';
|
|
9
|
+
import 'node:process';
|
|
10
|
+
|
|
11
|
+
//#region src/lib/report/git.remote.ts
|
|
12
|
+
var git_remote_exports = /* @__PURE__ */ __exportAll({
|
|
13
|
+
detectOutput: () => detectOutput,
|
|
14
|
+
fileLines: () => fileLines,
|
|
15
|
+
hydrateFromGit: () => hydrateFromGit,
|
|
16
|
+
launchContext: () => launchContext,
|
|
17
|
+
loadDetectedOutput: () => loadDetectedOutput,
|
|
18
|
+
loadRepo: () => loadRepo,
|
|
19
|
+
outputName: () => outputName,
|
|
20
|
+
pendingImport: () => pendingImport,
|
|
21
|
+
pickLocalFolder: () => pickLocalFolder,
|
|
22
|
+
pickReviewFile: () => pickReviewFile,
|
|
23
|
+
writeReviewOutput: () => writeReviewOutput
|
|
24
|
+
});
|
|
25
|
+
function fail(err) {
|
|
26
|
+
const message = describeGitError(err) || "No se pudo hablar con git.";
|
|
27
|
+
console.error("[diff-review git]", message, err);
|
|
28
|
+
error(400, message);
|
|
29
|
+
}
|
|
30
|
+
var loadRepo = /* @__PURE__ */ query("unchecked", async (input) => {
|
|
31
|
+
try {
|
|
32
|
+
return loadRepoInfo(input?.source, String(input?.repo || "").trim());
|
|
33
|
+
} catch (err) {
|
|
34
|
+
fail(err);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
/** Repo del CWD de lanzamiento, o null si no hay git. */
|
|
38
|
+
var launchContext = /* @__PURE__ */ query(async () => {
|
|
39
|
+
try {
|
|
40
|
+
return loadLaunchRepoInfo();
|
|
41
|
+
} catch (err) {
|
|
42
|
+
console.error("[diff-review git] launch context", describeGitError(err), err);
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
/** JSON pendiente del CLI (DIFF_REVIEW_IMPORT_FILE); se consume al leer. */
|
|
47
|
+
var pendingImport = /* @__PURE__ */ query(async () => {
|
|
48
|
+
try {
|
|
49
|
+
return takePendingImport();
|
|
50
|
+
} catch (err) {
|
|
51
|
+
console.error("[diff-review git] pending import", describeGitError(err), err);
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
/** ¿Hay un JSON de review en la raíz del repo local? */
|
|
56
|
+
var detectOutput = /* @__PURE__ */ query("unchecked", async (input) => {
|
|
57
|
+
try {
|
|
58
|
+
return detectReviewOutput(String(input?.repo || "").trim(), input?.preferredName);
|
|
59
|
+
} catch (err) {
|
|
60
|
+
console.error("[diff-review git] detect output", describeGitError(err), err);
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
/** Nombre sugerido con tips cortos (branch/base). */
|
|
65
|
+
var outputName = /* @__PURE__ */ query("unchecked", async (input) => {
|
|
66
|
+
try {
|
|
67
|
+
return resolveOutputName(String(input?.repo || "").trim(), String(input?.branch || "").trim(), String(input?.base || "develop").trim());
|
|
68
|
+
} catch (err) {
|
|
69
|
+
console.error("[diff-review git] output name", describeGitError(err), err);
|
|
70
|
+
return {
|
|
71
|
+
filename: makeOutputFilename({}),
|
|
72
|
+
fingerprint: null
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
/** Lee un JSON detectado en el repo (sin diálogo). */
|
|
77
|
+
var loadDetectedOutput = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
78
|
+
try {
|
|
79
|
+
return readReviewOutput(String(input?.repo || "").trim(), String(input?.filename || "").trim());
|
|
80
|
+
} catch (err) {
|
|
81
|
+
fail(err);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
/** Guarda un JSON de review en `.diff-review/` (p. ej. drag-and-drop → puntero en localStorage). */
|
|
85
|
+
var writeReviewOutput = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
86
|
+
try {
|
|
87
|
+
return writeReviewOutput$1(String(input?.repo || "").trim(), String(input?.filename || "").trim(), input?.payload);
|
|
88
|
+
} catch (err) {
|
|
89
|
+
fail(err);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
var pickLocalFolder = /* @__PURE__ */ command("unchecked", async (_input) => {
|
|
93
|
+
try {
|
|
94
|
+
return await pickLocalFolder$1();
|
|
95
|
+
} catch (err) {
|
|
96
|
+
fail(err);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
/** Diálogo nativo de JSON; `directory` = raíz del repo local. */
|
|
100
|
+
var pickReviewFile = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
101
|
+
try {
|
|
102
|
+
const picked = await pickReviewJsonFile(input?.directory);
|
|
103
|
+
if (!picked) return null;
|
|
104
|
+
return {
|
|
105
|
+
filename: basename(picked.path),
|
|
106
|
+
payload: decodePayload(picked.text)
|
|
107
|
+
};
|
|
108
|
+
} catch (err) {
|
|
109
|
+
fail(err);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
/** Líneas del archivo en el branch revisado, para expandir el contexto oculto de un diff. */
|
|
113
|
+
var fileLines = /* @__PURE__ */ query("unchecked", async (input) => loadFileLines({
|
|
114
|
+
repo: String(input?.repo || "").trim(),
|
|
115
|
+
branch: String(input?.branch || "").trim(),
|
|
116
|
+
base: String(input?.base || "develop").trim(),
|
|
117
|
+
source: input?.source,
|
|
118
|
+
path: String(input?.path || "").trim()
|
|
119
|
+
}));
|
|
120
|
+
var hydrateFromGit = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
121
|
+
try {
|
|
122
|
+
return hydrateReviewPayload({
|
|
123
|
+
repo: String(input?.repo || "").trim(),
|
|
124
|
+
branch: String(input?.branch || "").trim(),
|
|
125
|
+
base: String(input?.base || "develop").trim(),
|
|
126
|
+
source: input?.source,
|
|
127
|
+
payload: input?.payload,
|
|
128
|
+
outputFilename: String(input?.outputFilename || "").trim() || void 0
|
|
129
|
+
});
|
|
130
|
+
} catch (err) {
|
|
131
|
+
fail(err);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
init_remote_functions(git_remote_exports, "src/lib/report/git.remote.ts", "1g4ayag");
|
|
135
|
+
for (const [name, fn] of Object.entries(git_remote_exports)) {
|
|
136
|
+
fn.__.id = "1g4ayag/" + name;
|
|
137
|
+
fn.__.name = name;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
//#region \0sveltekit-remote:1g4ayag
|
|
141
|
+
var _sveltekit_remote_1g4ayag_default = git_remote_exports;
|
|
142
|
+
|
|
143
|
+
export { _sveltekit_remote_1g4ayag_default as default };
|
|
144
|
+
//# sourceMappingURL=remote-1g4ayag-DmqxwUIz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-1g4ayag-DmqxwUIz.js","sources":["../../../.svelte-kit/output/server/chunks/git.remote.js","../../../.svelte-kit/output/server/chunks/remote-1g4ayag.js"],"sourcesContent":["import { tt as __exportAll } from \"./index-server.js\";\nimport { a as command, n as query } from \"./remote.js\";\nimport { N as makeOutputFilename, d as decodePayload } from \"./validate.js\";\nimport { a as loadLaunchRepoInfo, c as pickReviewJsonFile, d as takePendingImport, f as writeReviewOutput$1, i as loadFileLines, l as readReviewOutput, n as detectReviewOutput, o as loadRepoInfo, r as hydrateReviewPayload, s as pickLocalFolder$1, t as describeGitError, u as resolveOutputName } from \"./git-review.js\";\nimport { error } from \"@sveltejs/kit\";\nimport { init_remote_functions } from \"@sveltejs/kit/internal\";\nimport { basename } from \"node:path\";\n//#region src/lib/report/git.remote.ts\nvar git_remote_exports = /* @__PURE__ */ __exportAll({\n\tdetectOutput: () => detectOutput,\n\tfileLines: () => fileLines,\n\thydrateFromGit: () => hydrateFromGit,\n\tlaunchContext: () => launchContext,\n\tloadDetectedOutput: () => loadDetectedOutput,\n\tloadRepo: () => loadRepo,\n\toutputName: () => outputName,\n\tpendingImport: () => pendingImport,\n\tpickLocalFolder: () => pickLocalFolder,\n\tpickReviewFile: () => pickReviewFile,\n\twriteReviewOutput: () => writeReviewOutput\n});\nfunction fail(err) {\n\tconst message = describeGitError(err) || \"No se pudo hablar con git.\";\n\tconsole.error(\"[diff-review git]\", message, err);\n\terror(400, message);\n}\nvar loadRepo = /* @__PURE__ */ query(\"unchecked\", async (input) => {\n\ttry {\n\t\treturn loadRepoInfo(input?.source, String(input?.repo || \"\").trim());\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\n/** Repo del CWD de lanzamiento, o null si no hay git. */\nvar launchContext = /* @__PURE__ */ query(async () => {\n\ttry {\n\t\treturn loadLaunchRepoInfo();\n\t} catch (err) {\n\t\tconsole.error(\"[diff-review git] launch context\", describeGitError(err), err);\n\t\treturn null;\n\t}\n});\n/** JSON pendiente del CLI (DIFF_REVIEW_IMPORT_FILE); se consume al leer. */\nvar pendingImport = /* @__PURE__ */ query(async () => {\n\ttry {\n\t\treturn takePendingImport();\n\t} catch (err) {\n\t\tconsole.error(\"[diff-review git] pending import\", describeGitError(err), err);\n\t\treturn null;\n\t}\n});\n/** ¿Hay un JSON de review en la raíz del repo local? */\nvar detectOutput = /* @__PURE__ */ query(\"unchecked\", async (input) => {\n\ttry {\n\t\treturn detectReviewOutput(String(input?.repo || \"\").trim(), input?.preferredName);\n\t} catch (err) {\n\t\tconsole.error(\"[diff-review git] detect output\", describeGitError(err), err);\n\t\treturn null;\n\t}\n});\n/** Nombre sugerido con tips cortos (branch/base). */\nvar outputName = /* @__PURE__ */ query(\"unchecked\", async (input) => {\n\ttry {\n\t\treturn resolveOutputName(String(input?.repo || \"\").trim(), String(input?.branch || \"\").trim(), String(input?.base || \"develop\").trim());\n\t} catch (err) {\n\t\tconsole.error(\"[diff-review git] output name\", describeGitError(err), err);\n\t\treturn {\n\t\t\tfilename: makeOutputFilename({}),\n\t\t\tfingerprint: null\n\t\t};\n\t}\n});\n/** Lee un JSON detectado en el repo (sin diálogo). */\nvar loadDetectedOutput = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\treturn readReviewOutput(String(input?.repo || \"\").trim(), String(input?.filename || \"\").trim());\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\n/** Guarda un JSON de review en `.diff-review/` (p. ej. drag-and-drop → puntero en localStorage). */\nvar writeReviewOutput = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\treturn writeReviewOutput$1(String(input?.repo || \"\").trim(), String(input?.filename || \"\").trim(), input?.payload);\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\nvar pickLocalFolder = /* @__PURE__ */ command(\"unchecked\", async (_input) => {\n\ttry {\n\t\treturn await pickLocalFolder$1();\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\n/** Diálogo nativo de JSON; `directory` = raíz del repo local. */\nvar pickReviewFile = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\tconst picked = await pickReviewJsonFile(input?.directory);\n\t\tif (!picked) return null;\n\t\treturn {\n\t\t\tfilename: basename(picked.path),\n\t\t\tpayload: decodePayload(picked.text)\n\t\t};\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\n/** Líneas del archivo en el branch revisado, para expandir el contexto oculto de un diff. */\nvar fileLines = /* @__PURE__ */ query(\"unchecked\", async (input) => loadFileLines({\n\trepo: String(input?.repo || \"\").trim(),\n\tbranch: String(input?.branch || \"\").trim(),\n\tbase: String(input?.base || \"develop\").trim(),\n\tsource: input?.source,\n\tpath: String(input?.path || \"\").trim()\n}));\nvar hydrateFromGit = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\treturn hydrateReviewPayload({\n\t\t\trepo: String(input?.repo || \"\").trim(),\n\t\t\tbranch: String(input?.branch || \"\").trim(),\n\t\t\tbase: String(input?.base || \"develop\").trim(),\n\t\t\tsource: input?.source,\n\t\t\tpayload: input?.payload,\n\t\t\toutputFilename: String(input?.outputFilename || \"\").trim() || void 0\n\t\t});\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\ninit_remote_functions(git_remote_exports, \"src/lib/report/git.remote.ts\", \"1g4ayag\");\nfor (const [name, fn] of Object.entries(git_remote_exports)) {\n\tfn.__.id = \"1g4ayag/\" + name;\n\tfn.__.name = name;\n}\n//#endregion\nexport { launchContext as a, outputName as c, hydrateFromGit as i, pendingImport as l, fileLines as n, loadDetectedOutput as o, git_remote_exports as r, loadRepo as s, detectOutput as t, writeReviewOutput as u };\n","import { r as git_remote_exports } from \"./git.remote.js\";\n//#region \\0sveltekit-remote:1g4ayag\nvar _sveltekit_remote_1g4ayag_default = git_remote_exports;\n//#endregion\nexport { _sveltekit_remote_1g4ayag_default as default };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { _ as __exportAll, i as init_remote_functions, e as error } from './index.js-lMtDM8ZQ.js';
|
|
2
|
+
import { q as query, c as command, r as resolveOutputName } from './git-review-CXKcjYgZ.js';
|
|
3
|
+
import { s as startReview$1, o as openChat$1, a as sendMessage$1, r as respondPermission$1, b as setPermissionTrust$1, c as cancelTurn, d as retryReview$1, e as openAgentLogin$1, l as loginCommand, f as listAcpAgents, g as agentModels, h as sessionInfo } from './agent-sessions-kcUaLhK5.js';
|
|
4
|
+
import './validate-BsTKyhsq.js';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:child_process';
|
|
7
|
+
import 'node:path';
|
|
8
|
+
import 'node:os';
|
|
9
|
+
import 'node:crypto';
|
|
10
|
+
import 'node:process';
|
|
11
|
+
import 'node:stream';
|
|
12
|
+
import '@agentclientprotocol/sdk';
|
|
13
|
+
|
|
14
|
+
//#region src/lib/report/agent.remote.ts
|
|
15
|
+
var agent_remote_exports = /* @__PURE__ */ __exportAll({
|
|
16
|
+
acpAgentModels: () => acpAgentModels,
|
|
17
|
+
acpAgents: () => acpAgents,
|
|
18
|
+
agentSession: () => agentSession,
|
|
19
|
+
cancelAgent: () => cancelAgent,
|
|
20
|
+
openAgentLogin: () => openAgentLogin,
|
|
21
|
+
openChat: () => openChat,
|
|
22
|
+
respondPermission: () => respondPermission,
|
|
23
|
+
retryReview: () => retryReview,
|
|
24
|
+
sendMessage: () => sendMessage,
|
|
25
|
+
setPermissionTrust: () => setPermissionTrust,
|
|
26
|
+
startReview: () => startReview
|
|
27
|
+
});
|
|
28
|
+
function fail(err) {
|
|
29
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
30
|
+
console.error("[diff-review agent]", message);
|
|
31
|
+
error(400, message);
|
|
32
|
+
}
|
|
33
|
+
/** Agentes instalados que se pueden lanzar desde la web (los que hablan ACP). */
|
|
34
|
+
var acpAgents = /* @__PURE__ */ query(async () => {
|
|
35
|
+
try {
|
|
36
|
+
return listAcpAgents();
|
|
37
|
+
} catch (err) {
|
|
38
|
+
console.error("[diff-review agent] detect", err);
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* Modelos reales del agente (por ACP). La primera consulta tarda unos segundos: abre una sesión de prueba.
|
|
44
|
+
* Si falla, devuelve `error` + lista vacía (la UI mantiene el fallback y puede reintentar con `force`).
|
|
45
|
+
*/
|
|
46
|
+
var acpAgentModels = /* @__PURE__ */ query("unchecked", async (input) => {
|
|
47
|
+
try {
|
|
48
|
+
return await agentModels(String(input?.agentId || ""), String(input?.repo || "").trim() || process.cwd(), { force: Boolean(input?.force) });
|
|
49
|
+
} catch (err) {
|
|
50
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
51
|
+
console.error("[diff-review agent] models", message);
|
|
52
|
+
return {
|
|
53
|
+
models: [],
|
|
54
|
+
currentModel: "",
|
|
55
|
+
error: message
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
var agentSession = /* @__PURE__ */ query("unchecked", async (input) => sessionInfo(String(input?.id || "")));
|
|
60
|
+
var startReview = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
61
|
+
try {
|
|
62
|
+
const repo = String(input?.repo || "").trim();
|
|
63
|
+
const branch = String(input?.branch || "").trim();
|
|
64
|
+
const base = String(input?.base || "develop").trim();
|
|
65
|
+
if (!repo || !branch) throw new Error("Faltan repo y branch.");
|
|
66
|
+
const { filename } = resolveOutputName(repo, branch, base);
|
|
67
|
+
return startReview$1({
|
|
68
|
+
repo,
|
|
69
|
+
branch,
|
|
70
|
+
base,
|
|
71
|
+
outputFilename: filename,
|
|
72
|
+
agentId: String(input?.agentId || ""),
|
|
73
|
+
model: String(input?.model || "").trim() || void 0
|
|
74
|
+
});
|
|
75
|
+
} catch (err) {
|
|
76
|
+
fail(err);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
var openChat = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
80
|
+
try {
|
|
81
|
+
const outputFilename = String(input?.outputFilename || "").trim() || resolveOutputName(String(input?.repo || "").trim(), String(input?.branch || "").trim(), String(input?.base || "develop").trim()).filename;
|
|
82
|
+
return await openChat$1({
|
|
83
|
+
agentId: String(input?.agentId || ""),
|
|
84
|
+
sessionId: String(input?.sessionId || ""),
|
|
85
|
+
outputFilename,
|
|
86
|
+
repo: String(input?.repo || "").trim(),
|
|
87
|
+
branch: String(input?.branch || "").trim(),
|
|
88
|
+
base: String(input?.base || "develop").trim(),
|
|
89
|
+
model: input?.model,
|
|
90
|
+
seed: input?.seed ?? null
|
|
91
|
+
});
|
|
92
|
+
} catch (err) {
|
|
93
|
+
fail(err);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
var sendMessage = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
97
|
+
try {
|
|
98
|
+
return sendMessage$1(String(input?.id || ""), String(input?.text || ""), input?.mode === "edit" ? "edit" : "ask", { model: String(input?.model || "").trim() || void 0 });
|
|
99
|
+
} catch (err) {
|
|
100
|
+
fail(err);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
var respondPermission = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
104
|
+
try {
|
|
105
|
+
const requestIds = Array.isArray(input?.requestIds) ? input.requestIds.map((id) => String(id || "")).filter(Boolean) : void 0;
|
|
106
|
+
const scope = input?.scope === "session" || input?.scope === "always" ? input.scope : "once";
|
|
107
|
+
return respondPermission$1({
|
|
108
|
+
id: String(input?.id || ""),
|
|
109
|
+
requestId: input?.requestId != null ? String(input.requestId) : void 0,
|
|
110
|
+
requestIds,
|
|
111
|
+
allow: Boolean(input?.allow),
|
|
112
|
+
allowAll: Boolean(input?.allowAll),
|
|
113
|
+
scope
|
|
114
|
+
});
|
|
115
|
+
} catch (err) {
|
|
116
|
+
fail(err);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
/** Activa/desactiva “confiar en esta sesión” (bypass de confirmaciones de permiso). */
|
|
120
|
+
var setPermissionTrust = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
121
|
+
try {
|
|
122
|
+
return setPermissionTrust$1(String(input?.id || ""), Boolean(input?.enabled));
|
|
123
|
+
} catch (err) {
|
|
124
|
+
fail(err);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
var cancelAgent = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
128
|
+
await cancelTurn(String(input?.id || ""));
|
|
129
|
+
});
|
|
130
|
+
/** Reintenta escribir/validar el JSON en la misma sesión de review. */
|
|
131
|
+
var retryReview = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
132
|
+
try {
|
|
133
|
+
return retryReview$1(String(input?.id || ""));
|
|
134
|
+
} catch (err) {
|
|
135
|
+
fail(err);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
/** Abre una terminal con el login del agente (p. ej. `claude /login`). */
|
|
139
|
+
var openAgentLogin = /* @__PURE__ */ command("unchecked", async (input) => {
|
|
140
|
+
try {
|
|
141
|
+
const agentId = String(input?.agentId || "");
|
|
142
|
+
const result = openAgentLogin$1(agentId);
|
|
143
|
+
const cmd = loginCommand(agentId);
|
|
144
|
+
return {
|
|
145
|
+
display: result.display,
|
|
146
|
+
...cmd ? { hint: `Completá el login y después reintentá la review.` } : {}
|
|
147
|
+
};
|
|
148
|
+
} catch (err) {
|
|
149
|
+
fail(err);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
init_remote_functions(agent_remote_exports, "src/lib/report/agent.remote.ts", "wh6t6j");
|
|
153
|
+
for (const [name, fn] of Object.entries(agent_remote_exports)) {
|
|
154
|
+
fn.__.id = "wh6t6j/" + name;
|
|
155
|
+
fn.__.name = name;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
//#region \0sveltekit-remote:wh6t6j
|
|
159
|
+
var _sveltekit_remote_wh6t6j_default = agent_remote_exports;
|
|
160
|
+
|
|
161
|
+
export { _sveltekit_remote_wh6t6j_default as default };
|
|
162
|
+
//# sourceMappingURL=remote-wh6t6j-DZk0W9Pp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-wh6t6j-DZk0W9Pp.js","sources":["../../../.svelte-kit/output/server/chunks/agent.remote.js","../../../.svelte-kit/output/server/chunks/remote-wh6t6j.js"],"sourcesContent":["import { tt as __exportAll } from \"./index-server.js\";\nimport { a as command, n as query } from \"./remote.js\";\nimport { a as openChat$1, c as sendMessage$1, f as startReview$1, g as loginCommand, i as openAgentLogin$1, l as sessionInfo, n as cancelTurn, o as respondPermission$1, r as listAcpAgents, s as retryReview$1, t as agentModels, u as setPermissionTrust$1 } from \"./agent-sessions.js\";\nimport { u as resolveOutputName } from \"./git-review.js\";\nimport { error } from \"@sveltejs/kit\";\nimport { init_remote_functions } from \"@sveltejs/kit/internal\";\n//#region src/lib/report/agent.remote.ts\nvar agent_remote_exports = /* @__PURE__ */ __exportAll({\n\tacpAgentModels: () => acpAgentModels,\n\tacpAgents: () => acpAgents,\n\tagentSession: () => agentSession,\n\tcancelAgent: () => cancelAgent,\n\topenAgentLogin: () => openAgentLogin,\n\topenChat: () => openChat,\n\trespondPermission: () => respondPermission,\n\tretryReview: () => retryReview,\n\tsendMessage: () => sendMessage,\n\tsetPermissionTrust: () => setPermissionTrust,\n\tstartReview: () => startReview\n});\nfunction fail(err) {\n\tconst message = err instanceof Error ? err.message : String(err);\n\tconsole.error(\"[diff-review agent]\", message);\n\terror(400, message);\n}\n/** Agentes instalados que se pueden lanzar desde la web (los que hablan ACP). */\nvar acpAgents = /* @__PURE__ */ query(async () => {\n\ttry {\n\t\treturn listAcpAgents();\n\t} catch (err) {\n\t\tconsole.error(\"[diff-review agent] detect\", err);\n\t\treturn [];\n\t}\n});\n/**\n* Modelos reales del agente (por ACP). La primera consulta tarda unos segundos: abre una sesión de prueba.\n* Si falla, devuelve `error` + lista vacía (la UI mantiene el fallback y puede reintentar con `force`).\n*/\nvar acpAgentModels = /* @__PURE__ */ query(\"unchecked\", async (input) => {\n\ttry {\n\t\treturn await agentModels(String(input?.agentId || \"\"), String(input?.repo || \"\").trim() || process.cwd(), { force: Boolean(input?.force) });\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconsole.error(\"[diff-review agent] models\", message);\n\t\treturn {\n\t\t\tmodels: [],\n\t\t\tcurrentModel: \"\",\n\t\t\terror: message\n\t\t};\n\t}\n});\nvar agentSession = /* @__PURE__ */ query(\"unchecked\", async (input) => sessionInfo(String(input?.id || \"\")));\nvar startReview = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\tconst repo = String(input?.repo || \"\").trim();\n\t\tconst branch = String(input?.branch || \"\").trim();\n\t\tconst base = String(input?.base || \"develop\").trim();\n\t\tif (!repo || !branch) throw new Error(\"Faltan repo y branch.\");\n\t\tconst { filename } = resolveOutputName(repo, branch, base);\n\t\treturn startReview$1({\n\t\t\trepo,\n\t\t\tbranch,\n\t\t\tbase,\n\t\t\toutputFilename: filename,\n\t\t\tagentId: String(input?.agentId || \"\"),\n\t\t\tmodel: String(input?.model || \"\").trim() || void 0\n\t\t});\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\nvar openChat = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\tconst outputFilename = String(input?.outputFilename || \"\").trim() || resolveOutputName(String(input?.repo || \"\").trim(), String(input?.branch || \"\").trim(), String(input?.base || \"develop\").trim()).filename;\n\t\treturn await openChat$1({\n\t\t\tagentId: String(input?.agentId || \"\"),\n\t\t\tsessionId: String(input?.sessionId || \"\"),\n\t\t\toutputFilename,\n\t\t\trepo: String(input?.repo || \"\").trim(),\n\t\t\tbranch: String(input?.branch || \"\").trim(),\n\t\t\tbase: String(input?.base || \"develop\").trim(),\n\t\t\tmodel: input?.model,\n\t\t\tseed: input?.seed ?? null\n\t\t});\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\nvar sendMessage = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\treturn sendMessage$1(String(input?.id || \"\"), String(input?.text || \"\"), input?.mode === \"edit\" ? \"edit\" : \"ask\", { model: String(input?.model || \"\").trim() || void 0 });\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\nvar respondPermission = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\tconst requestIds = Array.isArray(input?.requestIds) ? input.requestIds.map((id) => String(id || \"\")).filter(Boolean) : void 0;\n\t\tconst scope = input?.scope === \"session\" || input?.scope === \"always\" ? input.scope : \"once\";\n\t\treturn respondPermission$1({\n\t\t\tid: String(input?.id || \"\"),\n\t\t\trequestId: input?.requestId != null ? String(input.requestId) : void 0,\n\t\t\trequestIds,\n\t\t\tallow: Boolean(input?.allow),\n\t\t\tallowAll: Boolean(input?.allowAll),\n\t\t\tscope\n\t\t});\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\n/** Activa/desactiva “confiar en esta sesión” (bypass de confirmaciones de permiso). */\nvar setPermissionTrust = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\treturn setPermissionTrust$1(String(input?.id || \"\"), Boolean(input?.enabled));\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\nvar cancelAgent = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\tawait cancelTurn(String(input?.id || \"\"));\n});\n/** Reintenta escribir/validar el JSON en la misma sesión de review. */\nvar retryReview = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\treturn retryReview$1(String(input?.id || \"\"));\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\n/** Abre una terminal con el login del agente (p. ej. `claude /login`). */\nvar openAgentLogin = /* @__PURE__ */ command(\"unchecked\", async (input) => {\n\ttry {\n\t\tconst agentId = String(input?.agentId || \"\");\n\t\tconst result = openAgentLogin$1(agentId);\n\t\tconst cmd = loginCommand(agentId);\n\t\treturn {\n\t\t\tdisplay: result.display,\n\t\t\t...cmd ? { hint: `Completá el login y después reintentá la review.` } : {}\n\t\t};\n\t} catch (err) {\n\t\tfail(err);\n\t}\n});\ninit_remote_functions(agent_remote_exports, \"src/lib/report/agent.remote.ts\", \"wh6t6j\");\nfor (const [name, fn] of Object.entries(agent_remote_exports)) {\n\tfn.__.id = \"wh6t6j/\" + name;\n\tfn.__.name = name;\n}\n//#endregion\nexport { respondPermission as a, cancelAgent as i, agentSession as n, retryReview as o, agent_remote_exports as r, setPermissionTrust as s, acpAgents as t };\n","import { r as agent_remote_exports } from \"./agent.remote.js\";\n//#region \\0sveltekit-remote:wh6t6j\nvar _sveltekit_remote_wh6t6j_default = agent_remote_exports;\n//#endregion\nexport { _sveltekit_remote_wh6t6j_default as default };\n"],"names":[],"mappings":";;;;;;;;;;;;;AAMA;AACA,IAAI,oBAAoB,mBAAmB,WAAW,CAAC;AACvD,CAAC,cAAc,EAAE,MAAM,cAAc;AACrC,CAAC,SAAS,EAAE,MAAM,SAAS;AAC3B,CAAC,YAAY,EAAE,MAAM,YAAY;AACjC,CAAC,WAAW,EAAE,MAAM,WAAW;AAC/B,CAAC,cAAc,EAAE,MAAM,cAAc;AACrC,CAAC,QAAQ,EAAE,MAAM,QAAQ;AACzB,CAAC,iBAAiB,EAAE,MAAM,iBAAiB;AAC3C,CAAC,WAAW,EAAE,MAAM,WAAW;AAC/B,CAAC,WAAW,EAAE,MAAM,WAAW;AAC/B,CAAC,kBAAkB,EAAE,MAAM,kBAAkB;AAC7C,CAAC,WAAW,EAAE,MAAM;AACpB,CAAC,CAAC;AACF,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,CAAC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AACjE,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,OAAO,CAAC;AAC9C,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC;AACpB;AACA;AACA,IAAI,SAAS,mBAAmB,KAAK,CAAC,YAAY;AAClD,CAAC,IAAI;AACL,EAAE,OAAO,aAAa,EAAE;AACxB,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC;AAClD,EAAE,OAAO,EAAE;AACX,CAAC;AACD,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA,IAAI,cAAc,mBAAmB,KAAK,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK;AACzE,CAAC,IAAI;AACL,EAAE,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;AAC7I,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,OAAO,CAAC;AACtD,EAAE,OAAO;AACT,GAAG,MAAM,EAAE,EAAE;AACb,GAAG,YAAY,EAAE,EAAE;AACnB,GAAG,KAAK,EAAE;AACV,GAAG;AACH,CAAC;AACD,CAAC,CAAC;AACF,IAAI,YAAY,mBAAmB,KAAK,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5G,IAAI,WAAW,mBAAmB,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK;AACxE,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AAC/C,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AACnD,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE;AACtD,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AAChE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;AAC5D,EAAE,OAAO,aAAa,CAAC;AACvB,GAAG,IAAI;AACP,GAAG,MAAM;AACT,GAAG,IAAI;AACP,GAAG,cAAc,EAAE,QAAQ;AAC3B,GAAG,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;AACxC,GAAG,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK;AACpD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,CAAC;AACD,CAAC,CAAC;AACF,IAAI,QAAQ,mBAAmB,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK;AACrE,CAAC,IAAI;AACL,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ;AAChN,EAAE,OAAO,MAAM,UAAU,CAAC;AAC1B,GAAG,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;AACxC,GAAG,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;AAC5C,GAAG,cAAc;AACjB,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AACzC,GAAG,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AAC7C,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE;AAChD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK;AACtB,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI;AACxB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,CAAC;AACD,CAAC,CAAC;AACF,IAAI,WAAW,mBAAmB,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK;AACxE,CAAC,IAAI;AACL,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,MAAM,GAAG,MAAM,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;AAC3K,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,CAAC;AACD,CAAC,CAAC;AACF,IAAI,iBAAiB,mBAAmB,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK;AAC9E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AAC/H,EAAE,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,KAAK,SAAS,IAAI,KAAK,EAAE,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM;AAC9F,EAAE,OAAO,mBAAmB,CAAC;AAC7B,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;AAC9B,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;AACzE,GAAG,UAAU;AACb,GAAG,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;AAC/B,GAAG,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;AACrC,GAAG;AACH,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,CAAC;AACD,CAAC,CAAC;AACF;AACA,IAAI,kBAAkB,mBAAmB,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK;AAC/E,CAAC,IAAI;AACL,EAAE,OAAO,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,CAAC;AACD,CAAC,CAAC;AACF,IAAI,WAAW,mBAAmB,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK;AACxE,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC,CAAC;AACF;AACA,IAAI,WAAW,mBAAmB,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK;AACxE,CAAC,IAAI;AACL,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,CAAC;AACD,CAAC,CAAC;AACF;AACA,IAAI,cAAc,mBAAmB,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK;AAC3E,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;AAC9C,EAAE,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;AACnC,EAAE,OAAO;AACT,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,gDAAgD,CAAC,EAAE,GAAG;AAC3E,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,CAAC;AACD,CAAC,CAAC;AACF,qBAAqB,CAAC,oBAAoB,EAAE,gCAAgC,EAAE,QAAQ,CAAC;AACvF,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE;AAC/D,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI;AAC5B,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI;AAClB;;ACnJA;AACG,IAAC,gCAAgC,GAAG;;"}
|