@geminilight/mindos 1.1.5 → 1.1.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.
Files changed (72) hide show
  1. package/dist/server/contract.d.ts.map +1 -1
  2. package/dist/server/contract.js +3 -0
  3. package/dist/server/contract.js.map +1 -1
  4. package/dist/server/handlers/agent-activity.d.ts +1 -1
  5. package/dist/server/handlers/agent-activity.d.ts.map +1 -1
  6. package/dist/server/handlers/agent-activity.js +8 -6
  7. package/dist/server/handlers/agent-activity.js.map +1 -1
  8. package/dist/server/handlers/ask-sessions.d.ts.map +1 -1
  9. package/dist/server/handlers/ask-sessions.js +150 -23
  10. package/dist/server/handlers/ask-sessions.js.map +1 -1
  11. package/dist/server/handlers/assistants.d.ts +89 -0
  12. package/dist/server/handlers/assistants.d.ts.map +1 -0
  13. package/dist/server/handlers/assistants.js +369 -0
  14. package/dist/server/handlers/assistants.js.map +1 -0
  15. package/dist/server/handlers/audit-log.d.ts +12 -0
  16. package/dist/server/handlers/audit-log.d.ts.map +1 -0
  17. package/dist/server/handlers/audit-log.js +265 -0
  18. package/dist/server/handlers/audit-log.js.map +1 -0
  19. package/dist/server/handlers/change-log-store.d.ts +13 -0
  20. package/dist/server/handlers/change-log-store.d.ts.map +1 -0
  21. package/dist/server/handlers/change-log-store.js +167 -0
  22. package/dist/server/handlers/change-log-store.js.map +1 -0
  23. package/dist/server/handlers/changes.d.ts +1 -1
  24. package/dist/server/handlers/changes.d.ts.map +1 -1
  25. package/dist/server/handlers/changes.js +27 -15
  26. package/dist/server/handlers/changes.js.map +1 -1
  27. package/dist/server/handlers/file.d.ts.map +1 -1
  28. package/dist/server/handlers/file.js +24 -48
  29. package/dist/server/handlers/file.js.map +1 -1
  30. package/dist/server/handlers/graph.d.ts +2 -5
  31. package/dist/server/handlers/graph.d.ts.map +1 -1
  32. package/dist/server/handlers/graph.js +6 -115
  33. package/dist/server/handlers/graph.js.map +1 -1
  34. package/dist/server/handlers/jsonl-log.d.ts +56 -0
  35. package/dist/server/handlers/jsonl-log.d.ts.map +1 -0
  36. package/dist/server/handlers/jsonl-log.js +153 -0
  37. package/dist/server/handlers/jsonl-log.js.map +1 -0
  38. package/dist/server/handlers/mcp-install.d.ts.map +1 -1
  39. package/dist/server/handlers/mcp-install.js +5 -2
  40. package/dist/server/handlers/mcp-install.js.map +1 -1
  41. package/dist/server/handlers/monitoring.d.ts +8 -0
  42. package/dist/server/handlers/monitoring.d.ts.map +1 -1
  43. package/dist/server/handlers/monitoring.js +25 -2
  44. package/dist/server/handlers/monitoring.js.map +1 -1
  45. package/dist/server/handlers/sync.d.ts +1 -0
  46. package/dist/server/handlers/sync.d.ts.map +1 -1
  47. package/dist/server/handlers/sync.js +35 -4
  48. package/dist/server/handlers/sync.js.map +1 -1
  49. package/dist/server/http.d.ts +4 -0
  50. package/dist/server/http.d.ts.map +1 -1
  51. package/dist/server/http.js +35 -5
  52. package/dist/server/http.js.map +1 -1
  53. package/dist/server/index.d.ts +2 -1
  54. package/dist/server/index.d.ts.map +1 -1
  55. package/dist/server/index.js +2 -1
  56. package/dist/server/index.js.map +1 -1
  57. package/dist/server/link-index.d.ts +29 -0
  58. package/dist/server/link-index.d.ts.map +1 -0
  59. package/dist/server/link-index.js +137 -0
  60. package/dist/server/link-index.js.map +1 -0
  61. package/dist/server/route-ownership.d.ts.map +1 -1
  62. package/dist/server/route-ownership.js +1 -0
  63. package/dist/server/route-ownership.js.map +1 -1
  64. package/dist/server/runtime.d.ts +4 -0
  65. package/dist/server/runtime.d.ts.map +1 -1
  66. package/dist/server/runtime.js +1 -1
  67. package/dist/server/runtime.js.map +1 -1
  68. package/dist/server/tree-cache.d.ts +35 -0
  69. package/dist/server/tree-cache.d.ts.map +1 -0
  70. package/dist/server/tree-cache.js +0 -0
  71. package/dist/server/tree-cache.js.map +1 -0
  72. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/server/contract.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,QAAQ,CAAC;IAClB,eAAe,EAAE,CAAC,CAAC;IACnB,MAAM,EAAE,yBAAyB,EAAE,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,yBAAyB,EAuG3D,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,oBAAoB,CAM9D"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/server/contract.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,QAAQ,CAAC;IAClB,eAAe,EAAE,CAAC,CAAC;IACnB,MAAM,EAAE,yBAAyB,EAAE,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,yBAAyB,EA0G3D,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,oBAAoB,CAM9D"}
