@equationalapplications/expo-llm-wiki 4.6.1 → 4.8.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 CHANGED
@@ -114,6 +114,16 @@ const wiki = createWiki(db, {
114
114
  staleInferredAfterDays: 60, // default: 60 (days before runHeal downgrades inferred facts; null to disable)
115
115
  preFilterLimit: 50, // default: undefined — MiniSearch pre-filter before cosine scan; recommended for >500 facts
116
116
  hybridWeight: 0.7, // default: undefined — blend semantic (1.0) ↔ keyword (0.0); pure semantic when unset
117
+
118
+ // Global prompt overrides — librarianSystemPrompt and healSystemPrompt apply to write() auto-runs;
119
+ // ingestSystemPrompt applies only to explicit ingestDocument() calls.
120
+ // ⚠ Overrides replace the entire default prompt, including the JSON output contract.
121
+ // Your prompt must instruct the LLM to return the required JSON shape — see packages/core/README.md#prompt-management--overrides.
122
+ prompts: {
123
+ ingestSystemPrompt: `Extract core facts from this document: {{documentChunk}}\n\nReturn ONLY valid JSON: { "facts": [{ "title": "string", "body": "string", "tags": ["string"], "confidence": "certain|inferred|tentative" }] }. No markdown.`,
124
+ librarianSystemPrompt: `Synthesize these thoughts into insights:\n{{events}}\n\nReturn ONLY valid JSON: { "facts": [{ "title": "string", "body": "string", "tags": ["string"], "confidence": "certain|inferred|tentative" }], "tasks": [{ "description": "string", "priority": 0 }] }. No markdown.`,
125
+ healSystemPrompt: `Fix the memory graph based on these candidates: {{healCandidates}}\n\nReturn ONLY valid JSON: { "downgraded": ["factId"], "deleted": ["factId"], "newFacts": [{ "title": "string", "body": "string", "tags": ["string"], "confidence": "certain|inferred|tentative" }] }. No markdown.`,
126
+ },
117
127
  },
118
128
  });
119
129
  ```
@@ -168,8 +178,21 @@ const wiki = createWiki(db, {
168
178
  // Initialize tables (call once on app startup)
169
179
  await wiki.setup();
170
180
 
171
- // Use wiki instance
181
+ // Auto-runs: uses config.prompts for background librarian/heal triggers
172
182
  await wiki.write('user-123', { event_type: 'observation', summary: '...' });
183
+
184
+ // Manual executions: runtime promptOverride applies only to this single call.
185
+ // Must include the JSON output contract — overrides replace the entire default prompt.
186
+ await wiki.runLibrarian('user-123', {
187
+ promptOverride: `Strict domain extraction task:\n{{events}}\n\nReturn ONLY valid JSON: { "facts": [{ "title": "string", "body": "string", "tags": ["string"], "confidence": "certain|inferred|tentative" }], "tasks": [{ "description": "string", "priority": 0 }] }. No markdown.`,
188
+ });
189
+
190
+ await wiki.ingestDocument('user-123', {
191
+ sourceRef: 'doc-1',
192
+ sourceHash: sha256(content),
193
+ documentChunk: content,
194
+ promptOverride: `Focus strictly on technical APIs: {{documentChunk}}\n\nReturn ONLY valid JSON: { "facts": [{ "title": "string", "body": "string", "tags": ["string"], "confidence": "certain|inferred|tentative" }] }. No markdown.`,
195
+ });
173
196
  ```
174
197
 
175
198
  ## With React
