К содержимому
# Источник компонента
[Home](/ru/ai)
[Catalog](/ru/ai/catalog)
Разобрать, разрешить и искать внешние источники компонента, читать GitHub-архивные evidence.
## Pages
[Главная](/ru/ai/docs)
### Быстрый старт
[Быстрый старт](/ru/ai/docs/quickstart)
[Для человека](/ru/ai/docs/quickstart/human)
[Для ИИ-агента](/ru/ai/docs/quickstart/agent)
[Харнессы](/ru/ai/docs/harnesses)
[Понятия](/ru/ai/docs/concepts)
[Каталог](/ru/ai/docs/catalog)
### CLI
[CLI](/ru/ai/docs/cli)
[Карта команд](/ru/ai/docs/cli/commands)
[Наблюдение](/ru/ai/docs/cli/observe)
[Конфигурация](/ru/ai/docs/cli/config)
[Телеметрия](/ru/ai/docs/cli/telemetry)
[Устройство](/ru/ai/docs/cli/device)
[Паспорта](/ru/ai/docs/cli/passport)
[Вход](/ru/ai/docs/cli/auth)
[Согласие](/ru/ai/docs/cli/consent)
[Проект](/ru/ai/docs/cli/project)
[Toolchain](/ru/ai/docs/cli/toolchain)
[Harness](/ru/ai/docs/cli/harness)
[Agent Skill CLI](/ru/ai/docs/cli/skill)
[Реестр](/ru/ai/docs/cli/registry)
#### Компонент
[Обзор](/ru/ai/docs/cli/component)
[Обнаружение](/ru/ai/docs/cli/component-discover)
[Паспорт](/ru/ai/docs/cli/component-passport)
[Источник](/ru/ai/docs/cli/component-source)
[Публикация](/ru/ai/docs/cli/component-publish)
[Выбор](/ru/ai/docs/cli/select)
[Установка](/ru/ai/docs/cli/install)
[Target](/ru/ai/docs/cli/target)
[Setup](/ru/ai/docs/cli/setup)
[Provider](/ru/ai/docs/cli/provider)
[Синхронизация](/ru/ai/docs/cli/sync)
[Доступ](/ru/ai/docs/cli/grant)
[Жалобы](/ru/ai/docs/cli/report)
[Owner](/ru/ai/docs/cli/owner)
[Publication](/ru/ai/docs/cli/publication)
[Eval](/ru/ai/docs/cli/eval)
### Веб
[Веб](/ru/ai/docs/web)
[Главная](/ru/ai/docs/web/home)
[Каталог](/ru/ai/docs/web/catalog)
[Карточка компонента](/ru/ai/docs/web/catalog-component)
[Карточка сетапа](/ru/ai/docs/web/catalog-setup)
[Региональные сервисы](/ru/ai/docs/web/services)
[Издатели](/ru/ai/docs/web/publishers)
[Content](/ru/ai/docs/web/content)
[Эта документация](/ru/ai/docs/web/docs)
[Контакт](/ru/ai/docs/web/contact)
[Правовые документы](/ru/ai/docs/web/legal)
[Вход](/ru/ai/docs/web/login)
[Аккаунт](/ru/ai/docs/web/account)
[Профиль](/ru/ai/docs/web/profile)
[Устройства](/ru/ai/docs/web/devices)
[Объекты](/ru/ai/docs/web/objects)
[Доступ](/ru/ai/docs/web/access)
[Жалобы](/ru/ai/docs/web/reports)
[Лайки](/ru/ai/docs/web/likes)
[Онбординг](/ru/ai/docs/web/onboarding)
[Публикация](/ru/ai/docs/web/publications)
### Компоненты
[Компоненты](/ru/ai/docs/components)
[instruction](/ru/ai/docs/components/instruction)
[skill](/ru/ai/docs/components/skill)
[mcp](/ru/ai/docs/components/mcp)
[hook](/ru/ai/docs/components/hook)
[command](/ru/ai/docs/components/command)
[agent](/ru/ai/docs/components/agent)
[plugin](/ru/ai/docs/components/plugin)
[setting](/ru/ai/docs/components/setting)
[Сетапы](/ru/ai/docs/setups)
### Публикация
[Публикация](/ru/ai/docs/publishing)
[Авторство](/ru/ai/docs/publishing/authoring)
### Доверие и безопасность
[Обзор](/ru/ai/docs/trust-and-safety)
[Проверки безопасности](/ru/ai/docs/security-checks)
[Диагностика](/ru/ai/docs/troubleshooting)
[cli](/ru/ai/docs/components/cli)
## Content
# Источник компонента Эти команды считают внешний источник компонента недоверенным структурированным intent, пока не привязан commit, и хранят официальные архивные наблюдения GitHub для одной точной локальной версии. Parse ничего не скачивает. Resolve привязывает один полный commit SHA. Поиск имён не выбирает кандидата. Команды evidence говорят об архивном состоянии репозитория, а не о том, безопасна ли версия. Повседневная регистрация — intent `author`. Source parse/resolve/search и evidence ниже — expert recovery. ```bash ai-stp task start --intent author --idempotency-key author-session-01 --json ``` ## Таблица команд | Команда | Mutability | Confirmation | Когда | | --- | --- | --- | --- | | `ai-stp component source parse` | `read` | `none` | разобрать slug, GitHub-идентичность, локальный путь или коллекцию | | `ai-stp component source resolve` | `read` | `none` | привязать GitHub-intent к одному точному полному commit SHA | | `ai-stp component source search` | `read` | `none` | искать имена в каталоге; package и GitHub — по флагу | | `ai-stp component source evidence refresh` | `apply` | `none` | обновить официальные архивные наблюдения GitHub для одной версии | | `ai-stp component source evidence show` | `read` | `none` | показать последние локальные архивные наблюдения и freshness | | `ai-stp component source evidence history` | `read` | `none` | ограниченная append-only история архивных наблюдений | `--json` глобальный. Всегда передавайте его. ## Parse Разобрать строку внешнего источника как структурированный intent. Результат недоверенный, пока resolve (или другое точное доказательство) его не привяжет. ```bash ai-stp component source parse --source owner/repo --json ai-stp component source parse --source https://github.com/owner/repo --json ai-stp component source parse --source ./hooks/check --root . --json ``` `--source` обязателен. Это может быть опубликованный slug, GitHub- идентичность, локальный путь или коллекция. `--root` нужен только чтобы нормализовать относительный локальный путь. Поля успеха: `kind`, `canonical`, `owner`, `ref`, `local_path`, `collection_owner`, `collection_handle` и `provenance_proven`. `kind` — одно из `published`, `github`, `github/exact`, `local`, `collection`. `provenance_proven` остаётся false, пока точная идентичность не доказана. ## Resolve Resolve привязывает GitHub shorthand или credential-free HTTPS URL к одному lowercase SHA коммита из 40 символов. ```bash ai-stp component source resolve --source owner/repo --json ai-stp component source resolve \ --source https://github.com/owner/repo \ --commit abcdef0123456789abcdef0123456789abcdef01 \ --json ``` `--commit` необязателен: опустите, чтобы разрешить названный ref в SHA, или передайте точный SHA, который уже есть. `--root` только нормализует относительный локальный путь. Ответ той же схемы идентичности, что у parse. После успешного resolve `kind` равен `github/exact`, а `provenance_proven` — true. Диапазон, плавающий tag без SHA или URL с учётными данными отклоняются. ## Search Поиск только по имени. Он никогда не выбирает кандидата и ничего не устанавливает. ```bash ai-stp component source search --query context7 --json ai-stp component source search --query context7 --registry-discovery --json ``` Без `--registry-discovery` попадания — имена каталога. С флагом добавляются поддерживаемые имена пакетов и известные GitHub-кандидаты. У каждого попадания отдельно держатся `source`, `catalog_status`, `trust_lane`, `author_verified` и `component_verified`. GitHub-попадание со статусом `not_in_catalog` всё равно только имя. Поля успеха: список кандидатов с `name`, `source` (`catalog`, `package` или `git`), `exact_coordinate`, `stable_id`, `catalog_status`, `trust_lane`, `author_verified`, `component_verified`. ## Evidence show, refresh, history Архивные наблюдения GitHub — официальное наблюдение исходного репозитория: архивирован ли он, когда наблюдение скачали, и свежо ли оно. Это не скан безопасности. ```bash ai-stp component source evidence show --id <stable_id> --version 1.0 --json ai-stp component source evidence refresh --id <stable_id> --version 1.0 --json ai-stp component source evidence history --id <stable_id> --version 1.0 --json ai-stp component source evidence history --id <stable_id> --version 1.0 --limit 20 --json ``` `--id` и `--version` обязательны. `--version` — точный записанный `X.Y`. `--limit` в history — сколько новейших наблюдений вернуть, от 1 до 100. `refresh` — `apply`: пишет новое наблюдение. У него `confirmation: none`. Назвать точные id и версию **и есть** решение. Поля успеха show и refresh: `stable_id`, `version`, `passport_digest`, `source_repository`, `repository_id`, `repository_full_name`, `repository_state`, `archived`, `fetched_at`, `expires_at`, `freshness`, `observation_id`. `freshness` — `fresh`, `stale` или `unavailable`. `repository_state` — `active`, `archived` или `unavailable`. History возвращает ограниченный список этих наблюдений. ## Happy path Повседневный путь: ```bash ai-stp task start --intent author --idempotency-key author-session-01 --json ``` Expert recovery: ```text component source parse --source owner/repo → component source resolve --source owner/repo → component source search --query <name> → setup update plan or component adopt ``` Для уже выпущенной версии: ```text component source evidence show --id <id> --version 1.0 → component source evidence refresh --id <id> --version 1.0 # если stale → component source evidence history --id <id> --version 1.0 ``` ## Именованные поля успеха | Команда | Какие поля читать | | --- | --- | | `parse` / `resolve` | `kind`, `canonical`, `provenance_proven`, `ref` | | `search` | у каждого кандидата `name`, `source`, `catalog_status`, `trust_lane` | | `evidence show` / `refresh` | `freshness`, `archived`, `repository_state`, `fetched_at` | | `evidence history` | ограниченный список наблюдений | ## Отказы | Что видно | Что это значит | Что делать | | --- | --- | --- | | `AI_STP_VALIDATION_ERROR` | нет `--source`, `--id` или `--version`, или значение неверно | исправить запрос; диапазон — не версия | | `AI_STP_NOT_FOUND` | локального объекта или версии нет | `component version list --id <id>` | | `AI_STP_DEPENDENCY_UNAVAILABLE` | GitHub или реестр недоступны | повторять только если `retryable: true`; иначе работать из cache | | `AI_STP_PRECONDITION_FAILED` | источник — не credential-free GitHub-идентичность | убрать учётные данные; HTTPS без userinfo | | `freshness: stale` | последнее наблюдение истекло | `evidence refresh` для этой точной версии | | `freshness: unavailable` | официальный архив наблюдать не удалось | прочитать `repository_state`; не выдумывать замену | | поиск без `--registry-discovery` | полосы package и GitHub не запрашивались | передать флаг, если эти полосы имелись в виду | | считать попадание поиска pin | поиск никогда не выбирает | дальше resolve или plan точной координаты | Не кладите токены в `--source`. Нигде в этой группе не передавайте `NAME=value`. Не выдумывайте `--commit` у parse: эта опция есть только у resolve. ## Связанные страницы - [Команды компонента](component.md) - [Обнаружение и adopt](component-discover.md) - [Паспорт компонента](component-passport.md) - [Публикация компонента](component-publish.md) - [Команды сетапа](setup.md) - [Реестр](registry.md) - [Публикация](../publishing/index.md) ## Флаги берутся из continuation argv ```bash ai-stp task intents --json ``` Не дампьте `help --agent` как прелюдию. Флаги текущей задачи — в continuation `argv`. Эта страница группирует команды источника, чтобы человек их нашёл. Если страница и CLI расходятся, следуйте CLI.