@kodycodes/cli 1.19.1 → 1.20.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 (52) hide show
  1. package/dist/cli.d.ts +2 -0
  2. package/dist/cli.js +140 -4
  3. package/dist/cli.js.map +1 -1
  4. package/dist/dev-command.d.ts +21 -0
  5. package/dist/dev-command.js +111 -3
  6. package/dist/dev-command.js.map +1 -1
  7. package/dist/help.js +18 -1
  8. package/dist/help.js.map +1 -1
  9. package/dist/local-execute.d.ts +19 -0
  10. package/dist/local-execute.js +43 -20
  11. package/dist/local-execute.js.map +1 -1
  12. package/dist/local-package-graph.d.ts +34 -0
  13. package/dist/local-package-graph.js +58 -0
  14. package/dist/local-package-graph.js.map +1 -1
  15. package/dist/local-package-run.d.ts +17 -0
  16. package/dist/local-package-run.js +45 -8
  17. package/dist/local-package-run.js.map +1 -1
  18. package/dist/mock/install-mock-fetch-shim.d.ts +19 -0
  19. package/dist/mock/install-mock-fetch-shim.js +36 -0
  20. package/dist/mock/install-mock-fetch-shim.js.map +1 -0
  21. package/dist/mock/load-package-mocks.d.ts +19 -0
  22. package/dist/mock/load-package-mocks.js +115 -0
  23. package/dist/mock/load-package-mocks.js.map +1 -0
  24. package/dist/mock/mock-fetch-gateway.d.ts +64 -0
  25. package/dist/mock/mock-fetch-gateway.js +242 -0
  26. package/dist/mock/mock-fetch-gateway.js.map +1 -0
  27. package/dist/mock/mock-gateway-fetch-shim.d.ts +15 -0
  28. package/dist/mock/mock-gateway-fetch-shim.js +104 -0
  29. package/dist/mock/mock-gateway-fetch-shim.js.map +1 -0
  30. package/dist/mock/mock-server.js +109 -24
  31. package/dist/mock/mock-server.js.map +1 -1
  32. package/dist/mock/mock-storage.d.ts +3 -0
  33. package/dist/mock/mock-storage.js +26 -1
  34. package/dist/mock/mock-storage.js.map +1 -1
  35. package/dist/mock/mock-supported.d.ts +1 -1
  36. package/dist/mock/mock-supported.js +13 -1
  37. package/dist/mock/mock-supported.js.map +1 -1
  38. package/dist/mock-dep-resolve.d.ts +23 -0
  39. package/dist/mock-dep-resolve.js +47 -0
  40. package/dist/mock-dep-resolve.js.map +1 -0
  41. package/dist/package-app-dev.d.ts +15 -0
  42. package/dist/package-app-dev.js +84 -10
  43. package/dist/package-app-dev.js.map +1 -1
  44. package/dist/package-local-runtime-source.d.ts +6 -2
  45. package/dist/package-local-runtime-source.js +91 -9
  46. package/dist/package-local-runtime-source.js.map +1 -1
  47. package/dist/package-manifest.d.ts +13 -0
  48. package/dist/package-manifest.js +37 -3
  49. package/dist/package-manifest.js.map +1 -1
  50. package/dist/structured-error.d.ts +1 -1
  51. package/dist/structured-error.js.map +1 -1
  52. package/package.json +2 -1
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Node-side mock outbound fetch gateway: match MSW handlers from
3
+ * `.kody/mocks.ts`, optionally passthrough allowlisted hosts to real network,
4
+ * otherwise fail closed with `unmocked_request` + a paste-ready handler stub.
5
+ */
6
+ import { getResponse, isPassthroughResponse } from 'msw';
7
+ import { StructuredCliError } from '../structured-error.js';
8
+ import { loadPackageMocks } from './load-package-mocks.js';
9
+ export function parsePassthroughHosts(raw) {
10
+ if (!raw?.trim())
11
+ return [];
12
+ return [
13
+ ...new Set(raw
14
+ .split(',')
15
+ .map((part) => part.trim().toLowerCase())
16
+ .filter(Boolean)),
17
+ ];
18
+ }
19
+ export function createMockFetchGateway(input) {
20
+ const passthroughHosts = input.passthroughHosts ?? [];
21
+ const allowPrivateNetwork = input.allowPrivateNetwork === true;
22
+ const fetchFn = input.fetchFn ?? fetch;
23
+ return {
24
+ enabled: true,
25
+ handlers: input.handlers,
26
+ passthroughHosts,
27
+ allowPrivateNetwork,
28
+ handle: async (args, signal) => {
29
+ const request = readGatewayRequest(args);
30
+ return await dispatchMockGatewayFetch({
31
+ handlers: input.handlers,
32
+ passthroughHosts,
33
+ allowPrivateNetwork,
34
+ request,
35
+ fetchFn,
36
+ signal,
37
+ });
38
+ },
39
+ };
40
+ }
41
+ export async function dispatchMockGatewayFetch(input) {
42
+ const method = (input.request.method ?? 'GET').toUpperCase();
43
+ const url = String(input.request.url ?? '');
44
+ if (!url) {
45
+ throw new StructuredCliError({
46
+ code: 'unmocked_request',
47
+ message: 'Mock gatewayFetch requires request.url.',
48
+ target: 'mock',
49
+ fix: 'Pass an absolute URL from ambient fetch.',
50
+ });
51
+ }
52
+ let parsed;
53
+ try {
54
+ parsed = new URL(url);
55
+ }
56
+ catch {
57
+ throw new StructuredCliError({
58
+ code: 'unmocked_request',
59
+ message: `Mock gatewayFetch URL is not absolute: ${JSON.stringify(url)}.`,
60
+ target: 'mock',
61
+ where: `${method} ${url}`,
62
+ fix: 'Use an absolute https:// URL in package code under --target mock.',
63
+ });
64
+ }
65
+ if (hostMatchesPassthrough(parsed.hostname, input.passthroughHosts)) {
66
+ assertPassthroughAllowed(parsed, input.allowPrivateNetwork);
67
+ return await realNetworkFetch({
68
+ request: input.request,
69
+ method,
70
+ url: parsed.href,
71
+ fetchFn: input.fetchFn ?? fetch,
72
+ signal: input.signal,
73
+ });
74
+ }
75
+ const headers = new Headers(input.request.headers ?? {});
76
+ const body = input.request.bodyBase64 != null && input.request.bodyBase64 !== ''
77
+ ? Buffer.from(input.request.bodyBase64, 'base64')
78
+ : undefined;
79
+ const requestInit = {
80
+ method,
81
+ headers,
82
+ ...(body !== undefined && method !== 'GET' && method !== 'HEAD'
83
+ ? { body }
84
+ : {}),
85
+ signal: input.signal,
86
+ };
87
+ const request = new Request(parsed.href, requestInit);
88
+ const response = await getResponse([...input.handlers], request);
89
+ if (!response || isPassthroughResponse(response)) {
90
+ throw unmockedRequestError(method, parsed.href);
91
+ }
92
+ return await serializeResponse(response);
93
+ }
94
+ function readGatewayRequest(args) {
95
+ const record = args && typeof args === 'object' && !Array.isArray(args)
96
+ ? args
97
+ : {};
98
+ const nested = record.request && typeof record.request === 'object' && !Array.isArray(record.request)
99
+ ? record.request
100
+ : record;
101
+ return {
102
+ url: typeof nested.url === 'string' ? nested.url : undefined,
103
+ method: typeof nested.method === 'string' ? nested.method : undefined,
104
+ headers: nested.headers && typeof nested.headers === 'object' && !Array.isArray(nested.headers)
105
+ ? nested.headers
106
+ : undefined,
107
+ bodyBase64: typeof nested.bodyBase64 === 'string' ? nested.bodyBase64 : undefined,
108
+ };
109
+ }
110
+ export function hostMatchesPassthrough(hostname, hosts) {
111
+ const target = hostname.toLowerCase();
112
+ return hosts.some((entry) => {
113
+ const normalized = entry.trim().toLowerCase();
114
+ if (!normalized)
115
+ return false;
116
+ if (normalized.startsWith('*.')) {
117
+ const suffix = normalized.slice(1);
118
+ return target.endsWith(suffix) && target.length > suffix.length;
119
+ }
120
+ return target === normalized;
121
+ });
122
+ }
123
+ function assertPassthroughAllowed(url, allowPrivateNetwork) {
124
+ if (allowPrivateNetwork)
125
+ return;
126
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
127
+ throw new StructuredCliError({
128
+ code: 'unmocked_request',
129
+ message: `Passthrough refused for non-http(s) URL ${url.href}.`,
130
+ target: 'mock',
131
+ where: url.href,
132
+ });
133
+ }
134
+ const host = url.hostname.toLowerCase();
135
+ const privateHost = host === 'localhost' ||
136
+ host === '127.0.0.1' ||
137
+ host === '::1' ||
138
+ host === '[::1]' ||
139
+ host.endsWith('.local') ||
140
+ /^10\./.test(host) ||
141
+ /^192\.168\./.test(host) ||
142
+ /^172\.(1[6-9]|2\d|3[0-1])\./.test(host);
143
+ if (privateHost) {
144
+ throw new StructuredCliError({
145
+ code: 'unmocked_request',
146
+ message: `Passthrough to private/local host ${JSON.stringify(host)} requires --allow-private-network.`,
147
+ target: 'mock',
148
+ where: url.href,
149
+ fix: 'Add --allow-private-network, or mock this host in .kody/mocks.ts instead of --passthrough.',
150
+ });
151
+ }
152
+ }
153
+ async function realNetworkFetch(input) {
154
+ const headers = new Headers(input.request.headers ?? {});
155
+ // Credentials stay fake on mock — never forward opaque credential handles
156
+ // or Authorization that would look like a real secret placement.
157
+ headers.delete('x-kody-credential-client');
158
+ const body = input.request.bodyBase64 != null && input.request.bodyBase64 !== ''
159
+ ? Buffer.from(input.request.bodyBase64, 'base64')
160
+ : undefined;
161
+ const response = await input.fetchFn(input.url, {
162
+ method: input.method,
163
+ headers,
164
+ ...(body !== undefined && input.method !== 'GET' && input.method !== 'HEAD'
165
+ ? { body }
166
+ : {}),
167
+ signal: input.signal,
168
+ redirect: 'manual',
169
+ });
170
+ return await serializeResponse(response);
171
+ }
172
+ async function serializeResponse(response) {
173
+ const bytes = new Uint8Array(await response.arrayBuffer());
174
+ return {
175
+ status: response.status,
176
+ statusText: response.statusText,
177
+ headers: Object.fromEntries(response.headers.entries()),
178
+ bodyBase64: Buffer.from(bytes).toString('base64'),
179
+ };
180
+ }
181
+ export function unmockedRequestError(method, url) {
182
+ const stub = buildHandlerStub(method, url);
183
+ return new StructuredCliError({
184
+ code: 'unmocked_request',
185
+ message: `Unmocked ${method} ${url} under --target mock.`,
186
+ target: 'mock',
187
+ where: `${method} ${url}`,
188
+ fix: `Add a handler in .kody/mocks.ts (or pass --passthrough ${safeHost(url)} for real network without secrets):\n\n${stub}`,
189
+ details: { method, url, handlerStub: stub },
190
+ });
191
+ }
192
+ export function buildHandlerStub(method, url) {
193
+ const verb = method.toLowerCase();
194
+ const httpMethod = ['get', 'post', 'put', 'patch', 'delete', 'options', 'head'].includes(verb)
195
+ ? verb
196
+ : 'all';
197
+ return [
198
+ `import { http, HttpResponse } from 'msw'`,
199
+ ``,
200
+ `export const handlers = [`,
201
+ ` http.${httpMethod}(${JSON.stringify(url)}, () =>`,
202
+ ` HttpResponse.json({ /* TODO */ }, { status: 200 }),`,
203
+ ` ),`,
204
+ `]`,
205
+ ].join('\n');
206
+ }
207
+ function safeHost(url) {
208
+ try {
209
+ return new URL(url).hostname;
210
+ }
211
+ catch {
212
+ return 'example.com';
213
+ }
214
+ }
215
+ /** Bridge interceptor: handle `kody.gatewayFetch` when a mock gateway is active. */
216
+ export function tryHandleMockGatewayFetchCall(input) {
217
+ if (!input.gateway?.enabled)
218
+ return null;
219
+ if (input.path.join('.') !== 'kody.gatewayFetch')
220
+ return null;
221
+ return input.gateway.handle(input.args[0], input.signal);
222
+ }
223
+ /**
224
+ * Load `.kody/mocks.ts` only for `--target mock` when the file exists.
225
+ * Packages without the file keep native workerd fetch (no shim).
226
+ */
227
+ export async function resolveMockFetchGateway(input) {
228
+ if (input.target !== 'mock')
229
+ return undefined;
230
+ if (!input.packageRoot)
231
+ return undefined;
232
+ const loaded = await loadPackageMocks(input.packageRoot);
233
+ if (!loaded)
234
+ return undefined;
235
+ input.onStatus?.(`Loaded ${loaded.handlers.length} MSW handler${loaded.handlers.length === 1 ? '' : 's'} from .kody/mocks.ts (outbound fetch fail-closed on mock).`);
236
+ return createMockFetchGateway({
237
+ handlers: loaded.handlers,
238
+ passthroughHosts: input.passthroughHosts,
239
+ allowPrivateNetwork: input.allowPrivateNetwork,
240
+ });
241
+ }
242
+ //# sourceMappingURL=mock-fetch-gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-fetch-gateway.js","sourceRoot":"","sources":["../../src/mock/mock-fetch-gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Mock-only workerd side-effect module (flat name
3
+ * `.__kody_mock_gateway_fetch__.js` — see install-mock-fetch-shim.ts).
4
+ * Wraps ambient `fetch` so every outbound request hops through the Node bridge
5
+ * as `kody.gatewayFetch` (MSW matching / passthrough / unmocked_request).
6
+ * Origin's `.__kody_virtual__/runtime.js` stays for CAF / packageStorage.
7
+ */
8
+ /**
9
+ * Source for the CLI-owned mock gateway-fetch shim. Side-effect imported before
10
+ * user code; fetch calls happen after `__kodyInstallLocalBridge`.
11
+ *
12
+ * Registered under a flat module name so bare `"kody:runtime"` resolves to the
13
+ * host module (path-like names like `.__kody_virtual__/runtime.js` path-join).
14
+ */
15
+ export declare function createMockGatewayFetchShimSource(): string;
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Mock-only workerd side-effect module (flat name
3
+ * `.__kody_mock_gateway_fetch__.js` — see install-mock-fetch-shim.ts).
4
+ * Wraps ambient `fetch` so every outbound request hops through the Node bridge
5
+ * as `kody.gatewayFetch` (MSW matching / passthrough / unmocked_request).
6
+ * Origin's `.__kody_virtual__/runtime.js` stays for CAF / packageStorage.
7
+ */
8
+ import { localWorkerModuleNames } from '../local-runtime-source.js';
9
+ /**
10
+ * Source for the CLI-owned mock gateway-fetch shim. Side-effect imported before
11
+ * user code; fetch calls happen after `__kodyInstallLocalBridge`.
12
+ *
13
+ * Registered under a flat module name so bare `"kody:runtime"` resolves to the
14
+ * host module (path-like names like `.__kody_virtual__/runtime.js` path-join).
15
+ */
16
+ export function createMockGatewayFetchShimSource() {
17
+ return `
18
+ import { kody } from ${JSON.stringify(localWorkerModuleNames.runtime)};
19
+
20
+ const __kodyNativeFetch = globalThis.fetch.bind(globalThis);
21
+ const __kodyNullBodyStatuses = new Set([101, 103, 204, 205, 304]);
22
+
23
+ function __kodyBytesToBase64(bytes) {
24
+ let binary = '';
25
+ for (let i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]);
26
+ return btoa(binary);
27
+ }
28
+
29
+ function __kodyBase64ToBytes(value) {
30
+ const binary = atob(String(value ?? ''));
31
+ const bytes = new Uint8Array(binary.length);
32
+ for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
33
+ return bytes;
34
+ }
35
+
36
+ async function __kodyBodyToBytes(body) {
37
+ if (body == null) return null;
38
+ if (typeof body === 'string') return new TextEncoder().encode(body);
39
+ if (body instanceof Uint8Array) return body;
40
+ if (body instanceof ArrayBuffer) return new Uint8Array(body);
41
+ if (ArrayBuffer.isView(body)) {
42
+ return new Uint8Array(body.buffer, body.byteOffset, body.byteLength);
43
+ }
44
+ if (typeof Blob !== 'undefined' && body instanceof Blob) {
45
+ return new Uint8Array(await body.arrayBuffer());
46
+ }
47
+ if (typeof URLSearchParams !== 'undefined' && body instanceof URLSearchParams) {
48
+ return new TextEncoder().encode(body.toString());
49
+ }
50
+ if (body && typeof body.getReader === 'function') {
51
+ return new Uint8Array(await new Response(body).arrayBuffer());
52
+ }
53
+ if (typeof FormData !== 'undefined' && body instanceof FormData) {
54
+ throw new Error(
55
+ 'Mock fetch gateway does not support FormData bodies yet; use Uint8Array, Blob, or string.',
56
+ );
57
+ }
58
+ throw new Error('Mock fetch gateway could not serialize the request body.');
59
+ }
60
+
61
+ globalThis.fetch = async (input, init) => {
62
+ let url;
63
+ let method = 'GET';
64
+ let headers = {};
65
+ let bodyBytes = null;
66
+ if (typeof input === 'string' || input instanceof URL) {
67
+ url = String(input);
68
+ method = String(init?.method ?? 'GET');
69
+ headers = Object.fromEntries(new Headers(init?.headers).entries());
70
+ if (init?.body != null) bodyBytes = await __kodyBodyToBytes(init.body);
71
+ } else {
72
+ const merged = new Request(input, init);
73
+ url = merged.url;
74
+ method = merged.method;
75
+ headers = Object.fromEntries(merged.headers.entries());
76
+ if (method !== 'GET' && method !== 'HEAD') {
77
+ bodyBytes = new Uint8Array(await merged.arrayBuffer());
78
+ }
79
+ }
80
+ const result = await kody.gatewayFetch({
81
+ request: {
82
+ url,
83
+ method,
84
+ headers,
85
+ ...(bodyBytes != null ? { bodyBase64: __kodyBytesToBase64(bodyBytes) } : {}),
86
+ },
87
+ });
88
+ const bytes = __kodyBase64ToBytes(result.bodyBase64 ?? '');
89
+ return new Response(
90
+ __kodyNullBodyStatuses.has(result.status) ? null : bytes,
91
+ {
92
+ status: result.status,
93
+ statusText: result.statusText ?? '',
94
+ headers: result.headers ?? {},
95
+ },
96
+ );
97
+ };
98
+
99
+ // Retain a reference so workerd keeps the binding available for debugging.
100
+ void __kodyNativeFetch;
101
+ export {};
102
+ `.trimStart();
103
+ }
104
+ //# sourceMappingURL=mock-gateway-fetch-shim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-gateway-fetch-shim.js","sourceRoot":"","sources":["../../src/mock/mock-gateway-fetch-shim.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEnE;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC;IAC/C,OAAO;uBACe,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFpE,CAAC,SAAS,EAAE,CAAA;AACb,CAAC"}
@@ -200,56 +200,141 @@ async function dispatchCapabilityCall(pathKey, args, ctx) {
200
200
  fix: 'Use `kody execute --local --target mock` so the module runs in local workerd against this mock.',
201
201
  });
