@getmagical/cli 0.11.0 → 0.12.2

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.
package/README.md CHANGED
@@ -31,6 +31,34 @@ mgcl automations run-draft --draft-automation-id ... --agent-id ... --idempotenc
31
31
  mgcl automations publish --draft-automation-id ... # non-production only: mgcl refuses against the production API, and the API rejects it too
32
32
  ```
33
33
 
34
+ ## Search automation runs
35
+
36
+ ```bash
37
+ mgcl automation-runs list --search 'REF-123456' --automation-id <id> --json
38
+ mgcl automation-runs list-page --search 'REF-123456' --limit 20 --page 0 --json
39
+ ```
40
+
41
+ Both commands search on the server before pagination and combine `--search`
42
+ with the existing automation, workflow, status, invocation-type, and date
43
+ filters. Search ignores outer whitespace, matches case-insensitively, and
44
+ looks for substrings in run IDs, automation names, run input/shared-input
45
+ values, and current Data Store leaf values. Empty or whitespace-only search
46
+ disables the search predicate while preserving the other filters. PostgreSQL `ILIKE` patterns apply:
47
+ `%` matches any sequence, `_` matches one character, and backslash escapes
48
+ pattern characters. NUL characters are rejected.
49
+
50
+ Nested input values and Data Store leaves are searched in their JSON text
51
+ representation, so escaped quotes or backslashes can cause misses. Prefer a
52
+ simpler identifying fragment, then inspect the candidate's actual values.
53
+
54
+ `list` returns an array. `list-page` returns `items`, `page`, `pageSize`,
55
+ `hasMore`, `total`, and `isTotalTruncated`. Use `hasMore` to continue paging;
56
+ when `isTotalTruncated` is true, `total` is only a lower bound. Searched pages
57
+ avoid counting all matches: totals become exact on a nonempty terminal page
58
+ or an empty first page. An empty page beyond the end cannot establish the
59
+ exact total. Random ordering supports only page 0 and searched random samples
60
+ always report a truncated total.
61
+
34
62
  ## Regression tests
35
63
 
36
64
  Choose how many historical baseline runs to test per pathway:
@@ -436,13 +464,24 @@ denied, including eval management, publishing and deletion, schedules, admin
436
464
  operations, raw credential values, browser sessions, interactive sessions, and
437
465
  key minting.
438
466
 
467
+ `draft-runs:execute-sandbox` allows draft starts only with an explicitly valid
468
+ network capture replay in `--config-json`, for example
469
+ `{"networkTrafficCapture":{"replay":{"recordingId":"<recording UUID>"}}}`.
470
+ Replay also requires `captures:read`; supplying `--initial-store-json` requires
471
+ `store:write`. `runs:execute` continues to authorize these replay starts and is
472
+ required for starts without replay, recording runs, and reruns. The sandbox
473
+ grant does not authorize published or live execution paths.
474
+
439
475
  ### Operator rollout and rollback
440
476
 
441
477
  Deploy the backend before releasing the CLI flow. In WorkOS, create these
442
- permissions and grant the appropriate subset to member roles:
478
+ permissions and grant the appropriate subset to member roles. Also enable
479
+ `draft-runs:execute-sandbox` under Authorization > Configuration > API key
480
+ permissions > Users before user API keys can include it:
443
481
 
444
482
  ```text
445
483
  automations:read automations:write runs:read runs:execute runs:control
484
+ draft-runs:execute-sandbox
446
485
  store:read store:write skills:read skills:write credentials:read
447
486
  captures:read captures:write regressions:read regressions:run
448
487
  knowledge:read memory:read files:write