Deploy Hub configurations from the CLI (#2955)
* feat(cli): add Hub configuration deploy Deploy configuration bytes directly to an explicitly targeted Hub project using only caller-supplied origin and organization API key authority. * refactor(cli): name Hub deploy contracts * docs(hub): complete deploy CLI guidance * docs(hub): link deployed API references * feat(cli): bundle referenced Hub partials Send exact referenced prompt-partial content alongside YAML so Hub can resolve local includes while inline-only configurations keep the existing request shape. * fix(cli): match Hub YAML size semantics Apply the finalized Hub request limit to decoded YAML length and cover multibyte configuration payloads without changing the wire body.
This commit is contained in:
@@ -8,9 +8,11 @@ category: Hub
|
||||
|
||||
# `hub.yml` reference
|
||||
|
||||
A configuration has `environments` and `triggers`. Execution fields belong to each trigger's `steps`.
|
||||
A configuration has `environments` and `triggers`. It may also include top-level `project` deployment metadata for `paseo hub deploy`. Execution fields belong to each trigger's `steps`.
|
||||
|
||||
```yaml
|
||||
project: my-project
|
||||
|
||||
environments:
|
||||
- name: development
|
||||
kind: daemon
|
||||
@@ -35,6 +37,8 @@ triggers:
|
||||
- text: ${{ paseo.prompt }}
|
||||
```
|
||||
|
||||
`project` is an optional bare project slug. The deploy CLI uses it to choose the target project when `-p, --project` is absent. The flag takes precedence over this metadata without rewriting the YAML. `project` is not available to triggers, expressions, or agents.
|
||||
|
||||
## Environments
|
||||
|
||||
| Field | Required | Notes |
|
||||
@@ -131,7 +135,7 @@ Hub counts an actual capability emission; ordinary assistant text does not satis
|
||||
|
||||
## Prompt partials
|
||||
|
||||
`include` paths are relative to `.paseo/partials/` and are resolved at the exact GitHub configuration commit. Hub stores the resolved content and SHA-256 hash in the immutable revision. Missing files, unsafe paths, symlinks, submodules, directories, and nested includes are rejected. Manual configurations cannot use repository partials.
|
||||
`include` paths are relative to `.paseo/partials/`. For GitHub configuration, Hub reads them at the exact configuration commit and stores the resolved content and SHA-256 hash in the immutable revision. For `paseo hub deploy`, the CLI reads the referenced files from the local project root and sends them in the optional `partials` bundle; the bundle path omits the `.paseo/partials/` prefix. Missing files, unsafe paths, symlinks, submodules, directories, duplicate or unexpected bundle entries, and nested includes are rejected. Manual configurations cannot use repository partials.
|
||||
|
||||
## Deadlines
|
||||
|
||||
|
||||
Reference in New Issue
Block a user