@skip-ai/scanner 0.6.0 → 0.8.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/dist/uploader.js CHANGED
@@ -1,11 +1,8 @@
1
1
  import ora from 'ora';
2
2
  import fs from 'fs';
3
- /** Limite de tamanho do payload (5 MB) imposto pela API. */
3
+ import { sha256Buffer } from './artifacts.js';
4
4
  export const MAX_PAYLOAD_BYTES = 5 * 1024 * 1024;
5
- /**
6
- * Envia o relatório para o endpoint /api/scanner da plataforma Skip.
7
- * Retorna o scanId criado.
8
- */
5
+ export const MAX_CHUNK_BYTES = Math.floor(4.5 * 1024 * 1024);
9
6
  export async function uploadReport(report, token, baseUrl) {
10
7
  const body = JSON.stringify({ action: 'receiveReport', report });
11
8
  if (Buffer.byteLength(body) > MAX_PAYLOAD_BYTES) {
@@ -19,15 +16,13 @@ export async function uploadReport(report, token, baseUrl) {
19
16
  },
20
17
  body,
21
18
  });
22
- if (res.status === 401) {
23
- throw new Error('Token inválido. Verifique seu token no Dashboard.');
24
- }
25
- if (res.status === 413) {
19
+ if (res.status === 401)
20
+ throw new Error('Token invalido. Verifique seu token no Dashboard.');
21
+ if (res.status === 413)
26
22
  throw new Error('Payload muito grande (>5MB). Use --ignore para excluir mais arquivos.');
27
- }
28
23
  if (!res.ok) {
29
24
  const text = await res.text().catch(() => '');
30
- throw new Error(`Erro ao enviar scan: HTTP ${res.status}${text ? ` ${text}` : ''}`);
25
+ throw new Error(`Erro ao enviar scan: HTTP ${res.status}${text ? ` - ${text}` : ''}`);
31
26
  }
32
27
  const data = (await res.json());
33
28
  return data.scanId;
@@ -46,9 +41,126 @@ function normalizeArtifactConfirmations(data, artifacts) {
46
41
  sha256: artifact.sha256,
47
42
  }));
48
43
  }
