@anvil-works/anvil-cli 0.8.0-dev.0 → 0.8.0-dev.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 (47) hide show
  1. package/README.md +54 -0
  2. package/dist/WatchSession.d.ts.map +1 -1
  3. package/dist/api.d.ts +3 -1
  4. package/dist/api.d.ts.map +1 -1
  5. package/dist/cli.js +1251 -216
  6. package/dist/commands/appDetection.d.ts +68 -1
  7. package/dist/commands/appDetection.d.ts.map +1 -1
  8. package/dist/commands/checkout.d.ts +1 -0
  9. package/dist/commands/checkout.d.ts.map +1 -1
  10. package/dist/commands/create.d.ts +52 -0
  11. package/dist/commands/create.d.ts.map +1 -0
  12. package/dist/commands/db.d.ts.map +1 -1
  13. package/dist/commands/deps.d.ts.map +1 -1
  14. package/dist/commands/env.d.ts +3 -1
  15. package/dist/commands/env.d.ts.map +1 -1
  16. package/dist/commands/index.d.ts +3 -0
  17. package/dist/commands/index.d.ts.map +1 -1
  18. package/dist/commands/repl.d.ts.map +1 -1
  19. package/dist/commands/secret.d.ts +3 -0
  20. package/dist/commands/secret.d.ts.map +1 -0
  21. package/dist/commands/test.d.ts +26 -0
  22. package/dist/commands/test.d.ts.map +1 -0
  23. package/dist/commands/watch.d.ts +1 -25
  24. package/dist/commands/watch.d.ts.map +1 -1
  25. package/dist/config.d.ts +3 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/formTemplateValidation.d.ts.map +1 -1
  28. package/dist/index.js +225 -22
  29. package/dist/program.d.ts.map +1 -1
  30. package/dist/services/anvil-api.d.ts +20 -0
  31. package/dist/services/anvil-api.d.ts.map +1 -1
  32. package/dist/services/db.d.ts +2 -0
  33. package/dist/services/db.d.ts.map +1 -1
  34. package/dist/services/deps.d.ts +5 -2
  35. package/dist/services/deps.d.ts.map +1 -1
  36. package/dist/services/environment.d.ts +4 -0
  37. package/dist/services/environment.d.ts.map +1 -1
  38. package/dist/services/path-open.d.ts +1 -0
  39. package/dist/services/path-open.d.ts.map +1 -1
  40. package/dist/services/repl.d.ts +2 -0
  41. package/dist/services/repl.d.ts.map +1 -1
  42. package/dist/services/secret.d.ts +43 -0
  43. package/dist/services/secret.d.ts.map +1 -0
  44. package/dist/services/server-tests.d.ts +47 -0
  45. package/dist/services/server-tests.d.ts.map +1 -0
  46. package/dist/validateFormTemplateHtml.d.ts.map +1 -1
  47. package/package.json +1 -1
