funolio-agent 0.12.2 → 0.13.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 (70) hide show
  1. package/dist/backfill.d.ts +71 -0
  2. package/dist/backfill.d.ts.map +1 -0
  3. package/dist/backfill.js +637 -0
  4. package/dist/backfill.js.map +1 -0
  5. package/dist/clerk-model.d.ts +28 -2
  6. package/dist/clerk-model.d.ts.map +1 -1
  7. package/dist/clerk-model.js +90 -29
  8. package/dist/clerk-model.js.map +1 -1
  9. package/dist/cli.js +36 -0
  10. package/dist/cli.js.map +1 -1
  11. package/dist/config-cleanup.d.ts +35 -0
  12. package/dist/config-cleanup.d.ts.map +1 -0
  13. package/dist/config-cleanup.js +167 -0
  14. package/dist/config-cleanup.js.map +1 -0
  15. package/dist/context-window.d.ts +79 -0
  16. package/dist/context-window.d.ts.map +1 -0
  17. package/dist/context-window.js +192 -0
  18. package/dist/context-window.js.map +1 -0
  19. package/dist/local-data.d.ts +110 -0
  20. package/dist/local-data.d.ts.map +1 -1
  21. package/dist/local-data.js +219 -3
  22. package/dist/local-data.js.map +1 -1
  23. package/dist/local-db.d.ts.map +1 -1
  24. package/dist/local-db.js +116 -3
  25. package/dist/local-db.js.map +1 -1
  26. package/dist/local-server.d.ts.map +1 -1
  27. package/dist/local-server.js +567 -29
  28. package/dist/local-server.js.map +1 -1
  29. package/dist/mcp/claude-config-writer.d.ts +28 -0
  30. package/dist/mcp/claude-config-writer.d.ts.map +1 -0
  31. package/dist/mcp/claude-config-writer.js +125 -0
  32. package/dist/mcp/claude-config-writer.js.map +1 -0
  33. package/dist/mcp/local-memory-server.d.ts.map +1 -1
  34. package/dist/mcp/local-memory-server.js +27 -2
  35. package/dist/mcp/local-memory-server.js.map +1 -1
  36. package/dist/mcp/manager.d.ts +4 -0
  37. package/dist/mcp/manager.d.ts.map +1 -1
  38. package/dist/mcp/manager.js +19 -0
  39. package/dist/mcp/manager.js.map +1 -1
  40. package/dist/mcp/marketplace.d.ts +52 -0
  41. package/dist/mcp/marketplace.d.ts.map +1 -0
  42. package/dist/mcp/marketplace.js +144 -0
  43. package/dist/mcp/marketplace.js.map +1 -0
  44. package/dist/orchestration/safeguards.d.ts +29 -0
  45. package/dist/orchestration/safeguards.d.ts.map +1 -0
  46. package/dist/orchestration/safeguards.js +32 -0
  47. package/dist/orchestration/safeguards.js.map +1 -0
  48. package/dist/orchestration/status-parser.d.ts +10 -6
  49. package/dist/orchestration/status-parser.d.ts.map +1 -1
  50. package/dist/orchestration/status-parser.js +35 -19
  51. package/dist/orchestration/status-parser.js.map +1 -1
  52. package/dist/orchestration/topic-normalizer.d.ts +15 -0
  53. package/dist/orchestration/topic-normalizer.d.ts.map +1 -0
  54. package/dist/orchestration/topic-normalizer.js +65 -0
  55. package/dist/orchestration/topic-normalizer.js.map +1 -0
  56. package/dist/providers/claude-cli.d.ts.map +1 -1
  57. package/dist/providers/claude-cli.js +8 -1
  58. package/dist/providers/claude-cli.js.map +1 -1
  59. package/dist/summarization-pipeline.d.ts +39 -0
  60. package/dist/summarization-pipeline.d.ts.map +1 -0
  61. package/dist/summarization-pipeline.js +280 -0
  62. package/dist/summarization-pipeline.js.map +1 -0
  63. package/dist/tools/search-local-memory.d.ts.map +1 -1
  64. package/dist/tools/search-local-memory.js +34 -2
  65. package/dist/tools/search-local-memory.js.map +1 -1
  66. package/dist/workflow-engine.d.ts +6 -0
  67. package/dist/workflow-engine.d.ts.map +1 -1
  68. package/dist/workflow-engine.js +174 -11
  69. package/dist/workflow-engine.js.map +1 -1
  70. package/package.json +1 -1
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.UNASSIGNED_PROJECT_NAME = void 0;
36
37
  exports.getDb = getDb;
