@alwaysmeticulous/cli 2.303.1 → 2.305.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 (181) hide show
  1. package/dist/command-utils/common-options.d.ts +5 -0
  2. package/dist/command-utils/common-options.d.ts.map +1 -1
  3. package/dist/command-utils/common-options.js +7 -2
  4. package/dist/command-utils/common-options.js.map +1 -1
  5. package/dist/command-utils/json-args.d.ts +14 -0
  6. package/dist/command-utils/json-args.d.ts.map +1 -0
  7. package/dist/command-utils/json-args.js +40 -0
  8. package/dist/command-utils/json-args.js.map +1 -0
  9. package/dist/command-utils/json-args.spec.d.ts +2 -0
  10. package/dist/command-utils/json-args.spec.d.ts.map +1 -0
  11. package/dist/command-utils/json-args.spec.js +37 -0
  12. package/dist/command-utils/json-args.spec.js.map +1 -0
  13. package/dist/command-utils/print-json.d.ts +7 -0
  14. package/dist/command-utils/print-json.d.ts.map +1 -0
  15. package/dist/command-utils/print-json.js +16 -0
  16. package/dist/command-utils/print-json.js.map +1 -0
  17. package/dist/commands/agent/build-git-options.d.ts +25 -20
  18. package/dist/commands/agent/build-git-options.d.ts.map +1 -1
  19. package/dist/commands/agent/build-git-options.js +62 -54
  20. package/dist/commands/agent/build-git-options.js.map +1 -1
  21. package/dist/commands/agent/build-git-options.spec.js +96 -62
  22. package/dist/commands/agent/build-git-options.spec.js.map +1 -1
  23. package/dist/commands/agent/index.d.ts.map +1 -1
  24. package/dist/commands/agent/index.js +11 -4
  25. package/dist/commands/agent/index.js.map +1 -1
  26. package/dist/commands/agent/js-coverage-diff.command.d.ts +1 -1
  27. package/dist/commands/agent/js-coverage-diff.command.d.ts.map +1 -1
  28. package/dist/commands/agent/js-coverage-diff.command.js +31 -38
  29. package/dist/commands/agent/js-coverage-diff.command.js.map +1 -1
  30. package/dist/commands/agent/js-coverage.command.d.ts +7 -4
  31. package/dist/commands/agent/js-coverage.command.d.ts.map +1 -1
  32. package/dist/commands/agent/js-coverage.command.js +104 -66
  33. package/dist/commands/agent/js-coverage.command.js.map +1 -1
  34. package/dist/commands/agent/js-coverage.command.spec.js +48 -2
  35. package/dist/commands/agent/js-coverage.command.spec.js.map +1 -1
  36. package/dist/commands/agent/screenshot-dom-diff.command.d.ts +1 -0
  37. package/dist/commands/agent/screenshot-dom-diff.command.d.ts.map +1 -1
  38. package/dist/commands/agent/screenshot-dom-diff.command.js +26 -18
  39. package/dist/commands/agent/screenshot-dom-diff.command.js.map +1 -1
  40. package/dist/commands/agent/screenshot-image-files.command.d.ts +1 -0
  41. package/dist/commands/agent/screenshot-image-files.command.d.ts.map +1 -1
  42. package/dist/commands/agent/screenshot-image-files.command.js +18 -5
  43. package/dist/commands/agent/screenshot-image-files.command.js.map +1 -1
  44. package/dist/commands/agent/screenshot-image.command.d.ts +1 -0
  45. package/dist/commands/agent/screenshot-image.command.d.ts.map +1 -1
  46. package/dist/commands/agent/screenshot-image.command.js +9 -4
  47. package/dist/commands/agent/screenshot-image.command.js.map +1 -1
  48. package/dist/commands/agent/test-run-diffs.command.d.ts +1 -0
  49. package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
  50. package/dist/commands/agent/test-run-diffs.command.js +40 -24
  51. package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
  52. package/dist/commands/agent/test-run-diffs.utils.d.ts +7 -0
  53. package/dist/commands/agent/test-run-diffs.utils.d.ts.map +1 -1
  54. package/dist/commands/agent/test-run-diffs.utils.js +48 -3
  55. package/dist/commands/agent/test-run-diffs.utils.js.map +1 -1
  56. package/dist/commands/agent/test-run-diffs.utils.spec.js +145 -2
  57. package/dist/commands/agent/test-run-diffs.utils.spec.js.map +1 -1
  58. package/dist/commands/agent/test-run-for-commit.command.d.ts.map +1 -1
  59. package/dist/commands/agent/test-run-for-commit.command.js +12 -14
  60. package/dist/commands/agent/test-run-for-commit.command.js.map +1 -1
  61. package/dist/commands/agent/timeline.command.d.ts +1 -0
  62. package/dist/commands/agent/timeline.command.d.ts.map +1 -1
  63. package/dist/commands/agent/timeline.command.js +21 -7
  64. package/dist/commands/agent/timeline.command.js.map +1 -1
  65. package/dist/commands/agent/timeline.command.spec.d.ts +2 -0
  66. package/dist/commands/agent/timeline.command.spec.d.ts.map +1 -0
  67. package/dist/commands/agent/timeline.command.spec.js +77 -0
  68. package/dist/commands/agent/timeline.command.spec.js.map +1 -0
  69. package/dist/commands/agent/trigger-test-run.command.d.ts +27 -1
  70. package/dist/commands/agent/trigger-test-run.command.d.ts.map +1 -1
  71. package/dist/commands/agent/trigger-test-run.command.js +64 -53
  72. package/dist/commands/agent/trigger-test-run.command.js.map +1 -1
  73. package/dist/commands/agent/trigger-test-run.command.spec.d.ts +2 -0
  74. package/dist/commands/agent/trigger-test-run.command.spec.d.ts.map +1 -0
  75. package/dist/commands/agent/trigger-test-run.command.spec.js +88 -0
  76. package/dist/commands/agent/trigger-test-run.command.spec.js.map +1 -0
  77. package/dist/commands/agent/upload-build.command.d.ts +0 -1
  78. package/dist/commands/agent/upload-build.command.d.ts.map +1 -1
  79. package/dist/commands/agent/upload-build.command.js +12 -17
  80. package/dist/commands/agent/upload-build.command.js.map +1 -1
  81. package/dist/commands/all-commands.d.ts +38 -0
  82. package/dist/commands/all-commands.d.ts.map +1 -0
  83. package/dist/commands/all-commands.js +65 -0
  84. package/dist/commands/all-commands.js.map +1 -0
  85. package/dist/commands/auth/__tests__/list-projects.command.spec.js +22 -12
  86. package/dist/commands/auth/__tests__/list-projects.command.spec.js.map +1 -1
  87. package/dist/commands/auth/__tests__/login.command.spec.js +9 -7
  88. package/dist/commands/auth/__tests__/login.command.spec.js.map +1 -1
  89. package/dist/commands/auth/__tests__/logout.command.spec.js +4 -8
  90. package/dist/commands/auth/__tests__/logout.command.spec.js.map +1 -1
  91. package/dist/commands/auth/__tests__/whoami.command.spec.js +71 -21
  92. package/dist/commands/auth/__tests__/whoami.command.spec.js.map +1 -1
  93. package/dist/commands/auth/list-projects.command.d.ts.map +1 -1
  94. package/dist/commands/auth/list-projects.command.js +17 -14
  95. package/dist/commands/auth/list-projects.command.js.map +1 -1
  96. package/dist/commands/auth/login.command.d.ts.map +1 -1
  97. package/dist/commands/auth/login.command.js +4 -5
  98. package/dist/commands/auth/login.command.js.map +1 -1
  99. package/dist/commands/auth/logout.command.d.ts +1 -5
  100. package/dist/commands/auth/logout.command.d.ts.map +1 -1
  101. package/dist/commands/auth/logout.command.js +4 -9
  102. package/dist/commands/auth/logout.command.js.map +1 -1
  103. package/dist/commands/auth/set-project.command.d.ts.map +1 -1
  104. package/dist/commands/auth/set-project.command.js +7 -5
  105. package/dist/commands/auth/set-project.command.js.map +1 -1
  106. package/dist/commands/auth/unset-project.command.js +5 -5
  107. package/dist/commands/auth/unset-project.command.js.map +1 -1
  108. package/dist/commands/auth/whoami.command.d.ts +5 -1
  109. package/dist/commands/auth/whoami.command.d.ts.map +1 -1
  110. package/dist/commands/auth/whoami.command.js +75 -32
  111. package/dist/commands/auth/whoami.command.js.map +1 -1
  112. package/dist/commands/ci/prepare.command.d.ts.map +1 -1
  113. package/dist/commands/ci/prepare.command.js +3 -2
  114. package/dist/commands/ci/prepare.command.js.map +1 -1
  115. package/dist/commands/ci/run-local.command.d.ts.map +1 -1
  116. package/dist/commands/ci/run-local.command.js +6 -4
  117. package/dist/commands/ci/run-local.command.js.map +1 -1
  118. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.d.ts.map +1 -1
  119. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js +6 -3
  120. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js.map +1 -1
  121. package/dist/commands/ci/run.command.d.ts.map +1 -1
  122. package/dist/commands/ci/run.command.js +3 -2
  123. package/dist/commands/ci/run.command.js.map +1 -1
  124. package/dist/commands/ci/start-tunnel.command.d.ts.map +1 -1
  125. package/dist/commands/ci/start-tunnel.command.js +4 -2
  126. package/dist/commands/ci/start-tunnel.command.js.map +1 -1
  127. package/dist/commands/ci/trigger-test-run.core.d.ts.map +1 -1
  128. package/dist/commands/ci/trigger-test-run.core.js +6 -3
  129. package/dist/commands/ci/trigger-test-run.core.js.map +1 -1
  130. package/dist/commands/ci/upload-assets.command.d.ts +1 -0
  131. package/dist/commands/ci/upload-assets.command.d.ts.map +1 -1
  132. package/dist/commands/ci/upload-assets.command.js +3 -2
  133. package/dist/commands/ci/upload-assets.command.js.map +1 -1
  134. package/dist/commands/ci/upload-container.command.d.ts +1 -0
  135. package/dist/commands/ci/upload-container.command.d.ts.map +1 -1
  136. package/dist/commands/ci/upload-container.command.js +3 -2
  137. package/dist/commands/ci/upload-container.command.js.map +1 -1
  138. package/dist/commands/debug/index.d.ts.map +1 -1
  139. package/dist/commands/debug/index.js +43 -36
  140. package/dist/commands/debug/index.js.map +1 -1
  141. package/dist/commands/local/relevant-sessions.command.d.ts.map +1 -1
  142. package/dist/commands/local/relevant-sessions.command.js +6 -3
  143. package/dist/commands/local/relevant-sessions.command.js.map +1 -1
  144. package/dist/commands/project/show.command.d.ts.map +1 -1
  145. package/dist/commands/project/show.command.js +6 -3
  146. package/dist/commands/project/show.command.js.map +1 -1
  147. package/dist/commands/record/__tests__/login.command.spec.d.ts +2 -0
  148. package/dist/commands/record/__tests__/login.command.spec.d.ts.map +1 -0
  149. package/dist/commands/record/__tests__/login.command.spec.js +72 -0
  150. package/dist/commands/record/__tests__/login.command.spec.js.map +1 -0
  151. package/dist/commands/record/__tests__/session.command.spec.d.ts +2 -0
  152. package/dist/commands/record/__tests__/session.command.spec.d.ts.map +1 -0
  153. package/dist/commands/record/__tests__/session.command.spec.js +86 -0
  154. package/dist/commands/record/__tests__/session.command.spec.js.map +1 -0
  155. package/dist/commands/record/login.command.d.ts.map +1 -1
  156. package/dist/commands/record/login.command.js +9 -3
  157. package/dist/commands/record/login.command.js.map +1 -1
  158. package/dist/commands/record/session.command.d.ts.map +1 -1
  159. package/dist/commands/record/session.command.js +9 -3
  160. package/dist/commands/record/session.command.js.map +1 -1
  161. package/dist/commands/replay.command.d.ts.map +1 -1
  162. package/dist/commands/replay.command.js +11 -15
  163. package/dist/commands/replay.command.js.map +1 -1
  164. package/dist/commands/schema.command.d.ts +53 -0
  165. package/dist/commands/schema.command.d.ts.map +1 -1
  166. package/dist/commands/schema.command.js +232 -106
  167. package/dist/commands/schema.command.js.map +1 -1
  168. package/dist/commands/schema.command.spec.d.ts +2 -0
  169. package/dist/commands/schema.command.spec.d.ts.map +1 -0
  170. package/dist/commands/schema.command.spec.js +198 -0
  171. package/dist/commands/schema.command.spec.js.map +1 -0
  172. package/dist/main.d.ts.map +1 -1
  173. package/dist/main.js +60 -48
  174. package/dist/main.js.map +1 -1
  175. package/dist/utils/__tests__/select-project.spec.js +6 -12
  176. package/dist/utils/__tests__/select-project.spec.js.map +1 -1
  177. package/dist/utils/select-project.d.ts +1 -3
  178. package/dist/utils/select-project.d.ts.map +1 -1
  179. package/dist/utils/select-project.js +6 -5
  180. package/dist/utils/select-project.js.map +1 -1
  181. package/package.json +9 -9
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="59faeee0-6d57-517e-9902-72cbe19e7656")}catch(e){}}();
3
+
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const vitest_1 = require("vitest");
6
+ const schema_command_1 = require("./schema.command");
7
+ const asNode = (result) => {
8
+ if (Array.isArray(result)) {
9
+ throw new Error("Expected a single command node, got an array");
10
+ }
11
+ return result;
12
+ };
13
+ (0, vitest_1.describe)("generateSchema", () => {
14
+ (0, vitest_1.test)("top-level list includes the canonical commands without options", () => {
15
+ const result = (0, schema_command_1.generateSchema)();
16
+ (0, vitest_1.expect)(Array.isArray(result)).toBe(true);
17
+ const names = result.map((n) => n.command);
18
+ (0, vitest_1.expect)(names).toEqual(vitest_1.expect.arrayContaining(["agent", "auth", "record", "simulate"]));
19
+ // Groups/top-level nodes only expose the name tree, not options.
20
+ for (const node of result) {
21
+ (0, vitest_1.expect)(node.options).toBeUndefined();
22
+ }
23
+ });
24
+ (0, vitest_1.test)("a leaf command reports global, inherited group, and own options", () => {
25
+ const node = asNode((0, schema_command_1.generateSchema)(["agent", "trigger-test-run"]));
26
+ const options = node.options ?? {};
27
+ // Own option.
28
+ (0, vitest_1.expect)(options).toHaveProperty("commitSha");
29
+ // Inherited from the agent group builder.
30
+ (0, vitest_1.expect)(options).toHaveProperty("verbose");
31
+ (0, vitest_1.expect)(options).toHaveProperty("json");
32
+ // Global options attached to the root yargs instance.
33
+ (0, vitest_1.expect)(options).toHaveProperty("jsonArgs");
34
+ (0, vitest_1.expect)(options).toHaveProperty("dataDir");
35
+ (0, vitest_1.expect)(options).toHaveProperty("logLevel");
36
+ });
37
+ (0, vitest_1.test)("a leaf command with no builder still reports the global options", () => {
38
+ // Guards against auth logout (which has no builder) dropping its options.
39
+ const node = asNode((0, schema_command_1.generateSchema)(["auth", "logout"]));
40
+ const options = node.options ?? {};
41
+ (0, vitest_1.expect)(options).toHaveProperty("jsonArgs");
42
+ (0, vitest_1.expect)(options).toHaveProperty("dataDir");
43
+ (0, vitest_1.expect)(options).toHaveProperty("logLevel");
44
+ });
45
+ (0, vitest_1.test)("--dryRun is per-command, not a global option", () => {
46
+ // It used to be accepted on every command; it's now declared only on the
47
+ // commands that act on it. auth logout (no builder) must not advertise it,
48
+ // and .strict() means passing it there is now rejected at runtime.
49
+ const logout = asNode((0, schema_command_1.generateSchema)(["auth", "logout"]));
50
+ (0, vitest_1.expect)(logout.options).not.toHaveProperty("dryRun");
51
+ // A command that does implement it still reports it.
52
+ const trigger = asNode((0, schema_command_1.generateSchema)(["agent", "trigger-test-run"]));
53
+ (0, vitest_1.expect)(trigger.options).toHaveProperty("dryRun");
54
+ });
55
+ (0, vitest_1.test)("global logLevel keeps its string type in the schema", () => {
56
+ const node = asNode((0, schema_command_1.generateSchema)(["auth", "logout"]));
57
+ (0, vitest_1.expect)(node.options?.logLevel?.type).toBe("string");
58
+ });
59
+ (0, vitest_1.test)("the deprecated --rawJson alias is flagged as deprecated", () => {
60
+ const node = asNode((0, schema_command_1.generateSchema)(["auth", "logout"]));
61
+ (0, vitest_1.expect)(node.options?.rawJson?.deprecated).toBeTruthy();
62
+ });
63
+ (0, vitest_1.test)("resolves a command by its alias", () => {
64
+ // `simulate` is aliased as `replay`.
65
+ const node = asNode((0, schema_command_1.generateSchema)(["replay"]));
66
+ (0, vitest_1.expect)(node.command).toBe("simulate");
67
+ (0, vitest_1.expect)(node.aliases).toContain("replay");
68
+ (0, vitest_1.expect)(node.options).toBeDefined();
69
+ });
70
+ (0, vitest_1.test)("throws a helpful error for an unknown command", () => {
71
+ (0, vitest_1.expect)(() => (0, schema_command_1.generateSchema)(["not-a-command"])).toThrow(/Command not found/);
72
+ });
73
+ });
74
+ (0, vitest_1.describe)("resolveJsonArgsTarget", () => {
75
+ const leafKeys = (path) => {
76
+ const target = (0, schema_command_1.resolveJsonArgsTarget)(path);
77
+ if (target.kind !== "leaf") {
78
+ throw new Error(`Expected a leaf for ${path.join(" ")}, got ${target.kind}`);
79
+ }
80
+ return target.keys;
81
+ };
82
+ (0, vitest_1.test)("resolves a leaf command's own + inherited group + global options", () => {
83
+ const keys = leafKeys(["agent", "trigger-test-run"]);
84
+ (0, vitest_1.expect)(keys.has("commitSha")).toBe(true); // own
85
+ (0, vitest_1.expect)(keys.has("dryRun")).toBe(true); // own
86
+ (0, vitest_1.expect)(keys.has("verbose")).toBe(true); // inherited from the agent group
87
+ (0, vitest_1.expect)(keys.has("json")).toBe(true); // inherited from the agent group
88
+ (0, vitest_1.expect)(keys.has("jsonArgs")).toBe(true); // global
89
+ });
90
+ (0, vitest_1.test)("only accepts the invoked command's options, matching .strict()", () => {
91
+ // auth logout does not declare --dryRun, so --jsonArgs must reject it too
92
+ // (it used to slip through when validated against the union of all commands).
93
+ const logout = leafKeys(["auth", "logout"]);
94
+ (0, vitest_1.expect)(logout.has("dryRun")).toBe(false);
95
+ (0, vitest_1.expect)(logout.has("sessionId")).toBe(false);
96
+ // ...but the global flags are still accepted.
97
+ (0, vitest_1.expect)(logout.has("jsonArgs")).toBe(true);
98
+ (0, vitest_1.expect)(logout.has("logLevel")).toBe(true);
99
+ });
100
+ (0, vitest_1.test)("includes hidden (describe:false) commands' options", () => {
101
+ // `ci start-tunnel` is super-user-gated (describe:false by default), but its
102
+ // flags must still be accepted via --jsonArgs.
103
+ const keys = leafKeys(["ci", "start-tunnel"]);
104
+ (0, vitest_1.expect)(keys.has("port")).toBe(true);
105
+ (0, vitest_1.expect)(keys.has("host")).toBe(true);
106
+ (0, vitest_1.expect)(keys.has("subdomain")).toBe(true);
107
+ });
108
+ (0, vitest_1.test)("resolves a command by its alias", () => {
109
+ // `simulate` is aliased as `replay`.
110
+ (0, vitest_1.expect)(leafKeys(["replay"]).has("sessionId")).toBe(true);
111
+ });
112
+ (0, vitest_1.test)("accepts only canonical option names, not their aliases", () => {
113
+ // Merging --jsonArgs sets exactly the key given and handlers read the
114
+ // canonical name, so an alias key would be silently dropped — it's rejected
115
+ // instead. (start-tunnel's `port`/alias `p`; simulate's `takeSnapshots`/
116
+ // alias `screenshot`.)
117
+ const tunnel = leafKeys(["ci", "start-tunnel"]);
118
+ (0, vitest_1.expect)(tunnel.has("port")).toBe(true);
119
+ (0, vitest_1.expect)(tunnel.has("p")).toBe(false);
120
+ const simulate = leafKeys(["simulate"]);
121
+ (0, vitest_1.expect)(simulate.has("takeSnapshots")).toBe(true);
122
+ (0, vitest_1.expect)(simulate.has("screenshot")).toBe(false);
123
+ });
124
+ (0, vitest_1.test)("resolves a leaf whose positional/options come from an object builder", () => {
125
+ // debug's subcommands were converted from function to object builders so the
126
+ // walker captures their options and positional (previously classified as an
127
+ // unresolvable command).
128
+ const keys = leafKeys(["debug", "replay-diff"]);
129
+ (0, vitest_1.expect)(keys.has("replayDiffId")).toBe(true); // positional
130
+ (0, vitest_1.expect)(keys.has("sessionId")).toBe(true); // own option
131
+ (0, vitest_1.expect)(keys.has("apiToken")).toBe(true); // shared option
132
+ });
133
+ (0, vitest_1.test)("resolves hidden deprecated top-level aliases to their target's options", () => {
134
+ // `run-all-tests-in-cloud` is a hidden alias of `ci run-with-tunnel`,
135
+ // registered outside CLI_COMMANDS. It must resolve to that command's options
136
+ // (not fall back to the permissive union), so --jsonArgs is as strict there.
137
+ const keys = leafKeys(["run-all-tests-in-cloud"]);
138
+ (0, vitest_1.expect)(keys.has("appUrl")).toBe(true); // real ci run-with-tunnel option
139
+ (0, vitest_1.expect)(keys.has("sessionId")).toBe(false); // not an option there
140
+ (0, vitest_1.expect)(keys.has("verbose")).toBe(false); // agent-group-only, not here
141
+ });
142
+ (0, vitest_1.test)("accepts a command's positional args as keys (e.g. schema's [command..])", () => {
143
+ // `schema [command..]` exposes the positional on argv as `command`, so
144
+ // `schema --jsonArgs '{"command":[...]}'` must be allowed even though
145
+ // `command` isn't a declared option.
146
+ const keys = leafKeys(["schema"]);
147
+ (0, vitest_1.expect)(keys.has("command")).toBe(true);
148
+ (0, vitest_1.expect)(keys.has("jsonArgs")).toBe(true); // global still present
149
+ });
150
+ (0, vitest_1.test)("classifies a command group (command space) as 'group', not a leaf", () => {
151
+ // --jsonArgs has no single command to apply to on a group, so the caller
152
+ // rejects it rather than validating/merging.
153
+ (0, vitest_1.expect)((0, schema_command_1.resolveJsonArgsTarget)(["agent"])).toEqual({
154
+ kind: "group",
155
+ name: "agent",
156
+ });
157
+ // A positional under a group stops at the group too.
158
+ (0, vitest_1.expect)((0, schema_command_1.resolveJsonArgsTarget)(["agent", "not-a-subcommand"])).toEqual({
159
+ kind: "group",
160
+ name: "agent",
161
+ });
162
+ });
163
+ (0, vitest_1.test)("classifies an unknown or empty command path as 'unknown' (no keys, caller rejects)", () => {
164
+ (0, vitest_1.expect)((0, schema_command_1.resolveJsonArgsTarget)(["not-a-command"])).toEqual({
165
+ kind: "unknown",
166
+ });
167
+ (0, vitest_1.expect)((0, schema_command_1.resolveJsonArgsTarget)([])).toEqual({ kind: "unknown" });
168
+ });
169
+ (0, vitest_1.test)("never surfaces a malformed or prototype-polluting key", () => {
170
+ // Exercises the walker across the tricky cases: a group-inheriting leaf,
171
+ // globals-only, a hidden command, a kebab-case option name, and a
172
+ // positional (from an object builder).
173
+ const paths = [
174
+ ["agent", "trigger-test-run"],
175
+ ["auth", "logout"],
176
+ ["ci", "start-tunnel"],
177
+ ["simulate"],
178
+ ["local", "relevant-sessions"],
179
+ ["debug", "replay-diff"],
180
+ ];
181
+ for (const path of paths) {
182
+ for (const key of leafKeys(path)) {
183
+ (0, vitest_1.expect)(key).toMatch(/^[a-zA-Z][a-zA-Z0-9-]*$/);
184
+ }
185
+ for (const forbidden of [
186
+ "__proto__",
187
+ "constructor",
188
+ "prototype",
189
+ "_",
190
+ "$0",
191
+ ]) {
192
+ (0, vitest_1.expect)(leafKeys(path).has(forbidden)).toBe(false);
193
+ }
194
+ }
195
+ });
196
+ });
197
+ //# sourceMappingURL=schema.command.spec.js.map
198
+ //# debugId=59faeee0-6d57-517e-9902-72cbe19e7656
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.command.spec.js","sources":["../../src/commands/schema.command.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"59faeee0-6d57-517e-9902-72cbe19e7656"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,IAAI,QAAa,OAAO,CAAC,IAAI,CAyEzC,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,IAAI,QAAa,OAAO,CAAC,IAAI,CA6FzC,CAAC"}
package/dist/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f8872d18-9d77-599e-805f-5c2c0850a09c")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2bdd198d-b8de-5529-aca1-898e94712e3a")}catch(e){}}();
3
3
 