@@ -27,6 +27,9 @@ export const MINDOS_SERVER_ROUTES = [
27
27
  { id: 'backlinks', method: 'GET', path: '/api/backlinks', auth: 'required' },
28
28
  { id: 'graph', method: 'GET', path: '/api/graph', auth: 'required' },
29
29
  { id: 'agent-activity', method: 'GET', path: '/api/agent-activity', auth: 'required' },
30
+ { id: 'assistants', method: 'GET', path: '/api/assistants', auth: 'required' },
31
+ { id: 'assistants.create', method: 'POST', path: '/api/assistants', auth: 'required' },
32
+ { id: 'assistants.delete', method: 'DELETE', path: '/api/assistants', auth: 'required' },
30
33
  { id: 'agent-capabilities', method: 'GET', path: '/api/agent-capabilities', auth: 'required' },
31
34
  { id: 'agent-runtimes', method: 'GET', path: '/api/agent-runtimes', auth: 'required' },
32
35
  { id: 'agent-runtimes.codex.threads', method: 'GET', path: '/api/agent-runtimes/codex/threads', auth: 'required' },
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/server/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/server/contract.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type AgentAuditEvent } from '../../knowledge/audit/index.js';
1
+ import type { AgentAuditEvent } from '../../knowledge/audit/index.js';
2
2
  import { type MindosRequestQuery } from '../context.js';
3
3
  import { type MindosServerResponse } from '../response.js';
