@wootsup/yt-builder-mcp 1.3.0 → 1.4.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 (133) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/doctor-command.d.ts +21 -0
  3. package/dist/cli/doctor-command.d.ts.map +1 -0
  4. package/dist/cli/doctor-command.js +111 -0
  5. package/dist/cli/doctor-command.js.map +1 -0
  6. package/dist/cli/invocation-decision.d.ts.map +1 -1
  7. package/dist/cli/invocation-decision.js +2 -0
  8. package/dist/cli/invocation-decision.js.map +1 -1
  9. package/dist/client.d.ts +14 -0
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +9 -0
  12. package/dist/client.js.map +1 -1
  13. package/dist/diagnostics/ca-trust.d.ts +16 -0
  14. package/dist/diagnostics/ca-trust.d.ts.map +1 -0
  15. package/dist/diagnostics/ca-trust.js +54 -0
  16. package/dist/diagnostics/ca-trust.js.map +1 -0
  17. package/dist/diagnostics/diagnose-network-error.d.ts +37 -0
  18. package/dist/diagnostics/diagnose-network-error.d.ts.map +1 -0
  19. package/dist/diagnostics/diagnose-network-error.js +158 -0
  20. package/dist/diagnostics/diagnose-network-error.js.map +1 -0
  21. package/dist/diagnostics/doctor.d.ts +62 -0
  22. package/dist/diagnostics/doctor.d.ts.map +1 -0
  23. package/dist/diagnostics/doctor.js +165 -0
  24. package/dist/diagnostics/doctor.js.map +1 -0
  25. package/dist/gateway/essentials.d.ts +1 -1
  26. package/dist/gateway/essentials.d.ts.map +1 -1
  27. package/dist/gateway/essentials.js +5 -0
  28. package/dist/gateway/essentials.js.map +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +35 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/install-skill.d.ts +1 -1
  33. package/dist/install-skill.js +1 -1
  34. package/dist/net/extra-headers.d.ts +66 -0
  35. package/dist/net/extra-headers.d.ts.map +1 -0
  36. package/dist/net/extra-headers.js +164 -0
  37. package/dist/net/extra-headers.js.map +1 -0
  38. package/dist/net/internal-host.d.ts +45 -0
  39. package/dist/net/internal-host.d.ts.map +1 -0
  40. package/dist/net/internal-host.js +164 -0
  41. package/dist/net/internal-host.js.map +1 -0
  42. package/dist/net/proxy-dispatcher.d.ts +40 -0
  43. package/dist/net/proxy-dispatcher.d.ts.map +1 -0
  44. package/dist/net/proxy-dispatcher.js +65 -0
  45. package/dist/net/proxy-dispatcher.js.map +1 -0
  46. package/dist/proxy/bridge.d.ts +45 -13
  47. package/dist/proxy/bridge.d.ts.map +1 -1
  48. package/dist/proxy/bridge.js +113 -7
  49. package/dist/proxy/bridge.js.map +1 -1
  50. package/dist/setup-ca-env.d.ts +40 -0
  51. package/dist/setup-ca-env.d.ts.map +1 -0
  52. package/dist/setup-ca-env.js +58 -0
  53. package/dist/setup-ca-env.js.map +1 -0
  54. package/dist/setup-ca-reprobe.d.ts +38 -0
  55. package/dist/setup-ca-reprobe.d.ts.map +1 -0
  56. package/dist/setup-ca-reprobe.js +68 -0
  57. package/dist/setup-ca-reprobe.js.map +1 -0
  58. package/dist/setup-cli.d.ts +37 -2
  59. package/dist/setup-cli.d.ts.map +1 -1
  60. package/dist/setup-cli.js +178 -4
  61. package/dist/setup-cli.js.map +1 -1
  62. package/dist/setup-npx-spec.d.ts +44 -0
  63. package/dist/setup-npx-spec.d.ts.map +1 -0
  64. package/dist/setup-npx-spec.js +66 -0
  65. package/dist/setup-npx-spec.js.map +1 -0
  66. package/dist/setup-prompts.d.ts +14 -1
  67. package/dist/setup-prompts.d.ts.map +1 -1
  68. package/dist/setup-prompts.js +53 -1
  69. package/dist/setup-prompts.js.map +1 -1
  70. package/dist/setup-wizard-defaults.d.ts.map +1 -1
  71. package/dist/setup-wizard-defaults.js +29 -5
  72. package/dist/setup-wizard-defaults.js.map +1 -1
  73. package/dist/setup-wizard-handshake.d.ts +4 -4
  74. package/dist/setup-wizard-handshake.d.ts.map +1 -1
  75. package/dist/setup-wizard-handshake.js +46 -12
  76. package/dist/setup-wizard-handshake.js.map +1 -1
  77. package/dist/setup-wizard-types.d.ts +81 -0
  78. package/dist/setup-wizard-types.d.ts.map +1 -1
  79. package/dist/setup-wizard.d.ts +2 -2
  80. package/dist/setup-wizard.d.ts.map +1 -1
  81. package/dist/setup-wizard.js +133 -18
  82. package/dist/setup-wizard.js.map +1 -1
  83. package/dist/sites/client-pool.d.ts +8 -1
  84. package/dist/sites/client-pool.d.ts.map +1 -1
  85. package/dist/sites/client-pool.js +13 -1
  86. package/dist/sites/client-pool.js.map +1 -1
  87. package/dist/tools/elements/builders.d.ts.map +1 -1
  88. package/dist/tools/elements/builders.js +4 -2
  89. package/dist/tools/elements/builders.js.map +1 -1
  90. package/dist/tools/elements/handlers.d.ts +2 -1
  91. package/dist/tools/elements/handlers.d.ts.map +1 -1
  92. package/dist/tools/elements/handlers.js +3 -22
  93. package/dist/tools/elements/handlers.js.map +1 -1
  94. package/dist/tools/format/health-format.d.ts +3 -0
  95. package/dist/tools/format/health-format.d.ts.map +1 -1
  96. package/dist/tools/format/health-format.js +21 -4
  97. package/dist/tools/format/health-format.js.map +1 -1
  98. package/dist/tools/health.d.ts.map +1 -1
  99. package/dist/tools/health.js +32 -0
  100. package/dist/tools/health.js.map +1 -1
  101. package/dist/tools/pages/builders.d.ts.map +1 -1
  102. package/dist/tools/pages/builders.js +78 -27
  103. package/dist/tools/pages/builders.js.map +1 -1
  104. package/dist/tools/pages/handlers-read.d.ts +36 -5
  105. package/dist/tools/pages/handlers-read.d.ts.map +1 -1
  106. package/dist/tools/pages/handlers-read.js +217 -34
  107. package/dist/tools/pages/handlers-read.js.map +1 -1
  108. package/dist/tools/pages/schemas.d.ts +20 -5
  109. package/dist/tools/pages/schemas.d.ts.map +1 -1
  110. package/dist/tools/pages/schemas.js +44 -6
  111. package/dist/tools/pages/schemas.js.map +1 -1
  112. package/dist/tools/shared-schemas.d.ts +3 -0
  113. package/dist/tools/shared-schemas.d.ts.map +1 -1
  114. package/dist/tools/shared-schemas.js +28 -0
  115. package/dist/tools/shared-schemas.js.map +1 -1
  116. package/dist/tools/sources/builders.d.ts.map +1 -1
  117. package/dist/tools/sources/builders.js +30 -5
  118. package/dist/tools/sources/builders.js.map +1 -1
  119. package/dist/tools/sources/handlers.d.ts +9 -1
  120. package/dist/tools/sources/handlers.d.ts.map +1 -1
  121. package/dist/tools/sources/handlers.js +62 -12
  122. package/dist/tools/sources/handlers.js.map +1 -1
  123. package/dist/tools/sparse-fields.d.ts +50 -0
  124. package/dist/tools/sparse-fields.d.ts.map +1 -1
  125. package/dist/tools/sparse-fields.js +107 -0
  126. package/dist/tools/sparse-fields.js.map +1 -1
  127. package/dist/update/update-check.d.ts +56 -0
  128. package/dist/update/update-check.d.ts.map +1 -0
  129. package/dist/update/update-check.js +155 -0
  130. package/dist/update/update-check.js.map +1 -0
  131. package/manifest.json +1 -1
  132. package/package.json +2 -1
  133. package/skills/yt-builder-mcp/SKILL.md +13 -12
