@aexol/spectral 0.9.246 → 0.9.249

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 (37) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/agent/agents.d.ts +11 -9
  3. package/dist/agent/agents.d.ts.map +1 -1
  4. package/dist/agent/agents.js +19 -87
  5. package/dist/agent/index.d.ts +3 -3
  6. package/dist/agent/index.d.ts.map +1 -1
  7. package/dist/agent/index.js +7 -54
  8. package/dist/commands/serve.d.ts.map +1 -1
  9. package/dist/commands/serve.js +21 -0
  10. package/dist/generated/zeus/const.d.ts.map +1 -1
  11. package/dist/generated/zeus/const.js +240 -2
  12. package/dist/generated/zeus/index.d.ts +1205 -0
  13. package/dist/generated/zeus/index.d.ts.map +1 -1
  14. package/dist/mcp/ui-stream-types.d.ts +2 -2
  15. package/dist/relay/auto-research.d.ts.map +1 -1
  16. package/dist/relay/auto-research.js +0 -1
  17. package/dist/relay/routing.d.ts.map +1 -1
  18. package/dist/relay/routing.js +1 -2
  19. package/dist/sdk/agent-core/agent-loop.js +1 -1
  20. package/dist/server/agent-bridge.d.ts.map +1 -1
  21. package/dist/server/agent-bridge.js +14 -3
  22. package/dist/server/attachments/cleanup.d.ts +42 -0
  23. package/dist/server/attachments/cleanup.d.ts.map +1 -0
  24. package/dist/server/attachments/cleanup.js +100 -0
  25. package/dist/server/attachments/persist.d.ts +131 -0
  26. package/dist/server/attachments/persist.d.ts.map +1 -0
  27. package/dist/server/attachments/persist.js +406 -0
  28. package/dist/server/handlers/agent-settings.d.ts +1 -1
  29. package/dist/server/handlers/agent-settings.d.ts.map +1 -1
  30. package/dist/server/handlers/agent-settings.js +2 -2
  31. package/dist/server/session-stream.d.ts +5 -0
  32. package/dist/server/session-stream.d.ts.map +1 -1
  33. package/dist/server/session-stream.js +51 -1
  34. package/dist/server/storage.d.ts +6 -0
  35. package/dist/server/storage.d.ts.map +1 -1
  36. package/dist/server/storage.js +9 -0
  37. package/package.json +1 -1
@@ -58,6 +58,7 @@ export class SessionStore {
58
58
  stmtDeleteProject;
59
59
  stmtListSessionsByProject;
60
60
  stmtListSessionIdsByProject;
61
+ stmtListAllSessionIds;
61
62
  stmtListProjectSessionIdsOlderThan;
62
63
  stmtDeleteProjectSessionsOlderThan;
63
64
  stmtListAllSessionIdsOlderThan;
@@ -337,6 +338,7 @@ export class SessionStore {
337
338
  ORDER BY s.updated_at DESC
338
339
  `);
339
340
  this.stmtListSessionIdsByProject = this.db.prepare(`SELECT id FROM sessions WHERE project_id = ?`);
341
+ this.stmtListAllSessionIds = this.db.prepare(`SELECT id FROM sessions`);
340
342
  this.stmtListProjectSessionIdsOlderThan = this.db.prepare(`SELECT id FROM sessions WHERE project_id = ? AND updated_at < ?`);
341
343
  this.stmtDeleteProjectSessionsOlderThan = this.db.prepare(`DELETE FROM sessions WHERE project_id = ? AND updated_at < ?`);
342
344
  this.stmtListAllSessionIdsOlderThan = this.db.prepare(`SELECT id, project_id FROM sessions WHERE updated_at < ?`);
@@ -709,6 +711,13 @@ export class SessionStore {
709
711
  messageCount: r.message_count,
710
712
  }));
711
713
  }
714
+ /**
715
+ * Every session id in the store (any project). Used by the attachment GC
716
+ * to keep directories of live sessions out of the TTL sweep.
717
+ */
718
+ listAllSessionIds() {
719
+ return this.stmtListAllSessionIds.all().map((r) => r.id);
720
+ }
712
721
  /** Async twin of {@link listSessionsByProject}. */
713
722
  async listSessionsByProjectAsync(projectId) {
714
723
  const rows = await this.db.queryAll(`SELECT s.id, s.project_id, s.title, s.created_at, s.updated_at,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aexol/spectral",
3
- "version": "0.9.246",
3
+ "version": "0.9.249",
4
4
  "description": "AI coding agent for Aexol with relay-based browser access.",
5
5
  "type": "module",
6
6
  "private": false,