@jmanuelcorral/openteam 0.1.38 → 0.1.41

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 (162) hide show
  1. package/.opencode/command/openteam.md +5 -5
  2. package/AGENTS.md +50 -35
  3. package/README.es.md +759 -0
  4. package/README.md +213 -480
  5. package/dist/capabilities/types.d.ts +1 -1
  6. package/dist/cli/consoleServe.d.ts.map +1 -1
  7. package/dist/cli.js +1123 -232
  8. package/dist/commands/frontierCatalog.d.ts +27 -0
  9. package/dist/commands/frontierCatalog.d.ts.map +1 -0
  10. package/dist/commands/graph.d.ts +65 -0
  11. package/dist/commands/graph.d.ts.map +1 -0
  12. package/dist/commands/orchestratorAgent.d.ts +2 -1
  13. package/dist/commands/orchestratorAgent.d.ts.map +1 -1
  14. package/dist/commands/setup.d.ts +3 -18
  15. package/dist/commands/setup.d.ts.map +1 -1
  16. package/dist/config/load.d.ts.map +1 -1
  17. package/dist/config/migrations.d.ts +27 -0
  18. package/dist/config/migrations.d.ts.map +1 -0
  19. package/dist/config/resolve.d.ts +34 -0
  20. package/dist/config/resolve.d.ts.map +1 -0
  21. package/dist/config/schema.d.ts +235 -0
  22. package/dist/config/schema.d.ts.map +1 -1
  23. package/dist/console/assets.d.ts +9 -0
  24. package/dist/console/assets.d.ts.map +1 -0
  25. package/dist/console/render.d.ts.map +1 -1
  26. package/dist/context/redaction.d.ts +48 -0
  27. package/dist/context/redaction.d.ts.map +1 -0
  28. package/dist/context/schema.d.ts +115 -0
  29. package/dist/context/schema.d.ts.map +1 -0
  30. package/dist/context/types.d.ts +8 -0
  31. package/dist/context/types.d.ts.map +1 -0
  32. package/dist/contract/opencode.d.ts +1 -1
  33. package/dist/contract/opencode.d.ts.map +1 -1
  34. package/dist/graph/events.d.ts +25 -0
  35. package/dist/graph/events.d.ts.map +1 -0
  36. package/dist/graph/ids.d.ts +5 -0
  37. package/dist/graph/ids.d.ts.map +1 -0
  38. package/dist/graph/planner.d.ts +15 -0
  39. package/dist/graph/planner.d.ts.map +1 -0
  40. package/dist/graph/policies.d.ts +34 -0
  41. package/dist/graph/policies.d.ts.map +1 -0
  42. package/dist/graph/privacyPolicy.d.ts +29 -0
  43. package/dist/graph/privacyPolicy.d.ts.map +1 -0
  44. package/dist/graph/reducer.d.ts +27 -0
  45. package/dist/graph/reducer.d.ts.map +1 -0
  46. package/dist/graph/replay.d.ts +20 -0
  47. package/dist/graph/replay.d.ts.map +1 -0
  48. package/dist/graph/reviewerPolicy.d.ts +27 -0
  49. package/dist/graph/reviewerPolicy.d.ts.map +1 -0
  50. package/dist/graph/schema.d.ts +220 -0
  51. package/dist/graph/schema.d.ts.map +1 -0
  52. package/dist/graph/types.d.ts +40 -0
  53. package/dist/graph/types.d.ts.map +1 -0
  54. package/dist/graph/validate.d.ts +19 -0
  55. package/dist/graph/validate.d.ts.map +1 -0
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +873 -88
  58. package/dist/local/embeddings.d.ts +29 -0
  59. package/dist/local/embeddings.d.ts.map +1 -0
  60. package/dist/local/extractClient.d.ts +31 -0
  61. package/dist/local/extractClient.d.ts.map +1 -0
  62. package/dist/local/openai-compatible.d.ts +1 -0
  63. package/dist/local/openai-compatible.d.ts.map +1 -1
  64. package/dist/mcp/semanticRecall.d.ts +25 -0
  65. package/dist/mcp/semanticRecall.d.ts.map +1 -0
  66. package/dist/mcp/server.d.ts +22 -0
  67. package/dist/mcp/server.d.ts.map +1 -1
  68. package/dist/memory/consolidate.d.ts +21 -0
  69. package/dist/memory/consolidate.d.ts.map +1 -0
  70. package/dist/memory/extract.d.ts +68 -0
  71. package/dist/memory/extract.d.ts.map +1 -0
  72. package/dist/memory/fold.d.ts +24 -0
  73. package/dist/memory/fold.d.ts.map +1 -0
  74. package/dist/memory/index.d.ts +18 -0
  75. package/dist/memory/index.d.ts.map +1 -0
  76. package/dist/memory/inject.d.ts +29 -0
  77. package/dist/memory/inject.d.ts.map +1 -0
  78. package/dist/memory/log.d.ts +16 -0
  79. package/dist/memory/log.d.ts.map +1 -0
  80. package/dist/memory/merge.d.ts +38 -0
  81. package/dist/memory/merge.d.ts.map +1 -0
  82. package/dist/memory/rank.d.ts +32 -0
  83. package/dist/memory/rank.d.ts.map +1 -0
  84. package/dist/memory/recall.d.ts +30 -0
  85. package/dist/memory/recall.d.ts.map +1 -0
  86. package/dist/memory/temporal.d.ts +39 -0
  87. package/dist/memory/temporal.d.ts.map +1 -0
  88. package/dist/memory/types.d.ts +159 -0
  89. package/dist/memory/types.d.ts.map +1 -0
  90. package/dist/memory/vector.d.ts +18 -0
  91. package/dist/memory/vector.d.ts.map +1 -0
  92. package/dist/orchestrator/graphCancellation.d.ts +84 -0
  93. package/dist/orchestrator/graphCancellation.d.ts.map +1 -0
  94. package/dist/orchestrator/graphEffects.d.ts +63 -0
  95. package/dist/orchestrator/graphEffects.d.ts.map +1 -0
  96. package/dist/orchestrator/graphReview.d.ts +84 -0
  97. package/dist/orchestrator/graphReview.d.ts.map +1 -0
  98. package/dist/orchestrator/graphRuntime.d.ts +69 -0
  99. package/dist/orchestrator/graphRuntime.d.ts.map +1 -0
  100. package/dist/orchestrator/opencodeSessionAdapter.d.ts +117 -0
  101. package/dist/orchestrator/opencodeSessionAdapter.d.ts.map +1 -0
  102. package/dist/orchestrator/roles.d.ts +1 -1
  103. package/dist/orchestrator/roles.d.ts.map +1 -1
  104. package/dist/orchestrator/sdd.d.ts +38 -2
  105. package/dist/orchestrator/sdd.d.ts.map +1 -1
  106. package/dist/orchestrator/sddCompiler.d.ts +44 -0
  107. package/dist/orchestrator/sddCompiler.d.ts.map +1 -0
  108. package/dist/orchestrator/sessionReconciler.d.ts +74 -0
  109. package/dist/orchestrator/sessionReconciler.d.ts.map +1 -0
  110. package/dist/orchestrator/shadowComparator.d.ts +62 -0
  111. package/dist/orchestrator/shadowComparator.d.ts.map +1 -0
  112. package/dist/plugin/hooks.d.ts +13 -0
  113. package/dist/plugin/hooks.d.ts.map +1 -1
  114. package/dist/plugin/memoryInject.d.ts +25 -0
  115. package/dist/plugin/memoryInject.d.ts.map +1 -0
  116. package/dist/router/chooseModel.d.ts.map +1 -1
  117. package/dist/router/cost.d.ts +4 -0
  118. package/dist/router/cost.d.ts.map +1 -0
  119. package/dist/router/frontierBaseline.d.ts +13 -0
  120. package/dist/router/frontierBaseline.d.ts.map +1 -0
  121. package/dist/router/modelSelection.d.ts +18 -0
  122. package/dist/router/modelSelection.d.ts.map +1 -0
  123. package/dist/storage/graph/codec.d.ts +52 -0
  124. package/dist/storage/graph/codec.d.ts.map +1 -0
  125. package/dist/storage/graph/fsGraphJournal.d.ts +3 -0
  126. package/dist/storage/graph/fsGraphJournal.d.ts.map +1 -0
  127. package/dist/storage/graph/importLegacy.d.ts +62 -0
  128. package/dist/storage/graph/importLegacy.d.ts.map +1 -0
  129. package/dist/storage/graph/memoryGraphJournal.d.ts +11 -0
  130. package/dist/storage/graph/memoryGraphJournal.d.ts.map +1 -0
  131. package/dist/storage/graph/migrateLegacyBriefs.d.ts +32 -0
  132. package/dist/storage/graph/migrateLegacyBriefs.d.ts.map +1 -0
  133. package/dist/storage/graph/projections.d.ts +31 -0
  134. package/dist/storage/graph/projections.d.ts.map +1 -0
  135. package/dist/storage/graph/provider.d.ts +52 -0
  136. package/dist/storage/graph/provider.d.ts.map +1 -0
  137. package/dist/storage/graph/recovery.d.ts +38 -0
  138. package/dist/storage/graph/recovery.d.ts.map +1 -0
  139. package/dist/storage/graph/runRegistry.d.ts +17 -0
  140. package/dist/storage/graph/runRegistry.d.ts.map +1 -0
  141. package/dist/storage/graph/snapshot.d.ts +44 -0
  142. package/dist/storage/graph/snapshot.d.ts.map +1 -0
  143. package/dist/storage/graph/workspaceLease.d.ts +36 -0
  144. package/dist/storage/graph/workspaceLease.d.ts.map +1 -0
  145. package/dist/storage/graph/writer.d.ts +20 -0
  146. package/dist/storage/graph/writer.d.ts.map +1 -0
  147. package/dist/storage/index/memoryConsolidate.d.ts +24 -0
  148. package/dist/storage/index/memoryConsolidate.d.ts.map +1 -0
  149. package/dist/storage/index/memoryIndex.d.ts +52 -0
  150. package/dist/storage/index/memoryIndex.d.ts.map +1 -0
  151. package/dist/storage/index/memoryRecall.d.ts +23 -0
  152. package/dist/storage/index/memoryRecall.d.ts.map +1 -0
  153. package/dist/storage/index/memoryRuntime.d.ts +41 -0
  154. package/dist/storage/index/memoryRuntime.d.ts.map +1 -0
  155. package/dist/telemetry/events.d.ts +3 -1
  156. package/dist/telemetry/events.d.ts.map +1 -1
  157. package/dist/telemetry/graphProjection.d.ts +36 -0
  158. package/dist/telemetry/graphProjection.d.ts.map +1 -0
  159. package/dist/telemetry/hash.d.ts.map +1 -1
  160. package/dist/web/server.d.ts +4 -0
  161. package/dist/web/server.d.ts.map +1 -1
  162. package/package.json +14 -6
