context-vault 2.17.1 → 3.0.2

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 (110) hide show
  1. package/bin/cli.js +795 -71
  2. package/node_modules/@context-vault/core/dist/capture.d.ts +21 -0
  3. package/node_modules/@context-vault/core/dist/capture.d.ts.map +1 -0
  4. package/node_modules/@context-vault/core/dist/capture.js +269 -0
  5. package/node_modules/@context-vault/core/dist/capture.js.map +1 -0
  6. package/node_modules/@context-vault/core/dist/categories.d.ts +6 -0
  7. package/node_modules/@context-vault/core/dist/categories.d.ts.map +1 -0
  8. package/node_modules/@context-vault/core/dist/categories.js +50 -0
  9. package/node_modules/@context-vault/core/dist/categories.js.map +1 -0
  10. package/node_modules/@context-vault/core/dist/config.d.ts +4 -0
  11. package/node_modules/@context-vault/core/dist/config.d.ts.map +1 -0
  12. package/node_modules/@context-vault/core/dist/config.js +190 -0
  13. package/node_modules/@context-vault/core/dist/config.js.map +1 -0
  14. package/node_modules/@context-vault/core/dist/constants.d.ts +33 -0
  15. package/node_modules/@context-vault/core/dist/constants.d.ts.map +1 -0
  16. package/node_modules/@context-vault/core/dist/constants.js +23 -0
  17. package/node_modules/@context-vault/core/dist/constants.js.map +1 -0
  18. package/node_modules/@context-vault/core/dist/db.d.ts +13 -0
  19. package/node_modules/@context-vault/core/dist/db.d.ts.map +1 -0
  20. package/node_modules/@context-vault/core/dist/db.js +191 -0
  21. package/node_modules/@context-vault/core/dist/db.js.map +1 -0
  22. package/node_modules/@context-vault/core/dist/embed.d.ts +5 -0
  23. package/node_modules/@context-vault/core/dist/embed.d.ts.map +1 -0
  24. package/node_modules/@context-vault/core/dist/embed.js +78 -0
  25. package/node_modules/@context-vault/core/dist/embed.js.map +1 -0
  26. package/node_modules/@context-vault/core/dist/files.d.ts +13 -0
  27. package/node_modules/@context-vault/core/dist/files.d.ts.map +1 -0
  28. package/node_modules/@context-vault/core/dist/files.js +66 -0
  29. package/node_modules/@context-vault/core/dist/files.js.map +1 -0
  30. package/node_modules/@context-vault/core/dist/formatters.d.ts +8 -0
  31. package/node_modules/@context-vault/core/dist/formatters.d.ts.map +1 -0
  32. package/node_modules/@context-vault/core/dist/formatters.js +18 -0
  33. package/node_modules/@context-vault/core/dist/formatters.js.map +1 -0
  34. package/node_modules/@context-vault/core/dist/frontmatter.d.ts +12 -0
  35. package/node_modules/@context-vault/core/dist/frontmatter.d.ts.map +1 -0
  36. package/node_modules/@context-vault/core/dist/frontmatter.js +101 -0
  37. package/node_modules/@context-vault/core/dist/frontmatter.js.map +1 -0
  38. package/node_modules/@context-vault/core/dist/index.d.ts +10 -0
  39. package/node_modules/@context-vault/core/dist/index.d.ts.map +1 -0
  40. package/node_modules/@context-vault/core/dist/index.js +297 -0
  41. package/node_modules/@context-vault/core/dist/index.js.map +1 -0
  42. package/node_modules/@context-vault/core/dist/ingest-url.d.ts +20 -0
  43. package/node_modules/@context-vault/core/dist/ingest-url.d.ts.map +1 -0
  44. package/node_modules/@context-vault/core/dist/ingest-url.js +113 -0
  45. package/node_modules/@context-vault/core/dist/ingest-url.js.map +1 -0
  46. package/node_modules/@context-vault/core/dist/main.d.ts +14 -0
  47. package/node_modules/@context-vault/core/dist/main.d.ts.map +1 -0
  48. package/node_modules/@context-vault/core/dist/main.js +25 -0
  49. package/node_modules/@context-vault/core/dist/main.js.map +1 -0
  50. package/node_modules/@context-vault/core/dist/search.d.ts +18 -0
  51. package/node_modules/@context-vault/core/dist/search.d.ts.map +1 -0
  52. package/node_modules/@context-vault/core/dist/search.js +238 -0
  53. package/node_modules/@context-vault/core/dist/search.js.map +1 -0
  54. package/node_modules/@context-vault/core/dist/types.d.ts +176 -0
  55. package/node_modules/@context-vault/core/dist/types.d.ts.map +1 -0
  56. package/node_modules/@context-vault/core/dist/types.js +2 -0
  57. package/node_modules/@context-vault/core/dist/types.js.map +1 -0
  58. package/node_modules/@context-vault/core/package.json +66 -16
  59. package/node_modules/@context-vault/core/src/capture.ts +308 -0
  60. package/node_modules/@context-vault/core/src/categories.ts +54 -0
  61. package/node_modules/@context-vault/core/src/{core/config.js → config.ts} +34 -33
  62. package/node_modules/@context-vault/core/src/{constants.js → constants.ts} +6 -3
  63. package/node_modules/@context-vault/core/src/db.ts +229 -0
  64. package/node_modules/@context-vault/core/src/{index/embed.js → embed.ts} +10 -35
  65. package/node_modules/@context-vault/core/src/{core/files.js → files.ts} +15 -20
  66. package/node_modules/@context-vault/core/src/{capture/formatters.js → formatters.ts} +13 -11
  67. package/node_modules/@context-vault/core/src/{core/frontmatter.js → frontmatter.ts} +26 -33
  68. package/node_modules/@context-vault/core/src/index.ts +351 -0
  69. package/node_modules/@context-vault/core/src/ingest-url.ts +99 -0
  70. package/node_modules/@context-vault/core/src/main.ts +111 -0
  71. package/node_modules/@context-vault/core/src/{retrieve/index.js → search.ts} +62 -150
  72. package/node_modules/@context-vault/core/src/types.ts +166 -0
  73. package/package.json +12 -7
  74. package/scripts/postinstall.js +1 -1
  75. package/{node_modules/@context-vault/core/src/core → src}/error-log.js +1 -15
  76. package/{node_modules/@context-vault/core/src/server → src}/helpers.js +9 -4
  77. package/src/linking.js +100 -0
  78. package/{node_modules/@context-vault/core/src/server/tools.js → src/register-tools.js} +14 -13
  79. package/src/{server/index.js → server.js} +10 -38
  80. package/src/status.js +235 -0
  81. package/{node_modules/@context-vault/core/src/core → src}/telemetry.js +9 -19
  82. package/src/temporal.js +97 -0
  83. package/{node_modules/@context-vault/core/src/server → src}/tools/context-status.js +3 -4
  84. package/{node_modules/@context-vault/core/src/server → src}/tools/create-snapshot.js +6 -7
  85. package/{node_modules/@context-vault/core/src/server → src}/tools/delete-context.js +0 -2
  86. package/{node_modules/@context-vault/core/src/server → src}/tools/get-context.js +17 -21
  87. package/{node_modules/@context-vault/core/src/server → src}/tools/ingest-project.js +5 -6
  88. package/{node_modules/@context-vault/core/src/server → src}/tools/ingest-url.js +3 -4
  89. package/{node_modules/@context-vault/core/src/server → src}/tools/list-buckets.js +4 -5
  90. package/{node_modules/@context-vault/core/src/server → src}/tools/list-context.js +3 -6
  91. package/{node_modules/@context-vault/core/src/server → src}/tools/save-context.js +17 -20
  92. package/{node_modules/@context-vault/core/src/server → src}/tools/session-start.js +9 -16
  93. package/node_modules/@context-vault/core/src/capture/file-ops.js +0 -99
  94. package/node_modules/@context-vault/core/src/capture/import-pipeline.js +0 -46
  95. package/node_modules/@context-vault/core/src/capture/importers.js +0 -387
  96. package/node_modules/@context-vault/core/src/capture/index.js +0 -250
  97. package/node_modules/@context-vault/core/src/capture/ingest-url.js +0 -252
  98. package/node_modules/@context-vault/core/src/consolidation/index.js +0 -112
  99. package/node_modules/@context-vault/core/src/core/categories.js +0 -73
  100. package/node_modules/@context-vault/core/src/core/linking.js +0 -161
  101. package/node_modules/@context-vault/core/src/core/migrate-dirs.js +0 -196
  102. package/node_modules/@context-vault/core/src/core/status.js +0 -350
  103. package/node_modules/@context-vault/core/src/core/temporal.js +0 -146
  104. package/node_modules/@context-vault/core/src/index/db.js +0 -586
  105. package/node_modules/@context-vault/core/src/index/index.js +0 -583
  106. package/node_modules/@context-vault/core/src/index.js +0 -71
  107. package/node_modules/@context-vault/core/src/sync/sync.js +0 -235
  108. package/src/hooks/post-tool-call.mjs +0 -62
  109. package/src/hooks/session-end.mjs +0 -492
  110. /package/{node_modules/@context-vault/core/src/server → src}/tools/clear-context.js +0 -0
