@withandeo/cli 0.19.5 → 0.19.7

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 (41) hide show
  1. package/README.md +26 -0
  2. package/dist/api.d.ts +4 -1
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js.map +1 -1
  5. package/dist/errors.d.ts +2 -1
  6. package/dist/errors.d.ts.map +1 -1
  7. package/dist/errors.js +3 -1
  8. package/dist/errors.js.map +1 -1
  9. package/dist/git-outcome.d.ts +12 -0
  10. package/dist/git-outcome.d.ts.map +1 -1
  11. package/dist/git-outcome.js +54 -14
  12. package/dist/git-outcome.js.map +1 -1
  13. package/dist/main.d.ts.map +1 -1
  14. package/dist/main.js +52 -15
  15. package/dist/main.js.map +1 -1
  16. package/dist/workflow-config.d.ts +2 -0
  17. package/dist/workflow-config.d.ts.map +1 -1
  18. package/dist/workflow-config.js +15 -4
  19. package/dist/workflow-config.js.map +1 -1
  20. package/dist/workflow-contract.d.ts +14 -2
  21. package/dist/workflow-contract.d.ts.map +1 -1
  22. package/dist/workflow-contract.js +47 -3
  23. package/dist/workflow-contract.js.map +1 -1
  24. package/dist/workflow-dev-host.d.ts +1 -1
  25. package/dist/workflow-dev-host.d.ts.map +1 -1
  26. package/dist/workflow-dev-host.js +10 -5
  27. package/dist/workflow-dev-host.js.map +1 -1
  28. package/dist/workflow-dev.d.ts.map +1 -1
  29. package/dist/workflow-dev.js +16 -12
  30. package/dist/workflow-dev.js.map +1 -1
  31. package/dist/workflow-egress.d.ts +10 -0
  32. package/dist/workflow-egress.d.ts.map +1 -0
  33. package/dist/workflow-egress.js +96 -0
  34. package/dist/workflow-egress.js.map +1 -0
  35. package/dist/workflow-package.d.ts.map +1 -1
  36. package/dist/workflow-package.js +3 -2
  37. package/dist/workflow-package.js.map +1 -1
  38. package/package.json +1 -1
  39. package/skill/tender-accounts/SKILL.md +7 -0
  40. package/skill/tender-accounts/references/managed-source.md +27 -1
  41. package/skill/tender-accounts/references/workflows.md +16 -1
@@ -15,6 +15,32 @@ exact `--cwd`. `source connect` derives the project working directory and build
15
15
  contract from Git plus `tender-accounts.json`; do not recreate that contract by
16
16
  hand in the admin. New connections default to preview-only. Both gateways and services support `--publication default-branch` when a merchant administrator explicitly enables automatic publication. For an existing connection use `source policy show`, then `source policy set --repository SRC_ID --publication default-branch --expected-revision N --idempotency-key KEY`. Saving the policy affects future source builds; it does not publish an existing build. Reconnecting never changes the policy.
17
17
 
18
+ Select a local commit independently from the destination branch, including from a GitButler workspace:
19
+
20
+ ```sh
21
+ andeo source push --source chore/andeo-agent-guidance --branch main --json
22
+ ```
23
+
24
+ `--source` accepts a resolvable local branch, ref or commit SHA and defaults to `HEAD`.
25
+ The CLI resolves it once to a full commit SHA; both the push and any reviewed
26
+ bundle use that exact commit even if the local ref moves. `--branch` remains the
27
+ remote destination and keeps its existing default (current checkout branch,
28
+ or the repository default when detached); selecting `--source` does not change it.
29
+ Always specify `--branch` from a GitButler workspace. Uncommitted, staged and
30
+ untracked files are excluded. JSON reports `source`, `sourceRevision` and
31
+ `sourceDiffersFromHead`; a different source uses that commit's tree and ancestry,
32
+ not the current workspace. Invalid or non-commit sources fail before obtaining
33
+ a repository credential.
34
+
35
+ The example targeting `main` applies only to unprotected repositories. Reviewed
36
+ repositories still require a non-default destination and administrator review;
37
+ `--source` does not bypass protection or allow a force push. Explicit sources
38
+ also work from detached HEAD; omitting `--source` preserves the existing reviewed
39
+ detached-HEAD rejection. Legacy pushes retain normal non-fast-forward rejection
40
+ and the existing guarded `--expected-current` rules. Reconnect seeding accepts
41
+ `--source` with `--reconnection ID --branch NAME`, defaults to `HEAD`, and reports
42
+ the resolved SHA for `source reconnect complete --expected-sha`.
43
+
18
44
  `source push` includes only the committed revision. On a reviewed repository it
