vault-go 0.26.0 → 0.27.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.
package/README.md CHANGED
@@ -148,7 +148,7 @@ Projects and sessions: `vault_go_projects`, `vault_go_project_create`, `vault_go
148
148
 
149
149
  Capture and recall: `vault_go_event`, `vault_go_remember`, `vault_go_forget`, `vault_go_search`, `vault_go_search_index`, `vault_go_retrieve`, `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`.
150
150
 
151
- `vault_go_retrieve` lets the central memory engine choose a bounded retrieval path while every explicit retrieval tool remains available. `vault_go_decision_status` reports sanitized rollout/circuit state. Jev and its credential remain in the engine; a healthy deployment does not by itself prove provider availability or decision quality.
151
+ `vault_go_retrieve` lets the central memory engine choose a bounded retrieval path while every explicit retrieval tool remains available. `vault_go_decision_status` reports sanitized rollout/circuit state. Jev and its credential remain in the engine; a healthy deployment does not by itself prove provider availability or decision quality. `vault_go_decide` sends a caller-authored state plus up to 8 typed questions (`noul`, `choice`, `score`) to the central Jev and returns probabilities; it runs only in `full` rollout, one call at a time, refuses secrets, e-mails, identifiers, URLs and absolute local paths before anything leaves Vault, and persists nothing. The caller still owns the decision.
152
152
 
153
153
  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`.
154
154
 
