@cat-factory/agents 0.44.1 → 0.45.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,26 @@
1
+ /**
2
+ * The five migration phase ids, keyed by a semantic name so prose/prompts reference a phase by
3
+ * meaning rather than by a bare string. The string values are the ids matched VERBATIM against the
4
+ * planned phases at ingest.
5
+ */
6
+ export declare const MIGRATION_PHASE_IDS: {
7
+ /** Enumerate every directly + transitively affected touchpoint; commit the inventory. */
8
+ readonly blastZone: 'migration-blast-zone';
9
+ /** Pin observable behaviour over the blast zone; close with the confidence case. */
10
+ readonly coverage: 'migration-coverage';
11
+ /** Decide the backwards-compatibility degree and design the migration / cutover path. */
12
+ readonly transitionDesign: 'migration-transition-design';
13
+ /** Execute the swap per the approved design, behaviour suite green throughout. */
14
+ readonly delivery: 'migration-delivery';
15
+ /** Prove parity on the new target, flip defaults, remove the old path. */
16
+ readonly verifyDecommission: 'migration-verify-decommission';
17
+ };
18
+ /** One of the five canonical migration phase ids. */
19
+ export type MigrationPhaseId = (typeof MIGRATION_PHASE_IDS)[keyof typeof MIGRATION_PHASE_IDS];
20
+ /**
21
+ * The phase ids in methodology order — the order the plan (and the preset's `phaseTemplate`) must
22
+ * present them. Consumers that iterate phases (the template builder, the E2E) read this so the
23
+ * order lives in one place too.
24
+ */
25
+ export declare const MIGRATION_PHASE_ID_ORDER: readonly MigrationPhaseId[];
26
+ //# sourceMappingURL=phases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phases.d.ts","sourceRoot":"","sources":["../../../src/presets/tech-migration/phases.ts"],"names":[],"mappings":"AAiBA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;IAC9B,yFAAyF;aACzF,SAAS,EAAE,sBAAsB;IACjC,oFAAoF;aACpF,QAAQ,EAAE,oBAAoB;IAC9B,yFAAyF;aACzF,gBAAgB,EAAE,6BAA6B;IAC/C,kFAAkF;aAClF,QAAQ,EAAE,oBAAoB;IAC9B,0EAA0E;aAC1E,kBAAkB,EAAE,+BAA+B;CAC3C,CAAA;AAEV,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAA;AAE7F;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,EAM/D,CAAA"}
@@ -0,0 +1,46 @@
1
+ // ---------------------------------------------------------------------------
2
+ // The canonical PHASE IDS of the `preset_tech_migration` initiative preset.
3
+ //
4
+ // A technological migration always runs the same five-phase methodology (blast zone →
5
+ // coverage → transition → delivery → decommission), regardless of the specific from/to
6
+ // technologies. Those phase ids are a CONTRACT shared by four consumers:
7
+ // - the preset's declarative `phaseTemplate` on the wire descriptor (T8),
8
+ // - the methodology prompt pack's planner steering (`prompt-additions.ts`, T5),
9
+ // - the plan post-processor `seedMigrationPlan` (T7), and
10
+ // - the migration E2E (T10).
11
+ // Defined ONCE here so no consumer retypes a phase id. This matters because the generic
12
+ // ingest normalizer matches a planned phase to a template phase by its `id` VERBATIM, so a
13
+ // single typo would silently break the shape enforcement (a "missing required phase" reject
14
+ // or a disallowed extra) rather than fail loudly. See
15
+ // `docs/initiatives/tech-migration-preset-and-mssql-postgres-pilot.md`.
16
+ // ---------------------------------------------------------------------------
17
+ /**
18
+ * The five migration phase ids, keyed by a semantic name so prose/prompts reference a phase by
19
+ * meaning rather than by a bare string. The string values are the ids matched VERBATIM against the
20
+ * planned phases at ingest.
21
+ */
22
+ export const MIGRATION_PHASE_IDS = {
23
+ /** Enumerate every directly + transitively affected touchpoint; commit the inventory. */
24
+ blastZone: 'migration-blast-zone',
25
+ /** Pin observable behaviour over the blast zone; close with the confidence case. */
26
+ coverage: 'migration-coverage',
27
+ /** Decide the backwards-compatibility degree and design the migration / cutover path. */
28
+ transitionDesign: 'migration-transition-design',
29
+ /** Execute the swap per the approved design, behaviour suite green throughout. */
30
+ delivery: 'migration-delivery',
31
+ /** Prove parity on the new target, flip defaults, remove the old path. */
32
+ verifyDecommission: 'migration-verify-decommission',
33
+ };
34
+ /**
35
+ * The phase ids in methodology order — the order the plan (and the preset's `phaseTemplate`) must
36
+ * present them. Consumers that iterate phases (the template builder, the E2E) read this so the
37
+ * order lives in one place too.
38
+ */
39
+ export const MIGRATION_PHASE_ID_ORDER = [
40
+ MIGRATION_PHASE_IDS.blastZone,
41
+ MIGRATION_PHASE_IDS.coverage,
42
+ MIGRATION_PHASE_IDS.transitionDesign,
43
+ MIGRATION_PHASE_IDS.delivery,
44
+ MIGRATION_PHASE_IDS.verifyDecommission,
45
+ ];
46
+ //# sourceMappingURL=phases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phases.js","sourceRoot":"","sources":["../../../src/presets/tech-migration/phases.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,EAAE;AACF,sFAAsF;AACtF,uFAAuF;AACvF,yEAAyE;AACzE,4EAA4E;AAC5E,kFAAkF;AAClF,4DAA4D;AAC5D,+BAA+B;AAC/B,wFAAwF;AACxF,2FAA2F;AAC3F,4FAA4F;AAC5F,sDAAsD;AACtD,wEAAwE;AACxE,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,yFAAyF;IACzF,SAAS,EAAE,sBAAsB;IACjC,oFAAoF;IACpF,QAAQ,EAAE,oBAAoB;IAC9B,yFAAyF;IACzF,gBAAgB,EAAE,6BAA6B;IAC/C,kFAAkF;IAClF,QAAQ,EAAE,oBAAoB;IAC9B,0EAA0E;IAC1E,kBAAkB,EAAE,+BAA+B;CAC3C,CAAA;AAKV;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAgC;IACnE,mBAAmB,CAAC,SAAS;IAC7B,mBAAmB,CAAC,QAAQ;IAC5B,mBAAmB,CAAC,gBAAgB;IACpC,mBAAmB,CAAC,QAAQ;IAC5B,mBAAmB,CAAC,kBAAkB;CACvC,CAAA"}
@@ -0,0 +1,31 @@
1
+ import type { AgentKind } from '@cat-factory/kernel';
2
+ /**
3
+ * Interviewer steering: the migration form already froze the enumerable facts (which migration,
4
+ * from/to tech, stored-proc policy, compat posture, coverage bar, docs dir), so the interview digs
5
+ * into the fuzzy, judgment-dependent facts a form cannot capture — the ones that actually change how
6
+ * the migration must be planned. Complements the generic T3 "build on the seeded form" line with the
7
+ * migration-specific probing agenda.
8
+ */
9
+ export declare const MIGRATION_INTERVIEWER_PROMPT_ADDITION: string;
10
+ /**
11
+ * Analyst steering: the analysis must produce the migration's BLAST ZONE (the touchpoint inventory
12
+ * the planner turns into the phase-1 report item and the provisional phase-2 coverage items), not a
13
+ * generic architecture overview — and it must chase the TRANSITIVE reach where migrations silently
14
+ * break, recording the existing test coverage per touchpoint (the phase-2 hardening target and the
15
+ * confidence case's grounding).
16
+ */
17
+ export declare const MIGRATION_ANALYST_PROMPT_ADDITION: string;
18
+ /**
19
+ * Planner steering: author each phase's items to the migration briefs, using the canonical phase
20
+ * ids VERBATIM, enforcing coverage-before-delivery and the single-writer artifact discipline. Pairs
21
+ * with the wire `phaseTemplate` (which dictates the phase SHAPE) — this is the per-phase ITEM
22
+ * methodology `seedMigrationPlan` (T7) then decorates and hardens.
23
+ */
24
+ export declare const MIGRATION_PLANNER_PROMPT_ADDITION: string;
25
+ /**
26
+ * The migration preset's `promptAdditions` map — the per-planning-kind steering the registration
27
+ * (T8) spreads onto its {@link InitiativePresetRegistration}. Keyed by the kernel agent-kind
28
+ * constants so a kind rename can't silently orphan an entry.
29
+ */
30
+ export declare const MIGRATION_PROMPT_ADDITIONS: Partial<Record<AgentKind, string>>;
31
+ //# sourceMappingURL=prompt-additions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-additions.d.ts","sourceRoot":"","sources":["../../../src/presets/tech-migration/prompt-additions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AA+BpD;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,QAqBtC,CAAA;AAEZ;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,QAwBlC,CAAA;AAEZ;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,QA4BlC,CAAA;AAEZ;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAIzE,CAAA"}
@@ -0,0 +1,131 @@
1
+ import { INITIATIVE_ANALYST_AGENT_KIND, INITIATIVE_INTERVIEWER_AGENT_KIND, INITIATIVE_PLANNER_AGENT_KIND, } from '@cat-factory/kernel';
2
+ import { MIGRATION_PHASE_IDS } from './phases.js';
3
+ // ---------------------------------------------------------------------------
4
+ // The methodology PROMPT PACK for the `preset_tech_migration` initiative preset — the per-planning-
5
+ // kind steering text the preset registers as its `promptAdditions` (T8). This is the DEEP,
6
+ // code-side methodology the parent's off-the-wire rule keeps OUT of the descriptor: the wire
7
+ // `phaseTemplate` carries only short phase ids/titles/goals (rendered as the "required plan
8
+ // shape"), while these constants carry HOW each planning kind reasons about a migration.
9
+ //
10
+ // How each constant reaches its agent:
11
+ // - `initiative-analyst` / `initiative-planner` run through the engine, so `AgentContextBuilder`
12
+ // resolves `promptAdditions[kind]` onto `context.initiative.preset.promptAddition` and the
13
+ // server's `initiativeContextLines` renders it under `## Initiative preset: <label>` (the
14
+ // planner also gets the `phaseTemplate` fold). This seam already existed (T1 / parent S3).
15
+ // - `initiative-interviewer` is the INLINE `InitiativeInterviewService`, which folds
16
+ // `promptAdditions[INITIATIVE_INTERVIEWER_AGENT_KIND]` into its own prompt — a generic seam this
17
+ // slice completes, since the migration preset is the first FULL-interview preset to need it
18
+ // (docs-refresh is `interview: 'skip'`).
19
+ //
20
+ // Everything is DATA: the preset registration (T8) spreads `MIGRATION_PROMPT_ADDITIONS`, and the
21
+ // loop never branches on a preset id. The planner brief references the canonical phase ids from
22
+ // `phases.ts` so they are never retyped. See
23
+ // `docs/initiatives/tech-migration-preset-and-mssql-postgres-pilot.md`.
24
+ // ---------------------------------------------------------------------------
25
+ /**
26
+ * Interviewer steering: the migration form already froze the enumerable facts (which migration,
27
+ * from/to tech, stored-proc policy, compat posture, coverage bar, docs dir), so the interview digs
28
+ * into the fuzzy, judgment-dependent facts a form cannot capture — the ones that actually change how
29
+ * the migration must be planned. Complements the generic T3 "build on the seeded form" line with the
30
+ * migration-specific probing agenda.
31
+ */
32
+ export const MIGRATION_INTERVIEWER_PROMPT_ADDITION = [
33
+ 'This initiative is a TECHNOLOGICAL MIGRATION — swapping a load-bearing technology (a database ' +
34
+ 'engine, a framework major, a runtime, a core library) behind a behaviour-preservation safety ' +
35
+ 'net. The intake form has already captured the enumerable facts (which migration, the from/to ' +
36
+ 'technology, the stored-procedure policy, the compatibility posture, the coverage bar, the docs ' +
37
+ 'location). Treat every one of those seeded answers as SETTLED — never re-ask what the form covers.',
38
+ '',
39
+ 'Spend your questions on the fuzzy, judgment-dependent facts a form cannot capture, because they ' +
40
+ 'shape the plan:',
41
+ '- Downtime / cutover tolerance: is a maintenance window acceptable, or must the switch be online?',
42
+ '- Data-migration constraints: data volume, backfill and rehearsal needs, point-in-time ' +
43
+ 'correctness, and any records that cannot be recreated.',
44
+ '- Compatibility posture, when the form left it unset: how long must the old and new technologies ' +
45
+ 'run side by side (big-bang vs dual-run vs adapter layer), and what forces that choice?',
46
+ '- The observable behaviour that must NOT change, and where silent drift is most likely.',
47
+ '- Rollback expectations, and who owns the decision to abort a cutover mid-flight.',
48
+ '- Operational reach: scheduled jobs, ops tooling, monitoring and CI that touch the technology ' +
49
+ 'being swapped.',
50
+ '',
51
+ 'Keep each batch small and high-leverage. Converge as soon as the migration methodology (blast ' +
52
+ 'zone → coverage → transition → delivery → decommission) can be planned unambiguously.',
53
+ ].join('\n');
54
+ /**
55
+ * Analyst steering: the analysis must produce the migration's BLAST ZONE (the touchpoint inventory
56
+ * the planner turns into the phase-1 report item and the provisional phase-2 coverage items), not a
57
+ * generic architecture overview — and it must chase the TRANSITIVE reach where migrations silently
58
+ * break, recording the existing test coverage per touchpoint (the phase-2 hardening target and the
59
+ * confidence case's grounding).
60
+ */
61
+ export const MIGRATION_ANALYST_PROMPT_ADDITION = [
62
+ 'This initiative is a TECHNOLOGICAL MIGRATION. Your analysis must produce the migration BLAST ' +
63
+ 'ZONE — the touchpoint inventory the planner turns into the phase-1 report item and the ' +
64
+ 'provisional phase-2 coverage items — not a generic architecture overview.',
65
+ '',
66
+ 'Enumerate every touchpoint of the technology being swapped:',
67
+ '- DIRECT touchpoints: every site that uses the technology directly — queries, driver/ORM calls, ' +
68
+ 'schema objects, vendor-specific idioms, connection/pool/timeout config.',
69
+ '- TRANSITIVE touchpoints: chase the reach BEYOND the direct sites — callers of those callers, ' +
70
+ 'code that consumes the RESULT SHAPES or error contracts of the swapped calls, scheduled jobs, ' +
71
+ 'ops and migration tooling, monitoring, and CI provisioning. Transitive reach is where ' +
72
+ 'migrations silently break; do not stop at the obvious layer.',
73
+ '',
74
+ 'For EACH touchpoint record: what it is, whether it is direct or transitive, a risk assessment, ' +
75
+ 'and — critically — WHICH TESTS COVER IT TODAY (or "none"). That "covered by which tests today" ' +
76
+ 'column is exactly what phase 2 hardens and the confidence case audits, so ground it in real ' +
77
+ 'test files, not guesses.',
78
+ '',
79
+ 'Call out the behaviour-preservation traps specific to THIS swap — the edge cases that differ ' +
80
+ 'silently between the two technologies (NULL vs empty string, precision/rounding, collation and ' +
81
+ 'comparison semantics, pagination, identity/sequence exposure) — and any set-based operation ' +
82
+ 'that must NOT become an app-side per-row loop. Ground every touchpoint in real file/directory ' +
83
+ 'references, and produce this provisional inventory IN your analysis so the planner can author ' +
84
+ 'phase 1 and the provisional phase-2 items directly from it.',
85
+ ].join('\n');
86
+ /**
87
+ * Planner steering: author each phase's items to the migration briefs, using the canonical phase
88
+ * ids VERBATIM, enforcing coverage-before-delivery and the single-writer artifact discipline. Pairs
89
+ * with the wire `phaseTemplate` (which dictates the phase SHAPE) — this is the per-phase ITEM
90
+ * methodology `seedMigrationPlan` (T7) then decorates and hardens.
91
+ */
92
+ export const MIGRATION_PLANNER_PROMPT_ADDITION = [
93
+ 'This initiative is a TECHNOLOGICAL MIGRATION, planned around the five fixed phases in the ' +
94
+ "required plan shape above. Author each phase's items to the briefs below, using each phase " +
95
+ '`id` VERBATIM. Coverage comes BEFORE delivery: never schedule a delivery item before the ' +
96
+ 'behaviour it changes is characterised and green on the current technology.',
97
+ '',
98
+ `- \`${MIGRATION_PHASE_IDS.blastZone}\`: ONE report item (a SINGLE writer) that verifies and ` +
99
+ "deepens the analyst's provisional inventory against the real code and commits it as a " +
100
+ 'Markdown document. Do not split the inventory across parallel writers.',
101
+ `- \`${MIGRATION_PHASE_IDS.coverage}\`: one coverage item per area of the provisional inventory ` +
102
+ '(keep it to roughly eight; group finer-grained rows by area), each writing characterization ' +
103
+ 'tests at a seam ABOVE the layer being swapped so they survive the swap. CLOSE the phase with a ' +
104
+ 'single confidence-case item that depends on every other phase-2 item and is human-gated: it ' +
105
+ 'sweeps coverage and commits the evidence-backed proof (per-touchpoint named tests, gaps and ' +
106
+ 'waivers justified against the coverage bar, risk mitigations, safety nets) a human audits ' +
107
+ 'before delivery.',
108
+ `- \`${MIGRATION_PHASE_IDS.transitionDesign}\`: one or two human-gated design items that decide ` +
109
+ 'the backwards-compatibility posture and design the migration / cutover path — schema ' +
110
+ 'translation, transaction-boundary ownership, the error-contract mapping, the per-object ' +
111
+ 'replacement strategy, and the data-migration path plus rehearsal — committing the design ' +
112
+ 'document. Each set-based operation replaced with application code needs an explicit note that ' +
113
+ 'it stays set-based (never an app-side per-row loop).',
114
+ `- \`${MIGRATION_PHASE_IDS.delivery}\`: delivery items batched by design area, each depending on ` +
115
+ 'the enabling schema / infrastructure item, executed per the approved design with the behaviour ' +
116
+ 'suite green throughout.',
117
+ `- \`${MIGRATION_PHASE_IDS.verifyDecommission}\`: a parity-verification item (the behaviour suite ` +
118
+ 'green on the new target, made primary), the CI / default flip, and removal of the old path and ' +
119
+ 'its dependencies per the chosen compatibility posture.',
120
+ ].join('\n');
121
+ /**
122
+ * The migration preset's `promptAdditions` map — the per-planning-kind steering the registration
123
+ * (T8) spreads onto its {@link InitiativePresetRegistration}. Keyed by the kernel agent-kind
124
+ * constants so a kind rename can't silently orphan an entry.
125
+ */
126
+ export const MIGRATION_PROMPT_ADDITIONS = {
127
+ [INITIATIVE_INTERVIEWER_AGENT_KIND]: MIGRATION_INTERVIEWER_PROMPT_ADDITION,
128
+ [INITIATIVE_ANALYST_AGENT_KIND]: MIGRATION_ANALYST_PROMPT_ADDITION,
129
+ [INITIATIVE_PLANNER_AGENT_KIND]: MIGRATION_PLANNER_PROMPT_ADDITION,
130
+ };
131
+ //# sourceMappingURL=prompt-additions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-additions.js","sourceRoot":"","sources":["../../../src/presets/tech-migration/prompt-additions.ts"],"names":[],"mappings":"AACA,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,8EAA8E;AAC9E,oGAAoG;AACpG,2FAA2F;AAC3F,6FAA6F;AAC7F,4FAA4F;AAC5F,yFAAyF;AACzF,EAAE;AACF,uCAAuC;AACvC,mGAAmG;AACnG,+FAA+F;AAC/F,8FAA8F;AAC9F,+FAA+F;AAC/F,uFAAuF;AACvF,qGAAqG;AACrG,gGAAgG;AAChG,6CAA6C;AAC7C,EAAE;AACF,iGAAiG;AACjG,gGAAgG;AAChG,6CAA6C;AAC7C,wEAAwE;AACxE,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,gGAAgG;QAC9F,+FAA+F;QAC/F,+FAA+F;QAC/F,iGAAiG;QACjG,oGAAoG;IACtG,EAAE;IACF,kGAAkG;QAChG,iBAAiB;IACnB,mGAAmG;IACnG,yFAAyF;QACvF,wDAAwD;IAC1D,mGAAmG;QACjG,wFAAwF;IAC1F,yFAAyF;IACzF,mFAAmF;IACnF,gGAAgG;QAC9F,gBAAgB;IAClB,EAAE;IACF,gGAAgG;QAC9F,uFAAuF;CAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,+FAA+F;QAC7F,yFAAyF;QACzF,2EAA2E;IAC7E,EAAE;IACF,6DAA6D;IAC7D,kGAAkG;QAChG,yEAAyE;IAC3E,gGAAgG;QAC9F,gGAAgG;QAChG,wFAAwF;QACxF,8DAA8D;IAChE,EAAE;IACF,iGAAiG;QAC/F,iGAAiG;QACjG,8FAA8F;QAC9F,0BAA0B;IAC5B,EAAE;IACF,+FAA+F;QAC7F,iGAAiG;QACjG,8FAA8F;QAC9F,gGAAgG;QAChG,gGAAgG;QAChG,6DAA6D;CAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,4FAA4F;QAC1F,6FAA6F;QAC7F,2FAA2F;QAC3F,4EAA4E;IAC9E,EAAE;IACF,OAAO,mBAAmB,CAAC,SAAS,0DAA0D;QAC5F,wFAAwF;QACxF,wEAAwE;IAC1E,OAAO,mBAAmB,CAAC,QAAQ,8DAA8D;QAC/F,8FAA8F;QAC9F,iGAAiG;QACjG,8FAA8F;QAC9F,8FAA8F;QAC9F,4FAA4F;QAC5F,kBAAkB;IACpB,OAAO,mBAAmB,CAAC,gBAAgB,sDAAsD;QAC/F,uFAAuF;QACvF,0FAA0F;QAC1F,2FAA2F;QAC3F,gGAAgG;QAChG,sDAAsD;IACxD,OAAO,mBAAmB,CAAC,QAAQ,+DAA+D;QAChG,iGAAiG;QACjG,yBAAyB;IAC3B,OAAO,mBAAmB,CAAC,kBAAkB,sDAAsD;QACjG,iGAAiG;QACjG,wDAAwD;CAC3D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAuC;IAC5E,CAAC,iCAAiC,CAAC,EAAE,qCAAqC;IAC1E,CAAC,6BAA6B,CAAC,EAAE,iCAAiC;IAClE,CAAC,6BAA6B,CAAC,EAAE,iCAAiC;CACnE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/agents",
3
- "version": "0.44.1",
3
+ "version": "0.45.0",
4
4
  "description": "Agent catalog, routing, prompts and fragment library for the Agent Architecture Board.",
5
5
  "repository": {
6
6
  "type": "git",