@@ -0,0 +1,27 @@
1
+ import type { ModelCapabilityProfile } from "../capabilities/types";
2
+ /**
3
+ * Catálogo frontier para `init`: ordenación por coste, etiquetas legibles y
4
+ * listados por provider. Todo puro/determinista (sin I/O), aislado del flujo
5
+ * interactivo de `setup.ts`.
6
+ */
7
+ export type FrontierChoice = {
8
+ providerID: string;
9
+ modelID: string;
10
+ };
11
+ /** Ordena perfiles frontier del más barato-capaz al más caro. Pure. */
12
+ export declare function sortFrontierByCost(profiles: readonly ModelCapabilityProfile[]): ModelCapabilityProfile[];
13
+ /** `true` cuando el modelo no tiene coste de entrada ni de salida (gratis). */
14
+ export declare function isFreeFrontier(profile: ModelCapabilityProfile): boolean;
15
+ /** Etiqueta de coste legible: "gratis" o "$in/$out por 1M". Pure. */
16
+ export declare function frontierCostLabel(profile: ModelCapabilityProfile): string;
17
+ /**
18
+ * Modelos frontier ofrecidos por `init`, del más barato-capaz al más caro.
19
+ * Por defecto usa el catálogo curado; `init` le pasa el catálogo real de
20
+ * Models.dev (incluidos los modelos gratuitos). Pure/determinista.
21
+ */
22
+ export declare function frontierChoices(profiles?: readonly ModelCapabilityProfile[]): FrontierChoice[];
23
+ /** Providers presentes en el catálogo, ordenados alfabéticamente. Pure. */
24
+ export declare function frontierProviders(profiles: readonly ModelCapabilityProfile[]): string[];
25
+ /** Perfiles frontier de un provider, del más barato al más caro. Pure. */
26
+ export declare function frontierModelsForProvider(profiles: readonly ModelCapabilityProfile[], providerID: string): ModelCapabilityProfile[];
27
+ //# sourceMappingURL=frontierCatalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontierCatalog.d.ts","sourceRoot":"","sources":["../../src/commands/frontierCatalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE;;;;GAIG;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAWF,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,GAC1C,sBAAsB,EAAE,CAI1B;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAEvE;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAKzE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,GAAE,SAAS,sBAAsB,EAA8B,GACtE,cAAc,EAAE,CAKlB;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,sBAAsB,EAAE,GAC1C,MAAM,EAAE,CAIV;AAED,0EAA0E;AAC1E,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,EAC3C,UAAU,EAAE,MAAM,GACjB,sBAAsB,EAAE,CAI1B"}
@@ -0,0 +1,65 @@
1
+ import type { ConfigSource } from "../config/resolve";
2
+ import type { GraphMode } from "../config/schema";
3
+ import type { LeaseRecord } from "../storage/graph/workspaceLease";
4
+ /**
5
+ * GE-045 — operator commands for the graph runtime as pure dry-run plans.
6
+ *
7
+ * These functions never touch I/O: the caller reads the journal, lease, and
8
+ * config health, hands a settled snapshot here, and this module renders the
9
+ * operator view and decides which action is safe. Execution (recover/cancel)
10
+ * happens in the wiring layer only when a plan authorises it.
11
+ *
12
+ * Safety contract:
13
+ * - Commands are idempotent: a settled state plans `none`.
14
+ * - Recovering a corrupt journal is blocked unless the operator explicitly
15
+ * acknowledges the unsafe reconciliation.
16
+ * - Cancelling a run held by another holder (a stale takeover) is blocked
17
+ * unless the operator explicitly forces it.
18
+ */
19
+ /** Health of the on-disk journal tail as classified by recovery. */
20
+ export type GraphJournalHealth = "clean" | "recovered" | "corrupt";
21
+ /** Settled, side-effect-free view of the graph runtime for the operator. */
22
+ export type GraphHealthSnapshot = {
23
+ /** Where the effective graph config was resolved from. */
24
+ readonly source: ConfigSource;
25
+ /** Effective graph mode after config resolution. */
26
+ readonly effectiveMode: GraphMode;
27
+ /** Current workspace lease, or `undefined` when no run is active. */
28
+ readonly lease: LeaseRecord | undefined;
29
+ /** Journal tail health. */
30
+ readonly journal: GraphJournalHealth;
31
+ /** Committed effects still awaiting a receipt. */
32
+ readonly pendingEffects: number;
33
+ /** Effects whose outcome is unknown and require reconciliation. */
34
+ readonly unknownEffects: number;
35
+ };
36
+ /** Action an operator command would take, decided without executing it. */
37
+ export type GraphActionKind = "none" | "recover" | "cancel" | "blocked";
38
+ /** Result of planning an operator command. */
39
+ export type GraphActionPlan = {
40
+ /** What the command would do. */
41
+ readonly kind: GraphActionKind;
42
+ /** Stable machine-readable reason for the decision. */
43
+ readonly reason: string;
44
+ /** `true` when the action preserves invariants without operator override. */
45
+ readonly safe: boolean;
46
+ };
47
+ /** Options for planning a journal recovery. */
48
+ export type GraphRecoverOptions = {
49
+ /** Operator explicitly accepts an unsafe reconciliation of a corrupt tail. */
50
+ readonly acknowledgeUnsafe?: boolean;
51
+ };
52
+ /** Options for planning a run cancellation. */
53
+ export type GraphCancelOptions = {
54
+ /** Identity of the operator requesting the cancel. */
55
+ readonly holder: string;
56
+ /** Operator explicitly accepts taking over a run held by someone else. */
57
+ readonly force?: boolean;
58
+ };
59
+ /** Render the operator-facing status view of a graph health snapshot. */
60
+ export declare function renderGraphStatus(snapshot: GraphHealthSnapshot): string;
61
+ /** Decide whether recovering the journal tail is a safe, idempotent action. */
62
+ export declare function planGraphRecover(snapshot: GraphHealthSnapshot, options?: GraphRecoverOptions): GraphActionPlan;
63
+ /** Decide whether cancelling the active run is a safe, idempotent action. */
64
+ export declare function planGraphCancel(snapshot: GraphHealthSnapshot, options: GraphCancelOptions): GraphActionPlan;
65
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/commands/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AAEH,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAEnE,4EAA4E;AAC5E,MAAM,MAAM,mBAAmB,GAAG;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;IAClC,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExE,8CAA8C;AAC9C,MAAM,MAAM,eAAe,GAAG;IAC5B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAAG;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAUF,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAkBvE;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,GAAE,mBAAwB,GAChC,eAAe,CAejB;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAejB"}
@@ -13,7 +13,8 @@ export declare const ORCHESTRATOR_AGENT_PATH = ".opencode/agent/openteam.md";
13
13
  */
