@sentropic/h2a 0.85.16 → 0.85.17
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/.claude-plugin/plugin.json +29 -0
- package/.codex-plugin/plugin.json +35 -0
- package/.mcp.json +19 -0
- package/README.md +3 -0
- package/dist/bin-routing.d.ts +14 -3
- package/dist/bin-routing.d.ts.map +1 -1
- package/dist/bin-routing.js +31 -6
- package/dist/bin-routing.js.map +1 -1
- package/dist/bin.js +45 -14
- package/dist/bin.js.map +1 -1
- package/dist/cli-contract.d.ts.map +1 -1
- package/dist/cli-contract.js +41 -1
- package/dist/cli-contract.js.map +1 -1
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +146 -18
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +1 -0
- package/dist/mcp.js.map +1 -1
- package/dist/runtime/focus/serve.d.ts +42 -0
- package/dist/runtime/focus/serve.d.ts.map +1 -0
- package/dist/runtime/focus/serve.js +366 -0
- package/dist/runtime/focus/serve.js.map +1 -0
- package/dist/runtime/loop/engine/adapters.d.ts +62 -6
- package/dist/runtime/loop/engine/adapters.d.ts.map +1 -1
- package/dist/runtime/loop/engine/adapters.js +272 -36
- package/dist/runtime/loop/engine/adapters.js.map +1 -1
- package/dist/runtime/loop/engine/decision.d.ts.map +1 -1
- package/dist/runtime/loop/engine/decision.js +20 -2
- package/dist/runtime/loop/engine/decision.js.map +1 -1
- package/dist/runtime/loop/engine/execute.d.ts +13 -4
- package/dist/runtime/loop/engine/execute.d.ts.map +1 -1
- package/dist/runtime/loop/engine/execute.js +17 -7
- package/dist/runtime/loop/engine/execute.js.map +1 -1
- package/dist/runtime/loop/index.d.ts +16 -0
- package/dist/runtime/loop/index.d.ts.map +1 -1
- package/dist/runtime/loop/index.js +146 -13
- package/dist/runtime/loop/index.js.map +1 -1
- package/dist/runtime/mcp/agent-launch.d.ts +33 -0
- package/dist/runtime/mcp/agent-launch.d.ts.map +1 -0
- package/dist/runtime/mcp/agent-launch.js +250 -0
- package/dist/runtime/mcp/agent-launch.js.map +1 -0
- package/dist/runtime/mcp/handlers.d.ts +8 -0
- package/dist/runtime/mcp/handlers.d.ts.map +1 -1
- package/dist/runtime/mcp/handlers.js +34 -4
- package/dist/runtime/mcp/handlers.js.map +1 -1
- package/dist/runtime/mcp/index.d.ts +2 -1
- package/dist/runtime/mcp/index.d.ts.map +1 -1
- package/dist/runtime/mcp/index.js +2 -1
- package/dist/runtime/mcp/index.js.map +1 -1
- package/dist/runtime/mcp/server.d.ts +5 -0
- package/dist/runtime/mcp/server.d.ts.map +1 -1
- package/dist/runtime/mcp/server.js +3 -0
- package/dist/runtime/mcp/server.js.map +1 -1
- package/dist/runtime/mcp/stdio.d.ts +17 -0
- package/dist/runtime/mcp/stdio.d.ts.map +1 -1
- package/dist/runtime/mcp/stdio.js +65 -13
- package/dist/runtime/mcp/stdio.js.map +1 -1
- package/dist/runtime/mcp/tools.d.ts.map +1 -1
- package/dist/runtime/mcp/tools.js +96 -5
- package/dist/runtime/mcp/tools.js.map +1 -1
- package/dist/runtime/path-safety.d.ts +3 -0
- package/dist/runtime/path-safety.d.ts.map +1 -0
- package/dist/runtime/path-safety.js +12 -0
- package/dist/runtime/path-safety.js.map +1 -0
- package/dist/runtime/reporting/config.d.ts +21 -0
- package/dist/runtime/reporting/config.d.ts.map +1 -0
- package/dist/runtime/reporting/config.js +76 -0
- package/dist/runtime/reporting/config.js.map +1 -0
- package/dist/runtime/reporting/context.d.ts +27 -0
- package/dist/runtime/reporting/context.d.ts.map +1 -0
- package/dist/runtime/reporting/context.js +265 -0
- package/dist/runtime/reporting/context.js.map +1 -0
- package/dist/runtime/reporting/index.d.ts +4 -0
- package/dist/runtime/reporting/index.d.ts.map +1 -0
- package/dist/runtime/reporting/index.js +4 -0
- package/dist/runtime/reporting/index.js.map +1 -0
- package/dist/runtime/reporting/report-ai.d.ts +49 -0
- package/dist/runtime/reporting/report-ai.d.ts.map +1 -0
- package/dist/runtime/reporting/report-ai.js +325 -0
- package/dist/runtime/reporting/report-ai.js.map +1 -0
- package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css +1 -0
- package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.br +2 -0
- package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.gz +0 -0
- package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css +1 -0
- package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.br +0 -0
- package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js +2 -0
- package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js +1 -0
- package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js +2 -0
- package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js +1 -0
- package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/DEmooz0s.js +1 -0
- package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js +2 -0
- package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js +1 -0
- package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js +1 -0
- package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.gz +0 -0
- package/focus-app/client/_app/immutable/chunks/wbPk3Yxo.js +81 -0
- package/focus-app/client/_app/immutable/chunks/wbPk3Yxo.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/wbPk3Yxo.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js +2 -0
- package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.br +0 -0
- package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js +1 -0
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.br +2 -0
- package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js +5 -0
- package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js +1 -0
- package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js +1 -0
- package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.gz +0 -0
- package/focus-app/client/_app/version.json +1 -0
- package/focus-app/client/_app/version.json.br +0 -0
- package/focus-app/client/_app/version.json.gz +0 -0
- package/focus-app/env.js +70 -0
- package/focus-app/env.js.map +1 -0
- package/focus-app/h2a-focus.json +114 -0
- package/focus-app/handler.js +24 -0
- package/focus-app/handler.js.map +1 -0
- package/focus-app/index.js +147 -0
- package/focus-app/index.js.map +1 -0
- package/focus-app/server/chunks/chunks/exports.js-DUTkELZq.js +217 -0
- package/focus-app/server/chunks/chunks/exports.js-DUTkELZq.js.map +1 -0
- package/focus-app/server/chunks/chunks/false.js-B2gHlHjM.js +4 -0
- package/focus-app/server/chunks/chunks/false.js-B2gHlHjM.js.map +1 -0
- package/focus-app/server/chunks/chunks/friendly.js-D4fjovnZ.js +246 -0
- package/focus-app/server/chunks/chunks/friendly.js-D4fjovnZ.js.map +1 -0
- package/focus-app/server/chunks/chunks/index.js-Di21TltP.js +1315 -0
- package/focus-app/server/chunks/chunks/index.js-Di21TltP.js.map +1 -0
- package/focus-app/server/chunks/chunks/internal.js-33vbd70h.js +126 -0
- package/focus-app/server/chunks/chunks/internal.js-33vbd70h.js.map +1 -0
- package/focus-app/server/chunks/chunks/root.js-DO1m-gJA.js +2967 -0
- package/focus-app/server/chunks/chunks/root.js-DO1m-gJA.js.map +1 -0
- package/focus-app/server/chunks/chunks/server.js-Bf8x1V_n.js +16 -0
- package/focus-app/server/chunks/chunks/server.js-Bf8x1V_n.js.map +1 -0
- package/focus-app/server/chunks/chunks/utils.js-C_3_iViC.js +2545 -0
- package/focus-app/server/chunks/chunks/utils.js-C_3_iViC.js.map +1 -0
- package/focus-app/server/chunks/chunks/utils2.js-BQzn9ikS.js +38 -0
- package/focus-app/server/chunks/chunks/utils2.js-BQzn9ikS.js.map +1 -0
- package/focus-app/server/chunks/entries/endpoints/api/actions/launch/_server.ts.js-DUQcf9xd.js +63 -0
- package/focus-app/server/chunks/entries/endpoints/api/actions/launch/_server.ts.js-DUQcf9xd.js.map +1 -0
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js +100 -0
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js.map +1 -0
- package/focus-app/server/chunks/entries/fallbacks/error.svelte.js-Dj3sETSX.js +50 -0
- package/focus-app/server/chunks/entries/fallbacks/error.svelte.js-Dj3sETSX.js.map +1 -0
- package/focus-app/server/chunks/entries/pages/_layout.svelte.js-BoLsbuC2.js +1420 -0
- package/focus-app/server/chunks/entries/pages/_layout.svelte.js-BoLsbuC2.js.map +1 -0
- package/focus-app/server/chunks/entries/pages/_page.server.ts.js-ChRBj_xK.js +246 -0
- package/focus-app/server/chunks/entries/pages/_page.server.ts.js-ChRBj_xK.js.map +1 -0
- package/focus-app/server/chunks/entries/pages/_page.svelte.js-QDldMYhk.js +2725 -0
- package/focus-app/server/chunks/entries/pages/_page.svelte.js-QDldMYhk.js.map +1 -0
- package/focus-app/server/chunks/handler-Cp_5hLyY.js +1474 -0
- package/focus-app/server/chunks/handler-Cp_5hLyY.js.map +1 -0
- package/focus-app/server/chunks/index.js-CBh7Wjqp.js +4242 -0
- package/focus-app/server/chunks/index.js-CBh7Wjqp.js.map +1 -0
- package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js +56 -0
- package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js.map +1 -0
- package/focus-app/server/chunks/nodes/0.js-4wlmdsk8.js +9 -0
- package/focus-app/server/chunks/nodes/0.js-4wlmdsk8.js.map +1 -0
- package/focus-app/server/chunks/nodes/1.js-B-LpY-lC.js +9 -0
- package/focus-app/server/chunks/nodes/1.js-B-LpY-lC.js.map +1 -0
- package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js +19 -0
- package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js.map +1 -0
- package/focus-app/shims.js +33 -0
- package/focus-app/shims.js.map +1 -0
- package/package.json +8 -4
- package/skills/h2a/SKILL.md +7 -5
- package/skills/harness/SKILL.md +17 -0
- package/skills/harness/using-harness/SKILL.md +26 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exports.js-DUTkELZq.js","sources":["../../../../.svelte-kit/output/server/chunks/exports.js"],"sourcesContent":["import { n as noop } from \"./index.js\";\nimport { s as safe_not_equal } from \"./root.js\";\nconst subscriber_queue = [];\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe\n };\n}\nfunction writable(value, start = noop) {\n let stop = null;\n const subscribers = /* @__PURE__ */ new Set();\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) {\n const run_queue = !subscriber_queue.length;\n for (const subscriber of subscribers) {\n subscriber[1]();\n subscriber_queue.push(subscriber, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(\n /** @type {T} */\n value\n ));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.add(subscriber);\n if (subscribers.size === 1) {\n stop = start(set, update) || noop;\n }\n run(\n /** @type {T} */\n value\n );\n return () => {\n subscribers.delete(subscriber);\n if (subscribers.size === 0 && stop) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nconst SCHEME = /^[a-z][a-z\\d+\\-.]+:/i;\nconst internal = new URL(\"sveltekit-internal://\");\nfunction resolve(base, path) {\n if (path[0] === \"/\" && path[1] === \"/\") return path;\n let url = new URL(base, internal);\n url = new URL(path, url);\n return url.protocol === internal.protocol ? url.pathname + url.search + url.hash : url.href;\n}\nfunction normalize_path(path, trailing_slash) {\n if (path === \"/\" || trailing_slash === \"ignore\") return path;\n if (trailing_slash === \"never\") {\n return path.endsWith(\"/\") ? path.slice(0, -1) : path;\n } else if (trailing_slash === \"always\" && !path.endsWith(\"/\")) {\n return path + \"/\";\n }\n return path;\n}\nfunction decode_pathname(pathname) {\n return pathname.split(\"%25\").map(decodeURI).join(\"%25\");\n}\nfunction decode_params(params) {\n for (const key in params) {\n params[key] = decodeURIComponent(params[key]);\n }\n return params;\n}\nfunction make_trackable(url, callback, search_params_callback, allow_hash = false) {\n const tracked = new URL(url);\n Object.defineProperty(tracked, \"searchParams\", {\n value: new Proxy(tracked.searchParams, {\n get(obj, key) {\n if (key === \"get\" || key === \"getAll\" || key === \"has\") {\n return (param, ...rest) => {\n search_params_callback(param);\n return obj[key](param, ...rest);\n };\n }\n callback();\n const value = Reflect.get(obj, key);\n return typeof value === \"function\" ? value.bind(obj) : value;\n }\n }),\n enumerable: true,\n configurable: true\n });\n const tracked_url_properties = [\"href\", \"pathname\", \"search\", \"toString\", \"toJSON\"];\n if (allow_hash) tracked_url_properties.push(\"hash\");\n for (const property of tracked_url_properties) {\n Object.defineProperty(tracked, property, {\n get() {\n callback();\n return url[property];\n },\n enumerable: true,\n configurable: true\n });\n }\n {\n tracked[/* @__PURE__ */ Symbol.for(\"nodejs.util.inspect.custom\")] = (_depth, opts, inspect) => {\n return inspect(url, opts);\n };\n tracked.searchParams[/* @__PURE__ */ Symbol.for(\"nodejs.util.inspect.custom\")] = (_depth, opts, inspect) => {\n return inspect(url.searchParams, opts);\n };\n }\n if (!allow_hash) {\n disable_hash(tracked);\n }\n return tracked;\n}\nfunction disable_hash(url) {\n allow_nodejs_console_log(url);\n Object.defineProperty(url, \"hash\", {\n get() {\n throw new Error(\n \"Cannot access event.url.hash. Consider using `page.url.hash` inside a component instead\"\n );\n }\n });\n}\nfunction disable_search(url) {\n allow_nodejs_console_log(url);\n for (const property of [\"search\", \"searchParams\"]) {\n Object.defineProperty(url, property, {\n get() {\n throw new Error(`Cannot access url.${property} on a page with prerendering enabled`);\n }\n });\n }\n}\nfunction allow_nodejs_console_log(url) {\n {\n url[/* @__PURE__ */ Symbol.for(\"nodejs.util.inspect.custom\")] = (_depth, opts, inspect) => {\n return inspect(new URL(url), opts);\n };\n }\n}\nfunction validator(expected) {\n function validate(module, file) {\n if (!module) return;\n for (const key in module) {\n if (key[0] === \"_\" || expected.has(key)) continue;\n const values = [...expected.values()];\n const hint = hint_for_supported_files(key, file?.slice(file.lastIndexOf(\".\"))) ?? `valid exports are ${values.join(\", \")}, or anything with a '_' prefix`;\n throw new Error(`Invalid export '${key}'${file ? ` in ${file}` : \"\"} (${hint})`);\n }\n }\n return validate;\n}\nfunction hint_for_supported_files(key, ext = \".js\") {\n const supported_files = [];\n if (valid_layout_exports.has(key)) {\n supported_files.push(`+layout${ext}`);\n }\n if (valid_page_exports.has(key)) {\n supported_files.push(`+page${ext}`);\n }\n if (valid_layout_server_exports.has(key)) {\n supported_files.push(`+layout.server${ext}`);\n }\n if (valid_page_server_exports.has(key)) {\n supported_files.push(`+page.server${ext}`);\n }\n if (valid_server_exports.has(key)) {\n supported_files.push(`+server${ext}`);\n }\n if (supported_files.length > 0) {\n return `'${key}' is a valid export in ${supported_files.slice(0, -1).join(\", \")}${supported_files.length > 1 ? \" or \" : \"\"}${supported_files.at(-1)}`;\n }\n}\nconst valid_layout_exports = /* @__PURE__ */ new Set([\n \"load\",\n \"prerender\",\n \"csr\",\n \"ssr\",\n \"trailingSlash\",\n \"config\"\n]);\nconst valid_page_exports = /* @__PURE__ */ new Set([...valid_layout_exports, \"entries\"]);\nconst valid_layout_server_exports = /* @__PURE__ */ new Set([...valid_layout_exports]);\nconst valid_page_server_exports = /* @__PURE__ */ new Set([...valid_layout_server_exports, \"actions\", \"entries\"]);\nconst valid_server_exports = /* @__PURE__ */ new Set([\n \"GET\",\n \"POST\",\n \"PATCH\",\n \"PUT\",\n \"DELETE\",\n \"OPTIONS\",\n \"HEAD\",\n \"fallback\",\n \"prerender\",\n \"trailingSlash\",\n \"config\",\n \"entries\"\n]);\nconst validate_layout_exports = validator(valid_layout_exports);\nconst validate_page_exports = validator(valid_page_exports);\nconst validate_layout_server_exports = validator(valid_layout_server_exports);\nconst validate_page_server_exports = validator(valid_page_server_exports);\nconst validate_server_exports = validator(valid_server_exports);\nexport {\n SCHEME as S,\n disable_search as a,\n validate_layout_exports as b,\n validate_page_server_exports as c,\n decode_params as d,\n validate_page_exports as e,\n resolve as f,\n decode_pathname as g,\n validate_server_exports as h,\n make_trackable as m,\n normalize_path as n,\n readable as r,\n validate_layout_server_exports as v,\n writable as w\n};\n"],"names":[],"mappings":";;;AAEA,MAAM,gBAAgB,GAAG,EAAE;AAC3B,SAAS,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE;AAChC,EAAE,OAAO;AACT,IAAI,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,GAAG;AACH;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE;AACvC,EAAE,IAAI,IAAI,GAAG,IAAI;AACjB,EAAE,MAAM,WAAW,mBAAmB,IAAI,GAAG,EAAE;AAC/C,EAAE,SAAS,GAAG,CAAC,SAAS,EAAE;AAC1B,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE;AAC1C,MAAM,KAAK,GAAG,SAAS;AACvB,MAAM,IAAI,IAAI,EAAE;AAChB,QAAQ,MAAM,SAAS,GAAG,CAAC,gBAAgB,CAAC,MAAM;AAClD,QAAQ,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;AAC9C,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE;AACzB,UAAU,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;AAClD,QAAQ;AACR,QAAQ,IAAI,SAAS,EAAE;AACvB,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC/D,YAAY,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,UAAU;AACV,UAAU,gBAAgB,CAAC,MAAM,GAAG,CAAC;AACrC,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,SAAS,MAAM,CAAC,EAAE,EAAE;AACtB,IAAI,GAAG,CAAC,EAAE;AACV;AACA,MAAM;AACN,KAAK,CAAC;AACN,EAAE;AACF,EAAE,SAAS,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,EAAE;AAC7C,IAAI,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC;AACxC,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;AAC/B,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;AAChC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI;AACvC,IAAI;AACJ,IAAI,GAAG;AACP;AACA,MAAM;AACN,KAAK;AACL,IAAI,OAAO,MAAM;AACjB,MAAM,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;AACpC,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE;AAC1C,QAAQ,IAAI,EAAE;AACd,QAAQ,IAAI,GAAG,IAAI;AACnB,MAAM;AACN,IAAI,CAAC;AACL,EAAE;AACF,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;AACnC;AAEA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC;AACjD,SAAS,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE;AAC7B,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,IAAI;AACrD,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnC,EAAE,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;AAC1B,EAAE,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI;AAC7F;AACA,SAAS,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE;AAC9C,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,cAAc,KAAK,QAAQ,EAAE,OAAO,IAAI;AAC9D,EAAE,IAAI,cAAc,KAAK,OAAO,EAAE;AAClC,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI;AACxD,EAAE,CAAC,MAAM,IAAI,cAAc,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACjE,IAAI,OAAO,IAAI,GAAG,GAAG;AACrB,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,eAAe,CAAC,QAAQ,EAAE;AACnC,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACzD;AACA,SAAS,aAAa,CAAC,MAAM,EAAE;AAC/B,EAAE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjD,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA,SAAS,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,UAAU,GAAG,KAAK,EAAE;AACnF,EAAE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;AAC9B,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE;AACjD,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE;AAC3C,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE;AACpB,QAAQ,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK,EAAE;AAChE,UAAU,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,KAAK;AACrC,YAAY,sBAAsB,CAAC,KAAK,CAAC;AACzC,YAAY,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;AAC3C,UAAU,CAAC;AACX,QAAQ;AACR,QAAQ,QAAQ,EAAE;AAClB,QAAQ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAC3C,QAAQ,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;AACpE,MAAM;AACN,KAAK,CAAC;AACN,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,YAAY,EAAE;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;AACrF,EAAE,IAAI,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC;AACrD,EAAE,KAAK,MAAM,QAAQ,IAAI,sBAAsB,EAAE;AACjD,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;AAC7C,MAAM,GAAG,GAAG;AACZ,QAAQ,QAAQ,EAAE;AAClB,QAAQ,OAAO,GAAG,CAAC,QAAQ,CAAC;AAC5B,MAAM,CAAC;AACP,MAAM,UAAU,EAAE,IAAI;AACtB,MAAM,YAAY,EAAE;AACpB,KAAK,CAAC;AACN,EAAE;AACF,EAAE;AACF,IAAI,OAAO,iBAAiB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK;AACnG,MAAM,OAAO,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;AAC/B,IAAI,CAAC;AACL,IAAI,OAAO,CAAC,YAAY,iBAAiB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK;AAChH,MAAM,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC;AAC5C,IAAI,CAAC;AACL,EAAE;AACF,EAAE,IAAI,CAAC,UAAU,EAAE;AACnB,IAAI,YAAY,CAAC,OAAO,CAAC;AACzB,EAAE;AACF,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,YAAY,CAAC,GAAG,EAAE;AAC3B,EAAE,wBAAwB,CAAC,GAAG,CAAC;AAC/B,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE;AACrC,IAAI,GAAG,GAAG;AACV,MAAM,MAAM,IAAI,KAAK;AACrB,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,GAAG,CAAC;AACJ;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,wBAAwB,CAAC,GAAG,CAAC;AAC/B,EAAE,KAAK,MAAM,QAAQ,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE;AACrD,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;AACzC,MAAM,GAAG,GAAG;AACZ,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,kBAAkB,EAAE,QAAQ,CAAC,oCAAoC,CAAC,CAAC;AAC5F,MAAM;AACN,KAAK,CAAC;AACN,EAAE;AACF;AACA,SAAS,wBAAwB,CAAC,GAAG,EAAE;AACvC,EAAE;AACF,IAAI,GAAG,iBAAiB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK;AAC/F,MAAM,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;AACxC,IAAI,CAAC;AACL,EAAE;AACF;AACA,SAAS,SAAS,CAAC,QAAQ,EAAE;AAC7B,EAAE,SAAS,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE;AAClC,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,IAAI,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAC/C,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC3C,MAAM,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,+BAA+B,CAAC;AAC/J,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACtF,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,wBAAwB,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,EAAE;AACpD,EAAE,MAAM,eAAe,GAAG,EAAE;AAC5B,EAAE,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACrC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACzC,EAAE;AACF,EAAE,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACnC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACvC,EAAE;AACF,EAAE,IAAI,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAC5C,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;AAChD,EAAE;AACF,EAAE,IAAI,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAC1C,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9C,EAAE;AACF,EAAE,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACrC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AACzC,EAAE;AACF,EAAE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,IAAI,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,uBAAuB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzJ,EAAE;AACF;AACA,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,CAAC;AACrD,EAAE,MAAM;AACR,EAAE,WAAW;AACb,EAAE,KAAK;AACP,EAAE,KAAK;AACP,EAAE,eAAe;AACjB,EAAE;AACF,CAAC,CAAC;AACF,MAAM,kBAAkB,mBAAmB,IAAI,GAAG,CAAC,CAAC,GAAG,oBAAoB,EAAE,SAAS,CAAC,CAAC;AACxF,MAAM,2BAA2B,mBAAmB,IAAI,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC;AACtF,MAAM,yBAAyB,mBAAmB,IAAI,GAAG,CAAC,CAAC,GAAG,2BAA2B,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACjH,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,CAAC;AACrD,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE,WAAW;AACb,EAAE,eAAe;AACjB,EAAE,QAAQ;AACV,EAAE;AACF,CAAC,CAAC;AACG,MAAC,uBAAuB,GAAG,SAAS,CAAC,oBAAoB;AACzD,MAAC,qBAAqB,GAAG,SAAS,CAAC,kBAAkB;AACrD,MAAC,8BAA8B,GAAG,SAAS,CAAC,2BAA2B;AACvE,MAAC,4BAA4B,GAAG,SAAS,CAAC,yBAAyB;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"false.js-B2gHlHjM.js","sources":["../../../../.svelte-kit/output/server/chunks/false.js"],"sourcesContent":["const DEV = false;\nexport {\n DEV as D\n};\n"],"names":[],"mappings":"AAAK,MAAC,GAAG,GAAG;;;;"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { pathToFileURL } from 'node:url';
|
|
5
|
+
|
|
6
|
+
function doneDates(eventsPath) {
|
|
7
|
+
const out = {};
|
|
8
|
+
let raw;
|
|
9
|
+
try {
|
|
10
|
+
raw = readFileSync(eventsPath, "utf8");
|
|
11
|
+
} catch {
|
|
12
|
+
return out;
|
|
13
|
+
}
|
|
14
|
+
for (const line of raw.split("\n")) {
|
|
15
|
+
if (!line.trim()) continue;
|
|
16
|
+
try {
|
|
17
|
+
const e = JSON.parse(line);
|
|
18
|
+
if (e.type === "realization.transition" && e.payload?.to === "done" && e.aggregateId && e.at) {
|
|
19
|
+
if (!out[e.aggregateId] || e.at > out[e.aggregateId]) out[e.aggregateId] = e.at;
|
|
20
|
+
}
|
|
21
|
+
} catch {
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return out;
|
|
25
|
+
}
|
|
26
|
+
function repoRoot() {
|
|
27
|
+
return process.env.FOCUS_REPO_ROOT ?? path.resolve(process.cwd(), "..", "..");
|
|
28
|
+
}
|
|
29
|
+
let cached;
|
|
30
|
+
const INSTALLED_TRACK_PACKAGE = "@sentropic/track";
|
|
31
|
+
function compatibleTrack(mod, source) {
|
|
32
|
+
const candidate = mod;
|
|
33
|
+
if (typeof candidate.TrackReader !== "function" || typeof candidate.formatWpConductor !== "function") {
|
|
34
|
+
throw new Error(
|
|
35
|
+
`track runtime incompatible (${source}): TrackReader or formatWpConductor is missing.`
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
return candidate;
|
|
39
|
+
}
|
|
40
|
+
async function loadTrack(root) {
|
|
41
|
+
if (cached) return cached;
|
|
42
|
+
const dist = path.join(root, "packages", "track", "dist", "index.js");
|
|
43
|
+
if (existsSync(dist)) {
|
|
44
|
+
cached = compatibleTrack(await import(
|
|
45
|
+
/* @vite-ignore */
|
|
46
|
+
pathToFileURL(dist).href
|
|
47
|
+
), dist);
|
|
48
|
+
return cached;
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
cached = compatibleTrack(
|
|
52
|
+
await import(
|
|
53
|
+
/* @vite-ignore */
|
|
54
|
+
INSTALLED_TRACK_PACKAGE
|
|
55
|
+
),
|
|
56
|
+
INSTALLED_TRACK_PACKAGE
|
|
57
|
+
);
|
|
58
|
+
return cached;
|
|
59
|
+
} catch (err) {
|
|
60
|
+
throw new Error(
|
|
61
|
+
`track runtime introuvable: ni build monorepo (${dist}) ni package @sentropic/track installé (${err instanceof Error ? err.message : String(err)}).`
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function baselineCommit(root) {
|
|
66
|
+
try {
|
|
67
|
+
return execSync("git rev-parse HEAD", { cwd: root, stdio: ["ignore", "pipe", "ignore"] }).toString().trim();
|
|
68
|
+
} catch {
|
|
69
|
+
return "HEAD";
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function lastReleaseAt(root) {
|
|
73
|
+
try {
|
|
74
|
+
const out = execSync("git log -1 --format=%cI --grep='^release: v'", {
|
|
75
|
+
cwd: root,
|
|
76
|
+
stdio: ["ignore", "pipe", "ignore"]
|
|
77
|
+
}).toString().trim();
|
|
78
|
+
return out || void 0;
|
|
79
|
+
} catch {
|
|
80
|
+
return void 0;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async function loadReport() {
|
|
84
|
+
try {
|
|
85
|
+
const root = repoRoot();
|
|
86
|
+
const eventsPath = process.env.FOCUS_TRACK_EVENTS ?? path.join(root, ".track", "events.jsonl");
|
|
87
|
+
if (!existsSync(eventsPath)) {
|
|
88
|
+
return { ok: false, error: `Journal track introuvable (${eventsPath}).` };
|
|
89
|
+
}
|
|
90
|
+
const track = await loadTrack(root);
|
|
91
|
+
const commit = baselineCommit(root);
|
|
92
|
+
const reader = new track.TrackReader(eventsPath);
|
|
93
|
+
const report = reader.report({ baselineCommit: commit, decisions: true, wpTree: true });
|
|
94
|
+
const viewJson = track.formatWpConductor(report.wpTree ?? [], "json", report.decisions ?? []);
|
|
95
|
+
const view = JSON.parse(viewJson);
|
|
96
|
+
return {
|
|
97
|
+
ok: true,
|
|
98
|
+
repo: path.basename(root),
|
|
99
|
+
baselineCommit: commit,
|
|
100
|
+
generatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
101
|
+
buckets: report.buckets,
|
|
102
|
+
view,
|
|
103
|
+
dates: doneDates(eventsPath),
|
|
104
|
+
lastReleaseAt: lastReleaseAt(root)
|
|
105
|
+
};
|
|
106
|
+
} catch (err) {
|
|
107
|
+
return { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function cleanText(s) {
|
|
111
|
+
return s.replace(/\s+/g, " ").trim();
|
|
112
|
+
}
|
|
113
|
+
const RANK_BADGE = {
|
|
114
|
+
P1_GATE: { label: "Prioritaire", tone: "critical" },
|
|
115
|
+
P2_ACCEPTANCE: { label: "À revérifier", tone: "warning" },
|
|
116
|
+
P3_IN_PROGRESS: { label: "En cours", tone: "info" },
|
|
117
|
+
P4_TODO_WSJF: { label: "À planifier", tone: "neutral" },
|
|
118
|
+
P5_FALLBACK: { label: "À examiner", tone: "neutral" }
|
|
119
|
+
};
|
|
120
|
+
function rankBadgeFr(rank) {
|
|
121
|
+
return RANK_BADGE[rank] ?? { label: "À examiner", tone: "neutral" };
|
|
122
|
+
}
|
|
123
|
+
const GATE_PHRASE = {
|
|
124
|
+
"decision-pending": "En attente d’une décision",
|
|
125
|
+
"engagement-pending": "En attente d’un partenaire (h2a)",
|
|
126
|
+
"external-dependency": "Bloqué par une dépendance externe",
|
|
127
|
+
"linked-dependency": "Bloqué par une autre tâche",
|
|
128
|
+
"manual-blocker": "Bloqué manuellement",
|
|
129
|
+
"spec-not-ready": "À spécifier avant de démarrer",
|
|
130
|
+
"acceptance-failed": "Vérification en échec",
|
|
131
|
+
"acceptance-stale": "Vérification à refaire",
|
|
132
|
+
"priority-missing": "Priorité à définir"
|
|
133
|
+
};
|
|
134
|
+
function gatePhraseFr(gate) {
|
|
135
|
+
if (!gate)
|
|
136
|
+
return void 0;
|
|
137
|
+
const phrase = GATE_PHRASE[gate.code] ?? "À examiner";
|
|
138
|
+
if (gate.blockedByTitle && gate.blockedByTitle.trim() !== "") {
|
|
139
|
+
return `${phrase} : « ${cleanText(gate.blockedByTitle)} »`;
|
|
140
|
+
}
|
|
141
|
+
return phrase;
|
|
142
|
+
}
|
|
143
|
+
const STEP_ACTION = {
|
|
144
|
+
"focus-decision": "Instruire le dossier puis trancher",
|
|
145
|
+
"settle-decision": "Trancher la décision",
|
|
146
|
+
"resume-engagement": "Relancer le partenaire puis intégrer le retour",
|
|
147
|
+
"resolve-external-blocker": "Lever le blocage puis reprendre",
|
|
148
|
+
"amend-spec": "Rédiger la spécification",
|
|
149
|
+
"fix-acceptance": "Corriger puis relancer la vérification",
|
|
150
|
+
"rerun-acceptance": "Relancer la vérification sur le commit courant",
|
|
151
|
+
"finish-increment": "Terminer l’incrément en cours",
|
|
152
|
+
"start-increment": "Démarrer l’incrément (preuve + vérification)",
|
|
153
|
+
"prioritize-backlog": "Prioriser le backlog",
|
|
154
|
+
"inspect-fallback": "Inspecter l’état puis décider la suite"
|
|
155
|
+
};
|
|
156
|
+
function stepActionFr(step) {
|
|
157
|
+
return STEP_ACTION[step] ?? "Inspecter l’état puis décider la suite";
|
|
158
|
+
}
|
|
159
|
+
function modeActorFr(mode) {
|
|
160
|
+
switch (mode) {
|
|
161
|
+
case "human-decision":
|
|
162
|
+
return "Vous (décision)";
|
|
163
|
+
case "h2a-engagement":
|
|
164
|
+
return "Partenaire h2a";
|
|
165
|
+
case "subagent":
|
|
166
|
+
return "Sous-agent";
|
|
167
|
+
case "local":
|
|
168
|
+
return "Local";
|
|
169
|
+
default:
|
|
170
|
+
return "À affecter";
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
function adviceNatureFr(kind) {
|
|
174
|
+
return kind === "judgment-required" ? "Décision" : "Action";
|
|
175
|
+
}
|
|
176
|
+
const KIND_FR = {
|
|
177
|
+
feature: "Fonctionnalité",
|
|
178
|
+
bug: "Correctif",
|
|
179
|
+
chore: "Tâche"
|
|
180
|
+
};
|
|
181
|
+
function kindFr(k) {
|
|
182
|
+
return KIND_FR[k] ?? k;
|
|
183
|
+
}
|
|
184
|
+
const SUBJECT_MAX = 90;
|
|
185
|
+
function subjectOf(d) {
|
|
186
|
+
const t = cleanText(d.target.title ?? d.target.id);
|
|
187
|
+
return t.length > SUBJECT_MAX ? t.slice(0, 88) + "…" : t;
|
|
188
|
+
}
|
|
189
|
+
function isLaunchable(d) {
|
|
190
|
+
return d.mode === "subagent" || d.mode === "local";
|
|
191
|
+
}
|
|
192
|
+
function todoRowFr(d) {
|
|
193
|
+
const gate = gatePhraseFr(d.gate);
|
|
194
|
+
return {
|
|
195
|
+
id: d.id,
|
|
196
|
+
subject: subjectOf(d),
|
|
197
|
+
action: stepActionFr(d.step.code),
|
|
198
|
+
actor: modeActorFr(d.mode),
|
|
199
|
+
nature: adviceNatureFr(d.adviceKind),
|
|
200
|
+
badge: rankBadgeFr(d.rank),
|
|
201
|
+
...gate !== void 0 ? { gate } : {},
|
|
202
|
+
launchable: isLaunchable(d),
|
|
203
|
+
...d.scope.wpLabel !== void 0 ? { wp: d.scope.wpLabel } : {},
|
|
204
|
+
...d.facts.fanIn !== void 0 ? { fanIn: d.facts.fanIn } : {},
|
|
205
|
+
...d.facts.wsjf !== void 0 ? { wsjf: d.facts.wsjf } : {}
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function precoRowFr(d) {
|
|
209
|
+
const gate = gatePhraseFr(d.gate);
|
|
210
|
+
const lever = d.facts.fanIn !== void 0 && d.facts.fanIn > 0 ? `Débloque ${d.facts.fanIn} autre(s) tâche(s)` : gate ?? (d.mode === "human-decision" ? "Décision en attente" : "Fait avancer le WP concerné");
|
|
211
|
+
return {
|
|
212
|
+
id: d.id,
|
|
213
|
+
title: subjectOf(d),
|
|
214
|
+
why: lever,
|
|
215
|
+
action: stepActionFr(d.step.code),
|
|
216
|
+
actor: modeActorFr(d.mode),
|
|
217
|
+
badge: rankBadgeFr(d.rank),
|
|
218
|
+
launchable: isLaunchable(d)
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function shortWorkspace(ws) {
|
|
222
|
+
if (!ws)
|
|
223
|
+
return void 0;
|
|
224
|
+
const body = ws.startsWith("ws:") ? ws.slice(3) : ws;
|
|
225
|
+
return body.length > 10 ? `ws:${body.slice(0, 8)}…` : ws;
|
|
226
|
+
}
|
|
227
|
+
function decisionRowFr(d, repo) {
|
|
228
|
+
const concerns = subjectOf(d);
|
|
229
|
+
const wp = d.scope.wpLabel;
|
|
230
|
+
const why = gatePhraseFr(d.gate) ?? "Décision d’orientation à trancher";
|
|
231
|
+
const ws = shortWorkspace(d.target.workspace);
|
|
232
|
+
return {
|
|
233
|
+
id: d.id,
|
|
234
|
+
question: d.gate?.blockedByTitle ? cleanText(d.gate.blockedByTitle) : concerns,
|
|
235
|
+
concerns,
|
|
236
|
+
action: stepActionFr(d.step.code),
|
|
237
|
+
actor: modeActorFr(d.mode),
|
|
238
|
+
project: repo,
|
|
239
|
+
...ws !== void 0 ? { workspace: ws } : {},
|
|
240
|
+
...wp !== void 0 ? { wp } : {},
|
|
241
|
+
summary: `Concerne « ${concerns} »${wp ? ` · ${wp}` : ""} — ${why}.`
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export { subjectOf as a, cleanText as c, decisionRowFr as d, isLaunchable as i, kindFr as k, loadReport as l, modeActorFr as m, precoRowFr as p, stepActionFr as s, todoRowFr as t };
|
|
246
|
+
//# sourceMappingURL=friendly.js-D4fjovnZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"friendly.js-D4fjovnZ.js","sources":["../../../../.svelte-kit/output/server/chunks/friendly.js"],"sourcesContent":["import { execSync } from \"node:child_process\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nfunction doneDates(eventsPath) {\n const out = {};\n let raw;\n try {\n raw = readFileSync(eventsPath, \"utf8\");\n } catch {\n return out;\n }\n for (const line of raw.split(\"\\n\")) {\n if (!line.trim()) continue;\n try {\n const e = JSON.parse(line);\n if (e.type === \"realization.transition\" && e.payload?.to === \"done\" && e.aggregateId && e.at) {\n if (!out[e.aggregateId] || e.at > out[e.aggregateId]) out[e.aggregateId] = e.at;\n }\n } catch {\n }\n }\n return out;\n}\nfunction repoRoot() {\n return process.env.FOCUS_REPO_ROOT ?? path.resolve(process.cwd(), \"..\", \"..\");\n}\nlet cached;\nconst INSTALLED_TRACK_PACKAGE = \"@sentropic/track\";\nfunction compatibleTrack(mod, source) {\n const candidate = mod;\n if (typeof candidate.TrackReader !== \"function\" || typeof candidate.formatWpConductor !== \"function\") {\n throw new Error(\n `track runtime incompatible (${source}): TrackReader or formatWpConductor is missing.`\n );\n }\n return candidate;\n}\nasync function loadTrack(root) {\n if (cached) return cached;\n const dist = path.join(root, \"packages\", \"track\", \"dist\", \"index.js\");\n if (existsSync(dist)) {\n cached = compatibleTrack(await import(\n /* @vite-ignore */\n pathToFileURL(dist).href\n ), dist);\n return cached;\n }\n try {\n cached = compatibleTrack(\n await import(\n /* @vite-ignore */\n INSTALLED_TRACK_PACKAGE\n ),\n INSTALLED_TRACK_PACKAGE\n );\n return cached;\n } catch (err) {\n throw new Error(\n `track runtime introuvable: ni build monorepo (${dist}) ni package @sentropic/track installé (${err instanceof Error ? err.message : String(err)}).`\n );\n }\n}\nfunction baselineCommit(root) {\n try {\n return execSync(\"git rev-parse HEAD\", { cwd: root, stdio: [\"ignore\", \"pipe\", \"ignore\"] }).toString().trim();\n } catch {\n return \"HEAD\";\n }\n}\nfunction lastReleaseAt(root) {\n try {\n const out = execSync(\"git log -1 --format=%cI --grep='^release: v'\", {\n cwd: root,\n stdio: [\"ignore\", \"pipe\", \"ignore\"]\n }).toString().trim();\n return out || void 0;\n } catch {\n return void 0;\n }\n}\nasync function loadReport() {\n try {\n const root = repoRoot();\n const eventsPath = process.env.FOCUS_TRACK_EVENTS ?? path.join(root, \".track\", \"events.jsonl\");\n if (!existsSync(eventsPath)) {\n return { ok: false, error: `Journal track introuvable (${eventsPath}).` };\n }\n const track = await loadTrack(root);\n const commit = baselineCommit(root);\n const reader = new track.TrackReader(eventsPath);\n const report = reader.report({ baselineCommit: commit, decisions: true, wpTree: true });\n const viewJson = track.formatWpConductor(report.wpTree ?? [], \"json\", report.decisions ?? []);\n const view = JSON.parse(viewJson);\n return {\n ok: true,\n repo: path.basename(root),\n baselineCommit: commit,\n generatedAt: (/* @__PURE__ */ new Date()).toISOString(),\n buckets: report.buckets,\n view,\n dates: doneDates(eventsPath),\n lastReleaseAt: lastReleaseAt(root)\n };\n } catch (err) {\n return { ok: false, error: err instanceof Error ? err.message : String(err) };\n }\n}\nfunction cleanText(s) {\n return s.replace(/\\s+/g, \" \").trim();\n}\nconst RANK_BADGE = {\n P1_GATE: { label: \"Prioritaire\", tone: \"critical\" },\n P2_ACCEPTANCE: { label: \"À revérifier\", tone: \"warning\" },\n P3_IN_PROGRESS: { label: \"En cours\", tone: \"info\" },\n P4_TODO_WSJF: { label: \"À planifier\", tone: \"neutral\" },\n P5_FALLBACK: { label: \"À examiner\", tone: \"neutral\" }\n};\nfunction rankBadgeFr(rank) {\n return RANK_BADGE[rank] ?? { label: \"À examiner\", tone: \"neutral\" };\n}\nconst GATE_PHRASE = {\n \"decision-pending\": \"En attente d’une décision\",\n \"engagement-pending\": \"En attente d’un partenaire (h2a)\",\n \"external-dependency\": \"Bloqué par une dépendance externe\",\n \"linked-dependency\": \"Bloqué par une autre tâche\",\n \"manual-blocker\": \"Bloqué manuellement\",\n \"spec-not-ready\": \"À spécifier avant de démarrer\",\n \"acceptance-failed\": \"Vérification en échec\",\n \"acceptance-stale\": \"Vérification à refaire\",\n \"priority-missing\": \"Priorité à définir\"\n};\nfunction gatePhraseFr(gate) {\n if (!gate)\n return void 0;\n const phrase = GATE_PHRASE[gate.code] ?? \"À examiner\";\n if (gate.blockedByTitle && gate.blockedByTitle.trim() !== \"\") {\n return `${phrase} : « ${cleanText(gate.blockedByTitle)} »`;\n }\n return phrase;\n}\nconst STEP_ACTION = {\n \"focus-decision\": \"Instruire le dossier puis trancher\",\n \"settle-decision\": \"Trancher la décision\",\n \"resume-engagement\": \"Relancer le partenaire puis intégrer le retour\",\n \"resolve-external-blocker\": \"Lever le blocage puis reprendre\",\n \"amend-spec\": \"Rédiger la spécification\",\n \"fix-acceptance\": \"Corriger puis relancer la vérification\",\n \"rerun-acceptance\": \"Relancer la vérification sur le commit courant\",\n \"finish-increment\": \"Terminer l’incrément en cours\",\n \"start-increment\": \"Démarrer l’incrément (preuve + vérification)\",\n \"prioritize-backlog\": \"Prioriser le backlog\",\n \"inspect-fallback\": \"Inspecter l’état puis décider la suite\"\n};\nfunction stepActionFr(step) {\n return STEP_ACTION[step] ?? \"Inspecter l’état puis décider la suite\";\n}\nfunction modeActorFr(mode) {\n switch (mode) {\n case \"human-decision\":\n return \"Vous (décision)\";\n case \"h2a-engagement\":\n return \"Partenaire h2a\";\n case \"subagent\":\n return \"Sous-agent\";\n case \"local\":\n return \"Local\";\n default:\n return \"À affecter\";\n }\n}\nfunction adviceNatureFr(kind) {\n return kind === \"judgment-required\" ? \"Décision\" : \"Action\";\n}\nconst KIND_FR = {\n feature: \"Fonctionnalité\",\n bug: \"Correctif\",\n chore: \"Tâche\"\n};\nfunction kindFr(k) {\n return KIND_FR[k] ?? k;\n}\nconst SUBJECT_MAX = 90;\nfunction subjectOf(d) {\n const t = cleanText(d.target.title ?? d.target.id);\n return t.length > SUBJECT_MAX ? t.slice(0, 88) + \"…\" : t;\n}\nfunction isLaunchable(d) {\n return d.mode === \"subagent\" || d.mode === \"local\";\n}\nfunction todoRowFr(d) {\n const gate = gatePhraseFr(d.gate);\n return {\n id: d.id,\n subject: subjectOf(d),\n action: stepActionFr(d.step.code),\n actor: modeActorFr(d.mode),\n nature: adviceNatureFr(d.adviceKind),\n badge: rankBadgeFr(d.rank),\n ...gate !== void 0 ? { gate } : {},\n launchable: isLaunchable(d),\n ...d.scope.wpLabel !== void 0 ? { wp: d.scope.wpLabel } : {},\n ...d.facts.fanIn !== void 0 ? { fanIn: d.facts.fanIn } : {},\n ...d.facts.wsjf !== void 0 ? { wsjf: d.facts.wsjf } : {}\n };\n}\nfunction precoRowFr(d) {\n const gate = gatePhraseFr(d.gate);\n const lever = d.facts.fanIn !== void 0 && d.facts.fanIn > 0 ? `Débloque ${d.facts.fanIn} autre(s) tâche(s)` : gate ?? (d.mode === \"human-decision\" ? \"Décision en attente\" : \"Fait avancer le WP concerné\");\n return {\n id: d.id,\n title: subjectOf(d),\n why: lever,\n action: stepActionFr(d.step.code),\n actor: modeActorFr(d.mode),\n badge: rankBadgeFr(d.rank),\n launchable: isLaunchable(d)\n };\n}\nfunction shortWorkspace(ws) {\n if (!ws)\n return void 0;\n const body = ws.startsWith(\"ws:\") ? ws.slice(3) : ws;\n return body.length > 10 ? `ws:${body.slice(0, 8)}…` : ws;\n}\nfunction decisionRowFr(d, repo) {\n const concerns = subjectOf(d);\n const wp = d.scope.wpLabel;\n const why = gatePhraseFr(d.gate) ?? \"Décision d’orientation à trancher\";\n const ws = shortWorkspace(d.target.workspace);\n return {\n id: d.id,\n question: d.gate?.blockedByTitle ? cleanText(d.gate.blockedByTitle) : concerns,\n concerns,\n action: stepActionFr(d.step.code),\n actor: modeActorFr(d.mode),\n project: repo,\n ...ws !== void 0 ? { workspace: ws } : {},\n ...wp !== void 0 ? { wp } : {},\n summary: `Concerne « ${concerns} »${wp ? ` · ${wp}` : \"\"} — ${why}.`\n };\n}\nexport {\n subjectOf as a,\n cleanText as c,\n decisionRowFr as d,\n isLaunchable as i,\n kindFr as k,\n loadReport as l,\n modeActorFr as m,\n precoRowFr as p,\n stepActionFr as s,\n todoRowFr as t\n};\n"],"names":[],"mappings":"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"}
|