19
45
  uploads a bounded Git bundle through Andeo; the trusted runner verifies the
20
46
  exact commit and may update only the named non-default branch. The developer
@@ -165,7 +191,7 @@ andeo source push --reconnection RECONNECT_ID --branch main --json
165
191
  andeo source reconnect complete --reconnection RECONNECT_ID --expected-sha EXACT_DEFAULT_BRANCH_SHA --json
166
192
  ```
167
193
 
168
- Use the actual default branch instead of `main`. The push sends local `HEAD` to the explicit destination branch, without force and without changing your managed remote. Push any other required branches from the corresponding commits before completion. The commands do not assume your checkout contains every remote branch or tag.
194
+ Use the actual default branch instead of `main`. The push sends local `HEAD` by default, or the exact commit selected by `--source REF_OR_COMMIT`, to the explicit destination branch, without force and without changing your managed remote. Push any other required branches using their corresponding `--source` refs before completion. The commands do not assume your checkout contains every remote branch or tag.
169
195
 
170
196
  Preparation pauses the old connection and revokes its write credentials; deployed production continues serving. The destination is not a connected source while it is being seeded, so seed events do not build or publish. Reviewed repositories use this administrator-only seeding path too.
171
197
 
@@ -37,7 +37,22 @@ export class CustomerActivity extends WorkflowEntrypoint<{}, { runId: string }>
37
37
  // return Response.json({ runId: await run.id }, { status: 202 });
38
38
  ```
39
39
 
40
- The CLI packages code for Andeo's Dynamic Workflow hosts. Do not deploy a separate Cloudflare workflow. Global `fetch()` works inside durable steps; a service is not required merely for HTTP. Pin approved destinations, validate variable URLs, bound timeouts/redirects, and make external effects idempotent because steps retry. A callback that only knows a run ID is a demo receipt, not sender authentication; use secret-backed verification for trusted callbacks.
40
+ The CLI packages code for Andeo's Dynamic Workflow hosts. Do not deploy a separate Cloudflare workflow. Public network is denied by default. To permit direct HTTPS, create `andeo.workflow-egress.json` beside the Wrangler configuration with schema `andeo.workflow-egress/v1` and one entry for every declared logical workflow:
41
+
42
+ ```json
43
+ {
44
+ "schema": "andeo.workflow-egress/v1",
45
+ "workflows": {
46
+ "customer-activity": {
47
+ "https": [{ "hostname": "gateway.example.com", "port": 443 }]
48
+ }
49
+ }
50
+ }
51
+ ```
52
+
53
+ An omitted file gives every workflow an empty allowlist. When the file exists, every declared workflow name must be present; use `"https": []` for workflows with no direct public fetches. Destinations are exact HTTPS hostname/443 pairs—never wildcards, IP literals, internal names, credentials, or alternate ports. Redirected GET/HEAD requests are revalidated against the same policy; redirects for mutations are denied. Keep variable URLs constrained to the retained allowlist and bound timeouts and response sizes.
54
+
55
+ The allowlist covers only direct global `fetch()` from workflow code. It does not list connected service bindings. Put secret-backed provider calls, provider SDKs, and operations needing credentials behind an approved service contract; do not add that provider's public hostname unless the workflow itself fetches it directly. Make external effects idempotent because durable steps retry. A callback that only knows a run ID is a demo receipt, not sender authentication; use secret-backed verification for trusted callbacks.
41
56
 
42
57
  ## Environment and services
43
58