Support assets for admin links app intents#7132
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Coverage report
Test suite run success4003 tests passing in 1529 suites. Report generated by 🧪jest coverage report action from 8285bfa |
cd40db3 to
c65984a
Compare
8285bfa to
b6f06e9
Compare
b6f06e9 to
c9ad45a
Compare
c65984a to
96d95ba
Compare
96d95ba to
d8b0d4a
Compare
c9ad45a to
5c93642
Compare
5c93642 to
43ebe94
Compare
43ebe94 to
f5b0e94
Compare
6e09feb to
5c1ddf1
Compare
f5b0e94 to
7dc8946
Compare
5c1ddf1 to
06dee38
Compare
7dc8946 to
ce6f08e
Compare
06dee38 to
40bf3e5
Compare
ce6f08e to
35abde3
Compare
8ce58c4 to
8b3cc8d
Compare
0ecbba1 to
0a2c576
Compare
0df7b64 to
efb6645
Compare
17e3ff5 to
c2c3f95
Compare
efb6645 to
19606cb
Compare
c2c3f95 to
34150b4
Compare
19606cb to
1440a14
Compare
1440a14 to
dba945f
Compare
34150b4 to
5c1736d
Compare
|
/snapit |
|
🫰✨ Thanks @vividviolet! Your snapshot has been published to npm. Test the snapshot by installing your package globally: i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260415152844Caution After installing, validate the version by running |
5c1736d to
8bfa970
Compare
3e8a1cb to
f5ba384
Compare
|
/snapit |
|
🫰✨ Thanks @vividviolet! Your snapshot has been published to npm. Test the snapshot by installing your package globally: i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260415192507Caution After installing, validate the version by running |
8cfce51 to
a65c60d
Compare
954cbb7 to
b53f638
Compare
a65c60d to
de5e9d9
Compare
|
/snapit |
|
🫰✨ Thanks @vividviolet! Your snapshot has been published to npm. Test the snapshot by installing your package globally: i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260415201330Caution After installing, validate the version by running |
|
/snapit |
|
🫰✨ Thanks @vividviolet! Your snapshot has been published to npm. Test the snapshot by installing your package globally: pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20260416162212Caution After installing, validate the version by running |
Differences in type declarationsWe detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:
New type declarationsWe found no new type declarations in this PR Existing type declarationspackages/cli-kit/dist/private/node/analytics.d.ts@@ -23,7 +23,6 @@ interface EnvironmentData {
env_auth_method: string;
env_is_wsl: boolean;
env_build_repository: string;
- env_auto_upgrade_enabled: boolean | null;
}
export declare function getEnvironmentData(config: Interfaces.Config): Promise<EnvironmentData>;
export declare function getSensitiveEnvironmentData(config: Interfaces.Config): Promise<{
packages/cli-kit/dist/private/node/session.d.ts@@ -63,14 +63,14 @@ export interface OAuthSession {
}
type AuthMethod = 'partners_token' | 'device_auth' | 'theme_access_token' | 'custom_app_token' | 'none';
/**
- * Retrieves a stable user identifier for analytics, or if none applies.
+ * Retrieves the user ID from the current session or returns 'unknown' if not found.
*
- * Evaluation order:
- * 1. If an app automation token or theme token is used, returns a deterministic UUID
- * derived from that secret.
- * 2. Otherwise, if was called (e.g. after OAuth), returns that value.
- * 3. Otherwise, if a persisted CLI session id is available, returns it.
- * 4. Otherwise returns .
+ * This function performs the following steps:
+ * 1. Checks for a cached user ID in memory (obtained in the current run).
+ * 2. Attempts to fetch it from the local storage (from a previous auth session).
+ * 3. Checks if a custom token was used (either as a theme password or partners token).
+ * 4. If a custom token is present in the environment, generates a UUID and uses it as userId.
+ * 5. If after all this we don't have a userId, then reports as 'unknown'.
*
* @returns A Promise that resolves to the user ID as a string.
*/
packages/cli-kit/dist/public/node/metadata.d.ts@@ -34,7 +34,7 @@ export type SensitiveSchema<T> = T extends RuntimeMetadataManager<infer _TPublic
* @returns A container for the metadata.
*/
export declare function createRuntimeMetadataContainer<TPublic extends AnyJson, TSensitive extends AnyJson = Record<string, never>>(defaultPublicMetadata?: Partial<TPublic>): RuntimeMetadataManager<TPublic, TSensitive>;
-type CmdFieldsFromMonorail = PickByPrefix<MonorailEventPublic, 'cmd_all_'> & PickByPrefix<MonorailEventPublic, 'cmd_app_'> & PickByPrefix<MonorailEventPublic, 'cmd_create_app_'> & PickByPrefix<MonorailEventPublic, 'cmd_theme_'> & PickByPrefix<MonorailEventPublic, 'store_'> & PickByPrefix<MonorailEventPublic, 'env_auto_upgrade_'>;
+type CmdFieldsFromMonorail = PickByPrefix<MonorailEventPublic, 'cmd_all_'> & PickByPrefix<MonorailEventPublic, 'cmd_app_'> & PickByPrefix<MonorailEventPublic, 'cmd_create_app_'> & PickByPrefix<MonorailEventPublic, 'cmd_theme_'> & PickByPrefix<MonorailEventPublic, 'store_'>;
declare const coreData: RuntimeMetadataManager<CmdFieldsFromMonorail, {
commandStartOptions: {
startTime: number;
packages/cli-kit/dist/public/node/monorail.d.ts@@ -2,7 +2,7 @@ import { JsonMap } from '../../private/common/json.js';
import { DeepRequired } from '../common/ts/deep-required.js';
export { DeepRequired };
type Optional<T> = T | null;
-export declare const MONORAIL_COMMAND_TOPIC = "app_cli3_command/1.21";
+export declare const MONORAIL_COMMAND_TOPIC = "app_cli3_command/1.20";
export interface Schemas {
[MONORAIL_COMMAND_TOPIC]: {
sensitive: {
@@ -46,10 +46,6 @@ export interface Schemas {
cmd_all_timing_network_ms?: Optional<number>;
cmd_all_timing_prompts_ms?: Optional<number>;
cmd_all_timing_active_ms?: Optional<number>;
- env_auto_upgrade_enabled?: Optional<boolean>;
- env_auto_upgrade_accepted?: Optional<boolean>;
- env_auto_upgrade_skipped_reason?: Optional<string>;
- env_auto_upgrade_success?: Optional<boolean>;
cmd_extensions_binary_from_source?: Optional<boolean>;
cmd_scaffold_required_auth?: Optional<boolean>;
cmd_scaffold_template_custom?: Optional<boolean>;
packages/cli-kit/dist/public/node/system.d.ts@@ -87,12 +87,6 @@ export declare function exec(command: string, args: string[], options?: ExecOpti
* @returns A Promise resolving after the number of seconds.
*/
export declare function sleep(seconds: number): Promise<void>;
-/**
- * Check if the terminal supports OSC 8 hyperlinks.
- *
- * @returns True if the terminal supports hyperlinks.
- */
-export declare function terminalSupportsHyperlinks(): boolean;
/**
* Check if the standard input and output streams support prompting.
*
packages/cli-kit/dist/public/node/ui.d.ts@@ -328,6 +328,7 @@ interface RenderTasksOptions {
/**
* Runs async tasks and displays their progress to the console.
* @example
+ * ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
* Installing dependencies ...
*/
export declare function renderTasks<TContext>(tasks: Task<TContext>[], { renderOptions, noProgressBar }?: RenderTasksOptions): Promise<TContext>;
@@ -345,6 +346,7 @@ export interface RenderSingleTaskOptions<T> {
* @param options.renderOptions - Optional render configuration
* @returns The result of the task
* @example
+ * ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
* Loading app ...
*/
export declare function renderSingleTask<T>({ title, task, onAbort, renderOptions, }: RenderSingleTaskOptions<T>): Promise<T>;
packages/cli-kit/dist/public/node/upgrade.d.ts@@ -2,7 +2,7 @@
* Utility function for generating an install command for the user to run
* to install an updated version of Shopify CLI.
*
- * @returns A string with the command to run, or undefined if the package manager cannot be determined.
+ * @returns A string with the command to run.
*/
export declare function cliInstallCommand(): string | undefined;
/**
|

WHY are these changes introduced?
Enables assets uploading for
admin_linkto support intentsRelated to https://github.com/shop/issues-admin-extensibility/issues/2205
WHAT is this pull request doing?
admin_linkextension specification with localization supportHow to test your changes?
admin_linkMeasuring impact
How do we know this change was effective? Please choose one:
Checklist