nuxs-capsule 0.1.5 → 0.1.10

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 (43) hide show
  1. package/bin/nuxs-capsule.js +9 -2
  2. package/dist/intercept.js +68 -3
  3. package/dist/intercept.js.map +1 -1
  4. package/dist/providers/llmClient.d.ts.map +1 -1
  5. package/dist/providers/llmClient.js +11 -8
  6. package/dist/providers/llmClient.js.map +1 -1
  7. package/dist/server.js +133 -0
  8. package/dist/server.js.map +1 -1
  9. package/dist/setup.js +51 -1
  10. package/dist/setup.js.map +1 -1
  11. package/dist/telemetry/usage.d.ts +32 -4
  12. package/dist/telemetry/usage.d.ts.map +1 -1
  13. package/dist/telemetry/usage.js +87 -26
  14. package/dist/telemetry/usage.js.map +1 -1
  15. package/dist/tools/buildCapsule.d.ts +18 -0
  16. package/dist/tools/buildCapsule.d.ts.map +1 -0
  17. package/dist/tools/buildCapsule.js +150 -0
  18. package/dist/tools/buildCapsule.js.map +1 -0
  19. package/dist/tools/diffCapsule.d.ts +14 -0
  20. package/dist/tools/diffCapsule.d.ts.map +1 -0
  21. package/dist/tools/diffCapsule.js +204 -0
  22. package/dist/tools/diffCapsule.js.map +1 -0
  23. package/dist/tools/pdfCapsule.d.ts +20 -0
  24. package/dist/tools/pdfCapsule.d.ts.map +1 -0
  25. package/dist/tools/pdfCapsule.js +122 -0
  26. package/dist/tools/pdfCapsule.js.map +1 -0
  27. package/dist/tools/promptCapsule.d.ts +19 -0
  28. package/dist/tools/promptCapsule.d.ts.map +1 -0
  29. package/dist/tools/promptCapsule.js +102 -0
  30. package/dist/tools/promptCapsule.js.map +1 -0
  31. package/dist/tools/ragCapsule.d.ts +21 -0
  32. package/dist/tools/ragCapsule.d.ts.map +1 -0
  33. package/dist/tools/ragCapsule.js +81 -0
  34. package/dist/tools/ragCapsule.js.map +1 -0
  35. package/dist/tools/testCapsule.d.ts +13 -0
  36. package/dist/tools/testCapsule.d.ts.map +1 -0
  37. package/dist/tools/testCapsule.js +175 -0
  38. package/dist/tools/testCapsule.js.map +1 -0
  39. package/dist/types.d.ts +99 -1
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/wrap.js +39 -2
  42. package/dist/wrap.js.map +1 -1
  43. package/package.json +3 -1
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- // Entry CLI multi-comando: nuxs-capsule [install|setup|wrap|serve]
2
+ // Entry CLI multi-comando: nuxs-capsule [install|setup|wrap|flush|serve]
3
3
 
4
4
  const cmd = process.argv[2];
5
5
 
@@ -10,11 +10,18 @@ if (cmd === 'install') {
10
10
  } else if (cmd === 'wrap') {
11
11
  process.argv.splice(2, 1); // remove "wrap" do argv pro parser interno
12
12
  await import('../dist/wrap.js');
13
+ } else if (cmd === 'flush') {
14
+ // Lê fila local, envia pra server em batch. Chamado pelo cron (1min).
15
+ const { flushQueue } = await import('../dist/telemetry/usage.js');
16
+ const result = await flushQueue();
17
+ if (result.pending > 0) {
18
+ console.log(`[nuxs-capsule] flushed: ${result.sent} sent, ${result.failed} failed, ${result.pending} pending`);
19
+ }
13
20
  } else if (cmd === 'serve' || cmd === undefined) {
14
21
  // Default: roda como MCP server (stdio)
15
22
  await import('../dist/server.js');
16
23
  } else {
17
24
  console.error(`nuxs-capsule: comando desconhecido "${cmd}"`);
18
- console.error('Use: install | setup | wrap | serve');
25
+ console.error('Use: install | setup | wrap | flush | serve');
19
26
  process.exit(1);
20
27
  }