@@ -289,7 +312,7 @@ const memory = await wiki.read(
289
312
  // tasks capped at min(20 × entityCount, 200); events at min(10 × entityCount, 100)
290
313
  ```
291
314
 
292
- For Librarian prompt utilities (`hydrateLibrarianPrompt`, `validateLibrarianPromptTemplate`, etc.), see [`packages/core/README.md`](https://github.com/equationalapplications/expo-llm-wiki/blob/main/packages/core/README.md#librarian-prompt-override-contract).
315
+ For full details on `{{mustache}}` prompt templating and the strict distinction between global auto-runs and runtime overrides, see [Prompt Management & Overrides](https://github.com/equationalapplications/expo-llm-wiki/blob/main/packages/core/README.md#prompt-management--overrides) in `@equationalapplications/core-llm-wiki`.
293
316
 
294
317
  ## License
295
318
 
@@ -1,6 +1,6 @@
1
1
  // src/adapter.ts
2
2
  function createExpoAdapter(db) {
3
- return {
3
+ const adapter = {
4
4
  execAsync: (sql) => db.execAsync(sql),
5
5
  runAsync: async (sql, params = []) => {
6
6
  const result = await db.runAsync(sql, params);
@@ -10,15 +10,16 @@ function createExpoAdapter(db) {
10
10
  getFirstAsync: (sql, params = []) => db.getFirstAsync(sql, params),
11
11
  withTransactionAsync: (fn) => {
12
12
  let captured;
13
- return db.withTransactionAsync(() => fn().then((v) => {
13
+ return db.withTransactionAsync(() => fn(adapter).then((v) => {
14
14
  captured = v;
15
15
  })).then(() => captured);
16
16
  },
17
17
  closeAsync: () => db.closeAsync()
18
18
  };
19
+ return adapter;
19
20
  }
20
21
 
21
22
  export {
22
23
  createExpoAdapter
23
24
  };
24
- //# sourceMappingURL=chunk-6DVBBIYR.mjs.map
25
+ //# sourceMappingURL=chunk-I2HESFG7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/adapter.ts"],"sourcesContent":["import type * as SQLite from 'expo-sqlite';\nimport type { SQLiteAdapter } from '@equationalapplications/core-llm-wiki';\n\nexport function createExpoAdapter(db: SQLite.SQLiteDatabase): SQLiteAdapter {\n const adapter: SQLiteAdapter = {\n execAsync: (sql) => db.execAsync(sql),\n runAsync: async (sql, params = []) => {\n const result = await db.runAsync(sql, params as any[]);\n return { changes: result.changes, lastInsertRowId: result.lastInsertRowId };\n },\n getAllAsync: (sql, params = []) => db.getAllAsync(sql, params as any[]),\n getFirstAsync: (sql, params = []) => db.getFirstAsync(sql, params as any[]),\n withTransactionAsync: <T>(fn: (tx: SQLiteAdapter) => Promise<T>): Promise<T> => {\n // expo-sqlite only accepts () => Promise<void>; capture the result to satisfy the generic interface\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let captured: any;\n return db.withTransactionAsync(() => fn(adapter).then(v => { captured = v; })).then(() => captured as T);\n },\n closeAsync: () => db.closeAsync(),\n };\n return adapter;\n}\n"],"mappings":";AAGO,SAAS,kBAAkB,IAA0C;AAC1E,QAAM,UAAyB;AAAA,IAC7B,WAAW,CAAC,QAAQ,GAAG,UAAU,GAAG;AAAA,IACpC,UAAU,OAAO,KAAK,SAAS,CAAC,MAAM;AACpC,YAAM,SAAS,MAAM,GAAG,SAAS,KAAK,MAAe;AACrD,aAAO,EAAE,SAAS,OAAO,SAAS,iBAAiB,OAAO,gBAAgB;AAAA,IAC5E;AAAA,IACA,aAAa,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,YAAY,KAAK,MAAe;AAAA,IACtE,eAAe,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,cAAc,KAAK,MAAe;AAAA,IAC1E,sBAAsB,CAAI,OAAsD;AAG9E,UAAI;AACJ,aAAO,GAAG,qBAAqB,MAAM,GAAG,OAAO,EAAE,KAAK,OAAK;AAAE,mBAAW;AAAA,MAAG,CAAC,CAAC,EAAE,KAAK,MAAM,QAAa;AAAA,IACzG;AAAA,IACA,YAAY,MAAM,GAAG,WAAW;AAAA,EAClC;AACA,SAAO;AACT;","names":[]}
package/dist/factory.js CHANGED
@@ -27,7 +27,7 @@ var import_core_llm_wiki = require("@equationalapplications/core-llm-wiki");
27
27
 
28
28
  // src/adapter.ts
29
29
  function createExpoAdapter(db) {
30
- return {
30
+ const adapter = {
31
31
  execAsync: (sql) => db.execAsync(sql),
32
32
  runAsync: async (sql, params = []) => {
33
33
  const result = await db.runAsync(sql, params);
@@ -37,12 +37,13 @@ function createExpoAdapter(db) {
37
37
  getFirstAsync: (sql, params = []) => db.getFirstAsync(sql, params),
38
38
  withTransactionAsync: (fn) => {
39
39
  let captured;
40
- return db.withTransactionAsync(() => fn().then((v) => {
40
+ return db.withTransactionAsync(() => fn(adapter).then((v) => {
41
41
  captured = v;
42
42
  })).then(() => captured);
43
43
  },
44
44
  closeAsync: () => db.closeAsync()
45
45
  };
46
+ return adapter;
46
47
  }
47
48
 
48
49
  // src/factory.ts
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/factory.ts","../src/adapter.ts"],"sourcesContent":["import type * as SQLite from 'expo-sqlite';\nimport { WikiMemory, type WikiOptions } from '@equationalapplications/core-llm-wiki';\nimport { createExpoAdapter } from './adapter';\n\n/**\n * Create a WikiMemory instance from an expo-sqlite SQLiteDatabase.\n * This factory is exported as a separate subpath (`@equationalapplications/expo-llm-wiki/factory`)\n * so that callers can obtain `createWiki` without loading the React hooks\n * that `@equationalapplications/expo-llm-wiki`'s main entry re-exports from `@equationalapplications/react-llm-wiki`.\n */\nexport function createWiki(db: SQLite.SQLiteDatabase, options: WikiOptions): WikiMemory {\n return new WikiMemory(createExpoAdapter(db), options);\n}\n","import type * as SQLite from 'expo-sqlite';\nimport type { SQLiteAdapter } from '@equationalapplications/core-llm-wiki';\n\nexport function createExpoAdapter(db: SQLite.SQLiteDatabase): SQLiteAdapter {\n return {\n execAsync: (sql) => db.execAsync(sql),\n runAsync: async (sql, params = []) => {\n const result = await db.runAsync(sql, params as any[]);\n return { changes: result.changes, lastInsertRowId: result.lastInsertRowId };\n },\n getAllAsync: (sql, params = []) => db.getAllAsync(sql, params as any[]),\n getFirstAsync: (sql, params = []) => db.getFirstAsync(sql, params as any[]),\n withTransactionAsync: (fn) => {\n // expo-sqlite only accepts () => Promise<void>; capture the result to satisfy the generic interface\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let captured: any;\n return db.withTransactionAsync(() => fn().then(v => { captured = v; })).then(() => captured);\n },\n closeAsync: () => db.closeAsync(),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA6C;;;ACEtC,SAAS,kBAAkB,IAA0C;AAC1E,SAAO;AAAA,IACL,WAAW,CAAC,QAAQ,GAAG,UAAU,GAAG;AAAA,IACpC,UAAU,OAAO,KAAK,SAAS,CAAC,MAAM;AACpC,YAAM,SAAS,MAAM,GAAG,SAAS,KAAK,MAAe;AACrD,aAAO,EAAE,SAAS,OAAO,SAAS,iBAAiB,OAAO,gBAAgB;AAAA,IAC5E;AAAA,IACA,aAAa,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,YAAY,KAAK,MAAe;AAAA,IACtE,eAAe,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,cAAc,KAAK,MAAe;AAAA,IAC1E,sBAAsB,CAAC,OAAO;AAG5B,UAAI;AACJ,aAAO,GAAG,qBAAqB,MAAM,GAAG,EAAE,KAAK,OAAK;AAAE,mBAAW;AAAA,MAAG,CAAC,CAAC,EAAE,KAAK,MAAM,QAAQ;AAAA,IAC7F;AAAA,IACA,YAAY,MAAM,GAAG,WAAW;AAAA,EAClC;AACF;;;ADVO,SAAS,WAAW,IAA2B,SAAkC;AACtF,SAAO,IAAI,gCAAW,kBAAkB,EAAE,GAAG,OAAO;AACtD;","names":[]}
1
+ {"version":3,"sources":["../src/factory.ts","../src/adapter.ts"],"sourcesContent":["import type * as SQLite from 'expo-sqlite';\nimport { WikiMemory, type WikiOptions } from '@equationalapplications/core-llm-wiki';\nimport { createExpoAdapter } from './adapter';\n\n/**\n * Create a WikiMemory instance from an expo-sqlite SQLiteDatabase.\n * This factory is exported as a separate subpath (`@equationalapplications/expo-llm-wiki/factory`)\n * so that callers can obtain `createWiki` without loading the React hooks\n * that `@equationalapplications/expo-llm-wiki`'s main entry re-exports from `@equationalapplications/react-llm-wiki`.\n */\nexport function createWiki(db: SQLite.SQLiteDatabase, options: WikiOptions): WikiMemory {\n return new WikiMemory(createExpoAdapter(db), options);\n}\n","import type * as SQLite from 'expo-sqlite';\nimport type { SQLiteAdapter } from '@equationalapplications/core-llm-wiki';\n\nexport function createExpoAdapter(db: SQLite.SQLiteDatabase): SQLiteAdapter {\n const adapter: SQLiteAdapter = {\n execAsync: (sql) => db.execAsync(sql),\n runAsync: async (sql, params = []) => {\n const result = await db.runAsync(sql, params as any[]);\n return { changes: result.changes, lastInsertRowId: result.lastInsertRowId };\n },\n getAllAsync: (sql, params = []) => db.getAllAsync(sql, params as any[]),\n getFirstAsync: (sql, params = []) => db.getFirstAsync(sql, params as any[]),\n withTransactionAsync: <T>(fn: (tx: SQLiteAdapter) => Promise<T>): Promise<T> => {\n // expo-sqlite only accepts () => Promise<void>; capture the result to satisfy the generic interface\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let captured: any;\n return db.withTransactionAsync(() => fn(adapter).then(v => { captured = v; })).then(() => captured as T);\n },\n closeAsync: () => db.closeAsync(),\n };\n return adapter;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA6C;;;ACEtC,SAAS,kBAAkB,IAA0C;AAC1E,QAAM,UAAyB;AAAA,IAC7B,WAAW,CAAC,QAAQ,GAAG,UAAU,GAAG;AAAA,IACpC,UAAU,OAAO,KAAK,SAAS,CAAC,MAAM;AACpC,YAAM,SAAS,MAAM,GAAG,SAAS,KAAK,MAAe;AACrD,aAAO,EAAE,SAAS,OAAO,SAAS,iBAAiB,OAAO,gBAAgB;AAAA,IAC5E;AAAA,IACA,aAAa,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,YAAY,KAAK,MAAe;AAAA,IACtE,eAAe,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,cAAc,KAAK,MAAe;AAAA,IAC1E,sBAAsB,CAAI,OAAsD;AAG9E,UAAI;AACJ,aAAO,GAAG,qBAAqB,MAAM,GAAG,OAAO,EAAE,KAAK,OAAK;AAAE,mBAAW;AAAA,MAAG,CAAC,CAAC,EAAE,KAAK,MAAM,QAAa;AAAA,IACzG;AAAA,IACA,YAAY,MAAM,GAAG,WAAW;AAAA,EAClC;AACA,SAAO;AACT;;;ADXO,SAAS,WAAW,IAA2B,SAAkC;AACtF,SAAO,IAAI,gCAAW,kBAAkB,EAAE,GAAG,OAAO;AACtD;","names":[]}
package/dist/factory.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createExpoAdapter
3
- } from "./chunk-6DVBBIYR.mjs";
3
+ } from "./chunk-I2HESFG7.mjs";
4
4
 
5
5
  // src/factory.ts
6
6
  import { WikiMemory } from "@equationalapplications/core-llm-wiki";
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ var import_core_llm_wiki = require("@equationalapplications/core-llm-wiki");
28
28
 
29
29
  // src/adapter.ts
30
30
  function createExpoAdapter(db) {
31
- return {
31
+ const adapter = {
32
32
  execAsync: (sql) => db.execAsync(sql),
33
33
  runAsync: async (sql, params = []) => {
34
34
  const result = await db.runAsync(sql, params);
@@ -38,12 +38,13 @@ function createExpoAdapter(db) {
38
38
  getFirstAsync: (sql, params = []) => db.getFirstAsync(sql, params),
39
39
  withTransactionAsync: (fn) => {
40
40
  let captured;
41
- return db.withTransactionAsync(() => fn().then((v) => {
41
+ return db.withTransactionAsync(() => fn(adapter).then((v) => {
42
42
  captured = v;
43
43
  })).then(() => captured);
44
44
  },
45
45
  closeAsync: () => db.closeAsync()
46
46
  };
47
+ return adapter;
47
48
  }
48
49
 
49
50
  // src/index.ts
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/adapter.ts"],"sourcesContent":["import type * as SQLite from 'expo-sqlite';\nimport { WikiMemory, type WikiOptions } from '@equationalapplications/core-llm-wiki';\nimport { createExpoAdapter } from './adapter';\n\n// Re-exports all core types and utilities. The `createWiki` exported below\n// intentionally shadows the one from @equationalapplications/core-llm-wiki, binding the expo-sqlite adapter.\nexport * from '@equationalapplications/core-llm-wiki';\nexport * from '@equationalapplications/react-llm-wiki';\n\nexport function createWiki(db: SQLite.SQLiteDatabase, options: WikiOptions): WikiMemory {\n return new WikiMemory(createExpoAdapter(db), options);\n}\n","import type * as SQLite from 'expo-sqlite';\nimport type { SQLiteAdapter } from '@equationalapplications/core-llm-wiki';\n\nexport function createExpoAdapter(db: SQLite.SQLiteDatabase): SQLiteAdapter {\n return {\n execAsync: (sql) => db.execAsync(sql),\n runAsync: async (sql, params = []) => {\n const result = await db.runAsync(sql, params as any[]);\n return { changes: result.changes, lastInsertRowId: result.lastInsertRowId };\n },\n getAllAsync: (sql, params = []) => db.getAllAsync(sql, params as any[]),\n getFirstAsync: (sql, params = []) => db.getFirstAsync(sql, params as any[]),\n withTransactionAsync: (fn) => {\n // expo-sqlite only accepts () => Promise<void>; capture the result to satisfy the generic interface\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let captured: any;\n return db.withTransactionAsync(() => fn().then(v => { captured = v; })).then(() => captured);\n },\n closeAsync: () => db.closeAsync(),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA6C;;;ACEtC,SAAS,kBAAkB,IAA0C;AAC1E,SAAO;AAAA,IACL,WAAW,CAAC,QAAQ,GAAG,UAAU,GAAG;AAAA,IACpC,UAAU,OAAO,KAAK,SAAS,CAAC,MAAM;AACpC,YAAM,SAAS,MAAM,GAAG,SAAS,KAAK,MAAe;AACrD,aAAO,EAAE,SAAS,OAAO,SAAS,iBAAiB,OAAO,gBAAgB;AAAA,IAC5E;AAAA,IACA,aAAa,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,YAAY,KAAK,MAAe;AAAA,IACtE,eAAe,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,cAAc,KAAK,MAAe;AAAA,IAC1E,sBAAsB,CAAC,OAAO;AAG5B,UAAI;AACJ,aAAO,GAAG,qBAAqB,MAAM,GAAG,EAAE,KAAK,OAAK;AAAE,mBAAW;AAAA,MAAG,CAAC,CAAC,EAAE,KAAK,MAAM,QAAQ;AAAA,IAC7F;AAAA,IACA,YAAY,MAAM,GAAG,WAAW;AAAA,EAClC;AACF;;;ADdA,0BAAc,kDANd;AAOA,0BAAc,mDAPd;AASO,SAAS,WAAW,IAA2B,SAAkC;AACtF,SAAO,IAAI,gCAAW,kBAAkB,EAAE,GAAG,OAAO;AACtD;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/adapter.ts"],"sourcesContent":["import type * as SQLite from 'expo-sqlite';\nimport { WikiMemory, type WikiOptions } from '@equationalapplications/core-llm-wiki';\nimport { createExpoAdapter } from './adapter';\n\n// Re-exports all core types and utilities. The `createWiki` exported below\n// intentionally shadows the one from @equationalapplications/core-llm-wiki, binding the expo-sqlite adapter.\nexport * from '@equationalapplications/core-llm-wiki';\nexport * from '@equationalapplications/react-llm-wiki';\n\nexport function createWiki(db: SQLite.SQLiteDatabase, options: WikiOptions): WikiMemory {\n return new WikiMemory(createExpoAdapter(db), options);\n}\n","import type * as SQLite from 'expo-sqlite';\nimport type { SQLiteAdapter } from '@equationalapplications/core-llm-wiki';\n\nexport function createExpoAdapter(db: SQLite.SQLiteDatabase): SQLiteAdapter {\n const adapter: SQLiteAdapter = {\n execAsync: (sql) => db.execAsync(sql),\n runAsync: async (sql, params = []) => {\n const result = await db.runAsync(sql, params as any[]);\n return { changes: result.changes, lastInsertRowId: result.lastInsertRowId };\n },\n getAllAsync: (sql, params = []) => db.getAllAsync(sql, params as any[]),\n getFirstAsync: (sql, params = []) => db.getFirstAsync(sql, params as any[]),\n withTransactionAsync: <T>(fn: (tx: SQLiteAdapter) => Promise<T>): Promise<T> => {\n // expo-sqlite only accepts () => Promise<void>; capture the result to satisfy the generic interface\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let captured: any;\n return db.withTransactionAsync(() => fn(adapter).then(v => { captured = v; })).then(() => captured as T);\n },\n closeAsync: () => db.closeAsync(),\n };\n return adapter;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAA6C;;;ACEtC,SAAS,kBAAkB,IAA0C;AAC1E,QAAM,UAAyB;AAAA,IAC7B,WAAW,CAAC,QAAQ,GAAG,UAAU,GAAG;AAAA,IACpC,UAAU,OAAO,KAAK,SAAS,CAAC,MAAM;AACpC,YAAM,SAAS,MAAM,GAAG,SAAS,KAAK,MAAe;AACrD,aAAO,EAAE,SAAS,OAAO,SAAS,iBAAiB,OAAO,gBAAgB;AAAA,IAC5E;AAAA,IACA,aAAa,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,YAAY,KAAK,MAAe;AAAA,IACtE,eAAe,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,cAAc,KAAK,MAAe;AAAA,IAC1E,sBAAsB,CAAI,OAAsD;AAG9E,UAAI;AACJ,aAAO,GAAG,qBAAqB,MAAM,GAAG,OAAO,EAAE,KAAK,OAAK;AAAE,mBAAW;AAAA,MAAG,CAAC,CAAC,EAAE,KAAK,MAAM,QAAa;AAAA,IACzG;AAAA,IACA,YAAY,MAAM,GAAG,WAAW;AAAA,EAClC;AACA,SAAO;AACT;;;ADfA,0BAAc,kDANd;AAOA,0BAAc,mDAPd;AASO,SAAS,WAAW,IAA2B,SAAkC;AACtF,SAAO,IAAI,gCAAW,kBAAkB,EAAE,GAAG,OAAO;AACtD;","names":[]}
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createExpoAdapter
3
- } from "./chunk-6DVBBIYR.mjs";
3
+ } from "./chunk-I2HESFG7.mjs";
4
4
 
5
5
  // src/index.ts
6
6
  import { WikiMemory } from "@equationalapplications/core-llm-wiki";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equationalapplications/expo-llm-wiki",
3
- "version": "4.6.1",
3
+ "version": "4.8.0",
4
4
  "description": "Expo/React Native adapter for @equationalapplications/core-llm-wiki.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -28,8 +28,8 @@
28
28
  "registry": "https://registry.npmjs.org"
29
29
  },
30
30
  "dependencies": {
31
- "@equationalapplications/core-llm-wiki": "4.6.1",
32
- "@equationalapplications/react-llm-wiki": "4.6.1"
31
+ "@equationalapplications/core-llm-wiki": "4.8.0",
32
+ "@equationalapplications/react-llm-wiki": "4.8.0"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "expo-sqlite": "^14.0.0 || ^15.0.0 || ^55.0.0",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/adapter.ts"],"sourcesContent":["import type * as SQLite from 'expo-sqlite';\nimport type { SQLiteAdapter } from '@equationalapplications/core-llm-wiki';\n\nexport function createExpoAdapter(db: SQLite.SQLiteDatabase): SQLiteAdapter {\n return {\n execAsync: (sql) => db.execAsync(sql),\n runAsync: async (sql, params = []) => {\n const result = await db.runAsync(sql, params as any[]);\n return { changes: result.changes, lastInsertRowId: result.lastInsertRowId };\n },\n getAllAsync: (sql, params = []) => db.getAllAsync(sql, params as any[]),\n getFirstAsync: (sql, params = []) => db.getFirstAsync(sql, params as any[]),\n withTransactionAsync: (fn) => {\n // expo-sqlite only accepts () => Promise<void>; capture the result to satisfy the generic interface\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let captured: any;\n return db.withTransactionAsync(() => fn().then(v => { captured = v; })).then(() => captured);\n },\n closeAsync: () => db.closeAsync(),\n };\n}\n"],"mappings":";AAGO,SAAS,kBAAkB,IAA0C;AAC1E,SAAO;AAAA,IACL,WAAW,CAAC,QAAQ,GAAG,UAAU,GAAG;AAAA,IACpC,UAAU,OAAO,KAAK,SAAS,CAAC,MAAM;AACpC,YAAM,SAAS,MAAM,GAAG,SAAS,KAAK,MAAe;AACrD,aAAO,EAAE,SAAS,OAAO,SAAS,iBAAiB,OAAO,gBAAgB;AAAA,IAC5E;AAAA,IACA,aAAa,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,YAAY,KAAK,MAAe;AAAA,IACtE,eAAe,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,cAAc,KAAK,MAAe;AAAA,IAC1E,sBAAsB,CAAC,OAAO;AAG5B,UAAI;AACJ,aAAO,GAAG,qBAAqB,MAAM,GAAG,EAAE,KAAK,OAAK;AAAE,mBAAW;AAAA,MAAG,CAAC,CAAC,EAAE,KAAK,MAAM,QAAQ;AAAA,IAC7F;AAAA,IACA,YAAY,MAAM,GAAG,WAAW;AAAA,EAClC;AACF;","names":[]}