oficina-opencode 3.0.4 → 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.
Files changed (92) hide show
  1. package/README.md +240 -208
  2. package/dist/cli.js +124 -26
  3. package/dist/cli.js.map +1 -1
  4. package/dist/core/bus.js +3 -3
  5. package/dist/core/bus.js.map +1 -1
  6. package/dist/core/catalog.d.ts +9 -1
  7. package/dist/core/catalog.d.ts.map +1 -1
  8. package/dist/core/catalog.js +77 -2
  9. package/dist/core/catalog.js.map +1 -1
  10. package/dist/core/dispatch.d.ts +1 -1
  11. package/dist/core/dispatch.d.ts.map +1 -1
  12. package/dist/core/dispatch.js +73 -12
  13. package/dist/core/dispatch.js.map +1 -1
  14. package/dist/core/docsync.d.ts +0 -9
  15. package/dist/core/docsync.d.ts.map +1 -1
  16. package/dist/core/docsync.js +12 -15
  17. package/dist/core/docsync.js.map +1 -1
  18. package/dist/core/factory.d.ts +16 -0
  19. package/dist/core/factory.d.ts.map +1 -1
  20. package/dist/core/factory.js +143 -0
  21. package/dist/core/factory.js.map +1 -1
  22. package/dist/core/fsx.d.ts +20 -2
  23. package/dist/core/fsx.d.ts.map +1 -1
  24. package/dist/core/fsx.js +10 -6
  25. package/dist/core/fsx.js.map +1 -1
  26. package/dist/core/gates.d.ts +23 -1
  27. package/dist/core/gates.d.ts.map +1 -1
  28. package/dist/core/gates.js +83 -8
  29. package/dist/core/gates.js.map +1 -1
  30. package/dist/core/leases.d.ts.map +1 -1
  31. package/dist/core/leases.js +4 -1
  32. package/dist/core/leases.js.map +1 -1
  33. package/dist/core/mesa.d.ts +1 -6
  34. package/dist/core/mesa.d.ts.map +1 -1
  35. package/dist/core/mesa.js +1 -6
  36. package/dist/core/mesa.js.map +1 -1
  37. package/dist/core/office.d.ts +3 -29
  38. package/dist/core/office.d.ts.map +1 -1
  39. package/dist/core/office.js +77 -90
  40. package/dist/core/office.js.map +1 -1
  41. package/dist/core/paths.d.ts.map +1 -1
  42. package/dist/core/paths.js +6 -1
  43. package/dist/core/paths.js.map +1 -1
  44. package/dist/core/retry.d.ts +2 -8
  45. package/dist/core/retry.d.ts.map +1 -1
  46. package/dist/core/retry.js +3 -34
  47. package/dist/core/retry.js.map +1 -1
  48. package/dist/core/roster.js +3 -3
  49. package/dist/core/roster.js.map +1 -1
  50. package/dist/core/sandbox.d.ts +38 -1
  51. package/dist/core/sandbox.d.ts.map +1 -1
  52. package/dist/core/sandbox.js +119 -15
  53. package/dist/core/sandbox.js.map +1 -1
  54. package/dist/core/state.d.ts +2 -2
  55. package/dist/core/state.d.ts.map +1 -1
  56. package/dist/core/state.js +5 -33
  57. package/dist/core/state.js.map +1 -1
  58. package/dist/core/stores.d.ts +3 -13
  59. package/dist/core/stores.d.ts.map +1 -1
  60. package/dist/core/stores.js +8 -32
  61. package/dist/core/stores.js.map +1 -1
  62. package/dist/core/systemPrompt.js +1 -1
  63. package/dist/core/systemPrompt.js.map +1 -1
  64. package/dist/core/tripwire.d.ts +22 -8
  65. package/dist/core/tripwire.d.ts.map +1 -1
  66. package/dist/core/tripwire.js +71 -26
  67. package/dist/core/tripwire.js.map +1 -1
  68. package/dist/core/types.d.ts +6 -14
  69. package/dist/core/types.d.ts.map +1 -1
  70. package/dist/core/types.js +11 -3
  71. package/dist/core/types.js.map +1 -1
  72. package/dist/hooks/scopeGuard.d.ts +15 -1
  73. package/dist/hooks/scopeGuard.d.ts.map +1 -1
  74. package/dist/hooks/scopeGuard.js +88 -73
  75. package/dist/hooks/scopeGuard.js.map +1 -1
  76. package/dist/tools/index.d.ts.map +1 -1
  77. package/dist/tools/index.js +3 -59
  78. package/dist/tools/index.js.map +1 -1
  79. package/dist/v1.d.ts.map +1 -1
  80. package/dist/v1.js +30 -36
  81. package/dist/v1.js.map +1 -1
  82. package/dist/v2.d.ts.map +1 -1
  83. package/dist/v2.js +22 -41
  84. package/dist/v2.js.map +1 -1
  85. package/docs/GARANTIAS.md +2 -2
  86. package/docs/PRUEBA-E2E.md +479 -0
  87. package/docs/QUE-ES.md +4 -5
  88. package/docs/SEGURIDAD-REPO.md +83 -0
  89. package/docs/assets/banner.svg +42 -0
  90. package/docs/catalog-facts.json +3 -3
  91. package/docs/superpowers/specs/2026-10-29-factory-skill-creator-and-remove-budget.md +182 -0
  92. package/package.json +11 -6
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/core/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/core/paths.ts"],"names":[],"mappings":"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"}
@@ -27,14 +27,8 @@ export declare function decideRetry(card: Card, limits?: Limits): RetryDecision;
27
27
  export declare function recordRejection(card: Card, reason: string): Card;
