@synthaer/resonance 0.1.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.
Files changed (94) hide show
  1. package/README.md +19 -0
  2. package/dist/cli.d.ts +9 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +40 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/config.d.ts +24 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +44 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/contracts.d.ts +4 -0
  11. package/dist/contracts.d.ts.map +1 -0
  12. package/dist/contracts.js +2 -0
  13. package/dist/contracts.js.map +1 -0
  14. package/dist/db/local.d.ts +21 -0
  15. package/dist/db/local.d.ts.map +1 -0
  16. package/dist/db/local.js +158 -0
  17. package/dist/db/local.js.map +1 -0
  18. package/dist/db-types.d.ts +14 -0
  19. package/dist/db-types.d.ts.map +1 -0
  20. package/dist/db-types.js +2 -0
  21. package/dist/db-types.js.map +1 -0
  22. package/dist/dikw-pipeline.d.ts +31 -0
  23. package/dist/dikw-pipeline.d.ts.map +1 -0
  24. package/dist/dikw-pipeline.js +130 -0
  25. package/dist/dikw-pipeline.js.map +1 -0
  26. package/dist/embedding-provider.d.ts +25 -0
  27. package/dist/embedding-provider.d.ts.map +1 -0
  28. package/dist/embedding-provider.js +62 -0
  29. package/dist/embedding-provider.js.map +1 -0
  30. package/dist/embeddings/local.d.ts +31 -0
  31. package/dist/embeddings/local.d.ts.map +1 -0
  32. package/dist/embeddings/local.js +72 -0
  33. package/dist/embeddings/local.js.map +1 -0
  34. package/dist/encryption.d.ts +22 -0
  35. package/dist/encryption.d.ts.map +1 -0
  36. package/dist/encryption.js +39 -0
  37. package/dist/encryption.js.map +1 -0
  38. package/dist/index.d.ts +22 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +15 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/mcp-server.d.ts +362 -0
  43. package/dist/mcp-server.d.ts.map +1 -0
  44. package/dist/mcp-server.js +722 -0
  45. package/dist/mcp-server.js.map +1 -0
  46. package/dist/pki.d.ts +160 -0
  47. package/dist/pki.d.ts.map +1 -0
  48. package/dist/pki.js +502 -0
  49. package/dist/pki.js.map +1 -0
  50. package/dist/ratification.d.ts +125 -0
  51. package/dist/ratification.d.ts.map +1 -0
  52. package/dist/ratification.js +315 -0
  53. package/dist/ratification.js.map +1 -0
  54. package/dist/schema.d.ts +4 -0
  55. package/dist/schema.d.ts.map +1 -0
  56. package/dist/schema.js +119 -0
  57. package/dist/schema.js.map +1 -0
  58. package/dist/search.d.ts +33 -0
  59. package/dist/search.d.ts.map +1 -0
  60. package/dist/search.js +132 -0
  61. package/dist/search.js.map +1 -0
  62. package/dist/server.d.ts +11 -0
  63. package/dist/server.d.ts.map +1 -0
  64. package/dist/server.js +297 -0
  65. package/dist/server.js.map +1 -0
  66. package/dist/store.d.ts +77 -0
  67. package/dist/store.d.ts.map +1 -0
  68. package/dist/store.js +572 -0
  69. package/dist/store.js.map +1 -0
  70. package/dist/tools/cloud-gate.d.ts +72 -0
  71. package/dist/tools/cloud-gate.d.ts.map +1 -0
  72. package/dist/tools/cloud-gate.js +79 -0
  73. package/dist/tools/cloud-gate.js.map +1 -0
  74. package/dist/tools/experiences.d.ts +20 -0
  75. package/dist/tools/experiences.d.ts.map +1 -0
  76. package/dist/tools/experiences.js +135 -0
  77. package/dist/tools/experiences.js.map +1 -0
  78. package/dist/tools/knowledge.d.ts +37 -0
  79. package/dist/tools/knowledge.d.ts.map +1 -0
  80. package/dist/tools/knowledge.js +213 -0
  81. package/dist/tools/knowledge.js.map +1 -0
  82. package/dist/tools/sessions.d.ts +11 -0
  83. package/dist/tools/sessions.d.ts.map +1 -0
  84. package/dist/tools/sessions.js +66 -0
  85. package/dist/tools/sessions.js.map +1 -0
  86. package/dist/tools/trust.d.ts +18 -0
  87. package/dist/tools/trust.d.ts.map +1 -0
  88. package/dist/tools/trust.js +42 -0
  89. package/dist/tools/trust.js.map +1 -0
  90. package/dist/types.d.ts +75 -0
  91. package/dist/types.d.ts.map +1 -0
  92. package/dist/types.js +16 -0
  93. package/dist/types.js.map +1 -0
  94. package/package.json +50 -0
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Get the trust score and endorsement/challenge counts for a knowledge item.
3
+ */
4
+ export async function handleGetTrust(db, input) {
5
+ const result = await db.query(`SELECT id, trust_score, endorsements, challenges, strength, dikw_stage
6
+ FROM knowledge WHERE id = $1`, [input.id]);
7
+ const row = result.rows[0];
8
+ if (!row) {
9
+ return { error: 'not_found', id: input.id };
10
+ }
11
+ return {
12
+ id: row.id,
13
+ trustScore: row.trust_score,
14
+ endorsements: row.endorsements,
15
+ challenges: row.challenges,
16
+ strength: row.strength,
17
+ dikwStage: row.dikw_stage,
18
+ // Local trust is self-signed (no CA attestation)
19
+ trustChain: 'self-signed',
20
+ };
21
+ }
22
+ /**
23
+ * Manually adjust the trust score for a knowledge item.
24
+ */
25
+ export async function handleUpdateTrust(db, input) {
26
+ const result = await db.query(`UPDATE knowledge
27
+ SET trust_score = GREATEST(0.0, LEAST(1.0, trust_score + $2)),
28
+ updated_at = $3
29
+ WHERE id = $1
30
+ RETURNING trust_score`, [input.id, input.adjustment, new Date().toISOString()]);
31
+ if (result.rows.length === 0) {
32
+ return { error: 'not_found', id: input.id };
33
+ }
34
+ return {
35
+ id: input.id,
36
+ trustScore: result.rows[0].trust_score,
37
+ adjustment: input.adjustment,
38
+ reason: input.reason ?? null,
39
+ action: 'trust_updated',
40
+ };
41
+ }
42
+ //# sourceMappingURL=trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["../../src/tools/trust.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,KAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAQ3B;kCAC8B,EAC9B,CAAC,KAAK,CAAC,EAAE,CAAC,CACX,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,iDAAiD;QACjD,UAAU,EAAE,aAAa;KAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAU,EACV,KAAuB;IAEvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAC3B;;;;2BAIuB,EACvB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW;QACvC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,MAAM,EAAE,eAAe;KACxB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,75 @@
1
+ export type DikwStage = 'nascent' | 'emerging' | 'established' | 'canonical';
2
+ export declare enum KnowledgeKind {
3
+ Fact = 1,
4
+ Pattern = 2,
5
+ Error = 3,
6
+ Decision = 4,
7
+ Principle = 5
8
+ }
9
+ export declare enum ExperienceKind {
10
+ Success = 1,
11
+ Failure = 2,
12
+ Discovery = 3,
13
+ Blocker = 4
14
+ }
15
+ export interface KnowledgeItem {
16
+ id: string;
17
+ content: string;
18
+ kind: KnowledgeKind;
19
+ dikwStage: DikwStage;
20
+ strength: number;
21
+ tags: string[];
22
+ sourceCount: number;
23
+ contextCount: number;
24
+ projectId?: string;
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ lastAccessedAt?: string;
28
+ decayRate: number;
29
+ }
30
+ export interface Experience {
31
+ id: string;
32
+ agentId?: string;
33
+ sessionId?: string;
34
+ content: string;
35
+ kind: ExperienceKind;
36
+ projectId?: string;
37
+ relatedKnowledgeIds: string[];
38
+ createdAt: string;
39
+ }
40
+ export interface SessionContext {
41
+ id: string;
42
+ agentId?: string;
43
+ projectId?: string;
44
+ checkpoint?: Record<string, unknown>;
45
+ memory: MemoryItem[];
46
+ createdAt: string;
47
+ updatedAt: string;
48
+ }
49
+ export interface MemoryItem {
50
+ role: 'system' | 'user' | 'assistant';
51
+ content: string;
52
+ timestamp: string;
53
+ }
54
+ export interface SearchOptions {
55
+ limit?: number;
56
+ kinds?: number[];
57
+ minStrength?: number;
58
+ projectId?: string;
59
+ tags?: string[];
60
+ }
61
+ export interface SearchResult {
62
+ item: KnowledgeItem | Experience;
63
+ score: number;
64
+ source: 'knowledge' | 'experience';
65
+ }
66
+ export interface MaturationLogEntry {
67
+ id: number;
68
+ knowledgeId: string;
69
+ fromStage: DikwStage;
70
+ toStage: DikwStage;
71
+ reason: string;
72
+ triggeredBy: 'auto' | 'human';
73
+ createdAt: string;
74
+ }
75
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAC;AAE7E,oBAAY,aAAa;IACvB,IAAI,IAAI;IACR,OAAO,IAAI;IACX,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,SAAS,IAAI;CACd;AAED,oBAAY,cAAc;IACxB,OAAO,IAAI;IACX,OAAO,IAAI;IACX,SAAS,IAAI;IACb,OAAO,IAAI;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,GAAG,UAAU,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,YAAY,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB"}
package/dist/types.js ADDED
@@ -0,0 +1,16 @@
1
+ export var KnowledgeKind;
2
+ (function (KnowledgeKind) {
3
+ KnowledgeKind[KnowledgeKind["Fact"] = 1] = "Fact";
4
+ KnowledgeKind[KnowledgeKind["Pattern"] = 2] = "Pattern";
5
+ KnowledgeKind[KnowledgeKind["Error"] = 3] = "Error";
6
+ KnowledgeKind[KnowledgeKind["Decision"] = 4] = "Decision";
7
+ KnowledgeKind[KnowledgeKind["Principle"] = 5] = "Principle";
8
+ })(KnowledgeKind || (KnowledgeKind = {}));
9
+ export var ExperienceKind;
10
+ (function (ExperienceKind) {
11
+ ExperienceKind[ExperienceKind["Success"] = 1] = "Success";
12
+ ExperienceKind[ExperienceKind["Failure"] = 2] = "Failure";
13
+ ExperienceKind[ExperienceKind["Discovery"] = 3] = "Discovery";
14
+ ExperienceKind[ExperienceKind["Blocker"] = 4] = "Blocker";
15
+ })(ExperienceKind || (ExperienceKind = {}));
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,uDAAW,CAAA;IACX,mDAAS,CAAA;IACT,yDAAY,CAAA;IACZ,2DAAa,CAAA;AACf,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,yDAAW,CAAA;IACX,yDAAW,CAAA;IACX,6DAAa,CAAA;IACb,yDAAW,CAAA;AACb,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@synthaer/resonance",
3
+ "version": "0.1.0",
4
+ "description": "Local-first AI memory for agents. Resonance Knowledge Trust with PGlite + pgvector.",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "bin": {
9
+ "resonance": "./dist/cli.js"
10
+ },
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md",
20
+ "package.json"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc -p tsconfig.json",
24
+ "typecheck": "tsc --noEmit",
25
+ "test": "npx tsx --test src/**/*.test.ts"
26
+ },
27
+ "dependencies": {
28
+ "@electric-sql/pglite": "^0.3.15",
29
+ "@modelcontextprotocol/sdk": "^1.12.1",
30
+ "@xenova/transformers": "^2.17.2"
31
+ },
32
+ "devDependencies": {
33
+ "@types/node": "^22.13.4",
34
+ "typescript": "^5.7.3"
35
+ },
36
+ "engines": {
37
+ "node": ">=20"
38
+ },
39
+ "keywords": [
40
+ "ai",
41
+ "agents",
42
+ "memory",
43
+ "mcp",
44
+ "vector-search",
45
+ "pglite",
46
+ "pgvector",
47
+ "knowledge-management"
48
+ ],
49
+ "license": "MIT"
50
+ }