@@ -7,10 +7,27 @@
7
7
  * @license MIT
8
8
  */
9
9
  import { RestClient } from './client.js';
10
+ import { isCaTrustError } from './diagnostics/ca-trust.js';
11
+ import { diagnoseNetworkError } from './diagnostics/diagnose-network-error.js';
10
12
  // Placeholder Bearer used only for the unauthenticated /health probe;
11
13
  // constructed dynamically so the secret-grep-gate doesn't flag the
12
14
  // call-site as a hardcoded credential.
13
15
  const HEALTH_PROBE_PLACEHOLDER_TOKEN = ['health', 'probe', 'no-auth'].join('-');
16
+ /**
17
+ * Turn a probe failure into a message that carries an actionable fix when the
18
+ * cause is recognised (TLS-inspection CA, proxy, DNS, timeout, bad bearer).
19
+ * The Glöckle stress-test died on an opaque probe failure that looked like an
20
+ * auth problem when it was really a corporate TLS-inspection root CA.
21
+ */
22
+ function describeProbeError(e) {
23
+ const base = e instanceof Error ? e.message : String(e);
24
+ const diag = diagnoseNetworkError(e);
25
+ return diag !== null ? `${base}\n→ ${diag.fix}` : base;
26
+ }
27
+ /** True when `extraHeaders` carries at least one corporate header to attach. */
28
+ function hasHeaders(extraHeaders) {
29
+ return extraHeaders !== undefined && Object.keys(extraHeaders).length > 0;
30
+ }
14
31
  function extractPluginVersion(raw) {
15
32
  if (raw === null || typeof raw !== 'object')
16
33
  return undefined;
@@ -21,14 +38,21 @@ function extractPluginVersion(raw) {
21
38
  return obj.version;
22
39
  return undefined;
23
40
  }
24
- export async function defaultProbeHealth(wpUrl) {
41
+ export async function defaultProbeHealth(wpUrl, fetchImpl, extraHeaders) {
25
42
  try {
26
- const client = new RestClient({ baseUrl: wpUrl, bearerToken: HEALTH_PROBE_PLACEHOLDER_TOKEN });
43
+ const client = new RestClient({
44
+ baseUrl: wpUrl,
45
+ bearerToken: HEALTH_PROBE_PLACEHOLDER_TOKEN,
46
+ ...(fetchImpl !== undefined ? { fetch: fetchImpl } : {}),
47
+ ...(hasHeaders(extraHeaders) ? { extraHeaders } : {}),
48
+ });
27
49
  const pluginVersion = extractPluginVersion(await client.get('/health'));
28
50
  return pluginVersion !== undefined ? { ok: true, pluginVersion } : { ok: true };
29
51
  }
30
52
  catch (e) {
31
- return { ok: false, error: e instanceof Error ? e.message : String(e) };
53
+ // Classify the raw error BEFORE stringifying so the wizard can offer
54
+ // the corporate-CA prompt (G-D #6) on a TLS chain-of-trust failure.
55
+ return { ok: false, error: describeProbeError(e), ...(isCaTrustError(e) ? { caTrust: true } : {}) };
32
56
  }
33
57
  }
34
58
  /**
@@ -40,9 +64,14 @@ export async function defaultProbeHealth(wpUrl) {
40
64
  * Soft-failure on 404 keeps back-compat with pre-6.5 plugins — the
41
65
  * wizard falls through to the existing /health-only probe path.
42
66
  */
43
- export async function defaultProbeIdentity(wpUrl) {
67
+ export async function defaultProbeIdentity(wpUrl, fetchImpl, extraHeaders) {
44
68
  try {
45
- const client = new RestClient({ baseUrl: wpUrl, bearerToken: HEALTH_PROBE_PLACEHOLDER_TOKEN });
69
+ const client = new RestClient({
70
+ baseUrl: wpUrl,
71
+ bearerToken: HEALTH_PROBE_PLACEHOLDER_TOKEN,
72
+ ...(fetchImpl !== undefined ? { fetch: fetchImpl } : {}),
73
+ ...(hasHeaders(extraHeaders) ? { extraHeaders } : {}),
74
+ });
46
75
  const raw = await client.get('/identity');
47
76
  if (raw === null || typeof raw !== 'object') {
48
77
  return { ok: false, error: 'unexpected response shape (not an object)' };
@@ -62,17 +91,22 @@ export async function defaultProbeIdentity(wpUrl) {
62
91
  return result;
63
92
  }
64
93
  catch (e) {
65
- return { ok: false, error: e instanceof Error ? e.message : String(e) };
94
+ return { ok: false, error: describeProbeError(e) };
66
95
  }
67
96
  }
68
- export async function defaultProbeAuth(wpUrl, bearer) {
97
+ export async function defaultProbeAuth(wpUrl, bearer, fetchImpl, extraHeaders) {
69
98
  try {
70
- const client = new RestClient({ baseUrl: wpUrl, bearerToken: bearer });
99
+ const client = new RestClient({
100
+ baseUrl: wpUrl,
101
+ bearerToken: bearer,
102
+ ...(fetchImpl !== undefined ? { fetch: fetchImpl } : {}),
103
+ ...(hasHeaders(extraHeaders) ? { extraHeaders } : {}),
104
+ });
71
105
  await client.get('/etag');
72
106
  return { ok: true };
73
107
  }
74
108
  catch (e) {
75
- return { ok: false, error: e instanceof Error ? e.message : String(e) };
109
+ return { ok: false, error: describeProbeError(e), ...(isCaTrustError(e) ? { caTrust: true } : {}) };
76
110
  }
77
111
  }
78
112
  /** Extract `major.minor` from a semver-like string (`0.1.0-alpha.1` → `0.1`); `''` on malformed input. */
@@ -80,11 +114,11 @@ export function majorMinor(version) {
80
114
  const m = version.match(/^(\d+)\.(\d+)/);
81
115
  return m ? `${m[1]}.${m[2]}` : '';
82
116
  }
83
- export async function defaultHandshake(wpUrl, bearer, packageVersion) {
84
- const health = await defaultProbeHealth(wpUrl);
117
+ export async function defaultHandshake(wpUrl, bearer, packageVersion, extraHeaders) {
118
+ const health = await defaultProbeHealth(wpUrl, undefined, extraHeaders);
85
119
  if (!health.ok)
86
120
  return { ok: false, error: health.error ?? 'health probe failed' };
87
- const auth = await defaultProbeAuth(wpUrl, bearer);
121
+ const auth = await defaultProbeAuth(wpUrl, bearer, undefined, extraHeaders);
88
122
  if (!auth.ok)
89
123
  return { ok: false, error: auth.error ?? 'auth probe failed' };
90
124
  if (health.pluginVersion === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard-handshake.js","sourceRoot":"","sources":["../src/setup-wizard-handshake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-wizard-handshake.js","sourceRoot":"","sources":["../src/setup-wizard-handshake.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAQ/E,sEAAsE;AACtE,mEAAmE;AACnE,uCAAuC;AACvC,MAAM,8BAA8B,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEhF;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,CAAU;IAClC,MAAM,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED,gFAAgF;AAChF,SAAS,UAAU,CAAC,YAAgD;IAChE,OAAO,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAY;IACtC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,cAAc,CAAC;IACtE,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACxD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,KAAa,EACb,SAAwB,EACxB,YAAqC;IAErC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;YAC1B,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,8BAA8B;YAC3C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,OAAO,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACpF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,qEAAqE;QACrE,oEAAoE;QACpE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxG,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,KAAa,EACb,SAAwB,EACxB,YAAqC;IAErC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;YAC1B,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,8BAA8B;YAC3C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2CAA2C,EAAE,CAAC;QAC7E,CAAC;QACD,MAAM,GAAG,GAAG,GAA8B,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;YAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6DAA6D,OAAO,IAAI,SAAS,GAAG,EAAE,CAAC;QACtH,CAAC;QACD,MAAM,MAAM,GAAwB;YAChC,EAAE,EAAE,IAAI;YACR,OAAO;YACP,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChG,GAAG,CAAC,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3F,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,KAAa,EACb,MAAc,EACd,SAAwB,EACxB,YAAqC;IAErC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;YAC1B,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,MAAM;YACnB,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxG,CAAC;AACL,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,UAAU,CAAC,OAAe;IACtC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACzC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,KAAa,EACb,MAAc,EACd,cAAsB,EACtB,YAAqC;IAErC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,qBAAqB,EAAE,CAAC;IACnF,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5E,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,mBAAmB,EAAE,CAAC;IAC7E,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5D,MAAM,QAAQ,GAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACpF,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAClD,OAAO;YACH,GAAG,QAAQ;YACX,OAAO,EAAE,gBAAgB,cAAc,KAAK,KAAK,iBAAiB,MAAM,CAAC,aAAa,KAAK,KAAK,iFAAiF;SACpL,CAAC;IACN,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC"}
@@ -23,6 +23,31 @@ export interface WizardAnswers {
23
23
  * `site_id` field (see `src/sites/schema.ts`).
24
24
  */
25
25
  readonly siteId?: string;
26
+ /**
27
+ * Path to a corporate/proxy root CA `.pem` (from `--ca <path>` or the
28
+ * wizard's CA prompt). When set, the generated server entry's env block
29
+ * gets `NODE_EXTRA_CA_CERTS=<path>` so the server trusts a TLS-inspection
30
+ * chain. Never disables verification. Mutually exclusive with
31
+ * {@link caMode}.
32
+ */
33
+ readonly caCertPath?: string;
34
+ /**
35
+ * Corporate-CA trust strategy (from `--ca=system` / `--use-system-ca` or
36
+ * the wizard's CA prompt). `'system'` writes `NODE_OPTIONS=--use-system-ca`
37
+ * into the env block so Node reads the OS trust store (Windows CryptoAPI /
38
+ * macOS Keychain) — the zero-export path on Node ≥ 22.15. Mutually
39
+ * exclusive with {@link caCertPath}.
40
+ */
41
+ readonly caMode?: 'system';
42
+ /**
43
+ * Glöckle gap #15 — optional version pin (from `--pin <version>` or the
44
+ * `YTB_MCP_VERSION` env var). When set to an exact semver / dist-tag, the
45
+ * generated client config runs `npx -y @wootsup/yt-builder-mcp@<version>`
46
+ * (reproducible / air-gapped) instead of the default floating
47
+ * `@latest`. `'latest'` / empty = float (default, auto-updating). For a
48
+ * fully npx-free install, the `.dxt` Desktop build is the alternative.
49
+ */
50
+ readonly versionPin?: string;
26
51
  }
27
52
  /**
28
53
  * Decoded payload of a Bearer key. The plugin signs `kid`, `scope`, `iss`
@@ -83,11 +108,36 @@ export interface HealthProbeResult {
83
108
  readonly pluginVersion?: string;
84
109
  /** Error message if `ok=false`. */
85
110
  readonly error?: string;
111
+ /**
112
+ * True when the failure was a TLS chain-of-trust error (the corporate
113
+ * TLS-inspection signature). The wizard uses this to offer the CA prompt
114
+ * instead of the generic "continue anyway?" path. Set by the probe via
115
+ * {@link isCaTrustError}; absent/false means "not a CA problem".
116
+ */
117
+ readonly caTrust?: boolean;
86
118
  }
87
119
  export interface AuthProbeResult {
88
120
  readonly ok: boolean;
89
121
  readonly error?: string;
122
+ /** See {@link HealthProbeResult.caTrust}. */
123
+ readonly caTrust?: boolean;
90
124
  }
125
+ /**
126
+ * The user's answer to the wizard's corporate-CA prompt (G-D #6).
127
+ * - `system` → trust the OS store (`--use-system-ca`), offered only on a
128
+ * supporting Node.
129
+ * - `file` → a `.pem` path the user provides.
130
+ * - `skip` → proceed without configuring a CA (falls back to the generic
131
+ * "continue anyway?" decision).
132
+ */
133
+ export type CaPromptChoice = {
134
+ readonly choice: 'system';
135
+ } | {
136
+ readonly choice: 'file';
137
+ readonly path: string;
138
+ } | {
139
+ readonly choice: 'skip';
140
+ };
91
141
  export interface HandshakeResult {
92
142
  readonly ok: boolean;
93
143
  readonly pluginVersion?: string;
@@ -144,6 +194,37 @@ export interface WizardDeps {
144
194
  * clear "pickup not supported by this WizardDeps" error.
145
195
  */
146
196
  fetchPickup?: (pickupUrl: string, nonce: string) => Promise<PickupResult>;
197
+ /**
198
+ * G-D #6/#7 — Node version string (default `process.version`) used to gate
199
+ * the OS-trust-store (`--use-system-ca`) CA option: the wizard only offers
200
+ * it on Node ≥ 22.15. Injectable so tests pin a version deterministically.
201
+ */
202
+ nodeVersion?: string;
203
+ /**
204
+ * G-D #6 — prompt the user for a corporate-CA trust strategy when a probe
205
+ * fails with a TLS-inspection error. `systemCaSupported` tells the prompt
206
+ * whether to offer the OS-trust-store option. Optional for back-compat:
207
+ * when absent the wizard falls through to the generic "continue anyway?"
208
+ * path (pre-G-D behaviour).
209
+ */
210
+ promptCa?: (input: {
211
+ readonly systemCaSupported: boolean;
212
+ }) => Promise<CaPromptChoice | null>;
213
+ /**
214
+ * G-D #6/#8 — apply the chosen CA at runtime and RE-PROBE health + auth so
215
+ * the wizard can confirm the fix worked before finalising (a real live
216
+ * validation, not a silent first-tool-call timeout). Optional: when absent
217
+ * the wizard re-runs the ordinary `probeHealth`/`probeAuth` deps after
218
+ * recording the choice.
219
+ */
220
+ applyAndReProbe?: (input: {
221
+ readonly wpUrl: string;
222
+ readonly bearer: string;
223
+ readonly choice: CaPromptChoice;
224
+ }) => Promise<{
225
+ readonly health: HealthProbeResult;
226
+ readonly auth: AuthProbeResult;
227
+ }>;
147
228
  /** Optional sink for human-facing status lines. */
148
229
  log?: (line: string) => void;
149
230
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard-types.d.ts","sourceRoot":"","sources":["../src/setup-wizard-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-wizard-types.d.ts","sourceRoot":"","sources":["../src/setup-wizard-types.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@
13
13
  *
14
14
  * @license MIT
15
15
  */
16
- import type { AuthProbeResult, HandshakeResult, HealthProbeResult, WizardAnswers, WizardDeps, WriteResult } from './setup-wizard-types.js';
16
+ import type { AuthProbeResult, CaPromptChoice, HandshakeResult, HealthProbeResult, WizardAnswers, WizardDeps, WriteResult } from './setup-wizard-types.js';
17
17
  export { DEFAULT_WIZARD_DEPS, majorMinor } from './setup-wizard-defaults.js';
18
- export type { AuthProbeResult, HandshakeResult, HealthProbeResult, WizardAnswers, WizardDeps, WriteResult, };
18
+ export type { AuthProbeResult, CaPromptChoice, HandshakeResult, HealthProbeResult, WizardAnswers, WizardDeps, WriteResult, };
19
19
  /**
20
20
  * Run the interactive setup wizard. Returns a process exit-code so the
21
21
  * outer dispatcher can `process.exit(rc)` cleanly.
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../src/setup-wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,KAAK,EACR,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,WAAW,EACd,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7E,YAAY,EACR,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,WAAW,GACd,CAAC;AAYF;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAC3B,IAAI,GAAE,UAAgC,GACvC,OAAO,CAAC,MAAM,CAAC,CAyLjB"}
1
+ {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../src/setup-wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,OAAO,KAAK,EACR,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,WAAW,EACd,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7E,YAAY,EACR,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,WAAW,GACd,CAAC;AAsBF;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAC3B,IAAI,GAAE,UAAgC,GACvC,OAAO,CAAC,MAAM,CAAC,CAkSjB"}
@@ -14,7 +14,10 @@
14
14
  * @license MIT
15
15
  */
16
16
  import { cancel, log, note, outro, spinner } from '@clack/prompts';
17
+ import { supportsSystemCa } from './diagnostics/ca-trust.js';
17
18
  import { SERVER_NAME, SERVER_VERSION } from './server.js';
19
+ import { buildCaEnv } from './setup-ca-env.js';
20
+ import { buildNpxSpec } from './setup-npx-spec.js';
18
21
  import { DEFAULT_WIZARD_DEPS, rollbackWrites, } from './setup-wizard-defaults.js';
19
22
  // Re-export the public surface so `import { runWizard, WizardDeps } from
20
23
  // './setup-wizard.js'` continues to work without touching the split files.
@@ -28,6 +31,14 @@ export { DEFAULT_WIZARD_DEPS, majorMinor } from './setup-wizard-defaults.js';
28
31
  // the legacy `yootheme-builder` entry stays dormant (harmless, points
29
32
  // at the same npm package).
30
33
  const SERVER_KEY = 'yt-builder-mcp';
34
+ /**
35
+ * G-E #6 — the honest outcome message when the operator chose the OS trust store
36
+ * (`--use-system-ca`). Node only consults that store when (re)started with the
37
+ * flag, which the WRITTEN config does but the setup process did NOT — so we can
38
+ * never validate it in-process. We say so plainly instead of reporting a false ❌.
39
+ */
40
+ const SYSTEM_CA_DEFERRED_MESSAGE = '✅ Configured to use the OS trust store (--use-system-ca) — this takes effect when ' +
41
+ "your AI client next launches the server. The current setup process can't validate it in-process.";
31
42
  /**
32
43
  * Run the interactive setup wizard. Returns a process exit-code so the
33
44
  * outer dispatcher can `process.exit(rc)` cleanly.
@@ -75,10 +86,24 @@ export async function runWizard(deps = DEFAULT_WIZARD_DEPS) {
75
86
  log.warn(`Identity probe: ${identity.error ?? 'unknown'} (continuing — older plugins lack this endpoint).`);
76
87
  }
77
88
  }
89
+ // The CA choice the wizard ends up writing into the env block. Seeded from
90
+ // any non-interactive `--ca` / `--ca=system` answer, then possibly set by
91
+ // the interactive CA prompt (G-D #6) when a probe hits a TLS-trust error.
92
+ let caChoice = {
93
+ ...(answers.caCertPath !== undefined ? { caCertPath: answers.caCertPath } : {}),
94
+ ...(answers.caMode !== undefined ? { caMode: answers.caMode } : {}),
95
+ };
96
+ const nodeVersion = deps.nodeVersion ?? process.version;
78
97
  // 2b. Health probe (no auth).
79
98
  const healthSpinner = spinner();
80
99
  healthSpinner.start('Probing plugin health…');
81
- const health = await deps.probeHealth(answers.wpUrl);
100
+ let health = await deps.probeHealth(answers.wpUrl);
101
+ let auth;
102
+ // Set once the operator picked the OS trust store (--use-system-ca) and the
103
+ // post-CA re-probe failed: the OS store can't be validated in THIS process,
104
+ // so we defer validation to the next server launch instead of treating the
105
+ // (false-negative) failure as a reason to discard the correct config.
106
+ let systemCaDeferred = false;
82
107
  if (health.ok) {
83
108
  healthSpinner.stop(health.pluginVersion !== undefined
84
109
  ? `Plugin reachable (v${health.pluginVersion}).`
@@ -86,24 +111,91 @@ export async function runWizard(deps = DEFAULT_WIZARD_DEPS) {
86
111
  }
87
112
  else {
88
113
  healthSpinner.stop('Plugin probe failed.');
89
- log.error(`Could not reach the plugin: ${health.error ?? 'unknown'}`);
90
- const cont = await deps.confirmContinue('Continue anyway and write the config? (You can fix this later.)');
91
- if (!cont) {
92
- cancel('Setup cancelled.');
93
- return 2;
114
+ // G-D #6/#8 a TLS chain-of-trust failure is the corporate
115
+ // TLS-inspection signature. Offer to self-configure the CA (OS trust
116
+ // store on a supporting Node, or a .pem path), write it into the env
117
+ // block, and RE-PROBE so the operator sees ✅/❌ now instead of a silent
118
+ // first-tool-call timeout. Only when a CA prompt is wired AND none was
119
+ // already supplied non-interactively.
120
+ const caAlreadyChosen = caChoice.caCertPath !== undefined || caChoice.caMode !== undefined;
121
+ if (health.caTrust === true && deps.promptCa !== undefined && !caAlreadyChosen) {
122
+ log.warn(`Corporate TLS-inspection detected: ${health.error ?? 'the TLS certificate could not be verified'}`);
123
+ const systemCaSupported = supportsSystemCa(nodeVersion);
124
+ const picked = await deps.promptCa({ systemCaSupported });
125
+ if (picked === null) {
126
+ cancel('Setup cancelled.');
127
+ return 130;
128
+ }
129
+ if (picked.choice !== 'skip') {
130
+ caChoice =
131
+ picked.choice === 'system'
132
+ ? { caMode: 'system' }
133
+ : { caCertPath: picked.path };
134
+ // Re-probe with the CA applied at runtime. When no dedicated
135
+ // re-prober is wired, fall back to the ordinary probes (the
136
+ // choice is still recorded into the env block either way).
137
+ const reSpinner = spinner();
138
+ reSpinner.start('Re-checking the connection with the CA applied…');
139
+ if (deps.applyAndReProbe !== undefined) {
140
+ const re = await deps.applyAndReProbe({ wpUrl: answers.wpUrl, bearer: answers.bearer, choice: picked });
141
+ health = re.health;
142
+ auth = re.auth;
143
+ }
144
+ else {
145
+ health = await deps.probeHealth(answers.wpUrl);
146
+ auth = await deps.probeAuth(answers.wpUrl, answers.bearer);
147
+ }
148
+ // G-E #6 honesty fix: the OS trust store is consulted ONLY when
149
+ // Node is (re)started with --use-system-ca — which the WRITTEN
150
+ // config does, but THIS setup process was not. So an in-process
151
+ // re-probe in system mode is a guaranteed false-negative: a ❌
152
+ // here would (on decline) discard the CORRECT config. Treat a
153
+ // system-mode re-probe failure as "configured, validates at next
154
+ // launch" — write the config and skip the generic/auth/handshake
155
+ // in-process checks (which would hit the same untrusted CA). File
156
+ // (.pem) mode DOES validate in-process (undici Agent trusts the
157
+ // CA), so it keeps the honest ✅/❌ verdict.
158
+ if (picked.choice === 'system' && !health.ok) {
159
+ systemCaDeferred = true;
160
+ reSpinner.stop('OS trust store configured (--use-system-ca).');
161
+ logFn(SYSTEM_CA_DEFERRED_MESSAGE);
162
+ }
163
+ else {
164
+ reSpinner.stop(health.ok ? '✅ connected — CA trusted.' : `❌ still failing: ${health.error ?? 'unknown'}`);
165
+ }
166
+ }
167
+ }
168
+ // If the connection is still down after the (optional) CA step, fall
169
+ // through to the generic continue-anyway decision — UNLESS system-CA was
170
+ // configured, where validation is deferred to next launch and the (false-
171
+ // negative) in-process failure must not discard the config.
172
+ if (!health.ok && !systemCaDeferred) {
173
+ log.error(`Could not reach the plugin: ${health.error ?? 'unknown'}`);
174
+ const cont = await deps.confirmContinue('Continue anyway and write the config? (You can fix this later.)');
175
+ if (!cont) {
176
+ cancel('Setup cancelled.');
177
+ return 2;
178
+ }
94
179
  }
95
180
  }
96
- // 3. Auth probe (Bearer).
97
- const authSpinner = spinner();
98
- authSpinner.start('Verifying Bearer key…');
99
- const auth = await deps.probeAuth(answers.wpUrl, answers.bearer);
100
- const authOk = auth.ok;
101
- if (authOk) {
102
- authSpinner.stop('Bearer key accepted.');
181
+ // 3. Auth probe (Bearer). Skip when the CA re-probe already produced an
182
+ // auth result (avoids a redundant round-trip on the corporate path), or
183
+ // when system-CA validation is deferred (an in-process auth probe would
184
+ // hit the same untrusted-CA false-negative and discard the config).
185
+ if (auth === undefined && !systemCaDeferred) {
186
+ const authSpinner = spinner();
187
+ authSpinner.start('Verifying Bearer key');
188
+ auth = await deps.probeAuth(answers.wpUrl, answers.bearer);
189
+ if (auth.ok) {
190
+ authSpinner.stop('Bearer key accepted.');
191
+ }
192
+ else {
193
+ authSpinner.stop('Bearer probe failed.');
194
+ }
103
195
  }
104
- else {
105
- authSpinner.stop('Bearer probe failed.');
106
- log.warn(`Auth probe failed: ${auth.error ?? 'unknown'}`);
196
+ const authOk = auth?.ok ?? false;
197
+ if (!authOk && !systemCaDeferred) {
198
+ log.warn(`Auth probe failed: ${auth?.error ?? 'unknown'}`);
107
199
  const cont = await deps.confirmContinue('Continue anyway and write the config?');
108
200
  if (!cont) {
109
201
  cancel('Setup cancelled.');
@@ -123,14 +215,34 @@ export async function runWizard(deps = DEFAULT_WIZARD_DEPS) {
123
215
  // (${site}/wp-json/yt-builder-mcp/mcp). resolveMode() reads YTB_MCP_SITE_URL
124
216
  // + YTB_MCP_BEARER_TOKEN verbatim; the legacy WP_URL key is harmless (read
125
217
  // only by the fat loader). Flip YTB_MCP_MODE off to fall back to fat.
218
+ // Corporate TLS-inspection: trust the chosen root CA natively. `buildCaEnv`
219
+ // resolves the right key for the strategy + Node version: a `.pem` path →
220
+ // NODE_EXTRA_CA_CERTS (any Node); OS trust store → NODE_OPTIONS=--use-system-ca
221
+ // (Node ≥ 22.15, else warn to use a .pem). Never disables verification.
222
+ // Pass an empty `currentEnv` so the WRITTEN config's NODE_OPTIONS is a clean
223
+ // `--use-system-ca` for the MCP server's own runtime — not the operator's
224
+ // current shell NODE_OPTIONS (which is irrelevant to the spawned server).
225
+ const caEnv = buildCaEnv(caChoice, nodeVersion, {});
226
+ for (const w of caEnv.warnings)
227
+ log.warn(w);
228
+ // Glöckle gap #15 — pin the npx version when requested (`--pin` /
229
+ // YTB_MCP_VERSION); default is the floating @latest the update-notifier
230
+ // expects. A malformed pin degrades to floating with a warning.
231
+ const npx = buildNpxSpec(SERVER_NAME, answers.versionPin);
232
+ if (npx.error !== undefined)
233
+ log.warn(npx.error);
234
+ if (npx.pinned) {
235
+ log.info(`Pinning the MCP server to ${npx.spec} (air-gapped / reproducible). Re-run setup without --pin to float to the latest.`);
236
+ }
126
237
  const serverConfig = {
127
238
  command: 'npx',
128
- args: ['-y', SERVER_NAME],
239
+ args: ['-y', npx.spec],
129
240
  env: {
130
241
  YTB_MCP_SITE_URL: answers.wpUrl,
131
242
  YTB_MCP_WP_URL: answers.wpUrl,
132
243
  YTB_MCP_BEARER_TOKEN: answers.bearer,
133
244
  YTB_MCP_MODE: 'proxy',
245
+ ...caEnv.env,
134
246
  },
135
247
  };
136
248
  const writes = [];
@@ -174,6 +286,9 @@ export async function runWizard(deps = DEFAULT_WIZARD_DEPS) {
174
286
  hsSpinner.stop('Handshake OK.');
175
287
  }
176
288
  }
289
+ else if (systemCaDeferred) {
290
+ log.info('Skipping the live handshake — the OS trust store is validated when the MCP server next launches.');
291
+ }
177
292
  else {
178
293
  log.warn('Skipping handshake because the Bearer probe failed.');
179
294
  }
@@ -195,7 +310,7 @@ export async function runWizard(deps = DEFAULT_WIZARD_DEPS) {
195
310
  // Operator just sees the warning + can retry with `add-site`.
196
311
  }
197
312
  }
198
- if (writes.every((r) => r.ok) && authOk) {
313
+ if (writes.every((r) => r.ok) && (authOk || systemCaDeferred)) {
199
314
  outro('Done — restart your AI client to load the new MCP server.');
200
315
  }
201
316
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../src/setup-wizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../src/setup-wizard.ts"],"names":[],"mappings":"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"}
@@ -100,7 +100,14 @@ export declare class ClientPool {
100
100
  * `null` = no override (registry default in effect).
101
101
  */
102
102
  private activeOverride;
103
- constructor(_registry: SiteRegistry, secretResolver: SecretResolver, timeoutMs?: number);
103
+ /**
104
+ * Corporate extra headers (Glöckle gap #14) attached to EVERY client this
105
+ * pool constructs. Parsed once from `YTB_MCP_EXTRA_HEADERS` (default) or
106
+ * injected by a caller/test. Bearer always wins on collision (enforced in
107
+ * {@link RestClient}).
108
+ */
109
+ private readonly extraHeaders;
110
+ constructor(_registry: SiteRegistry, secretResolver: SecretResolver, timeoutMs?: number, extraHeaders?: Record<string, string>);
104
111
  /**
105
112
  * The current runtime active-site override, or `null` when none is
106
113
  * set (the registry default is in effect). Read-only peek — does not
@@ -1 +1 @@
1
- {"version":3,"file":"client-pool.d.ts","sourceRoot":"","sources":["../../src/sites/client-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,SAAgB,IAAI,EAAG,iBAAiB,CAAU;gBAG9C,OAAO,SAG6E;CAK3F;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;aAInB,MAAM,EAAE,MAAM;aACd,SAAS,EAAE,SAAS,MAAM,EAAE;IAJhD,SAAgB,IAAI,EAAG,cAAc,CAAU;gBAG3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,MAAM,EAAE;CAQnD;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU;IAoBf,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IArB9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,cAAc,CAAuB;gBAGxB,SAAS,EAAE,YAAY,EACvB,cAAc,EAAE,cAAc,EAC9B,SAAS,GAAE,MAAe;IAG/C;;;;OAIG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAW1C;;;;;;;;;;;;OAYG;IACH,IAAI,QAAQ,IAAI,YAAY,CAE3B;IAED;;;;;;;;;;OAUG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoEvD;;;;;;OAMG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGnC"}
1
+ {"version":3,"file":"client-pool.d.ts","sourceRoot":"","sources":["../../src/sites/client-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,SAAgB,IAAI,EAAG,iBAAiB,CAAU;gBAG9C,OAAO,SAG6E;CAK3F;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;aAInB,MAAM,EAAE,MAAM;aACd,SAAS,EAAE,SAAS,MAAM,EAAE;IAJhD,SAAgB,IAAI,EAAG,cAAc,CAAU;gBAG3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,MAAM,EAAE;CAQnD;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU;IA4Bf,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IA7B9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IAEvD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,cAAc,CAAuB;IAE7C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;gBAGjC,SAAS,EAAE,YAAY,EACvB,cAAc,EAAE,cAAc,EAC9B,SAAS,GAAE,MAAe,EAC3C,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAA+B;IAKtE;;;;OAIG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAW1C;;;;;;;;;;;;OAYG;IACH,IAAI,QAAQ,IAAI,YAAY,CAE3B;IAED;;;;;;;;;;OAUG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAuEvD;;;;;;OAMG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGnC"}
@@ -37,6 +37,7 @@
37
37
  * @license MIT
38
38
  */
39
39
  import { RestClient } from '../client.js';
40
+ import { parseExtraHeaders } from '../net/extra-headers.js';
40
41
  /**
41
42
  * Thrown when `resolve()` is called without a `siteId` AND the
42
43
  * registry has no default configured (neither `default_site_id` nor a
@@ -100,10 +101,18 @@ export class ClientPool {
100
101
  * `null` = no override (registry default in effect).
101
102
  */
102
103
  activeOverride = null;
103
- constructor(_registry, secretResolver, timeoutMs = 15_000) {
104
+ /**
105
+ * Corporate extra headers (Glöckle gap #14) attached to EVERY client this
106
+ * pool constructs. Parsed once from `YTB_MCP_EXTRA_HEADERS` (default) or
107
+ * injected by a caller/test. Bearer always wins on collision (enforced in
108
+ * {@link RestClient}).
109
+ */
110
+ extraHeaders;
111
+ constructor(_registry, secretResolver, timeoutMs = 15_000, extraHeaders = parseExtraHeaders().headers) {
104
112
  this._registry = _registry;
105
113
  this.secretResolver = secretResolver;
106
114
  this.timeoutMs = timeoutMs;
115
+ this.extraHeaders = extraHeaders;
107
116
  }
108
117
  /**
109
118
  * The current runtime active-site override, or `null` when none is
@@ -207,6 +216,9 @@ export class ClientPool {
207
216
  platform,
208
217
  bearerToken: bearer.token,
209
218
  timeoutMs: this.timeoutMs,
219
+ ...(Object.keys(this.extraHeaders).length > 0
220
+ ? { extraHeaders: this.extraHeaders }
221
+ : {}),
210
222
  });
211
223
  this.cache.set(id, client);
212
224
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client-pool.js","sourceRoot":"","sources":["../../src/sites/client-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-pool.js","sourceRoot":"","sources":["../../src/sites/client-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK5D;;;;;;GAMG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACzB,IAAI,GAAG,iBAA0B,CAAC;IAElD,YACI,OAAO,GACH,yDAAyD;UACvD,2FAA2F;UAC3F,8EAA8E;QAEpF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACrC,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAInB;IACA;IAJJ,IAAI,GAAG,cAAuB,CAAC;IAE/C,YACoB,MAAc,EACd,SAA4B;QAE5C,KAAK,CACD,SAAS,MAAM,0BAA0B;cACvC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CACxE,CAAC;QANc,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAmB;QAM5C,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC;CACJ;AAYD;;;;;;;;GAQG;AACH,MAAM,OAAO,UAAU;IA4BE;IACA;IACA;IA7BJ,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACK,cAAc,GAAkB,IAAI,CAAC;IAE7C;;;;;OAKG;IACc,YAAY,CAAyB;IAEtD,YACqB,SAAuB,EACvB,cAA8B,EAC9B,YAAoB,MAAM,EAC3C,eAAuC,iBAAiB,EAAE,CAAC,OAAO;QAHjD,cAAS,GAAT,SAAS,CAAc;QACvB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAiB;QAG3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;OAUG;IACH,aAAa,CAAC,MAAqB;QAC/B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO;QACX,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CAAC,MAAe;QACzB,8BAA8B;QAC9B,2CAA2C;QAC3C,sDAAsD;QACtD,4CAA4C;QAC5C,EAAE;QACF,+DAA+D;QAC/D,gEAAgE;QAChE,4DAA4D;QAC5D,8DAA8D;QAC9D,+CAA+C;QAC/C,IAAI,WAAwC,CAAC;QAC7C,IAAI,EAAiB,CAAC;QACtB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,EAAE,GAAG,MAAM,CAAC;YACZ,WAAW,GAAG,UAAU,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACtC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YACzB,WAAW,GAAG,iBAAiB,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACnC,WAAW,GAAG,kBAAkB,CAAC;QACrC,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,yDAAyD;YACzD,0DAA0D;YAC1D,uDAAuD;YACvD,2DAA2D;YAC3D,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACzC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;aAChC,CAAC,CAAC;YACH,MAAM,GAAG,IAAI,UAAU,CAAC;gBACpB,QAAQ;gBACR,WAAW,EAAE,MAAM,CAAC,KAAK;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;oBACzC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;oBACrC,CAAC,CAAC,EAAE,CAAC;aACZ,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,0DAA0D;QAC1D,yDAAyD;QACzD,6DAA6D;QAC7D,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAiB;YAC3B,EAAE;YACF,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ;YACR,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,YAAY,EAAE,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;YAC7D,WAAW;YACX,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;QAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/elements/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,EAOH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGH,KAAK,mBAAmB,EAS3B,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACpC,SAAS,iBAAiB,EAAE,CAwR9B"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/tools/elements/builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,EAOH,KAAK,iBAAiB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGH,KAAK,mBAAmB,EAS3B,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACpC,SAAS,iBAAiB,EAAE,CA0R9B"}