@roarkanalytics/cli 0.26.0 → 0.28.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/CHANGELOG.md +21 -0
- package/README.md +5 -0
- package/commands.js +186 -2
- package/completions.js +4 -4
- package/man/roark-simulation-job-tool-mock-list.1 +93 -0
- package/man/roark-simulation-plan-create.1 +1 -1
- package/man/roark-simulation-plan-update.1 +1 -1
- package/man/roark-simulation-tool-fixture-create.1 +105 -0
- package/man/roark-simulation-tool-fixture-delete.1 +93 -0
- package/man/roark-simulation-tool-fixture-list.1 +93 -0
- package/man/roark-simulation-tool-fixture-update.1 +103 -0
- package/man/roark.1 +15 -0
- package/npm-shrinkwrap.json +6 -6
- package/package.json +7 -2
- package/version.d.ts +1 -1
- package/version.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.28.0](https://github.com/roarkhq/cli-roark-analytics/compare/v0.27.0...v0.28.0) (2026-09-24)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **cli:** cli update ([#70](https://github.com/roarkhq/cli-roark-analytics/issues/70)) ([2f058da](https://github.com/roarkhq/cli-roark-analytics/commit/2f058da3433004f93cb6b24b33f2a97dd8042fe7))
|
|
9
|
+
|
|
10
|
+
## [0.27.0](https://github.com/roarkhq/cli-roark-analytics/compare/v0.26.1...v0.27.0) (2026-09-23)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **cli:** cli update ([#68](https://github.com/roarkhq/cli-roark-analytics/issues/68)) ([077cb61](https://github.com/roarkhq/cli-roark-analytics/commit/077cb6105816c02b6595e92b604d8751520d09a4))
|
|
16
|
+
|
|
17
|
+
## [0.26.1](https://github.com/roarkhq/cli-roark-analytics/compare/v0.26.0...v0.26.1) (2026-09-23)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* **deps:** require @roarkanalytics/sdk ^4.2.0 ([#64](https://github.com/roarkhq/cli-roark-analytics/issues/64)) ([ffe210e](https://github.com/roarkhq/cli-roark-analytics/commit/ffe210e06458f4c4c96b1236ba465e3eca299fb5))
|
|
23
|
+
|
|
3
24
|
## [0.26.0](https://github.com/roarkhq/cli-roark-analytics/compare/v0.25.0...v0.26.0) (2026-09-23)
|
|
4
25
|
|
|
5
26
|
|
package/README.md
CHANGED
|
@@ -241,6 +241,7 @@ roark completion fish | source
|
|
|
241
241
|
| `roark simulation environment update <environment-id>` | Update an environment |
|
|
242
242
|
| `roark simulation job get <job-id>` | Get simulation by ID |
|
|
243
243
|
| `roark simulation job lookup --roark-phone-number <value>` | Lookup by phone number |
|
|
244
|
+
| `roark simulation job tool-mock list <job-id>` | List mocked tool invocations |
|
|
244
245
|
| `roark simulation persona create --name <value> --language <value> --accent <value> --gender <value>` | Create a new persona |
|
|
245
246
|
| `roark simulation persona get <persona-id>` | Get persona by ID |
|
|
246
247
|
| `roark simulation persona list` | List personas |
|
|
@@ -257,6 +258,10 @@ roark completion fish | source
|
|
|
257
258
|
| `roark simulation run --data '{ ... }'` | Run a simulation |
|
|
258
259
|
| `roark simulation template list` | List simulation templates |
|
|
259
260
|
| `roark simulation tool mock --simulation-job-id <value> --tool-name <value>` | Mock a tool call during a test call |
|
|
261
|
+
| `roark simulation tool-fixture create --tool-name <value>` | Set a tool fixture |
|
|
262
|
+
| `roark simulation tool-fixture delete <fixture-id>` | Delete a tool fixture |
|
|
263
|
+
| `roark simulation tool-fixture list` | List tool fixtures |
|
|
264
|
+
| `roark simulation tool-fixture update <fixture-id>` | Update a tool fixture |
|
|
260
265
|
|
|
261
266
|
### webhook
|
|
262
267
|
|
package/commands.js
CHANGED
|
@@ -43,11 +43,13 @@ exports.GROUPS = {
|
|
|
43
43
|
simulation: 'Manage simulations',
|
|
44
44
|
'simulation environment': 'Manage simulation environments',
|
|
45
45
|
'simulation job': 'Read simulation jobs',
|
|
46
|
+
'simulation job tool-mock': 'Read simulation job tool mocks',
|
|
46
47
|
'simulation persona': 'Manage simulation personas',
|
|
47
48
|
'simulation plan': 'Manage simulation plans',
|
|
48
49
|
'simulation plan job': 'Manage simulation plan jobs',
|
|
49
50
|
'simulation template': 'Read simulation templates',
|
|
50
51
|
'simulation tool': 'Read simulation tool',
|
|
52
|
+
'simulation tool-fixture': 'Manage simulation tool fixtures',
|
|
51
53
|
webhook: 'Manage webhooks',
|
|
52
54
|
};
|
|
53
55
|
exports.COMMANDS = [
|
|
@@ -3829,6 +3831,29 @@ exports.COMMANDS = [
|
|
|
3829
3831
|
acceptsBody: false,
|
|
3830
3832
|
requiresAuth: true,
|
|
3831
3833
|
},
|
|
3834
|
+
{
|
|
3835
|
+
commandPath: ['simulation', 'job', 'tool-mock', 'list'],
|
|
3836
|
+
clientProperty: 'simulationJobToolMock',
|
|
3837
|
+
methodName: 'list',
|
|
3838
|
+
httpMethod: 'get',
|
|
3839
|
+
httpPath: '/v1/simulation/job/{jobId}/tool-mock',
|
|
3840
|
+
summary: 'List mocked tool invocations',
|
|
3841
|
+
description: "Every guarded tool invocation Roark answered during this simulation: what the agent tried to call, with what arguments, and the simulated response it received. Use this to assert tool behavior in CI after a test call, with zero real side effects. Empty when the agent's tools are not guarded (see the tool guard docs).",
|
|
3842
|
+
positionals: [
|
|
3843
|
+
{
|
|
3844
|
+
name: 'job-id',
|
|
3845
|
+
paramKey: 'jobId',
|
|
3846
|
+
description: 'Simulation job ID',
|
|
3847
|
+
},
|
|
3848
|
+
],
|
|
3849
|
+
flags: [],
|
|
3850
|
+
hasParams: false,
|
|
3851
|
+
paramsAllOptional: true,
|
|
3852
|
+
bodyOpaque: false,
|
|
3853
|
+
bodyVariants: [],
|
|
3854
|
+
acceptsBody: false,
|
|
3855
|
+
requiresAuth: true,
|
|
3856
|
+
},
|
|
3832
3857
|
{
|
|
3833
3858
|
commandPath: ['simulation', 'persona', 'create'],
|
|
3834
3859
|
clientProperty: 'simulationPersona',
|
|
@@ -4783,7 +4808,7 @@ exports.COMMANDS = [
|
|
|
4783
4808
|
path: ['comparisonBaseline'],
|
|
4784
4809
|
location: 'body',
|
|
4785
4810
|
required: false,
|
|
4786
|
-
description: 'The value of `comparisonProperty
|
|
4811
|
+
description: 'The reference value of `comparisonProperty`, for example `NONE` for `BACKGROUND_NOISE` or `NORMAL` for `SPEECH_PACE`: shown first in the results. Must be a value that property can take. Whether a value did significantly worse does not depend on it: that is decided against every other value combined (see `sweepAttribution`). Stored rather than assumed, so the report can say "compared against US accent" instead of implying Roark decided which value is normal. Most properties have an obvious baseline and the dashboard prefills it; `GENDER` has none, so choose the one you are testing against.',
|
|
4787
4812
|
valueKind: 'string',
|
|
4788
4813
|
repeatable: false,
|
|
4789
4814
|
},
|
|
@@ -5306,7 +5331,7 @@ exports.COMMANDS = [
|
|
|
5306
5331
|
path: ['comparisonBaseline'],
|
|
5307
5332
|
location: 'body',
|
|
5308
5333
|
required: false,
|
|
5309
|
-
description: 'The value
|
|
5334
|
+
description: 'The reference value, shown first in the results. See `POST /v1/simulation/plan`. A real value cannot be sent on its own: the property it belongs to decides which values are legal, and an omitted property means "leave unchanged", which this endpoint cannot check a baseline against. Send `comparisonProperty` with it, or get a `400`. `null` on its own IS allowed, and clears just the baseline while leaving the property set. Nothing needs validating when clearing, and a property with no baseline is a real state: the report falls back to that property\'s own norm, and `GENDER` has no norm to fall back to.',
|
|
5310
5335
|
valueKind: 'string',
|
|
5311
5336
|
repeatable: false,
|
|
5312
5337
|
},
|
|
@@ -5437,6 +5462,165 @@ exports.COMMANDS = [
|
|
|
5437
5462
|
acceptsBody: true,
|
|
5438
5463
|
requiresAuth: true,
|
|
5439
5464
|
},
|
|
5465
|
+
{
|
|
5466
|
+
commandPath: ['simulation', 'tool-fixture', 'create'],
|
|
5467
|
+
clientProperty: 'simulationToolFixture',
|
|
5468
|
+
methodName: 'create',
|
|
5469
|
+
httpMethod: 'post',
|
|
5470
|
+
httpPath: '/v1/simulation/tool-fixture',
|
|
5471
|
+
summary: 'Set a tool fixture',
|
|
5472
|
+
description: 'Create-or-replace by scope: one fixture per tool project-wide, plus one per (tool, flow variant). Setting the same scope twice replaces the response, so CI can apply fixtures idempotently. During Roark test calls the tool guard answers with the fixture verbatim instead of generating a response; real callers are never affected.',
|
|
5473
|
+
positionals: [],
|
|
5474
|
+
flags: [
|
|
5475
|
+
{
|
|
5476
|
+
name: 'tool-name',
|
|
5477
|
+
path: ['toolName'],
|
|
5478
|
+
location: 'body',
|
|
5479
|
+
required: true,
|
|
5480
|
+
description: 'The tool this fixture answers for.',
|
|
5481
|
+
valueKind: 'string',
|
|
5482
|
+
repeatable: false,
|
|
5483
|
+
},
|
|
5484
|
+
{
|
|
5485
|
+
name: 'response',
|
|
5486
|
+
path: ['response'],
|
|
5487
|
+
location: 'body',
|
|
5488
|
+
required: false,
|
|
5489
|
+
description: 'The exact JSON to return.',
|
|
5490
|
+
valueKind: 'string',
|
|
5491
|
+
repeatable: false,
|
|
5492
|
+
},
|
|
5493
|
+
{
|
|
5494
|
+
name: 'customer-flow-variant-id',
|
|
5495
|
+
path: ['customerFlowVariantId'],
|
|
5496
|
+
location: 'body',
|
|
5497
|
+
required: false,
|
|
5498
|
+
description: 'Pin the fixture to one flow variant (scenario). Omit for a project-wide fixture. A variant-pinned fixture beats the project-wide one.',
|
|
5499
|
+
valueKind: 'string',
|
|
5500
|
+
repeatable: false,
|
|
5501
|
+
},
|
|
5502
|
+
{
|
|
5503
|
+
name: 'description',
|
|
5504
|
+
path: ['description'],
|
|
5505
|
+
location: 'body',
|
|
5506
|
+
required: false,
|
|
5507
|
+
description: 'Why this fixture exists.',
|
|
5508
|
+
valueKind: 'string',
|
|
5509
|
+
repeatable: false,
|
|
5510
|
+
},
|
|
5511
|
+
{
|
|
5512
|
+
name: 'enabled',
|
|
5513
|
+
path: ['enabled'],
|
|
5514
|
+
location: 'body',
|
|
5515
|
+
required: false,
|
|
5516
|
+
description: 'Defaults to true.',
|
|
5517
|
+
valueKind: 'boolean',
|
|
5518
|
+
repeatable: false,
|
|
5519
|
+
},
|
|
5520
|
+
],
|
|
5521
|
+
hasParams: true,
|
|
5522
|
+
paramsAllOptional: false,
|
|
5523
|
+
bodyOpaque: false,
|
|
5524
|
+
bodyVariants: [],
|
|
5525
|
+
acceptsBody: true,
|
|
5526
|
+
requiresAuth: true,
|
|
5527
|
+
},
|
|
5528
|
+
{
|
|
5529
|
+
commandPath: ['simulation', 'tool-fixture', 'delete'],
|
|
5530
|
+
clientProperty: 'simulationToolFixture',
|
|
5531
|
+
methodName: 'delete',
|
|
5532
|
+
httpMethod: 'delete',
|
|
5533
|
+
httpPath: '/v1/simulation/tool-fixture/{fixtureId}',
|
|
5534
|
+
summary: 'Delete a tool fixture',
|
|
5535
|
+
description: 'The tool goes back to scenario-aware generated responses in test calls.',
|
|
5536
|
+
positionals: [
|
|
5537
|
+
{
|
|
5538
|
+
name: 'fixture-id',
|
|
5539
|
+
paramKey: 'fixtureId',
|
|
5540
|
+
},
|
|
5541
|
+
],
|
|
5542
|
+
flags: [],
|
|
5543
|
+
hasParams: false,
|
|
5544
|
+
paramsAllOptional: true,
|
|
5545
|
+
bodyOpaque: false,
|
|
5546
|
+
bodyVariants: [],
|
|
5547
|
+
acceptsBody: false,
|
|
5548
|
+
requiresAuth: true,
|
|
5549
|
+
},
|
|
5550
|
+
{
|
|
5551
|
+
commandPath: ['simulation', 'tool-fixture', 'list'],
|
|
5552
|
+
clientProperty: 'simulationToolFixture',
|
|
5553
|
+
methodName: 'list',
|
|
5554
|
+
httpMethod: 'get',
|
|
5555
|
+
httpPath: '/v1/simulation/tool-fixture',
|
|
5556
|
+
summary: 'List tool fixtures',
|
|
5557
|
+
description: 'All deterministic tool responses configured for this project, optionally filtered by tool.',
|
|
5558
|
+
positionals: [],
|
|
5559
|
+
flags: [
|
|
5560
|
+
{
|
|
5561
|
+
name: 'tool-name',
|
|
5562
|
+
path: ['toolName'],
|
|
5563
|
+
location: 'query',
|
|
5564
|
+
required: false,
|
|
5565
|
+
description: 'Only fixtures for this tool.',
|
|
5566
|
+
valueKind: 'string',
|
|
5567
|
+
repeatable: false,
|
|
5568
|
+
},
|
|
5569
|
+
],
|
|
5570
|
+
hasParams: true,
|
|
5571
|
+
paramsAllOptional: true,
|
|
5572
|
+
bodyOpaque: false,
|
|
5573
|
+
bodyVariants: [],
|
|
5574
|
+
acceptsBody: false,
|
|
5575
|
+
requiresAuth: true,
|
|
5576
|
+
},
|
|
5577
|
+
{
|
|
5578
|
+
commandPath: ['simulation', 'tool-fixture', 'update'],
|
|
5579
|
+
clientProperty: 'simulationToolFixture',
|
|
5580
|
+
methodName: 'update',
|
|
5581
|
+
httpMethod: 'put',
|
|
5582
|
+
httpPath: '/v1/simulation/tool-fixture/{fixtureId}',
|
|
5583
|
+
summary: 'Update a tool fixture',
|
|
5584
|
+
description: 'Change the response, description, or enabled state of an existing fixture.',
|
|
5585
|
+
positionals: [
|
|
5586
|
+
{
|
|
5587
|
+
name: 'fixture-id',
|
|
5588
|
+
paramKey: 'fixtureId',
|
|
5589
|
+
},
|
|
5590
|
+
],
|
|
5591
|
+
flags: [
|
|
5592
|
+
{
|
|
5593
|
+
name: 'response',
|
|
5594
|
+
path: ['response'],
|
|
5595
|
+
location: 'body',
|
|
5596
|
+
required: false,
|
|
5597
|
+
valueKind: 'string',
|
|
5598
|
+
repeatable: false,
|
|
5599
|
+
},
|
|
5600
|
+
{
|
|
5601
|
+
name: 'description',
|
|
5602
|
+
path: ['description'],
|
|
5603
|
+
location: 'body',
|
|
5604
|
+
required: false,
|
|
5605
|
+
valueKind: 'string',
|
|
5606
|
+
repeatable: false,
|
|
5607
|
+
},
|
|
5608
|
+
{
|
|
5609
|
+
name: 'enabled',
|
|
5610
|
+
path: ['enabled'],
|
|
5611
|
+
location: 'body',
|
|
5612
|
+
required: false,
|
|
5613
|
+
valueKind: 'boolean',
|
|
5614
|
+
repeatable: false,
|
|
5615
|
+
},
|
|
5616
|
+
],
|
|
5617
|
+
hasParams: true,
|
|
5618
|
+
paramsAllOptional: true,
|
|
5619
|
+
bodyOpaque: false,
|
|
5620
|
+
bodyVariants: [],
|
|
5621
|
+
acceptsBody: true,
|
|
5622
|
+
requiresAuth: true,
|
|
5623
|
+
},
|
|
5440
5624
|
{
|
|
5441
5625
|
commandPath: ['webhook', 'create'],
|
|
5442
5626
|
clientProperty: 'webhook',
|