14
14
  export declare const OPENTEAM_ROSTER_PATH = ".opencode/openteam-roster.md";
15
15
  /**
16
- * Construye el Markdown del agente primario `openteam` (estilo Squad): un
16
+ * Construye el Markdown del agente primario `openteam` (orquestador multiagente):
17
+ * un
17
18
  * orquestador que aparece en el Tab-switcher, elige un universo temático y
18
19
  * castea al equipo, y crea los subagentes a demanda (incluidos los roles
19
20
  * estándar scribe, ralph y guardian). Pure: no I/O.
@@ -1 +1 @@
1
- {"version":3,"file":"orchestratorAgent.d.ts","sourceRoot":"","sources":["../../src/commands/orchestratorAgent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,MAAM,CA4LR"}
1
+ {"version":3,"file":"orchestratorAgent.d.ts","sourceRoot":"","sources":["../../src/commands/orchestratorAgent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,MAAM,CA4LR"}
@@ -2,6 +2,7 @@ import type { ModelCapabilityProfile } from "../capabilities/types";
2
2
  import { type OpenTeamConfig, type PrivacyMode, type RouterMode } from "../config/schema";
3
3
  import type { LocalRuntimeId } from "../local/types";
4
4
  import type { CliResult } from "./dispatch";
5
+ import { type FrontierChoice as FrontierChoiceType } from "./frontierCatalog";
5
6
  /** Nombre del paquete npm del plugin, declarado en el opencode.json generado. */
6
7
  export declare const OPENTEAM_PLUGIN_SPEC = "@jmanuelcorral/openteam";
7
8
  /** Ruta del opencode.json de proyecto, relativa al cwd. */
@@ -32,10 +33,7 @@ export type RuntimeChoice = {
32
33
  defaultModelID: string;
33
34
  models: string[];
34
35
  };
