pi-continuous-learning 0.6.0 → 0.7.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/README.md +78 -0
- package/dist/agents-md.d.ts +23 -2
- package/dist/agents-md.d.ts.map +1 -1
- package/dist/agents-md.js +58 -3
- package/dist/agents-md.js.map +1 -1
- package/dist/cli/analyze-single-shot.d.ts +8 -2
- package/dist/cli/analyze-single-shot.d.ts.map +1 -1
- package/dist/cli/analyze-single-shot.js +25 -3
- package/dist/cli/analyze-single-shot.js.map +1 -1
- package/dist/cli/analyze.js +20 -8
- package/dist/cli/analyze.js.map +1 -1
- package/dist/command-scaffold.d.ts +25 -0
- package/dist/command-scaffold.d.ts.map +1 -0
- package/dist/command-scaffold.js +77 -0
- package/dist/command-scaffold.js.map +1 -0
- package/dist/confidence.d.ts.map +1 -1
- package/dist/confidence.js +2 -1
- package/dist/confidence.js.map +1 -1
- package/dist/config.d.ts +16 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +31 -0
- package/dist/config.js.map +1 -1
- package/dist/graduation.d.ts +63 -0
- package/dist/graduation.d.ts.map +1 -0
- package/dist/graduation.js +155 -0
- package/dist/graduation.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/instinct-cleanup.d.ts +57 -0
- package/dist/instinct-cleanup.d.ts.map +1 -0
- package/dist/instinct-cleanup.js +150 -0
- package/dist/instinct-cleanup.js.map +1 -0
- package/dist/instinct-graduate.d.ts +43 -0
- package/dist/instinct-graduate.d.ts.map +1 -0
- package/dist/instinct-graduate.js +253 -0
- package/dist/instinct-graduate.js.map +1 -0
- package/dist/instinct-parser.d.ts.map +1 -1
- package/dist/instinct-parser.js +12 -0
- package/dist/instinct-parser.js.map +1 -1
- package/dist/instinct-tools.d.ts.map +1 -1
- package/dist/instinct-tools.js +19 -0
- package/dist/instinct-tools.js.map +1 -1
- package/dist/instinct-validator.d.ts +61 -0
- package/dist/instinct-validator.d.ts.map +1 -0
- package/dist/instinct-validator.js +235 -0
- package/dist/instinct-validator.js.map +1 -0
- package/dist/prompts/analyzer-system-single-shot.d.ts.map +1 -1
- package/dist/prompts/analyzer-system-single-shot.js +41 -1
- package/dist/prompts/analyzer-system-single-shot.js.map +1 -1
- package/dist/prompts/analyzer-user-single-shot.d.ts.map +1 -1
- package/dist/prompts/analyzer-user-single-shot.js +1 -1
- package/dist/prompts/analyzer-user-single-shot.js.map +1 -1
- package/dist/skill-scaffold.d.ts +23 -0
- package/dist/skill-scaffold.d.ts.map +1 -0
- package/dist/skill-scaffold.js +62 -0
- package/dist/skill-scaffold.js.map +1 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/agents-md.ts +73 -3
- package/src/cli/analyze-single-shot.ts +33 -3
- package/src/cli/analyze.ts +19 -8
- package/src/command-scaffold.ts +105 -0
- package/src/confidence.ts +2 -1
- package/src/config.ts +40 -0
- package/src/graduation.ts +243 -0
- package/src/index.ts +14 -0
- package/src/instinct-cleanup.ts +204 -0
- package/src/instinct-graduate.ts +377 -0
- package/src/instinct-parser.ts +12 -0
- package/src/instinct-tools.ts +26 -0
- package/src/instinct-validator.ts +287 -0
- package/src/prompts/analyzer-system-single-shot.ts +41 -1
- package/src/prompts/analyzer-user-single-shot.ts +6 -0
- package/src/skill-scaffold.ts +90 -0
- package/src/types.ts +10 -0
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* /instinct-graduate command for pi-continuous-learning.
|
|
3
|
+
*
|
|
4
|
+
* Scans instincts for graduation candidates, presents proposals to the user,
|
|
5
|
+
* and writes to AGENTS.md / scaffolds skills / scaffolds commands on approval.
|
|
6
|
+
* Also enforces TTL - culling or decaying stale instincts.
|
|
7
|
+
*/
|
|
8
|
+
import { join } from "node:path";
|
|
9
|
+
import { homedir } from "node:os";
|
|
10
|
+
import { unlinkSync } from "node:fs";
|
|
11
|
+
import { writeFileSync, mkdirSync } from "node:fs";
|
|
12
|
+
import { getBaseDir, getProjectInstinctsDir, getGlobalInstinctsDir } from "./storage.js";
|
|
13
|
+
import { loadProjectInstincts, loadGlobalInstincts, saveInstinct } from "./instinct-store.js";
|
|
14
|
+
import { readAgentsMd, appendToAgentsMd } from "./agents-md.js";
|
|
15
|
+
import { findAgentsMdCandidates, findSkillCandidates, findCommandCandidates, enforceTtl, markGraduated, } from "./graduation.js";
|
|
16
|
+
import { generateSkillScaffold } from "./skill-scaffold.js";
|
|
17
|
+
import { generateCommandScaffold } from "./command-scaffold.js";
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
// Constants
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
export const COMMAND_NAME = "instinct-graduate";
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// Prompt building
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
function formatAgentsMdCandidates(candidates) {
|
|
26
|
+
if (candidates.length === 0)
|
|
27
|
+
return "";
|
|
28
|
+
const lines = [
|
|
29
|
+
"## AGENTS.md Graduation Candidates",
|
|
30
|
+
"",
|
|
31
|
+
`Found ${candidates.length} instinct${candidates.length !== 1 ? "s" : ""} ready for AGENTS.md:`,
|
|
32
|
+
"",
|
|
33
|
+
];
|
|
34
|
+
for (const candidate of candidates) {
|
|
35
|
+
const inst = candidate.instinct;
|
|
36
|
+
lines.push(`- **${inst.id}** - "${inst.title}" (${inst.confidence.toFixed(2)} confidence, ${inst.confirmed_count} confirmations)`, ` Trigger: ${inst.trigger}`, ` ${candidate.reason}`, "");
|
|
37
|
+
}
|
|
38
|
+
return lines.join("\n");
|
|
39
|
+
}
|
|
40
|
+
function formatSkillClusters(clusters) {
|
|
41
|
+
if (clusters.length === 0)
|
|
42
|
+
return "";
|
|
43
|
+
const lines = [
|
|
44
|
+
"## Skill Scaffold Candidates",
|
|
45
|
+
"",
|
|
46
|
+
`Found ${clusters.length} domain cluster${clusters.length !== 1 ? "s" : ""} that could become skills:`,
|
|
47
|
+
"",
|
|
48
|
+
];
|
|
49
|
+
for (const cluster of clusters) {
|
|
50
|
+
lines.push(`- **${cluster.domain}** domain (${cluster.instincts.length} instincts):`, ...cluster.instincts.map((i) => ` - ${i.id}: "${i.title}"`), "");
|
|
51
|
+
}
|
|
52
|
+
return lines.join("\n");
|
|
53
|
+
}
|
|
54
|
+
function formatCommandClusters(clusters) {
|
|
55
|
+
if (clusters.length === 0)
|
|
56
|
+
return "";
|
|
57
|
+
// Filter out clusters already covered by skill candidates (same domain)
|
|
58
|
+
const lines = [
|
|
59
|
+
"## Command Scaffold Candidates",
|
|
60
|
+
"",
|
|
61
|
+
`Found ${clusters.length} domain cluster${clusters.length !== 1 ? "s" : ""} that could become commands:`,
|
|
62
|
+
"",
|
|
63
|
+
];
|
|
64
|
+
for (const cluster of clusters) {
|
|
65
|
+
lines.push(`- **/${cluster.domain}** command (${cluster.instincts.length} instincts):`, ...cluster.instincts.map((i) => ` - ${i.id}: "${i.title}"`), "");
|
|
66
|
+
}
|
|
67
|
+
return lines.join("\n");
|
|
68
|
+
}
|
|
69
|
+
function formatTtlResults(ttl) {
|
|
70
|
+
if (ttl.toCull.length === 0 && ttl.toDecay.length === 0)
|
|
71
|
+
return "";
|
|
72
|
+
const lines = ["## TTL Enforcement", ""];
|
|
73
|
+
if (ttl.toCull.length > 0) {
|
|
74
|
+
lines.push(`${ttl.toCull.length} instinct${ttl.toCull.length !== 1 ? "s" : ""} exceeded TTL with low confidence (will be deleted):`, "");
|
|
75
|
+
for (const inst of ttl.toCull) {
|
|
76
|
+
lines.push(`- ${inst.id}: "${inst.title}" (${inst.confidence.toFixed(2)})`);
|
|
77
|
+
}
|
|
78
|
+
lines.push("");
|
|
79
|
+
}
|
|
80
|
+
if (ttl.toDecay.length > 0) {
|
|
81
|
+
lines.push(`${ttl.toDecay.length} instinct${ttl.toDecay.length !== 1 ? "s" : ""} exceeded TTL but still have moderate confidence (will be aggressively decayed):`, "");
|
|
82
|
+
for (const inst of ttl.toDecay) {
|
|
83
|
+
lines.push(`- ${inst.id}: "${inst.title}" (${inst.confidence.toFixed(2)})`);
|
|
84
|
+
}
|
|
85
|
+
lines.push("");
|
|
86
|
+
}
|
|
87
|
+
return lines.join("\n");
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Builds the full graduation prompt to send to the LLM for user-facing review.
|
|
91
|
+
*/
|
|
92
|
+
export function buildGraduationPrompt(agentsMdCandidates, skillClusters, commandClusters, ttl) {
|
|
93
|
+
const sections = [
|
|
94
|
+
"I've analyzed your instincts for graduation readiness. Here's what I found:",
|
|
95
|
+
"",
|
|
96
|
+
formatAgentsMdCandidates(agentsMdCandidates),
|
|
97
|
+
formatSkillClusters(skillClusters),
|
|
98
|
+
formatCommandClusters(commandClusters),
|
|
99
|
+
formatTtlResults(ttl),
|
|
100
|
+
"## Next Steps",
|
|
101
|
+
"",
|
|
102
|
+
"For each category above, I can:",
|
|
103
|
+
"1. **Graduate to AGENTS.md** - Write approved instincts as permanent guidelines",
|
|
104
|
+
"2. **Scaffold a skill** - Generate a SKILL.md for a domain cluster",
|
|
105
|
+
"3. **Scaffold a command** - Generate a slash command for a workflow cluster",
|
|
106
|
+
"4. **Enforce TTL** - Delete or decay stale instincts",
|
|
107
|
+
"",
|
|
108
|
+
"Tell me which actions you'd like me to take. I'll use the instinct tools to execute.",
|
|
109
|
+
"You can approve all, pick specific instincts, or skip any category.",
|
|
110
|
+
].filter((s) => s.length > 0);
|
|
111
|
+
return sections.join("\n");
|
|
112
|
+
}
|
|
113
|
+
// ---------------------------------------------------------------------------
|
|
114
|
+
// Action helpers (called by LLM via tools, or directly)
|
|
115
|
+
// ---------------------------------------------------------------------------
|
|
116
|
+
/**
|
|
117
|
+
* Resolves the instinct directory for a given instinct.
|
|
118
|
+
*/
|
|
119
|
+
function getInstinctDir(instinct, baseDir) {
|
|
120
|
+
if (instinct.scope === "project" && instinct.project_id) {
|
|
121
|
+
return getProjectInstinctsDir(instinct.project_id, "personal", baseDir);
|
|
122
|
+
}
|
|
123
|
+
return getGlobalInstinctsDir("personal", baseDir);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Graduates instincts to AGENTS.md. Writes entries and marks instincts as graduated.
|
|
127
|
+
*/
|
|
128
|
+
export function graduateToAgentsMd(instincts, agentsMdPath, baseDir) {
|
|
129
|
+
if (instincts.length === 0)
|
|
130
|
+
return [];
|
|
131
|
+
appendToAgentsMd(agentsMdPath, instincts);
|
|
132
|
+
const graduated = [];
|
|
133
|
+
for (const instinct of instincts) {
|
|
134
|
+
const updated = markGraduated(instinct, "agents-md");
|
|
135
|
+
const dir = getInstinctDir(instinct, baseDir);
|
|
136
|
+
saveInstinct(updated, dir);
|
|
137
|
+
graduated.push(updated);
|
|
138
|
+
}
|
|
139
|
+
return graduated;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Graduates instincts to a skill scaffold. Writes SKILL.md and marks instincts.
|
|
143
|
+
*/
|
|
144
|
+
export function graduateToSkill(cluster, outputDir, baseDir) {
|
|
145
|
+
const scaffold = generateSkillScaffold(cluster);
|
|
146
|
+
mkdirSync(outputDir, { recursive: true });
|
|
147
|
+
writeFileSync(join(outputDir, "SKILL.md"), scaffold.content, "utf-8");
|
|
148
|
+
for (const instinct of cluster.instincts) {
|
|
149
|
+
const updated = markGraduated(instinct, "skill");
|
|
150
|
+
const dir = getInstinctDir(instinct, baseDir);
|
|
151
|
+
saveInstinct(updated, dir);
|
|
152
|
+
}
|
|
153
|
+
return scaffold;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Graduates instincts to a command scaffold. Writes command doc and marks instincts.
|
|
157
|
+
*/
|
|
158
|
+
export function graduateToCommand(cluster, outputDir, baseDir) {
|
|
159
|
+
const scaffold = generateCommandScaffold(cluster);
|
|
160
|
+
mkdirSync(outputDir, { recursive: true });
|
|
161
|
+
writeFileSync(join(outputDir, `${scaffold.name}-command.md`), scaffold.content, "utf-8");
|
|
162
|
+
for (const instinct of cluster.instincts) {
|
|
163
|
+
const updated = markGraduated(instinct, "command");
|
|
164
|
+
const dir = getInstinctDir(instinct, baseDir);
|
|
165
|
+
saveInstinct(updated, dir);
|
|
166
|
+
}
|
|
167
|
+
return scaffold;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Deletes TTL-expired instincts from disk.
|
|
171
|
+
*/
|
|
172
|
+
export function cullExpiredInstincts(instincts, baseDir) {
|
|
173
|
+
let deleted = 0;
|
|
174
|
+
for (const instinct of instincts) {
|
|
175
|
+
const dir = getInstinctDir(instinct, baseDir);
|
|
176
|
+
const filePath = join(dir, `${instinct.id}.md`);
|
|
177
|
+
try {
|
|
178
|
+
unlinkSync(filePath);
|
|
179
|
+
deleted++;
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
// File may already be gone
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return deleted;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Aggressively decays TTL-expired instincts by halving their confidence.
|
|
189
|
+
*/
|
|
190
|
+
export function decayExpiredInstincts(instincts, baseDir) {
|
|
191
|
+
let decayed = 0;
|
|
192
|
+
for (const instinct of instincts) {
|
|
193
|
+
const updated = {
|
|
194
|
+
...instinct,
|
|
195
|
+
confidence: Math.max(0.1, instinct.confidence * 0.5),
|
|
196
|
+
updated_at: new Date().toISOString(),
|
|
197
|
+
flagged_for_removal: true,
|
|
198
|
+
};
|
|
199
|
+
const dir = getInstinctDir(instinct, baseDir);
|
|
200
|
+
saveInstinct(updated, dir);
|
|
201
|
+
decayed++;
|
|
202
|
+
}
|
|
203
|
+
return decayed;
|
|
204
|
+
}
|
|
205
|
+
// ---------------------------------------------------------------------------
|
|
206
|
+
// handleInstinctGraduate
|
|
207
|
+
// ---------------------------------------------------------------------------
|
|
208
|
+
/**
|
|
209
|
+
* Command handler for /instinct-graduate.
|
|
210
|
+
* Scans for graduation candidates and sends a prompt for user review.
|
|
211
|
+
*/
|
|
212
|
+
export async function handleInstinctGraduate(_args, ctx, pi, projectId, baseDir, projectRoot) {
|
|
213
|
+
const effectiveBase = baseDir ?? getBaseDir();
|
|
214
|
+
// Load all instincts
|
|
215
|
+
const projectInstincts = projectId
|
|
216
|
+
? loadProjectInstincts(projectId, effectiveBase)
|
|
217
|
+
: [];
|
|
218
|
+
const globalInstincts = loadGlobalInstincts(effectiveBase);
|
|
219
|
+
const allInstincts = [...projectInstincts, ...globalInstincts];
|
|
220
|
+
if (allInstincts.length === 0) {
|
|
221
|
+
ctx.ui.notify("No instincts to analyze. Keep using pi to accumulate instincts first.", "info");
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
// Read AGENTS.md for dedup
|
|
225
|
+
const agentsMdProject = projectRoot != null ? readAgentsMd(join(projectRoot, "AGENTS.md")) : null;
|
|
226
|
+
const agentsMdGlobal = readAgentsMd(join(homedir(), ".pi", "agent", "AGENTS.md"));
|
|
227
|
+
const combinedAgentsMd = [agentsMdProject, agentsMdGlobal]
|
|
228
|
+
.filter(Boolean)
|
|
229
|
+
.join("\n");
|
|
230
|
+
// Find candidates
|
|
231
|
+
const agentsMdCandidates = findAgentsMdCandidates(allInstincts, combinedAgentsMd.length > 0 ? combinedAgentsMd : null);
|
|
232
|
+
// Find clusters for skills and commands
|
|
233
|
+
// Only consider non-graduated, non-flagged instincts
|
|
234
|
+
const activeInstincts = allInstincts.filter((i) => i.graduated_to === undefined && !i.flagged_for_removal);
|
|
235
|
+
const skillClusters = findSkillCandidates(activeInstincts);
|
|
236
|
+
const commandClusters = findCommandCandidates(activeInstincts);
|
|
237
|
+
// Enforce TTL
|
|
238
|
+
const ttl = enforceTtl(allInstincts);
|
|
239
|
+
// Check if there's anything to report
|
|
240
|
+
const hasWork = agentsMdCandidates.length > 0 ||
|
|
241
|
+
skillClusters.length > 0 ||
|
|
242
|
+
commandClusters.length > 0 ||
|
|
243
|
+
ttl.toCull.length > 0 ||
|
|
244
|
+
ttl.toDecay.length > 0;
|
|
245
|
+
if (!hasWork) {
|
|
246
|
+
ctx.ui.notify("No instincts are ready for graduation and no TTL violations found. " +
|
|
247
|
+
"Instincts need >= 7 days age, >= 0.75 confidence, and >= 3 confirmations.", "info");
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
const prompt = buildGraduationPrompt(agentsMdCandidates, skillClusters, commandClusters, ttl);
|
|
251
|
+
pi.sendUserMessage(prompt, { deliverAs: "followUp" });
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=instinct-graduate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instinct-graduate.js","sourceRoot":"","sources":["../src/instinct-graduate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instinct-parser.d.ts","sourceRoot":"","sources":["../src/instinct-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAyD3C;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"instinct-parser.d.ts","sourceRoot":"","sources":["../src/instinct-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAyD3C;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAyDvD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAwC5D"}
|
package/dist/instinct-parser.js
CHANGED
|
@@ -102,6 +102,12 @@ export function parseInstinct(content) {
|
|
|
102
102
|
if (fm["flagged_for_removal"] !== undefined && fm["flagged_for_removal"] !== null) {
|
|
103
103
|
instinct.flagged_for_removal = Boolean(fm["flagged_for_removal"]);
|
|
104
104
|
}
|
|
105
|
+
if (fm["graduated_to"] !== undefined && fm["graduated_to"] !== null) {
|
|
106
|
+
instinct.graduated_to = String(fm["graduated_to"]);
|
|
107
|
+
}
|
|
108
|
+
if (fm["graduated_at"] !== undefined && fm["graduated_at"] !== null) {
|
|
109
|
+
instinct.graduated_at = String(fm["graduated_at"]);
|
|
110
|
+
}
|
|
105
111
|
return instinct;
|
|
106
112
|
}
|
|
107
113
|
/**
|
|
@@ -137,6 +143,12 @@ export function serializeInstinct(instinct) {
|
|
|
137
143
|
if (instinct.flagged_for_removal !== undefined) {
|
|
138
144
|
frontmatter["flagged_for_removal"] = instinct.flagged_for_removal;
|
|
139
145
|
}
|
|
146
|
+
if (instinct.graduated_to !== undefined) {
|
|
147
|
+
frontmatter["graduated_to"] = instinct.graduated_to;
|
|
148
|
+
}
|
|
149
|
+
if (instinct.graduated_at !== undefined) {
|
|
150
|
+
frontmatter["graduated_at"] = instinct.graduated_at;
|
|
151
|
+
}
|
|
140
152
|
const yamlStr = stringifyYaml(frontmatter);
|
|
141
153
|
return `---\n${yamlStr}---\n\n${instinct.action}\n`;
|
|
142
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instinct-parser.js","sourceRoot":"","sources":["../src/instinct-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAGtE,YAAY;AACZ,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAC5C,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,MAAM,eAAe,GAAG;IACtB,IAAI;IACJ,OAAO;IACP,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,gBAAgB;CACR,CAAC;AAEX,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,wBAAwB,EAAE,mEAAmE,CAC9F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IAIvC,gDAAgD;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC3E,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE3D,MAAM,EAAE,GAAG,SAAS,CAAC,cAAc,CAA4B,CAAC;IAEhE,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,kDAAkD,KAAK,IAAI,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,CAAC;IAEpB,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAa;QACzB,EAAE;QACF,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,EAAE,IAAI;QACZ,UAAU;QACV,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC5B,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAuB;QAC1C,KAAK,EAAE,EAAE,CAAC,OAAO,CAAsB;QACvC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACpC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAClD,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAC9C,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;QACpD,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;KAC7C,CAAC;IAEF,IAAI,EAAE,CAAC,YAAY,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;QAChE,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,EAAE,CAAC,cAAc,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;QACpE,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,QAAQ,GAAI,EAAE,CAAC,UAAU,CAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,EAAE,CAAC,qBAAqB,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,qBAAqB,CAAC,KAAK,IAAI,EAAE,CAAC;QAClF,QAAQ,CAAC,mBAAmB,GAAG,OAAO,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAkB;IAClD,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAExD,MAAM,WAAW,GAA4B;QAC3C,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,UAAU;QACV,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,cAAc,EAAE,QAAQ,CAAC,cAAc;KACxC,CAAC;IAEF,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,WAAW,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;IAClD,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACxC,WAAW,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;IACtD,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,WAAW,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC9C,CAAC;IACD,IAAI,QAAQ,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC/C,WAAW,CAAC,qBAAqB,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC;IACpE,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3C,OAAO,QAAQ,OAAO,UAAU,QAAQ,CAAC,MAAM,IAAI,CAAC;AACtD,CAAC"}
|
|
1
|
+
{"version":3,"file":"instinct-parser.js","sourceRoot":"","sources":["../src/instinct-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instinct-tools.d.ts","sourceRoot":"","sources":["../src/instinct-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAItD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"instinct-tools.d.ts","sourceRoot":"","sources":["../src/instinct-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAItD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA4C3C,QAAA,MAAM,UAAU;;;EAGd,CAAC;AAEH,QAAA,MAAM,UAAU;;EAEd,CAAC;AAEH,QAAA,MAAM,WAAW;;;;;;;;;;;;;EAaf,CAAC;AAEH,QAAA,MAAM,YAAY;;;EAKhB,CAAC;AAEH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;EAmBf,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAE5D,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;yBASC,MAAM,UACX,kBAAkB,WACjB,WAAW,GAAG,SAAS,aACrB,OAAO,QACZ,OAAO;;;;;;;;;;EA+DlB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,CAAC,EAAE,MAAM;;;;;;;;yBASC,MAAM,UACX,iBAAiB,WAChB,WAAW,GAAG,SAAS,aACrB,OAAO,QACZ,OAAO;;;;;;;EAalB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,CAAC,EAAE,MAAM;;;;;;;;;yBASC,MAAM,UACX,iBAAiB,WAChB,WAAW,GAAG,SAAS,aACrB,OAAO,QACZ,OAAO;;;;;;;;;EAiClB;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,CAAC,EAAE,MAAM;;;;;;;;;yBASC,MAAM,UACX,mBAAmB,WAClB,WAAW,GAAG,SAAS,aACrB,OAAO,QACZ,OAAO;;;;;;;;;;EA6BlB;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;yBASC,MAAM,UACX,kBAAkB,WACjB,WAAW,GAAG,SAAS,aACrB,OAAO,QACZ,OAAO;;;;;;;;;;EA2DlB;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,YAAY,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAUN"}
|
package/dist/instinct-tools.js
CHANGED
|
@@ -4,6 +4,7 @@ import { unlinkSync, existsSync } from "node:fs";
|
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { loadProjectInstincts, loadGlobalInstincts, saveInstinct, loadInstinct, } from "./instinct-store.js";
|
|
6
6
|
import { getProjectInstinctsDir, getGlobalInstinctsDir, } from "./storage.js";
|
|
7
|
+
import { validateInstinct, findSimilarInstinct } from "./instinct-validator.js";
|
|
7
8
|
function getInstinctsDir(scope, projectId, baseDir) {
|
|
8
9
|
if (scope === "project") {
|
|
9
10
|
return projectId ? getProjectInstinctsDir(projectId, "personal", baseDir) : null;
|
|
@@ -78,10 +79,28 @@ export function createInstinctWriteTool(projectId, projectName, baseDir) {
|
|
|
78
79
|
promptSnippet: "Create or update a learned behavior instinct (trigger + action pattern)",
|
|
79
80
|
parameters: WriteParams,
|
|
80
81
|
async execute(_toolCallId, params, _signal, _onUpdate, _ctx) {
|
|
82
|
+
const validation = validateInstinct({
|
|
83
|
+
action: params.action,
|
|
84
|
+
trigger: params.trigger,
|
|
85
|
+
domain: params.domain,
|
|
86
|
+
});
|
|
87
|
+
if (!validation.valid) {
|
|
88
|
+
throw new Error(`Invalid instinct: ${validation.reason}`);
|
|
89
|
+
}
|
|
81
90
|
const dir = getInstinctsDir(params.scope, projectId, baseDir);
|
|
82
91
|
if (!dir) {
|
|
83
92
|
throw new Error("Cannot write project-scoped instinct: no project detected");
|
|
84
93
|
}
|
|
94
|
+
// Dedup check: reject if semantically similar to an existing instinct
|
|
95
|
+
const allInstincts = [
|
|
96
|
+
...(projectId ? loadProjectInstincts(projectId, baseDir) : []),
|
|
97
|
+
...loadGlobalInstincts(baseDir),
|
|
98
|
+
];
|
|
99
|
+
const similar = findSimilarInstinct({ trigger: params.trigger, action: params.action }, allInstincts, params.id // skip self on updates
|
|
100
|
+
);
|
|
101
|
+
if (similar) {
|
|
102
|
+
throw new Error(`Similar instinct already exists: "${similar.instinct.id}" (similarity: ${(similar.similarity * 100).toFixed(0)}%). Update that instinct instead of creating a duplicate.`);
|
|
103
|
+
}
|
|
85
104
|
const now = new Date().toISOString();
|
|
86
105
|
const existing = findInstinctFile(params.id, projectId, baseDir);
|
|
87
106
|
const instinct = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instinct-tools.js","sourceRoot":"","sources":["../src/instinct-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instinct-tools.js","sourceRoot":"","sources":["../src/instinct-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Instinct validation and semantic deduplication.
|
|
3
|
+
* Rejects instincts with empty, undefined, nonsense, or low-quality fields,
|
|
4
|
+
* and detects near-duplicate instincts via Jaccard similarity.
|
|
5
|
+
*/
|
|
6
|
+
import type { Instinct } from "./types.js";
|
|
7
|
+
export declare const KNOWN_DOMAINS: Set<string>;
|
|
8
|
+
/** Common imperative verbs expected at the start of an instinct action. */
|
|
9
|
+
export declare const KNOWN_VERBS: Set<string>;
|
|
10
|
+
export interface ValidationResult {
|
|
11
|
+
valid: boolean;
|
|
12
|
+
reason?: string;
|
|
13
|
+
/** Non-fatal warnings that indicate lower-quality instincts. */
|
|
14
|
+
warnings?: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Validates that an instinct's fields meet quality requirements.
|
|
18
|
+
*
|
|
19
|
+
* Rules:
|
|
20
|
+
* - action and trigger must be non-empty, non-null, non-"undefined", and >= 10 chars
|
|
21
|
+
* - action first word should be a known imperative verb (warning if not)
|
|
22
|
+
* - domain, if provided, must be in KNOWN_DOMAINS (with "other" as escape hatch)
|
|
23
|
+
*
|
|
24
|
+
* Returns { valid: true } or { valid: false, reason: "..." }.
|
|
25
|
+
* Non-fatal issues are reported in the optional `warnings` array.
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateInstinct(fields: {
|
|
28
|
+
action: unknown;
|
|
29
|
+
trigger: unknown;
|
|
30
|
+
domain?: unknown;
|
|
31
|
+
}): ValidationResult;
|
|
32
|
+
/**
|
|
33
|
+
* Tokenizes text into a set of meaningful lowercase words.
|
|
34
|
+
* Splits on non-alphanumeric characters and filters stop words and short tokens.
|
|
35
|
+
*/
|
|
36
|
+
export declare function tokenize(text: string): Set<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Computes Jaccard similarity between two token sets.
|
|
39
|
+
* Returns 1.0 for two empty sets, 0.0 if one is empty.
|
|
40
|
+
*/
|
|
41
|
+
export declare function jaccardSimilarity(a: Set<string>, b: Set<string>): number;
|
|
42
|
+
export interface SimilarityMatch {
|
|
43
|
+
instinct: Instinct;
|
|
44
|
+
similarity: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Checks whether a candidate instinct is semantically similar to any existing instinct.
|
|
48
|
+
*
|
|
49
|
+
* Tokenizes trigger+action for both candidate and each existing instinct,
|
|
50
|
+
* computes Jaccard similarity, and returns the closest match above the threshold.
|
|
51
|
+
*
|
|
52
|
+
* @param candidate - The new instinct being considered (trigger + action)
|
|
53
|
+
* @param existing - All current instincts to check against
|
|
54
|
+
* @param skipId - ID to skip (the candidate's own ID on updates)
|
|
55
|
+
* @param threshold - Similarity threshold; default 0.6
|
|
56
|
+
*/
|
|
57
|
+
export declare function findSimilarInstinct(candidate: {
|
|
58
|
+
trigger: string;
|
|
59
|
+
action: string;
|
|
60
|
+
}, existing: Instinct[], skipId?: string, threshold?: number): SimilarityMatch | null;
|
|
61
|
+
//# sourceMappingURL=instinct-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instinct-validator.d.ts","sourceRoot":"","sources":["../src/instinct-validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAS3C,eAAO,MAAM,aAAa,aAqBxB,CAAC;AAMH,2EAA2E;AAC3E,eAAO,MAAM,WAAW,aAwEtB,CAAC;AAMH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AA2BD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,gBAAgB,CAiCnB;AAeD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAOlD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAWxE;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC9C,QAAQ,EAAE,QAAQ,EAAE,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,SAAM,GACd,eAAe,GAAG,IAAI,CAmBxB"}
|