@@ -26,8 +26,8 @@ export declare const CAPABILITIES: {
26
26
  }, {
27
27
  readonly upstream: readonly ["automatic retrieval routing", "typed memory decisions"];
28
28
  readonly status: "available";
29
- readonly tools: readonly ["vault_go_retrieve", "vault_go_decision_status"];
30
- readonly requires: "Jev runs only in the central memory engine. Status is sanitized; deployment availability does not prove provider health or decision quality. Explicit retrieval tools remain available.";
29
+ readonly tools: readonly ["vault_go_retrieve", "vault_go_decision_status", "vault_go_decide"];
30
+ readonly requires: "Jev runs only in the central memory engine. Status is sanitized; deployment availability does not prove provider health or decision quality. vault_go_decide forwards caller-authored typed questions only in full rollout and refuses protected content. Explicit retrieval tools remain available.";
31
31
  }, {
32
32
  readonly upstream: readonly ["get_tool_uses"];
33
33
  readonly status: "available";
@@ -142,8 +142,8 @@ export declare function getCapabilities(home: string, cloud: VaultMemoryApi, ver
142
142
  }, {
143
143
  readonly upstream: readonly ["automatic retrieval routing", "typed memory decisions"];
144
144
  readonly status: "available";
145
- readonly tools: readonly ["vault_go_retrieve", "vault_go_decision_status"];
146
- readonly requires: "Jev runs only in the central memory engine. Status is sanitized; deployment availability does not prove provider health or decision quality. Explicit retrieval tools remain available.";
145
+ readonly tools: readonly ["vault_go_retrieve", "vault_go_decision_status", "vault_go_decide"];
146
+ readonly requires: "Jev runs only in the central memory engine. Status is sanitized; deployment availability does not prove provider health or decision quality. vault_go_decide forwards caller-authored typed questions only in full rollout and refuses protected content. Explicit retrieval tools remain available.";
147
147
  }, {
148
148
  readonly upstream: readonly ["get_tool_uses"];
149
149
  readonly status: "available";
@@ -11,7 +11,7 @@ export const CAPABILITIES = {
11
11
  capabilities: [
12
12
  { upstream: ['important_workflow'], status: 'available', tools: ['vault_go_workflow'] },
13
13
  { upstream: ['search', 'get_observations', 'timeline'], status: 'available', tools: ['vault_go_search_index', 'vault_go_observations', 'vault_go_timeline', 'vault_go_feed'], difference: 'Vault uses UUID identifiers. Search accepts an optional query, offset and date ordering; timeline accepts an explicit UUID or resolves an anchor from a query; feed uses stable cursor pagination.' },
14
- { upstream: ['automatic retrieval routing', 'typed memory decisions'], status: 'available', tools: ['vault_go_retrieve', 'vault_go_decision_status'], requires: 'Jev runs only in the central memory engine. Status is sanitized; deployment availability does not prove provider health or decision quality. Explicit retrieval tools remain available.' },
14
+ { upstream: ['automatic retrieval routing', 'typed memory decisions'], status: 'available', tools: ['vault_go_retrieve', 'vault_go_decision_status', 'vault_go_decide'], requires: 'Jev runs only in the central memory engine. Status is sanitized; deployment availability does not prove provider health or decision quality. vault_go_decide forwards caller-authored typed questions only in full rollout and refuses protected content. Explicit retrieval tools remain available.' },
15
15
  { upstream: ['get_tool_uses'], status: 'available', tools: ['vault_go_tool_uses'], requires: 'Verified POST /memory/events/batch contract. Historical output exists only when captured; private fields and secrets are redacted from retrieval.' },
16
16
  { upstream: ['session_start_context', 'multi-project context'], status: 'available', tools: ['vault_go_session_start_context', 'vault_go_context', 'vault_go_file_context', 'vault_go_context_chain', 'vault_go_context_chain_configure'], requires: 'Context chains require explicit local configuration and share one bounded character budget. Native hooks cover Claude, Codex, Grok, Agy and Gemini; OpenCode 1.x remains context-only.' },
17
17
  { upstream: ['smart_search', 'smart_outline', 'smart_unfold'], status: 'available', tools: ['vault_go_smart_search', 'vault_go_smart_outline', 'vault_go_smart_unfold', 'vault_go_smart_languages'], requires: 'Real grammars for all 24 upstream languages plus HTML. Availability is reported per running platform; SCSS has no Linux ARM64 prebuild. Workspace reads and results are bounded.' },
package/dist/cloud.d.ts CHANGED
@@ -26,6 +26,7 @@ export interface VaultMemoryApi {
26
26
  search(input: Record<string, unknown>): Promise<unknown>;
27
27
  retrieve?(input: Record<string, unknown>): Promise<unknown>;
28
28
  decisionStatus?(): Promise<unknown>;
29
+ decide?(input: Record<string, unknown>): Promise<unknown>;
29
30
  searchIndex(input: Record<string, unknown>): Promise<unknown>;
30
31
  observations(ids: string[]): Promise<unknown>;
31
32
  timeline(input: Record<string, unknown>): Promise<unknown>;
@@ -73,6 +74,7 @@ export declare class VaultCloudClient implements VaultMemoryApi {
73
74
  search(input: Record<string, unknown>): Promise<unknown>;
74
75
  retrieve(input: Record<string, unknown>): Promise<unknown>;
75
76
  decisionStatus(): Promise<unknown>;
77
+ decide(input: Record<string, unknown>): Promise<unknown>;
76
78
  searchIndex(input: Record<string, unknown>): Promise<unknown>;
77
79
  observations(ids: string[]): Promise<unknown>;
78
80
  timeline(input: Record<string, unknown>): Promise<unknown>;
package/dist/cloud.js CHANGED
@@ -108,6 +108,9 @@ export class VaultCloudClient {
108
108
  async decisionStatus() {
109
109
  return this.request('/memory/decisions/status');
110
110
  }
111
+ async decide(input) {
112
+ return this.request('/memory/decisions/evaluate', { method: 'POST', body: input });
113
+ }
111
114
  async searchIndex(input) {
112
115
  return this.request('/memory/search/index', { method: 'POST', body: input });
113
116
  }
package/dist/server.js CHANGED
@@ -218,6 +218,40 @@ export function createVaultGoServer(home = vaultHome(), cloud = new VaultCloudCl
218
218
  throw new Error('Decision status is unavailable on this deployment.');
219
219
  return cloud.decisionStatus();
220
220
  }));
221
+ const decisionText = (max) => z.string().trim().min(1).max(max);
222
+ const decisionQuestion = z.discriminatedUnion('type', [
223
+ z.object({
224
+ type: z.literal('noul'),
225
+ instructions: decisionText(2_000),
226
+ criteria: z.object({ true: decisionText(500), false: decisionText(500) }).strict().optional(),
227
+ }).strict(),
228
+ z.object({
229
+ type: z.literal('choice'),
230
+ instructions: decisionText(2_000),
231
+ criteria: z.record(z.string().regex(/^[a-z0-9][a-z0-9_-]{0,47}$/), decisionText(500))
232
+ .refine((options) => Object.keys(options).length >= 2 && Object.keys(options).length <= 32, 'choice needs 2 to 32 options'),
233
+ }).strict(),
234
+ z.object({
235
+ type: z.literal('score'),
236
+ instructions: decisionText(2_000),
237
+ criteria: z.array(decisionText(500)).min(2).max(10),
238
+ }).strict(),
239
+ ]);
240
+ server.registerTool('vault_go_decide', {
241
+ title: 'Decidir com o Jev',
242
+ description: 'Envia ao Jev central um estado e até 8 perguntas tipadas (noul = probabilidade de sim; choice = uma opção entre 2–32; score = nível entre 2–10) e retorna respostas com probabilidades. '
243
+ + 'Exige rollout full. Segredos, e-mails, UUIDs, URLs e caminhos locais absolutos são recusados antes de sair do Vault. Nada é persistido; a decisão final continua sendo de quem chama.',
244
+ inputSchema: {
245
+ state: z.union([z.string().trim().min(1), z.record(z.string(), z.unknown()), z.array(z.unknown()).min(1)]),
246
+ questions: z.record(z.string().regex(/^[a-z][a-z0-9_]{0,47}$/), decisionQuestion)
247
+ .refine((questions) => Object.keys(questions).length >= 1 && Object.keys(questions).length <= 8, 'questions must contain 1 to 8 entries'),
248
+ },
249
+ annotations: { readOnlyHint: true, idempotentHint: false, openWorldHint: true },
250
+ }, async (input) => run(() => {
251
+ if (!cloud.decide)
252
+ throw new Error('Jev decisions are unavailable on this deployment.');
253
+ return cloud.decide(input);
254
+ }));
221
255
  server.registerTool('vault_go_search_index', {
222
256
  title: 'Pesquisar índice compacto',
223
257
  description: 'Primeira camada de recuperação: retorna metadados, trechos e custo estimado sem carregar o conteúdo completo.',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vault-go",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
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": {