oficina-opencode 2.0.1 → 2.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.
Files changed (89) hide show
  1. package/README.md +164 -14
  2. package/dist/core/atomic.d.ts +85 -0
  3. package/dist/core/atomic.d.ts.map +1 -0
  4. package/dist/core/atomic.js +186 -0
  5. package/dist/core/atomic.js.map +1 -0
  6. package/dist/core/bus.d.ts +76 -56
  7. package/dist/core/bus.d.ts.map +1 -1
  8. package/dist/core/bus.js +141 -100
  9. package/dist/core/bus.js.map +1 -1
  10. package/dist/core/catalog.d.ts +27 -0
  11. package/dist/core/catalog.d.ts.map +1 -1
  12. package/dist/core/catalog.js +41 -6
  13. package/dist/core/catalog.js.map +1 -1
  14. package/dist/core/cost.d.ts +275 -0
  15. package/dist/core/cost.d.ts.map +1 -0
  16. package/dist/core/cost.js +724 -0
  17. package/dist/core/cost.js.map +1 -0
  18. package/dist/core/docsync.d.ts +124 -0
  19. package/dist/core/docsync.d.ts.map +1 -0
  20. package/dist/core/docsync.js +191 -0
  21. package/dist/core/docsync.js.map +1 -0
  22. package/dist/core/evidence.d.ts +314 -0
  23. package/dist/core/evidence.d.ts.map +1 -0
  24. package/dist/core/evidence.js +602 -0
  25. package/dist/core/evidence.js.map +1 -0
  26. package/dist/core/fsx.d.ts.map +1 -1
  27. package/dist/core/fsx.js +7 -1
  28. package/dist/core/fsx.js.map +1 -1
  29. package/dist/core/gates.d.ts +9 -2
  30. package/dist/core/gates.d.ts.map +1 -1
  31. package/dist/core/gates.js +19 -3
  32. package/dist/core/gates.js.map +1 -1
  33. package/dist/core/ids.d.ts +48 -0
  34. package/dist/core/ids.d.ts.map +1 -0
  35. package/dist/core/ids.js +87 -0
  36. package/dist/core/ids.js.map +1 -0
  37. package/dist/core/leases.d.ts +45 -0
  38. package/dist/core/leases.d.ts.map +1 -1
  39. package/dist/core/leases.js +85 -17
  40. package/dist/core/leases.js.map +1 -1
  41. package/dist/core/office.d.ts +72 -1
  42. package/dist/core/office.d.ts.map +1 -1
  43. package/dist/core/office.js +173 -6
  44. package/dist/core/office.js.map +1 -1
  45. package/dist/core/paths.d.ts +11 -1
  46. package/dist/core/paths.d.ts.map +1 -1
  47. package/dist/core/paths.js +28 -4
  48. package/dist/core/paths.js.map +1 -1
  49. package/dist/core/recovery.d.ts +87 -0
  50. package/dist/core/recovery.d.ts.map +1 -0
  51. package/dist/core/recovery.js +325 -0
  52. package/dist/core/recovery.js.map +1 -0
  53. package/dist/core/sandbox.d.ts +179 -0
  54. package/dist/core/sandbox.d.ts.map +1 -0
  55. package/dist/core/sandbox.js +546 -0
  56. package/dist/core/sandbox.js.map +1 -0
  57. package/dist/core/state.d.ts +7 -0
  58. package/dist/core/state.d.ts.map +1 -1
  59. package/dist/core/state.js +15 -1
  60. package/dist/core/state.js.map +1 -1
  61. package/dist/core/stores.d.ts +65 -0
  62. package/dist/core/stores.d.ts.map +1 -0
  63. package/dist/core/stores.js +115 -0
  64. package/dist/core/stores.js.map +1 -0
  65. package/dist/core/tripwire.d.ts +87 -0
  66. package/dist/core/tripwire.d.ts.map +1 -0
  67. package/dist/core/tripwire.js +203 -0
  68. package/dist/core/tripwire.js.map +1 -0
  69. package/dist/core/types.d.ts +33 -1
  70. package/dist/core/types.d.ts.map +1 -1
  71. package/dist/core/types.js +1 -0
  72. package/dist/core/types.js.map +1 -1
  73. package/dist/hooks/scopeGuard.d.ts +86 -13
  74. package/dist/hooks/scopeGuard.d.ts.map +1 -1
  75. package/dist/hooks/scopeGuard.js +296 -62
  76. package/dist/hooks/scopeGuard.js.map +1 -1
  77. package/dist/index.d.ts +10 -0
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +185 -2
  80. package/dist/index.js.map +1 -1
  81. package/dist/tools/index.d.ts.map +1 -1
  82. package/dist/tools/index.js +158 -0
  83. package/dist/tools/index.js.map +1 -1
  84. package/docs/COMPATIBILITY.md +98 -0
  85. package/docs/GARANTIAS.md +190 -0
  86. package/docs/PLAN-V2.1.md +144 -0
  87. package/docs/QUE-ES.md +15 -0
  88. package/docs/catalog-facts.json +27 -0
  89. package/package.json +6 -2
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Almacenes de evidencia y de costo.
3
+ *
4
+ * Viven en archivos aparte del `state.json` a proposito:
5
+ *
6
+ * - **Evidencia**: es un grafo que crece con cada aporte. Meterlo en el
7
+ * estado principal lo convertiria en un documento gigante que se
8
+ * reescribe entero en cada cambio, y lo perdiéramos en cada escritura.
9
+ * Ademas, la evidencia es *derivada* del trabajo: sobrevive a que el
10
+ * estado cambie de forma.
11
+ * - **Costo**: es un ledger de append. Se actualiza en cada mensaje del
12
+ * modelo, y no tiene nada que ver con el plan de cards.
13
+ *
14
+ * Los dos se escriben con `writeJsonAtomic`, asi que un crash a mitad de
15
+ * escritura no deja un JSON partido.
16
+ */
17
+ import { type EvidenceGraph, type EvidenceNode, type EvidenceOptions, type VerificationLevel } from "./evidence.js";
18
+ import { type CostLedger, type UsageInput } from "./cost.js";
19
+ import type { Card, OfficeState } from "./types.js";
20
+ export interface EvidenceStoreOptions {
21
+ /** Cuantos criterios de aceptación son obligatorios. */
22
+ mandatoryCount?: number;
23
+ /** Nivel de verificación mínimo para poder cerrar. */
24
+ requiredLevel?: VerificationLevel;
25
+ }
26
+ export declare class EvidenceStore {
27
+ private readonly dir;
28
+ private readonly options;
29
+ constructor(dir: string, options?: EvidenceStoreOptions);
30
+ private file;
31
+ /** Lee los nodos de evidencia de una card. */
32
+ nodes(cardId: string): Promise<EvidenceNode[]>;
33
+ /** Guarda los nodos de evidencia de una card. */
34
+ save(cardId: string, nodes: EvidenceNode[]): Promise<void>;
35
+ /** Agrega un nodo de evidencia, deduplicando por id. */
36
+ add(cardId: string, node: EvidenceNode): Promise<EvidenceNode[]>;
37
+ /** Construye el grafo de una card. */
38
+ graph(card: Card): Promise<EvidenceGraph>;
39
+ /** ¿Se puede cerrar la card con la evidencia actual? */
40
+ canClose(card: Card): Promise<{
41
+ ok: boolean;
42
+ reason: string;
43
+ }>;
44
+ }
45
+ export declare class CostStore {
46
+ private readonly file;
47
+ constructor(file: string);
48
+ load(runId: string): Promise<CostLedger>;
49
+ save(ledger: CostLedger): Promise<void>;
50
+ /** Registra el uso de un agente y persiste. */
51
+ record(runId: string, input: UsageInput, clock?: () => number): Promise<CostLedger>;
52
+ }
53
+ /**
54
+ * Crea los stores de una corrida.
55
+ *
56
+ * Se separan del `Office` para no mezclarlos con la logica de cards: son
57
+ * dos concerns distintos.
58
+ */
59
+ export declare function createStores(officeDir: string, state: OfficeState, options?: EvidenceStoreOptions): {
60
+ evidence: EvidenceStore;
61
+ cost: CostStore;
62
+ };
63
+ /** Opciones de evidencia derivadas de un nodo. */
64
+ export declare function evidenceOptions(recordedBy: string, requirementIndex?: number, extra?: Partial<EvidenceOptions>): EvidenceOptions;
65
+ //# sourceMappingURL=stores.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../../src/core/stores.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EAA6B,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAA;AACvF,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AASnD,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sDAAsD;IACtD,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAClC;AAED,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB;IAGrD,OAAO,CAAC,IAAI;IAIZ,8CAA8C;IACxC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKpD,iDAAiD;IAC3C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,wDAAwD;IAClD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAStE,sCAAsC;IAChC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IAQ/C,wDAAwD;IAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAOrE;AAMD,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM;IAEnC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAMxC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,+CAA+C;IACzC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAK1F;AAMD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,oBAAyB,GACjC;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAK9C;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,EACzB,KAAK,GAAE,OAAO,CAAC,eAAe,CAAM,GACnC,eAAe,CAEjB"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Almacenes de evidencia y de costo.
3
+ *
4
+ * Viven en archivos aparte del `state.json` a proposito:
5
+ *
6
+ * - **Evidencia**: es un grafo que crece con cada aporte. Meterlo en el
7
+ * estado principal lo convertiria en un documento gigante que se
8
+ * reescribe entero en cada cambio, y lo perdiéramos en cada escritura.
9
+ * Ademas, la evidencia es *derivada* del trabajo: sobrevive a que el
10
+ * estado cambie de forma.
11
+ * - **Costo**: es un ledger de append. Se actualiza en cada mensaje del
12
+ * modelo, y no tiene nada que ver con el plan de cards.
13
+ *
14
+ * Los dos se escriben con `writeJsonAtomic`, asi que un crash a mitad de
15
+ * escritura no deja un JSON partido.
16
+ */
17
+ import path from "node:path";
18
+ import fs from "node:fs/promises";
19
+ import { readJson, writeJsonAtomic } from "./fsx.js";
20
+ import { buildEvidenceGraph, canCloseCard, } from "./evidence.js";
21
+ import { createLedger, recordUsage } from "./cost.js";
22
+ import { logger } from "./log.js";
23
+ const log = logger("oficina:stores");
24
+ export class EvidenceStore {
25
+ dir;
26
+ options;
27
+ constructor(dir, options = {}) {
28
+ this.dir = dir;
29
+ this.options = options;
30
+ }
31
+ file(cardId) {
32
+ return path.join(this.dir, `${cardId}.json`);
33
+ }
34
+ /** Lee los nodos de evidencia de una card. */
35
+ async nodes(cardId) {
36
+ const stored = await readJson(this.file(cardId));
37
+ return Array.isArray(stored?.nodes) ? stored.nodes : [];
38
+ }
39
+ /** Guarda los nodos de evidencia de una card. */
40
+ async save(cardId, nodes) {
41
+ await fs.mkdir(this.dir, { recursive: true });
42
+ await writeJsonAtomic(this.file(cardId), { version: 1, cardId, nodes });
43
+ }
44
+ /** Agrega un nodo de evidencia, deduplicando por id. */
45
+ async add(cardId, node) {
46
+ const nodes = await this.nodes(cardId);
47
+ const index = nodes.findIndex((n) => n.id === node.id);
48
+ if (index >= 0)
49
+ nodes[index] = node;
50
+ else
51
+ nodes.push(node);
52
+ await this.save(cardId, nodes);
53
+ return nodes;
54
+ }
55
+ /** Construye el grafo de una card. */
56
+ async graph(card) {
57
+ const nodes = await this.nodes(card.id);
58
+ return buildEvidenceGraph(card, nodes, {
59
+ mandatoryCount: this.options.mandatoryCount,
60
+ requiredLevel: this.options.requiredLevel,
61
+ });
62
+ }
63
+ /** ¿Se puede cerrar la card con la evidencia actual? */
64
+ async canClose(card) {
65
+ const graph = await this.graph(card);
66
+ return canCloseCard(graph, {
67
+ requiredLevel: this.options.requiredLevel,
68
+ requireAcceptance: true,
69
+ });
70
+ }
71
+ }
72
+ /* ────────────────────────────────────────────────────────────────────────────
73
+ * Costo
74
+ * ──────────────────────────────────────────────────────────────────────────── */
75
+ export class CostStore {
76
+ file;
77
+ constructor(file) {
78
+ this.file = file;
79
+ }
80
+ async load(runId) {
81
+ const stored = await readJson(this.file);
82
+ if (!stored || stored.version === undefined)
83
+ return createLedger(runId);
84
+ return stored;
85
+ }
86
+ async save(ledger) {
87
+ await writeJsonAtomic(this.file, ledger);
88
+ }
89
+ /** Registra el uso de un agente y persiste. */
90
+ async record(runId, input, clock) {
91
+ const ledger = recordUsage(await this.load(runId), input, clock);
92
+ await this.save(ledger);
93
+ return ledger;
94
+ }
95
+ }
96
+ /* ────────────────────────────────────────────────────────────────────────────
97
+ * Integracion
98
+ * ──────────────────────────────────────────────────────────────────────────── */
99
+ /**
100
+ * Crea los stores de una corrida.
101
+ *
102
+ * Se separan del `Office` para no mezclarlos con la logica de cards: son
103
+ * dos concerns distintos.
104
+ */
105
+ export function createStores(officeDir, state, options = {}) {
106
+ const evidence = new EvidenceStore(path.join(officeDir, "evidence"), options);
107
+ const cost = new CostStore(path.join(officeDir, "cost.json"));
108
+ log.debug("stores creados", { runId: state.runId });
109
+ return { evidence, cost };
110
+ }
111
+ /** Opciones de evidencia derivadas de un nodo. */
112
+ export function evidenceOptions(recordedBy, requirementIndex, extra = {}) {
113
+ return { recordedBy, requirementIndex, ...extra };
114
+ }
115
+ //# sourceMappingURL=stores.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stores.js","sourceRoot":"","sources":["../../src/core/stores.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Tripwire: deteccion de escrituras que se colaron del guard.
3
+ *
4
+ * ## Por que hace falta
5
+ *
6
+ * El guard de scope prevents que el modelo escriba fuera de su scope. Pero
7
+ * un comando de shell puede escribir en cualquier lado, y no hay forma de
8
+ * saberlo antes de correrlo: `python -c "open('/etc/x','w')"` con el path
9
+ * escondeo entre comillas, o un heredoc, o un `eval`. Un parser de shell
10
+ * siempre tiene huecos.
11
+ *
12
+ * Por eso hay dos capas:
13
+ *
14
+ * - **Prevencion** (el guard): se analiza el comando y se bloquea lo que se
15
+ * puede entender.
16
+ * - **Deteccion** (el tripwire): se foto el estado del arbol antes del
17
+ * comando y se compara despues. Lo que cambio y esta fuera del scope se
18
+ * reporta.
19
+ *
20
+ * ## Lo que promete y lo que no
21
+ *
22
+ * Detecta escrituras **dentro del proyecto**. No detecta escrituras fuera
23
+ * de el: para eso habria que vigilar el filesystem entero, que no es viable
24
+ * desde un plugin. Y reporta, no revierte: revertir una escritura ya
25
+ * hecha requiere backups y puede pisar trabajo legitimo.
26
+ *
27
+ * Por eso el README de las garantias dice exactamente esto, en vez de
28
+ * prometer un aislamiento que no existe.
29
+ */
30
+ export interface TripwireSnapshot {
31
+ /** Path relativo -> "mtime:size". */
32
+ files: Map<string, string>;
33
+ /** Cuantos archivos se miraron (para detectar que el limite corto). */
34
+ scanned: number;
35
+ /** true si se supero el tope y la foto esta incompleta. */
36
+ truncated: boolean;
37
+ }
38
+ export interface TripwireChange {
39
+ path: string;
40
+ kind: "modified" | "created" | "deleted";
41
+ /** El path estaba fuera del scope de la card. */
42
+ outsideScope: boolean;
43
+ }
44
+ export interface TripwireOptions {
45
+ /** Tope de archivos por foto. */
46
+ maxFiles?: number;
47
+ /** Directorios que no se recorren. */
48
+ skipDirs?: string[];
49
+ }
50
+ /**
51
+ * Toma una foto del arbol.
52
+ *
53
+ * Solo mira los archivos que NO estan en el scope: los del scope pueden
54
+ * cambiar todo el tiempo (es lo que hace el agente) y no son una senal.
55
+ */
56
+ export declare function snapshotTree(root: string, scope: string[], options?: TripwireOptions): Promise<TripwireSnapshot>;
57
+ /**
58
+ * Compara dos fotos y devuelve los cambios.
59
+ *
60
+ * `scope` se usa para clasificar: lo que cambio y esta en el scope es
61
+ * esperado; lo que cambio y esta afuera es una violacion.
62
+ */
63
+ export declare function diffSnapshots(before: TripwireSnapshot, after: TripwireSnapshot, scope: string[]): TripwireChange[];
64
+ /**
65
+ * Tripwire: guarda las fotos entre el "antes" y el "después" de una tool.
66
+ *
67
+ * Se indexa por `callID` porque el hook `tool.execute.before` y el
68
+ * `tool.execute.after` reciben el mismo identificador de llamada.
69
+ */
70
+ export declare class Tripwire {
71
+ private readonly root;
72
+ private readonly options;
73
+ private readonly snapshots;
74
+ constructor(root: string, options?: TripwireOptions);
75
+ /** Toma la foto "antes" de una llamada. */
76
+ arm(callID: string, scope: string[]): Promise<void>;
77
+ /**
78
+ * Compara con la foto "después".
79
+ *
80
+ * Devuelve los cambios que estan FUERA del scope: los que estan adentro
81
+ * son el trabajo esperado del agente.
82
+ */
83
+ check(callID: string, scope: string[]): Promise<TripwireChange[]>;
84
+ /** Libera las fotos que nunca se compararon. */
85
+ prune(maxAge?: number): void;
86
+ }
87
+ //# sourceMappingURL=tripwire.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tripwire.d.ts","sourceRoot":"","sources":["../../src/core/tripwire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1B,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAA;IACf,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAA;IACxC,iDAAiD;IACjD,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAmBD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAoE3B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,MAAM,EAAE,GACd,cAAc,EAAE,CAmBlB;AAED;;;;;GAKG;AACH,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;gBAG7C,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,eAAoB;IAGhD,2CAA2C;IACrC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASzD;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAavE,gDAAgD;IAChD,KAAK,CAAC,MAAM,SAAS,GAAG,IAAI;CAQ7B"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Tripwire: deteccion de escrituras que se colaron del guard.
3
+ *
4
+ * ## Por que hace falta
5
+ *
6
+ * El guard de scope prevents que el modelo escriba fuera de su scope. Pero
7
+ * un comando de shell puede escribir en cualquier lado, y no hay forma de
8
+ * saberlo antes de correrlo: `python -c "open('/etc/x','w')"` con el path
9
+ * escondeo entre comillas, o un heredoc, o un `eval`. Un parser de shell
10
+ * siempre tiene huecos.
11
+ *
12
+ * Por eso hay dos capas:
13
+ *
14
+ * - **Prevencion** (el guard): se analiza el comando y se bloquea lo que se
15
+ * puede entender.
16
+ * - **Deteccion** (el tripwire): se foto el estado del arbol antes del
17
+ * comando y se compara despues. Lo que cambio y esta fuera del scope se
18
+ * reporta.
19
+ *
20
+ * ## Lo que promete y lo que no
21
+ *
22
+ * Detecta escrituras **dentro del proyecto**. No detecta escrituras fuera
23
+ * de el: para eso habria que vigilar el filesystem entero, que no es viable
24
+ * desde un plugin. Y reporta, no revierte: revertir una escritura ya
25
+ * hecha requiere backups y puede pisar trabajo legitimo.
26
+ *
27
+ * Por eso el README de las garantias dice exactamente esto, en vez de
28
+ * prometer un aislamiento que no existe.
29
+ */
30
+ import fs from "node:fs/promises";
31
+ import path from "node:path";
32
+ import { isSensitive, matchesScope } from "./sandbox.js";
33
+ /** Directorios que nunca se recorren: ruido puro. */
34
+ const DEFAULT_SKIP = [
35
+ "node_modules",
36
+ ".git",
37
+ ".next",
38
+ "dist",
39
+ "build",
40
+ "coverage",
41
+ ".turbo",
42
+ ".cache",
43
+ "__pycache__",
44
+ ".venv",
45
+ "venv",
46
+ "target",
47
+ ".svelte-kit",
48
+ ];
49
+ /**
50
+ * Toma una foto del arbol.
51
+ *
52
+ * Solo mira los archivos que NO estan en el scope: los del scope pueden
53
+ * cambiar todo el tiempo (es lo que hace el agente) y no son una senal.
54
+ */
55
+ export async function snapshotTree(root, scope, options = {}) {
56
+ const maxFiles = options.maxFiles ?? 4000;
57
+ const skip = new Set(options.skipDirs ?? DEFAULT_SKIP);
58
+ const files = new Map();
59
+ let scanned = 0;
60
+ let truncated = false;
61
+ const walk = async (dir) => {
62
+ if (scanned >= maxFiles) {
63
+ truncated = true;
64
+ return;
65
+ }
66
+ let entries;
67
+ try {
68
+ entries = await fs.readdir(dir, { withFileTypes: true });
69
+ }
70
+ catch {
71
+ return;
72
+ }
73
+ for (const entry of entries) {
74
+ if (scanned >= maxFiles) {
75
+ truncated = true;
76
+ return;
77
+ }
78
+ if (entry.isDirectory()) {
79
+ if (skip.has(entry.name))
80
+ continue;
81
+ if (entry.name.startsWith(".") && entry.name !== ".opencode")
82
+ continue;
83
+ await walk(path.join(dir, entry.name));
84
+ continue;
85
+ }
86
+ if (!entry.isFile())
87
+ continue;
88
+ const full = path.join(dir, entry.name);
89
+ const relative = path.relative(root, full).replace(/\\/g, "/");
90
+ // Los sensibles se miran SIEMPRE, aunque esten en el scope: son los
91
+ // que nunca se pueden tocar, y el tripwire tiene que verlos.
92
+ //
93
+ // (El orden importa: si el chequeo de scope fuera primero, un `.env`
94
+ // que estuviera en el scope nunca se fotografiaría, que es
95
+ // justamente el archivo que más importa vigilar.)
96
+ if (isSensitive(relative)) {
97
+ let stat;
98
+ try {
99
+ stat = await fs.stat(full);
100
+ }
101
+ catch {
102
+ continue;
103
+ }
104
+ files.set(relative, `${stat.mtimeMs}:${stat.size}`);
105
+ scanned += 1;
106
+ continue;
107
+ }
108
+ // Los archivos del scope pueden cambiar: no son senal.
109
+ if (matchesScope(relative, scope))
110
+ continue;
111
+ let stat;
112
+ try {
113
+ stat = await fs.stat(full);
114
+ }
115
+ catch {
116
+ continue;
117
+ }
118
+ files.set(relative, `${stat.mtimeMs}:${stat.size}`);
119
+ scanned += 1;
120
+ }
121
+ };
122
+ await walk(root);
123
+ return { files, scanned, truncated };
124
+ }
125
+ /**
126
+ * Compara dos fotos y devuelve los cambios.
127
+ *
128
+ * `scope` se usa para clasificar: lo que cambio y esta en el scope es
129
+ * esperado; lo que cambio y esta afuera es una violacion.
130
+ */
131
+ export function diffSnapshots(before, after, scope) {
132
+ const changes = [];
133
+ for (const [file, signature] of after.files) {
134
+ const previous = before.files.get(file);
135
+ if (previous === undefined) {
136
+ changes.push({ path: file, kind: "created", outsideScope: !matchesScope(file, scope) });
137
+ }
138
+ else if (previous !== signature) {
139
+ changes.push({ path: file, kind: "modified", outsideScope: !matchesScope(file, scope) });
140
+ }
141
+ }
142
+ for (const file of before.files.keys()) {
143
+ if (!after.files.has(file)) {
144
+ changes.push({ path: file, kind: "deleted", outsideScope: !matchesScope(file, scope) });
145
+ }
146
+ }
147
+ return changes.sort((a, b) => a.path.localeCompare(b.path));
148
+ }
149
+ /**
150
+ * Tripwire: guarda las fotos entre el "antes" y el "después" de una tool.
151
+ *
152
+ * Se indexa por `callID` porque el hook `tool.execute.before` y el
153
+ * `tool.execute.after` reciben el mismo identificador de llamada.
154
+ */
155
+ export class Tripwire {
156
+ root;
157
+ options;
158
+ snapshots = new Map();
159
+ constructor(root, options = {}) {
160
+ this.root = root;
161
+ this.options = options;
162
+ }
163
+ /** Toma la foto "antes" de una llamada. */
164
+ async arm(callID, scope) {
165
+ try {
166
+ this.snapshots.set(callID, await snapshotTree(this.root, scope, this.options));
167
+ }
168
+ catch {
169
+ // Un fallo al fotografiar no debe impedir la operacion: el tripwire
170
+ // es deteccion, no control.
171
+ }
172
+ }
173
+ /**
174
+ * Compara con la foto "después".
175
+ *
176
+ * Devuelve los cambios que estan FUERA del scope: los que estan adentro
177
+ * son el trabajo esperado del agente.
178
+ */
179
+ async check(callID, scope) {
180
+ const before = this.snapshots.get(callID);
181
+ this.snapshots.delete(callID);
182
+ if (!before)
183
+ return [];
184
+ try {
185
+ const after = await snapshotTree(this.root, scope, this.options);
186
+ return diffSnapshots(before, after, scope).filter((c) => c.outsideScope);
187
+ }
188
+ catch {
189
+ return [];
190
+ }
191
+ }
192
+ /** Libera las fotos que nunca se compararon. */
193
+ prune(maxAge = 60_000) {
194
+ // El mapa se limpia solo en `check`. Este metodo existe para que el
195
+ // llamador pueda limitar el tamaño en corridas largas.
196
+ if (this.snapshots.size > 200) {
197
+ const claves = [...this.snapshots.keys()].slice(0, 100);
198
+ for (const clave of claves)
199
+ this.snapshots.delete(clave);
200
+ }
201
+ }
202
+ }
203
+ //# sourceMappingURL=tripwire.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tripwire.js","sourceRoot":"","sources":["../../src/core/tripwire.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,14 @@ export interface Limits {
43
43
  minCatalogCoverage: number;
