@cat-factory/server 0.80.0 → 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.
Files changed (63) hide show
  1. package/dist/agents/CompositeAgentExecutor.d.ts +4 -1
  2. package/dist/agents/CompositeAgentExecutor.d.ts.map +1 -1
  3. package/dist/agents/CompositeAgentExecutor.js +10 -4
  4. package/dist/agents/CompositeAgentExecutor.js.map +1 -1
  5. package/dist/agents/ContainerAgentExecutor.d.ts +18 -1
  6. package/dist/agents/ContainerAgentExecutor.d.ts.map +1 -1
  7. package/dist/agents/ContainerAgentExecutor.js +83 -6
  8. package/dist/agents/ContainerAgentExecutor.js.map +1 -1
  9. package/dist/agents/containerAgentResult.d.ts.map +1 -1
  10. package/dist/agents/containerAgentResult.js +42 -4
  11. package/dist/agents/containerAgentResult.js.map +1 -1
  12. package/dist/agents/jobBody.d.ts +40 -3
  13. package/dist/agents/jobBody.d.ts.map +1 -1
  14. package/dist/agents/jobBody.js +167 -36
  15. package/dist/agents/jobBody.js.map +1 -1
  16. package/dist/agents/prompts.d.ts +2 -1
  17. package/dist/agents/prompts.d.ts.map +1 -1
  18. package/dist/agents/prompts.js +2 -2
  19. package/dist/agents/prompts.js.map +1 -1
  20. package/dist/agents/resolveRepoTarget.d.ts +57 -1
  21. package/dist/agents/resolveRepoTarget.d.ts.map +1 -1
  22. package/dist/agents/resolveRepoTarget.js +143 -38
  23. package/dist/agents/resolveRepoTarget.js.map +1 -1
  24. package/dist/github/FetchGitHubClient.d.ts +2 -1
  25. package/dist/github/FetchGitHubClient.d.ts.map +1 -1
  26. package/dist/github/FetchGitHubClient.js +33 -2
  27. package/dist/github/FetchGitHubClient.js.map +1 -1
  28. package/dist/github/GitHubCiStatusProvider.d.ts +10 -6
  29. package/dist/github/GitHubCiStatusProvider.d.ts.map +1 -1
  30. package/dist/github/GitHubCiStatusProvider.js +52 -28
  31. package/dist/github/GitHubCiStatusProvider.js.map +1 -1
  32. package/dist/github/GitHubMergeabilityProvider.d.ts +8 -8
  33. package/dist/github/GitHubMergeabilityProvider.d.ts.map +1 -1
  34. package/dist/github/GitHubMergeabilityProvider.js +40 -14
  35. package/dist/github/GitHubMergeabilityProvider.js.map +1 -1
  36. package/dist/github/GitHubPullRequestMerger.d.ts +11 -10
  37. package/dist/github/GitHubPullRequestMerger.d.ts.map +1 -1
  38. package/dist/github/GitHubPullRequestMerger.js +50 -30
  39. package/dist/github/GitHubPullRequestMerger.js.map +1 -1
  40. package/dist/github/repoFullName.d.ts +3 -0
  41. package/dist/github/repoFullName.d.ts.map +1 -0
  42. package/dist/github/repoFullName.js +6 -0
  43. package/dist/github/repoFullName.js.map +1 -0
  44. package/dist/http/env.d.ts +8 -0
  45. package/dist/http/env.d.ts.map +1 -1
  46. package/dist/index.d.ts +1 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/modules/initiatives/InitiativeController.d.ts.map +1 -1
  51. package/dist/modules/initiatives/InitiativeController.js +37 -1
  52. package/dist/modules/initiatives/InitiativeController.js.map +1 -1
  53. package/dist/modules/publicApi/PublicApiController.d.ts.map +1 -1
  54. package/dist/modules/publicApi/PublicApiController.js +3 -3
  55. package/dist/modules/publicApi/PublicApiController.js.map +1 -1
  56. package/dist/modules/workspaces/WorkspaceController.d.ts.map +1 -1
  57. package/dist/modules/workspaces/WorkspaceController.js +11 -10
  58. package/dist/modules/workspaces/WorkspaceController.js.map +1 -1
  59. package/dist/persistence/mappers.d.ts +12 -1
  60. package/dist/persistence/mappers.d.ts.map +1 -1
  61. package/dist/persistence/mappers.js +45 -1
  62. package/dist/persistence/mappers.js.map +1 -1
  63. package/package.json +8 -8