44
+ function validateBundleConfirmation(data, artifacts, scanId) {
45
+ const localCount = artifacts.length;
46
+ if (typeof data.expectedArtifacts === 'number' && data.expectedArtifacts !== localCount) {
47
+ throw new Error(`Upload incompleto:\nexpectedArtifacts=${data.expectedArtifacts}, localArtifacts=${localCount}.`);
48
+ }
49
+ if (typeof data.receivedArtifacts === 'number' && data.receivedArtifacts !== localCount) {
50
+ throw new Error(`Upload incompleto:\nreceivedArtifacts=${data.receivedArtifacts}, localArtifacts=${localCount}.`);
51
+ }
52
+ if (typeof data.validArtifacts === 'number' && data.validArtifacts !== localCount) {
53
+ throw new Error(`Upload incompleto:\nvalidArtifacts=${data.validArtifacts}, localArtifacts=${localCount}.`);
54
+ }
55
+ if (typeof data.persistedArtifacts === 'number' && data.persistedArtifacts !== localCount) {
56
+ throw new Error(`Upload incompleto:\npersistedArtifacts=${data.persistedArtifacts}, localArtifacts=${localCount}.`);
57
+ }
58
+ if (Array.isArray(data.missingArtifacts) && data.missingArtifacts.length)
59
+ throw new Error('Upload incompleto: missingArtifacts retornou itens.');
60
+ if (Array.isArray(data.invalidArtifacts) && data.invalidArtifacts.length)
61
+ throw new Error('Upload incompleto: invalidArtifacts retornou itens.');
62
+ if (Array.isArray(data.hashMismatches) && data.hashMismatches.length)
63
+ throw new Error('Upload incompleto: hashMismatches retornou itens.');
64
+ const confirmations = normalizeArtifactConfirmations(data, artifacts);
65
+ for (const artifact of artifacts) {
66
+ const confirmation = confirmations.find((item) => item.filename === artifact.filename || item.artifactType === artifact.artifactType);
67
+ if (!confirmation ||
68
+ (confirmation.scanId && confirmation.scanId !== artifact.scanId) ||
69
+ confirmation.filename !== artifact.filename ||
70
+ confirmation.received !== true ||
71
+ confirmation.valid !== true ||
72
+ confirmation.persisted !== true ||
73
+ confirmation.sha256 !== artifact.sha256) {
74
+ throw new Error(`Upload incompleto:\n\`${artifact.filename}\` nao foi confirmado pela API.`);
75
+ }
76
+ }
77
+ return { scanId: data.scanId ?? scanId, confirmations };
78
+ }
79
+ async function uploadChunked(artifacts, token, baseUrl, manifest) {
80
+ const scanId = artifacts[0].scanId;
81
+ const base = baseUrl.replace(/\/$/, '');
82
+ const initRes = await fetch(`${base}/api/scanner/chunks/init`, {
83
+ method: 'POST',
84
+ headers: {
85
+ 'Content-Type': 'application/json',
86
+ Authorization: `Bearer ${token}`,
87
+ },
88
+ body: JSON.stringify({
89
+ scanId,
90
+ schemaVersion: '1.0.0',
91
+ bundleVersion: '1.0.0',
92
+ manifest,
93
+ artifacts: artifacts.map(({ absolutePath, ...artifact }) => artifact),
94
+ }),
95
+ });
96
+ if (initRes.status === 404 || initRes.status === 405)
97
+ return null;
98
+ if (initRes.status === 401)
99
+ throw new Error('Token invalido. Verifique seu token no Dashboard.');
100
+ if (!initRes.ok) {
101
+ const text = await initRes.text().catch(() => '');
102
+ throw new Error(`Erro ao iniciar upload chunked: HTTP ${initRes.status}${text ? ` - ${text}` : ''}`);
103
+ }
104
+ const initData = (await initRes.json().catch(() => ({ uploadId: scanId })));
105
+ const uploadId = initData.uploadId ?? scanId;
106
+ for (const artifact of artifacts) {
107
+ const content = fs.readFileSync(artifact.absolutePath);
108
+ const totalChunks = Math.max(1, Math.ceil(content.length / MAX_CHUNK_BYTES));
109
+ for (let chunkIndex = 0; chunkIndex < totalChunks; chunkIndex++) {
110
+ const offset = chunkIndex * MAX_CHUNK_BYTES;
111
+ const chunk = content.subarray(offset, Math.min(offset + MAX_CHUNK_BYTES, content.length));
112
+ const form = new FormData();
113
+ form.set('scanId', scanId);
114
+ form.set('artifactId', artifact.artifactId);
115
+ form.set('filename', artifact.filename);
116
+ form.set('chunkIndex', String(chunkIndex));
117
+ form.set('totalChunks', String(totalChunks));
118
+ form.set('offset', String(offset));
119
+ form.set('chunkSha256', sha256Buffer(chunk));
120
+ form.set('artifactSha256', artifact.sha256);
121
+ form.set('artifactSizeBytes', String(artifact.sizeBytes));
122
+ form.set('chunk', new Blob([chunk], { type: 'application/octet-stream' }), artifact.filename);
123
+ const chunkRes = await fetch(`${base}/api/scanner/chunks/${uploadId}`, {
124
+ method: 'POST',
125
+ headers: { Authorization: `Bearer ${token}` },
126
+ body: form,
127
+ });
128
+ if (chunkRes.status === 401)
129
+ throw new Error('Token invalido. Verifique seu token no Dashboard.');
130
+ if (!chunkRes.ok) {
131
+ const text = await chunkRes.text().catch(() => '');
132
+ throw new Error(`Erro ao enviar chunk ${chunkIndex + 1}/${totalChunks} de ${artifact.filename}: HTTP ${chunkRes.status}${text ? ` - ${text}` : ''}`);
133
+ }
134
+ }
135
+ }
136
+ const completeRes = await fetch(`${base}/api/scanner/chunks/${uploadId}/complete`, {
137
+ method: 'POST',
138
+ headers: {
139
+ 'Content-Type': 'application/json',
140
+ Authorization: `Bearer ${token}`,
141
+ },
142
+ body: JSON.stringify({
143
+ scanId,
144
+ uploadId,
145
+ manifest,
146
+ artifacts: artifacts.map(({ absolutePath, ...artifact }) => artifact),
147
+ }),
148
+ });
149
+ if (completeRes.status === 401)
150
+ throw new Error('Token invalido. Verifique seu token no Dashboard.');
151
+ if (!completeRes.ok) {
152
+ const text = await completeRes.text().catch(() => '');
153
+ throw new Error(`Erro ao completar upload chunked: HTTP ${completeRes.status}${text ? ` - ${text}` : ''}`);
154
+ }
155
+ const data = (await completeRes.json().catch(() => ({ scanId })));
156
+ return validateBundleConfirmation(data, artifacts, scanId);
157
+ }
49
158
  export async function uploadArtifactBundle(artifacts, token, baseUrl, manifest) {
50
159
  if (!artifacts.length)
51
160
  throw new Error('Nenhum artefato informado para upload.');
161
+ const chunked = await uploadChunked(artifacts, token, baseUrl, manifest);
162
+ if (chunked)
163
+ return chunked;
52
164
  const scanId = artifacts[0].scanId;
53
165
  const form = new FormData();
54
166
  form.set('scanId', scanId);
@@ -74,43 +186,26 @@ export async function uploadArtifactBundle(artifacts, token, baseUrl, manifest)
74
186
  continue;
75
187
  }
