@intutic/cli 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +27 -16
  2. package/dist/cli.js +11 -44
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/attenuate.d.ts +9 -8
  5. package/dist/commands/attenuate.d.ts.map +1 -1
  6. package/dist/commands/attenuate.js +18 -11
  7. package/dist/commands/attenuate.js.map +1 -1
  8. package/dist/commands/budget.d.ts.map +1 -1
  9. package/dist/commands/budget.js +3 -6
  10. package/dist/commands/budget.js.map +1 -1
  11. package/dist/commands/chaos.js +3 -2
  12. package/dist/commands/chaos.js.map +1 -1
  13. package/dist/commands/connect.d.ts +7 -0
  14. package/dist/commands/connect.d.ts.map +1 -1
  15. package/dist/commands/connect.js +79 -31
  16. package/dist/commands/connect.js.map +1 -1
  17. package/dist/commands/disconnect.d.ts +11 -1
  18. package/dist/commands/disconnect.d.ts.map +1 -1
  19. package/dist/commands/disconnect.js +18 -3
  20. package/dist/commands/disconnect.js.map +1 -1
  21. package/dist/commands/doctor.d.ts +7 -0
  22. package/dist/commands/doctor.d.ts.map +1 -1
  23. package/dist/commands/doctor.js +21 -17
  24. package/dist/commands/doctor.js.map +1 -1
  25. package/dist/commands/enforce.d.ts +14 -1
  26. package/dist/commands/enforce.d.ts.map +1 -1
  27. package/dist/commands/enforce.js +21 -3
  28. package/dist/commands/enforce.js.map +1 -1
  29. package/dist/commands/gateway.d.ts.map +1 -1
  30. package/dist/commands/gateway.js +3 -3
  31. package/dist/commands/gateway.js.map +1 -1
  32. package/dist/commands/guardrails.d.ts.map +1 -1
  33. package/dist/commands/guardrails.js +10 -8
  34. package/dist/commands/guardrails.js.map +1 -1
  35. package/dist/commands/integrity.d.ts.map +1 -1
  36. package/dist/commands/integrity.js +4 -1
  37. package/dist/commands/integrity.js.map +1 -1
  38. package/dist/commands/judge.d.ts.map +1 -1
  39. package/dist/commands/judge.js +6 -9
  40. package/dist/commands/judge.js.map +1 -1
  41. package/dist/commands/login.js +4 -4
  42. package/dist/commands/login.js.map +1 -1
  43. package/dist/commands/policy.d.ts +0 -44
  44. package/dist/commands/policy.d.ts.map +1 -1
  45. package/dist/commands/policy.js +27 -95
  46. package/dist/commands/policy.js.map +1 -1
  47. package/dist/commands/siem.d.ts.map +1 -1
  48. package/dist/commands/siem.js.map +1 -1
  49. package/dist/commands/skill.d.ts +52 -1
  50. package/dist/commands/skill.d.ts.map +1 -1
  51. package/dist/commands/skill.js +147 -40
  52. package/dist/commands/skill.js.map +1 -1
  53. package/dist/commands/sops.d.ts +61 -50
  54. package/dist/commands/sops.d.ts.map +1 -1
  55. package/dist/commands/sops.js +425 -166
  56. package/dist/commands/sops.js.map +1 -1
  57. package/dist/commands/start.d.ts.map +1 -1
  58. package/dist/commands/start.js +2 -1
  59. package/dist/commands/start.js.map +1 -1
  60. package/dist/commands/status.d.ts.map +1 -1
  61. package/dist/commands/status.js +2 -1
  62. package/dist/commands/status.js.map +1 -1
  63. package/dist/commands/traces.d.ts.map +1 -1
  64. package/dist/commands/traces.js +4 -3
  65. package/dist/commands/traces.js.map +1 -1
  66. package/dist/config/paths.d.ts +15 -9
  67. package/dist/config/paths.d.ts.map +1 -1
  68. package/dist/config/paths.js +24 -10
  69. package/dist/config/paths.js.map +1 -1
  70. package/dist/harness/ag2.d.ts +4 -2
  71. package/dist/harness/ag2.d.ts.map +1 -1
  72. package/dist/harness/ag2.js +4 -2
  73. package/dist/harness/ag2.js.map +1 -1
  74. package/dist/harness/autogen.d.ts +10 -11
  75. package/dist/harness/autogen.d.ts.map +1 -1
  76. package/dist/harness/autogen.js +14 -15
  77. package/dist/harness/autogen.js.map +1 -1
  78. package/dist/harness/detector.d.ts.map +1 -1
  79. package/dist/harness/detector.js +5 -2
  80. package/dist/harness/detector.js.map +1 -1
  81. package/dist/harness/windsurf.d.ts.map +1 -1
  82. package/dist/harness/windsurf.js +4 -2
  83. package/dist/harness/windsurf.js.map +1 -1
  84. package/dist/lib/api.d.ts +7 -3
  85. package/dist/lib/api.d.ts.map +1 -1
  86. package/dist/lib/caTrust.d.ts +43 -1
  87. package/dist/lib/caTrust.d.ts.map +1 -1
  88. package/dist/lib/caTrust.js +109 -9
  89. package/dist/lib/caTrust.js.map +1 -1
  90. package/dist/lib/ciscoScanner.d.ts +9 -4
  91. package/dist/lib/ciscoScanner.d.ts.map +1 -1
  92. package/dist/lib/ciscoScanner.js +42 -8
  93. package/dist/lib/ciscoScanner.js.map +1 -1
  94. package/dist/lib/decisionsLogRefresh.d.ts.map +1 -1
  95. package/dist/lib/decisionsLogRefresh.js +6 -2
  96. package/dist/lib/decisionsLogRefresh.js.map +1 -1
  97. package/dist/lib/enforcementState.d.ts +7 -0
  98. package/dist/lib/enforcementState.d.ts.map +1 -1
  99. package/dist/lib/enforcementState.js +9 -0
  100. package/dist/lib/enforcementState.js.map +1 -1
  101. package/dist/lib/mdmManifest.d.ts.map +1 -1
  102. package/dist/lib/mdmManifest.js +33 -3
  103. package/dist/lib/mdmManifest.js.map +1 -1
  104. package/dist/lib/proxyBinary.d.ts +11 -0
  105. package/dist/lib/proxyBinary.d.ts.map +1 -1
  106. package/dist/lib/proxyBinary.js +16 -0
  107. package/dist/lib/proxyBinary.js.map +1 -1
  108. package/dist/lib/sopFrontMatter.d.ts +39 -1
  109. package/dist/lib/sopFrontMatter.d.ts.map +1 -1
  110. package/dist/lib/sopFrontMatter.js +68 -1
  111. package/dist/lib/sopFrontMatter.js.map +1 -1
  112. package/package.json +5 -5
  113. package/resources/sandbox/firecracker-launch.sh +8 -7
