@cat-factory/server 0.323.0 → 0.325.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 (57) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +5 -0
  3. package/dist/app.js.map +1 -1
  4. package/dist/modules/publicApi/PublicApiController.d.ts.map +1 -1
  5. package/dist/modules/publicApi/PublicApiController.js +5 -292
  6. package/dist/modules/publicApi/PublicApiController.js.map +1 -1
  7. package/dist/modules/publicApi/PublicDecisionController.d.ts.map +1 -1
  8. package/dist/modules/publicApi/PublicDecisionController.js +2 -0
  9. package/dist/modules/publicApi/PublicDecisionController.js.map +1 -1
  10. package/dist/modules/publicApi/PublicFragmentController.d.ts +4 -0
  11. package/dist/modules/publicApi/PublicFragmentController.d.ts.map +1 -0
  12. package/dist/modules/publicApi/PublicFragmentController.js +61 -0
  13. package/dist/modules/publicApi/PublicFragmentController.js.map +1 -0
  14. package/dist/modules/publicApi/boardProjection.d.ts.map +1 -1
  15. package/dist/modules/publicApi/boardProjection.js +4 -0
  16. package/dist/modules/publicApi/boardProjection.js.map +1 -1
  17. package/dist/modules/publicApi/decisions/bugFishingProjection.d.ts +19 -0
  18. package/dist/modules/publicApi/decisions/bugFishingProjection.d.ts.map +1 -0
  19. package/dist/modules/publicApi/decisions/bugFishingProjection.js +130 -0
  20. package/dist/modules/publicApi/decisions/bugFishingProjection.js.map +1 -0
  21. package/dist/modules/publicApi/decisions/bugFishingRoutes.d.ts +4 -0
  22. package/dist/modules/publicApi/decisions/bugFishingRoutes.d.ts.map +1 -0
  23. package/dist/modules/publicApi/decisions/bugFishingRoutes.js +73 -0
  24. package/dist/modules/publicApi/decisions/bugFishingRoutes.js.map +1 -0
  25. package/dist/modules/publicApi/decisions/projection.d.ts +21 -0
  26. package/dist/modules/publicApi/decisions/projection.d.ts.map +1 -1
  27. package/dist/modules/publicApi/decisions/projection.js +65 -11
  28. package/dist/modules/publicApi/decisions/projection.js.map +1 -1
  29. package/dist/modules/publicApi/fragmentCatalog.d.ts +47 -0
  30. package/dist/modules/publicApi/fragmentCatalog.d.ts.map +1 -0
  31. package/dist/modules/publicApi/fragmentCatalog.js +106 -0
  32. package/dist/modules/publicApi/fragmentCatalog.js.map +1 -0
  33. package/dist/modules/publicApi/openapiDocument.generated.d.ts +1 -1
  34. package/dist/modules/publicApi/openapiDocument.generated.d.ts.map +1 -1
  35. package/dist/modules/publicApi/openapiDocument.generated.js +1 -1
  36. package/dist/modules/publicApi/openapiDocument.generated.js.map +1 -1
  37. package/dist/modules/publicApi/publicApiAdmission.d.ts +1 -1
  38. package/dist/modules/publicApi/publicApiAdmission.d.ts.map +1 -1
  39. package/dist/modules/publicApi/publicApiAdmission.js +5 -1
  40. package/dist/modules/publicApi/publicApiAdmission.js.map +1 -1
  41. package/dist/modules/publicApi/publicApiStream.d.ts +50 -1
  42. package/dist/modules/publicApi/publicApiStream.d.ts.map +1 -1
  43. package/dist/modules/publicApi/publicApiStream.js +83 -5
  44. package/dist/modules/publicApi/publicApiStream.js.map +1 -1
  45. package/dist/modules/publicApi/publicApiStreamRoutes.d.ts +30 -0
  46. package/dist/modules/publicApi/publicApiStreamRoutes.d.ts.map +1 -0
  47. package/dist/modules/publicApi/publicApiStreamRoutes.js +275 -0
  48. package/dist/modules/publicApi/publicApiStreamRoutes.js.map +1 -0
  49. package/dist/modules/publicApi/runProjection.d.ts +30 -0
  50. package/dist/modules/publicApi/runProjection.d.ts.map +1 -0
  51. package/dist/modules/publicApi/runProjection.js +127 -0
  52. package/dist/modules/publicApi/runProjection.js.map +1 -0
  53. package/dist/modules/publicApi/taskCreation.d.ts +2 -0
  54. package/dist/modules/publicApi/taskCreation.d.ts.map +1 -1
  55. package/dist/modules/publicApi/taskCreation.js +20 -12
  56. package/dist/modules/publicApi/taskCreation.js.map +1 -1
  57. package/package.json +8 -8
@@ -19,6 +19,27 @@ import type { ScopedRun } from './scope.js';
19
19
  * own step chain can produce (see {@link liveDialogueDecisions}).
20
20
  */
21
21
  export declare function buildDecisionList<E extends AppEnv>(c: Context<E>, workspaceId: string, scoped: ScopedRun): Promise<PublicDecisionList>;
22
+ /**
23
+ * {@link buildDecisionList} minus the re-read: project a decision list from an instance the
24
+ * caller is already holding.
25
+ *
26
+ * Split out for the SSE decision channel, which polls the run once per tick and would otherwise
27
+ * read it twice per frame. Every mutating route still goes through {@link buildDecisionList},
28
+ * because there the re-read is the point.
29
+ *
30
+ * This is the WHOLE list, dialogue and interview reads included, and a stream must not narrow it
31
+ * to the parts that are free: `decisions: []` from a run holding a live requirements review is
32
+ * byte-for-byte the answer a run with nothing to ask gives, which is the one confusion this
33
+ * surface's `unanswerable` field exists to prevent. What a stream may reduce is how much of the
34
+ * model-authored PROSE one frame carries (`reduceDecisionsForStream`, which says so on the list's
35
+ * `truncated` flag), never which decisions are in it.
36
+ *
37
+ * What the projection itself chooses is which reads to ISSUE, and the run's own STEP CHAIN decides
38
+ * that: a pipeline carrying no step that can produce a given park is not holding one, so the read
39
+ * is skipped. It matters most here, since this is the per-tick body of a poll that runs once a
40
+ * second for up to five minutes.
41
+ */
42
+ export declare function projectDecisionList<E extends AppEnv>(c: Context<E>, workspaceId: string, blockId: string, execution: ExecutionInstance): Promise<PublicDecisionList>;
22
43
  /**
23
44
  * A parked interview gate this deployment registered as an agent kind but wired no controller for,
24
45
  * carried out of {@link liveInterviewDecisions} with the step it was found on.
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EAMvB,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAKvD,OAAO,KAAK,EAKV,iBAAiB,EAWjB,kBAAkB,EAIlB,sBAAsB,EAKvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAge3C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EACtD,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAmD7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AA4DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAC;AACtD,8FAA8F;AAC9F,KAAK,EAAE,YAAY;AACnB,+EAA+E;AAC/E,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,oBAAoB,GAAG,IAAI;AACxC;;;;GAIG;AACH,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,sBAAsB,EAAE,CAkD1B"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/projection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EAMvB,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAKvD,OAAO,KAAK,EAKV,iBAAiB,EAWjB,kBAAkB,EAIlB,sBAAsB,EAKvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAge3C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EACtD,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAK7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EACxD,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACb,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAqD7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AA+DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAC;AACtD,8FAA8F;AAC9F,KAAK,EAAE,YAAY;AACnB,+EAA+E;AAC/E,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,oBAAoB,GAAG,IAAI;AACxC;;;;GAIG;AACH,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,sBAAsB,EAAE,CAkD1B"}
@@ -1,6 +1,7 @@
1
1
  import { ARCHITECTURE_BRAINSTORM_AGENT_KIND, CLARITY_REVIEW_AGENT_KIND, CURATION_GATE_TRAIT, hasTrait, REQUIREMENTS_BRAINSTORM_AGENT_KIND, } from '@cat-factory/agents';
2
2
  import { dedicatedParkSurface, findParkedInterviewStep, followUpLoopBudget, stepAwaitsDecision, } from '@cat-factory/orchestration';
3
3
  import { blockingReviewComments, PUBLIC_PR_REVIEW_MAX_RESUME_ATTEMPTS, } from '@cat-factory/contracts';
4
+ import { isLiveBugFishing, toBugFishingDecision } from './bugFishingProjection.js';
4
5
  import { PUBLICLY_ANSWERABLE_PARK_SURFACES } from '../publicApiAdmission.js';
5
6
  // The run → `PublicDecisionList` projection: what a parked run is currently asking a human, as
6
7
  // external resources. One `to*Decision` + one `isLive*` predicate per park kind, and the assembly
@@ -452,14 +453,38 @@ function isLiveInputGate(gate) {
452
453
  export async function buildDecisionList(c, workspaceId, scoped) {
453
454
  const container = c.get('container');
454
455
  const execution = (await container.executionRepository.get(workspaceId, scoped.execution.id)) ?? scoped.execution;
456
+ return projectDecisionList(c, workspaceId, scoped.blockId, execution);
457
+ }
458
+ /**
459
+ * {@link buildDecisionList} minus the re-read: project a decision list from an instance the
460
+ * caller is already holding.
461
+ *
462
+ * Split out for the SSE decision channel, which polls the run once per tick and would otherwise
463
+ * read it twice per frame. Every mutating route still goes through {@link buildDecisionList},
464
+ * because there the re-read is the point.
465
+ *
466
+ * This is the WHOLE list, dialogue and interview reads included, and a stream must not narrow it
467
+ * to the parts that are free: `decisions: []` from a run holding a live requirements review is
468
+ * byte-for-byte the answer a run with nothing to ask gives, which is the one confusion this
469
+ * surface's `unanswerable` field exists to prevent. What a stream may reduce is how much of the
470
+ * model-authored PROSE one frame carries (`reduceDecisionsForStream`, which says so on the list's
471
+ * `truncated` flag), never which decisions are in it.
472
+ *
473
+ * What the projection itself chooses is which reads to ISSUE, and the run's own STEP CHAIN decides
474
+ * that: a pipeline carrying no step that can produce a given park is not holding one, so the read
475
+ * is skipped. It matters most here, since this is the per-tick body of a poll that runs once a
476
+ * second for up to five minutes.
477
+ */
478
+ export async function projectDecisionList(c, workspaceId, blockId, execution) {
479
+ const container = c.get('container');
455
480
  // The dialogue reads and the fork read are INDEPENDENT point lookups in separate stores, so they
456
481
  // are issued together: this projection is on the poll path AND rebuilt after every answer, and
457
482
  // awaiting them in sequence made its latency the sum of every park kind a run could carry rather
458
483
  // than the slowest one. The concatenation order below is still deterministic.
459
484
  const [dialogue, fork, interview] = await Promise.all([
460
- liveDialogueDecisions(c, workspaceId, scoped.blockId, execution),
485
+ liveDialogueDecisions(c, workspaceId, blockId, execution),
461
486
  liveForkDecisions(c, workspaceId, execution),
462
- liveInterviewDecisions(c, workspaceId, scoped.blockId, execution),
487
+ liveInterviewDecisions(c, workspaceId, blockId, execution),
463
488
  ]);
464
489
  const decisions = [
465
490
  ...dialogue,
@@ -477,7 +502,7 @@ export async function buildDecisionList(c, workspaceId, scoped) {
477
502
  }
478
503
  return {
479
504
  runId: execution.id,
480
- taskId: scoped.blockId,
505
+ taskId: blockId,
481
506
  status: execution.status,
482
507
  // `blocked` IS the parked state — the run is waiting on a human and will not move until one
483
508
  // of these decisions is answered. Read from the run itself rather than inferred from the
@@ -489,6 +514,10 @@ export async function buildDecisionList(c, workspaceId, scoped) {
489
514
  // the decisions it sits beside, so a wait this very response answers cannot also be reported
490
515
  // as one nobody here can.
491
516
  unanswerable: unanswerableWaits(execution, container.gateRegistry, container.agentKindRegistry, interview.unwiredGate, answeredStepIndexes(decisions)),
517
+ // This projection serves every field whole. The SSE channel is the one reader that reduces, and
518
+ // it re-stamps the flag itself (`reduceDecisionsForStream`), so nothing here has to know
519
+ // whether it is being polled or streamed.
520
+ truncated: false,
492
521
  };
493
522
  }
494
523
  /**
@@ -517,12 +546,14 @@ function answeredStepIndexes(decisions) {
517
546
  *
518
547
  * Whether it belongs in the wait report is the SAME question the refusal at the start surface
519
548
  * answers, so it is asked of the same set ({@link PUBLICLY_ANSWERABLE_PARK_SURFACES}) rather than
520
- * of a second list beside it: `pr-reviewer` has public verbs (resolve / dismiss / challenge /
521
- * resume) and is a `decisions[]` entry, `bug-fisher` has none and is named here. A slice that
522
- * lands the marking route moves the member and both the refusal and this report follow.
549
+ * of a second list beside it. Both SHIPPED curating kinds now have public verbs and are therefore
550
+ * `decisions[]` entries rather than named waits: `pr-reviewer` (resolve / dismiss / challenge /
551
+ * resume) and `bug-fisher` (address / dismiss / resolve). What is left for this to report is a
552
+ * curating kind a DEPLOYMENT registered, whose marking lives wherever that deployment put it, and
553
+ * adding one's verbs is a single edit to that map, which both the refusal and this report follow.
523
554
  *
524
555
  * The step also carries an ordinary pending approval, which this response DOES offer, and that is
525
- * why the detail says what resolving it means. Ending an expedition is an exit, not an answer: it
556
+ * why the detail says what resolving it means. Ending a curation is an exit, not an answer: it
526
557
  * advances the run past the step while everything it caught goes unacted on, and a caller told
527
558
  * only "here is an approval" would take the one for the other.
528
559
  */
@@ -538,9 +569,10 @@ function curationWait(step, stepIndex, agentKinds) {
538
569
  stepKind: step.agentKind,
539
570
  stepIndex,
540
571
  detail: `The run is parked on the '${step.agentKind}' step so a person can mark which of the ` +
541
- 'things it found are worth acting on. No call on this API marks one, so that choice has to ' +
542
- "be made in the app. Resolving the step's approval gate from here ENDS the run instead, " +
543
- 'leaving everything it found unacted on.',
572
+ 'things it found are worth acting on. This deployment registered that kind and no call on ' +
573
+ 'this API marks one, so the marking lives wherever the deployment surfaced it. Resolving ' +
574
+ "the step's approval gate from here ENDS the run instead, leaving everything it found " +
575
+ 'unacted on.',
544
576
  };
545
577
  }
546
578
  /**
@@ -660,6 +692,12 @@ async function liveDialogueDecisions(c, workspaceId, blockId, execution) {
660
692
  // Each read is against a different store with nothing to say to the others, so they are issued
661
693
  // together rather than chained. The RESULT order is fixed by the tuple, not by which store
662
694
  // answered first, so a caller's decision list does not reshuffle between two polls of one run.
695
+ //
696
+ // Clarity and the brainstorms are gated on the run's own STEP CHAIN, which bounds them by what
697
+ // the run can produce rather than by what the deployment happens to have wired: each is driven
698
+ // by the review gate on a step of its own kind, so a pipeline without that step cannot be
699
+ // holding one, and the read would be a round-trip per poll tick answering "no" for the life of
700
+ // a connection. Requirements is read whatever the chain carries, for the reason above.
663
701
  const [requirementsReview, clarityReview, brainstormSessions] = await Promise.all([
664
702
  requirements ? requirements.service.getForBlock(workspaceId, blockId) : null,
665
703
  clarity && kinds.has(CLARITY_REVIEW_AGENT_KIND)
@@ -732,8 +770,21 @@ async function liveInterviewDecisions(c, workspaceId, blockId, execution) {
732
770
  unwiredGate: null,
733
771
  };
734
772
  }
735
- /** The run's implementation-fork park, which the engine stores behind its own service read. */
773
+ /**
774
+ * The run's implementation-fork park, which the engine stores behind its own service read.
775
+ *
776
+ * Gated on the instance ALREADY IN HAND, which can answer "there is nothing to read" outright: fork
777
+ * state lives on a coder step (`PipelineStep.forkDecision`, no side table), so a run carrying none
778
+ * has no fork decision by construction and the service read would re-fetch this very row to say so,
779
+ * once a second for as long as the decision channel stays open.
780
+ *
781
+ * The read is still MADE rather than the state projected from here, because which of a pipeline's
782
+ * coder steps is the active one is the engine's rule, and a second site deciding that is a second
783
+ * site that can decide it differently.
784
+ */
736
785
  async function liveForkDecisions(c, workspaceId, execution) {
786
+ if (!execution.steps.some((step) => step.forkDecision))
787
+ return [];
737
788
  const fork = await c
738
789
  .get('container')
739
790
  .executionService.decisions.getForkDecision(workspaceId, execution.id);
@@ -764,6 +815,9 @@ function liveStepDecisions(execution, registry) {
764
815
  if (step.prReview && isLivePrReview(step.prReview)) {
765
816
  decisions.push(toPrReviewDecision(step.prReview, step));
766
817
  }
818
+ if (step.bugFishing && isLiveBugFishing(step.bugFishing)) {
819
+ decisions.push(toBugFishingDecision(step.bugFishing, step, index));
820
+ }
767
821
  if (step.humanTest && isLiveHumanTest(step.humanTest)) {
768
822
  decisions.push(toHumanTestDecision(step.humanTest));
769
823
  }
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../../src/modules/publicApi/decisions/projection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { PublicPromptFragment } from '@cat-factory/contracts';
2
+ import type { ResolvedCatalogEntry } from '@cat-factory/kernel';
3
+ import type { FragmentLibraryModule } from '@cat-factory/orchestration';
4
+ /** The fragment library, or the 503 naming what this deployment has not wired. */
5
+ export declare function requireFragmentLibrary(library: FragmentLibraryModule | undefined): FragmentLibraryModule;
6
+ /** Project one merged catalog entry onto the published resource (identity and metadata, no body). */
7
+ export declare function toPublicPromptFragment(entry: ResolvedCatalogEntry): PublicPromptFragment;
8
+ /** One page of the published catalog, plus whether the caller should ask for another. */
9
+ export interface PublicFragmentPage {
10
+ fragments: PublicPromptFragment[];
11
+ hasMore: boolean;
12
+ }
13
+ /**
14
+ * One keyset page of the merged catalog, ordered by `fragmentId` (the merge's own key, so the
15
+ * order is deterministic and a cursor cannot drift under a concurrent library edit).
16
+ *
17
+ * Sliced in memory rather than pushed into SQL, unlike the board lists on this surface, and that
18
+ * is not a shortcut: the catalog is a MERGE of three tiers plus the deployment's registered pool,
19
+ * so there is no single table to page over, and the merged result is already cached per workspace
20
+ * and re-read on every agent dispatch. The bound is therefore about what crosses the WIRE, which
21
+ * is the half that is unbounded here (one standard per Markdown file in a linked guidelines repo).
22
+ */
23
+ export declare function catalogPage(library: FragmentLibraryModule, workspaceId: string, page: {
24
+ limit: number;
25
+ afterId?: string;
26
+ }): Promise<PublicFragmentPage>;
27
+ /**
28
+ * Refuse a creation naming a standard the workspace's merged catalog does not hold.
29
+ *
30
+ * The run path DROPS an unresolvable id on purpose, because a standard deleted after a task was
31
+ * filed must not break its run, and that disposition is wrong at a door where the ids were named in
32
+ * this request: a typo would answer `201` for a review folding nothing, which reads afterwards
33
+ * exactly like a review nobody asked to be judged against anything.
34
+ *
35
+ * Deliberately at THIS door rather than on `BoardService` beside the preset-pin guard, which is
36
+ * where a repository-read refusal otherwise belongs. The app's create form seeds its picker from
37
+ * the enclosing service's standing set and submits it verbatim, so that list is a MIX of what a
38
+ * person picked and what the task inherited: one library id gone stale on a service would then
39
+ * refuse every task filed under it. What separates the two is not the store being read but WHO
40
+ * named the ids, and everything here was named by the caller, in the same request cycle it read
41
+ * the catalog in.
42
+ *
43
+ * Fires only for a caller that named standards, so a deployment with no library wired keeps
44
+ * creating tasks exactly as before and only a caller that depends on the module meets its 503.
45
+ */
46
+ export declare function assertFragmentsResolvable(library: FragmentLibraryModule | undefined, workspaceId: string, fragmentIds: string[] | undefined): Promise<void>;
47
+ //# sourceMappingURL=fragmentCatalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fragmentCatalog.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/fragmentCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAElE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAiBvE,kFAAkF;AAClF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,qBAAqB,GAAG,SAAS,GACzC,qBAAqB,CAMvB;AAED,qGAAqG;AACrG,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAiBxF;AAED,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,oBAAoB,EAAE,CAAA;IACjC,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,qBAAqB,EAC9B,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC,kBAAkB,CAAC,CAW7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,GAChC,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -0,0 +1,106 @@
1
+ import { ValidationError } from '@cat-factory/kernel';
2
+ import { requireCapability } from '../../http/guards.js';
3
+ // The best-practice-standard CATALOG as `/api/v1` reads it: the merged tenant catalog behind
4
+ // `GET /api/v1/prompt-fragments`, and the check a task creation's `fragmentIds` is held to.
5
+ //
6
+ // One module for both halves because they are one question asked twice ("which standards does
7
+ // this workspace resolve"), and answering it in two places is how a list that offers an id and a
8
+ // create that refuses it come to disagree. It is also why both read the same merged catalog the
9
+ // RUN path folds from (`resolveBodiesForRun` shares its cache), rather than the deployment's
10
+ // registered pool: the pool is one of the three tiers, so judging against it alone would refuse
11
+ // exactly the account- and workspace-tier standards a team authored, and admit a built-in the
12
+ // board has tombstoned.
13
+ /** How many missing ids the human-readable refusal names before it counts the rest. */
14
+ const MESSAGE_ID_CAP = 5;
15
+ /** The fragment library, or the 503 naming what this deployment has not wired. */
16
+ export function requireFragmentLibrary(library) {
17
+ return requireCapability(library, 'Best-practice standards are not configured', 'prompt_fragments_unwired');
18
+ }
19
+ /** Project one merged catalog entry onto the published resource (identity and metadata, no body). */
20
+ export function toPublicPromptFragment(entry) {
21
+ return {
22
+ fragmentId: entry.id,
23
+ title: entry.title,
24
+ // `''` for an uncategorised entry, matching what the management wire shape does with the same
25
+ // null: a picker groups by this string, and "no category" is a heading it can render, where a
26
+ // missing key is a second absent-vs-empty case for every client to tell apart.
27
+ category: entry.category ?? '',
28
+ summary: entry.summary,
29
+ version: entry.version,
30
+ tier: entry.tier,
31
+ // Flattened to an ARRAY rather than passed through as optional: the library carries tags only
32
+ // on a managed row, and "this standard has no tags" is not a fact a caller should have to tell
33
+ // apart from "this tier does not do tags".
34
+ tags: entry.tags ?? [],
35
+ ...(entry.appliesTo ? { appliesTo: entry.appliesTo } : {}),
36
+ };
37
+ }
38
+ /**
39
+ * One keyset page of the merged catalog, ordered by `fragmentId` (the merge's own key, so the
40
+ * order is deterministic and a cursor cannot drift under a concurrent library edit).
41
+ *
42
+ * Sliced in memory rather than pushed into SQL, unlike the board lists on this surface, and that
43
+ * is not a shortcut: the catalog is a MERGE of three tiers plus the deployment's registered pool,
44
+ * so there is no single table to page over, and the merged result is already cached per workspace
45
+ * and re-read on every agent dispatch. The bound is therefore about what crosses the WIRE, which
46
+ * is the half that is unbounded here (one standard per Markdown file in a linked guidelines repo).
47
+ */
48
+ export async function catalogPage(library, workspaceId, page) {
49
+ const catalog = await library.libraryService.resolveCatalog(workspaceId);
50
+ const start = page.afterId ? catalog.findIndex((entry) => entry.id > page.afterId) : 0;
51
+ // A cursor naming an id past the end of a catalog that has since shrunk is an empty LAST page,
52
+ // never the first one: `findIndex` misses, and resuming at 0 would hand a paging client the top
53
+ // of the list again and loop it forever.
54
+ const window = start < 0 ? [] : catalog.slice(start, start + page.limit);
55
+ return {
56
+ fragments: window.map(toPublicPromptFragment),
57
+ hasMore: start >= 0 && start + page.limit < catalog.length,
58
+ };
59
+ }
60
+ /**
61
+ * Refuse a creation naming a standard the workspace's merged catalog does not hold.
62
+ *
63
+ * The run path DROPS an unresolvable id on purpose, because a standard deleted after a task was
64
+ * filed must not break its run, and that disposition is wrong at a door where the ids were named in
65
+ * this request: a typo would answer `201` for a review folding nothing, which reads afterwards
66
+ * exactly like a review nobody asked to be judged against anything.
67
+ *
68
+ * Deliberately at THIS door rather than on `BoardService` beside the preset-pin guard, which is
69
+ * where a repository-read refusal otherwise belongs. The app's create form seeds its picker from
70
+ * the enclosing service's standing set and submits it verbatim, so that list is a MIX of what a
71
+ * person picked and what the task inherited: one library id gone stale on a service would then
72
+ * refuse every task filed under it. What separates the two is not the store being read but WHO
73
+ * named the ids, and everything here was named by the caller, in the same request cycle it read
74
+ * the catalog in.
75
+ *
76
+ * Fires only for a caller that named standards, so a deployment with no library wired keeps
77
+ * creating tasks exactly as before and only a caller that depends on the module meets its 503.
78
+ */
79
+ export async function assertFragmentsResolvable(library, workspaceId, fragmentIds) {
80
+ if (!fragmentIds?.length)
81
+ return;
82
+ // The merged ENTRIES, not the wire projection: this needs a set of ids, and `resolvedCatalog`
83
+ // would map every body, brief, source and document ref into a throwaway object per row to build
84
+ // it: several hundred of them on a workspace with a synced guidelines repo, on every create
85
+ // that names a standard.
86
+ const catalog = await requireFragmentLibrary(library).libraryService.resolveCatalog(workspaceId);
87
+ const known = new Set(catalog.map((entry) => entry.id));
88
+ const missing = fragmentIds.filter((id) => !known.has(id));
89
+ if (missing.length === 0)
90
+ return;
91
+ // EVERY id that missed rides `details`, not the first: a caller assembling a selection from
92
+ // configuration wants one round trip to fix all of them. Naming them at all is safe here (and
93
+ // useful) where the preset guard withholds its library, because this catalog is readable at the
94
+ // same `write` that creates a task: a caller told which of its OWN ids missed learns nothing it
95
+ // could not have listed.
96
+ //
97
+ // The prose half is capped and SAYS it is capped, because the array is bounded at
98
+ // `MAX_TASK_FRAGMENTS` and a message naming a hundred ids is one nobody reads. The machine-
99
+ // readable list is what a client acts on and stays whole. Neither can repeat an id: the schema
100
+ // dedupes the request before this sees it, so a client rendering one remediation row per entry
101
+ // gets one row per problem.
102
+ const named = missing.slice(0, MESSAGE_ID_CAP).join(', ');
103
+ const rest = missing.length - MESSAGE_ID_CAP;
104
+ throw new ValidationError(`No best-practice standard in this workspace for: ${named}${rest > 0 ? ` (and ${rest} more)` : ''}.`, { reason: 'prompt_fragment_not_found', fragmentIds: missing });
105
+ }
106
+ //# sourceMappingURL=fragmentCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fragmentCatalog.js","sourceRoot":"","sources":["../../../src/modules/publicApi/fragmentCatalog.ts"],"names":[],"mappings":"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"}