@opensip-cli/yagni 0.1.11 → 0.1.12

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 (109) hide show
  1. package/README.md +2 -2
  2. package/dist/__tests__/architecture-invariants.test.d.ts +6 -0
  3. package/dist/__tests__/architecture-invariants.test.d.ts.map +1 -0
  4. package/dist/__tests__/architecture-invariants.test.js +37 -0
  5. package/dist/__tests__/architecture-invariants.test.js.map +1 -0
  6. package/dist/__tests__/detector-progress.test.d.ts +2 -0
  7. package/dist/__tests__/detector-progress.test.d.ts.map +1 -0
  8. package/dist/__tests__/detector-progress.test.js +73 -0
  9. package/dist/__tests__/detector-progress.test.js.map +1 -0
  10. package/dist/__tests__/duplicate-parity.test.d.ts +15 -0
  11. package/dist/__tests__/duplicate-parity.test.d.ts.map +1 -0
  12. package/dist/__tests__/duplicate-parity.test.js +304 -0
  13. package/dist/__tests__/duplicate-parity.test.js.map +1 -0
  14. package/dist/__tests__/hardening.test.d.ts +2 -0
  15. package/dist/__tests__/hardening.test.d.ts.map +1 -0
  16. package/dist/__tests__/hardening.test.js +101 -0
  17. package/dist/__tests__/hardening.test.js.map +1 -0
  18. package/dist/__tests__/session-payload.test.d.ts +2 -0
  19. package/dist/__tests__/session-payload.test.d.ts.map +1 -0
  20. package/dist/__tests__/session-payload.test.js +57 -0
  21. package/dist/__tests__/session-payload.test.js.map +1 -0
  22. package/dist/__tests__/walk-typescript-files.test.js +15 -1
  23. package/dist/__tests__/walk-typescript-files.test.js.map +1 -1
  24. package/dist/__tests__/yagni-coverage.test.js +24 -199
  25. package/dist/__tests__/yagni-coverage.test.js.map +1 -1
  26. package/dist/__tests__/yagni-golden.test.js +7 -24
  27. package/dist/__tests__/yagni-golden.test.js.map +1 -1
  28. package/dist/__tests__/yagni-presentation.test.js +4 -5
  29. package/dist/__tests__/yagni-presentation.test.js.map +1 -1
  30. package/dist/cli/__tests__/yagni-runner.test.js +4 -6
  31. package/dist/cli/__tests__/yagni-runner.test.js.map +1 -1
  32. package/dist/cli/execute-yagni.d.ts +15 -4
  33. package/dist/cli/execute-yagni.d.ts.map +1 -1
  34. package/dist/cli/execute-yagni.js +68 -30
  35. package/dist/cli/execute-yagni.js.map +1 -1
  36. package/dist/cli/report-data.d.ts +0 -2
  37. package/dist/cli/report-data.d.ts.map +1 -1
  38. package/dist/cli/report-data.js +0 -2
  39. package/dist/cli/report-data.js.map +1 -1
  40. package/dist/cli/yagni-command-spec.d.ts.map +1 -1
  41. package/dist/cli/yagni-command-spec.js +4 -19
  42. package/dist/cli/yagni-command-spec.js.map +1 -1
  43. package/dist/cli/yagni-config-schema.d.ts +1 -7
  44. package/dist/cli/yagni-config-schema.d.ts.map +1 -1
  45. package/dist/cli/yagni-config-schema.js +4 -6
  46. package/dist/cli/yagni-config-schema.js.map +1 -1
  47. package/dist/cli/yagni-config.d.ts.map +1 -1
  48. package/dist/cli/yagni-config.js +3 -7
  49. package/dist/cli/yagni-config.js.map +1 -1
  50. package/dist/cli/yagni-presentation.d.ts +1 -2
  51. package/dist/cli/yagni-presentation.d.ts.map +1 -1
  52. package/dist/cli/yagni-presentation.js +4 -4
  53. package/dist/cli/yagni-presentation.js.map +1 -1
  54. package/dist/cli/yagni-runner.d.ts +0 -2
  55. package/dist/cli/yagni-runner.d.ts.map +1 -1
  56. package/dist/cli/yagni-runner.js +40 -8
  57. package/dist/cli/yagni-runner.js.map +1 -1
  58. package/dist/detectors/duplicate-body-candidate.d.ts +9 -2
  59. package/dist/detectors/duplicate-body-candidate.d.ts.map +1 -1
  60. package/dist/detectors/duplicate-body-candidate.js +123 -120
  61. package/dist/detectors/duplicate-body-candidate.js.map +1 -1
  62. package/dist/detectors/registry.d.ts +9 -1
  63. package/dist/detectors/registry.d.ts.map +1 -1
  64. package/dist/detectors/registry.js +9 -1
  65. package/dist/detectors/registry.js.map +1 -1
  66. package/dist/detectors/types.d.ts +1 -2
  67. package/dist/detectors/types.d.ts.map +1 -1
  68. package/dist/detectors/unused-config-surface.d.ts.map +1 -1
  69. package/dist/detectors/unused-config-surface.js +0 -2
  70. package/dist/detectors/unused-config-surface.js.map +1 -1
  71. package/dist/index.d.ts +1 -1
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/lib/build-ts-inventory.d.ts +33 -0
  74. package/dist/lib/build-ts-inventory.d.ts.map +1 -0
  75. package/dist/lib/build-ts-inventory.js +252 -0
  76. package/dist/lib/build-ts-inventory.js.map +1 -0
  77. package/dist/persistence/session-payload.d.ts +7 -10
  78. package/dist/persistence/session-payload.d.ts.map +1 -1
  79. package/dist/persistence/session-payload.js +64 -6
  80. package/dist/persistence/session-payload.js.map +1 -1
  81. package/dist/scoring/__tests__/confidence.test.js +3 -4
  82. package/dist/scoring/__tests__/confidence.test.js.map +1 -1
  83. package/dist/scoring/confidence.d.ts +1 -1
  84. package/dist/scoring/confidence.d.ts.map +1 -1
  85. package/dist/scoring/confidence.js +1 -2
  86. package/dist/scoring/confidence.js.map +1 -1
  87. package/dist/types/yagni-config.d.ts +1 -4
  88. package/dist/types/yagni-config.d.ts.map +1 -1
  89. package/dist/types/yagni-config.js +0 -1
  90. package/dist/types/yagni-config.js.map +1 -1
  91. package/dist/types/yagni-metadata.d.ts +0 -1
  92. package/dist/types/yagni-metadata.d.ts.map +1 -1
  93. package/package.json +10 -10
  94. package/dist/__tests__/graph-evidence.test.d.ts +0 -2
  95. package/dist/__tests__/graph-evidence.test.d.ts.map +0 -1
  96. package/dist/__tests__/graph-evidence.test.js +0 -159
  97. package/dist/__tests__/graph-evidence.test.js.map +0 -1
  98. package/dist/evidence/graph-evidence.d.ts +0 -15
  99. package/dist/evidence/graph-evidence.d.ts.map +0 -1
  100. package/dist/evidence/graph-evidence.js +0 -89
  101. package/dist/evidence/graph-evidence.js.map +0 -1
  102. package/dist/evidence/load-graph-adapters.d.ts +0 -13
  103. package/dist/evidence/load-graph-adapters.d.ts.map +0 -1
  104. package/dist/evidence/load-graph-adapters.js +0 -67
  105. package/dist/evidence/load-graph-adapters.js.map +0 -1
  106. package/dist/lib/isolate-exit-code.d.ts +0 -8
  107. package/dist/lib/isolate-exit-code.d.ts.map +0 -1
  108. package/dist/lib/isolate-exit-code.js +0 -27
  109. package/dist/lib/isolate-exit-code.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../../src/scoring/confidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../../src/scoring/confidence.ts"],"names":[],"mappings":"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"}
