@roarkanalytics/cli 0.4.0 → 0.6.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 +14 -0
- package/README.md +16 -8
- package/commands.js +551 -3
- package/completions.js +4 -4
- package/man/roark-call-tool-invocation-append.1 +100 -0
- package/man/roark-metric-definition-list.1 +8 -1
- package/man/roark-metric-definition-update.1 +169 -0
- package/man/roark-metric-variant-create.1 +97 -0
- package/man/roark-metric-variant-delete.1 +96 -0
- package/man/roark-metric-variant-get.1 +96 -0
- package/man/roark-metric-variant-list.1 +93 -0
- package/man/roark-metric-variant-update.1 +121 -0
- package/man/roark-simulation-plan-create.1 +3 -0
- package/man/roark-simulation-plan-update.1 +3 -0
- package/man/roark-simulation-template-list.1 +89 -0
- package/man/roark.1 +24 -0
- package/npm-shrinkwrap.json +5 -5
- package/package.json +9 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
package/commands.js
CHANGED
|
@@ -13,6 +13,7 @@ exports.GROUPS = {
|
|
|
13
13
|
call: 'Manage calls',
|
|
14
14
|
'call metric': 'Read call metrics',
|
|
15
15
|
'call sentiment-run': 'Read call sentiment runs',
|
|
16
|
+
'call tool-invocation': 'Manage call tool invocations',
|
|
16
17
|
'call transcript': 'Read call transcript',
|
|
17
18
|
config: 'Read configs',
|
|
18
19
|
'customer-flow': 'Manage customer flows',
|
|
@@ -24,12 +25,14 @@ exports.GROUPS = {
|
|
|
24
25
|
'metric collection-job': 'Manage metric collection jobs',
|
|
25
26
|
'metric definition': 'Manage metric definitions',
|
|
26
27
|
'metric policy': 'Manage metric policies',
|
|
28
|
+
'metric variant': 'Manage metric variants',
|
|
27
29
|
simulation: 'Manage simulations',
|
|
28
30
|
'simulation environment': 'Read simulation environments',
|
|
29
31
|
'simulation job': 'Read simulation jobs',
|
|
30
32
|
'simulation persona': 'Manage simulation personas',
|
|
31
33
|
'simulation plan': 'Manage simulation plans',
|
|
32
34
|
'simulation plan job': 'Manage simulation plan jobs',
|
|
35
|
+
'simulation template': 'Read simulation templates',
|
|
33
36
|
webhook: 'Manage webhooks',
|
|
34
37
|
};
|
|
35
38
|
exports.COMMANDS = [
|
|
@@ -777,6 +780,47 @@ exports.COMMANDS = [
|
|
|
777
780
|
acceptsBody: false,
|
|
778
781
|
requiresAuth: true,
|
|
779
782
|
},
|
|
783
|
+
{
|
|
784
|
+
commandPath: ['call', 'tool-invocation', 'append'],
|
|
785
|
+
clientProperty: 'call',
|
|
786
|
+
methodName: 'appendToolInvocations',
|
|
787
|
+
httpMethod: 'post',
|
|
788
|
+
httpPath: '/v1/call/{callId}/tool-invocations',
|
|
789
|
+
summary: 'Append tool invocations to a call',
|
|
790
|
+
description: 'Attach tool invocations that fired during a call to an already-existing call, asynchronously after the call was created. Use this when the tool-call data becomes available later than the call itself (e.g. a Roark simulation, or a call submitted via POST /v1/call before its tools were ready). Writes are idempotent: re-sending an invocation already present on the call (same tool name and timing) is skipped, so retries converge instead of double-counting. Optionally pass `metrics` to (re)score metrics over the newly attached tools, which triggers a billed metric collection job and requires the `metric:create` permission.',
|
|
791
|
+
positionals: [
|
|
792
|
+
{
|
|
793
|
+
name: 'call-id',
|
|
794
|
+
paramKey: 'callId',
|
|
795
|
+
},
|
|
796
|
+
],
|
|
797
|
+
flags: [
|
|
798
|
+
{
|
|
799
|
+
name: 'tool-invocations',
|
|
800
|
+
path: ['toolInvocations'],
|
|
801
|
+
location: 'body',
|
|
802
|
+
required: true,
|
|
803
|
+
description: 'Tool invocations that fired during the call, to attach to it. Max 500 per request. Re-sending an invocation already present on the call (same tool name and timing) is skipped, so retries are safe.',
|
|
804
|
+
valueKind: 'array',
|
|
805
|
+
repeatable: false,
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
name: 'metrics',
|
|
809
|
+
path: ['metrics'],
|
|
810
|
+
location: 'body',
|
|
811
|
+
required: false,
|
|
812
|
+
description: "Optional. Metric definitions to (re)score on this call after the tool invocations are attached, e.g. the Tool Invocation Analysis metrics. Triggers a metric collection job (billed, credit-gated) and requires the 'metric:create' permission. Omit to attach tools without scoring. Max 20.",
|
|
813
|
+
valueKind: 'array',
|
|
814
|
+
repeatable: false,
|
|
815
|
+
},
|
|
816
|
+
],
|
|
817
|
+
hasParams: true,
|
|
818
|
+
paramsAllOptional: false,
|
|
819
|
+
bodyOpaque: false,
|
|
820
|
+
bodyVariants: [],
|
|
821
|
+
acceptsBody: true,
|
|
822
|
+
requiresAuth: true,
|
|
823
|
+
},
|
|
780
824
|
{
|
|
781
825
|
commandPath: ['call', 'transcript', 'get'],
|
|
782
826
|
clientProperty: 'call',
|
|
@@ -1777,16 +1821,272 @@ exports.COMMANDS = [
|
|
|
1777
1821
|
httpMethod: 'get',
|
|
1778
1822
|
httpPath: '/v1/metric/definitions',
|
|
1779
1823
|
summary: 'List metric definitions',
|
|
1780
|
-
description: 'Fetch
|
|
1824
|
+
description: 'Fetch metric definitions available in the project, including both system-generated and custom metrics. Results are ordered by immutable definition ID; pass `nextCursor` to retrieve the following page.',
|
|
1781
1825
|
positionals: [],
|
|
1782
|
-
flags: [
|
|
1783
|
-
|
|
1826
|
+
flags: [
|
|
1827
|
+
{
|
|
1828
|
+
name: 'limit',
|
|
1829
|
+
path: ['limit'],
|
|
1830
|
+
location: 'query',
|
|
1831
|
+
required: false,
|
|
1832
|
+
valueKind: 'integer',
|
|
1833
|
+
repeatable: false,
|
|
1834
|
+
},
|
|
1835
|
+
{
|
|
1836
|
+
name: 'after',
|
|
1837
|
+
path: ['after'],
|
|
1838
|
+
location: 'query',
|
|
1839
|
+
required: false,
|
|
1840
|
+
valueKind: 'string',
|
|
1841
|
+
repeatable: false,
|
|
1842
|
+
},
|
|
1843
|
+
],
|
|
1844
|
+
hasParams: true,
|
|
1784
1845
|
paramsAllOptional: true,
|
|
1785
1846
|
bodyOpaque: false,
|
|
1786
1847
|
bodyVariants: [],
|
|
1787
1848
|
acceptsBody: false,
|
|
1788
1849
|
requiresAuth: true,
|
|
1789
1850
|
},
|
|
1851
|
+
{
|
|
1852
|
+
commandPath: ['metric', 'definition', 'update'],
|
|
1853
|
+
clientProperty: 'metric',
|
|
1854
|
+
methodName: 'updateDefinition',
|
|
1855
|
+
httpMethod: 'put',
|
|
1856
|
+
httpPath: '/v1/metric/definitions/{idOrSlug}',
|
|
1857
|
+
summary: 'Update a metric definition',
|
|
1858
|
+
description: "Update the editable subset of a custom metric definition, addressed by its UUID or its stable `slug`. Only the supplied fields are changed; omitted fields are left unchanged. Every update creates a new immutable version; the response carries the advanced `versionId`. Immutable fields (scope, outputType, calcType, …) are rejected, and which fields are editable depends on the metric (e.g. derived metrics only allow `name`). Roark's own metrics are rejected here: this endpoint edits the shared definition, which every workspace sees. To change one for your workspace alone, edit its variant with PUT /v1/metric/definitions/{idOrSlug}/variants/{variantId}, which forks it for you and leaves every other workspace on the original.",
|
|
1859
|
+
positionals: [
|
|
1860
|
+
{
|
|
1861
|
+
name: 'id-or-slug',
|
|
1862
|
+
paramKey: 'idOrSlug',
|
|
1863
|
+
description: "The metric definition's Roark ID (UUID) or its stable `slug` (e.g. `customer_satisfaction`).",
|
|
1864
|
+
},
|
|
1865
|
+
],
|
|
1866
|
+
flags: [
|
|
1867
|
+
{
|
|
1868
|
+
name: 'name',
|
|
1869
|
+
path: ['name'],
|
|
1870
|
+
location: 'body',
|
|
1871
|
+
required: false,
|
|
1872
|
+
description: 'New name (only for metrics whose name is editable)',
|
|
1873
|
+
valueKind: 'string',
|
|
1874
|
+
repeatable: false,
|
|
1875
|
+
},
|
|
1876
|
+
{
|
|
1877
|
+
name: 'llm-prompt',
|
|
1878
|
+
path: ['llmPrompt'],
|
|
1879
|
+
location: 'body',
|
|
1880
|
+
required: false,
|
|
1881
|
+
description: 'New LLM prompt (only for LLM_JUDGE metrics whose prompt is editable)',
|
|
1882
|
+
valueKind: 'string',
|
|
1883
|
+
repeatable: false,
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
name: 'scale-min',
|
|
1887
|
+
path: ['scaleMin'],
|
|
1888
|
+
location: 'body',
|
|
1889
|
+
required: false,
|
|
1890
|
+
description: 'New scale minimum (SCALE output only)',
|
|
1891
|
+
valueKind: 'integer',
|
|
1892
|
+
repeatable: false,
|
|
1893
|
+
},
|
|
1894
|
+
{
|
|
1895
|
+
name: 'scale-max',
|
|
1896
|
+
path: ['scaleMax'],
|
|
1897
|
+
location: 'body',
|
|
1898
|
+
required: false,
|
|
1899
|
+
description: 'New scale maximum (SCALE output only)',
|
|
1900
|
+
valueKind: 'integer',
|
|
1901
|
+
repeatable: false,
|
|
1902
|
+
},
|
|
1903
|
+
{
|
|
1904
|
+
name: 'scale-labels',
|
|
1905
|
+
path: ['scaleLabels'],
|
|
1906
|
+
location: 'body',
|
|
1907
|
+
required: false,
|
|
1908
|
+
description: 'Replacement set of scale-range labels (SCALE output only)',
|
|
1909
|
+
valueKind: 'array',
|
|
1910
|
+
repeatable: false,
|
|
1911
|
+
},
|
|
1912
|
+
{
|
|
1913
|
+
name: 'boolean-true-label',
|
|
1914
|
+
path: ['booleanTrueLabel'],
|
|
1915
|
+
location: 'body',
|
|
1916
|
+
required: false,
|
|
1917
|
+
description: 'New label for the true case (BOOLEAN output only)',
|
|
1918
|
+
valueKind: 'string',
|
|
1919
|
+
repeatable: false,
|
|
1920
|
+
},
|
|
1921
|
+
{
|
|
1922
|
+
name: 'boolean-false-label',
|
|
1923
|
+
path: ['booleanFalseLabel'],
|
|
1924
|
+
location: 'body',
|
|
1925
|
+
required: false,
|
|
1926
|
+
description: 'New label for the false case (BOOLEAN output only)',
|
|
1927
|
+
valueKind: 'string',
|
|
1928
|
+
repeatable: false,
|
|
1929
|
+
},
|
|
1930
|
+
{
|
|
1931
|
+
name: 'classification-options',
|
|
1932
|
+
path: ['classificationOptions'],
|
|
1933
|
+
location: 'body',
|
|
1934
|
+
required: false,
|
|
1935
|
+
description: 'Replacement set of classification options (CLASSIFICATION output only)',
|
|
1936
|
+
valueKind: 'array',
|
|
1937
|
+
repeatable: false,
|
|
1938
|
+
},
|
|
1939
|
+
{
|
|
1940
|
+
name: 'max-classifications',
|
|
1941
|
+
path: ['maxClassifications'],
|
|
1942
|
+
location: 'body',
|
|
1943
|
+
required: false,
|
|
1944
|
+
description: 'New maximum number of classifications (CLASSIFICATION output only)',
|
|
1945
|
+
valueKind: 'integer',
|
|
1946
|
+
repeatable: false,
|
|
1947
|
+
},
|
|
1948
|
+
{
|
|
1949
|
+
name: 'tool-definition-ids',
|
|
1950
|
+
path: ['toolDefinitionIds'],
|
|
1951
|
+
location: 'body',
|
|
1952
|
+
required: false,
|
|
1953
|
+
description: 'Replacement set of scoped tool-definition ids (only for metrics whose tool scoping is editable)',
|
|
1954
|
+
valueKind: 'array',
|
|
1955
|
+
repeatable: true,
|
|
1956
|
+
},
|
|
1957
|
+
{
|
|
1958
|
+
name: 'supported-contexts',
|
|
1959
|
+
path: ['supportedContexts'],
|
|
1960
|
+
location: 'body',
|
|
1961
|
+
required: false,
|
|
1962
|
+
description: 'Replacement set of supported contexts. Omit to leave unchanged.',
|
|
1963
|
+
valueKind: 'array',
|
|
1964
|
+
enumValues: ['CALL', 'SEGMENT', 'TURN'],
|
|
1965
|
+
repeatable: true,
|
|
1966
|
+
},
|
|
1967
|
+
{
|
|
1968
|
+
name: 'formula',
|
|
1969
|
+
path: ['formula'],
|
|
1970
|
+
location: 'body',
|
|
1971
|
+
required: false,
|
|
1972
|
+
description: 'New formula expression (FORMULA only). Pass `sources` alongside if the referenced metrics change.',
|
|
1973
|
+
valueKind: 'string',
|
|
1974
|
+
repeatable: false,
|
|
1975
|
+
},
|
|
1976
|
+
{
|
|
1977
|
+
name: 'sources',
|
|
1978
|
+
path: ['sources'],
|
|
1979
|
+
location: 'body',
|
|
1980
|
+
required: false,
|
|
1981
|
+
description: 'Replacement formula sources, required when `formula` changes the referenced metrics (FORMULA only).',
|
|
1982
|
+
valueKind: 'array',
|
|
1983
|
+
repeatable: false,
|
|
1984
|
+
},
|
|
1985
|
+
{
|
|
1986
|
+
name: 'change-reason',
|
|
1987
|
+
path: ['changeReason'],
|
|
1988
|
+
location: 'body',
|
|
1989
|
+
required: false,
|
|
1990
|
+
description: 'Optional free-text audit note recorded on the new version.',
|
|
1991
|
+
valueKind: 'string',
|
|
1992
|
+
repeatable: false,
|
|
1993
|
+
},
|
|
1994
|
+
{
|
|
1995
|
+
name: 'slug',
|
|
1996
|
+
path: ['slug'],
|
|
1997
|
+
location: 'body',
|
|
1998
|
+
required: false,
|
|
1999
|
+
valueKind: 'string',
|
|
2000
|
+
repeatable: false,
|
|
2001
|
+
},
|
|
2002
|
+
{
|
|
2003
|
+
name: 'metric-id',
|
|
2004
|
+
path: ['metricId'],
|
|
2005
|
+
location: 'body',
|
|
2006
|
+
required: false,
|
|
2007
|
+
valueKind: 'string',
|
|
2008
|
+
repeatable: false,
|
|
2009
|
+
},
|
|
2010
|
+
{
|
|
2011
|
+
name: 'source',
|
|
2012
|
+
path: ['source'],
|
|
2013
|
+
location: 'body',
|
|
2014
|
+
required: false,
|
|
2015
|
+
valueKind: 'string',
|
|
2016
|
+
repeatable: false,
|
|
2017
|
+
},
|
|
2018
|
+
{
|
|
2019
|
+
name: 'organization-id',
|
|
2020
|
+
path: ['organizationId'],
|
|
2021
|
+
location: 'body',
|
|
2022
|
+
required: false,
|
|
2023
|
+
valueKind: 'string',
|
|
2024
|
+
repeatable: false,
|
|
2025
|
+
},
|
|
2026
|
+
{
|
|
2027
|
+
name: 'project-id',
|
|
2028
|
+
path: ['projectId'],
|
|
2029
|
+
location: 'body',
|
|
2030
|
+
required: false,
|
|
2031
|
+
valueKind: 'string',
|
|
2032
|
+
repeatable: false,
|
|
2033
|
+
},
|
|
2034
|
+
{
|
|
2035
|
+
name: 'output-type',
|
|
2036
|
+
path: ['outputType'],
|
|
2037
|
+
location: 'body',
|
|
2038
|
+
required: false,
|
|
2039
|
+
valueKind: 'string',
|
|
2040
|
+
repeatable: false,
|
|
2041
|
+
},
|
|
2042
|
+
{
|
|
2043
|
+
name: 'scope',
|
|
2044
|
+
path: ['scope'],
|
|
2045
|
+
location: 'body',
|
|
2046
|
+
required: false,
|
|
2047
|
+
valueKind: 'string',
|
|
2048
|
+
repeatable: false,
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
name: 'participant-role',
|
|
2052
|
+
path: ['participantRole'],
|
|
2053
|
+
location: 'body',
|
|
2054
|
+
required: false,
|
|
2055
|
+
valueKind: 'string',
|
|
2056
|
+
repeatable: false,
|
|
2057
|
+
},
|
|
2058
|
+
{
|
|
2059
|
+
name: 'calc-type',
|
|
2060
|
+
path: ['calcType'],
|
|
2061
|
+
location: 'body',
|
|
2062
|
+
required: false,
|
|
2063
|
+
valueKind: 'string',
|
|
2064
|
+
repeatable: false,
|
|
2065
|
+
},
|
|
2066
|
+
{
|
|
2067
|
+
name: 'supports-multiple-variants',
|
|
2068
|
+
path: ['supportsMultipleVariants'],
|
|
2069
|
+
location: 'body',
|
|
2070
|
+
required: false,
|
|
2071
|
+
valueKind: 'string',
|
|
2072
|
+
repeatable: false,
|
|
2073
|
+
},
|
|
2074
|
+
{
|
|
2075
|
+
name: 'analysis-package-id',
|
|
2076
|
+
path: ['analysisPackageId'],
|
|
2077
|
+
location: 'body',
|
|
2078
|
+
required: false,
|
|
2079
|
+
valueKind: 'string',
|
|
2080
|
+
repeatable: false,
|
|
2081
|
+
},
|
|
2082
|
+
],
|
|
2083
|
+
hasParams: true,
|
|
2084
|
+
paramsAllOptional: true,
|
|
2085
|
+
bodyOpaque: false,
|
|
2086
|
+
bodyVariants: [],
|
|
2087
|
+
acceptsBody: true,
|
|
2088
|
+
requiresAuth: true,
|
|
2089
|
+
},
|
|
1790
2090
|
{
|
|
1791
2091
|
commandPath: ['metric', 'policy', 'create'],
|
|
1792
2092
|
clientProperty: 'metricPolicy',
|
|
@@ -2005,6 +2305,219 @@ exports.COMMANDS = [
|
|
|
2005
2305
|
acceptsBody: true,
|
|
2006
2306
|
requiresAuth: true,
|
|
2007
2307
|
},
|
|
2308
|
+
{
|
|
2309
|
+
commandPath: ['metric', 'variant', 'create'],
|
|
2310
|
+
clientProperty: 'metricVariant',
|
|
2311
|
+
methodName: 'create',
|
|
2312
|
+
httpMethod: 'post',
|
|
2313
|
+
httpPath: '/v1/metric/definitions/{idOrSlug}/variants',
|
|
2314
|
+
summary: 'Create a metric variant',
|
|
2315
|
+
description: 'Add a configuration of this metric for your organization, seeded from its Default. Edit it with PUT to change what it measures, then pin it where you want it used. Threshold metrics have no variants: their configuration comes from the metric they derive from. Metrics in a package that manages its own variants reject this too.',
|
|
2316
|
+
positionals: [
|
|
2317
|
+
{
|
|
2318
|
+
name: 'id-or-slug',
|
|
2319
|
+
paramKey: 'idOrSlug',
|
|
2320
|
+
description: 'Metric definition UUID or its stable slug.',
|
|
2321
|
+
},
|
|
2322
|
+
],
|
|
2323
|
+
flags: [
|
|
2324
|
+
{
|
|
2325
|
+
name: 'name',
|
|
2326
|
+
path: ['name'],
|
|
2327
|
+
location: 'body',
|
|
2328
|
+
required: true,
|
|
2329
|
+
description: 'Name for the new variant. Must be unique for this metric within your organization and cannot be `Default`.',
|
|
2330
|
+
valueKind: 'string',
|
|
2331
|
+
repeatable: false,
|
|
2332
|
+
},
|
|
2333
|
+
],
|
|
2334
|
+
hasParams: true,
|
|
2335
|
+
paramsAllOptional: false,
|
|
2336
|
+
bodyOpaque: false,
|
|
2337
|
+
bodyVariants: [],
|
|
2338
|
+
acceptsBody: true,
|
|
2339
|
+
requiresAuth: true,
|
|
2340
|
+
},
|
|
2341
|
+
{
|
|
2342
|
+
commandPath: ['metric', 'variant', 'delete'],
|
|
2343
|
+
clientProperty: 'metricVariant',
|
|
2344
|
+
methodName: 'delete',
|
|
2345
|
+
httpMethod: 'delete',
|
|
2346
|
+
httpPath: '/v1/metric/definitions/{idOrSlug}/variants/{variantId}',
|
|
2347
|
+
summary: 'Delete a metric variant',
|
|
2348
|
+
description: 'Remove one of your organization’s variants. Anything pinned to it falls back to the Default, so deleting a fork of a Roark variant returns you to Roark’s configuration. Roark’s own variants cannot be deleted, and neither can a Default. Values already collected under the deleted variant are retained.',
|
|
2349
|
+
positionals: [
|
|
2350
|
+
{
|
|
2351
|
+
name: 'id-or-slug',
|
|
2352
|
+
paramKey: 'idOrSlug',
|
|
2353
|
+
description: 'Metric definition UUID or its stable slug.',
|
|
2354
|
+
},
|
|
2355
|
+
{
|
|
2356
|
+
name: 'variant-id',
|
|
2357
|
+
paramKey: 'variantId',
|
|
2358
|
+
description: 'Variant UUID.',
|
|
2359
|
+
},
|
|
2360
|
+
],
|
|
2361
|
+
flags: [],
|
|
2362
|
+
hasParams: true,
|
|
2363
|
+
paramsAllOptional: false,
|
|
2364
|
+
bodyOpaque: false,
|
|
2365
|
+
bodyVariants: [],
|
|
2366
|
+
acceptsBody: false,
|
|
2367
|
+
requiresAuth: true,
|
|
2368
|
+
},
|
|
2369
|
+
{
|
|
2370
|
+
commandPath: ['metric', 'variant', 'get'],
|
|
2371
|
+
clientProperty: 'metricVariant',
|
|
2372
|
+
methodName: 'getByID',
|
|
2373
|
+
httpMethod: 'get',
|
|
2374
|
+
httpPath: '/v1/metric/definitions/{idOrSlug}/variants/{variantId}',
|
|
2375
|
+
summary: 'Get a metric variant',
|
|
2376
|
+
description: 'One configuration of this metric, by id.',
|
|
2377
|
+
positionals: [
|
|
2378
|
+
{
|
|
2379
|
+
name: 'id-or-slug',
|
|
2380
|
+
paramKey: 'idOrSlug',
|
|
2381
|
+
description: 'Metric definition UUID or its stable slug.',
|
|
2382
|
+
},
|
|
2383
|
+
{
|
|
2384
|
+
name: 'variant-id',
|
|
2385
|
+
paramKey: 'variantId',
|
|
2386
|
+
description: 'Variant UUID.',
|
|
2387
|
+
},
|
|
2388
|
+
],
|
|
2389
|
+
flags: [],
|
|
2390
|
+
hasParams: true,
|
|
2391
|
+
paramsAllOptional: false,
|
|
2392
|
+
bodyOpaque: false,
|
|
2393
|
+
bodyVariants: [],
|
|
2394
|
+
acceptsBody: false,
|
|
2395
|
+
requiresAuth: true,
|
|
2396
|
+
},
|
|
2397
|
+
{
|
|
2398
|
+
commandPath: ['metric', 'variant', 'list'],
|
|
2399
|
+
clientProperty: 'metricVariant',
|
|
2400
|
+
methodName: 'list',
|
|
2401
|
+
httpMethod: 'get',
|
|
2402
|
+
httpPath: '/v1/metric/definitions/{idOrSlug}/variants',
|
|
2403
|
+
summary: 'List a metric’s variants',
|
|
2404
|
+
description: 'Every configuration of this metric your organization can use: Roark’s own variants and any your organization has added or forked. `isDefault` marks the one the metric is scored with when nothing pins another; pass any variant’s `id` as `sourceVariantId` to pin it on a derived metric. Auto-managed variants (the ones a package materializes for you) are not listed: they are engine state, not configuration you author.',
|
|
2405
|
+
positionals: [
|
|
2406
|
+
{
|
|
2407
|
+
name: 'id-or-slug',
|
|
2408
|
+
paramKey: 'idOrSlug',
|
|
2409
|
+
description: 'Metric definition UUID or its stable slug.',
|
|
2410
|
+
},
|
|
2411
|
+
],
|
|
2412
|
+
flags: [],
|
|
2413
|
+
hasParams: false,
|
|
2414
|
+
paramsAllOptional: true,
|
|
2415
|
+
bodyOpaque: false,
|
|
2416
|
+
bodyVariants: [],
|
|
2417
|
+
acceptsBody: false,
|
|
2418
|
+
requiresAuth: true,
|
|
2419
|
+
},
|
|
2420
|
+
{
|
|
2421
|
+
commandPath: ['metric', 'variant', 'update'],
|
|
2422
|
+
clientProperty: 'metricVariant',
|
|
2423
|
+
methodName: 'update',
|
|
2424
|
+
httpMethod: 'put',
|
|
2425
|
+
httpPath: '/v1/metric/definitions/{idOrSlug}/variants/{variantId}',
|
|
2426
|
+
summary: 'Update a metric variant',
|
|
2427
|
+
description: 'Rename a variant, change its configuration, or both. Every configuration change creates a new immutable version and advances `versionId`; the response carries the advanced value. **Editing one of Roark’s own variants forks it for your organization.** The response carries the new variant’s `id`, which will differ from the one in the path, and `isSystem` becomes false. Roark’s variant is untouched and other organizations keep it. DELETE your fork to go back to it. Which fields are editable depends on the metric: some Roark metrics lock their prompt or output configuration, and a locked field is rejected rather than ignored.',
|
|
2428
|
+
positionals: [
|
|
2429
|
+
{
|
|
2430
|
+
name: 'id-or-slug',
|
|
2431
|
+
paramKey: 'idOrSlug',
|
|
2432
|
+
description: 'Metric definition UUID or its stable slug.',
|
|
2433
|
+
},
|
|
2434
|
+
{
|
|
2435
|
+
name: 'variant-id',
|
|
2436
|
+
paramKey: 'variantId',
|
|
2437
|
+
description: 'Variant UUID.',
|
|
2438
|
+
},
|
|
2439
|
+
],
|
|
2440
|
+
flags: [
|
|
2441
|
+
{
|
|
2442
|
+
name: 'name',
|
|
2443
|
+
path: ['name'],
|
|
2444
|
+
location: 'body',
|
|
2445
|
+
required: false,
|
|
2446
|
+
description: 'Rename the variant. Does not change its configuration, so `versionId` is unaffected. `Default` is reserved.',
|
|
2447
|
+
valueKind: 'string',
|
|
2448
|
+
repeatable: false,
|
|
2449
|
+
},
|
|
2450
|
+
{
|
|
2451
|
+
name: 'llm-prompt',
|
|
2452
|
+
path: ['llmPrompt'],
|
|
2453
|
+
location: 'body',
|
|
2454
|
+
required: false,
|
|
2455
|
+
description: 'The rubric this variant applies. LLM judge metrics only.',
|
|
2456
|
+
valueKind: 'string',
|
|
2457
|
+
repeatable: false,
|
|
2458
|
+
},
|
|
2459
|
+
{
|
|
2460
|
+
name: 'scale-min',
|
|
2461
|
+
path: ['scaleMin'],
|
|
2462
|
+
location: 'body',
|
|
2463
|
+
required: false,
|
|
2464
|
+
description: 'Scale minimum. SCALE output only.',
|
|
2465
|
+
valueKind: 'integer',
|
|
2466
|
+
repeatable: false,
|
|
2467
|
+
},
|
|
2468
|
+
{
|
|
2469
|
+
name: 'scale-max',
|
|
2470
|
+
path: ['scaleMax'],
|
|
2471
|
+
location: 'body',
|
|
2472
|
+
required: false,
|
|
2473
|
+
description: 'Scale maximum. SCALE output only.',
|
|
2474
|
+
valueKind: 'integer',
|
|
2475
|
+
repeatable: false,
|
|
2476
|
+
},
|
|
2477
|
+
{
|
|
2478
|
+
name: 'boolean-true-label',
|
|
2479
|
+
path: ['booleanTrueLabel'],
|
|
2480
|
+
location: 'body',
|
|
2481
|
+
required: false,
|
|
2482
|
+
description: 'What a `true` value means. Given to the judge as its polarity rule, so keep it accurate.',
|
|
2483
|
+
valueKind: 'string',
|
|
2484
|
+
repeatable: false,
|
|
2485
|
+
},
|
|
2486
|
+
{
|
|
2487
|
+
name: 'boolean-false-label',
|
|
2488
|
+
path: ['booleanFalseLabel'],
|
|
2489
|
+
location: 'body',
|
|
2490
|
+
required: false,
|
|
2491
|
+
description: 'What a `false` value means. Given to the judge as its polarity rule, so keep it accurate.',
|
|
2492
|
+
valueKind: 'string',
|
|
2493
|
+
repeatable: false,
|
|
2494
|
+
},
|
|
2495
|
+
{
|
|
2496
|
+
name: 'max-classifications',
|
|
2497
|
+
path: ['maxClassifications'],
|
|
2498
|
+
location: 'body',
|
|
2499
|
+
required: false,
|
|
2500
|
+
description: 'Maximum classifications returned. CLASSIFICATION output only.',
|
|
2501
|
+
valueKind: 'integer',
|
|
2502
|
+
repeatable: false,
|
|
2503
|
+
},
|
|
2504
|
+
{
|
|
2505
|
+
name: 'change-reason',
|
|
2506
|
+
path: ['changeReason'],
|
|
2507
|
+
location: 'body',
|
|
2508
|
+
required: false,
|
|
2509
|
+
description: 'Free-text audit note recorded on the new version.',
|
|
2510
|
+
valueKind: 'string',
|
|
2511
|
+
repeatable: false,
|
|
2512
|
+
},
|
|
2513
|
+
],
|
|
2514
|
+
hasParams: true,
|
|
2515
|
+
paramsAllOptional: false,
|
|
2516
|
+
bodyOpaque: false,
|
|
2517
|
+
bodyVariants: [],
|
|
2518
|
+
acceptsBody: true,
|
|
2519
|
+
requiresAuth: true,
|
|
2520
|
+
},
|
|
2008
2521
|
{
|
|
2009
2522
|
commandPath: ['simulation', 'environment', 'get'],
|
|
2010
2523
|
clientProperty: 'simulationEnvironment',
|
|
@@ -2958,6 +3471,15 @@ exports.COMMANDS = [
|
|
|
2958
3471
|
valueKind: 'array',
|
|
2959
3472
|
repeatable: false,
|
|
2960
3473
|
},
|
|
3474
|
+
{
|
|
3475
|
+
name: 'include-flow-metrics',
|
|
3476
|
+
path: ['includeFlowMetrics'],
|
|
3477
|
+
location: 'body',
|
|
3478
|
+
required: false,
|
|
3479
|
+
description: "Also collect each attached flow's own metrics, on top of the `metrics` named here. Default true, which is what you want when you brought your own flows and their graders. Set false for a run whose metric list is meant to be exhaustive: a template like Load Testing or Voicemail deliberately grades a narrow set, and inheriting every flow metric on top multiplies analysis cost across the volume without adding signal. GET /v1/simulation/template returns the value each template expects.",
|
|
3480
|
+
valueKind: 'boolean',
|
|
3481
|
+
repeatable: false,
|
|
3482
|
+
},
|
|
2961
3483
|
{
|
|
2962
3484
|
name: 'enrich-with-live-conversation',
|
|
2963
3485
|
path: ['enrichWithLiveConversation'],
|
|
@@ -3397,6 +3919,15 @@ exports.COMMANDS = [
|
|
|
3397
3919
|
valueKind: 'boolean',
|
|
3398
3920
|
repeatable: false,
|
|
3399
3921
|
},
|
|
3922
|
+
{
|
|
3923
|
+
name: 'include-flow-metrics',
|
|
3924
|
+
path: ['includeFlowMetrics'],
|
|
3925
|
+
location: 'body',
|
|
3926
|
+
required: false,
|
|
3927
|
+
description: "Whether to also collect each attached flow's own metrics, on top of this plan's list.",
|
|
3928
|
+
valueKind: 'boolean',
|
|
3929
|
+
repeatable: false,
|
|
3930
|
+
},
|
|
3400
3931
|
],
|
|
3401
3932
|
hasParams: true,
|
|
3402
3933
|
paramsAllOptional: true,
|
|
@@ -3431,6 +3962,23 @@ exports.COMMANDS = [
|
|
|
3431
3962
|
acceptsBody: true,
|
|
3432
3963
|
requiresAuth: true,
|
|
3433
3964
|
},
|
|
3965
|
+
{
|
|
3966
|
+
commandPath: ['simulation', 'template', 'list'],
|
|
3967
|
+
clientProperty: 'simulationTemplate',
|
|
3968
|
+
methodName: 'list',
|
|
3969
|
+
httpMethod: 'get',
|
|
3970
|
+
httpPath: '/v1/simulation/template',
|
|
3971
|
+
summary: 'List simulation templates',
|
|
3972
|
+
description: 'Returns the built-in simulation templates, each resolved against this project: the metric and check definitions it collects, and the flows it runs with the variants it covers. A template is a preset rather than a stored object, so building a run from one produces an ordinary run plan you own and can edit afterwards. Pass a `slug` as `template` to POST /v1/simulation/run. Every entry is complete, so there is no per-template endpoint to follow up with, and the list is a fixed catalogue rather than a paginated one. Only templates a request can actually run are listed.',
|
|
3973
|
+
positionals: [],
|
|
3974
|
+
flags: [],
|
|
3975
|
+
hasParams: false,
|
|
3976
|
+
paramsAllOptional: true,
|
|
3977
|
+
bodyOpaque: false,
|
|
3978
|
+
bodyVariants: [],
|
|
3979
|
+
acceptsBody: false,
|
|
3980
|
+
requiresAuth: true,
|
|
3981
|
+
},
|
|
3434
3982
|
{
|
|
3435
3983
|
commandPath: ['webhook', 'create'],
|
|
3436
3984
|
clientProperty: 'webhook',
|