@@ -1,146 +0,0 @@
1
- /**
2
- * Temporal shortcut resolver.
3
- *
4
- * Converts natural-language time expressions to ISO date strings.
5
- * Fully pure — accepts an explicit `now` Date for deterministic testing.
6
- *
7
- * Supported shortcuts (case-insensitive, spaces or underscores):
8
- * today → start of today (00:00:00 local midnight in UTC)
9
- * yesterday → { since: start of yesterday, until: end of yesterday }
10
- * this_week → start of current ISO week (Monday 00:00)
11
- * last_N_days → N days ago (e.g. last_3_days, last 7 days)
12
- * last_N_weeks → N weeks ago
13
- * last_N_months → N calendar months ago (approximate: N × 30 days)
14
- *
15
- * Anything that doesn't match a shortcut is returned unchanged so that ISO
16
- * date strings pass straight through without modification.
17
- */
18
-
19
- const SHORTCUT_RE = /^last[_ ](\d+)[_ ](day|days|week|weeks|month|months)$/i;
20
-
21
- /**
22
- * Start of today in UTC (i.e. the midnight boundary at which the local date begins,
23
- * expressed as an ISO string). We operate in UTC throughout so tests are portable.
24
- *
25
- * @param {Date} now
26
- * @returns {Date}
27
- */
28
- function startOfToday(now) {
29
- const d = new Date(now);
30
- d.setUTCHours(0, 0, 0, 0);
31
- return d;
32
- }
33
-
34
- /**
35
- * Resolve a single temporal expression to one or two ISO date strings.
36
- *
37
- * @param {"since"|"until"} role - Which parameter we are resolving.
38
- * @param {string} value - Raw parameter value from the caller.
39
- * @param {Date} [now] - Override for "now" (defaults to `new Date()`).
40
- * @returns {string} - Resolved ISO date string (or original value if unrecognised).
41
- */
42
- export function resolveTemporalShortcut(role, value, now = new Date()) {
43
- if (!value || typeof value !== "string") return value;
44
-
45
- const trimmed = value.trim().toLowerCase().replace(/\s+/g, "_");
46
-
47
- if (trimmed === "today") {
48
- const start = startOfToday(now);
49
- if (role === "until") {
50
- // "until today" means up to end-of-today
51
- const end = new Date(start);
52
- end.setUTCDate(end.getUTCDate() + 1);
53
- return end.toISOString();
54
- }
55
- return start.toISOString();
56
- }
57
-
58
- if (trimmed === "yesterday") {
59
- const todayStart = startOfToday(now);
60
- const yesterdayStart = new Date(todayStart);
61
- yesterdayStart.setUTCDate(yesterdayStart.getUTCDate() - 1);
62
- if (role === "since") return yesterdayStart.toISOString();
63
- // role === "until": end of yesterday = start of today
64
- return todayStart.toISOString();
65
- }
66
-
67
- if (trimmed === "this_week") {
68
- // Monday 00:00 UTC of the current week
69
- const todayStart = startOfToday(now);
70
- const dayOfWeek = todayStart.getUTCDay(); // 0=Sun, 1=Mon, ..., 6=Sat
71
- const daysFromMonday = (dayOfWeek + 6) % 7; // 0 on Monday
72
- const monday = new Date(todayStart);
73
- monday.setUTCDate(monday.getUTCDate() - daysFromMonday);
74
- if (role === "since") return monday.toISOString();
75
- // "until this_week" means up to now (end of today)
76
- const endOfToday = new Date(todayStart);
77
- endOfToday.setUTCDate(endOfToday.getUTCDate() + 1);
78
- return endOfToday.toISOString();
79
- }
80
-
81
- if (trimmed === "this_month") {
82
- const d = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), 1));
83
- if (role === "since") return d.toISOString();
84
- const endOfMonth = new Date(
85
- Date.UTC(now.getUTCFullYear(), now.getUTCMonth() + 1, 1),
86
- );
87
- return endOfMonth.toISOString();
88
- }
89
-
90
- const m = SHORTCUT_RE.exec(trimmed);
91
- if (m) {
92
- const n = parseInt(m[1], 10);
93
- const unit = m[2].replace(/s$/, ""); // normalise plural → singular
94
- let ms;
95
- if (unit === "day") {
96
- ms = n * 86400000;
97
- } else if (unit === "week") {
98
- ms = n * 7 * 86400000;
99
- } else {
100
- // month → approximate as 30 days
101
- ms = n * 30 * 86400000;
102
- }
103
- const target = new Date(now.getTime() - ms);
104
- target.setUTCHours(0, 0, 0, 0);
105
- return target.toISOString();
106
- }
107
-
108
- // Unrecognised — pass through unchanged (ISO dates, empty strings, etc.)
109
- return value;
110
- }
111
-
112
- /**
113
- * Resolve both `since` and `until` parameters, handling the special case where
114
- * "yesterday" sets both bounds automatically when only `since` is specified.
115
- *
116
- * Returns `{ since, until }` with resolved ISO strings (or originals).
117
- *
118
- * @param {{ since?: string, until?: string }} params
119
- * @param {Date} [now]
120
- * @returns {{ since: string|undefined, until: string|undefined }}
121
- */
122
- export function resolveTemporalParams(params, now = new Date()) {
123
- let { since, until } = params;
124
-
125
- // Special case: "yesterday" on `since` without an explicit `until`
126
- // auto-fills `until` to the end of yesterday.
127
- if (
128
- since?.trim().toLowerCase() === "yesterday" &&
129
- (until === undefined || until === null)
130
- ) {
131
- since = resolveTemporalShortcut("since", since, now);
132
- until = resolveTemporalShortcut("until", "yesterday", now);
133
- return { since, until };
134
- }
135
-
136
- return {
137
- since:
138
- since !== undefined
139
- ? resolveTemporalShortcut("since", since, now)
140
- : since,
141
- until:
142
- until !== undefined
143
- ? resolveTemporalShortcut("until", until, now)
144
- : until,
145
- };
146
- }