@@ -2,17 +2,14 @@
2
2
  * Resolved YAGNI tool configuration — mirrors the `yagni:` namespace block.
3
3
  */
4
4
  import type { YagniConfidence } from './yagni-metadata.js';
5
- /** Graph evidence strategy used by YAGNI graph-backed detectors. */
6
- export type YagniGraphMode = 'auto' | 'reuse' | 'build' | 'off';
7
5
  /** Validated values from the `yagni:` config namespace. */
8
6
  export interface YagniConfig {
9
7
  readonly failOnErrors?: number;
10
8
  readonly failOnWarnings?: number;
11
9
  readonly defaultMinConfidence?: YagniConfidence;
12
- readonly graphMode?: YagniGraphMode;
13
10
  readonly includeTests?: boolean;
14
11
  readonly disabledDetectors?: readonly string[];
15
12
  readonly detectorSettings?: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
16
13
  }
17
- export declare const DEFAULT_YAGNI_CONFIG: Required<Pick<YagniConfig, 'failOnErrors' | 'failOnWarnings' | 'defaultMinConfidence' | 'graphMode' | 'includeTests'>>;
14
+ export declare const DEFAULT_YAGNI_CONFIG: Required<Pick<YagniConfig, 'failOnErrors' | 'failOnWarnings' | 'defaultMinConfidence' | 'includeTests'>>;
18
15
  //# sourceMappingURL=yagni-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"yagni-config.d.ts","sourceRoot":"","sources":["../../src/types/yagni-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,oEAAoE;AACpE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAEhE,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,eAAe,CAAC;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CACzF;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CACzC,IAAI,CACF,WAAW,EACX,cAAc,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,WAAW,GAAG,cAAc,CAC1F,CAOF,CAAC"}