package/dist/intercept.js CHANGED
@@ -62,6 +62,23 @@ async function main() {
62
62
  process.exit(0);
63
63
  return;
64
64
  }
65
+ // Bash wrap: re-escreve o command pra pipear pelo `nuxs-capsule wrap`.
66
+ // O Bash roda normal — só que stdout/stderr passam pelo wrap que comprime.
67
+ if (decision.bash_wrap_command) {
68
+ const output = {
69
+ hookSpecificOutput: {
70
+ hookEventName: 'PreToolUse',
71
+ updatedInput: {
72
+ ...toolInput,
73
+ command: decision.bash_wrap_command
74
+ },
75
+ additionalContext: `[Nuxs Capsule] ${decision.capsule_type} auto-comprimido. ${decision.reason ?? ''}`
76
+ }
77
+ };
78
+ process.stdout.write(JSON.stringify(output));
79
+ process.exit(0);
80
+ return;
81
+ }
65
82
  // Cache hit? Pula geração
66
83
  ensureDir(CACHE_DIR);
67
84
  let cachePath = decision.cache_path;
@@ -89,8 +106,55 @@ async function main() {
89
106
  process.stdout.write(JSON.stringify(output));
90
107
  process.exit(0);
91
108
  }
109
+ /**
110
+ * Detecta tipo de comando Bash comprimível. Retorna comando re-escrito
111
+ * com pipe pra `nuxs-capsule wrap --type X` que comprime stdout/stderr
112
+ * antes do Claude ver. Captura git diff, test runners, build tools,
113
+ * log viewers — onde volume tipicamente é alto.
114
+ *
115
+ * Retorna null se comando não é candidato a comprimir.
116
+ */
117
+ function detectBashWrap(cmd) {
118
+ const t = cmd.trim();
119
+ // Já wrapped? Não wrap de novo (evita loop)
120
+ if (cmd.includes('nuxs-capsule wrap'))
121
+ return null;
122
+ // Bash multi-line/script complexo — não tenta wrap (pode quebrar)
123
+ if (cmd.includes('\n') && cmd.length > 200)
124
+ return null;
125
+ // git diff / show / log -p → diff_capsule
126
+ if (/^git\s+(diff|show|log\s+(--?[a-z]+\s+)*?-p)\b/i.test(t)) {
127
+ return { type: 'diff', newCmd: `${cmd} 2>&1 | nuxs-capsule wrap --type diff`, reason: 'git diff' };
128
+ }
129
+ // test runners
130
+ if (/^(jest|vitest|pytest|mocha)(\s|$)/i.test(t) || /^npm\s+(t|test|run\s+test)/i.test(t) || /^yarn\s+(test|jest|vitest)/i.test(t) || /^pnpm\s+(test|jest|vitest)/i.test(t)) {
131
+ return { type: 'test', newCmd: `${cmd} 2>&1 | nuxs-capsule wrap --type test`, reason: 'test runner' };
132
+ }
133
+ // build tools
134
+ if (/^(npm\s+run\s+build|yarn\s+build|pnpm\s+build|vite\s+build|webpack(\s|$)|cargo\s+build|mvn\s+(compile|package|install|test)|gradle\s+(build|assemble)|go\s+build)/i.test(t)) {
135
+ return { type: 'build', newCmd: `${cmd} 2>&1 | nuxs-capsule wrap --type build`, reason: 'build tool' };
136
+ }
137
+ // log viewers (streams + finite)
138
+ if (/^(docker\s+logs|kubectl\s+logs|journalctl|tail\s+(-f\s+)?\S+\.log)/i.test(t)) {
139
+ return { type: 'log', newCmd: `${cmd} 2>&1 | nuxs-capsule wrap --type log`, reason: 'log stream' };
140
+ }
141
+ return null;
142
+ }
92
143
  async function decide(toolName, toolInput) {
93
- // Extrai file_path do input
144
+ // Bash: tenta detectar comando comprimível ANTES de extrair file_path
145
+ if (toolName === 'Bash') {
146
+ const cmd = toolInput.command ?? '';
147
+ const wrap = detectBashWrap(cmd);
148
+ if (wrap) {
149
+ return {
150
+ intercept: true,
151
+ capsule_type: wrap.type,
152
+ bash_wrap_command: wrap.newCmd,
153
+ reason: wrap.reason
154
+ };
155
+ }
156
+ }
157
+ // Extrai file_path do input (fluxo original pra Read)
94
158
  const filePath = extractFilePath(toolName, toolInput);
95
159
  if (!filePath)
96
160
  return { intercept: false };
@@ -196,8 +260,9 @@ async function generateCapsule(type, toolInput, cachePath) {
196
260
  latency_ms: Date.now() - startedAt,
197
261
  machine_fingerprint: getMachineFingerprint()
198
262
  };
199
- // Fire and forget, não bloqueia
200
- trackUsage(record).catch(() => { });
263
+ // escreve na fila local (rápido, ~1ms). Flusher cron envia depois.
264
+ // Garante 100% das cápsulas contam (sem perda por hook morrer rápido).
265
+ await trackUsage(record);
201
266
  }