44
44
  /** Invariante duro: sin gates en PASS no hay DONE. */
45
45
  gateRequiredBeforeDone: boolean;
46
+ /**
47
+ * Invariante duro: sin evidencia de los requisitos obligatorios no hay
48
+ * DONE.
49
+ *
50
+ * Los gates verifican que el codigo este sano. Esto verifica que el
51
+ * objetivo este cumplido. Son preguntas distintas y hacen falta las dos.
52
+ */
53
+ evidenceRequiredBeforeDone: boolean;
46
54
  /** Invariante duro: el revisor nunca es el owner. */
47
55
  reviewerNeqOwner: boolean;
48
56
  }
@@ -191,7 +199,16 @@ export interface Roster {
191
199
  agents: Record<string, RosterEntry>;
192
200
  updatedAt: string;
193
201
  }
194
- export type GatePhase = "build" | "typecheck" | "lint" | "test" | "secrecy" | "diff";
202
+ export type GatePhase = "build" | "typecheck" | "lint" | "test" | "secrecy" | "diff"
203
+ /**
204
+ * Verificacion por requisitos.
205
+ *
206
+ * Los otros cinco fases dicen "el codigo esta sano". Esta dice "el
207
+ * objetivo del usuario esta cumplido". Son cosas distintas: un proyecto
208
+ * puede compilar, pasar todos sus tests y tener la autenticacion mal
209
+ * porque ningun test contemplaba ese escenario.
210
+ */
211
+ | "verify";
195
212
  export type GateOutcome = "pass" | "fail" | "na" | "not_run";
