epismo 1.7.1 → 1.9.0

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
@@ -42,15 +42,25 @@ The npm package contains a dependency-free JavaScript launcher and all supported
42
42
  ```sh
43
43
  epismo login
44
44
  epismo workspace list
45
- epismo workspace use WORKSPACE_ID # optional: save a default workspace
46
- epismo playbook search --query onboarding
45
+ epismo workspace use acme # optional: save a default workspace by ID or handle
46
+ epismo --workspace acme playbook search onboarding
47
+ epismo playbook resource list --kind cli
48
+ epismo playbook init --title Onboarding > playbook.json
49
+ epismo playbook create --definition @playbook.json
47
50
  ```
48
51
 
49
52
  Run `epismo --help` for command groups, or append `--help` to any group or command for its options.
50
53
 
54
+ Use `epismo examples` for common workflows, `epismo doctor` to inspect local setup, and `epismo completion zsh` (or `bash`, `fish`, `powershell`) to install shell completion.
55
+ The source man page is available at [`docs/epismo.1`](docs/epismo.1).
56
+
51
57
  ## Output and input
52
58
 
53
- Successful commands write JSON to stdout; warnings and errors write JSON to stderr. This keeps output easy to use from scripts and agents.
59
+ Successful commands write one JSON document to stdout. Progress events, warnings, and errors are written to stderr as newline-delimited JSON (one compact JSON object per line). This keeps output easy to use from scripts and agents while allowing interactive commands to report progress.
60
+
61
+ CLI JSON field names and enum values use `snake_case`. Machine-readable warning and error codes use `SCREAMING_SNAKE_CASE`. Input supplied through `--input` accepts both `snake_case` and `camelCase` fields at every nesting level. Do not provide both spellings of the same field in one object. OAuth protocol fields retain their standard wire names such as `access_token` and `grant_type`.
62
+
63
+ Interactive prompts such as the email-code input prompt are plain terminal text. All machine-readable diagnostic records remain one-line JSON objects.
54
64
 
55
65
  ```json
56
66
  {
@@ -62,6 +72,12 @@ Successful commands write JSON to stdout; warnings and errors write JSON to stde
62
72
  }
63
73
  ```
64
74
 
75
+ Progress and warnings use a common event envelope:
76
+
77
+ ```json
78
+ {"event":{"level":"info","code":"BROWSER_WAITING","message":"Waiting for authorization in your browser...","details":{"timeout_seconds":300}}}
79
+ ```
80
+
65
81
  Commands that accept a request body support inline JSON, a file, or stdin:
66
82
 
67
83
  ```sh
@@ -69,7 +85,32 @@ epismo playbook create --input @playbook.json
69
85
  epismo case record append CASE_ID --input - < record.json
70
86
  ```
71
87
 
72
- Explicit flags override fields supplied through `--input`. Mutations create an idempotency key automatically unless you provide `--idempotency-key` or `idempotencyKey` in the input.
88
+ Explicit flags override fields supplied through `--input`. Mutations create an idempotency key automatically unless you provide `--idempotency-key` or `idempotency_key` in the input.
89
+
90
+ ## Everyday terminal use
91
+
92
+ The default output is JSON for scripts and agents. Choose a human-friendly output format when working interactively:
93
+
94
+ ```sh
95
+ epismo workspace list --output table
96
+ epismo credit checkout --quantity 500 --output value --field checkout_url
97
+ epismo task list --all --output jsonl
98
+ epismo playbook search --query onboarding --jq '.playbooks[] | .id'
99
+ ```
100
+
101
+ Global options may appear before or after the command:
102
+
103
+ ```sh
104
+ epismo --workspace acme playbook list
105
+ epismo -w acme task list --all
106
+ EPISMO_WORKSPACE=acme epismo case list
107
+ ```
108
+
109
+ Workspace references accept an exact ID or unique handle. The effective workspace is chosen in this order: `--workspace`, `EPISMO_WORKSPACE`, a workspace-scoped token, then the saved default workspace. A scoped token cannot grant access outside its scope.
110
+
111
+ `--dry-run` previews archive, delete, revoke, close, ACL replacement, and workspace-clear operations without sending a request. In an interactive terminal those operations ask for confirmation; pass `--yes` to skip that prompt in scripts that allocate a TTY.
112
+
113
+ `--input` also works on list/search commands for agent workflows; there it supplies query parameters rather than a request body.
73
114
 
74
115
  ## Authentication and configuration
75
116
 
@@ -94,6 +135,8 @@ sh scripts/sync-openapi.sh
94
135
 
95
136
  Do not edit the snapshot manually. Its `info.version` represents API compatibility (for example, `1.0.0` for `/v1`), not the CLI release version. Contract tests ensure remote commands and query options remain compatible with the API.
96
137
 
138
+ The OpenAPI snapshot describes the server wire format, which uses `camelCase` for Epismo fields. The CLI translates those fields to and from its public `snake_case` representation at the process boundary.
139
+
97
140
  ## Develop
98
141
 
99
142
  The CLI runtime uses only the Go standard library.
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "epismo",
3
- "version": "1.7.1",
3
+ "version": "1.9.0",
4
4
  "description": "Dependency-free CLI for discovering, authoring, and coordinating reusable AI Playbooks.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",