202
202
  }
203
- case 'kody.__mockPackageStorageGet': {
203
+ case 'kody.__mockPackageStorageGet':
204
+ case 'kody.packageStorageGet': {
204
205
  const key = String(args[0]?.key ?? '');
205
206
  return { value: packageStorageGet(state, ctx.packageId, key) ?? null };
206
207
  }
207
- case 'kody.__mockPackageStorageSet': {
208
+ case 'kody.__mockPackageStorageSet':
209
+ case 'kody.packageStorageSet': {
208
210
  const input = args[0];
209
211
  packageStorageSet(state, ctx.packageId, String(input?.key ?? ''), input?.value);
210
212
  await ctx.setState(state);
211
213
  return { ok: true };
212
214
  }
213
- case 'kody.__mockPackageStorageDelete': {
215
+ case 'kody.__mockPackageStorageDelete':
216
+ case 'kody.packageStorageDelete': {
214
217
  const key = String(args[0]?.key ?? '');
215
218
  const deleted = packageStorageDelete(state, ctx.packageId, key);
216
219
  await ctx.setState(state);
217
220
  return { deleted };
218
221
  }
219
- case 'kody.__mockPackageStorageList': {
222
+ case 'kody.__mockPackageStorageList':
223
+ case 'kody.packageStorageList': {
220
224
  return { entries: packageStorageList(state, ctx.packageId) };
221
225
  }
222
226
  case 'kody.credentialClientOpen': {
223
- const key = String(args[0]?.key ?? args[0] ?? '');
224
- const cred = state.credentials[key] ?? state.credentials[key.toUpperCase()];
225
- if (!cred) {
226
- throw new StructuredCliError({
227
- code: 'missing_secret',
228
- message: `Mock credential ${JSON.stringify(key)} is not defined for this session.`,
229
- target: 'mock',
230
- fix: 'Add a fake credential to the mock session or use --target prod with a real allow-listed secret.',
231
- details: { key },
232
- });
227
+ const input = (args[0] ?? {});
228
+ const key = String(input.key ?? input.name ?? args[0] ?? '').trim();
229
+ const opened = openMockCredential(state, key);
230
+ return { ok: true, value: opened };
231
+ }
232
+ case 'kody.credentialClientOpenAll': {
233
+ const key = String(args[0]?.key ?? '').trim();
234
+ const matches = Object.values(state.credentials).filter((cred) => !key ||
235
+ cred.name === key ||
236
+ cred.name.toUpperCase() === key.toUpperCase() ||
237
+ cred.id === key);
238
+ if (key && matches.length === 0) {
239
+ return { ok: true, value: [] };
233
240
  }
241
+ const opened = (key ? matches : Object.values(state.credentials)).map((cred) => mockOpenedCredential(cred));
242
+ return { ok: true, value: opened };
243
+ }
244
+ case 'kody.credentialClientCheck':
245
+ return { ok: true, value: { warnings: [], checked: args[0] ?? null, strict: false } };
246
+ case 'kody.credentialClientRefresh':
247
+ return { ok: true, value: { refreshed: false, mock: true } };
248
+ case 'kody.authenticatedFetch': {
249
+ const input = (args[0] ?? {});
250
+ const providerName = String(input.providerName ?? '').trim() || 'unknown';
251
+ const requestUrl = String(input.request?.url ?? '');
252
+ const body = JSON.stringify(mockAuthenticatedFetchBody({
253
+ providerName,
254
+ url: requestUrl,
255
+ method: String(input.request?.method ?? 'GET'),
256
+ }));
234
257
  return {
235
- ok: true,
236
- value: {
237
- handle: `mock-handle:${cred.id}`,
238
- name: cred.name,
239
- kind: cred.kind,
240
- // Never expose a real secret; mockValue is session-local scratch only.
241
- metadata: { mock: true },
242
- },
258
+ status: 200,
259
+ statusText: 'OK',
260
+ headers: { 'content-type': 'application/json; charset=utf-8' },
261
+ bodyBase64: Buffer.from(body, 'utf8').toString('base64'),
262
+ };
263
+ }
264
+ case 'kody.adminUserList': {
265
+ const params = (args[0] ?? {});
266
+ return {
267
+ users: [
268
+ {
269
+ id: 'user_mock',
270
+ username: 'mock-user',
271
+ email: 'mock@example.com',
272
+ display_name: 'Mock User',
273
+ },
274
+ ],
275
+ page: typeof params.page === 'number' ? params.page : 1,
276
+ limit: typeof params.limit === 'number' ? params.limit : 20,
277
+ total: 1,
278
+ mock: true,
243
279
  };
244
280
  }
245
- case 'kody.credentialClientCheck':
246
- return { ok: true, warnings: [] };
247
281
  default: {
248
282
  const exhaustive = pathKey;
249
283
  throw notImplementedInMock({ operation: String(exhaustive) });
250
284
  }
251
285
  }
252
286
  }
287
+ function openMockCredential(state, key) {
288
+ const cred = state.credentials[key] ??
289
+ state.credentials[key.toUpperCase()] ??
290
+ Object.values(state.credentials).find((entry) => entry.name === key || entry.name.toUpperCase() === key.toUpperCase());
291
+ if (!cred) {
292
+ throw new StructuredCliError({
293
+ code: 'missing_secret',
294
+ message: `Mock credential ${JSON.stringify(key)} is not defined for this session.`,
295
+ target: 'mock',
296
+ fix: 'Add a fake credential to the mock session state or use --target prod with a real allow-listed secret.',
297
+ details: { key },
298
+ });
299
+ }
300
+ return mockOpenedCredential(cred);
301
+ }
302
+ function mockOpenedCredential(cred) {
303
+ return {
304
+ handle: `mock-handle:${cred.id}`,
305
+ key: cred.name,
306
+ name: cred.name,
307
+ scope: cred.scope ?? 'personal',
308
+ kind: cred.kind,
309
+ hosts: [...(cred.hosts?.length ? cred.hosts : ['example.com'])],
310
+ hint: 'mock',
311
+ // Never expose a real secret; mockValue stays session-local scratch only.
312
+ metadata: { mock: true },
313
+ };
314
+ }
315
+ /** Provider-shaped fixtures so OAuth packages can smoke end-to-end on mock. */
316
+ function mockAuthenticatedFetchBody(input) {
317
+ const provider = input.providerName.toLowerCase();
318
+ if (provider === 'linkedin' || /linkedin\.com/i.test(input.url)) {
319
+ return {
320
+ sub: 'mock-linkedin-sub',
321
+ name: 'Mock LinkedIn User',
322
+ email: 'mock-linkedin@example.com',
323
+ picture: null,
324
+ mock: true,
325
+ providerName: input.providerName,
326
+ url: input.url,
327
+ method: input.method,
328
+ };
329
+ }
330
+ return {
331
+ mock: true,
332
+ providerName: input.providerName,
333
+ url: input.url,
334
+ method: input.method,
335
+ note: 'CLI mock authenticatedFetch fixture — not a real OAuth upstream response.',
336
+ };
337
+ }
253
338
  function mockCurrentUser(state) {
254
339
  return {
255
340
  user: {
@@ -1 +1 @@
1
- {"version":3,"file":"mock-server.js","sourceRoot":"","sources":["../../src/mock/mock-server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,YAAY,GAIZ,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GAElB,MAAM,mBAAmB,CAAA;AAoB1B,MAAM,eAAe,GAAG,YAAY,CAAA;AAEpC,MAAM,UAAU,cAAc,CAAC,KAAa;IAC3C,OAAO,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,KAAK,KAAK,MAAM,CAAA;AAC7D,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IACjD,OAAO,GAAG,eAAe,GAAG,SAAS,EAAE,CAAA;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAA6B,EAAE;IACpE,IAAI,KAAK,GAAG,MAAM,eAAe,CAAC;QACjC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,YAAY;KAC3B,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,KAAK,CAAC,SAAS,EAAE,CAAA;IAEjE,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACxC,KAAK,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE;YAC5B,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACxB,KAAK,GAAG,IAAI,CAAA;gBACZ,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;YAC7C,CAAC;YACD,SAAS;SACT,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAA;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAA;IAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAiB,CAAA;IAC/C,MAAM,GAAG,GAAG,UAAU,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;IAE5C,OAAO;QACN,GAAG;QACH,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;QAClB,KAAK,EAAE,GAAG,EAAE,CACX,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC7D,CAAC,CAAC;KACH,CAAA;AACF,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAOtC;IACA,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO;YACN,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;YAC1B,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YACjD,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,OAAO,EAAE,KAAK;SACd,CAAA;IACF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;KACd,CAAC,CAAA;IACF,OAAO;QACN,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC;QACzC,MAAM;QACN,OAAO,EAAE,IAAI;KACb,CAAA;AACF,CAAC;AAQD,KAAK,UAAU,aAAa,CAC3B,GAAoB,EACpB,GAAmB,EACnB,GAAe;IAEf,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;QAClD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QAEpC,IAAI,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,eAAe,EAAE,CAAC;YAC1D,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAA;QACjD,CAAC;QAED,IAAI,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,8BAA8B,EAAE,CAAC;YACzE,cAAc,CAAC,GAAG,CAAC,CAAA;YACnB,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACzB,MAAM,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,CAAC;gBACrF,QAAQ,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC;gBAClD,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,WAAW,EAAE;aAC1D,CAAC,CAAA;QACH,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,2BAA2B,EAAE,CAAC;YACvE,cAAc,CAAC,GAAG,CAAC,CAAA;YACnB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAAsB,CAAC,CAAC,CAAC,IAAI,CAAA;YAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAAuB,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE;iBAC/D,CAAC,CAAA;YACH,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,oBAAoB,CAAC,EAAE,SAAS,EAAE,mBAAmB,OAAO,EAAE,EAAE,CAAC,CAAA;gBAC7E,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACnD,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC/D,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;oBACzC,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;gBACrD,CAAC;gBACD,MAAM,KAAK,CAAA;YACZ,CAAC;QACF,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,iCAAiC,EAAE,CAAC;YAC7E,cAAc,CAAC,GAAG,CAAC,CAAA;YACnB,uEAAuE;YACvE,0EAA0E;YAC1E,0DAA0D;YAC1D,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACzB,OAAO,EAAE,EAAE;gBACX,iBAAiB,EAAE,YAAY;gBAC/B,kBAAkB,EAAE,CAAC,eAAe,CAAC;aACrC,CAAC,CAAA;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YACvD,cAAc,CAAC,GAAG,CAAC,CAAA;YACnB,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;YACjD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAA;YAC1D,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QACzE,CAAC;QAED,IAAI,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnD,cAAc,CAAC,GAAG,CAAC,CAAA;YACnB,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,0EAA0E;QAC1E,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,oBAAoB,CAAC;gBAChC,SAAS,EAAE,GAAG,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAA;YACF,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACnD,CAAC;QAED,MAAM,GAAG,GAAG,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAC5E,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;aACvD,CAAC,CAAA;QACH,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE;SAC/C,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AAED,MAAM,SAAU,SAAQ,KAAK;IAC5B,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;IACxB,CAAC;CACD;AAED,SAAS,cAAc,CAAC,GAAoB;IAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAA;IACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IACnD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjF,wEAAwE;QACxE,sDAAsD;QACtD,OAAM;IACP,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAA;AACnE,CAAC;AAED,KAAK,UAAU,sBAAsB,CACpC,OAAe,EACf,IAAoB,EACpB,GAAe;IAEf,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;IAC5B,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,yBAAyB;YAC7B,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;QAC9B,KAAK,aAAa,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAwD,CAAA;YACrF,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACjC,CAAC;QACD,KAAK,eAAe;YACnB,OAAO;gBACN,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;gBACjC,IAAI,EAAE,yCAAyC;aAC/C,CAAA;QACF,KAAK,cAAc,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAuC,CAAA;YACpE,MAAM,oBAAoB,CAAC;gBAC1B,SAAS,EAAE,8BAA8B;gBACzC,GAAG,EAAE,iGAAiG;aACtG,CAAC,CAAA;QACH,CAAC;QACD,KAAK,8BAA8B,CAAC,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,MAAM,CAAE,IAAI,CAAC,CAAC,CAAsB,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;YAC5D,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAA;QACvE,CAAC;QACD,KAAK,8BAA8B,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAsC,CAAA;YAC1D,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YAC/E,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACpB,CAAC;QACD,KAAK,iCAAiC,CAAC,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,MAAM,CAAE,IAAI,CAAC,CAAC,CAAsB,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;YAC5D,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAC/D,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,EAAE,OAAO,EAAE,CAAA;QACnB,CAAC;QACD,KAAK,+BAA+B,CAAC,CAAC,CAAC;YACtC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAA;QAC7D,CAAC;QACD,KAAK,2BAA2B,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,MAAM,CAAE,IAAI,CAAC,CAAC,CAAsB,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YACvE,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;YAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,IAAI,kBAAkB,CAAC;oBAC5B,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,mBAAmB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mCAAmC;oBAClF,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,iGAAiG;oBACtG,OAAO,EAAE,EAAE,GAAG,EAAE;iBAChB,CAAC,CAAA;YACH,CAAC;YACD,OAAO;gBACN,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE;oBACN,MAAM,EAAE,eAAe,IAAI,CAAC,EAAE,EAAE;oBAChC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,uEAAuE;oBACvE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;iBACxB;aACD,CAAA;QACF,CAAC;QACD,KAAK,4BAA4B;YAChC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;QAClC,OAAO,CAAC,CAAC,CAAC;YACT,MAAM,UAAU,GAAU,OAAgB,CAAA;YAC1C,MAAM,oBAAoB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QAC9D,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,KAAuB;IAC/C,OAAO;QACN,IAAI,EAAE;YACL,EAAE,EAAE,WAAW;YACf,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,kBAAkB;SACzB;QACD,GAAG,EAAE;YACJ,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;SAChB;QACD,aAAa,EAAE,KAAK,CAAC,SAAS;KAC9B,CAAA;AACF,CAAC;AAED,SAAS,UAAU,CAClB,KAAuB,EACvB,MAA2D;IAE3D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CACnC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAClF,CAAA;QACD,OAAO;YACN,cAAc,EAAE,QAAQ,KAAK,CAAC,SAAS,EAAE;YACzC,OAAO,EAAE,GAAG;gBACX,CAAC,CAAC;oBACA;wBACC,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE;wBAClC,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;qBAC5B;iBACD;gBACF,CAAC,CAAC,EAAE;YACL,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,gDAAgD;SAC1D,CAAA;IACF,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa;SACjC,MAAM,CACN,CAAC,IAAI,EAAE,EAAE,CACR,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAClC;SACA,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;QACpC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC7B,CAAC,CAAC,CAAA;IACJ,OAAO;QACN,cAAc,EAAE,QAAQ,KAAK,CAAC,SAAS,EAAE;QACzC,OAAO;QACP,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,gDAAgD;KAC1D,CAAA;AACF,CAAC;AAED,SAAS,mBAAmB;IAC3B,OAAO;QACN,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACL,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EAAE,MAAM;YACf,WAAW,EACV,+FAA+F;SAChG;QACD,KAAK,EAAE;YACN,YAAY,EAAE;gBACb,GAAG,EAAE;oBACJ,WAAW,EAAE,QAAQ;oBACrB,OAAO,EAAE,yBAAyB;iBAClC;aACD;YACD,QAAQ,EAAE;gBACT,GAAG,EAAE;oBACJ,WAAW,EAAE,oBAAoB;oBACjC,OAAO,EAAE,mBAAmB;iBAC5B;aACD;SACD;QACD,wBAAwB,EAAE,CAAC,GAAG,uBAAuB,CAAC;KACtD,CAAA;AACF,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAoB;IAC/C,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACjE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACpC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;QACrB,cAAc,EAAE,iCAAiC;QACjD,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;KAC5C,CAAC,CAAA;IACF,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACjB,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,OAA0B,EAC1B,EAAsC;IAEtC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,CAAC;QACJ,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;YAAS,CAAC;QACV,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;AACF,CAAC;AAED,yFAAyF;AACzF,KAAM,IAA0B,CAAA"}
1
+ {"version":3,"file":"mock-server.js","sourceRoot":"","sources":["../../src/mock/mock-server.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,9 @@ export type MockSessionState = {
18
18
  id: string;
19
19
  name: string;
20
20
  kind: 'secret' | 'oauth';
21
+ /** Host allow-list for credential().fetch (ADR 0068 client shape). */
22
+ hosts: Array<string>;
23
+ scope?: 'personal' | 'org';
21
24
  /** Placeholder value used only inside the mock. */
22
25
  mockValue: string;
23
26
  }>;