@adhd/agent-store-tools 2.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 (66) hide show
  1. package/drizzle/0000_dry_roulette.sql +18 -0
  2. package/drizzle/0001_gray_talkback.sql +20 -0
  3. package/drizzle/0002_aberrant_blink.sql +7 -0
  4. package/drizzle/0003_foamy_otto_octavius.sql +10 -0
  5. package/drizzle/meta/0000_snapshot.json +129 -0
  6. package/drizzle/meta/0001_snapshot.json +251 -0
  7. package/drizzle/meta/0002_snapshot.json +298 -0
  8. package/drizzle/meta/0003_snapshot.json +358 -0
  9. package/drizzle/meta/_journal.json +34 -0
  10. package/package.json +50 -0
  11. package/src/db/client.d.ts +7 -0
  12. package/src/db/client.d.ts.map +1 -0
  13. package/src/db/client.js +18 -0
  14. package/src/db/client.js.map +1 -0
  15. package/src/db/migrate-runner.d.ts +30 -0
  16. package/src/db/migrate-runner.d.ts.map +1 -0
  17. package/src/db/migrate-runner.js +34 -0
  18. package/src/db/migrate-runner.js.map +1 -0
  19. package/src/db/migrate.d.ts +9 -0
  20. package/src/db/migrate.d.ts.map +1 -0
  21. package/src/db/migrate.js +13 -0
  22. package/src/db/migrate.js.map +1 -0
  23. package/src/db/schema.d.ts +584 -0
  24. package/src/db/schema.d.ts.map +1 -0
  25. package/src/db/schema.js +150 -0
  26. package/src/db/schema.js.map +1 -0
  27. package/src/index.d.ts +13 -0
  28. package/src/index.d.ts.map +1 -0
  29. package/src/index.js +11 -0
  30. package/src/index.js.map +1 -0
  31. package/src/seed/bindings.d.ts +21 -0
  32. package/src/seed/bindings.d.ts.map +1 -0
  33. package/src/seed/bindings.js +167 -0
  34. package/src/seed/bindings.js.map +1 -0
  35. package/src/seed/index.d.ts +29 -0
  36. package/src/seed/index.d.ts.map +1 -0
  37. package/src/seed/index.js +80 -0
  38. package/src/seed/index.js.map +1 -0
  39. package/src/seed/platforms.d.ts +17 -0
  40. package/src/seed/platforms.d.ts.map +1 -0
  41. package/src/seed/platforms.js +48 -0
  42. package/src/seed/platforms.js.map +1 -0
  43. package/src/seed/tool-types.d.ts +15 -0
  44. package/src/seed/tool-types.d.ts.map +1 -0
  45. package/src/seed/tool-types.js +35 -0
  46. package/src/seed/tool-types.js.map +1 -0
  47. package/src/seed/tools.d.ts +18 -0
  48. package/src/seed/tools.d.ts.map +1 -0
  49. package/src/seed/tools.js +117 -0
  50. package/src/seed/tools.js.map +1 -0
  51. package/src/store/agent-tool-store.d.ts +63 -0
  52. package/src/store/agent-tool-store.d.ts.map +1 -0
  53. package/src/store/agent-tool-store.js +100 -0
  54. package/src/store/agent-tool-store.js.map +1 -0
  55. package/src/store/binding-store.d.ts +75 -0
  56. package/src/store/binding-store.d.ts.map +1 -0
  57. package/src/store/binding-store.js +144 -0
  58. package/src/store/binding-store.js.map +1 -0
  59. package/src/store/mcp-server-store.d.ts +46 -0
  60. package/src/store/mcp-server-store.d.ts.map +1 -0
  61. package/src/store/mcp-server-store.js +89 -0
  62. package/src/store/mcp-server-store.js.map +1 -0
  63. package/src/store/tool-store.d.ts +55 -0
  64. package/src/store/tool-store.d.ts.map +1 -0
  65. package/src/store/tool-store.js +115 -0
  66. package/src/store/tool-store.js.map +1 -0
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@adhd/agent-store-tools",
3
+ "version": "2.1.0",
4
+ "description": "Canonical tool and platform registry for agent runtimes — Drizzle-backed SQLite store",
5
+ "type": "module",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "files": [
10
+ "src",
11
+ "drizzle"
12
+ ],
13
+ "exports": {
14
+ ".": {
15
+ "types": "./src/index.d.ts",
16
+ "default": "./src/index.js"
17
+ }
18
+ },
19
+ "scripts": {
20
+ "build": "nx build agent-tool-registry",
21
+ "typecheck": "tsc -p tsconfig.lib.json --noEmit",
22
+ "db:generate": "drizzle-kit generate",
23
+ "db:migrate": "drizzle-kit migrate"
24
+ },
25
+ "dependencies": {
26
+ "better-sqlite3": "12.10.0",
27
+ "drizzle-orm": "0.45.2"
28
+ },
29
+ "devDependencies": {
30
+ "@types/better-sqlite3": "^7.6.13",
31
+ "@vitest/coverage-v8": "^1.0.4",
32
+ "drizzle-kit": "^0.31.10",
33
+ "tslib": "^2.6.0",
34
+ "typescript": "^5.5.0",
35
+ "vite": "~5.0.13",
36
+ "vitest": "^1.6.0"
37
+ },
38
+ "license": "MIT",
39
+ "repository": {
40
+ "type": "git",
41
+ "url": "git+https://github.com/PseudoSky/adhd.git",
42
+ "directory": "packages/agent/agent-store-tools"
43
+ },
44
+ "homepage": "https://github.com/PseudoSky/adhd/tree/main/packages/agent/agent-store-tools#readme",
45
+ "bugs": {
46
+ "url": "https://github.com/PseudoSky/adhd/issues"
47
+ },
48
+ "module": "./src/index.js",
49
+ "main": "./src/index.js"
50
+ }
@@ -0,0 +1,7 @@
1
+ import Database from 'better-sqlite3';
2
+ import * as schema from './schema.js';
3
+ export declare const sqlite: Database.Database;
4
+ export declare const db: import("drizzle-orm/better-sqlite3").BetterSQLite3Database<typeof schema> & {
5
+ $client: Database.Database;
6
+ };
7
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../packages/agent/agent-store-tools/src/db/client.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AActC,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,QAAqC,CAAC;AAKpE,eAAO,MAAM,EAAE;;CAA8B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import Database from 'better-sqlite3';
4
+ import { drizzle } from 'drizzle-orm/better-sqlite3';
5
+ import * as schema from './schema.js';
6
+ const databasePath = process.env['DATABASE_PATH'] || './data/registry.db';
7
+ const resolvedPath = path.resolve(databasePath);
8
+ const directory = path.dirname(resolvedPath);
9
+ if (!fs.existsSync(directory)) {
10
+ fs.mkdirSync(directory, {
11
+ recursive: true,
12
+ });
13
+ }
14
+ export const sqlite = new Database(resolvedPath);
15
+ sqlite.pragma('journal_mode = WAL');
16
+ sqlite.pragma('foreign_keys = ON');
17
+ export const db = drizzle(sqlite, { schema });
18
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../../packages/agent/agent-store-tools/src/db/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,oBAAoB,CAAC;AAE1E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAE7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;IAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE;QACtB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAsB,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { migrate } from 'drizzle-orm/better-sqlite3/migrator';
2
+ /**
3
+ * Folder holding the drizzle-kit generated migrations (../../drizzle relative
4
+ * to this compiled module). Kept here — with no `client.js` import — so test
5
+ * harnesses can reuse the FK-safe runner without dragging in the production
6
+ * singleton connection (which opens a DB file at import time).
7
+ */
8
+ export declare const MIGRATIONS_FOLDER: string;
9
+ /**
10
+ * Minimal structural type for the bits of a better-sqlite3 connection we need.
11
+ * Avoids importing the better-sqlite3 type just to call `pragma`.
12
+ */
13
+ interface PragmaConn {
14
+ pragma(source: string, options?: {
15
+ simple: boolean;
16
+ }): unknown;
17
+ }
18
+ /**
19
+ * Run Drizzle migrations against an explicit connection with foreign-key
20
+ * enforcement disabled for the duration of the run.
21
+ *
22
+ * WHY THIS WRAPPER EXISTS: SQLite silently ignores `PRAGMA foreign_keys`
23
+ * **inside a transaction**, and drizzle's migrator wraps each migration file in
24
+ * one. Disabling enforcement on the connection *before* migrate() — while no
25
+ * transaction is open — is the only way to make it hold for the whole run;
26
+ * we restore the prior setting afterwards.
27
+ */
28
+ export declare function runMigrationsOn(conn: PragmaConn, drizzleDb: Parameters<typeof migrate>[0], migrationsFolder?: string): void;
29
+ export {};
30
+ //# sourceMappingURL=migrate-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-runner.d.ts","sourceRoot":"","sources":["../../../../../../packages/agent/agent-store-tools/src/db/migrate-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QACnB,CAAC;AAEZ;;;GAGG;AACH,UAAU,UAAU;IAClB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;CAChE;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EACxC,gBAAgB,GAAE,MAA0B,GAC3C,IAAI,CAcN"}
@@ -0,0 +1,34 @@
1
+ import { migrate } from 'drizzle-orm/better-sqlite3/migrator';
2
+ /**
3
+ * Folder holding the drizzle-kit generated migrations (../../drizzle relative
4
+ * to this compiled module). Kept here — with no `client.js` import — so test
5
+ * harnesses can reuse the FK-safe runner without dragging in the production
6
+ * singleton connection (which opens a DB file at import time).
7
+ */
8
+ export const MIGRATIONS_FOLDER = new URL('../../drizzle', import.meta.url)
9
+ .pathname;
10
+ /**
11
+ * Run Drizzle migrations against an explicit connection with foreign-key
12
+ * enforcement disabled for the duration of the run.
13
+ *
14
+ * WHY THIS WRAPPER EXISTS: SQLite silently ignores `PRAGMA foreign_keys`
15
+ * **inside a transaction**, and drizzle's migrator wraps each migration file in
16
+ * one. Disabling enforcement on the connection *before* migrate() — while no
17
+ * transaction is open — is the only way to make it hold for the whole run;
18
+ * we restore the prior setting afterwards.
19
+ */
20
+ export function runMigrationsOn(conn, drizzleDb, migrationsFolder = MIGRATIONS_FOLDER) {
21
+ const fkWasOn = conn.pragma('foreign_keys', { simple: true }) === 1;
22
+ if (fkWasOn) {
23
+ conn.pragma('foreign_keys = OFF');
24
+ }
25
+ try {
26
+ migrate(drizzleDb, { migrationsFolder });
27
+ }
28
+ finally {
29
+ if (fkWasOn) {
30
+ conn.pragma('foreign_keys = ON');
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=migrate-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-runner.js","sourceRoot":"","sources":["../../../../../../packages/agent/agent-store-tools/src/db/migrate-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;KACvE,QAAQ,CAAC;AAUZ;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAgB,EAChB,SAAwC,EACxC,mBAA2B,iBAAiB;IAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAEpE,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Runs pending Drizzle migrations synchronously before the server starts.
3
+ * Migrations are read from the ./drizzle folder (generated by drizzle-kit).
4
+ *
5
+ * Delegates to the FK-safe {@link runMigrationsOn} runner (see that module for
6
+ * why foreign-key enforcement must be toggled around the migration run).
7
+ */
8
+ export declare function runMigrations(): void;
9
+ //# sourceMappingURL=migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../../../../packages/agent/agent-store-tools/src/db/migrate.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
@@ -0,0 +1,13 @@
1
+ import { db, sqlite } from './client.js';
2
+ import { runMigrationsOn } from './migrate-runner.js';
3
+ /**
4
+ * Runs pending Drizzle migrations synchronously before the server starts.
5
+ * Migrations are read from the ./drizzle folder (generated by drizzle-kit).
6
+ *
7
+ * Delegates to the FK-safe {@link runMigrationsOn} runner (see that module for
8
+ * why foreign-key enforcement must be toggled around the migration run).
9
+ */
10
+ export function runMigrations() {
11
+ runMigrationsOn(sqlite, db);
12
+ }
13
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../../../packages/agent/agent-store-tools/src/db/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa;IAC3B,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC"}