@detergent-software/atk 7.7.0 → 7.8.0-dev.2
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.
- package/README.md +13 -11
- package/build/commands/browse.js +3 -3
- package/build/commands/browse.js.map +1 -1
- package/build/commands/cache.d.ts +1 -1
- package/build/commands/info.d.ts.map +1 -1
- package/build/commands/info.js +7 -4
- package/build/commands/info.js.map +1 -1
- package/build/commands/list.js +1 -1
- package/build/commands/list.js.map +1 -1
- package/build/commands/publish.d.ts +1 -1
- package/build/commands/publish.d.ts.map +1 -1
- package/build/commands/publish.js +2 -1
- package/build/commands/publish.js.map +1 -1
- package/build/commands/reviewer.js +1 -1
- package/build/commands/reviewer.js.map +1 -1
- package/build/commands/search.js +1 -1
- package/build/commands/search.js.map +1 -1
- package/build/components/AssetDetail.js +1 -1
- package/build/components/AssetDetail.js.map +1 -1
- package/build/components/BundleDetail.d.ts +7 -1
- package/build/components/BundleDetail.d.ts.map +1 -1
- package/build/components/BundleDetail.js +2 -2
- package/build/components/BundleDetail.js.map +1 -1
- package/build/hooks/useBrowseState.d.ts.map +1 -1
- package/build/hooks/useBrowseState.js +8 -1
- package/build/hooks/useBrowseState.js.map +1 -1
- package/build/hooks/usePublishState.d.ts.map +1 -1
- package/build/hooks/usePublishState.js +5 -7
- package/build/hooks/usePublishState.js.map +1 -1
- package/build/lib/api/client/client.gen.d.ts +3 -0
- package/build/lib/api/client/client.gen.d.ts.map +1 -0
- package/build/lib/api/client/client.gen.js +217 -0
- package/build/lib/api/client/client.gen.js.map +1 -0
- package/build/lib/api/client/index.d.ts +11 -0
- package/build/lib/api/client/index.d.ts.map +1 -0
- package/build/lib/api/client/index.js +7 -0
- package/build/lib/api/client/index.js.map +1 -0
- package/build/lib/api/client/types.gen.d.ts +121 -0
- package/build/lib/api/client/types.gen.d.ts.map +1 -0
- package/build/lib/api/client/types.gen.js +3 -0
- package/build/lib/api/client/types.gen.js.map +1 -0
- package/build/lib/api/client/utils.gen.d.ts +38 -0
- package/build/lib/api/client/utils.gen.d.ts.map +1 -0
- package/build/lib/api/client/utils.gen.js +229 -0
- package/build/lib/api/client/utils.gen.js.map +1 -0
- package/build/lib/api/client.gen.d.ts +13 -0
- package/build/lib/api/client.gen.d.ts.map +1 -0
- package/build/lib/api/client.gen.js +4 -0
- package/build/lib/api/client.gen.js.map +1 -0
- package/build/lib/api/core/auth.gen.d.ts +26 -0
- package/build/lib/api/core/auth.gen.d.ts.map +1 -0
- package/build/lib/api/core/auth.gen.js +15 -0
- package/build/lib/api/core/auth.gen.js.map +1 -0
- package/build/lib/api/core/bodySerializer.gen.d.ts +26 -0
- package/build/lib/api/core/bodySerializer.gen.d.ts.map +1 -0
- package/build/lib/api/core/bodySerializer.gen.js +58 -0
- package/build/lib/api/core/bodySerializer.gen.js.map +1 -0
- package/build/lib/api/core/params.gen.d.ts +44 -0
- package/build/lib/api/core/params.gen.d.ts.map +1 -0
- package/build/lib/api/core/params.gen.js +110 -0
- package/build/lib/api/core/params.gen.js.map +1 -0
- package/build/lib/api/core/pathSerializer.gen.d.ts +34 -0
- package/build/lib/api/core/pathSerializer.gen.d.ts.map +1 -0
- package/build/lib/api/core/pathSerializer.gen.js +107 -0
- package/build/lib/api/core/pathSerializer.gen.js.map +1 -0
- package/build/lib/api/core/queryKeySerializer.gen.d.ts +19 -0
- package/build/lib/api/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/build/lib/api/core/queryKeySerializer.gen.js +93 -0
- package/build/lib/api/core/queryKeySerializer.gen.js.map +1 -0
- package/build/lib/api/core/serverSentEvents.gen.d.ts +72 -0
- package/build/lib/api/core/serverSentEvents.gen.d.ts.map +1 -0
- package/build/lib/api/core/serverSentEvents.gen.js +133 -0
- package/build/lib/api/core/serverSentEvents.gen.js.map +1 -0
- package/build/lib/api/core/types.gen.d.ts +84 -0
- package/build/lib/api/core/types.gen.d.ts.map +1 -0
- package/build/lib/api/core/types.gen.js +3 -0
- package/build/lib/api/core/types.gen.js.map +1 -0
- package/build/lib/api/core/utils.gen.d.ts +20 -0
- package/build/lib/api/core/utils.gen.d.ts.map +1 -0
- package/build/lib/api/core/utils.gen.js +88 -0
- package/build/lib/api/core/utils.gen.js.map +1 -0
- package/build/lib/api/index.d.ts +3 -0
- package/build/lib/api/index.d.ts.map +1 -0
- package/build/lib/api/index.js +3 -0
- package/build/lib/api/index.js.map +1 -0
- package/build/lib/api/sdk.gen.d.ts +80 -0
- package/build/lib/api/sdk.gen.d.ts.map +1 -0
- package/build/lib/api/sdk.gen.js +134 -0
- package/build/lib/api/sdk.gen.js.map +1 -0
- package/build/lib/api/types.gen.d.ts +924 -0
- package/build/lib/api/types.gen.d.ts.map +1 -0
- package/build/lib/api/types.gen.js +3 -0
- package/build/lib/api/types.gen.js.map +1 -0
- package/build/lib/api-client.d.ts +91 -0
- package/build/lib/api-client.d.ts.map +1 -0
- package/build/lib/api-client.js +198 -0
- package/build/lib/api-client.js.map +1 -0
- package/build/lib/auth.d.ts +6 -2
- package/build/lib/auth.d.ts.map +1 -1
- package/build/lib/auth.js +18 -10
- package/build/lib/auth.js.map +1 -1
- package/build/lib/diagnostics.d.ts.map +1 -1
- package/build/lib/diagnostics.js +33 -22
- package/build/lib/diagnostics.js.map +1 -1
- package/build/lib/diff-command.d.ts.map +1 -1
- package/build/lib/diff-command.js +14 -12
- package/build/lib/diff-command.js.map +1 -1
- package/build/lib/fetch-retry.d.ts +7 -3
- package/build/lib/fetch-retry.d.ts.map +1 -1
- package/build/lib/fetch-retry.js +9 -5
- package/build/lib/fetch-retry.js.map +1 -1
- package/build/lib/installer.d.ts +0 -2
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +30 -29
- package/build/lib/installer.js.map +1 -1
- package/build/lib/manifest-diff.d.ts +1 -1
- package/build/lib/manifest-diff.d.ts.map +1 -1
- package/build/lib/manifest-diff.js +3 -3
- package/build/lib/manifest-diff.js.map +1 -1
- package/build/lib/publisher.d.ts +38 -1
- package/build/lib/publisher.d.ts.map +1 -1
- package/build/lib/publisher.js +133 -145
- package/build/lib/publisher.js.map +1 -1
- package/build/lib/registry-mutate.js +1 -1
- package/build/lib/registry-mutate.js.map +1 -1
- package/build/lib/registry-repo.d.ts +34 -0
- package/build/lib/registry-repo.d.ts.map +1 -0
- package/build/lib/registry-repo.js +35 -0
- package/build/lib/registry-repo.js.map +1 -0
- package/build/lib/registry.d.ts +45 -1
- package/build/lib/registry.d.ts.map +1 -1
- package/build/lib/registry.js +226 -53
- package/build/lib/registry.js.map +1 -1
- package/build/lib/release-notes.d.ts.map +1 -1
- package/build/lib/release-notes.js +27 -1
- package/build/lib/release-notes.js.map +1 -1
- package/build/lib/reviewers.d.ts +19 -0
- package/build/lib/reviewers.d.ts.map +1 -0
- package/build/lib/reviewers.js +46 -0
- package/build/lib/reviewers.js.map +1 -0
- package/build/lib/schemas/config.d.ts +1 -1
- package/build/lib/schemas/config.d.ts.map +1 -1
- package/build/lib/schemas/config.js +4 -1
- package/build/lib/schemas/config.js.map +1 -1
- package/build/lib/schemas/lockfile.d.ts +0 -1
- package/build/lib/schemas/lockfile.d.ts.map +1 -1
- package/build/lib/schemas/lockfile.js +0 -1
- package/build/lib/schemas/lockfile.js.map +1 -1
- package/package.json +4 -1
- package/build/lib/github.d.ts +0 -140
- package/build/lib/github.d.ts.map +0 -1
- package/build/lib/github.js +0 -230
- package/build/lib/github.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.gen.d.ts","sourceRoot":"","sources":["../../../src/lib/api/types.gen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.gen.js","sourceRoot":"","sources":["../../../src/lib/api/types.gen.ts"],"names":[],"mappings":"AAAA,qDAAqD"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hand-written wrapper around the generated ATK API client (`src/lib/api/`).
|
|
3
|
+
*
|
|
4
|
+
* Owns three concerns the generated code does not:
|
|
5
|
+
* - Base URL resolution (`ATK_API_URL` env > `apiUrl` config > production).
|
|
6
|
+
* - Wiring: bearer auth from the GitHub token resolver and retries through
|
|
7
|
+
* {@link fetchWithRetry}.
|
|
8
|
+
* - Error mapping: every non-2xx result becomes an {@link ApiRequestError}
|
|
9
|
+
* with a stable `code`, an HTTP `status`, and CLI-friendly message/hint text.
|
|
10
|
+
*
|
|
11
|
+
* Nothing outside this module may import the generated default client in
|
|
12
|
+
* `api/client.gen.ts`; it points at production and carries no auth.
|
|
13
|
+
*/
|
|
14
|
+
import type { ApiErrorDetail } from './api/types.gen.js';
|
|
15
|
+
import { type Client } from './api/client/index.js';
|
|
16
|
+
export type { ApiErrorDetail } from './api/types.gen.js';
|
|
17
|
+
/** Production ATK API. Used when neither `ATK_API_URL` nor `apiUrl` is set. */
|
|
18
|
+
export declare const DEFAULT_API_URL = "https://func-atk-prod.azurewebsites.net";
|
|
19
|
+
/** Environment variable that overrides the configured API base URL. */
|
|
20
|
+
export declare const API_URL_ENV_VAR = "ATK_API_URL";
|
|
21
|
+
/** Shape of a generated SDK call result with `throwOnError: false` and `responseStyle: 'fields'`. */
|
|
22
|
+
export interface ApiResult<T> {
|
|
23
|
+
data?: T;
|
|
24
|
+
error?: unknown;
|
|
25
|
+
response?: Response;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Thrown by {@link unwrap} for any failed ATK API call.
|
|
29
|
+
*
|
|
30
|
+
* `status` is the HTTP status (0 for a network failure). `code` is the API's
|
|
31
|
+
* machine-readable error code (`not_found`, `version_not_bumped`, ...), or a
|
|
32
|
+
* synthetic one (`network_error`, `http_error`) when the API did not send an
|
|
33
|
+
* envelope. `details` carries per-item validation problems when present.
|
|
34
|
+
*/
|
|
35
|
+
export declare class ApiRequestError extends Error {
|
|
36
|
+
code: string;
|
|
37
|
+
command?: string;
|
|
38
|
+
details?: ApiErrorDetail[];
|
|
39
|
+
hint?: string;
|
|
40
|
+
status: number;
|
|
41
|
+
constructor(message: string, options: {
|
|
42
|
+
code: string;
|
|
43
|
+
command?: string;
|
|
44
|
+
details?: ApiErrorDetail[];
|
|
45
|
+
hint?: string;
|
|
46
|
+
status: number;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Build an ATK API client for a specific token (no process-wide caching).
|
|
51
|
+
*
|
|
52
|
+
* Used where the token must be the one given rather than the resolved one,
|
|
53
|
+
* e.g. `validateToken` in `atk doctor`.
|
|
54
|
+
*/
|
|
55
|
+
export declare function createApiClientForToken(token: string, baseUrl: string): Client;
|
|
56
|
+
/**
|
|
57
|
+
* Get the process-wide ATK API client.
|
|
58
|
+
*
|
|
59
|
+
* Built once: base URL from {@link resolveApiUrl}, bearer auth resolved
|
|
60
|
+
* lazily per request via `getGitHubToken()`, and every request routed
|
|
61
|
+
* through {@link fetchWithRetry}.
|
|
62
|
+
*/
|
|
63
|
+
export declare function getApiClient(): Promise<Client>;
|
|
64
|
+
/**
|
|
65
|
+
* Type guard for {@link ApiRequestError}, optionally narrowed by API error
|
|
66
|
+
* code and/or HTTP status.
|
|
67
|
+
*/
|
|
68
|
+
export declare function isApiError(err: unknown, code?: string, status?: number): err is ApiRequestError;
|
|
69
|
+
/**
|
|
70
|
+
* Drop the memoised client so the next {@link getApiClient} call rebuilds it.
|
|
71
|
+
* Intended for tests and for commands that change `apiUrl` mid-process.
|
|
72
|
+
*/
|
|
73
|
+
export declare function resetApiClient(): void;
|
|
74
|
+
/**
|
|
75
|
+
* Resolve the ATK API base URL.
|
|
76
|
+
*
|
|
77
|
+
* Precedence: `ATK_API_URL` env var > `apiUrl` from `~/.atkrc.json` > production.
|
|
78
|
+
* A trailing slash is stripped so the generated client can append paths.
|
|
79
|
+
*/
|
|
80
|
+
export declare function resolveApiUrl(config?: {
|
|
81
|
+
apiUrl?: string;
|
|
82
|
+
}): string;
|
|
83
|
+
/**
|
|
84
|
+
* Convert a generated-client result into its `data`, or throw an
|
|
85
|
+
* {@link ApiRequestError} describing why the call failed.
|
|
86
|
+
*
|
|
87
|
+
* @param result - The `{ data, error, response }` object returned by an SDK function
|
|
88
|
+
* @param resource - Human-readable name of what was requested (used in messages)
|
|
89
|
+
*/
|
|
90
|
+
export declare function unwrap<T>(result: ApiResult<T>, resource: string): T;
|
|
91
|
+
//# sourceMappingURL=api-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAKlE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,+EAA+E;AAC/E,eAAO,MAAM,eAAe,4CAA4C,CAAC;AAEzE,uEAAuE;AACvE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,qGAAqG;AACrG,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AASD;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;gBAGb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAUzG;AAaD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAO9E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAG9C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,IAAI,eAAe,CAW/F;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAIlE;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAkBnE"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hand-written wrapper around the generated ATK API client (`src/lib/api/`).
|
|
3
|
+
*
|
|
4
|
+
* Owns three concerns the generated code does not:
|
|
5
|
+
* - Base URL resolution (`ATK_API_URL` env > `apiUrl` config > production).
|
|
6
|
+
* - Wiring: bearer auth from the GitHub token resolver and retries through
|
|
7
|
+
* {@link fetchWithRetry}.
|
|
8
|
+
* - Error mapping: every non-2xx result becomes an {@link ApiRequestError}
|
|
9
|
+
* with a stable `code`, an HTTP `status`, and CLI-friendly message/hint text.
|
|
10
|
+
*
|
|
11
|
+
* Nothing outside this module may import the generated default client in
|
|
12
|
+
* `api/client.gen.ts`; it points at production and carries no auth.
|
|
13
|
+
*/
|
|
14
|
+
import { createClient } from './api/client/index.js';
|
|
15
|
+
import { getGitHubToken } from './auth.js';
|
|
16
|
+
import { loadConfig } from './config.js';
|
|
17
|
+
import { fetchWithRetry } from './fetch-retry.js';
|
|
18
|
+
/** Production ATK API. Used when neither `ATK_API_URL` nor `apiUrl` is set. */
|
|
19
|
+
export const DEFAULT_API_URL = 'https://func-atk-prod.azurewebsites.net';
|
|
20
|
+
/** Environment variable that overrides the configured API base URL. */
|
|
21
|
+
export const API_URL_ENV_VAR = 'ATK_API_URL';
|
|
22
|
+
/**
|
|
23
|
+
* Thrown by {@link unwrap} for any failed ATK API call.
|
|
24
|
+
*
|
|
25
|
+
* `status` is the HTTP status (0 for a network failure). `code` is the API's
|
|
26
|
+
* machine-readable error code (`not_found`, `version_not_bumped`, ...), or a
|
|
27
|
+
* synthetic one (`network_error`, `http_error`) when the API did not send an
|
|
28
|
+
* envelope. `details` carries per-item validation problems when present.
|
|
29
|
+
*/
|
|
30
|
+
export class ApiRequestError extends Error {
|
|
31
|
+
code;
|
|
32
|
+
command;
|
|
33
|
+
details;
|
|
34
|
+
hint;
|
|
35
|
+
status;
|
|
36
|
+
constructor(message, options) {
|
|
37
|
+
super(message);
|
|
38
|
+
this.name = 'ApiRequestError';
|
|
39
|
+
this.status = options.status;
|
|
40
|
+
this.code = options.code;
|
|
41
|
+
this.details = options.details;
|
|
42
|
+
this.hint = options.hint;
|
|
43
|
+
this.command = options.command;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const AUTH_HINT = 'Run `gh auth login`, or set the GITHUB_TOKEN environment variable.';
|
|
47
|
+
const AUTH_COMMAND = 'gh auth login';
|
|
48
|
+
const AUTH_MESSAGE = 'Authentication failed. Check your GitHub token or run `gh auth login`.';
|
|
49
|
+
const NOT_MEMBER_MESSAGE = 'Your GitHub account is not an active member of the EmergentSoftware organization (or membership could not be verified).';
|
|
50
|
+
const NOT_MEMBER_HINT = 'Ask an org admin to add you, or re-authorise your token with the read:org scope (`gh auth refresh -s read:org`).';
|
|
51
|
+
const UNAVAILABLE_HINT = 'The registry may be temporarily unavailable. Retry in a moment.';
|
|
52
|
+
let clientPromise;
|
|
53
|
+
/**
|
|
54
|
+
* Build an ATK API client for a specific token (no process-wide caching).
|
|
55
|
+
*
|
|
56
|
+
* Used where the token must be the one given rather than the resolved one,
|
|
57
|
+
* e.g. `validateToken` in `atk doctor`.
|
|
58
|
+
*/
|
|
59
|
+
export function createApiClientForToken(token, baseUrl) {
|
|
60
|
+
return createClient({
|
|
61
|
+
auth: () => token,
|
|
62
|
+
baseUrl,
|
|
63
|
+
fetch: (input, init) => fetchWithRetry(input, init),
|
|
64
|
+
throwOnError: false,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get the process-wide ATK API client.
|
|
69
|
+
*
|
|
70
|
+
* Built once: base URL from {@link resolveApiUrl}, bearer auth resolved
|
|
71
|
+
* lazily per request via `getGitHubToken()`, and every request routed
|
|
72
|
+
* through {@link fetchWithRetry}.
|
|
73
|
+
*/
|
|
74
|
+
export function getApiClient() {
|
|
75
|
+
clientPromise ??= buildClient();
|
|
76
|
+
return clientPromise;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Type guard for {@link ApiRequestError}, optionally narrowed by API error
|
|
80
|
+
* code and/or HTTP status.
|
|
81
|
+
*/
|
|
82
|
+
export function isApiError(err, code, status) {
|
|
83
|
+
if (!(err instanceof ApiRequestError)) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
if (code !== undefined && err.code !== code) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
if (status !== undefined && err.status !== status) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Drop the memoised client so the next {@link getApiClient} call rebuilds it.
|
|
96
|
+
* Intended for tests and for commands that change `apiUrl` mid-process.
|
|
97
|
+
*/
|
|
98
|
+
export function resetApiClient() {
|
|
99
|
+
clientPromise = undefined;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Resolve the ATK API base URL.
|
|
103
|
+
*
|
|
104
|
+
* Precedence: `ATK_API_URL` env var > `apiUrl` from `~/.atkrc.json` > production.
|
|
105
|
+
* A trailing slash is stripped so the generated client can append paths.
|
|
106
|
+
*/
|
|
107
|
+
export function resolveApiUrl(config) {
|
|
108
|
+
const envUrl = process.env[API_URL_ENV_VAR]?.trim();
|
|
109
|
+
const raw = envUrl || config?.apiUrl?.trim() || DEFAULT_API_URL;
|
|
110
|
+
return raw.replace(/\/+$/, '');
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Convert a generated-client result into its `data`, or throw an
|
|
114
|
+
* {@link ApiRequestError} describing why the call failed.
|
|
115
|
+
*
|
|
116
|
+
* @param result - The `{ data, error, response }` object returned by an SDK function
|
|
117
|
+
* @param resource - Human-readable name of what was requested (used in messages)
|
|
118
|
+
*/
|
|
119
|
+
export function unwrap(result, resource) {
|
|
120
|
+
const { data, error, response } = result;
|
|
121
|
+
if (response === undefined) {
|
|
122
|
+
// The fetch itself threw (DNS, connection refused, abort, ...).
|
|
123
|
+
const cause = error instanceof Error ? error.message : error ? String(error) : 'Network request failed';
|
|
124
|
+
throw new ApiRequestError(`Failed to fetch ${resource}: ${cause}`, {
|
|
125
|
+
code: 'network_error',
|
|
126
|
+
hint: 'Check your internet connection.',
|
|
127
|
+
status: 0,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
if (response.ok && error === undefined) {
|
|
131
|
+
return data;
|
|
132
|
+
}
|
|
133
|
+
throw toApiRequestError(response.status, error, resource);
|
|
134
|
+
}
|
|
135
|
+
async function buildClient() {
|
|
136
|
+
const config = await loadConfig();
|
|
137
|
+
return createClient({
|
|
138
|
+
auth: () => getGitHubToken(),
|
|
139
|
+
baseUrl: resolveApiUrl(config),
|
|
140
|
+
fetch: (input, init) => fetchWithRetry(input, init),
|
|
141
|
+
throwOnError: false,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
function isErrorEnvelope(value) {
|
|
145
|
+
return (typeof value === 'object' &&
|
|
146
|
+
value !== null &&
|
|
147
|
+
typeof value.error === 'string' &&
|
|
148
|
+
typeof value.message === 'string');
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Map an HTTP status plus the API's error envelope (when present) to an
|
|
152
|
+
* {@link ApiRequestError} whose message matches what the CLI showed before
|
|
153
|
+
* the API existed, where such a message existed.
|
|
154
|
+
*/
|
|
155
|
+
function toApiRequestError(status, error, resource) {
|
|
156
|
+
const envelope = isErrorEnvelope(error) ? error : undefined;
|
|
157
|
+
const code = envelope?.error ?? 'http_error';
|
|
158
|
+
const apiMessage = envelope?.message ?? (typeof error === 'string' && error ? error : undefined);
|
|
159
|
+
const details = envelope?.details ?? undefined;
|
|
160
|
+
if (status === 401) {
|
|
161
|
+
return new ApiRequestError(AUTH_MESSAGE, { code, command: AUTH_COMMAND, hint: AUTH_HINT, status });
|
|
162
|
+
}
|
|
163
|
+
if (status === 403) {
|
|
164
|
+
if (code === 'not_org_member' || code === 'org_membership_unverifiable') {
|
|
165
|
+
return new ApiRequestError(NOT_MEMBER_MESSAGE, { code, hint: NOT_MEMBER_HINT, status });
|
|
166
|
+
}
|
|
167
|
+
return new ApiRequestError(apiMessage ?? `Access denied while fetching ${resource}.`, { code, status });
|
|
168
|
+
}
|
|
169
|
+
if (status === 404) {
|
|
170
|
+
return new ApiRequestError(apiMessage ?? `${resource} not found.`, { code, status });
|
|
171
|
+
}
|
|
172
|
+
if (status === 429) {
|
|
173
|
+
return new ApiRequestError('GitHub API rate limit exceeded. Try again later.', {
|
|
174
|
+
code,
|
|
175
|
+
hint: 'Wait a minute and retry.',
|
|
176
|
+
status,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
if (status === 400 && (code === 'validation_failed' || code === 'schema_invalid') && details?.length) {
|
|
180
|
+
const lines = details.map((d) => ` ${d.path ?? '-'}: ${d.message}`);
|
|
181
|
+
return new ApiRequestError([apiMessage ?? 'Validation failed.', ...lines].join('\n'), { code, details, status });
|
|
182
|
+
}
|
|
183
|
+
if (status >= 500) {
|
|
184
|
+
const detail = apiMessage ? ` (${code}: ${apiMessage})` : '';
|
|
185
|
+
return new ApiRequestError(`Failed to fetch ${resource}: HTTP ${status}${detail}`, {
|
|
186
|
+
code,
|
|
187
|
+
hint: UNAVAILABLE_HINT,
|
|
188
|
+
status,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
// 400/409 and anything else: the API message is the best text we have.
|
|
192
|
+
return new ApiRequestError(apiMessage ?? `Failed to fetch ${resource}: HTTP ${status}`, {
|
|
193
|
+
code,
|
|
194
|
+
details,
|
|
195
|
+
status,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=api-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
|
package/build/lib/auth.d.ts
CHANGED
|
@@ -24,8 +24,12 @@ export declare function getGitHubToken(): Promise<string>;
|
|
|
24
24
|
*/
|
|
25
25
|
export declare function isGhCliAvailable(): Promise<boolean>;
|
|
26
26
|
/**
|
|
27
|
-
* Validate that a GitHub token
|
|
28
|
-
*
|
|
27
|
+
* Validate that a GitHub token is accepted by the ATK API (valid token and
|
|
28
|
+
* active EmergentSoftware membership) by calling `GET /me` with exactly that
|
|
29
|
+
* token — never the process-cached one.
|
|
30
|
+
*
|
|
31
|
+
* A 401/403 is an expected outcome and returns `{ valid: false }` quietly;
|
|
32
|
+
* only a network failure logs a warning.
|
|
29
33
|
*/
|
|
30
34
|
export declare function validateToken(token: string): Promise<{
|
|
31
35
|
username?: string;
|
package/build/lib/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,qBAAa,SAAU,SAAQ,KAAK;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;CAM5D;AAKD;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAsBtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAMnD;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAqBjG"}
|
package/build/lib/auth.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { execFile } from 'node:child_process';
|
|
2
|
+
import { createApiClientForToken, resolveApiUrl } from './api-client.js';
|
|
3
|
+
import { me } from './api/sdk.gen.js';
|
|
2
4
|
import { loadConfig } from './config.js';
|
|
3
5
|
import {} from './errors.js';
|
|
4
|
-
import { fetchWithRetry } from './fetch-retry.js';
|
|
5
|
-
import { buildGitHubHeaders } from './github.js';
|
|
6
6
|
export class AuthError extends Error {
|
|
7
7
|
command;
|
|
8
8
|
hint;
|
|
@@ -62,19 +62,27 @@ export function isGhCliAvailable() {
|
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
|
-
* Validate that a GitHub token
|
|
66
|
-
*
|
|
65
|
+
* Validate that a GitHub token is accepted by the ATK API (valid token and
|
|
66
|
+
* active EmergentSoftware membership) by calling `GET /me` with exactly that
|
|
67
|
+
* token — never the process-cached one.
|
|
68
|
+
*
|
|
69
|
+
* A 401/403 is an expected outcome and returns `{ valid: false }` quietly;
|
|
70
|
+
* only a network failure logs a warning.
|
|
67
71
|
*/
|
|
68
72
|
export async function validateToken(token) {
|
|
69
73
|
try {
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if (
|
|
74
|
+
const config = await loadConfig().catch(() => undefined);
|
|
75
|
+
const client = createApiClientForToken(token, resolveApiUrl(config));
|
|
76
|
+
const result = await me({ client });
|
|
77
|
+
if (result.response === undefined) {
|
|
78
|
+
const cause = result.error instanceof Error ? result.error.message : String(result.error);
|
|
79
|
+
console.warn(`Warning: Token validation failed — ${cause}`);
|
|
80
|
+
return { valid: false };
|
|
81
|
+
}
|
|
82
|
+
if (!result.response.ok || !result.data) {
|
|
74
83
|
return { valid: false };
|
|
75
84
|
}
|
|
76
|
-
|
|
77
|
-
return { username: data.login, valid: true };
|
|
85
|
+
return { username: result.data.login, valid: true };
|
|
78
86
|
}
|
|
79
87
|
catch (error) {
|
|
80
88
|
console.warn(`Warning: Token validation failed — ${error instanceof Error ? error.message : String(error)}`);
|
package/build/lib/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAU9D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAqBjE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,eAAe,EAAE,CAAC,CA0M5B"}
|
package/build/lib/diagnostics.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveApiUrl } from './api-client.js';
|
|
1
2
|
import { getGitHubToken, isGhCliAvailable, validateToken } from './auth.js';
|
|
2
3
|
import { loadConfig, loadProjectConfig } from './config.js';
|
|
3
4
|
import { detectTools, getAdapterDiagnostics } from './detector.js';
|
|
@@ -59,13 +60,40 @@ export async function runDiagnostics(progress, projectRootOverride) {
|
|
|
59
60
|
}
|
|
60
61
|
else {
|
|
61
62
|
checks.push({
|
|
62
|
-
detail: 'Install from https://cli.github.com or set githubToken in config.',
|
|
63
|
-
message: 'Not found —
|
|
63
|
+
detail: 'Install from https://cli.github.com, or set githubToken in config / GITHUB_TOKEN.',
|
|
64
|
+
message: 'Not found — used as a token source and for `atk unpublish`/`atk promote`',
|
|
64
65
|
name: 'GitHub CLI (gh)',
|
|
65
66
|
status: 'warn',
|
|
66
67
|
});
|
|
67
68
|
}
|
|
68
|
-
// Check
|
|
69
|
+
// Check user config
|
|
70
|
+
progress('Checking configuration...');
|
|
71
|
+
let config;
|
|
72
|
+
try {
|
|
73
|
+
config = await loadConfig();
|
|
74
|
+
checks.push({
|
|
75
|
+
message: 'Loaded',
|
|
76
|
+
name: 'Config',
|
|
77
|
+
status: 'pass',
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
checks.push({
|
|
82
|
+
message: err instanceof Error ? err.message : 'Failed to load config',
|
|
83
|
+
name: 'Config',
|
|
84
|
+
status: 'fail',
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// Report the ATK API the CLI will talk to
|
|
88
|
+
progress('Resolving ATK API...');
|
|
89
|
+
const apiUrl = resolveApiUrl(config);
|
|
90
|
+
checks.push({
|
|
91
|
+
detail: process.env['ATK_API_URL'] ? 'From ATK_API_URL' : config?.apiUrl ? 'From apiUrl in config' : undefined,
|
|
92
|
+
message: apiUrl,
|
|
93
|
+
name: 'ATK API',
|
|
94
|
+
status: 'pass',
|
|
95
|
+
});
|
|
96
|
+
// Check GitHub auth against the ATK API
|
|
69
97
|
progress('Checking GitHub authentication...');
|
|
70
98
|
try {
|
|
71
99
|
const token = await getGitHubToken();
|
|
@@ -79,8 +107,8 @@ export async function runDiagnostics(progress, projectRootOverride) {
|
|
|
79
107
|
}
|
|
80
108
|
else {
|
|
81
109
|
checks.push({
|
|
82
|
-
detail: 'Run `gh auth login` or update githubToken in config.',
|
|
83
|
-
message: 'Token
|
|
110
|
+
detail: 'Run `gh auth login` or update githubToken in config. The token must belong to an active EmergentSoftware member.',
|
|
111
|
+
message: 'Token was rejected by the ATK API (invalid, expired, or not an org member)',
|
|
84
112
|
name: 'GitHub auth',
|
|
85
113
|
status: 'fail',
|
|
86
114
|
});
|
|
@@ -93,23 +121,6 @@ export async function runDiagnostics(progress, projectRootOverride) {
|
|
|
93
121
|
status: 'fail',
|
|
94
122
|
});
|
|
95
123
|
}
|
|
96
|
-
// Check user config
|
|
97
|
-
progress('Checking configuration...');
|
|
98
|
-
try {
|
|
99
|
-
await loadConfig();
|
|
100
|
-
checks.push({
|
|
101
|
-
message: 'Loaded',
|
|
102
|
-
name: 'Config',
|
|
103
|
-
status: 'pass',
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
catch (err) {
|
|
107
|
-
checks.push({
|
|
108
|
-
message: err instanceof Error ? err.message : 'Failed to load config',
|
|
109
|
-
name: 'Config',
|
|
110
|
-
status: 'fail',
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
124
|
// Check registry access
|
|
114
125
|
progress('Checking registry access...');
|
|
115
126
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,GAAG,OAAO,gBAAgB;YACnC,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,GAAG,OAAO,yBAAyB;YAC5C,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO;YACL,OAAO,EAAE,GAAG,OAAO,uCAAuC;YAC1D,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAmC,EACnC,mBAA4B;IAE5B,MAAM,UAAU,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACxD,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,wBAAwB;IACxB,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAE/C,eAAe;IACf,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC7C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,yBAAyB;YAClC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-command.d.ts","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"diff-command.d.ts","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAkB3D,MAAM,MAAM,WAAW,GACnB;IACE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE/C,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,WAAW,CAAC,CAqJtB"}
|
|
@@ -2,14 +2,12 @@ import { existsSync } from 'node:fs';
|
|
|
2
2
|
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { resolveInstalledPaths } from './adapter.js';
|
|
5
|
-
import { getGitHubToken } from './auth.js';
|
|
6
5
|
import { loadConfig } from './config.js';
|
|
7
6
|
import { computeAddedFileDiff, computeRemovedFileDiff, computeUnifiedDiff } from './diff.js';
|
|
8
|
-
import { fetchFileContent, getEffectiveBranch, listAssetDirectoryFiles } from './github.js';
|
|
9
7
|
import { findInstalledAsset, readLockfile } from './lockfile.js';
|
|
10
8
|
import { resolveActiveOrg } from './org.js';
|
|
11
9
|
import { findProjectRoot } from './paths.js';
|
|
12
|
-
import { fetchRegistry, findAsset } from './registry.js';
|
|
10
|
+
import { fetchAssetFileBytes, fetchRegistry, findAsset, listAssetFiles, } from './registry.js';
|
|
13
11
|
import { resolveTool } from './tool-resolver.js';
|
|
14
12
|
/**
|
|
15
13
|
* Core logic for the `atk diff` command. Computes the diff between a locally
|
|
@@ -45,16 +43,16 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
45
43
|
}
|
|
46
44
|
const { asset: registryAsset, version: latestVersion } = foundAsset;
|
|
47
45
|
progress('Fetching latest version...');
|
|
48
|
-
const
|
|
49
|
-
const effectiveBranch = getEffectiveBranch(config.registryBranch);
|
|
46
|
+
const assetRef = { name: registryAsset.name, org: registryAsset.org, type: registryAsset.type };
|
|
50
47
|
let remoteFilesList;
|
|
51
48
|
try {
|
|
52
|
-
remoteFilesList = await
|
|
49
|
+
remoteFilesList = await listAssetFiles(assetRef, latestVersion);
|
|
53
50
|
}
|
|
54
51
|
catch (error) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
const hint = error?.hint;
|
|
53
|
+
throw new Error(`Failed to list asset directory files for "${name}": ` +
|
|
54
|
+
`${error instanceof Error ? error.message : String(error)}` +
|
|
55
|
+
(typeof hint === 'string' ? ` ${hint}` : ''));
|
|
58
56
|
}
|
|
59
57
|
// Convert remote files array to a Map for O(1) lookups by relative path
|
|
60
58
|
const remoteFiles = new Map(remoteFilesList.map((f) => [f.relativePath, f]));
|
|
@@ -91,10 +89,10 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
91
89
|
diffs.push({ fileName: file.sourcePath, status: 'missing-local' });
|
|
92
90
|
continue;
|
|
93
91
|
}
|
|
94
|
-
filesToFetch.push({ file, installedPath, remotePath: remoteFile.
|
|
92
|
+
filesToFetch.push({ file, installedPath, remotePath: remoteFile.relativePath });
|
|
95
93
|
}
|
|
96
94
|
// Fetch all remote file contents in parallel
|
|
97
|
-
const remoteContents = await Promise.all(filesToFetch.map(async ({ remotePath }) =>
|
|
95
|
+
const remoteContents = await Promise.all(filesToFetch.map(async ({ remotePath }) => fetchRemoteText(assetRef, latestVersion, remotePath)));
|
|
98
96
|
// Read all local file contents in parallel
|
|
99
97
|
const localContents = await Promise.all(filesToFetch.map(async ({ installedPath }) => readFile(join(projectDir, installedPath), 'utf-8')));
|
|
100
98
|
// Build diffs from fetched content
|
|
@@ -125,7 +123,7 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
125
123
|
// Collect added files (present in registry but not in installed files), then batch-fetch in parallel
|
|
126
124
|
const installedSourcePaths = new Set(installed.files.map((f) => f.sourcePath));
|
|
127
125
|
const addedRemoteFiles = [...remoteFiles.values()].filter((rf) => !installedSourcePaths.has(rf.relativePath));
|
|
128
|
-
const addedContents = await Promise.all(addedRemoteFiles.map(async (rf) =>
|
|
126
|
+
const addedContents = await Promise.all(addedRemoteFiles.map(async (rf) => fetchRemoteText(assetRef, latestVersion, rf.relativePath)));
|
|
129
127
|
for (let i = 0; i < addedRemoteFiles.length; i++) {
|
|
130
128
|
const remoteFile = addedRemoteFiles[i];
|
|
131
129
|
const remoteContent = addedContents[i];
|
|
@@ -142,4 +140,8 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
142
140
|
sameVersion,
|
|
143
141
|
};
|
|
144
142
|
}
|
|
143
|
+
/** Fetch one remote file and decode it as UTF-8 text for diffing. */
|
|
144
|
+
async function fetchRemoteText(ref, version, relativePath) {
|
|
145
|
+
return (await fetchAssetFileBytes(ref, version, relativePath)).toString('utf-8');
|
|
146
|
+
}
|
|
145
147
|
//# sourceMappingURL=diff-command.js.map
|