202
267
  function detectAgentFromEnv() {
203
268
  if (process.env.CLAUDE_CODE_SESSION_ID)
@@ -1 +1 @@
1
- {"version":3,"file":"intercept.js","sourceRoot":"","sources":["../src/intercept.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intercept.js","sourceRoot":"","sources":["../src/intercept.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"llmClient.d.ts","sourceRoot":"","sources":["../../src/providers/llmClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;CAClD;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAiC3F"}
1
+ {"version":3,"file":"llmClient.d.ts","sourceRoot":"","sources":["../../src/providers/llmClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;CAClD;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAmC3F"}
@@ -4,21 +4,24 @@
4
4
  * Cliente nunca sabe qual rodou.
5
5
  */
6
6
  import { getLicenseKey } from '../license/check.js';
7
+ import { getMachineFingerprint } from '../lib/fingerprint.js';
7
8
  const SERVER_URL = process.env.NUXS_SERVER_URL ?? 'https://pixeldesk-api.onrender.com';
8
9
  export async function compressViaLlm(req) {
10
+ // Free anônimo agora também usa LLM, com quota 50/dia rastreada por
11
+ // fingerprint no backend. License paga = ilimitado.
9
12
  const licenseKey = getLicenseKey();
10
- if (!licenseKey) {
11
- // Free anônimo não tem acesso a LLM-based capsulas
12
- return null;
13
- }
13
+ const fingerprint = getMachineFingerprint();
14
+ const headers = {
15
+ 'Content-Type': 'application/json',
16
+ 'X-Nuxs-Fingerprint': fingerprint
17
+ };
18
+ if (licenseKey)
19
+ headers['X-Nuxs-License'] = licenseKey;
14
20
  const startedAt = Date.now();
15
21
  try {
16
22
  const res = await fetch(`${SERVER_URL}/api/capsule/compress`, {
17
23
  method: 'POST',
18
- headers: {
19
- 'Content-Type': 'application/json',
20
- 'X-Nuxs-License': licenseKey
21
- },
24
+ headers,
22
25
  body: JSON.stringify(req),
23
26
  signal: AbortSignal.timeout(30_000) // capsulas podem demorar
24
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"llmClient.js","sourceRoot":"","sources":["../../src/providers/llmClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,oCAAoC,CAAC;AAiBvF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAoB;IACvD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,mDAAmD;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,uBAAuB,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,UAAU;aAC7B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACzB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,yBAAyB;SAC9D,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,uCAAuC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAsB,CAAC;QAClD,OAAO;YACL,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"llmClient.js","sourceRoot":"","sources":["../../src/providers/llmClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,oCAAoC,CAAC;AAiBvF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAoB;IACvD,oEAAoE;IACpE,oDAAoD;IACpD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAE5C,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,oBAAoB,EAAE,WAAW;KAClC,CAAC;IACF,IAAI,UAAU;QAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC;IAEvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,uBAAuB,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACzB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,yBAAyB;SAC9D,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,uCAAuC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAsB,CAAC;QAClD,OAAO;YACL,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACnC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/server.js CHANGED
@@ -18,7 +18,14 @@ import { eventsCapsule } from './tools/eventsCapsule.js';
18
18
  import { sessionCapsule } from './tools/sessionCapsule.js';
19
19
  import { sqlCapsule } from './tools/sqlCapsule.js';
20
20
  import { logCapsuleFromString, logCapsuleFromFile } from './tools/logCapsule.js';
21
+ import { diffCapsule } from './tools/diffCapsule.js';
22
+ import { testCapsule } from './tools/testCapsule.js';
23
+ import { buildCapsule } from './tools/buildCapsule.js';
24
+ import { promptCapsule } from './tools/promptCapsule.js';
25
+ import { pdfCapsuleFromFile } from './tools/pdfCapsule.js';
26
+ import { ragCapsule } from './tools/ragCapsule.js';
21
27
  import { validateLicense, isCapsuleAllowed } from './license/check.js';
28
+ import { flushQueue } from './telemetry/usage.js';
22
29
  const server = new Server({ name: 'nuxs-capsule', version: '0.1.0' }, { capabilities: { tools: {} } });
23
30
  const TOOL_DEFINITIONS = [
24
31
  {
@@ -177,6 +184,107 @@ const TOOL_DEFINITIONS = [
177
184
  },
178
185
  required: ['logs']
179
186
  }
187
+ },
188
+ {
189
+ name: 'diff_capsule',
190
+ description: '⚠️ ALWAYS use this BEFORE Read or Bash(`git diff`) on large diffs ' +
191
+ '(big PRs, full-repo diffs, refactor branches). Filters out noise: ' +
192
+ 'lock files (package-lock, yarn.lock, Cargo.lock), generated dirs ' +
193
+ '(dist/, build/, .next/), minified files, binary files, and ' +
194
+ 'whitespace-only changes. Keeps only semantic +/- lines per hunk. ' +
195
+ 'Algorithm-only, zero LLM cost, <50ms. ' +
196
+ 'Compression typical: 60-95% (depends on PR noise ratio).',
197
+ inputSchema: {
198
+ type: 'object',
199
+ properties: {
200
+ diff: { type: 'string', description: 'Raw output of `git diff` or `git show`' }
201
+ },
202
+ required: ['diff']
203
+ }
204
+ },
205
+ {
206
+ name: 'test_capsule',
207
+ description: '⚠️ ALWAYS use this BEFORE Read or Bash on test runner outputs ' +
208
+ '(`npm test`, `pytest`, `jest`, `vitest`, `mocha`, `rspec`). ' +
209
+ 'Auto-detects framework. Groups failures by normalized error ' +
210
+ 'signature so 50 failures with same cause appear as ONE group. ' +
211
+ 'Output: { framework, total/passed/failed/skipped, duration_ms, ' +
212
+ 'failures[{error_signature, count, tests[], sample_stack}] }. ' +
213
+ 'Algorithm-only, <100ms. Compression typical: 20-200×.',
214
+ inputSchema: {
215
+ type: 'object',
216
+ properties: {
217
+ output: { type: 'string', description: 'Raw stdout/stderr of test runner' }
218
+ },
219
+ required: ['output']
220
+ }
221
+ },
222
+ {
223
+ name: 'build_capsule',
224
+ description: '⚠️ ALWAYS use this BEFORE Read or Bash on build tool output ' +
225
+ '(webpack, vite, rollup, turbopack, esbuild, maven, gradle, cargo, ' +
226
+ 'go build). Auto-detects tool. Groups warnings/errors by signature ' +
227
+ '(50 same warnings → 1 group with count). Returns success status, ' +
228
+ 'duration, top 20 unique issues. Algorithm-only, <100ms. ' +
229
+ 'Compression typical: 30-100×.',
230
+ inputSchema: {
231
+ type: 'object',
232
+ properties: {
233
+ log: { type: 'string', description: 'Raw build output' }
234
+ },
235
+ required: ['log']
236
+ }
237
+ },
238
+ {
239
+ name: 'prompt_capsule',
240
+ description: 'Dedup semântica de histórico de prompts. Quando app envia 100 ' +
241
+ 'variações próximas do mesmo prompt, agrupa por similaridade ' +
242
+ 'Jaccard (>= 0.75) e mostra 1 representativo + count por cluster. ' +
243
+ 'Útil pra reduzir contexto repetitivo em LLM chains. ' +
244
+ 'Output: { total, unique, duplicates_eliminated, clusters[], ' +
245
+ 'tokens_before, tokens_after }. Algorithm-only, <500ms p/ 10k prompts.',
246
+ inputSchema: {
247
+ type: 'object',
248
+ properties: {
249
+ prompts: {
250
+ type: 'array',
251
+ items: { type: 'string' },
252
+ description: 'Lista de prompts pra deduplicar'
253
+ }
254
+ },
255
+ required: ['prompts']
256
+ }
257
+ },
258
+ {
259
+ name: 'pdf_capsule',
260
+ description: '⚠️ ALWAYS use this BEFORE Read on PDFs >100KB. Extrai estrutura ' +
261
+ '(headings, tabelas, metadata) algorítmicamente e resume cada ' +
262
+ 'seção em bullet points key facts via LLM. ' +
263
+ 'Output: { pages, headings[], sections[{heading, summary}], tables[], metadata }. ' +
264
+ 'Compressão 90-95% sobre PDF bruto. Custo ~$0.0007/PDF típico.',
265
+ inputSchema: {
266
+ type: 'object',
267
+ properties: {
268
+ path: { type: 'string', description: 'Caminho absoluto pro arquivo .pdf' }
269
+ },
270
+ required: ['path']
271
+ }
272
+ },
273
+ {
274
+ name: 'rag_capsule',
275
+ description: 'Re-rank chunks de RAG por relevância semântica via LLM. Recebe ' +
276
+ 'query + N chunks (de retrieval por embedding), retorna top K mais ' +
277
+ 'relevantes ordenados. NÃO comprime tokens — melhora QUALIDADE dos ' +
278
+ 'chunks escolhidos pro contexto final do LLM. Custo ~$0.0006/call.',
279
+ inputSchema: {
280
+ type: 'object',
281
+ properties: {
282
+ query: { type: 'string', description: 'Query do RAG' },
283
+ chunks: { type: 'array', items: { type: 'string' }, description: 'Chunks recuperados' },
284
+ top_k: { type: 'number', description: 'Quantos retornar (default 5)' }
285
+ },
286
+ required: ['query', 'chunks']
287
+ }
180
288
  }
181
289
  ];
182
290
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
@@ -240,6 +348,28 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
240
348
  : logCapsuleFromString(logs, service);
241
349
  break;
242
350
  }
351
+ case 'diff_capsule':
352
+ result = diffCapsule(args.diff);
353
+ break;
354
+ case 'test_capsule':
355
+ result = testCapsule(args.output);
356
+ break;
357
+ case 'build_capsule':
358
+ result = buildCapsule(args.log);
359
+ break;
360
+ case 'prompt_capsule':
361
+ result = promptCapsule(args.prompts);
362
+ break;
363
+ case 'pdf_capsule':
364
+ result = await pdfCapsuleFromFile(args.path);
365
+ break;
366
+ case 'rag_capsule':
367
+ result = await ragCapsule({
368
+ query: args.query,
369
+ chunks: args.chunks,
370
+ top_k: args.top_k
371
+ });
372
+ break;
243
373
  default:
244
374
  return {
245
375
  content: [{ type: 'text', text: `Unknown tool: ${name}` }],
@@ -261,6 +391,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
261
391
  const transport = new StdioServerTransport();
262
392
  server.connect(transport).then(() => {
263
393
  console.error('[nuxs-capsule] MCP server running on stdio');
394
+ // Flush a cada 30s enquanto MCP server tá vivo (real-time pra dashboards).
395
+ // Cron 1min cuida quando Claude Code tá fechado. Combo cobre tudo.
396
+ setInterval(() => { void flushQueue(); }, 30_000);
264
397
  }).catch((err) => {
265
398
  console.error('[nuxs-capsule] server failed:', err);
266
399
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/setup.js CHANGED
@@ -11,9 +11,10 @@
11
11
  * Modelo Codag: "Hooks + MCP, wired automatically"
12
12
  */
13
13
  import { readFileSync, writeFileSync, existsSync } from 'node:fs';
14
- import { homedir } from 'node:os';
14
+ import { homedir, platform } from 'node:os';
15
15
  import { join } from 'node:path';
16
16
  import { createInterface } from 'node:readline/promises';
17
+ import { execSync } from 'node:child_process';
17
18
  import { ensureDir } from './lib/fileStat.js';
18
19
  import { setLicenseKey } from './license/check.js';
19
20
  const NUXS_DIR = join(homedir(), '.nuxs');
@@ -40,6 +41,10 @@ async function main() {
40
41
  setupCursor();
41
42
  configured.push('Cursor');
42
43
  }
44
+ // 3. Cron flush (Mac/Linux) — garante telemetria 100%
45
+ if (platform() !== 'win32') {
46
+ setupCronFlush();
47
+ }
43
48
  if (configured.length === 0) {
44
49
  console.log('⚠️ Nenhum agente IA detectado (~/.claude ou ~/.cursor).');
45
50
  console.log(' Instala o agente primeiro, depois roda `nuxs-capsule setup` de novo.\n');
@@ -128,6 +133,51 @@ function setupCursor() {
128
133
  writeFileSync(CURSOR_MCP, JSON.stringify(config, null, 2));
129
134
  console.log(` ✓ ${CURSOR_MCP}`);
130
135
  }
136
+ /**
137
+ * Adiciona entrada no crontab do user pra rodar `nuxs-capsule flush`
138
+ * a cada 1 minuto. Garante 100% das cápsulas chegam ao server, mesmo
139
+ * se hook morre rápido ou rede falha temporariamente.
140
+ *
141
+ * Idempotente: detecta linha já existente e não duplica.
142
+ */
143
+ function setupCronFlush() {
144
+ console.log('→ Configurando flush automático (cron 1min)...');
145
+ // Resolve path do binário nuxs-capsule (npm global)
146
+ let binPath;
147
+ try {
148
+ binPath = execSync('which nuxs-capsule', { encoding: 'utf8' }).trim();
149
+ }
150
+ catch {
151
+ console.log(' ⚠️ Não achei `nuxs-capsule` no PATH. Pula cron.');
152
+ return;
153
+ }
154
+ const cronLine = `* * * * * ${binPath} flush >/dev/null 2>&1`;
155
+ const marker = '# nuxs-capsule flush';
156
+ try {
157
+ // Pega crontab atual (pode ser vazio)
158
+ let current = '';
159
+ try {
160
+ current = execSync('crontab -l 2>/dev/null', { encoding: 'utf8' });
161
+ }
162
+ catch {
163
+ current = '';
164
+ }
165
+ // Já tem nossa linha?
166
+ if (current.includes('nuxs-capsule') && current.includes('flush')) {
167
+ console.log(' ✓ Cron já configurado (skip)');
168
+ return;
169
+ }
170
+ // Adiciona linha + marker
171
+ const newCrontab = (current.trim() + '\n' + marker + '\n' + cronLine + '\n').replace(/^\n+/, '');
172
+ execSync(`echo ${JSON.stringify(newCrontab)} | crontab -`, { stdio: 'pipe' });
173
+ console.log(` ✓ Cron adicionado: ${cronLine}`);
174
+ }
175
+ catch (err) {
176
+ console.log(` ⚠️ Falhou ao configurar cron: ${err instanceof Error ? err.message : err}`);
177
+ console.log(' Adiciona manualmente com: crontab -e');
178
+ console.log(` Linha: ${cronLine}`);
179
+ }
180
+ }
131
181
  main().catch((err) => {
132
182
  console.error('❌ Setup falhou:', err);
133
183
  process.exit(1);
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,41 @@
1
1
  /**
2
2
  * Telemetria zero-knowledge. NUNCA conteúdo, só metadata.
3
- * Fire-and-forget — não bloqueia cápsula.
4
3
  *
5
- * Audit defensivo no cliente: bloqueia envio se payload contém strings
6
- * suspeitas (defesa redundante; server também valida).
4
+ * Arquitetura "fila local + flusher":
5
+ * 1. Hook chama trackUsage(record) APPENDA num arquivo local,
6
+ * marca {sent:false}. Não tenta enviar pra rede. Hook fica rápido.
7
+ * 2. Comando separado `nuxs-capsule flush` (cron a cada 1min) lê o
8
+ * arquivo, filtra os {sent:false}, envia em batch pro server,
9
+ * marca {sent:true}.
10
+ *
11
+ * Resultado: 100% das cápsulas chegam, mesmo offline ou se hook
12
+ * morre rápido. Sem perda de telemetria.
13
+ *
14
+ * Audit defensivo no cliente: bloqueia payload com strings suspeitas
15
+ * (defesa redundante; server também valida).
7
16
  */
8
17
  import type { UsageRecord } from '../types.js';
9
- /** Registra uso local + envia pra server (fire-and-forget). */
18
+ /**
19
+ * Registra uso local. NÃO envia pro server — só escreve no arquivo.
20
+ * O flusher (cron) envia depois. Garante 100% das cápsulas contam.
21
+ */
10
22
  export declare function trackUsage(record: UsageRecord): Promise<void>;
23
+ /**
24
+ * Lê a fila local, envia tudo que não foi enviado em batch pro server,
25
+ * marca {sent:true} e regrava. Chamado pelo comando `nuxs-capsule flush`
26
+ * (cron 1min) e pelo MCP server (a cada 30s enquanto vivo).
27
+ *
28
+ * Retry: cada chamada tenta UMA vez por registro. Próximo flush tenta de
29
+ * novo os que falharam. Backoff implícito pelo intervalo do cron.
30
+ *
31
+ * Backend faz dedup por (machine_fingerprint, timestamp) — então mesmo
32
+ * que mande o mesmo registro 2x, não duplica.
33
+ */
34
+ export declare function flushQueue(): Promise<{
35
+ pending: number;
36
+ sent: number;
37
+ failed: number;
38
+ }>;
11
39
  /** Leitura agregada local — pro user ver economia mesmo offline. */
12
40
  export declare function getLocalUsageStats(days?: number): {
13
41
  total_capsules: number;
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/telemetry/usage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS/C,+DAA+D;AAC/D,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCnE;AAiBD,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,IAAI,SAAK,GAAG;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAyCA"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/telemetry/usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAY/C;;;GAGG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAYnE;AAiBD;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAyDD;AAED,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,IAAI,SAAK,GAAG;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAyCA"}