@roarkanalytics/cli 0.23.1 → 0.24.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 +7 -0
- package/README.md +11 -0
- package/commands.js +213 -1
- package/completions.js +4 -4
- package/man/roark-agent-config-get.1 +93 -0
- package/man/roark-agent-config-list.1 +89 -0
- package/man/roark-agent-config-promote.1 +93 -0
- package/man/roark-agent-config-resolve.1 +109 -0
- package/man/roark-agent-config-staging-delete.1 +93 -0
- package/man/roark-agent-config-update.1 +106 -0
- package/man/roark-autoimprove-job-create.1 +1 -1
- package/man/roark.1 +18 -0
- package/npm-shrinkwrap.json +5 -5
- package/package.json +7 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.24.0](https://github.com/roarkhq/cli-roark-analytics/compare/v0.23.1...v0.24.0) (2026-09-22)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **cli:** cli update ([#59](https://github.com/roarkhq/cli-roark-analytics/issues/59)) ([9669eda](https://github.com/roarkhq/cli-roark-analytics/commit/9669eda9e475e8cd018d7743d446c8ee30bfdc6f))
|
|
9
|
+
|
|
3
10
|
## [0.23.1](https://github.com/roarkhq/cli-roark-analytics/compare/v0.23.0...v0.23.1) (2026-09-21)
|
|
4
11
|
|
|
5
12
|
|
package/README.md
CHANGED
|
@@ -122,6 +122,17 @@ roark completion fish | source
|
|
|
122
122
|
| `roark agent prompt version list <agent-id> <prompt-id>` | List a prompt's versions |
|
|
123
123
|
| `roark agent update <agent-id>` | Update an agent |
|
|
124
124
|
|
|
125
|
+
### agent-config
|
|
126
|
+
|
|
127
|
+
| Command | Description |
|
|
128
|
+
| ---------------------------------------------------------------------- | ----------------------------- |
|
|
129
|
+
| `roark agent-config get <key>` | Get a managed config |
|
|
130
|
+
| `roark agent-config list` | List managed configs |
|
|
131
|
+
| `roark agent-config promote <key>` | Promote staging to production |
|
|
132
|
+
| `roark agent-config resolve <key>` | Resolve config for a session |
|
|
133
|
+
| `roark agent-config staging delete <key>` | Discard the staging revision |
|
|
134
|
+
| `roark agent-config update <key> --channel <value> --document <value>` | Write a config revision |
|
|
135
|
+
|
|
125
136
|
### autoimprove
|
|
126
137
|
|
|
127
138
|
| Command | Description |
|
package/commands.js
CHANGED
|
@@ -12,6 +12,8 @@ exports.GROUPS = {
|
|
|
12
12
|
'agent endpoint': 'Manage agent endpoints',
|
|
13
13
|
'agent prompt': 'Manage agent prompts',
|
|
14
14
|
'agent prompt version': 'Read agent prompt versions',
|
|
15
|
+
'agent-config': 'Manage agent configs',
|
|
16
|
+
'agent-config staging': 'Manage agent config staging',
|
|
15
17
|
autoimprove: 'Manage autoimproves',
|
|
16
18
|
'autoimprove job': 'Manage autoimprove jobs',
|
|
17
19
|
'autoimprove job guidance': 'Read autoimprove job guidance',
|
|
@@ -483,6 +485,216 @@ exports.COMMANDS = [
|
|
|
483
485
|
acceptsBody: true,
|
|
484
486
|
requiresAuth: true,
|
|
485
487
|
},
|
|
488
|
+
{
|
|
489
|
+
commandPath: ['agent-config', 'get'],
|
|
490
|
+
clientProperty: 'agentConfig',
|
|
491
|
+
methodName: 'getByID',
|
|
492
|
+
httpMethod: 'get',
|
|
493
|
+
httpPath: '/v1/agent-config/{key}',
|
|
494
|
+
summary: 'Get a managed config',
|
|
495
|
+
description: 'Fetch one managed config with its channel pointers and recent revisions, newest first.',
|
|
496
|
+
positionals: [
|
|
497
|
+
{
|
|
498
|
+
name: 'key',
|
|
499
|
+
paramKey: 'key',
|
|
500
|
+
},
|
|
501
|
+
],
|
|
502
|
+
flags: [],
|
|
503
|
+
hasParams: false,
|
|
504
|
+
paramsAllOptional: true,
|
|
505
|
+
bodyOpaque: false,
|
|
506
|
+
bodyVariants: [],
|
|
507
|
+
acceptsBody: false,
|
|
508
|
+
requiresAuth: true,
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
commandPath: ['agent-config', 'list'],
|
|
512
|
+
clientProperty: 'agentConfig',
|
|
513
|
+
methodName: 'list',
|
|
514
|
+
httpMethod: 'get',
|
|
515
|
+
httpPath: '/v1/agent-config',
|
|
516
|
+
summary: 'List managed configs',
|
|
517
|
+
description: 'List the managed agent configs in this project, most recent first.',
|
|
518
|
+
positionals: [],
|
|
519
|
+
flags: [],
|
|
520
|
+
hasParams: false,
|
|
521
|
+
paramsAllOptional: true,
|
|
522
|
+
bodyOpaque: false,
|
|
523
|
+
bodyVariants: [],
|
|
524
|
+
acceptsBody: false,
|
|
525
|
+
requiresAuth: true,
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
commandPath: ['agent-config', 'promote'],
|
|
529
|
+
clientProperty: 'agentConfig',
|
|
530
|
+
methodName: 'promote',
|
|
531
|
+
httpMethod: 'post',
|
|
532
|
+
httpPath: '/v1/agent-config/{key}/promote',
|
|
533
|
+
summary: 'Promote staging to production',
|
|
534
|
+
description: 'Point the production channel at the staging revision. Real traffic reads it from the next session onward; roll back by writing the prior revision id to production (the chain preserves every state).',
|
|
535
|
+
positionals: [
|
|
536
|
+
{
|
|
537
|
+
name: 'key',
|
|
538
|
+
paramKey: 'key',
|
|
539
|
+
},
|
|
540
|
+
],
|
|
541
|
+
flags: [],
|
|
542
|
+
hasParams: false,
|
|
543
|
+
paramsAllOptional: true,
|
|
544
|
+
bodyOpaque: false,
|
|
545
|
+
bodyVariants: [],
|
|
546
|
+
acceptsBody: false,
|
|
547
|
+
requiresAuth: true,
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
commandPath: ['agent-config', 'resolve'],
|
|
551
|
+
clientProperty: 'agentConfig',
|
|
552
|
+
methodName: 'resolve',
|
|
553
|
+
httpMethod: 'post',
|
|
554
|
+
httpPath: '/v1/agent-config/{key}/resolve',
|
|
555
|
+
summary: 'Resolve config for a session',
|
|
556
|
+
description: 'The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too. On the first fetch of an unknown key, pass `defaults` (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call. Cache the response per session; do not fetch per turn.',
|
|
557
|
+
positionals: [
|
|
558
|
+
{
|
|
559
|
+
name: 'key',
|
|
560
|
+
paramKey: 'key',
|
|
561
|
+
},
|
|
562
|
+
],
|
|
563
|
+
flags: [
|
|
564
|
+
{
|
|
565
|
+
name: 'defaults',
|
|
566
|
+
path: ['defaults'],
|
|
567
|
+
location: 'body',
|
|
568
|
+
required: false,
|
|
569
|
+
description: 'Your baked-in config. On the first fetch of an unknown key this registers the config and becomes revision 1, so integration is a single call. Ignored once the key exists.',
|
|
570
|
+
valueKind: 'object',
|
|
571
|
+
repeatable: false,
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
name: 'session',
|
|
575
|
+
path: ['session'],
|
|
576
|
+
location: 'body',
|
|
577
|
+
required: false,
|
|
578
|
+
description: 'Session context. When the call was originated by a Roark simulation, Roark recognizes it here and serves the staging revision for this session only; real traffic always gets production.',
|
|
579
|
+
valueKind: 'object',
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
name: 'session.session-id',
|
|
583
|
+
path: ['session', 'sessionId'],
|
|
584
|
+
location: 'body',
|
|
585
|
+
required: false,
|
|
586
|
+
description: 'Your session or room identifier, for correlation.',
|
|
587
|
+
valueKind: 'string',
|
|
588
|
+
repeatable: false,
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
name: 'session.caller-number',
|
|
592
|
+
path: ['session', 'callerNumber'],
|
|
593
|
+
location: 'body',
|
|
594
|
+
required: false,
|
|
595
|
+
description: 'The number calling your agent (E.164). Required for simulation recognition.',
|
|
596
|
+
valueKind: 'string',
|
|
597
|
+
repeatable: false,
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
name: 'session.called-number',
|
|
601
|
+
path: ['session', 'calledNumber'],
|
|
602
|
+
location: 'body',
|
|
603
|
+
required: false,
|
|
604
|
+
description: 'The number your agent was reached on (E.164).',
|
|
605
|
+
valueKind: 'string',
|
|
606
|
+
repeatable: false,
|
|
607
|
+
},
|
|
608
|
+
],
|
|
609
|
+
hasParams: true,
|
|
610
|
+
paramsAllOptional: true,
|
|
611
|
+
bodyOpaque: false,
|
|
612
|
+
bodyVariants: [],
|
|
613
|
+
acceptsBody: true,
|
|
614
|
+
requiresAuth: true,
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
commandPath: ['agent-config', 'staging', 'delete'],
|
|
618
|
+
clientProperty: 'agentConfig',
|
|
619
|
+
methodName: 'deleteStaging',
|
|
620
|
+
httpMethod: 'delete',
|
|
621
|
+
httpPath: '/v1/agent-config/{key}/staging',
|
|
622
|
+
summary: 'Discard the staging revision',
|
|
623
|
+
description: 'Clear the staging channel. Production is untouched; recognized simulation sessions go back to reading production.',
|
|
624
|
+
positionals: [
|
|
625
|
+
{
|
|
626
|
+
name: 'key',
|
|
627
|
+
paramKey: 'key',
|
|
628
|
+
},
|
|
629
|
+
],
|
|
630
|
+
flags: [],
|
|
631
|
+
hasParams: false,
|
|
632
|
+
paramsAllOptional: true,
|
|
633
|
+
bodyOpaque: false,
|
|
634
|
+
bodyVariants: [],
|
|
635
|
+
acceptsBody: false,
|
|
636
|
+
requiresAuth: true,
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
commandPath: ['agent-config', 'update'],
|
|
640
|
+
clientProperty: 'agentConfig',
|
|
641
|
+
methodName: 'update',
|
|
642
|
+
httpMethod: 'put',
|
|
643
|
+
httpPath: '/v1/agent-config/{key}',
|
|
644
|
+
summary: 'Write a config revision',
|
|
645
|
+
description: 'Write a new revision onto a channel. Writing production creates the key when it does not exist; writing staging stages a candidate that only Roark-recognized simulation sessions will read. Every write is a new revision; nothing is overwritten.',
|
|
646
|
+
positionals: [
|
|
647
|
+
{
|
|
648
|
+
name: 'key',
|
|
649
|
+
paramKey: 'key',
|
|
650
|
+
},
|
|
651
|
+
],
|
|
652
|
+
flags: [
|
|
653
|
+
{
|
|
654
|
+
name: 'channel',
|
|
655
|
+
path: ['channel'],
|
|
656
|
+
location: 'body',
|
|
657
|
+
required: true,
|
|
658
|
+
description: 'Which channel to write.',
|
|
659
|
+
valueKind: 'string',
|
|
660
|
+
enumValues: ['production', 'staging'],
|
|
661
|
+
repeatable: false,
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
name: 'document',
|
|
665
|
+
path: ['document'],
|
|
666
|
+
location: 'body',
|
|
667
|
+
required: true,
|
|
668
|
+
description: 'The full config JSON for the new revision.',
|
|
669
|
+
valueKind: 'object',
|
|
670
|
+
repeatable: false,
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
name: 'summary',
|
|
674
|
+
path: ['summary'],
|
|
675
|
+
location: 'body',
|
|
676
|
+
required: false,
|
|
677
|
+
description: 'One-line story of the change.',
|
|
678
|
+
valueKind: 'string',
|
|
679
|
+
repeatable: false,
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
name: 'agent-id',
|
|
683
|
+
path: ['agentId'],
|
|
684
|
+
location: 'body',
|
|
685
|
+
required: false,
|
|
686
|
+
description: 'Link this config to a Roark agent (the one your calls report). Required before Autoimprove can run on it: the link is how a fix finds the config channel.',
|
|
687
|
+
valueKind: 'string',
|
|
688
|
+
repeatable: false,
|
|
689
|
+
},
|
|
690
|
+
],
|
|
691
|
+
hasParams: true,
|
|
692
|
+
paramsAllOptional: false,
|
|
693
|
+
bodyOpaque: false,
|
|
694
|
+
bodyVariants: [],
|
|
695
|
+
acceptsBody: true,
|
|
696
|
+
requiresAuth: true,
|
|
697
|
+
},
|
|
486
698
|
{
|
|
487
699
|
commandPath: ['autoimprove', 'job', 'answer'],
|
|
488
700
|
clientProperty: 'autoimproveJob',
|
|
@@ -544,7 +756,7 @@ exports.COMMANDS = [
|
|
|
544
756
|
httpMethod: 'post',
|
|
545
757
|
httpPath: '/v1/autoimprove/job',
|
|
546
758
|
summary: 'Start an Autoimprove job',
|
|
547
|
-
description: 'Commission Roark on an objective. It clones the agent into a staging shadow (or uses your designated staging agent), authors a validation suite of simulated callers, measures a baseline, changes the staging configuration, and re-tests until the objective metric passes its target. Production is never touched by the loop; verified changes wait for promotion. Requires an active provider integration (Vapi or
|
|
759
|
+
description: 'Commission Roark on an objective. It clones the agent into a staging shadow (or uses your designated staging agent), authors a validation suite of simulated callers, measures a baseline, changes the staging configuration, and re-tests until the objective metric passes its target. Production is never touched by the loop; verified changes wait for promotion. Requires an active provider integration (Vapi, Retell, or ElevenLabs) with agent config writes enabled. One live job per agent: starting a second returns a conflict. The job runs asynchronously; poll GET /v1/autoimprove/job/{jobId} or watch it in the dashboard. When its status is NEEDS_INPUT, answer via the answer endpoint; when AWAITING_PROMOTE, promote or dismiss.',
|
|
548
760
|
positionals: [],
|
|
549
761
|
flags: [
|
|
550
762
|
{
|