1
+ {"version":3,"file":"yagni-config.d.ts","sourceRoot":"","sources":["../../src/types/yagni-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,eAAe,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CACzF;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CACzC,IAAI,CAAC,WAAW,EAAE,cAAc,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,cAAc,CAAC,CAM/F,CAAC"}
@@ -5,7 +5,6 @@ export const DEFAULT_YAGNI_CONFIG = {
5
5
  failOnErrors: 0,
6
6
  failOnWarnings: 0,
7
7
  defaultMinConfidence: 'medium',
8
- graphMode: 'auto',
9
8
  includeTests: false,
10
9
  };
11
10
  //# sourceMappingURL=yagni-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yagni-config.js","sourceRoot":"","sources":["../../src/types/yagni-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH,MAAM,CAAC,MAAM,oBAAoB,GAK7B;IACF,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,QAAQ;IAC9B,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,KAAK;CACpB,CAAC"}
1
+ {"version":3,"file":"yagni-config.js","sourceRoot":"","sources":["../../src/types/yagni-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,MAAM,CAAC,MAAM,oBAAoB,GAE7B;IACF,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,QAAQ;IAC9B,YAAY,EAAE,KAAK;CACpB,CAAC"}
@@ -41,7 +41,6 @@ export interface YagniRunSummary {
41
41
  readonly low: number;
42
42
  };
43
43
  readonly estimatedTotalLocReduction: number;
44
- readonly graphMode: string;
45
44
  readonly skippedDetectors: readonly {
46
45
  readonly slug: string;
47
46
  readonly reason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"yagni-metadata.d.ts","sourceRoot":"","sources":["../../src/types/yagni-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,QAAQ,CAAC;AAEb,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,CAAC;AAEtE,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;CAC1C;AAED,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD;AAED,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,SAAS;QAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;CACL"}
1
+ {"version":3,"file":"yagni-metadata.d.ts","sourceRoot":"","sources":["../../src/types/yagni-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,QAAQ,CAAC;AAEb,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,CAAC;AAEtE,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;CAC1C;AAED,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD;AAED,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAED,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,SAAS;QAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;CACL"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensip-cli/yagni",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "license": "Apache-2.0",
5
5
  "description": "YAGNI reduction audit for OpenSIP CLI",
6
6
  "keywords": [
@@ -54,19 +54,19 @@
54
54
  "react": "^19.2.7",
55
55
  "typescript": "~6.0.3",
56
56
  "zod": "^4.4.3",
57
- "@opensip-cli/cli-live": "0.1.11",
58
- "@opensip-cli/cli-ui": "0.1.11",
59
- "@opensip-cli/config": "0.1.11",
60
- "@opensip-cli/contracts": "0.1.11",
61
- "@opensip-cli/core": "0.1.11",
62
- "@opensip-cli/datastore": "0.1.11",
63
- "@opensip-cli/graph": "0.1.11",
64
- "@opensip-cli/lang-typescript": "0.1.11"
57
+ "@opensip-cli/clone-detection": "0.1.12",
58
+ "@opensip-cli/cli-live": "0.1.12",
59
+ "@opensip-cli/contracts": "0.1.12",
60
+ "@opensip-cli/config": "0.1.12",
61
+ "@opensip-cli/cli-ui": "0.1.12",
62
+ "@opensip-cli/core": "0.1.12",
63
+ "@opensip-cli/lang-typescript": "0.1.12"
65
64
  },
66
65
  "devDependencies": {
67
66
  "@types/node": "^24.13.2",
68
67
  "@types/react": "^19.2.17",
69
- "vitest": "^4.1.8"
68
+ "vitest": "^4.1.8",
69
+ "@opensip-cli/graph-typescript": "0.1.12"
70
70
  },
71
71
  "scripts": {
72
72
  "build": "tsc",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=graph-evidence.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph-evidence.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/graph-evidence.test.ts"],"names":[],"mappings":""}
@@ -1,159 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- import { resolveGraphEvidence } from '../evidence/graph-evidence.js';
3
- const graphMocks = vi.hoisted(() => {
4
- const loadCatalogContract = vi.fn();
5
- const runGraph = vi.fn();
6
- const replaceAll = vi.fn();
7
- const CatalogRepo = vi.fn().mockImplementation(function CatalogRepo() {
8
- return { loadCatalogContract, replaceAll };
9
- });
10
- return { CatalogRepo, runGraph, loadCatalogContract, replaceAll };
11
- });
12
- vi.mock('@opensip-cli/graph/internal', () => ({
13
- CatalogRepo: graphMocks.CatalogRepo,
14
- runGraph: graphMocks.runGraph,
15
- }));
16
- const CATALOG = {
17
- version: '1',
18
- tool: 'graph',
19
- language: 'typescript',
20
- builtAt: '2026-06-21T00:00:00.000Z',
21
- functions: {},
22
- };
23
- function cliWithDatastore(exit) {
24
- const state = { code: exit?.prior };
25
- return {
26
- // A graph adapter is registered → `auto` rebuilds via runGraph.
27
- scope: { datastore: () => ({}), graph: { adapters: { size: 1 } } },
28
- getExitCode: () => state.code,
29
- setExitCode: (code) => {
30
- state.code = code;
31
- },
32
- _exitState: state,
33
- };
34
- }
35
- /** Datastore present, but NO graph adapter registered (a plain `yagni` run). */
36
- function cliNoGraphAdapter() {
37
- return {
38
- scope: { datastore: () => ({}), graph: { adapters: { size: 0 } } },
39
- };
40
- }
41
- function cliWithoutDatastore() {
42
- return {
43
- scope: { datastore: () => undefined },
44
- };
45
- }
46
- describe('resolveGraphEvidence', () => {
47
- beforeEach(() => {
48
- graphMocks.CatalogRepo.mockClear();
49
- graphMocks.runGraph.mockReset();
50
- graphMocks.runGraph.mockResolvedValue({ catalog: CATALOG, signals: [] });
51
- graphMocks.loadCatalogContract.mockReset();
52
- });
53
- it('forces a graph rebuild in build mode', async () => {
54
- graphMocks.loadCatalogContract.mockReturnValue(CATALOG);
55
- const cli = cliWithDatastore();
56
- const result = await resolveGraphEvidence('/repo', 'build', cli);
57
- expect(graphMocks.runGraph).toHaveBeenCalledWith({
58
- cwd: '/repo',
59
- noCache: true,
60
- rules: [],
61
- datastore: {},
62
- });
63
- expect(result).toMatchObject({
64
- catalog: CATALOG,
65
- mode: 'build',
66
- built: true,
67
- detail: 'built fresh catalog',
68
- });
69
- });
70
- it('delegates auto mode to graph cache validation instead of direct catalog reuse', async () => {
71
- graphMocks.loadCatalogContract.mockReturnValue(CATALOG);
72
- const cli = cliWithDatastore();
73
- const result = await resolveGraphEvidence('/repo', 'auto', cli);
74
- expect(graphMocks.runGraph).toHaveBeenCalledWith({
75
- cwd: '/repo',
76
- noCache: false,
77
- rules: [],
78
- datastore: {},
79
- });
80
- expect(result).toMatchObject({
81
- catalog: CATALOG,
82
- mode: 'auto',
83
- built: false,
84
- detail: 'auto resolved graph catalog',
85
- });
86
- });
87
- it('auto mode without a graph adapter reuses the cached catalog (no runGraph)', async () => {
88
- graphMocks.loadCatalogContract.mockReturnValue(CATALOG);
89
- const result = await resolveGraphEvidence('/repo', 'auto', cliNoGraphAdapter());
90
- // No adapters in scope — the degraded path must NOT call runGraph.
91
- expect(graphMocks.runGraph).not.toHaveBeenCalled();
92
- expect(result).toMatchObject({
93
- catalog: CATALOG,
94
- mode: 'auto',
95
- built: false,
96
- detail: 'reused cached catalog (no adapter to rebuild)',
97
- });
98
- });
99
- it('auto mode returns null when there is no graph adapter and no cached catalog', async () => {
100
- graphMocks.loadCatalogContract.mockReturnValue(null);
101
- const result = await resolveGraphEvidence('/repo', 'auto', cliNoGraphAdapter());
102
- expect(graphMocks.runGraph).not.toHaveBeenCalled();
103
- expect(result).toMatchObject({
104
- catalog: null,
105
- mode: 'auto',
106
- built: false,
107
- detail: 'no graph adapter; no cached catalog',
108
- });
109
- });
110
- it('reuses a persisted catalog without invoking graph in reuse mode', async () => {
111
- graphMocks.loadCatalogContract.mockReturnValue(CATALOG);
112
- const cli = cliWithDatastore();
113
- const result = await resolveGraphEvidence('/repo', 'reuse', cli);
114
- expect(graphMocks.runGraph).not.toHaveBeenCalled();
115
- expect(result).toMatchObject({
116
- catalog: CATALOG,
117
- mode: 'reuse',
118
- built: false,
119
- detail: 'reused cached catalog',
120
- });
121
- });
122
- it('returns explicit details for disabled, unavailable, and missing cached graph evidence', async () => {
123
- await expect(resolveGraphEvidence('/repo', 'off', cliWithoutDatastore())).resolves.toMatchObject({
124
- catalog: null,
125
- mode: 'off',
126
- built: false,
127
- detail: 'graph disabled',
128
- });
129
- await expect(resolveGraphEvidence('/repo', 'reuse', cliWithoutDatastore())).resolves.toMatchObject({
130
- catalog: null,
131
- mode: 'reuse',
132
- built: false,
133
- detail: 'datastore unavailable',
134
- });
135
- graphMocks.loadCatalogContract.mockReturnValue(null);
136
- await expect(resolveGraphEvidence('/repo', 'reuse', cliWithDatastore())).resolves.toMatchObject({
137
- catalog: null,
138
- mode: 'reuse',
139
- built: false,
140
- detail: 'no cached catalog',
141
- });
142
- });
143
- it('reports null catalog outcomes from build and auto modes', async () => {
144
- graphMocks.loadCatalogContract.mockReturnValue(null);
145
- await expect(resolveGraphEvidence('/repo', 'build', cliWithDatastore())).resolves.toMatchObject({
146
- catalog: null,
147
- mode: 'build',
148
- built: false,
149
- detail: 'graph build produced no catalog',
150
- });
151
- await expect(resolveGraphEvidence('/repo', 'auto', cliWithDatastore())).resolves.toMatchObject({
152
- catalog: null,
153
- mode: 'auto',
154
- built: false,
155
- detail: 'auto build produced no catalog',
156
- });
157
- });
158
- });
159
- //# sourceMappingURL=graph-evidence.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph-evidence.test.js","sourceRoot":"","sources":["../../src/__tests__/graph-evidence.test.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Graph evidence seam — the ONLY production module that may import
3
- * `@opensip-cli/graph/internal` (dependency-cruiser carve-out).
4
- */
5
- import type { YagniGraphMode } from '../types/yagni-config.js';
6
- import type { GraphCatalog } from '@opensip-cli/contracts';
7
- import type { ToolCliContext } from '@opensip-cli/core';
8
- export interface GraphEvidenceResult {
9
- readonly catalog: GraphCatalog | null;
10
- readonly mode: YagniGraphMode;
11
- readonly built: boolean;
12
- readonly detail?: string;
13
- }
14
- export declare function resolveGraphEvidence(cwd: string, mode: YagniGraphMode, cli: ToolCliContext): Promise<GraphEvidenceResult>;
15
- //# sourceMappingURL=graph-evidence.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph-evidence.d.ts","sourceRoot":"","sources":["../../src/evidence/graph-evidence.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,mBAAmB,CAAC,CA8D9B"}
@@ -1,89 +0,0 @@
1
- /**
2
- * Graph evidence seam — the ONLY production module that may import
3
- * `@opensip-cli/graph/internal` (dependency-cruiser carve-out).
4
- */
5
- import { CatalogRepo, runGraph } from '@opensip-cli/graph/internal';
6
- import { withPreservedExitCode } from '../lib/isolate-exit-code.js';
7
- import { ensureGraphAdaptersLoaded } from './load-graph-adapters.js';
8
- export async function resolveGraphEvidence(cwd, mode, cli) {
9
- if (mode === 'off') {
10
- return { catalog: null, mode, built: false, detail: 'graph disabled' };
11
- }
12
- const datastore = cli.scope.datastore();
13
- if (datastore === undefined) {
14
- return {
15
- catalog: null,
16
- mode,
17
- built: false,
18
- detail: 'datastore unavailable',
19
- };
20
- }
21
- if (mode === 'reuse') {
22
- const repo = new CatalogRepo(datastore);
23
- const catalog = repo.loadCatalogContract();
24
- return {
25
- catalog,
26
- mode,
27
- built: false,
28
- detail: catalog === null ? 'no cached catalog' : 'reused cached catalog',
29
- };
30
- }
31
- if (mode === 'build') {
32
- await ensureGraphAdaptersLoaded(cwd);
33
- const built = await buildGraphCatalog(cwd, cli, { force: true });
34
- return {
35
- catalog: built,
36
- mode,
37
- built: built !== null,
38
- detail: built === null ? 'graph build produced no catalog' : 'built fresh catalog',
39
- };
40
- }
41
- // auto: best-effort enrichment — load graph adapters (yagni owns the command,
42
- // so the host did not), then delegate to graph's cache-invalidation path.
43
- // When adapters still cannot be resolved, degrade to a cached catalog only.
44
- await ensureGraphAdaptersLoaded(cwd);
45
- const graphScope = cli.scope;
46
- if ((graphScope.graph?.adapters?.size ?? 0) === 0) {
47
- const catalog = new CatalogRepo(datastore).loadCatalogContract();
48
- return {
49
- catalog,
50
- mode,
51
- built: false,
52
- detail: catalog === null
53
- ? 'no graph adapter; no cached catalog'
54
- : 'reused cached catalog (no adapter to rebuild)',
55
- };
56
- }
57
- const catalog = await buildGraphCatalog(cwd, cli, { force: false });
58
- return {
59
- catalog,
60
- mode,
61
- built: false,
62
- detail: catalog === null ? 'auto build produced no catalog' : 'auto resolved graph catalog',
63
- };
64
- }
65
- async function buildGraphCatalog(cwd, cli, opts) {
66
- const graphScope = cli.scope;
67
- if ((graphScope.graph?.adapters?.size ?? 0) === 0)
68
- return null;
69
- const datastore = cli.scope.datastore();
70
- if (datastore === undefined)
71
- return null;
72
- // Evidence-only in-process build: `executeGraph` fans out sharded workers that
73
- // re-bootstrap under yagni (no graph-adapter domain), so fragments never land.
74
- // `runGraph` reuses the adapters yagni loaded above without emitting a graph
75
- // CLI envelope onto stdout. Persist explicitly afterward: the orchestrator
76
- // skips `replaceAll` when `noCache: true` (build mode), but yagni needs the
77
- // catalog row for duplicate-body-candidate regardless.
78
- const result = await withPreservedExitCode(cli, () => runGraph({
79
- cwd,
80
- noCache: opts.force,
81
- rules: [],
82
- datastore,
83
- }));
84
- if (result.catalog !== undefined && result.catalog !== null) {
85
- new CatalogRepo(datastore).replaceAll(result.catalog);
86
- }
87
- return new CatalogRepo(datastore).loadCatalogContract();
88
- }
89
- //# sourceMappingURL=graph-evidence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph-evidence.js","sourceRoot":"","sources":["../../src/evidence/graph-evidence.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Lazy-load graph language adapters for YAGNI graph evidence.
3
- *
4
- * The CLI host only drives capability discovery for the *owning* tool's domains
5
- * (`loadOwningToolCapabilities`). A plain `opensip yagni` run therefore does not
6
- * register graph adapters even though `scope.graph` exists (graph's
7
- * `contributeScope` runs for every bundled tool). Before building or refreshing
8
- * graph evidence, YAGNI must drive the `graph-adapter` domain itself — the same
9
- * pattern simulation uses for `sim-pack` in `ensureScenariosLoaded`.
10
- */
11
- /** Register graph language adapters when this yagni run needs graph evidence. */
12
- export declare function ensureGraphAdaptersLoaded(projectDir: string): Promise<void>;
13
- //# sourceMappingURL=load-graph-adapters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-graph-adapters.d.ts","sourceRoot":"","sources":["../../src/evidence/load-graph-adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA+CH,iFAAiF;AACjF,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBjF"}
@@ -1,67 +0,0 @@
1
- /**
2
- * Lazy-load graph language adapters for YAGNI graph evidence.
3
- *
4
- * The CLI host only drives capability discovery for the *owning* tool's domains
5
- * (`loadOwningToolCapabilities`). A plain `opensip yagni` run therefore does not
6
- * register graph adapters even though `scope.graph` exists (graph's
7
- * `contributeScope` runs for every bundled tool). Before building or refreshing
8
- * graph evidence, YAGNI must drive the `graph-adapter` domain itself — the same
9
- * pattern simulation uses for `sim-pack` in `ensureScenariosLoaded`.
10
- */
11
- import { dirname } from 'node:path';
12
- import { resolveCapabilityPreferences } from '@opensip-cli/config';
13
- import { currentScope, loadCapabilityDomain, } from '@opensip-cli/core';
14
- /** Built-in graph adapters bundled with the CLI (mirrors bundled-tools.manifest.json). */
15
- const BUNDLED_GRAPH_ADAPTERS = [
16
- '@opensip-cli/graph-typescript',
17
- '@opensip-cli/graph-python',
18
- '@opensip-cli/graph-rust',
19
- '@opensip-cli/graph-go',
20
- '@opensip-cli/graph-java',
21
- ];
22
- function graphAdapterCount() {
23
- const scope = currentScope();
24
- return scope?.graph?.adapters?.size ?? 0;
25
- }
26
- /**
27
- * Resolve the CLI package install root from the process entry script
28
- * (`.../dist/index.js` → two levels up). Used so built-in `@opensip-cli/graph-*`
29
- * adapters resolve from the CLI's own dependency tree when the consumer project
30
- * does not carry them.
31
- */
32
- function resolveCliInstallDir() {
33
- const entry = process.argv[1];
34
- if (entry === undefined || entry.length === 0)
35
- return undefined;
36
- return dirname(dirname(entry));
37
- }
38
- function augmentBundledGraphAdapterPreferences(descriptor, preferences) {
39
- if (preferences.packages !== undefined)
40
- return preferences;
41
- if (descriptor?.discovery.mode !== 'marker')
42
- return preferences;
43
- return { ...preferences, packages: [...BUNDLED_GRAPH_ADAPTERS] };
44
- }
45
- /** Register graph language adapters when this yagni run needs graph evidence. */
46
- export async function ensureGraphAdaptersLoaded(projectDir) {
47
- if (graphAdapterCount() > 0)
48
- return;
49
- const scope = currentScope();
50
- const registry = scope?.capabilities;
51
- if (!registry?.hasDomain('graph-adapter'))
52
- return;
53
- if (registry.isDomainLoaded('graph-adapter', projectDir))
54
- return;
55
- const descriptor = registry.getDomain('graph-adapter')?.discovery;
56
- const preferences = augmentBundledGraphAdapterPreferences(descriptor, descriptor === undefined
57
- ? {}
58
- : resolveCapabilityPreferences(descriptor, scope?.configDocument?.plugins ?? {}));
59
- await loadCapabilityDomain({
60
- registry,
61
- domainId: 'graph-adapter',
62
- projectDir,
63
- cliDir: resolveCliInstallDir(),
64
- preferences,
65
- });
66
- }
67
- //# sourceMappingURL=load-graph-adapters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-graph-adapters.js","sourceRoot":"","sources":["../../src/evidence/load-graph-adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EACL,YAAY,EACZ,oBAAoB,GAGrB,MAAM,mBAAmB,CAAC;AAE3B,0FAA0F;AAC1F,MAAM,sBAAsB,GAAG;IAC7B,+BAA+B;IAC/B,2BAA2B;IAC3B,yBAAyB;IACzB,uBAAuB;IACvB,yBAAyB;CACjB,CAAC;AAEX,SAAS,iBAAiB;IACxB,MAAM,KAAK,GAAG,YAAY,EAA8D,CAAC;IACzF,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,qCAAqC,CAC5C,UAAqD,EACrD,WAA2C;IAE3C,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC3D,IAAI,UAAU,EAAE,SAAS,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IAChE,OAAO,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,CAAC,GAAG,sBAAsB,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,UAAkB;IAChE,IAAI,iBAAiB,EAAE,GAAG,CAAC;QAAE,OAAO;IAEpC,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,KAAK,EAAE,YAAY,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,eAAe,CAAC;QAAE,OAAO;IAClD,IAAI,QAAQ,CAAC,cAAc,CAAC,eAAe,EAAE,UAAU,CAAC;QAAE,OAAO;IAEjE,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC;IAClE,MAAM,WAAW,GAAG,qCAAqC,CACvD,UAAU,EACV,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,4BAA4B,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,IAAI,EAAE,CAAC,CACnF,CAAC;IAEF,MAAM,oBAAoB,CAAC;QACzB,QAAQ;QACR,QAAQ,EAAE,eAAe;QACzB,UAAU;QACV,MAAM,EAAE,oBAAoB,EAAE;QAC9B,WAAW;KACZ,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { ToolCliContext } from '@opensip-cli/core';
2
- /**
3
- * Run `fn` without letting a nested tool handler (e.g. `executeGraph`) leak its
4
- * exit code into the yagni command. Graph builds evidence only — yagni owns the
5
- * process exit (advisory `failOnErrors/Warnings: 0`).
6
- */
7
- export declare function withPreservedExitCode<T>(cli: ToolCliContext, fn: () => Promise<T>): Promise<T>;
8
- //# sourceMappingURL=isolate-exit-code.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isolate-exit-code.d.ts","sourceRoot":"","sources":["../../src/lib/isolate-exit-code.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAgBZ"}
@@ -1,27 +0,0 @@
1
- import { EXIT_CODES } from '@opensip-cli/contracts';
2
- /**
3
- * Run `fn` without letting a nested tool handler (e.g. `executeGraph`) leak its
4
- * exit code into the yagni command. Graph builds evidence only — yagni owns the
5
- * process exit (advisory `failOnErrors/Warnings: 0`).
6
- */
7
- export async function withPreservedExitCode(cli, fn) {
8
- const prior = cli.getExitCode?.();
9
- try {
10
- return await fn();
11
- }
12
- finally {
13
- const after = cli.getExitCode?.();
14
- if (after === prior) {
15
- // no graph exit leak
16
- }
17
- else if (prior === undefined) {
18
- if (after !== undefined) {
19
- cli.setExitCode(EXIT_CODES.SUCCESS);
20
- }
21
- }
22
- else {
23
- cli.setExitCode(prior);
24
- }
25
- }
26
- }
27
- //# sourceMappingURL=isolate-exit-code.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isolate-exit-code.js","sourceRoot":"","sources":["../../src/lib/isolate-exit-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAmB,EACnB,EAAoB;IAEpB,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,qBAAqB;QACvB,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC"}