@anvil-works/anvil-cli 0.8.0-canary.5 → 0.8.0-canary.6
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/dist/api.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export { AppIdCandidate, AppIdWithContext, CheckoutAppListItem, detectAppIdsByCo
|
|
|
10
10
|
export { ANVIL_SYNC_CLIENT_ID, getAccountsForUrl, getAvailableAnvilUrls, getValidAuthToken, hasTokensForUrl, verifyAndStoreTokens, LoginResult, LogoutResult, logout, TokenData, clearInMemoryTokens, setInMemoryTokens, verifyAuth, } from "./services/auth";
|
|
11
11
|
export { DeviceAuthorizationResponse, OAuthTokenResponse, pollDeviceAuthorization, requestDeviceAuthorization, } from "./services/oauth-login";
|
|
12
12
|
export { CheckoutCloneOptions, CheckoutExecutionDeps, CheckoutOptions, CheckoutResult, executeCheckout, getDefaultDestinationDirectory, isDirectoryNonEmpty, isPathInsideGitRepo, parseCheckoutInput, ParsedCheckoutInput, sanitizeDirectoryName, validateCheckoutDestination, } from "./commands/checkout";
|
|
13
|
+
export { createCheckoutPickerSource, type CheckoutPickerDeps, type CheckoutPickerSourceController, type CheckoutPickerSourceOptions, } from "./commands/checkout-picker";
|
|
13
14
|
export { buildGitAuthDoctorReport, formatGitAuthDoctorReport, inspectCredentialHelperCommand, parseCredentialHelperCommand, } from "./commands/gitAuth";
|
|
14
15
|
export type { CredentialFillResult, GitAuthDoctorAppReport, GitAuthDoctorFinding, GitAuthDoctorRemote, GitAuthDoctorReport, GitAuthDoctorStatus, GitCredentialHelperDetails, GitCredentialSimulation, } from "./commands/gitAuth";
|
|
15
16
|
export { executeGitCredentialOperation } from "./commands/gitCredential";
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export interface CheckoutPickerSourceOptions {
|
|
|
9
9
|
maxAutoPagesPerCall?: number;
|
|
10
10
|
initialQuery?: string;
|
|
11
11
|
}
|
|
12
|
-
interface CheckoutPickerSourceController {
|
|
12
|
+
export interface CheckoutPickerSourceController {
|
|
13
13
|
source: (term: string | undefined, opt: {
|
|
14
14
|
signal: AbortSignal;
|
|
15
15
|
}) => Promise<Array<{
|
|
@@ -21,5 +21,4 @@ interface CheckoutPickerSourceController {
|
|
|
21
21
|
}
|
|
22
22
|
export declare function createCheckoutPickerSource(anvilUrl: string, username: string | undefined, deps: CheckoutPickerDeps, options?: CheckoutPickerSourceOptions): CheckoutPickerSourceController;
|
|
23
23
|
export declare function selectAppForCheckout(anvilUrl: string, username: string | undefined, deps: CheckoutPickerDeps, initialQuery?: string): Promise<string | null>;
|
|
24
|
-
export {};
|
|
25
24
|
//# sourceMappingURL=checkout-picker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-picker.d.ts","sourceRoot":"","sources":["../../src/commands/checkout-picker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjF,MAAM,WAAW,kBAAkB;IAC/B,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACnD;AAWD,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,
|
|
1
|
+
{"version":3,"file":"checkout-picker.d.ts","sourceRoot":"","sources":["../../src/commands/checkout-picker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjF,MAAM,WAAW,kBAAkB;IAC/B,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACnD;AAWD,MAAM,WAAW,2BAA2B;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;CACjK;AAyFD,wBAAgB,0BAA0B,CACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,2BAAgC,GAC1C,8BAA8B,CAoIhC;AAiUD,wBAAsB,oBAAoB,CACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,kBAAkB,EACxB,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiCxB"}
|
package/dist/index.js
CHANGED
|
@@ -7387,6 +7387,7 @@ var __webpack_exports__ = {};
|
|
|
7387
7387
|
verifyAndStoreTokens: ()=>auth_verifyAndStoreTokens,
|
|
7388
7388
|
formatValidationPath: ()=>formatValidationPath,
|
|
7389
7389
|
resolveAnvilUrl: ()=>resolveAnvilUrl,
|
|
7390
|
+
createCheckoutPickerSource: ()=>createCheckoutPickerSource,
|
|
7390
7391
|
buildGitAuthDoctorReport: ()=>buildGitAuthDoctorReport,
|
|
7391
7392
|
parseCheckoutInput: ()=>parseCheckoutInput,
|
|
7392
7393
|
formatGitAuthDoctorReport: ()=>formatGitAuthDoctorReport,
|
|
@@ -19879,6 +19880,182 @@ print(json.dumps({"issues": issues}))
|
|
|
19879
19880
|
}
|
|
19880
19881
|
throw new Error("Device login expired before it was approved.");
|
|
19881
19882
|
}
|
|
19883
|
+
const CHECKOUT_ERROR_VALUE = "__ERROR__";
|
|
19884
|
+
function isAbortLikeError(error) {
|
|
19885
|
+
if (error instanceof Error && "AbortError" === error.name) return true;
|
|
19886
|
+
if ("object" == typeof error && null !== error) {
|
|
19887
|
+
const maybeType = error.type;
|
|
19888
|
+
const maybeMessage = error.message;
|
|
19889
|
+
if ("network_error" === maybeType && "string" == typeof maybeMessage && maybeMessage.toLowerCase().includes("abort")) return true;
|
|
19890
|
+
}
|
|
19891
|
+
const message = errors_getErrorMessage(error).toLowerCase();
|
|
19892
|
+
return "aborted" === message || message.includes("aborted");
|
|
19893
|
+
}
|
|
19894
|
+
function normalizePickerQuery(term) {
|
|
19895
|
+
return (term || "").trim();
|
|
19896
|
+
}
|
|
19897
|
+
function parseNonNegativeMs(raw) {
|
|
19898
|
+
if (null == raw) return null;
|
|
19899
|
+
const parsed = Number(raw);
|
|
19900
|
+
if (!Number.isFinite(parsed) || parsed < 0) return null;
|
|
19901
|
+
return parsed;
|
|
19902
|
+
}
|
|
19903
|
+
function getCheckoutPickerDelayMs() {
|
|
19904
|
+
const fromEnv = parseNonNegativeMs(process.env.ANVIL_CHECKOUT_PICKER_DELAY_MS);
|
|
19905
|
+
if (null != fromEnv) return fromEnv;
|
|
19906
|
+
return 0;
|
|
19907
|
+
}
|
|
19908
|
+
function getCheckoutPickerPaginationDelayMs() {
|
|
19909
|
+
return getCheckoutPickerDelayMs();
|
|
19910
|
+
}
|
|
19911
|
+
function formatLastEdited(lastEdited) {
|
|
19912
|
+
if (!lastEdited) return;
|
|
19913
|
+
return external_chalk_default().gray(`Last edited: ${lastEdited}`);
|
|
19914
|
+
}
|
|
19915
|
+
function formatAppPickerLabel(app) {
|
|
19916
|
+
const appName = app.app_name || "Unnamed App";
|
|
19917
|
+
return `${external_chalk_default().cyan(appName)} ${external_chalk_default().gray(`(${app.app_id})`)}`;
|
|
19918
|
+
}
|
|
19919
|
+
async function waitForDebounce(ms, signal) {
|
|
19920
|
+
if (ms <= 0) return;
|
|
19921
|
+
if (signal.aborted) throw new Error("aborted");
|
|
19922
|
+
await new Promise((resolve, reject)=>{
|
|
19923
|
+
const timer = setTimeout(()=>{
|
|
19924
|
+
cleanup();
|
|
19925
|
+
resolve();
|
|
19926
|
+
}, ms);
|
|
19927
|
+
const onAbort = ()=>{
|
|
19928
|
+
cleanup();
|
|
19929
|
+
reject(new Error("aborted"));
|
|
19930
|
+
};
|
|
19931
|
+
const cleanup = ()=>{
|
|
19932
|
+
clearTimeout(timer);
|
|
19933
|
+
signal.removeEventListener("abort", onAbort);
|
|
19934
|
+
};
|
|
19935
|
+
signal.addEventListener("abort", onAbort, {
|
|
19936
|
+
once: true
|
|
19937
|
+
});
|
|
19938
|
+
});
|
|
19939
|
+
}
|
|
19940
|
+
function createCheckoutPickerSource(anvilUrl, username, deps, options = {}) {
|
|
19941
|
+
const pageSize = options.pageSize ?? 20;
|
|
19942
|
+
const debounceMs = options.debounceMs ?? 200;
|
|
19943
|
+
const staleTimeMs = options.staleTimeMs ?? 30000;
|
|
19944
|
+
const maxAutoPagesPerCall = options.maxAutoPagesPerCall ?? 8;
|
|
19945
|
+
const initialQuery = normalizePickerQuery(options.initialQuery);
|
|
19946
|
+
const simulatedDelayMs = getCheckoutPickerDelayMs();
|
|
19947
|
+
const paginationDelayMs = getCheckoutPickerPaginationDelayMs();
|
|
19948
|
+
const cache = new Map();
|
|
19949
|
+
const getState = (query)=>{
|
|
19950
|
+
const existing = cache.get(query);
|
|
19951
|
+
if (existing) return existing;
|
|
19952
|
+
const created = {
|
|
19953
|
+
items: [],
|
|
19954
|
+
nextCursor: null,
|
|
19955
|
+
exhausted: false,
|
|
19956
|
+
lastError: null,
|
|
19957
|
+
updatedAt: 0,
|
|
19958
|
+
inFlight: null
|
|
19959
|
+
};
|
|
19960
|
+
cache.set(query, created);
|
|
19961
|
+
return created;
|
|
19962
|
+
};
|
|
19963
|
+
const fetchPage = async (query, signal, options = {})=>{
|
|
19964
|
+
const state = getState(query);
|
|
19965
|
+
if (state.inFlight) return void await state.inFlight;
|
|
19966
|
+
state.inFlight = (async ()=>{
|
|
19967
|
+
try {
|
|
19968
|
+
if (simulatedDelayMs > 0) await new Promise((resolve)=>setTimeout(resolve, simulatedDelayMs));
|
|
19969
|
+
if (options.cursor && paginationDelayMs > 0) await new Promise((resolve)=>setTimeout(resolve, paginationDelayMs));
|
|
19970
|
+
const response = await deps.listAppsForCheckout({
|
|
19971
|
+
anvilUrl,
|
|
19972
|
+
username,
|
|
19973
|
+
limit: pageSize,
|
|
19974
|
+
cursor: options.cursor,
|
|
19975
|
+
q: query || void 0,
|
|
19976
|
+
signal
|
|
19977
|
+
});
|
|
19978
|
+
if (options.reset) state.items = [
|
|
19979
|
+
...response.apps
|
|
19980
|
+
];
|
|
19981
|
+
else state.items.push(...response.apps);
|
|
19982
|
+
state.nextCursor = response.next_cursor;
|
|
19983
|
+
state.exhausted = !response.next_cursor;
|
|
19984
|
+
state.lastError = null;
|
|
19985
|
+
state.updatedAt = Date.now();
|
|
19986
|
+
} catch (e) {
|
|
19987
|
+
if (!signal.aborted && !isAbortLikeError(e)) {
|
|
19988
|
+
const message = errors_getErrorMessage(e);
|
|
19989
|
+
state.lastError = message;
|
|
19990
|
+
state.updatedAt = Date.now();
|
|
19991
|
+
}
|
|
19992
|
+
} finally{
|
|
19993
|
+
state.inFlight = null;
|
|
19994
|
+
}
|
|
19995
|
+
})();
|
|
19996
|
+
await state.inFlight;
|
|
19997
|
+
};
|
|
19998
|
+
const ensureLoaded = async (query, signal)=>{
|
|
19999
|
+
const state = getState(query);
|
|
20000
|
+
const isStale = Date.now() - state.updatedAt > staleTimeMs;
|
|
20001
|
+
if (0 === state.items.length) {
|
|
20002
|
+
await waitForDebounce(debounceMs, signal);
|
|
20003
|
+
await fetchPage(query, signal, {
|
|
20004
|
+
cursor: void 0,
|
|
20005
|
+
reset: false
|
|
20006
|
+
});
|
|
20007
|
+
} else if (state.lastError) {
|
|
20008
|
+
await waitForDebounce(debounceMs, signal);
|
|
20009
|
+
await fetchPage(query, signal, {
|
|
20010
|
+
cursor: void 0,
|
|
20011
|
+
reset: true
|
|
20012
|
+
});
|
|
20013
|
+
} else if (isStale) {
|
|
20014
|
+
await waitForDebounce(debounceMs, signal);
|
|
20015
|
+
await fetchPage(query, signal, {
|
|
20016
|
+
cursor: void 0,
|
|
20017
|
+
reset: true
|
|
20018
|
+
});
|
|
20019
|
+
}
|
|
20020
|
+
let pagesLoaded = 0;
|
|
20021
|
+
while(state.nextCursor && pagesLoaded < maxAutoPagesPerCall){
|
|
20022
|
+
if (signal.aborted) throw new Error("aborted");
|
|
20023
|
+
const cursor = state.nextCursor;
|
|
20024
|
+
await fetchPage(query, signal, {
|
|
20025
|
+
cursor,
|
|
20026
|
+
reset: false
|
|
20027
|
+
});
|
|
20028
|
+
pagesLoaded += 1;
|
|
20029
|
+
}
|
|
20030
|
+
};
|
|
20031
|
+
return {
|
|
20032
|
+
source: async (term, { signal })=>{
|
|
20033
|
+
const query = normalizePickerQuery(term) || initialQuery;
|
|
20034
|
+
if (signal.aborted) return [];
|
|
20035
|
+
await ensureLoaded(query, signal);
|
|
20036
|
+
const state = getState(query);
|
|
20037
|
+
if (state.lastError) return [
|
|
20038
|
+
{
|
|
20039
|
+
name: `${external_chalk_default().yellow("Fetch failed")} ${external_chalk_default().gray(`(${state.lastError})`)}`,
|
|
20040
|
+
value: CHECKOUT_ERROR_VALUE,
|
|
20041
|
+
disabled: true
|
|
20042
|
+
}
|
|
20043
|
+
];
|
|
20044
|
+
const summary = state.nextCursor ? external_chalk_default().gray(`Loaded ${state.items.length} apps • more available`) : external_chalk_default().gray(`Loaded ${state.items.length} apps`);
|
|
20045
|
+
const choices = state.items.map((app)=>({
|
|
20046
|
+
name: formatAppPickerLabel(app),
|
|
20047
|
+
value: app.app_id,
|
|
20048
|
+
description: formatLastEdited(app.last_edited)
|
|
20049
|
+
}));
|
|
20050
|
+
choices.unshift({
|
|
20051
|
+
name: summary,
|
|
20052
|
+
value: CHECKOUT_ERROR_VALUE,
|
|
20053
|
+
disabled: true
|
|
20054
|
+
});
|
|
20055
|
+
return choices;
|
|
20056
|
+
}
|
|
20057
|
+
};
|
|
20058
|
+
}
|
|
19882
20059
|
require("inquirer");
|
|
19883
20060
|
require("ora");
|
|
19884
20061
|
const defaultGitAuthDoctorDeps = {
|
|
@@ -20707,6 +20884,7 @@ exports.branchFromEnvironmentVersion = __webpack_exports__.branchFromEnvironment
|
|
|
20707
20884
|
exports.buildGitAuthDoctorReport = __webpack_exports__.buildGitAuthDoctorReport;
|
|
20708
20885
|
exports.checkUncommittedChanges = __webpack_exports__.checkUncommittedChanges;
|
|
20709
20886
|
exports.clearInMemoryTokens = __webpack_exports__.clearInMemoryTokens;
|
|
20887
|
+
exports.createCheckoutPickerSource = __webpack_exports__.createCheckoutPickerSource;
|
|
20710
20888
|
exports.createWatchDiagnostic = __webpack_exports__.createWatchDiagnostic;
|
|
20711
20889
|
exports.createWatchDiagnosticFromMessage = __webpack_exports__.createWatchDiagnosticFromMessage;
|
|
20712
20890
|
exports.deleteConfig = __webpack_exports__.deleteConfig;
|
|
@@ -20799,6 +20977,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
20799
20977
|
"buildGitAuthDoctorReport",
|
|
20800
20978
|
"checkUncommittedChanges",
|
|
20801
20979
|
"clearInMemoryTokens",
|
|
20980
|
+
"createCheckoutPickerSource",
|
|
20802
20981
|
"createWatchDiagnostic",
|
|
20803
20982
|
"createWatchDiagnosticFromMessage",
|
|
20804
20983
|
"deleteConfig",
|