@@ -1,8 +1,14 @@
1
+ import { allPullRequests } from '@cat-factory/contracts';
2
+ import { splitRepo } from './repoFullName.js';
1
3
  /**
2
- * Reads a block's CI status from GitHub for the `ci` gate: resolve the PR head
3
- * branch → its head commit (latest commit on the branch) → the check runs for
4
- * that commit. Returns `{ headSha: null, checks: [] }` when there is no resolvable
5
- * PR branch yet (the engine treats that as "nothing to gate").
4
+ * Reads a block's CI status from GitHub for the `ci` gate. For a single-repo task it
5
+ * resolves the PR head branch → its head commit → the check runs for that commit. For a
6
+ * MULTI-REPO task (service-connections phase 4) it does the same for EVERY PR the task
7
+ * opened (own-service + peer-service repos), returning one {@link RepoCiStatus} each so the
8
+ * gate can aggregate the verdict and name the failing repo(s). A workspace has one GitHub
9
+ * installation today, so every PR is read under the own repo's installation id.
10
+ * Returns `{ repos: [] }` when there is no resolvable PR branch (the engine treats that as
11
+ * "nothing to gate").
6
12
  */
7
13
  export class GitHubCiStatusProvider {
8
14
  deps;
@@ -11,30 +17,48 @@ export class GitHubCiStatusProvider {
11
17
  }
12
18
  async getStatus(workspaceId, blockId) {
13
19
  const block = await this.deps.blockRepository.get(workspaceId, blockId);
14
- const branch = block?.pullRequest?.branch;
15
- if (!branch)
16
- return { headSha: null, checks: [] };
17
- const target = await this.deps.resolveRepoTarget(workspaceId, blockId);
18
- if (!target)
19
- return { headSha: null, checks: [] };
20
- const ref = { owner: target.owner, repo: target.name };
21
- // The head commit of the PR branch is the latest commit listed on that ref.
22
- const commits = await this.deps.githubClient.listCommits(target.installationId, ref, {
23
- sha: branch,
24
- });
25
- const headSha = commits.items[0]?.sha ?? null;
26
- if (!headSha)
27
- return { headSha: null, checks: [] };
28
- const checks = await this.deps.githubClient.listCheckRuns(target.installationId, ref, headSha);
29
- return {
30
- headSha,
31
- checks: checks.items.map((c) => ({
32
- name: c.name,
33
- status: c.status,
34
- conclusion: c.conclusion,
35
- url: c.htmlUrl ?? null,
36
- })),
37
- };
20
+ if (!block)
21
+ return { repos: [] };
22
+ const prs = allPullRequests(block);
23
+ if (prs.length === 0)
24
+ return { repos: [] };
25
+ // A workspace has exactly one GitHub installation today; every PR (own + peer) is read
26
+ // under it. Resolve the own target once for the installation id + own owner/name.
27
+ const ownTarget = await this.deps.resolveRepoTarget(workspaceId, blockId);
28
+ if (!ownTarget)
29
+ return { repos: [] };
30
+ const installationId = ownTarget.installationId;
31
+ // One remote round-trip per PR is unavoidable — each PR is a distinct GitHub repo/branch
32
+ // with no cross-repo check-runs API. Those per-PR reads are independent across repos, so
33
+ // run them concurrently (the block itself is read once, above not a repository-layer
34
+ // N+1). Order is preserved: own-service PR first, then peers, so the gate reads the own
35
+ // head as `repos[0]`.
36
+ const repos = await Promise.all(prs.map(async (pr) => {
37
+ const [owner, name] = pr.repo ? splitRepo(pr.repo) : [ownTarget.owner, ownTarget.name];
38
+ const repoFull = `${owner}/${name}`;
39
+ const branch = pr.ref.branch;
40
+ if (!branch)
41
+ return { repo: repoFull, headSha: null, checks: [] };
42
+ const ref = { owner, repo: name };
43
+ const commits = await this.deps.githubClient.listCommits(installationId, ref, {
44
+ sha: branch,
45
+ });
46
+ const headSha = commits.items[0]?.sha ?? null;
47
+ if (!headSha)
48
+ return { repo: repoFull, headSha: null, checks: [] };
49
+ const checks = await this.deps.githubClient.listCheckRuns(installationId, ref, headSha);
50
+ return {
51
+ repo: repoFull,
52
+ headSha,
53
+ checks: checks.items.map((c) => ({
54
+ name: c.name,
55
+ status: c.status,
56
+ conclusion: c.conclusion,
57
+ url: c.htmlUrl ?? null,
58
+ })),
59
+ };
60
+ }));
61
+ return { repos };
38
62
  }
39
63
  }
