@agentplugged/claw 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 (149) hide show
  1. package/dist/cli.d.ts +11 -0
  2. package/dist/cli.d.ts.map +1 -0
  3. package/dist/cli.js +111 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/config.d.ts +29 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +94 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/index.d.ts +17 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +54 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/memory/capture.d.ts +13 -0
  14. package/dist/memory/capture.d.ts.map +1 -0
  15. package/dist/memory/capture.js +102 -0
  16. package/dist/memory/capture.js.map +1 -0
  17. package/dist/memory/db.d.ts +56 -0
  18. package/dist/memory/db.d.ts.map +1 -0
  19. package/dist/memory/db.js +206 -0
  20. package/dist/memory/db.js.map +1 -0
  21. package/dist/memory/index.d.ts +8 -0
  22. package/dist/memory/index.d.ts.map +1 -0
  23. package/dist/memory/index.js +42 -0
  24. package/dist/memory/index.js.map +1 -0
  25. package/dist/memory/llm-extract.d.ts +13 -0
  26. package/dist/memory/llm-extract.d.ts.map +1 -0
  27. package/dist/memory/llm-extract.js +135 -0
  28. package/dist/memory/llm-extract.js.map +1 -0
  29. package/dist/memory/recall.d.ts +16 -0
  30. package/dist/memory/recall.d.ts.map +1 -0
  31. package/dist/memory/recall.js +131 -0
  32. package/dist/memory/recall.js.map +1 -0
  33. package/dist/observability/collector.d.ts +40 -0
  34. package/dist/observability/collector.d.ts.map +1 -0
  35. package/dist/observability/collector.js +119 -0
  36. package/dist/observability/collector.js.map +1 -0
  37. package/dist/observability/db.d.ts +60 -0
  38. package/dist/observability/db.d.ts.map +1 -0
  39. package/dist/observability/db.js +189 -0
  40. package/dist/observability/db.js.map +1 -0
  41. package/dist/observability/index.d.ts +7 -0
  42. package/dist/observability/index.d.ts.map +1 -0
  43. package/dist/observability/index.js +35 -0
  44. package/dist/observability/index.js.map +1 -0
  45. package/dist/observability/queries.d.ts +54 -0
  46. package/dist/observability/queries.d.ts.map +1 -0
  47. package/dist/observability/queries.js +181 -0
  48. package/dist/observability/queries.js.map +1 -0
  49. package/dist/router/classifier.d.ts +8 -0
  50. package/dist/router/classifier.d.ts.map +1 -0
  51. package/dist/router/classifier.js +90 -0
  52. package/dist/router/classifier.js.map +1 -0
  53. package/dist/router/fallback.d.ts +18 -0
  54. package/dist/router/fallback.d.ts.map +1 -0
  55. package/dist/router/fallback.js +102 -0
  56. package/dist/router/fallback.js.map +1 -0
  57. package/dist/router/index.d.ts +5 -0
  58. package/dist/router/index.d.ts.map +1 -0
  59. package/dist/router/index.js +214 -0
  60. package/dist/router/index.js.map +1 -0
  61. package/dist/router/leak-detector.d.ts +33 -0
  62. package/dist/router/leak-detector.d.ts.map +1 -0
  63. package/dist/router/leak-detector.js +320 -0
  64. package/dist/router/leak-detector.js.map +1 -0
  65. package/dist/router/logger.d.ts +18 -0
  66. package/dist/router/logger.d.ts.map +1 -0
  67. package/dist/router/logger.js +130 -0
  68. package/dist/router/logger.js.map +1 -0
  69. package/dist/router/models.d.ts +5 -0
  70. package/dist/router/models.d.ts.map +1 -0
  71. package/dist/router/models.js +96 -0
  72. package/dist/router/models.js.map +1 -0
  73. package/dist/router/providers.d.ts +4 -0
  74. package/dist/router/providers.d.ts.map +1 -0
  75. package/dist/router/providers.js +323 -0
  76. package/dist/router/providers.js.map +1 -0
  77. package/dist/router/strategy.d.ts +29 -0
  78. package/dist/router/strategy.d.ts.map +1 -0
  79. package/dist/router/strategy.js +169 -0
  80. package/dist/router/strategy.js.map +1 -0
  81. package/dist/router/types.d.ts +63 -0
  82. package/dist/router/types.d.ts.map +1 -0
  83. package/dist/router/types.js +3 -0
  84. package/dist/router/types.js.map +1 -0
  85. package/dist/sidecar/auth.d.ts +7 -0
  86. package/dist/sidecar/auth.d.ts.map +1 -0
  87. package/dist/sidecar/auth.js +36 -0
  88. package/dist/sidecar/auth.js.map +1 -0
  89. package/dist/sidecar/index.d.ts +2 -0
  90. package/dist/sidecar/index.d.ts.map +1 -0
  91. package/dist/sidecar/index.js +336 -0
  92. package/dist/sidecar/index.js.map +1 -0
  93. package/dist/sidecar/routes/addons.d.ts +6 -0
  94. package/dist/sidecar/routes/addons.d.ts.map +1 -0
  95. package/dist/sidecar/routes/addons.js +332 -0
  96. package/dist/sidecar/routes/addons.js.map +1 -0
  97. package/dist/sidecar/routes/backup.d.ts +7 -0
  98. package/dist/sidecar/routes/backup.d.ts.map +1 -0
  99. package/dist/sidecar/routes/backup.js +204 -0
  100. package/dist/sidecar/routes/backup.js.map +1 -0
  101. package/dist/sidecar/routes/channels.d.ts +4 -0
  102. package/dist/sidecar/routes/channels.d.ts.map +1 -0
  103. package/dist/sidecar/routes/channels.js +120 -0
  104. package/dist/sidecar/routes/channels.js.map +1 -0
  105. package/dist/sidecar/routes/health.d.ts +5 -0
  106. package/dist/sidecar/routes/health.d.ts.map +1 -0
  107. package/dist/sidecar/routes/health.js +28 -0
  108. package/dist/sidecar/routes/health.js.map +1 -0
  109. package/dist/sidecar/routes/memory.d.ts +7 -0
  110. package/dist/sidecar/routes/memory.d.ts.map +1 -0
  111. package/dist/sidecar/routes/memory.js +234 -0
  112. package/dist/sidecar/routes/memory.js.map +1 -0
  113. package/dist/sidecar/routes/metrics.d.ts +5 -0
  114. package/dist/sidecar/routes/metrics.d.ts.map +1 -0
  115. package/dist/sidecar/routes/metrics.js +273 -0
  116. package/dist/sidecar/routes/metrics.js.map +1 -0
  117. package/dist/sidecar/routes/restart.d.ts +4 -0
  118. package/dist/sidecar/routes/restart.d.ts.map +1 -0
  119. package/dist/sidecar/routes/restart.js +81 -0
  120. package/dist/sidecar/routes/restart.js.map +1 -0
  121. package/dist/sidecar/routes/router-config.d.ts +5 -0
  122. package/dist/sidecar/routes/router-config.d.ts.map +1 -0
  123. package/dist/sidecar/routes/router-config.js +150 -0
  124. package/dist/sidecar/routes/router-config.js.map +1 -0
  125. package/dist/sidecar/routes/security.d.ts +8 -0
  126. package/dist/sidecar/routes/security.d.ts.map +1 -0
  127. package/dist/sidecar/routes/security.js +308 -0
  128. package/dist/sidecar/routes/security.js.map +1 -0
  129. package/dist/sidecar/routes/skills.d.ts +5 -0
  130. package/dist/sidecar/routes/skills.d.ts.map +1 -0
  131. package/dist/sidecar/routes/skills.js +146 -0
  132. package/dist/sidecar/routes/skills.js.map +1 -0
  133. package/dist/sidecar/routes/soul.d.ts +4 -0
  134. package/dist/sidecar/routes/soul.d.ts.map +1 -0
  135. package/dist/sidecar/routes/soul.js +115 -0
  136. package/dist/sidecar/routes/soul.js.map +1 -0
  137. package/dist/sidecar/routes/team.d.ts +4 -0
  138. package/dist/sidecar/routes/team.d.ts.map +1 -0
  139. package/dist/sidecar/routes/team.js +139 -0
  140. package/dist/sidecar/routes/team.js.map +1 -0
  141. package/dist/sidecar/routes/update.d.ts +4 -0
  142. package/dist/sidecar/routes/update.d.ts.map +1 -0
  143. package/dist/sidecar/routes/update.js +96 -0
  144. package/dist/sidecar/routes/update.js.map +1 -0
  145. package/dist/sidecar/utils.d.ts +9 -0
  146. package/dist/sidecar/utils.d.ts.map +1 -0
  147. package/dist/sidecar/utils.js +57 -0
  148. package/dist/sidecar/utils.js.map +1 -0
  149. package/package.json +45 -0
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.handleConfigureChannels = handleConfigureChannels;
37
+ const fs = __importStar(require("fs/promises"));
38
+ const utils_1 = require("../utils");
39
+ /**
40
+ * Minimal JSON5 parser — strips single-line comments and trailing commas.
41
+ * Handles the common subset used in claw config files.
42
+ */
43
+ function parseJson5(raw) {
44
+ // Remove single-line comments
45
+ const withoutComments = raw.replace(/\/\/[^\n]*/g, "");
46
+ // Remove trailing commas before } or ]
47
+ const withoutTrailingCommas = withoutComments.replace(/,\s*([\]}])/g, "$1");
48
+ return JSON.parse(withoutTrailingCommas);
49
+ }
50
+ function serializeJson5(data) {
51
+ return JSON.stringify(data, null, 2);
52
+ }
53
+ function handleConfigureChannels(config) {
54
+ return async (req, res) => {
55
+ let body;
56
+ try {
57
+ body = (await (0, utils_1.parseBody)(req));
58
+ }
59
+ catch {
60
+ (0, utils_1.sendError)(res, 400, "Invalid JSON body");
61
+ return;
62
+ }
63
+ if (!body.channels || typeof body.channels !== "object") {
64
+ (0, utils_1.sendError)(res, 422, "Body must contain a 'channels' object");
65
+ return;
66
+ }
67
+ // Validate each channel entry has 'enabled' field
68
+ for (const [channelName, channelConfig] of Object.entries(body.channels)) {
69
+ if (typeof channelConfig.enabled !== "boolean") {
70
+ (0, utils_1.sendError)(res, 422, `Channel '${channelName}' must have an 'enabled' boolean field`);
71
+ return;
72
+ }
73
+ }
74
+ // Read existing config file
75
+ let existingConfig = {};
76
+ try {
77
+ const raw = await fs.readFile(config.configFile, "utf-8");
78
+ existingConfig = parseJson5(raw);
79
+ }
80
+ catch (err) {
81
+ // Config file may not exist yet — start with empty object
82
+ const error = err;
83
+ if (error.code !== "ENOENT") {
84
+ (0, utils_1.sendError)(res, 500, `Failed to read config file: ${error.message}`);
85
+ return;
86
+ }
87
+ }
88
+ // Merge channels section
89
+ const currentChannels = existingConfig["channels"] ?? {};
90
+ existingConfig["channels"] = {
91
+ ...currentChannels,
92
+ ...body.channels,
93
+ };
94
+ // Write back to disk
95
+ try {
96
+ await fs.mkdir(require("path").dirname(config.configFile), { recursive: true });
97
+ await fs.writeFile(config.configFile, serializeJson5(existingConfig), "utf-8");
98
+ }
99
+ catch (err) {
100
+ (0, utils_1.sendError)(res, 500, `Failed to write config file: ${err.message}`);
101
+ return;
102
+ }
103
+ // Restart openclaw to apply new channels
104
+ let restartResult;
105
+ try {
106
+ const { stdout, stderr } = await (0, utils_1.execCommand)("systemctl restart openclaw");
107
+ restartResult = stdout || stderr || "restarted";
108
+ }
109
+ catch (err) {
110
+ restartResult = `restart failed: ${err.message}`;
111
+ }
112
+ (0, utils_1.sendJson)(res, 200, {
113
+ updated: true,
114
+ channels: existingConfig["channels"],
115
+ configFile: config.configFile,
116
+ restart: restartResult,
117
+ });
118
+ };
119
+ }
120
+ //# sourceMappingURL=channels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../../src/sidecar/routes/channels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { IncomingMessage, ServerResponse } from "http";
2
+ import { ClawConfig } from "../../config";
3
+ export type RouteHandler = (req: IncomingMessage, res: ServerResponse) => Promise<void>;
4
+ export declare function handleHealth(config: ClawConfig): RouteHandler;
5
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/sidecar/routes/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,MAAM,YAAY,GAAG,CACzB,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;AAWnB,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAc7D"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleHealth = handleHealth;
4
+ const utils_1 = require("../utils");
5
+ async function getOpenclawStatus() {
6
+ try {
7
+ const { stdout } = await (0, utils_1.execCommand)("systemctl is-active openclaw");
8
+ return stdout === "active" ? "running" : "stopped";
9
+ }
10
+ catch {
11
+ return "stopped";
12
+ }
13
+ }
14
+ function handleHealth(config) {
15
+ return async (_req, res) => {
16
+ const openclawStatus = await getOpenclawStatus();
17
+ (0, utils_1.sendJson)(res, 200, {
18
+ status: "ok",
19
+ uptime: process.uptime(),
20
+ version: config.mode ? "0.1.0" : "0.1.0",
21
+ openclaw: openclawStatus,
22
+ mode: config.mode,
23
+ routerPort: config.routerPort,
24
+ sidecarPort: config.sidecarPort,
25
+ });
26
+ };
27
+ }
28
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/sidecar/routes/health.ts"],"names":[],"mappings":";;AAkBA,oCAcC;AA9BD,oCAAiD;AAOjD,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,mBAAW,EAAC,8BAA8B,CAAC,CAAC;QACrE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAAC,MAAkB;IAC7C,OAAO,KAAK,EAAE,IAAqB,EAAE,GAAmB,EAAiB,EAAE;QACzE,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAEjD,IAAA,gBAAQ,EAAC,GAAG,EAAE,GAAG,EAAE;YACjB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;YACxB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;YACxC,QAAQ,EAAE,cAAc;YACxB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ClawConfig } from "../../config";
2
+ import { RouteHandler } from "./health";
3
+ export declare function handleListMemory(config: ClawConfig): RouteHandler;
4
+ export declare function handleCreateMemory(config: ClawConfig): RouteHandler;
5
+ export declare function handleDeleteMemory(config: ClawConfig): RouteHandler;
6
+ export declare function handleListSessions(config: ClawConfig): RouteHandler;
7
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/sidecar/routes/memory.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAUxC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CA0DjE;AAWD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CA6CnE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAgCnE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CA8GnE"}
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.handleListMemory = handleListMemory;
40
+ exports.handleCreateMemory = handleCreateMemory;
41
+ exports.handleDeleteMemory = handleDeleteMemory;
42
+ exports.handleListSessions = handleListSessions;
43
+ const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
44
+ const fs = __importStar(require("fs"));
45
+ const url = __importStar(require("url"));
46
+ const utils_1 = require("../utils");
47
+ function handleListMemory(config) {
48
+ return async (req, res) => {
49
+ const memoryDb = `${config.runtimeDir}/data/memory.db`;
50
+ if (!fs.existsSync(memoryDb)) {
51
+ (0, utils_1.sendJson)(res, 200, { memories: [], total: 0, page: 1, pageSize: 20 });
52
+ return;
53
+ }
54
+ // Parse pagination from query string
55
+ const parsedUrl = url.parse(req.url ?? "", true);
56
+ const page = Math.max(1, parseInt(parsedUrl.query["page"] ?? "1", 10));
57
+ const pageSize = Math.min(100, Math.max(1, parseInt(parsedUrl.query["pageSize"] ?? "20", 10)));
58
+ const offset = (page - 1) * pageSize;
59
+ let db = null;
60
+ try {
61
+ db = new better_sqlite3_1.default(memoryDb, { readonly: true });
62
+ const countRow = db
63
+ .prepare("SELECT COUNT(*) as total FROM memories")
64
+ .get();
65
+ const total = countRow?.total ?? 0;
66
+ const memories = db
67
+ .prepare(`SELECT id, content, metadata, created_at, updated_at
68
+ FROM memories
69
+ ORDER BY created_at DESC
70
+ LIMIT ? OFFSET ?`)
71
+ .all(pageSize, offset);
72
+ db.close();
73
+ (0, utils_1.sendJson)(res, 200, {
74
+ memories: memories.map((m) => ({
75
+ id: m.id,
76
+ content: m.content,
77
+ metadata: m.metadata ? JSON.parse(m.metadata) : null,
78
+ createdAt: m.created_at,
79
+ updatedAt: m.updated_at,
80
+ })),
81
+ total,
82
+ page,
83
+ pageSize,
84
+ totalPages: Math.ceil(total / pageSize),
85
+ });
86
+ }
87
+ catch (err) {
88
+ db?.close();
89
+ (0, utils_1.sendError)(res, 500, `Failed to query memory: ${err.message}`);
90
+ }
91
+ };
92
+ }
93
+ function handleCreateMemory(config) {
94
+ return async (req, res) => {
95
+ const memoryDbPath = `${config.runtimeDir}/data/memory.db`;
96
+ let db = null;
97
+ try {
98
+ const chunks = [];
99
+ for await (const chunk of req)
100
+ chunks.push(chunk);
101
+ const body = JSON.parse(Buffer.concat(chunks).toString());
102
+ if (!body.content || typeof body.content !== "string" || !body.content.trim()) {
103
+ (0, utils_1.sendError)(res, 400, "content is required and must be a non-empty string");
104
+ return;
105
+ }
106
+ const type = body.type ?? "fact";
107
+ const source = body.source ?? "dashboard";
108
+ const confidence = body.confidence ?? 1.0;
109
+ const content = body.content.trim();
110
+ db = new better_sqlite3_1.default(memoryDbPath);
111
+ const result = db
112
+ .prepare("INSERT INTO memories (type, content, source, confidence) VALUES (?, ?, ?, ?)")
113
+ .run(type, content, source, confidence);
114
+ const inserted = db
115
+ .prepare("SELECT id, type, content, source, confidence, created_at FROM memories WHERE id = ?")
116
+ .get(result.lastInsertRowid);
117
+ (0, utils_1.sendJson)(res, 201, {
118
+ ok: true,
119
+ id: result.lastInsertRowid,
120
+ memory: inserted,
121
+ });
122
+ }
123
+ catch (err) {
124
+ (0, utils_1.sendError)(res, 500, `Failed to create memory: ${err.message}`);
125
+ }
126
+ finally {
127
+ db?.close();
128
+ }
129
+ };
130
+ }
131
+ function handleDeleteMemory(config) {
132
+ return async (req, res) => {
133
+ const memoryDbPath = `${config.runtimeDir}/data/memory.db`;
134
+ let db = null;
135
+ try {
136
+ const match = req.url?.match(/\/memory\/(\d+)/);
137
+ if (!match) {
138
+ (0, utils_1.sendError)(res, 400, "Invalid URL — expected /memory/:id");
139
+ return;
140
+ }
141
+ const parsedId = parseInt(match[1], 10);
142
+ db = new better_sqlite3_1.default(memoryDbPath);
143
+ const result = db
144
+ .prepare("DELETE FROM memories WHERE id = ?")
145
+ .run(parsedId);
146
+ if (result.changes === 0) {
147
+ (0, utils_1.sendError)(res, 404, "Memory not found");
148
+ return;
149
+ }
150
+ (0, utils_1.sendJson)(res, 200, { ok: true, id: parsedId });
151
+ }
152
+ catch (err) {
153
+ (0, utils_1.sendError)(res, 500, `Failed to delete memory: ${err.message}`);
154
+ }
155
+ finally {
156
+ db?.close();
157
+ }
158
+ };
159
+ }
160
+ function handleListSessions(config) {
161
+ return async (_req, res) => {
162
+ const routerDb = `${config.runtimeDir}/data/router.db`;
163
+ if (!fs.existsSync(routerDb)) {
164
+ (0, utils_1.sendJson)(res, 200, { sessions: [], total: 0 });
165
+ return;
166
+ }
167
+ let db = null;
168
+ try {
169
+ db = new better_sqlite3_1.default(routerDb, { readonly: true });
170
+ // Try to query by session_id if that column exists
171
+ let sessions = [];
172
+ try {
173
+ sessions = db
174
+ .prepare(`SELECT
175
+ session_id,
176
+ model,
177
+ COUNT(*) as message_count,
178
+ SUM(inputTokens + outputTokens) as total_tokens,
179
+ SUM(cost) as total_cost,
180
+ MAX(timestamp) as last_activity,
181
+ MIN(timestamp) as first_activity
182
+ FROM router_logs
183
+ WHERE timestamp >= datetime('now', '-24 hours')
184
+ GROUP BY session_id
185
+ ORDER BY last_activity DESC
186
+ LIMIT 50`)
187
+ .all();
188
+ }
189
+ catch {
190
+ const recent = db
191
+ .prepare(`SELECT rowid as id, model, inputTokens, outputTokens, cost, timestamp, success
192
+ FROM router_logs
193
+ WHERE timestamp >= datetime('now', '-1 hour')
194
+ ORDER BY timestamp DESC
195
+ LIMIT 50`)
196
+ .all();
197
+ db.close();
198
+ (0, utils_1.sendJson)(res, 200, {
199
+ sessions: recent.map((r) => ({
200
+ id: r.id,
201
+ model: r.model,
202
+ tokens: r.inputTokens + r.outputTokens,
203
+ cost: r.cost,
204
+ timestamp: r.timestamp,
205
+ success: r.success === 1,
206
+ })),
207
+ total: recent.length,
208
+ mode: "recent_requests",
209
+ });
210
+ return;
211
+ }
212
+ db.close();
213
+ (0, utils_1.sendJson)(res, 200, {
214
+ sessions: sessions.map((s) => ({
215
+ sessionId: s.session_id,
216
+ model: s.model,
217
+ messageCount: s.message_count,
218
+ totalTokens: s.total_tokens,
219
+ totalCost: s.total_cost,
220
+ lastActivity: s.last_activity,
221
+ firstActivity: s.first_activity,
222
+ active: new Date(s.last_activity) >
223
+ new Date(Date.now() - 5 * 60 * 1000),
224
+ })),
225
+ total: sessions.length,
226
+ });
227
+ }
228
+ catch (err) {
229
+ db?.close();
230
+ (0, utils_1.sendError)(res, 500, `Failed to query sessions: ${err.message}`);
231
+ }
232
+ };
233
+ }
234
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/sidecar/routes/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { RouteHandler } from "./health";
2
+ export declare function handleMetrics(routerDbPath: string, metricsDbPath: string): RouteHandler;
3
+ export declare function handleRouterMetrics(routerDbPath: string): RouteHandler;
4
+ export declare function handleLiveMetrics(routerDbPath: string): RouteHandler;
5
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/sidecar/routes/metrics.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAsGxC,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,YAAY,CA2FvF;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CA6DtE;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAqEpE"}