@cat-factory/server 0.79.4 → 0.81.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/agents/CompositeAgentExecutor.d.ts +4 -1
- package/dist/agents/CompositeAgentExecutor.d.ts.map +1 -1
- package/dist/agents/CompositeAgentExecutor.js +10 -4
- package/dist/agents/CompositeAgentExecutor.js.map +1 -1
- package/dist/agents/ContainerAgentExecutor.d.ts +18 -1
- package/dist/agents/ContainerAgentExecutor.d.ts.map +1 -1
- package/dist/agents/ContainerAgentExecutor.js +83 -6
- package/dist/agents/ContainerAgentExecutor.js.map +1 -1
- package/dist/agents/ContainerRepoBootstrapper.d.ts +7 -1
- package/dist/agents/ContainerRepoBootstrapper.d.ts.map +1 -1
- package/dist/agents/ContainerRepoBootstrapper.js +1 -0
- package/dist/agents/ContainerRepoBootstrapper.js.map +1 -1
- package/dist/agents/containerAgentResult.d.ts.map +1 -1
- package/dist/agents/containerAgentResult.js +42 -4
- package/dist/agents/containerAgentResult.js.map +1 -1
- package/dist/agents/jobBody.d.ts +40 -3
- package/dist/agents/jobBody.d.ts.map +1 -1
- package/dist/agents/jobBody.js +167 -36
- package/dist/agents/jobBody.js.map +1 -1
- package/dist/agents/prompts.d.ts +2 -1
- package/dist/agents/prompts.d.ts.map +1 -1
- package/dist/agents/prompts.js +2 -2
- package/dist/agents/prompts.js.map +1 -1
- package/dist/agents/resolveRepoTarget.d.ts +68 -2
- package/dist/agents/resolveRepoTarget.d.ts.map +1 -1
- package/dist/agents/resolveRepoTarget.js +150 -39
- package/dist/agents/resolveRepoTarget.js.map +1 -1
- package/dist/github/FetchGitHubClient.d.ts +2 -1
- package/dist/github/FetchGitHubClient.d.ts.map +1 -1
- package/dist/github/FetchGitHubClient.js +33 -2
- package/dist/github/FetchGitHubClient.js.map +1 -1
- package/dist/github/GitHubCiStatusProvider.d.ts +10 -6
- package/dist/github/GitHubCiStatusProvider.d.ts.map +1 -1
- package/dist/github/GitHubCiStatusProvider.js +52 -28
- package/dist/github/GitHubCiStatusProvider.js.map +1 -1
- package/dist/github/GitHubMergeabilityProvider.d.ts +8 -8
- package/dist/github/GitHubMergeabilityProvider.d.ts.map +1 -1
- package/dist/github/GitHubMergeabilityProvider.js +40 -14
- package/dist/github/GitHubMergeabilityProvider.js.map +1 -1
- package/dist/github/GitHubPullRequestMerger.d.ts +11 -10
- package/dist/github/GitHubPullRequestMerger.d.ts.map +1 -1
- package/dist/github/GitHubPullRequestMerger.js +50 -30
- package/dist/github/GitHubPullRequestMerger.js.map +1 -1
- package/dist/github/repoFullName.d.ts +3 -0
- package/dist/github/repoFullName.d.ts.map +1 -0
- package/dist/github/repoFullName.js +6 -0
- package/dist/github/repoFullName.js.map +1 -0
- package/dist/http/env.d.ts +8 -0
- package/dist/http/env.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/initiatives/InitiativeController.d.ts.map +1 -1
- package/dist/modules/initiatives/InitiativeController.js +37 -1
- package/dist/modules/initiatives/InitiativeController.js.map +1 -1
- package/dist/modules/publicApi/PublicApiController.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicApiController.js +3 -3
- package/dist/modules/publicApi/PublicApiController.js.map +1 -1
- package/dist/modules/workspaces/WorkspaceController.d.ts.map +1 -1
- package/dist/modules/workspaces/WorkspaceController.js +11 -10
- package/dist/modules/workspaces/WorkspaceController.js.map +1 -1
- package/dist/persistence/mappers.d.ts +12 -1
- package/dist/persistence/mappers.d.ts.map +1 -1
- package/dist/persistence/mappers.js +45 -1
- package/dist/persistence/mappers.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agents/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAGzF;;;;;;;GAOG;AAEH,sFAAsF;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAClC,iFAAiF;IACjF,+EAA+E;IAC/E,iFAAiF;IACjF,+EAA+E;IAC/E,kCAAkC;IAClC,+EAA+E;IAC/E,iFAAiF;IACjF,mFAAmF;IACnF,6DAA6D;IAC7D,kFAAkF;IAClF,iFAAiF;IACjF,4EAA4E;IAC5E,6CAA6C;IAC7C,gFAAgF;IAChF,2EAA2E;IAC3E,+DAA+D;IAC/D,oFAAoF;IACpF,8EAA8E;IAC9E,qBAAqB,CAAA;AAEvB,kFAAkF;AAClF,MAAM,CAAC,MAAM,yBAAyB,GACpC,oFAAoF;IACpF,+EAA+E;IAC/E,4EAA4E;IAC5E,sFAAsF;IACtF,YAAY;IACZ,mFAAmF;IACnF,mFAAmF;IACnF,iFAAiF;IACjF,oFAAoF;IACpF,sFAAsF;IACtF,uCAAuC;IACvC,kFAAkF;IAClF,8EAA8E;IAC9E,sFAAsF;IACtF,iFAAiF;IACjF,qFAAqF;IACrF,kFAAkF;IAClF,qFAAqF;IACrF,sFAAsF;IACtF,wDAAwD;IACxD,4CAA4C;IAC5C,gFAAgF;IAChF,mFAAmF;IACnF,wFAAwF;IACxF,uFAAuF;IACvF,oFAAoF;IACpF,kFAAkF;IAClF,sFAAsF;IACtF,mFAAmF;IACnF,oFAAoF;IACpF,uFAAuF;IACvF,6EAA6E;IAC7E,qFAAqF;IACrF,oFAAoF;IACpF,gFAAgF;IAChF,qFAAqF;IACrF,+EAA+E;IAC/E,sFAAsF;IACtF,wFAAwF;IACxF,mFAAmF;IACnF,6BAA6B;IAC7B,sFAAsF;IACtF,kFAAkF;IAClF,qFAAqF;IACrF,6BAA6B;IAC7B,wFAAwF;IACxF,4BAA4B;IAC5B,qBAAqB,CAAA;AAEvB,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAC/B,+EAA+E;IAC/E,iFAAiF;IACjF,iFAAiF;IACjF,mFAAmF;IACnF,yEAAyE;IACzE,yFAAyF;IACzF,qBAAqB,CAAA;AAEvB,0FAA0F;AAC1F,MAAM,CAAC,MAAM,oBAAoB,GAC/B,+EAA+E;IAC/E,0EAA0E;IAC1E,4BAA4B,CAAA;AAE9B,oFAAoF;AACpF,MAAM,CAAC,MAAM,eAAe,GAC1B,iFAAiF;IACjF,kFAAkF;IAClF,kFAAkF;IAClF,4EAA4E;IAC5E,gFAAgF;IAChF,mFAAmF;IACnF,kFAAkF;IAClF,+EAA+E;IAC/E,6EAA6E;IAC7E,4BAA4B,CAAA;AAE9B,6FAA6F;AAC7F,MAAM,CAAC,MAAM,gCAAgC,GAC3C,mFAAmF;IACnF,sFAAsF;IACtF,qFAAqF;IACrF,qFAAqF;IACrF,uFAAuF;IACvF,uFAAuF;IACvF,sFAAsF;IACtF,uFAAuF;IACvF,oFAAoF;IACpF,gFAAgF;IAChF,qFAAqF;IACrF,uFAAuF;IACvF,kFAAkF;IAClF,qFAAqF;IACrF,qEAAqE;IACrE,kFAAkF;IAClF,sEAAsE;IACtE,gEAAgE;IAChE,wEAAwE;IACxE,+EAA+E;IAC/E,qFAAqF;IACrF,8BAA8B;IAC9B,qBAAqB,CAAA;AAEvB,2FAA2F;AAC3F,MAAM,CAAC,MAAM,0BAA0B,GACrC,qFAAqF;IACrF,kFAAkF;IAClF,iFAAiF;IACjF,wFAAwF;IACxF,gFAAgF;IAChF,uFAAuF;IACvF,4EAA4E;IAC5E,2EAA2E,CAAA;AAE7E,6FAA6F;AAC7F,MAAM,CAAC,MAAM,2BAA2B,GACtC,gFAAgF;IAChF,8CAA8C,CAAA;AAEhD,8FAA8F;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GACxC,uFAAuF;IACvF,wEAAwE,CAAA;AAE1E,yFAAyF;AACzF,MAAM,CAAC,MAAM,sBAAsB,GACjC,yFAAyF;IACzF,4FAA4F;IAC5F,mGAAmG,CAAA;AAErG,wFAAwF;AACxF,MAAM,CAAC,MAAM,yBAAyB,GACpC,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAC3C,oFAAoF;IACpF,qFAAqF,CAAA;AAEvF,MAAM,CAAC,MAAM,qBAAqB,GAChC,kFAAkF;IAClF,iFAAiF;IACjF,sFAAsF;IACtF,qFAAqF;IACrF,sFAAsF;IACtF,wFAAwF;IACxF,8DAA8D;IAC9D,sFAAsF;IACtF,gDAAgD;IAChD,qBAAqB,CAAA;AAEvB;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,uFAAuF;YACrF,4BAA4B;QAC9B,EAAE;QACF,wFAAwF;YACtF,kFAAkF;YAClF,qFAAqF;YACrF,iDAAiD;QACnD,EAAE;QACF,oFAAoF;KACrF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAC7B,OAAwB,EACxB,IAAkC;IAElC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAA;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAA;IACpB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7E,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3E,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAA;QAC3C,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,EAAE,EAAE,QAAQ,MAAM,EAAE,CAAC,CAAA;IACzF,CAAC;IACD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,gCAAgC,GAC3C,sFAAsF;IACtF,2FAA2F;IAC3F,wFAAwF;IACxF,2FAA2F;IAC3F,0FAA0F;IAC1F,qFAAqF;IACrF,2FAA2F;IAC3F,0CAA0C;IAC1C,qBAAqB,CAAA;AAEvB;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAwB;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;IAC7C,OAAO;QACL,+DACE,KAAK,CAAC,KAAK,IAAI,uBACjB,EAAE;QACF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,sBAAsB,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QAC9D,EAAE;QACF,mFAAmF;YACjF,+EAA+E;YAC/E,yCAAyC;KAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAwB;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;IAC7C,OAAO;QACL,wBAAwB,KAAK,CAAC,KAAK,IAAI,uBAAuB,EAAE;QAChE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,sBAAsB,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QAC7D,EAAE;QACF,wFAAwF;YACtF,sFAAsF;YACtF,2EAA2E;YAC3E,sEAAsE;YACtE,2BAA2B;QAC7B,EAAE;QACF,4EAA4E;KAC7E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC3B,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,KAAK,IAAI,iBAAiB,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACjG,oFAAoF;IACpF,wFAAwF;IACxF,2FAA2F;IAC3F,MAAM,iBAAiB,GACrB,KAAK,CAAC,SAAS,KAAK,KAAK;QACvB,CAAC,CAAC,sFAAsF;YACtF,uFAAuF;QACzF,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI;YACxB,CAAC,CAAC,qFAAqF;gBACrF,sFAAsF;gBACtF,sFAAsF;gBACtF,sFAAsF;YACxF,CAAC,CAAC,+EAA+E;gBAC/E,oFAAoF;gBACpF,gFAAgF;gBAChF,iBAAiB,CAAA;IACzB,OAAO;QACL,qEAAqE;QACrE,EAAE;QACF,sFAAsF;YACpF,yFAAyF;YACzF,0FAA0F;YAC1F,2FAA2F;YAC3F,0FAA0F;YAC1F,2FAA2F;YAC3F,yFAAyF;YACzF,mFAAmF;QACrF,EAAE;QACF,0FAA0F;YACxF,0FAA0F;YAC1F,kFAAkF;YAClF,uCAAuC;QACzC,EAAE;QACF,GAAG,MAAM,OAAO,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,kBAAkB,EAAE;QACjE,EAAE;QACF,iBAAiB;YACf,6EAA6E;YAC7E,uFAAuF;KAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAwB,EAAE,IAAgB;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAA;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,IAAI,CAAC,UAAU,CAAA;IACnE,MAAM,EAAE,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7D,OAAO;QACL,oFAAoF;YAClF,wDAAwD;QAC1D,EAAE;QACF,mBAAmB,EAAE,mBAAmB,MAAM,yBAAyB;YACrE,KAAK,IAAI,CAAC,UAAU,mDAAmD,IAAI,CAAC,UAAU,KAAK;YAC3F,0BAA0B,IAAI,CAAC,UAAU,mDAAmD;QAC9F,EAAE;QACF,6FAA6F;KAC9F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAwB,EAAE,IAAgB;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAA;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAA;IACpD,MAAM,EAAE,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACvD,MAAM,MAAM,GAAG,QAAQ;QACrB,CAAC,CAAC,qCAAqC,EAAE,8CAA8C;YACrF,oCAAoC,EAAE,mCAAmC,QAAQ,YAAY;YAC7F,qCAAqC;QACvC,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,yBAAyB,UAAU,+CAA+C;gBAClF,qEAAqE;YACvE,CAAC,CAAC,yFAAyF;gBACzF,6BAA6B,CAAA;IACnC,OAAO;QACL,aAAa,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC9C,EAAE;QACF,gCAAgC,IAAI,CAAC,UAAU,0CAA0C;YACvF,gBAAgB,EAAE,KAAK,MAAM,6DAA6D;YAC1F,kCAAkC;QACpC,EAAE;QACF,wIAAwI;KACzI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED;;;;;;;;;GASG;AAEH;;;;;;;;GAQG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM;IACN,MAAM;IACN,cAAc;IACd,WAAW;IACX,qBAAqB;IACrB,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,KAAK;IACL,OAAO;IACP,KAAK;CACN,CAAC,CAAA;AAEF;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;AAErD;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;IAC/B,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAwB;IACtD,8FAA8F;IAC9F,6FAA6F;IAC7F,+FAA+F;IAC/F,kFAAkF;IAClF,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAErE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,YAAY,CAAA;IAClD,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,CAAA;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,CAAA;IACvC,yFAAyF;IACzF,0FAA0F;IAC1F,+FAA+F;IAC/F,2FAA2F;IAC3F,wCAAwC;IACxC,MAAM,gBAAgB,GAA2B,EAAE,CAAA;IACnD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,SAAQ;QAC9B,MAAM,GAAG,GACP,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS;YAC5C,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,OAAO,GAAG;YAC3C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAA;QACpB,gBAAgB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IACzC,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9E,2FAA2F;IAC3F,yFAAyF;IACzF,2FAA2F;IAC3F,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;QACzD,OAAO;YACL,WAAW,EAAE,WAAW;YACxB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,KAAK;SACT,CAAA;IACH,CAAC;IACD,OAAO;QACL,WAAW,EAAE,OAAO;QACpB,mBAAmB,EAAE,IAAI,KAAK,gBAAgB;QAC9C,GAAG,CAAC,IAAI,KAAK,gBAAgB,IAAI,YAAY,EAAE,WAAW;YACxD,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,KAAK;KACT,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAkD;IAElD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;IACrC,MAAM,WAAW,GAAG,oBAAoB,sBAAsB,EAAE,CAAA;IAChE,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,SAAQ;QAClE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,IAAI,WAAW,CAAA;IACzD,CAAC;IACD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,SAAS,EAAE,wBAAwB,CAAC,MAAM,CAAC,SAAS,CAAC;QACrD,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,YAAY,EAAE,sBAAsB;KACrC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAAwB;IAC7C,MAAM,KAAK,GAAG;QACZ,wCAAwC,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI;QACxF,EAAE;QACF,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,kBAAkB;QAC/C,EAAE;QACF,aAAa,OAAO,CAAC,YAAY,EAAE;KACpC,CAAA;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agents/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type BlockRepository, type GitHubInstallationRepository, type RepoProjectionRepository, type ServiceRepository } from '@cat-factory/kernel';
|
|
2
|
-
import type { ResolveRepoTarget } from './ContainerAgentExecutor.js';
|
|
1
|
+
import { type BlockRepository, type GitHubInstallationRepository, type GitHubRepo, type GroupCacheHandle, type RepoProjectionRepository, type ServiceRepository } from '@cat-factory/kernel';
|
|
2
|
+
import type { RepoTarget, ResolveRepoTarget } from './ContainerAgentExecutor.js';
|
|
3
3
|
export interface ResolveRepoTargetDependencies {
|
|
4
4
|
installationRepository: Pick<GitHubInstallationRepository, 'getByWorkspace'>;
|
|
5
5
|
repoProjectionRepository: Pick<RepoProjectionRepository, 'list'>;
|
|
@@ -10,6 +10,16 @@ export interface ResolveRepoTargetDependencies {
|
|
|
10
10
|
* pins. Every facade wires it whenever GitHub is configured.
|
|
11
11
|
*/
|
|
12
12
|
serviceRepository: Pick<ServiceRepository, 'getByFrameBlock'>;
|
|
13
|
+
/**
|
|
14
|
+
* Read-through cache for the workspace's whole repo projection
|
|
15
|
+
* (`AppCaches.repoProjection`, docs/initiatives/caching-layer.md slice 3), grouped
|
|
16
|
+
* AND keyed by workspace id. The unbounded `repoProjectionRepository.list` re-list
|
|
17
|
+
* this resolver runs on every dispatch and poll tick reads through it; the
|
|
18
|
+
* projection's write paths (GitHub sync/webhook, repo link/monorepo-flag, bootstrap)
|
|
19
|
+
* invalidate the workspace group after they commit. Absent (tests / the Worker's
|
|
20
|
+
* pass-through profile) ⇒ every resolve lists live.
|
|
21
|
+
*/
|
|
22
|
+
repoProjectionCache?: GroupCacheHandle<GitHubRepo[]>;
|
|
13
23
|
}
|
|
14
24
|
/**
|
|
15
25
|
* Resolve the repo linked to a running block's enclosing service, shared verbatim by
|
|
@@ -29,4 +39,60 @@ export interface ResolveRepoTargetDependencies {
|
|
|
29
39
|
* because each wires its own resolver).
|
|
30
40
|
*/
|
|
31
41
|
export declare function buildResolveRepoTarget(deps: ResolveRepoTargetDependencies): ResolveRepoTarget;
|
|
42
|
+
/**
|
|
43
|
+
* A single repo checkout a multi-repo run creates. Deduped by repo, so a monorepo hosting
|
|
44
|
+
* several involved services is ONE checkout carrying all of them.
|
|
45
|
+
*/
|
|
46
|
+
export interface RepoCheckout {
|
|
47
|
+
target: RepoTarget;
|
|
48
|
+
/** The task's OWN service repo (the singular {@link ResolveRepoTarget} result). */
|
|
49
|
+
primary: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The involved service frames that live in THIS repo (their block id + the monorepo
|
|
52
|
+
* subdirectory each pins). Empty for a primary with no co-located involved service; ≥1
|
|
53
|
+
* for a peer; >1 when several involved services share one monorepo. Drives the multi-repo
|
|
54
|
+
* prompt section and the peer-PR frame attribution.
|
|
55
|
+
*/
|
|
56
|
+
involved: {
|
|
57
|
+
frameId: string;
|
|
58
|
+
serviceDirectory?: string;
|
|
59
|
+
}[];
|
|
60
|
+
}
|
|
61
|
+
/** The deduped checkout set for a run, primary first. */
|
|
62
|
+
export interface ResolvedRepoTargets {
|
|
63
|
+
checkouts: RepoCheckout[];
|
|
64
|
+
}
|
|
65
|
+
export type ResolveRepoTargets = (workspaceId: string, primaryBlockId: string, involvedFrameIds: string[],
|
|
66
|
+
/**
|
|
67
|
+
* The task's OWN-service {@link RepoTarget}, when the caller already resolved it via the
|
|
68
|
+
* singular {@link ResolveRepoTarget} (the container executor does, to mint the push token).
|
|
69
|
+
* Passing it lets this resolver SKIP re-reading the installation and re-walking the primary
|
|
70
|
+
* block's ancestry — it reuses this as the primary checkout and only resolves the peers on
|
|
71
|
+
* top. Omit it and the primary is resolved from scratch (the ancestry walk), as before.
|
|
72
|
+
*/
|
|
73
|
+
primaryTarget?: RepoTarget) => Promise<ResolvedRepoTargets>;
|
|
74
|
+
export interface ResolveRepoTargetsDependencies extends ResolveRepoTargetDependencies {
|
|
75
|
+
/**
|
|
76
|
+
* The batched form of {@link ResolveRepoTargetDependencies.serviceRepository} — resolving
|
|
77
|
+
* N involved frames' repos in ONE query rather than a point-read per frame. Required (the
|
|
78
|
+
* `Service` is the SOLE repo↔frame linkage), so an involved frame with no linked service
|
|
79
|
+
* simply resolves no repo and is skipped for coding.
|
|
80
|
+
*/
|
|
81
|
+
serviceRepository: Pick<ServiceRepository, 'getByFrameBlock' | 'listByFrameBlocks'>;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Resolve every repo a multi-repo run touches: the task's OWN service (PRIMARY, via the same
|
|
85
|
+
* ancestry walk as {@link buildResolveRepoTarget}) plus one checkout per involved service
|
|
86
|
+
* frame — DEDUPED by repo. Two involved services in the same monorepo collapse into one
|
|
87
|
+
* checkout with BOTH subdirectories noted (the caller clones once and the agent edits both
|
|
88
|
+
* subtrees); an involved service sharing the primary's repo is folded into the primary
|
|
89
|
+
* checkout (no separate peer clone / PR — its changes ride the own-service PR).
|
|
90
|
+
*
|
|
91
|
+
* The invariant reads (installation + the whole projection) are hoisted ONCE and every
|
|
92
|
+
* involved frame's service is resolved in a single {@link ServiceRepository.listByFrameBlocks}
|
|
93
|
+
* batch (no point-read per frame). An involved frame with no linked repo is silently skipped
|
|
94
|
+
* for coding — it can still have provisioned an environment (the phase-2 asymmetry). The
|
|
95
|
+
* primary must resolve or we throw, exactly like the singular resolver.
|
|
96
|
+
*/
|
|
97
|
+
export declare function buildResolveRepoTargets(deps: ResolveRepoTargetsDependencies): ResolveRepoTargets;
|
|
32
98
|
//# sourceMappingURL=resolveRepoTarget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRepoTarget.d.ts","sourceRoot":"","sources":["../../src/agents/resolveRepoTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"resolveRepoTarget.d.ts","sourceRoot":"","sources":["../../src/agents/resolveRepoTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAMhF,MAAM,WAAW,6BAA6B;IAC5C,sBAAsB,EAAE,IAAI,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,CAAA;IAC5E,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAA;IAChE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;IAC7C;;;;OAIG;IACH,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;IAC7D;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAA;CACrD;AAmED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,6BAA6B,GAAG,iBAAiB,CA6B7F;AAID;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAA;IAClB,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC3D;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,YAAY,EAAE,CAAA;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EAAE;AAC1B;;;;;;GAMG;AACH,aAAa,CAAC,EAAE,UAAU,KACvB,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAEjC,MAAM,WAAW,8BAA+B,SAAQ,6BAA6B;IACnF;;;;;OAKG;IACH,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,mBAAmB,CAAC,CAAA;CACpF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,8BAA8B,GAAG,kBAAkB,CAoFhG"}
|
|
@@ -1,4 +1,50 @@
|
|
|
1
1
|
import { ValidationError, } from '@cat-factory/kernel';
|
|
2
|
+
function indexRepos(repos) {
|
|
3
|
+
return {
|
|
4
|
+
byGithubId: new Map(repos.map((r) => [r.githubId, r])),
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Walk up a block's ancestry to the enclosing service frame and resolve its repo via the
|
|
9
|
+
* account-owned {@link Service} for that frame (`getByFrameBlock` → `repoGithubId`). This is
|
|
10
|
+
* the SOLE linkage: the only mechanism that supports a MONOREPO (several frames each owning a
|
|
11
|
+
* service pinned to a different subdirectory of the SAME repo), and the only one carrying the
|
|
12
|
+
* per-service `directory`. Returns undefined when nothing in the chain is linked (the caller
|
|
13
|
+
* decides whether that is fatal — a throw for the primary, a skip for an involved peer).
|
|
14
|
+
* Shared verbatim by the singular {@link buildResolveRepoTarget} and plural
|
|
15
|
+
* {@link buildResolveRepoTargets} so the security-sensitive walk can't drift.
|
|
16
|
+
*/
|
|
17
|
+
async function walkToRepo(deps, workspaceId, blockId, index) {
|
|
18
|
+
let cursor = blockId;
|
|
19
|
+
const seen = new Set();
|
|
20
|
+
while (cursor && !seen.has(cursor)) {
|
|
21
|
+
const service = await deps.serviceRepository.getByFrameBlock(cursor);
|
|
22
|
+
if (service?.repoGithubId != null) {
|
|
23
|
+
const repo = index.byGithubId.get(service.repoGithubId);
|
|
24
|
+
if (repo)
|
|
25
|
+
return { repo, directory: service.directory ?? null };
|
|
26
|
+
}
|
|
27
|
+
seen.add(cursor);
|
|
28
|
+
const block = await deps.blockRepository.get(workspaceId, cursor);
|
|
29
|
+
cursor = block?.parentId ?? null;
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Turn a resolved repo into a {@link RepoTarget}. The subdirectory is fed to agents ONLY
|
|
35
|
+
* when the repo is flagged a monorepo: a single-service repo's service may carry a
|
|
36
|
+
* stale/irrelevant directory, but its agents must keep operating on the repo root.
|
|
37
|
+
*/
|
|
38
|
+
function toRepoTarget(installationId, resolved) {
|
|
39
|
+
const serviceDirectory = resolved.repo.isMonorepo && resolved.directory ? resolved.directory : undefined;
|
|
40
|
+
return {
|
|
41
|
+
installationId,
|
|
42
|
+
owner: resolved.repo.owner,
|
|
43
|
+
name: resolved.repo.name,
|
|
44
|
+
baseBranch: resolved.repo.defaultBranch ?? 'main',
|
|
45
|
+
...(serviceDirectory ? { serviceDirectory } : {}),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
2
48
|
/**
|
|
3
49
|
* Resolve the repo linked to a running block's enclosing service, shared verbatim by
|
|
4
50
|
* both runtime facades (Worker D1 + Node Drizzle/Postgres). Repos are linked at the
|
|
@@ -17,39 +63,21 @@ import { ValidationError, } from '@cat-factory/kernel';
|
|
|
17
63
|
* because each wires its own resolver).
|
|
18
64
|
*/
|
|
19
65
|
export function buildResolveRepoTarget(deps) {
|
|
20
|
-
const { installationRepository, repoProjectionRepository,
|
|
66
|
+
const { installationRepository, repoProjectionRepository, repoProjectionCache } = deps;
|
|
21
67
|
return async (workspaceId, blockId) => {
|
|
22
68
|
const installation = await installationRepository.getByWorkspace(workspaceId);
|
|
23
69
|
if (!installation)
|
|
24
70
|
return null;
|
|
25
|
-
|
|
71
|
+
// The whole-projection re-list is the hot, unbounded read here — cache it per
|
|
72
|
+
// workspace. The installation lookup above and the block ancestry walk below stay
|
|
73
|
+
// live (both cheap / tree-depth-bounded), so a reparent or service repo-link
|
|
74
|
+
// change needs no cache invalidation; only the projection's own writes do.
|
|
75
|
+
const repos = repoProjectionCache
|
|
76
|
+
? await repoProjectionCache.get(workspaceId, workspaceId, () => repoProjectionRepository.list(workspaceId))
|
|
77
|
+
: await repoProjectionRepository.list(workspaceId);
|
|
26
78
|
if (repos.length === 0)
|
|
27
79
|
return null;
|
|
28
|
-
const
|
|
29
|
-
// Walk up the block's ancestry to the enclosing service frame, then resolve its repo via
|
|
30
|
-
// the account-owned `Service` for that frame (`getByFrameBlock` → `repoGithubId`). This is
|
|
31
|
-
// the SOLE linkage: it is the only mechanism that supports a MONOREPO (several frames each
|
|
32
|
-
// owning a service pinned to a different subdirectory of the SAME repo) and the only one
|
|
33
|
-
// carrying the per-service `directory`. There is deliberately NO "first repo" fallback: a
|
|
34
|
-
// workspace can have many repos, and guessing silently pushes work into the wrong one. If
|
|
35
|
-
// nothing in the chain is linked we throw so the misconfiguration surfaces instead of
|
|
36
|
-
// corrupting another repo.
|
|
37
|
-
let resolved;
|
|
38
|
-
let cursor = blockId;
|
|
39
|
-
const seen = new Set();
|
|
40
|
-
while (cursor && !seen.has(cursor)) {
|
|
41
|
-
const service = await serviceRepository.getByFrameBlock(cursor);
|
|
42
|
-
if (service?.repoGithubId != null) {
|
|
43
|
-
const repo = reposByGithubId.get(service.repoGithubId);
|
|
44
|
-
if (repo) {
|
|
45
|
-
resolved = { repo, directory: service.directory ?? null };
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
seen.add(cursor);
|
|
50
|
-
const block = await blockRepository.get(workspaceId, cursor);
|
|
51
|
-
cursor = block?.parentId ?? null;
|
|
52
|
-
}
|
|
80
|
+
const resolved = await walkToRepo(deps, workspaceId, blockId, indexRepos(repos));
|
|
53
81
|
if (!resolved) {
|
|
54
82
|
// A typed domain error (not a bare Error) so callers can tell this DELIBERATE
|
|
55
83
|
// "block isn't under a repo-linked service" outcome apart from an unexpected
|
|
@@ -59,18 +87,101 @@ export function buildResolveRepoTarget(deps) {
|
|
|
59
87
|
`(workspace '${workspaceId}'). Link the service frame to its repo so execution ` +
|
|
60
88
|
`targets the right repository instead of guessing one.`);
|
|
61
89
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
90
|
+
return toRepoTarget(installation.installationId, resolved);
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Resolve every repo a multi-repo run touches: the task's OWN service (PRIMARY, via the same
|
|
95
|
+
* ancestry walk as {@link buildResolveRepoTarget}) plus one checkout per involved service
|
|
96
|
+
* frame — DEDUPED by repo. Two involved services in the same monorepo collapse into one
|
|
97
|
+
* checkout with BOTH subdirectories noted (the caller clones once and the agent edits both
|
|
98
|
+
* subtrees); an involved service sharing the primary's repo is folded into the primary
|
|
99
|
+
* checkout (no separate peer clone / PR — its changes ride the own-service PR).
|
|
100
|
+
*
|
|
101
|
+
* The invariant reads (installation + the whole projection) are hoisted ONCE and every
|
|
102
|
+
* involved frame's service is resolved in a single {@link ServiceRepository.listByFrameBlocks}
|
|
103
|
+
* batch (no point-read per frame). An involved frame with no linked repo is silently skipped
|
|
104
|
+
* for coding — it can still have provisioned an environment (the phase-2 asymmetry). The
|
|
105
|
+
* primary must resolve or we throw, exactly like the singular resolver.
|
|
106
|
+
*/
|
|
107
|
+
export function buildResolveRepoTargets(deps) {
|
|
108
|
+
const { installationRepository, repoProjectionRepository, serviceRepository } = deps;
|
|
109
|
+
return async (workspaceId, primaryBlockId, involvedFrameIds, primaryTarget) => {
|
|
110
|
+
// The installation id: reuse the pre-resolved primary target's when provided (skips a second
|
|
111
|
+
// installation read), else read it here.
|
|
112
|
+
let installationId;
|
|
113
|
+
if (primaryTarget) {
|
|
114
|
+
installationId = primaryTarget.installationId;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
const installation = await installationRepository.getByWorkspace(workspaceId);
|
|
118
|
+
if (!installation) {
|
|
119
|
+
throw new ValidationError(`Workspace '${workspaceId}' has no GitHub installation, so a multi-repo run cannot ` +
|
|
120
|
+
`resolve its repositories.`);
|
|
121
|
+
}
|
|
122
|
+
installationId = installation.installationId;
|
|
123
|
+
}
|
|
124
|
+
const repos = await repoProjectionRepository.list(workspaceId);
|
|
125
|
+
const index = indexRepos(repos);
|
|
126
|
+
// The primary checkout: reuse the caller's already-resolved target when given (no ancestry
|
|
127
|
+
// walk), else walk the primary block's ancestry from scratch.
|
|
128
|
+
let primaryCheckout;
|
|
129
|
+
if (primaryTarget) {
|
|
130
|
+
primaryCheckout = { target: primaryTarget, primary: true, involved: [] };
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
const primary = repos.length
|
|
134
|
+
? await walkToRepo(deps, workspaceId, primaryBlockId, index)
|
|
135
|
+
: undefined;
|
|
136
|
+
if (!primary) {
|
|
137
|
+
throw new ValidationError(`Block '${primaryBlockId}' is not under a service linked to a GitHub repository ` +
|
|
138
|
+
`(workspace '${workspaceId}'). Link the service frame to its repo so execution ` +
|
|
139
|
+
`targets the right repository instead of guessing one.`);
|
|
140
|
+
}
|
|
141
|
+
primaryCheckout = {
|
|
142
|
+
target: toRepoTarget(installationId, primary),
|
|
143
|
+
primary: true,
|
|
144
|
+
involved: [],
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
const checkouts = [primaryCheckout];
|
|
148
|
+
const key = (t) => `${t.owner}/${t.name}`;
|
|
149
|
+
const byKey = new Map([[key(primaryCheckout.target), primaryCheckout]]);
|
|
150
|
+
// Resolve every involved frame's service in one batch (frames ARE service frame blocks,
|
|
151
|
+
// so no ancestry walk is needed — the frame's own service names its repo + directory).
|
|
152
|
+
const uniqueFrameIds = [...new Set(involvedFrameIds)];
|
|
153
|
+
const services = await serviceRepository.listByFrameBlocks(uniqueFrameIds);
|
|
154
|
+
const serviceByFrame = new Map(services.map((s) => [s.frameBlockId, s]));
|
|
155
|
+
for (const frameId of uniqueFrameIds) {
|
|
156
|
+
const service = serviceByFrame.get(frameId);
|
|
157
|
+
const resolved = service?.repoGithubId != null && index.byGithubId.has(service.repoGithubId)
|
|
158
|
+
? {
|
|
159
|
+
repo: index.byGithubId.get(service.repoGithubId),
|
|
160
|
+
directory: service.directory ?? null,
|
|
161
|
+
}
|
|
162
|
+
: undefined;
|
|
163
|
+
// An involved frame with no linked repo is skipped for coding (deliberate asymmetry:
|
|
164
|
+
// it may still have provisioned an environment in phase 2).
|
|
165
|
+
if (!resolved)
|
|
166
|
+
continue;
|
|
167
|
+
const target = toRepoTarget(installationId, resolved);
|
|
168
|
+
const entry = byKey.get(key(target));
|
|
169
|
+
const involvedEntry = {
|
|
170
|
+
frameId,
|
|
171
|
+
...(target.serviceDirectory ? { serviceDirectory: target.serviceDirectory } : {}),
|
|
172
|
+
};
|
|
173
|
+
if (entry) {
|
|
174
|
+
// Same repo as the primary or an earlier peer (a shared monorepo) → one checkout,
|
|
175
|
+
// note this service's subdirectory alongside the others.
|
|
176
|
+
entry.involved.push(involvedEntry);
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
const checkout = { target, primary: false, involved: [involvedEntry] };
|
|
180
|
+
checkouts.push(checkout);
|
|
181
|
+
byKey.set(key(target), checkout);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return { checkouts };
|
|
74
185
|
};
|
|
75
186
|
}
|
|
76
187
|
//# sourceMappingURL=resolveRepoTarget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveRepoTarget.js","sourceRoot":"","sources":["../../src/agents/resolveRepoTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"resolveRepoTarget.js","sourceRoot":"","sources":["../../src/agents/resolveRepoTarget.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ export declare class FetchGitHubClient implements GitHubClient {
|
|
|
47
47
|
listIssues(installationId: number, ref: GitHubRepoRef, opts?: ListOptions): Promise<Paged<GitHubIssue>>;
|
|
48
48
|
getIssue(installationId: number, ref: GitHubRepoRef, issueNumber: number): Promise<GitHubIssueDetail>;
|
|
49
49
|
listSubIssues(installationId: number, ref: GitHubRepoRef, issueNumber: number): Promise<GitHubSubIssue[]>;
|
|
50
|
-
searchIssues(installationId: number, query: string, limit?: number): Promise<GitHubIssueSearchHit[]>;
|
|
50
|
+
searchIssues(installationId: number, query: string, limit?: number, order?: 'created-asc', page?: number): Promise<GitHubIssueSearchHit[]>;
|
|
51
51
|
searchCode(installationId: number, query: string, limit?: number): Promise<GitHubCodeSearchHit[]>;
|
|
52
52
|
listCommits(installationId: number, ref: GitHubRepoRef, opts?: ListOptions & {
|
|
53
53
|
sha?: string;
|
|
@@ -90,6 +90,7 @@ export declare class FetchGitHubClient implements GitHubClient {
|
|
|
90
90
|
deleteBranch(installationId: number, ref: GitHubRepoRef, branch: string): Promise<void>;
|
|
91
91
|
comment(installationId: number, ref: GitHubRepoRef, issueOrPrNumber: number, body: string): Promise<void>;
|
|
92
92
|
closeIssue(installationId: number, ref: GitHubRepoRef, number: number): Promise<void>;
|
|
93
|
+
applyIssueLabel(installationId: number, ref: GitHubRepoRef, number: number, label: string): Promise<void>;
|
|
93
94
|
/**
|
|
94
95
|
* POST a GraphQL query/mutation to the v4 endpoint with the installation token and return
|
|
95
96
|
* `data`, throwing on a GraphQL `errors` payload. Used for the review-thread reads/mutations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FetchGitHubClient.d.ts","sourceRoot":"","sources":["../../src/github/FetchGitHubClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,KAAK,EACV,KAAK,mBAAmB,EAExB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"FetchGitHubClient.d.ts","sourceRoot":"","sources":["../../src/github/FetchGitHubClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ const API_VERSION = '2022-11-28';
|
|
|
5
5
|
const ACCEPT = 'application/vnd.github+json';
|
|
6
6
|
const PER_PAGE = 100;
|
|
7
7
|
const MAX_PAGES = 10;
|
|
8
|
+
/** Neutral default colour for a label we create on the fly (GitHub requires a colour). */
|
|
9
|
+
const DEFAULT_LABEL_COLOR = 'ededed';
|
|
8
10
|
export class FetchGitHubClient {
|
|
9
11
|
deps;
|
|
10
12
|
constructor(deps) {
|
|
@@ -402,10 +404,16 @@ export class FetchGitHubClient {
|
|
|
402
404
|
return out;
|
|
403
405
|
});
|
|
404
406
|
}
|
|
405
|
-
async searchIssues(installationId, query, limit = 20) {
|
|
407
|
+
async searchIssues(installationId, query, limit = 20, order, page = 1) {
|
|
406
408
|
const q = encodeURIComponent(`${query} is:issue`);
|
|
407
409
|
const per = Math.min(Math.max(limit, 1), 100);
|
|
408
|
-
|
|
410
|
+
// Oldest-first (issue intake) rides the search API's sort/order params — the
|
|
411
|
+
// in-query `sort:` syntax is a web-UI affordance the REST API doesn't honor.
|
|
412
|
+
const sort = order === 'created-asc' ? '&sort=created&order=asc' : '';
|
|
413
|
+
const pageParam = page > 1 ? `&page=${page}` : '';
|
|
414
|
+
const { json } = await this.request(`/search/issues?q=${q}&per_page=${per}${sort}${pageParam}`, {
|
|
415
|
+
installationId,
|
|
416
|
+
});
|
|
409
417
|
const items = (json?.items ?? []).filter((i) => !i.pull_request);
|
|
410
418
|
const hits = [];
|
|
411
419
|
for (const item of items) {
|
|
@@ -700,6 +708,29 @@ export class FetchGitHubClient {
|
|
|
700
708
|
body: { state: 'closed', state_reason: 'completed' },
|
|
701
709
|
});
|
|
702
710
|
}
|
|
711
|
+
async applyIssueLabel(installationId, ref, number, label) {
|
|
712
|
+
// Ensure the label exists first — a 422 means it already does, which is fine.
|
|
713
|
+
// (Relying on the add-labels endpoint to auto-create is undocumented behaviour.)
|
|
714
|
+
// GitHub's create-label endpoint requires BOTH `name` and `color`; omitting the
|
|
715
|
+
// colour makes every create fail 422 (missing field), which the catch below would
|
|
716
|
+
// otherwise mistake for "already exists" — so send a neutral default colour.
|
|
717
|
+
try {
|
|
718
|
+
await this.request(`/repos/${ref.owner}/${ref.repo}/labels`, {
|
|
719
|
+
installationId,
|
|
720
|
+
method: 'POST',
|
|
721
|
+
body: { name: label, color: DEFAULT_LABEL_COLOR },
|
|
722
|
+
});
|
|
723
|
+
}
|
|
724
|
+
catch (err) {
|
|
725
|
+
if (!(err instanceof GitHubApiError && err.status === 422))
|
|
726
|
+
throw err;
|
|
727
|
+
}
|
|
728
|
+
await this.request(`/repos/${ref.owner}/${ref.repo}/issues/${number}/labels`, {
|
|
729
|
+
installationId,
|
|
730
|
+
method: 'POST',
|
|
731
|
+
body: { labels: [label] },
|
|
732
|
+
});
|
|
733
|
+
}
|
|
703
734
|
// ---- internals ----------------------------------------------------------
|
|
704
735
|
/**
|
|
705
736
|
* POST a GraphQL query/mutation to the v4 endpoint with the installation token and return
|