@roarkanalytics/cli 0.28.0 → 0.31.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.31.1](https://github.com/roarkhq/cli-roark-analytics/compare/v0.31.0...v0.31.1) (2026-09-29)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **deps:** require the SDK release that has the `project` option ([#77](https://github.com/roarkhq/cli-roark-analytics/issues/77)) ([04a2553](https://github.com/roarkhq/cli-roark-analytics/commit/04a255329242ab8abdc95acb77b26a6fcd7fff4d))
9
+
10
+ ## [0.31.0](https://github.com/roarkhq/cli-roark-analytics/compare/v0.30.0...v0.31.0) (2026-09-29)
11
+
12
+
13
+ ### Features
14
+
15
+ * **project:** choose the project a command acts on ([#61](https://github.com/roarkhq/cli-roark-analytics/issues/61)) ([240b672](https://github.com/roarkhq/cli-roark-analytics/commit/240b67220696ca58c36f15e8c846cdffc396b293))
16
+
17
+ ## [0.30.0](https://github.com/roarkhq/cli-roark-analytics/compare/v0.29.0...v0.30.0) (2026-09-28)
18
+
19
+
20
+ ### Features
21
+
22
+ * **cli:** cli update ([#74](https://github.com/roarkhq/cli-roark-analytics/issues/74)) ([2fd7ff5](https://github.com/roarkhq/cli-roark-analytics/commit/2fd7ff54f2dbfe0a47d933a96edd1cdc7d176d60))
23
+
24
+ ## [0.29.0](https://github.com/roarkhq/cli-roark-analytics/compare/v0.28.0...v0.29.0) (2026-09-28)
25
+
26
+
27
+ ### Features
28
+
29
+ * **cli:** cli update ([#72](https://github.com/roarkhq/cli-roark-analytics/issues/72)) ([1ecc3a1](https://github.com/roarkhq/cli-roark-analytics/commit/1ecc3a1162173d6d6ac974e8c8acc89945f7d6ce))
30
+
3
31
  ## [0.28.0](https://github.com/roarkhq/cli-roark-analytics/compare/v0.27.0...v0.28.0) (2026-09-24)
4
32
 
5
33
 
package/README.md CHANGED
@@ -40,6 +40,28 @@ a stored or environment credential to it. Pass `--allow-project-base-url` (or se
40
40
  `ROARK_ALLOW_PROJECT_BASE_URL`) once you have read the file, or `--token` to send a
41
41
  different credential.
42
42
 
43
+ ## Choose a project
44
+
45
+ `auth login` gives you a credential that acts as you, and it can reach every project
46
+ you belong to. So commands need to know which project they act on. The login writes
47
+ the project you picked on the consent screen, and after that there is nothing to do:
48
+
49
+ ```sh
50
+ roark config set project <project-id> # change it
51
+ roark config get project # see it
52
+ roark agent list --project <id> # just this once
53
+ export ROARK_PROJECT_ID="..." # or for a shell
54
+ ```
55
+
56
+ Precedence is the usual one: `--project`, then `ROARK_PROJECT_ID`, then `.roark.json`,
57
+ then the user config. Committing `{"project": "..."}` in a repository's `.roark.json`
58
+ is the intended way to pin a checkout to one project, and unlike `baseURL` it needs no
59
+ opt-in: a project id chooses which of your own projects you act on, it cannot send your
60
+ credential anywhere new.
61
+
62
+ If you authenticate with a **project API key** instead, the key already names its
63
+ project and all of this is ignored.
64
+
43
65
  ## Usage
44
66
 
45
67
  Commands read noun before verb, and the verb is one of `list`, `get`, `create`,
@@ -230,6 +252,12 @@ roark completion fish | source
230
252
  | `roark metric variant list <id-or-slug>` | List a metric’s variants |
231
253
  | `roark metric variant update <id-or-slug> <variant-id>` | Update a metric variant |
232
254
 
255
+ ### project
256
+
257
+ | Command | Description |
258
+ | -------------------- | ------------------------------------------ |
259
+ | `roark project list` | List projects available to this credential |
260
+
233
261
  ### simulation
234
262
 
235
263
  | Command | Description |
@@ -272,6 +300,12 @@ roark completion fish | source
272
300
  | `roark webhook get <webhook-id>` | Get webhook by ID |
273
301
  | `roark webhook list` | List webhooks |
274
302
 
303
+ ### whoami
304
+
305
+ | Command | Description |
306
+ | -------------- | ------------------------------- |
307
+ | `roark whoami` | Describe the current credential |
308
+
275
309
  ## Requirements
276
310
 
277
311
  Node.js 20 or newer.
package/commands.js CHANGED
@@ -40,6 +40,7 @@ exports.GROUPS = {
40
40
  'metric definition': 'Manage metric definitions',
41
41
  'metric policy': 'Manage metric policies',
42
42
  'metric variant': 'Manage metric variants',
43
+ project: 'Read projects',
43
44
  simulation: 'Manage simulations',
44
45
  'simulation environment': 'Manage simulation environments',
45
46
  'simulation job': 'Read simulation jobs',
@@ -2000,6 +2001,15 @@ exports.COMMANDS = [
2000
2001
  valueKind: 'string',
2001
2002
  repeatable: false,
2002
2003
  },
2004
+ {
2005
+ name: 'additional-expectations',
2006
+ path: ['additionalExpectations'],
2007
+ location: 'body',
2008
+ required: false,
2009
+ description: "The expectations graded on this variant only, on top of the flow's own. Sent as the complete set: it replaces whatever the variant had, so omit it to leave the set alone and send [] to clear it. Improv flows only: a scripted variant's expectations come from the agent turns on its path and are rewritten on every graph edit.",
2010
+ valueKind: 'array',
2011
+ repeatable: false,
2012
+ },
2003
2013
  {
2004
2014
  name: 'persona-override-id',
2005
2015
  path: ['personaOverrideId'],
@@ -2142,7 +2152,7 @@ exports.COMMANDS = [
2142
2152
  path: ['additionalExpectations'],
2143
2153
  location: 'body',
2144
2154
  required: false,
2145
- description: "Replaces the expectations that apply to this variant on top of the flow's. Omit to leave them alone, send [] to clear. Improv flows only: a scripted variant's expectations come from the agent turns on its path and are rewritten on the next graph edit.",
2155
+ description: "The expectations graded on this variant only, on top of the flow's own. Sent as the complete set: it replaces whatever the variant had, so omit it to leave the set alone and send [] to clear it. Improv flows only: a scripted variant's expectations come from the agent turns on its path and are rewritten on every graph edit.",
2146
2156
  valueKind: 'array',
2147
2157
  repeatable: false,
2148
2158
  },
@@ -2286,7 +2296,7 @@ exports.COMMANDS = [
2286
2296
  path: ['additionalExpectations'],
2287
2297
  location: 'body',
2288
2298
  required: false,
2289
- description: "Replaces the expectations that apply to this variant on top of the flow's. Omit to leave them alone, send [] to clear. Improv flows only: a scripted variant's expectations come from the agent turns on its path and are rewritten on the next graph edit.",
2299
+ description: "The expectations graded on this variant only, on top of the flow's own. Sent as the complete set: it replaces whatever the variant had, so omit it to leave the set alone and send [] to clear it. Improv flows only: a scripted variant's expectations come from the agent turns on its path and are rewritten on every graph edit.",
2290
2300
  valueKind: 'array',
2291
2301
  repeatable: false,
2292
2302
  },
@@ -3553,6 +3563,23 @@ exports.COMMANDS = [
3553
3563
  acceptsBody: true,
3554
3564
  requiresAuth: true,
3555
3565
  },
3566
+ {
3567
+ commandPath: ['project', 'list'],
3568
+ clientProperty: 'project',
3569
+ methodName: 'list',
3570
+ httpMethod: 'get',
3571
+ httpPath: '/v1/projects',
3572
+ summary: 'List projects available to this credential',
3573
+ description: 'Returns every project the calling credential may act on, with the permissions it holds in each. A project-scoped API key returns the single project it is bound to. A user-scoped credential returns the projects in its organization where the holder is an active member. Use the returned id in the X-Roark-Project-Id header.',
3574
+ positionals: [],
3575
+ flags: [],
3576
+ hasParams: false,
3577
+ paramsAllOptional: true,
3578
+ bodyOpaque: false,
3579
+ bodyVariants: [],
3580
+ acceptsBody: false,
3581
+ requiresAuth: true,
3582
+ },
3556
3583
  {
3557
3584
  commandPath: ['simulation', 'environment', 'create'],
3558
3585
  clientProperty: 'simulationEnvironment',
@@ -5778,4 +5805,21 @@ exports.COMMANDS = [
5778
5805
  acceptsBody: false,
5779
5806
  requiresAuth: true,
5780
5807
  },
5808
+ {
5809
+ commandPath: ['whoami'],
5810
+ clientProperty: 'me',
5811
+ methodName: 'get',
5812
+ httpMethod: 'get',
5813
+ httpPath: '/v1/me',
5814
+ summary: 'Describe the current credential',
5815
+ description: 'Returns the scope of the credential making the request, the organization it acts in, its default project (if any) and the permissions it was granted. Works for both project-scoped API keys and user-scoped credentials from the CLI or an MCP connector.',
5816
+ positionals: [],
5817
+ flags: [],
5818
+ hasParams: false,
5819
+ paramsAllOptional: true,
5820
+ bodyOpaque: false,
5821
+ bodyVariants: [],
5822
+ acceptsBody: false,
5823
+ requiresAuth: true,
5824
+ },
5781
5825
  ];