@@ -1,2 +1,69 @@
1
- export declare function resolvePrimaryAppId(projectRoot: string, anvilUrl: string): Promise<string | null>;
1
+ import type { Command } from "commander";
2
+ import { AppIdWithContext } from "../services/anvil-api";
3
+ type FallbackUrlDecision = {
4
+ source: "explicit" | "available-single" | "config" | "default";
5
+ url: string;
6
+ } | {
7
+ source: "available-multiple";
8
+ urls: string[];
9
+ };
10
+ type UsernameDecision = {
11
+ source: "none";
12
+ } | {
13
+ source: "single";
14
+ username: string;
15
+ } | {
16
+ source: "multiple";
17
+ usernames: string[];
18
+ };
19
+ export declare function decideFallbackUrl(explicitUrl?: string, availableUrls?: string[]): Promise<FallbackUrlDecision>;
20
+ export declare function decideUsernameForUrl(accounts: string[]): UsernameDecision;
21
+ export declare function confirmReverseLookupWithResolvedUser(anvilUrl: string, username?: string): Promise<{
22
+ username?: string;
23
+ shouldContinue: boolean;
24
+ } | null>;
25
+ export declare function selectAppId(candidates: AppIdWithContext[]): Promise<AppIdWithContext | null>;
26
+ /** The user cancelled a prompt while choosing the app, server or account. */
27
+ export declare class AppAccountCancelledError extends Error {
28
+ constructor();
29
+ }
30
+ /** No app was found or entered. */
31
+ export declare class NoAppIdError extends Error {
32
+ constructor();
33
+ }
34
+ export interface ResolveAppAccountOptions {
35
+ /** An explicit app ID, as from `--appid`. */
36
+ appId?: string;
37
+ /** An explicit Anvil URL, as from `--url`. */
38
+ url?: string;
39
+ /** An explicit account, as from `--user`. */
40
+ user?: string;
41
+ /** Use the first app found without asking, as from `--first`. */
42
+ useFirst?: boolean;
43
+ }
44
+ export interface AppAccount {
45
+ appId: string;
46
+ anvilUrl: string;
47
+ /** Missing if there are no stored accounts for the URL. */
48
+ username?: string;
49
+ }
50
+ /**
51
+ * Choose the checkout's app, and the server and account to use for it: from the git remotes (or a search of the
52
+ * server by commit), then the app's account binding, then explicit options. Prompts where there's a choice to make,
53
+ * so without a terminal it throws instead, asking for explicit options. Saves the account as the app's binding if
54
+ * the user chose one of several.
55
+ * @throws {AppAccountCancelledError} if the user cancels a prompt
56
+ * @throws {NoAppIdError} if no app is found or entered
57
+ */
58
+ export declare function resolveAppAccount(repoPath: string, options?: ResolveAppAccountOptions): Promise<AppAccount>;
59
+ export interface AppAccountCommandOptions {
60
+ appid?: string;
61
+ url?: string;
62
+ user?: string;
63
+ }
64
+ /** Add the options that choose the app, server and account, as `anvil watch` has them. */
65
+ export declare function addAppAccountOptions(command: Command): Command;
66
+ /** The resolveAppAccount options for a command's app, server and account options. */
67
+ export declare function appAccountOptions(options: AppAccountCommandOptions): ResolveAppAccountOptions;
68
+ export {};
2
69
  //# sourceMappingURL=appDetection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"appDetection.d.ts","sourceRoot":"","sources":["../../src/commands/appDetection.ts"],"names":[],"mappings":"AAEA,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYvG"}