4
4
  var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10,18 +10,12 @@ const path_1 = require("path");
10
10
  const common_1 = require("@alwaysmeticulous/common");
11
11
  const sentry_1 = require("@alwaysmeticulous/sentry");
12
12
  const yargs_1 = __importDefault(require("yargs"));
13
+ const json_args_1 = require("./command-utils/json-args");
13
14
  const sentry_utils_1 = require("./command-utils/sentry.utils");
14
- const index_1 = require("./commands/agent/index");
15
- const index_2 = require("./commands/auth/index");
16
- const index_3 = require("./commands/ci/index");
17
- const index_4 = require("./commands/debug/index");
15
+ const all_commands_1 = require("./commands/all-commands");
18
16
  const deprecated_aliases_1 = require("./commands/deprecated-aliases");
19
- const index_5 = require("./commands/download/index");
20
- const local_1 = require("./commands/local");
21
- const index_6 = require("./commands/project/index");
22
- const index_7 = require("./commands/record/index");
23
- const replay_command_1 = require("./commands/replay.command");
24
17
  const schema_command_1 = require("./commands/schema.command");
18
+ const cli_user_error_1 = require("./utils/cli-user-error");
25
19
  const handleDataDir = (dataDir) => {
26
20
  (0, common_1.setMeticulousLocalDataDir)(dataDir);
27
21
  };
