@coreyuan/vector-mind 1.0.54 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +99 -72
  2. package/admin-panel/README.md +77 -0
  3. package/admin-panel/dist/client/assets/index-Bzyjdhh2.css +1 -0
  4. package/admin-panel/dist/client/assets/index-Ph73ewzt.js +9 -0
  5. package/admin-panel/dist/client/index.html +14 -0
  6. package/admin-panel/package.json +25 -0
  7. package/admin-panel/server/index.mjs +1424 -0
  8. package/admin-panel/server/security.mjs +117 -0
  9. package/admin-panel/server/security.test.mjs +113 -0
  10. package/admin-panel/server/storage.mjs +49 -0
  11. package/admin-panel/server/storage.test.mjs +36 -0
  12. package/dist/checkpoint-snapshot.d.ts +56 -0
  13. package/dist/checkpoint-snapshot.js +411 -0
  14. package/dist/checkpoint-snapshot.js.map +1 -0
  15. package/dist/config.d.ts +1 -1
  16. package/dist/config.js +1 -1
  17. package/dist/config.js.map +1 -1
  18. package/dist/context-governance.d.ts +56 -0
  19. package/dist/context-governance.js +176 -0
  20. package/dist/context-governance.js.map +1 -0
  21. package/dist/database-runtime.d.ts +3 -1
  22. package/dist/database-runtime.js +232 -127
  23. package/dist/database-runtime.js.map +1 -1
  24. package/dist/development-warnings.d.ts +2 -1
  25. package/dist/development-warnings.js +90 -20
  26. package/dist/development-warnings.js.map +1 -1
  27. package/dist/file-indexing.d.ts +2 -1
  28. package/dist/file-indexing.js +127 -47
  29. package/dist/file-indexing.js.map +1 -1
  30. package/dist/grep.js +4 -0
  31. package/dist/grep.js.map +1 -1
  32. package/dist/index.js +5 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/large-file-split.d.ts +52 -8
  35. package/dist/large-file-split.js +290 -76
  36. package/dist/large-file-split.js.map +1 -1
  37. package/dist/memory-maintenance/compaction.js +3 -2
  38. package/dist/memory-maintenance/compaction.js.map +1 -1
  39. package/dist/memory-maintenance/metrics.d.ts +1 -1
  40. package/dist/memory-maintenance/metrics.js +11 -3
  41. package/dist/memory-maintenance/metrics.js.map +1 -1
  42. package/dist/memory-maintenance/purge.js +1 -1
  43. package/dist/memory-maintenance/purge.js.map +1 -1
  44. package/dist/memory-maintenance/runner.d.ts +1 -0
  45. package/dist/memory-maintenance/runner.js +15 -3
  46. package/dist/memory-maintenance/runner.js.map +1 -1
  47. package/dist/memory-maintenance/types.d.ts +1 -0
  48. package/dist/memory-mutations.d.ts +3 -3
  49. package/dist/memory-mutations.js +109 -43
  50. package/dist/memory-mutations.js.map +1 -1
  51. package/dist/memory-recall.js +16 -1
  52. package/dist/memory-recall.js.map +1 -1
  53. package/dist/operation-scope.js +42 -12
  54. package/dist/operation-scope.js.map +1 -1
  55. package/dist/path-containment.d.ts +5 -0
  56. package/dist/path-containment.js +64 -0
  57. package/dist/path-containment.js.map +1 -0
  58. package/dist/path-filters.d.ts +1 -1
  59. package/dist/path-filters.js +7 -6
  60. package/dist/path-filters.js.map +1 -1
  61. package/dist/pending-changes.d.ts +5 -0
  62. package/dist/pending-changes.js +26 -16
  63. package/dist/pending-changes.js.map +1 -1
  64. package/dist/project-files.d.ts +1 -0
  65. package/dist/project-files.js +19 -10
  66. package/dist/project-files.js.map +1 -1
  67. package/dist/root.d.ts +4 -1
  68. package/dist/root.js +34 -4
  69. package/dist/root.js.map +1 -1
  70. package/dist/rtk-integrity.d.ts +5 -0
  71. package/dist/rtk-integrity.js +35 -0
  72. package/dist/rtk-integrity.js.map +1 -0
  73. package/dist/rtk-shim.js +22 -9
  74. package/dist/rtk-shim.js.map +1 -1
  75. package/dist/rtk-tools.d.ts +8 -0
  76. package/dist/rtk-tools.js +59 -42
  77. package/dist/rtk-tools.js.map +1 -1
  78. package/dist/server-instructions.js +8 -88
  79. package/dist/server-instructions.js.map +1 -1
  80. package/dist/tool-catalog.d.ts +2 -0
  81. package/dist/tool-catalog.js +76 -23
  82. package/dist/tool-catalog.js.map +1 -1
  83. package/dist/tool-handlers/context-recovery.js +79 -54
  84. package/dist/tool-handlers/context-recovery.js.map +1 -1
  85. package/dist/tool-handlers/large-files.js +600 -44
  86. package/dist/tool-handlers/large-files.js.map +1 -1
  87. package/dist/tool-handlers/memory-diagnostics.js +240 -45
  88. package/dist/tool-handlers/memory-diagnostics.js.map +1 -1
  89. package/dist/tool-handlers/memory.js +167 -22
  90. package/dist/tool-handlers/memory.js.map +1 -1
  91. package/dist/tool-handlers/operations.js +28 -8
  92. package/dist/tool-handlers/operations.js.map +1 -1
  93. package/dist/tool-handlers/requirement-status.d.ts +5 -0
  94. package/dist/tool-handlers/requirement-status.js +267 -0
  95. package/dist/tool-handlers/requirement-status.js.map +1 -0
  96. package/dist/tool-handlers/requirements.js +786 -97
  97. package/dist/tool-handlers/requirements.js.map +1 -1
  98. package/dist/tool-handlers.d.ts +4 -0
  99. package/dist/tool-handlers.js +183 -10
  100. package/dist/tool-handlers.js.map +1 -1
  101. package/dist/tool-output.d.ts +32 -1
  102. package/dist/tool-output.js +31 -12
  103. package/dist/tool-output.js.map +1 -1
  104. package/dist/tool-schemas.d.ts +235 -0
  105. package/dist/tool-schemas.js +98 -26
  106. package/dist/tool-schemas.js.map +1 -1
  107. package/dist/types.d.ts +1 -0
  108. package/docs/capability-matrix.md +23 -17
  109. package/package.json +19 -6
  110. package/skills/vector-mind-autopilot/SKILL.md +82 -23
  111. package/skills/vector-mind-autopilot/references/claude-project-instructions.md +14 -11
  112. package/skills/vector-mind-autopilot/references/universal-system-prompt.md +24 -16
