expxagents 0.10.5 → 0.10.7
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/dist/server/api/activity-routes.d.ts +8 -0
- package/dist/server/api/activity-routes.d.ts.map +1 -0
- package/dist/server/api/activity-routes.js +34 -0
- package/dist/server/api/activity-routes.js.map +1 -0
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +7 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/bridge/__tests__/chat-handler.test.js +2 -16
- package/dist/server/bridge/__tests__/chat-handler.test.js.map +1 -1
- package/dist/server/bridge/__tests__/chat-integration.test.js +2 -16
- package/dist/server/bridge/__tests__/chat-integration.test.js.map +1 -1
- package/dist/server/bridge/chat-handler.d.ts.map +1 -1
- package/dist/server/bridge/chat-handler.js +18 -0
- package/dist/server/bridge/chat-handler.js.map +1 -1
- package/dist/server/db/schema.d.ts +1 -1
- package/dist/server/db/schema.d.ts.map +1 -1
- package/dist/server/db/schema.js +20 -0
- package/dist/server/db/schema.js.map +1 -1
- package/dist/server/services/activity-service.d.ts +35 -0
- package/dist/server/services/activity-service.d.ts.map +1 -0
- package/dist/server/services/activity-service.js +92 -0
- package/dist/server/services/activity-service.js.map +1 -0
- package/package.json +1 -1
- package/dist/__tests__/cli.test.d.ts +0 -1
- package/dist/__tests__/cli.test.js +0 -23
- package/dist/commands/create.d.ts +0 -1
- package/dist/commands/create.js +0 -34
- package/dist/commands/init.d.ts +0 -1
- package/dist/commands/init.js +0 -58
- package/dist/commands/install.d.ts +0 -1
- package/dist/commands/install.js +0 -16
- package/dist/commands/list.d.ts +0 -1
- package/dist/commands/list.js +0 -58
- package/dist/commands/run.d.ts +0 -1
- package/dist/commands/run.js +0 -173
- package/dist/commands/server.d.ts +0 -1
- package/dist/commands/server.js +0 -22
- package/dist/commands/stop.d.ts +0 -1
- package/dist/commands/stop.js +0 -23
- package/dist/commands/uninstall.d.ts +0 -1
- package/dist/commands/uninstall.js +0 -12
- package/dist/core/vitest.config.d.ts +0 -2
- package/dist/core/vitest.config.js +0 -7
- package/dist/dashboard/assets/BufferResource-B57vmDJl.js +0 -185
- package/dist/dashboard/assets/BufferResource-BrKqN-K6.js +0 -185
- package/dist/dashboard/assets/BufferResource-C0G45m2G.js +0 -185
- package/dist/dashboard/assets/BufferResource-CGHomcGM.js +0 -185
- package/dist/dashboard/assets/BufferResource-CIY-NCa3.js +0 -185
- package/dist/dashboard/assets/BufferResource-Ca_vDLiI.js +0 -185
- package/dist/dashboard/assets/BufferResource-Cf2Uo4_f.js +0 -185
- package/dist/dashboard/assets/BufferResource-D7n27_ZU.js +0 -185
- package/dist/dashboard/assets/BufferResource-DX3wqcS6.js +0 -185
- package/dist/dashboard/assets/BufferResource-Dj9SLiH3.js +0 -185
- package/dist/dashboard/assets/BufferResource-eYRXonjN.js +0 -185
- package/dist/dashboard/assets/BufferResource-gLBr4ZPz.js +0 -185
- package/dist/dashboard/assets/BufferResource-rWjfHLh7.js +0 -185
- package/dist/dashboard/assets/CanvasRenderer-BW8VmaSp.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-BwnTm9_4.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-C72p7vYg.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-CIMYWU5h.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-CO0SKLhH.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-CQDKSCiw.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-CXWPwY8u.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-Ce2PWWVa.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-DFdMBORe.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-DHMJqOGJ.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-DaWDUaww.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-IX_LP94-.js +0 -1
- package/dist/dashboard/assets/CanvasRenderer-KeVF5eyr.js +0 -1
- package/dist/dashboard/assets/JarvisView-BRz9bEz0.js +0 -1
- package/dist/dashboard/assets/JarvisView-Cvztxzwa.js +0 -1
- package/dist/dashboard/assets/RenderTargetSystem-0ZZvvcQt.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-8UzvJaaM.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-B0x2vSUR.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-C23t6pCN.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-CMh8XRf_.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-CV6rXoGR.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-C_AXjdCf.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-D-xrrtVs.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-DPZ5MAR7.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-DSsFNic8.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-J1eg3avP.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-dUEWNLY-.js +0 -172
- package/dist/dashboard/assets/RenderTargetSystem-o9jPiFQO.js +0 -172
- package/dist/dashboard/assets/WebGLRenderer-B5FlQf9l.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-B5huw0RY.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-BgYf5FMA.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-BjYDhLDg.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-C-OGxDx9.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-CLUUiUwN.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-CeP2BqoK.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-CivCN7xy.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-D5DPC49-.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-DYZKskuK.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-HA-rk5QQ.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-b57E3WO7.js +0 -156
- package/dist/dashboard/assets/WebGLRenderer-kAq81F0P.js +0 -156
- package/dist/dashboard/assets/WebGPURenderer-8DFaO_X7.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-BYaiziZY.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-BdIKurkV.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-BxaF3qLS.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-C5RdPIC_.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-C5qxFAzO.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-C8IxuVAJ.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-CiUjzwxP.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-D3EuYGrn.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-DTCsOZ0b.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-DTu9_Wi2.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-S5l3BxP6.js +0 -41
- package/dist/dashboard/assets/WebGPURenderer-VhPALZiv.js +0 -41
- package/dist/dashboard/assets/browserAll-BOswFh_0.js +0 -14
- package/dist/dashboard/assets/browserAll-BUIMCzCP.js +0 -14
- package/dist/dashboard/assets/browserAll-BbiQUc2F.js +0 -14
- package/dist/dashboard/assets/browserAll-Bcihd0Kz.js +0 -14
- package/dist/dashboard/assets/browserAll-BfRjs8C6.js +0 -14
- package/dist/dashboard/assets/browserAll-BjVJrv1L.js +0 -14
- package/dist/dashboard/assets/browserAll-C-Weq2Yb.js +0 -14
- package/dist/dashboard/assets/browserAll-C4yDi-rg.js +0 -14
- package/dist/dashboard/assets/browserAll-C8fHaPkt.js +0 -14
- package/dist/dashboard/assets/browserAll-CMCjtKAR.js +0 -14
- package/dist/dashboard/assets/browserAll-Cg6Ia_Fa.js +0 -14
- package/dist/dashboard/assets/browserAll-DmES1VGx.js +0 -14
- package/dist/dashboard/assets/browserAll-UaM9FmiB.js +0 -14
- package/dist/dashboard/assets/index-BpBtthlo.js +0 -344
- package/dist/dashboard/assets/index-Bsm1ORbj.js +0 -344
- package/dist/dashboard/assets/index-BwP29LGC.js +0 -344
- package/dist/dashboard/assets/index-BxbxVzIC.js +0 -344
- package/dist/dashboard/assets/index-D-7NXU4-.js +0 -344
- package/dist/dashboard/assets/index-D4HcJW2u.js +0 -344
- package/dist/dashboard/assets/index-D9UJMehC.js +0 -344
- package/dist/dashboard/assets/index-DqMy22FU.js +0 -344
- package/dist/dashboard/assets/index-DwTFo09S.js +0 -344
- package/dist/dashboard/assets/index-JuIYZnY7.js +0 -344
- package/dist/dashboard/assets/index-Wm3HsDbf.js +0 -344
- package/dist/dashboard/assets/index-_r_yWM3H.js +0 -344
- package/dist/dashboard/assets/index-aYO0o-qq.js +0 -344
- package/dist/dashboard/assets/webworkerAll-Bbzbnqr0.js +0 -83
- package/dist/dashboard/assets/webworkerAll-Bmhv77Jw.js +0 -83
- package/dist/dashboard/assets/webworkerAll-CDpXHW42.js +0 -83
- package/dist/dashboard/assets/webworkerAll-CV8Lb4vK.js +0 -83
- package/dist/dashboard/assets/webworkerAll-CX20ihio.js +0 -83
- package/dist/dashboard/assets/webworkerAll-ClllZhrB.js +0 -83
- package/dist/dashboard/assets/webworkerAll-CuTXgacx.js +0 -83
- package/dist/dashboard/assets/webworkerAll-DMtK63GZ.js +0 -83
- package/dist/dashboard/assets/webworkerAll-DUAmTXT4.js +0 -83
- package/dist/dashboard/assets/webworkerAll-DW-cy7bD.js +0 -83
- package/dist/dashboard/assets/webworkerAll-DZPcwBc6.js +0 -83
- package/dist/dashboard/assets/webworkerAll-Kw76R3HQ.js +0 -83
- package/dist/dashboard/assets/webworkerAll-Y7kVdcx_.js +0 -83
- package/dist/data/opensquad.db +0 -0
- package/dist/data/opensquad.db-shm +0 -0
- package/dist/data/opensquad.db-wal +0 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -47
- package/dist/utils/config.d.ts +0 -15
- package/dist/utils/config.js +0 -23
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FastifyInstance, FastifyPluginOptions } from 'fastify';
|
|
2
|
+
import type Database from 'better-sqlite3';
|
|
3
|
+
interface ActivityRoutesOptions extends FastifyPluginOptions {
|
|
4
|
+
db: Database.Database;
|
|
5
|
+
}
|
|
6
|
+
export declare function activityRoutes(app: FastifyInstance, opts: ActivityRoutesOptions): Promise<void>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=activity-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-routes.d.ts","sourceRoot":"","sources":["../../src/api/activity-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAO3C,UAAU,qBAAsB,SAAQ,oBAAoB;IAC1D,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;CACvB;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0Cf"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { getActivitiesByDate, getDailySummary, getRecentActivities, } from '../services/activity-service.js';
|
|
2
|
+
export async function activityRoutes(app, opts) {
|
|
3
|
+
const { db } = opts;
|
|
4
|
+
// GET /api/activities?date=2026-03-14&squad=design-system
|
|
5
|
+
app.get('/api/activities', {
|
|
6
|
+
preHandler: [app.requireAuth],
|
|
7
|
+
}, async (request, reply) => {
|
|
8
|
+
const date = request.query.date ?? new Date().toISOString().slice(0, 10);
|
|
9
|
+
const squad = request.query.squad;
|
|
10
|
+
if (squad) {
|
|
11
|
+
const activities = getActivitiesByDate(db, date, squad);
|
|
12
|
+
return reply.send({ data: activities });
|
|
13
|
+
}
|
|
14
|
+
const activities = getActivitiesByDate(db, date);
|
|
15
|
+
return reply.send({ data: activities });
|
|
16
|
+
});
|
|
17
|
+
// GET /api/activities/summary?date=2026-03-14
|
|
18
|
+
app.get('/api/activities/summary', {
|
|
19
|
+
preHandler: [app.requireAuth],
|
|
20
|
+
}, async (request, reply) => {
|
|
21
|
+
const date = request.query.date ?? new Date().toISOString().slice(0, 10);
|
|
22
|
+
const summaries = getDailySummary(db, date);
|
|
23
|
+
return reply.send({ date, summaries });
|
|
24
|
+
});
|
|
25
|
+
// GET /api/activities/recent?limit=20
|
|
26
|
+
app.get('/api/activities/recent', {
|
|
27
|
+
preHandler: [app.requireAuth],
|
|
28
|
+
}, async (request, reply) => {
|
|
29
|
+
const limit = Math.min(parseInt(request.query.limit ?? '20', 10) || 20, 100);
|
|
30
|
+
const activities = getRecentActivities(db, limit);
|
|
31
|
+
return reply.send({ data: activities });
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=activity-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-routes.js","sourceRoot":"","sources":["../../src/api/activity-routes.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AAMzC,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAoB,EACpB,IAA2B;IAE3B,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IAEpB,0DAA0D;IAC1D,GAAG,CAAC,GAAG,CAEJ,iBAAiB,EAAE;QACpB,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;KAC9B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAElC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,8CAA8C;IAC9C,GAAG,CAAC,GAAG,CAEJ,yBAAyB,EAAE;QAC5B,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;KAC9B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,GAAG,CAAC,GAAG,CAEJ,wBAAwB,EAAE;QAC3B,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;KAC9B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/server/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ/C,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ/C,OAAO,EAAc,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAiBtD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,wBAAsB,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAmG/E"}
|
package/dist/server/app.js
CHANGED
|
@@ -16,6 +16,7 @@ import { usersRoutes } from './api/users-routes.js';
|
|
|
16
16
|
import { registerWebSocket } from './ws/ws-handler.js';
|
|
17
17
|
import { createFileWatcher } from './watcher/file-watcher.js';
|
|
18
18
|
import { conversationRoutes } from './routes/conversations.js';
|
|
19
|
+
import { activityRoutes } from './api/activity-routes.js';
|
|
19
20
|
import { ClaudeBridge } from './bridge/claude-bridge.js';
|
|
20
21
|
import { ChatHandler } from './bridge/chat-handler.js';
|
|
21
22
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
@@ -45,6 +46,7 @@ export async function buildApp(opts) {
|
|
|
45
46
|
await app.register(squadsRoutes, { squadsDir: config.squadsDir });
|
|
46
47
|
await app.register(usersRoutes, { db });
|
|
47
48
|
await app.register(conversationRoutes, { db });
|
|
49
|
+
await app.register(activityRoutes, { db });
|
|
48
50
|
// WebSocket
|
|
49
51
|
const wsContext = await registerWebSocket(app, config.jwtSecret, config.squadsDir);
|
|
50
52
|
// Chat Bridge
|
|
@@ -101,6 +103,11 @@ export async function buildApp(opts) {
|
|
|
101
103
|
if (request.url.startsWith('/api/') || request.url.startsWith('/ws')) {
|
|
102
104
|
return reply.code(404).send({ error: 'Not found' });
|
|
103
105
|
}
|
|
106
|
+
// Don't serve index.html for static asset requests (prevents MIME type errors)
|
|
107
|
+
const staticExtPattern = /\.(js|css|map|png|jpg|jpeg|gif|svg|ico|woff2?|ttf|eot)$/i;
|
|
108
|
+
if (staticExtPattern.test(request.url)) {
|
|
109
|
+
return reply.code(404).send({ error: 'Not found' });
|
|
110
|
+
}
|
|
104
111
|
return reply.sendFile('index.html');
|
|
105
112
|
});
|
|
106
113
|
}
|
package/dist/server/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAM/D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAsB;IACnD,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC;IAEpD,MAAM,GAAG,GAAG,OAAO,CAAC;QAClB,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SAC1D;KACF,CAAC,CAAC;IAEH,UAAU;IACV,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE;QAC5B,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,WAAW;IACX,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE3B,gDAAgD;IAChD,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEvB,kBAAkB;IAClB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9C,SAAS;IACT,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjC,MAAM,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACpE,MAAM,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAClE,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,11 @@
|
|
|
1
1
|
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
2
|
import Database from 'better-sqlite3';
|
|
3
3
|
import { ChatHandler } from '../chat-handler';
|
|
4
|
+
import { SCHEMA_SQL } from '../../db/schema';
|
|
4
5
|
function createTestDb() {
|
|
5
6
|
const db = new Database(':memory:');
|
|
6
7
|
db.pragma('journal_mode = WAL');
|
|
7
|
-
db.exec(
|
|
8
|
-
CREATE TABLE IF NOT EXISTS conversations (
|
|
9
|
-
id TEXT PRIMARY KEY,
|
|
10
|
-
squad_name TEXT NOT NULL,
|
|
11
|
-
created_at TEXT NOT NULL
|
|
12
|
-
);
|
|
13
|
-
CREATE TABLE IF NOT EXISTS chat_messages (
|
|
14
|
-
id TEXT PRIMARY KEY,
|
|
15
|
-
conversation_id TEXT NOT NULL REFERENCES conversations(id),
|
|
16
|
-
role TEXT NOT NULL,
|
|
17
|
-
content TEXT NOT NULL,
|
|
18
|
-
agent_id TEXT,
|
|
19
|
-
agent_name TEXT,
|
|
20
|
-
created_at TEXT NOT NULL
|
|
21
|
-
);
|
|
22
|
-
`);
|
|
8
|
+
db.exec(SCHEMA_SQL);
|
|
23
9
|
return db;
|
|
24
10
|
}
|
|
25
11
|
function createMockBridge() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-handler.test.js","sourceRoot":"","sources":["../../../src/bridge/__tests__/chat-handler.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-handler.test.js","sourceRoot":"","sources":["../../../src/bridge/__tests__/chat-handler.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,25 +2,11 @@ import { describe, it, expect, beforeEach, vi } from 'vitest';
|
|
|
2
2
|
import Database from 'better-sqlite3';
|
|
3
3
|
import { ChatHandler } from '../chat-handler';
|
|
4
4
|
import { getActiveConversation, getMessages, } from '../conversation';
|
|
5
|
+
import { SCHEMA_SQL } from '../../db/schema';
|
|
5
6
|
function createTestDb() {
|
|
6
7
|
const db = new Database(':memory:');
|
|
7
8
|
db.pragma('journal_mode = WAL');
|
|
8
|
-
db.exec(
|
|
9
|
-
CREATE TABLE IF NOT EXISTS conversations (
|
|
10
|
-
id TEXT PRIMARY KEY,
|
|
11
|
-
squad_name TEXT NOT NULL,
|
|
12
|
-
created_at TEXT NOT NULL
|
|
13
|
-
);
|
|
14
|
-
CREATE TABLE IF NOT EXISTS chat_messages (
|
|
15
|
-
id TEXT PRIMARY KEY,
|
|
16
|
-
conversation_id TEXT NOT NULL REFERENCES conversations(id),
|
|
17
|
-
role TEXT NOT NULL,
|
|
18
|
-
content TEXT NOT NULL,
|
|
19
|
-
agent_id TEXT,
|
|
20
|
-
agent_name TEXT,
|
|
21
|
-
created_at TEXT NOT NULL
|
|
22
|
-
);
|
|
23
|
-
`);
|
|
9
|
+
db.exec(SCHEMA_SQL);
|
|
24
10
|
return db;
|
|
25
11
|
}
|
|
26
12
|
describe('Chat round-trip integration', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-integration.test.js","sourceRoot":"","sources":["../../../src/bridge/__tests__/chat-integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EACL,qBAAqB,EACrB,WAAW,GACZ,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-integration.test.js","sourceRoot":"","sources":["../../../src/bridge/__tests__/chat-integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EACL,qBAAqB,EACrB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,SAAS,YAAY;IACnB,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,IAAI,EAAqB,CAAC;IAC1B,IAAI,UAA0E,CAAC;IAC/E,IAAI,mBAA0B,CAAC;IAC/B,IAAI,OAAoB,CAAC;IAEzB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,GAAG,YAAY,EAAE,CAAC;QACpB,UAAU,GAAG,EAAE,CAAC;QAChB,mBAAmB,GAAG,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;gBACxB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC,CAAC;YACF,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;YACxC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;SACa,CAAC;QAE7B,OAAO,GAAG,IAAI,WAAW,CAAC;YACxB,EAAE;YACF,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;gBAChC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,SAAS,EAAE,aAAa;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC;QAEvE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,2BAA2B,CAAC,CAAC;QACzF,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,CAAC,SAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,EAAE,IAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAEnE,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QAEpE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEjD,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEvC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,EAAE,IAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAExD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAChD,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACvD,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,IAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACtD,qCAAqC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAChD,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE3C,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnD,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACvD,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAChD,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QACzE,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEvD,MAAM,IAAI,GAAG,qBAAqB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,IAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,0DAA0D;QAC1D,EAAE,CAAC,OAAO,CAAC,yEAAyE,CAAC,CAAC,GAAG,CACvF,8BAA8B,EAAE,cAAc,EAAE,0BAA0B,CAC3E,CAAC;QACF,EAAE,CAAC,OAAO,CACR,mGAAmG,CACpG,CAAC,GAAG,CAAC,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,EAAE,aAAa,EAAE,0BAA0B,CAAC,CAAC;QAExH,qGAAqG;QACrG,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAE9C,8DAA8D;QAC9D,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QACtD,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9C,mDAAmD;QACnD,MAAM,qBAAqB,GAAG,UAAU,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,2BAA2B,CACtD,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAE9C,wCAAwC;QACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,CAAC,cAAc,CAAU,CAAC;QAC7G,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAEjC,mFAAmF;QACnF,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAwB,CAAC;QAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-handler.d.ts","sourceRoot":"","sources":["../../src/bridge/chat-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-handler.d.ts","sourceRoot":"","sources":["../../src/bridge/chat-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiBvD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACzE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAgE;IACjF,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,iBAAiB;IAOrC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA8ExD,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAS9C,OAAO,CAAC,WAAW;CA0CpB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createConversation, getOrCreateConversation, getRecentMessages, insertMessage, } from './conversation.js';
|
|
2
|
+
import { logActivityStart, logActivityComplete, logActivityFail, getDailySummary, formatDailySummaryForPrompt, } from '../services/activity-service.js';
|
|
2
3
|
import path from 'node:path';
|
|
3
4
|
export class ChatHandler {
|
|
4
5
|
db;
|
|
@@ -26,6 +27,12 @@ export class ChatHandler {
|
|
|
26
27
|
content: message,
|
|
27
28
|
});
|
|
28
29
|
const prompt = this.buildPrompt(squadName, conversation.id, message);
|
|
30
|
+
// Log activity start
|
|
31
|
+
const activity = logActivityStart(this.db, {
|
|
32
|
+
squadCode: squadName,
|
|
33
|
+
conversationId: conversation.id,
|
|
34
|
+
userMessage: message,
|
|
35
|
+
});
|
|
29
36
|
this.bridge.send({
|
|
30
37
|
prompt,
|
|
31
38
|
// _jarvis runs at project root (parent of squadsDir); regular squads run in their own directory
|
|
@@ -54,6 +61,8 @@ export class ChatHandler {
|
|
|
54
61
|
role: 'assistant',
|
|
55
62
|
content: fullText,
|
|
56
63
|
});
|
|
64
|
+
// Log activity complete with first 500 chars as summary
|
|
65
|
+
logActivityComplete(this.db, activity.id, fullText.slice(0, 500));
|
|
57
66
|
this.broadcast(squadName, {
|
|
58
67
|
type: 'chat:done',
|
|
59
68
|
squadName,
|
|
@@ -62,6 +71,8 @@ export class ChatHandler {
|
|
|
62
71
|
});
|
|
63
72
|
},
|
|
64
73
|
onError: (error) => {
|
|
74
|
+
// Log activity failure
|
|
75
|
+
logActivityFail(this.db, activity.id, error.message);
|
|
65
76
|
this.broadcast(squadName, {
|
|
66
77
|
type: 'chat:error',
|
|
67
78
|
squadName,
|
|
@@ -97,6 +108,13 @@ export class ChatHandler {
|
|
|
97
108
|
parts.push('You are Jarvis, the AI assistant for ExpxAgents. You help the user manage their AI squads, ' +
|
|
98
109
|
'answer questions about the platform, and execute commands. Respond concisely in Portuguese. ' +
|
|
99
110
|
'When the user asks to run or manage a squad, acknowledge the request.');
|
|
111
|
+
// Include today's activity summary so Jarvis knows what squads have been working on
|
|
112
|
+
const today = new Date().toISOString().slice(0, 10);
|
|
113
|
+
const summaries = getDailySummary(this.db, today);
|
|
114
|
+
if (summaries.length > 0) {
|
|
115
|
+
parts.push('\n\n# Atividades de hoje (' + today + '):\n' +
|
|
116
|
+
formatDailySummaryForPrompt(summaries));
|
|
117
|
+
}
|
|
100
118
|
}
|
|
101
119
|
else {
|
|
102
120
|
parts.push(`You are assisting with squad '${squadName}'.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-handler.js","sourceRoot":"","sources":["../../src/bridge/chat-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat-handler.js","sourceRoot":"","sources":["../../src/bridge/chat-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS users (\n id TEXT PRIMARY KEY,\n username TEXT UNIQUE NOT NULL,\n email TEXT,\n password_hash TEXT NOT NULL,\n role TEXT NOT NULL DEFAULT 'operator',\n created_at TEXT NOT NULL,\n last_login TEXT\n);\n\nCREATE TABLE IF NOT EXISTS sessions (\n id TEXT PRIMARY KEY,\n user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n token_hash TEXT NOT NULL,\n expires_at TEXT NOT NULL,\n created_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS audit_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n user_id TEXT NOT NULL REFERENCES users(id),\n action TEXT NOT NULL,\n details TEXT,\n created_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS conversations (\n id TEXT PRIMARY KEY,\n squad_name TEXT NOT NULL,\n created_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS chat_messages (\n id TEXT PRIMARY KEY,\n conversation_id TEXT NOT NULL REFERENCES conversations(id),\n role TEXT NOT NULL,\n content TEXT NOT NULL,\n agent_id TEXT,\n agent_name TEXT,\n created_at TEXT NOT NULL\n);\n";
|
|
1
|
+
export declare const SCHEMA_SQL = "\nCREATE TABLE IF NOT EXISTS users (\n id TEXT PRIMARY KEY,\n username TEXT UNIQUE NOT NULL,\n email TEXT,\n password_hash TEXT NOT NULL,\n role TEXT NOT NULL DEFAULT 'operator',\n created_at TEXT NOT NULL,\n last_login TEXT\n);\n\nCREATE TABLE IF NOT EXISTS sessions (\n id TEXT PRIMARY KEY,\n user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,\n token_hash TEXT NOT NULL,\n expires_at TEXT NOT NULL,\n created_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS audit_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n user_id TEXT NOT NULL REFERENCES users(id),\n action TEXT NOT NULL,\n details TEXT,\n created_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS conversations (\n id TEXT PRIMARY KEY,\n squad_name TEXT NOT NULL,\n created_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS chat_messages (\n id TEXT PRIMARY KEY,\n conversation_id TEXT NOT NULL REFERENCES conversations(id),\n role TEXT NOT NULL,\n content TEXT NOT NULL,\n agent_id TEXT,\n agent_name TEXT,\n created_at TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS squad_activities (\n id TEXT PRIMARY KEY,\n squad_code TEXT NOT NULL,\n conversation_id TEXT,\n started_at TEXT NOT NULL,\n finished_at TEXT,\n duration_ms INTEGER,\n status TEXT NOT NULL DEFAULT 'running',\n user_message TEXT,\n result_summary TEXT,\n triggered_by TEXT DEFAULT 'dashboard',\n created_at TEXT NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_squad_activities_squad_date\n ON squad_activities(squad_code, started_at);\n\nCREATE INDEX IF NOT EXISTS idx_squad_activities_date\n ON squad_activities(started_at);\n";
|
|
2
2
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,+kDA8DtB,CAAC"}
|
package/dist/server/db/schema.js
CHANGED
|
@@ -40,5 +40,25 @@ CREATE TABLE IF NOT EXISTS chat_messages (
|
|
|
40
40
|
agent_name TEXT,
|
|
41
41
|
created_at TEXT NOT NULL
|
|
42
42
|
);
|
|
43
|
+
|
|
44
|
+
CREATE TABLE IF NOT EXISTS squad_activities (
|
|
45
|
+
id TEXT PRIMARY KEY,
|
|
46
|
+
squad_code TEXT NOT NULL,
|
|
47
|
+
conversation_id TEXT,
|
|
48
|
+
started_at TEXT NOT NULL,
|
|
49
|
+
finished_at TEXT,
|
|
50
|
+
duration_ms INTEGER,
|
|
51
|
+
status TEXT NOT NULL DEFAULT 'running',
|
|
52
|
+
user_message TEXT,
|
|
53
|
+
result_summary TEXT,
|
|
54
|
+
triggered_by TEXT DEFAULT 'dashboard',
|
|
55
|
+
created_at TEXT NOT NULL
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
CREATE INDEX IF NOT EXISTS idx_squad_activities_squad_date
|
|
59
|
+
ON squad_activities(squad_code, started_at);
|
|
60
|
+
|
|
61
|
+
CREATE INDEX IF NOT EXISTS idx_squad_activities_date
|
|
62
|
+
ON squad_activities(started_at);
|
|
43
63
|
`;
|
|
44
64
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DzB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type Database from 'better-sqlite3';
|
|
2
|
+
export interface SquadActivity {
|
|
3
|
+
id: string;
|
|
4
|
+
squad_code: string;
|
|
5
|
+
conversation_id: string | null;
|
|
6
|
+
started_at: string;
|
|
7
|
+
finished_at: string | null;
|
|
8
|
+
duration_ms: number | null;
|
|
9
|
+
status: 'running' | 'completed' | 'failed';
|
|
10
|
+
user_message: string | null;
|
|
11
|
+
result_summary: string | null;
|
|
12
|
+
triggered_by: string;
|
|
13
|
+
created_at: string;
|
|
14
|
+
}
|
|
15
|
+
export interface DailySummary {
|
|
16
|
+
squad_code: string;
|
|
17
|
+
activity_count: number;
|
|
18
|
+
completed_count: number;
|
|
19
|
+
failed_count: number;
|
|
20
|
+
total_duration_ms: number;
|
|
21
|
+
activities: SquadActivity[];
|
|
22
|
+
}
|
|
23
|
+
export declare function logActivityStart(db: Database.Database, params: {
|
|
24
|
+
squadCode: string;
|
|
25
|
+
conversationId?: string;
|
|
26
|
+
userMessage?: string;
|
|
27
|
+
triggeredBy?: string;
|
|
28
|
+
}): SquadActivity;
|
|
29
|
+
export declare function logActivityComplete(db: Database.Database, activityId: string, resultSummary?: string): void;
|
|
30
|
+
export declare function logActivityFail(db: Database.Database, activityId: string, error?: string): void;
|
|
31
|
+
export declare function getActivitiesByDate(db: Database.Database, date: string, squadCode?: string): SquadActivity[];
|
|
32
|
+
export declare function getDailySummary(db: Database.Database, date: string): DailySummary[];
|
|
33
|
+
export declare function getRecentActivities(db: Database.Database, limit?: number): SquadActivity[];
|
|
34
|
+
export declare function formatDailySummaryForPrompt(summaries: DailySummary[]): string;
|
|
35
|
+
//# sourceMappingURL=activity-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-service.d.ts","sourceRoot":"","sources":["../../src/services/activity-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE;IACN,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,aAAa,CA8Bf;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAaN;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CAaN;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GACjB,aAAa,EAAE,CAajB;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,MAAM,GACX,YAAY,EAAE,CAuBhB;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,GAAE,MAAW,GACjB,aAAa,EAAE,CAIjB;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAyB7E"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { generateId } from '../bridge/conversation.js';
|
|
2
|
+
export function logActivityStart(db, params) {
|
|
3
|
+
const id = generateId();
|
|
4
|
+
const now = new Date().toISOString();
|
|
5
|
+
db.prepare(`INSERT INTO squad_activities (id, squad_code, conversation_id, started_at, status, user_message, triggered_by, created_at)
|
|
6
|
+
VALUES (?, ?, ?, ?, 'running', ?, ?, ?)`).run(id, params.squadCode, params.conversationId ?? null, now, params.userMessage ?? null, params.triggeredBy ?? 'dashboard', now);
|
|
7
|
+
return {
|
|
8
|
+
id,
|
|
9
|
+
squad_code: params.squadCode,
|
|
10
|
+
conversation_id: params.conversationId ?? null,
|
|
11
|
+
started_at: now,
|
|
12
|
+
finished_at: null,
|
|
13
|
+
duration_ms: null,
|
|
14
|
+
status: 'running',
|
|
15
|
+
user_message: params.userMessage ?? null,
|
|
16
|
+
result_summary: null,
|
|
17
|
+
triggered_by: params.triggeredBy ?? 'dashboard',
|
|
18
|
+
created_at: now,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function logActivityComplete(db, activityId, resultSummary) {
|
|
22
|
+
const now = new Date().toISOString();
|
|
23
|
+
const activity = db.prepare('SELECT started_at FROM squad_activities WHERE id = ?').get(activityId);
|
|
24
|
+
const durationMs = activity
|
|
25
|
+
? new Date(now).getTime() - new Date(activity.started_at).getTime()
|
|
26
|
+
: null;
|
|
27
|
+
db.prepare(`UPDATE squad_activities SET finished_at = ?, duration_ms = ?, status = 'completed', result_summary = ? WHERE id = ?`).run(now, durationMs, resultSummary ?? null, activityId);
|
|
28
|
+
}
|
|
29
|
+
export function logActivityFail(db, activityId, error) {
|
|
30
|
+
const now = new Date().toISOString();
|
|
31
|
+
const activity = db.prepare('SELECT started_at FROM squad_activities WHERE id = ?').get(activityId);
|
|
32
|
+
const durationMs = activity
|
|
33
|
+
? new Date(now).getTime() - new Date(activity.started_at).getTime()
|
|
34
|
+
: null;
|
|
35
|
+
db.prepare(`UPDATE squad_activities SET finished_at = ?, duration_ms = ?, status = 'failed', result_summary = ? WHERE id = ?`).run(now, durationMs, error ?? null, activityId);
|
|
36
|
+
}
|
|
37
|
+
export function getActivitiesByDate(db, date, squadCode) {
|
|
38
|
+
const startOfDay = `${date}T00:00:00.000Z`;
|
|
39
|
+
const endOfDay = `${date}T23:59:59.999Z`;
|
|
40
|
+
if (squadCode) {
|
|
41
|
+
return db.prepare(`SELECT * FROM squad_activities WHERE squad_code = ? AND started_at >= ? AND started_at <= ? ORDER BY started_at ASC`).all(squadCode, startOfDay, endOfDay);
|
|
42
|
+
}
|
|
43
|
+
return db.prepare(`SELECT * FROM squad_activities WHERE started_at >= ? AND started_at <= ? ORDER BY started_at ASC`).all(startOfDay, endOfDay);
|
|
44
|
+
}
|
|
45
|
+
export function getDailySummary(db, date) {
|
|
46
|
+
const activities = getActivitiesByDate(db, date);
|
|
47
|
+
const bySquad = new Map();
|
|
48
|
+
for (const a of activities) {
|
|
49
|
+
const list = bySquad.get(a.squad_code) ?? [];
|
|
50
|
+
list.push(a);
|
|
51
|
+
bySquad.set(a.squad_code, list);
|
|
52
|
+
}
|
|
53
|
+
const summaries = [];
|
|
54
|
+
for (const [squadCode, squadActivities] of bySquad) {
|
|
55
|
+
summaries.push({
|
|
56
|
+
squad_code: squadCode,
|
|
57
|
+
activity_count: squadActivities.length,
|
|
58
|
+
completed_count: squadActivities.filter((a) => a.status === 'completed').length,
|
|
59
|
+
failed_count: squadActivities.filter((a) => a.status === 'failed').length,
|
|
60
|
+
total_duration_ms: squadActivities.reduce((sum, a) => sum + (a.duration_ms ?? 0), 0),
|
|
61
|
+
activities: squadActivities,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return summaries;
|
|
65
|
+
}
|
|
66
|
+
export function getRecentActivities(db, limit = 20) {
|
|
67
|
+
return db.prepare('SELECT * FROM squad_activities ORDER BY started_at DESC LIMIT ?').all(limit);
|
|
68
|
+
}
|
|
69
|
+
export function formatDailySummaryForPrompt(summaries) {
|
|
70
|
+
if (summaries.length === 0) {
|
|
71
|
+
return 'Nenhuma atividade registrada hoje.';
|
|
72
|
+
}
|
|
73
|
+
const lines = [];
|
|
74
|
+
for (const s of summaries) {
|
|
75
|
+
const totalMin = Math.round(s.total_duration_ms / 60000);
|
|
76
|
+
lines.push(`## Squad: ${s.squad_code}`);
|
|
77
|
+
lines.push(`- Atividades: ${s.activity_count} (${s.completed_count} concluídas, ${s.failed_count} falhas)`);
|
|
78
|
+
lines.push(`- Tempo total: ${totalMin} minutos`);
|
|
79
|
+
for (const a of s.activities) {
|
|
80
|
+
const dur = a.duration_ms ? `${Math.round(a.duration_ms / 1000)}s` : 'em andamento';
|
|
81
|
+
const status = a.status === 'completed' ? 'OK' : a.status === 'failed' ? 'FALHA' : 'EM ANDAMENTO';
|
|
82
|
+
const msg = a.user_message ? a.user_message.slice(0, 100) : '(sem mensagem)';
|
|
83
|
+
lines.push(` - [${status}] "${msg}" (${dur})`);
|
|
84
|
+
if (a.result_summary) {
|
|
85
|
+
lines.push(` Resultado: ${a.result_summary.slice(0, 200)}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
lines.push('');
|
|
89
|
+
}
|
|
90
|
+
return lines.join('\n');
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=activity-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-service.js","sourceRoot":"","sources":["../../src/services/activity-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { execSync } from 'child_process';
|
|
3
|
-
import path from 'path';
|
|
4
|
-
describe('CLI', () => {
|
|
5
|
-
const cliPath = path.resolve(__dirname, '../../bin/expxagents.js');
|
|
6
|
-
it('shows help output with all commands', () => {
|
|
7
|
-
execSync('npm run build', { cwd: path.resolve(__dirname, '../..') });
|
|
8
|
-
const output = execSync(`node ${cliPath} --help`, { encoding: 'utf-8' });
|
|
9
|
-
expect(output).toContain('expxagents');
|
|
10
|
-
expect(output).toContain('init');
|
|
11
|
-
expect(output).toContain('create');
|
|
12
|
-
expect(output).toContain('run');
|
|
13
|
-
expect(output).toContain('stop');
|
|
14
|
-
expect(output).toContain('list');
|
|
15
|
-
expect(output).toContain('install');
|
|
16
|
-
expect(output).toContain('uninstall');
|
|
17
|
-
expect(output).toContain('server');
|
|
18
|
-
});
|
|
19
|
-
it('shows version', () => {
|
|
20
|
-
const output = execSync(`node ${cliPath} --version`, { encoding: 'utf-8' });
|
|
21
|
-
expect(output.trim()).toMatch(/^\d+\.\d+\.\d+$/);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function createCommand(): Promise<void>;
|
package/dist/commands/create.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { spawn } from 'child_process';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import fs from 'fs';
|
|
4
|
-
export async function createCommand() {
|
|
5
|
-
const cwd = process.cwd();
|
|
6
|
-
const architectPrompt = path.join(cwd, 'core', 'architect.md');
|
|
7
|
-
if (!fs.existsSync(architectPrompt)) {
|
|
8
|
-
console.error('Architect prompt not found. Run `expxagents init` first.');
|
|
9
|
-
process.exit(1);
|
|
10
|
-
}
|
|
11
|
-
const prompt = fs.readFileSync(architectPrompt, 'utf-8');
|
|
12
|
-
const squadsDir = path.join(cwd, 'squads');
|
|
13
|
-
if (!fs.existsSync(squadsDir)) {
|
|
14
|
-
fs.mkdirSync(squadsDir, { recursive: true });
|
|
15
|
-
}
|
|
16
|
-
console.log('Starting Architect agent to design your squad...\n');
|
|
17
|
-
const child = spawn('claude', ['-p', prompt], {
|
|
18
|
-
cwd: squadsDir,
|
|
19
|
-
stdio: 'inherit',
|
|
20
|
-
});
|
|
21
|
-
child.on('error', (err) => {
|
|
22
|
-
console.error(`Failed to start Claude Code: ${err.message}`);
|
|
23
|
-
console.error('Make sure Claude Code CLI is installed.');
|
|
24
|
-
process.exit(1);
|
|
25
|
-
});
|
|
26
|
-
child.on('exit', (code) => {
|
|
27
|
-
if (code === 0) {
|
|
28
|
-
console.log('\nSquad created successfully! Run `expxagents list` to see it.');
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
console.error(`\nArchitect exited with code ${code}`);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
package/dist/commands/init.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function initCommand(): Promise<void>;
|