issue-flow 0.13.0 → 0.14.0
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/dist/agent-OX3KPHE4.js +30 -0
- package/dist/{analyze-WS47UYGN.js → analyze-WIND2SEB.js} +21 -18
- package/dist/{analyze-WS47UYGN.js.map → analyze-WIND2SEB.js.map} +1 -1
- package/dist/{apply-OS62UWRN.js → apply-JNOI2LR4.js} +14 -11
- package/dist/{apply-OS62UWRN.js.map → apply-JNOI2LR4.js.map} +1 -1
- package/dist/{bench-SA3BOME5.js → bench-B4VZON7E.js} +30 -26
- package/dist/{bench-SA3BOME5.js.map → bench-B4VZON7E.js.map} +1 -1
- package/dist/{chunk-PIVGJM6K.js → chunk-2IQ6M4ZE.js} +11 -11
- package/dist/{chunk-QCXPNSEL.js → chunk-3BWZO4YI.js} +2 -2
- package/dist/chunk-3WFZETIM.js +163 -0
- package/dist/chunk-3WFZETIM.js.map +1 -0
- package/dist/{chunk-6FDFRNXZ.js → chunk-67YIU2VB.js} +25 -20
- package/dist/chunk-67YIU2VB.js.map +1 -0
- package/dist/{chunk-TM67EHSV.js → chunk-6BENHR2I.js} +19 -19
- package/dist/chunk-6BENHR2I.js.map +1 -0
- package/dist/{chunk-IYV6KNVF.js → chunk-6QYMSNVA.js} +66 -240
- package/dist/chunk-6QYMSNVA.js.map +1 -0
- package/dist/{chunk-IV5SS4JN.js → chunk-76MMPJ53.js} +9 -7
- package/dist/{chunk-IV5SS4JN.js.map → chunk-76MMPJ53.js.map} +1 -1
- package/dist/{chunk-LZ6GFQAG.js → chunk-B72RQZBV.js} +35 -25
- package/dist/chunk-B72RQZBV.js.map +1 -0
- package/dist/{chunk-KQHB7ZT3.js → chunk-BEZ5BA5U.js} +82 -16
- package/dist/chunk-BEZ5BA5U.js.map +1 -0
- package/dist/{chunk-BQDQTIM7.js → chunk-BRCNQXYQ.js} +4 -4
- package/dist/{chunk-ARFVHC2F.js → chunk-CGKLE6WR.js} +115 -23
- package/dist/chunk-CGKLE6WR.js.map +1 -0
- package/dist/{chunk-BHJCGWQX.js → chunk-F6TOYSYY.js} +9 -9
- package/dist/chunk-G5EK2XRN.js +25 -0
- package/dist/chunk-G5EK2XRN.js.map +1 -0
- package/dist/{chunk-TX5WIVYP.js → chunk-HAKDLR6N.js} +6 -1
- package/dist/chunk-HAKDLR6N.js.map +1 -0
- package/dist/{chunk-DIG5XKQQ.js → chunk-J3SOTUVI.js} +2 -2
- package/dist/{chunk-SNTTOQAD.js → chunk-JN6D3MY6.js} +2 -2
- package/dist/{chunk-MIVHK5YI.js → chunk-KMRFRXIT.js} +3 -3
- package/dist/{chunk-5TB6KLC2.js → chunk-KT7JKOXB.js} +8 -8
- package/dist/{chunk-NEZZ6KDR.js → chunk-LBGHI4S2.js} +49 -2
- package/dist/chunk-LBGHI4S2.js.map +1 -0
- package/dist/{chunk-3XLCNVMD.js → chunk-LEW4QM74.js} +2 -2
- package/dist/{chunk-IHIEXUTC.js → chunk-LFEQIZLB.js} +85 -10
- package/dist/chunk-LFEQIZLB.js.map +1 -0
- package/dist/{chunk-TVN2JVOF.js → chunk-OOVG2KBY.js} +3 -3
- package/dist/{chunk-7KD66LIM.js → chunk-OR43364P.js} +3 -3
- package/dist/{chunk-J62QSVP6.js → chunk-PBTA3QQX.js} +8 -7
- package/dist/{chunk-J62QSVP6.js.map → chunk-PBTA3QQX.js.map} +1 -1
- package/dist/{chunk-664Y3NDX.js → chunk-PHW2YV6N.js} +8 -8
- package/dist/{chunk-PV4OX5TC.js → chunk-PZTWU277.js} +11 -11
- package/dist/{chunk-HJGGNLWI.js → chunk-QD4VOILZ.js} +9 -9
- package/dist/{chunk-CNBYCMSU.js → chunk-QJ5UZAH5.js} +27 -18
- package/dist/{chunk-CNBYCMSU.js.map → chunk-QJ5UZAH5.js.map} +1 -1
- package/dist/{chunk-HQAHNIAR.js → chunk-QK7WUO7A.js} +14 -14
- package/dist/{chunk-UJ7XWK7J.js → chunk-QZVKRDJY.js} +16 -14
- package/dist/{chunk-UJ7XWK7J.js.map → chunk-QZVKRDJY.js.map} +1 -1
- package/dist/{chunk-FZDR7CGH.js → chunk-REO3PXXO.js} +3 -3
- package/dist/{chunk-UOCPC2Y2.js → chunk-RVO7L4FX.js} +4 -4
- package/dist/{chunk-QXDNBYQF.js → chunk-SZMHCEYV.js} +21 -10
- package/dist/chunk-SZMHCEYV.js.map +1 -0
- package/dist/chunk-TYRNTSPJ.js +243 -0
- package/dist/chunk-TYRNTSPJ.js.map +1 -0
- package/dist/{agent-BXRIEKVM.js → chunk-UJ3L2MS7.js} +22 -22
- package/dist/chunk-UJ3L2MS7.js.map +1 -0
- package/dist/{chunk-37N2RJW2.js → chunk-V7MO5EDS.js} +3 -3
- package/dist/{chunk-HEF2RMKN.js → chunk-WB2X37MO.js} +18 -16
- package/dist/{chunk-HEF2RMKN.js.map → chunk-WB2X37MO.js.map} +1 -1
- package/dist/{chunk-OPNGPUKJ.js → chunk-X44FKNKP.js} +133 -42
- package/dist/chunk-X44FKNKP.js.map +1 -0
- package/dist/cli.js +43 -40
- package/dist/cli.js.map +1 -1
- package/dist/{config-MEM2IWWN.js → config-HMFMCY2M.js} +12 -9
- package/dist/{conventions-WV4NDXGH.js → conventions-NJF2OPVQ.js} +14 -11
- package/dist/{conventions-WV4NDXGH.js.map → conventions-NJF2OPVQ.js.map} +1 -1
- package/dist/diagnostics-THH42ZMP.js +23 -0
- package/dist/execute-KFNNZZHI.js +35 -0
- package/dist/{generate-MVQI7A45.js → generate-FW5C6NP7.js} +23 -20
- package/dist/{generate-MVQI7A45.js.map → generate-FW5C6NP7.js.map} +1 -1
- package/dist/{git-YRVRUN3C.js → git-W72QQ6GT.js} +4 -2
- package/dist/init-HTN4V67Q.js +24 -0
- package/dist/{operations-LU6JA3BX.js → operations-BCFOBH42.js} +17 -14
- package/dist/{operations-LU6JA3BX.js.map → operations-BCFOBH42.js.map} +1 -1
- package/dist/{permissions-7NMDFU27.js → permissions-4AKNQZHK.js} +4 -4
- package/dist/plan-SIZLGA4V.js +34 -0
- package/dist/{policy-JSYEK5B2.js → policy-DT6Q6ZVM.js} +13 -10
- package/dist/{policy-JSYEK5B2.js.map → policy-DT6Q6ZVM.js.map} +1 -1
- package/dist/pr-OMWCGUOW.js +39 -0
- package/dist/pr-review-N24CZPKR.js +32 -0
- package/dist/prd-5OFTZAHJ.js +33 -0
- package/dist/{ps-TNE44R5V.js → ps-RFORTCUD.js} +11 -8
- package/dist/{ps-TNE44R5V.js.map → ps-RFORTCUD.js.map} +1 -1
- package/dist/{recorder-XGF55WXI.js → recorder-KCCPMKQG.js} +5 -4
- package/dist/registry-GLPXOMFG.js +15 -0
- package/dist/{resume-QMEPMSZW.js → resume-M5RLKP4I.js} +44 -40
- package/dist/{resume-QMEPMSZW.js.map → resume-M5RLKP4I.js.map} +1 -1
- package/dist/review-YM4JAABY.js +35 -0
- package/dist/{routing-2ZUMZPJB.js → routing-NNT5WKGX.js} +13 -10
- package/dist/{routing-2ZUMZPJB.js.map → routing-NNT5WKGX.js.map} +1 -1
- package/dist/run-PZUKHPQK.js +54 -0
- package/dist/run-PZUKHPQK.js.map +1 -0
- package/dist/session-publisher-T7EI3CIP.js +11 -0
- package/dist/session-publisher-T7EI3CIP.js.map +1 -0
- package/dist/{state-manager-X3PT3FGT.js → state-manager-GQH32C44.js} +3 -3
- package/dist/state-manager-GQH32C44.js.map +1 -0
- package/dist/{usage-VCFLDA5Y.js → usage-V2CHE5PY.js} +13 -10
- package/dist/{usage-VCFLDA5Y.js.map → usage-V2CHE5PY.js.map} +1 -1
- package/dist/{web-XVHLX62B.js → web-EA3KGNFN.js} +18 -14
- package/dist/{web-XVHLX62B.js.map → web-EA3KGNFN.js.map} +1 -1
- package/package.json +1 -1
- package/web/AGENTS.md +150 -11
- package/web/public/app.css +343 -110
- package/web/public/app.js +408 -18
- package/web/public/index.html +44 -1
- package/dist/agent-BXRIEKVM.js.map +0 -1
- package/dist/chunk-6FDFRNXZ.js.map +0 -1
- package/dist/chunk-ARFVHC2F.js.map +0 -1
- package/dist/chunk-IHIEXUTC.js.map +0 -1
- package/dist/chunk-IYV6KNVF.js.map +0 -1
- package/dist/chunk-KQHB7ZT3.js.map +0 -1
- package/dist/chunk-LZ6GFQAG.js.map +0 -1
- package/dist/chunk-NEZZ6KDR.js.map +0 -1
- package/dist/chunk-OPNGPUKJ.js.map +0 -1
- package/dist/chunk-QXDNBYQF.js.map +0 -1
- package/dist/chunk-TM67EHSV.js.map +0 -1
- package/dist/chunk-TX5WIVYP.js.map +0 -1
- package/dist/execute-NITIHHCK.js +0 -31
- package/dist/init-OKWEC3EV.js +0 -21
- package/dist/plan-LEJJF3DE.js +0 -31
- package/dist/pr-HPVUZ7S3.js +0 -36
- package/dist/pr-review-R2QZBT3F.js +0 -29
- package/dist/prd-5O6GYCC6.js +0 -30
- package/dist/registry-LGPE53QD.js +0 -15
- package/dist/review-YKWD6SNN.js +0 -32
- package/dist/run-YU4TR62R.js +0 -50
- /package/dist/{config-MEM2IWWN.js.map → agent-OX3KPHE4.js.map} +0 -0
- /package/dist/{chunk-PIVGJM6K.js.map → chunk-2IQ6M4ZE.js.map} +0 -0
- /package/dist/{chunk-QCXPNSEL.js.map → chunk-3BWZO4YI.js.map} +0 -0
- /package/dist/{chunk-BQDQTIM7.js.map → chunk-BRCNQXYQ.js.map} +0 -0
- /package/dist/{chunk-BHJCGWQX.js.map → chunk-F6TOYSYY.js.map} +0 -0
- /package/dist/{chunk-DIG5XKQQ.js.map → chunk-J3SOTUVI.js.map} +0 -0
- /package/dist/{chunk-SNTTOQAD.js.map → chunk-JN6D3MY6.js.map} +0 -0
- /package/dist/{chunk-MIVHK5YI.js.map → chunk-KMRFRXIT.js.map} +0 -0
- /package/dist/{chunk-5TB6KLC2.js.map → chunk-KT7JKOXB.js.map} +0 -0
- /package/dist/{chunk-3XLCNVMD.js.map → chunk-LEW4QM74.js.map} +0 -0
- /package/dist/{chunk-TVN2JVOF.js.map → chunk-OOVG2KBY.js.map} +0 -0
- /package/dist/{chunk-7KD66LIM.js.map → chunk-OR43364P.js.map} +0 -0
- /package/dist/{chunk-664Y3NDX.js.map → chunk-PHW2YV6N.js.map} +0 -0
- /package/dist/{chunk-PV4OX5TC.js.map → chunk-PZTWU277.js.map} +0 -0
- /package/dist/{chunk-HJGGNLWI.js.map → chunk-QD4VOILZ.js.map} +0 -0
- /package/dist/{chunk-HQAHNIAR.js.map → chunk-QK7WUO7A.js.map} +0 -0
- /package/dist/{chunk-FZDR7CGH.js.map → chunk-REO3PXXO.js.map} +0 -0
- /package/dist/{chunk-UOCPC2Y2.js.map → chunk-RVO7L4FX.js.map} +0 -0
- /package/dist/{chunk-37N2RJW2.js.map → chunk-V7MO5EDS.js.map} +0 -0
- /package/dist/{execute-NITIHHCK.js.map → config-HMFMCY2M.js.map} +0 -0
- /package/dist/{git-YRVRUN3C.js.map → diagnostics-THH42ZMP.js.map} +0 -0
- /package/dist/{init-OKWEC3EV.js.map → execute-KFNNZZHI.js.map} +0 -0
- /package/dist/{permissions-7NMDFU27.js.map → git-W72QQ6GT.js.map} +0 -0
- /package/dist/{plan-LEJJF3DE.js.map → init-HTN4V67Q.js.map} +0 -0
- /package/dist/{pr-HPVUZ7S3.js.map → permissions-4AKNQZHK.js.map} +0 -0
- /package/dist/{pr-review-R2QZBT3F.js.map → plan-SIZLGA4V.js.map} +0 -0
- /package/dist/{prd-5O6GYCC6.js.map → pr-OMWCGUOW.js.map} +0 -0
- /package/dist/{recorder-XGF55WXI.js.map → pr-review-N24CZPKR.js.map} +0 -0
- /package/dist/{registry-LGPE53QD.js.map → prd-5OFTZAHJ.js.map} +0 -0
- /package/dist/{review-YKWD6SNN.js.map → recorder-KCCPMKQG.js.map} +0 -0
- /package/dist/{run-YU4TR62R.js.map → registry-GLPXOMFG.js.map} +0 -0
- /package/dist/{state-manager-X3PT3FGT.js.map → review-YM4JAABY.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/session-git.ts"],"sourcesContent":["import {\n getBaseBranch,\n getCommitsSince,\n getCurrentBranch,\n getHeadCommit,\n getProjectRoot,\n getRemoteUrl,\n normalizeRemoteUrl,\n stripRemoteUrlCredentials,\n} from '../utils/git.js';\nimport { run } from '../utils/shell.js';\nimport {\n NullPublisher,\n type SessionCommit,\n type SessionPublisher,\n type SessionPullRequest,\n} from './session-state.js';\nimport { isoNow } from './state-manager.js';\n\n/**\n * Low-frequency enrichment of the session snapshot with git commits and pull\n * requests. Called only at phase boundaries (run.ts) and at the end of each\n * iteration (engine.ts) — never per HTTP request: the server (US-006) serves\n * the in-memory snapshot as-is.\n *\n * Like every monitoring surface, this must never affect the pipeline: with\n * the NullPublisher installed it returns before spawning any subprocess, and\n * every failure is swallowed.\n */\n\n/** Data sources, injectable for tests. */\nexport interface GitStateSources {\n currentBranch(): Promise<string>;\n baseBranch(): Promise<string>;\n commitsSince(base: string): Promise<SessionCommit[]>;\n pullRequests(branch: string): Promise<SessionPullRequest[]>;\n /** URL of the origin remote, or null when none is configured. */\n remoteUrl(): Promise<string | null>;\n /** Abbreviated hash of HEAD, or null when there is none. */\n headCommit(): Promise<string | null>;\n /** Working directory of the run; falls back to process.cwd(). */\n projectRoot(): Promise<string | null>;\n now(): string;\n}\n\n/**\n * List PRs whose head is the given branch via the GitHub CLI. Never throws;\n * returns [] when gh is unavailable, unauthenticated or returns bad JSON.\n */\nexport interface ListPullRequestsOptions {\n /**\n * `all` — the default, and what the session snapshot reports — or `open`,\n * which is the question \"is there already a Pull Request I would be\n * duplicating\".\n */\n state?: 'all' | 'open';\n}\n\nexport async function listPullRequests(\n branch: string,\n options: ListPullRequestsOptions = {},\n): Promise<SessionPullRequest[]> {\n if (!branch) return [];\n\n const result = await run('gh', [\n 'pr',\n 'list',\n '--head',\n branch,\n '--state',\n options.state ?? 'all',\n '--json',\n 'number,url,title',\n '--limit',\n '10',\n ]);\n if (result.exitCode !== 0) return [];\n\n try {\n const parsed: unknown = JSON.parse(result.stdout || '[]');\n if (!Array.isArray(parsed)) return [];\n return parsed\n .filter(\n (pr): pr is { number: number; url: string; title: string } =>\n typeof pr === 'object' &&\n pr !== null &&\n typeof (pr as { number?: unknown }).number === 'number' &&\n typeof (pr as { url?: unknown }).url === 'string' &&\n typeof (pr as { title?: unknown }).title === 'string',\n )\n .map((pr) => ({ number: pr.number, url: pr.url, title: pr.title }));\n } catch {\n return [];\n }\n}\n\nconst defaultSources: GitStateSources = {\n currentBranch: getCurrentBranch,\n baseBranch: getBaseBranch,\n commitsSince: getCommitsSince,\n pullRequests: listPullRequests,\n remoteUrl: () => getRemoteUrl(),\n headCommit: () => getHeadCommit(),\n // getProjectRoot() throws outside a git repository; the directory the run\n // happens in is still worth reporting, so fall back to it.\n projectRoot: async () => {\n try {\n return await getProjectRoot();\n } catch {\n return process.cwd();\n }\n },\n now: isoNow,\n};\n\n/**\n * Run a source in isolation: its failure yields null instead of aborting the\n * whole publication, so one unavailable field never hides the others.\n */\nasync function collect<T>(source: () => Promise<T | null>): Promise<T | null> {\n try {\n return await source();\n } catch {\n return null;\n }\n}\n\n/**\n * Reduce an origin URL to the `owner/repo` identity, dropping the host that\n * normalizeRemoteUrl() prepends. Returns null without a remote.\n *\n * Known limitation inherited from normalizeRemoteUrl(): the result is\n * lowercased, so a repository whose path has uppercase letters is reported in\n * lowercase.\n */\nfunction deriveRepositoryName(remoteUrl: string | null): string | null {\n const normalized = normalizeRemoteUrl(remoteUrl);\n if (normalized === null) return null;\n const slash = normalized.indexOf('/');\n return slash === -1 ? null : normalized.slice(slash + 1);\n}\n\n/**\n * Gather branch, base branch, commits, PRs and repository identity, then\n * publish a single git:update event. Never throws.\n */\nexport async function publishGitState(\n publisher: SessionPublisher,\n sources: Partial<GitStateSources> = {},\n): Promise<void> {\n if (publisher instanceof NullPublisher) return;\n const src: GitStateSources = { ...defaultSources, ...sources };\n\n try {\n const branch = await src.currentBranch();\n const baseBranch = await src.baseBranch();\n const [commits, pullRequests, remoteUrl, headCommit, repositoryRoot] = await Promise.all([\n src.commitsSince(
|
|
1
|
+
{"version":3,"sources":["../src/core/session-git.ts"],"sourcesContent":["import {\n getBaseBranch,\n getCommitsSince,\n getCurrentBranch,\n getHeadCommit,\n getProjectRoot,\n getRemoteUrl,\n normalizeRemoteUrl,\n stripRemoteUrlCredentials,\n} from '../utils/git.js';\nimport { run } from '../utils/shell.js';\nimport {\n NullPublisher,\n type SessionCommit,\n type SessionPublisher,\n type SessionPullRequest,\n} from './session-state.js';\nimport { isoNow } from './state-manager.js';\n\n/**\n * Low-frequency enrichment of the session snapshot with git commits and pull\n * requests. Called only at phase boundaries (run.ts) and at the end of each\n * iteration (engine.ts) — never per HTTP request: the server (US-006) serves\n * the in-memory snapshot as-is.\n *\n * Like every monitoring surface, this must never affect the pipeline: with\n * the NullPublisher installed it returns before spawning any subprocess, and\n * every failure is swallowed.\n */\n\n/** Data sources, injectable for tests. */\nexport interface GitStateSources {\n currentBranch(): Promise<string>;\n baseBranch(): Promise<string>;\n commitsSince(base: string): Promise<SessionCommit[]>;\n pullRequests(branch: string): Promise<SessionPullRequest[]>;\n /** URL of the origin remote, or null when none is configured. */\n remoteUrl(): Promise<string | null>;\n /** Abbreviated hash of HEAD, or null when there is none. */\n headCommit(): Promise<string | null>;\n /** Working directory of the run; falls back to process.cwd(). */\n projectRoot(): Promise<string | null>;\n now(): string;\n}\n\n/**\n * List PRs whose head is the given branch via the GitHub CLI. Never throws;\n * returns [] when gh is unavailable, unauthenticated or returns bad JSON.\n */\nexport interface ListPullRequestsOptions {\n /**\n * `all` — the default, and what the session snapshot reports — or `open`,\n * which is the question \"is there already a Pull Request I would be\n * duplicating\".\n */\n state?: 'all' | 'open';\n}\n\nexport async function listPullRequests(\n branch: string,\n options: ListPullRequestsOptions = {},\n): Promise<SessionPullRequest[]> {\n if (!branch) return [];\n\n const result = await run('gh', [\n 'pr',\n 'list',\n '--head',\n branch,\n '--state',\n options.state ?? 'all',\n '--json',\n 'number,url,title',\n '--limit',\n '10',\n ]);\n if (result.exitCode !== 0) return [];\n\n try {\n const parsed: unknown = JSON.parse(result.stdout || '[]');\n if (!Array.isArray(parsed)) return [];\n return parsed\n .filter(\n (pr): pr is { number: number; url: string; title: string } =>\n typeof pr === 'object' &&\n pr !== null &&\n typeof (pr as { number?: unknown }).number === 'number' &&\n typeof (pr as { url?: unknown }).url === 'string' &&\n typeof (pr as { title?: unknown }).title === 'string',\n )\n .map((pr) => ({ number: pr.number, url: pr.url, title: pr.title }));\n } catch {\n return [];\n }\n}\n\nconst defaultSources: GitStateSources = {\n currentBranch: getCurrentBranch,\n baseBranch: getBaseBranch,\n commitsSince: getCommitsSince,\n pullRequests: listPullRequests,\n remoteUrl: () => getRemoteUrl(),\n headCommit: () => getHeadCommit(),\n // getProjectRoot() throws outside a git repository; the directory the run\n // happens in is still worth reporting, so fall back to it.\n projectRoot: async () => {\n try {\n return await getProjectRoot();\n } catch {\n return process.cwd();\n }\n },\n now: isoNow,\n};\n\n/**\n * Run a source in isolation: its failure yields null instead of aborting the\n * whole publication, so one unavailable field never hides the others.\n */\nasync function collect<T>(source: () => Promise<T | null>): Promise<T | null> {\n try {\n return await source();\n } catch {\n return null;\n }\n}\n\n/**\n * Reduce an origin URL to the `owner/repo` identity, dropping the host that\n * normalizeRemoteUrl() prepends. Returns null without a remote.\n *\n * Known limitation inherited from normalizeRemoteUrl(): the result is\n * lowercased, so a repository whose path has uppercase letters is reported in\n * lowercase.\n */\nfunction deriveRepositoryName(remoteUrl: string | null): string | null {\n const normalized = normalizeRemoteUrl(remoteUrl);\n if (normalized === null) return null;\n const slash = normalized.indexOf('/');\n return slash === -1 ? null : normalized.slice(slash + 1);\n}\n\n/**\n * Gather branch, base branch, commits, PRs and repository identity, then\n * publish a single git:update event. Never throws.\n */\nexport async function publishGitState(\n publisher: SessionPublisher,\n sources: Partial<GitStateSources> = {},\n): Promise<void> {\n if (publisher instanceof NullPublisher) return;\n const src: GitStateSources = { ...defaultSources, ...sources };\n\n try {\n const branch = await src.currentBranch();\n const baseBranch = await src.baseBranch();\n const commitBaseline =\n publisher.snapshot().git.branchCreated === false\n ? (publisher.snapshot().git.startCommit ?? baseBranch)\n : baseBranch;\n const [commits, pullRequests, remoteUrl, headCommit, repositoryRoot] = await Promise.all([\n src.commitsSince(commitBaseline),\n src.pullRequests(branch),\n collect(() => src.remoteUrl()),\n collect(() => src.headCommit()),\n collect(() => src.projectRoot()),\n ]);\n\n publisher.publish({\n type: 'git:update',\n at: src.now(),\n branch,\n baseBranch,\n commits,\n pullRequests,\n repositoryName: deriveRepositoryName(remoteUrl),\n // Never publish the raw remote: an HTTPS remote configured for\n // automation commonly embeds a token (user:token@host), and this event\n // is served unauthenticated by the web monitor and persisted to\n // session.json.\n remoteUrl: stripRemoteUrlCredentials(remoteUrl),\n headCommit,\n repositoryRoot,\n });\n } catch {\n // Monitoring enrichment must never propagate errors to the pipeline.\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA0DA,eAAsB,iBACpB,QACA,UAAmC,CAAC,GACL;AAC/B,MAAI,CAAC,OAAQ,QAAO,CAAC;AAErB,QAAM,SAAS,MAAM,IAAI,MAAM;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ,SAAS;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,MAAI,OAAO,aAAa,EAAG,QAAO,CAAC;AAEnC,MAAI;AACF,UAAM,SAAkB,KAAK,MAAM,OAAO,UAAU,IAAI;AACxD,QAAI,CAAC,MAAM,QAAQ,MAAM,EAAG,QAAO,CAAC;AACpC,WAAO,OACJ;AAAA,MACC,CAAC,OACC,OAAO,OAAO,YACd,OAAO,QACP,OAAQ,GAA4B,WAAW,YAC/C,OAAQ,GAAyB,QAAQ,YACzC,OAAQ,GAA2B,UAAU;AAAA,IACjD,EACC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,KAAK,GAAG,KAAK,OAAO,GAAG,MAAM,EAAE;AAAA,EACtE,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AAEA,IAAM,iBAAkC;AAAA,EACtC,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,cAAc;AAAA,EACd,WAAW,MAAM,aAAa;AAAA,EAC9B,YAAY,MAAM,cAAc;AAAA;AAAA;AAAA,EAGhC,aAAa,YAAY;AACvB,QAAI;AACF,aAAO,MAAM,eAAe;AAAA,IAC9B,QAAQ;AACN,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,EACF;AAAA,EACA,KAAK;AACP;AAMA,eAAe,QAAW,QAAoD;AAC5E,MAAI;AACF,WAAO,MAAM,OAAO;AAAA,EACtB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAUA,SAAS,qBAAqB,WAAyC;AACrE,QAAM,aAAa,mBAAmB,SAAS;AAC/C,MAAI,eAAe,KAAM,QAAO;AAChC,QAAM,QAAQ,WAAW,QAAQ,GAAG;AACpC,SAAO,UAAU,KAAK,OAAO,WAAW,MAAM,QAAQ,CAAC;AACzD;AAMA,eAAsB,gBACpB,WACA,UAAoC,CAAC,GACtB;AACf,MAAI,qBAAqB,cAAe;AACxC,QAAM,MAAuB,EAAE,GAAG,gBAAgB,GAAG,QAAQ;AAE7D,MAAI;AACF,UAAM,SAAS,MAAM,IAAI,cAAc;AACvC,UAAM,aAAa,MAAM,IAAI,WAAW;AACxC,UAAM,iBACJ,UAAU,SAAS,EAAE,IAAI,kBAAkB,QACtC,UAAU,SAAS,EAAE,IAAI,eAAe,aACzC;AACN,UAAM,CAAC,SAAS,cAAc,WAAW,YAAY,cAAc,IAAI,MAAM,QAAQ,IAAI;AAAA,MACvF,IAAI,aAAa,cAAc;AAAA,MAC/B,IAAI,aAAa,MAAM;AAAA,MACvB,QAAQ,MAAM,IAAI,UAAU,CAAC;AAAA,MAC7B,QAAQ,MAAM,IAAI,WAAW,CAAC;AAAA,MAC9B,QAAQ,MAAM,IAAI,YAAY,CAAC;AAAA,IACjC,CAAC;AAED,cAAU,QAAQ;AAAA,MAChB,MAAM;AAAA,MACN,IAAI,IAAI,IAAI;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAgB,qBAAqB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,MAK9C,WAAW,0BAA0B,SAAS;AAAA,MAC9C;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,QAAQ;AAAA,EAER;AACF;","names":[]}
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
import {
|
|
3
3
|
DEFAULT_BRANCH_CONVENTION,
|
|
4
4
|
loadRepositoryPolicy
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RVO7L4FX.js";
|
|
6
6
|
import {
|
|
7
7
|
loadPolicyConfig
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-QJ5UZAH5.js";
|
|
9
9
|
import {
|
|
10
10
|
getSessionPublisher
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6QYMSNVA.js";
|
|
12
|
+
import {
|
|
13
|
+
getBaseBranch
|
|
14
|
+
} from "./chunk-BEZ5BA5U.js";
|
|
12
15
|
import {
|
|
13
16
|
hasUsageData,
|
|
14
17
|
isoNow,
|
|
15
18
|
sumUsage
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import {
|
|
18
|
-
getBaseBranch
|
|
19
|
-
} from "./chunk-KQHB7ZT3.js";
|
|
19
|
+
} from "./chunk-J3SOTUVI.js";
|
|
20
20
|
|
|
21
21
|
// src/core/session-metrics.ts
|
|
22
22
|
function elapsedSecondsSince(startedAtMs) {
|
|
@@ -294,4 +294,4 @@ export {
|
|
|
294
294
|
publishStoryMetrics,
|
|
295
295
|
resolvePolicyPlaceholders
|
|
296
296
|
};
|
|
297
|
-
//# sourceMappingURL=chunk-
|
|
297
|
+
//# sourceMappingURL=chunk-PHW2YV6N.js.map
|
|
@@ -8,26 +8,26 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
getActiveResilienceConfig,
|
|
10
10
|
loadIssuesConfig
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-QJ5UZAH5.js";
|
|
12
12
|
import {
|
|
13
13
|
resolveIssuePaths,
|
|
14
14
|
resolveProjectPaths
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-QK7WUO7A.js";
|
|
16
16
|
import {
|
|
17
17
|
printInfo,
|
|
18
18
|
printWarning
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import {
|
|
21
|
-
isoNow
|
|
22
|
-
} from "./chunk-DIG5XKQQ.js";
|
|
23
|
-
import {
|
|
24
|
-
issueMetadataSchema
|
|
25
|
-
} from "./chunk-NEZZ6KDR.js";
|
|
19
|
+
} from "./chunk-TYRNTSPJ.js";
|
|
26
20
|
import {
|
|
27
21
|
getProjectRoot,
|
|
28
22
|
resolvePolicy,
|
|
29
23
|
run
|
|
30
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-BEZ5BA5U.js";
|
|
25
|
+
import {
|
|
26
|
+
isoNow
|
|
27
|
+
} from "./chunk-J3SOTUVI.js";
|
|
28
|
+
import {
|
|
29
|
+
issueMetadataSchema
|
|
30
|
+
} from "./chunk-LBGHI4S2.js";
|
|
31
31
|
import {
|
|
32
32
|
writeFileAtomic
|
|
33
33
|
} from "./chunk-7Z4Y3VKM.js";
|
|
@@ -943,4 +943,4 @@ export {
|
|
|
943
943
|
IssueResolutionError,
|
|
944
944
|
resolveIssue
|
|
945
945
|
};
|
|
946
|
-
//# sourceMappingURL=chunk-
|
|
946
|
+
//# sourceMappingURL=chunk-PZTWU277.js.map
|
|
@@ -3,35 +3,35 @@ import {
|
|
|
3
3
|
isTransientFailure,
|
|
4
4
|
readFileWithGrace,
|
|
5
5
|
runPhaseWithRetry
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-76MMPJ53.js";
|
|
7
7
|
import {
|
|
8
8
|
issuePlaceholders,
|
|
9
9
|
resolveCommandIssue
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-REO3PXXO.js";
|
|
11
11
|
import {
|
|
12
12
|
publishPhaseMetrics,
|
|
13
13
|
resolvePolicyPlaceholders
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-PHW2YV6N.js";
|
|
15
15
|
import {
|
|
16
16
|
applyPlaceholders,
|
|
17
17
|
loadPrompt
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-KMRFRXIT.js";
|
|
19
19
|
import {
|
|
20
20
|
DEFAULT_HEADLESS_TIMEOUT_MS,
|
|
21
21
|
runHeadless
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-CGKLE6WR.js";
|
|
23
23
|
import {
|
|
24
24
|
resolveIssuePaths
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-QK7WUO7A.js";
|
|
26
26
|
import {
|
|
27
27
|
getGlobalTimeout,
|
|
28
28
|
printError,
|
|
29
29
|
printSuccess
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-TYRNTSPJ.js";
|
|
31
31
|
import {
|
|
32
32
|
loadTaskPlan,
|
|
33
33
|
saveTaskPlan
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-J3SOTUVI.js";
|
|
35
35
|
|
|
36
36
|
// src/commands/prd.ts
|
|
37
37
|
import { mkdir } from "fs/promises";
|
|
@@ -114,4 +114,4 @@ async function runPrd(issue, resolvedIssue) {
|
|
|
114
114
|
export {
|
|
115
115
|
runPrd
|
|
116
116
|
};
|
|
117
|
-
//# sourceMappingURL=chunk-
|
|
117
|
+
//# sourceMappingURL=chunk-QD4VOILZ.js.map
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
resolveIssuePaths
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QK7WUO7A.js";
|
|
5
5
|
import {
|
|
6
6
|
formatDuration,
|
|
7
7
|
printWarning
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TYRNTSPJ.js";
|
|
9
|
+
import {
|
|
10
|
+
getGlobalRoot
|
|
11
|
+
} from "./chunk-HAKDLR6N.js";
|
|
12
|
+
import {
|
|
13
|
+
RETRY_CONFIG_KEYS,
|
|
14
|
+
getProjectRoot,
|
|
15
|
+
run
|
|
16
|
+
} from "./chunk-BEZ5BA5U.js";
|
|
9
17
|
import {
|
|
10
18
|
DEFAULT_TELEMETRY_CONFIG
|
|
11
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-67YIU2VB.js";
|
|
12
20
|
import {
|
|
13
21
|
parseCodexUsage,
|
|
14
22
|
parseUsage
|
|
15
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-J3SOTUVI.js";
|
|
16
24
|
import {
|
|
17
25
|
AGENT_PHASES,
|
|
18
26
|
ANTIGRAVITY_CAPABILITIES,
|
|
@@ -33,15 +41,7 @@ import {
|
|
|
33
41
|
telemetryConfigInputSchema,
|
|
34
42
|
verifyConfigSchema,
|
|
35
43
|
webConfigSchema
|
|
36
|
-
} from "./chunk-
|
|
37
|
-
import {
|
|
38
|
-
getGlobalRoot
|
|
39
|
-
} from "./chunk-TX5WIVYP.js";
|
|
40
|
-
import {
|
|
41
|
-
RETRY_CONFIG_KEYS,
|
|
42
|
-
getProjectRoot,
|
|
43
|
-
run
|
|
44
|
-
} from "./chunk-KQHB7ZT3.js";
|
|
44
|
+
} from "./chunk-LBGHI4S2.js";
|
|
45
45
|
|
|
46
46
|
// src/config.ts
|
|
47
47
|
import { existsSync } from "fs";
|
|
@@ -1547,7 +1547,7 @@ function dropUndefined(value) {
|
|
|
1547
1547
|
return result;
|
|
1548
1548
|
}
|
|
1549
1549
|
async function resolveAgentFor(phase, options = {}) {
|
|
1550
|
-
const { getAgentCliOverrides: getAgentCliOverrides2, loadAgentConfig: loadAgentConfig2 } = await import("./config-
|
|
1550
|
+
const { getAgentCliOverrides: getAgentCliOverrides2, loadAgentConfig: loadAgentConfig2 } = await import("./config-HMFMCY2M.js");
|
|
1551
1551
|
const config = options.config ?? await loadAgentConfig2();
|
|
1552
1552
|
const cli = options.cli ?? getAgentCliOverrides2();
|
|
1553
1553
|
const defaultBlock = {
|
|
@@ -1642,21 +1642,30 @@ async function describeRunAgents(phases = AGENT_PHASES) {
|
|
|
1642
1642
|
const providers = /* @__PURE__ */ new Set();
|
|
1643
1643
|
for (const phase of target) {
|
|
1644
1644
|
const settings = await resolveAgentFor(phase);
|
|
1645
|
-
byPhase[phase] = {
|
|
1645
|
+
byPhase[phase] = {
|
|
1646
|
+
provider: settings.provider,
|
|
1647
|
+
model: settings.model,
|
|
1648
|
+
origin: settings.origin
|
|
1649
|
+
};
|
|
1646
1650
|
providers.add(settings.provider);
|
|
1647
1651
|
if (phase === target[0]) {
|
|
1648
1652
|
defaultProvider = settings.provider;
|
|
1649
1653
|
defaultModel = settings.model;
|
|
1650
1654
|
}
|
|
1651
1655
|
}
|
|
1652
|
-
const { loadAgentConfig: loadAgentConfig2 } = await import("./config-
|
|
1656
|
+
const { loadAgentConfig: loadAgentConfig2 } = await import("./config-HMFMCY2M.js");
|
|
1653
1657
|
const config = await loadAgentConfig2();
|
|
1654
1658
|
defaultProvider = config.provider;
|
|
1655
1659
|
defaultModel = config.model;
|
|
1660
|
+
const tracked = getTrackedOrigins();
|
|
1656
1661
|
return {
|
|
1657
1662
|
label: providers.size > 1 ? "misto" : providers.values().next().value ?? defaultProvider,
|
|
1658
1663
|
defaultProvider,
|
|
1659
1664
|
defaultModel,
|
|
1665
|
+
defaultOrigin: {
|
|
1666
|
+
provider: tracked?.provider ?? (defaultProvider === "claude" ? "default" : "project"),
|
|
1667
|
+
model: tracked?.model ?? (defaultModel === null ? "default" : "project")
|
|
1668
|
+
},
|
|
1660
1669
|
byPhase
|
|
1661
1670
|
};
|
|
1662
1671
|
}
|
|
@@ -1764,7 +1773,7 @@ async function resolvePaths(config, scriptDir) {
|
|
|
1764
1773
|
lastBranchFile: join2(base, ".last-branch"),
|
|
1765
1774
|
projectRoot
|
|
1766
1775
|
};
|
|
1767
|
-
const { bindTelemetry } = await import("./recorder-
|
|
1776
|
+
const { bindTelemetry } = await import("./recorder-KCCPMKQG.js");
|
|
1768
1777
|
bindTelemetry({ tasksPath: standalone.prdFile });
|
|
1769
1778
|
return standalone;
|
|
1770
1779
|
}
|
|
@@ -2706,4 +2715,4 @@ export {
|
|
|
2706
2715
|
describeRunAgents,
|
|
2707
2716
|
hasExplicitAgentSelection
|
|
2708
2717
|
};
|
|
2709
|
-
//# sourceMappingURL=chunk-
|
|
2718
|
+
//# sourceMappingURL=chunk-QJ5UZAH5.js.map
|