echoes-vault-opencode 1.0.36 → 1.0.37

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 (2) hide show
  1. package/package.json +1 -1
  2. package/tui.tsx +28 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "echoes-vault-opencode",
3
- "version": "1.0.36",
3
+ "version": "1.0.37",
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",
package/tui.tsx CHANGED
@@ -55,13 +55,26 @@ const tui: TuiPlugin = async (api) => {
55
55
 
56
56
  const statusDesc = () => {
57
57
  const s = state()
58
- if (!s || !s.initialized)
59
- return "Run /echoes-init to activate vault"
60
- if (s.session.saved)
61
- return "Vault memorized session data"
62
- if (s.session.started)
63
- return "Run /echoes-end before closing"
64
- return "Run /echoes-start to load context"
58
+ if (!s || !s.initialized) return null
59
+ if (s.session.saved) return "Vault memorized session data"
60
+ if (s.session.started) return null
61
+ return null
62
+ }
63
+
64
+ const statusCmd = () => {
65
+ const s = state()
66
+ if (!s || !s.initialized) return "/echoes-init"
67
+ if (s.session.saved) return null
68
+ if (s.session.started) return "/echoes-end"
69
+ return "/echoes-start"
70
+ }
71
+
72
+ const statusCmdHint = () => {
73
+ const s = state()
74
+ if (!s || !s.initialized) return "to activate vault"
75
+ if (s.session.saved) return null
76
+ if (s.session.started) return "before closing"
77
+ return "to load context"
65
78
  }
66
79
 
67
80
  return (
@@ -70,7 +83,14 @@ const tui: TuiPlugin = async (api) => {
70
83
  <b>EchoesVault</b>
71
84
  </text>
72
85
  <text fg={statusColor()}>{statusLabel()}</text>
73
- <text fg={theme.textMuted}>{statusDesc()}</text>
86
+ {statusDesc() && (
87
+ <text fg={theme.textMuted}>{statusDesc()}</text>
88
+ )}
89
+ {statusCmd() && (
90
+ <text fg={theme.textMuted}>
91
+ Run <b fg={statusColor()}>{statusCmd()}</b> {statusCmdHint()}
92
+ </text>
93
+ )}
74
94
  </box>
75
95
  )
76
96
  },