echoes-vault-opencode 1.0.2 → 1.0.4

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 (3) hide show
  1. package/README.md +1 -0
  2. package/index.ts +40 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -99,6 +99,7 @@ The AI distills the session into a dense technical summary, writes new encyclope
99
99
  | `/echoes-init` | Initialize the vault and brief the AI on the knowledge base rules |
100
100
  | `/echoes-start` | Start session — restore context from the last 3 daily logs and the index |
101
101
  | `/echoes-end` | End session — distill and commit session memory to the vault |
102
+ | `/echoes-status` | Report vault health, statistics, and scalability |
102
103
 
103
104
  ### AI tools reference
104
105
 
package/index.ts CHANGED
@@ -148,6 +148,44 @@ Prepare the following payload for the skill:
148
148
  Compile these data points and execute the save function immediately!
149
149
  `
150
150
 
151
+ const ECHOES_STATUS_COMMAND = `---
152
+ description: Report the current health, statistics, and scalability of the EchoesVault
153
+ agent: build
154
+ ---
155
+
156
+ # SYSTEM MESSAGE: Vault Status Report
157
+ You are the EchoesVault Keeper. The user has requested a quick, high-level health check of the knowledge base. Do NOT analyze the deep architectural meaning of the files. Your goal is to output a fast, token-efficient metrics dashboard.
158
+
159
+ ## \ud83d\udce5 INPUT DATA
160
+ Here is the current registry (\`EchoesVault/index.md\`):
161
+ <index>
162
+ !\`cat EchoesVault/index.md 2>/dev/null || echo "EchoesVault/index.md not found"\`
163
+ </index>
164
+
165
+ Here is today's daily log if it exists:
166
+ <today_log>
167
+ !\`cat EchoesVault/daily/$(date +%Y-%m-%d).md 2>/dev/null || echo "No entries yet"\`
168
+ </today_log>
169
+
170
+ ## \ud83d\ude80 ACTION
171
+ Analyze the inputs strictly for quantitative metrics. Provide a highly concise, bulleted dashboard using the exact formatting below.
172
+
173
+ **CRITICAL SCALE RULE:**
174
+ Count the total number of topics in the index. If the total count is greater than 200, you MUST append the \`> [!warning] SCALE ALERT\` block below your dashboard. If the count is 200 or less, omit the alert block entirely.
175
+
176
+ **Expected Output Format:**
177
+ \ud83d\udcca **EchoesVault Status**
178
+ * **Total Topics:** [Count of files listed in the index]
179
+ * **Deprecated Pages:** [Count of files marked as deprecated in the index, if any]
180
+ * **Today's Session:** [Active (with X entries) / Not started yet]
181
+ * **Index Health:** [Healthy / Warning: mention obvious duplicates or empty descriptions]
182
+
183
+ > [!warning] SCALE ALERT
184
+ > The vault has exceeded 200 pages. To prevent context window inflation and high token costs during \`/echoes-start\`, consider migrating this knowledge base to a hybrid RAG (Retrieval-Augmented Generation) system.
185
+
186
+ Keep your response under 90 words. Output strictly the dashboard (and the conditional alert if triggered). No conversational filler.
187
+ `
188
+
151
189
  const APPEND_TO_DAILY_LOG_SKILL = `---
152
190
  name: echoes_append_to_daily_log
153
191
  description: Append an intermediate technical note or decision to today's daily log immediately after completing a sub-task.
@@ -222,6 +260,7 @@ const ensureCommands = async (directory: string): Promise<void> => {
222
260
  "echoes-init.md": ECHOES_INIT_COMMAND,
223
261
  "echoes-start.md": ECHOES_START_COMMAND,
224
262
  "echoes-end.md": ECHOES_END_COMMAND,
263
+ "echoes-status.md": ECHOES_STATUS_COMMAND,
225
264
  }
226
265
  const cmdDir = path.join(directory, ".opencode", "commands")
227
266
  await fs.mkdir(cmdDir, { recursive: true })
@@ -284,6 +323,7 @@ export const OpenCodeEchoes: Plugin = async ({ directory }) => {
284
323
  "echoes-init": ECHOES_INIT_COMMAND,
285
324
  "echoes-start": ECHOES_START_COMMAND,
286
325
  "echoes-end": ECHOES_END_COMMAND,
326
+ "echoes-status": ECHOES_STATUS_COMMAND,
287
327
  }
288
328
  input.command = input.command || {}
289
329
  for (const [name, cmd] of Object.entries(cmds)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echoes-vault-opencode",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "EchoesVault — persistent memory plugin for OpenCode. Obsidian-style knowledge base with daily logs, encyclopedia pages, and session resumption.",
5
5
  "type": "module",
6
6
  "main": "index.ts",