@@ -30,51 +24,69 @@ const main = async () => {
30
24
  const packageJsonPath = (0, path_1.normalize)((0, path_1.join)(__dirname, "../package.json"));
31
25
  const meticulousVersion = await (0, common_1.getMeticulousVersion)(packageJsonPath);
32
26
  await (0, sentry_1.initSentry)(meticulousVersion);
33
- const cli = yargs_1.default
34
- .scriptName("meticulous")
35
- .usage(`$0 <command>
27
+ const cli = yargs_1.default.scriptName("meticulous").usage(`$0 <command>
36
28
 
37
- Meticulous CLI`)
38
- .command(index_1.agentCommand)
39
- .command(index_2.authCommand)
40
- .command(index_3.ciCommand)
41
- .command(index_4.debugCommand)
42
- .command(index_5.downloadCommand)
43
- .command(local_1.localCommand)
44
- .command(index_6.projectCommand)
45
- .command(index_7.recordCommand)
46
- .command(replay_command_1.replayCommand)
47
- .command(schema_command_1.schemaCommand);
48
- for (const alias of deprecated_aliases_1.deprecatedAliases) {
49
- cli.command(alias);
29
+ Meticulous CLI`);
30
+ // `schemaCommand` and the deprecated aliases are registered alongside the
31
+ // canonical `CLI_COMMANDS` (see all-commands.ts for why they live apart).
32
+ for (const command of [
33
+ ...all_commands_1.CLI_COMMANDS,
34
+ schema_command_1.schemaCommand,
35
+ ...deprecated_aliases_1.deprecatedAliases,
36
+ ]) {
37
+ cli.command(command);
50
38
  }
51
39
  await cli
52
40
  .help()
53
41
  .strict()
54
42
  .demandCommand()
55
- .option({
56
- logLevel: {
57
- choices: ["trace", "debug", "info", "warn", "error", "silent"],
58
- description: "Log level",
59
- },
60
- dataDir: {
61
- string: true,
62
- description: "Where Meticulous stores data (sessions, replays, etc.)",
63
- },
64
- rawJson: {
65
- string: true,
66
- description: "Pass all options as a JSON string (for agent/programmatic use)",
67
- },
68
- dryRun: {
69
- boolean: true,
70
- description: "Print what the command would do without making any changes",
71
- default: false,
72
- },
73
- })
43
+ // yargs renders help groups in creation order, and the default "Options:"
44
+ // group (which holds each command's own options) is otherwise created last,
45
+ // at render time so the global options below would float above a command's
46
+ // own. Seeding "Options:" with a hidden no-op option registers it first,
47
+ // pushing "Global Options:" beneath each command's own options.
48
+ //
49
+ // A hidden seed is used deliberately: re-grouping a *visible* key (e.g.
50
+ // `help`) into "Options:" and then into "Global Options:" makes yargs 17
51
+ // render it in both groups, so only a hidden phantom seeds the group
52
+ // cleanly. This relies on yargs creating groups lazily in call order; if a
53
+ // future yargs changes that timing the two groups could reorder (a cosmetic
54
+ // help-layout regression only no behavioural impact).
55
+ .option("_globalOptionsSeed", { hidden: true, boolean: true })
56
+ .group(["_globalOptionsSeed"], "Options:")
57
+ .option(all_commands_1.GLOBAL_OPTIONS)
58
+ .group([...Object.keys(all_commands_1.GLOBAL_OPTIONS), "help", "version"], "Global Options:")
74
59
  .middleware([
75
60
  (argv) => {
76
- if (argv.rawJson) {
77
- Object.assign(argv, JSON.parse(argv.rawJson));
61
+ if (argv.rawJson != null) {
62
+ (0, common_1.logNotice)("--rawJson is deprecated; use --jsonArgs instead.");
63
+ }
64
+ const jsonArgs = argv.jsonArgs ?? argv.rawJson;
65
+ if (jsonArgs) {
66
+ try {
67
+ // Validate against the invoked command's own options (argv._ is the
68
+ // command path here, before yargs strips it), so --jsonArgs is as
69
+ // strict as passing the flags directly.
70
+ const target = (0, schema_command_1.resolveJsonArgsTarget)(argv._.map(String));
71
+ if (target.kind !== "leaf") {
72
+ // --jsonArgs carries one command's options; a command group (or
73
+ // an unknown/missing command) has nothing to apply them to.
74
+ throw new cli_user_error_1.CliUserError(target.kind === "group"
75
+ ? `--jsonArgs is only valid on a specific command, not the '${target.name}' command group. Specify a subcommand.`
76
+ : "--jsonArgs is only valid together with a specific command.");
77
+ }
78
+ Object.assign(argv, (0, json_args_1.parseJsonArgs)(jsonArgs, target.keys));
79
+ }
80
+ catch (error) {
81
+ // Middleware runs before the handler, so `wrapHandler` can't format
82
+ // this — print the clean message and exit here instead of letting a
83
+ // raw parse error escape as an uncaught stack trace.
84
+ if (error instanceof cli_user_error_1.CliUserError) {
85
+ (0, common_1.initLogger)()[error.severity](error.message);
86
+ process.exit(error.exitCode);
87
+ }
88
+ throw error;
89
+ }
78
90
  }
79
91
  },
80
92
  ], true)
@@ -89,4 +101,4 @@ const main = async () => {
89
101
  exports.main = main;
90
102
  void (0, exports.main)();
91
103
  //# sourceMappingURL=main.js.map
92
- //# debugId=f8872d18-9d77-599e-805f-5c2c0850a09c
104
+ //# debugId=2bdd198d-b8de-5529-aca1-898e94712e3a
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../src/main.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"f8872d18-9d77-599e-805f-5c2c0850a09c"}
1
+ {"version":3,"file":"main.js","sources":["../src/main.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"2bdd198d-b8de-5529-aca1-898e94712e3a"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="7cf66ee0-81c7-5a43-b56d-ed1b13bd0d98")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="2f6f61e7-88f0-5d41-b52d-dc32a8fa8873")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  const vitest_1 = require("vitest");
@@ -13,12 +13,14 @@ vitest_1.vi.mock("@alwaysmeticulous/client", () => ({
13
13
  getOAuthProjects: mocks.getOAuthProjects,
14
14
  setStoredProject: mocks.setStoredProject,
15
15
  }));
16
+ vitest_1.vi.mock("@alwaysmeticulous/common", () => ({
17
+ logNotice: vitest_1.vi.fn(),
18
+ }));
16
19
  const project = (org, name, id) => ({
17
20
  id,
18
21
  name,
19
22
  organization: { id: `${org}-id`, name: org },
20
23
  });
21
- const fakeLogger = { info: vitest_1.vi.fn() };
22
24
  const fakeClient = {};
23
25
  (0, vitest_1.describe)("selectAndStoreProject", () => {
24
26
  (0, vitest_1.beforeEach)(() => {
@@ -31,7 +33,6 @@ const fakeClient = {};
31
33
  ]);
32
34
  const result = await (0, select_project_1.selectAndStoreProject)({
33
35
  client: fakeClient,
34
- logger: fakeLogger,
35
36
  project: "OrgB/App2",
36
37
  });
37
38
  (0, vitest_1.expect)(result).toBe("OrgB/App2");
@@ -44,7 +45,6 @@ const fakeClient = {};
44
45
  mocks.getOAuthProjects.mockResolvedValue([project("OrgA", "App1", "id-1")]);
45
46
  const result = await (0, select_project_1.selectAndStoreProject)({
46
47
  client: fakeClient,
47
- logger: fakeLogger,
48
48
  project: " OrgA/App1 ",
49
49
  });
50
50
  (0, vitest_1.expect)(result).toBe("OrgA/App1");
@@ -53,7 +53,6 @@ const fakeClient = {};
53
53
  mocks.getOAuthProjects.mockResolvedValue([project("OrgA", "App1", "id-1")]);
54
54
  await (0, vitest_1.expect)((0, select_project_1.selectAndStoreProject)({
55
55
  client: fakeClient,
56
- logger: fakeLogger,
57
56
  project: "orga/app1",
58
57
  })).rejects.toBeInstanceOf(cli_user_error_1.CliUserError);
59
58
  (0, vitest_1.expect)(mocks.setStoredProject).not.toHaveBeenCalled();
@@ -62,7 +61,6 @@ const fakeClient = {};
62
61
  mocks.getOAuthProjects.mockResolvedValue([project("OrgA", "App1", "id-1")]);
63
62
  await (0, vitest_1.expect)((0, select_project_1.selectAndStoreProject)({
64
63
  client: fakeClient,
65
- logger: fakeLogger,
66
64
  project: "OrgA/Missing",
67
65
  })).rejects.toThrow(/Available projects/);
68
66
  });
@@ -70,7 +68,6 @@ const fakeClient = {};
70
68
  mocks.getOAuthProjects.mockResolvedValue([project("OrgA", "App1", "id-1")]);
71
69
  const result = await (0, select_project_1.selectAndStoreProject)({
72
70
  client: fakeClient,
73
- logger: fakeLogger,
74
71
  });
75
72
  (0, vitest_1.expect)(result).toBe("OrgA/App1");
76
73
  (0, vitest_1.expect)(mocks.setStoredProject).toHaveBeenCalledWith({
@@ -80,7 +77,7 @@ const fakeClient = {};
80
77
  });
81
78
  (0, vitest_1.it)("throws when no projects are accessible", async () => {
82
79
  mocks.getOAuthProjects.mockResolvedValue([]);
83
- await (0, vitest_1.expect)((0, select_project_1.selectAndStoreProject)({ client: fakeClient, logger: fakeLogger })).rejects.toBeInstanceOf(cli_user_error_1.CliUserError);
80
+ await (0, vitest_1.expect)((0, select_project_1.selectAndStoreProject)({ client: fakeClient })).rejects.toBeInstanceOf(cli_user_error_1.CliUserError);
84
81
  });
85
82
  (0, vitest_1.it)("throws without prompting when several projects exist and prompting is disabled", async () => {
86
83
  mocks.getOAuthProjects.mockResolvedValue([
@@ -89,7 +86,6 @@ const fakeClient = {};
89
86
  ]);
90
87
  const caught = await (0, select_project_1.selectAndStoreProject)({
91
88
  client: fakeClient,
92
- logger: fakeLogger,
93
89
  allowInteractivePrompt: false,
94
90
  }).catch((error) => error);
95
91
  (0, vitest_1.expect)(caught).toBeInstanceOf(cli_user_error_1.CliUserError);
@@ -104,7 +100,6 @@ const fakeClient = {};
104
100
  ]);
105
101
  const result = await (0, select_project_1.selectAndStoreProject)({
106
102
  client: fakeClient,
107
- logger: fakeLogger,
108
103
  allowInteractivePrompt: false,
109
104
  fallbackToProject: "OrgB/App2",
110
105
  });
@@ -121,7 +116,6 @@ const fakeClient = {};
121
116
  ]);
122
117
  await (0, vitest_1.expect)((0, select_project_1.selectAndStoreProject)({
123
118
  client: fakeClient,
124
- logger: fakeLogger,
125
119
  allowInteractivePrompt: false,
126
120
  fallbackToProject: "OrgC/Gone",
127
121
  })).rejects.toBeInstanceOf(cli_user_error_1.CliUserError);
@@ -129,4 +123,4 @@ const fakeClient = {};
129
123
  });