package/dist/lib/api.d.ts CHANGED
@@ -26,9 +26,13 @@ export interface ApiClient {
26
26
  login(email: string, password: string): Promise<{
27
27
  accessToken: string;
28
28
  refreshToken: string;
29
- workspaceId: string;
30
- email: string;
31
- memberId: string;
29
+ expiresIn: number;
30
+ member: {
31
+ memberId: string;
32
+ workspaceId: string;
33
+ email: string;
34
+ role: string;
35
+ };
32
36
  }>;
33
37
  /** Generic GET request for arbitrary API paths. */
34
38
  get<T>(path: string): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@
4
4
  * Two trust scopes:
5
5
  * - `'user'` — per-user, non-elevated. Already shipping today via
6
6
  * `commands/connect.ts` (macOS login keychain, Windows `certutil`), run
7
- * silently on every `intutic connect`.
7
+ * silently on every `intutic connect`. Linux has no per-user store its TLS
8
+ * clients share, so connect uses `ensureLinuxCaTrust` instead: the system
9
+ * store when it runs as root, otherwise the exact commands to run.
8
10
  * - `'system'` — machine-wide, requires root/admin. New here — this is the
9
11
  * half `enterprise install` (`commands/enterprise.ts`) needs and the
10
12
  * deleted `enterprise-install.ts` (commit `8481b5d9`) used to provide.
@@ -31,6 +33,11 @@ export interface CaTrustResult {
31
33
  mechanism: string;
32
34
  detail: string;
33
35
  }
36
+ /**
37
+ * Every path this module installs the CA to on Linux — `enterprise install`'s
38
+ * copy and `intutic connect`'s — so `doctor` checks the same files it writes.
39
+ */
40
+ export declare const LINUX_CA_TRUST_PATHS: readonly string[];
34
41
  /**
35
42
  * The command(s) that trust `caCertPath` at the given scope, for the given
36
43
  * platform. Pure — no I/O — so it doubles as the source of truth for
@@ -45,6 +52,41 @@ export interface CaTrustResult {
45
52
  * `execFile` can't run a shell pipeline — callers must run both in order.
46
53
  */
47
54
  export declare function caTrustCommandFor(platform: NodeJS.Platform, scope: TrustScope, caCertPath: string): CaTrustCommand[] | null;
55
+ /**
56
+ * The shell lines that trust `caCertPath` in the Linux system store the way
57
+ * connect does (connect's own file name), for a user to run. Pure. Each needs
58
+ * root, so each is prefixed with `sudo`.
59
+ */
60
+ export declare function linuxSystemTrustShellCommands(tool: 'update-ca-certificates' | 'update-ca-trust', caCertPath: string): string[];
61
+ /** The CA connect installed in the Linux system store, and how to take it out. */
62
+ export interface LinuxConnectCaRemoval {
63
+ /** connect's copy of the CA. */
64
+ dest: string;
65
+ /** Rebuilds the bundle without it. */
66
+ update: CaTrustCommand;
67
+ /** The same, as shell lines for a user without root. */
68
+ commands: string[];
69
+ }
70
+ /** connect's copy of the CA in the Linux system store, or null when there is none. */
71
+ export declare function linuxConnectCaRemoval(): Promise<LinuxConnectCaRemoval | null>;
72
+ /** Removes connect's copy of the CA and rebuilds the bundle. Needs root. */
73
+ export declare function removeLinuxConnectCaTrust(removal: LinuxConnectCaRemoval): Promise<void>;
74
+ export interface LinuxCaTrustOutcome {
75
+ /**
76
+ * `trusted`: already in the system store. `installed`: put there now (as
77
+ * root). `needs-root`: the user must run `commands`. `unsupported`: no
78
+ * trust tool on this machine. `failed`: installing as root failed.
79
+ */
80
+ state: 'trusted' | 'installed' | 'needs-root' | 'unsupported' | 'failed';
81
+ detail: string;
82
+ commands?: string[];
83
+ }
84
+ /**
85
+ * `intutic connect`'s Linux CA trust. Linux has no per-user trust store that
86
+ * the system's TLS clients read, and the system store needs root, so: as root
87
+ * the CA is installed; otherwise connect prints the exact commands to run.
88
+ */
89
+ export declare function ensureLinuxCaTrust(caCertPath: string, isRoot?: boolean): Promise<LinuxCaTrustOutcome>;
48
90
  /**
49
91
  * Installs `caCertPath` into the OS trust store at `scope`.
50
92
  *
@@ -1 +1 @@
1
- {"version":3,"file":"caTrust.d.ts","sourceRoot":"","sources":["../../src/lib/caTrust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAA;AAE1C,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,UAAU,CAAA;IACjB,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,GACjB,cAAc,EAAE,GAAG,IAAI,CA8BzB;AAkCD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CA8BlG;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBxE"}
1
+ {"version":3,"file":"caTrust.d.ts","sourceRoot":"","sources":["../../src/lib/caTrust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAA;AAE1C,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,UAAU,CAAA;IACjB,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAkBD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAKjD,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,GACjB,cAAc,EAAE,GAAG,IAAI,CA8BzB;AAuCD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,wBAAwB,GAAG,iBAAiB,EAClD,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAIV;AAED,kFAAkF;AAClF,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,sCAAsC;IACtC,MAAM,EAAE,cAAc,CAAA;IACtB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,sFAAsF;AACtF,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAcnF;AAED,4EAA4E;AAC5E,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7F;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAA;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,OAAkC,GACzC,OAAO,CAAC,mBAAmB,CAAC,CA0B9B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CA8BlG;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBxE"}
@@ -4,7 +4,9 @@
4
4
  * Two trust scopes:
5
5
  * - `'user'` — per-user, non-elevated. Already shipping today via
6
6
  * `commands/connect.ts` (macOS login keychain, Windows `certutil`), run
7
- * silently on every `intutic connect`.
7
+ * silently on every `intutic connect`. Linux has no per-user store its TLS
8
+ * clients share, so connect uses `ensureLinuxCaTrust` instead: the system
9
+ * store when it runs as root, otherwise the exact commands to run.
8
10
  * - `'system'` — machine-wide, requires root/admin. New here — this is the
9
11
  * half `enterprise install` (`commands/enterprise.ts`) needs and the
10
12
  * deleted `enterprise-install.ts` (commit `8481b5d9`) used to provide.
@@ -19,10 +21,30 @@
19
21
  */
20
22
  import { execFile } from 'node:child_process';
21
23
  import { promisify } from 'node:util';
22
- import { copyFile, readFile } from 'node:fs/promises';
24
+ import { access, copyFile, readFile, unlink } from 'node:fs/promises';
23
25
  const execFileAsync = promisify(execFile);
24
26
  const LINUX_DEBIAN_DEST = '/usr/local/share/ca-certificates/intutic-ca.crt';
25
27
  const LINUX_RHEL_DEST = '/etc/pki/ca-trust/source/anchors/intutic-ca.crt';
28
+ /**
29
+ * Where `intutic connect` puts the CA on Linux: beside the machine-wide copy
30
+ * `enterprise install` writes, not on top of it, so `intutic disconnect` can
31
+ * tell connect's copy from the administrator's and remove only its own — the
32
+ * same split as the login and System keychains on macOS.
33
+ */
34
+ const LINUX_CONNECT_DEBIAN_DEST = '/usr/local/share/ca-certificates/intutic-connect-ca.crt';
35
+ const LINUX_CONNECT_RHEL_DEST = '/etc/pki/ca-trust/source/anchors/intutic-connect-ca.crt';
36
+ const ENTERPRISE_DESTS = { debian: LINUX_DEBIAN_DEST, rhel: LINUX_RHEL_DEST };
37
+ const CONNECT_DESTS = { debian: LINUX_CONNECT_DEBIAN_DEST, rhel: LINUX_CONNECT_RHEL_DEST };
38
+ /**
39
+ * Every path this module installs the CA to on Linux — `enterprise install`'s
40
+ * copy and `intutic connect`'s — so `doctor` checks the same files it writes.
41
+ */
42
+ export const LINUX_CA_TRUST_PATHS = [
43
+ LINUX_DEBIAN_DEST,
44
+ LINUX_RHEL_DEST,
45
+ LINUX_CONNECT_DEBIAN_DEST,
46
+ LINUX_CONNECT_RHEL_DEST,
47
+ ];
26
48
  /**
27
49
  * The command(s) that trust `caCertPath` at the given scope, for the given
28
50
  * platform. Pure — no I/O — so it doubles as the source of truth for
@@ -74,20 +96,20 @@ async function commandExists(cmd) {
74
96
  return false;
75
97
  }
76
98
  }
77
- async function installLinuxSystemCaTrust(caCertPath) {
99
+ async function installLinuxSystemCaTrust(caCertPath, dests = ENTERPRISE_DESTS) {
78
100
  // Debian/Ubuntu is tried first (more common in practice); RHEL/Fedora's
79
101
  // update-ca-trust is the fallback. Neither present -> fail loudly rather
80
102
  // than silently doing nothing, matching this function's contract that a
81
103
  // false `installed` always carries the real reason in `detail`.
82
104
  if (await commandExists('update-ca-certificates')) {
83
- await copyFile(caCertPath, LINUX_DEBIAN_DEST);
105
+ await copyFile(caCertPath, dests.debian);
84
106
  await execFileAsync('update-ca-certificates', []);
85
- return { installed: true, scope: 'system', mechanism: 'update-ca-certificates', detail: `Installed to ${LINUX_DEBIAN_DEST}` };
107
+ return { installed: true, scope: 'system', mechanism: 'update-ca-certificates', detail: `Installed to ${dests.debian}` };
86
108
  }
87
109
  if (await commandExists('update-ca-trust')) {
88
- await copyFile(caCertPath, LINUX_RHEL_DEST);
110
+ await copyFile(caCertPath, dests.rhel);
89
111
  await execFileAsync('update-ca-trust', ['extract']);
90
- return { installed: true, scope: 'system', mechanism: 'update-ca-trust', detail: `Installed to ${LINUX_RHEL_DEST}` };
112
+ return { installed: true, scope: 'system', mechanism: 'update-ca-trust', detail: `Installed to ${dests.rhel}` };
91
113
  }
92
114
  return {
93
115
  installed: false,
@@ -96,6 +118,76 @@ async function installLinuxSystemCaTrust(caCertPath) {
96
118
  detail: 'Neither update-ca-certificates (Debian/Ubuntu) nor update-ca-trust (RHEL/Fedora) is available on this system.',
97
119
  };
98
120
  }
121
+ /** Quotes `s` for a POSIX shell only when it needs it. */
122
+ function shellQuote(s) {
123
+ return /^[\w@%+=:,./-]+$/.test(s) ? s : `'${s.replace(/'/g, `'\\''`)}'`;
124
+ }
125
+ /**
126
+ * The shell lines that trust `caCertPath` in the Linux system store the way
127
+ * connect does (connect's own file name), for a user to run. Pure. Each needs
128
+ * root, so each is prefixed with `sudo`.
129
+ */
130
+ export function linuxSystemTrustShellCommands(tool, caCertPath) {
131
+ return tool === 'update-ca-certificates'
132
+ ? [`sudo cp ${shellQuote(caCertPath)} ${LINUX_CONNECT_DEBIAN_DEST}`, 'sudo update-ca-certificates']
133
+ : [`sudo cp ${shellQuote(caCertPath)} ${LINUX_CONNECT_RHEL_DEST}`, 'sudo update-ca-trust extract'];
134
+ }
135
+ /** connect's copy of the CA in the Linux system store, or null when there is none. */
136
+ export async function linuxConnectCaRemoval() {
137
+ const candidates = [
138
+ [LINUX_CONNECT_DEBIAN_DEST, { step: 'Rebuild the system CA bundle (Debian/Ubuntu)', cmd: 'update-ca-certificates', args: ['--fresh'] }],
139
+ [LINUX_CONNECT_RHEL_DEST, { step: 'Rebuild the system CA bundle (RHEL/Fedora)', cmd: 'update-ca-trust', args: ['extract'] }],
140
+ ];
141
+ for (const [dest, update] of candidates) {
142
+ try {
143
+ await access(dest);
144
+ }
145
+ catch {
146
+ continue;
147
+ }
148
+ return { dest, update, commands: [`sudo rm ${dest}`, `sudo ${[update.cmd, ...update.args].join(' ')}`] };
149
+ }
150
+ return null;
151
+ }
152
+ /** Removes connect's copy of the CA and rebuilds the bundle. Needs root. */
153
+ export async function removeLinuxConnectCaTrust(removal) {
154
+ await unlink(removal.dest);
155
+ await execFileAsync(removal.update.cmd, removal.update.args);
156
+ }
157
+ /**
158
+ * `intutic connect`'s Linux CA trust. Linux has no per-user trust store that
159
+ * the system's TLS clients read, and the system store needs root, so: as root
160
+ * the CA is installed; otherwise connect prints the exact commands to run.
161
+ */
162
+ export async function ensureLinuxCaTrust(caCertPath, isRoot = process.getuid?.() === 0) {
163
+ if (await verifyCaTrust(caCertPath))
164
+ return { state: 'trusted', detail: 'The CA is in the system trust store.' };
165
+ if (isRoot) {
166
+ try {
167
+ const result = await installLinuxSystemCaTrust(caCertPath, CONNECT_DESTS);
168
+ return result.installed
169
+ ? { state: 'installed', detail: result.detail }
170
+ : { state: 'unsupported', detail: result.detail };
171
+ }
172
+ catch (err) {
173
+ return { state: 'failed', detail: err instanceof Error ? err.message : String(err) };
174
+ }
175
+ }
176
+ const tool = (await commandExists('update-ca-certificates'))
177
+ ? 'update-ca-certificates'
178
+ : (await commandExists('update-ca-trust')) ? 'update-ca-trust' : null;
179
+ if (!tool) {
180
+ return {
181
+ state: 'unsupported',
182
+ detail: 'Neither update-ca-certificates (Debian/Ubuntu) nor update-ca-trust (RHEL/Fedora) is available on this system.',
183
+ };
184
+ }
185
+ return {
186
+ state: 'needs-root',
187
+ detail: 'Trusting the CA on Linux means adding it to the system trust store, which needs root.',
188
+ commands: linuxSystemTrustShellCommands(tool, caCertPath),
189
+ };
190
+ }
99
191
  /**
100
192
  * Installs `caCertPath` into the OS trust store at `scope`.
101
193
  *
@@ -156,9 +248,17 @@ export async function verifyCaTrust(caCertPath) {
156
248
  }
157
249
  }
158
250
  if (process.platform === 'linux') {
251
+ // The installed copy must be this CA, not one an earlier proxy generated.
159
252
  try {
160
- const installed = await readFile(LINUX_DEBIAN_DEST, 'utf-8').catch(() => readFile(LINUX_RHEL_DEST, 'utf-8'));
161
- return installed.length > 0;
253
+ const ours = (await readFile(caCertPath, 'utf-8')).trim();
254
+ if (!ours)
255
+ return false;
256
+ for (const dest of [LINUX_DEBIAN_DEST, LINUX_RHEL_DEST, LINUX_CONNECT_DEBIAN_DEST, LINUX_CONNECT_RHEL_DEST]) {
257
+ const installed = await readFile(dest, 'utf-8').catch(() => '');
258
+ if (installed.trim() === ours)
259
+ return true;
260
+ }
261
+ return false;
162
262
  }
163
263
  catch {
164
264
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"caTrust.js","sourceRoot":"","sources":["../../src/lib/caTrust.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"caTrust.js","sourceRoot":"","sources":["../../src/lib/caTrust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAErE,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAmBzC,MAAM,iBAAiB,GAAG,iDAAiD,CAAA;AAC3E,MAAM,eAAe,GAAG,iDAAiD,CAAA;AAEzE;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,yDAAyD,CAAA;AAC3F,MAAM,uBAAuB,GAAG,yDAAyD,CAAA;AAGzF,MAAM,gBAAgB,GAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,CAAA;AACzF,MAAM,aAAa,GAAe,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAA;AAEtG;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,iBAAiB;IACjB,eAAe;IACf,yBAAyB;IACzB,uBAAuB;CACxB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAyB,EACzB,KAAiB,EACjB,UAAkB;IAElB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,uCAAuC,CAAA;QACpH,OAAO,CAAC;gBACN,IAAI,EAAE,kCAAkC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,WAAW;gBAC1F,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC;aAChF,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC;gBACN,IAAI,EAAE,yDAAyD;gBAC/D,GAAG,EAAE,UAAU;gBACf,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC;aACxC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,IAAI,CAAA;QACjC,sEAAsE;QACtE,sEAAsE;QACtE,sEAAsE;QACtE,OAAO;YACL,EAAE,IAAI,EAAE,yEAAyE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE;YACrI,EAAE,IAAI,EAAE,8BAA8B,EAAE,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,EAAE,EAAE;SAClF,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,UAAkB,EAAE,QAAoB,gBAAgB;IAC/F,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,gEAAgE;IAChE,IAAI,MAAM,aAAa,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAClD,MAAM,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,aAAa,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAA;QACjD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,EAAE,gBAAgB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAA;IAC1H,CAAC;IACD,IAAI,MAAM,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC3C,MAAM,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;QACnD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,KAAK,CAAC,IAAI,EAAE,EAAE,CAAA;IACjH,CAAC;IACD,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,+GAA+G;KACxH,CAAA;AACH,CAAC;AAED,0DAA0D;AAC1D,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAA;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAkD,EAClD,UAAkB;IAElB,OAAO,IAAI,KAAK,wBAAwB;QACtC,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,UAAU,CAAC,IAAI,yBAAyB,EAAE,EAAE,6BAA6B,CAAC;QACnG,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,UAAU,CAAC,IAAI,uBAAuB,EAAE,EAAE,8BAA8B,CAAC,CAAA;AACtG,CAAC;AAYD,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,UAAU,GAAoC;QAClD,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,8CAA8C,EAAE,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QACvI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;KAC7H,CAAA;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,WAAW,IAAI,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAA;IAC1G,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAA8B;IAC5E,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC9D,CAAC;AAaD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,SAAkB,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC;IAE1C,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAA;IAChH,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;YACzE,OAAO,MAAM,CAAC,SAAS;gBACrB,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;gBAC/C,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;QACtF,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,aAAa,CAAC,wBAAwB,CAAC,CAAC;QAC1D,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAA;IACvE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,+GAA+G;SACxH,CAAA;IACH,CAAC;IACD,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,uFAAuF;QAC/F,QAAQ,EAAE,6BAA6B,CAAC,IAAI,EAAE,UAAU,CAAC;KAC1D,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB,EAAE,KAAiB;IACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IAEjC,IAAI,QAAQ,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,OAAO,MAAM,yBAAyB,CAAC,UAAU,CAAC,CAAA;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;QAClH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,KAAK;YACL,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,MAAM,KAAK,gDAAgD,QAAQ,GAAG;SAC/E,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAC5H,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,SAAS,EAAE,EAAE,CAAA;IAClF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IACnH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;YAClE,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,0EAA0E;QAC1E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACzD,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAA;YACvB,KAAK,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,eAAe,EAAE,yBAAyB,EAAE,uBAAuB,CAAC,EAAE,CAAC;gBAC5G,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBAC/D,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAA;YAC5C,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -167,10 +167,15 @@ export declare function runCiscoScan(skillDirs: readonly string[]): Promise<Cisc
167
167
  * invocations are an artifact of this integration's own per-directory
168
168
  * invocation strategy, not something the SARIF consumer should see.
169
169
  *
170
- * Only the CONTAINER is merged: rule catalogs are de-duplicated by `id`,
171
- * results are concatenated. Every individual rule/result object is passed
172
- * through unmodified — never rewritten — preserving the "append verbatim"
173
- * contract this integration promises for `--sarif` output.
170
+ * Rule catalogs are de-duplicated by `id` and results are concatenated, each
171
+ * passed through as the tool wrote it, with one exception. Every run carries
172
+ * `originalUriBaseIds`, which says where its relative `artifactLocation.uri`s
173
+ * are rooted — and each run roots `%SRCROOT%` at its OWN scanned directory.
174
+ * Dropping them (as this did) left every location unresolvable. They are
175
+ * merged: a base id that two runs define differently is renamed for the later
176
+ * run (`%SRCROOT%_2`), and that run's results are copied with their
177
+ * `uriBaseId` references renamed to match, so each location still resolves to
178
+ * the directory it was found in.
174
179
  *
175
180
  * Returns `null` when given no runs (nothing to append).
176
181
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ciscoScanner.d.ts","sourceRoot":"","sources":["../../src/lib/ciscoScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AAYH;;;eAGe;AACf,eAAO,MAAM,oBAAoB,kBAAkB,CAAA;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAA;AAE3C,yEAAyE;AACzE,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAErD;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQlE;AAED;;;uEAGuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B;2CACuC;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf;;;6CAGyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;2CAEuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAA;IACX;;kDAE8C;IAC9C,EAAE,EAAE,OAAO,CAAA;IACX;6BACyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;8EAE0E;IAC1E,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB;+DAC2D;IAC3D,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAkID;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAM9F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CAyB9E"}
1
+ {"version":3,"file":"ciscoScanner.d.ts","sourceRoot":"","sources":["../../src/lib/ciscoScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AAYH;;;eAGe;AACf,eAAO,MAAM,oBAAoB,kBAAkB,CAAA;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAA;AAE3C,yEAAyE;AACzE,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAErD;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQlE;AAED;;;uEAGuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B;2CACuC;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf;;;6CAGyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;2CAEuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAA;IACX;;kDAE8C;IAC9C,EAAE,EAAE,OAAO,CAAA;IACX;6BACyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;8EAE0E;IAC1E,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB;+DAC2D;IAC3D,QAAQ,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAkID;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAM9F;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CA4C9E"}
@@ -256,10 +256,15 @@ export async function runCiscoScan(skillDirs) {
256
256
  * invocations are an artifact of this integration's own per-directory
257
257
  * invocation strategy, not something the SARIF consumer should see.
258
258
  *
259
- * Only the CONTAINER is merged: rule catalogs are de-duplicated by `id`,
260
- * results are concatenated. Every individual rule/result object is passed
261
- * through unmodified — never rewritten — preserving the "append verbatim"
262
- * contract this integration promises for `--sarif` output.
259
+ * Rule catalogs are de-duplicated by `id` and results are concatenated, each
260
+ * passed through as the tool wrote it, with one exception. Every run carries
261
+ * `originalUriBaseIds`, which says where its relative `artifactLocation.uri`s
262
+ * are rooted — and each run roots `%SRCROOT%` at its OWN scanned directory.
263
+ * Dropping them (as this did) left every location unresolvable. They are
264
+ * merged: a base id that two runs define differently is renamed for the later
265
+ * run (`%SRCROOT%_2`), and that run's results are copied with their
266
+ * `uriBaseId` references renamed to match, so each location still resolves to
267
+ * the directory it was found in.
263
268
  *
264
269
  * Returns `null` when given no runs (nothing to append).
265
270
  */
@@ -269,16 +274,32 @@ export function combineCiscoSarifRuns(runs) {
269
274
  const base = runs[0];
270
275
  const rulesById = new Map();
271
276
  const results = [];
272
- for (const run of runs) {
277
+ const baseIds = {};
278
+ runs.forEach((run, index) => {
273
279
  const r = run;
274
280
  for (const rule of r.tool?.driver?.rules ?? []) {
275
281
  const id = rule?.id;
276
282
  if (typeof id === 'string')
277
283
  rulesById.set(id, rule);
278
284
  }
279
- if (Array.isArray(r.results))
280
- results.push(...r.results);
281
- }
285
+ const renamed = new Map();
286
+ const own = r.originalUriBaseIds;
287
+ if (own && typeof own === 'object' && !Array.isArray(own)) {
288
+ for (const [id, location] of Object.entries(own)) {
289
+ let key = id;
290
+ if (key in baseIds && JSON.stringify(baseIds[key]) !== JSON.stringify(location)) {
291
+ key = `${id}_${index + 1}`;
292
+ while (key in baseIds)
293
+ key = `${key}_`;
294
+ renamed.set(id, key);
295
+ }
296
+ baseIds[key] = location;
297
+ }
298
+ }
299
+ if (Array.isArray(r.results)) {
300
+ results.push(...(renamed.size === 0 ? r.results : r.results.map((res) => renameUriBaseIds(res, renamed))));
301
+ }
302
+ });
282
303
  return {
283
304
  tool: {
284
305
  driver: {
@@ -286,7 +307,20 @@ export function combineCiscoSarifRuns(runs) {
286
307
  rules: [...rulesById.values()],
287
308
  },
288
309
  },
310
+ ...(Object.keys(baseIds).length > 0 ? { originalUriBaseIds: baseIds } : {}),
289
311
  results,
290
312
  };
291
313
  }
314
+ /** A copy of `value` with every `uriBaseId` string found in `renamed` replaced. */
315
+ function renameUriBaseIds(value, renamed) {
316
+ if (Array.isArray(value))
317
+ return value.map((v) => renameUriBaseIds(v, renamed));
318
+ if (!value || typeof value !== 'object')
319
+ return value;
320
+ const out = {};
321
+ for (const [k, v] of Object.entries(value)) {
322
+ out[k] = k === 'uriBaseId' && typeof v === 'string' && renamed.has(v) ? renamed.get(v) : renameUriBaseIds(v, renamed);
323
+ }
324
+ return out;
325
+ }
292
326
  //# sourceMappingURL=ciscoScanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ciscoScanner.js","sourceRoot":"","sources":["../../src/lib/ciscoScanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ciscoScanner.js","sourceRoot":"","sources":["../../src/lib/ciscoScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAEzC;;;eAGe;AACf,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAA;AAEnD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAA;AAE3C,yEAAyE;AACzE,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAC,oBAAoB,CAAC,CAAA;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,oBAAoB,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/F,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AA4CD,SAAS,0BAA0B;IACjC,OAAO,CACL,IAAI,oBAAoB,uCAAuC;QAC/D,oEAAoE;QACpE,yEAAyE;QACzE,gBAAgB,CACjB,CAAA;AACH,CAAC;AAWD;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,UAAU,CAAC,GAAW;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IACjG,IAAI,SAAoC,CAAA;IAExC,IAAI,CAAC;QACH,MAAM,aAAa,CACjB,oBAAoB,EACpB,CAAC,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EACjF,EAAE,OAAO,EAAE,qBAAqB,EAAE,CACnC,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAoB,CAAA;QACpC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAA;QAC7F,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO;gBACL,GAAG;gBACH,EAAE,EAAE,KAAK;gBACT,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;gBACZ,KAAK,EAAE,uCAAuC,qBAAqB,eAAe,GAAG,EAAE;aACxF,CAAA;QACH,CAAC;QACD,wEAAwE;QACxE,4EAA4E;QAC5E,SAAS,GAAG,OAAO,CAAA;IACrB,CAAC;IAED,IAAI,GAAW,CAAA;IACf,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAC5C,OAAO;YACL,GAAG;YACH,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,EAAE;YACZ,KAAK,EACH,mDAAmD,GAAG,EAAE;gBACxD,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,+BAA+B,CAAC;SACrE,CAAA;IACH,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,GAAG;YACH,EAAE,EAAE,KAAK;YACT,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,kCAAkC,GAAG,qBAAqB;SAClE,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAE,MAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,MAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3G,MAAM,QAAQ,GAAuB,EAAE,CAAA;IACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAI,GAA+B,EAAE,OAAO,CAAA;QACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAQ;QACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,MAMT,CAAA;YACD,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAA;YACnD,MAAM,GAAG,GAAG,OAAO,QAAQ,EAAE,gBAAgB,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;YAC3G,sEAAsE;YACtE,8DAA8D;YAC9D,kEAAkE;YAClE,2DAA2D;YAC3D,oEAAoE;YACpE,oEAAoE;YACpE,2CAA2C;YAC3C,MAAM,QAAQ,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACvF,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBAC3D,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACxD,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAClE,QAAQ,EAAE,OAAO,CAAC,CAAC,UAAU,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACxF,QAAQ;gBACR,IAAI,EAAE,OAAO,QAAQ,EAAE,MAAM,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aAC9F,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;AACrD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAA4B;IAC7D,MAAM,OAAO,GAAyB,EAAE,CAAA;IACxC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB;IAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAElC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAyE,CAAA;IAC5F,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAA;IAC5C,MAAM,OAAO,GAAc,EAAE,CAAA;IAC7B,MAAM,OAAO,GAA4B,EAAE,CAAA;IAE3C,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,CAAC,GAAG,GAAuG,CAAA;QACjH,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,EAAE,GAAI,IAAyB,EAAE,EAAE,CAAA;YACzC,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAAE,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACrD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;QACzC,MAAM,GAAG,GAAG,CAAC,CAAC,kBAAkB,CAAA;QAChC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1D,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;gBAC5E,IAAI,GAAG,GAAG,EAAE,CAAA;gBACZ,IAAI,GAAG,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChF,GAAG,GAAG,GAAG,EAAE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAA;oBAC1B,OAAO,GAAG,IAAI,OAAO;wBAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;oBACtC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBACtB,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;YACzB,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5G,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;gBAChG,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;aAC/B;SACF;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,OAAO;KACR,CAAA;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,gBAAgB,CAAC,KAAc,EAAE,OAAoC;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IAC/E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,GAAG,GAA4B,EAAE,CAAA;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,WAAW,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACvH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"decisionsLogRefresh.d.ts","sourceRoot":"","sources":["../../src/lib/decisionsLogRefresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA2BnG"}
1
+ {"version":3,"file":"decisionsLogRefresh.d.ts","sourceRoot":"","sources":["../../src/lib/decisionsLogRefresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA8BnG"}
@@ -12,6 +12,7 @@
12
12
  * @module
13
13
  */
14
14
  import { loadCredentials } from '../config/store.js';
15
+ import { resolveControlPlaneUrl } from '../config/paths.js';
15
16
  import { createApiClient } from './api.js';
16
17
  import { refreshDecisionsDigest, retireClaudeMdDigest } from '@intutic/sync-daemon';
17
18
  import { loadConfig } from '../config/store.js';
@@ -29,7 +30,10 @@ export async function refreshDecisionsLog(workspaceRoot) {
29
30
  const creds = await loadCredentials();
30
31
  if (!creds)
31
32
  return { refreshed: false, reason: 'not authenticated' };
32
- const client = createApiClient(creds.controlPlaneUrl, creds.apiKey);
33
+ // The shared resolver, as every command uses: the saved login URL alone
34
+ // ignored INTUTIC_CONTROL_PLANE_URL and a workspace set up with --dev.
35
+ const controlPlaneUrl = resolveControlPlaneUrl();
36
+ const client = createApiClient(controlPlaneUrl, creds.apiKey);
33
37
  const { settings } = await client.get('/api/v1/workspace/settings');
34
38
  if (!settings?.decisionsLogEnabled) {
35
39
  return { refreshed: false, reason: 'decisionsLogEnabled is off' };
@@ -38,7 +42,7 @@ export async function refreshDecisionsLog(workspaceRoot) {
38
42
  // its instructions, as on the daemon's own cycle.
39
43
  await retireClaudeMdDigest(workspaceRoot);
40
44
  const result = await refreshDecisionsDigest({
41
- controlPlaneUrl: creds.controlPlaneUrl,
45
+ controlPlaneUrl,
42
46
  apiKey: creds.apiKey,
43
47
  workspaceId: creds.workspaceId,
44
48
  workspaceRoot,
@@ -1 +1 @@
1
- {"version":3,"file":"decisionsLogRefresh.js","sourceRoot":"","sources":["../../src/lib/decisionsLogRefresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO/C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,aAAqB;IAC7D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAA;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAEpE,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CACnC,4BAA4B,CAC7B,CAAA;QACD,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;YACnC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAA;QACnE,CAAC;QAED,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;YAC1C,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,aAAa;YACb,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,IAAI,EAAE,CAAkB;SAC5D,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IACvF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"decisionsLogRefresh.js","sourceRoot":"","sources":["../../src/lib/decisionsLogRefresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO/C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,aAAqB;IAC7D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,eAAe,EAAE,CAAA;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAEpE,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,eAAe,GAAG,sBAAsB,EAAE,CAAA;QAChD,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CACnC,4BAA4B,CAC7B,CAAA;QACD,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;YACnC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAA;QACnE,CAAC;QAED,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC;YAC1C,eAAe;YACf,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,aAAa;YACb,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,IAAI,EAAE,CAAkB;SAC5D,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IACvF,CAAC;AACH,CAAC"}
@@ -66,4 +66,11 @@ export declare function readEnforcementState(path?: string): Promise<Enforcement
66
66
  * CA-trust leg (from `enterprise install`), and vice versa.
67
67
  */
68
68
  export declare function writeEnforcementState(legs: EnforcementStateLegs, cliVersion: string, path?: string): Promise<EnforcementState>;
69
+ /**
70
+ * Whether this machine is expected to be contained, and so whether a direct
71
+ * connection to an AI provider is a bypass worth reporting: the workspace
72
+ * enforces egress, or this machine applied `intutic enforce` (the firewall leg).
73
+ * Anywhere else a direct connection is the normal state.
74
+ */
75
+ export declare function containmentExpected(egressMode: string | undefined, state: EnforcementState | null): boolean;
69
76
  //# sourceMappingURL=enforcementState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enforcementState.d.ts","sourceRoot":"","sources":["../../src/lib/enforcementState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,WAAW,CAAC,EAAE,cAAc,CAAA;CAC7B;AAED,0GAA0G;AAC1G,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,SAAS,GAAG,aAAa,CAAC,CAAA;AAEjG,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAMzF;AA6BD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CAItG;AAUD,0DAA0D;AAC1D,wBAAsB,oBAAoB,CAAC,IAAI,GAAE,MAA+B,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAElH;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,oBAAoB,EAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAA+B,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAoB3B"}
1
+ {"version":3,"file":"enforcementState.d.ts","sourceRoot":"","sources":["../../src/lib/enforcementState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,WAAW,CAAC,EAAE,cAAc,CAAA;CAC7B;AAED,0GAA0G;AAC1G,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,SAAS,GAAG,aAAa,CAAC,CAAA;AAEjG,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,MAAM,CAMzF;AA6BD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CAItG;AAUD,0DAA0D;AAC1D,wBAAsB,oBAAoB,CAAC,IAAI,GAAE,MAA+B,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAElH;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,oBAAoB,EAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAA+B,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAoB3B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAE3G"}
@@ -110,4 +110,13 @@ export async function writeEnforcementState(legs, cliVersion, path = enforcement
110
110
  await rename(tmp, path);
111
111
  return next;
112
112
  }
113
+ /**
114
+ * Whether this machine is expected to be contained, and so whether a direct
115
+ * connection to an AI provider is a bypass worth reporting: the workspace
116
+ * enforces egress, or this machine applied `intutic enforce` (the firewall leg).
117
+ * Anywhere else a direct connection is the normal state.
118
+ */
119
+ export function containmentExpected(egressMode, state) {
120
+ return egressMode === 'enforce' || state?.firewall?.active === true;
121
+ }
113
122
  //# sourceMappingURL=enforcementState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enforcementState.js","sourceRoot":"","sources":["../../src/lib/enforcementState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enforcementState.js","sourceRoot":"","sources":["../../src/lib/enforcementState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;AAmCzC,mFAAmF;AACnF,MAAM,UAAU,oBAAoB,CAAC,WAA4B,OAAO,CAAC,QAAQ;IAC/E,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,6DAA6D,CAAA;IAC/F,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,iBAAiB,mCAAmC,CAAA;IAC3F,CAAC;IACD,OAAO,yCAAyC,CAAA;AAClD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAyB;IACpD,IAAI,CAAC;QACH,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAC9D,OAAO,EAAE,IAAI,IAAI,CAAA;QACnB,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAA;YACzF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;YAC9D,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAC3B,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE;gBAC5C,OAAO;gBACP,yCAAyC;gBACzC,IAAI;gBACJ,aAAa;aACd,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;YACpE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAC3B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAA4B,OAAO,CAAC,QAAQ;IACnF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,IAAI,QAAQ,EAAE,CAAA;IACnG,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACzE,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAqB,CAAA;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAe,oBAAoB,EAAE;IAC9E,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAA0B,EAC1B,UAAkB,EAClB,OAAe,oBAAoB,EAAE;IAErC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,WAAW,GAAG,QAAQ,EAAE,WAAW,IAAI,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAA;IAEzE,MAAM,IAAI,GAAqB;QAC7B,WAAW;QACX,QAAQ,EAAE,QAAQ,EAAE;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU;QACV,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ;QAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,OAAO;QAC1C,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE,WAAW;KACvD,CAAA;IAED,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAG,GAAG,IAAI,cAAc,CAAA;IACjC,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3E,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAEvB,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAA8B,EAAE,KAA8B;IAChG,OAAO,UAAU,KAAK,SAAS,IAAI,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;AACrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mdmManifest.d.ts","sourceRoot":"","sources":["../../src/lib/mdmManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAeH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMlD;AAUD,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CA+CvE;AAED,MAAM,WAAW,mBAAmB;IAClC,oHAAoH;IACpH,cAAc,EAAE,MAAM,CAAA;IACtB,iJAAiJ;IACjJ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kGAAkG;IAClG,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;CAC3B;AAOD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAcxE;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAc1E;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAA;AAOzC;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAI7E;AAED,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAA;IACtB,kGAAkG;IAClG,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;CAC3B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAc9F;AAED,MAAM,WAAW,yBAAyB;IACxC,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,GAAG,MAAM,CAcxG;AAED,MAAM,WAAW,wBAAwB;IACvC,oGAAoG;IACpG,aAAa,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAkBrF;AAED,8FAA8F;AAC9F,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAmBvF"}
1
+ {"version":3,"file":"mdmManifest.d.ts","sourceRoot":"","sources":["../../src/lib/mdmManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgBH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMlD;AAUD,MAAM,WAAW,kBAAkB;IACjC,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAA;IACjB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CA+CvE;AAED,MAAM,WAAW,mBAAmB;IAClC,oHAAoH;IACpH,cAAc,EAAE,MAAM,CAAA;IACtB,iJAAiJ;IACjJ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kGAAkG;IAClG,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;CAC3B;AAQD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAcxE;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAc1E;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAA;AAOzC;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAI7E;AAED,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,cAAc,EAAE,MAAM,CAAA;IACtB,kGAAkG;IAClG,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;CAC3B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAc9F;AAED,MAAM,WAAW,yBAAyB;IACxC,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,GAAG,MAAM,CAcxG;AAED,MAAM,WAAW,wBAAwB;IACvC,oGAAoG;IACpG,aAAa,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAmDD;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAkBrF;AAED,8FAA8F;AAC9F,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAmBvF"}