@jungjaehoon/mama-os 0.18.2 → 0.19.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 (171) hide show
  1. package/dist/agent/agent-loop.d.ts +25 -0
  2. package/dist/agent/agent-loop.d.ts.map +1 -1
  3. package/dist/agent/agent-loop.js +67 -14
  4. package/dist/agent/agent-loop.js.map +1 -1
  5. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  6. package/dist/agent/code-act/host-bridge.js +98 -0
  7. package/dist/agent/code-act/host-bridge.js.map +1 -1
  8. package/dist/agent/code-act/type-definition-generator.d.ts.map +1 -1
  9. package/dist/agent/code-act/type-definition-generator.js +0 -1
  10. package/dist/agent/code-act/type-definition-generator.js.map +1 -1
  11. package/dist/agent/gateway-tool-executor.d.ts +36 -1
  12. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  13. package/dist/agent/gateway-tool-executor.js +938 -54
  14. package/dist/agent/gateway-tool-executor.js.map +1 -1
  15. package/dist/agent/gateway-tools.md +9 -0
  16. package/dist/agent/managed-agent-runtime-sync.d.ts +36 -0
  17. package/dist/agent/managed-agent-runtime-sync.d.ts.map +1 -0
  18. package/dist/agent/managed-agent-runtime-sync.js +207 -0
  19. package/dist/agent/managed-agent-runtime-sync.js.map +1 -0
  20. package/dist/agent/managed-agent-validation.d.ts +4 -0
  21. package/dist/agent/managed-agent-validation.d.ts.map +1 -0
  22. package/dist/agent/managed-agent-validation.js +84 -0
  23. package/dist/agent/managed-agent-validation.js.map +1 -0
  24. package/dist/agent/os-agent-capabilities.md +400 -0
  25. package/dist/agent/skill-loader.d.ts +2 -0
  26. package/dist/agent/skill-loader.d.ts.map +1 -1
  27. package/dist/agent/skill-loader.js +28 -0
  28. package/dist/agent/skill-loader.js.map +1 -1
  29. package/dist/agent/tool-registry.d.ts.map +1 -1
  30. package/dist/agent/tool-registry.js +66 -0
  31. package/dist/agent/tool-registry.js.map +1 -1
  32. package/dist/agent/types.d.ts +2 -1
  33. package/dist/agent/types.d.ts.map +1 -1
  34. package/dist/agent/types.js.map +1 -1
  35. package/dist/api/agent-handler.d.ts +34 -0
  36. package/dist/api/agent-handler.d.ts.map +1 -0
  37. package/dist/api/agent-handler.js +216 -0
  38. package/dist/api/agent-handler.js.map +1 -0
  39. package/dist/api/graph-api-types.d.ts +4 -0
  40. package/dist/api/graph-api-types.d.ts.map +1 -1
  41. package/dist/api/graph-api.d.ts +2 -2
  42. package/dist/api/graph-api.d.ts.map +1 -1
  43. package/dist/api/graph-api.js +480 -51
  44. package/dist/api/graph-api.js.map +1 -1
  45. package/dist/api/index.d.ts.map +1 -1
  46. package/dist/api/index.js +4 -0
  47. package/dist/api/index.js.map +1 -1
  48. package/dist/api/token-handler.d.ts +1 -0
  49. package/dist/api/token-handler.d.ts.map +1 -1
  50. package/dist/api/token-handler.js +4 -3
  51. package/dist/api/token-handler.js.map +1 -1
  52. package/dist/api/ui-command-handler.d.ts +48 -0
  53. package/dist/api/ui-command-handler.d.ts.map +1 -0
  54. package/dist/api/ui-command-handler.js +160 -0
  55. package/dist/api/ui-command-handler.js.map +1 -0
  56. package/dist/cli/commands/start.d.ts.map +1 -1
  57. package/dist/cli/commands/start.js +127 -1
  58. package/dist/cli/commands/start.js.map +1 -1
  59. package/dist/cli/config/config-manager.d.ts.map +1 -1
  60. package/dist/cli/config/config-manager.js +16 -31
  61. package/dist/cli/config/config-manager.js.map +1 -1
  62. package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
  63. package/dist/cli/runtime/agent-loop-init.js +31 -7
  64. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  65. package/dist/cli/runtime/api-routes-init.d.ts +3 -0
  66. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  67. package/dist/cli/runtime/api-routes-init.js +283 -34
  68. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  69. package/dist/cli/runtime/gateway-init.d.ts +2 -1
  70. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  71. package/dist/cli/runtime/gateway-init.js +5 -1
  72. package/dist/cli/runtime/gateway-init.js.map +1 -1
  73. package/dist/connectors/framework/raw-store.d.ts +4 -0
  74. package/dist/connectors/framework/raw-store.d.ts.map +1 -1
  75. package/dist/connectors/framework/raw-store.js +33 -10
  76. package/dist/connectors/framework/raw-store.js.map +1 -1
  77. package/dist/db/agent-store.d.ts +115 -0
  78. package/dist/db/agent-store.d.ts.map +1 -0
  79. package/dist/db/agent-store.js +248 -0
  80. package/dist/db/agent-store.js.map +1 -0
  81. package/dist/db/migrations/agent-activity-validation-columns.d.ts +3 -0
  82. package/dist/db/migrations/agent-activity-validation-columns.d.ts.map +1 -0
  83. package/dist/db/migrations/agent-activity-validation-columns.js +22 -0
  84. package/dist/db/migrations/agent-activity-validation-columns.js.map +1 -0
  85. package/dist/db/migrations/agent-metrics-response-avg.d.ts +3 -0
  86. package/dist/db/migrations/agent-metrics-response-avg.d.ts.map +1 -0
  87. package/dist/db/migrations/agent-metrics-response-avg.js +19 -0
  88. package/dist/db/migrations/agent-metrics-response-avg.js.map +1 -0
  89. package/dist/db/migrations/agent-store-tables.d.ts +3 -0
  90. package/dist/db/migrations/agent-store-tables.d.ts.map +1 -0
  91. package/dist/db/migrations/agent-store-tables.js +59 -0
  92. package/dist/db/migrations/agent-store-tables.js.map +1 -0
  93. package/dist/db/migrations/token-usage-agent-version.d.ts +3 -0
  94. package/dist/db/migrations/token-usage-agent-version.d.ts.map +1 -0
  95. package/dist/db/migrations/token-usage-agent-version.js +16 -0
  96. package/dist/db/migrations/token-usage-agent-version.js.map +1 -0
  97. package/dist/db/migrations/validation-session-tables.d.ts +3 -0
  98. package/dist/db/migrations/validation-session-tables.d.ts.map +1 -0
  99. package/dist/db/migrations/validation-session-tables.js +59 -0
  100. package/dist/db/migrations/validation-session-tables.js.map +1 -0
  101. package/dist/gateways/message-router.d.ts +10 -0
  102. package/dist/gateways/message-router.d.ts.map +1 -1
  103. package/dist/gateways/message-router.js +188 -14
  104. package/dist/gateways/message-router.js.map +1 -1
  105. package/dist/gateways/types.d.ts +1 -1
  106. package/dist/gateways/types.d.ts.map +1 -1
  107. package/dist/multi-agent/agent-process-manager.js +1 -1
  108. package/dist/multi-agent/agent-process-manager.js.map +1 -1
  109. package/dist/multi-agent/conductor-persona.d.ts +13 -0
  110. package/dist/multi-agent/conductor-persona.d.ts.map +1 -0
  111. package/dist/multi-agent/conductor-persona.js +157 -0
  112. package/dist/multi-agent/conductor-persona.js.map +1 -0
  113. package/dist/multi-agent/dashboard-agent-persona.d.ts +1 -1
  114. package/dist/multi-agent/dashboard-agent-persona.d.ts.map +1 -1
  115. package/dist/multi-agent/dashboard-agent-persona.js +7 -3
  116. package/dist/multi-agent/dashboard-agent-persona.js.map +1 -1
  117. package/dist/multi-agent/delegation-manager.d.ts +5 -0
  118. package/dist/multi-agent/delegation-manager.d.ts.map +1 -1
  119. package/dist/multi-agent/delegation-manager.js +37 -0
  120. package/dist/multi-agent/delegation-manager.js.map +1 -1
  121. package/dist/multi-agent/ultrawork.d.ts +3 -0
  122. package/dist/multi-agent/ultrawork.d.ts.map +1 -1
  123. package/dist/multi-agent/ultrawork.js +9 -0
  124. package/dist/multi-agent/ultrawork.js.map +1 -1
  125. package/dist/validation/session-service.d.ts +72 -0
  126. package/dist/validation/session-service.d.ts.map +1 -0
  127. package/dist/validation/session-service.js +298 -0
  128. package/dist/validation/session-service.js.map +1 -0
  129. package/dist/validation/store.d.ts +25 -0
  130. package/dist/validation/store.d.ts.map +1 -0
  131. package/dist/validation/store.js +200 -0
  132. package/dist/validation/store.js.map +1 -0
  133. package/dist/validation/types.d.ts +119 -0
  134. package/dist/validation/types.d.ts.map +1 -0
  135. package/dist/validation/types.js +57 -0
  136. package/dist/validation/types.js.map +1 -0
  137. package/package.json +3 -3
  138. package/public/viewer/js/modules/agents.js +1148 -0
  139. package/public/viewer/js/modules/chat.js +20 -11
  140. package/public/viewer/js/modules/connector-feed.js +35 -0
  141. package/public/viewer/js/modules/dashboard.js +49 -0
  142. package/public/viewer/js/modules/memory.js +32 -0
  143. package/public/viewer/js/modules/settings.js +34 -79
  144. package/public/viewer/js/modules/wiki.js +59 -4
  145. package/public/viewer/js/utils/api.js +70 -0
  146. package/public/viewer/js/utils/dom.js +3 -0
  147. package/public/viewer/js/utils/ui-commands.js +93 -0
  148. package/public/viewer/log-viewer.html +2 -2
  149. package/public/viewer/src/modules/agents.ts +1299 -0
  150. package/public/viewer/src/modules/chat.ts +23 -14
  151. package/public/viewer/src/modules/connector-feed.ts +35 -0
  152. package/public/viewer/src/modules/dashboard.ts +50 -0
  153. package/public/viewer/src/modules/memory.ts +31 -0
  154. package/public/viewer/src/modules/settings.ts +36 -96
  155. package/public/viewer/src/modules/wiki.ts +73 -6
  156. package/public/viewer/src/types/global.d.ts +0 -9
  157. package/public/viewer/src/utils/api.ts +156 -2
  158. package/public/viewer/src/utils/dom.ts +6 -1
  159. package/public/viewer/src/utils/ui-commands.ts +118 -0
  160. package/public/viewer/viewer.css +105 -10
  161. package/public/viewer/viewer.html +1868 -777
  162. package/scripts/generate-gateway-tools.ts +5 -1
  163. package/public/viewer/js/modules/playground.js +0 -148
  164. package/public/viewer/js/modules/skills.js +0 -451
  165. package/public/viewer/src/modules/playground.ts +0 -173
  166. package/public/viewer/src/modules/skills.ts +0 -491
  167. package/templates/playgrounds/cron-workflow-lab.html +0 -1601
  168. package/templates/playgrounds/mama-log-viewer.html +0 -1341
  169. package/templates/playgrounds/skill-lab-playground.html +0 -1625
  170. package/templates/playgrounds/wave-visualizer.html +0 -694
  171. package/templates/skills/playground.md +0 -197
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-init.d.ts","sourceRoot":"","sources":["../../../src/cli/runtime/gateway-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACd,MAAM,yBAAyB,CAAC;AAejC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,QAAQ,GAAG,WAAW,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAiK5B"}
1
+ {"version":3,"file":"gateway-init.d.ts","sourceRoot":"","sources":["../../../src/cli/runtime/gateway-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EACd,MAAM,yBAAyB,CAAC;AAejC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,CAAC;CAChD;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,QAAQ,GAAG,WAAW,EACtC,EAAE,EAAE,cAAc,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAqK5B"}
@@ -71,7 +71,7 @@ const gatewayLogger = new DebugLogger('gateway-init');
71
71
  * Reads config, creates gateway instances, wires them to the agent loop
72
72
  * and tool executor, and starts each enabled gateway.
73
73
  */
74
- async function initGateways(config, messageRouter, toolExecutor, agentLoop, runtimeBackend) {
74
+ async function initGateways(config, messageRouter, toolExecutor, agentLoop, runtimeBackend, db) {
75
75
  // Track active gateways for cleanup
76
76
  const gateways = [];
77
77
  const gatewayMultiAgentConfig = config.multi_agent;
@@ -119,6 +119,8 @@ async function initGateways(config, messageRouter, toolExecutor, agentLoop, runt
119
119
  // Wire delegate dependencies so code-act sandbox can call delegate()
120
120
  toolExecutor.setAgentProcessManager(multiAgentDiscord.getProcessManager());
121
121
  toolExecutor.setDelegationManager(multiAgentDiscord.getDelegationManager());
122
+ // Wire sessions DB to delegation manager for agent_activity logging
123
+ multiAgentDiscord.getDelegationManager().setSessionsDb(db);
122
124
  console.log('[start] ✓ Gateway tool executor wired to multi-agent handler');
123
125
  }
124
126
  await discordGateway.start();
@@ -157,6 +159,8 @@ async function initGateways(config, messageRouter, toolExecutor, agentLoop, runt
157
159
  // Wire delegate dependencies so code-act sandbox can call delegate()
158
160
  toolExecutor.setAgentProcessManager(multiAgentSlack.getProcessManager());
159
161
  toolExecutor.setDelegationManager(multiAgentSlack.getDelegationManager());
162
+ // Wire sessions DB to delegation manager for agent_activity logging
163
+ multiAgentSlack.getDelegationManager().setSessionsDb(db);
160
164
  console.log('[start] ✓ Gateway tool executor wired to Slack multi-agent handler');
161
165
  }
162
166
  console.log('✓ Slack connected');
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-init.js","sourceRoot":"","sources":["../../../src/cli/runtime/gateway-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-init.js","sourceRoot":"","sources":["../../../src/cli/runtime/gateway-init.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,12 @@ export declare class RawStore {
9
9
  private readonly basePath;
10
10
  constructor(basePath: string);
11
11
  private getDb;
12
+ private getDbPath;
13
+ private mapRawRowToNormalizedItem;
12
14
  save(connectorName: string, items: NormalizedItem[]): void;
13
15
  query(connectorName: string, since: Date): NormalizedItem[];
16
+ hasConnector(connectorName: string): boolean;
17
+ getRecent(connectorName: string, count: number): NormalizedItem[];
14
18
  close(): void;
15
19
  }
16
20
  //# sourceMappingURL=raw-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"raw-store.d.ts","sourceRoot":"","sources":["../../../src/connectors/framework/raw-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA6BjD,qBAAa,QAAQ;IACnB,OAAO,CAAC,GAAG,CAA+B;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,QAAQ,EAAE,MAAM;IAI5B,OAAO,CAAC,KAAK;IAYb,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAsB1D,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,cAAc,EAAE;IAmB3D,KAAK,IAAI,IAAI;CAMd"}
1
+ {"version":3,"file":"raw-store.d.ts","sourceRoot":"","sources":["../../../src/connectors/framework/raw-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA6BjD,qBAAa,QAAQ;IACnB,OAAO,CAAC,GAAG,CAA+B;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,QAAQ,EAAE,MAAM;IAI5B,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,yBAAyB;IAcjC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAsB1D,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,cAAc,EAAE;IAS3D,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAI5C,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE;IAgBjE,KAAK,IAAI,IAAI;CAMd"}
@@ -44,6 +44,21 @@ class RawStore {
44
44
  this.dbs.set(connectorName, db);
45
45
  return db;
46
46
  }
47
+ getDbPath(connectorName) {
48
+ return (0, path_1.join)(this.basePath, connectorName, 'raw.db');
49
+ }
50
+ mapRawRowToNormalizedItem(row) {
51
+ return {
52
+ source: row.source,
53
+ sourceId: row.source_id,
54
+ channel: row.channel,
55
+ author: row.author,
56
+ content: row.content,
57
+ timestamp: new Date(row.timestamp),
58
+ type: row.type,
59
+ metadata: row.metadata !== null ? JSON.parse(row.metadata) : undefined,
60
+ };
61
+ }
47
62
  save(connectorName, items) {
48
63
  if (items.length === 0)
49
64
  return;
@@ -62,16 +77,24 @@ class RawStore {
62
77
  const rows = db
63
78
  .prepare('SELECT * FROM raw_items WHERE timestamp >= ? ORDER BY timestamp ASC')
64
79
  .all(since.getTime());
65
- return rows.map((row) => ({
66
- source: row.source,
67
- sourceId: row.source_id,
68
- channel: row.channel,
69
- author: row.author,
70
- content: row.content,
71
- timestamp: new Date(row.timestamp),
72
- type: row.type,
73
- metadata: row.metadata !== null ? JSON.parse(row.metadata) : undefined,
74
- }));
80
+ return rows.map((row) => this.mapRawRowToNormalizedItem(row));
81
+ }
82
+ hasConnector(connectorName) {
83
+ return this.dbs.has(connectorName) || (0, fs_1.existsSync)(this.getDbPath(connectorName));
84
+ }
85
+ getRecent(connectorName, count) {
86
+ if (!this.hasConnector(connectorName)) {
87
+ return [];
88
+ }
89
+ const sanitizedCount = Math.min(1000, Math.max(0, Math.floor(count)));
90
+ if (sanitizedCount === 0) {
91
+ return [];
92
+ }
93
+ const db = this.getDb(connectorName);
94
+ const rows = db
95
+ .prepare('SELECT * FROM raw_items ORDER BY timestamp DESC LIMIT ?')
96
+ .all(sanitizedCount);
97
+ return rows.map((row) => this.mapRawRowToNormalizedItem(row));
75
98
  }
76
99
  close() {
77
100
  for (const db of this.dbs.values()) {
@@ -1 +1 @@
1
- {"version":3,"file":"raw-store.js","sourceRoot":"","sources":["../../../src/connectors/framework/raw-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw-store.js","sourceRoot":"","sources":["../../../src/connectors/framework/raw-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Agent Version, Metrics & Activity Store
3
+ *
4
+ * SQLite storage for agent version history, per-version metrics, and activity logs.
5
+ * Follows Managed Agents optimistic concurrency pattern.
6
+ */
7
+ import type { SQLiteDatabase } from '../sqlite.js';
8
+ type DB = SQLiteDatabase;
9
+ export declare function initAgentTables(db: SQLiteDatabase): void;
10
+ export interface CreateVersionInput {
11
+ agent_id: string;
12
+ snapshot: Record<string, unknown>;
13
+ persona_text?: string | null;
14
+ change_note?: string | null;
15
+ }
16
+ export interface AgentVersionRow {
17
+ id: number;
18
+ agent_id: string;
19
+ version: number;
20
+ snapshot: string;
21
+ persona_text: string | null;
22
+ change_note: string | null;
23
+ created_at: string;
24
+ }
25
+ export interface UpsertMetricsInput {
26
+ agent_id: string;
27
+ agent_version: number;
28
+ period_start: string;
29
+ input_tokens?: number;
30
+ output_tokens?: number;
31
+ tool_calls?: number;
32
+ delegations?: number;
33
+ errors?: number;
34
+ avg_response_ms?: number;
35
+ }
36
+ export interface MetricsRow {
37
+ agent_id: string;
38
+ agent_version: number;
39
+ period_start: string;
40
+ period_end: string;
41
+ input_tokens: number;
42
+ output_tokens: number;
43
+ tool_calls: number;
44
+ delegations: number;
45
+ errors: number;
46
+ avg_response_ms: number;
47
+ response_ms_sum?: number;
48
+ response_count?: number;
49
+ }
50
+ export interface VersionComparison {
51
+ version_a: {
52
+ version: number;
53
+ } & Partial<MetricsRow>;
54
+ version_b: {
55
+ version: number;
56
+ } & Partial<MetricsRow>;
57
+ }
58
+ export declare function createAgentVersion(db: SQLiteDatabase, input: CreateVersionInput): AgentVersionRow;
59
+ export declare function getLatestVersion(db: SQLiteDatabase, agentId: string): AgentVersionRow | null;
60
+ export declare function getAgentVersion(db: SQLiteDatabase, agentId: string, version: number): AgentVersionRow | null;
61
+ export declare function listVersions(db: SQLiteDatabase, agentId: string): AgentVersionRow[];
62
+ export declare function upsertMetrics(db: SQLiteDatabase, input: UpsertMetricsInput): void;
63
+ export declare function getMetrics(db: SQLiteDatabase, agentId: string, from: string, to: string): MetricsRow[];
64
+ export declare function compareVersionMetrics(db: SQLiteDatabase, agentId: string, versionA: number, versionB: number): VersionComparison;
65
+ export interface LogActivityInput {
66
+ agent_id: string;
67
+ agent_version: number;
68
+ type: string;
69
+ input_summary?: string;
70
+ output_summary?: string;
71
+ tokens_used?: number;
72
+ tools_called?: string[];
73
+ duration_ms?: number;
74
+ score?: number;
75
+ details?: Record<string, unknown>;
76
+ error_message?: string;
77
+ run_id?: string;
78
+ execution_status?: string;
79
+ trigger_reason?: string;
80
+ }
81
+ export interface ActivityRow {
82
+ id: number;
83
+ agent_id: string;
84
+ agent_version: number;
85
+ type: string;
86
+ input_summary: string | null;
87
+ output_summary: string | null;
88
+ tokens_used: number;
89
+ tools_called: string | null;
90
+ duration_ms: number;
91
+ score: number | null;
92
+ details: string | null;
93
+ error_message: string | null;
94
+ run_id: string | null;
95
+ execution_status: string | null;
96
+ trigger_reason: string | null;
97
+ created_at: string;
98
+ }
99
+ export declare function logActivity(db: DB, input: LogActivityInput): ActivityRow;
100
+ export declare function updateActivityScore(db: DB, activityId: number, score: number, details: Record<string, unknown>, executionStatus?: string): ActivityRow;
101
+ export declare function getActivity(db: DB, agentId: string, limit: number): ActivityRow[];
102
+ export interface ActivitySummaryRow {
103
+ agent_id: string;
104
+ total: number;
105
+ completed: number;
106
+ errors: number;
107
+ error_rate: number;
108
+ consecutive_errors: number;
109
+ last_activity_type: string | null;
110
+ last_activity_at: string | null;
111
+ avg_duration_ms: number;
112
+ }
113
+ export declare function getActivitySummary(db: DB, since: string): ActivitySummaryRow[];
114
+ export {};
115
+ //# sourceMappingURL=agent-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-store.d.ts","sourceRoot":"","sources":["../../src/db/agent-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ /**
3
+ * Agent Version, Metrics & Activity Store
4
+ *
5
+ * SQLite storage for agent version history, per-version metrics, and activity logs.
6
+ * Follows Managed Agents optimistic concurrency pattern.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.initAgentTables = initAgentTables;
10
+ exports.createAgentVersion = createAgentVersion;
11
+ exports.getLatestVersion = getLatestVersion;
12
+ exports.getAgentVersion = getAgentVersion;
13
+ exports.listVersions = listVersions;
14
+ exports.upsertMetrics = upsertMetrics;
15
+ exports.getMetrics = getMetrics;
16
+ exports.compareVersionMetrics = compareVersionMetrics;
17
+ exports.logActivity = logActivity;
18
+ exports.updateActivityScore = updateActivityScore;
19
+ exports.getActivity = getActivity;
20
+ exports.getActivitySummary = getActivitySummary;
21
+ const agent_store_tables_js_1 = require("./migrations/agent-store-tables.js");
22
+ const agent_metrics_response_avg_js_1 = require("./migrations/agent-metrics-response-avg.js");
23
+ const agent_activity_validation_columns_js_1 = require("./migrations/agent-activity-validation-columns.js");
24
+ const TERMINAL_ACTIVITY_TYPES = new Set([
25
+ 'task_complete',
26
+ 'task_error',
27
+ 'task_skipped',
28
+ 'audit_complete',
29
+ 'audit_failed',
30
+ ]);
31
+ const TERMINAL_OUTCOME_ACTIVITY_SQL = [
32
+ "'task_complete'",
33
+ "'task_error'",
34
+ "'task_skipped'",
35
+ "'audit_complete'",
36
+ "'audit_failed'",
37
+ ].join(', ');
38
+ // ── Table Init ──────────────────────────────────────────────────────────────
39
+ function initAgentTables(db) {
40
+ (0, agent_store_tables_js_1.applyAgentStoreTablesMigration)(db);
41
+ (0, agent_metrics_response_avg_js_1.applyAgentMetricsResponseAverageMigration)(db);
42
+ (0, agent_activity_validation_columns_js_1.applyAgentActivityValidationColumnsMigration)(db);
43
+ }
44
+ // ── Version CRUD ────────────────────────────────────────────────────────────
45
+ function createAgentVersion(db, input) {
46
+ const snapshotJson = JSON.stringify(input.snapshot);
47
+ const tx = db.transaction(() => {
48
+ const latest = getLatestVersion(db, input.agent_id);
49
+ if (latest &&
50
+ latest.snapshot === snapshotJson &&
51
+ latest.persona_text === (input.persona_text ?? null)) {
52
+ return latest;
53
+ }
54
+ const result = db
55
+ .prepare(`INSERT INTO agent_versions (agent_id, version, snapshot, persona_text, change_note)
56
+ SELECT ?, COALESCE(MAX(version), 0) + 1, ?, ?, ?
57
+ FROM agent_versions
58
+ WHERE agent_id = ?`)
59
+ .run(input.agent_id, snapshotJson, input.persona_text ?? null, input.change_note ?? null, input.agent_id);
60
+ return db
61
+ .prepare('SELECT * FROM agent_versions WHERE id = ?')
62
+ .get(result.lastInsertRowid);
63
+ });
64
+ return tx();
65
+ }
66
+ function getLatestVersion(db, agentId) {
67
+ return (db
68
+ .prepare('SELECT * FROM agent_versions WHERE agent_id = ? ORDER BY version DESC LIMIT 1')
69
+ .get(agentId) ?? null);
70
+ }
71
+ function getAgentVersion(db, agentId, version) {
72
+ return (db
73
+ .prepare('SELECT * FROM agent_versions WHERE agent_id = ? AND version = ?')
74
+ .get(agentId, version) ?? null);
75
+ }
76
+ function listVersions(db, agentId) {
77
+ return db
78
+ .prepare('SELECT * FROM agent_versions WHERE agent_id = ? ORDER BY version DESC')
79
+ .all(agentId);
80
+ }
81
+ // ── Metrics ─────────────────────────────────────────────────────────────────
82
+ function upsertMetrics(db, input) {
83
+ const responseMs = input.avg_response_ms ?? 0;
84
+ const responseCount = input.avg_response_ms !== undefined ? 1 : 0;
85
+ db.prepare(`INSERT INTO agent_metrics (agent_id, agent_version, period_start, period_end,
86
+ input_tokens, output_tokens, tool_calls, delegations, errors, avg_response_ms, response_ms_sum, response_count)
87
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
88
+ ON CONFLICT(agent_id, agent_version, period_start) DO UPDATE SET
89
+ input_tokens = input_tokens + excluded.input_tokens,
90
+ output_tokens = output_tokens + excluded.output_tokens,
91
+ tool_calls = tool_calls + excluded.tool_calls,
92
+ delegations = delegations + excluded.delegations,
93
+ errors = errors + excluded.errors,
94
+ response_ms_sum = response_ms_sum + excluded.response_ms_sum,
95
+ response_count = response_count + excluded.response_count,
96
+ avg_response_ms = CASE
97
+ WHEN (response_count + excluded.response_count) > 0
98
+ THEN (response_ms_sum + excluded.response_ms_sum) * 1.0 / (response_count + excluded.response_count)
99
+ ELSE 0
100
+ END`).run(input.agent_id, input.agent_version, input.period_start, input.period_start, // period_end = same day for daily granularity
101
+ input.input_tokens ?? 0, input.output_tokens ?? 0, input.tool_calls ?? 0, input.delegations ?? 0, input.errors ?? 0, responseCount > 0 ? responseMs : 0, responseMs, responseCount);
102
+ }
103
+ function getMetrics(db, agentId, from, to) {
104
+ return db
105
+ .prepare('SELECT * FROM agent_metrics WHERE agent_id = ? AND period_start >= ? AND period_start < ? ORDER BY period_start')
106
+ .all(agentId, from, to);
107
+ }
108
+ function compareVersionMetrics(db, agentId, versionA, versionB) {
109
+ const ensureMetricsVersionExists = (ver) => {
110
+ const exists = db
111
+ .prepare('SELECT EXISTS(SELECT 1 FROM agent_metrics WHERE agent_id = ? AND agent_version = ?) as present')
112
+ .get(agentId, ver);
113
+ if (!exists.present) {
114
+ throw new Error(`No metrics found for agent '${agentId}' version ${ver}`);
115
+ }
116
+ };
117
+ const sumForVersion = (ver) => {
118
+ ensureMetricsVersionExists(ver);
119
+ return db
120
+ .prepare(`SELECT COALESCE(SUM(input_tokens),0) as input_tokens,
121
+ COALESCE(SUM(output_tokens),0) as output_tokens,
122
+ COALESCE(SUM(tool_calls),0) as tool_calls,
123
+ COALESCE(SUM(delegations),0) as delegations,
124
+ COALESCE(SUM(errors),0) as errors
125
+ FROM agent_metrics WHERE agent_id = ? AND agent_version = ?`)
126
+ .get(agentId, ver);
127
+ };
128
+ return {
129
+ version_a: { version: versionA, ...sumForVersion(versionA) },
130
+ version_b: { version: versionB, ...sumForVersion(versionB) },
131
+ };
132
+ }
133
+ // ── Activity CRUD ──────────────────────────────────────────────────────────
134
+ function logActivity(db, input) {
135
+ const stmt = db.prepare(`
136
+ INSERT INTO agent_activity (
137
+ agent_id, agent_version, type, input_summary, output_summary, tokens_used,
138
+ tools_called, duration_ms, score, details, error_message, run_id, execution_status, trigger_reason
139
+ )
140
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
141
+ `);
142
+ const result = stmt.run(input.agent_id, input.agent_version, input.type, input.input_summary ?? null, input.output_summary ?? null, input.tokens_used ?? 0, input.tools_called ? JSON.stringify(input.tools_called) : null, input.duration_ms ?? 0, input.score ?? null, input.details ? JSON.stringify(input.details) : null, input.error_message ?? null, input.run_id ?? null, input.execution_status ?? null, input.trigger_reason ?? null);
143
+ return db
144
+ .prepare('SELECT * FROM agent_activity WHERE id = ?')
145
+ .get(result.lastInsertRowid);
146
+ }
147
+ function updateActivityScore(db, activityId, score, details, executionStatus) {
148
+ db.prepare(`UPDATE agent_activity
149
+ SET score = ?, details = ?, execution_status = COALESCE(?, execution_status)
150
+ WHERE id = ?`).run(score, JSON.stringify(details), executionStatus ?? null, activityId);
151
+ return db.prepare('SELECT * FROM agent_activity WHERE id = ?').get(activityId);
152
+ }
153
+ function getActivity(db, agentId, limit) {
154
+ return db
155
+ .prepare('SELECT * FROM agent_activity WHERE agent_id = ? ORDER BY created_at DESC, id DESC LIMIT ?')
156
+ .all(agentId, limit);
157
+ }
158
+ function getActivitySummary(db, since) {
159
+ // Single query with CTEs — includes recent types per agent to avoid N+1 lookups.
160
+ const rows = db
161
+ .prepare(`WITH
162
+ agg AS (
163
+ SELECT
164
+ agent_id,
165
+ COUNT(CASE WHEN type IN (${TERMINAL_OUTCOME_ACTIVITY_SQL}) THEN 1 END) as total,
166
+ SUM(CASE WHEN type IN ('task_complete', 'audit_complete') THEN 1 ELSE 0 END) as completed,
167
+ SUM(CASE WHEN type IN ('task_error', 'audit_failed') THEN 1 ELSE 0 END) as errors,
168
+ ROUND(
169
+ COALESCE(
170
+ SUM(CASE WHEN type IN ('task_error', 'audit_failed') THEN 1.0 ELSE 0 END)
171
+ / NULLIF(COUNT(CASE WHEN type IN (${TERMINAL_OUTCOME_ACTIVITY_SQL}) THEN 1 END), 0)
172
+ * 100,
173
+ 0
174
+ ),
175
+ 2
176
+ ) as error_rate,
177
+ AVG(CASE WHEN type IN (${TERMINAL_OUTCOME_ACTIVITY_SQL}) AND duration_ms > 0 THEN duration_ms END) as avg_duration_ms
178
+ FROM agent_activity
179
+ WHERE created_at >= ?
180
+ GROUP BY agent_id
181
+ ),
182
+ latest AS (
183
+ SELECT agent_id, type as last_type, created_at as last_at,
184
+ ROW_NUMBER() OVER (PARTITION BY agent_id ORDER BY created_at DESC, id DESC) as rn
185
+ FROM agent_activity
186
+ WHERE created_at >= ?
187
+ ),
188
+ recent AS (
189
+ SELECT agent_id, type, rn
190
+ FROM (
191
+ SELECT
192
+ agent_id,
193
+ type,
194
+ ROW_NUMBER() OVER (PARTITION BY agent_id ORDER BY created_at DESC, id DESC) as rn
195
+ FROM agent_activity
196
+ WHERE created_at >= ?
197
+ )
198
+ WHERE rn <= 10
199
+ ),
200
+ recent_joined AS (
201
+ SELECT agent_id, GROUP_CONCAT(type, '|') as recent_types
202
+ FROM (
203
+ SELECT agent_id, type, rn
204
+ FROM recent
205
+ ORDER BY agent_id, rn
206
+ )
207
+ GROUP BY agent_id
208
+ )
209
+ SELECT
210
+ agg.*,
211
+ latest.last_type,
212
+ latest.last_at,
213
+ recent_joined.recent_types
214
+ FROM agg
215
+ LEFT JOIN latest ON agg.agent_id = latest.agent_id AND latest.rn = 1
216
+ LEFT JOIN recent_joined ON agg.agent_id = recent_joined.agent_id
217
+ ORDER BY agg.total DESC`)
218
+ .all(since, since, since);
219
+ return rows.map((row) => {
220
+ const agentId = String(row.agent_id);
221
+ const recentTypes = String(row.recent_types ?? '')
222
+ .split('|')
223
+ .filter((value) => value.length > 0)
224
+ .filter((type) => TERMINAL_ACTIVITY_TYPES.has(type))
225
+ .map((type) => ({ type }));
226
+ let consecutiveErrors = 0;
227
+ for (const r of recentTypes) {
228
+ if (r.type === 'task_error' || r.type === 'audit_failed') {
229
+ consecutiveErrors++;
230
+ }
231
+ else {
232
+ break;
233
+ }
234
+ }
235
+ return {
236
+ agent_id: agentId,
237
+ total: Number(row.total),
238
+ completed: Number(row.completed),
239
+ errors: Number(row.errors),
240
+ error_rate: Number(row.error_rate),
241
+ consecutive_errors: consecutiveErrors,
242
+ last_activity_type: row.last_type ? String(row.last_type) : null,
243
+ last_activity_at: row.last_at ? String(row.last_at) : null,
244
+ avg_duration_ms: Math.round(Number(row.avg_duration_ms ?? 0)),
245
+ };
246
+ });
247
+ }
248
+ //# sourceMappingURL=agent-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-store.js","sourceRoot":"","sources":["../../src/db/agent-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SQLiteDatabase } from '../../sqlite.js';
2
+ export declare function applyAgentActivityValidationColumnsMigration(db: SQLiteDatabase): void;
3
+ //# sourceMappingURL=agent-activity-validation-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-activity-validation-columns.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/agent-activity-validation-columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,wBAAgB,4CAA4C,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAsBrF"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyAgentActivityValidationColumnsMigration = applyAgentActivityValidationColumnsMigration;
4
+ function applyAgentActivityValidationColumnsMigration(db) {
5
+ const tableExists = db
6
+ .prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'agent_activity'")
7
+ .get();
8
+ if (!tableExists) {
9
+ return;
10
+ }
11
+ const columns = db.prepare('PRAGMA table_info(agent_activity)').all().map((column) => column.name);
12
+ if (!columns.includes('run_id')) {
13
+ db.exec('ALTER TABLE agent_activity ADD COLUMN run_id TEXT');
14
+ }
15
+ if (!columns.includes('execution_status')) {
16
+ db.exec('ALTER TABLE agent_activity ADD COLUMN execution_status TEXT');
17
+ }
18
+ if (!columns.includes('trigger_reason')) {
19
+ db.exec('ALTER TABLE agent_activity ADD COLUMN trigger_reason TEXT');
20
+ }
21
+ }
22
+ //# sourceMappingURL=agent-activity-validation-columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-activity-validation-columns.js","sourceRoot":"","sources":["../../../src/db/migrations/agent-activity-validation-columns.ts"],"names":[],"mappings":";;AAEA,oGAsBC;AAtBD,SAAgB,4CAA4C,CAAC,EAAkB;IAC7E,MAAM,WAAW,GAAG,EAAE;SACnB,OAAO,CAAC,8EAA8E,CAAC;SACvF,GAAG,EAA+B,CAAC;IAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GACX,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,EACpD,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,EAAE,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1C,EAAE,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxC,EAAE,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IACvE,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SQLiteDatabase } from '../../sqlite.js';
2
+ export declare function applyAgentMetricsResponseAverageMigration(db: SQLiteDatabase): void;
3
+ //# sourceMappingURL=agent-metrics-response-avg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-metrics-response-avg.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/agent-metrics-response-avg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,wBAAgB,yCAAyC,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CAmBlF"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyAgentMetricsResponseAverageMigration = applyAgentMetricsResponseAverageMigration;
4
+ function applyAgentMetricsResponseAverageMigration(db) {
5
+ const tableExists = db
6
+ .prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'agent_metrics'")
7
+ .get();
8
+ if (!tableExists) {
9
+ return;
10
+ }
11
+ const columns = db.prepare('PRAGMA table_info(agent_metrics)').all().map((column) => column.name);
12
+ if (!columns.includes('response_ms_sum')) {
13
+ db.exec('ALTER TABLE agent_metrics ADD COLUMN response_ms_sum REAL DEFAULT 0');
14
+ }
15
+ if (!columns.includes('response_count')) {
16
+ db.exec('ALTER TABLE agent_metrics ADD COLUMN response_count INTEGER DEFAULT 0');
17
+ }
18
+ }
19
+ //# sourceMappingURL=agent-metrics-response-avg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-metrics-response-avg.js","sourceRoot":"","sources":["../../../src/db/migrations/agent-metrics-response-avg.ts"],"names":[],"mappings":";;AAEA,8FAmBC;AAnBD,SAAgB,yCAAyC,CAAC,EAAkB;IAC1E,MAAM,WAAW,GAAG,EAAE;SACnB,OAAO,CAAC,6EAA6E,CAAC;SACtF,GAAG,EAAE,CAAC;IAET,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GACX,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,EACnD,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzC,EAAE,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxC,EAAE,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SQLiteDatabase } from '../../sqlite.js';
2
+ export declare function applyAgentStoreTablesMigration(db: SQLiteDatabase): void;
3
+ //# sourceMappingURL=agent-store-tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-store-tables.d.ts","sourceRoot":"","sources":["../../../src/db/migrations/agent-store-tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,CA4DvE"}