28
28
  /** Registra una aprobación. */
29
29
  export declare function recordApproval(card: Card, note: string): Card;
30
- /** Suma el presupuesto de llamadas a subagentes. */
31
- export declare function consumeAgentCall(state: OfficeState, calls?: number): void;
32
- /** Suma el presupuesto de cards. */
33
- export declare function consumeCard(state: OfficeState): void;
34
- /** Suma el presupuesto de spawns. */
35
- export declare function consumeSpawn(state: OfficeState): void;
36
- /** ¿Queda presupuesto? */
37
- export declare function hasBudget(state: OfficeState, limits: Limits): {
30
+ /** ¿Queda presupuesto? (siempre true tras eliminación del sistema de presupuesto) */
31
+ export declare function hasBudget(_state: OfficeState, _limits: Limits): {
38
32
  ok: boolean;
39
33
  reason: string;
40
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/core/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAG3D,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;AAEtE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAA;IACnB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,MAAqB,GAAG,aAAa,CAwBpF;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhE;AAED,+BAA+B;AAC/B,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG7D;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,SAAI,GAAG,IAAI,CAGpE;AAED,oCAAoC;AACpC,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAGpD;AAED,qCAAqC;AACrC,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAGrD;AAED,0BAA0B;AAC1B,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAiB7F"}
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/core/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAG3D,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;AAEtE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAA;IACnB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB,gCAAgC;IAChC,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,MAAqB,GAAG,aAAa,CAwBpF;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhE;AAED,+BAA+B;AAC/B,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG7D;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAE/F"}
@@ -11,7 +11,6 @@
11
11
  * se rota)
12
12
  * rechazo 3 → ESCALATE (al usuario, con opciones concretas)
13
13
  */
14
- import { nowIso } from "./fsx.js";
15
14
  /** Calcula la próxima acción dado el estado de rechazo de una card. */
16
15
  export function decideRetry(card, limits = {}) {
17
16
  const max = limits.maxReviewRejections ?? 3;
@@ -49,38 +48,8 @@ export function recordApproval(card, note) {
49
48
  card.result = `APROBADO: ${note}`;
50
49
  return card;
51
50
  }
52
- /** Suma el presupuesto de llamadas a subagentes. */
53
- export function consumeAgentCall(state, calls = 1) {
54
- state.budget.agentCallsUsed += calls;
55
- state.updatedAt = nowIso();
56
- }
57
- /** Suma el presupuesto de cards. */
58
- export function consumeCard(state) {
59
- state.budget.cardsUsed += 1;
60
- state.updatedAt = nowIso();
61
- }
62
- /** Suma el presupuesto de spawns. */
63
- export function consumeSpawn(state) {
64
- state.budget.spawnsUsed += 1;
65
- state.updatedAt = nowIso();
66
- }
67
- /** ¿Queda presupuesto? */
68
- export function hasBudget(state, limits) {
69
- if (state.budget.cardsUsed >= state.budget.maxCards) {
70
- return { ok: false, reason: `presupuesto de cards agotado (${state.budget.cardsUsed}/${state.budget.maxCards})` };
71
- }
72
- if (state.budget.agentCallsUsed >= state.budget.maxAgentCalls) {
73
- return {
74
- ok: false,
75
- reason: `presupuesto de invocaciones agotado (${state.budget.agentCallsUsed}/${state.budget.maxAgentCalls})`,
76
- };
77
- }
78
- if (state.budget.spawnsUsed >= state.budget.maxSpawnsTotal) {
79
- return {
80
- ok: false,
81
- reason: `presupuesto de spawns agotado (${state.budget.spawnsUsed}/${state.budget.maxSpawnsTotal})`,
82
- };
83
- }
84
- return { ok: true, reason: "presupuesto disponible" };
51
+ /** ¿Queda presupuesto? (siempre true tras eliminación del sistema de presupuesto) */
52
+ export function hasBudget(_state, _limits) {
53
+ return { ok: true, reason: "sin límites de presupuesto" };
85
54
  }
86
55
  //# sourceMappingURL=retry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/core/retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/core/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH,uEAAuE;AACvE,MAAM,UAAU,WAAW,CAAC,IAAU,EAAE,SAAiB,EAAY;IACnE,MAAM,GAAG,GAAG,MAAM,CAAC,mBAAmB,IAAI,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IAElC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAA;IACnG,CAAC;IACD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,UAAU,IAAI,CAAC,CAAA;QAC9B,OAAO;YACL,MAAM,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YAC9C,WAAW,EAAE,MAAM;gBACjB,CAAC,CAAC,wIAAwI;gBAC1I,CAAC,CAAC,kFAAkF;YACtF,WAAW,EAAE,MAAM;YACnB,MAAM,EAAE,GAAG,UAAU,OAAO,GAAG,WAAW;SAC3C,CAAA;IACH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,GAAG,UAAU,mCAAmC,GAAG,EAAE;KAC9D,CAAA;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,eAAe,CAAC,IAAU,EAAE,MAAc;IACxD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAA;IACpB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAA;IAClB,IAAI,CAAC,MAAM,GAAG,cAAc,IAAI,CAAC,UAAU,MAAM,MAAM,EAAE,CAAA;IACzD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,IAAY;IACrD,IAAI,CAAC,MAAM,GAAG,aAAa,IAAI,EAAE,CAAA;IACjC,OAAO,IAAI,CAAA;AACb,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,SAAS,CAAC,MAAmB,EAAE,OAAe;IAC5D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAA;AAC3D,CAAC"}
@@ -14,9 +14,9 @@ export class RosterStore {
14
14
  }
15
15
  /** Lee el roster. Si no existe, uno vacío. */
16
16
  async load(runId) {
17
- const existing = await readJson(this.rosterPath);
18
- if (existing)
19
- return existing;
17
+ const result = await readJson(this.rosterPath);
18
+ if (result.ok)
19
+ return result.value;
20
20
  return {
21
21
  version: 2,
22
22
  runId,
@@ -1 +1 @@
1
- {"version":3,"file":"roster.js","sourceRoot":"","sources":["../../src/core/roster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roster.js","sourceRoot":"","sources":["../../src/core/roster.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,33 @@
36
36
  * técnica: se analiza el comando antes de ejecutarlo y se instalan
37
37
  * *tripwires* después. Ver `analyzeShellCommand` y el modulo de deteccion.
38
38
  */
39
+ /**
40
+ * Canoniza una ruta para contención LÉXICA (sin seguir symlinks).
41
+ *
42
+ * Algoritmo:
43
+ * 1. path.resolve para obtener la ruta absoluta
44
+ * 2. Caminar hacia arriba hasta encontrar el ancestro existente más profundo (lstat, NO realpath)
45
+ * 3. fs.realpath sobre el PADRE de ese ancestro (en Windows expande 8.3 automáticamente)
46
+ * Esto evita seguir symlinks en el componente final mientras expande 8.3.
47
+ * 4. Re-enganchar el componente encontrado + cola de componentes inexistentes
48
+ *
49
+ * Para contención LÉXICA: NO sigue symlinks en la cola, usa lstat para verificar existencia.
50
+ * Usada para insideLexically y lexicalRelative.
51
+ */
52
+ export declare function canonicalizeLexical(target: string): Promise<string>;
53
+ /**
54
+ * Canoniza una ruta para contención FÍSICA (siguiendo symlinks).
55
+ *
56
+ * Algoritmo:
57
+ * 1. path.resolve para obtener la ruta absoluta
58
+ * 2. Caminar hacia arriba hasta encontrar el ancestro existente más profundo
59
+ * 3. fs.realpath sobre ese ancestro (sigue symlinks, expande 8.3 en Windows)
60
+ * 4. Re-enganchar la cola de componentes inexistentes
61
+ *
62
+ * Para contención FÍSICA: sigue symlinks, usa realpath.
63
+ * Usada para insidePhysically y relative.
64
+ */
65
+ export declare function canonicalizePhysical(target: string): Promise<string>;
39
66
  /**
40
67
  * Glob mínimo a regex. Soporta `*`, `**` y `?`.
41
68
  *
@@ -85,8 +112,18 @@ export interface ResolvedTarget {
85
112
  *
86
113
  * Devuelve toda la información que `checkScope` necesita para decidir, y
87
114
  * no decide: la decision vive en un solo lugar.
115
+ *
116
+ * IMPORTANTE:
117
+ * - Root y target se canonizan con la MISMA función `canonicalizeLexical`
118
+ * para todas las decisiones de contención (insideLexically, insidePhysically).
119
+ * - La contención léxica y física usan paths canonizados de la misma forma.
120
+ * - Para detectar symlinks, usamos el path lexicográfico sin canonizar y lo pasamos a findSymlinks.
121
+ *
122
+ * Si se proporciona `preNormalizedRoot`, se usa directamente (evita canonizar dos veces).
88
123
  */
89
- export declare function resolveTarget(root: string, rawPath: string): Promise<ResolvedTarget>;
124
+ export declare function resolveTarget(root: string, rawPath: string, preNormalizedRoot?: string): Promise<ResolvedTarget & {
125
+ projectRoot: string;
126
+ }>;
90
127
  /**
91
128
  * Archivos que NUNCA se pueden escribir, pase lo que pase.
92
129
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,86 @@
38
38
  */
39
39
  import fs from "node:fs/promises";
40
40
  import path from "node:path";
41
+ /* ────────────────────────────────────────────────────────────────────────────
42
+ * Normalización canónica para contención (Windows 8.3-safe)
43
+ * ──────────────────────────────────────────────────────────────────────────── */
44
+ /**
45
+ * Canoniza una ruta para contención LÉXICA (sin seguir symlinks).
46
+ *
47
+ * Algoritmo:
48
+ * 1. path.resolve para obtener la ruta absoluta
49
+ * 2. Caminar hacia arriba hasta encontrar el ancestro existente más profundo (lstat, NO realpath)
50
+ * 3. fs.realpath sobre el PADRE de ese ancestro (en Windows expande 8.3 automáticamente)
51
+ * Esto evita seguir symlinks en el componente final mientras expande 8.3.
52
+ * 4. Re-enganchar el componente encontrado + cola de componentes inexistentes
53
+ *
54
+ * Para contención LÉXICA: NO sigue symlinks en la cola, usa lstat para verificar existencia.
55
+ * Usada para insideLexically y lexicalRelative.
56
+ */
57
+ export async function canonicalizeLexical(target) {
58
+ let current = path.resolve(target);
59
+ const tail = [];
60
+ for (;;) {
61
+ try {
62
+ // lstat NO sigue symlinks - solo verifica existencia
63
+ await fs.lstat(current);
64
+ break;
65
+ }
66
+ catch (err) {
67
+ const code = err.code;
68
+ if (code !== "ENOENT" && code !== "ENOTDIR") {
69
+ throw err;
70
+ }
71
+ const parent = path.dirname(current);
72
+ if (parent === current) {
73
+ throw new Error(`Cannot canonicalize path: no existing ancestor for ${target}`);
74
+ }
75
+ tail.unshift(path.basename(current));
76
+ current = parent;
77
+ }
78
+ }
79
+ // current es el ancestro existente más profundo (sin seguir symlinks)
80
+ // Usar realpath del PADRE para expandir 8.3 aliases sin seguir symlinks en current
81
+ const parent = path.dirname(current);
82
+ const realParent = await fs.realpath(parent);
83
+ const baseName = path.basename(current);
84
+ const real = path.join(realParent, baseName);
85
+ return tail.length > 0 ? path.join(real, ...tail) : real;
86
+ }
87
+ /**
88
+ * Canoniza una ruta para contención FÍSICA (siguiendo symlinks).
89
+ *
90
+ * Algoritmo:
91
+ * 1. path.resolve para obtener la ruta absoluta
92
+ * 2. Caminar hacia arriba hasta encontrar el ancestro existente más profundo
93
+ * 3. fs.realpath sobre ese ancestro (sigue symlinks, expande 8.3 en Windows)
94
+ * 4. Re-enganchar la cola de componentes inexistentes
95
+ *
96
+ * Para contención FÍSICA: sigue symlinks, usa realpath.
97
+ * Usada para insidePhysically y relative.
98
+ */
99
+ export async function canonicalizePhysical(target) {
100
+ let current = path.resolve(target);
101
+ const tail = [];
102
+ for (;;) {
103
+ try {
104
+ const real = await fs.realpath(current);
105
+ return tail.length > 0 ? path.join(real, ...tail) : real;
106
+ }
107
+ catch (err) {
108
+ const code = err.code;
109
+ if (code !== "ENOENT" && code !== "ENOTDIR") {
110
+ throw err;
111
+ }
112
+ const parent = path.dirname(current);
113
+ if (parent === current) {
114
+ throw new Error(`Cannot canonicalize path: no existing ancestor for ${target}`);
115
+ }
116
+ tail.unshift(path.basename(current));
117
+ current = parent;
118
+ }
119
+ }
120
+ }
41
121
  /* ────────────────────────────────────────────────────────────────────────────
42
122
  * Glob a regex
43
123
  * ──────────────────────────────────────────────────────────────────────────── */
@@ -139,16 +219,15 @@ async function realpathBestEffort(target) {
139
219
  *
140
220
  * Un symlink que apunta fuera del root es un escape, se detecte o no el
141
221
  * archivo final.
222
+ *
223
+ * Recibe `root` ya canonizado y `absolute` path léxico (sin canonizar).
142
224
  */
143
225
  async function findSymlinks(root, absolute) {
144
226
  const symlinks = [];
145
227
  let escapes = false;
146
- if (!isInsideRoot(root, absolute)) {
147
- return { symlinks, escapes: true };
148
- }
149
- const rel = path.relative(path.resolve(root), absolute);
228
+ const rel = path.relative(root, absolute);
150
229
  const parts = rel.split(path.sep).filter((p) => p.length > 0);
151
- let current = path.resolve(root);
230
+ let current = root;
152
231
  for (const part of parts) {
153
232
  current = path.join(current, part);
154
233
  let stat;
@@ -183,23 +262,44 @@ async function findSymlinks(root, absolute) {
183
262
  *
184
263
  * Devuelve toda la información que `checkScope` necesita para decidir, y
185
264
  * no decide: la decision vive en un solo lugar.
265
+ *
266
+ * IMPORTANTE:
267
+ * - Root y target se canonizan con la MISMA función `canonicalizeLexical`
268
+ * para todas las decisiones de contención (insideLexically, insidePhysically).
269
+ * - La contención léxica y física usan paths canonizados de la misma forma.
270
+ * - Para detectar symlinks, usamos el path lexicográfico sin canonizar y lo pasamos a findSymlinks.
271
+ *
272
+ * Si se proporciona `preNormalizedRoot`, se usa directamente (evita canonizar dos veces).
186
273
  */
187
- export async function resolveTarget(root, rawPath) {
188
- const projectRoot = path.resolve(root);
189
- const absolute = path.resolve(projectRoot, rawPath);
190
- const { resolved, exists } = await realpathBestEffort(absolute);
191
- const { symlinks, escapes } = await findSymlinks(projectRoot, absolute);
192
- const insideLexically = isInsideRoot(projectRoot, absolute);
274
+ export async function resolveTarget(root, rawPath, preNormalizedRoot) {
275
+ // Canonizar el root con la función canónica ÚNICA
276
+ const projectRoot = preNormalizedRoot ?? await canonicalizeLexical(root);
277
+ // Path absoluto léxico (sin canonizar) para detección de symlinks
278
+ const isAbsoluteInput = path.isAbsolute(rawPath);
279
+ const absoluteLexical = isAbsoluteInput
280
+ ? path.resolve(rawPath)
281
+ : path.join(projectRoot, rawPath);
282
+ // Canonizar target con la MISMA función que el root para contención
283
+ const targetCanonical = isAbsoluteInput
284
+ ? await canonicalizeLexical(rawPath)
285
+ : await canonicalizeLexical(path.join(projectRoot, rawPath));
286
+ // Para verificación física: resolver symlinks del target canonizado
287
+ const { resolved, exists } = await realpathBestEffort(targetCanonical);
288
+ // Detección de symlinks: walk léxico sin canonizar
289
+ const { symlinks, escapes } = await findSymlinks(projectRoot, absoluteLexical);
290
+ // Contención: AMBOS usan paths canonizados con la MISMA función
291
+ const insideLexically = isInsideRoot(projectRoot, targetCanonical);
193
292
  const insidePhysically = insideLexically && !escapes && isInsideRoot(projectRoot, resolved);
194
293
  return {
195
- absolute,
294
+ absolute: targetCanonical,
196
295
  resolved,
197
296
  relative: toPosix(path.relative(projectRoot, resolved)),
198
- lexicalRelative: toPosix(path.relative(projectRoot, absolute)),
297
+ lexicalRelative: toPosix(path.relative(projectRoot, targetCanonical)),
199
298
  symlinks,
200
299
  exists,
201
300
  insideLexically,
202
301
  insidePhysically,
302
+ projectRoot,
203
303
  };
204
304
  }
205
305
  /* ────────────────────────────────────────────────────────────────────────────
@@ -282,14 +382,18 @@ export const OFFICE_WRITABLE = [
282
382
  * mas específica posible.
283
383
  */
284
384
  export async function checkScope(root, rawPath, policy, options = {}) {
285
- const projectRoot = path.resolve(root);
385
+ // Canonizar root UNA VEZ léxicamente. Esta es la única fuente de verdad.
286
386
  if (typeof rawPath !== "string" || rawPath.length === 0) {
387
+ const projectRoot = await canonicalizeLexical(root);
287
388
  return deny("invalid", "Ruta vacía.", projectRoot, "");
288
389
  }
289
390
  if (rawPath.includes("\0")) {
391
+ const projectRoot = await canonicalizeLexical(root);
290
392
  return deny("invalid", "La ruta contiene un byte NUL.", projectRoot, "");
291
393
  }
292
- const target = await resolveTarget(projectRoot, rawPath);
394
+ // Canonizar root léxicamente, luego resolver target con el root ya canonizado
395
+ const projectRoot = await canonicalizeLexical(root);
396
+ const target = await resolveTarget(root, rawPath, projectRoot);
293
397
  // 1. Fuera del proyecto (por `..` o por path absoluto).
294
398
  if (!target.insideLexically) {
295
399
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"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"}
@@ -60,8 +60,8 @@ export declare function assertInvariants(ctx: InvariantContext): void;
60
60
  * Migra un estado v1 (el que escribía el skill de OFICINA v1) al schema v2.
61
61
  *
62
62
  * Sin esto, una corrida empezada con el skill queda ilegible para el
63
- * plugin: los budgets vienen con nombres distintos, el `scope` era un array
64
- * en vez de un objeto, y las cards no tienen los campos de malla.
63
+ * plugin: el `scope` era un array en vez de un objeto, y las cards no tienen
64
+ * los campos de malla.
65
65
  *
66
66
  * La migración es aditiva y no destructiva: el objetivo, las cards y sus
67
67
  * resultados se conservan. Lo que se completa son los campos nuevos con
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AAGxD,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAWpE,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,oBAAoB,EAAE,SAAS,SAAS,EAAa,CAAA;AAElE,+CAA+C;AAC/C,eAAO,MAAM,oBAAoB,EAAE,SAAS,SAAS,EAA6B,CAAA;AAElF,qBAAa,sBAAuB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM;gBAFV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM;CAKtB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAE9C,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM;gBADd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM;CAK1B;AAED,qCAAqC;AACrC,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,SAAS,EACb,KAAK,GAAE,OAAO,CAAC,IAAI,CAAM,GACxB,IAAI,CAUN;AAMD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CA8E5D;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAuB,GAAG,WAAW,GAAG,SAAS,CAkFnG;AAED,8BAA8B;AAC9B,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAuB,GAAG,WAAW,CA2BxG;AAED,kCAAkC;AAClC,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAQnE,CAAA;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAExE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAMrE;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CA2CjE;AAED,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAGzD;AAED,oCAAoC;AACpC,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,CAExD"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,YAAY,CAAA;AAGxD,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAWpE,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,oBAAoB,EAAE,SAAS,SAAS,EAAa,CAAA;AAElE,+CAA+C;AAC/C,eAAO,MAAM,oBAAoB,EAAE,SAAS,SAAS,EAA6B,CAAA;AAElF,qBAAa,sBAAuB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM;gBAFV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM;CAKtB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAE9C,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM;gBADd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM;CAK1B;AAED,qCAAqC;AACrC,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,SAAS,EACb,KAAK,GAAE,OAAO,CAAC,IAAI,CAAM,GACxB,IAAI,CAUN;AAMD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,EAAE,WAAW,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAsD5D;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAuB,GAAG,WAAW,GAAG,SAAS,CA0EnG;AAED,8BAA8B;AAC9B,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAuB,GAAG,WAAW,CAmBxG;AAED,kCAAkC;AAClC,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAQnE,CAAA;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAExE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAMrE;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CA2CjE;AAED,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAGzD;AAED,oCAAoC;AACpC,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,CAExD"}
@@ -110,18 +110,6 @@ export function assertInvariants(ctx) {
110
110
  throw new InvariantViolationError("max-help-chain-hops", `${card.id}: cadena de ayuda de ${card.helpHops} saltos excede el máximo ${limits.maxHelpChainHops}`);
111
111
  }
112
112
  }
113
- // Invariante duro: el presupuesto de cards no se excede.
114
- if (state.budget.cardsUsed > state.budget.maxCards) {
115
- throw new InvariantViolationError("max-cards", `Presupuesto de cards excedido: ${state.budget.cardsUsed} > ${state.budget.maxCards}`);
116
- }
117
- // Invariante duro: el presupuesto de invocaciones no se excede.
118
- if (state.budget.agentCallsUsed > state.budget.maxAgentCalls) {
119
- throw new InvariantViolationError("max-agent-calls", `Presupuesto de agentes excedido: ${state.budget.agentCallsUsed} > ${state.budget.maxAgentCalls}`);
120
- }
121
- // Invariante duro: el presupuesto de spawns no se excede.
122
- if (state.budget.spawnsUsed > state.budget.maxSpawnsTotal) {
123
- throw new InvariantViolationError("max-spawns-total", `Presupuesto de spawns excedido: ${state.budget.spawnsUsed} > ${state.budget.maxSpawnsTotal}`);
124
- }
125
113
  }
126
114
  // ─────────────────────────────────────────────────────────────────────────────
127
115
  // Ciclo de vida de la corrida
@@ -130,8 +118,8 @@ export function assertInvariants(ctx) {
130
118
  * Migra un estado v1 (el que escribía el skill de OFICINA v1) al schema v2.
131
119
  *
132
120
  * Sin esto, una corrida empezada con el skill queda ilegible para el
133
- * plugin: los budgets vienen con nombres distintos, el `scope` era un array
134
- * en vez de un objeto, y las cards no tienen los campos de malla.
121
+ * plugin: el `scope` era un array en vez de un objeto, y las cards no tienen
122
+ * los campos de malla.
135
123
  *
136
124
  * La migración es aditiva y no destructiva: el objetivo, las cards y sus
137
125
  * resultados se conservan. Lo que se completa son los campos nuevos con
@@ -141,9 +129,9 @@ export function migrateState(raw, limits = DEFAULT_LIMITS) {
141
129
  if (!raw || typeof raw !== "object")
142
130
  return undefined;
143
131
  const input = raw;
144
- // Ya es v2: tiene `budget.maxCards`.
145
- const budgetRaw = (input.budget ?? {});
146
- if (typeof budgetRaw.maxCards === "number") {
132
+ // Ya es v2: tiene `budget.maxCards` (campo removido, pero la version 2 ya no lo usa).
133
+ // Si el estado ya tiene version 2, asumimos que es compatible.
134
+ if (input.version === 2) {
147
135
  return raw;
148
136
  }
149
137
  const num = (value, fallback) => typeof value === "number" && Number.isFinite(value) ? value : fallback;
@@ -190,14 +178,6 @@ export function migrateState(raw, limits = DEFAULT_LIMITS) {
190
178
  halt: input.halt ?? null,
191
179
  cards,
192
180
  order,
193
- budget: {
194
- cardsUsed: num(budgetRaw.cardsUsed ?? budgetRaw.cards_used, Object.keys(cards).length),
195
- maxCards: num(budgetRaw.maxCards ?? budgetRaw.max_cards, limits.maxCards),
196
- agentCallsUsed: num(budgetRaw.agentCallsUsed ?? budgetRaw.agent_calls_used, 0),
197
- maxAgentCalls: num(budgetRaw.maxAgentCalls ?? budgetRaw.max_agent_calls, limits.maxAgentCalls),
198
- spawnsUsed: num(budgetRaw.spawnsUsed ?? budgetRaw.spawns_used, 0),
199
- maxSpawnsTotal: num(budgetRaw.maxSpawnsTotal ?? budgetRaw.max_spawns_total, limits.maxSpawnsTotal),
200
- },
201
181
  decisions: input.decisions ?? [],
202
182
  escalations: [],
203
183
  context: {
@@ -224,14 +204,6 @@ export function createRun(objective, runId, limits = DEFAULT_LIMITS) {
224
204
  status: "planning",
225
205
  cards: {},
226
206
  order: [],
227
- budget: {
228
- cardsUsed: 0,
229
- maxCards: limits.maxCards,
230
- agentCallsUsed: 0,
231
- maxAgentCalls: limits.maxAgentCalls,
232
- spawnsUsed: 0,
233
- maxSpawnsTotal: limits.maxSpawnsTotal,
234
- },
235
207
  decisions: [],
236
208
  escalations: [],
237
209
  context: { decisions: [], constraints: [], pieces: [], traps: [], open: [] },