4
4
  export type AgentActivityHandlerServices = {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-activity.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/agent-activity.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAA6B,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,kBAAkB,GAAG,SAAS,EACrC,QAAQ,EAAE,4BAA4B,GACrC,OAAO,CAAC,oBAAoB,CAAC,oBAAoB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAMzE"}
1
+ {"version":3,"file":"agent-activity.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/agent-activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAA6B,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtF,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,kBAAkB,GAAG,SAAS,EACrC,QAAQ,EAAE,4BAA4B,GACrC,OAAO,CAAC,oBAAoB,CAAC,oBAAoB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAQzE"}
@@ -1,13 +1,15 @@
1
- import { LocalFileSystem } from '../../knowledge/storage/local.js';
2
- import { listAgentAuditEvents } from '../../knowledge/audit/index.js';
3
1
  import { queryValue } from '../context.js';
4
2
  import { json, privateCacheHeaders } from '../response.js';
3
+ import { listAgentAuditEventsFromLog } from './audit-log.js';
5
4
  export async function handleAgentActivity(query, services) {
6
5
  const limit = parseLimit(queryValue(query, 'limit'));
7
- const result = await listAgentAuditEvents(new LocalFileSystem(), services.mindRoot, limit);
8
- return result.ok
9
- ? json({ events: result.value }, { headers: privateCacheHeaders(30) })
10
- : json({ error: result.error.message }, { status: 500 });
6
+ try {
7
+ const events = listAgentAuditEventsFromLog(services.mindRoot, limit);
8
+ return json({ events }, { headers: privateCacheHeaders(30) });
9
+ }
10
+ catch (error) {
11
+ return json({ error: error instanceof Error ? error.message : String(error) }, { status: 500 });
12
+ }
11
13
  }
12
14
  function parseLimit(value) {
13
15
  const parsed = value ? Number.parseInt(value, 10) : 10;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-activity.js","sourceRoot":"","sources":["../../../src/server/handlers/agent-activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAwB,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,UAAU,EAA2B,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAA6B,MAAM,gBAAgB,CAAC;AAUtF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAqC,EACrC,QAAsC;IAEtC,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,eAAe,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC,EAAE;QACd,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC;QACtE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"agent-activity.js","sourceRoot":"","sources":["../../../src/server/handlers/agent-activity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAA2B,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAA6B,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAU7D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAqC,EACrC,QAAsC;IAEtC,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ask-sessions.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/ask-sessions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAIjE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,0BAA+B,GACxC,oBAAoB,CAAC,iBAAiB,EAAE,CAAC,CAE3C;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,0BAA+B,GACxC,oBAAoB,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAkBxD;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,0BAA+B,GACxC,oBAAoB,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBxD"}
1
+ {"version":3,"file":"ask-sessions.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/ask-sessions.ts"],"names":[],"mappings":"AAaA,OAAO,EAAQ,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AASjE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,0BAA+B,GACxC,oBAAoB,CAAC,iBAAiB,EAAE,CAAC,CAE3C;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,0BAA+B,GACxC,oBAAoB,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAaxD;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,0BAA+B,GACxC,oBAAoB,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBxD"}
@@ -1,8 +1,14 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
1
+ import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, unlinkSync, writeFileSync, } from 'node:fs';
2
+ import { createHash } from 'node:crypto';
2
3
  import { homedir } from 'node:os';
3
- import { dirname, join } from 'node:path';
4
+ import { basename, dirname, extname, join } from 'node:path';
4
5
  import { json } from '../response.js';
5
6
  const MAX_SESSIONS = 30;
7
+ // One session's serialized JSON may not exceed this; oldest messages are
8
+ // dropped first. Keeps a runaway conversation from growing a file unboundedly.
9
+ const MAX_SESSION_BYTES = 4_000_000;
10
+ // Filesystems commonly cap filenames at 255 bytes; hash anything longer.
11
+ const MAX_ENCODED_ID_CHARS = 200;
6
12
  export function handleAskSessionsGet(services = {}) {
7
13
  return json(readSessions(resolveStorePath(services)));
8
14
  }
@@ -12,16 +18,11 @@ export function handleAskSessionsPost(body, services = {}) {
12
18
  return json({ error: 'Invalid session payload' }, { status: 400 });
13
19
  }
14
20
  const storePath = resolveStorePath(services);
15
- const sessions = readSessions(storePath);
16
- const idx = sessions.findIndex((item) => item.id === session.id);
17
- if (idx >= 0) {
18
- sessions[idx] = session;
19
- }
20
- else {
21
- sessions.push(session);
22
- }
23
- sessions.sort((a, b) => getUpdatedAt(b) - getUpdatedAt(a));
24
- writeSessions(storePath, sessions);
21
+ migrateLegacyStoreIfNeeded(storePath);
22
+ // Per-session files: saving one session writes one small file instead of
23
+ // rewriting every session on each (debounced ~600ms) client flush.
24
+ writeSessionFile(storePath, capSessionSize(session));
25
+ pruneToMaxSessions(storePath);
25
26
  return json({ ok: true });