37
38
  exports.closeDb = closeDb;
38
39
  exports.createAgentProfile = createAgentProfile;
@@ -53,8 +54,10 @@ exports.getMessages = getMessages;
53
54
  exports.getLastMessages = getLastMessages;
54
55
  exports.createDecision = createDecision;
55
56
  exports.listDecisions = listDecisions;
57
+ exports.deleteDecision = deleteDecision;
56
58
  exports.createActionItem = createActionItem;
57
59
  exports.listActionItems = listActionItems;
60
+ exports.deleteActionItem = deleteActionItem;
58
61
  exports.updateActionItem = updateActionItem;
59
62
  exports.upsertMemoryFact = upsertMemoryFact;
60
63
  exports.searchMemoryFacts = searchMemoryFacts;
@@ -79,6 +82,9 @@ exports.getAllSettings = getAllSettings;
79
82
  exports.deleteSetting = deleteSetting;
80
83
  exports.createProject = createProject;
81
84
  exports.getProject = getProject;
85
+ exports.getUnassignedProject = getUnassignedProject;
86
+ exports.ensureUnassignedProject = ensureUnassignedProject;
87
+ exports.moveNullConversationsToUnassigned = moveNullConversationsToUnassigned;
82
88
  exports.listProjects = listProjects;
83
89
  exports.updateProject = updateProject;
84
90
  exports.deleteProject = deleteProject;
@@ -90,6 +96,10 @@ exports.listTopics = listTopics;
90
96
  exports.updateTopic = updateTopic;
91
97
  exports.deleteTopic = deleteTopic;
92
98
  exports.createTopicSegment = createTopicSegment;
99
+ exports.moveTopic = moveTopic;
100
+ exports.mergeTopics = mergeTopics;
101
+ exports.upsertConversationTopicSegment = upsertConversationTopicSegment;
102
+ exports.listTopicConversations = listTopicConversations;
93
103
  exports.getTopicMessages = getTopicMessages;
94
104
  exports.createWorkflowTemplate = createWorkflowTemplate;
95
105
  exports.getWorkflowTemplate = getWorkflowTemplate;
@@ -98,6 +108,12 @@ exports.updateWorkflowTemplate = updateWorkflowTemplate;
98
108
  exports.deleteWorkflowTemplate = deleteWorkflowTemplate;
99
109
  exports.addWorkflowTemplateStep = addWorkflowTemplateStep;
100
110
  exports.deleteWorkflowTemplateStep = deleteWorkflowTemplateStep;
111
+ exports.createWorkflowExecution = createWorkflowExecution;
112
+ exports.updateWorkflowExecution = updateWorkflowExecution;
113
+ exports.createStepExecution = createStepExecution;
114
+ exports.updateStepExecution = updateStepExecution;
115
+ exports.getWorkflowExecution = getWorkflowExecution;
116
+ exports.listWorkflowExecutions = listWorkflowExecutions;
101
117
  exports.getProjectSetting = getProjectSetting;
102
118
  exports.setProjectSetting = setProjectSetting;
103
119
  exports.getAllProjectSettings = getAllProjectSettings;