76
188
  if (res.status === 401)
77
- throw new Error('Token inválido. Verifique seu token no Dashboard.');
189
+ throw new Error('Token invalido. Verifique seu token no Dashboard.');
78
190
  if (res.status === 413)
79
191
  throw new Error('Payload muito grande (>5MB). Use --ignore para excluir mais arquivos.');
80
192
  if (!res.ok) {
81
193
  const text = await res.text().catch(() => '');
82
- throw new Error(`Erro ao enviar artefatos: HTTP ${res.status}${text ? ` ${text}` : ''}`);
194
+ throw new Error(`Erro ao enviar artefatos: HTTP ${res.status}${text ? ` - ${text}` : ''}`);
83
195
  }
84
196
  const data = (await res.json().catch(() => ({ scanId })));
85
- const confirmations = normalizeArtifactConfirmations(data, artifacts);
86
- for (const artifact of artifacts) {
87
- const confirmation = confirmations.find((item) => item.filename === artifact.filename || item.artifactType === artifact.artifactType);
88
- if (!confirmation ||
89
- confirmation.scanId && confirmation.scanId !== artifact.scanId ||
90
- confirmation.filename !== artifact.filename ||
91
- confirmation.received !== true ||
92
- confirmation.valid !== true ||
93
- confirmation.persisted !== true ||
94
- confirmation.sha256 !== artifact.sha256) {
95
- throw new Error(`Upload incompleto:\n\`${artifact.filename}\` não foi confirmado pela API.`);
96
- }
97
- }
98
- return { scanId: data.scanId ?? scanId, confirmations };
197
+ return validateBundleConfirmation(data, artifacts, scanId);
99
198
  }
100
- throw new Error(`Endpoint de upload de artefatos não encontrado (${lastError || 'sem resposta'}).`);
199
+ throw new Error(`Endpoint de upload de artefatos nao encontrado (${lastError || 'sem resposta'}).`);
101
200
  }
102
- /**
103
- * Faz polling do status do scan até `COMPLETED` ou `FAILED`,
104
- * exibindo um spinner no terminal.
105
- */
106
201
  export async function pollStatus(scanId, token, baseUrl, opts = {}) {
107
- const MAX_ATTEMPTS = opts.maxAttempts ?? 30; // 30 × 5s = 2.5 min
108
- const INTERVAL_MS = opts.intervalMs ?? 5000;
202
+ const maxAttempts = opts.maxAttempts ?? 30;
203
+ const intervalMs = opts.intervalMs ?? 5000;
109
204
  const useSpinner = opts.spinner ?? true;
110
- const spinner = useSpinner ? ora('Enriquecendo com IA...').start() : null;
205
+ const statusSpinner = useSpinner ? ora('Enriquecendo com IA...').start() : null;
111
206
  let attempt = 0;
112
- while (attempt < MAX_ATTEMPTS) {
113
- await new Promise((r) => setTimeout(r, INTERVAL_MS));
207
+ while (attempt < maxAttempts) {
208
+ await new Promise((r) => setTimeout(r, intervalMs));
114
209
  attempt++;
115
210
  let res;
116
211
  try {
@@ -125,17 +220,17 @@ export async function pollStatus(scanId, token, baseUrl, opts = {}) {
125
220
  continue;
126
221
  const status = (await res.json());
127
222
  if (status.status === 'COMPLETED') {
128
- spinner?.succeed(`Enriquecimento concluído! ${status.entitiesCount} entidades mapeadas.`);
223
+ statusSpinner?.succeed(`Enriquecimento concluido! ${status.entitiesCount} entidades mapeadas.`);
129
224
  return status;
130
225
  }
131
226
  if (status.status === 'FAILED') {
132
- spinner?.fail(`Falha no enriquecimento: ${status.errorMessage}`);
227
+ statusSpinner?.fail(`Falha no enriquecimento: ${status.errorMessage}`);
133
228
  return status;
134
229
  }
135
- if (spinner)
136
- spinner.text = `Status: ${status.status} (tentativa ${attempt}/${MAX_ATTEMPTS})...`;
230
+ if (statusSpinner)
231
+ statusSpinner.text = `Status: ${status.status} (tentativa ${attempt}/${maxAttempts})...`;
137
232
  }
138
- spinner?.fail('Timeout: o scan demorou mais de 2.5 minutos.');
233
+ statusSpinner?.fail('Timeout: o scan demorou mais de 2.5 minutos.');
139
234
  throw new Error('Timeout no polling de status.');
140
235
  }
141
236
  //# sourceMappingURL=uploader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uploader.js","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uploader.js","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skip-ai/scanner",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Scanner CLI para a plataforma Skip AI Accessibility Layer",
5
5
  "type": "module",
6
6
  "bin": {