26
27
  }
27
28
  export function handleAskSessionsDelete(body, services = {}) {
@@ -35,22 +36,58 @@ export function handleAskSessionsDelete(body, services = {}) {
35
36
  return json({ error: 'id or ids is required' }, { status: 400 });
36
37
  }
37
38
  const storePath = resolveStorePath(services);
38
- const deleteSet = new Set(ids);
39
- writeSessions(storePath, readSessions(storePath).filter((session) => !deleteSet.has(session.id)));
39
+ migrateLegacyStoreIfNeeded(storePath);
40
+ for (const id of ids) {
41
+ try {
42
+ unlinkSync(sessionFilePath(storePath, id));
43
+ }
44
+ catch {
45
+ // Deleting a session that does not exist is a no-op, matching the
46
+ // previous filter-based behavior.
47
+ }
48
+ }
40
49
  return json({ ok: true });
41
50
  }
42
51
  function resolveStorePath(services) {
43
52
  return services.storePath ?? join(homedir(), '.mindos', 'sessions.json');
44
53
  }
54
+ /** `~/.mindos/sessions.json` (legacy single file) -> `~/.mindos/sessions/` */
55
+ function sessionsDirFor(storePath) {
56
+ const ext = extname(storePath);
57
+ const stem = ext ? basename(storePath, ext) : `${basename(storePath)}.d`;
58
+ return join(dirname(storePath), stem);
59
+ }
60
+ function encodeSessionId(id) {
61
+ if (id.length === 0)
62
+ return '_';
63
+ const encoded = Buffer.from(id, 'utf-8').toString('base64url');
64
+ if (encoded.length <= MAX_ENCODED_ID_CHARS)
65
+ return encoded;
66
+ return `h-${createHash('sha256').update(id, 'utf-8').digest('hex')}`;
67
+ }
68
+ function sessionFilePath(storePath, id) {
69
+ return join(sessionsDirFor(storePath), `${encodeSessionId(id)}.json`);
70
+ }
45
71
  function readSessions(storePath) {
46
72
  try {
47
- if (!existsSync(storePath))
73
+ migrateLegacyStoreIfNeeded(storePath);
74
+ const dir = sessionsDirFor(storePath);
75
+ if (!existsSync(dir))
48
76
  return [];
49
- const parsed = JSON.parse(readFileSync(storePath, 'utf-8'));
50
- if (!Array.isArray(parsed))
51
- return [];
52
- return parsed
53
- .filter(isValidSession)
77
+ const sessions = [];
78
+ for (const name of readdirSync(dir)) {
79
+ if (!name.endsWith('.json'))
80
+ continue;
81
+ try {
82
+ const parsed = JSON.parse(readFileSync(join(dir, name), 'utf-8'));
83
+ if (isValidSession(parsed))
84
+ sessions.push(parsed);
85
+ }
86
+ catch {
87
+ // Skip an unreadable/corrupted session file; the rest stay available.
88
+ }
89
+ }
90
+ return sessions
54
91
  .sort((a, b) => getUpdatedAt(b) - getUpdatedAt(a))
55
92
  .slice(0, MAX_SESSIONS);
56
93
  }
@@ -58,9 +95,99 @@ function readSessions(storePath) {
58
95
  return [];
59
96
  }
60
97
  }
