@cat-factory/agents 0.59.2 → 0.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/kinds/ralph.d.ts +18 -0
- package/dist/agents/kinds/ralph.d.ts.map +1 -0
- package/dist/agents/kinds/ralph.js +114 -0
- package/dist/agents/kinds/ralph.js.map +1 -0
- package/dist/agents/kinds/registry.d.ts.map +1 -1
- package/dist/agents/kinds/registry.js +2 -0
- package/dist/agents/kinds/registry.js.map +1 -1
- package/dist/fragmentLibrary/FragmentSourceService.d.ts.map +1 -1
- package/dist/fragmentLibrary/FragmentSourceService.js +49 -66
- package/dist/fragmentLibrary/FragmentSourceService.js.map +1 -1
- package/dist/fragmentLibrary/fragment-source.logic.d.ts.map +1 -1
- package/dist/fragmentLibrary/fragment-source.logic.js +4 -69
- package/dist/fragmentLibrary/fragment-source.logic.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/repoSourceSync/frontmatter.d.ts +12 -0
- package/dist/repoSourceSync/frontmatter.d.ts.map +1 -0
- package/dist/repoSourceSync/frontmatter.js +70 -0
- package/dist/repoSourceSync/frontmatter.js.map +1 -0
- package/dist/repoSourceSync/repo-source-sync.d.ts +88 -0
- package/dist/repoSourceSync/repo-source-sync.d.ts.map +1 -0
- package/dist/repoSourceSync/repo-source-sync.js +50 -0
- package/dist/repoSourceSync/repo-source-sync.js.map +1 -0
- package/dist/skillLibrary/SkillCatalogService.d.ts +35 -0
- package/dist/skillLibrary/SkillCatalogService.d.ts.map +1 -0
- package/dist/skillLibrary/SkillCatalogService.js +52 -0
- package/dist/skillLibrary/SkillCatalogService.js.map +1 -0
- package/dist/skillLibrary/SkillSourceService.d.ts +67 -0
- package/dist/skillLibrary/SkillSourceService.d.ts.map +1 -0
- package/dist/skillLibrary/SkillSourceService.js +237 -0
- package/dist/skillLibrary/SkillSourceService.js.map +1 -0
- package/dist/skillLibrary/skill-source.logic.d.ts +21 -0
- package/dist/skillLibrary/skill-source.logic.d.ts.map +1 -0
- package/dist/skillLibrary/skill-source.logic.js +43 -0
- package/dist/skillLibrary/skill-source.logic.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AgentConfigDescriptor } from '@cat-factory/kernel';
|
|
2
|
+
import type { AgentKindDefinition, AgentKindRegistry } from './registry.js';
|
|
3
|
+
export declare const RALPH_AGENT_KIND = "ralph";
|
|
4
|
+
/** The per-task validation command — the loop's programmatic completion criterion. */
|
|
5
|
+
export declare const RALPH_VALIDATION_COMMAND_CONFIG_ID = "ralph.validationCommand";
|
|
6
|
+
/** The per-task iteration budget — the anti-runaway cap. */
|
|
7
|
+
export declare const RALPH_MAX_ITERATIONS_CONFIG_ID = "ralph.maxIterations";
|
|
8
|
+
/** The default iteration budget when the task pins none (the community-norm default). */
|
|
9
|
+
export declare const RALPH_DEFAULT_MAX_ITERATIONS = 10;
|
|
10
|
+
export declare const RALPH_AGENT_KINDS: AgentKindDefinition[];
|
|
11
|
+
/** The task-level config a ralph step contributes: the validation command + the iteration cap. */
|
|
12
|
+
export declare function ralphConfigContributions(): AgentConfigDescriptor[];
|
|
13
|
+
/**
|
|
14
|
+
* Register the ralph kind on the given registry. Called by `defaultAgentKindRegistry()`;
|
|
15
|
+
* idempotent (the registry replaces by kind).
|
|
16
|
+
*/
|
|
17
|
+
export declare function registerRalphAgent(registry: AgentKindRegistry): void;
|
|
18
|
+
//# sourceMappingURL=ralph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralph.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/ralph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AA2B3E,eAAO,MAAM,gBAAgB,UAAU,CAAA;AAEvC,sFAAsF;AACtF,eAAO,MAAM,kCAAkC,4BAA4B,CAAA;AAC3E,4DAA4D;AAC5D,eAAO,MAAM,8BAA8B,wBAAwB,CAAA;AAEnE,yFAAyF;AACzF,eAAO,MAAM,4BAA4B,KAAK,CAAA;AA0B9C,eAAO,MAAM,iBAAiB,EAAE,mBAAmB,EAyBlD,CAAA;AAED,kGAAkG;AAClG,wBAAgB,wBAAwB,IAAI,qBAAqB,EAAE,CA4BlE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAEpE"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// The `ralph` agent kind — the "Ralph loop" iteration body.
|
|
3
|
+
//
|
|
4
|
+
// A persistent retry-until-done loop: each iteration is a FRESH-CONTEXT container-coding
|
|
5
|
+
// run that works the task spec, after which the executor-harness runs the task's configured
|
|
6
|
+
// programmatic validation command against the checkout and reports its exit code. The
|
|
7
|
+
// engine (RalphController) reads that HARNESS-COMPUTED verdict — exit 0 = the completion
|
|
8
|
+
// criterion is met — and either finishes the step or re-dispatches another iteration (a new
|
|
9
|
+
// container, so context never degrades), up to the per-task iteration budget. Loop state
|
|
10
|
+
// lives on `step.ralph`, so a mid-loop run survives restarts (both durable drivers + both
|
|
11
|
+
// sweepers re-drive it from that persisted state).
|
|
12
|
+
//
|
|
13
|
+
// This is modelled on the Tester→Fixer loop (the container run does the work AND its result
|
|
14
|
+
// carries a verdict the engine loops on), NOT on a backend-probe gate: the completion check
|
|
15
|
+
// must EXECUTE in a checkout, which only the harness can do. The verdict is deliberately not
|
|
16
|
+
// model-reported — that is what makes the exit condition a real programmatic check.
|
|
17
|
+
//
|
|
18
|
+
// It is a pure SIDE-EFFECT coding kind (its product is the pushed commit/PR, like the coder
|
|
19
|
+
// or ci-fixer), so it declares no `structuredOutput` and does NOT append
|
|
20
|
+
// `FINAL_ANSWER_IN_REPLY`: the loop-controlling verdict comes from the harness, not the
|
|
21
|
+
// visible reply. `clone: 'pr-or-work'` opens the PR on the first iteration and amends that
|
|
22
|
+
// same PR branch in place on every later iteration (resuming prior work), so the loop
|
|
23
|
+
// accretes on ONE branch/PR rather than re-branching off base each pass.
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
export const RALPH_AGENT_KIND = 'ralph';
|
|
26
|
+
/** The per-task validation command — the loop's programmatic completion criterion. */
|
|
27
|
+
export const RALPH_VALIDATION_COMMAND_CONFIG_ID = 'ralph.validationCommand';
|
|
28
|
+
/** The per-task iteration budget — the anti-runaway cap. */
|
|
29
|
+
export const RALPH_MAX_ITERATIONS_CONFIG_ID = 'ralph.maxIterations';
|
|
30
|
+
/** The default iteration budget when the task pins none (the community-norm default). */
|
|
31
|
+
export const RALPH_DEFAULT_MAX_ITERATIONS = 10;
|
|
32
|
+
const RALPH_SYSTEM_PROMPT = 'You are a senior engineer working ONE iteration of a persistent, retry-until-done loop ' +
|
|
33
|
+
'toward the task described to you (that description is the specification — read it as the ' +
|
|
34
|
+
'goal). This is NOT a one-shot: after you commit, a deterministic validation command is run ' +
|
|
35
|
+
'against the repository, and if it does not pass the loop runs again with a fresh you. Your ' +
|
|
36
|
+
'job each pass is to make REAL, incremental progress so that command will pass.\n\n' +
|
|
37
|
+
'Before you write code:\n' +
|
|
38
|
+
'- Read the prior iterations’ outcomes in your provided context (what was tried, and the ' +
|
|
39
|
+
'validation output / errors from the last run) and the progress log committed on the branch ' +
|
|
40
|
+
'(`.cat-factory/ralph-progress.md`, if present). Do not repeat an approach that already ' +
|
|
41
|
+
'failed; build on what exists rather than starting over.\n' +
|
|
42
|
+
'- Run the validation command yourself to see the current failures, then work the most ' +
|
|
43
|
+
'important one.\n\n' +
|
|
44
|
+
'Rules:\n' +
|
|
45
|
+
'- The validation command is the completion criterion and it is run by the harness, not by ' +
|
|
46
|
+
'you — do NOT weaken, skip, delete, or fake tests/checks to make it pass, and do not edit ' +
|
|
47
|
+
'the command. Make the code genuinely satisfy it.\n' +
|
|
48
|
+
'- Make focused progress this pass rather than attempting everything at once; the loop will ' +
|
|
49
|
+
'continue.\n' +
|
|
50
|
+
'- Commit and push your work before finishing (an iteration that pushes nothing makes no ' +
|
|
51
|
+
'progress).\n' +
|
|
52
|
+
'- Append a short note to `.cat-factory/ralph-progress.md` summarising what you changed and ' +
|
|
53
|
+
'what still fails, so the next iteration starts informed.';
|
|
54
|
+
export const RALPH_AGENT_KINDS = [
|
|
55
|
+
{
|
|
56
|
+
kind: RALPH_AGENT_KIND,
|
|
57
|
+
systemPrompt: RALPH_SYSTEM_PROMPT,
|
|
58
|
+
// Coding that accretes on ONE branch/PR: `pr-or-work` opens the PR on iteration 1 (work
|
|
59
|
+
// flow) then amends that PR branch in place on every later iteration (pr flow) — so prior
|
|
60
|
+
// iterations' commits are resumed, not reset. A no-change iteration must NOT hard-fail the
|
|
61
|
+
// step (the loop/budget + the controller's no-progress guard handle a stuck loop instead).
|
|
62
|
+
agent: {
|
|
63
|
+
surface: 'container-coding',
|
|
64
|
+
clone: { branch: 'pr-or-work' },
|
|
65
|
+
noChangesTolerated: true,
|
|
66
|
+
},
|
|
67
|
+
configContributions: ralphConfigContributions(),
|
|
68
|
+
presentation: {
|
|
69
|
+
label: 'Ralph Loop',
|
|
70
|
+
icon: 'i-lucide-repeat',
|
|
71
|
+
color: '#8b5cf6',
|
|
72
|
+
description: 'Persistently re-runs a fresh-context coding iteration until the task’s configured ' +
|
|
73
|
+
'validation command passes (or the iteration budget is spent).',
|
|
74
|
+
category: 'build',
|
|
75
|
+
resultView: 'ralph-loop',
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
/** The task-level config a ralph step contributes: the validation command + the iteration cap. */
|
|
80
|
+
export function ralphConfigContributions() {
|
|
81
|
+
return [
|
|
82
|
+
{
|
|
83
|
+
id: RALPH_VALIDATION_COMMAND_CONFIG_ID,
|
|
84
|
+
agentKind: RALPH_AGENT_KIND,
|
|
85
|
+
label: 'Validation command',
|
|
86
|
+
description: 'The programmatic completion criterion. After each iteration the harness runs this ' +
|
|
87
|
+
'shell command in the checkout; exit code 0 means the loop is done. Runs only inside ' +
|
|
88
|
+
'the sandboxed run container. Example: pnpm test && pnpm typecheck',
|
|
89
|
+
type: 'text',
|
|
90
|
+
options: [],
|
|
91
|
+
placeholder: 'pnpm test && pnpm typecheck',
|
|
92
|
+
default: '',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: RALPH_MAX_ITERATIONS_CONFIG_ID,
|
|
96
|
+
agentKind: RALPH_AGENT_KIND,
|
|
97
|
+
label: 'Max iterations',
|
|
98
|
+
description: 'The anti-runaway budget: the most times the loop re-runs before it hands off to a ' +
|
|
99
|
+
'human. Each iteration is a fresh-context run.',
|
|
100
|
+
type: 'number',
|
|
101
|
+
options: [],
|
|
102
|
+
placeholder: String(RALPH_DEFAULT_MAX_ITERATIONS),
|
|
103
|
+
default: String(RALPH_DEFAULT_MAX_ITERATIONS),
|
|
104
|
+
},
|
|
105
|
+
];
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Register the ralph kind on the given registry. Called by `defaultAgentKindRegistry()`;
|
|
109
|
+
* idempotent (the registry replaces by kind).
|
|
110
|
+
*/
|
|
111
|
+
export function registerRalphAgent(registry) {
|
|
112
|
+
registry.registerAll(RALPH_AGENT_KINDS);
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=ralph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralph.js","sourceRoot":"","sources":["../../../src/agents/kinds/ralph.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,4DAA4D;AAC5D,EAAE;AACF,yFAAyF;AACzF,4FAA4F;AAC5F,sFAAsF;AACtF,yFAAyF;AACzF,4FAA4F;AAC5F,yFAAyF;AACzF,0FAA0F;AAC1F,mDAAmD;AACnD,EAAE;AACF,4FAA4F;AAC5F,4FAA4F;AAC5F,6FAA6F;AAC7F,oFAAoF;AACpF,EAAE;AACF,4FAA4F;AAC5F,yEAAyE;AACzE,wFAAwF;AACxF,2FAA2F;AAC3F,sFAAsF;AACtF,yEAAyE;AACzE,8EAA8E;AAE9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAA;AAEvC,sFAAsF;AACtF,MAAM,CAAC,MAAM,kCAAkC,GAAG,yBAAyB,CAAA;AAC3E,4DAA4D;AAC5D,MAAM,CAAC,MAAM,8BAA8B,GAAG,qBAAqB,CAAA;AAEnE,yFAAyF;AACzF,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAA;AAE9C,MAAM,mBAAmB,GACvB,yFAAyF;IACzF,2FAA2F;IAC3F,6FAA6F;IAC7F,6FAA6F;IAC7F,oFAAoF;IACpF,0BAA0B;IAC1B,0FAA0F;IAC1F,6FAA6F;IAC7F,yFAAyF;IACzF,2DAA2D;IAC3D,wFAAwF;IACxF,oBAAoB;IACpB,UAAU;IACV,4FAA4F;IAC5F,2FAA2F;IAC3F,oDAAoD;IACpD,6FAA6F;IAC7F,aAAa;IACb,0FAA0F;IAC1F,cAAc;IACd,6FAA6F;IAC7F,0DAA0D,CAAA;AAE5D,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD;QACE,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,mBAAmB;QACjC,wFAAwF;QACxF,0FAA0F;QAC1F,2FAA2F;QAC3F,2FAA2F;QAC3F,KAAK,EAAE;YACL,OAAO,EAAE,kBAAkB;YAC3B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;YAC/B,kBAAkB,EAAE,IAAI;SACzB;QACD,mBAAmB,EAAE,wBAAwB,EAAE;QAC/C,YAAY,EAAE;YACZ,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,SAAS;YAChB,WAAW,EACT,oFAAoF;gBACpF,+DAA+D;YACjE,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,YAAY;SACzB;KACF;CACF,CAAA;AAED,kGAAkG;AAClG,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL;YACE,EAAE,EAAE,kCAAkC;YACtC,SAAS,EAAE,gBAAgB;YAC3B,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EACT,oFAAoF;gBACpF,sFAAsF;gBACtF,mEAAmE;YACrE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,6BAA6B;YAC1C,OAAO,EAAE,EAAE;SACZ;QACD;YACE,EAAE,EAAE,8BAA8B;YAClC,SAAS,EAAE,gBAAgB;YAC3B,KAAK,EAAE,gBAAgB;YACvB,WAAW,EACT,oFAAoF;gBACpF,+CAA+C;YACjD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,MAAM,CAAC,4BAA4B,CAAC;YACjD,OAAO,EAAE,MAAM,CAAC,4BAA4B,CAAC;SAC9C;KACF,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAA2B;IAC5D,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,SAAS,EACT,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,SAAS,EACT,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAsB9D,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,IAAI,EAAE,SAAS,CAAA;IACf;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAA;IACpD;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAA;IACjD;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAC7C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;IACrB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC5C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAA;CACjC;AAaD;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAElE,kGAAkG;IAClG,QAAQ,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAE9C;IAED,mDAAmD;IACnD,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAE5D;IAED,4FAA4F;IAC5F,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,mBAAmB,GAAG,SAAS,CAEpD;IAED,uDAAuD;IACvD,GAAG,IAAI,mBAAmB,EAAE,CAE3B;IAED;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAM1C;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEzC;IAED,uFAAuF;IACvF,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAMhD;IAED,sGAAsG;IACtG,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAEvD;IAED,4FAA4F;IAC5F,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAEnD;IAED,2FAA2F;IAC3F,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAE/C;IAED,uFAAuF;IACvF,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,qBAAqB,EAAE,CAE5D;IAED,0FAA0F;IAC1F,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAEpD;IAED,uFAAuF;IACvF,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAEhC;IAED,uFAAuF;IACvF,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAEjC;IAED,0FAA0F;IAC1F,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAE3D;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAEvE;CACF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,CAa5D"}
|
|
@@ -2,6 +2,7 @@ import { registerBugInvestigatorAgent } from './bug-investigator.js';
|
|
|
2
2
|
import { registerForkProposerAgent } from './fork-proposer.js';
|
|
3
3
|
import { registerPrReviewerAgent } from './pr-reviewer.js';
|
|
4
4
|
import { registerReproTestAgent } from './repro-test.js';
|
|
5
|
+
import { registerRalphAgent } from './ralph.js';
|
|
5
6
|
import { registerDocumentAgents } from './document.js';
|
|
6
7
|
import { registerCodeCommenterAgent } from './code-commenter.js';
|
|
7
8
|
import { registerInitiativeAgents } from './initiative.js';
|
|
@@ -132,6 +133,7 @@ export function defaultAgentKindRegistry() {
|
|
|
132
133
|
registerForkProposerAgent(registry);
|
|
133
134
|
registerPrReviewerAgent(registry);
|
|
134
135
|
registerReproTestAgent(registry);
|
|
136
|
+
registerRalphAgent(registry);
|
|
135
137
|
registerDocumentAgents(registry);
|
|
136
138
|
registerCodeCommenterAgent(registry);
|
|
137
139
|
registerInitiativeAgents(registry);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/kinds/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentSourceService.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentSourceService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAA;AACzE,OAAO,KAAK,EAEV,wBAAwB,EAExB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"FragmentSourceService.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentSourceService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAA;AACzE,OAAO,KAAK,EAEV,wBAAwB,EAExB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAQ5B;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAC1C,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAE3B,MAAM,WAAW,iCAAiC;IAChD,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,YAAY,EAAE,YAAY,CAAA;IAC1B,qBAAqB,EAAE,6BAA6B,CAAA;IACpD,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrF;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,iCAAiC,EAAI;IAExE,2DAA2D;IACrD,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAGnF;IAED,qFAAqF;IAC/E,IAAI,CACR,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAiBzB;IAED,gEAAgE;IAC1D,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F;IAED;;;;;OAKG;IACG,IAAI,CACR,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,CA0D7B;IAED;;;;;;OAMG;IACG,MAAM,CACV,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAI/B;YAIa,OAAO;IAmBrB,uFAAuF;YACzE,mBAAmB;IAUjC;;;OAGG;YACW,YAAY;IAc1B;;;;OAIG;YACW,SAAS;CAmDxB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NotFoundError, ValidationError, assertFound } from '@cat-factory/kernel';
|
|
2
2
|
import { isMarkdownFile, parseFragmentMarkdown, slugFromPath } from './fragment-source.logic.js';
|
|
3
|
+
import { normalizeDirPath, probeRepoSourceStatus, syncRepoSource, } from '../repoSourceSync/repo-source-sync.js';
|
|
3
4
|
/**
|
|
4
5
|
* Repo-sourced fragments (ADR 0006 §3, §6): link a repo directory of Markdown
|
|
5
6
|
* guidelines to a tier, resync it (read the tree, upsert changed files, tombstone
|
|
@@ -33,7 +34,7 @@ export class FragmentSourceService {
|
|
|
33
34
|
repoOwner: input.repoOwner.trim(),
|
|
34
35
|
repoName: input.repoName.trim(),
|
|
35
36
|
gitRef: input.gitRef?.trim() || 'HEAD',
|
|
36
|
-
dirPath:
|
|
37
|
+
dirPath: normalizeDirPath(input.dirPath),
|
|
37
38
|
lastSyncedCommit: null,
|
|
38
39
|
lastSyncedAt: null,
|
|
39
40
|
createdAt: now,
|
|
@@ -63,63 +64,53 @@ export class FragmentSourceService {
|
|
|
63
64
|
async sync(ownerKind, ownerId, sourceId) {
|
|
64
65
|
const source = await this.require(ownerKind, ownerId, sourceId);
|
|
65
66
|
// The installation is invariant across the whole sync — resolve it ONCE here,
|
|
66
|
-
// never per file (the per-entry reads
|
|
67
|
+
// never per file (the per-entry reads share it via the shared helper).
|
|
67
68
|
const installationId = await this.requireInstallation(source);
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
await this.deps.promptFragmentRepository.softDelete(f.ownerKind, f.ownerId, f.fragmentId, now);
|
|
114
|
-
tombstoned++;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
await this.deps.fragmentSourceRepository.updateSyncState(source.id, headCommit, now);
|
|
118
|
-
// Invalidate AFTER the sync state commits, and only when fragments actually
|
|
119
|
-
// changed — a no-op resync must not churn every peer's cached catalog.
|
|
120
|
-
if (upserted > 0 || tombstoned > 0)
|
|
121
|
-
await this.deps.invalidateCatalog?.(ownerKind, ownerId);
|
|
122
|
-
return { upserted, tombstoned, unchanged, lastSyncedCommit: headCommit };
|
|
69
|
+
// The shared repo-source engine (repoSourceSync) owns the mechanics — pin the head
|
|
70
|
+
// commit before reading, sweep tombstones by produced id, stamp the sync state,
|
|
71
|
+
// invalidate only when a row changed. The fragment differentiator is the reconcile:
|
|
72
|
+
// one Markdown file per fragment, change-detected by blob sha.
|
|
73
|
+
return syncRepoSource({
|
|
74
|
+
source,
|
|
75
|
+
installationId,
|
|
76
|
+
githubClient: this.deps.githubClient,
|
|
77
|
+
now: this.deps.clock.now(),
|
|
78
|
+
listExisting: () => this.deps.promptFragmentRepository.listBySource(sourceId),
|
|
79
|
+
existingId: (f) => f.fragmentId,
|
|
80
|
+
reconcile: async ({ readRef, now }, existing) => {
|
|
81
|
+
const entries = await this.readMarkdown(source, installationId, readRef);
|
|
82
|
+
const existingByPath = new Map(existing.map((f) => [f.sourcePath ?? '', f]));
|
|
83
|
+
// Keyed by fragment id too, so `syncEntry` can inherit an existing fragment's
|
|
84
|
+
// version/createdAt when a RENAME reaches it under a new path (path lookup misses,
|
|
85
|
+
// id lookup hits) rather than silently resetting them to defaults.
|
|
86
|
+
const existingById = new Map(existing.map((f) => [f.fragmentId, f]));
|
|
87
|
+
const liveIds = new Set();
|
|
88
|
+
let upserted = 0;
|
|
89
|
+
let unchanged = 0;
|
|
90
|
+
for (const entry of entries) {
|
|
91
|
+
const prior = existingByPath.get(entry.path);
|
|
92
|
+
if (prior && prior.sourceSha === entry.sha) {
|
|
93
|
+
unchanged++;
|
|
94
|
+
liveIds.add(prior.fragmentId);
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
const syncedId = await this.syncEntry(source, entry, existingById, now, installationId, readRef);
|
|
98
|
+
if (syncedId) {
|
|
99
|
+
liveIds.add(syncedId);
|
|
100
|
+
upserted++;
|
|
101
|
+
}
|
|
102
|
+
else if (prior) {
|
|
103
|
+
// Unreadable/unparseable this round: keep the prior fragment alive rather
|
|
104
|
+
// than retiring guidance over a transient read or an in-progress edit.
|
|
105
|
+
liveIds.add(prior.fragmentId);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return { liveIds, upserted, unchanged };
|
|
109
|
+
},
|
|
110
|
+
tombstone: (f, now) => this.deps.promptFragmentRepository.softDelete(f.ownerKind, f.ownerId, f.fragmentId, now),
|
|
111
|
+
updateSyncState: (commit, now) => this.deps.fragmentSourceRepository.updateSyncState(source.id, commit, now),
|
|
112
|
+
invalidate: () => this.deps.invalidateCatalog?.(ownerKind, ownerId) ?? Promise.resolve(),
|
|
113
|
+
});
|
|
123
114
|
}
|
|
124
115
|
/**
|
|
125
116
|
* Lightweight "check for changes": read only the source dir's current head commit sha
|
|
@@ -131,12 +122,7 @@ export class FragmentSourceService {
|
|
|
131
122
|
async status(ownerKind, ownerId, sourceId) {
|
|
132
123
|
const source = await this.require(ownerKind, ownerId, sourceId);
|
|
133
124
|
const installationId = await this.requireInstallation(source);
|
|
134
|
-
|
|
135
|
-
return {
|
|
136
|
-
changed: remoteCommit !== source.lastSyncedCommit,
|
|
137
|
-
lastSyncedCommit: source.lastSyncedCommit,
|
|
138
|
-
remoteCommit,
|
|
139
|
-
};
|
|
125
|
+
return probeRepoSourceStatus({ source, installationId, githubClient: this.deps.githubClient });
|
|
140
126
|
}
|
|
141
127
|
// --- internals ----------------------------------------------------------
|
|
142
128
|
async require(ownerKind, ownerId, sourceId) {
|
|
@@ -212,9 +198,6 @@ export class FragmentSourceService {
|
|
|
212
198
|
return fragmentId;
|
|
213
199
|
}
|
|
214
200
|
}
|
|
215
|
-
function normalizeDir(dirPath) {
|
|
216
|
-
return (dirPath ?? '').replace(/^\/+|\/+$/g, '');
|
|
217
|
-
}
|
|
218
201
|
function toWire(record) {
|
|
219
202
|
return {
|
|
220
203
|
id: record.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentSourceService.js","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentSourceService.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AASjF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"FragmentSourceService.js","sourceRoot":"","sources":["../../src/fragmentLibrary/FragmentSourceService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-source.logic.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/fragment-source.logic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"fragment-source.logic.d.ts","sourceRoot":"","sources":["../../src/fragmentLibrary/fragment-source.logic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAoB5D,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B;AAED,qGAAqG;AACrG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAwB9F"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { parseSimpleYaml, splitFrontmatter, str, strArray } from '../repoSourceSync/frontmatter.js';
|
|
1
2
|
// Pure logic for repo-sourced fragments (ADR 0006 §4): parse one Markdown file
|
|
2
3
|
// with YAML frontmatter into a fragment, plus the small helpers the sync flow
|
|
3
|
-
// needs (slugging an id from a path, recognising Markdown files).
|
|
4
|
-
//
|
|
5
|
-
//
|
|
4
|
+
// needs (slugging an id from a path, recognising Markdown files). The generic
|
|
5
|
+
// frontmatter split + small-YAML parse are shared with the skill library
|
|
6
|
+
// (repoSourceSync/frontmatter). No I/O lives here so it is unit-testable.
|
|
6
7
|
const BLOCK_TYPES = [
|
|
7
8
|
'frontend',
|
|
8
9
|
'service',
|
|
@@ -61,72 +62,6 @@ export function parseFragmentMarkdown(path, content) {
|
|
|
61
62
|
return parsed;
|
|
62
63
|
}
|
|
63
64
|
// --- internals ------------------------------------------------------------
|
|
64
|
-
function splitFrontmatter(content) {
|
|
65
|
-
// Tolerate a leading BOM/whitespace before the opening fence.
|
|
66
|
-
const match = content.match(/^?\s*---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);
|
|
67
|
-
if (!match)
|
|
68
|
-
return { frontmatter: '', body: content };
|
|
69
|
-
return { frontmatter: match[1] ?? '', body: match[2] ?? '' };
|
|
70
|
-
}
|
|
71
|
-
/** A deliberately small YAML subset: top-level `key: value` and one nested map. */
|
|
72
|
-
function parseSimpleYaml(text) {
|
|
73
|
-
const out = {};
|
|
74
|
-
const lines = text.split(/\r?\n/);
|
|
75
|
-
let nestedKey = null;
|
|
76
|
-
let nested = null;
|
|
77
|
-
for (const raw of lines) {
|
|
78
|
-
if (!raw.trim() || raw.trim().startsWith('#'))
|
|
79
|
-
continue;
|
|
80
|
-
const indented = /^\s+/.test(raw);
|
|
81
|
-
const colon = raw.indexOf(':');
|
|
82
|
-
if (colon === -1)
|
|
83
|
-
continue;
|
|
84
|
-
const key = raw.slice(0, colon).trim();
|
|
85
|
-
const value = raw.slice(colon + 1).trim();
|
|
86
|
-
if (indented && nested) {
|
|
87
|
-
nested[key] = parseScalarOrArray(value);
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
if (value === '') {
|
|
91
|
-
// Opens a nested map (e.g. `appliesTo:`).
|
|
92
|
-
nestedKey = key;
|
|
93
|
-
nested = {};
|
|
94
|
-
out[key] = nested;
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
nestedKey = null;
|
|
98
|
-
nested = null;
|
|
99
|
-
out[key] = parseScalarOrArray(value);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
void nestedKey;
|
|
103
|
-
return out;
|
|
104
|
-
}
|
|
105
|
-
function parseScalarOrArray(value) {
|
|
106
|
-
const inline = value.match(/^\[(.*)\]$/);
|
|
107
|
-
if (inline) {
|
|
108
|
-
return inline[1]
|
|
109
|
-
.split(',')
|
|
110
|
-
.map((s) => unquote(s.trim()))
|
|
111
|
-
.filter((s) => s.length > 0);
|
|
112
|
-
}
|
|
113
|
-
return unquote(value);
|
|
114
|
-
}
|
|
115
|
-
function unquote(s) {
|
|
116
|
-
if ((s.startsWith('"') && s.endsWith('"')) || (s.startsWith("'") && s.endsWith("'"))) {
|
|
117
|
-
return s.slice(1, -1);
|
|
118
|
-
}
|
|
119
|
-
return s;
|
|
120
|
-
}
|
|
121
|
-
function str(value) {
|
|
122
|
-
return typeof value === 'string' && value.trim() !== '' ? value.trim() : undefined;
|
|
123
|
-
}
|
|
124
|
-
function strArray(value) {
|
|
125
|
-
if (Array.isArray(value))
|
|
126
|
-
return value.map((v) => String(v).trim()).filter(Boolean);
|
|
127
|
-
const single = str(value);
|
|
128
|
-
return single ? [single] : [];
|
|
129
|
-
}
|
|
130
65
|
function parseAppliesTo(value) {
|
|
131
66
|
if (!value || typeof value !== 'object')
|
|
132
67
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-source.logic.js","sourceRoot":"","sources":["../../src/fragmentLibrary/fragment-source.logic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fragment-source.logic.js","sourceRoot":"","sources":["../../src/fragmentLibrary/fragment-source.logic.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ export { PR_REVIEWER_KIND, PR_REVIEWER_AGENT_KINDS, PR_REVIEWER_SYSTEM_PROMPT, p
|
|
|
37
37
|
export { FORK_CHAT_AGENT_KIND, FORK_CHAT_SYSTEM_PROMPT, type ForkChatGrounding, renderForkChatPrompt, } from './agents/prompts/fork-decision.js';
|
|
38
38
|
export { ENVIRONMENT_ANALYST_KIND, ENVIRONMENT_ANALYST_AGENT_KINDS, environmentRecipeDraft, type EnvironmentRecipeDraft, registerEnvironmentAnalystAgent, } from './agents/kinds/environment-analyst.js';
|
|
39
39
|
export { REPRO_TEST_KIND, REPRO_TEST_AGENT_KINDS, reproTestOutcome, type ReproTestOutcome, registerReproTestAgent, BUG_FIX_GUIDANCE, bugFixGuidanceFor, } from './agents/kinds/repro-test.js';
|
|
40
|
+
export { RALPH_AGENT_KIND, RALPH_AGENT_KINDS, RALPH_VALIDATION_COMMAND_CONFIG_ID, RALPH_MAX_ITERATIONS_CONFIG_ID, RALPH_DEFAULT_MAX_ITERATIONS, ralphConfigContributions, registerRalphAgent, } from './agents/kinds/ralph.js';
|
|
40
41
|
export { MOCK_AGENT_KIND, isMockKind, mockSystemPrompt } from './agents/prompts/mock.js';
|
|
41
42
|
export { type BusinessLogicAgentKind, BUSINESS_LOGIC_AGENT_KINDS, BUSINESS_DOCUMENTER_KIND, BUSINESS_REVIEWER_KIND, BUSINESS_LOGIC_DOCS_DIR, isBusinessLogicKind, businessLogicSystemPrompt, } from './agents/prompts/business-logic.js';
|
|
42
43
|
export { PLATFORM_DELIVERY_CONTRACT } from './agents/prompts/delivery-contract.js';
|
|
@@ -52,4 +53,8 @@ export { DeterministicFragmentSelector } from './fragmentLibrary/DeterministicFr
|
|
|
52
53
|
export { LlmFragmentSelector, type LlmFragmentSelectorDependencies, } from './fragmentLibrary/LlmFragmentSelector.js';
|
|
53
54
|
export { type ResolvedCatalogEntry, mergeCatalog, toSelectable, entryToFragment, selectDeterministic, } from './fragmentLibrary/fragment-catalog.js';
|
|
54
55
|
export * as fragmentSourceLogic from './fragmentLibrary/fragment-source.logic.js';
|
|
56
|
+
export { SkillSourceService, type SkillSourceServiceDependencies, type ResolveSkillInstallationId, } from './skillLibrary/SkillSourceService.js';
|
|
57
|
+
export { SkillCatalogService, type SkillCatalogServiceDependencies, } from './skillLibrary/SkillCatalogService.js';
|
|
58
|
+
export * as skillSourceLogic from './skillLibrary/skill-source.logic.js';
|
|
59
|
+
export { syncRepoSource, probeRepoSourceStatus, normalizeDirPath, type RepoSourceCoords, type RepoSourceSyncOutcome, type RepoSourceStatus, type ReconcileContext, type ReconcileResult, type SyncRepoSourceParams, } from './repoSourceSync/repo-source-sync.js';
|
|
55
60
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -93,6 +93,7 @@ export { PR_REVIEWER_KIND, PR_REVIEWER_AGENT_KINDS, PR_REVIEWER_SYSTEM_PROMPT, p
|
|
|
93
93
|
export { FORK_CHAT_AGENT_KIND, FORK_CHAT_SYSTEM_PROMPT, renderForkChatPrompt, } from './agents/prompts/fork-decision.js';
|
|
94
94
|
export { ENVIRONMENT_ANALYST_KIND, ENVIRONMENT_ANALYST_AGENT_KINDS, environmentRecipeDraft, registerEnvironmentAnalystAgent, } from './agents/kinds/environment-analyst.js';
|
|
95
95
|
export { REPRO_TEST_KIND, REPRO_TEST_AGENT_KINDS, reproTestOutcome, registerReproTestAgent, BUG_FIX_GUIDANCE, bugFixGuidanceFor, } from './agents/kinds/repro-test.js';
|
|
96
|
+
export { RALPH_AGENT_KIND, RALPH_AGENT_KINDS, RALPH_VALIDATION_COMMAND_CONFIG_ID, RALPH_MAX_ITERATIONS_CONFIG_ID, RALPH_DEFAULT_MAX_ITERATIONS, ralphConfigContributions, registerRalphAgent, } from './agents/kinds/ralph.js';
|
|
96
97
|
export { MOCK_AGENT_KIND, isMockKind, mockSystemPrompt } from './agents/prompts/mock.js';
|
|
97
98
|
export { BUSINESS_LOGIC_AGENT_KINDS, BUSINESS_DOCUMENTER_KIND, BUSINESS_REVIEWER_KIND, BUSINESS_LOGIC_DOCS_DIR, isBusinessLogicKind, businessLogicSystemPrompt, } from './agents/prompts/business-logic.js';
|
|
98
99
|
export { PLATFORM_DELIVERY_CONTRACT } from './agents/prompts/delivery-contract.js';
|
|
@@ -125,4 +126,9 @@ export { DeterministicFragmentSelector } from './fragmentLibrary/DeterministicFr
|
|
|
125
126
|
export { LlmFragmentSelector, } from './fragmentLibrary/LlmFragmentSelector.js';
|
|
126
127
|
export { mergeCatalog, toSelectable, entryToFragment, selectDeterministic, } from './fragmentLibrary/fragment-catalog.js';
|
|
127
128
|
export * as fragmentSourceLogic from './fragmentLibrary/fragment-source.logic.js';
|
|
129
|
+
// ---- repo-sourced Claude Skills library (docs/initiatives/repo-skills.md) ----
|
|
130
|
+
export { SkillSourceService, } from './skillLibrary/SkillSourceService.js';
|
|
131
|
+
export { SkillCatalogService, } from './skillLibrary/SkillCatalogService.js';
|
|
132
|
+
export * as skillSourceLogic from './skillLibrary/skill-source.logic.js';
|
|
133
|
+
export { syncRepoSource, probeRepoSourceStatus, normalizeDirPath, } from './repoSourceSync/repo-source-sync.js';
|
|
128
134
|
//# sourceMappingURL=index.js.map
|