iranti 0.2.33 → 0.2.36
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/scripts/claude-code-memory-hook.js +140 -53
- package/dist/scripts/iranti-cli.js +4 -3
- package/dist/scripts/iranti-mcp.js +13 -2
- package/dist/src/api/server.js +1 -1
- package/dist/src/lib/autoRemember.d.ts +51 -0
- package/dist/src/lib/autoRemember.d.ts.map +1 -0
- package/dist/src/lib/autoRemember.js +239 -0
- package/dist/src/lib/autoRemember.js.map +1 -0
- package/dist/src/lib/cliHelpCatalog.js +1 -1
- package/dist/src/lib/cliHelpCatalog.js.map +1 -1
- package/dist/src/lib/commandErrors.d.ts.map +1 -1
- package/dist/src/lib/commandErrors.js +12 -0
- package/dist/src/lib/commandErrors.js.map +1 -1
- package/dist/src/lib/runtimeEnv.d.ts.map +1 -1
- package/dist/src/lib/runtimeEnv.js +1 -0
- package/dist/src/lib/runtimeEnv.js.map +1 -1
- package/package.json +3 -2
|
@@ -3,10 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildHookAdditionalContext = buildHookAdditionalContext;
|
|
6
7
|
require("dotenv/config");
|
|
7
8
|
const path_1 = __importDefault(require("path"));
|
|
8
9
|
const sdk_1 = require("../src/sdk");
|
|
9
10
|
const runtimeEnv_1 = require("../src/lib/runtimeEnv");
|
|
11
|
+
const autoRemember_1 = require("../src/lib/autoRemember");
|
|
10
12
|
const MEMORY_NEED_POSITIVE_PATTERNS = [
|
|
11
13
|
/\bwhat(?:'s| is| was)?\s+my\b/i,
|
|
12
14
|
/\bdo you remember\b/i,
|
|
@@ -28,6 +30,7 @@ function printHelp() {
|
|
|
28
30
|
'Usage:',
|
|
29
31
|
' ts-node scripts/claude-code-memory-hook.ts --event SessionStart',
|
|
30
32
|
' ts-node scripts/claude-code-memory-hook.ts --event UserPromptSubmit',
|
|
33
|
+
' ts-node scripts/claude-code-memory-hook.ts --event Stop',
|
|
31
34
|
'',
|
|
32
35
|
'Optional flags:',
|
|
33
36
|
' --project-env <path> Explicit .env.iranti path',
|
|
@@ -35,6 +38,8 @@ function printHelp() {
|
|
|
35
38
|
' --env-file <path> Explicit base .env path',
|
|
36
39
|
'',
|
|
37
40
|
'Reads Claude Code hook JSON from stdin and returns hookSpecificOutput.additionalContext on stdout.',
|
|
41
|
+
'This helper retrieves working memory; durable KB writes still require explicit iranti_write/ingest calls.',
|
|
42
|
+
'Set IRANTI_AUTO_REMEMBER=true to auto-save only narrow explicit prompt facts into IRANTI_MEMORY_ENTITY.',
|
|
38
43
|
].join('\n'));
|
|
39
44
|
}
|
|
40
45
|
function parseArgs(argv) {
|
|
@@ -144,6 +149,71 @@ function getPrompt(payload) {
|
|
|
144
149
|
}
|
|
145
150
|
return '';
|
|
146
151
|
}
|
|
152
|
+
function getLastAssistantMessage(payload) {
|
|
153
|
+
const candidates = [
|
|
154
|
+
payload.last_assistant_message,
|
|
155
|
+
payload.lastAssistantMessage,
|
|
156
|
+
payload.response,
|
|
157
|
+
payload.text,
|
|
158
|
+
];
|
|
159
|
+
for (const candidate of candidates) {
|
|
160
|
+
if (typeof candidate === 'string' && candidate.trim()) {
|
|
161
|
+
return candidate.trim();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return '';
|
|
165
|
+
}
|
|
166
|
+
function getRecentMessages(payload) {
|
|
167
|
+
const candidates = [
|
|
168
|
+
payload.recentMessages,
|
|
169
|
+
payload.messages,
|
|
170
|
+
payload.history,
|
|
171
|
+
payload.transcript,
|
|
172
|
+
];
|
|
173
|
+
for (const candidate of candidates) {
|
|
174
|
+
if (!Array.isArray(candidate))
|
|
175
|
+
continue;
|
|
176
|
+
const normalized = candidate
|
|
177
|
+
.flatMap((entry) => {
|
|
178
|
+
if (typeof entry === 'string' && entry.trim()) {
|
|
179
|
+
return [entry.trim()];
|
|
180
|
+
}
|
|
181
|
+
if (entry && typeof entry === 'object') {
|
|
182
|
+
const content = entry.content;
|
|
183
|
+
if (typeof content === 'string' && content.trim()) {
|
|
184
|
+
const role = typeof entry.role === 'string'
|
|
185
|
+
? String(entry.role).trim()
|
|
186
|
+
: '';
|
|
187
|
+
return [role ? `${role}: ${content.trim()}` : content.trim()];
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return [];
|
|
191
|
+
})
|
|
192
|
+
.slice(-12);
|
|
193
|
+
if (normalized.length > 0) {
|
|
194
|
+
return normalized;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return [];
|
|
198
|
+
}
|
|
199
|
+
function buildSessionTask(payload) {
|
|
200
|
+
const explicit = process.env.IRANTI_CLAUDE_SESSION_TASK?.trim();
|
|
201
|
+
if (explicit)
|
|
202
|
+
return explicit;
|
|
203
|
+
const payloadTask = typeof payload.task === 'string' && payload.task.trim().length > 0
|
|
204
|
+
? payload.task.trim()
|
|
205
|
+
: null;
|
|
206
|
+
if (payloadTask)
|
|
207
|
+
return payloadTask;
|
|
208
|
+
return `Claude Code session for ${path_1.default.basename(getCwd(payload)) || 'project'}`;
|
|
209
|
+
}
|
|
210
|
+
function buildCurrentContext(payload, prompt) {
|
|
211
|
+
const recentMessages = getRecentMessages(payload);
|
|
212
|
+
if (recentMessages.length === 0) {
|
|
213
|
+
return prompt;
|
|
214
|
+
}
|
|
215
|
+
return [...recentMessages, `user: ${prompt}`].join('\n');
|
|
216
|
+
}
|
|
147
217
|
function getMaxFacts() {
|
|
148
218
|
const raw = Number(process.env.IRANTI_CLAUDE_MAX_FACTS ?? 6);
|
|
149
219
|
if (!Number.isFinite(raw) || raw < 1)
|
|
@@ -210,15 +280,8 @@ function dedupeFacts(facts) {
|
|
|
210
280
|
.sort((a, b) => b.confidence - a.confidence || a.entity.localeCompare(b.entity) || a.key.localeCompare(b.key))
|
|
211
281
|
.slice(0, getMaxFacts());
|
|
212
282
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
if (!state.found || !state.value || typeof state.value !== 'object') {
|
|
216
|
-
return [];
|
|
217
|
-
}
|
|
218
|
-
const workingMemory = Array.isArray(state.value.workingMemory)
|
|
219
|
-
? state.value.workingMemory
|
|
220
|
-
: [];
|
|
221
|
-
return workingMemory.flatMap((entry) => {
|
|
283
|
+
function workingMemoryToFacts(entries) {
|
|
284
|
+
return entries.flatMap((entry) => {
|
|
222
285
|
const entityKey = typeof entry.entityKey === 'string' ? entry.entityKey.trim() : '';
|
|
223
286
|
const summary = typeof entry.summary === 'string' ? entry.summary.trim() : '';
|
|
224
287
|
if (!entityKey || !summary)
|
|
@@ -254,25 +317,62 @@ async function loadEntityFacts(iranti, entities) {
|
|
|
254
317
|
}
|
|
255
318
|
return out;
|
|
256
319
|
}
|
|
257
|
-
async function
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
const
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
320
|
+
async function buildHookAdditionalContext(options) {
|
|
321
|
+
const { iranti, event, payload } = options;
|
|
322
|
+
const cwd = getCwd(payload);
|
|
323
|
+
const agent = await ensureHookAgent(iranti, payload);
|
|
324
|
+
const entityHints = getEntityHints(payload);
|
|
325
|
+
if (event === 'SessionStart') {
|
|
326
|
+
const brief = await iranti.handshake({
|
|
327
|
+
agent,
|
|
328
|
+
task: buildSessionTask(payload),
|
|
329
|
+
recentMessages: getRecentMessages(payload),
|
|
330
|
+
});
|
|
331
|
+
const briefFacts = workingMemoryToFacts(brief.workingMemory);
|
|
332
|
+
const directFacts = briefFacts.length > 0
|
|
333
|
+
? briefFacts
|
|
334
|
+
: await loadEntityFacts(iranti, entityHints);
|
|
335
|
+
return formatSessionContext(dedupeFacts(directFacts), cwd);
|
|
336
|
+
}
|
|
337
|
+
if (event === 'Stop') {
|
|
338
|
+
const response = getLastAssistantMessage(payload);
|
|
339
|
+
if (response && (0, autoRemember_1.isAutoRememberEnabled)()) {
|
|
340
|
+
await (0, autoRemember_1.autoRememberAssistantFacts)({
|
|
341
|
+
iranti,
|
|
342
|
+
response,
|
|
343
|
+
agent,
|
|
344
|
+
source: 'ClaudeCodeHookStop',
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
return '';
|
|
274
348
|
}
|
|
275
|
-
|
|
349
|
+
const prompt = getPrompt(payload);
|
|
350
|
+
if (!prompt || !shouldFetchMemory(prompt)) {
|
|
351
|
+
return '';
|
|
352
|
+
}
|
|
353
|
+
if ((0, autoRemember_1.isAutoRememberEnabled)()) {
|
|
354
|
+
await (0, autoRemember_1.autoRememberPromptFacts)({
|
|
355
|
+
iranti,
|
|
356
|
+
prompt,
|
|
357
|
+
agent,
|
|
358
|
+
source: 'ClaudeCodeHook',
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
const attend = await iranti.attend({
|
|
362
|
+
agent,
|
|
363
|
+
latestMessage: prompt,
|
|
364
|
+
currentContext: buildCurrentContext(payload, prompt),
|
|
365
|
+
entityHints,
|
|
366
|
+
maxFacts: getMaxFacts(),
|
|
367
|
+
});
|
|
368
|
+
const facts = attend.facts.map((fact) => ({
|
|
369
|
+
entity: fact.entityKey.split('/').slice(0, 2).join('/'),
|
|
370
|
+
key: fact.entityKey.split('/').slice(2).join('/'),
|
|
371
|
+
summary: fact.summary,
|
|
372
|
+
confidence: fact.confidence,
|
|
373
|
+
source: fact.source,
|
|
374
|
+
})).filter((fact) => fact.entity.includes('/') && fact.key.length > 0);
|
|
375
|
+
return formatPromptContext(dedupeFacts(facts));
|
|
276
376
|
}
|
|
277
377
|
async function main() {
|
|
278
378
|
if (process.argv.includes('--help') || process.argv.includes('-h')) {
|
|
@@ -281,8 +381,8 @@ async function main() {
|
|
|
281
381
|
}
|
|
282
382
|
const args = parseArgs(process.argv.slice(2));
|
|
283
383
|
const event = args.event;
|
|
284
|
-
if (event !== 'SessionStart' && event !== 'UserPromptSubmit') {
|
|
285
|
-
throw new Error('--event must be SessionStart or
|
|
384
|
+
if (event !== 'SessionStart' && event !== 'UserPromptSubmit' && event !== 'Stop') {
|
|
385
|
+
throw new Error('--event must be SessionStart, UserPromptSubmit, or Stop');
|
|
286
386
|
}
|
|
287
387
|
const payload = parsePayload(await readStdin());
|
|
288
388
|
(0, runtimeEnv_1.loadRuntimeEnv)({
|
|
@@ -291,38 +391,25 @@ async function main() {
|
|
|
291
391
|
instanceEnvFile: args['instance-env'],
|
|
292
392
|
explicitEnvFile: args['env-file'],
|
|
293
393
|
});
|
|
294
|
-
const cwd = getCwd(payload);
|
|
295
394
|
const iranti = new sdk_1.Iranti({
|
|
296
395
|
connectionString: requireConnectionString(),
|
|
297
396
|
llmProvider: process.env.LLM_PROVIDER,
|
|
298
397
|
});
|
|
299
|
-
const
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
? persistedFacts
|
|
305
|
-
: await loadEntityFacts(iranti, entityHints);
|
|
306
|
-
emitHookContext(event, formatSessionContext(dedupeFacts(directFacts), cwd));
|
|
307
|
-
process.exit(0);
|
|
308
|
-
}
|
|
309
|
-
const prompt = getPrompt(payload);
|
|
310
|
-
if (!prompt) {
|
|
311
|
-
process.exit(0);
|
|
312
|
-
}
|
|
313
|
-
if (!shouldFetchMemory(prompt)) {
|
|
314
|
-
process.exit(0);
|
|
315
|
-
}
|
|
316
|
-
const facts = await searchPromptFacts(iranti, prompt, entityHints);
|
|
317
|
-
const context = formatPromptContext(dedupeFacts(facts));
|
|
398
|
+
const context = await buildHookAdditionalContext({
|
|
399
|
+
iranti,
|
|
400
|
+
event,
|
|
401
|
+
payload,
|
|
402
|
+
});
|
|
318
403
|
if (!context) {
|
|
319
404
|
process.exit(0);
|
|
320
405
|
}
|
|
321
406
|
emitHookContext(event, context);
|
|
322
407
|
process.exit(0);
|
|
323
408
|
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
409
|
+
if (require.main === module) {
|
|
410
|
+
main().catch((error) => {
|
|
411
|
+
console.error('[claude-code-memory-hook] fatal:', error instanceof Error ? error.message : String(error));
|
|
412
|
+
process.exit(1);
|
|
413
|
+
});
|
|
414
|
+
}
|
|
328
415
|
//# sourceMappingURL=claude-code-memory-hook.js.map
|
|
@@ -1538,7 +1538,7 @@ function needsClaudeHookSettingsUpgrade(value) {
|
|
|
1538
1538
|
if (!hooks) {
|
|
1539
1539
|
return false;
|
|
1540
1540
|
}
|
|
1541
|
-
for (const event of ['SessionStart', 'UserPromptSubmit']) {
|
|
1541
|
+
for (const event of ['SessionStart', 'UserPromptSubmit', 'Stop']) {
|
|
1542
1542
|
const entries = hooks[event];
|
|
1543
1543
|
if (!Array.isArray(entries) || entries.length === 0) {
|
|
1544
1544
|
continue;
|
|
@@ -1559,6 +1559,7 @@ function makeClaudeHookSettings(projectEnvPath, existing) {
|
|
|
1559
1559
|
...existingHooks,
|
|
1560
1560
|
SessionStart: [makeClaudeHookEntry('SessionStart', projectEnvPath)],
|
|
1561
1561
|
UserPromptSubmit: [makeClaudeHookEntry('UserPromptSubmit', projectEnvPath)],
|
|
1562
|
+
Stop: [makeClaudeHookEntry('Stop', projectEnvPath)],
|
|
1562
1563
|
},
|
|
1563
1564
|
};
|
|
1564
1565
|
}
|
|
@@ -3363,7 +3364,7 @@ function removeIrantiClaudeHooksFromValue(value) {
|
|
|
3363
3364
|
if (!hooks)
|
|
3364
3365
|
return value;
|
|
3365
3366
|
const nextHooks = { ...hooks };
|
|
3366
|
-
for (const event of ['SessionStart', 'UserPromptSubmit']) {
|
|
3367
|
+
for (const event of ['SessionStart', 'UserPromptSubmit', 'Stop']) {
|
|
3367
3368
|
const entries = hooks[event];
|
|
3368
3369
|
if (!Array.isArray(entries))
|
|
3369
3370
|
continue;
|
|
@@ -5721,7 +5722,7 @@ function hasIrantiClaudeHookSettings(value) {
|
|
|
5721
5722
|
const hooks = isClaudeHooksObject(record.hooks) ? record.hooks : null;
|
|
5722
5723
|
if (!hooks)
|
|
5723
5724
|
return false;
|
|
5724
|
-
for (const event of ['SessionStart', 'UserPromptSubmit']) {
|
|
5725
|
+
for (const event of ['SessionStart', 'UserPromptSubmit', 'Stop']) {
|
|
5725
5726
|
const entries = hooks[event];
|
|
5726
5727
|
if (!Array.isArray(entries))
|
|
5727
5728
|
continue;
|
|
@@ -39,6 +39,7 @@ const z = __importStar(require("zod/v4"));
|
|
|
39
39
|
const sdk_1 = require("../src/sdk");
|
|
40
40
|
const commandErrors_1 = require("../src/lib/commandErrors");
|
|
41
41
|
const runtimeEnv_1 = require("../src/lib/runtimeEnv");
|
|
42
|
+
const autoRemember_1 = require("../src/lib/autoRemember");
|
|
42
43
|
(0, runtimeEnv_1.loadRuntimeEnv)();
|
|
43
44
|
function printHelp() {
|
|
44
45
|
console.log([
|
|
@@ -58,6 +59,7 @@ function printHelp() {
|
|
|
58
59
|
' IRANTI_MCP_AGENT_DESCRIPTION Default agent description',
|
|
59
60
|
' IRANTI_MCP_AGENT_MODEL Default agent model label',
|
|
60
61
|
' IRANTI_MCP_DEFAULT_SOURCE Default write source (default: ClaudeCode)',
|
|
62
|
+
' IRANTI_AUTO_REMEMBER Opt-in explicit prompt auto-save to IRANTI_MEMORY_ENTITY before attend()',
|
|
61
63
|
'',
|
|
62
64
|
'This server is intended for Claude Code and other MCP clients over stdio.',
|
|
63
65
|
].join('\n'));
|
|
@@ -145,7 +147,7 @@ async function main() {
|
|
|
145
147
|
await ensureDefaultAgent(iranti);
|
|
146
148
|
const server = new mcp_js_1.McpServer({
|
|
147
149
|
name: 'iranti-mcp',
|
|
148
|
-
version: '0.2.
|
|
150
|
+
version: '0.2.36',
|
|
149
151
|
});
|
|
150
152
|
server.registerTool('iranti_handshake', {
|
|
151
153
|
description: `Initialize or refresh an agent's working-memory brief for the current task.
|
|
@@ -181,8 +183,17 @@ full visible context when available.`,
|
|
|
181
183
|
agent: z.string().optional().describe('Override the default agent id.'),
|
|
182
184
|
},
|
|
183
185
|
}, async ({ latestMessage, currentContext, entityHints, maxFacts, forceInject, agent }) => {
|
|
186
|
+
const resolvedAgent = withDefaultAgent(agent);
|
|
187
|
+
if ((0, autoRemember_1.isAutoRememberEnabled)()) {
|
|
188
|
+
await (0, autoRemember_1.autoRememberPromptFacts)({
|
|
189
|
+
iranti,
|
|
190
|
+
prompt: latestMessage,
|
|
191
|
+
agent: resolvedAgent,
|
|
192
|
+
source: defaultWriteSource(),
|
|
193
|
+
});
|
|
194
|
+
}
|
|
184
195
|
const result = await iranti.attend({
|
|
185
|
-
agent:
|
|
196
|
+
agent: resolvedAgent,
|
|
186
197
|
latestMessage,
|
|
187
198
|
currentContext: currentContext ?? latestMessage,
|
|
188
199
|
entityHints,
|
package/dist/src/api/server.js
CHANGED
|
@@ -39,7 +39,7 @@ const RUNTIME_AUTHORITY = (0, runtimeLifecycle_1.resolveRuntimeAuthorityFromEnv)
|
|
|
39
39
|
const INSTANCE_DIR = RUNTIME_AUTHORITY.instanceDir;
|
|
40
40
|
const INSTANCE_RUNTIME_FILE = RUNTIME_AUTHORITY.runtimeFile;
|
|
41
41
|
const INSTANCE_NAME = process.env.IRANTI_INSTANCE_NAME?.trim() || (INSTANCE_DIR ? path_1.default.basename(INSTANCE_DIR) : 'adhoc');
|
|
42
|
-
const VERSION = '0.2.
|
|
42
|
+
const VERSION = '0.2.36';
|
|
43
43
|
const PORT_RAW = (process.env.IRANTI_PORT ?? '3001').trim();
|
|
44
44
|
const PORT = Number.parseInt(PORT_RAW, 10);
|
|
45
45
|
const runtimeMetadataHealth = {
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
type IrantiQueryClient = {
|
|
2
|
+
query(entity: string, key: string): Promise<{
|
|
3
|
+
found: boolean;
|
|
4
|
+
value?: unknown;
|
|
5
|
+
}>;
|
|
6
|
+
write(input: {
|
|
7
|
+
entity: string;
|
|
8
|
+
key: string;
|
|
9
|
+
value: unknown;
|
|
10
|
+
summary: string;
|
|
11
|
+
confidence: number;
|
|
12
|
+
source: string;
|
|
13
|
+
agent: string;
|
|
14
|
+
}): Promise<unknown>;
|
|
15
|
+
};
|
|
16
|
+
type ExtractedMemoryFact = {
|
|
17
|
+
key: string;
|
|
18
|
+
value: unknown;
|
|
19
|
+
summary: string;
|
|
20
|
+
};
|
|
21
|
+
type AutoRememberResult = {
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
entity?: string;
|
|
24
|
+
extracted: number;
|
|
25
|
+
written: number;
|
|
26
|
+
skipped: Array<{
|
|
27
|
+
key: string;
|
|
28
|
+
reason: string;
|
|
29
|
+
}>;
|
|
30
|
+
};
|
|
31
|
+
export declare function isAutoRememberEnabled(): boolean;
|
|
32
|
+
export declare function extractExplicitPromptMemory(prompt: string): ExtractedMemoryFact[];
|
|
33
|
+
export declare function extractExplicitAssistantMemory(response: string): ExtractedMemoryFact[];
|
|
34
|
+
export declare function autoRememberPromptFacts(params: {
|
|
35
|
+
iranti: IrantiQueryClient;
|
|
36
|
+
prompt: string;
|
|
37
|
+
agent: string;
|
|
38
|
+
source: string;
|
|
39
|
+
entity?: string | null;
|
|
40
|
+
confidence?: number;
|
|
41
|
+
}): Promise<AutoRememberResult>;
|
|
42
|
+
export declare function autoRememberAssistantFacts(params: {
|
|
43
|
+
iranti: IrantiQueryClient;
|
|
44
|
+
response: string;
|
|
45
|
+
agent: string;
|
|
46
|
+
source: string;
|
|
47
|
+
entity?: string | null;
|
|
48
|
+
confidence?: number;
|
|
49
|
+
}): Promise<AutoRememberResult>;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=autoRemember.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoRemember.d.ts","sourceRoot":"","sources":["../../../src/lib/autoRemember.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG;IACrB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACjF,KAAK,CAAC,KAAK,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD,CAAC;AA+BF,wBAAgB,qBAAqB,IAAI,OAAO,CAG/C;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAsEjF;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,EAAE,CA4DtF;AAUD,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IAClD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiD9B;AAED,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACrD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiD9B"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isAutoRememberEnabled = isAutoRememberEnabled;
|
|
4
|
+
exports.extractExplicitPromptMemory = extractExplicitPromptMemory;
|
|
5
|
+
exports.extractExplicitAssistantMemory = extractExplicitAssistantMemory;
|
|
6
|
+
exports.autoRememberPromptFacts = autoRememberPromptFacts;
|
|
7
|
+
exports.autoRememberAssistantFacts = autoRememberAssistantFacts;
|
|
8
|
+
function normalizeKey(text) {
|
|
9
|
+
return text
|
|
10
|
+
.trim()
|
|
11
|
+
.toLowerCase()
|
|
12
|
+
.replace(/[^a-z0-9]+/g, '_')
|
|
13
|
+
.replace(/^_+|_+$/g, '');
|
|
14
|
+
}
|
|
15
|
+
function normalizePrompt(prompt) {
|
|
16
|
+
return prompt.trim().replace(/\s+/g, ' ');
|
|
17
|
+
}
|
|
18
|
+
function isQuestionLike(prompt) {
|
|
19
|
+
const trimmed = prompt.trim();
|
|
20
|
+
if (!trimmed)
|
|
21
|
+
return false;
|
|
22
|
+
if (trimmed.endsWith('?'))
|
|
23
|
+
return true;
|
|
24
|
+
return /^(what|when|where|who|why|how|do|did|does|can|could|should|would|is|are|am|was|were)\b/i.test(trimmed);
|
|
25
|
+
}
|
|
26
|
+
function buildTextFact(key, value) {
|
|
27
|
+
const cleanKey = normalizeKey(key);
|
|
28
|
+
const cleanValue = value.trim();
|
|
29
|
+
return {
|
|
30
|
+
key: cleanKey,
|
|
31
|
+
value: { text: cleanValue },
|
|
32
|
+
summary: `${cleanKey.replace(/_/g, ' ')} is ${cleanValue}`,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function isAutoRememberEnabled() {
|
|
36
|
+
const raw = process.env.IRANTI_AUTO_REMEMBER?.trim().toLowerCase();
|
|
37
|
+
return raw === '1' || raw === 'true' || raw === 'yes' || raw === 'on';
|
|
38
|
+
}
|
|
39
|
+
function extractExplicitPromptMemory(prompt) {
|
|
40
|
+
const raw = normalizePrompt(prompt);
|
|
41
|
+
if (!raw || raw.startsWith('/'))
|
|
42
|
+
return [];
|
|
43
|
+
if (isQuestionLike(raw))
|
|
44
|
+
return [];
|
|
45
|
+
const lower = raw.toLowerCase();
|
|
46
|
+
const prefixes = ['actually ', 'correction: ', 'correction ', 'for the record, '];
|
|
47
|
+
const stripped = prefixes.reduce((value, prefix) => value.startsWith(prefix) ? value.slice(prefix.length) : value, lower);
|
|
48
|
+
const facts = [];
|
|
49
|
+
const favoriteMatch = stripped.match(/^my favorite ([a-z0-9_\-\s]+?) is (.+)$/i);
|
|
50
|
+
if (favoriteMatch) {
|
|
51
|
+
facts.push(buildTextFact(`favorite_${favoriteMatch[1]}`, favoriteMatch[2]));
|
|
52
|
+
}
|
|
53
|
+
const myFieldMatch = stripped.match(/^my ([a-z0-9_\-\s]+?) is (.+)$/i);
|
|
54
|
+
if (myFieldMatch && !facts.some((fact) => fact.key === normalizeKey(myFieldMatch[1]))) {
|
|
55
|
+
facts.push(buildTextFact(myFieldMatch[1], myFieldMatch[2]));
|
|
56
|
+
}
|
|
57
|
+
const homeCityMatch = stripped.match(/^i live in (.+)$/i);
|
|
58
|
+
if (homeCityMatch) {
|
|
59
|
+
facts.push(buildTextFact('home_city', homeCityMatch[1]));
|
|
60
|
+
}
|
|
61
|
+
const hometownMatch = stripped.match(/^i(?:'m| am) from (.+)$/i);
|
|
62
|
+
if (hometownMatch) {
|
|
63
|
+
facts.push(buildTextFact('hometown', hometownMatch[1]));
|
|
64
|
+
}
|
|
65
|
+
const preferenceMatch = stripped.match(/^i (?:like|love|prefer) (.+)$/i);
|
|
66
|
+
if (preferenceMatch) {
|
|
67
|
+
facts.push(buildTextFact('likes', preferenceMatch[1]));
|
|
68
|
+
}
|
|
69
|
+
const decisionMatch = stripped.match(/^we decided(?: that)? (.+)$/i);
|
|
70
|
+
if (decisionMatch) {
|
|
71
|
+
facts.push({
|
|
72
|
+
key: 'decision',
|
|
73
|
+
value: { text: decisionMatch[1].trim() },
|
|
74
|
+
summary: `decision is ${decisionMatch[1].trim()}`,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const nextStepMatch = stripped.match(/^(?:the )?next step is (.+)$/i);
|
|
78
|
+
if (nextStepMatch) {
|
|
79
|
+
facts.push({
|
|
80
|
+
key: 'next_step',
|
|
81
|
+
value: { instruction: nextStepMatch[1].trim() },
|
|
82
|
+
summary: `next step is ${nextStepMatch[1].trim()}`,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
const blockerMatch = stripped.match(/^(?:the )?blocker is (.+)$/i);
|
|
86
|
+
if (blockerMatch) {
|
|
87
|
+
facts.push({
|
|
88
|
+
key: 'blocker',
|
|
89
|
+
value: { text: blockerMatch[1].trim() },
|
|
90
|
+
summary: `blocker is ${blockerMatch[1].trim()}`,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
const deduped = new Map();
|
|
94
|
+
for (const fact of facts) {
|
|
95
|
+
if (!fact.key || fact.summary.length > 220)
|
|
96
|
+
continue;
|
|
97
|
+
deduped.set(fact.key, fact);
|
|
98
|
+
}
|
|
99
|
+
return Array.from(deduped.values());
|
|
100
|
+
}
|
|
101
|
+
function extractExplicitAssistantMemory(response) {
|
|
102
|
+
const raw = normalizePrompt(response);
|
|
103
|
+
if (!raw)
|
|
104
|
+
return [];
|
|
105
|
+
const lower = raw.toLowerCase();
|
|
106
|
+
const facts = [];
|
|
107
|
+
const yourFavoriteMatch = lower.match(/^your favorite ([a-z0-9_\-\s]+?) is (.+)$/i);
|
|
108
|
+
if (yourFavoriteMatch) {
|
|
109
|
+
facts.push(buildTextFact(`favorite_${yourFavoriteMatch[1]}`, yourFavoriteMatch[2]));
|
|
110
|
+
}
|
|
111
|
+
const yourFieldMatch = lower.match(/^your ([a-z0-9_\-\s]+?) is (.+)$/i);
|
|
112
|
+
if (yourFieldMatch && !facts.some((fact) => fact.key === normalizeKey(yourFieldMatch[1]))) {
|
|
113
|
+
facts.push(buildTextFact(yourFieldMatch[1], yourFieldMatch[2]));
|
|
114
|
+
}
|
|
115
|
+
const decisionMatch = lower.match(/^we decided(?: that)? (.+)$/i);
|
|
116
|
+
if (decisionMatch) {
|
|
117
|
+
facts.push({
|
|
118
|
+
key: 'decision',
|
|
119
|
+
value: { text: decisionMatch[1].trim() },
|
|
120
|
+
summary: `decision is ${decisionMatch[1].trim()}`,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
const nextStepMatch = lower.match(/^(?:the )?next step is (.+)$/i);
|
|
124
|
+
if (nextStepMatch) {
|
|
125
|
+
facts.push({
|
|
126
|
+
key: 'next_step',
|
|
127
|
+
value: { instruction: nextStepMatch[1].trim() },
|
|
128
|
+
summary: `next step is ${nextStepMatch[1].trim()}`,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
const blockerMatch = lower.match(/^(?:the )?blocker is (.+)$/i);
|
|
132
|
+
if (blockerMatch) {
|
|
133
|
+
facts.push({
|
|
134
|
+
key: 'blocker',
|
|
135
|
+
value: { text: blockerMatch[1].trim() },
|
|
136
|
+
summary: `blocker is ${blockerMatch[1].trim()}`,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
const ownerMatch = lower.match(/^(?:the )?current owner is (.+)$/i);
|
|
140
|
+
if (ownerMatch) {
|
|
141
|
+
facts.push({
|
|
142
|
+
key: 'current_owner',
|
|
143
|
+
value: { text: ownerMatch[1].trim() },
|
|
144
|
+
summary: `current owner is ${ownerMatch[1].trim()}`,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
const deduped = new Map();
|
|
148
|
+
for (const fact of facts) {
|
|
149
|
+
if (!fact.key || fact.summary.length > 220)
|
|
150
|
+
continue;
|
|
151
|
+
deduped.set(fact.key, fact);
|
|
152
|
+
}
|
|
153
|
+
return Array.from(deduped.values());
|
|
154
|
+
}
|
|
155
|
+
function comparableValue(value) {
|
|
156
|
+
try {
|
|
157
|
+
return JSON.stringify(value);
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
return String(value);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
async function autoRememberPromptFacts(params) {
|
|
164
|
+
const { iranti, prompt, agent, source, entity = process.env.IRANTI_MEMORY_ENTITY?.trim(), confidence = 96, } = params;
|
|
165
|
+
if (!isAutoRememberEnabled() || !entity) {
|
|
166
|
+
return {
|
|
167
|
+
enabled: false,
|
|
168
|
+
extracted: 0,
|
|
169
|
+
written: 0,
|
|
170
|
+
skipped: [],
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
const facts = extractExplicitPromptMemory(prompt);
|
|
174
|
+
const skipped = [];
|
|
175
|
+
let written = 0;
|
|
176
|
+
for (const fact of facts) {
|
|
177
|
+
const existing = await iranti.query(entity, fact.key).catch(() => ({ found: false }));
|
|
178
|
+
if (existing.found && comparableValue(existing.value) === comparableValue(fact.value)) {
|
|
179
|
+
skipped.push({ key: fact.key, reason: 'unchanged' });
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
await iranti.write({
|
|
183
|
+
entity,
|
|
184
|
+
key: fact.key,
|
|
185
|
+
value: fact.value,
|
|
186
|
+
summary: fact.summary,
|
|
187
|
+
confidence,
|
|
188
|
+
source,
|
|
189
|
+
agent,
|
|
190
|
+
});
|
|
191
|
+
written += 1;
|
|
192
|
+
}
|
|
193
|
+
return {
|
|
194
|
+
enabled: true,
|
|
195
|
+
entity,
|
|
196
|
+
extracted: facts.length,
|
|
197
|
+
written,
|
|
198
|
+
skipped,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
async function autoRememberAssistantFacts(params) {
|
|
202
|
+
const { iranti, response, agent, source, entity = process.env.IRANTI_MEMORY_ENTITY?.trim(), confidence = 90, } = params;
|
|
203
|
+
if (!isAutoRememberEnabled() || !entity) {
|
|
204
|
+
return {
|
|
205
|
+
enabled: false,
|
|
206
|
+
extracted: 0,
|
|
207
|
+
written: 0,
|
|
208
|
+
skipped: [],
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
const facts = extractExplicitAssistantMemory(response);
|
|
212
|
+
const skipped = [];
|
|
213
|
+
let written = 0;
|
|
214
|
+
for (const fact of facts) {
|
|
215
|
+
const existing = await iranti.query(entity, fact.key).catch(() => ({ found: false }));
|
|
216
|
+
if (existing.found && comparableValue(existing.value) === comparableValue(fact.value)) {
|
|
217
|
+
skipped.push({ key: fact.key, reason: 'unchanged' });
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
await iranti.write({
|
|
221
|
+
entity,
|
|
222
|
+
key: fact.key,
|
|
223
|
+
value: fact.value,
|
|
224
|
+
summary: fact.summary,
|
|
225
|
+
confidence,
|
|
226
|
+
source,
|
|
227
|
+
agent,
|
|
228
|
+
});
|
|
229
|
+
written += 1;
|
|
230
|
+
}
|
|
231
|
+
return {
|
|
232
|
+
enabled: true,
|
|
233
|
+
entity,
|
|
234
|
+
extracted: facts.length,
|
|
235
|
+
written,
|
|
236
|
+
skipped,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=autoRemember.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoRemember.js","sourceRoot":"","sources":["../../../src/lib/autoRemember.ts"],"names":[],"mappings":"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"}
|
|
@@ -217,7 +217,7 @@ exports.INTEGRATIONS_HELP = [
|
|
|
217
217
|
scenario: 'Bootstrapping several repos in `C:\\Users\\NF\\Documents\\Projects` at once.',
|
|
218
218
|
},
|
|
219
219
|
{
|
|
220
|
-
command: 'iranti claude-hook --event SessionStart|UserPromptSubmit [--project-env <path>] [--instance-env <path>] [--env-file <path>]',
|
|
220
|
+
command: 'iranti claude-hook --event SessionStart|UserPromptSubmit|Stop [--project-env <path>] [--instance-env <path>] [--env-file <path>]',
|
|
221
221
|
description: 'Run the Claude Code hook helper directly.',
|
|
222
222
|
useWhen: 'you are debugging Claude hook behavior or invoking the hook outside normal Claude execution.',
|
|
223
223
|
scenario: 'Testing whether the SessionStart hook can resolve the right project binding.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliHelpCatalog.js","sourceRoot":"","sources":["../../../src/lib/cliHelpCatalog.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cliHelpCatalog.js","sourceRoot":"","sources":["../../../src/lib/cliHelpCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandErrors.d.ts","sourceRoot":"","sources":["../../../src/lib/commandErrors.ts"],"names":[],"mappings":"AAOA,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"commandErrors.d.ts","sourceRoot":"","sources":["../../../src/lib/commandErrors.ts"],"names":[],"mappings":"AAOA,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,CAiC/E"}
|
|
@@ -9,6 +9,9 @@ function normalizeErrorMessage(error) {
|
|
|
9
9
|
}
|
|
10
10
|
function rewriteCommandError(commandLabel, error) {
|
|
11
11
|
const message = normalizeErrorMessage(error);
|
|
12
|
+
const code = error && typeof error === 'object' && 'code' in error
|
|
13
|
+
? String(error.code ?? '')
|
|
14
|
+
: '';
|
|
12
15
|
if (/does not exist in the current database/i.test(message)
|
|
13
16
|
|| /relation .* does not exist/i.test(message)
|
|
14
17
|
|| /column .* does not exist/i.test(message)
|
|
@@ -17,6 +20,15 @@ function rewriteCommandError(commandLabel, error) {
|
|
|
17
20
|
+ `${message} Apply migrations with \`npx prisma migrate deploy --schema prisma/schema.prisma\` `
|
|
18
21
|
+ 'and regenerate the Prisma client with `npm run prisma:generate`.');
|
|
19
22
|
}
|
|
23
|
+
if (code === 'ECONNREFUSED'
|
|
24
|
+
|| code === 'ETIMEDOUT'
|
|
25
|
+
|| /can't reach database server/i.test(message)
|
|
26
|
+
|| /database .* unreachable/i.test(message)
|
|
27
|
+
|| /connect ECONNREFUSED/i.test(message)) {
|
|
28
|
+
return new Error(`${commandLabel} cannot reach the configured PostgreSQL database. `
|
|
29
|
+
+ 'Verify that the database server is running, confirm `DATABASE_URL`, '
|
|
30
|
+
+ 'and rerun the command or use `iranti doctor --debug` for a deeper check.');
|
|
31
|
+
}
|
|
20
32
|
return error instanceof Error ? error : new Error(message);
|
|
21
33
|
}
|
|
22
34
|
//# sourceMappingURL=commandErrors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandErrors.js","sourceRoot":"","sources":["../../../src/lib/commandErrors.ts"],"names":[],"mappings":";;AAOA,
|
|
1
|
+
{"version":3,"file":"commandErrors.js","sourceRoot":"","sources":["../../../src/lib/commandErrors.ts"],"names":[],"mappings":";;AAOA,kDAiCC;AAxCD,SAAS,qBAAqB,CAAC,KAAc;IACzC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,mBAAmB,CAAC,YAAoB,EAAE,KAAc;IACpE,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK;QAC9D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,IAAI,EAAE,CAAC;QAClD,CAAC,CAAC,EAAE,CAAC;IACT,IACI,yCAAyC,CAAC,IAAI,CAAC,OAAO,CAAC;WACpD,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;WAC3C,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC;WACzC,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,EAC7C,CAAC;QACC,OAAO,IAAI,KAAK,CACZ,GAAG,YAAY,6EAA6E;cAC1F,GAAG,OAAO,qFAAqF;cAC/F,kEAAkE,CACvE,CAAC;IACN,CAAC;IAED,IACI,IAAI,KAAK,cAAc;WACpB,IAAI,KAAK,WAAW;WACpB,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC;WAC5C,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC;WACxC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1C,CAAC;QACC,OAAO,IAAI,KAAK,CACZ,GAAG,YAAY,oDAAoD;cACjE,sEAAsE;cACtE,0EAA0E,CAC/E,CAAC;IACN,CAAC;IAED,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeEnv.d.ts","sourceRoot":"","sources":["../../../src/lib/runtimeEnv.ts"],"names":[],"mappings":"AAIA,KAAK,iBAAiB,GAAG;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,kBAAkB,GAAG,wBAAwB,GAAG,cAAc,CAAC;CACjF,CAAC;
|
|
1
|
+
{"version":3,"file":"runtimeEnv.d.ts","sourceRoot":"","sources":["../../../src/lib/runtimeEnv.ts"],"names":[],"mappings":"AAIA,KAAK,iBAAiB,GAAG;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,kBAAkB,GAAG,wBAAwB,GAAG,cAAc,CAAC;CACjF,CAAC;AAsFF,wBAAgB,cAAc,CAAC,OAAO,GAAE,iBAAsB,GAAG,oBAAoB,CAgDpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeEnv.js","sourceRoot":"","sources":["../../../src/lib/runtimeEnv.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"runtimeEnv.js","sourceRoot":"","sources":["../../../src/lib/runtimeEnv.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iranti",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.36",
|
|
4
4
|
"description": "Memory infrastructure for multi-agent AI systems",
|
|
5
5
|
"main": "dist/src/sdk/index.js",
|
|
6
6
|
"files": [
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
"test:router": "ts-node scripts/test_router_enforcement.ts",
|
|
65
65
|
"test:verify-authoritative": "ts-node scripts/verify_authoritative_resolution_parsing.ts",
|
|
66
66
|
"test:mcp-smoke": "ts-node tests/mcp/smoke_test.ts",
|
|
67
|
+
"test:claude-hook": "ts-node tests/claude-hook/run_claude_hook_tests.ts",
|
|
67
68
|
"test:conflict-benchmark": "ts-node tests/conflict/run_conflict_benchmark.ts",
|
|
68
69
|
"test:decay": "ts-node tests/decay/run_decay_tests.ts",
|
|
69
70
|
"test:ingest": "ts-node tests/ingest/run_ingest_tests.ts",
|
|
@@ -79,7 +80,7 @@
|
|
|
79
80
|
"test:consistency": "ts-node tests/consistency/run_consistency_tests.ts",
|
|
80
81
|
"test:cross-tool-handoff": "ts-node tests/cross-tool/run_cross_tool_handoff_tests.ts",
|
|
81
82
|
"test:archive-vector-contracts": "node -r ts-node/register/transpile-only tests/consistency/run_archive_vector_contract_tests.ts",
|
|
82
|
-
"test:hardening-fast": "npm run test:contracts && npm run test:cli-surface && npm run test:runtime-lifecycle && npm run test:cli-process-safety && npm run test:setup-upgrade-lifecycle && npm run test:uninstall-lifecycle && npm run test:session-recovery",
|
|
83
|
+
"test:hardening-fast": "npm run test:contracts && npm run test:claude-hook && npm run test:cli-surface && npm run test:runtime-lifecycle && npm run test:cli-process-safety && npm run test:setup-upgrade-lifecycle && npm run test:uninstall-lifecycle && npm run test:session-recovery",
|
|
83
84
|
"test:hardening-db": "npm run test:access-control && npm run test:consistency && npm run test:archive-vector-contracts && npm run test:vector-backends && npm run test:cross-tool-handoff",
|
|
84
85
|
"release:check": "ts-node scripts/check-release-version.ts",
|
|
85
86
|
"release:bump": "ts-node scripts/bump-version.ts",
|