@jeger-ai/opengantry 2.7.0 → 3.0.1

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 (260) hide show
  1. package/NOTICE +1 -0
  2. package/README.md +139 -326
  3. package/dist/cli/commands/arch.d.ts +2 -1
  4. package/dist/cli/commands/arch.d.ts.map +1 -1
  5. package/dist/cli/commands/arch.js +20 -9
  6. package/dist/cli/commands/arch.js.map +1 -1
  7. package/dist/cli/commands/blueprint.d.ts +7 -0
  8. package/dist/cli/commands/blueprint.d.ts.map +1 -0
  9. package/dist/cli/commands/blueprint.js +69 -0
  10. package/dist/cli/commands/blueprint.js.map +1 -0
  11. package/dist/cli/commands/init.d.ts +3 -0
  12. package/dist/cli/commands/init.d.ts.map +1 -1
  13. package/dist/cli/commands/init.js +12 -0
  14. package/dist/cli/commands/init.js.map +1 -1
  15. package/dist/cli/lib/arch/cage/architecture-drift-doctor.d.ts +4 -0
  16. package/dist/cli/lib/arch/cage/architecture-drift-doctor.d.ts.map +1 -0
  17. package/dist/cli/lib/arch/cage/architecture-drift-doctor.js +58 -0
  18. package/dist/cli/lib/arch/cage/architecture-drift-doctor.js.map +1 -0
  19. package/dist/cli/lib/{target-architecture-doctor.d.ts → arch/cage/target-architecture-doctor.d.ts} +1 -1
  20. package/dist/cli/lib/arch/cage/target-architecture-doctor.d.ts.map +1 -0
  21. package/dist/cli/lib/arch/cage/target-architecture-doctor.js.map +1 -0
  22. package/dist/cli/lib/{target-architecture.d.ts → arch/cage/target-architecture.d.ts} +12 -3
  23. package/dist/cli/lib/arch/cage/target-architecture.d.ts.map +1 -0
  24. package/dist/cli/lib/{target-architecture.js → arch/cage/target-architecture.js} +121 -23
  25. package/dist/cli/lib/arch/cage/target-architecture.js.map +1 -0
  26. package/dist/cli/lib/arch/external/architecture-credential.d.ts.map +1 -0
  27. package/dist/cli/lib/{architecture-credential.js → arch/external/architecture-credential.js} +2 -2
  28. package/dist/cli/lib/arch/external/architecture-credential.js.map +1 -0
  29. package/dist/cli/lib/arch/external/architecture-fetch.d.ts.map +1 -0
  30. package/dist/cli/lib/{architecture-fetch.js → arch/external/architecture-fetch.js} +1 -1
  31. package/dist/cli/lib/arch/external/architecture-fetch.js.map +1 -0
  32. package/dist/cli/lib/{architecture-pointer.d.ts → arch/external/architecture-pointer.d.ts} +1 -1
  33. package/dist/cli/lib/arch/external/architecture-pointer.d.ts.map +1 -0
  34. package/dist/cli/lib/{architecture-pointer.js → arch/external/architecture-pointer.js} +2 -2
  35. package/dist/cli/lib/arch/external/architecture-pointer.js.map +1 -0
  36. package/dist/cli/lib/blueprint-engine.d.ts +22 -0
  37. package/dist/cli/lib/blueprint-engine.d.ts.map +1 -0
  38. package/dist/cli/lib/blueprint-engine.js +127 -0
  39. package/dist/cli/lib/blueprint-engine.js.map +1 -0
  40. package/dist/cli/lib/break-glass.d.ts +1 -1
  41. package/dist/cli/lib/break-glass.d.ts.map +1 -1
  42. package/dist/cli/lib/constants.d.ts +1 -0
  43. package/dist/cli/lib/constants.d.ts.map +1 -1
  44. package/dist/cli/lib/constants.js +1 -0
  45. package/dist/cli/lib/constants.js.map +1 -1
  46. package/dist/cli/lib/context-feed-remediation.d.ts +2 -2
  47. package/dist/cli/lib/context-feed-remediation.d.ts.map +1 -1
  48. package/dist/cli/lib/discovery-proposal.d.ts +19 -0
  49. package/dist/cli/lib/discovery-proposal.d.ts.map +1 -0
  50. package/dist/cli/lib/discovery-proposal.js +110 -0
  51. package/dist/cli/lib/discovery-proposal.js.map +1 -0
  52. package/dist/cli/lib/discovery-scanner.d.ts +11 -0
  53. package/dist/cli/lib/discovery-scanner.d.ts.map +1 -0
  54. package/dist/cli/lib/discovery-scanner.js +82 -0
  55. package/dist/cli/lib/discovery-scanner.js.map +1 -0
  56. package/dist/cli/lib/discovery-types.d.ts +40 -0
  57. package/dist/cli/lib/discovery-types.d.ts.map +1 -0
  58. package/dist/cli/lib/discovery-types.js +3 -0
  59. package/dist/cli/lib/discovery-types.js.map +1 -0
  60. package/dist/cli/lib/doctor-core.d.ts.map +1 -1
  61. package/dist/cli/lib/doctor-core.js +4 -2
  62. package/dist/cli/lib/doctor-core.js.map +1 -1
  63. package/dist/cli/lib/domains/domain-adapter.d.ts +40 -0
  64. package/dist/cli/lib/domains/domain-adapter.d.ts.map +1 -0
  65. package/dist/cli/lib/domains/domain-adapter.js +20 -0
  66. package/dist/cli/lib/domains/domain-adapter.js.map +1 -0
  67. package/dist/cli/lib/domains/domain-code.d.ts +3 -0
  68. package/dist/cli/lib/domains/domain-code.d.ts.map +1 -0
  69. package/dist/cli/lib/domains/domain-code.js +170 -0
  70. package/dist/cli/lib/domains/domain-code.js.map +1 -0
  71. package/dist/cli/lib/domains/domain-content.d.ts +3 -0
  72. package/dist/cli/lib/domains/domain-content.d.ts.map +1 -0
  73. package/dist/cli/lib/domains/domain-content.js +189 -0
  74. package/dist/cli/lib/domains/domain-content.js.map +1 -0
  75. package/dist/cli/lib/domains/index.d.ts +5 -0
  76. package/dist/cli/lib/domains/index.d.ts.map +1 -0
  77. package/dist/cli/lib/domains/index.js +16 -0
  78. package/dist/cli/lib/domains/index.js.map +1 -0
  79. package/dist/cli/lib/errors.d.ts +0 -6
  80. package/dist/cli/lib/errors.d.ts.map +1 -1
  81. package/dist/cli/lib/errors.js +0 -4
  82. package/dist/cli/lib/errors.js.map +1 -1
  83. package/dist/cli/lib/gxt-error-codes.d.ts +0 -2
  84. package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -1
  85. package/dist/cli/lib/gxt-error-codes.js +0 -2
  86. package/dist/cli/lib/gxt-error-codes.js.map +1 -1
  87. package/dist/cli/lib/init-compose.d.ts +1 -1
  88. package/dist/cli/lib/init-compose.d.ts.map +1 -1
  89. package/dist/cli/lib/init-discover.d.ts +14 -0
  90. package/dist/cli/lib/init-discover.d.ts.map +1 -0
  91. package/dist/cli/lib/init-discover.js +45 -0
  92. package/dist/cli/lib/init-discover.js.map +1 -0
  93. package/dist/cli/lib/kpi-engine.d.ts +2 -2
  94. package/dist/cli/lib/kpi-engine.d.ts.map +1 -1
  95. package/dist/cli/lib/manifest.d.ts +1 -1
  96. package/dist/cli/lib/manifest.d.ts.map +1 -1
  97. package/dist/cli/lib/manifest.js +1 -1
  98. package/dist/cli/lib/manifest.js.map +1 -1
  99. package/dist/cli/lib/mcp-check-signature.d.ts +6 -0
  100. package/dist/cli/lib/mcp-check-signature.d.ts.map +1 -0
  101. package/dist/cli/lib/mcp-check-signature.js +40 -0
  102. package/dist/cli/lib/mcp-check-signature.js.map +1 -0
  103. package/dist/cli/lib/mcp-draft-legislation.d.ts +6 -0
  104. package/dist/cli/lib/mcp-draft-legislation.d.ts.map +1 -0
  105. package/dist/cli/lib/mcp-draft-legislation.js +63 -0
  106. package/dist/cli/lib/mcp-draft-legislation.js.map +1 -0
  107. package/dist/cli/lib/mcp-execute-legislation.d.ts +6 -0
  108. package/dist/cli/lib/mcp-execute-legislation.d.ts.map +1 -0
  109. package/dist/cli/lib/mcp-execute-legislation.js +53 -0
  110. package/dist/cli/lib/mcp-execute-legislation.js.map +1 -0
  111. package/dist/cli/lib/mcp-governance-shared.d.ts +119 -0
  112. package/dist/cli/lib/mcp-governance-shared.d.ts.map +1 -0
  113. package/dist/cli/lib/mcp-governance-shared.js +21 -0
  114. package/dist/cli/lib/mcp-governance-shared.js.map +1 -0
  115. package/dist/cli/lib/mcp-governance.d.ts +9 -121
  116. package/dist/cli/lib/mcp-governance.d.ts.map +1 -1
  117. package/dist/cli/lib/mcp-governance.js +8 -259
  118. package/dist/cli/lib/mcp-governance.js.map +1 -1
  119. package/dist/cli/lib/mcp-last-error.d.ts +3 -0
  120. package/dist/cli/lib/mcp-last-error.d.ts.map +1 -0
  121. package/dist/cli/lib/mcp-last-error.js +18 -0
  122. package/dist/cli/lib/mcp-last-error.js.map +1 -0
  123. package/dist/cli/lib/mcp-pin-mission.d.ts +6 -0
  124. package/dist/cli/lib/mcp-pin-mission.d.ts.map +1 -0
  125. package/dist/cli/lib/mcp-pin-mission.js +21 -0
  126. package/dist/cli/lib/mcp-pin-mission.js.map +1 -0
  127. package/dist/cli/lib/mcp-resolve-mission.d.ts +3 -0
  128. package/dist/cli/lib/mcp-resolve-mission.d.ts.map +1 -0
  129. package/dist/cli/lib/mcp-resolve-mission.js +18 -0
  130. package/dist/cli/lib/mcp-resolve-mission.js.map +1 -0
  131. package/dist/cli/lib/mcp-start-orchestration.d.ts +3 -0
  132. package/dist/cli/lib/mcp-start-orchestration.d.ts.map +1 -0
  133. package/dist/cli/lib/mcp-start-orchestration.js +53 -0
  134. package/dist/cli/lib/mcp-start-orchestration.js.map +1 -0
  135. package/dist/cli/lib/mcp-tools-register.d.ts.map +1 -1
  136. package/dist/cli/lib/mcp-tools-register.js +7 -1
  137. package/dist/cli/lib/mcp-tools-register.js.map +1 -1
  138. package/dist/cli/lib/path-glob.d.ts +8 -0
  139. package/dist/cli/lib/path-glob.d.ts.map +1 -0
  140. package/dist/cli/lib/path-glob.js +40 -0
  141. package/dist/cli/lib/path-glob.js.map +1 -0
  142. package/dist/cli/lib/perimeter.d.ts +1 -2
  143. package/dist/cli/lib/perimeter.d.ts.map +1 -1
  144. package/dist/cli/lib/perimeter.js +2 -10
  145. package/dist/cli/lib/perimeter.js.map +1 -1
  146. package/dist/cli/lib/surgeons/registry.d.ts +1 -1
  147. package/dist/cli/lib/surgeons/registry.d.ts.map +1 -1
  148. package/dist/cli/lib/trace-evidence.d.ts +21 -0
  149. package/dist/cli/lib/trace-evidence.d.ts.map +1 -0
  150. package/dist/cli/lib/trace-evidence.js +113 -0
  151. package/dist/cli/lib/trace-evidence.js.map +1 -0
  152. package/dist/cli/lib/trace-quote.d.ts +37 -0
  153. package/dist/cli/lib/trace-quote.d.ts.map +1 -0
  154. package/dist/cli/lib/trace-quote.js +177 -0
  155. package/dist/cli/lib/trace-quote.js.map +1 -0
  156. package/dist/cli/lib/trace-status.d.ts +7 -0
  157. package/dist/cli/lib/trace-status.d.ts.map +1 -0
  158. package/dist/cli/lib/trace-status.js +20 -0
  159. package/dist/cli/lib/trace-status.js.map +1 -0
  160. package/dist/cli/lib/trace.d.ts +3 -60
  161. package/dist/cli/lib/trace.d.ts.map +1 -1
  162. package/dist/cli/lib/trace.js +3 -304
  163. package/dist/cli/lib/trace.js.map +1 -1
  164. package/dist/cli/lib/upgrade-plan-catalog.d.ts +13 -0
  165. package/dist/cli/lib/upgrade-plan-catalog.d.ts.map +1 -0
  166. package/dist/cli/lib/upgrade-plan-catalog.js +85 -0
  167. package/dist/cli/lib/upgrade-plan-catalog.js.map +1 -0
  168. package/dist/cli/lib/upgrade-plan-payload.d.ts +1 -1
  169. package/dist/cli/lib/upgrade-plan-payload.d.ts.map +1 -1
  170. package/dist/cli/lib/upgrade-plan-scaffold.d.ts +15 -0
  171. package/dist/cli/lib/upgrade-plan-scaffold.d.ts.map +1 -0
  172. package/dist/cli/lib/upgrade-plan-scaffold.js +109 -0
  173. package/dist/cli/lib/upgrade-plan-scaffold.js.map +1 -0
  174. package/dist/cli/lib/upgrade-plan-types.d.ts +43 -0
  175. package/dist/cli/lib/upgrade-plan-types.d.ts.map +1 -0
  176. package/dist/cli/lib/upgrade-plan-types.js +3 -0
  177. package/dist/cli/lib/upgrade-plan-types.js.map +1 -0
  178. package/dist/cli/lib/upgrade-plan.d.ts +4 -62
  179. package/dist/cli/lib/upgrade-plan.d.ts.map +1 -1
  180. package/dist/cli/lib/upgrade-plan.js +7 -181
  181. package/dist/cli/lib/upgrade-plan.js.map +1 -1
  182. package/dist/cli/lib/verification-plan.d.ts +22 -0
  183. package/dist/cli/lib/verification-plan.d.ts.map +1 -0
  184. package/dist/cli/lib/verification-plan.js +26 -0
  185. package/dist/cli/lib/verification-plan.js.map +1 -0
  186. package/dist/cli/lib/verify-defensive-phase.d.ts +1 -1
  187. package/dist/cli/lib/verify-defensive-phase.d.ts.map +1 -1
  188. package/dist/cli/lib/verify-engine.d.ts +2 -36
  189. package/dist/cli/lib/verify-engine.d.ts.map +1 -1
  190. package/dist/cli/lib/verify-engine.js.map +1 -1
  191. package/dist/cli/lib/verify-export.d.ts.map +1 -1
  192. package/dist/cli/lib/verify-export.js +30 -19
  193. package/dist/cli/lib/verify-export.js.map +1 -1
  194. package/dist/cli/lib/verify-failure-normalize.d.ts +2 -3
  195. package/dist/cli/lib/verify-failure-normalize.d.ts.map +1 -1
  196. package/dist/cli/lib/verify-failure-normalize.js +0 -14
  197. package/dist/cli/lib/verify-failure-normalize.js.map +1 -1
  198. package/dist/cli/lib/verify-finding.d.ts +16 -0
  199. package/dist/cli/lib/verify-finding.d.ts.map +1 -0
  200. package/dist/cli/lib/verify-finding.js +11 -0
  201. package/dist/cli/lib/verify-finding.js.map +1 -0
  202. package/dist/cli/lib/verify-hints.d.ts +1 -1
  203. package/dist/cli/lib/verify-hints.d.ts.map +1 -1
  204. package/dist/cli/lib/verify-options.d.ts +40 -0
  205. package/dist/cli/lib/verify-options.d.ts.map +1 -0
  206. package/dist/cli/lib/verify-options.js +13 -0
  207. package/dist/cli/lib/verify-options.js.map +1 -0
  208. package/dist/cli/lib/verify-payload.d.ts +10 -1
  209. package/dist/cli/lib/verify-payload.d.ts.map +1 -1
  210. package/dist/cli/lib/verify-payload.js +52 -2
  211. package/dist/cli/lib/verify-payload.js.map +1 -1
  212. package/dist/cli/lib/verify-presenters.d.ts +2 -1
  213. package/dist/cli/lib/verify-presenters.d.ts.map +1 -1
  214. package/dist/cli/lib/verify-presenters.js.map +1 -1
  215. package/dist/cli/lib/verify-run.d.ts +2 -2
  216. package/dist/cli/lib/verify-run.d.ts.map +1 -1
  217. package/dist/cli/lib/verify-run.js +33 -19
  218. package/dist/cli/lib/verify-run.js.map +1 -1
  219. package/dist/cli/lib/version.gen.d.ts +1 -1
  220. package/dist/cli/lib/version.gen.js +1 -1
  221. package/dist/cli/program-arch.js +1 -1
  222. package/dist/cli/program-arch.js.map +1 -1
  223. package/dist/cli/program-blueprint.d.ts +3 -0
  224. package/dist/cli/program-blueprint.d.ts.map +1 -0
  225. package/dist/cli/program-blueprint.js +12 -0
  226. package/dist/cli/program-blueprint.js.map +1 -0
  227. package/dist/cli/program-core.d.ts.map +1 -1
  228. package/dist/cli/program-core.js +4 -20
  229. package/dist/cli/program-core.js.map +1 -1
  230. package/dist/cli/program-init-options.d.ts +4 -0
  231. package/dist/cli/program-init-options.d.ts.map +1 -0
  232. package/dist/cli/program-init-options.js +23 -0
  233. package/dist/cli/program-init-options.js.map +1 -0
  234. package/dist/cli/program-workflow.d.ts.map +1 -1
  235. package/dist/cli/program-workflow.js +19 -2
  236. package/dist/cli/program-workflow.js.map +1 -1
  237. package/dist/cli/program.d.ts.map +1 -1
  238. package/dist/cli/program.js +4 -0
  239. package/dist/cli/program.js.map +1 -1
  240. package/package.json +2 -2
  241. package/templates/.gitagent/foreman/SUBSTRATE.version.json +1 -1
  242. package/templates/integrations/asset-catalog.json +3 -0
  243. package/templates/integrations/compatibility.json +1 -1
  244. package/templates/scripts/gxt-manifest-lib.mjs +12 -493
  245. package/templates/scripts/lib/glob-match.mjs +24 -0
  246. package/templates/scripts/lib/manifest-validate.mjs +126 -0
  247. package/templates/scripts/lib/trusted-automation.mjs +360 -0
  248. package/dist/cli/lib/architecture-credential.d.ts.map +0 -1
  249. package/dist/cli/lib/architecture-credential.js.map +0 -1
  250. package/dist/cli/lib/architecture-fetch.d.ts.map +0 -1
  251. package/dist/cli/lib/architecture-fetch.js.map +0 -1
  252. package/dist/cli/lib/architecture-pointer.d.ts.map +0 -1
  253. package/dist/cli/lib/architecture-pointer.js.map +0 -1
  254. package/dist/cli/lib/target-architecture-doctor.d.ts.map +0 -1
  255. package/dist/cli/lib/target-architecture-doctor.js.map +0 -1
  256. package/dist/cli/lib/target-architecture.d.ts.map +0 -1
  257. package/dist/cli/lib/target-architecture.js.map +0 -1
  258. /package/dist/cli/lib/{target-architecture-doctor.js → arch/cage/target-architecture-doctor.js} +0 -0
  259. /package/dist/cli/lib/{architecture-credential.d.ts → arch/external/architecture-credential.d.ts} +0 -0
  260. /package/dist/cli/lib/{architecture-fetch.d.ts → arch/external/architecture-fetch.d.ts} +0 -0