40
64
  //# sourceMappingURL=GitHubCiStatusProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GitHubCiStatusProvider.js","sourceRoot":"","sources":["../../src/github/GitHubCiStatusProvider.ts"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IACJ,IAAI;IAAjC,YAA6B,IAAwC;oBAAxC,IAAI;IAAuC,CAAC;IAEzE,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,OAAe;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACvE,MAAM,MAAM,GAAG,KAAK,EAAE,WAAW,EAAE,MAAM,CAAA;QACzC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAEjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACtE,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QACjD,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;QAEtD,4EAA4E;QAC5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE;YACnF,GAAG,EAAE,MAAM;SACZ,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAA;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAElD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QAC9F,OAAO;YACL,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,GAAG,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;aACvB,CAAC,CAAC;SACJ,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"GitHubCiStatusProvider.js","sourceRoot":"","sources":["../../src/github/GitHubCiStatusProvider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAU7C;;;;;;;;;GASG;AACH,MAAM,OAAO,sBAAsB;IACJ,IAAI;IAAjC,YAA6B,IAAwC;oBAAxC,IAAI;IAAuC,CAAC;IAEzE,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,OAAe;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACvE,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QAChC,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QAE1C,uFAAuF;QACvF,kFAAkF;QAClF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACzE,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;QACpC,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAA;QAE/C,yFAAyF;QACzF,yFAAyF;QACzF,uFAAuF;QACvF,wFAAwF;QACxF,sBAAsB;QACtB,MAAM,KAAK,GAAmB,MAAM,OAAO,CAAC,GAAG,CAC7C,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAyB,EAAE;YAC1C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;YACtF,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,CAAA;YACnC,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAA;YAC5B,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;YACjE,MAAM,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE;gBAC5E,GAAG,EAAE,MAAM;aACZ,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAA;YAC7C,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;YAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YACvF,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO;gBACP,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,GAAG,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;iBACvB,CAAC,CAAC;aACJ,CAAA;QACH,CAAC,CAAC,CACH,CAAA;QACD,OAAO,EAAE,KAAK,EAAE,CAAA;IAClB,CAAC;CACF"}
