@medicine-wheel/storage-provider 0.2.2 → 0.2.4

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.
@@ -24,6 +24,7 @@ export interface StorageProvider {
24
24
  getAllNodes(limit?: number): Promise<RelationalNode[]>;
25
25
  createEdge(edge: RelationalEdge): Promise<void>;
26
26
  getEdge(fromId: string, toId: string): Promise<RelationalEdge | null>;
27
+ getAllEdges(limit?: number): Promise<RelationalEdge[]>;
27
28
  getRelatedNodes(nodeId: string, direction?: 'from' | 'to' | 'both'): Promise<string[]>;
28
29
  updateEdgeCeremony(fromId: string, toId: string, ceremonyId: string): Promise<void>;
29
30
  logCeremony(ceremony: CeremonyLog): Promise<void>;
package/dist/jsonl.d.ts CHANGED
@@ -17,6 +17,7 @@ export declare class JsonlProvider implements StorageProvider {
17
17
  createEdge(edge: RelationalEdge): Promise<void>;
18
18
  getEdge(fromId: string, toId: string): Promise<RelationalEdge | null>;
19
19
  getRelatedNodes(nodeId: string, direction?: 'from' | 'to' | 'both'): Promise<string[]>;
20
+ getAllEdges(limit?: number): Promise<RelationalEdge[]>;
20
21
  updateEdgeCeremony(fromId: string, toId: string, ceremonyId: string): Promise<void>;
21
22
  logCeremony(ceremony: CeremonyLog): Promise<void>;
22
23
  getCeremony(id: string): Promise<CeremonyLog | null>;
package/dist/jsonl.js CHANGED
@@ -66,6 +66,12 @@ export class JsonlProvider {
66
66
  }
67
67
  return Array.from(related);
68
68
  }
69
+ async getAllEdges(limit = 100) {
70
+ return this.readEdges()
71
+ .sort(sortByNewest('created_at'))
72
+ .slice(0, limit)
73
+ .map((edge) => this.parseEdge(edge));
74
+ }
69
75
  async updateEdgeCeremony(fromId, toId, ceremonyId) {
70
76
  await withWriteLock(this.edgesFile, () => {
71
77
  const nextEdges = this.readEdges().map((edge) => {
package/dist/neon.d.ts CHANGED
@@ -18,6 +18,7 @@ export declare class NeonProvider implements StorageProvider {
18
18
  createEdge(edge: RelationalEdge): Promise<void>;
19
19
  getEdge(fromId: string, toId: string): Promise<RelationalEdge | null>;
20
20
  getRelatedNodes(nodeId: string, direction?: 'from' | 'to' | 'both'): Promise<string[]>;
21
+ getAllEdges(limit?: number): Promise<RelationalEdge[]>;
21
22
  updateEdgeCeremony(fromId: string, toId: string, ceremonyId: string): Promise<void>;
22
23
  private parseEdge;
23
24
  logCeremony(ceremony: CeremonyLog): Promise<void>;
package/dist/neon.js CHANGED
@@ -102,6 +102,10 @@ export class NeonProvider {
102
102
  }
103
103
  return rows.map(r => r.id);
104
104
  }
105
+ async getAllEdges(limit = 100) {
106
+ const rows = await this.db `SELECT * FROM edges ORDER BY created_at DESC LIMIT ${limit}`;
107
+ return rows.map((row) => this.parseEdge(row));
108
+ }
105
109
  async updateEdgeCeremony(fromId, toId, ceremonyId) {
106
110
  await this.db `
107
111
  UPDATE edges SET ceremony_honored = true, last_ceremony = ${ceremonyId}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medicine-wheel/storage-provider",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -16,7 +16,7 @@
16
16
  "dependencies": {
17
17
  "@neondatabase/serverless": "^0.10.0",
18
18
  "@upstash/redis": "^1.34.3",
19
- "@medicine-wheel/ontology-core": "^0.2.2"
19
+ "@medicine-wheel/ontology-core": "^0.2.4"
20
20
  },
21
21
  "devDependencies": {
22
22
  "typescript": "^5.7.0"