1
+ {"version":3,"file":"appDetection.d.ts","sourceRoot":"","sources":["../../src/commands/appDetection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EACH,gBAAgB,EAMnB,MAAM,uBAAuB,CAAC;AAI/B,KAAK,mBAAmB,GAClB;IAAE,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvD,KAAK,gBAAgB,GACf;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAElD,wBAAsB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuBpH;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAQzE;AA6BD,wBAAsB,oCAAoC,CACtD,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,CAehE;AAwBD,wBAAsB,WAAW,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA6FlG;AAED,6EAA6E;AAC7E,qBAAa,wBAAyB,SAAQ,KAAK;;CAIlD;AAED,mCAAmC;AACnC,qBAAa,YAAa,SAAQ,KAAK;;CAItC;AAED,MAAM,WAAW,wBAAwB;IACrC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,UAAU,CAAC,CAsKrH;AAED,MAAM,WAAW,wBAAwB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAK9D;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,wBAAwB,CAE7F"}
@@ -78,6 +78,7 @@ export declare function parseCheckoutInput(input: string): ParsedCheckoutInput;
78
78
  export declare function sanitizeDirectoryName(name: string): string;
79
79
  export declare function getDefaultDestinationDirectory(appId: string, appName?: string): string;
80
80
  export declare function resolveCheckoutUrl(explicitUrl?: string, parsedUrl?: string): Promise<string | null>;
81
+ export declare function resolveCheckoutUrlForApi(explicitUrl?: string, parsedUrl?: string): Promise<string | null>;
81
82
  export declare function isPathInsideGitRepo(targetPath: string): Promise<boolean>;
82
83
  export declare function isDirectoryNonEmpty(destinationPath: string): Promise<boolean>;
83
84
  export declare function validateCheckoutDestination(destinationPath: string, force?: boolean): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/commands/checkout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { Command } from "commander";
2
+ import { createAnvilApp } from "../services/anvil-api";
3
+ import { getAccountsForUrl, getValidAuthToken } from "../services/auth";
4
+ import { runInteractiveLoginFlow } from "../services/oauth-login";
5
+ import { openPathInEditorOrDefault, type CheckoutOptions, type CheckoutResult } from "./checkout";
6
+ export interface CreateOptions {
7
+ name: string;
8
+ directory?: string;
9
+ anvilUrl?: string;
10
+ gitUrl?: string;
11
+ user?: string;
12
+ tags?: string[];
13
+ checkout?: boolean;
14
+ }
15
+ export interface RemoteCreateResult {
16
+ appId: string;
17
+ appName?: string;
18
+ anvilUrl: string;
19
+ username: string;
20
+ tags: string[];
21
+ editorUrl: string;
22
+ }
23
+ export type CreateResult = (CheckoutResult & {
24
+ tags?: string[];
25
+ }) | RemoteCreateResult;
26
+ export interface CreatedAppDetails {
27
+ appId: string;
28
+ appName?: string;
29
+ anvilUrl: string;
30
+ gitUrl?: string;
31
+ destinationPath: string;
32
+ username: string;
33
+ tags: string[];
34
+ }
35
+ /** Creation succeeded; callers should recover this app rather than create another. */
36
+ export declare class CreateCheckoutError extends Error {
37
+ readonly created: CreatedAppDetails;
38
+ constructor(message: string, created: CreatedAppDetails, options?: ErrorOptions);
39
+ }
40
+ export interface CreateExecutionDeps {
41
+ getAccountsForUrl: typeof getAccountsForUrl;
42
+ getValidAuthToken: typeof getValidAuthToken;
43
+ createApp: typeof createAnvilApp;
44
+ checkout: (options: CheckoutOptions) => Promise<CheckoutResult>;
45
+ }
46
+ export declare function executeCreate(options: CreateOptions, deps?: CreateExecutionDeps): Promise<CreateResult>;
47
+ export declare function registerCreateCommand(program: Command, deps?: {
48
+ executeCreate: typeof executeCreate;
49
+ openPath?: typeof openPathInEditorOrDefault;
50
+ login?: typeof runInteractiveLoginFlow;
51
+ }): void;
52
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAGH,yBAAyB,EAMzB,KAAK,eAAe,EACpB,KAAK,cAAc,EACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,cAAc,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,kBAAkB,CAAC;AAEvF,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,sFAAsF;AACtF,qBAAa,mBAAoB,SAAQ,KAAK;aACG,OAAO,EAAE,iBAAiB;gBAA3D,OAAO,EAAE,MAAM,EAAkB,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,YAAY;CAIlG;AAED,MAAM,WAAW,mBAAmB;IAChC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,SAAS,EAAE,OAAO,cAAc,CAAC;IACjC,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CACnE;AAsCD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,GAAE,mBAAiC,GAAG,OAAO,CAAC,YAAY,CAAC,CAoD1H;AA8BD,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE;IACF,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,yBAAyB,CAAC;IAC5C,KAAK,CAAC,EAAE,OAAO,uBAAuB,CAAC;CACtB,GACtB,IAAI,CA8EN"}
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/commands/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2CxD"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/commands/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsCxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/commands/deps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkF1D"}
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/commands/deps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8E1D"}
@@ -1,5 +1,7 @@
1
1
  import { Command } from "commander";