35
- export type FrontierChoice = {
36
- providerID: string;
37
- modelID: string;
38
- };
36
+ export type FrontierChoice = FrontierChoiceType;
39
37
  export type SetupAnswers = {
40
38
  runtimes: RuntimeChoice[];
41
39
  frontier: FrontierChoice;
@@ -61,20 +59,7 @@ export type OpencodeConfig = {
61
59
  small_model?: string;
62
60
  permission?: Record<string, string>;
63
61
  };
64
- /** `true` cuando el modelo no tiene coste de entrada ni de salida (gratis). */
65
- export declare function isFreeFrontier(profile: ModelCapabilityProfile): boolean;
66
- /** Etiqueta de coste legible: "gratis" o "$in/$out por 1M". Pure. */
67
- export declare function frontierCostLabel(profile: ModelCapabilityProfile): string;
68
- /**
69
- * Modelos frontier ofrecidos por `init`, del más barato-capaz al más caro.
70
- * Por defecto usa el catálogo curado; `init` le pasa el catálogo real de
71
- * Models.dev (incluidos los modelos gratuitos). Pure/determinista.
72
- */
73
- export declare function frontierChoices(profiles?: readonly ModelCapabilityProfile[]): FrontierChoice[];
74
- /** Providers presentes en el catálogo, ordenados alfabéticamente. Pure. */
75
- export declare function frontierProviders(profiles: readonly ModelCapabilityProfile[]): string[];
76
- /** Perfiles frontier de un provider, del más barato al más caro. Pure. */
77
- export declare function frontierModelsForProvider(profiles: readonly ModelCapabilityProfile[], providerID: string): ModelCapabilityProfile[];
62
+ export { frontierChoices, frontierCostLabel, frontierModelsForProvider, frontierProviders, isFreeFrontier, } from "./frontierCatalog";
78
63
  /**
79
64
  * Construye y valida el OpenTeamConfig a partir de las respuestas del init.
80
65
  * Pure: no I/O.
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,UAAU,CAAC;AAErE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAE/D;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,SAA4B,EAChC,OAAO,GAAE,eAAwD,GAChE,OAAO,CAAC,cAAc,CAAC,CAMzB"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,UAAU,CAAC;AAErE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAE/D;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,SAA4B,EAChC,OAAO,GAAE,eAAwD,GAChE,OAAO,CAAC,cAAc,CAAC,CAMzB"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Migración **versionada** de la config de openteam (GE-040).
3
+ *
4
+ * La config declara opcionalmente `configVersion`. Cuando falta se asume la
5
+ * versión actual (config legacy). Una versión no entera/positiva es
6
+ * `unknown-version`; una versión futura mayor que la soportada es
7
+ * `unsupported-version`. La migración es pura: normaliza la entrada para el
8
+ * parseo de esquema y **falla cerrado** ante versiones no soportadas, de modo
9
+ * que CLI y plugin comparten exactamente la misma resolución.
10
+ */
11
+ /** Versión de config soportada por esta build. */
12
+ export declare const CURRENT_CONFIG_VERSION: 1;
13
+ /** Código de fallo de migración de config. */
14
+ export type ConfigMigrationErrorCode = "unknown-version" | "unsupported-version";
15
+ /** Error tipado de una migración de config rechazada. */
16
+ export declare class ConfigMigrationError extends Error {
17
+ readonly code: ConfigMigrationErrorCode;
18
+ readonly detail: string;
19
+ constructor(code: ConfigMigrationErrorCode, detail: string);
20
+ }
21
+ /**
22
+ * Normaliza la config cruda a la versión actual. Devuelve la entrada intacta si
23
+ * no es un objeto (el parseo de esquema la rechazará); en caso contrario valida
24
+ * `configVersion` y falla cerrado ante versiones desconocidas o futuras.
25
+ */
26
+ export declare function migrateConfig(raw: unknown): unknown;
27
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/config/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,kDAAkD;AAClD,eAAO,MAAM,sBAAsB,EAAG,CAAU,CAAC;AAEjD,8CAA8C;AAC9C,MAAM,MAAM,wBAAwB,GAChC,iBAAiB,GACjB,qBAAqB,CAAC;AAE1B,yDAAyD;AACzD,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM;CAM3D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAoBnD"}
@@ -0,0 +1,34 @@
1
+ import type { GraphMode, OpenTeamConfig } from "./schema";
2
+ /**
3
+ * Resolver **efectivo** y compartido de la config de Graph (GE-040).
4
+ *
5
+ * CLI y plugin resuelven a través de esta única función, así que una misma
6
+ * config produce exactamente el mismo resultado en ambos. Reglas:
7
+ *
8
+ * - **Default off**: sin sección `graph`, el modo efectivo es `off`.
9
+ * - **Kill switch en vivo**: si `killSwitch` está activo, el modo efectivo es
10
+ * `off` sea cual sea el modo configurado.
11
+ * - **Shadow sin executor**: solo `active` habilita el executor; `shadow` y
12
+ * `off` no reciben executor.
13
+ * - **Fuente visible**: el origen de la config se propaga al resultado.
14
+ *
15
+ * Puro: sin I/O, reloj ni estado global.
16
+ */
17
+ /** Origen de la config resuelta (para trazabilidad/observabilidad). */
18
+ export type ConfigSource = "file" | "inline" | "default";
19
+ /** Resolución efectiva de la config de Graph. */
20
+ export type ResolvedGraphConfig = {
21
+ /** Modo declarado en la config (default `off`). */
22
+ readonly configuredMode: GraphMode;
23
+ /** Modo efectivo tras aplicar el kill switch. */
24
+ readonly effectiveMode: GraphMode;
25
+ /** Solo `active` habilita el executor. */
26
+ readonly executorEnabled: boolean;
27
+ /** Kill switch en vivo. */
28
+ readonly killSwitch: boolean;
29
+ /** Origen de la config. */
30
+ readonly source: ConfigSource;
31
+ };
32
+ /** Resuelve la config de Graph efectiva a partir de la config y su origen. */
33
+ export declare function resolveGraphConfig(config: OpenTeamConfig, source: ConfigSource): ResolvedGraphConfig;
34
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AAEH,uEAAuE;AACvE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzD,iDAAiD;AACjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,mDAAmD;IACnD,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC;IACnC,iDAAiD;IACjD,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,2BAA2B;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B,CAAC;AAEF,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY,GACnB,mBAAmB,CAWrB"}
@@ -17,6 +17,27 @@ export declare const BaselineModeSchema: z.ZodEnum<{
17
17
  auto: "auto";
18
18
  pinned: "pinned";
19
19
  }>;
20
+ /**
21
+ * Modo del subsistema Graph (GE-040). `off` mantiene el camino legacy; `shadow`
22
+ * observa sin ejecutar efectos; `active` habilita el executor. Default `off`.
23
+ */
24
+ export declare const GraphModeSchema: z.ZodEnum<{
25
+ off: "off";
26
+ shadow: "shadow";
27
+ active: "active";
28
+ }>;
29
+ /**
30
+ * Sección `graph` de la config. Opcional: cuando falta, el resolver aplica
31
+ * `off`. Un `killSwitch` en vivo fuerza `off` sea cual sea el modo configurado.
32
+ */
33
+ export declare const GraphConfigSchema: z.ZodObject<{
34
+ mode: z.ZodDefault<z.ZodEnum<{
35
+ off: "off";
36
+ shadow: "shadow";
37
+ active: "active";
38
+ }>>;
39
+ killSwitch: z.ZodDefault<z.ZodBoolean>;
40
+ }, z.core.$strip>;
20
41
  export declare const ConsoleHostSchema: z.ZodEnum<{
21
42
  "127.0.0.1": "127.0.0.1";
22
43
  localhost: "localhost";
@@ -69,6 +90,111 @@ export declare const LocalRuntimeSchema: z.ZodObject<{
69
90
  modelID: z.ZodString;
70
91
  }, z.core.$strip>;
71
92
  }, z.core.$strip>;
93
+ /**
94
+ * Bloque de memoria semántica long-term (capa de conocimiento). Opt-in y
95
+ * desactivado por defecto (ADR-1..6). Privacy-first: `storeContent=false` guarda
96
+ * estructura redactada + `sourceHash`, nunca el prompt crudo. La extracción es
97
+ * local-first; frontier solo como fallback opt-in respetando `forceLocalOnSensitive`.
98
+ */
99
+ export declare const MemoryScopeSchema: z.ZodEnum<{
100
+ project: "project";
101
+ user: "user";
102
+ }>;
103
+ export declare const MemoryExtractionModeSchema: z.ZodEnum<{
104
+ local: "local";
105
+ localWithFrontierFallback: "localWithFrontierFallback";
106
+ }>;
107
+ export declare const MemoryEmbeddingsProviderSchema: z.ZodEnum<{
108
+ local: "local";
109
+ none: "none";
110
+ }>;
111
+ export declare const MemorySemanticSchema: z.ZodDefault<z.ZodObject<{
112
+ enabled: z.ZodDefault<z.ZodBoolean>;
113
+ storeContent: z.ZodDefault<z.ZodBoolean>;
114
+ logPath: z.ZodDefault<z.ZodString>;
115
+ indexPath: z.ZodDefault<z.ZodString>;
116
+ scope: z.ZodDefault<z.ZodEnum<{
117
+ project: "project";
118
+ user: "user";
119
+ }>>;
120
+ extraction: z.ZodDefault<z.ZodObject<{
121
+ mode: z.ZodDefault<z.ZodEnum<{
122
+ local: "local";
123
+ localWithFrontierFallback: "localWithFrontierFallback";
124
+ }>>;
125
+ model: z.ZodDefault<z.ZodNullable<z.ZodObject<{
126
+ providerID: z.ZodString;
127
+ modelID: z.ZodString;
128
+ }, z.core.$strip>>>;
129
+ }, z.core.$strip>>;
130
+ embeddings: z.ZodDefault<z.ZodObject<{
131
+ provider: z.ZodDefault<z.ZodEnum<{
132
+ local: "local";
133
+ none: "none";
134
+ }>>;
135
+ model: z.ZodDefault<z.ZodNullable<z.ZodObject<{
136
+ providerID: z.ZodString;
137
+ modelID: z.ZodString;
138
+ }, z.core.$strip>>>;
139
+ dim: z.ZodDefault<z.ZodNumber>;
140
+ }, z.core.$strip>>;
141
+ recall: z.ZodDefault<z.ZodObject<{
142
+ maxResults: z.ZodDefault<z.ZodNumber>;
143
+ minSimilarity: z.ZodDefault<z.ZodNumber>;
144
+ }, z.core.$strip>>;
145
+ injection: z.ZodDefault<z.ZodObject<{
146
+ enabled: z.ZodDefault<z.ZodBoolean>;
147
+ maxChars: z.ZodDefault<z.ZodNumber>;
148
+ maxItems: z.ZodDefault<z.ZodNumber>;
149
+ }, z.core.$strip>>;
150
+ }, z.core.$strip>>;
151
+ /**
152
+ * `memory` es **opcional** en la config pública: su ausencia equivale a memoria
153
+ * semántica desactivada. Se deja optional (no `.default()`) para no forzar el
154
+ * campo en los literales de config existentes (`exactOptionalPropertyTypes`).
155
+ */
156
+ export declare const MemoryConfigSchema: z.ZodObject<{
157
+ semantic: z.ZodDefault<z.ZodObject<{
158
+ enabled: z.ZodDefault<z.ZodBoolean>;
159
+ storeContent: z.ZodDefault<z.ZodBoolean>;
160
+ logPath: z.ZodDefault<z.ZodString>;
161
+ indexPath: z.ZodDefault<z.ZodString>;
162
+ scope: z.ZodDefault<z.ZodEnum<{
163
+ project: "project";
164
+ user: "user";
165
+ }>>;
166
+ extraction: z.ZodDefault<z.ZodObject<{
167
+ mode: z.ZodDefault<z.ZodEnum<{
168
+ local: "local";
169
+ localWithFrontierFallback: "localWithFrontierFallback";
170
+ }>>;
171
+ model: z.ZodDefault<z.ZodNullable<z.ZodObject<{
172
+ providerID: z.ZodString;
173
+ modelID: z.ZodString;
174
+ }, z.core.$strip>>>;
175
+ }, z.core.$strip>>;
176
+ embeddings: z.ZodDefault<z.ZodObject<{
177
+ provider: z.ZodDefault<z.ZodEnum<{
178
+ local: "local";
179
+ none: "none";
180
+ }>>;
181
+ model: z.ZodDefault<z.ZodNullable<z.ZodObject<{
182
+ providerID: z.ZodString;
183
+ modelID: z.ZodString;
184
+ }, z.core.$strip>>>;
185
+ dim: z.ZodDefault<z.ZodNumber>;
186
+ }, z.core.$strip>>;
187
+ recall: z.ZodDefault<z.ZodObject<{
188
+ maxResults: z.ZodDefault<z.ZodNumber>;
189
+ minSimilarity: z.ZodDefault<z.ZodNumber>;
190
+ }, z.core.$strip>>;
191
+ injection: z.ZodDefault<z.ZodObject<{
192
+ enabled: z.ZodDefault<z.ZodBoolean>;
193
+ maxChars: z.ZodDefault<z.ZodNumber>;
194
+ maxItems: z.ZodDefault<z.ZodNumber>;
195
+ }, z.core.$strip>>;
196
+ }, z.core.$strip>>;
197
+ }, z.core.$strip>;
72
198
  export declare const OpenTeamConfigObjectSchema: z.ZodObject<{
73
199
  baseline: z.ZodDefault<z.ZodObject<{
74
200
  mode: z.ZodDefault<z.ZodEnum<{
@@ -151,6 +277,56 @@ export declare const OpenTeamConfigObjectSchema: z.ZodObject<{
151
277
  path: z.ZodDefault<z.ZodString>;
152
278
  }, z.core.$strip>>;
153
279
  }, z.core.$strip>>;
280
+ memory: z.ZodOptional<z.ZodObject<{
281
+ semantic: z.ZodDefault<z.ZodObject<{
282
+ enabled: z.ZodDefault<z.ZodBoolean>;
283
+ storeContent: z.ZodDefault<z.ZodBoolean>;
284
+ logPath: z.ZodDefault<z.ZodString>;
285
+ indexPath: z.ZodDefault<z.ZodString>;
286
+ scope: z.ZodDefault<z.ZodEnum<{
287
+ project: "project";
288
+ user: "user";
289
+ }>>;
290
+ extraction: z.ZodDefault<z.ZodObject<{
291
+ mode: z.ZodDefault<z.ZodEnum<{
292
+ local: "local";
293
+ localWithFrontierFallback: "localWithFrontierFallback";
294
+ }>>;
295
+ model: z.ZodDefault<z.ZodNullable<z.ZodObject<{
296
+ providerID: z.ZodString;
297
+ modelID: z.ZodString;
298
+ }, z.core.$strip>>>;
299
+ }, z.core.$strip>>;
300
+ embeddings: z.ZodDefault<z.ZodObject<{
301
+ provider: z.ZodDefault<z.ZodEnum<{
302
+ local: "local";
303
+ none: "none";
304
+ }>>;
305
+ model: z.ZodDefault<z.ZodNullable<z.ZodObject<{
306
+ providerID: z.ZodString;
307
+ modelID: z.ZodString;
308
+ }, z.core.$strip>>>;
309
+ dim: z.ZodDefault<z.ZodNumber>;
310
+ }, z.core.$strip>>;
311
+ recall: z.ZodDefault<z.ZodObject<{
312
+ maxResults: z.ZodDefault<z.ZodNumber>;
313
+ minSimilarity: z.ZodDefault<z.ZodNumber>;
314
+ }, z.core.$strip>>;
315
+ injection: z.ZodDefault<z.ZodObject<{
316
+ enabled: z.ZodDefault<z.ZodBoolean>;
317
+ maxChars: z.ZodDefault<z.ZodNumber>;
318
+ maxItems: z.ZodDefault<z.ZodNumber>;
319
+ }, z.core.$strip>>;
320
+ }, z.core.$strip>>;
321
+ }, z.core.$strip>>;
322
+ graph: z.ZodOptional<z.ZodObject<{
323
+ mode: z.ZodDefault<z.ZodEnum<{
324
+ off: "off";
325
+ shadow: "shadow";
326
+ active: "active";
327
+ }>>;
328
+ killSwitch: z.ZodDefault<z.ZodBoolean>;
329
+ }, z.core.$strip>>;
154
330
  }, z.core.$strip>;
155
331
  /** Esquema público de la config de openteam. */
156
332
  export declare const OpenTeamConfigSchema: z.ZodObject<{
@@ -235,12 +411,71 @@ export declare const OpenTeamConfigSchema: z.ZodObject<{
235
411
  path: z.ZodDefault<z.ZodString>;
236
412
  }, z.core.$strip>>;
237
413
  }, z.core.$strip>>;
414
+ memory: z.ZodOptional<z.ZodObject<{
415
+ semantic: z.ZodDefault<z.ZodObject<{
416
+ enabled: z.ZodDefault<z.ZodBoolean>;
417
+ storeContent: z.ZodDefault<z.ZodBoolean>;
418
+ logPath: z.ZodDefault<z.ZodString>;
419
+ indexPath: z.ZodDefault<z.ZodString>;
420
+ scope: z.ZodDefault<z.ZodEnum<{
421
+ project: "project";
422
+ user: "user";
423
+ }>>;
424
+ extraction: z.ZodDefault<z.ZodObject<{
425
+ mode: z.ZodDefault<z.ZodEnum<{
426
+ local: "local";
427
+ localWithFrontierFallback: "localWithFrontierFallback";
428
+ }>>;
429
+ model: z.ZodDefault<z.ZodNullable<z.ZodObject<{
430
+ providerID: z.ZodString;
431
+ modelID: z.ZodString;
432
+ }, z.core.$strip>>>;
433
+ }, z.core.$strip>>;
434
+ embeddings: z.ZodDefault<z.ZodObject<{
435
+ provider: z.ZodDefault<z.ZodEnum<{
436
+ local: "local";
437
+ none: "none";
438
+ }>>;
439
+ model: z.ZodDefault<z.ZodNullable<z.ZodObject<{
440
+ providerID: z.ZodString;
441
+ modelID: z.ZodString;
442
+ }, z.core.$strip>>>;
443
+ dim: z.ZodDefault<z.ZodNumber>;
444
+ }, z.core.$strip>>;
445
+ recall: z.ZodDefault<z.ZodObject<{
446
+ maxResults: z.ZodDefault<z.ZodNumber>;
447
+ minSimilarity: z.ZodDefault<z.ZodNumber>;
448
+ }, z.core.$strip>>;
449
+ injection: z.ZodDefault<z.ZodObject<{
450
+ enabled: z.ZodDefault<z.ZodBoolean>;
451
+ maxChars: z.ZodDefault<z.ZodNumber>;
452
+ maxItems: z.ZodDefault<z.ZodNumber>;
453
+ }, z.core.$strip>>;
454
+ }, z.core.$strip>>;
455
+ }, z.core.$strip>>;
456
+ graph: z.ZodOptional<z.ZodObject<{
457
+ mode: z.ZodDefault<z.ZodEnum<{
458
+ off: "off";
459
+ shadow: "shadow";
460
+ active: "active";
461
+ }>>;
462
+ killSwitch: z.ZodDefault<z.ZodBoolean>;
463
+ }, z.core.$strip>>;
238
464
  }, z.core.$strip>;
239
465
  export type ModelRef = z.infer<typeof ModelRefSchema>;
240
466
  export type RouterMode = z.infer<typeof RouterModeSchema>;
241
467
  export type PrivacyMode = z.infer<typeof PrivacyModeSchema>;
468
+ export type GraphMode = z.infer<typeof GraphModeSchema>;
469
+ export type GraphConfig = z.infer<typeof GraphConfigSchema>;
242
470
  export type OpenTeamConfig = z.infer<typeof OpenTeamConfigSchema>;
243
471
  export type LocalRuntime = z.infer<typeof LocalRuntimeSchema>;
244
472
  export type ConsoleConfig = z.infer<typeof ConsoleConfigSchema>;
245
473
  export type StorageConfig = z.infer<typeof StorageConfigSchema>;
474
+ export type MemoryConfig = z.infer<typeof MemoryConfigSchema>;
475
+ export type MemorySemanticConfig = z.infer<typeof MemorySemanticSchema>;
476
+ /**
477
+ * Resuelve la config de memoria semántica efectiva. Si `memory` está ausente,
478
+ * devuelve los defaults (memoria desactivada). Fuente única de defaults.
479
+ */
480
+ export declare function resolveMemorySemantic(config: OpenTeamConfig): MemorySemanticConfig;
246
481
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;EAA6C,CAAC;AAC3E,eAAO,MAAM,iBAAiB;;;;EAI5B,CAAC;AACH,eAAO,MAAM,kBAAkB;;;EAA6B,CAAC;AAE7D,eAAO,MAAM,iBAAiB;;;EAAqC,CAAC;AAEpE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;kBAmC5B,CAAC;AAEL;;GAEG;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;kBAW5B,CAAC;AAWL,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;iBAM7B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8DrC,CAAC;AAEH,gDAAgD;AAChD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA6B,CAAC;AAE/D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;EAA6C,CAAC;AAC3E,eAAO,MAAM,iBAAiB;;;;EAI5B,CAAC;AACH,eAAO,MAAM,kBAAkB;;;EAA6B,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;EAAsC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;EAAqC,CAAC;AAEpE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;kBAmC5B,CAAC;AAEL;;GAEG;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;kBAW5B,CAAC;AAWL,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;iBAM7B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;EAA8B,CAAC;AAC7D,eAAO,MAAM,0BAA0B;;;EAGrC,CAAC;AACH,eAAO,MAAM,8BAA8B;;;EAA4B,CAAC;AAExE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkD7B,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE7B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgErC,CAAC;AAEH,gDAAgD;AAChD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA6B,CAAC;AAE/D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,GACrB,oBAAoB,CAEtB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Activos estáticos del console (CSS + JS de cliente) inline en el HTML
3
+ * autocontenido. Se aíslan aquí para mantener `render.ts` centrado en la
4
+ * composición de paneles. No contienen datos de usuario; el `render.ts` escapa
5
+ * todo el contenido dinámico antes de insertarlo.
6
+ */
7
+ export declare const CONSOLE_STYLE = "\n:root{color-scheme:dark;--bg:#0f1115;--panel:#171a21;--fg:#e6e8eb;--muted:#8b929c;--good:#3fb950;--local:#58a6ff;--frontier:#d29922;--line:#262b34}\n*{box-sizing:border-box}\nbody{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 ui-sans-serif,system-ui,Segoe UI,Roboto,sans-serif}\nheader{padding:16px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}\nheader h1{font-size:18px;margin:0}\nheader .meta{color:var(--muted);font-size:12px}\nmain{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;padding:24px}\n.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}\n.panel h2{font-size:14px;margin:0 0 12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}\n.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}\n.stat{display:flex;flex-direction:column;gap:2px}\n.stat .k{color:var(--muted);font-size:12px}\n.stat .v{font-size:18px;font-weight:600}\n.good{color:var(--good)}\n.local{color:var(--local)}\n.frontier{color:var(--frontier)}\n.muted{color:var(--muted)}\ntable{width:100%;border-collapse:collapse;font-size:13px}\nth,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}\nth{color:var(--muted);font-weight:600}\n.hash{font-family:ui-monospace,Consolas,monospace;color:var(--muted)}\n.progress{height:10px;background:#0b0d11;border-radius:6px;overflow:hidden;border:1px solid var(--line)}\n.progress .bar{height:100%;background:var(--good)}\nul.items,ul.timeline{list-style:none;margin:8px 0 0;padding:0;max-height:320px;overflow:auto}\nul.items li,ul.timeline li{padding:4px 0;border-bottom:1px solid var(--line)}\nul.items li.done{color:var(--muted)}\nul.items .box{font-family:monospace}\n.who{color:var(--local)}\n.tag{color:var(--frontier);font-size:12px}\n.kind{display:inline-block;min-width:66px;color:var(--muted);font-size:12px}\ncode{font-family:ui-monospace,Consolas,monospace;background:#0b0d11;padding:1px 5px;border-radius:4px}\n.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}\n.tabs{display:flex;gap:6px;padding:12px 24px 0;flex-wrap:wrap;border-bottom:1px solid var(--line)}\n.tabs .tab{background:var(--panel);color:var(--fg);border:1px solid var(--line);border-bottom:none;border-radius:8px 8px 0 0;padding:8px 14px;cursor:pointer;font:inherit;display:flex;align-items:center;gap:6px}\n.tabs .tab.active{background:var(--bg);border-color:var(--local);color:var(--fg)}\n.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--muted)}\n.badge{font-size:11px;padding:1px 8px;border-radius:10px;border:1px solid var(--line);color:var(--muted);vertical-align:middle}\n.status-running{background:var(--good)}\n.badge.status-running{color:var(--good);border-color:var(--good)}\n.status-idle{background:var(--muted)}\n.badge.status-idle{color:var(--muted)}\n.status-waiting-input{background:var(--frontier)}\n.badge.status-waiting-input{color:var(--frontier);border-color:var(--frontier)}\n.status-ended{background:#6e7681}\n.badge.status-ended{color:#6e7681}\n.term .termlog{background:#0b0d11;border:1px solid var(--line);border-radius:8px;padding:10px;max-height:340px;overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:12px;white-space:pre-wrap}\n.term .tl{padding:1px 0}\n.term .tl.input{color:var(--local)}\n.term .tl.tool{color:var(--frontier)}\n.term .tl.status{color:var(--muted)}\n.term .tl.error{color:#f85149}\n.term .tl.permission{color:var(--frontier);font-weight:600}\n.term form.terminput{display:flex;gap:8px;margin-top:10px}\n.term form.terminput input{flex:1;background:#0b0d11;color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit}\n.term form.terminput button{background:var(--local);color:#04122b;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font:inherit;font-weight:600}\n.pty .ptylog{background:#05070a;border:1px solid var(--line);border-radius:8px;padding:10px;max-height:340px;overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:12px;white-space:pre-wrap;color:#c8d1dc}\n.pty form.ptyinput{display:flex;gap:8px;margin-top:10px}\n.pty form.ptyinput input{flex:1;background:#05070a;color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit}\n.pty form.ptyinput button,.pty .pty-start{background:var(--frontier);color:#1a1200;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font:inherit;font-weight:600;margin-top:8px}\n.pty .pty-start:disabled{opacity:.5;cursor:default}\n";
8
+ export declare const CONSOLE_CLIENT_JS = "\n(function(){\n var authTok='';\n try{\n var qp=new URLSearchParams(window.location.search).get('token');\n if(qp){authTok='?token='+encodeURIComponent(qp)}\n }catch(e){/* ignore */}\n function reloadIfChanged(prev){\n fetch('/api/state'+authTok).then(function(r){return r.json()}).then(function(s){\n if(s.generatedAt!==prev){location.reload()}\n }).catch(function(){});\n }\n var current=document.documentElement.getAttribute('data-generated')||'';\n if('EventSource' in window){\n try{\n var es=new EventSource('/events'+authTok);\n es.addEventListener('state',function(){location.reload()});\n es.onerror=function(){/* fallback below */};\n }catch(e){/* ignore */}\n }\n var ms=parseInt(document.documentElement.getAttribute('data-refresh')||'2000',10);\n setInterval(function(){reloadIfChanged(current)},isNaN(ms)?2000:Math.max(250,ms));\n\n function selectTab(name){\n var tabs=document.querySelectorAll('#tabbar .tab');\n for(var i=0;i<tabs.length;i++){tabs[i].classList.toggle('active',tabs[i].getAttribute('data-tab')===name)}\n var views=document.querySelectorAll('main .view');\n var matched=false;\n for(var j=0;j<views.length;j++){\n var show=views[j].getAttribute('data-view')===name;\n views[j].hidden=!show;\n if(show){matched=true;if(name!=='all'){connectTerminal(views[j],name)}}\n }\n if(!matched){return false}\n try{sessionStorage.setItem('openteam.tab',name)}catch(e){}\n return true;\n }\n function connectTerminal(view,id){\n if(view.__wired){return}\n var root=document.documentElement;\n var token=root.getAttribute('data-token');\n if(root.getAttribute('data-terminal')!=='1'||!token){return}\n var log=view.querySelector('.termlog');\n if(!log){return}\n view.__wired=true;\n function append(cls,text){\n var line=document.createElement('div');\n line.className='tl '+cls;line.textContent=text;\n log.appendChild(line);log.scrollTop=log.scrollHeight;\n }\n var q='/console/session/'+encodeURIComponent(id);\n var tk='token='+encodeURIComponent(token);\n if('EventSource' in window){\n try{\n var es=new EventSource(q+'/stream?'+tk);\n es.addEventListener('frame',function(e){try{var f=JSON.parse(e.data);append(f.kind,f.text)}catch(_){}}); \n es.onerror=function(){/* reconecta solo */};\n }catch(_){/* ignore */}\n }\n var form=view.querySelector('form.terminput');\n if(form){\n form.addEventListener('submit',function(e){\n e.preventDefault();\n var inp=form.querySelector('input[name=text]');\n var text=inp.value;\n if(!text){return}\n inp.value='';append('input','\u203A '+text);\n fetch(q+'/input?'+tk,{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify({text:text})})\n .then(function(r){if(!r.ok){append('error','\u2716 env\u00EDo rechazado ('+r.status+')')}})\n .catch(function(){append('error','\u2716 no se pudo enviar')});\n });\n }\n connectPty(view,id,q,tk);\n }\n function connectPty(view,id,q,tk){\n var root=document.documentElement;\n if(root.getAttribute('data-pty')!=='1'){return}\n var pane=view.querySelector('.pty');\n if(!pane){return}\n var log=pane.querySelector('.ptylog');\n var startBtn=pane.querySelector('.pty-start');\n var input=pane.querySelector('form.ptyinput');\n function plog(text){\n var d=document.createElement('span');d.textContent=text;\n log.appendChild(d);log.scrollTop=log.scrollHeight;\n }\n if(!startBtn){return}\n startBtn.addEventListener('click',function(){\n startBtn.disabled=true;plog('Abriendo shell\u2026\n');\n fetch(q+'/pty?'+tk,{method:'POST',headers:{'content-type':'application/json'},body:'{}'})\n .then(function(r){return r.ok?r.json():Promise.reject(r.status)})\n .then(function(info){openPtyWs(info.wsUrl)})\n .catch(function(s){plog('\u2716 no se pudo abrir PTY ('+s+')\n');startBtn.disabled=false});\n });\n function openPtyWs(url){\n try{\n var ws=new WebSocket(url);\n ws.binaryType='arraybuffer';\n ws.onmessage=function(e){\n var data=e.data;\n if(data instanceof ArrayBuffer){data=new TextDecoder().decode(new Uint8Array(data))}\n plog(data);\n };\n ws.onclose=function(){plog('\n[shell cerrada]\n');startBtn.disabled=false};\n ws.onerror=function(){plog('\n\u2716 error de WebSocket\n')};\n if(input){\n input.hidden=false;\n input.addEventListener('submit',function(e){\n e.preventDefault();\n var c=input.querySelector('input[name=cmd]');\n if(!c.value){return}\n ws.send(c.value+'\r');c.value='';\n });\n }\n }catch(_){plog('\n\u2716 WebSocket no disponible\n');startBtn.disabled=false}\n }\n }\n var bar=document.getElementById('tabbar');\n if(bar){\n bar.addEventListener('click',function(e){\n var t=e.target;\n while(t&&t!==bar&&!t.getAttribute('data-tab')){t=t.parentNode}\n if(t&&t.getAttribute('data-tab')){selectTab(t.getAttribute('data-tab'))}\n });\n }\n var saved='all';\n try{saved=sessionStorage.getItem('openteam.tab')||'all'}catch(e){}\n if(!selectTab(saved)){selectTab('all')}\n})();\n";
9
+ //# sourceMappingURL=assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/console/assets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,aAAa,igJA6DzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,iwKAiI7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/console/render.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAGV,YAAY,EAIb,MAAM,SAAS,CAAC;AASjB,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AAsjBD,MAAM,MAAM,aAAa,GAAG;IAC1B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAoDR"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/console/render.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAGV,YAAY,EAIb,MAAM,SAAS,CAAC;AASjB,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AAyXD,MAAM,MAAM,aAAa,GAAG;IAC1B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAoDR"}
@@ -0,0 +1,48 @@
1
+ import type { ContextRef, ManifestEntry } from "./schema";
2
+ /**
3
+ * Utilidades de **redacción** del seam de contexto.
4
+ *
5
+ * Calcula digests SHA-256 estables y construye entradas de manifiesto a partir
6
+ * de contenido en memoria **sin persistirlo**. También ofrece un guard que
7
+ * rechaza estructuras con campos de contenido crudo, para mantener journal,
8
+ * snapshots y telemetría solo con referencias.
9
+ *
10
+ * Cómputo determinista: `node:crypto` y `Buffer` no son I/O, reloj ni random.
11
+ */
12
+ /** Error tipado de una violación de la política reference-only. */
13
+ export declare class RedactionError extends Error {
14
+ readonly code: "raw-content";
15
+ readonly key: string;
16
+ constructor(key: string);
17
+ }
18
+ /** Digest SHA-256 en hex minúscula de una cadena UTF-8. */
19
+ export declare function sha256Hex(input: string): string;
20
+ /** Par digest + tamaño en bytes UTF-8 de un contenido en memoria. */
21
+ export type Digest = {
22
+ sha256: string;
23
+ bytes: number;
24
+ };
25
+ /** Deriva el digest y el tamaño UTF-8 de un contenido, sin almacenarlo. */
26
+ export declare function digestUtf8(text: string): Digest;
27
+ /**
28
+ * Construye una entrada de manifiesto redactada a partir de contenido en
29
+ * memoria. Incluye la `ContextRef` solo si se aporta una referencia estable.
30
+ */
31
+ export declare function buildManifestEntry(label: string, text: string, ref?: ContextRef): ManifestEntry;
32
+ /**
33
+ * Proyección **reference-only** de una `ContextRef`: solo localización lógica,
34
+ * digest y tamaño. Descarta `mediaType` para mantener la telemetría acotada;
35
+ * nunca transporta contenido.
36
+ */
37
+ export declare function redactedRef(ref: ContextRef): {
38
+ uri: string;
39
+ sha256: string;
40
+ bytes: number;
41
+ };
42
+ /**
43
+ * Recorre una estructura y lanza `RedactionError` si encuentra alguna clave de
44
+ * contenido crudo. Guard barato para journal/snapshots/telemetría; no valida
45
+ * esquema, solo ausencia de campos crudos.
46
+ */
47
+ export declare function assertReferenceOnly(value: unknown): void;
48
+ //# sourceMappingURL=redaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../src/context/redaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE1D;;;;;;;;;GASG;AAEH,mEAAmE;AACnE,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAET,GAAG,EAAE,MAAM;CAMxB;AAED,2DAA2D;AAC3D,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,qEAAqE;AACrE,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,UAAU,GACf,aAAa,CAKf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAEA;AAgBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAkBxD"}