vault-go 0.22.1 → 0.22.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.
- package/README.md +146 -387
- package/package.json +3 -6
- package/docs/ast-and-awareness.md +0 -72
- package/docs/mode-integrations.md +0 -74
- package/docs/parity-deployment-review.md +0 -60
- package/docs/transcripts-and-context.md +0 -75
package/README.md
CHANGED
|
@@ -1,126 +1,57 @@
|
|
|
1
|
-
## Login no navegador
|
|
2
|
-
|
|
3
|
-
`bunx --bun vault-go@latest` abre o autenticador do AI Vault Memory no navegador. E-mail, senha e MFA são informados apenas no portal. Ao concluir, o terminal recebe um código de uso único por `127.0.0.1` e o troca com PKCE; tokens não aparecem na URL nem no console. O listener fecha ao concluir ou após cinco minutos.
|
|
4
|
-
|
|
5
|
-
Para trocar a conta: `bunx --bun vault-go@latest login --force`. Para chave de API explícita: `bunx --bun vault-go@latest login --force --api-key`. Se a abertura automática falhar, use o endereço exibido no mesmo computador. Requer uma sessão local com navegador para o retorno loopback.
|
|
6
|
-
|
|
7
1
|
# vault-go
|
|
8
2
|
|
|
9
|
-
|
|
3
|
+
MCP server and installer for **[Vault Memory](https://vault.resolveup.com.br)** — search, capture, and use account memory across AI clients.
|
|
10
4
|
|
|
11
|
-
|
|
12
|
-
plataforma Vault. A persistência fica no PostgreSQL do serviço Rust executado
|
|
13
|
-
no EasyPanel; o painel local mantém um cache privado das consultas recentes.
|
|
5
|
+
Memories live in your Vault Memory cloud account. This package installs the local MCP server, signs you in, registers clients, and runs an optional local worker that turns captured events into memories.
|
|
14
6
|
|
|
15
|
-
|
|
7
|
+
```sh
|
|
8
|
+
npm install -g vault-go@latest
|
|
9
|
+
vault-go setup
|
|
10
|
+
```
|
|
16
11
|
|
|
17
|
-
|
|
12
|
+
Or without a global install:
|
|
18
13
|
|
|
19
14
|
```sh
|
|
20
|
-
bun
|
|
15
|
+
bunx --bun vault-go@latest
|
|
21
16
|
```
|
|
22
17
|
|
|
23
|
-
|
|
18
|
+
Requires [Bun](https://bun.sh/) (`bun --version`) and Node.js 20+.
|
|
24
19
|
|
|
25
|
-
|
|
20
|
+
## Sign in
|
|
26
21
|
|
|
27
|
-
|
|
28
|
-
HTTP da plataforma, sem instalar runtime ou banco local. Crie em **Segurança >
|
|
29
|
-
Chaves de API** uma chave apenas com `memory:read` e configure:
|
|
22
|
+
`vault-go setup` and `vault-go login` open the Vault Memory sign-in page in your browser. Email, password, and MFA stay in the portal. The CLI receives a one-time code on `127.0.0.1` and exchanges it with PKCE. Tokens never appear in the URL or terminal. The listener closes when login finishes or after five minutes.
|
|
30
23
|
|
|
31
24
|
```sh
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
--url https://vaultmemoryai.com/api/mcp \
|
|
35
|
-
--bearer-token-env-var VAULT_GO_TOKEN
|
|
25
|
+
vault-go login --force # switch account
|
|
26
|
+
vault-go login --force --api-key # paste a scoped API key instead
|
|
36
27
|
```
|
|
37
28
|
|
|
38
|
-
|
|
29
|
+
If the browser does not open, use the loopback URL printed in the same session.
|
|
39
30
|
|
|
40
|
-
|
|
41
|
-
{
|
|
42
|
-
"mcpServers": {
|
|
43
|
-
"vault-go": {
|
|
44
|
-
"type": "http",
|
|
45
|
-
"url": "https://vaultmemoryai.com/api/mcp",
|
|
46
|
-
"headers": {
|
|
47
|
-
"Authorization": "Bearer ${VAULT_GO_TOKEN}"
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
```
|
|
31
|
+
Credentials are stored in `~/.memvault/auth.json` (`0600`). The directory is `0700`. Passwords and MFA codes are not saved.
|
|
53
32
|
|
|
54
|
-
|
|
55
|
-
linha do tempo, entrada/saída de ferramentas, contexto de arquivos, estatísticas, estado vetorial e consultas
|
|
56
|
-
às bases de conhecimento. Para captura automática, criação/reconstrução de
|
|
57
|
-
bases, escrita, importação ou exclusão, use o cliente Bun completo abaixo.
|
|
33
|
+
## Install MCP
|
|
58
34
|
|
|
59
|
-
###
|
|
35
|
+
### Full local server (capture + write)
|
|
60
36
|
|
|
61
|
-
|
|
37
|
+
The setup wizard:
|
|
62
38
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
39
|
+
1. Reuses an existing session in `~/.memvault`, or opens Vault Memory sign-in.
|
|
40
|
+
2. Detects installed clients and registers the MCP server.
|
|
41
|
+
3. Leaves other client config in place.
|
|
42
|
+
4. Installs the local dashboard on port `38850` (starts at login on macOS).
|
|
66
43
|
|
|
67
|
-
|
|
68
|
-
enquanto verifica os motores disponíveis. Em terminais pequenos, a abertura usa
|
|
69
|
-
uma versão compacta. Para desativar, execute `vault-go setup --no-animation` ou
|
|
70
|
-
defina `VAULT_GO_NO_ANIMATION=1`. `NO_COLOR`, `TERM=dumb`, CI e saídas sem terminal
|
|
71
|
-
também usam a apresentação estática, sem códigos ANSI ou espera. O modo MCP
|
|
72
|
-
`serve` não exibe a animação.
|
|
73
|
-
|
|
74
|
-
O assistente:
|
|
75
|
-
|
|
76
|
-
1. valida uma sessão existente em `~/.memvault`;
|
|
77
|
-
2. se necessário, abre o login do AI Vault Memory no navegador (chave de API somente com `--api-key`)
|
|
78
|
-
`vg_live_...`;
|
|
79
|
-
3. detecta os clientes instalados;
|
|
80
|
-
4. permite escolher onde registrar o MCP;
|
|
81
|
-
5. preserva as outras configurações dos clientes;
|
|
82
|
-
6. instala e abre o painel local na porta 38850 (início automático no macOS).
|
|
83
|
-
|
|
84
|
-
Clientes suportados:
|
|
85
|
-
|
|
86
|
-
- Codex e ChatGPT Desktop local;
|
|
87
|
-
- Claude Code e Claude Desktop;
|
|
88
|
-
- Grok (config.toml nativo e hooks em `~/.grok/hooks`);
|
|
89
|
-
- Agy / Antigravity CLI e IDE;
|
|
90
|
-
- Gemini CLI;
|
|
91
|
-
- Cursor e Windsurf;
|
|
92
|
-
- VS Code com GitHub Copilot;
|
|
93
|
-
- GitHub Copilot CLI;
|
|
94
|
-
- Roo Code;
|
|
95
|
-
- OpenCode.
|
|
96
|
-
|
|
97
|
-
O Crystal do Vault Desktop usa este mesmo servidor MCP. Ative **Crystal → MCP →
|
|
98
|
-
Ativar no Vault MCP** no Desktop atualizado e reconecte o cliente MCP. As ferramentas
|
|
99
|
-
`vault_go_crystal_list`, `read`, `search`, `write`, `delete`, `sync` e `status` ficam
|
|
100
|
-
disponíveis junto às ferramentas de memória. O Desktop deve permanecer aberto no
|
|
101
|
-
mesmo computador; a conexão local é configurada automaticamente, sem copiar um
|
|
102
|
-
segredo ou cadastrar um segundo servidor. Desativar a integração revoga essa conexão.
|
|
103
|
-
|
|
104
|
-
Comandos explícitos:
|
|
44
|
+
Supported clients: Codex, ChatGPT Desktop, Claude Code, Claude Desktop, Grok, Agy / Antigravity, Gemini CLI, Cursor, Windsurf, VS Code + GitHub Copilot, Copilot CLI, Roo Code, OpenCode, and Vault Desktop (Crystal).
|
|
105
45
|
|
|
106
46
|
```sh
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
bunx --bun vault-go@latest serve
|
|
113
|
-
bunx --bun vault-go@latest engine list
|
|
114
|
-
bunx --bun vault-go@latest engine use openrouter
|
|
115
|
-
bunx --bun vault-go@latest engine use codex --model terra
|
|
116
|
-
bunx --bun vault-go@latest engine key openrouter
|
|
47
|
+
vault-go setup
|
|
48
|
+
vault-go setup --clients codex,claude,copilot
|
|
49
|
+
vault-go setup --engine openrouter
|
|
50
|
+
vault-go setup --engine claude --model sonnet
|
|
51
|
+
vault-go serve
|
|
117
52
|
```
|
|
118
53
|
|
|
119
|
-
|
|
120
|
-
o diretório usa `0700`. Senhas e códigos MFA não são persistidos. Reinicie os
|
|
121
|
-
clientes que estavam abertos depois da primeira instalação.
|
|
122
|
-
|
|
123
|
-
Configuração MCP genérica:
|
|
54
|
+
Generic MCP config:
|
|
124
55
|
|
|
125
56
|
```json
|
|
126
57
|
{
|
|
@@ -133,262 +64,137 @@ Configuração MCP genérica:
|
|
|
133
64
|
}
|
|
134
65
|
```
|
|
135
66
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
67
|
+
Override the home directory with `VAULT_GO_HOME`. Restart clients that were already open after the first install.
|
|
68
|
+
|
|
69
|
+
### Read-only remote MCP
|
|
70
|
+
|
|
71
|
+
For search and context without a local runtime, create an API key with `memory:read` under **Security → API keys**, then:
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
export VAULT_GO_TOKEN='<memory-read-key>'
|
|
75
|
+
codex mcp add vault-go \
|
|
76
|
+
--url https://vaultmemoryai.com/api/mcp \
|
|
77
|
+
--bearer-token-env-var VAULT_GO_TOKEN
|
|
78
|
+
```
|
|
139
79
|
|
|
140
80
|
```json
|
|
141
81
|
{
|
|
142
82
|
"mcpServers": {
|
|
143
83
|
"vault-go": {
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
"
|
|
147
|
-
"
|
|
84
|
+
"type": "http",
|
|
85
|
+
"url": "https://vaultmemoryai.com/api/mcp",
|
|
86
|
+
"headers": {
|
|
87
|
+
"Authorization": "Bearer ${VAULT_GO_TOKEN}"
|
|
148
88
|
}
|
|
149
89
|
}
|
|
150
90
|
}
|
|
151
91
|
}
|
|
152
92
|
```
|
|
153
93
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
##
|
|
163
|
-
|
|
164
|
-
- `vault_go_status`: conexão e autenticação sem expor credenciais.
|
|
165
|
-
- `vault_go_cloud_health`: disponibilidade da plataforma.
|
|
166
|
-
- `vault_go_projects` e `vault_go_project_create`: projetos da conta.
|
|
167
|
-
- `vault_go_session_start` e `vault_go_session_end`: ciclo de sessão.
|
|
168
|
-
- `vault_go_event`: eventos de prompt, ferramenta e resultado.
|
|
169
|
-
- `vault_go_remember`: observações, decisões, descobertas e resumos.
|
|
170
|
-
- `vault_go_search`: busca textual com ranking e trechos.
|
|
171
|
-
- `vault_go_search_index`: índice compacto com filtros, trechos e custo estimado.
|
|
172
|
-
- `vault_go_observations`: carrega em lote somente os IDs selecionados.
|
|
173
|
-
- `vault_go_timeline`: contexto anterior e posterior a uma memória.
|
|
174
|
-
- `vault_go_context`: contexto progressivo com limite de caracteres.
|
|
175
|
-
- `vault_go_file_context`: histórico ligado aos arquivos lidos ou modificados.
|
|
176
|
-
- `vault_go_stats`: contagens isoladas da conta.
|
|
177
|
-
- `vault_go_jobs`: fila PostgreSQL da conta, sem payload sensível.
|
|
178
|
-
- `vault_go_job_retry` e `vault_go_job_cancel`: controle idempotente do processamento.
|
|
179
|
-
- `vault_go_export` e `vault_go_import`: transporte JSON tenant-scoped, atômico e idempotente.
|
|
180
|
-
- `vault_go_embedding_status` e `vault_go_embedding_backfill`: busca híbrida e fila vetorial, sem expor chaves.
|
|
181
|
-
- `vault_go_feed`: pagina memórias recentes por projeto, tipo e origem.
|
|
182
|
-
- `vault_go_knowledge_bases` e `vault_go_knowledge_base`: lista e abre bases focadas.
|
|
183
|
-
- `vault_go_knowledge_build` e `vault_go_knowledge_rebuild`: cria ou atualiza uma base a partir de filtros.
|
|
184
|
-
- `vault_go_knowledge_query`: recupera contexto fundamentado e citações dentro da base.
|
|
185
|
-
- `vault_go_knowledge_delete`: remove a base e preserva as memórias originais.
|
|
186
|
-
- `vault_go_forget`: exclusão explícita de uma memória.
|
|
187
|
-
- `vault_go_engines`: lista motores de contexto (Vault AI, Claude, OpenRouter, Gemini, ChatGPT/Codex) sem revelar chaves.
|
|
188
|
-
- `vault_go_engine_select`: escolhe o motor local (`vault-ai-resume`, `claude-subscription`, `openai-subscription`, `openrouter`, `gemini`).
|
|
189
|
-
- `vault_go_generate_context`: gera título, fatos e conceitos com o motor escolhido; não persiste memória sozinho.
|
|
190
|
-
|
|
191
|
-
O seletor oferece Codex (Terra, Luna ou Sol pela assinatura ChatGPT), Claude (CLI da assinatura), OpenRouter (chave), Gemini (chave) ou o Vault AI Resume da conta, quando disponível no servidor. Grave chaves com `vault-go engine key openrouter|gemini` ou no painel local; as ferramentas MCP não aceitam segredos.
|
|
192
|
-
|
|
193
|
-
Na instalação, o Vault Go registra hooks no Claude Code, no Codex, no Grok, no Agy e no Gemini CLI. Eles carregam contexto e capturam os eventos oferecidos pelo cliente; o serviço local (`http://localhost:38850`) gera memórias com o motor escolhido, persistindo no Vault. No OpenCode 1.x, um plugin acrescenta contexto ao sistema antes das chamadas do modelo; esse adaptador não adiciona captura automática.
|
|
194
|
-
|
|
195
|
-
Também há [captura persistente opt-in de transcripts Claude/Codex e contexto entre projetos](docs/transcripts-and-context.md), com comandos CLI e MCP, checkpoints privados e consentimento por workspace/conta. Ativar esses recursos preserva o motor/modelo escolhido.
|
|
196
|
-
|
|
197
|
-
O recurso `vault-go://status` fornece o resumo sanitizado em JSON.
|
|
198
|
-
|
|
199
|
-
Para reduzir o uso de contexto, prefira a recuperação em três camadas:
|
|
200
|
-
|
|
201
|
-
1. Pesquise com `vault_go_search_index`, usando projeto, origem, conceitos,
|
|
202
|
-
arquivos e intervalo de datas quando conhecidos.
|
|
203
|
-
2. Abra `vault_go_timeline` somente para os resultados que precisam de
|
|
204
|
-
contexto cronológico.
|
|
205
|
-
3. Envie os IDs escolhidos a `vault_go_observations` para carregar o conteúdo
|
|
206
|
-
completo em um único lote tenant-scoped.
|
|
207
|
-
|
|
208
|
-
As bases, filtros, vínculos e feed ficam exclusivamente no PostgreSQL da
|
|
209
|
-
plataforma. A consulta retorna evidências e `synthesisAvailable: false`; o
|
|
210
|
-
cliente MCP faz a síntese, evitando respostas inventadas e chaves ocultas no
|
|
211
|
-
servidor. A síntese do servidor só será habilitada quando um provedor semântico
|
|
212
|
-
for configurado explicitamente.
|
|
213
|
-
|
|
214
|
-
## Fluxo integrado
|
|
94
|
+
Remote MCP exposes projects, search, context, recents, feed, timeline, tool I/O, file context, stats, embeddings, and knowledge-base queries. Automatic capture, knowledge-base writes, import, and delete require the local Bun server.
|
|
95
|
+
|
|
96
|
+
`VAULT_GO_TOKEN` accepts a session token or a `vg_live_...` key. Use only the scopes you need: `memory:read`, `memory:write`, `memory:delete`. `VAULT_GO_API_URL` changes the API host. Browser login refreshes automatically; API keys are for scoped automation.
|
|
97
|
+
|
|
98
|
+
### Vault Desktop (Crystal)
|
|
99
|
+
|
|
100
|
+
On an updated Vault Desktop, enable **Crystal → MCP → Enable in Vault MCP** and reconnect the MCP client. Crystal note tools (`vault_go_crystal_list`, `read`, `search`, `write`, `delete`, `sync`, `status`) appear next to memory tools. Desktop must stay open on the same machine. No second server or copied secret is required. Disabling the integration revokes that connection.
|
|
101
|
+
|
|
102
|
+
## How it works
|
|
215
103
|
|
|
216
104
|
```text
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
105
|
+
AI client → vault-go (local MCP)
|
|
106
|
+
↓
|
|
107
|
+
Vault Memory API (authenticated)
|
|
108
|
+
↓
|
|
109
|
+
Memory engine → your account store
|
|
220
110
|
```
|
|
221
111
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
112
|
+
The engine has no public route. The API authenticates you, then scopes every query to that account. Clients cannot read another account’s memories.
|
|
113
|
+
|
|
114
|
+
Setup also installs session hooks on Claude Code, Codex, Grok, Agy, and Gemini CLI. Those hooks load project context and capture supported events. The local worker at `http://localhost:38850` generates memories with the selected engine and writes them to Vault Memory. OpenCode 1.x gets a context-only plugin; it does not capture automatically.
|
|
225
115
|
|
|
226
|
-
|
|
116
|
+
Prefer three-step retrieval to keep context small:
|
|
227
117
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
- Limita tamanhos, listas e janelas nos schemas das ferramentas.
|
|
232
|
-
- Reserva `stdout` exclusivamente para o protocolo MCP.
|
|
233
|
-
- O painel guarda cache de projetos/memórias e metadados de chamadas MCP em arquivos privados locais.
|
|
118
|
+
1. `vault_go_search_index` with project, type, concepts, files, or dates.
|
|
119
|
+
2. `vault_go_timeline` only around the hits that need nearby context.
|
|
120
|
+
3. `vault_go_observations` for the selected IDs.
|
|
234
121
|
|
|
235
|
-
|
|
236
|
-
busca, gravação e exclusão de memórias dentro da conta autenticada.
|
|
122
|
+
## Context engines
|
|
237
123
|
|
|
238
|
-
|
|
124
|
+
List and select engines without putting API keys in MCP tools:
|
|
239
125
|
|
|
240
126
|
```sh
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
npm run pack:check
|
|
127
|
+
vault-go engine list
|
|
128
|
+
vault-go engine use openrouter
|
|
129
|
+
vault-go engine use codex --model terra
|
|
130
|
+
vault-go engine key openrouter
|
|
246
131
|
```
|
|
247
132
|
|
|
248
|
-
|
|
133
|
+
| Engine | How it authenticates |
|
|
134
|
+
| --- | --- |
|
|
135
|
+
| Vault AI Resume | Vault account entitlement |
|
|
136
|
+
| Claude | `claude auth login` (subscription CLI) |
|
|
137
|
+
| Codex / ChatGPT | `codex login` — models `terra`, `luna`, `sol` (CLI 0.155.1+) |
|
|
138
|
+
| OpenRouter | key stored with `vault-go engine key openrouter` |
|
|
139
|
+
| Gemini | key stored with `vault-go engine key gemini` |
|
|
249
140
|
|
|
250
|
-
|
|
251
|
-
semântica, publicação no npm, tag e GitHub Release:
|
|
141
|
+
MCP tools never accept secrets. Store keys with the CLI or the local dashboard. Provider usage limits apply. Managed Vault AI generation still depends on server configuration and quota.
|
|
252
142
|
|
|
253
|
-
|
|
254
|
-
- `feat:` gera minor;
|
|
255
|
-
- `feat!:` ou `BREAKING CHANGE:` gera major.
|
|
143
|
+
## MCP tools
|
|
256
144
|
|
|
257
|
-
|
|
258
|
-
repositório ou em logs.
|
|
145
|
+
Account and health: `vault_go_status`, `vault_go_cloud_health`, `vault_go_preferences`, `vault_go_preferences_update`.
|
|
259
146
|
|
|
147
|
+
Projects and sessions: `vault_go_projects`, `vault_go_project_create`, `vault_go_session_start`, `vault_go_session_end`, `vault_go_session_start_context`.
|
|
260
148
|
|
|
261
|
-
|
|
149
|
+
Capture and recall: `vault_go_event`, `vault_go_remember`, `vault_go_forget`, `vault_go_search`, `vault_go_search_index`, `vault_go_observations`, `vault_go_timeline`, `vault_go_context`, `vault_go_file_context`, `vault_go_feed`, `vault_go_memory`, `vault_go_tool_uses`, `vault_go_stats`.
|
|
262
150
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
bunx --bun vault-go@latest local stop
|
|
269
|
-
bunx --bun vault-go@latest local uninstall
|
|
270
|
-
```
|
|
151
|
+
Knowledge bases: `vault_go_knowledge_bases`, `vault_go_knowledge_base`, `vault_go_knowledge_build`, `vault_go_knowledge_rebuild`, `vault_go_knowledge_query`, `vault_go_knowledge_delete`, `vault_go_prime_corpus`, `vault_go_query_corpus`, `vault_go_reprime_corpus`.
|
|
152
|
+
|
|
153
|
+
Jobs and backup: `vault_go_jobs`, `vault_go_job`, `vault_go_job_retry`, `vault_go_job_cancel`, `vault_go_processing_status`, `vault_go_observer_status`, `vault_go_export`, `vault_go_import`, `vault_go_backup_create`, `vault_go_backup_restore`, `vault_go_embedding_status`, `vault_go_embedding_backfill`.
|
|
154
|
+
|
|
155
|
+
Engines and updates: `vault_go_engines`, `vault_go_engine_select`, `vault_go_generate_context`, `vault_go_update_status`, `vault_go_update_check`, `vault_go_update_install`, `vault_go_update_configure`.
|
|
271
156
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
uma prova criptográfica do serviço e abre uma sessão privada no navegador;
|
|
282
|
-
o segredo local é removido do fragmento imediatamente e trocado por cookie
|
|
283
|
-
HttpOnly/SameSite=Strict. Não há CORS nem acesso direto da nuvem ao localhost.
|
|
284
|
-
O portal `/app/local` abre o painel da máquina atual.
|
|
285
|
-
|
|
286
|
-
No macOS, `local install` registra um LaunchAgent do usuário. Em Linux e
|
|
287
|
-
Windows, inicia o serviço nesta sessão; após reiniciar, use `local start`.
|
|
288
|
-
O runtime fica em `~/.memvault/local-runtime`, independente do cache bunx.
|
|
289
|
-
`local stop` para o processo; `local uninstall` remove o início automático e
|
|
290
|
-
preserva autenticação, cache e atividade. A atualização automática mantém o
|
|
291
|
-
serviço e os hooks atualizados; clientes MCP abertos precisam reconectar.
|
|
292
|
-
Após validar a nova versão do serviço, a atualização também repara os hooks do
|
|
293
|
-
Gemini e o plugin do OpenCode quando esses clientes já têm o MCP Vault configurado.
|
|
294
|
-
Plugins de terceiros são preservados. Reinicie clientes abertos para carregar
|
|
295
|
-
novos hooks ou o módulo atualizado do plugin.
|
|
296
|
-
|
|
297
|
-
A atividade registra método, rota, duração e resultado das chamadas feitas
|
|
298
|
-
pelo MCP Vault, sem argumentos, consultas ou credenciais. Não captura toda a
|
|
299
|
-
atividade da máquina nem importa automaticamente o banco do claude-mem em
|
|
300
|
-
37701. A sincronização deste painel é de leitura da nuvem; as ferramentas
|
|
301
|
-
MCP continuam responsáveis pelas gravações na API.
|
|
302
|
-
|
|
303
|
-
### Sessões, dispositivos e proteção local
|
|
304
|
-
|
|
305
|
-
**Sair** encerra a sessão desta página e cancela suas prévias de contexto.
|
|
306
|
-
**Desconectar dispositivo** pede confirmação, revoga as credenciais do agente
|
|
307
|
-
na nuvem e remove a autenticação e o cache local após sucesso. Os arquivos
|
|
308
|
-
pessoais permanecem intactos. Para reconectar, entre novamente pelo navegador.
|
|
309
|
-
O portal mostra último contato, permissões e permite revogar cada agente.
|
|
310
|
-
|
|
311
|
-
O cache e a credencial de monitoramento usam AES-256-GCM. No macOS, a chave
|
|
312
|
-
fica no Keychain; nos demais sistemas, em arquivo privado `0600`. Os tokens
|
|
313
|
-
MCP existentes continuam em arquivo privado. O painel informa essas diferenças:
|
|
314
|
-
cache cifrado não significa que todas as memórias sejam criptografadas ponta a
|
|
315
|
-
ponta. O cofre de arquivos e o canal do terminal têm seus próprios protocolos.
|
|
316
|
-
|
|
317
|
-
### Motor de contexto
|
|
318
|
-
|
|
319
|
-
Escolha **Vault AI Resume**, **Claude Subscription** ou **OpenAI Subscription**
|
|
320
|
-
no painel local. A disponibilidade é verificada antes da geração. Claude usa
|
|
321
|
-
`claude auth login`; OpenAI usa `codex login` com uma conta ChatGPT. O agente
|
|
322
|
-
não pede nem copia credenciais desses provedores. O modelo gerenciado depende
|
|
323
|
-
de configuração e quota no servidor Vault.
|
|
324
|
-
|
|
325
|
-
A prévia manual exige texto informado pelo usuário, usa diretório temporário,
|
|
326
|
-
limites de entrada/saída e timeout, e permite cancelamento. CLIs recebem apenas
|
|
327
|
-
o texto informado, com ferramentas/configurações locais desativadas conforme
|
|
328
|
-
os recursos suportados. O resultado é uma prévia privada da sessão, disponível
|
|
329
|
-
para copiar; não é salvo automaticamente como memória. Os planos e limites do
|
|
330
|
-
provedor escolhido se aplicam. Cancelar não garante estorno de uso já iniciado.
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
## Contexto automático e processamento
|
|
334
|
-
|
|
335
|
-
Os hooks SessionStart leem o contexto do projeto no início, retomada e compactação
|
|
336
|
-
conforme os eventos oferecidos pelo cliente. O hook anterior à leitura de arquivos
|
|
337
|
-
é síncrono para conseguir inserir o contexto. `vault_go_session_start_context`
|
|
338
|
-
executa o mesmo leitor, respeitando `contextItems` e `contextMaxChars` da conta.
|
|
339
|
-
|
|
340
|
-
Claude, Codex e Gemini mostram uma confirmação quando o contexto é carregado,
|
|
341
|
-
sem exibir conteúdo da memória nessa confirmação. Worktrees Git reutilizam o
|
|
342
|
-
projeto do repositório principal; se ele ainda não estiver cadastrado, um projeto
|
|
343
|
-
existente do próprio worktree continua legível. Submódulos mantêm seu projeto.
|
|
344
|
-
|
|
345
|
-
O Gemini usa `SessionStart`, `BeforeAgent`, `AfterTool` e `AfterAgent`, conforme
|
|
346
|
-
seu [contrato de hooks](https://geminicli.com/docs/hooks/reference/). Não há
|
|
347
|
-
injeção de histórico de arquivo em `BeforeTool`, pois esse evento não oferece
|
|
348
|
-
esse contrato. O plugin OpenCode usa `experimental.chat.system.transform`
|
|
349
|
-
do [contrato 1.x](https://github.com/anomalyco/opencode/blob/v1.18.31/packages/plugin/src/index.ts),
|
|
350
|
-
com prazo de três segundos e continuação normal em caso de falha. Consultas
|
|
351
|
-
simultâneas da mesma sessão são compartilhadas; respostas de uma credencial
|
|
352
|
-
substituída não são injetadas. Clientes sem esses adaptadores acessam memória
|
|
353
|
-
pelas ferramentas MCP, sem promessa de contexto automático.
|
|
354
|
-
|
|
355
|
-
A captura respeita `automaticCapture`, `captureMode` e a opção de incluir resultados
|
|
356
|
-
de ferramentas. Uma falha ao consultar preferências desativa aquela captura.
|
|
357
|
-
Eventos privados não são enviados; campos sensíveis e marcadores privados são
|
|
358
|
-
removidos antes do processamento. A redação é heurística, não uma garantia de
|
|
359
|
-
reconhecimento de qualquer formato de segredo.
|
|
360
|
-
|
|
361
|
-
O worker processa uma fila privada persistente com o motor selecionado. A geração
|
|
362
|
-
bem-sucedida é conservada para repetir somente a gravação quando a rede falha;
|
|
363
|
-
a importação usa uma chave idempotente. A troca de conta não transfere jobs entre
|
|
364
|
-
contas. Jobs antigos são adotados apenas após confirmar que o projeto pertence
|
|
365
|
-
à conta autenticada. `summaryMode=off` preserva o conteúdo capturado sem chamar
|
|
366
|
-
modelo. `vault_go_processing_status` mostra pendências e falhas sem seu conteúdo.
|
|
157
|
+
Graph and local code: `vault_go_graph`, `vault_go_graph_link`, `vault_go_graph_link_delete`, `vault_go_graph_presets`, `vault_go_graph_preset_save`, `vault_go_smart_outline`, `vault_go_smart_unfold`, `vault_go_smart_search`, `vault_go_smart_languages`.
|
|
158
|
+
|
|
159
|
+
Workflows: `vault_go_workflow`, `vault_go_modes`, `vault_go_mode`, plus named prompts such as `vault_go_babysit`. Loading a mode gives the agent instructions; it does not start a background job.
|
|
160
|
+
|
|
161
|
+
Optional local integrations (explicit consent): Telegram alerts, custom mode taxonomies, Claude/Codex transcript watchers, multi-project context chains, and Grok awareness logs. See `vault_go_capabilities` for what is configured on this machine.
|
|
162
|
+
|
|
163
|
+
The `vault-go://status` resource is a sanitized JSON summary.
|
|
164
|
+
|
|
165
|
+
## Local dashboard
|
|
367
166
|
|
|
368
167
|
```sh
|
|
369
|
-
vault-go
|
|
370
|
-
vault-go
|
|
371
|
-
vault-go
|
|
168
|
+
vault-go local install
|
|
169
|
+
vault-go local open
|
|
170
|
+
vault-go local status
|
|
171
|
+
vault-go local stop
|
|
172
|
+
vault-go local uninstall
|
|
372
173
|
```
|
|
373
174
|
|
|
374
|
-
|
|
375
|
-
`model: "terra"`, `"luna"` ou `"sol"`. Requer `codex login` com ChatGPT e a CLI
|
|
376
|
-
0.155.1 ou superior no PATH usado pelo serviço. Instalações antigas que aparecem
|
|
377
|
-
antes no PATH são detectadas antes da geração. O modelo padrão do Codex é Terra.
|
|
378
|
-
Os limites de uso da assinatura se aplicam. O processamento gerenciado Vault AI
|
|
379
|
-
continua dependendo de configuração e quota no servidor.
|
|
175
|
+
Open [http://localhost:38850](http://localhost:38850) and choose **Connect to Vault**. The service listens only on `127.0.0.1:38850`. `local open` proves the local process cryptographically, then uses an HttpOnly / SameSite=Strict cookie. There is no CORS and no inbound path from the cloud to localhost.
|
|
380
176
|
|
|
381
|
-
|
|
177
|
+
The dashboard follows the browser language (pt / en / es) and can switch locale. It shows local search, recent MCP activity, and cloud projects/memories for the signed-in account. While visible it refreshes the UI every 5 seconds and the cloud every 15 seconds. Offline, it keeps the last cache for that account.
|
|
382
178
|
|
|
383
|
-
|
|
384
|
-
uma instalação de versão exata em `~/.memvault/releases`, sem executar scripts
|
|
385
|
-
do pacote, valida a estrutura e executa um teste de inicialização. Ativa a versão
|
|
386
|
-
quando o worker e a fila estão ociosos. Uma falha na inicialização restaura o runtime
|
|
387
|
-
anterior. A autenticação, as preferências e a fila são preservadas.
|
|
179
|
+
On macOS, `local install` registers a user LaunchAgent. On Linux and Windows it starts for this session; use `local start` after reboot. Runtime files live in `~/.memvault/local-runtime`. Uninstall removes autostart and keeps auth, cache, and activity.
|
|
388
180
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
181
|
+
**Sign out** ends this browser session and cancels its context previews. **Disconnect device** revokes the cloud device credential and, after success, removes local auth and cache. Personal files are left in place. Reconnect through the browser.
|
|
182
|
+
|
|
183
|
+
## Capture and processing
|
|
184
|
+
|
|
185
|
+
SessionStart hooks load project context on start, resume, and compact when the client offers those events. File-read hooks are synchronous so context can be injected. `vault_go_session_start_context` is the same reader, using the account `contextItems` and `contextMaxChars` budget.
|
|
186
|
+
|
|
187
|
+
Claude, Codex, and Gemini confirm that context loaded without printing memory contents. Git worktrees reuse the canonical repository project. Submodules keep their own project.
|
|
188
|
+
|
|
189
|
+
Capture honors `automaticCapture`, `captureMode`, and whether tool results are included. A preference lookup failure disables that capture. Private events are not sent. Sensitive fields and private markers are stripped before processing (heuristic redaction, not a guarantee for every secret format).
|
|
190
|
+
|
|
191
|
+
The worker drains a private queue with the selected engine. Successful generation is cached so a network retry does not call the model again. Import uses an idempotency key. Account switches do not move jobs between accounts. `summaryMode=off` stores captured text without calling a model. `vault_go_processing_status` reports counts, not contents.
|
|
192
|
+
|
|
193
|
+
Opt-in Claude/Codex transcript watchers and project context chains are configured with MCP/CLI and stay bound to the current account.
|
|
194
|
+
|
|
195
|
+
## Automatic updates
|
|
196
|
+
|
|
197
|
+
The worker checks the official npm registry daily for a stable `vault-go` release, stages an exact version under `~/.memvault/releases` without running package install scripts, validates it, and activates when idle. A failed start rolls back. Auth, preferences, and the queue are kept. Open MCP clients must reconnect to load new tools.
|
|
392
198
|
|
|
393
199
|
```sh
|
|
394
200
|
vault-go update status
|
|
@@ -398,78 +204,31 @@ vault-go update off
|
|
|
398
204
|
vault-go update on
|
|
399
205
|
```
|
|
400
206
|
|
|
401
|
-
|
|
402
|
-
`vault_go_update_install` e `vault_go_update_configure`. Instalação manual pode
|
|
403
|
-
reiniciar o serviço; a atualização automática espera o processamento terminar.
|
|
404
|
-
|
|
405
|
-
## Auditoria do claude-mem e ferramentas adicionais
|
|
406
|
-
|
|
407
|
-
A comparação usa o código do claude-mem 13.25.2, commit
|
|
408
|
-
`adce0fdfaf1cd46646bbd0b22ae74cbd460ed787`. A matriz acessível em
|
|
409
|
-
`vault_go_capabilities` e no recurso `vault-go://capabilities` distingue funções
|
|
410
|
-
implementadas e suas dependências. `deploymentVerified` resulta de consultas aos
|
|
411
|
-
contratos da API/engine conectados, com cache privado de cinco minutos por conta;
|
|
412
|
-
não presume autenticação dos provedores nem entrega de notificações. O recurso
|
|
413
|
-
MCP lê somente o cache; a ferramenta verifica por padrão.
|
|
414
|
-
|
|
415
|
-
Além das ferramentas acima, o MCP inclui:
|
|
416
|
-
|
|
417
|
-
- `vault_go_workflow`: guia de recuperação progressiva.
|
|
418
|
-
- `vault_go_tool_uses`: dados originais redigidos de ferramentas, por ID do evento,
|
|
419
|
-
memória vinculada ou chave externa; depende da captura histórica disponível.
|
|
420
|
-
- `vault_go_memory`: abre uma memória por UUID.
|
|
421
|
-
- `vault_go_preferences` / `vault_go_preferences_update`: captura e orçamento de contexto.
|
|
422
|
-
- `vault_go_observer_status` / `vault_go_processing_status`: processamento remoto e local.
|
|
423
|
-
- `vault_go_graph`, `vault_go_graph_link`, `vault_go_graph_link_delete`,
|
|
424
|
-
`vault_go_graph_presets` e `vault_go_graph_preset_save`: leitura e manutenção do grafo.
|
|
425
|
-
- `vault_go_smart_outline`, `vault_go_smart_unfold` e `vault_go_smart_search`:
|
|
426
|
-
exploração AST local. Search aceita padrões estruturais como `console.log($ARG)`;
|
|
427
|
-
`filePattern` é glob. As ferramentas informam linguagens suportadas e truncamento,
|
|
428
|
-
limitam leitura ao workspace e bloqueiam caminhos privados e escapes por symlink.
|
|
429
|
-
|
|
430
|
-
A busca aceita `query` opcional, `offset` e `orderBy`. A timeline também pode
|
|
431
|
-
localizar a âncora por consulta. `vault_go_job` consulta um job individual.
|
|
432
|
-
`vault_go_prime_corpus`, `vault_go_query_corpus` e `vault_go_reprime_corpus`
|
|
433
|
-
respondem com o modelo escolhido, citações e histórico local cifrado de até 12 turnos.
|
|
434
|
-
|
|
435
|
-
`vault_go_backup_create` salva todas as páginas de um snapshot consistente em
|
|
436
|
-
arquivo privado, com SHA-256 e cobertura declarada. `vault_go_backup_restore`
|
|
437
|
-
valida hash e proprietário antes de alterar preferências ou dados. Snapshots têm
|
|
438
|
-
TTL de uma hora e limite explícito de 100 mil registros; exceder limites retorna
|
|
439
|
-
erro, sem apresentar um backup truncado como completo. O formato é próprio do
|
|
440
|
-
Vault; não equivale ao SQLite upstream nem a uma réplica offline.
|
|
441
|
-
|
|
442
|
-
Telegram, CCS Align e taxonomias herdadas têm integrações locais próprias; veja
|
|
443
|
-
[integrações de modos](docs/mode-integrations.md). Watchers de Claude/Codex e
|
|
444
|
-
contexto entre projetos são configuráveis com consentimento; veja
|
|
445
|
-
[transcripts e contexto](docs/transcripts-and-context.md). O [scan completo](docs/claude-mem-upstream-scan.md)
|
|
446
|
-
registra os contratos upstream; a matriz MCP descreve a implementação atual.
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
## Modos e skills padrão no MCP
|
|
450
|
-
|
|
451
|
-
O pacote inclui 20 workflows originais adaptados ao Vault. Liste com
|
|
452
|
-
`vault_go_modes` e carregue com `vault_go_mode`, por exemplo:
|
|
207
|
+
## Security
|
|
453
208
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
209
|
+
- Tools and resources never return access or refresh tokens.
|
|
210
|
+
- HTTPS only, except HTTP on localhost.
|
|
211
|
+
- Access tokens refresh from a private local refresh token.
|
|
212
|
+
- Tool schemas bound sizes, lists, and windows.
|
|
213
|
+
- `stdout` is reserved for the MCP protocol.
|
|
214
|
+
- The dashboard cache uses AES-256-GCM (macOS Keychain, elsewhere a `0600` file). Encrypted cache is not the same as end-to-end encryption of every memory.
|
|
457
215
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
216
|
+
Install this MCP only on clients you trust: a connected client can search, write, and delete memories in the signed-in account.
|
|
217
|
+
|
|
218
|
+
## Development
|
|
219
|
+
|
|
220
|
+
```sh
|
|
221
|
+
npm install
|
|
222
|
+
bun run typecheck
|
|
223
|
+
bun test src
|
|
224
|
+
bun run build
|
|
225
|
+
npm run pack:check
|
|
226
|
+
```
|
|
462
227
|
|
|
463
|
-
|
|
464
|
-
knowledge-agent, standup, timeline-report, weekly-digests, learn-codebase,
|
|
465
|
-
pathfinder, design-is, what-the, version-bump, oh-my-issues, cloud-sync,
|
|
466
|
-
mode-creator, ccs-align e wowerpoint.
|
|
228
|
+
Pushes to `main` run CI. Conventional commits publish to npm (`fix` → patch, `feat` → minor, `BREAKING CHANGE` → major). `NPM_TOKEN` lives only in GitHub Actions.
|
|
467
229
|
|
|
468
|
-
|
|
469
|
-
enquanto a solicitação está ativa. `mode-creator` instala taxonomias herdadas e
|
|
470
|
-
`ccs-align` mantém cache, exclusões e relatório de regras por viewer. Wowerpoint
|
|
471
|
-
ainda depende de um renderer de apresentação do cliente, e cmem.ai continua sendo
|
|
472
|
-
um serviço distinto. Ações externas seguem a autorização da tarefa; carregar um
|
|
473
|
-
prompt não envia mensagens, publica versões ou faz merge.
|
|
230
|
+
## Links
|
|
474
231
|
|
|
475
|
-
|
|
232
|
+
- Product: [https://vault.resolveup.com.br](https://vault.resolveup.com.br)
|
|
233
|
+
- Source: [https://github.com/resolveup-cloud/vault-go](https://github.com/resolveup-cloud/vault-go)
|
|
234
|
+
- npm: [https://www.npmjs.com/package/vault-go](https://www.npmjs.com/package/vault-go)
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vault-go",
|
|
3
|
-
"version": "0.22.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.22.2",
|
|
4
|
+
"description": "MCP server and installer for Vault Memory: search, capture, and use account memory across AI clients.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"vault-go": "dist/index.js",
|
|
@@ -78,7 +78,6 @@
|
|
|
78
78
|
"dist/server.d.ts",
|
|
79
79
|
"assets/",
|
|
80
80
|
"README.md",
|
|
81
|
-
"docs/mode-integrations.md",
|
|
82
81
|
"LICENSE",
|
|
83
82
|
"dist/mcp-result.js",
|
|
84
83
|
"dist/mcp-result.d.ts",
|
|
@@ -114,7 +113,6 @@
|
|
|
114
113
|
"dist/transcript-tools.d.ts",
|
|
115
114
|
"dist/context-chain.js",
|
|
116
115
|
"dist/context-chain.d.ts",
|
|
117
|
-
"docs/transcripts-and-context.md",
|
|
118
116
|
"dist/capture-privacy.js",
|
|
119
117
|
"dist/capture-privacy.d.ts",
|
|
120
118
|
"dist/deployment-verification.js",
|
|
@@ -123,8 +121,6 @@
|
|
|
123
121
|
"dist/grok-awareness.d.ts",
|
|
124
122
|
"dist/awareness-tools.js",
|
|
125
123
|
"dist/awareness-tools.d.ts",
|
|
126
|
-
"docs/ast-and-awareness.md",
|
|
127
|
-
"docs/parity-deployment-review.md",
|
|
128
124
|
"grammars/"
|
|
129
125
|
],
|
|
130
126
|
"scripts": {
|
|
@@ -157,6 +153,7 @@
|
|
|
157
153
|
"model-context-protocol",
|
|
158
154
|
"memory",
|
|
159
155
|
"vault",
|
|
156
|
+
"vault-memory",
|
|
160
157
|
"memvault",
|
|
161
158
|
"knowledge",
|
|
162
159
|
"codex",
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# AST completo e awareness local do Grok
|
|
2
|
-
|
|
3
|
-
## Idiomas AST
|
|
4
|
-
|
|
5
|
-
`vault_go_smart_languages` publica o catálogo e a disponibilidade real na plataforma. `smart_outline`, `smart_unfold` e `smart_search` usam grammars Tree-sitter carregadas pelo ast-grep; indisponibilidade nunca vira parsing por regex. Os limites anteriores de workspace, arquivos privados, bytes, quantidade de arquivos/símbolos e tamanho da saída continuam valendo.
|
|
6
|
-
|
|
7
|
-
| Idioma | Extensões |
|
|
8
|
-
| --- | --- |
|
|
9
|
-
| JavaScript | `.js`, `.jsx`, `.mjs`, `.cjs` |
|
|
10
|
-
| TypeScript | `.ts`, `.mts`, `.cts` |
|
|
11
|
-
| TSX | `.tsx` |
|
|
12
|
-
| HTML | `.html`, `.htm` |
|
|
13
|
-
| CSS | `.css` |
|
|
14
|
-
| Python | `.py`, `.pyw` |
|
|
15
|
-
| Go | `.go` |
|
|
16
|
-
| Rust | `.rs` |
|
|
17
|
-
| Ruby | `.rb` |
|
|
18
|
-
| Java | `.java` |
|
|
19
|
-
| C | `.c`, `.h` |
|
|
20
|
-
| C++ | `.cpp`, `.cc`, `.cxx`, `.hpp`, `.hh` |
|
|
21
|
-
| Kotlin | `.kt`, `.kts` |
|
|
22
|
-
| Swift | `.swift` |
|
|
23
|
-
| PHP | `.php` |
|
|
24
|
-
| Lua | `.lua` |
|
|
25
|
-
| Scala | `.scala`, `.sc` |
|
|
26
|
-
| Bash | `.sh`, `.bash`, `.zsh` |
|
|
27
|
-
| Haskell | `.hs` |
|
|
28
|
-
| TOML | `.toml` |
|
|
29
|
-
| YAML | `.yml`, `.yaml` |
|
|
30
|
-
| SQL | `.sql` |
|
|
31
|
-
| Markdown | `.md`, `.mdx` |
|
|
32
|
-
| Zig | `.zig` |
|
|
33
|
-
| SCSS | `.scss` |
|
|
34
|
-
|
|
35
|
-
Isso cobre os 24 idiomas do `LANG_MAP` upstream, além do HTML que o Vault já suportava. `.mdx` usa a grammar Markdown e `.zsh` usa Bash, como no upstream; não promete validar extensões próprias de MDX/Zsh.
|
|
36
|
-
|
|
37
|
-
JS/TS/TSX/HTML/CSS usam as grammars de `@ast-grep/napi`. Dezoito outras usam pacotes oficiais `@ast-grep/lang-*`, fixados no `package.json`/lock. Zig usa o prebuild de `@tree-sitter-grammars/tree-sitter-zig@1.1.2` via `node-gyp-build`. SCSS usa prebuilds empacotados em `grammars/scss/` (origem `tree-sitter-scss@1.0.0`); o pacote npm `tree-sitter-scss` não é dependência, porque puxa `tree-sitter-css` e o npm tenta compilá-lo com `node-gyp`.
|
|
38
|
-
|
|
39
|
-
O worker local e a fila não importam o parser nem essas dependências. `npm ci --ignore-scripts` é suportado nos sistemas com prebuild compatível. O prebuild SCSS cobre darwin-arm64, darwin-x64, linux-x64 e win32-x64; Linux ARM64 continua indisponível no catálogo. Outros alvos também dependem da presença e compatibilidade do prebuild: não há download ou compilação automática durante o uso.
|
|
40
|
-
|
|
41
|
-
Os nomes/símbolos, corpos e posições vêm de nós e campos da árvore. Markdown usa a árvore de seções para desdobrar uma seção completa. Buscas com metavariáveis foram verificadas também em Python, Go, Zig e SCSS, incluindo a distinção entre chamadas reais e textos em comentários/strings.
|
|
42
|
-
|
|
43
|
-
O registro segue a [API oficial do ast-grep](https://ast-grep.github.io/guide/api-usage/js-api): todas as grammars são registradas juntas uma vez por processo. Os [pacotes oficiais de grammars](https://github.com/ast-grep/langs) fornecem os parsers pré-compilados. Nenhuma biblioteca escolhida por caminho de workspace/configuração é carregada como código executável.
|
|
44
|
-
|
|
45
|
-
## Awareness do Grok
|
|
46
|
-
|
|
47
|
-
Awareness é escrita local de uma linha factual em `agents/<UUID>/memory/log/YYYY-MM.md`, consumida pelo agente Grok. Não é uma integração Telegram.
|
|
48
|
-
|
|
49
|
-
1. Use `vault_go_grok_awareness_configure` com `enabled=true`, `consent=true`, `agentDataRoot` absoluto existente, `agentIds` permitidos e ao menos um filtro em `triggerTypes` ou `triggerConcepts`.
|
|
50
|
-
2. Use `vault_go_grok_awareness_push` com `agentId` permitido e `memoryIds` UUID para enviar memórias já existentes na conta autenticada.
|
|
51
|
-
3. Consulte `vault_go_grok_awareness_status` ou desative com `enabled=false`.
|
|
52
|
-
|
|
53
|
-
Nada é ativado por padrão. Não há escolha automática de diretório ou agentes piloto. O consentimento fica em `grok-awareness.json`, privado e específico da conta. Troca de conta revoga o consentimento local. A leitura MCP confere também a credencial antes/depois da API, impedindo publicar um resultado recebido durante troca de conta.
|
|
54
|
-
|
|
55
|
-
Hooks que recebem `agent_id`/`agentId` preservam esse agente na fila. Após persistir a memória no Vault, a fila envia o fato apenas ao agente correspondente e permitido; não faz broadcast. O pipeline atual grava essas memórias como `discovery`, portanto a automação usa esse tipo e os conceitos gerados. O push por IDs preserva o `memoryType` armazenado e atende aos demais tipos, como `decision` ou `bugfix`. Sem identidade de agente, a fila não escreve awareness.
|
|
56
|
-
|
|
57
|
-
Cada linha usa a forma `- YYYY-MM-DD [awareness] tipo — título: subtítulo. primeiro fato`, com whitespace colapsado e até 500 caracteres. Flags/blocos privados são rejeitados; credenciais usam a mesma redação da captura. A deduplicação compara o corpo, ignorando a data, dentro do log mensal. O mês usa UTC. `profile.md` não é alterado.
|
|
58
|
-
|
|
59
|
-
O writer limita lotes a 100 observações e arquivos mensais a 1 MiB, valida a raiz e todos os diretórios descendentes, recusa symlinks/hardlinks de logs e usa lock entre processos e substituição atômica com arquivos 0600. Conteúdo anterior é preservado. Um log cheio ou destino inacessível produz `awareness_write_failed`, sem conteúdo sensível no status. Falha depois da persistência mantém o job para retry; o resultado do modelo já gerado é reutilizado e a importação mantém sua chave idempotente. Desativar awareness permite concluir esses jobs sem nova escrita local. Outros processos que escrevam o mesmo log precisam coordenar acesso para garantir ausência de sobrescrita concorrente.
|
|
60
|
-
|
|
61
|
-
## Fontes e validação
|
|
62
|
-
|
|
63
|
-
Contrato upstream consultado no SHA `adce0fdfaf1cd46646bbd0b22ae74cbd460ed787`:
|
|
64
|
-
|
|
65
|
-
- `src/services/smart-file-read/parser.ts`: `LANG_MAP`, grammars e queries de símbolos.
|
|
66
|
-
- `src/services/integrations/GrokBotAwarenessPusher.ts`: filtros, linha limitada, destino mensal, allowlist e deduplicação.
|
|
67
|
-
- `src/services/worker/agents/ResponseProcessor.ts`: envio vinculado a `pendingAgentId`, após persistência.
|
|
68
|
-
- `tests/integrations/grok-bot-awareness-pusher.test.ts`: casos do writer upstream.
|
|
69
|
-
|
|
70
|
-
Fixtures do Vault verificam outlines/desdobramento de todos os idiomas, busca estrutural, consentimento/filtros, privacidade, conta, concorrência, rotação, caminho malicioso, retomada sem regeneração, MCP e carregamento do worker staged sem `node_modules`. Nenhum log de agente ou configuração da instalação real foi modificado. A revisão multimodelo foi substituída por revisão manual, pois o gateway LiteLLM não está configurado neste ambiente.
|
|
71
|
-
|
|
72
|
-
Validação em 2026-09-20 sobre a base `8f08e19341eed95164ee9a77cf178486adeddb0f`: instalação limpa `npm ci --ignore-scripts`, `bun run build`, 178 testes / 1323 assertions (`bun test src`), `git diff --check` e pacote npm passaram. `npm audit --omit=dev` retornou zero vulnerabilidades. A validação posterior à instalação limpa confirmou que as grammars funcionam sem postinstall; o subprocesso staged confirmou que fila/awareness não precisam dessas dependências no worker.
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# Integrações de modos
|
|
2
|
-
|
|
3
|
-
O Vault Go implementa três superfícies locais independentes: alertas Telegram,
|
|
4
|
-
CCS Align e taxonomias customizadas. O registro MCP fica em
|
|
5
|
-
`registerModeIntegrations`, separado do servidor principal.
|
|
6
|
-
|
|
7
|
-
## Telegram
|
|
8
|
-
|
|
9
|
-
O token do bot nunca é aceito como argumento MCP. Defina
|
|
10
|
-
`VAULT_GO_TELEGRAM_BOT_TOKEN` no ambiente privado do serviço e invoque
|
|
11
|
-
`vault_go_telegram_configure` com o chat e os tipos ou conceitos aprovados.
|
|
12
|
-
A configuração é cifrada pelo armazenamento privado local; status, resources e
|
|
13
|
-
erros não retornam o token. Configurar não envia mensagem. O único envio de teste
|
|
14
|
-
ocorre por uma chamada explícita a `vault_go_telegram_test`.
|
|
15
|
-
|
|
16
|
-
Depois da persistência de uma observação, o worker envia apenas quando alertas
|
|
17
|
-
estão habilitados e o tipo ou um conceito corresponde aos gatilhos. A mensagem é
|
|
18
|
-
limitada a tipo, título, projeto e ID; narrativa e fatos não são enviados. Uma
|
|
19
|
-
falha do Telegram não repete nem invalida uma memória já persistida.
|
|
20
|
-
|
|
21
|
-
Ferramentas: `vault_go_telegram_status`, `vault_go_telegram_configure`,
|
|
22
|
-
`vault_go_telegram_disable` e `vault_go_telegram_test`.
|
|
23
|
-
|
|
24
|
-
## CCS Align
|
|
25
|
-
|
|
26
|
-
Cada viewer possui `middle.jsonl`, `exclude-marks.json`, `cursor.json` e
|
|
27
|
-
`rules-report.md` sob o diretório privado do Vault. Atualizações usam arquivo
|
|
28
|
-
temporário e rename, deduplicam por UUID e conteúdo e limitam quantidade e
|
|
29
|
-
tamanho. Excluir filtra o cache compilado; não apaga a memória cloud. Restaurar
|
|
30
|
-
remove a marca e requer um novo ciclo para reler a fonte autoritativa.
|
|
31
|
-
|
|
32
|
-
O ciclo comprova health e consulta `search_index → timeline → observations`.
|
|
33
|
-
O rules check recebe listas limitadas de regras como dados, detecta
|
|
34
|
-
`SHADOW_HOUSE`, `DENY_ALLOW`, `DRIFT` e `CLOCK_HEADER` e acrescenta uma seção ao
|
|
35
|
-
relatório. Ele nunca altera house, project ou seat rules.
|
|
36
|
-
|
|
37
|
-
Ferramentas: `vault_go_ccs_align_health`, `vault_go_ccs_align_cycle`,
|
|
38
|
-
`vault_go_ccs_align_exclude`, `vault_go_ccs_align_restore` e
|
|
39
|
-
`vault_go_ccs_align_rules_check`.
|
|
40
|
-
|
|
41
|
-
O writer de awareness do Grok Bot é outra função upstream: ele grava linhas em
|
|
42
|
-
logs mensais de um agente Grok. CCS Align não escreve nesses logs e esta mudança
|
|
43
|
-
não implementa esse writer.
|
|
44
|
-
|
|
45
|
-
## Taxonomias customizadas
|
|
46
|
-
|
|
47
|
-
`vault_go_custom_mode_save` valida identificadores, taxonomias e prompts antes
|
|
48
|
-
de gravar. A resolução rejeita pais desconhecidos e ciclos; arrays presentes
|
|
49
|
-
substituem os do pai e prompts são mesclados. O catálogo e a preferência ativa
|
|
50
|
-
ficam cifrados. `vault_go_custom_mode_select` aplica o modo à injeção de contexto
|
|
51
|
-
e à geração local futura. Memórias existentes não são reclassificadas.
|
|
52
|
-
|
|
53
|
-
Ferramentas adicionais: `vault_go_custom_modes`, `vault_go_custom_mode_get` e
|
|
54
|
-
`vault_go_custom_mode_delete`. O modo base `code` não pode ser sobrescrito ou
|
|
55
|
-
apagado, e um modo com filhos não pode ser removido.
|
|
56
|
-
|
|
57
|
-
## Auditoria dos workflows
|
|
58
|
-
|
|
59
|
-
Os 20 nomes em `vault-go://modes` correspondem aos 20 skills publicados no
|
|
60
|
-
snapshot upstream 13.25.2. Um skill é um roteiro executado pelo agente cliente;
|
|
61
|
-
carregá-lo não iniciar um agente em background não é, por si só, uma lacuna.
|
|
62
|
-
Babysit, planejamento, execução, relatórios e os demais roteiros funcionam quando
|
|
63
|
-
o cliente oferece as ferramentas indicadas. Diferenças reais permanecem para
|
|
64
|
-
knowledge-agent (sem sessão conversacional persistente), wowerpoint (sem renderer
|
|
65
|
-
PPTX/PDF embutido) e cloud-sync (cmem.ai não é o Vault cloud).
|
|
66
|
-
|
|
67
|
-
Após integrar estes módulos, a matriz global deve separar a antiga linha conjunta:
|
|
68
|
-
|
|
69
|
-
- Telegram: disponível com configuração explícita e gatilhos locais.
|
|
70
|
-
- CCS Align: disponível na variante Vault descrita acima.
|
|
71
|
-
- Modos customizados: disponíveis; atualizar a linha de privacy/capture modes.
|
|
72
|
-
- Grok awareness push: ainda não implementado e distinto de Telegram/CCS Align.
|
|
73
|
-
- Transcript watchers: avaliar separadamente com o trabalho específico de watchers.
|
|
74
|
-
- Workflows: não marcar como parciais apenas porque o agente cliente executa as instruções.
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Revisão e implantação da paridade
|
|
2
|
-
|
|
3
|
-
Data: 20 de setembro de 2026. Referência: claude-mem 13.25.2, adce0fdf.
|
|
4
|
-
|
|
5
|
-
## Implementado
|
|
6
|
-
|
|
7
|
-
Busca sem query obrigatória, offset e ordem por data; timeline com âncora por
|
|
8
|
-
consulta; leitura individual de jobs. Backup v2 paginado e consistente por
|
|
9
|
-
snapshot materializado, privado no cliente, com hash e validação de proprietário
|
|
10
|
-
antes da restauração. O formato cobre preferências e dados de memória; o manifesto
|
|
11
|
-
explicita limites e omissões, sem declarar exportações truncadas como completas.
|
|
12
|
-
|
|
13
|
-
Conversas com corpora usam o modelo escolhido, fontes numeradas e histórico local
|
|
14
|
-
cifrado por conta/base. Respostas HTTP do corpus têm teto de 8 MiB; o JSON de
|
|
15
|
-
fontes enviado ao modelo tem teto de 16 mil caracteres. Codex Terra/Luna/Sol e
|
|
16
|
-
Claude Haiku foram executados de verdade com fontes sintéticas e citações válidas.
|
|
17
|
-
O schema estrito exige todos os campos e aceita classificação nula.
|
|
18
|
-
|
|
19
|
-
Telegram, CCS Align, taxonomias herdadas, watchers de Claude/Codex e encadeamento
|
|
20
|
-
de projetos têm ferramentas próprias no MCP. Captura adicional e envio de
|
|
21
|
-
alertas exigem configuração explícita. Caches e destinos de notificações ficam
|
|
22
|
-
vinculados à conta. O Crystal usa o mesmo servidor Vault Go.
|
|
23
|
-
|
|
24
|
-
AST real cobre os 24 idiomas upstream e HTML; o catálogo informa disponibilidade
|
|
25
|
-
por plataforma. SCSS não tem prebuild Linux ARM64. Awareness do Grok usa logs
|
|
26
|
-
mensais locais, com consentimento e allowlist de agentes.
|
|
27
|
-
|
|
28
|
-
## Evidências
|
|
29
|
-
|
|
30
|
-
- Engine 649f5f7 e API fdcc24b enviados a main e implantados no Docker Swarm.
|
|
31
|
-
- Serviços saudáveis; health/readiness, autenticação e contratos testados na API canônica.
|
|
32
|
-
- `deploymentVerified: true`: health, searchIndex, toolUses, feed, knowledgeBases,
|
|
33
|
-
observerStatus, backup e job aprovados em 20/09/2026. A verificação é dinâmica,
|
|
34
|
-
privada por conta e válida por cinco minutos; não equivale a verificar
|
|
35
|
-
credenciais externas, qualidade dos modelos ou entrega Telegram.
|
|
36
|
-
- Backup real: 4.008 registros, 81 páginas, 14.070.751 bytes. Arquivo privado
|
|
37
|
-
mantido em `~/.memvault/backups/`; conteúdo não foi publicado.
|
|
38
|
-
- Testes de snapshot cobrem alterações/remoções/criações entre páginas, expiração,
|
|
39
|
-
limites, isolamento entre contas e restauração idempotente.
|
|
40
|
-
- Testes do cliente cobrem mudança de conta durante operações, resposta HTTP
|
|
41
|
-
excessiva, substituição de lock, redaction, credenciais, MCP e fila de modelos.
|
|
42
|
-
- Auditoria de dependências de produção: zero vulnerabilidades.
|
|
43
|
-
- Crystal: 122 testes, typecheck, gates de qualidade e E2E Electron com 2.359 notas;
|
|
44
|
-
as sete operações foram exercitadas pelo MCP Vault e servidor Crystal reais.
|
|
45
|
-
|
|
46
|
-
## Revisão
|
|
47
|
-
|
|
48
|
-
APROVADO COM RESSALVAS. A revisão multimodelo foi substituída por revisão manual:
|
|
49
|
-
ANTHROPIC_BASE_URL e ANTHROPIC_AUTH_TOKEN não estavam definidos, impedindo conferir
|
|
50
|
-
os aliases dos três revisores no gateway. Não se presumiu que aliases eram órfãos.
|
|
51
|
-
A revisão manual e uma segunda leitura independente encontraram e corrigiram
|
|
52
|
-
fencing de conta, recuperação de locks, restauração de preferências e limites de
|
|
53
|
-
leitura. As correções têm testes de regressão.
|
|
54
|
-
|
|
55
|
-
Ressalvas: o servidor gerenciado está `configured:false` até receber uma credencial
|
|
56
|
-
válida; provedores locais selecionados continuam disponíveis com sua autenticação.
|
|
57
|
-
Backup v2 não é o formato SQLite upstream nem uma réplica offline/cmem.ai Pro.
|
|
58
|
-
Restauração é idempotente por página; não é uma única transação entre preferências
|
|
59
|
-
do gateway e todos os dados do engine. Os workflows/skills executam no cliente e
|
|
60
|
-
respeitam as ferramentas e autorizações disponíveis nesse cliente.
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# Transcripts persistentes e contexto entre projetos
|
|
2
|
-
|
|
3
|
-
Vault Go pode capturar transcripts JSONL de Claude Code e Codex enquanto o serviço local está em execução. É uma opção local, desligada por padrão e vinculada à conta Vault. A preferência da conta `automaticCapture` também precisa estar ativada. A geração continua usando o motor/modelo já escolhido; ativar watchers não altera Claude Haiku, Codex ou chaves de providers.
|
|
4
|
-
|
|
5
|
-
## Ativação
|
|
6
|
-
|
|
7
|
-
```sh
|
|
8
|
-
vault-go transcripts enable --client claude --workspace /caminho/projeto --consent
|
|
9
|
-
vault-go transcripts enable --client codex --workspace /caminho/projeto --consent
|
|
10
|
-
vault-go local start
|
|
11
|
-
vault-go transcripts status
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
As raízes padrão são `~/.claude/projects` e `~/.codex/sessions`. Para outro perfil, use `--root /caminho/transcripts`. O workspace e a raiz precisam existir e ser caminhos absolutos. Registre cada workspace separadamente; no máximo 20 pares cliente/workspace. Subdiretórios de um repositório usam sua raiz Git.
|
|
15
|
-
|
|
16
|
-
Sem `--from-start`, arquivos existentes começam no fim na primeira descoberta. Eventos que chegarem antes dessa primeira leitura podem ser pulados. Arquivos novos, criados depois da ativação, são lidos desde o início. Use `--from-start` na primeira configuração apenas quando quiser importar o histórico. Uma importação histórica pode se sobrepor à captura anterior por hooks sem identificadores comuns; a opção é explícita por esse motivo. Uma troca de conta exige novo consentimento.
|
|
17
|
-
|
|
18
|
-
```sh
|
|
19
|
-
vault-go transcripts enable --client codex --workspace /projeto --root /export/rollouts --consent --from-start
|
|
20
|
-
vault-go transcripts poll
|
|
21
|
-
vault-go transcripts disable --client codex --workspace /projeto
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
`poll` executa um lote sem iniciar serviços nem modificar preferências. `disable` devolve imediatamente aos hooks nativos a captura daquele cliente/workspace. Enquanto o watcher estiver habilitado, os hooks nativos continuam injetando contexto, mas deixam a escrita para o transcript, evitando captura dupla na operação normal. Desligar o serviço local mantém o checkpoint para retomada. Para voltar à captura exclusiva por hooks, desative o watcher.
|
|
25
|
-
|
|
26
|
-
O setup aceita `--watch-transcripts claude|codex --workspace /projeto --consent`, opcionalmente `--transcript-root /raiz` e `--from-start`. Não ativa watchers implicitamente.
|
|
27
|
-
|
|
28
|
-
## Recuperação e privacidade
|
|
29
|
-
|
|
30
|
-
- `transcript-watchers.json` guarda o consentimento; `transcript-checkpoints.json` guarda offsets em bytes, identidade dos arquivos e o estado mínimo de chamadas pendentes. Arquivos usam permissão 0600 e gravação atômica. Entradas pendentes são redigidas e limitadas; esse checkpoint não é criptografado.
|
|
31
|
-
- O checkpoint avança depois do evento cloud e da fila durável de geração. Falhas de rede voltam ao mesmo identificador idempotente. Uma perda de confirmação pode repetir o envio HTTP, mas usa a mesma chave na API e na fila/importação. Não há promessa de execução exatamente uma vez do modelo após replay histórico.
|
|
32
|
-
- Um lock por processo impede dois consumidores simultâneos. Reinício, inode novo, truncamento e alteração do prefixo são detectados. Linhas parciais esperam a próxima leitura; UTF-8 usa offsets em bytes. JSON inválido e linhas acima de 256 KB são descartados.
|
|
33
|
-
- Apenas registros cujo `cwd` corresponde ao workspace consentido são enviados. Symlinks encontrados na árvore são ignorados. Trocar conta, credenciais ou consentimento durante uma operação interrompe o lote. Um refresh de credencial pode abortar um lote; a próxima leitura retoma com os mesmos IDs.
|
|
34
|
-
- `<private>` / `<vault-private>` e flags privadas bloqueiam o turno inteiro, incluindo ferramentas e resposta, até o próximo prompt público. Senhas, tokens, chaves e blocos de contexto são redigidos com a política dos hooks. `includeToolResults=false` continua omitindo resultados na API. Ao começar no fim de um arquivo existente, a leitura espera um novo prompt público antes de capturar ferramentas/respostas.
|
|
35
|
-
- Claude: `user`, `assistant`, blocos `text`, `tool_use`, `tool_result`. Codex: `session_meta`, `turn_context`, `response_item.message`, chamadas `function_call` e `custom_tool_call` e seus resultados. `event_msg` duplicados são ignorados; `task_complete.last_agent_message` é fallback para resposta final ausente. Comentários intermediários do Codex não viram resumo. Formatos desconhecidos são ignorados.
|
|
36
|
-
- Chamadas sem resultado ficam pendentes até o resultado chegar. No máximo 16 chamadas pendentes por arquivo, com entrada redigida limitada a 16 KB; excedentes antigos são descartados. Um novo prompt limpa chamadas sem resultado do turno anterior.
|
|
37
|
-
|
|
38
|
-
Cada lote processa até 200 registros, 32 arquivos e 2 MB; cada arquivo é lido em blocos de até 256 KB. A descoberta visita até 4096 entradas e 1000 arquivos, priorizando diretórios e arquivos recentes. O checkpoint mantém até 1000 arquivos e aproximadamente 4 MB. Árvores que excedam os limites podem deixar arquivos históricos fora da descoberta; selecione uma raiz mais estreita para esses casos. A descoberta não promete uma varredura exaustiva de arquivos arbitrariamente grandes. A fila de geração mantém seus limites próprios.
|
|
39
|
-
|
|
40
|
-
O worker faz polling a cada cinco segundos. `local serve`, instalação e atualizações usam o mesmo lifecycle; o serviço só se declara ocioso quando nenhuma captura está em execução e espera a captura atual ao fechar. Updates copiam os módulos novos para o runtime, preservando consentimento e checkpoints fora dele. SDK MCP e Zod ficam isolados em `transcript-tools.js`; o worker/hook staged não depende de `node_modules`.
|
|
41
|
-
|
|
42
|
-
## Cadeia de contexto
|
|
43
|
-
|
|
44
|
-
```sh
|
|
45
|
-
vault-go context-chain set --workspace /app --roots /biblioteca,/infra --consent
|
|
46
|
-
vault-go context-chain set --workspace /worktree --worktree-parent --consent
|
|
47
|
-
vault-go context-chain status
|
|
48
|
-
vault-go context-chain clear --workspace /app
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
SessionStart e `vault_go_session_start_context` passam a consultar o projeto primário e os vínculos configurados para aquele workspace. São no máximo cinco projetos, sempre descobertos na lista autenticada da conta e comparados por caminho exato. Projetos inexistentes ou marcados privados são omitidos; a leitura nunca cria projetos. O pai de worktree é resolvido pelo `.git`/`commondir`, sem executar comandos Git, e requer consentimento explícito.
|
|
52
|
-
|
|
53
|
-
`contextItems` e `contextMaxChars` são orçamentos totais compartilhados entre os projetos, incluindo os pequenos cabeçalhos que identificam cada projeto. Os limites de caracteres e itens não são multiplicados por projeto. Vínculos vivem em `context-chains.json`, com permissão privada e escopo da conta. PreToolUse permanece restrito ao projeto/arquivo em uso.
|
|
54
|
-
|
|
55
|
-
Isto fornece contexto multi-project em cadeia explícita. Não reproduz o renderer visual/token analytics do claude-mem nem escreve `AGENTS.md` automaticamente. O filtro semântico de memórias e isolamento do tenant continuam pertencendo à API Vault autenticada.
|
|
56
|
-
|
|
57
|
-
## Ferramentas MCP
|
|
58
|
-
|
|
59
|
-
| Ferramenta | Operação |
|
|
60
|
-
| --- | --- |
|
|
61
|
-
| `vault_go_transcripts_status` | Consentimento, alvos, última leitura e erro sanitizado |
|
|
62
|
-
| `vault_go_transcripts_configure` | Ativar/desativar; exige `consent=true` para ativar |
|
|
63
|
-
| `vault_go_transcripts_poll` | Processar um lote dos alvos já habilitados |
|
|
64
|
-
| `vault_go_context_chain` | Consultar vínculos da conta |
|
|
65
|
-
| `vault_go_context_chain_configure` | Definir/remover raízes e pai de worktree consentidos |
|
|
66
|
-
|
|
67
|
-
## Evidência de implementação
|
|
68
|
-
|
|
69
|
-
A descoberta upstream usou `/tmp/claude-mem-parity-20260919`, especialmente `src/services/transcripts/{processor,config,types}.ts`, `tests/transcripts/processor-codex-context.test.ts`, `tests/transcripts/watcher-start-at-end.test.ts` e o relatório `/tmp/claude-mem-parity-scan.md`. A arquitetura de watcher/runtime foi portada funcionalmente para a fila e a API Vault, sem executar scripts upstream.
|
|
70
|
-
|
|
71
|
-
Foi consultada somente a estrutura de três arquivos locais por host (tipos e nomes de campos conhecidos, sem conteúdo dos prompts) para confirmar `custom_tool_call/output`, fases `commentary` e metadados Claude/Codex. Fixtures sintéticas em `src/transcript-watchers.test.ts` reproduzem esses formatos, com HTTP local, subprocesso CLI e runtime staged isolado. `src/context-chain.test.ts` verifica consentimento, isolamento, privacidade, limites totais, worktree e integração do hook.
|
|
72
|
-
|
|
73
|
-
A revisão multimodelo foi substituída por revisão manual porque as variáveis de acesso ao gateway LiteLLM não estão disponíveis neste ambiente; nenhum alias foi chamado ou classificado como órfão sem consulta. A revisão manual conferiu fronteiras de conta/consentimento, parser, checkpoints, exclusão mútua, limites, integração e pacote. Nenhum watcher foi ativado na conta real e o worker instalado não foi alterado por estes testes.
|
|
74
|
-
|
|
75
|
-
Validação em 2026-09-20, sobre a base `8f08e19341eed95164ee9a77cf178486adeddb0f`: `bun run build` e `bun test src` passaram (169 testes, 1229 assertions). `npm pack --dry-run --json` contém os 12 arquivos `.js`/`.d.ts` novos e esta documentação, sem arquivos de teste. `git diff --check` passou. Veredito manual: aprovado com os limites operacionais declarados acima.
|