Ignore dormant apps: per-app and per-store 'ignored' in the app list; apps ignore/unignore, watch, ws and apps list skip them; MCP tools
This commit is contained in:
parent
75bf62e125
commit
13b91dd423
7 changed files with 278 additions and 30 deletions
|
|
@ -321,6 +321,17 @@ export const TOOLS: ToolDef[] = [
|
|||
props: { dir: { type: 'string', pattern: '^(?!/)(?!.*\\.\\.)(?!.*,/)[A-Za-z0-9._ /,-]{1,400}$', description: 'fastlane folder(s) relative to the project, comma-separated (default: fastlane, ios/fastlane, android/fastlane)' },
|
||||
profile: { type: 'string', enum: ['app', 'game', 'subscription-app'], description: 'Default: game for the GAMES category, else app' } },
|
||||
args: i => [...opt('dir', i.dir), ...opt('profile', i.profile)] },
|
||||
{ name: 'apps_ignore', title: 'Ignore an app', command: ['apps', 'ignore'], write: true, network: false, idempotent: true,
|
||||
description: 'Ignores one app in the storebound app list (~/.storebound/projects.json), the whole app or one store side. Ignored apps are skipped by watch, events and portfolio reads and hidden from the desktop lists. Storebound-side visibility only: nothing changes in App Store Connect or Google Play (no removal from sale). dry_run shows the change.',
|
||||
props: { app: { type: 'string', pattern: '^[A-Za-z0-9][A-Za-z0-9 ._:/\\-]{0,200}$', description: 'App name, id, folder, apple:<app id> or play:<package>' }, store: { type: 'string', enum: ['apple', 'play'], description: 'Only this store side (default: the whole app)' } },
|
||||
required: ['app'], args: i => [String(i.app), ...opt('store', i.store)] },
|
||||
{ name: 'apps_unignore', title: 'Restore an ignored app', command: ['apps', 'unignore'], write: true, network: false, idempotent: true,
|
||||
description: 'Restores (stops ignoring) one app in the storebound app list (~/.storebound/projects.json), the whole app or one store side. Ignored apps are skipped by watch, events and portfolio reads and hidden from the desktop lists. Storebound-side visibility only: nothing changes in App Store Connect or Google Play (no removal from sale). dry_run shows the change.',
|
||||
props: { app: { type: 'string', pattern: '^[A-Za-z0-9][A-Za-z0-9 ._:/\\-]{0,200}$', description: 'App name, id, folder, apple:<app id> or play:<package>' }, store: { type: 'string', enum: ['apple', 'play'], description: 'Only this store side (default: the whole app)' } },
|
||||
required: ['app'], args: i => [String(i.app), ...opt('store', i.store)] },
|
||||
{ name: 'apps_folders', title: 'App list of this machine', command: ['apps', 'folders'], write: false, network: false,
|
||||
description: 'Offline: the app folders and store-only apps of this machine (~/.storebound/projects.json) with which are ignored (whole app or per store side).',
|
||||
props: { json: { type: 'boolean', default: true } }, args: () => ['--json'] },
|
||||
{ name: 'workspace_list', title: 'Workspace apps', command: ['ws', 'list'], write: false, network: false,
|
||||
description: 'Offline: the apps of the storebound.workspace.json above the project (app folders from its globs, store-only apps from `ws apps import`), paired across iOS and Android by the desktop\'s rules, with studios and accounts (credential profile names and whether their keys are there; never a key).',
|
||||
props: { all: { type: 'boolean', default: false, description: 'Also the ignored apps' }, json: { type: 'boolean', default: false } },
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue