@cat-factory/kernel 0.90.0 → 0.91.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.
@@ -0,0 +1,50 @@
1
+ import type { InitiativePlanDraft, InitiativePresetDescriptor, InitiativePresetInputs } from '@cat-factory/contracts';
2
+ import type { AgentKind } from './types.js';
3
+ import type { RepoFiles } from '../ports/repo-files.js';
4
+ /** The registration bundle for one initiative preset (descriptor + optional code hooks). */
5
+ export interface InitiativePresetRegistration {
6
+ /** The serialisable, SPA-facing descriptor (form + pipeline binding + defaults). */
7
+ descriptor: InitiativePresetDescriptor;
8
+ /**
9
+ * Deterministic, bounded, best-effort probe that prefills the form from the target repo.
10
+ * Runs on the backend over the checkout-free {@link RepoFiles} port. MUST be bounded (a hard
11
+ * `listDirectory` budget) and MUST NOT throw — an unwired GitHub / a failure yields `{}` and
12
+ * the form falls back to the descriptor defaults. Omitted ⇒ no probe (descriptor `probe` is
13
+ * false and the SPA never calls the probe endpoint for this preset).
14
+ */
15
+ detect?(repo: RepoFiles): Promise<InitiativePresetInputs>;
16
+ /**
17
+ * Pure post-processor/validator of the planner's draft, run at ingest BEFORE `applyPlanDraft`.
18
+ * Receives the frozen `presetInputs` so it can enforce the preset's plan shape (a Foundations
19
+ * phase, bounded item granularity) and stamp each item's `spawn` decoration. Must be pure
20
+ * (no I/O) and total. Omitted ⇒ the draft is applied unchanged.
21
+ */
22
+ seedPlan?(draft: InitiativePlanDraft, inputs: InitiativePresetInputs): InitiativePlanDraft;
23
+ /** Per-agent-kind planning-prompt steering text, folded into the planning steps' prompts. */
24
+ promptAdditions?: Partial<Record<AgentKind, string>>;
25
+ }
26
+ /** The built-in generic preset's id — the default the SPA picker selects. */
27
+ export declare const GENERIC_INITIATIVE_PRESET_ID = "preset_generic";
28
+ /**
29
+ * Register a custom initiative preset. A registration whose id matches an earlier one (or the
30
+ * built-in `preset_generic`) replaces it, so a deployment can both add new presets and customize
31
+ * the generic one.
32
+ */
33
+ export declare function registerInitiativePreset(registration: InitiativePresetRegistration): void;
34
+ /** Register several initiative presets at once. */
35
+ export declare function registerInitiativePresets(registrations: Iterable<InitiativePresetRegistration>): void;
36
+ /**
37
+ * Resolve one preset by id, or `undefined` when unknown. The built-in `preset_generic` is always
38
+ * resolvable (unless a registration overrode it), even with an otherwise-empty registry.
39
+ */
40
+ export declare function getInitiativePreset(id: string): InitiativePresetRegistration | undefined;
41
+ /**
42
+ * All presets (registration order), with the built-in `preset_generic` FIRST unless a
43
+ * registration replaced it. This is what the snapshot builder serialises for the SPA picker.
44
+ */
45
+ export declare function allInitiativePresets(): InitiativePresetRegistration[];
46
+ /** The serialisable descriptors of {@link allInitiativePresets}, with `probe` derived from `detect`. */
47
+ export declare function initiativePresetDescriptors(): InitiativePresetDescriptor[];
48
+ /** Drop all registered presets (the built-in `preset_generic` survives). Intended for tests. */
49
+ export declare function clearRegisteredInitiativePresets(): void;
50
+ //# sourceMappingURL=initiative-preset-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiative-preset-registry.d.ts","sourceRoot":"","sources":["../../src/domain/initiative-preset-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAmBvD,4FAA4F;AAC5F,MAAM,WAAW,4BAA4B;IAC3C,oFAAoF;IACpF,UAAU,EAAE,0BAA0B,CAAA;IACtC;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACzD;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,sBAAsB,GAAG,mBAAmB,CAAA;IAC1F,6FAA6F;IAC7F,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;CACrD;AAED,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B,mBAAmB,CAAA;AAgC5D;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,4BAA4B,GAAG,IAAI,CAEzF;AAED,mDAAmD;AACnD,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GACpD,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS,CAIxF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,4BAA4B,EAAE,CAIrE;AAED,wGAAwG;AACxG,wBAAgB,2BAA2B,IAAI,0BAA0B,EAAE,CAE1E;AAED,gGAAgG;AAChG,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD"}
@@ -0,0 +1,72 @@
1
+ import { INITIATIVE_PIPELINE_ID } from './seed.js';
2
+ /** The built-in generic preset's id — the default the SPA picker selects. */
3
+ export const GENERIC_INITIATIVE_PRESET_ID = 'preset_generic';
4
+ /**
5
+ * The built-in generic preset: the strangler wrapper that makes the existing generic initiative
6
+ * "just the default preset". Empty form, the interviewer-driven `pl_initiative` pipeline, human
7
+ * review on — i.e. exactly today's behaviour. Nothing in the planning/loop path branches on
8
+ * "has preset"; a preset only ever ADDS context, so the generic one adds none. It has no code
9
+ * hooks, so it is always available even after {@link clearRegisteredInitiativePresets}.
10
+ */
11
+ const GENERIC_INITIATIVE_PRESET = {
12
+ descriptor: {
13
+ id: GENERIC_INITIATIVE_PRESET_ID,
14
+ presentation: {
15
+ label: 'Custom initiative',
16
+ icon: 'i-lucide-git-branch-plus',
17
+ color: '#6366f1',
18
+ description: 'Plan an open-ended body of work through a guided interview, then execute it as a loop of tasks.',
19
+ },
20
+ fields: [],
21
+ planningPipelineId: INITIATIVE_PIPELINE_ID,
22
+ interview: 'full',
23
+ humanReviewDefault: true,
24
+ defaultFragmentIds: [],
25
+ },
26
+ };
27
+ // Process-wide registry, mirroring the pipeline / gate registry seams. Registration is a
28
+ // startup import side effect, read when the create/planning flow + the snapshot builder resolve
29
+ // presets. A preset registered AFTER those have run is invisible — register at startup.
30
+ const registry = new Map();
31
+ /**
32
+ * Register a custom initiative preset. A registration whose id matches an earlier one (or the
33
+ * built-in `preset_generic`) replaces it, so a deployment can both add new presets and customize
34
+ * the generic one.
35
+ */
36
+ export function registerInitiativePreset(registration) {
37
+ registry.set(registration.descriptor.id, registration);
38
+ }
39
+ /** Register several initiative presets at once. */
40
+ export function registerInitiativePresets(registrations) {
41
+ for (const registration of registrations)
42
+ registerInitiativePreset(registration);
43
+ }
44
+ /**
45
+ * Resolve one preset by id, or `undefined` when unknown. The built-in `preset_generic` is always
46
+ * resolvable (unless a registration overrode it), even with an otherwise-empty registry.
47
+ */
48
+ export function getInitiativePreset(id) {
49
+ const registered = registry.get(id);
50
+ if (registered)
51
+ return registered;
52
+ return id === GENERIC_INITIATIVE_PRESET_ID ? GENERIC_INITIATIVE_PRESET : undefined;
53
+ }
54
+ /**
55
+ * All presets (registration order), with the built-in `preset_generic` FIRST unless a
56
+ * registration replaced it. This is what the snapshot builder serialises for the SPA picker.
57
+ */
58
+ export function allInitiativePresets() {
59
+ const registered = [...registry.values()];
60
+ if (registry.has(GENERIC_INITIATIVE_PRESET_ID))
61
+ return registered;
62
+ return [GENERIC_INITIATIVE_PRESET, ...registered];
63
+ }
64
+ /** The serialisable descriptors of {@link allInitiativePresets}, with `probe` derived from `detect`. */
65
+ export function initiativePresetDescriptors() {
66
+ return allInitiativePresets().map((p) => ({ ...p.descriptor, probe: !!p.detect }));
67
+ }
68
+ /** Drop all registered presets (the built-in `preset_generic` survives). Intended for tests. */
69
+ export function clearRegisteredInitiativePresets() {
70
+ registry.clear();
71
+ }
72
+ //# sourceMappingURL=initiative-preset-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiative-preset-registry.js","sourceRoot":"","sources":["../../src/domain/initiative-preset-registry.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAyClD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,4BAA4B,GAAG,gBAAgB,CAAA;AAE5D;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAiC;IAC9D,UAAU,EAAE;QACV,EAAE,EAAE,4BAA4B;QAChC,YAAY,EAAE;YACZ,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,SAAS;YAChB,WAAW,EACT,iGAAiG;SACpG;QACD,MAAM,EAAE,EAAE;QACV,kBAAkB,EAAE,sBAAsB;QAC1C,SAAS,EAAE,MAAM;QACjB,kBAAkB,EAAE,IAAI;QACxB,kBAAkB,EAAE,EAAE;KACvB;CACF,CAAA;AAED,yFAAyF;AACzF,gGAAgG;AAChG,wFAAwF;AACxF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAA;AAEhE;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,YAA0C;IACjF,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;AACxD,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,yBAAyB,CACvC,aAAqD;IAErD,KAAK,MAAM,YAAY,IAAI,aAAa;QAAE,wBAAwB,CAAC,YAAY,CAAC,CAAA;AAClF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAU;IAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACnC,IAAI,UAAU;QAAE,OAAO,UAAU,CAAA;IACjC,OAAO,EAAE,KAAK,4BAA4B,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAA;AACpF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACzC,IAAI,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC;QAAE,OAAO,UAAU,CAAA;IACjE,OAAO,CAAC,yBAAyB,EAAE,GAAG,UAAU,CAAC,CAAA;AACnD,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,2BAA2B;IACzC,OAAO,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AACpF,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,gCAAgC;IAC9C,QAAQ,CAAC,KAAK,EAAE,CAAA;AAClB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export { type SelectableModel, type ModelVariant, type SubscriptionVariant, type
9
9
  export { seedBlocks, seedPipelines, BLUEPRINT_PIPELINE_ID, INITIATIVE_PIPELINE_ID, DEP_UPDATE_PIPELINE_ID, TECH_DEBT_PIPELINE_ID, BUG_TRIAGE_PIPELINE_ID, } from './domain/seed.js';
10
10
  export { INITIATIVE_INTERVIEWER_AGENT_KIND, INITIATIVE_ANALYST_AGENT_KIND, INITIATIVE_PLANNER_AGENT_KIND, INITIATIVE_COMMITTER_AGENT_KIND, INITIATIVE_AGENT_KINDS, isInitiativeAgentKind, hasInitiativeKinds, } from './domain/initiative-logic.js';
11
11
  export { registerPipeline, registerPipelines, registeredPipelines, clearRegisteredPipelines, } from './domain/pipeline-registry.js';
12
+ export { type InitiativePresetRegistration, GENERIC_INITIATIVE_PRESET_ID, registerInitiativePreset, registerInitiativePresets, getInitiativePreset, allInitiativePresets, initiativePresetDescriptors, clearRegisteredInitiativePresets, } from './domain/initiative-preset-registry.js';
12
13
  export { type GateProbe, type GateHelperOutcome, type GateHelperJobResult, type GateHelperCompletionArgs, type GateExhaustedArgs, type GateDefinition, type GateContext, type GateFactory, recordGateAttempt, registerGate, registeredGateFactories, clearRegisteredGates, stubGateContext, } from './domain/gate-registry.js';
13
14
  export { type StepResolverContext, type StepResolution, type StepCompletionResolver, type ResolverContext, type StepResolverFactory, registerStepResolver, registeredStepResolverFactories, clearRegisteredStepResolvers, stubResolverContext, } from './domain/step-resolver-registry.js';
14
15
  export { type ProviderToken, defineProviderToken, wireProvider, getProvider, isProviderWired, requireProvider, clearProviders, } from './domain/provider-registry.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
@@ -16,6 +16,11 @@ export { INITIATIVE_INTERVIEWER_AGENT_KIND, INITIATIVE_ANALYST_AGENT_KIND, INITI
16
16
  // agent-kind / model-provider registry seams): a deployment registers extra pipelines at
17
17
  // startup and `seedPipelines()` seeds them into every new workspace.
18
18
  export { registerPipeline, registerPipelines, registeredPipelines, clearRegisteredPipelines, } from './domain/pipeline-registry.js';
19
+ // Installation-level extension point for initiative PRESETS (mirrors the pipeline / gate
20
+ // registry seams): a preset bundles a create-time form descriptor + planning-pipeline binding
21
+ // + defaults + code hooks (repo-detection prefill, plan post-processor, prompt steering). The
22
+ // built-in `preset_generic` is the strangler default. See `domain/initiative-preset-registry.ts`.
23
+ export { GENERIC_INITIATIVE_PRESET_ID, registerInitiativePreset, registerInitiativePresets, getInitiativePreset, allInitiativePresets, initiativePresetDescriptors, clearRegisteredInitiativePresets, } from './domain/initiative-preset-registry.js';
19
24
  // Installation-level extension point for custom polling gates + step-completion
20
25
  // resolvers (mirrors the agent-kind / pipeline registry seams): a deployment registers
21
26
  // its own gate / resolver at startup and the ExecutionService merges them with the
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/kernel",
3
- "version": "0.90.0",
3
+ "version": "0.91.0",
4
4
  "description": "Shared vocabulary, pure logic, and port interfaces for the Agent Architecture Board.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "ai": "^6.0.214",
28
- "@cat-factory/contracts": "0.100.0"
28
+ "@cat-factory/contracts": "0.101.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@vitest/coverage-v8": "^4.1.9",