oficina-opencode 3.0.5 → 3.1.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 +240 -208
- package/dist/cli.js +124 -26
- package/dist/cli.js.map +1 -1
- package/dist/core/bus.js +3 -3
- package/dist/core/bus.js.map +1 -1
- package/dist/core/catalog.d.ts +9 -1
- package/dist/core/catalog.d.ts.map +1 -1
- package/dist/core/catalog.js +77 -2
- package/dist/core/catalog.js.map +1 -1
- package/dist/core/dispatch.d.ts +1 -1
- package/dist/core/dispatch.d.ts.map +1 -1
- package/dist/core/dispatch.js +73 -12
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/docsync.d.ts +0 -9
- package/dist/core/docsync.d.ts.map +1 -1
- package/dist/core/docsync.js +12 -15
- package/dist/core/docsync.js.map +1 -1
- package/dist/core/factory.d.ts +16 -0
- package/dist/core/factory.d.ts.map +1 -1
- package/dist/core/factory.js +143 -0
- package/dist/core/factory.js.map +1 -1
- package/dist/core/fsx.d.ts +20 -2
- package/dist/core/fsx.d.ts.map +1 -1
- package/dist/core/fsx.js +10 -6
- package/dist/core/fsx.js.map +1 -1
- package/dist/core/gates.d.ts +23 -1
- package/dist/core/gates.d.ts.map +1 -1
- package/dist/core/gates.js +83 -8
- package/dist/core/gates.js.map +1 -1
- package/dist/core/leases.d.ts.map +1 -1
- package/dist/core/leases.js +4 -1
- package/dist/core/leases.js.map +1 -1
- package/dist/core/mesa.d.ts +1 -6
- package/dist/core/mesa.d.ts.map +1 -1
- package/dist/core/mesa.js +1 -6
- package/dist/core/mesa.js.map +1 -1
- package/dist/core/office.d.ts +3 -29
- package/dist/core/office.d.ts.map +1 -1
- package/dist/core/office.js +77 -90
- package/dist/core/office.js.map +1 -1
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +6 -1
- package/dist/core/paths.js.map +1 -1
- package/dist/core/retry.d.ts +2 -8
- package/dist/core/retry.d.ts.map +1 -1
- package/dist/core/retry.js +3 -34
- package/dist/core/retry.js.map +1 -1
- package/dist/core/roster.js +3 -3
- package/dist/core/roster.js.map +1 -1
- package/dist/core/sandbox.d.ts +38 -1
- package/dist/core/sandbox.d.ts.map +1 -1
- package/dist/core/sandbox.js +119 -15
- package/dist/core/sandbox.js.map +1 -1
- package/dist/core/state.d.ts +2 -2
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +5 -33
- package/dist/core/state.js.map +1 -1
- package/dist/core/stores.d.ts +3 -13
- package/dist/core/stores.d.ts.map +1 -1
- package/dist/core/stores.js +8 -32
- package/dist/core/stores.js.map +1 -1
- package/dist/core/systemPrompt.js +1 -1
- package/dist/core/systemPrompt.js.map +1 -1
- package/dist/core/tripwire.d.ts +22 -8
- package/dist/core/tripwire.d.ts.map +1 -1
- package/dist/core/tripwire.js +71 -26
- package/dist/core/tripwire.js.map +1 -1
- package/dist/core/types.d.ts +6 -14
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +11 -3
- package/dist/core/types.js.map +1 -1
- package/dist/hooks/scopeGuard.d.ts +15 -1
- package/dist/hooks/scopeGuard.d.ts.map +1 -1
- package/dist/hooks/scopeGuard.js +88 -73
- package/dist/hooks/scopeGuard.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -59
- package/dist/tools/index.js.map +1 -1
- package/dist/v1.d.ts.map +1 -1
- package/dist/v1.js +30 -36
- package/dist/v1.js.map +1 -1
- package/dist/v2.d.ts.map +1 -1
- package/dist/v2.js +22 -41
- package/dist/v2.js.map +1 -1
- package/docs/GARANTIAS.md +2 -2
- package/docs/PRUEBA-E2E.md +4 -4
- package/docs/QUE-ES.md +4 -5
- package/docs/SEGURIDAD-REPO.md +83 -0
- package/docs/assets/banner.svg +42 -0
- package/docs/catalog-facts.json +3 -3
- package/docs/superpowers/specs/2026-10-29-factory-skill-creator-and-remove-budget.md +182 -0
- package/package.json +11 -6
package/dist/v1.js
CHANGED
|
@@ -130,11 +130,29 @@ export const OficinaPlugin = async (input, options) => {
|
|
|
130
130
|
});
|
|
131
131
|
/** El scope que aplica a una sesión, si tiene. */
|
|
132
132
|
const scopeOf = async (sessionID) => {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
133
|
+
try {
|
|
134
|
+
const state = await office.loadState();
|
|
135
|
+
const result = await resolveScopeCard(state, sessionID, guardOptions);
|
|
136
|
+
if (result.kind === "VERIFICATION_FAILED") {
|
|
137
|
+
log.error("verificacion de scope fallida", { sessionID, reason: result.reason });
|
|
138
|
+
if (guardOptions.enforce) {
|
|
139
|
+
throw new Error(`[OFICINA] Scope verification failed: ${result.reason}. Operation blocked (fail-closed).`);
|
|
140
|
+
}
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
if (result.kind !== "AUTHORIZED") {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
const card = result.card;
|
|
147
|
+
return { card, policy: { mayTouch: card.scope.mayTouch, forbidden: card.scope.forbidden } };
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
log.debug("no se pudo resolver el scope de la sesion", { sessionID, error: String(err) });
|
|
151
|
+
if (guardOptions.enforce) {
|
|
152
|
+
throw new Error(`[OFICINA] Scope verification failed: ${String(err)}. Operation blocked (fail-closed).`);
|
|
153
|
+
}
|
|
136
154
|
return undefined;
|
|
137
|
-
|
|
155
|
+
}
|
|
138
156
|
};
|
|
139
157
|
log.info("plugin inicializado", {
|
|
140
158
|
directory,
|
|
@@ -148,36 +166,6 @@ export const OficinaPlugin = async (input, options) => {
|
|
|
148
166
|
await onSessionIdle({ event });
|
|
149
167
|
return;
|
|
150
168
|
}
|
|
151
|
-
// ── Contabilidad de costo ──
|
|
152
|
-
//
|
|
153
|
-
// El motor ya sabe cuanto costo cada llamada (`AssistantMessage.cost`)
|
|
154
|
-
// y cuantos tokens consumio. La oficina lo anota, lo desglosa por
|
|
155
|
-
// card, agente y fase, y lo presupuesta. No estimamos nada: el
|
|
156
|
-
// numero real es el que llega.
|
|
157
|
-
if (event.type === "message.updated") {
|
|
158
|
-
const info = event.properties?.info;
|
|
159
|
-
if (info?.role === "assistant" && info.cost !== undefined) {
|
|
160
|
-
try {
|
|
161
|
-
const state = await office.loadState();
|
|
162
|
-
const binding = info.sessionID ? state.sessions[info.sessionID] : undefined;
|
|
163
|
-
const cardId = binding?.cardId ?? null;
|
|
164
|
-
await office.recordUsage({
|
|
165
|
-
agentId: binding?.agentId ?? info.sessionID ?? "desconocido",
|
|
166
|
-
role: binding?.agentId ?? "agente",
|
|
167
|
-
cardId,
|
|
168
|
-
phase: cardId ? "implementation" : "exploration",
|
|
169
|
-
model: info.modelID ?? "desconocido",
|
|
170
|
-
provider: info.providerID ?? "desconocido",
|
|
171
|
-
cost: info.cost,
|
|
172
|
-
tokens: info.tokens ?? { input: 0, output: 0, reasoning: 0 },
|
|
173
|
-
latencyMs: (info.time?.completed ?? 0) - (info.time?.created ?? 0),
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
catch (err) {
|
|
177
|
-
log.debug("no se pudo registrar el uso", { error: String(err) });
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
169
|
},
|
|
182
170
|
"tool.execute.before": async (hookInput, hookOutput) => {
|
|
183
171
|
await onScopeGuard({
|
|
@@ -196,14 +184,17 @@ export const OficinaPlugin = async (input, options) => {
|
|
|
196
184
|
const scope = await scopeOf(hookInput.sessionID);
|
|
197
185
|
if (!scope)
|
|
198
186
|
return;
|
|
199
|
-
const cambios = await tripwire.check(hookInput.callID, scope.policy.mayTouch);
|
|
200
|
-
if (cambios.length === 0)
|
|
187
|
+
const { changes: cambios, incomplete, errors, armFailed } = await tripwire.check(hookInput.callID, scope.policy.mayTouch);
|
|
188
|
+
if (cambios.length === 0 && !incomplete && errors.length === 0 && !armFailed)
|
|
201
189
|
return;
|
|
202
190
|
const detalle = cambios.map((c) => ` - ${c.kind}: ${c.path}`).join("\n");
|
|
203
191
|
log.warn("escrituras fuera del scope detectadas", {
|
|
204
192
|
card: scope.card.id,
|
|
205
193
|
tool: hookInput.tool,
|
|
206
194
|
cambios: cambios.length,
|
|
195
|
+
incomplete,
|
|
196
|
+
errors: errors.length,
|
|
197
|
+
armFailed,
|
|
207
198
|
});
|
|
208
199
|
log.warn(`\n${detalle}`);
|
|
209
200
|
// Se le avisa al agente por el bus: puede que no haya sido
|
|
@@ -218,6 +209,9 @@ export const OficinaPlugin = async (input, options) => {
|
|
|
218
209
|
notice: "scope",
|
|
219
210
|
message: `Se detectaron ${cambios.length} cambio(s) fuera del scope de la card ${scope.card.id} ` +
|
|
220
211
|
`durante \`${hookInput.tool}\`:\n${detalle}\n\n` +
|
|
212
|
+
`${incomplete ? "⚠️ Inspección incompleta (límite de archivos alcanzado). " : ""}` +
|
|
213
|
+
`${errors.length > 0 ? `⚠️ ${errors.length} error(es) durante la inspección. ` : ""}` +
|
|
214
|
+
`${armFailed ? "⚠️ No se pudo tomar la instantánea inicial (arm falló). " : ""}` +
|
|
221
215
|
`Si fue deliberado, avisalo por el bus. Si no, revisé lo que tocaste.`,
|
|
222
216
|
},
|
|
223
217
|
})
|
package/dist/v1.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../src/v1.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../src/v1.ts"],"names":[],"mappings":"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"}
|
package/dist/v2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2.d.ts","sourceRoot":"","sources":["../src/v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AA2CzC,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;;AAwBD,
|
|
1
|
+
{"version":3,"file":"v2.d.ts","sourceRoot":"","sources":["../src/v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AA2CzC,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;;AAwBD,wBAmYE"}
|
package/dist/v2.js
CHANGED
|
@@ -170,9 +170,18 @@ export default Plugin.define({
|
|
|
170
170
|
const scopeOf = async (sessionID) => {
|
|
171
171
|
try {
|
|
172
172
|
const state = await office.loadState();
|
|
173
|
-
const
|
|
174
|
-
if (
|
|
173
|
+
const result = await resolveScopeCard(state, sessionID, { enforce, resolveParentSession });
|
|
174
|
+
if (result.kind === "VERIFICATION_FAILED") {
|
|
175
|
+
log.error("verificacion de scope fallida", { sessionID, reason: result.reason });
|
|
176
|
+
if (enforce) {
|
|
177
|
+
throw new Error(`[OFICINA] Scope verification failed: ${result.reason}. Operation blocked (fail-closed).`);
|
|
178
|
+
}
|
|
179
|
+
return undefined;
|
|
180
|
+
}
|
|
181
|
+
if (result.kind !== "AUTHORIZED") {
|
|
175
182
|
return undefined;
|
|
183
|
+
}
|
|
184
|
+
const card = result.card;
|
|
176
185
|
const policy = {
|
|
177
186
|
mayTouch: card.scope.mayTouch,
|
|
178
187
|
forbidden: card.scope.forbidden,
|
|
@@ -181,6 +190,9 @@ export default Plugin.define({
|
|
|
181
190
|
}
|
|
182
191
|
catch (err) {
|
|
183
192
|
log.debug("no se pudo resolver el scope de la sesion", { sessionID, error: String(err) });
|
|
193
|
+
if (enforce) {
|
|
194
|
+
throw new Error(`[OFICINA] Scope verification failed: ${String(err)}. Operation blocked (fail-closed).`);
|
|
195
|
+
}
|
|
184
196
|
return undefined;
|
|
185
197
|
}
|
|
186
198
|
};
|
|
@@ -320,14 +332,17 @@ export default Plugin.define({
|
|
|
320
332
|
const scope = await scopeOf(event.sessionID);
|
|
321
333
|
if (!scope)
|
|
322
334
|
return;
|
|
323
|
-
const cambios = await tripwire.check(String(event.id), scope.policy.mayTouch);
|
|
324
|
-
if (cambios.length === 0)
|
|
335
|
+
const { changes: cambios, incomplete, errors, armFailed } = await tripwire.check(String(event.id), scope.policy.mayTouch);
|
|
336
|
+
if (cambios.length === 0 && !incomplete && errors.length === 0 && !armFailed)
|
|
325
337
|
return;
|
|
326
338
|
const detalle = cambios.map((c) => ` - ${c.kind}: ${c.path}`).join("\n");
|
|
327
339
|
log.warn("escrituras fuera del scope detectadas", {
|
|
328
340
|
card: scope.card.id,
|
|
329
341
|
tool: event.tool,
|
|
330
342
|
cambios: cambios.length,
|
|
343
|
+
incomplete,
|
|
344
|
+
errors: errors.length,
|
|
345
|
+
armFailed,
|
|
331
346
|
});
|
|
332
347
|
await office.bus
|
|
333
348
|
.send("peer", {
|
|
@@ -339,6 +354,9 @@ export default Plugin.define({
|
|
|
339
354
|
notice: "scope",
|
|
340
355
|
message: `Se detectaron ${cambios.length} cambio(s) fuera del scope de la card ${scope.card.id} ` +
|
|
341
356
|
`durante \`${event.tool}\`:\n${detalle}\n\n` +
|
|
357
|
+
`${incomplete ? "⚠️ Inspección incompleta (límite de archivos alcanzado). " : ""}` +
|
|
358
|
+
`${errors.length > 0 ? `⚠️ ${errors.length} error(es) durante la inspección. ` : ""}` +
|
|
359
|
+
`${armFailed ? "⚠️ No se pudo tomar la instantánea inicial (arm falló). " : ""}` +
|
|
342
360
|
`Si fue deliberado, avisalo por el bus. Si no, revisé lo que tocaste.`,
|
|
343
361
|
},
|
|
344
362
|
})
|
|
@@ -432,43 +450,6 @@ export default Plugin.define({
|
|
|
432
450
|
}
|
|
433
451
|
continue;
|
|
434
452
|
}
|
|
435
|
-
/* ── Costo ── */
|
|
436
|
-
//
|
|
437
|
-
// El evento trae el numero REAL que reporto el motor. No se estima.
|
|
438
|
-
//
|
|
439
|
-
// El tipo del stream publicado no incluye los eventos de usage (el
|
|
440
|
-
// union tipado es mas angosto que el manifiesto del schema), asi
|
|
441
|
-
// que se lee de forma laxa y a mano: si la forma no coincide, se
|
|
442
|
-
// ignora en vez de romper.
|
|
443
|
-
const raw = event;
|
|
444
|
-
if (raw.type === "session.usage.recorded" || raw.type === "session.usage.updated") {
|
|
445
|
-
const data = raw.data;
|
|
446
|
-
if (!data?.sessionID)
|
|
447
|
-
continue;
|
|
448
|
-
try {
|
|
449
|
-
const state = await office.loadState();
|
|
450
|
-
const binding = state.sessions[data.sessionID];
|
|
451
|
-
await office.recordUsage({
|
|
452
|
-
agentId: binding?.agentId ?? data.sessionID,
|
|
453
|
-
role: binding?.agentId ?? "agente",
|
|
454
|
-
cardId: binding?.cardId ?? null,
|
|
455
|
-
phase: binding?.cardId ? "implementation" : "exploration",
|
|
456
|
-
model: "desconocido",
|
|
457
|
-
provider: "desconocido",
|
|
458
|
-
cost: data.cost ?? 0,
|
|
459
|
-
tokens: {
|
|
460
|
-
input: data.tokens?.input ?? 0,
|
|
461
|
-
output: data.tokens?.output ?? 0,
|
|
462
|
-
reasoning: data.tokens?.reasoning ?? 0,
|
|
463
|
-
cache: { read: data.tokens?.cache?.read ?? 0, write: data.tokens?.cache?.write ?? 0 },
|
|
464
|
-
},
|
|
465
|
-
latencyMs: 0,
|
|
466
|
-
});
|
|
467
|
-
}
|
|
468
|
-
catch (err) {
|
|
469
|
-
log.debug("no se pudo registrar el uso", { error: String(err) });
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
453
|
}
|
|
473
454
|
}
|
|
474
455
|
catch (err) {
|
package/dist/v2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2.js","sourceRoot":"","sources":["../src/v2.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"v2.js","sourceRoot":"","sources":["../src/v2.ts"],"names":[],"mappings":"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"}
|
package/docs/GARANTIAS.md
CHANGED
|
@@ -182,10 +182,10 @@ que dice "esto está roto".
|
|
|
182
182
|
## Cómo se verifica todo esto
|
|
183
183
|
|
|
184
184
|
```bash
|
|
185
|
-
npm test #
|
|
185
|
+
npm test # 456 tests: adversariales, de carrera y de recuperación
|
|
186
186
|
npm run typecheck # strict + noUncheckedIndexedAccess
|
|
187
187
|
npm run coverage # cobertura por línea
|
|
188
188
|
npm run docs:check # la documentación coincide con el código
|
|
189
189
|
npm run bench:selection # el matcher le gana a las alternativas simples
|
|
190
|
-
npm run diagnose <dir> #
|
|
190
|
+
npm run diagnose <dir> # radiografía de una corrida: cards, roles, gates, evidencia
|
|
191
191
|
```
|
package/docs/PRUEBA-E2E.md
CHANGED
|
@@ -16,12 +16,12 @@ Nivel 7, que corre un solo comando.
|
|
|
16
16
|
|
|
17
17
|
> **Abrí OpenCode en `C:\prueba-oficina`.**
|
|
18
18
|
|
|
19
|
-
No en
|
|
19
|
+
No en la **carpeta personal del usuario** (p. ej. `%USERPROFILE%`). El motivo es concreto y no es obvio:
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
La carpeta personal **no** es un proyecto (no tiene `package.json` ni `.git`), pero tiene
|
|
22
22
|
**14 subdirectorios que sí lo son**. `resolveProjectRoot` busca en los subdirectorios y,
|
|
23
23
|
como hay varios candidatos, elige por peso de fuentes. El resultado es aleatorio: podés
|
|
24
|
-
terminar
|
|
24
|
+
terminar escribiendo la corrida en un checkout cualquiera del plugin.
|
|
25
25
|
|
|
26
26
|
Verificá dónde estás antes de abrir OpenCode:
|
|
27
27
|
|
|
@@ -35,7 +35,7 @@ Copiá esto en la terminal y dejalo abierto:
|
|
|
35
35
|
|
|
36
36
|
```powershell
|
|
37
37
|
$OFICINA = "$env:USERPROFILE\.config\opencode\node_modules\.bin\oficina.cmd"
|
|
38
|
-
$REPO = "
|
|
38
|
+
$REPO = "<checkout local del plugin AI-OFFICE>"
|
|
39
39
|
$PROY = "C:\prueba-oficina"
|
|
40
40
|
```
|
|
41
41
|
|
package/docs/QUE-ES.md
CHANGED
|
@@ -3,15 +3,14 @@
|
|
|
3
3
|
<!-- BEGIN GENERATED: facts -->
|
|
4
4
|
| | |
|
|
5
5
|
|---|---|
|
|
6
|
-
| **Paquete** | `oficina-opencode` v3.0
|
|
7
|
-
| **Tools** |
|
|
6
|
+
| **Paquete** | `oficina-opencode` v3.1.0 |
|
|
7
|
+
| **Tools** | 15 |
|
|
8
8
|
| **Hooks** | 7 |
|
|
9
9
|
| **API de plugin** | `@opencode/plugin@2.1.2` |
|
|
10
|
-
| **Node** | >=
|
|
10
|
+
| **Node** | >=22 |
|
|
11
11
|
| **Catálogo** | 258 agentes resolubles en 18 divisiones |
|
|
12
12
|
| **Divisiones** | academic, design, engineering, finance, game-development, gis, healthcare, marketing, paid-media, product, project-management, research, sales, spatial-computing, specialized, strategy, support, testing |
|
|
13
|
-
|
|
14
|
-
| **Cobertura mínima** | 60% |
|
|
13
|
+
<!-- Catalog source: agency-agents @ 4e3ac3c -->
|
|
15
14
|
<!-- END GENERATED: facts -->
|
|
16
15
|
|
|
17
16
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Hardening del repo y de npm — cierre a maldades
|
|
2
|
+
|
|
3
|
+
Checklist operativa para que **nadie que no sea el mantenedor** pueda pushear,
|
|
4
|
+
publicar o borrar nada. Divide las medidas en lo que ya vive en el repo
|
|
5
|
+
(aplicado en archivos) y lo que se activa una vez en la web de GitHub y de npm.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Parte A — Ya aplicado en el repo
|
|
10
|
+
|
|
11
|
+
| Medida | Archivo | Qué cierra |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| Revisión del owner obligatoria en todo el árbol | `.github/CODEOWNERS` | PRs que tocan código sin el visto bueno del owner |
|
|
14
|
+
| Superficie CI/seguridad/empaquetado con protección explícita | `.github/CODEOWNERS` | Manipulación de workflows, policy de seguridad o manifest |
|
|
15
|
+
| Dependabot semanal (npm + Actions) | `.github/dependabot.yml` | Dependencias y actions que quedan viejas; majors manuales a propósito |
|
|
16
|
+
| Publicación OIDC con provenance, environment protegido, sin token de larga vida | `.github/workflows/publish.yml` | Spoofing de publicación, robo de token, publicar algo que no pasó el suite |
|
|
17
|
+
| Corredor de verificación previa en el publish | `prepublishOnly` + workflow | Publicar typecheck/test/docs en rojo |
|
|
18
|
+
| Política de seguridad sin datos de contacto inventados | `SECURITY.md` | Reportes por canales no verificados |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Parte B — Activar una vez en GitHub (UI del repositorio)
|
|
23
|
+
|
|
24
|
+
Settings → Saltar al punto → clícalo y listo:
|
|
25
|
+
|
|
26
|
+
1. **Branch protection de `main`** (Settings → Branches → Add branch ruleset):
|
|
27
|
+
- ✅ *Require a pull request before merging* (1 revisión mínima).
|
|
28
|
+
- ✅ *Require review from Code Owners* — activa la CODEOWNERS de arriba.
|
|
29
|
+
- ✅ *Require status checks to pass before merging* con estos jobs:
|
|
30
|
+
`verify (ubuntu-latest, 24) · verify (ubuntu-latest, 22) · verify (windows-latest, 24) · verify (windows-latest, 22) · docs · smoke · install-verify`.
|
|
31
|
+
- ✅ *Require branches to be up to date before merging*.
|
|
32
|
+
- ✅ *Do not allow bypassing the above settings* (ni apps ni admins).
|
|
33
|
+
- ❌ **Nunca**: *Allow force pushes* · *Allow deletions*.
|
|
34
|
+
|
|
35
|
+
2. **Ruleset de tags** (Settings → Rules → Rulesets → New → Tag ruleset):
|
|
36
|
+
- Protege `v*`: solo el owner crea tags. Evita que un tag spurio dispare
|
|
37
|
+
publicidad falsa de versiones.
|
|
38
|
+
|
|
39
|
+
3. **Permisos de Actions** (Settings → Actions → General):
|
|
40
|
+
- ⛔ *Read and write permissions* → cambiar a **Read repository contents** por defecto.
|
|
41
|
+
- ✅ Requiere aprobación de colaboradores para workflows de PRs de primera vez.
|
|
42
|
+
- ✅ Alta del *GitHub Actions* no admite escalación: el token ahora no puede
|
|
43
|
+
pushear ni publicar aunque un agente se piratee.
|
|
44
|
+
|
|
45
|
+
4. **Secretos** (Settings → Secrets and variables):
|
|
46
|
+
- No necesitas `NPM_TOKEN` si configuras *Trusted Publishing* (punto C.3).
|
|
47
|
+
- Si igual la almacenas: granular (`oficina-opencode` únicamente), con 2FA
|
|
48
|
+
obligatoria y vencido corto mejor que eterno.
|
|
49
|
+
|
|
50
|
+
5. **Dependabot alerts + security notifications** (Settings → Security):
|
|
51
|
+
- ✅ Dependabot alerts · Code scanning (si se suma CodeQL luego) · Secret scanning.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Parte C — Activar una vez en npm (npmjs.com)
|
|
56
|
+
|
|
57
|
+
1. **2FA en la cuenta** (Account settings → Security): siempre, obligatoria.
|
|
58
|
+
2. **Package settings de `oficina-opencode`**:
|
|
59
|
+
- ✅ *Require two-factor authentication to publish or change settings* (ON — es el default ahora).
|
|
60
|
+
- Mantenedores: **solo el owner**. Cualquier colaboración va por PR, no por copropiedad del paquete.
|
|
61
|
+
3. **Trusted Publishing** (Package settings → Publishing access):
|
|
62
|
+
- Vincula el repo `SOCRAMbt/AI-OFFICE` con el workflow `.github/workflows/publish.yml`.
|
|
63
|
+
- Con esto la publicación usa OIDC: **no existe token que filtrar** y npm
|
|
64
|
+
firma la provenance (SLSA 3) del artefacto.
|
|
65
|
+
4. **Publicar siempre con provenance**:
|
|
66
|
+
```bash
|
|
67
|
+
npm publish --provenance
|
|
68
|
+
```
|
|
69
|
+
El workflow ya lo hace. Instaladores verosificables con
|
|
70
|
+
`npm view oficina-opencode dist.attestations`.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Verificación rápida del cierre
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# ¿Quién puede tocar main? → nadie sin PR del owner (Parte B.1)
|
|
78
|
+
# ¿Quién puede publicar? → solo el workflow OIDC del repo (Parte C.3)
|
|
79
|
+
# ¿Un PR de un extraño tocará CODEOWNERS? → GitHub lo exige en aprobación automática
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Si algo de la Parte B/C no está activado, el cierre técnico queda a medias:
|
|
83
|
+
los archivos del repo son la mitad grosera; los toggles de la web son la otra.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<svg width="1000" height="240" viewBox="0 0 1000 240" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="AI-OFFICE — una oficina de agentes para OpenCode">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="accent" x1="0" y1="0" x2="1000" y2="0" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop offset="0" stop-color="#7c3aed"/>
|
|
5
|
+
<stop offset="0.55" stop-color="#22a06b"/>
|
|
6
|
+
<stop offset="1" stop-color="#f59e0b"/>
|
|
7
|
+
</linearGradient>
|
|
8
|
+
<linearGradient id="heroText" x1="120" y1="60" x2="880" y2="160" gradientUnits="userSpaceOnUse">
|
|
9
|
+
<stop offset="0" stop-color="#f8fafc"/>
|
|
10
|
+
<stop offset="1" stop-color="#cbd5f5"/>
|
|
11
|
+
</linearGradient>
|
|
12
|
+
<pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse">
|
|
13
|
+
<path d="M 40 0 L 0 0 0 40" stroke="#1c2333" stroke-width="1"/>
|
|
14
|
+
</pattern>
|
|
15
|
+
</defs>
|
|
16
|
+
|
|
17
|
+
<rect width="1000" height="240" rx="18" fill="#0b0f19"/>
|
|
18
|
+
<rect width="1000" height="240" rx="18" fill="url(#grid)" opacity="0.55"/>
|
|
19
|
+
<rect x="0.5" y="0.5" width="999" height="239" rx="17.5" stroke="#232b3e"/>
|
|
20
|
+
|
|
21
|
+
<!-- desk motif: a minimal "office" abstract -->
|
|
22
|
+
<g opacity="0.9">
|
|
23
|
+
<rect x="856" y="150" width="7" height="62" rx="3" fill="#22a06b"/>
|
|
24
|
+
<rect x="869" y="132" width="7" height="80" rx="3" fill="#7c3aed"/>
|
|
25
|
+
<rect x="882" y="164" width="7" height="48" rx="3" fill="#f59e0b"/>
|
|
26
|
+
<rect x="808" y="204" width="170" height="8" rx="4" fill="#1c2333"/>
|
|
27
|
+
<circle cx="823" cy="132" r="9" stroke="#3b4664" stroke-width="2"/>
|
|
28
|
+
<rect x="808" y="146" width="30" height="4" rx="2" fill="#2a3350"/>
|
|
29
|
+
</g>
|
|
30
|
+
|
|
31
|
+
<g opacity="0.65">
|
|
32
|
+
<circle cx="92" cy="196" r="3" fill="#7c3aed"/>
|
|
33
|
+
<circle cx="110" cy="196" r="3" fill="#22a06b"/>
|
|
34
|
+
<circle cx="128" cy="196" r="3" fill="#f59e0b"/>
|
|
35
|
+
</g>
|
|
36
|
+
|
|
37
|
+
<text x="72" y="104" font-family="'Segoe UI', Roboto, Helvetica, Arial, sans-serif" font-size="76" font-weight="800" letter-spacing="4" fill="url(#heroText)">AI-OFFICE</text>
|
|
38
|
+
<rect x="74" y="126" width="212" height="4" rx="2" fill="url(#accent)"/>
|
|
39
|
+
|
|
40
|
+
<text x="74" y="168" font-family="'Segoe UI', Roboto, Helvetica, Arial, sans-serif" font-size="23" fill="#9aa4b2">Una oficina de agentes para OpenCode donde el trabajo</text>
|
|
41
|
+
<text x="74" y="198" font-family="'Segoe UI', Roboto, Helvetica, Arial, sans-serif" font-size="23" fill="#9aa4b2">no se detiene cuando el modelo dice «terminé».</text>
|
|
42
|
+
</svg>
|
package/docs/catalog-facts.json
CHANGED