@@ -2,19 +2,19 @@ import type { BlockRepository, GitHubClient, MergeabilityReport, MergeabilityVer
2
2
  import type { ResolveRepoTarget } from '../agents/ContainerAgentExecutor.js';
3
3
  export interface GitHubMergeabilityProviderDependencies {
4
4
  githubClient: GitHubClient;
5
- /** Resolves the repo (installation + owner/name) a block's work targets. */
5
+ /** Resolves the repo (installation + owner/name) a block's OWN work targets. */
6
6
  resolveRepoTarget: ResolveRepoTarget;
7
- /** Reads the block's recorded PR ref (number). */
7
+ /** Reads the block's recorded PR ref(s) (own + peers). */
8
8
  blockRepository: BlockRepository;
9
9
  }
10
10
  /**
11
- * Reads a block's PR mergeability from GitHub for the `conflicts` gate. Returns
12
- * `{ headSha: null, verdict: 'unknown' }` when there is no resolvable PR (the engine
11
+ * Reads a block's PR mergeability from GitHub for the `conflicts` gate — for a single-repo
12
+ * task, its one PR; for a MULTI-REPO task (service-connections phase 4), EVERY PR it opened
13
+ * (own-service + peers). Returns `{ repos: [] }` when there is no resolvable PR (the engine
13
14
  * treats that as "nothing to gate"). Maps GitHub's lazily-computed `mergeable` /
14
- * `mergeable_state` to the engine's small verdict: only `mergeable_state === 'dirty'`
15
- * is a real conflict; a null/`unknown` reading means GitHub is still computing it
16
- * (poll again); everything else (clean / behind / blocked / unstable) has no
17
- * conflict to resolve.
15
+ * `mergeable_state` to the engine's small verdict: only `mergeable_state === 'dirty'` is a
16
+ * real conflict; a null/`unknown` reading means GitHub is still computing it (poll again);
17
+ * everything else (clean / behind / blocked / unstable) has no conflict to resolve.
18
18
  */
19
19
  export declare class GitHubMergeabilityProvider implements PullRequestMergeabilityProvider {
20
20
  private readonly deps;
@@ -1 +1 @@
1
- {"version":3,"file":"GitHubMergeabilityProvider.d.ts","sourceRoot":"","sources":["../../src/github/GitHubMergeabilityProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,+BAA+B,EAChC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAE5E,MAAM,WAAW,sCAAsC;IACrD,YAAY,EAAE,YAAY,CAAA;IAC1B,4EAA4E;IAC5E,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,kDAAkD;IAClD,eAAe,EAAE,eAAe,CAAA;CACjC;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,YAAW,+BAA+B;IACpE,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,sCAAsC,EAAI;IAEvE,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAevF;CACF;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,OAAO,GAAG,IAAI,EACzB,cAAc,EAAE,MAAM,GACrB,mBAAmB,CAOrB"}
1
+ {"version":3,"file":"GitHubMergeabilityProvider.d.ts","sourceRoot":"","sources":["../../src/github/GitHubMergeabilityProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,+BAA+B,EAEhC,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAG5E,MAAM,WAAW,sCAAsC;IACrD,YAAY,EAAE,YAAY,CAAA;IAC1B,gFAAgF;IAChF,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,0DAA0D;IAC1D,eAAe,EAAE,eAAe,CAAA;CACjC;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,YAAW,+BAA+B;IACpE,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,sCAAsC,EAAI;IAEvE,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwCvF;CACF;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,OAAO,GAAG,IAAI,EACzB,cAAc,EAAE,MAAM,GACrB,mBAAmB,CAOrB"}
@@ -1,11 +1,13 @@
1
+ import { allPullRequests } from '@cat-factory/contracts';
2
+ import { splitRepo } from './repoFullName.js';
1
3
  /**
2
- * Reads a block's PR mergeability from GitHub for the `conflicts` gate. Returns
3
- * `{ headSha: null, verdict: 'unknown' }` when there is no resolvable PR (the engine
4
+ * Reads a block's PR mergeability from GitHub for the `conflicts` gate — for a single-repo
5
+ * task, its one PR; for a MULTI-REPO task (service-connections phase 4), EVERY PR it opened
6
+ * (own-service + peers). Returns `{ repos: [] }` when there is no resolvable PR (the engine
4
7
  * treats that as "nothing to gate"). Maps GitHub's lazily-computed `mergeable` /
5
- * `mergeable_state` to the engine's small verdict: only `mergeable_state === 'dirty'`
6
- * is a real conflict; a null/`unknown` reading means GitHub is still computing it
7
- * (poll again); everything else (clean / behind / blocked / unstable) has no
8
- * conflict to resolve.
8
+ * `mergeable_state` to the engine's small verdict: only `mergeable_state === 'dirty'` is a
9
+ * real conflict; a null/`unknown` reading means GitHub is still computing it (poll again);
10
+ * everything else (clean / behind / blocked / unstable) has no conflict to resolve.
9
11
  */
10
12
  export class GitHubMergeabilityProvider {
11
13
  deps;
@@ -14,14 +16,38 @@ export class GitHubMergeabilityProvider {
14
16
  }
15
17
  async getMergeability(workspaceId, blockId) {
16
18
  const block = await this.deps.blockRepository.get(workspaceId, blockId);
17
- const number = block?.pullRequest?.number;
18
- if (number === undefined)
19
- return { headSha: null, verdict: 'unknown' };
20
- const target = await this.deps.resolveRepoTarget(workspaceId, blockId);
21
- if (!target)
22
- return { headSha: null, verdict: 'unknown' };
23
- const { mergeable, mergeableState, headSha } = await this.deps.githubClient.getPullRequestMergeability(target.installationId, { owner: target.owner, repo: target.name }, number);
24
- return { headSha, verdict: classifyMergeability(mergeable, mergeableState) };
19
+ if (!block)
20
+ return { repos: [] };
21
+ const prs = allPullRequests(block);
22
+ if (prs.length === 0)
23
+ return { repos: [] };
24
+ const ownTarget = await this.deps.resolveRepoTarget(workspaceId, blockId);
25
+ if (!ownTarget)
26
+ return { repos: [] };
27
+ const installationId = ownTarget.installationId;
28
+ // One remote round-trip per PR (each is a distinct GitHub PR), independent across repos, so
29
+ // run them concurrently. The block is read once (above). Order preserved: own PR first.
30
+ const repos = await Promise.all(prs.map(async (pr) => {
31
+ const [owner, name] = pr.repo ? splitRepo(pr.repo) : [ownTarget.owner, ownTarget.name];
32
+ const repoFull = `${owner}/${name}`;
33
+ const number = pr.ref.number;
34
+ if (number === undefined) {
35
+ return {
36
+ repo: repoFull,
37
+ ...(pr.frameId ? { frameId: pr.frameId } : {}),
38
+ headSha: null,
39
+ verdict: 'unknown',
40
+ };
41
+ }
42
+ const { mergeable, mergeableState, headSha } = await this.deps.githubClient.getPullRequestMergeability(installationId, { owner, repo: name }, number);
43
+ return {
44
+ repo: repoFull,
45
+ ...(pr.frameId ? { frameId: pr.frameId } : {}),
46
+ headSha,
47
+ verdict: classifyMergeability(mergeable, mergeableState),
48
+ };
49
+ }));
50
+ return { repos };
25
51
  }
26
52
  }
27
53
  /** Map GitHub's `mergeable` / `mergeable_state` to the engine's mergeability verdict. */
@@ -1 +1 @@
1
- {"version":3,"file":"GitHubMergeabilityProvider.js","sourceRoot":"","sources":["../../src/github/GitHubMergeabilityProvider.ts"],"names":[],"mappings":"AAiBA;;;;;;;;GAQG;AACH,MAAM,OAAO,0BAA0B;IACR,IAAI;IAAjC,YAA6B,IAA4C;oBAA5C,IAAI;IAA2C,CAAC;IAE7E,KAAK,CAAC,eAAe,CAAC,WAAmB,EAAE,OAAe;QACxD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACvE,MAAM,MAAM,GAAG,KAAK,EAAE,WAAW,EAAE,MAAM,CAAA;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;QAEtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACtE,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;QAEzD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,0BAA0B,CACrD,MAAM,CAAC,cAAc,EACrB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAC1C,MAAM,CACP,CAAA;QACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,CAAA;IAC9E,CAAC;CACF;AAED,yFAAyF;AACzF,MAAM,UAAU,oBAAoB,CAClC,SAAyB,EACzB,cAAsB;IAEtB,kEAAkE;IAClE,IAAI,cAAc,KAAK,OAAO;QAAE,OAAO,YAAY,CAAA;IACnD,mFAAmF;IACnF,IAAI,SAAS,KAAK,IAAI,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IACjG,iFAAiF;IACjF,OAAO,WAAW,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"GitHubMergeabilityProvider.js","sourceRoot":"","sources":["../../src/github/GitHubMergeabilityProvider.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,24 @@
1
- import type { BlockRepository, GitHubClient, PullRequestMerger } from '@cat-factory/kernel';
1
+ import type { BlockRepository, GitHubClient, MergeAllOutcome, MergePrEntry, PullRequestMerger } from '@cat-factory/kernel';
2
2
  import type { ResolveRepoTarget } from '../agents/ContainerAgentExecutor.js';
3
3
  export interface GitHubPullRequestMergerDependencies {
4
4
  githubClient: GitHubClient;
5
- /** Resolves the repo (installation + owner/name) a block's work targets. */
5
+ /** Resolves the repo (installation + owner/name) a block's OWN work targets. */
6
6
  resolveRepoTarget: ResolveRepoTarget;
7
- /** Reads the block's recorded PR ref (number to merge). */
7
+ /** Reads the block's recorded PR ref(s) (own + peers). */
8
8
  blockRepository: BlockRepository;
9
9
  }
10
10
  /**
11
- * The single place a block's pull request is actually merged on GitHub. The
12
- * execution engine calls this (via the {@link PullRequestMerger} port) before
13
- * flipping a task to `done`, so `done` provably means "merged". Throws if the
14
- * block has no PR number, the repo can't be resolved, or GitHub rejects the merge
15
- * (failing required checks, conflicts) the engine then leaves the block awaiting
16
- * a manual merge / raises a review notification.
11
+ * The single place a block's pull request(s) are actually merged on GitHub. The execution
12
+ * engine calls this (via the {@link PullRequestMerger} port) before flipping a task to
13
+ * `done`, so `done` provably means "merged". For a single-repo task it merges the one PR;
14
+ * for a MULTI-REPO task (service-connections phase 4) it merges the engine-ordered list
15
+ * (provider-before-consumer) sequentially, stopping at the FIRST failure cross-repo merges
16
+ * cannot be atomic, so the engine surfaces a partial merge for a human to finish. A workspace
17
+ * has one GitHub installation today, so every PR merges under the own repo's installation id.
17
18
  */
18
19
  export declare class GitHubPullRequestMerger implements PullRequestMerger {
19
20
  private readonly deps;
20
21
  constructor(deps: GitHubPullRequestMergerDependencies);
21
- mergeForBlock(workspaceId: string, blockId: string): Promise<void>;
22
+ mergePullRequests(workspaceId: string, blockId: string, prs: MergePrEntry[]): Promise<MergeAllOutcome>;
22
23
  }
23
24
  //# sourceMappingURL=GitHubPullRequestMerger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GitHubPullRequestMerger.d.ts","sourceRoot":"","sources":["../../src/github/GitHubPullRequestMerger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAG5E,MAAM,WAAW,mCAAmC;IAClD,YAAY,EAAE,YAAY,CAAA;IAC1B,4EAA4E;IAC5E,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,2DAA2D;IAC3D,eAAe,EAAE,eAAe,CAAA;CACjC;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,mCAAmC,EAAI;IAEpE,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCvE;CACF"}
1
+ {"version":3,"file":"GitHubPullRequestMerger.d.ts","sourceRoot":"","sources":["../../src/github/GitHubPullRequestMerger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAI5E,MAAM,WAAW,mCAAmC;IAClD,YAAY,EAAE,YAAY,CAAA;IAC1B,gFAAgF;IAChF,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,0DAA0D;IAC1D,eAAe,EAAE,eAAe,CAAA;CACjC;AAED;;;;;;;;GAQG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,mCAAmC,EAAI;IAEpE,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,YAAY,EAAE,GAClB,OAAO,CAAC,eAAe,CAAC,CAgD1B;CACF"}
@@ -1,44 +1,64 @@
1
+ import { splitRepo } from './repoFullName.js';
1
2
  import { logger } from '../observability/logger.js';
2
3
  /**
3
- * The single place a block's pull request is actually merged on GitHub. The
4
- * execution engine calls this (via the {@link PullRequestMerger} port) before
5
- * flipping a task to `done`, so `done` provably means "merged". Throws if the
6
- * block has no PR number, the repo can't be resolved, or GitHub rejects the merge
7
- * (failing required checks, conflicts) the engine then leaves the block awaiting
8
- * a manual merge / raises a review notification.
4
+ * The single place a block's pull request(s) are actually merged on GitHub. The execution
5
+ * engine calls this (via the {@link PullRequestMerger} port) before flipping a task to
6
+ * `done`, so `done` provably means "merged". For a single-repo task it merges the one PR;
7
+ * for a MULTI-REPO task (service-connections phase 4) it merges the engine-ordered list
8
+ * (provider-before-consumer) sequentially, stopping at the FIRST failure cross-repo merges
9
+ * cannot be atomic, so the engine surfaces a partial merge for a human to finish. A workspace
10
+ * has one GitHub installation today, so every PR merges under the own repo's installation id.
9
11
  */
10
12
  export class GitHubPullRequestMerger {
11
13
  deps;
12
14
  constructor(deps) {
13
15
  this.deps = deps;
14
16
  }
15
- async mergeForBlock(workspaceId, blockId) {
16
- const target = await this.deps.resolveRepoTarget(workspaceId, blockId);
17
- if (!target) {
17
+ async mergePullRequests(workspaceId, blockId, prs) {
18
+ const ownTarget = await this.deps.resolveRepoTarget(workspaceId, blockId);
19
+ if (!ownTarget) {
18
20
  throw new Error(`No GitHub repository resolved for block '${blockId}'; cannot merge.`);
19
21
  }
20
- const block = await this.deps.blockRepository.get(workspaceId, blockId);
21
- const number = block?.pullRequest?.number;
22
- if (number === undefined) {
23
- throw new Error(`Block '${blockId}' has no pull-request number to merge.`);
24
- }
25
- await this.deps.githubClient.mergePullRequest(target.installationId, { owner: target.owner, repo: target.name }, number);
26
- // Tear down the work branch now that it is merged. The branch is deterministic
27
- // per task (`cat-factory/<blockId>`), so leaving it behind would let a later
28
- // re-run of this block RESUME on already-merged commits — which a squash/rebase
29
- // merge would re-introduce wholesale (those commits are not ancestors of base),
30
- // and which for a merge-commit merge leaves a branch reachable from base that a
31
- // resumed run can't open a PR for ("No commits between ..."). Best-effort: a
32
- // failed delete must never undo or fail the completed merge — but log it, since a
33
- // silently-skipped delete is exactly what strands a resumable-but-empty branch.
34
- const branch = block?.pullRequest?.branch;
35
- if (branch) {
36
- await this.deps.githubClient
37
- .deleteBranch(target.installationId, { owner: target.owner, repo: target.name }, branch)
38
- .catch((err) => {
39
- logger.warn({ workspaceId, blockId, branch, err }, 'mergeForBlock: failed to delete merged work branch (left behind)');
40
- });
22
+ const installationId = ownTarget.installationId;
23
+ const merged = [];
24
+ for (let i = 0; i < prs.length; i++) {
25
+ const entry = prs[i];
26
+ const [owner, name] = entry.repo ? splitRepo(entry.repo) : [ownTarget.owner, ownTarget.name];
27
+ const number = entry.ref.number;
28
+ if (number === undefined) {
29
+ // A PR ref with no number can't be merged — treat as a failure so the run doesn't
30
+ // silently report "done" while a change is left open.
31
+ return {
32
+ merged,
33
+ failed: { entry, error: `PR for '${owner}/${name}' has no number to merge.` },
34
+ skipped: prs.slice(i + 1),
35
+ };
36
+ }
37
+ const ref = { owner, repo: name };
38
+ try {
39
+ await this.deps.githubClient.mergePullRequest(installationId, ref, number);
40
+ }
41
+ catch (err) {
42
+ return {
43
+ merged,
44
+ failed: { entry, error: err instanceof Error ? err.message : String(err) },
45
+ skipped: prs.slice(i + 1),
46
+ };
47
+ }
48
+ merged.push(entry);
49
+ // Tear down the merged work branch (deterministic per task, `cat-factory/<blockId>`);
50
+ // leaving it strands a resumable-but-merged branch (see the single-repo note that used
51
+ // to live here). Best-effort — a failed delete must never undo the completed merge.
52
+ const branch = entry.ref.branch;
53
+ if (branch) {
54
+ await this.deps.githubClient
55
+ .deleteBranch(installationId, ref, branch)
56
+ .catch((e) => {
57
+ logger.warn({ workspaceId, blockId, repo: `${owner}/${name}`, branch, err: e }, 'mergePullRequests: failed to delete merged work branch (left behind)');
58
+ });
59
+ }
41
60
  }
61
+ return { merged, failed: null, skipped: [] };
42
62
  }
43
63
  }
44
64
  //# sourceMappingURL=GitHubPullRequestMerger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GitHubPullRequestMerger.js","sourceRoot":"","sources":["../../src/github/GitHubPullRequestMerger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAUnD;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAuB;IACL,IAAI;IAAjC,YAA6B,IAAyC;oBAAzC,IAAI;IAAwC,CAAC;IAE1E,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,OAAe;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACtE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,4CAA4C,OAAO,kBAAkB,CAAC,CAAA;QACxF,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACvE,MAAM,MAAM,GAAG,KAAK,EAAE,WAAW,EAAE,MAAM,CAAA;QACzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,wCAAwC,CAAC,CAAA;QAC5E,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAC3C,MAAM,CAAC,cAAc,EACrB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAC1C,MAAM,CACP,CAAA;QAED,+EAA+E;QAC/E,6EAA6E;QAC7E,gFAAgF;QAChF,gFAAgF;QAChF,gFAAgF;QAChF,6EAA6E;QAC7E,kFAAkF;QAClF,gFAAgF;QAChF,MAAM,MAAM,GAAG,KAAK,EAAE,WAAW,EAAE,MAAM,CAAA;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY;iBACzB,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC;iBACvF,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CACT,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EACrC,kEAAkE,CACnE,CAAA;YACH,CAAC,CAAC,CAAA;QACN,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"GitHubPullRequestMerger.js","sourceRoot":"","sources":["../../src/github/GitHubPullRequestMerger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Split an `owner/name` full name into its parts (an unslashed value is treated as the name). */
2
+ export declare function splitRepo(full: string): [string, string];
3
+ //# sourceMappingURL=repoFullName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repoFullName.d.ts","sourceRoot":"","sources":["../../src/github/repoFullName.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAGxD"}
@@ -0,0 +1,6 @@
1
+ /** Split an `owner/name` full name into its parts (an unslashed value is treated as the name). */
2
+ export function splitRepo(full) {
3
+ const i = full.indexOf('/');
4
+ return i === -1 ? ['', full] : [full.slice(0, i), full.slice(i + 1)];
5
+ }
6
+ //# sourceMappingURL=repoFullName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repoFullName.js","sourceRoot":"","sources":["../../src/github/repoFullName.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACtE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { AgentRunRepository, ExecutionRepository, ResolveBinaryArtifactStore, ConsensusSessionRepository, ResolveRunRepoContext, UserRepoAccessRepository, VcsIdentityRegistry, VcsWebhookSink } from '@cat-factory/kernel';
2
2
  import type { ApiKeyService, EnvironmentBackendRegistry, LocalModelEndpointService, LocalSettingsService, OpenRouterCatalogService, PersonalSubscriptionService, ProviderSubscriptionService, PublicApiKeyService, RunnerBackendRegistry, UserSecretService } from '@cat-factory/integrations';
3
3
  import type { Core } from '@cat-factory/orchestration';
4
+ import type { AgentKindRegistry } from '@cat-factory/agents';
4
5
  import type { ResolveRepoTarget } from '../agents/ContainerAgentExecutor.js';
5
6
  import type { SessionPayload, SessionUser } from '../auth/signing.js';
6
7
  import type { AppConfig } from '../config/types.js';
@@ -38,6 +39,13 @@ export interface ServerContainer extends Core {
38
39
  */
39
40
  environmentBackendRegistry: EnvironmentBackendRegistry;
40
41
  runnerBackendRegistry: RunnerBackendRegistry;
42
+ /**
43
+ * The app-owned agent-kind registry (built-ins + any a deployment registered by
44
+ * reference). The workspace snapshot reads it to project the custom-kind palette + the
45
+ * agent-config catalog; the controllers thread the SAME instance the engine + executors
46
+ * use. Always present — the facade attaches it alongside the backend registries.
47
+ */
48
+ agentKindRegistry: AgentKindRegistry;
41
49
  /**
42
50
  * Resolve a block's run repo (installation + repo + default branch) bound to a
43
51
  * checkout-free {@link RepoFiles}. The engine uses it to run a registered kind's
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/http/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/http/env.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -19,7 +19,7 @@ export { createScopedModelProviderResolver, type ScopedModelProviderOptions, } f
19
19
  export { resolveWorkspaceCapabilities, type CapabilityServices, } from './agents/providerCapabilities.js';
20
20
  export { ContainerRepoBootstrapper, type ContainerRepoBootstrapperDependencies, } from './agents/ContainerRepoBootstrapper.js';
21
21
  export { ContainerEnvConfigRepairer, type ContainerEnvConfigRepairerDependencies, } from './agents/ContainerEnvConfigRepairer.js';
22
- export { buildResolveRepoTarget, type ResolveRepoTargetDependencies, } from './agents/resolveRepoTarget.js';
22
+ export { buildResolveRepoTarget, buildResolveRepoTargets, type ResolveRepoTargetDependencies, type ResolveRepoTargetsDependencies, type ResolveRepoTargets, type ResolvedRepoTargets, type RepoCheckout, } from './agents/resolveRepoTarget.js';
23
23
  export { makeRepoFiles, makeResolveDeployCloneTarget, makeResolveRepoFiles, makeResolveRepoFilesForCoords, makeResolveRunRepoContext, runRepoOps, } from './agents/repoFiles.js';
24
24
  export { makePreviewJobBuilder, type PreviewJobBuilderDependencies, } from './preview/previewJobBuilder.js';
25
25
  export { bearerToken, requireAuth, verifySession } from './auth/middleware.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -26,7 +26,7 @@ export { createScopedModelProviderResolver, } from './agents/modelProviderResolv
26
26
  export { resolveWorkspaceCapabilities, } from './agents/providerCapabilities.js';
27
27
  export { ContainerRepoBootstrapper, } from './agents/ContainerRepoBootstrapper.js';
28
28
  export { ContainerEnvConfigRepairer, } from './agents/ContainerEnvConfigRepairer.js';
29
- export { buildResolveRepoTarget, } from './agents/resolveRepoTarget.js';
29
+ export { buildResolveRepoTarget, buildResolveRepoTargets, } from './agents/resolveRepoTarget.js';
30
30
  // The checkout-free RepoFiles facade over the wired GitHubClient + the engine-facing
31
31
  // run-repo resolver each facade threads into the core for a registered kind's pre/post-ops.
32
32
  export { makeRepoFiles, makeResolveDeployCloneTarget, makeResolveRepoFiles, makeResolveRepoFilesForCoords, makeResolveRunRepoContext, runRepoOps, } from './agents/repoFiles.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InitiativeController.d.ts","sourceRoot":"","sources":["../../../src/modules/initiatives/InitiativeController.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAW/C;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,CAuFnD"}
1
+ {"version":3,"file":"InitiativeController.d.ts","sourceRoot":"","sources":["../../../src/modules/initiatives/InitiativeController.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAW/C;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,CA8InD"}
@@ -1,4 +1,4 @@
1
- import { answerInitiativeQuestionContract, cancelInitiativeContract, continueInitiativePlanningContract, createInitiativeContract, getInitiativeByBlockContract, getInitiativeContract, listInitiativesContract, pauseInitiativeContract, proceedInitiativePlanningContract, resumeInitiativeContract, } from '@cat-factory/contracts';
1
+ import { answerInitiativeQuestionContract, cancelInitiativeContract, continueInitiativePlanningContract, createInitiativeContract, dismissInitiativeFollowUpContract, getInitiativeByBlockContract, getInitiativeContract, listInitiativesContract, pauseInitiativeContract, proceedInitiativePlanningContract, promoteInitiativeFollowUpContract, resumeInitiativeContract, updateInitiativeItemContract, updateInitiativePolicyContract, } from '@cat-factory/contracts';
2
2
  import { buildHonoRoute } from '@toad-contracts/hono';
3
3
  import { Hono } from 'hono';
4
4
  import { param } from '../../http/params.js';
@@ -97,6 +97,42 @@ export function initiativeController() {
97
97
  const { blockId } = c.req.valid('param');
98
98
  return c.json(await initiatives.service.cancel(param(c, 'workspaceId'), blockId), 200);
99
99
  });
100
+ // ---- Follow-up triage + item/policy editing (slice 4) --------------------
101
+ // Mid-flight human curation of an executing initiative, keyed by initiative id. Each rides the
102
+ // service's rev-CAS single-writer path (so a human edit and a live tick can't clobber each
103
+ // other) and returns the updated entity for the SPA to patch.
104
+ buildHonoRoute(app, promoteInitiativeFollowUpContract, async (c) => {
105
+ const initiatives = requireInitiatives(c);
106
+ if (!initiatives)
107
+ return unavailable(c);
108
+ const { initiativeId, followUpId } = c.req.valid('param');
109
+ const updated = await initiatives.service.promoteFollowUp(param(c, 'workspaceId'), initiativeId, followUpId, c.req.valid('json'));
110
+ return c.json(updated, 200);
111
+ });
112
+ buildHonoRoute(app, dismissInitiativeFollowUpContract, async (c) => {
113
+ const initiatives = requireInitiatives(c);
114
+ if (!initiatives)
115
+ return unavailable(c);
116
+ const { initiativeId, followUpId } = c.req.valid('param');
117
+ const updated = await initiatives.service.dismissFollowUp(param(c, 'workspaceId'), initiativeId, followUpId);
118
+ return c.json(updated, 200);
119
+ });
120
+ buildHonoRoute(app, updateInitiativeItemContract, async (c) => {
121
+ const initiatives = requireInitiatives(c);
122
+ if (!initiatives)
123
+ return unavailable(c);
124
+ const { initiativeId, itemId } = c.req.valid('param');
125
+ const updated = await initiatives.service.updateItem(param(c, 'workspaceId'), initiativeId, itemId, c.req.valid('json'));
126
+ return c.json(updated, 200);
127
+ });
128
+ buildHonoRoute(app, updateInitiativePolicyContract, async (c) => {
129
+ const initiatives = requireInitiatives(c);
130
+ if (!initiatives)
131
+ return unavailable(c);
132
+ const { initiativeId } = c.req.valid('param');
133
+ const updated = await initiatives.service.updatePolicy(param(c, 'workspaceId'), initiativeId, c.req.valid('json'));
134
+ return c.json(updated, 200);
135
+ });
100
136
  return app;
101
137
  }
102
138
  //# sourceMappingURL=InitiativeController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InitiativeController.js","sourceRoot":"","sources":["../../../src/modules/initiatives/InitiativeController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InitiativeController.js","sourceRoot":"","sources":["../../../src/modules/initiatives/InitiativeController.ts"],"names":[],"mappings":"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"}