130
124
  });
131
125
  //# sourceMappingURL=select-project.spec.js.map
132
- //# debugId=7cf66ee0-81c7-5a43-b56d-ed1b13bd0d98
126
+ //# debugId=2f6f61e7-88f0-5d41-b52d-dc32a8fa8873
@@ -1 +1 @@
1
- {"version":3,"file":"select-project.spec.js","sources":["../../../src/utils/__tests__/select-project.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"7cf66ee0-81c7-5a43-b56d-ed1b13bd0d98"}
1
+ {"version":3,"file":"select-project.spec.js","sources":["../../../src/utils/__tests__/select-project.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"2f6f61e7-88f0-5d41-b52d-dc32a8fa8873"}
@@ -1,5 +1,4 @@
1
1
  import type { MeticulousClient, OAuthProject } from "@alwaysmeticulous/client";
2
- import type log from "loglevel";
3
2
  /**
4
3
  * Fetches the projects accessible to the OAuth caller, surfacing auth failures
5
4
  * via `handleAuthFailure`. Shared by the project selection and listing flows.
@@ -21,9 +20,8 @@ export declare const fetchAccessibleProjects: (client: MeticulousClient) => Prom
21
20
  * Throws `CliUserError` when the caller has no accessible projects, or when a
22
21
  * project cannot be resolved without an interactive prompt.
23
22
  */
24
- export declare const selectAndStoreProject: ({ client, logger, project, allowInteractivePrompt, fallbackToProject, }: {
23
+ export declare const selectAndStoreProject: ({ client, project, allowInteractivePrompt, fallbackToProject, }: {
25
24
  client: MeticulousClient;
26
- logger: log.Logger;
27
25
  project?: string | undefined;
28
26
  allowInteractivePrompt?: boolean;
29
27
  fallbackToProject?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"select-project.d.ts","sourceRoot":"","sources":["../../src/utils/select-project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAIhC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,WAC1B,gBAAgB,KACvB,OAAO,CAAC,YAAY,EAAE,CAOxB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,4EAM/B;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC,KAAG,OAAO,CAAC,MAAM,CA0DjB,CAAC"}
1
+ {"version":3,"file":"select-project.d.ts","sourceRoot":"","sources":["../../src/utils/select-project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAM/E;;;GAGG;AACH,eAAO,MAAM,uBAAuB,WAC1B,gBAAgB,KACvB,OAAO,CAAC,YAAY,EAAE,CAOxB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,oEAK/B;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC,KAAG,OAAO,CAAC,MAAM,CA0DjB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="696a354d-e3c5-5eea-a98c-80200220c5dc")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ebb174ae-4b88-5a86-9211-d9a54ec34440")}catch(e){}}();
3
3
 
4
4
  var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -7,6 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.selectAndStoreProject = exports.fetchAccessibleProjects = void 0;
9
9
  const client_1 = require("@alwaysmeticulous/client");
10
+ const common_1 = require("@alwaysmeticulous/common");
10
11
  const inquirer_1 = __importDefault(require("inquirer"));
11
12
  const cli_user_error_1 = require("./cli-user-error");
12
13
  const handle_auth_failure_1 = require("./handle-auth-failure");
@@ -40,7 +41,7 @@ exports.fetchAccessibleProjects = fetchAccessibleProjects;
40
41
  * Throws `CliUserError` when the caller has no accessible projects, or when a
41
42
  * project cannot be resolved without an interactive prompt.
42
43
  */
43
- const selectAndStoreProject = async ({ client, logger, project, allowInteractivePrompt = true, fallbackToProject, }) => {
44
+ const selectAndStoreProject = async ({ client, project, allowInteractivePrompt = true, fallbackToProject, }) => {
44
45
  const projects = await (0, exports.fetchAccessibleProjects)(client);
45
46
  if (projects.length === 0) {
46
47
  throw new cli_user_error_1.CliUserError("No projects are accessible to your account. Ask an organization " +
@@ -75,7 +76,7 @@ const selectAndStoreProject = async ({ client, logger, project, allowInteractive
75
76
  if (fallback) {
76
77
  const fallbackSlug = `${fallback.organization.name}/${fallback.name}`;
77
78
  (0, client_1.setStoredProject)({ project: fallbackSlug, projectId: fallback.id });
78
- logger.info(`Kept previously selected project: ${fallbackSlug}`);
79
+ (0, common_1.logNotice)(`Kept previously selected project: ${fallbackSlug}`);
79
80
  return fallbackSlug;
80
81
  }
81
82
  throw new cli_user_error_1.CliUserError("Multiple projects are accessible but none was selected (no interactive " +
@@ -84,7 +85,7 @@ const selectAndStoreProject = async ({ client, logger, project, allowInteractive
84
85
  }
85
86
  const projectSlug = `${selected.organization.name}/${selected.name}`;
86
87
  (0, client_1.setStoredProject)({ project: projectSlug, projectId: selected.id });
87
- logger.info(`Selected project: ${projectSlug}`);
88
+ (0, common_1.logNotice)(`Selected project: ${projectSlug}`);
88
89
  return projectSlug;
89
90
  };
90
91
  exports.selectAndStoreProject = selectAndStoreProject;
@@ -108,4 +109,4 @@ const promptForProject = async (projects) => {
108
109
  };
109
110
  const formatProjectList = (projects) => projects.map((p) => ` - ${p.organization.name}/${p.name}`).join("\n");
110
111
  //# sourceMappingURL=select-project.js.map
111
- //# debugId=696a354d-e3c5-5eea-a98c-80200220c5dc
112
+ //# debugId=ebb174ae-4b88-5a86-9211-d9a54ec34440
@@ -1 +1 @@
1
- {"version":3,"file":"select-project.js","sources":["../../src/utils/select-project.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"696a354d-e3c5-5eea-a98c-80200220c5dc"}
1
+ {"version":3,"file":"select-project.js","sources":["../../src/utils/select-project.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"ebb174ae-4b88-5a86-9211-d9a54ec34440"}