196
213
  export interface GatePhaseResult {
197
214
  phase: GatePhase;
@@ -208,8 +225,11 @@ export interface GateResult {
208
225
  cardId: string;
209
226
  technical: GatePhaseResult[];
210
227
  security: GatePhaseResult[];
228
+ /** Verificacion por requisitos: cada criterio de aceptación con evidencia. */
229
+ requirements: GatePhaseResult[];
211
230
  technicalOutcome: GateOutcome;
212
231
  securityOutcome: GateOutcome;
232
+ requirementsOutcome: GateOutcome;
213
233
  passed: boolean;
214
234
  ranAt: string;
215
235
  }
@@ -221,6 +241,18 @@ export interface OfficeState {
221
241
  createdAt: string;
222
242
  updatedAt: string;
223
243
  status: RunStatus;
244
+ /**
245
+ * Freno de emergencia.
246
+ *
247
+ * Cuando se activa, la oficina deja de avanzar: el hook de auto-continuacion
248
+ * no reanuda, el dispatcher no despacha y las tools de trabajo se niegan.
249
+ * Es el freno que impide que una corrida se queme sola en tokens.
250
+ */
251
+ halt: {
252
+ reason: string;
253
+ at: string;
254
+ by: string;
255
+ } | null;
224
256
  /** Cards del plan, indexadas por id. */
225
257
  cards: Record<string, Card>;
226
258
  /** Orden de ejecución. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}