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.
- package/README.md +164 -14
- package/dist/core/atomic.d.ts +85 -0
- package/dist/core/atomic.d.ts.map +1 -0
- package/dist/core/atomic.js +186 -0
- package/dist/core/atomic.js.map +1 -0
- package/dist/core/bus.d.ts +76 -56
- package/dist/core/bus.d.ts.map +1 -1
- package/dist/core/bus.js +141 -100
- package/dist/core/bus.js.map +1 -1
- package/dist/core/catalog.d.ts +27 -0
- package/dist/core/catalog.d.ts.map +1 -1
- package/dist/core/catalog.js +41 -6
- package/dist/core/catalog.js.map +1 -1
- package/dist/core/cost.d.ts +275 -0
- package/dist/core/cost.d.ts.map +1 -0
- package/dist/core/cost.js +724 -0
- package/dist/core/cost.js.map +1 -0
- package/dist/core/docsync.d.ts +124 -0
- package/dist/core/docsync.d.ts.map +1 -0
- package/dist/core/docsync.js +191 -0
- package/dist/core/docsync.js.map +1 -0
- package/dist/core/evidence.d.ts +314 -0
- package/dist/core/evidence.d.ts.map +1 -0
- package/dist/core/evidence.js +602 -0
- package/dist/core/evidence.js.map +1 -0
- package/dist/core/fsx.d.ts.map +1 -1
- package/dist/core/fsx.js +7 -1
- package/dist/core/fsx.js.map +1 -1
- package/dist/core/gates.d.ts +9 -2
- package/dist/core/gates.d.ts.map +1 -1
- package/dist/core/gates.js +19 -3
- package/dist/core/gates.js.map +1 -1
- package/dist/core/ids.d.ts +48 -0
- package/dist/core/ids.d.ts.map +1 -0
- package/dist/core/ids.js +87 -0
- package/dist/core/ids.js.map +1 -0
- package/dist/core/leases.d.ts +45 -0
- package/dist/core/leases.d.ts.map +1 -1
- package/dist/core/leases.js +85 -17
- package/dist/core/leases.js.map +1 -1
- package/dist/core/office.d.ts +72 -1
- package/dist/core/office.d.ts.map +1 -1
- package/dist/core/office.js +173 -6
- package/dist/core/office.js.map +1 -1
- package/dist/core/paths.d.ts +11 -1
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +28 -4
- package/dist/core/paths.js.map +1 -1
- package/dist/core/recovery.d.ts +87 -0
- package/dist/core/recovery.d.ts.map +1 -0
- package/dist/core/recovery.js +325 -0
- package/dist/core/recovery.js.map +1 -0
- package/dist/core/sandbox.d.ts +179 -0
- package/dist/core/sandbox.d.ts.map +1 -0
- package/dist/core/sandbox.js +546 -0
- package/dist/core/sandbox.js.map +1 -0
- package/dist/core/state.d.ts +7 -0
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +15 -1
- package/dist/core/state.js.map +1 -1
- package/dist/core/stores.d.ts +65 -0
- package/dist/core/stores.d.ts.map +1 -0
- package/dist/core/stores.js +115 -0
- package/dist/core/stores.js.map +1 -0
- package/dist/core/tripwire.d.ts +87 -0
- package/dist/core/tripwire.d.ts.map +1 -0
- package/dist/core/tripwire.js +203 -0
- package/dist/core/tripwire.js.map +1 -0
- package/dist/core/types.d.ts +33 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +1 -0
- package/dist/core/types.js.map +1 -1
- package/dist/hooks/scopeGuard.d.ts +86 -13
- package/dist/hooks/scopeGuard.d.ts.map +1 -1
- package/dist/hooks/scopeGuard.js +296 -62
- package/dist/hooks/scopeGuard.js.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +185 -2
- package/dist/index.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +158 -0
- package/dist/tools/index.js.map +1 -1
- package/docs/COMPATIBILITY.md +98 -0
- package/docs/GARANTIAS.md +190 -0
- package/docs/PLAN-V2.1.md +144 -0
- package/docs/QUE-ES.md +15 -0
- package/docs/catalog-facts.json +27 -0
- package/package.json +6 -2
package/dist/core/state.js.map
CHANGED
|
@@ -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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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -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. */
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;;;;GAOG;AACH,MAAM,WAAW,MAAM;IACrB,uDAAuD;IACvD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,CAAA;IACxB,uCAAuC;IACvC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,2CAA2C;IAC3C,mBAAmB,EAAE,MAAM,CAAA;IAC3B,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,CAAA;IAC1B,sDAAsD;IACtD,sBAAsB,EAAE,OAAO,CAAA;IAC/B,qDAAqD;IACrD,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;;;;GAOG;AACH,MAAM,WAAW,MAAM;IACrB,uDAAuD;IACvD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,CAAA;IACxB,uCAAuC;IACvC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,2CAA2C;IAC3C,mBAAmB,EAAE,MAAM,CAAA;IAC3B,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,CAAA;IAC1B,sDAAsD;IACtD,sBAAsB,EAAE,OAAO,CAAA;IAC/B;;;;;;OAMG;IACH,0BAA0B,EAAE,OAAO,CAAA;IACnC,qDAAqD;IACrD,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,cAAc,EAAE,MAgB5B,CAAA;AAMD,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,SAAS,GACT,gBAAgB,GAChB,SAAS,GACT,SAAS,CAAA;AAEb,yEAAyE;AACzE,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,SAAS,GACT,WAAW,CAAA;AAEf,wDAAwD;AACxD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAA;AAE3D,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAA;AAMpE,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,SAAS,CAAA;AAEzD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAA;IACrB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAA;IACV,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,WAAW,CAAA;IACnB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,SAAS,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;IACD,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,gEAAgE;IAChE,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,wCAAwC;IACxC,QAAQ,EAAE,WAAW,GAAG,QAAQ,CAAA;IAChC,gCAAgC;IAChC,UAAU,EAAE,aAAa,CAAA;CAC1B;AAMD,MAAM,MAAM,QAAQ,GAChB,aAAa,GACb,QAAQ,GACR,gBAAgB,GAChB,QAAQ,GACR,UAAU,GACV,SAAS,GACT,MAAM,GACN,UAAU,GACV,OAAO,CAAA;AAEX,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,EAAE,SAAS,CAAA;IAChB,wCAAwC;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,SAAS,EAAE,MAAM,EAAE,CAAA;KACpB,CAAA;IACD,4CAA4C;IAC5C,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,kDAAkD;IAClD,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAA;CACjB;AAMD,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,aAAa,GACb,cAAc,GACd,cAAc,GACd,eAAe,GACf,UAAU,GACV,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,OAAO,GACP,SAAS,GACT,QAAQ,GACR,QAAQ,CAAA;AAEZ,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AAEpE,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,mDAAmD;IACnD,EAAE,EAAE,MAAM,EAAE,CAAA;IACZ,IAAI,EAAE,WAAW,CAAA;IACjB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,eAAe,CAAA;IACzB,2DAA2D;IAC3D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAMD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,UAAU,CAAA;IACjB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnC,SAAS,EAAE,MAAM,CAAA;CAClB;AAMD,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,WAAW,GACX,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM;AACR;;;;;;;GAOG;GACD,QAAQ,CAAA;AAEZ,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAE5D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,eAAe,EAAE,CAAA;IAC5B,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,8EAA8E;IAC9E,YAAY,EAAE,eAAe,EAAE,CAAA;IAC/B,gBAAgB,EAAE,WAAW,CAAA;IAC7B,eAAe,EAAE,WAAW,CAAA;IAC5B,mBAAmB,EAAE,WAAW,CAAA;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAMD,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,SAAS,GACT,QAAQ,GACR,WAAW,GACX,SAAS,GACT,WAAW,GACX,WAAW,CAAA;AAEf,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,CAAA;IACjB;;;;;;OAMG;IACH,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,EAAE,EAAE,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;KACX,GAAG,IAAI,CAAA;IACR,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC3B,0BAA0B;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,cAAc,EAAE,MAAM,CAAA;QACtB,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,cAAc,EAAE,MAAM,CAAA;KACvB,CAAA;IACD,8BAA8B;IAC9B,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B,+BAA+B;IAC/B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,6CAA6C;IAC7C,OAAO,EAAE,aAAa,CAAA;IACtB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,uCAAuC;IACvC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;IAC9F,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAClD,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAMD,MAAM,WAAW,YAAY;IAC3B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,oEAAoE;IACpE,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,iCAAiC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,CAAA;IACnB,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB"}
|