@@ -278,6 +294,7 @@ function updateConversation(id, fields) {
278
294
  complexity: ['complexity', fields.complexity],
279
295
  processingStatus: ['processing_status', fields.processingStatus],
280
296
  messageCount: ['message_count', fields.messageCount],
297
+ turnCount: ['turn_count', fields.turnCount],
281
298
  slug: ['slug', fields.slug],
282
299
  description: ['description', fields.description],
283
300
  sourceUrl: ['source_url', fields.sourceUrl],
@@ -381,6 +398,9 @@ function listDecisions(opts) {
381
398
  return db.prepare('SELECT * FROM decision ORDER BY created_at DESC LIMIT ?')
382
399
  .all(opts?.limit ?? 50);
383
400
  }
401
+ function deleteDecision(id) {
402
+ return getDb().prepare('DELETE FROM decision WHERE id = ?').run(id).changes > 0;
403
+ }
384
404
  function createActionItem(a) {
385
405
  const db = getDb();
386
406
  const id = newId();
@@ -410,6 +430,9 @@ function listActionItems(opts) {
410
430
  params.push(opts?.limit ?? 50);
411
431
  return db.prepare(sql).all(...params);
412
432
  }
433
+ function deleteActionItem(id) {
434
+ return getDb().prepare('DELETE FROM action_item WHERE id = ?').run(id).changes > 0;
435
+ }
413
436
  function updateActionItem(id, fields) {
414
437
  const db = getDb();
415
438
  const sets = [];
@@ -652,6 +675,7 @@ function getAllSettings() {
652
675
  function deleteSetting(key) {
653
676
  return getDb().prepare('DELETE FROM settings WHERE key = ?').run(key).changes > 0;
654
677
  }
678
+ exports.UNASSIGNED_PROJECT_NAME = 'unassigned';
655
679
  function createProject(p) {
656
680
  const db = getDb();
657
681
  const id = newId();
@@ -669,14 +693,40 @@ function getProject(id) {
669
693
  const convCount = db.prepare('SELECT count(*) as c FROM conversation WHERE project_id = ?').get(id).c;
670
694
  return { ...row, bot_ids: botRows.map(b => b.agent_id), conversation_count: convCount };
671
695
  }
696
+ function getUnassignedProject() {
697
+ return getDb().prepare('SELECT * FROM project WHERE lower(name) = lower(?) LIMIT 1')
698
+ .get(exports.UNASSIGNED_PROJECT_NAME);
699
+ }
700
+ function ensureUnassignedProject() {
701
+ const existing = getUnassignedProject();
702
+ if (existing)
703
+ return existing;
704
+ return createProject({ name: exports.UNASSIGNED_PROJECT_NAME, description: 'Auto-managed bucket for unmatched conversations' });
705
+ }
706
+ function moveNullConversationsToUnassigned() {
707
+ const project = ensureUnassignedProject();
708
+ const moved = getDb().prepare('UPDATE conversation SET project_id = ? WHERE project_id IS NULL')
709
+ .run(project.id).changes;
710
+ return { projectId: project.id, moved };
711
+ }
672
712
  function listProjects() {
673
713
  const db = getDb();
674
714
  const rows = db.prepare('SELECT * FROM project ORDER BY updated_at DESC').all();
675
- return rows.map(row => {
715
+ const projects = rows.map(row => {
676
716
  const botRows = db.prepare('SELECT agent_id FROM project_bot WHERE project_id = ?').all(row.id);
677
717
  const convCount = db.prepare('SELECT count(*) as c FROM conversation WHERE project_id = ?').get(row.id).c;
678
718
  return { ...row, bot_ids: botRows.map(b => b.agent_id), conversation_count: convCount };
679
719
  });
720
+ // Keep auto-managed "unassigned" project at the bottom for predictable UI.
721
+ return projects.sort((a, b) => {
722
+ const aIsUnassigned = a.name.toLowerCase() === exports.UNASSIGNED_PROJECT_NAME;
723
+ const bIsUnassigned = b.name.toLowerCase() === exports.UNASSIGNED_PROJECT_NAME;
724
+ if (aIsUnassigned && !bIsUnassigned)
725
+ return 1;
726
+ if (!aIsUnassigned && bIsUnassigned)
727
+ return -1;
728
+ return 0;
729
+ });
680
730
  }
681
731
  function updateProject(id, fields) {
682
732
  const db = getDb();
@@ -765,6 +815,18 @@ function updateTopic(id, fields) {
765
815
  sets.push('last_activity_at = ?');
766
816
  vals.push(fields.lastActivityAt);
767
817
  }
818
+ if (fields.normalizedTitle !== undefined) {
819
+ sets.push('normalized_title = ?');
820
+ vals.push(fields.normalizedTitle);
821
+ }
822
+ if (fields.manuallyRenamed !== undefined) {
823
+ sets.push('manually_renamed = ?');
824
+ vals.push(fields.manuallyRenamed);
825
+ }
826
+ if (fields.manuallyMoved !== undefined) {
827
+ sets.push('manually_moved = ?');
828
+ vals.push(fields.manuallyMoved);
829
+ }
768
830
  if (sets.length === 0)
769
831
  return db.prepare('SELECT * FROM topic WHERE id = ?').get(id);
770
832
  sets.push("updated_at = datetime('now')");
@@ -782,6 +844,60 @@ function createTopicSegment(s) {
782
844
  .run(id, s.topicId, s.conversationId, s.startSeq, s.endSeq);
783
845
  return db.prepare('SELECT * FROM topic_segment WHERE id = ?').get(id);
784
846
  }
847
+ /**
848
+ * Move a topic to a different project. Sets manually_moved = 1.
849
+ */
850
+ function moveTopic(topicId, toProjectId) {
851
+ const db = getDb();
852
+ db.prepare("UPDATE topic SET project_id = ?, manually_moved = 1, updated_at = datetime('now') WHERE id = ?").run(toProjectId, topicId);
853
+ return db.prepare('SELECT * FROM topic WHERE id = ?').get(topicId);
854
+ }
855
+ /**
856
+ * Merge source topic into target — re-points all topic_segment rows, deletes source.
857
+ * Uses INSERT OR IGNORE to dedupe on (conversation_id, topic_id).
858
+ */
859
+ function mergeTopics(sourceTopicId, targetTopicId) {
860
+ const db = getDb();
861
+ // Re-point segments (dedupe via unique index)
862
+ const segments = db.prepare('SELECT * FROM topic_segment WHERE topic_id = ?').all(sourceTopicId);
863
+ for (const seg of segments) {
864
+ try {
865
+ db.prepare('INSERT OR IGNORE INTO topic_segment (id, topic_id, conversation_id, start_seq, end_seq) VALUES (?, ?, ?, ?, ?)').run(newId(), targetTopicId, seg.conversation_id, seg.start_seq, seg.end_seq);
866
+ }
867
+ catch { /* duplicate — skip */ }
868
+ }
869
+ // Delete source topic (CASCADE deletes old segments)
870
+ db.prepare('DELETE FROM topic WHERE id = ?').run(sourceTopicId);
871
+ }
872
+ /**
873
+ * Idempotent upsert of a conversation↔topic link.
874
+ * Uses the unique(conversation_id, topic_id) index to prevent duplicates.
875
+ */
876
+ function upsertConversationTopicSegment(conversationId, topicId) {
877
+ const db = getDb();
878
+ // Check existing
879
+ const existing = db.prepare('SELECT * FROM topic_segment WHERE conversation_id = ? AND topic_id = ?').get(conversationId, topicId);
880
+ if (existing)
881
+ return existing;
882
+ const id = newId();
883
+ db.prepare('INSERT OR IGNORE INTO topic_segment (id, topic_id, conversation_id, start_seq, end_seq) VALUES (?, ?, ?, 1, 999999)').run(id, topicId, conversationId);
884
+ return db.prepare('SELECT * FROM topic_segment WHERE id = ?').get(id);
885
+ }
886
+ /**
887
+ * List conversations linked to a topic via topic_segment, sorted by updated_at DESC.
888
+ */
889
+ function listTopicConversations(topicId, opts) {
890
+ const db = getDb();
891
+ const limit = opts?.limit ?? 50;
892
+ const offset = opts?.offset ?? 0;
893
+ return db.prepare(`
894
+ SELECT DISTINCT c.* FROM conversation c
895
+ INNER JOIN topic_segment ts ON ts.conversation_id = c.id
896
+ WHERE ts.topic_id = ?
897
+ ORDER BY c.updated_at DESC
898
+ LIMIT ? OFFSET ?
899
+ `).all(topicId, limit, offset);
900
+ }
785
901
  function getTopicMessages(topicId) {
786
902
  const db = getDb();
787
903
  const segments = db.prepare('SELECT * FROM topic_segment WHERE topic_id = ?').all(topicId);
@@ -868,13 +984,113 @@ function deleteWorkflowTemplate(id) {
868
984
  function addWorkflowTemplateStep(s) {
869
985
  const db = getDb();
870
986
  const id = newId();
871
- db.prepare(`INSERT INTO workflow_template_step (id, template_id, order_index, agent_id, instruction, on_status) VALUES (?, ?, ?, ?, ?, ?)`)
872
- .run(id, s.templateId, s.orderIndex, s.agentId, s.instruction ?? null, s.onStatus ?? 'always');
987
+ db.prepare(`INSERT INTO workflow_template_step (id, template_id, order_index, agent_id, instruction, on_status, is_checkpoint, on_fail_step_index, max_loops) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
988
+ .run(id, s.templateId, s.orderIndex, s.agentId, s.instruction ?? null, s.onStatus ?? 'always', s.isCheckpoint ? 1 : 0, s.onFailStepIndex ?? null, s.maxLoops ?? 3);
873
989
  return db.prepare('SELECT * FROM workflow_template_step WHERE id = ?').get(id);
874
990
  }
875
991
  function deleteWorkflowTemplateStep(id) {
876
992
  return getDb().prepare('DELETE FROM workflow_template_step WHERE id = ?').run(id).changes > 0;
877
993
  }
994
+ function createWorkflowExecution(e) {
995
+ const db = getDb();
996
+ const ts = now();
997
+ db.prepare(`
998
+ INSERT INTO workflow_execution (id, conversation_id, template_id, status, total_steps, started_at)
999
+ VALUES (?, ?, ?, 'running', ?, ?)
1000
+ `).run(e.id, e.conversationId ?? null, e.templateId ?? null, e.totalSteps, ts);
1001
+ return db.prepare('SELECT * FROM workflow_execution WHERE id = ?').get(e.id);
1002
+ }
1003
+ function updateWorkflowExecution(id, fields) {
1004
+ const db = getDb();
1005
+ const sets = [];
1006
+ const vals = [];
1007
+ if (fields.status !== undefined) {
1008
+ sets.push('status = ?');
1009
+ vals.push(fields.status);
1010
+ }
1011
+ if (fields.completedSteps !== undefined) {
1012
+ sets.push('completed_steps = ?');
1013
+ vals.push(fields.completedSteps);
1014
+ }
1015
+ if (fields.completedAt !== undefined) {
1016
+ sets.push('completed_at = ?');
1017
+ vals.push(fields.completedAt);
1018
+ }
1019
+ if (fields.error !== undefined) {
1020
+ sets.push('error = ?');
1021
+ vals.push(fields.error);
1022
+ }
1023
+ if (sets.length === 0)
1024
+ return;
1025
+ vals.push(id);
1026
+ db.prepare(`UPDATE workflow_execution SET ${sets.join(', ')} WHERE id = ?`).run(...vals);
1027
+ }
1028
+ function createStepExecution(s) {
1029
+ const db = getDb();
1030
+ const id = newId();
1031
+ db.prepare(`
1032
+ INSERT INTO workflow_step_execution (id, workflow_execution_id, step_index, agent_id, agent_name, role, description, status)
1033
+ VALUES (?, ?, ?, ?, ?, ?, ?, 'pending')
1034
+ `).run(id, s.workflowExecutionId, s.stepIndex, s.agentId, s.agentName, s.role ?? null, s.description);
1035
+ return db.prepare('SELECT * FROM workflow_step_execution WHERE id = ?').get(id);
1036
+ }
1037
+ function updateStepExecution(id, fields) {
1038
+ const db = getDb();
1039
+ const sets = [];
1040
+ const vals = [];
1041
+ if (fields.status !== undefined) {
1042
+ sets.push('status = ?');
1043
+ vals.push(fields.status);
1044
+ }
1045
+ if (fields.attempts !== undefined) {
1046
+ sets.push('attempts = ?');
1047
+ vals.push(fields.attempts);
1048
+ }
1049
+ if (fields.loopCount !== undefined) {
1050
+ sets.push('loop_count = ?');
1051
+ vals.push(fields.loopCount);
1052
+ }
1053
+ if (fields.resultSummary !== undefined) {
1054
+ sets.push('result_summary = ?');
1055
+ vals.push(fields.resultSummary);
1056
+ }
1057
+ if (fields.error !== undefined) {
1058
+ sets.push('error = ?');
1059
+ vals.push(fields.error);
1060
+ }
1061
+ if (fields.startedAt !== undefined) {
1062
+ sets.push('started_at = ?');
1063
+ vals.push(fields.startedAt);
1064
+ }
1065
+ if (fields.completedAt !== undefined) {
1066
+ sets.push('completed_at = ?');
1067
+ vals.push(fields.completedAt);
1068
+ }
1069
+ if (sets.length === 0)
1070
+ return;
1071
+ vals.push(id);
1072
+ db.prepare(`UPDATE workflow_step_execution SET ${sets.join(', ')} WHERE id = ?`).run(...vals);
1073
+ }
1074
+ function getWorkflowExecution(id) {
1075
+ const db = getDb();
1076
+ const row = db.prepare('SELECT * FROM workflow_execution WHERE id = ?').get(id);
1077
+ if (!row)
1078
+ return undefined;
1079
+ const steps = db.prepare('SELECT * FROM workflow_step_execution WHERE workflow_execution_id = ? ORDER BY step_index ASC').all(id);
1080
+ return { ...row, steps };
1081
+ }
1082
+ function listWorkflowExecutions(opts) {
1083
+ const db = getDb();
1084
+ let sql = 'SELECT * FROM workflow_execution';
1085
+ const params = [];
1086
+ if (opts?.conversationId) {
1087
+ sql += ' WHERE conversation_id = ?';
1088
+ params.push(opts.conversationId);
1089
+ }
1090
+ sql += ' ORDER BY started_at DESC LIMIT ?';
1091
+ params.push(opts?.limit ?? 20);
1092
+ return db.prepare(sql).all(...params);
1093
+ }
878
1094
  // ─── Project Settings ──────────────────────────────────────────────
879
1095
  function getProjectSetting(projectId, key) {
880
1096
  const row = getDb().prepare('SELECT value FROM project_setting WHERE project_id = ? AND key = ?').get(projectId, key);
@@ -1 +1 @@
1
- {"version":3,"file":"local-data.js","sourceRoot":"","sources":["../src/local-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-data.js","sourceRoot":"","sources":["../src/local-data.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-db.d.ts","sourceRoot":"","sources":["../src/local-db.ts"],"names":[],"mappings":"AA2BA,+CAA+C;AAC/C,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAsXD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CA8DxD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAiBhD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C"}
1
+ {"version":3,"file":"local-db.d.ts","sourceRoot":"","sources":["../src/local-db.ts"],"names":[],"mappings":"AA4BA,+CAA+C;AAC/C,wBAAgB,gBAAgB,IAAI,MAAM,CAGzC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAwdD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CA8DxD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAiBhD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C"}
package/dist/local-db.js CHANGED
@@ -43,11 +43,12 @@ exports.isLocalFirstEnabled = isLocalFirstEnabled;
43
43
  * Provides an embedded SQLite store for the agent runtime.
44
44
  * Only activates when LOCAL_FIRST_ENABLED=true.
45
45
  *
46
- * 17-table schema with web-parity conversation fields.
46
+ * 20-table schema with web-parity conversation fields.
47
47
  * Tables: agent_profile, conversation, message, decision, action_item,
48
48
  * memory_fact, entity, entity_relationship, import_job,
49
49
  * import_job_item, outbox_event, settings,
50
- * project, project_bot, topic, topic_segment, chat_file
50
+ * project, project_bot, topic, topic_segment, chat_file,
51
+ * conversation_summary, workflow_execution, workflow_step_execution
51
52
  */
52
53
  const path = __importStar(require("path"));
53
54
  const fs = __importStar(require("fs"));
@@ -67,7 +68,7 @@ function getDefaultDbPath() {
67
68
  const configDir = path.join(os.homedir(), '.funolio');
68
69
  return path.join(configDir, 'local.db');
69
70
  }
70
- const CURRENT_SCHEMA_VERSION = 6;
71
+ const CURRENT_SCHEMA_VERSION = 9;
71
72
  /**
72
73
  * Core V1 schema — 12 tables.
73
74
  * Idempotent: CREATE TABLE IF NOT EXISTS.
@@ -431,6 +432,118 @@ function applySchema(db) {
431
432
  FOREIGN KEY (project_id) REFERENCES project(id) ON DELETE CASCADE
432
433
  );
433
434
  `);
435
+ // ─── Schema V7 migrations: prompt architecture — turn tracking, summaries, footer fields, checkpoints ──
436
+ // Turn tracking on conversation
437
+ const v7ConvColumns = [
438
+ ['turn_count', 'INTEGER DEFAULT 0'],
439
+ ];
440
+ for (const [col, typedef] of v7ConvColumns) {
441
+ try {
442
+ db.exec(`ALTER TABLE conversation ADD COLUMN ${col} ${typedef}`);
443
+ }
444
+ catch { /* exists */ }
445
+ }
446
+ // Conversation summary table (compound-forward summaries)
447
+ db.exec(`
448
+ CREATE TABLE IF NOT EXISTS conversation_summary (
449
+ id TEXT PRIMARY KEY,
450
+ conversation_id TEXT NOT NULL,
451
+ summary_text TEXT NOT NULL,
452
+ turn_range_start INTEGER NOT NULL,
453
+ turn_range_end INTEGER NOT NULL,
454
+ decisions_json TEXT,
455
+ action_items_json TEXT,
456
+ facts_json TEXT,
457
+ created_at TEXT NOT NULL DEFAULT (datetime('now')),
458
+ FOREIGN KEY (conversation_id) REFERENCES conversation(id) ON DELETE CASCADE
459
+ );
460
+ CREATE INDEX IF NOT EXISTS idx_conv_summary_conv ON conversation_summary(conversation_id);
461
+ `);
462
+ // Footer persistence columns on message (for workflow steps)
463
+ const v7MessageColumns = [
464
+ ['result_artifact', 'TEXT'],
465
+ ['result_summary', 'TEXT'],
466
+ ['result_status', 'TEXT'],
467
+ ];
468
+ for (const [col, typedef] of v7MessageColumns) {
469
+ try {
470
+ db.exec(`ALTER TABLE message ADD COLUMN ${col} ${typedef}`);
471
+ }
472
+ catch { /* exists */ }
473
+ }
474
+ // Checkpoint columns on workflow_template_step
475
+ const v7StepColumns = [
476
+ ['is_checkpoint', 'INTEGER DEFAULT 0'],
477
+ ['on_fail_step_index', 'INTEGER'],
478
+ ['max_loops', 'INTEGER DEFAULT 3'],
479
+ ];
480
+ for (const [col, typedef] of v7StepColumns) {
481
+ try {
482
+ db.exec(`ALTER TABLE workflow_template_step ADD COLUMN ${col} ${typedef}`);
483
+ }
484
+ catch { /* exists */ }
485
+ }
486
+ // ─── Schema V8 migrations: workflow execution tracking ──────────────────────
487
+ db.exec(`
488
+ CREATE TABLE IF NOT EXISTS workflow_execution (
489
+ id TEXT PRIMARY KEY,
490
+ conversation_id TEXT,
491
+ template_id TEXT,
492
+ status TEXT NOT NULL DEFAULT 'running',
493
+ total_steps INTEGER NOT NULL DEFAULT 0,
494
+ completed_steps INTEGER NOT NULL DEFAULT 0,
495
+ started_at TEXT NOT NULL DEFAULT (datetime('now')),
496
+ completed_at TEXT,
497
+ error TEXT,
498
+ FOREIGN KEY (conversation_id) REFERENCES conversation(id) ON DELETE SET NULL
499
+ );
500
+ CREATE INDEX IF NOT EXISTS idx_wf_exec_conv ON workflow_execution(conversation_id);
501
+
502
+ CREATE TABLE IF NOT EXISTS workflow_step_execution (
503
+ id TEXT PRIMARY KEY,
504
+ workflow_execution_id TEXT NOT NULL,
505
+ step_index INTEGER NOT NULL,
506
+ agent_id TEXT NOT NULL,
507
+ agent_name TEXT NOT NULL,
508
+ role TEXT,
509
+ description TEXT NOT NULL,
510
+ status TEXT NOT NULL DEFAULT 'pending',
511
+ attempts INTEGER NOT NULL DEFAULT 0,
512
+ loop_count INTEGER NOT NULL DEFAULT 0,
513
+ result_summary TEXT,
514
+ error TEXT,
515
+ started_at TEXT,
516
+ completed_at TEXT,
517
+ FOREIGN KEY (workflow_execution_id) REFERENCES workflow_execution(id) ON DELETE CASCADE
518
+ );
519
+ CREATE INDEX IF NOT EXISTS idx_wf_step_exec_wf ON workflow_step_execution(workflow_execution_id, step_index);
520
+ `);
521
+ // ─── Schema V9 migrations: topic manual overrides + normalized title + indexes ───
522
+ const v9TopicColumns = [
523
+ ['manually_renamed', 'INTEGER DEFAULT 0'],
524
+ ['manually_moved', 'INTEGER DEFAULT 0'],
525
+ ['normalized_title', 'TEXT'],
526
+ ];
527
+ for (const [col, typedef] of v9TopicColumns) {
528
+ try {
529
+ db.exec(`ALTER TABLE topic ADD COLUMN ${col} ${typedef}`);
530
+ }
531
+ catch { /* exists */ }
532
+ }
533
+ // Performance indexes
534
+ try {
535
+ db.exec('CREATE INDEX IF NOT EXISTS idx_topic_project_normalized ON topic(project_id, normalized_title)');
536
+ }
537
+ catch { /* exists */ }
538
+ try {
539
+ db.exec('CREATE INDEX IF NOT EXISTS idx_conv_project ON conversation(project_id, updated_at)');
540
+ }
541
+ catch { /* exists */ }
542
+ // Idempotency: prevent duplicate topic_segment links
543
+ try {
544
+ db.exec('CREATE UNIQUE INDEX IF NOT EXISTS idx_topic_segment_unique ON topic_segment(conversation_id, topic_id)');
545
+ }
546
+ catch { /* exists */ }
434
547
  // Update schema version
435
548
  db.prepare('UPDATE _schema_version SET version = ?, applied_at = datetime(\'now\') WHERE id = 1')
436
549
  .run(CURRENT_SCHEMA_VERSION);