2
- export declare function resolveEnvironmentContext(): Promise<{
2
+ import { ResolveAppAccountOptions } from "./appDetection";
3
+ export declare function resolveEnvironmentContext(options?: ResolveAppAccountOptions): Promise<{
4
+ username?: string | undefined;
3
5
  envPid: string;
4
6
  anvilUrl: string;
5
7
  appId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAsB,yBAAyB;;;;GAe9C;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoDzD"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAKH,wBAAwB,EAC3B,MAAM,gBAAgB,CAAC;AAExB,wBAAsB,yBAAyB,CAAC,OAAO,GAAE,wBAA6B;;;;;GASrF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoDzD"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export { registerWatchCommand } from "./watch";
6
6
  export { registerCheckoutCommand } from "./checkout";
7
+ export { registerCreateCommand } from "./create";
7
8
  export { registerGitCredentialCommand } from "./gitCredential";
8
9
  export { registerGitAuthCommand } from "./gitAuth";
9
10
  export { registerLoginCommand } from "./login";
@@ -16,4 +17,6 @@ export { registerDepsCommand } from "./deps";
16
17
  export { registerDbCommand } from "./db";
17
18
  export { registerEnvCommand } from "./env";
18
19
  export { registerReplCommand } from "./repl";
20
+ export { registerSecretCommand } from "./secret";
21
+ export { registerTestCommand } from "./test";
19
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/commands/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+D1D"}
1
+ {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/commands/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgE1D"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerSecretCommand(program: Command): void;
3
+ //# sourceMappingURL=secret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../../src/commands/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuE5D"}
@@ -0,0 +1,26 @@
1
+ import { Command } from "commander";
2
+ import { GitService } from "../services/git";
3
+ export interface ToServerTestTargetOptions {
4
+ /** The app's root directory, which contains `tests/server_tests`. */
5
+ appRoot: string;
6
+ /** The directory that `target` is relative to. */
7
+ cwd: string;
8
+ }
9
+ /**
10
+ * Convert a test path or pytest node ID, as the user sees it locally, to one relative to the app's `tests` directory,
11
+ * which is what the server expects.
12
+ * @throws {UsageError} if the target isn't in `tests/server_tests`
13
+ */
14
+ export declare function toServerTestTarget(target: string, options: ToServerTestTargetOptions): string;
15
+ export interface CheckCommitOnAnvilOptions {
16
+ fetchUrl: string;
17
+ branch: string;
18
+ commitId: string;
19
+ }
20
+ /**
21
+ * Check that a commit is on the Anvil copy of the branch, at its tip or behind it.
22
+ * @throws {Error} if it isn't, or the branch isn't on Anvil
23
+ */
24
+ export declare function checkCommitOnAnvil(git: GitService, options: CheckCommitOnAnvilOptions): Promise<void>;
25
+ export declare function registerTestCommand(program: Command): void;
26
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiB7C,MAAM,WAAW,yBAAyB;IACtC,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAU7F;AAED,MAAM,WAAW,yBAAyB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAe3G;AAmHD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoB1D"}
@@ -1,30 +1,7 @@
1
1
  import { Command } from "commander";
2
2
  import { WatchSession } from "../WatchSession";
3
- import { AppIdWithContext } from "../api";
4
3
  import { configureCredentialHelperForUrl, setAppAuthBinding } from "../services/git-auth";
5
4
  import { OpenPathDeps } from "../services/path-open";
6
- type FallbackUrlDecision = {
7
- source: "explicit" | "available-single" | "config" | "default";
8
- url: string;
9
- } | {
10
- source: "available-multiple";
11
- urls: string[];
12
- };
13
- type UsernameDecision = {
14
- source: "none";
15
- } | {
16
- source: "single";
17
- username: string;
18
- } | {
19
- source: "multiple";
20
- usernames: string[];
21
- };
22
- export declare function decideFallbackUrl(explicitUrl?: string, availableUrls?: string[]): Promise<FallbackUrlDecision>;
23
- export declare function decideUsernameForUrl(accounts: string[]): UsernameDecision;
24
- export declare function confirmReverseLookupWithResolvedUser(anvilUrl: string, username?: string): Promise<{
25
- username?: string;
26
- shouldContinue: boolean;
27
- } | null>;
28
5
  interface ConfigureWatchGitAuthDeps {
29
6
  configureCredentialHelperForUrl: typeof configureCredentialHelperForUrl;
30
7
  setAppAuthBinding: typeof setAppAuthBinding;
@@ -40,6 +17,7 @@ interface SyncStartDeps {
40
17
  recheckSyncStatus: typeof recheckSyncStatus;
41
18
  startWatchingWithEventHandlers: typeof startWatchingWithEventHandlers;
42
19
  }
20
+ export { confirmReverseLookupWithResolvedUser, decideFallbackUrl, decideUsernameForUrl, selectAppId } from "./appDetection";
43
21
  type WatchSessionHandlerTarget = Pick<WatchSession, "hasUncommittedChanges" | "on" | "forceSave" | "startWatching" | "cleanup">;
44
22
  export declare function resolveWatchOpenPath(repoPath: string): string;
45
23
  export declare function openWatchPath(targetPath: string, deps?: OpenPathDeps): Promise<void>;
@@ -50,7 +28,6 @@ export declare function configureWatchGitAuth(options: {
50
28
  username?: string;
51
29
  }, deps?: ConfigureWatchGitAuthDeps): Promise<void>;
52
30
  export declare function isStaleRemotePushError(message: string): boolean;
53
- export declare function selectAppId(candidates: AppIdWithContext[]): Promise<AppIdWithContext | null>;
54
31
  declare function pushToAnvil(options: {
55
32
  repoPath: string;
56
33
  appId: string;
@@ -101,5 +78,4 @@ export declare function startWatchingWithEventHandlers(session: WatchSessionHand
101
78
  username?: string;
102
79
  }): Promise<void>;
103
80
  export declare function registerWatchCommand(program: Command): Command;
104
- export {};
105
81
  //# sourceMappingURL=watch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -31,10 +31,12 @@ export declare function getAllConfig(): Record<string, any>;
31
31
  * - "https://anvil.works" -> "https://anvil.works" (unchanged)
32
32
  */
33
33
  export declare function normalizeAnvilUrl(urlInput: string): string;
34
+ /** Validate server origins before operations that create remote state. */
35
+ export declare function normalizeAnvilOrigin(input: string): string;
34
36
  /**
35
37
  * Detect Anvil URL and username from git remotes in the repository.
36
38
  * Returns the base URL (without /git/APPID.git) and username if found.
37
- * Uses normalizeAnvilUrl to ensure proper protocol (http for localhost, https for others).
39
+ * Uses normalizeAnvilUrl to add a protocol when one is omitted.
38
40
  * SSH URLs may contain URL-encoded usernames (e.g., stu%40anvil.works = stu@anvil.works).
39
41
  */
40
42
  export declare function detectAnvilUrlFromRemotes(repoPath: string): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,OAAO,EAIH,gBAAgB,EAChB,KAAK,aAAa,EACrB,MAAM,wBAAwB,CAAC;AAQhC,eAAO,MAAM,gBAAgB,qEAAsE,CAAC;AACpG,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAWhE,QAAA,MAAM,kBAAkB,gEAAiE,CAAC;AAC1F,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAGpE,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAuDD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAEvD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAE1C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAa9C;AAED,wBAAgB,WAAW,IAAI,IAAI,CAalC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAiDjE;AAED,wBAAgB,qBAAqB,IAAI,SAAS,iBAAiB,EAAE,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CA2BnE;AAED,wBAAgB,yBAAyB,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAS9E;AA+BD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CA0CjG;AAED,wBAAgB,4BAA4B,IAAI,eAAe,EAAE,CAEhE;AAED,wBAAgB,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4B1D;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA8BpH;AAED,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,KAAK,aAAa,EAAE,CAAC;AAI3E,wBAAgB,eAAe,IAAI,MAAM,CAcxC;AAID,wBAAgB,SAAS,IAAI,OAAO,CASnC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,OAAO,EAIH,gBAAgB,EAChB,KAAK,aAAa,EACrB,MAAM,wBAAwB,CAAC;AAQhC,eAAO,MAAM,gBAAgB,qEAAsE,CAAC;AACpG,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAWhE,QAAA,MAAM,kBAAkB,gEAAiE,CAAC;AAC1F,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAGpE,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAuDD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAEvD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAE1C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAa9C;AAED,wBAAgB,WAAW,IAAI,IAAI,CAalC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAiDjE;AAED,wBAAgB,qBAAqB,IAAI,SAAS,iBAAiB,EAAE,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CA2BnE;AAED,wBAAgB,yBAAyB,CAAC,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAS9E;AA+BD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CA0CjG;AAED,wBAAgB,4BAA4B,IAAI,eAAe,EAAE,CAEhE;AAED,wBAAgB,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAyB1D;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAc1D;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA8BpH;AAED,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,KAAK,aAAa,EAAE,CAAC;AAI3E,wBAAgB,eAAe,IAAI,MAAM,CAcxC;AAID,wBAAgB,SAAS,IAAI,OAAO,CASnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formTemplateValidation.d.ts","sourceRoot":"","sources":["../src/formTemplateValidation.ts"],"names":[],"mappings":"AAIA,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAgSF,KAAK,uBAAuB,GAAG,sBAAsB,GAAG,cAAc,CAAC;AAMvE,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IACL,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC3B,GACP,eAAe,EAAE,CAsInB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAmF1E"}
1
+ {"version":3,"file":"formTemplateValidation.d.ts","sourceRoot":"","sources":["../src/formTemplateValidation.ts"],"names":[],"mappings":"AAIA,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAgSF,KAAK,uBAAuB,GAAG,sBAAsB,GAAG,cAAc,CAAC;AAMvE,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IACL,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC3B,GACP,eAAe,EAAE,CA4InB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAmF1E"}