@@ -0,0 +1,360 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { execFileSync } from "node:child_process";
4
+ import { createRequire } from "node:module";
5
+ import { fileURLToPath } from "node:url";
6
+ import { pathMatchesAllowed } from "./glob-match.mjs";
7
+ import { isMsnEnforcedPath, listMsnEnforcedPrefixes } from "./manifest-validate.mjs";
8
+
9
+ const HARD_MAX_NET_LOC = 5;
10
+ const ALLOWED_STRUCTURAL_CHANGES = new Set(["workflow_version_pin"]);
11
+ const CONFIG_REL = ".gitagent/config.json";
12
+
13
+ function normalizePath(p) {
14
+ return p.replace(/\\/g, "/");
15
+ }
16
+
17
+ function git(repoRoot, args) {
18
+ return execFileSync("git", args, { cwd: repoRoot, encoding: "utf8" }).trimEnd();
19
+ }
20
+
21
+ function resolveYamlParser(repoRoot) {
22
+ const candidates = [
23
+ path.join(repoRoot, "node_modules/yaml"),
24
+ path.join(path.dirname(fileURLToPath(import.meta.url)), "..", "..", "node_modules/yaml"),
25
+ ];
26
+ for (const dir of candidates) {
27
+ const pkg = path.join(dir, "package.json");
28
+ if (fs.existsSync(pkg)) {
29
+ const req = createRequire(pkg);
30
+ return req("yaml");
31
+ }
32
+ }
33
+ throw new Error("gxt-manifest-lib: yaml package not found (run npm ci)");
34
+ }
35
+
36
+ export function loadTrustedAutomationRules(repoRoot) {
37
+ const abs = path.join(repoRoot, CONFIG_REL);
38
+ if (!fs.existsSync(abs)) {
39
+ return [];
40
+ }
41
+ let parsed;
42
+ try {
43
+ parsed = JSON.parse(fs.readFileSync(abs, "utf8"));
44
+ } catch (e) {
45
+ throw new Error(
46
+ `gxt-manifest-lib: invalid JSON in ${CONFIG_REL}: ${e instanceof Error ? e.message : String(e)}`,
47
+ );
48
+ }
49
+ const block = parsed?.trusted_automation;
50
+ if (!block) {
51
+ return [];
52
+ }
53
+ if (!Array.isArray(block.rules) || block.rules.length === 0) {
54
+ return [];
55
+ }
56
+ const rules = [];
57
+ for (const [i, rule] of block.rules.entries()) {
58
+ if (!rule || typeof rule !== "object") {
59
+ throw new Error(`gxt-manifest-lib: trusted_automation.rules[${i}] must be an object`);
60
+ }
61
+ if (typeof rule.id !== "string" || !rule.id.trim()) {
62
+ throw new Error(`gxt-manifest-lib: trusted_automation.rules[${i}] missing id`);
63
+ }
64
+ if (!Array.isArray(rule.allowed_actors) || rule.allowed_actors.length === 0) {
65
+ throw new Error(`gxt-manifest-lib: rule ${rule.id} requires non-empty allowed_actors`);
66
+ }
67
+ if (!Array.isArray(rule.allowed_paths) || rule.allowed_paths.length === 0) {
68
+ throw new Error(`gxt-manifest-lib: rule ${rule.id} requires non-empty allowed_paths`);
69
+ }
70
+ if (!Array.isArray(rule.allowed_structural_changes) || rule.allowed_structural_changes.length === 0) {
71
+ throw new Error(`gxt-manifest-lib: rule ${rule.id} requires allowed_structural_changes`);
72
+ }
73
+ for (const change of rule.allowed_structural_changes) {
74
+ if (!ALLOWED_STRUCTURAL_CHANGES.has(change)) {
75
+ throw new Error(`gxt-manifest-lib: rule ${rule.id} has unsupported structural change: ${change}`);
76
+ }
77
+ }
78
+ if (typeof rule.max_net_loc !== "number" || !Number.isInteger(rule.max_net_loc) || rule.max_net_loc < 1) {
79
+ throw new Error(`gxt-manifest-lib: rule ${rule.id} max_net_loc must be a positive integer`);
80
+ }
81
+ if (rule.max_net_loc > HARD_MAX_NET_LOC) {
82
+ throw new Error(`gxt-manifest-lib: rule ${rule.id} max_net_loc exceeds hard cap ${HARD_MAX_NET_LOC}`);
83
+ }
84
+ rules.push({
85
+ id: rule.id,
86
+ allowed_actors: rule.allowed_actors.map((a) => String(a).trim().toLowerCase()),
87
+ allowed_paths: rule.allowed_paths.map((p) => normalizePath(String(p))),
88
+ allowed_structural_changes: new Set(rule.allowed_structural_changes),
89
+ max_net_loc: rule.max_net_loc,
90
+ });
91
+ }
92
+ return rules;
93
+ }
94
+
95
+ function parseNumstat(output) {
96
+ let total = 0;
97
+ for (const line of output.split("\n")) {
98
+ if (!line.trim()) continue;
99
+ const [adds, dels] = line.split("\t");
100
+ if (adds === "-" || dels === "-") continue;
101
+ total += Number(adds) + Number(dels);
102
+ }
103
+ return total;
104
+ }
105
+
106
+ function gitNumstat(repoRoot, args) {
107
+ try {
108
+ return parseNumstat(git(repoRoot, args));
109
+ } catch {
110
+ return 0;
111
+ }
112
+ }
113
+
114
+ function commitChangedFiles(repoRoot, commitSha) {
115
+ const out = git(repoRoot, ["diff-tree", "--no-commit-id", "--name-only", "-r", commitSha]);
116
+ return out ? out.split("\n").filter(Boolean).map(normalizePath) : [];
117
+ }
118
+
119
+ function rangeChangedFiles(repoRoot, baseSha, headSha) {
120
+ const out = git(repoRoot, ["diff", "--name-only", "--diff-filter=ACMRT", `${baseSha}...${headSha}`]);
121
+ return out ? out.split("\n").filter(Boolean).map(normalizePath) : [];
122
+ }
123
+
124
+ function commitAuthorEmail(repoRoot, commitSha) {
125
+ return git(repoRoot, ["log", "-1", "--format=%ae", commitSha]).toLowerCase();
126
+ }
127
+
128
+ function objectKeysEqual(a, b) {
129
+ if (Array.isArray(a) || Array.isArray(b)) {
130
+ return Array.isArray(a) && Array.isArray(b) && a.length === b.length;
131
+ }
132
+ if (a === null || b === null || typeof a !== "object" || typeof b !== "object") {
133
+ return typeof a === typeof b;
134
+ }
135
+ const keysA = Object.keys(a).sort();
136
+ const keysB = Object.keys(b).sort();
137
+ return keysA.length === keysB.length && keysA.every((k, i) => k === keysB[i]);
138
+ }
139
+
140
+ function collectStructuralDiffs(before, after, keyPath = []) {
141
+ const diffs = [];
142
+ if (Array.isArray(before) && Array.isArray(after)) {
143
+ for (let i = 0; i < before.length; i++) {
144
+ diffs.push(...collectStructuralDiffs(before[i], after[i], [...keyPath, String(i)]));
145
+ }
146
+ return diffs;
147
+ }
148
+ if (before !== null && after !== null && typeof before === "object" && typeof after === "object") {
149
+ const keys = Object.keys(before);
150
+ for (const key of keys) {
151
+ const childPath = [...keyPath, key];
152
+ const bv = before[key];
153
+ const av = after[key];
154
+ if (bv !== null && av !== null && typeof bv === "object" && typeof av === "object") {
155
+ diffs.push(...collectStructuralDiffs(bv, av, childPath));
156
+ } else if (bv !== av) {
157
+ diffs.push({ path: childPath, before: bv, after: av });
158
+ }
159
+ }
160
+ return diffs;
161
+ }
162
+ if (before !== after) {
163
+ diffs.push({ path: keyPath, before, after });
164
+ }
165
+ return diffs;
166
+ }
167
+
168
+ function isWorkflowVersionPinChange(before, after) {
169
+ if (typeof before !== "string" || typeof after !== "string") return false;
170
+ const usesRe = /^([^@]+@)(.+)$/;
171
+ const bm = before.match(usesRe);
172
+ const am = after.match(usesRe);
173
+ return Boolean(bm && am && bm[1] === am[1] && bm[2] !== am[2]);
174
+ }
175
+
176
+ function structuresMatch(before, after) {
177
+ if (Array.isArray(before) && Array.isArray(after)) {
178
+ if (before.length !== after.length) return false;
179
+ return before.every((item, i) => structuresMatch(item, after[i]));
180
+ }
181
+ if (before !== null && after !== null && typeof before === "object" && typeof after === "object") {
182
+ if (!objectKeysEqual(before, after)) return false;
183
+ return Object.keys(before).every((k) => structuresMatch(before[k], after[k]));
184
+ }
185
+ return true;
186
+ }
187
+
188
+ function workflowVersionPinOnly(beforeContent, afterContent, yaml) {
189
+ let beforeDoc;
190
+ let afterDoc;
191
+ try {
192
+ beforeDoc = yaml.parse(beforeContent);
193
+ afterDoc = yaml.parse(afterContent);
194
+ } catch {
195
+ return false;
196
+ }
197
+ if (!structuresMatch(beforeDoc, afterDoc)) {
198
+ return false;
199
+ }
200
+ const diffs = collectStructuralDiffs(beforeDoc, afterDoc);
201
+ if (diffs.length === 0) return true;
202
+ return diffs.every((d) => {
203
+ const lastKey = d.path[d.path.length - 1];
204
+ return lastKey === "uses" && isWorkflowVersionPinChange(d.before, d.after);
205
+ });
206
+ }
207
+
208
+ function readBlobAt(repoRoot, commitSha, filePath) {
209
+ try {
210
+ return git(repoRoot, ["show", `${commitSha}:${filePath}`]);
211
+ } catch {
212
+ return null;
213
+ }
214
+ }
215
+
216
+ function validateStructuralChanges(repoRoot, files, rule, baseSha, headSha, mode) {
217
+ if (!rule.allowed_structural_changes.has("workflow_version_pin")) {
218
+ return { ok: false, reason: `rule ${rule.id}: no matching structural change policy` };
219
+ }
220
+ const yaml = resolveYamlParser(repoRoot);
221
+ const workflowFiles = files.filter((f) => /\.ya?ml$/i.test(f));
222
+ for (const file of workflowFiles) {
223
+ let beforeContent;
224
+ let afterContent;
225
+ if (mode === "commit") {
226
+ const parent = git(repoRoot, ["rev-parse", `${headSha}^`]);
227
+ beforeContent = readBlobAt(repoRoot, parent, file);
228
+ afterContent = readBlobAt(repoRoot, headSha, file);
229
+ } else {
230
+ beforeContent = readBlobAt(repoRoot, baseSha, file);
231
+ afterContent = readBlobAt(repoRoot, headSha, file);
232
+ }
233
+ if (afterContent === null) continue;
234
+ if (beforeContent === null) {
235
+ return { ok: false, reason: `rule ${rule.id}: new file not allowed (${file})` };
236
+ }
237
+ if (!workflowVersionPinOnly(beforeContent, afterContent, yaml)) {
238
+ return { ok: false, reason: `rule ${rule.id}: structural change outside workflow_version_pin (${file})` };
239
+ }
240
+ }
241
+ return { ok: true, reason: "" };
242
+ }
243
+
244
+ function findMatchingRule(rules, actorEmail) {
245
+ const actor = actorEmail.toLowerCase();
246
+ return rules.filter((rule) => rule.allowed_actors.includes(actor));
247
+ }
248
+
249
+ function evaluateAgainstRule(repoRoot, rule, files, actorEmail, netLoc, structuralCtx) {
250
+ if (!rule.allowed_actors.includes(actorEmail.toLowerCase())) {
251
+ return { eligible: false, reason: `actor ${actorEmail} not in rule ${rule.id} allowed_actors` };
252
+ }
253
+ if (files.length === 0) {
254
+ return { eligible: false, reason: "no changed files" };
255
+ }
256
+ for (const file of files) {
257
+ if (!pathMatchesAllowed(file, rule.allowed_paths)) {
258
+ return { eligible: false, reason: `path ${file} outside rule ${rule.id} allowed_paths` };
259
+ }
260
+ }
261
+ if (netLoc > rule.max_net_loc) {
262
+ return {
263
+ eligible: false,
264
+ reason: `net_loc ${netLoc} exceeds rule ${rule.id} max_net_loc ${rule.max_net_loc}`,
265
+ };
266
+ }
267
+ const structural = validateStructuralChanges(
268
+ repoRoot,
269
+ files,
270
+ rule,
271
+ structuralCtx.baseSha,
272
+ structuralCtx.headSha,
273
+ structuralCtx.mode,
274
+ );
275
+ if (!structural.ok) {
276
+ return { eligible: false, reason: structural.reason };
277
+ }
278
+ return {
279
+ eligible: true,
280
+ reason: `TRUSTED-AUTOMATION-OK: rule=${rule.id} actor=${actorEmail} paths=${files.join(",")} net_loc=${netLoc}`,
281
+ };
282
+ }
283
+
284
+ /**
285
+ * Evaluate a single commit for trusted automation eligibility.
286
+ * @returns {{ eligible: boolean, reason: string }}
287
+ */
288
+ export function evaluateTrustedAutomationCommit(repoRoot, commitSha) {
289
+ const rules = loadTrustedAutomationRules(repoRoot);
290
+ if (rules.length === 0) {
291
+ return { eligible: false, reason: "no trusted_automation policy configured" };
292
+ }
293
+ const prefixes = listMsnEnforcedPrefixes(repoRoot);
294
+ const files = commitChangedFiles(repoRoot, commitSha).filter((f) => isMsnEnforcedPath(f, prefixes));
295
+ if (files.length === 0) {
296
+ return { eligible: false, reason: "commit does not touch MSN-enforced paths" };
297
+ }
298
+ const actorEmail = commitAuthorEmail(repoRoot, commitSha);
299
+ const matchingRules = findMatchingRule(rules, actorEmail);
300
+ if (matchingRules.length === 0) {
301
+ return { eligible: false, reason: `actor ${actorEmail} not covered by trusted_automation policy` };
302
+ }
303
+ const netLoc = gitNumstat(repoRoot, ["show", "--numstat", "--format=", commitSha]);
304
+ let lastReason = `commit ${commitSha} failed trusted_automation policy checks`;
305
+ for (const rule of matchingRules) {
306
+ const result = evaluateAgainstRule(repoRoot, rule, files, actorEmail, netLoc, {
307
+ mode: "commit",
308
+ baseSha: null,
309
+ headSha: commitSha,
310
+ });
311
+ if (result.eligible) return result;
312
+ lastReason = result.reason;
313
+ }
314
+ return { eligible: false, reason: lastReason };
315
+ }
316
+
317
+ /**
318
+ * Evaluate a PR commit range for trusted automation eligibility.
319
+ * @returns {{ eligible: boolean, reason: string }}
320
+ */
321
+ export function evaluateTrustedAutomationRange(repoRoot, baseSha, headSha) {
322
+ const rules = loadTrustedAutomationRules(repoRoot);
323
+ if (rules.length === 0) {
324
+ return { eligible: false, reason: "no trusted_automation policy configured" };
325
+ }
326
+ const prefixes = listMsnEnforcedPrefixes(repoRoot);
327
+ const allFiles = rangeChangedFiles(repoRoot, baseSha, headSha);
328
+ const enforcedFiles = allFiles.filter((f) => isMsnEnforcedPath(f, prefixes));
329
+ if (enforcedFiles.length === 0) {
330
+ return { eligible: false, reason: "range does not touch MSN-enforced paths" };
331
+ }
332
+ const commits = git(repoRoot, ["rev-list", "--no-merges", `${baseSha}..${headSha}`])
333
+ .split("\n")
334
+ .filter(Boolean);
335
+ for (const commit of commits) {
336
+ const files = commitChangedFiles(repoRoot, commit).filter((f) => isMsnEnforcedPath(f, prefixes));
337
+ if (files.length === 0) continue;
338
+ const actorEmail = commitAuthorEmail(repoRoot, commit);
339
+ if (findMatchingRule(rules, actorEmail).length === 0) {
340
+ return {
341
+ eligible: false,
342
+ reason: `commit ${commit.slice(0, 7)}: actor ${actorEmail} not covered by trusted_automation policy`,
343
+ };
344
+ }
345
+ }
346
+ const netLoc = gitNumstat(repoRoot, ["diff", "--numstat", `${baseSha}...${headSha}`]);
347
+ const actorEmail = commits.length > 0 ? commitAuthorEmail(repoRoot, commits[commits.length - 1]) : "";
348
+ const matchingRules = findMatchingRule(rules, actorEmail);
349
+ let lastReason = "PR diff failed trusted_automation policy checks";
350
+ for (const rule of matchingRules) {
351
+ const result = evaluateAgainstRule(repoRoot, rule, enforcedFiles, actorEmail, netLoc, {
352
+ mode: "range",
353
+ baseSha,
354
+ headSha,
355
+ });
356
+ if (result.eligible) return result;
357
+ lastReason = result.reason;
358
+ }
359
+ return { eligible: false, reason: lastReason };
360
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"architecture-credential.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/architecture-credential.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEnF,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,0BAA0B,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAKD,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,MAAM,GAAG,0BAA0B,CAKvF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjF;AAaD,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ1E;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,4BAA4B,GAAG,IAAI,CAMrC;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,OAAO,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,4BAA4B,CAgC9B;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,0BAA0B,EAChC,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8CxB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,0BAA0B,EAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,IAAI,CAgBN;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKpF;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,CAW5D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAoBzE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"architecture-credential.js","sourceRoot":"","sources":["../../../src/cli/lib/architecture-credential.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"architecture-fetch.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/architecture-fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAOtC,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,UAAU,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC;AAI3E,eAAO,MAAM,kBAAkB,EAAE,WAYhC,CAAC;AAMF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,4BAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBjG;AAWD,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,eAAe,CAAC,CAyD1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"architecture-fetch.js","sourceRoot":"","sources":["../../../src/cli/lib/architecture-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,uBAAuB,EACvB,iCAAiC,GAElC,MAAM,2BAA2B,CAAC;AAmBnC,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAgB,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACjE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,GAAG,CAAC,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACzD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5D,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,SAAS,CAAC,QAAgB;IACjC,OAAO,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAwC;IACvE,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,EAAE,aAAa,EAAE,UAAU,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QAChE,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC;YAC5D,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAC7D,MAAM,CACP,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,OAAO,EAAE,aAAa,EAAE,SAAS,OAAO,EAAE,EAAE,CAAC;QAC/C,CAAC;QACD,KAAK,QAAQ;YACX,OAAO,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QAClC;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAA4B,EAAE,OAAe;IACnE,MAAM,SAAS,GAAG,iCAAiC,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,GAAG,OAAO,WAAW,SAAS,wBAAwB;QAC/D,eAAe,EAAE,SAAS;KAC3B,CAAC;AACJ,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAyC;IAEzC,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,kBAAkB,CAAC;IAEtD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,cAAc,CACnB,OAAO,EACP,GAAG,QAAQ,gCAAgC,OAAO,CAAC,IAAI,iBAAiB,CACzE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,cAAc,CACnB,OAAO,EACP,GAAG,QAAQ,yDAAyD,OAAO,CAAC,QAAQ,IAAI,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,yCAAyC,EAAE,CAAC;IAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;IAC7C,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,0BAA0B,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,cAAc,CACnB,OAAO,EACP,GAAG,QAAQ,gCAAgC,IAAI,6CAA6C,CAC7F,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QACpC,OAAO,cAAc,CACnB,OAAO,EACP,GAAG,QAAQ,iEAAiE,CAC7E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7E,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACpD,OAAO,cAAc,CACnB,OAAO,EACP,GAAG,QAAQ,qBAAqB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC,QAAQ,GAAG,CACpF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,GAAG,EAAE,OAAO,CAAC,QAAQ;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,YAAY,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;YAC/C,WAAW,EAAE,QAAQ,CAAC,MAAM;YAC5B,OAAO,EAAE,WAAW,OAAO,CAAC,QAAQ,EAAE;YACtC,eAAe,EAAE,iCAAiC,CAAC,OAAO,CAAC;SAC5D,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,QAAQ,uBAAuB,MAAM,GAAG,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"architecture-pointer.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9E,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED,eAAO,MAAM,mCAAmC,EAAG,OAAgB,CAAC;AAEpE,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,0FAG5B,CAAC;AAOX,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AA4ED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAwC7E;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAY7E;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAEnF;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAEtF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAqBrG;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAgBjF;AAuED,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA6CjF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"architecture-pointer.js","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"target-architecture-doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/target-architecture-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASpD,wFAAwF;AACxF,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CA2B5E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"target-architecture-doctor.js","sourceRoot":"","sources":["../../../src/cli/lib/target-architecture-doctor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,wFAAwF;AACxF,MAAM,UAAU,iCAAiC,CAAC,IAAY;IAC5D,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,GAAG,4BAA4B,oFAAoF;SAC7H,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG,4BAA4B,oBAAoB,IAAI,CAAC,cAAc,GAAG;SACnF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,4BAA4B,KAAK,OAAO,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"target-architecture.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/target-architecture.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,4BAA4B,EAAG,0BAAmC,CAAC;AAChF,eAAO,MAAM,kCAAkC,EAAG,OAAgB,CAAC;AACnE,eAAO,MAAM,yCAAyC,EAAG,OAAgB,CAAC;AAC1E,eAAO,MAAM,6CAA6C,6BAGhD,CAAC;AAEX,MAAM,MAAM,+BAA+B,GACzC,CAAC,OAAO,6CAA6C,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,+BAA+B,CAAC;IAChD,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAgBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQlF;AAgDD,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9E;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,sBAAsB,EAC5B,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,GACpC,MAAM,EAAE,CAaV;AAkBD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAyD/E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAO/E;AAcD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE;IAAE,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GACtD,eAAe,CAwCjB;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE;IAAE,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GACtD,eAAe,CAMjB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAQpE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"target-architecture.js","sourceRoot":"","sources":["../../../src/cli/lib/target-architecture.ts"],"names":[],"mappings":"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"}