@winspan/claude-forge 8.13.1 → 8.16.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/definition.d.ts +53 -0
- package/dist/agents/definition.d.ts.map +1 -0
- package/dist/agents/definition.js +24 -0
- package/dist/agents/definition.js.map +1 -0
- package/dist/agents/distributor.d.ts +23 -0
- package/dist/agents/distributor.d.ts.map +1 -0
- package/dist/agents/distributor.js +85 -0
- package/dist/agents/distributor.js.map +1 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/official-agents.d.ts +14 -0
- package/dist/agents/official-agents.d.ts.map +1 -0
- package/dist/agents/official-agents.js +510 -0
- package/dist/agents/official-agents.js.map +1 -0
- package/dist/agents/registry.d.ts +27 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +105 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +17 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/menu.js +183 -0
- package/dist/cli/commands/menu.js.map +1 -1
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/constants.js.map +1 -1
- package/dist/core/storage/schema.sql +60 -0
- package/dist/core/storage/sqlite.d.ts +73 -0
- package/dist/core/storage/sqlite.d.ts.map +1 -1
- package/dist/core/storage/sqlite.js +159 -0
- package/dist/core/storage/sqlite.js.map +1 -1
- package/dist/daemon/auto-disable-scheduler.d.ts +53 -0
- package/dist/daemon/auto-disable-scheduler.d.ts.map +1 -0
- package/dist/daemon/auto-disable-scheduler.js +114 -0
- package/dist/daemon/auto-disable-scheduler.js.map +1 -0
- package/dist/daemon/handlers/post-tool-use.d.ts +3 -1
- package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use.js +14 -2
- package/dist/daemon/handlers/post-tool-use.js.map +1 -1
- package/dist/daemon/handlers/stop.d.ts +3 -1
- package/dist/daemon/handlers/stop.d.ts.map +1 -1
- package/dist/daemon/handlers/stop.js +14 -1
- package/dist/daemon/handlers/stop.js.map +1 -1
- package/dist/daemon/handlers/user-prompt.d.ts +18 -7
- package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt.js +97 -23
- package/dist/daemon/handlers/user-prompt.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +53 -18
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/routing-observer.d.ts +39 -0
- package/dist/daemon/routing-observer.d.ts.map +1 -0
- package/dist/daemon/routing-observer.js +156 -0
- package/dist/daemon/routing-observer.js.map +1 -0
- package/dist/engine/agent-router.d.ts +99 -0
- package/dist/engine/agent-router.d.ts.map +1 -0
- package/dist/engine/agent-router.js +206 -0
- package/dist/engine/agent-router.js.map +1 -0
- package/dist/engine/conventions/routing.yaml +84 -0
- package/dist/engine/dsl/parser.d.ts +6 -0
- package/dist/engine/dsl/parser.d.ts.map +1 -1
- package/dist/engine/dsl/parser.js +19 -0
- package/dist/engine/dsl/parser.js.map +1 -1
- package/dist/engine/evidence-store.d.ts.map +1 -1
- package/dist/engine/evidence-store.js +3 -0
- package/dist/engine/evidence-store.js.map +1 -1
- package/dist/engine/experiment-router.d.ts +102 -0
- package/dist/engine/experiment-router.d.ts.map +1 -0
- package/dist/engine/experiment-router.js +289 -0
- package/dist/engine/experiment-router.js.map +1 -0
- package/dist/engine/recommender.d.ts +52 -0
- package/dist/engine/recommender.d.ts.map +1 -0
- package/dist/engine/recommender.js +150 -0
- package/dist/engine/recommender.js.map +1 -0
- package/dist/intelligence/classifier.d.ts +19 -5
- package/dist/intelligence/classifier.d.ts.map +1 -1
- package/dist/intelligence/classifier.js +98 -20
- package/dist/intelligence/classifier.js.map +1 -1
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +5 -2
- package/dist/skills/registry.js.map +1 -1
- package/dist/web/server.d.ts +4 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +551 -0
- package/dist/web/server.js.map +1 -1
- package/dist/web/static/index.html +940 -77
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent definition types
|
|
3
|
+
*
|
|
4
|
+
* Agents are distinct from skills: agents are invocable units (called via
|
|
5
|
+
* Claude's Task tool with subagent_type) while skills are methodology
|
|
6
|
+
* recommendations injected as systemMessage.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Agent category drives routing and UI grouping.
|
|
10
|
+
*/
|
|
11
|
+
export type AgentCategory = 'core' | 'pipeline' | 'specialist' | 'quality' | 'research' | 'documentation' | 'workflow' | 'supplementary';
|
|
12
|
+
/**
|
|
13
|
+
* Source layer of an agent (resolution order: project > user > preset > builtin)
|
|
14
|
+
*/
|
|
15
|
+
export type AgentSource = 'builtin' | 'user' | 'project' | 'preset';
|
|
16
|
+
export interface AgentDefinition {
|
|
17
|
+
/** Unique slug, used as subagent_type */
|
|
18
|
+
name: string;
|
|
19
|
+
/** One-line description, written to frontmatter */
|
|
20
|
+
description: string;
|
|
21
|
+
/** Category for routing/grouping */
|
|
22
|
+
category: AgentCategory;
|
|
23
|
+
/** Semver; bump on content change to allow `cf agents sync` */
|
|
24
|
+
version: string;
|
|
25
|
+
/** Claude Code tool allowlist (joined into frontmatter `tools` field) */
|
|
26
|
+
tools: string[];
|
|
27
|
+
/** Suggested model slug (sonnet/opus/haiku); optional */
|
|
28
|
+
model?: string;
|
|
29
|
+
/** Full markdown body that lands in ~/.claude/agents/<name>.md */
|
|
30
|
+
content: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Runtime record loaded by AgentRegistry (definition + source + filesystem path).
|
|
34
|
+
*/
|
|
35
|
+
export interface AgentRecord {
|
|
36
|
+
name: string;
|
|
37
|
+
description: string;
|
|
38
|
+
category: AgentCategory;
|
|
39
|
+
version: string;
|
|
40
|
+
tools: string[];
|
|
41
|
+
model?: string;
|
|
42
|
+
content: string;
|
|
43
|
+
source: AgentSource;
|
|
44
|
+
/** Absolute path if loaded from disk, '<builtin>' for embedded */
|
|
45
|
+
path: string;
|
|
46
|
+
/** Preset package name if source === 'preset' */
|
|
47
|
+
owner?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Serialize agent to the markdown+frontmatter format Claude Code expects.
|
|
51
|
+
*/
|
|
52
|
+
export declare function renderAgentMarkdown(def: AgentDefinition): string;
|
|
53
|
+
//# sourceMappingURL=definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/agents/definition.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,UAAU,GACV,YAAY,GACZ,SAAS,GACT,UAAU,GACV,eAAe,GACf,UAAU,GACV,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,EAAE,aAAa,CAAC;IACxB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAWhE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent definition types
|
|
3
|
+
*
|
|
4
|
+
* Agents are distinct from skills: agents are invocable units (called via
|
|
5
|
+
* Claude's Task tool with subagent_type) while skills are methodology
|
|
6
|
+
* recommendations injected as systemMessage.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Serialize agent to the markdown+frontmatter format Claude Code expects.
|
|
10
|
+
*/
|
|
11
|
+
export function renderAgentMarkdown(def) {
|
|
12
|
+
const fm = [
|
|
13
|
+
'---',
|
|
14
|
+
`name: ${def.name}`,
|
|
15
|
+
`description: ${JSON.stringify(def.description)}`,
|
|
16
|
+
`version: ${def.version}`,
|
|
17
|
+
`tools: ${def.tools.join(', ')}`,
|
|
18
|
+
];
|
|
19
|
+
if (def.model)
|
|
20
|
+
fm.push(`model: ${def.model}`);
|
|
21
|
+
fm.push('---', '');
|
|
22
|
+
return fm.join('\n') + def.content.trimStart();
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/agents/definition.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuDH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAoB;IACtD,MAAM,EAAE,GAAa;QACnB,KAAK;QACL,SAAS,GAAG,CAAC,IAAI,EAAE;QACnB,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACjD,YAAY,GAAG,CAAC,OAAO,EAAE;QACzB,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KACjC,CAAC;IACF,IAAI,GAAG,CAAC,KAAK;QAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentDistributor — writes official agents to ~/.claude/agents/ on `cf init`
|
|
3
|
+
* and updates via `cf agents sync`.
|
|
4
|
+
*
|
|
5
|
+
* Conflict policy (aligns with §8.5):
|
|
6
|
+
* - Unmodified (hash matches last installed) → overwrite
|
|
7
|
+
* - Modified by user → skip with warning, backup to ~/.claude-forge/backups/
|
|
8
|
+
* - New file → write
|
|
9
|
+
*/
|
|
10
|
+
export interface InstallReport {
|
|
11
|
+
written: string[];
|
|
12
|
+
skipped: string[];
|
|
13
|
+
backedUp: string[];
|
|
14
|
+
}
|
|
15
|
+
export declare function installOfficialAgents(opts?: {
|
|
16
|
+
force?: boolean;
|
|
17
|
+
}): InstallReport;
|
|
18
|
+
/**
|
|
19
|
+
* Hash of a locally stored agent file, used by `cf agents list` to mark
|
|
20
|
+
* "modified by user" entries.
|
|
21
|
+
*/
|
|
22
|
+
export declare function localAgentHash(name: string): string | null;
|
|
23
|
+
//# sourceMappingURL=distributor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distributor.d.ts","sourceRoot":"","sources":["../../src/agents/distributor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA4BD,wBAAgB,qBAAqB,CAAC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,aAAa,CAwCnF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI1D"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentDistributor — writes official agents to ~/.claude/agents/ on `cf init`
|
|
3
|
+
* and updates via `cf agents sync`.
|
|
4
|
+
*
|
|
5
|
+
* Conflict policy (aligns with §8.5):
|
|
6
|
+
* - Unmodified (hash matches last installed) → overwrite
|
|
7
|
+
* - Modified by user → skip with warning, backup to ~/.claude-forge/backups/
|
|
8
|
+
* - New file → write
|
|
9
|
+
*/
|
|
10
|
+
import fs from 'node:fs';
|
|
11
|
+
import path from 'node:path';
|
|
12
|
+
import crypto from 'node:crypto';
|
|
13
|
+
import { homedir } from 'node:os';
|
|
14
|
+
import matter from 'gray-matter';
|
|
15
|
+
import { logger } from '../core/utils/logger.js';
|
|
16
|
+
import { OFFICIAL_AGENTS } from './official-agents.js';
|
|
17
|
+
import { renderAgentMarkdown } from './definition.js';
|
|
18
|
+
const USER_AGENTS_DIR = path.join(homedir(), '.claude', 'agents');
|
|
19
|
+
const BACKUP_ROOT = path.join(homedir(), '.claude-forge', 'backups', 'agents');
|
|
20
|
+
function sha256(s) {
|
|
21
|
+
return crypto.createHash('sha256').update(s).digest('hex');
|
|
22
|
+
}
|
|
23
|
+
function ensureDir(dir) {
|
|
24
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
25
|
+
}
|
|
26
|
+
function readFrontmatterVersion(filePath) {
|
|
27
|
+
try {
|
|
28
|
+
const raw = fs.readFileSync(filePath, 'utf-8');
|
|
29
|
+
const v = matter(raw).data?.version;
|
|
30
|
+
return typeof v === 'string' ? v : null;
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function backup(filePath) {
|
|
37
|
+
const ts = new Date().toISOString().replace(/[:.]/g, '-');
|
|
38
|
+
const dest = path.join(BACKUP_ROOT, ts, path.basename(filePath));
|
|
39
|
+
ensureDir(path.dirname(dest));
|
|
40
|
+
fs.copyFileSync(filePath, dest);
|
|
41
|
+
return dest;
|
|
42
|
+
}
|
|
43
|
+
export function installOfficialAgents(opts = {}) {
|
|
44
|
+
ensureDir(USER_AGENTS_DIR);
|
|
45
|
+
const report = { written: [], skipped: [], backedUp: [] };
|
|
46
|
+
for (const def of OFFICIAL_AGENTS) {
|
|
47
|
+
const target = path.join(USER_AGENTS_DIR, `${def.name}.md`);
|
|
48
|
+
const next = renderAgentMarkdown(def);
|
|
49
|
+
if (!fs.existsSync(target)) {
|
|
50
|
+
fs.writeFileSync(target, next, 'utf-8');
|
|
51
|
+
report.written.push(def.name);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
const current = fs.readFileSync(target, 'utf-8');
|
|
55
|
+
if (current === next) {
|
|
56
|
+
report.skipped.push(def.name);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
const existingVersion = readFrontmatterVersion(target);
|
|
60
|
+
const isOlderVersion = existingVersion && existingVersion !== def.version;
|
|
61
|
+
if (opts.force || isOlderVersion) {
|
|
62
|
+
const backupPath = backup(target);
|
|
63
|
+
fs.writeFileSync(target, next, 'utf-8');
|
|
64
|
+
report.written.push(def.name);
|
|
65
|
+
report.backedUp.push(backupPath);
|
|
66
|
+
logger.info(`[AgentDistributor] Updated ${def.name} (backup at ${backupPath})`);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
report.skipped.push(def.name);
|
|
70
|
+
logger.info(`[AgentDistributor] Skipped ${def.name}: local version differs, use --force to overwrite`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return report;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Hash of a locally stored agent file, used by `cf agents list` to mark
|
|
77
|
+
* "modified by user" entries.
|
|
78
|
+
*/
|
|
79
|
+
export function localAgentHash(name) {
|
|
80
|
+
const p = path.join(USER_AGENTS_DIR, `${name}.md`);
|
|
81
|
+
if (!fs.existsSync(p))
|
|
82
|
+
return null;
|
|
83
|
+
return sha256(fs.readFileSync(p, 'utf-8'));
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=distributor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distributor.js","sourceRoot":"","sources":["../../src/agents/distributor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agents/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in official agents for claude-forge.
|
|
3
|
+
*
|
|
4
|
+
* Phase 1 ships `planner` and `coder` to validate the routing pipeline
|
|
5
|
+
* without the extra variables introduced by pipeline-type agents that spawn
|
|
6
|
+
* downstream Tasks. Subsequent phases fill in the remaining 10 agents.
|
|
7
|
+
*/
|
|
8
|
+
import type { AgentDefinition } from './definition.js';
|
|
9
|
+
export declare const OFFICIAL_AGENTS: AgentDefinition[];
|
|
10
|
+
/**
|
|
11
|
+
* Lookup helper used by the routing layer.
|
|
12
|
+
*/
|
|
13
|
+
export declare function findOfficialAgent(name: string): AgentDefinition | undefined;
|
|
14
|
+
//# sourceMappingURL=official-agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"official-agents.d.ts","sourceRoot":"","sources":["../../src/agents/official-agents.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA4ZvD,eAAO,MAAM,eAAe,EAAE,eAAe,EAiG5C,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE3E"}
|