@@ -1,5 +1,24 @@
1
1
  import { toJsonSchemaCompat } from "@modelcontextprotocol/sdk/server/zod-json-schema-compat.js";
2
- import { AddNoteArgsSchema, AnalyzeMemoryConflictsArgsSchema, BootstrapContextArgsSchema, ClearActivityLogArgsSchema, CompareCheckpointContextArgsSchema, CompleteRequirementArgsSchema, CreateCheckpointArgsSchema, DetectRtkArgsSchema, GetActivityLogArgsSchema, GetActivitySummaryArgsSchema, GetBrainDumpArgsSchema, GetPendingChangesArgsSchema, GetTokenSavingsArgsSchema, GrepArgsSchema, InstallRtkArgsSchema, ListCheckpointsArgsSchema, ListProjectFilesArgsSchema, MaintainMemoryArgsSchema, MemoryTimelineArgsSchema, MemoryQualityReportArgsSchema, PlanLargeFileSplitArgsSchema, PreflightChangeScopeArgsSchema, PreflightOperationScopeArgsSchema, PruneIndexArgsSchema, QueryCodebaseArgsSchema, ReadCodexTextFileArgsSchema, ReadFileLinesArgsSchema, ReadFileTextArgsSchema, ReadMemoryItemArgsSchema, RecordLargeFileSplitArgsSchema, RestoreCheckpointContextArgsSchema, SemanticSearchArgsSchema, StartRequirementArgsSchema, SupersedeMemoryArgsSchema, SyncChangeIntentArgsSchema, UpsertConventionArgsSchema, UpsertDecisionArgsSchema, UpsertProjectSummaryArgsSchema, } from "./tool-schemas.js";
2
+ import { AddNoteArgsSchema, AnalyzeMemoryConflictsArgsSchema, BootstrapContextArgsSchema, ClearActivityLogArgsSchema, CompareCheckpointContextArgsSchema, CompleteRequirementArgsSchema, CreateCheckpointArgsSchema, DetectRtkArgsSchema, GetActivityLogArgsSchema, GetActivitySummaryArgsSchema, GetBrainDumpArgsSchema, GetPendingChangesArgsSchema, GetRequirementStatusArgsSchema, GetTokenSavingsArgsSchema, GrepArgsSchema, InstallRtkArgsSchema, ListCheckpointsArgsSchema, ListProjectFilesArgsSchema, MaintainMemoryArgsSchema, MemoryTimelineArgsSchema, MemoryQualityReportArgsSchema, PlanLargeFileSplitArgsSchema, PreflightChangeScopeArgsSchema, PreflightOperationScopeArgsSchema, PruneIndexArgsSchema, QueryCodebaseArgsSchema, ReadCodexTextFileArgsSchema, ReadFileLinesArgsSchema, ReadFileTextArgsSchema, ReadMemoryItemArgsSchema, RecordLargeFileSplitArgsSchema, RestoreCheckpointContextArgsSchema, ResumeRequirementArgsSchema, SemanticSearchArgsSchema, StartRequirementArgsSchema, SupersedeMemoryArgsSchema, SyncChangeIntentArgsSchema, UpdateRequirementVerificationArgsSchema, UpsertConventionArgsSchema, UpsertDecisionArgsSchema, UpsertProjectSummaryArgsSchema, } from "./tool-schemas.js";
3
+ const CORE_TOOL_ORDER = [
4
+ "bootstrap_context",
5
+ "start_requirement",
6
+ "get_requirement_status",
7
+ "resume_requirement",
8
+ "preflight_change_scope",
9
+ "plan_large_file_split",
10
+ "record_large_file_split",
11
+ "sync_change_intent",
12
+ "update_requirement_verification",
13
+ "preflight_operation_scope",
14
+ "read_memory_item",
15
+ "upsert_decision",
16
+ "supersede_memory",
17
+ "complete_requirement",
18
+ ];
19
+ export function resolveToolProfile(value = process.env.VECTORMIND_TOOL_PROFILE) {
20
+ return value?.trim().toLocaleLowerCase() === "full" ? "full" : "core";
21
+ }
3
22
  const DEFAULT_READ_ONLY_BEHAVIOR = {
4
23
  tags: ["read_only", "advisory_only", "bounded_output"],
5
24
  readOnlyHint: true,
@@ -7,26 +26,40 @@ const DEFAULT_READ_ONLY_BEHAVIOR = {
7
26
  openWorldHint: false,
8
27
  };
9
28
  const TOOL_BEHAVIOR = {
10
- start_requirement: { tags: ["write_memory", "requirement_boundary", "advisory_only"], readOnlyHint: false, idempotentHint: false },
11
- sync_change_intent: { tags: ["write_memory", "change_intent", "fix_pattern", "advisory_only"], readOnlyHint: false, idempotentHint: false },
29
+ start_requirement: { tags: ["write_memory", "requirement_boundary", "advisory_only", "duplicate_safe"], readOnlyHint: false, destructiveHint: true, idempotentHint: true },
30
+ get_requirement_status: { tags: ["read_only", "requirement_lifecycle", "recovery"], readOnlyHint: true, idempotentHint: true },
31
+ resume_requirement: { tags: ["write_memory", "requirement_lifecycle", "recovery"], readOnlyHint: false, destructiveHint: true, idempotentHint: true },
32
+ preflight_change_scope: {
33
+ tags: ["read_only", "requirement_boundary", "advisory_quality_signals", "conditional_workflow_gate", "bounded_output"],
34
+ readOnlyHint: true,
35
+ idempotentHint: true,
36
+ advisoryOnly: false,
37
+ workflowGate: true,
38
+ },
39
+ sync_change_intent: { tags: ["write_memory", "change_intent", "fix_pattern", "advisory_only", "explicit_idempotency_key"], readOnlyHint: false, destructiveHint: true, idempotentHint: false },
40
+ update_requirement_verification: { tags: ["write_memory", "requirement_lifecycle", "verification_evidence", "advisory_only"], readOnlyHint: false, destructiveHint: true, idempotentHint: false },
12
41
  preflight_operation_scope: { tags: ["read_only", "operation_scope", "current_constraints", "advisory_only"], readOnlyHint: true, idempotentHint: true },
13
- record_large_file_split: { tags: ["write_memory", "large_file_tracking", "advisory_only"], readOnlyHint: false, idempotentHint: false },
14
- complete_requirement: { tags: ["write_memory", "requirement_lifecycle", "advisory_only"], readOnlyHint: false, idempotentHint: false },
15
- clear_activity_log: { tags: ["diagnostic_state", "non_project_memory"], readOnlyHint: false, idempotentHint: true },
16
- install_rtk: { tags: ["optional_setup", "dry_run_by_default"], readOnlyHint: false, idempotentHint: false, openWorldHint: true },
17
- upsert_project_summary: { tags: ["write_memory", "project_summary", "advisory_only"], readOnlyHint: false, idempotentHint: true },
42
+ plan_large_file_split: { tags: ["write_memory", "large_file_plan", "workflow_gate_evidence"], readOnlyHint: false, destructiveHint: true, idempotentHint: false, advisoryOnly: false, workflowGate: true },
43
+ record_large_file_split: { tags: ["write_memory", "large_file_tracking", "advisory_only"], readOnlyHint: false, destructiveHint: true, idempotentHint: false },
44
+ complete_requirement: { tags: ["write_memory", "requirement_lifecycle", "advisory_only"], readOnlyHint: false, destructiveHint: true, idempotentHint: false },
45
+ clear_activity_log: { tags: ["diagnostic_state", "non_project_memory"], readOnlyHint: false, destructiveHint: true, idempotentHint: true },
46
+ install_rtk: { tags: ["optional_setup", "dry_run_by_default"], readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: true },
47
+ upsert_project_summary: { tags: ["write_memory", "project_summary", "advisory_only"], readOnlyHint: false, destructiveHint: true, idempotentHint: true },
18
48
  add_note: { tags: ["write_memory", "project_note", "advisory_only"], readOnlyHint: false, idempotentHint: false },
19
- upsert_decision: { tags: ["write_memory", "current_decision", "advisory_only"], readOnlyHint: false, idempotentHint: true },
20
- supersede_memory: { tags: ["write_memory", "stale_memory_control", "advisory_only"], readOnlyHint: false, idempotentHint: false },
21
- upsert_convention: { tags: ["write_memory", "project_convention", "advisory_only"], readOnlyHint: false, idempotentHint: true },
22
- maintain_memory: { tags: ["memory_maintenance", "dry_run_by_default", "advisory_only"], readOnlyHint: false, idempotentHint: false },
23
- prune_index: { tags: ["index_maintenance", "dry_run_by_default", "advisory_only"], readOnlyHint: false, idempotentHint: false },
49
+ upsert_decision: { tags: ["write_memory", "current_decision", "advisory_only"], readOnlyHint: false, destructiveHint: true, idempotentHint: true },
50
+ supersede_memory: { tags: ["write_memory", "stale_memory_control", "advisory_only"], readOnlyHint: false, destructiveHint: true, idempotentHint: false },
51
+ upsert_convention: { tags: ["write_memory", "project_convention", "advisory_only"], readOnlyHint: false, destructiveHint: true, idempotentHint: true },
52
+ maintain_memory: { tags: ["memory_maintenance", "dry_run_by_default", "advisory_only"], readOnlyHint: false, destructiveHint: true, idempotentHint: false },
53
+ prune_index: { tags: ["index_maintenance", "dry_run_by_default", "advisory_only"], readOnlyHint: false, destructiveHint: true, idempotentHint: false },
24
54
  create_checkpoint: { tags: ["write_memory", "checkpoint", "advisory_only"], readOnlyHint: false, idempotentHint: false },
25
55
  restore_checkpoint_context: { tags: ["read_only", "checkpoint_context", "advisory_only"], readOnlyHint: true, idempotentHint: true },
26
56
  analyze_memory_conflicts: { tags: ["read_only", "memory_diagnostics", "advisory_only"], readOnlyHint: true, idempotentHint: true },
27
57
  memory_quality_report: { tags: ["read_only", "memory_quality", "advisory_only"], readOnlyHint: true, idempotentHint: true },
28
58
  compare_checkpoint_context: { tags: ["read_only", "checkpoint_diff", "advisory_only"], readOnlyHint: true, idempotentHint: true },
29
59
  };
60
+ export function isToolReadOnly(toolName) {
61
+ return (TOOL_BEHAVIOR[toolName] ?? DEFAULT_READ_ONLY_BEHAVIOR).readOnlyHint;
62
+ }
30
63
  function withToolBehavior(tool) {
31
64
  const behavior = TOOL_BEHAVIOR[tool.name] ?? DEFAULT_READ_ONLY_BEHAVIOR;
32
65
  return {
@@ -34,7 +67,7 @@ function withToolBehavior(tool) {
34
67
  annotations: {
35
68
  title: tool.name,
36
69
  readOnlyHint: behavior.readOnlyHint,
37
- destructiveHint: false,
70
+ destructiveHint: behavior.readOnlyHint ? false : (behavior.destructiveHint ?? false),
38
71
  idempotentHint: behavior.idempotentHint,
39
72
  openWorldHint: behavior.openWorldHint ?? false,
40
73
  },
@@ -42,7 +75,8 @@ function withToolBehavior(tool) {
42
75
  ...tool._meta,
43
76
  "vectormind/behavior": {
44
77
  tags: behavior.tags,
45
- advisory_only: true,
78
+ advisory_only: behavior.advisoryOnly ?? true,
79
+ workflow_gate: behavior.workflowGate ?? false,
46
80
  does_not_control_model_reasoning: true,
47
81
  does_not_control_host_runtime: true,
48
82
  },
@@ -53,32 +87,47 @@ export async function listToolDefinitions() {
53
87
  const tools = [
54
88
  {
55
89
  name: "start_requirement",
56
- description: "MUST call BEFORE editing code. Starts/activates the concrete user requirement so subsequent changes stay inside that requirement boundary and do not accumulate unrelated work. Supports scope_allow/scope_deny, allowed_paths/denied_paths, and optional requirement_items for explicit user-request mapping.",
90
+ description: "Call once for a new code-change goal. The default serial workflow closes the previous active requirement; pass close_previous=false only for intentional parallel work. Preserve requirement.id or goal_key because explicit identities can finish preflight/sync after another goal becomes active.",
57
91
  inputSchema: toJsonSchemaCompat(StartRequirementArgsSchema),
58
92
  },
93
+ {
94
+ name: "get_requirement_status",
95
+ description: "Read one requirement by req_id or goal_key, including whether it is active and resumable.",
96
+ inputSchema: toJsonSchemaCompat(GetRequirementStatusArgsSchema),
97
+ },
98
+ {
99
+ name: "resume_requirement",
100
+ description: "Explicitly reactivate a completed requirement by req_id or goal_key without closing other active requirements. Superseded requirements cannot be resumed.",
101
+ inputSchema: toJsonSchemaCompat(ResumeRequirementArgsSchema),
102
+ },
59
103
  {
60
104
  name: "sync_change_intent",
61
- description: "MUST call AFTER you edit code and save files. Archives the intent summary, links affected files to the current active requirement, and returns development_warnings for oversized files, broad change scope, or missing file targets. Optionally stores an explicit fix_pattern as advisory regression-memory; VectorMind does not infer fix patterns automatically.",
105
+ description: "Call once after edits. Pass req_id or goal_key from start_requirement when tasks can overlap. For transport/client retries, provide one stable explicit idempotency_key and reuse it only for that same logical call; calls without a key intentionally create new history. Pending files are consumed in bounded batches, and complete_requirement=true is accepted only when that batch leaves no pending entries. Include large_file_split_deferrals for plan-free minimal bugfix/hotfix debt.",
62
106
  inputSchema: toJsonSchemaCompat(SyncChangeIntentArgsSchema),
63
107
  },
108
+ {
109
+ name: "update_requirement_verification",
110
+ description: "Update verification evidence on the latest change_intent for an active or completed requirement without reopening it. By default verification entries merge while verification_gaps are replaced, so later authoritative test results can clear stale gaps. Superseded requirements are rejected, and each update creates a linked verification_update audit record.",
111
+ inputSchema: toJsonSchemaCompat(UpdateRequirementVerificationArgsSchema),
112
+ },
64
113
  {
65
114
  name: "preflight_change_scope",
66
- description: "MUST call BEFORE editing once you know the intended files/modules. Checks planned files against the active requirement, optional generic scope_allow/scope_deny/allowed_paths/denied_paths, and optional requirement_items/planned_changes mapping. Also returns relevant fix_pattern quality_signals as advisory-only regression reminders that must not change ok/safe_to_edit or expand scope. If ok=false/safe_to_edit=false, stop before editing and narrow the plan or scope contract. For huge files, use change_mode='mechanical_modularization' only when the task is to split the file.",
115
+ description: "Call once before the first edit when the complete file/module set is known. Pass req_id or goal_key when tasks overlap. Normal mapping and large-file signals plus relevant fix_pattern quality_signals are advisory; huge_file_modularization_required requires a persisted matching split_plan_id for mechanical work. A minimal bugfix may defer planning only with adds_responsibility=false and defer_split_reason, then persist that debt in sync_change_intent.large_file_split_deferrals.",
67
116
  inputSchema: toJsonSchemaCompat(PreflightChangeScopeArgsSchema),
68
117
  },
69
118
  {
70
119
  name: "preflight_operation_scope",
71
- description: "Call BEFORE running concrete operation commands such as deploy/publish/build/test/migrate/service/git/batch scripts. It compares the planned operation/commands/files/targets against current_constraints from decisions, conventions, active requirements, and recent notes. Reports stale_default_conflict or operation_constraint_conflict as advisory quality signals only; it does not control host execution or model reasoning.",
120
+ description: "Call ONCE immediately BEFORE the first concrete deploy/publish/build/test/migrate/service/git/batch command, including commands discovered after bootstrap_context. Pass the actual planned commands and targets. bootstrap_context is historical recall and never substitutes for this operation preflight. It compares the operation against current constraints and reports advisory conflicts without controlling host execution or model reasoning.",
72
121
  inputSchema: toJsonSchemaCompat(PreflightOperationScopeArgsSchema),
73
122
  },
74
123
  {
75
124
  name: "plan_large_file_split",
76
- description: "Plan a mechanical modularization split for a huge implementation file. Produces real semantic module names/directories and explicitly forbids generated/parts/partN files plus ordinal prefixes like 1_xxx/2_xxx. Use this before normal feature work when preflight_change_scope returns huge_file_modularization_required.",
125
+ description: "Persist or reuse a bounded-memory heuristic split plan when preflight_change_scope returns huge_file_modularization_required. Pass req_id or goal_key when tasks overlap, preserve plan_id, and pass it back to mechanical preflight. Reports low-confidence declaration coverage, target-module size constraints, source-state hash, and refinement warnings.",
77
126
  inputSchema: toJsonSchemaCompat(PlanLargeFileSplitArgsSchema),
78
127
  },
79
128
  {
80
129
  name: "record_large_file_split",
81
- description: "Record the planned/in-progress/partial/resolved status of a huge-file mechanical modularization split so future sessions know the file is being decomposed and where modules moved.",
130
+ description: "Update a persisted large-file split plan by plan_id. Validates requirement/file identity, project-contained semantic module paths, actual remaining lines, and resolved verification evidence without creating conflicting status notes.",
82
131
  inputSchema: toJsonSchemaCompat(RecordLargeFileSplitArgsSchema),
83
132
  },
84
133
  {
@@ -88,7 +137,7 @@ export async function listToolDefinitions() {
88
137
  },
89
138
  {
90
139
  name: "bootstrap_context",
91
- description: "MUST call at the start of every new chat/session. Returns brain dump + pending changes + development_warnings, advisory quality_signals such as relevant fix_pattern reminders, and (if you pass query) matches from the local memory store to avoid guessing.",
140
+ description: "Call at most once for a new project goal when historical context is needed. Default focused mode returns project summary plus query-relevant matches within a compact output budget; recent history and pending files are opt-in. When operation_preflight.required_before_commands=true, call preflight_operation_scope immediately before concrete commands; bootstrap_context does not satisfy that step.",
92
141
  inputSchema: toJsonSchemaCompat(BootstrapContextArgsSchema),
93
142
  },
94
143
  {
@@ -242,8 +291,12 @@ export async function listToolDefinitions() {
242
291
  inputSchema: toJsonSchemaCompat(PruneIndexArgsSchema),
243
292
  },
244
293
  ];
294
+ const profile = resolveToolProfile();
295
+ const visibleTools = profile === "core"
296
+ ? CORE_TOOL_ORDER.map((name) => tools.find((tool) => tool.name === name)).filter((tool) => tool !== undefined)
297
+ : tools;
245
298
  return {
246
- tools: tools.map(withToolBehavior),
299
+ tools: visibleTools.map(withToolBehavior),
247
300
  };
248
301
  }
249
302
  //# sourceMappingURL=tool-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-catalog.js","sourceRoot":"","sources":["../src/tool-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-catalog.js","sourceRoot":"","sources":["../src/tool-catalog.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { CreateCheckpointArgsSchema, ListCheckpointsArgsSchema, MemoryTimelineArgsSchema, RestoreCheckpointContextArgsSchema, } from "../tool-schemas.js";
2
2
  import { flushPendingChangeBuffer } from "../file-indexing.js";
3
- import { isHiddenFromDefaultRecall, parseMetadataJson, toChangeLogPreview, toMemoryItemPreview, toRequirementPreview } from "../memory-recall.js";
3
+ import { isHiddenFromDefaultRecall, toMemoryItemPreview, toRequirementPreview } from "../memory-recall.js";
4
4
  import { mergePendingWithGit } from "../pending-changes.js";
5
5
  import { logActivity } from "../activity-log.js";
6
6
  import { oneLine, safeJson, toolJson } from "../tool-output.js";
7
7
  import { toolCompactOrJson } from "../token-savings.js";
8
+ import { CHECKPOINT_DECISION_LIMIT, CHECKPOINT_RECENT_CHANGE_LIMIT, checkpointSnapshotBasis, checkpointSnapshotFromMetadata, getVisibleCheckpointDecisions, getVisibleCheckpointMemory, normalizeCheckpointSnapshot, toCheckpointChangePreview, toCheckpointRecordPreview, toCheckpointSnapshotMemoryPreview, } from "../checkpoint-snapshot.js";
9
+ const CHECKPOINT_LIST_MAX_CHARS = 80_000;
8
10
  function compactTimelineText(data) {
9
11
  const filters = Object.entries(data.basis)
10
12
  .filter(([, v]) => v !== undefined && v !== null && v !== "")
@@ -46,34 +48,6 @@ function compactCheckpointText(data) {
46
48
  lines.push("hint: checkpoints restore context only; they do not mutate active requirements or override model judgment");
47
49
  return lines.join("\n");
48
50
  }
49
- function getVisibleRecentCoreMemory(db, limit) {
50
- if (limit <= 0)
51
- return [];
52
- const pageSize = 200;
53
- const scanCap = 10_000;
54
- const stmt = db.prepare(`SELECT id, kind, title, content, file_path, start_line, end_line, req_id, metadata_json, content_hash, created_at, updated_at
55
- FROM memory_items
56
- WHERE kind IN ('requirement', 'change_intent', 'note', 'decision', 'checkpoint', 'memory_compaction', 'project_summary', 'convention')
57
- ORDER BY updated_at DESC, id DESC
58
- LIMIT ? OFFSET ?`);
59
- const visible = [];
60
- let offset = 0;
61
- while (visible.length < limit && offset < scanCap) {
62
- const rows = stmt.all(pageSize, offset);
63
- if (!rows.length)
64
- break;
65
- for (const row of rows) {
66
- if (!isHiddenFromDefaultRecall(row))
67
- visible.push(row);
68
- if (visible.length >= limit)
69
- break;
70
- }
71
- offset += rows.length;
72
- if (rows.length < pageSize)
73
- break;
74
- }
75
- return visible.slice(0, limit);
76
- }
77
51
  export async function handleMemoryTimeline(rawArgs, context) {
78
52
  const args = MemoryTimelineArgsSchema.parse(rawArgs);
79
53
  const db = context.getDb();
@@ -175,39 +149,74 @@ export async function handleCreateCheckpoint(rawArgs, context) {
175
149
  const args = CreateCheckpointArgsSchema.parse(rawArgs);
176
150
  flushPendingChangeBuffer();
177
151
  const db = context.getDb();
178
- const { getActiveRequirementStmt, getProjectSummaryStmt, insertMemoryItemStmt, listChangeLogsForRequirementStmt, listCurrentDecisionsStmt, listPendingChangesStmt, } = context.getStatements();
152
+ const { getActiveRequirementStmt, getProjectSummaryStmt, insertMemoryItemStmt, listChangeLogsForRequirementStmt, listPendingChangesStmt, } = context.getStatements();
179
153
  const active = getActiveRequirementStmt.get();
180
154
  const projectSummary = getProjectSummaryStmt.get();
181
- const decisions = listCurrentDecisionsStmt.all(10)
182
- .filter((row) => !isHiddenFromDefaultRecall(row))
183
- .map((row) => toMemoryItemPreview(row, false, 180, 1200));
184
- const recentRows = getVisibleRecentCoreMemory(db, args.recent_limit)
185
- .map((row) => toMemoryItemPreview(row, false, 180, 1200));
155
+ const decisionWindow = getVisibleCheckpointDecisions(db, CHECKPOINT_DECISION_LIMIT);
156
+ const decisions = decisionWindow.rows.map(toCheckpointSnapshotMemoryPreview);
157
+ const recentWindow = getVisibleCheckpointMemory(db, args.recent_limit);
158
+ const recentRows = recentWindow.rows.map(toCheckpointSnapshotMemoryPreview);
186
159
  const pendingRows = listPendingChangesStmt.all();
187
- const pending = args.pending_limit > 0
188
- ? mergePendingWithGit(pendingRows, { offset: 0, limit: args.pending_limit }).page
160
+ const pendingResult = args.pending_limit > 0
161
+ ? mergePendingWithGit(pendingRows, { offset: 0, limit: args.pending_limit })
162
+ : { total: 0, page: [], remaining: 0, truncated: false };
163
+ const recentChangeRows = active
164
+ ? listChangeLogsForRequirementStmt.all(active.id, CHECKPOINT_RECENT_CHANGE_LIMIT + 1)
189
165
  : [];
190
- const recentChanges = active
191
- ? listChangeLogsForRequirementStmt.all(active.id, 10).map((row) => toChangeLogPreview(row, false, 180, 1200))
192
- : [];
193
- const snapshot = {
166
+ const recentChanges = recentChangeRows
167
+ .slice(0, CHECKPOINT_RECENT_CHANGE_LIMIT)
168
+ .map(toCheckpointChangePreview);
169
+ const summary = args.summary.trim();
170
+ const basis = checkpointSnapshotBasis(args.recent_limit, args.pending_limit);
171
+ const snapshot = normalizeCheckpointSnapshot({
172
+ snapshot_version: basis.snapshot_version,
194
173
  created_at: new Date().toISOString(),
195
174
  advisory_only: true,
196
175
  note: "Checkpoint is context evidence only; it does not mutate active requirements or override model judgment.",
176
+ summary,
177
+ basis,
197
178
  active_requirement: active ? toRequirementPreview(active, false, 180, 1200) : null,
198
- project_summary: projectSummary ? toMemoryItemPreview(projectSummary, false, 180, 1200) : null,
179
+ project_summary: projectSummary ? toCheckpointSnapshotMemoryPreview(projectSummary) : null,
199
180
  decisions,
200
181
  recent_memory: recentRows,
201
182
  recent_changes: recentChanges,
202
- pending_changes: pending,
203
- };
204
- const summary = args.summary.trim();
183
+ pending_changes: pendingResult.page,
184
+ collections: {
185
+ decisions: {
186
+ total: decisions.length + (decisionWindow.truncated ? 1 : 0),
187
+ returned: decisions.length,
188
+ truncated: decisionWindow.truncated,
189
+ window_truncated: decisionWindow.truncated,
190
+ total_is_lower_bound: decisionWindow.truncated,
191
+ },
192
+ recent_memory: {
193
+ total: recentRows.length + (recentWindow.truncated ? 1 : 0),
194
+ returned: recentRows.length,
195
+ truncated: recentWindow.truncated,
196
+ window_truncated: recentWindow.truncated,
197
+ total_is_lower_bound: recentWindow.truncated,
198
+ },
199
+ recent_changes: {
200
+ total: recentChangeRows.length,
201
+ returned: recentChanges.length,
202
+ truncated: recentChangeRows.length > recentChanges.length,
203
+ window_truncated: recentChangeRows.length > recentChanges.length,
204
+ total_is_lower_bound: recentChangeRows.length > recentChanges.length,
205
+ },
206
+ pending_changes: {
207
+ total: pendingResult.total,
208
+ returned: pendingResult.page.length,
209
+ truncated: pendingResult.truncated,
210
+ window_truncated: pendingResult.truncated,
211
+ },
212
+ },
213
+ }, { fallbackBasis: basis });
205
214
  const content = [
206
215
  args.title,
207
216
  summary ? `Summary: ${summary}` : "",
208
217
  active ? `Active requirement: #${active.id} ${active.title}` : "Active requirement: none",
209
218
  `Decisions: ${decisions.map((d) => d.title ?? `#${d.id}`).join(", ") || "none"}`,
210
- `Pending: ${pending.map((p) => p.file_path).join(", ") || "none"}`,
219
+ `Pending: ${pendingResult.page.map((p) => p.file_path).join(", ") || "none"}`,
211
220
  ]
212
221
  .filter(Boolean)
213
222
  .join("\n");
@@ -215,12 +224,13 @@ export async function handleCreateCheckpoint(rawArgs, context) {
215
224
  status: "current",
216
225
  type: "checkpoint",
217
226
  advisory_only: true,
227
+ snapshot_version: basis.snapshot_version,
218
228
  snapshot,
219
229
  };
220
230
  const info = insertMemoryItemStmt.run("checkpoint", args.title, content, null, null, null, active?.id ?? null, safeJson(meta), context.sha256Hex(`${args.title}\n${content}\n${JSON.stringify(snapshot)}`));
221
231
  const checkpointId = Number(info.lastInsertRowid);
222
232
  const checkpoint = context.getStatements().getMemoryItemByIdStmt.get(checkpointId);
223
- const checkpointPreview = toMemoryItemPreview(checkpoint, false, 180, 1200);
233
+ const checkpointPreview = toCheckpointRecordPreview(checkpoint, false, 180, 1200);
224
234
  const outputValue = {
225
235
  ok: true,
226
236
  checkpoint: checkpointPreview,
@@ -230,7 +240,7 @@ export async function handleCreateCheckpoint(rawArgs, context) {
230
240
  checkpoint_id: checkpointId,
231
241
  title: args.title,
232
242
  active_requirement_id: active?.id ?? null,
233
- pending: pending.length,
243
+ pending: pendingResult.page.length,
234
244
  });
235
245
  return {
236
246
  content: [
@@ -250,12 +260,26 @@ export async function handleListCheckpoints(rawArgs, context) {
250
260
  WHERE kind = 'checkpoint'
251
261
  ORDER BY updated_at DESC, id DESC
252
262
  LIMIT ? OFFSET ?`)
253
- .all(args.limit, args.offset);
254
- const checkpoints = rows.map((row) => toMemoryItemPreview(row, args.include_content, args.preview_chars, args.content_max_chars));
263
+ .all(args.limit + 1, args.offset);
264
+ const candidates = rows.slice(0, args.limit).map((row) => toCheckpointRecordPreview(row, args.include_content, args.preview_chars, args.content_max_chars));
265
+ const checkpoints = [];
266
+ for (const checkpoint of candidates) {
267
+ checkpoints.push(checkpoint);
268
+ if (JSON.stringify(checkpoints).length > CHECKPOINT_LIST_MAX_CHARS) {
269
+ checkpoints.pop();
270
+ break;
271
+ }
272
+ }
273
+ const count = Number(db.prepare("SELECT COUNT(*) AS total FROM memory_items WHERE kind = 'checkpoint'").get().total);
274
+ const truncated = rows.length > args.limit || checkpoints.length < candidates.length;
255
275
  const outputValue = {
256
276
  ok: true,
257
277
  offset: args.offset,
258
278
  limit: args.limit,
279
+ count,
280
+ returned: checkpoints.length,
281
+ truncated,
282
+ next_offset: truncated ? args.offset + checkpoints.length : null,
259
283
  checkpoints,
260
284
  };
261
285
  return {
@@ -293,15 +317,16 @@ export async function handleRestoreCheckpointContext(rawArgs, context) {
293
317
  content: [{ type: "text", text: toolJson({ ok: false, error: "checkpoint not found" }) }],
294
318
  };
295
319
  }
296
- const meta = parseMetadataJson(row.metadata_json);
297
- const snapshot = (meta.snapshot && typeof meta.snapshot === "object" ? meta.snapshot : {});
298
- const checkpoint = toMemoryItemPreview(row, args.include_content, args.preview_chars, args.content_max_chars);
320
+ const fallbackBasis = checkpointSnapshotBasis(10, 10);
321
+ const stored = checkpointSnapshotFromMetadata(row.metadata_json, fallbackBasis);
322
+ const checkpoint = toCheckpointRecordPreview(row, args.include_content, args.preview_chars, args.content_max_chars);
299
323
  const outputValue = {
300
324
  ok: true,
301
325
  restored: true,
302
326
  read_only: true,
327
+ snapshot_valid: stored.valid,
303
328
  checkpoint,
304
- snapshot,
329
+ snapshot: stored.snapshot,
305
330
  };
306
331
  logActivity("restore_checkpoint_context", {
307
332
  checkpoint_id: row.id,
@@ -1 +1 @@
1
- {"version":3,"file":"context-recovery.js","sourceRoot":"","sources":["../../src/tool-handlers/context-recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-recovery.js","sourceRoot":"","sources":["../../src/tool-handlers/context-recovery.ts"],"names":[],"mappings":"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"}