61
- function writeSessions(storePath, sessions) {
62
- mkdirSync(dirname(storePath), { recursive: true });
63
- writeFileSync(storePath, JSON.stringify(sessions.slice(0, MAX_SESSIONS), null, 2), 'utf-8');
98
+ // CONSTRAINT: read-modify-write here is only safe because every handler in this
99
+ // file is synchronous (single JS turn = no interleaving). If any of this moves
100
+ // to async fs APIs, a write queue must be added or concurrent upserts will
101
+ // clobber each other. Cross-process locking (web + mcp servers sharing the
102
+ // store) is intentionally out of scope — see spec-chat-session-concurrency.md.
103
+ function writeSessionFile(storePath, session) {
104
+ const file = sessionFilePath(storePath, session.id);
105
+ mkdirSync(dirname(file), { recursive: true });
106
+ // Atomic replace: a crash mid-write must never leave a truncated session file.
107
+ const tmpPath = `${file}.${process.pid}.tmp`;
108
+ try {
109
+ writeFileSync(tmpPath, JSON.stringify(session, null, 2), 'utf-8');
110
+ renameSync(tmpPath, file);
111
+ }
112
+ catch (error) {
113
+ try {
114
+ unlinkSync(tmpPath);
115
+ }
116
+ catch { /* ignore cleanup errors */ }
117
+ throw error;
118
+ }
119
+ }
120
+ /** Drops oldest messages (by halves) until the serialized session fits the cap. */
121
+ function capSessionSize(session) {
122
+ if (Buffer.byteLength(JSON.stringify(session), 'utf-8') <= MAX_SESSION_BYTES)
123
+ return session;
124
+ let messages = session.messages;
125
+ while (messages.length > 1) {
126
+ messages = messages.slice(Math.ceil(messages.length / 2));
127
+ if (Buffer.byteLength(JSON.stringify({ ...session, messages }), 'utf-8') <= MAX_SESSION_BYTES)
128
+ break;
129
+ }
130
+ return { ...session, messages };
131
+ }
132
+ /** Keeps only the MAX_SESSIONS most recently updated session files. */
133
+ function pruneToMaxSessions(storePath) {
134
+ const dir = sessionsDirFor(storePath);
135
+ let names;
136
+ try {
137
+ names = readdirSync(dir).filter((name) => name.endsWith('.json'));
138
+ }
139
+ catch {
140
+ return;
141
+ }
142
+ if (names.length <= MAX_SESSIONS)
143
+ return;
144
+ const entries = names.map((name) => {
145
+ let updatedAt = 0;
146
+ let valid = false;
147
+ try {
148
+ const parsed = JSON.parse(readFileSync(join(dir, name), 'utf-8'));
149
+ if (isValidSession(parsed)) {
150
+ valid = true;
151
+ updatedAt = getUpdatedAt(parsed);
152
+ }
153
+ }
154
+ catch {
155
+ // Corrupted files sort oldest so they are pruned first.
156
+ }
157
+ return { name, updatedAt, valid };
158
+ });
159
+ entries.sort((a, b) => (Number(b.valid) - Number(a.valid)) || (b.updatedAt - a.updatedAt));
160
+ for (const entry of entries.slice(MAX_SESSIONS)) {
161
+ try {
162
+ unlinkSync(join(dir, entry.name));
163
+ }
164
+ catch {
165
+ // Best-effort prune; a leftover file is re-pruned on the next save.
166
+ }
167
+ }
168
+ }
169
+ /**
170
+ * One-time migration of the legacy single `sessions.json` (full array rewritten
171
+ * on every save) into per-session files. The legacy file is removed afterwards
172
+ * — even when corrupted — so it can never shadow the new layout.
173
+ */
174
+ function migrateLegacyStoreIfNeeded(storePath) {
175
+ if (!existsSync(storePath))
176
+ return;
177
+ try {
178
+ const parsed = JSON.parse(readFileSync(storePath, 'utf-8'));
179
+ if (Array.isArray(parsed)) {
180
+ for (const session of parsed.filter(isValidSession).slice(0, MAX_SESSIONS)) {
181
+ if (!existsSync(sessionFilePath(storePath, session.id))) {
182
+ writeSessionFile(storePath, capSessionSize(session));
183
+ }
184
+ }
185
+ }
186
+ }
187
+ catch {
188
+ // Corrupted legacy store: previous behavior treated it as empty.
189
+ }
190
+ rmSync(storePath, { force: true });
64
191
  }
65
192
  function isValidSession(value) {
66
193
  return Boolean(value
@@ -1 +1 @@
1
- {"version":3,"file":"ask-sessions.js","sourceRoot":"","sources":["../../../src/server/handlers/ask-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-sessions.js","sourceRoot":"","sources":["../../../src/server/handlers/ask-sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { type MindosServerResponse } from '../response.js';
2
+ export declare const MINDOS_ASSISTANTS_ROOT = ".mindos/assistants";
3
+ export type MindosAssistantProfileMetadata = {
4
+ skills: string[];
5
+ mcp: string[];
6
+ preferredAgent?: string;
7
+ };
8
+ export type MindosAssistantOrigin = 'builtin' | 'custom';
9
+ export type MindosAssistantPaths = {
10
+ root: string;
11
+ profile: string;
12
+ prompt: string;
13
+ };
14
+ export type MindosAssistantPromptPayload = {
15
+ exists: boolean;
16
+ content?: string;
17
+ };
18
+ export type MindosAssistantHealthIssue = {
19
+ code: 'missing_prompt';
20
+ } | {
21
+ code: 'missing_profile';
22
+ } | {
23
+ code: 'invalid_profile';
24
+ } | {
25
+ code: 'unreadable_profile';
26
+ } | {
27
+ code: 'unsupported_schema';
28
+ schemaVersion: number;
29
+ } | {
30
+ code: 'prompt_too_large';
31
+ sizeBytes: number;
32
+ maxBytes: number;
33
+ };
34
+ export type MindosAssistantHealth = {
35
+ state: 'ready' | 'warning';
36
+ issues: MindosAssistantHealthIssue[];
37
+ };
38
+ export type MindosAssistantLibraryItem = {
39
+ id: string;
40
+ name: string;
41
+ description: string;
42
+ schemaVersion: 1;
43
+ preferredAgent?: string;
44
+ skills: string[];
45
+ mcp: string[];
46
+ source: MindosAssistantOrigin;
47
+ deletable: boolean;
48
+ paths: MindosAssistantPaths;
49
+ prompt: MindosAssistantPromptPayload;
50
+ health: MindosAssistantHealth;
51
+ /**
52
+ * Compatibility aliases for older Web code. New clients should use paths/prompt/health.
53
+ */
54
+ promptPath: string;
55
+ profilePath: string;
56
+ promptReady: boolean;
57
+ profileReady: boolean;
58
+ promptTitle?: string;
59
+ promptPreview: string;
60
+ profileError?: 'invalid_json' | 'unreadable';
61
+ };
62
+ export type MindosAssistantsPayload = {
63
+ root: typeof MINDOS_ASSISTANTS_ROOT;
64
+ assistants: MindosAssistantLibraryItem[];
65
+ };
66
+ export type MindosAssistantWritePayload = {
67
+ ok: true;
68
+ id: string;
69
+ paths: MindosAssistantPaths;
70
+ };
71
+ export type MindosAssistantDeletePayload = {
72
+ ok: true;
73
+ id: string;
74
+ };
75
+ export type MindosAssistantsServices = {
76
+ mindRoot: string;
77
+ };
78
+ export declare function handleAssistantsGet(services: MindosAssistantsServices): MindosServerResponse<MindosAssistantsPayload | {
79
+ error: string;
80
+ }>;
81
+ export declare function handleAssistantsPost(body: unknown, services: MindosAssistantsServices): MindosServerResponse<MindosAssistantWritePayload | {
82
+ error: string;
83
+ }>;
84
+ export declare function handleAssistantsDelete(body: unknown, services: MindosAssistantsServices): MindosServerResponse<MindosAssistantDeletePayload | {
85
+ error: string;
86
+ }>;
87
+ export declare function listLocalAssistants(mindRoot: string): MindosAssistantLibraryItem[];
88
+ export declare function isMindosBuiltinAssistantId(assistantId: string): boolean;
89
+ //# sourceMappingURL=assistants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistants.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/assistants.ts"],"names":[],"mappings":"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"}