@clawdactual/chitin 1.1.0 → 1.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/db/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/db/repository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAyE/D,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAqCjD;AA+CD,wBAAgB,WAAW,IAAI,YAAY,CAK1C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA6E/D,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA4CjD;AAgDD,wBAAgB,WAAW,IAAI,YAAY,CAK1C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
package/dist/db/schema.js CHANGED
@@ -26,6 +26,9 @@ ALTER TABLE insights ADD COLUMN condition TEXT;
26
26
  const MIGRATE_ADD_AVOID_FIELD = `
27
27
  ALTER TABLE insights ADD COLUMN avoid INTEGER NOT NULL DEFAULT 0;
28
28
  `;
29
+ const MIGRATE_ADD_PROVENANCE_FIELD = `
30
+ ALTER TABLE insights ADD COLUMN provenance TEXT;
31
+ `;
29
32
  // Update CHECK constraint (SQLite doesn't support ALTER CHECK, so we recreate)
30
33
  const MIGRATE_UPDATE_TYPE_CHECK = `
31
34
  -- SQLite doesn't allow modifying CHECK constraints directly.
@@ -93,6 +96,14 @@ export function initDatabase(dbPath) {
93
96
  if (!e.message.includes('duplicate column'))
94
97
  throw e;
95
98
  }
99
+ try {
100
+ db.exec(MIGRATE_ADD_PROVENANCE_FIELD);
101
+ }
102
+ catch (e) {
103
+ // Column already exists, ignore
104
+ if (!e.message.includes('duplicate column'))
105
+ throw e;
106
+ }
96
107
  // Migrate CHECK constraint to include 'trigger' type
97
108
  // SQLite doesn't support ALTER CHECK, so we recreate the table
98
109
  migrateToTriggerSupport(db);
@@ -120,6 +131,7 @@ function migrateToTriggerSupport(db) {
120
131
  source TEXT,
121
132
  condition TEXT,
122
133
  avoid INTEGER NOT NULL DEFAULT 0,
134
+ provenance TEXT,
123
135
  created_at TEXT NOT NULL DEFAULT (datetime('now')),
124
136
  updated_at TEXT NOT NULL DEFAULT (datetime('now')),
125
137
  reinforcement_count INTEGER NOT NULL DEFAULT 0,
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,IAAI,EAAE,GAAwB,IAAI,CAAC;AAEnC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;CAkBvB,CAAC;AAEF,uDAAuD;AACvD,MAAM,0BAA0B,GAAG;;CAElC,CAAC;AAEF,MAAM,uBAAuB,GAAG;;CAE/B,CAAC;AAEF,+EAA+E;AAC/E,MAAM,yBAAyB,GAAG;;;CAGjC,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;CAKzB,CAAC;AAEF,MAAM,yBAAyB,GAAG;;;;;;;;CAQjC,CAAC;AAEF,MAAM,cAAc,GAAG;;;;;;;;;;;CAWtB,CAAC;AAEF,MAAM,oBAAoB,GAAG;;CAE5B,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;IACZ,CAAC;IAED,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE1B,uBAAuB;IACvB,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,gBAAgB;IAChB,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACzB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3B,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACnC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAE9B,iCAAiC;IACjC,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,gCAAgC;QAChC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,gCAAgC;QAChC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,qDAAqD;IACrD,+DAA+D;IAC/D,uBAAuB,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,uBAAuB,CAAC,EAAgB;IAC/C,kEAAkE;IAClE,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC;;GAEjC,CAAC,CAAC,GAAG,EAAiC,CAAC;IAExC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,mCAAmC;IAC7C,CAAC;IAED,oBAAoB;IACpB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BP,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Provenance-aware decay for insight retrieval scoring.
3
+ *
4
+ * Different provenance types decay at different rates:
5
+ * - Directives from the operator never decay
6
+ * - Social observations decay quickly (30-day half-life)
7
+ * - Corrections and observations decay moderately
8
+ * - Legacy entries (no provenance) never decay for backward compatibility
9
+ */
10
+ export interface DecayConfig {
11
+ enabled: boolean;
12
+ halfLife: Record<string, number | null>;
13
+ }
14
+ export declare const DEFAULT_DECAY_CONFIG: DecayConfig;
15
+ /**
16
+ * Compute a decay multiplier for an insight based on its age and provenance.
17
+ *
18
+ * Uses exponential decay: factor = 0.5^(age / halfLife)
19
+ * Returns 1.0 for insights that never decay (null half-life or decay disabled).
20
+ */
21
+ export declare function computeDecayFactor(createdAt: string, provenance: string | undefined, config?: DecayConfig): number;
22
+ //# sourceMappingURL=decay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decay.d.ts","sourceRoot":"","sources":["../../src/engine/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CACzC;AAED,eAAO,MAAM,oBAAoB,EAAE,WAWlC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,GAAE,WAAkC,GACzC,MAAM,CASR"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Provenance-aware decay for insight retrieval scoring.
3
+ *
4
+ * Different provenance types decay at different rates:
5
+ * - Directives from the operator never decay
6
+ * - Social observations decay quickly (30-day half-life)
7
+ * - Corrections and observations decay moderately
8
+ * - Legacy entries (no provenance) never decay for backward compatibility
9
+ */
10
+ export const DEFAULT_DECAY_CONFIG = {
11
+ enabled: true,
12
+ halfLife: {
13
+ directive: null, // Never decay — operator instructions
14
+ correction: 365, // 1 year
15
+ observation: 180, // 6 months
16
+ reflection: 90, // 3 months
17
+ social: 30, // 1 month
18
+ external: 180, // 6 months (imported from Carapace)
19
+ undefined: null, // Legacy entries without provenance — never decay
20
+ },
21
+ };
22
+ /**
23
+ * Compute a decay multiplier for an insight based on its age and provenance.
24
+ *
25
+ * Uses exponential decay: factor = 0.5^(age / halfLife)
26
+ * Returns 1.0 for insights that never decay (null half-life or decay disabled).
27
+ */
28
+ export function computeDecayFactor(createdAt, provenance, config = DEFAULT_DECAY_CONFIG) {
29
+ if (!config.enabled)
30
+ return 1.0;
31
+ const key = provenance ?? 'undefined';
32
+ const halfLife = config.halfLife[key];
33
+ if (halfLife === null || halfLife === undefined)
34
+ return 1.0;
35
+ const daysSinceCreation = (Date.now() - new Date(createdAt).getTime()) / 86400000;
36
+ return Math.pow(0.5, daysSinceCreation / halfLife);
37
+ }
38
+ //# sourceMappingURL=decay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decay.js","sourceRoot":"","sources":["../../src/engine/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE;QACR,SAAS,EAAE,IAAI,EAAQ,sCAAsC;QAC7D,UAAU,EAAE,GAAG,EAAQ,SAAS;QAChC,WAAW,EAAE,GAAG,EAAO,WAAW;QAClC,UAAU,EAAE,EAAE,EAAS,WAAW;QAClC,MAAM,EAAE,EAAE,EAAa,UAAU;QACjC,QAAQ,EAAE,GAAG,EAAU,oCAAoC;QAC3D,SAAS,EAAE,IAAI,EAAQ,kDAAkD;KAC1E;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAiB,EACjB,UAA8B,EAC9B,SAAsB,oBAAoB;IAE1C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC;IAEhC,MAAM,GAAG,GAAG,UAAU,IAAI,WAAW,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAE5D,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC;IAClF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,GAAG,QAAQ,CAAC,CAAC;AACrD,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import type { Insight, InsightType } from '../types.js';
2
2
  import type { InsightRepository } from '../db/repository.js';
3
3
  import type { EmbeddingStore } from '../db/embeddings.js';
4
+ import { type DecayConfig } from './decay.js';
4
5
  export interface RetrieveOptions {
5
6
  maxResults?: number;
6
7
  minConfidence?: number;
7
8
  types?: InsightType[];
8
9
  typeBoosts?: Partial<Record<InsightType, number>>;
10
+ decayConfig?: DecayConfig;
9
11
  }
10
12
  export interface ScoredInsight {
11
13
  insight: Insight;
@@ -26,10 +28,13 @@ export declare class RetrievalEngine {
26
28
  * Retrieve relevant insights for a given query embedding.
27
29
  *
28
30
  * Scoring formula:
29
- * score = cosineSimilarity × confidence × log2(reinforcementCount + 2) × typeBoost
31
+ * score = cosineSimilarity × confidence × log₂(reinforcements + 2) × typeBoost × decayFactor
30
32
  *
31
33
  * The +2 in the log avoids log(1)=0 for unreinforced insights while still
32
34
  * giving a meaningful boost to frequently-confirmed insights.
35
+ *
36
+ * decayFactor applies provenance-aware time decay: social observations decay
37
+ * quickly, directives never decay, legacy entries (no provenance) never decay.
33
38
  */
34
39
  retrieve(queryEmbedding: Float32Array, options?: RetrieveOptions): ScoredInsight[];
35
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../../src/engine/retrieve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;CAC/C;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,cAAc,CAAiB;gBAE3B,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc;IAKnE;;;;;;;;OAQG;IACH,QAAQ,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,GAAE,eAAoB,GAAG,aAAa,EAAE;CAsCvF"}
1
+ {"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../../src/engine/retrieve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;CAC/C;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,cAAc,CAAiB;gBAE3B,IAAI,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc;IAKnE;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,GAAE,eAAoB,GAAG,aAAa,EAAE;CAwCvF"}
@@ -1,3 +1,4 @@
1
+ import { computeDecayFactor } from './decay.js';
1
2
  export class RetrievalEngine {
2
3
  repo;
3
4
  embeddingStore;
@@ -9,13 +10,16 @@ export class RetrievalEngine {
9
10
  * Retrieve relevant insights for a given query embedding.
10
11
  *
11
12
  * Scoring formula:
12
- * score = cosineSimilarity × confidence × log2(reinforcementCount + 2) × typeBoost
13
+ * score = cosineSimilarity × confidence × log₂(reinforcements + 2) × typeBoost × decayFactor
13
14
  *
14
15
  * The +2 in the log avoids log(1)=0 for unreinforced insights while still
15
16
  * giving a meaningful boost to frequently-confirmed insights.
17
+ *
18
+ * decayFactor applies provenance-aware time decay: social observations decay
19
+ * quickly, directives never decay, legacy entries (no provenance) never decay.
16
20
  */
17
21
  retrieve(queryEmbedding, options = {}) {
18
- const { maxResults = 15, minConfidence, types, typeBoosts = {}, } = options;
22
+ const { maxResults = 15, minConfidence, types, typeBoosts = {}, decayConfig, } = options;
19
23
  // Get all embeddings and compute similarities
20
24
  const nearest = this.embeddingStore.findNearest(queryEmbedding, 100);
21
25
  if (nearest.length === 0)
@@ -34,7 +38,8 @@ export class RetrievalEngine {
34
38
  // Compute composite score
35
39
  const reinforcementFactor = Math.log2(insight.reinforcementCount + 2);
36
40
  const typeBoost = typeBoosts[insight.type] ?? 1.0;
37
- const score = similarity * insight.confidence * reinforcementFactor * typeBoost;
41
+ const decayFactor = computeDecayFactor(insight.createdAt, insight.provenance, decayConfig);
42
+ const score = similarity * insight.confidence * reinforcementFactor * typeBoost * decayFactor;
38
43
  scored.push({ insight, similarity, score });
39
44
  }
40
45
  // Sort by score descending
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve.js","sourceRoot":"","sources":["../../src/engine/retrieve.ts"],"names":[],"mappings":"AAwBA,MAAM,OAAO,eAAe;IAClB,IAAI,CAAoB;IACxB,cAAc,CAAiB;IAEvC,YAAY,IAAuB,EAAE,cAA8B;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,cAA4B,EAAE,UAA2B,EAAE;QAClE,MAAM,EACJ,UAAU,GAAG,EAAE,EACf,aAAa,EACb,KAAK,EACL,UAAU,GAAG,EAAE,GAChB,GAAG,OAAO,CAAC;QAEZ,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAErE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEpC,2CAA2C;QAC3C,MAAM,MAAM,GAAoB,EAAE,CAAC;QAEnC,KAAK,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,OAAO,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,gBAAgB;YAChB,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,GAAG,aAAa;gBAAE,SAAS;YAChF,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEzE,0BAA0B;YAC1B,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;YAElD,MAAM,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,mBAAmB,GAAG,SAAS,CAAC;YAEhF,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,2BAA2B;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;CACF"}
1
+ {"version":3,"file":"retrieve.js","sourceRoot":"","sources":["../../src/engine/retrieve.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAuBlE,MAAM,OAAO,eAAe;IAClB,IAAI,CAAoB;IACxB,cAAc,CAAiB;IAEvC,YAAY,IAAuB,EAAE,cAA8B;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,cAA4B,EAAE,UAA2B,EAAE;QAClE,MAAM,EACJ,UAAU,GAAG,EAAE,EACf,aAAa,EACb,KAAK,EACL,UAAU,GAAG,EAAE,EACf,WAAW,GACZ,GAAG,OAAO,CAAC;QAEZ,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAErE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEpC,2CAA2C;QAC3C,MAAM,MAAM,GAAoB,EAAE,CAAC;QAEnC,KAAK,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,OAAO,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,gBAAgB;YAChB,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,GAAG,aAAa;gBAAE,SAAS;YAChF,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEzE,0BAA0B;YAC1B,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;YAClD,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAE3F,MAAM,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,mBAAmB,GAAG,SAAS,GAAG,WAAW,CAAC;YAE9F,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,2BAA2B;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;CACF"}
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ import { RetrievalEngine } from './engine/retrieve.js';
8
8
  import { InsightHistory } from './db/history.js';
9
9
  import { marshal, estimateTokens } from './engine/marshal.js';
10
10
  import { detectContext } from './engine/context-detect.js';
11
+ import { PROVENANCE_TYPES } from './types.js';
11
12
  import { loadEmbeddingConfig } from './engine/embeddings/config.js';
12
13
  import { createProvider } from './engine/embeddings/factory.js';
13
14
  import { loadCarapaceConfig } from './carapace/config.js';
@@ -52,6 +53,7 @@ program
52
53
  .requiredOption('--confidence <number>', 'Confidence level 0.0-1.0')
53
54
  .option('--tags <tags>', 'Comma-separated tags')
54
55
  .option('--source <text>', 'What experience led to this')
56
+ .option('--provenance <type>', 'How insight was authored: directive | observation | social | correction | reflection | external')
55
57
  .option('--condition <text>', 'Trigger condition: the event/situation that fires this trigger')
56
58
  .option('--avoid', 'Mark this as a behavior to avoid (for triggers)')
57
59
  .option('--json', 'Input from JSON stdin')
@@ -61,6 +63,11 @@ program
61
63
  const dbPath = program.opts().db;
62
64
  const { repo } = getDb(dbPath);
63
65
  try {
66
+ // Validate provenance if provided
67
+ if (opts.provenance && !PROVENANCE_TYPES.includes(opts.provenance)) {
68
+ console.error(`Invalid provenance: ${opts.provenance}. Must be one of: ${PROVENANCE_TYPES.join(', ')}`);
69
+ process.exit(1);
70
+ }
64
71
  const input = opts.json
65
72
  ? JSON.parse(fs.readFileSync('/dev/stdin', 'utf-8'))
66
73
  : {
@@ -72,6 +79,7 @@ program
72
79
  confidence: parseFloat(opts.confidence),
73
80
  tags: opts.tags ? opts.tags.split(',').map((t) => t.trim()) : [],
74
81
  source: opts.source,
82
+ provenance: opts.provenance,
75
83
  condition: opts.condition,
76
84
  avoid: !!opts.avoid,
77
85
  };
@@ -93,7 +101,8 @@ program
93
101
  else {
94
102
  console.log(`✓ Contributed ${result.insight.type} insight: ${result.insight.id}`);
95
103
  console.log(` "${result.insight.claim}"`);
96
- console.log(` confidence: ${result.insight.confidence} | tags: ${result.insight.tags.join(', ') || '(none)'}`);
104
+ const provenanceLabel = result.insight.provenance ? ` | provenance: ${result.insight.provenance}` : '';
105
+ console.log(` confidence: ${result.insight.confidence} | tags: ${result.insight.tags.join(', ') || '(none)'}${provenanceLabel}`);
97
106
  if (result.conflicts.length > 0) {
98
107
  console.log('');
99
108
  console.log(`⚠ ${result.conflicts.length} potential conflict(s) detected:`);
@@ -144,6 +153,8 @@ program
144
153
  console.log(` Limitations: ${insight.limitations}`);
145
154
  console.log(` Confidence: ${insight.confidence} | Reinforced: ${insight.reinforcementCount}x`);
146
155
  console.log(` Tags: ${insight.tags.join(', ') || '(none)'}`);
156
+ if (insight.provenance)
157
+ console.log(` Provenance: ${insight.provenance}`);
147
158
  console.log(` ID: ${insight.id}`);
148
159
  }
149
160
  }
@@ -162,6 +173,7 @@ program
162
173
  .option('--confidence <number>', 'Updated confidence')
163
174
  .option('--tags <tags>', 'Updated comma-separated tags')
164
175
  .option('--source <text>', 'Updated source')
176
+ .option('--provenance <type>', 'Updated provenance: directive | observation | social | correction | reflection | external')
165
177
  .option('--format <fmt>', 'Output format: json | human', 'human')
166
178
  .action((id, opts) => {
167
179
  const dbPath = program.opts().db;
@@ -182,6 +194,8 @@ program
182
194
  updates.tags = opts.tags.split(',').map((t) => t.trim());
183
195
  if (opts.source)
184
196
  updates.source = opts.source;
197
+ if (opts.provenance)
198
+ updates.provenance = opts.provenance;
185
199
  const insight = repo.update(id, updates);
186
200
  if (opts.format === 'json') {
187
201
  console.log(JSON.stringify(insight, null, 2));
@@ -199,13 +213,22 @@ program
199
213
  program
200
214
  .command('reinforce <id>')
201
215
  .description('Bump reinforcement count for an insight')
202
- .action((id) => {
216
+ .option('--source <text>', 'What confirmed this insight (e.g., "Bug #123 confirmed this")')
217
+ .option('--evidence <type>', 'Evidence type: external | internal | social')
218
+ .action((id, opts) => {
203
219
  const dbPath = program.opts().db;
204
220
  const { repo } = getDb(dbPath);
205
221
  try {
206
- const insight = repo.reinforce(id);
222
+ const insight = repo.reinforce(id, {
223
+ source: opts.source,
224
+ evidence: opts.evidence,
225
+ });
207
226
  console.log(`✓ Reinforced: ${insight.claim}`);
208
227
  console.log(` Count: ${insight.reinforcementCount}`);
228
+ if (opts.source)
229
+ console.log(` Source: ${opts.source}`);
230
+ if (opts.evidence)
231
+ console.log(` Evidence: ${opts.evidence}`);
209
232
  }
210
233
  finally {
211
234
  closeDatabase();
@@ -232,6 +255,7 @@ program
232
255
  .description('List insights with optional filters')
233
256
  .option('--type <types>', 'Filter by type (comma-separated)')
234
257
  .option('--tags <tags>', 'Filter by tags (comma-separated)')
258
+ .option('--provenance <type>', 'Filter by provenance: directive | observation | social | correction | reflection | external')
235
259
  .option('--min-confidence <number>', 'Minimum confidence threshold')
236
260
  .option('--format <fmt>', 'Output format: json | human', 'human')
237
261
  .action((opts) => {
@@ -243,6 +267,8 @@ program
243
267
  options.types = opts.type.split(',').map((t) => t.trim());
244
268
  if (opts.tags)
245
269
  options.tags = opts.tags.split(',').map((t) => t.trim());
270
+ if (opts.provenance)
271
+ options.provenance = opts.provenance;
246
272
  if (opts.minConfidence)
247
273
  options.minConfidence = parseFloat(opts.minConfidence);
248
274
  const insights = repo.list(options);
@@ -257,7 +283,8 @@ program
257
283
  for (const i of insights) {
258
284
  const tags = i.tags.length > 0 ? ` [${i.tags.join(', ')}]` : '';
259
285
  const reinforced = i.reinforcementCount > 0 ? ` (${i.reinforcementCount}×)` : '';
260
- console.log(` [${i.type}] ${i.claim}${tags}${reinforced}`);
286
+ const prov = i.provenance ? ` (provenance: ${i.provenance})` : '';
287
+ console.log(` [${i.type}] ${i.claim}${tags}${reinforced}${prov}`);
261
288
  console.log(` confidence: ${i.confidence} | id: ${i.id}`);
262
289
  }
263
290
  console.log(`\n${insights.length} insight(s)`);
@@ -907,6 +934,127 @@ program
907
934
  closeDatabase();
908
935
  }
909
936
  });
937
+ // === carapace-query ===
938
+ program
939
+ .command('carapace-query <question>')
940
+ .description('Query the Carapace shared knowledge base for insights from other agents')
941
+ .option('--context <text>', 'Your specific situation for more relevant results')
942
+ .option('--max <number>', 'Maximum results (1-20)', '5')
943
+ .option('--min-confidence <number>', 'Minimum confidence filter (0-1)')
944
+ .option('--domain-tags <tags>', 'Filter by domain tags (comma-separated)')
945
+ .option('--expand', 'Enable ideonomic query expansion')
946
+ .option('--search-mode <mode>', 'Search mode: semantic | hybrid', 'hybrid')
947
+ .option('--carapace-config <path>', 'Path to Carapace credentials JSON')
948
+ .option('--format <fmt>', 'Output format: json | human', 'human')
949
+ .action(async (question, opts) => {
950
+ try {
951
+ const carapaceConfig = loadCarapaceConfig(opts.carapaceConfig);
952
+ const client = new CarapaceClient({ apiKey: carapaceConfig.apiKey });
953
+ const params = {
954
+ question,
955
+ maxResults: parseInt(opts.max),
956
+ searchMode: opts.searchMode,
957
+ };
958
+ if (opts.context)
959
+ params.context = opts.context;
960
+ if (opts.minConfidence)
961
+ params.minConfidence = parseFloat(opts.minConfidence);
962
+ if (opts.domainTags)
963
+ params.domainTags = opts.domainTags.split(',').map((t) => t.trim());
964
+ if (opts.expand)
965
+ params.expand = true;
966
+ const response = await client.query(params);
967
+ if (opts.format === 'json') {
968
+ console.log(JSON.stringify(response, null, 2));
969
+ return;
970
+ }
971
+ if (!response.results || response.results.length === 0) {
972
+ console.log('No results found.');
973
+ return;
974
+ }
975
+ console.log(`Found ${response.results.length} insight(s) (${response.totalMatches} total matches):\n`);
976
+ for (const r of response.results) {
977
+ const trust = r.contributor?.trustScore != null ? ` | trust: ${r.contributor.trustScore.toFixed(2)}` : '';
978
+ const tags = r.domainTags?.length > 0 ? ` [${r.domainTags.join(', ')}]` : '';
979
+ console.log(` "${r.claim}"`);
980
+ console.log(` by ${r.contributor?.displayName ?? 'unknown'} | confidence: ${r.confidence}${trust}${tags}`);
981
+ if (r.reasoning)
982
+ console.log(` reasoning: ${r.reasoning.slice(0, 150)}${r.reasoning.length > 150 ? '...' : ''}`);
983
+ if (r.applicability)
984
+ console.log(` applies: ${r.applicability.slice(0, 150)}${r.applicability.length > 150 ? '...' : ''}`);
985
+ console.log(` id: ${r.id}`);
986
+ console.log('');
987
+ }
988
+ if (response.relatedDomains?.length > 0) {
989
+ console.log(`Related domains: ${response.relatedDomains.join(', ')}`);
990
+ }
991
+ }
992
+ catch (e) {
993
+ if (e instanceof CarapaceError) {
994
+ console.error(`Carapace error: ${e.message} (${e.code})`);
995
+ process.exit(1);
996
+ }
997
+ throw e;
998
+ }
999
+ });
1000
+ // === carapace-register ===
1001
+ program
1002
+ .command('carapace-register')
1003
+ .description('Register a new agent with Carapace and save credentials locally')
1004
+ .requiredOption('--name <name>', 'Agent display name')
1005
+ .option('--description <text>', 'Agent description')
1006
+ .option('--carapace-config <path>', 'Path to save credentials', path.join(os.homedir(), '.config', 'carapace', 'credentials.json'))
1007
+ .option('--format <fmt>', 'Output format: json | human', 'human')
1008
+ .action(async (opts) => {
1009
+ const configPath = opts.carapaceConfig;
1010
+ // Check if credentials already exist
1011
+ if (fs.existsSync(configPath)) {
1012
+ console.error(`Credentials already exist at ${configPath}`);
1013
+ console.error('Delete the file first if you want to re-register.');
1014
+ process.exit(1);
1015
+ }
1016
+ try {
1017
+ const result = await CarapaceClient.register({
1018
+ displayName: opts.name,
1019
+ description: opts.description,
1020
+ });
1021
+ // Save credentials
1022
+ const dir = path.dirname(configPath);
1023
+ if (!fs.existsSync(dir)) {
1024
+ fs.mkdirSync(dir, { recursive: true });
1025
+ }
1026
+ const creds = {
1027
+ api_key: result.apiKey,
1028
+ agent_id: result.id,
1029
+ display_name: result.displayName,
1030
+ registered_at: new Date().toISOString(),
1031
+ };
1032
+ fs.writeFileSync(configPath, JSON.stringify(creds, null, 2));
1033
+ fs.chmodSync(configPath, 0o600);
1034
+ if (opts.format === 'json') {
1035
+ console.log(JSON.stringify({ ...result, credentialsPath: configPath }, null, 2));
1036
+ }
1037
+ else {
1038
+ console.log(`✓ Registered agent: ${result.displayName}`);
1039
+ console.log(` Agent ID: ${result.id}`);
1040
+ console.log(` Credentials saved to: ${configPath}`);
1041
+ console.log('');
1042
+ console.log(' ⚠ Your API key is stored in the credentials file.');
1043
+ console.log(' It is shown only once by the server — keep the file safe.');
1044
+ console.log('');
1045
+ console.log(' Next steps:');
1046
+ console.log(' chitin carapace-query "your question"');
1047
+ console.log(' chitin promote <insight-id>');
1048
+ }
1049
+ }
1050
+ catch (e) {
1051
+ if (e instanceof CarapaceError) {
1052
+ console.error(`Registration failed: ${e.message} (${e.code})`);
1053
+ process.exit(1);
1054
+ }
1055
+ throw e;
1056
+ }
1057
+ });
910
1058
  // === init ===
911
1059
  program
912
1060
  .command('init')