@ellipsis-dev/sdk 0.9.0 → 0.11.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/dist/index.d.ts +58 -7
- package/dist/index.js +64 -4
- package/dist/store/index.d.ts +1 -1
- package/dist/stream/index.d.ts +1 -1
- package/dist/{types-CStmnKVu.d.ts → types-DDQQ1Yfh.d.ts} +783 -281
- package/package.json +1 -1
- package/schema/frames.schema.json +291 -196
- package/schema/openapi.v1.json +934 -211
package/schema/openapi.v1.json
CHANGED
|
@@ -480,6 +480,37 @@
|
|
|
480
480
|
"title": "AgentConfigEllipsis",
|
|
481
481
|
"type": "object"
|
|
482
482
|
},
|
|
483
|
+
"AgentConfigEllipsisPermissions": {
|
|
484
|
+
"additionalProperties": {
|
|
485
|
+
"anyOf": [
|
|
486
|
+
{
|
|
487
|
+
"$ref": "#/components/schemas/Level"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"$ref": "#/components/schemas/EllipsisGrant"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"items": {
|
|
494
|
+
"anyOf": [
|
|
495
|
+
{
|
|
496
|
+
"$ref": "#/components/schemas/Level"
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"$ref": "#/components/schemas/EllipsisGrant"
|
|
500
|
+
}
|
|
501
|
+
]
|
|
502
|
+
},
|
|
503
|
+
"type": "array"
|
|
504
|
+
}
|
|
505
|
+
]
|
|
506
|
+
},
|
|
507
|
+
"description": "`permissions.ellipsis` as a map: resource \u2192 level | grant | list of\ngrants. Levels are hierarchical (read < write < delete), so `write`\nincludes `read`. An unlisted resource is denied. The whole block is\nintersected with the platform's sandbox ceiling at token mint \u2014 it can\nnarrow what a sandbox token may do, never exceed it.",
|
|
508
|
+
"propertyNames": {
|
|
509
|
+
"$ref": "#/components/schemas/Resource"
|
|
510
|
+
},
|
|
511
|
+
"title": "AgentConfigEllipsisPermissions",
|
|
512
|
+
"type": "object"
|
|
513
|
+
},
|
|
483
514
|
"AgentConfigEnvironment": {
|
|
484
515
|
"additionalProperties": false,
|
|
485
516
|
"description": "Everything about the environment (the sandbox) the agent runs in: which\n`repositories` are cloned into it, which environment `variables` it gets,\nits `compute` sizing, how its `image` is customized, and lifecycle `hooks`.\nWhat the agent may *do* from that environment is the top-level\n`permissions:` block, not this one.\n\nEach `variables` entry names a variable to inject; with an inline `value` it\nis hardcoded, without one it is resolved from the account's sandbox-secrets\nstore. Only the named variables reach this agent; the rest of the account's\nstored variables never do. This is how a config brings in the config and\ncredentials a custom CLI needs.",
|
|
@@ -824,14 +855,21 @@
|
|
|
824
855
|
},
|
|
825
856
|
"AgentConfigPermissions": {
|
|
826
857
|
"additionalProperties": false,
|
|
827
|
-
"description": "What the agent is allowed to touch, per credential the platform mints\ninto its sandbox. Distinct from `environment:`, which is where the agent\nruns; this is what it may do from there.\n\n`ellipsis` scopes the sandbox's Ellipsis API token\n(`ELLIPSIS_API_TOKEN`, what the in-sandbox `agent` CLI authenticates\nwith).
|
|
858
|
+
"description": "What the agent is allowed to touch, per credential the platform mints\ninto its sandbox. Distinct from `environment:`, which is where the agent\nruns; this is what it may do from there.\n\n`ellipsis` scopes the sandbox's Ellipsis API token\n(`ELLIPSIS_API_TOKEN`, what the in-sandbox `agent` CLI authenticates\nwith). `true` / the string `all` (the default) grant the full sandbox\nceiling \u2014 everything a sandbox token can ever do. A map narrows it per\nresource (see `AgentConfigEllipsisPermissions`); the minted token carries\nthe intersection, so a config can only ever reduce access. `false` fails\nvalidation \u2014 an agent with no API token cannot report its own progress.\n\n`github` scopes the sandbox's GitHub installation token (`GH_TOKEN`) \u2014\nsee `AgentConfigGithubPermissions`. GitHub enforces it at mint time.",
|
|
828
859
|
"properties": {
|
|
829
860
|
"ellipsis": {
|
|
830
|
-
"
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
861
|
+
"anyOf": [
|
|
862
|
+
{
|
|
863
|
+
"enum": [
|
|
864
|
+
true,
|
|
865
|
+
"all"
|
|
866
|
+
]
|
|
867
|
+
},
|
|
868
|
+
{
|
|
869
|
+
"$ref": "#/components/schemas/AgentConfigEllipsisPermissions"
|
|
870
|
+
}
|
|
834
871
|
],
|
|
872
|
+
"default": true,
|
|
835
873
|
"title": "Ellipsis"
|
|
836
874
|
},
|
|
837
875
|
"github": {
|
|
@@ -1045,6 +1083,16 @@
|
|
|
1045
1083
|
"file": {
|
|
1046
1084
|
"title": "File",
|
|
1047
1085
|
"type": "string"
|
|
1086
|
+
},
|
|
1087
|
+
"repository": {
|
|
1088
|
+
"anyOf": [
|
|
1089
|
+
{
|
|
1090
|
+
"$ref": "#/components/schemas/AgentConfigRepository"
|
|
1091
|
+
},
|
|
1092
|
+
{
|
|
1093
|
+
"type": "null"
|
|
1094
|
+
}
|
|
1095
|
+
]
|
|
1048
1096
|
}
|
|
1049
1097
|
},
|
|
1050
1098
|
"required": [
|
|
@@ -1936,6 +1984,10 @@
|
|
|
1936
1984
|
"description": "The last commit the config was synced from.",
|
|
1937
1985
|
"title": "Last Synced Commit Sha"
|
|
1938
1986
|
},
|
|
1987
|
+
"managed_by": {
|
|
1988
|
+
"$ref": "#/components/schemas/ConfigManagedBy",
|
|
1989
|
+
"description": "Which writer owns this agent. \"github\" agents are defined by a file in a repository and are changed by editing that file; \"api\" agents have no file and are changed through this API."
|
|
1990
|
+
},
|
|
1939
1991
|
"name": {
|
|
1940
1992
|
"anyOf": [
|
|
1941
1993
|
{
|
|
@@ -1977,11 +2029,21 @@
|
|
|
1977
2029
|
"sha",
|
|
1978
2030
|
"created_at",
|
|
1979
2031
|
"updated_at",
|
|
2032
|
+
"managed_by",
|
|
1980
2033
|
"agent_config"
|
|
1981
2034
|
],
|
|
1982
2035
|
"title": "Config",
|
|
1983
2036
|
"type": "object"
|
|
1984
2037
|
},
|
|
2038
|
+
"ConfigManagedBy": {
|
|
2039
|
+
"description": "Which writer owns an agent: the repository file it is defined in, or\nthis API. Every agent has exactly one owner, fixed when it is created and\nchanged only by linking or unlinking it.",
|
|
2040
|
+
"enum": [
|
|
2041
|
+
"github",
|
|
2042
|
+
"api"
|
|
2043
|
+
],
|
|
2044
|
+
"title": "ConfigManagedBy",
|
|
2045
|
+
"type": "string"
|
|
2046
|
+
},
|
|
1985
2047
|
"ContributorUsage": {
|
|
1986
2048
|
"description": "An author who merged a pull request in the window. The pull-request and\nline counts cover their merged pull requests; `reviews` counts reviews this\nperson also submitted.",
|
|
1987
2049
|
"properties": {
|
|
@@ -2041,7 +2103,7 @@
|
|
|
2041
2103
|
"type": "object"
|
|
2042
2104
|
},
|
|
2043
2105
|
"CreateAgentConfigRequest": {
|
|
2044
|
-
"description": "Parameters for creating an agent config
|
|
2106
|
+
"description": "Parameters for creating an agent config. Exactly one of config or\ntemplate_id must be set.",
|
|
2045
2107
|
"properties": {
|
|
2046
2108
|
"config": {
|
|
2047
2109
|
"anyOf": [
|
|
@@ -2063,13 +2125,20 @@
|
|
|
2063
2125
|
"type": "null"
|
|
2064
2126
|
}
|
|
2065
2127
|
],
|
|
2066
|
-
"description": "File path within the repo. Omit for the default agents/<slug>.yaml; if set it must be a location the config sync scans (a .yaml/.yml file under agents/, .agents/, ellipsis/, or .ellipsis/ at any depth).",
|
|
2128
|
+
"description": "File path within the repo, when a repository is named. Omit for the default agents/<slug>.yaml; if set it must be a location the config sync scans (a .yaml/.yml file under agents/, .agents/, ellipsis/, or .ellipsis/ at any depth).",
|
|
2067
2129
|
"title": "Path"
|
|
2068
2130
|
},
|
|
2069
2131
|
"repository": {
|
|
2070
|
-
"
|
|
2071
|
-
|
|
2072
|
-
|
|
2132
|
+
"anyOf": [
|
|
2133
|
+
{
|
|
2134
|
+
"type": "string"
|
|
2135
|
+
},
|
|
2136
|
+
{
|
|
2137
|
+
"type": "null"
|
|
2138
|
+
}
|
|
2139
|
+
],
|
|
2140
|
+
"description": "Define the agent as a file in this repository: Ellipsis opens a pull request adding it, and the agent goes live when that merges. Repository name within the caller's account; the owner is always the account, so pass a bare name (e.g. \"my-service\"), not \"owner/my-service\". Omit to create the agent through the API alone, with no file and live immediately.",
|
|
2141
|
+
"title": "Repository"
|
|
2073
2142
|
},
|
|
2074
2143
|
"template_id": {
|
|
2075
2144
|
"anyOf": [
|
|
@@ -2084,34 +2153,43 @@
|
|
|
2084
2153
|
"title": "Template Id"
|
|
2085
2154
|
}
|
|
2086
2155
|
},
|
|
2087
|
-
"required": [
|
|
2088
|
-
"repository"
|
|
2089
|
-
],
|
|
2090
2156
|
"title": "CreateAgentConfigRequest",
|
|
2091
2157
|
"type": "object"
|
|
2092
2158
|
},
|
|
2093
2159
|
"CreateAgentConfigResponse": {
|
|
2094
|
-
"description": "The created agent config
|
|
2160
|
+
"description": "The created agent config, plus the pull request that adds its file when\none was opened.",
|
|
2095
2161
|
"properties": {
|
|
2096
2162
|
"config": {
|
|
2097
2163
|
"$ref": "#/components/schemas/Config",
|
|
2098
2164
|
"description": "The created agent config."
|
|
2099
2165
|
},
|
|
2100
2166
|
"path": {
|
|
2101
|
-
"
|
|
2102
|
-
|
|
2103
|
-
|
|
2167
|
+
"anyOf": [
|
|
2168
|
+
{
|
|
2169
|
+
"type": "string"
|
|
2170
|
+
},
|
|
2171
|
+
{
|
|
2172
|
+
"type": "null"
|
|
2173
|
+
}
|
|
2174
|
+
],
|
|
2175
|
+
"description": "The file path the config was written to, or null when the agent has no file.",
|
|
2176
|
+
"title": "Path"
|
|
2104
2177
|
},
|
|
2105
2178
|
"pull_request_url": {
|
|
2106
|
-
"
|
|
2107
|
-
|
|
2108
|
-
|
|
2179
|
+
"anyOf": [
|
|
2180
|
+
{
|
|
2181
|
+
"type": "string"
|
|
2182
|
+
},
|
|
2183
|
+
{
|
|
2184
|
+
"type": "null"
|
|
2185
|
+
}
|
|
2186
|
+
],
|
|
2187
|
+
"description": "The pull request that adds the config file. The agent becomes live once it merges and syncs. Null when no repository was named: the agent is already live.",
|
|
2188
|
+
"title": "Pull Request Url"
|
|
2109
2189
|
}
|
|
2110
2190
|
},
|
|
2111
2191
|
"required": [
|
|
2112
|
-
"config"
|
|
2113
|
-
"path",
|
|
2114
|
-
"pull_request_url"
|
|
2192
|
+
"config"
|
|
2115
2193
|
],
|
|
2116
2194
|
"title": "CreateAgentConfigResponse",
|
|
2117
2195
|
"type": "object"
|
|
@@ -2333,6 +2411,34 @@
|
|
|
2333
2411
|
"title": "EffortLevel",
|
|
2334
2412
|
"type": "string"
|
|
2335
2413
|
},
|
|
2414
|
+
"EllipsisGrant": {
|
|
2415
|
+
"additionalProperties": false,
|
|
2416
|
+
"description": "One grant entry: a level, optionally narrowed to instances whose\nnatural key (a file's name, a memory's path, a secret's name, a config's\nname, a session's id) matches any of the `match` globs.",
|
|
2417
|
+
"properties": {
|
|
2418
|
+
"level": {
|
|
2419
|
+
"$ref": "#/components/schemas/Level"
|
|
2420
|
+
},
|
|
2421
|
+
"match": {
|
|
2422
|
+
"anyOf": [
|
|
2423
|
+
{
|
|
2424
|
+
"items": {
|
|
2425
|
+
"type": "string"
|
|
2426
|
+
},
|
|
2427
|
+
"type": "array"
|
|
2428
|
+
},
|
|
2429
|
+
{
|
|
2430
|
+
"type": "null"
|
|
2431
|
+
}
|
|
2432
|
+
],
|
|
2433
|
+
"title": "Match"
|
|
2434
|
+
}
|
|
2435
|
+
},
|
|
2436
|
+
"required": [
|
|
2437
|
+
"level"
|
|
2438
|
+
],
|
|
2439
|
+
"title": "EllipsisGrant",
|
|
2440
|
+
"type": "object"
|
|
2441
|
+
},
|
|
2336
2442
|
"ErrorInfo": {
|
|
2337
2443
|
"properties": {
|
|
2338
2444
|
"code": {
|
|
@@ -3676,6 +3782,16 @@
|
|
|
3676
3782
|
"title": "JiraIntegrationSummary",
|
|
3677
3783
|
"type": "object"
|
|
3678
3784
|
},
|
|
3785
|
+
"Level": {
|
|
3786
|
+
"description": "What may be done to a resource. Strictly ordered: a grant at one level\nincludes every level below it (write-only would be a phantom capability \u2014\nno real client can create what it cannot read back).",
|
|
3787
|
+
"enum": [
|
|
3788
|
+
"read",
|
|
3789
|
+
"write",
|
|
3790
|
+
"delete"
|
|
3791
|
+
],
|
|
3792
|
+
"title": "Level",
|
|
3793
|
+
"type": "string"
|
|
3794
|
+
},
|
|
3679
3795
|
"LinearIntegrationSummary": {
|
|
3680
3796
|
"description": "The account's connected Linear organization and its teams.",
|
|
3681
3797
|
"properties": {
|
|
@@ -3770,6 +3886,59 @@
|
|
|
3770
3886
|
"title": "LinearTeamsListResponse",
|
|
3771
3887
|
"type": "object"
|
|
3772
3888
|
},
|
|
3889
|
+
"LinkAgentConfigRequest": {
|
|
3890
|
+
"description": "Where to put the config file of an agent being moved into a repository.",
|
|
3891
|
+
"properties": {
|
|
3892
|
+
"path": {
|
|
3893
|
+
"anyOf": [
|
|
3894
|
+
{
|
|
3895
|
+
"type": "string"
|
|
3896
|
+
},
|
|
3897
|
+
{
|
|
3898
|
+
"type": "null"
|
|
3899
|
+
}
|
|
3900
|
+
],
|
|
3901
|
+
"description": "File path within the repo. Omit for the default agents/<slug>.yaml; if set it must be a location the config sync scans (a .yaml/.yml file under agents/, .agents/, ellipsis/, or .ellipsis/ at any depth).",
|
|
3902
|
+
"title": "Path"
|
|
3903
|
+
},
|
|
3904
|
+
"repository": {
|
|
3905
|
+
"description": "Repository name within the caller's account; the owner is always the account, so pass a bare name (e.g. \"my-service\"), not \"owner/my-service\".",
|
|
3906
|
+
"title": "Repository",
|
|
3907
|
+
"type": "string"
|
|
3908
|
+
}
|
|
3909
|
+
},
|
|
3910
|
+
"required": [
|
|
3911
|
+
"repository"
|
|
3912
|
+
],
|
|
3913
|
+
"title": "LinkAgentConfigRequest",
|
|
3914
|
+
"type": "object"
|
|
3915
|
+
},
|
|
3916
|
+
"LinkAgentConfigResponse": {
|
|
3917
|
+
"description": "The agent and the pull request that would put it in a repository.",
|
|
3918
|
+
"properties": {
|
|
3919
|
+
"config": {
|
|
3920
|
+
"$ref": "#/components/schemas/Config",
|
|
3921
|
+
"description": "The agent, still managed through the API until the pull request merges."
|
|
3922
|
+
},
|
|
3923
|
+
"path": {
|
|
3924
|
+
"description": "The file path the config will be written to.",
|
|
3925
|
+
"title": "Path",
|
|
3926
|
+
"type": "string"
|
|
3927
|
+
},
|
|
3928
|
+
"pull_request_url": {
|
|
3929
|
+
"description": "The pull request that adds the config file. The agent becomes managed by that file once it merges.",
|
|
3930
|
+
"title": "Pull Request Url",
|
|
3931
|
+
"type": "string"
|
|
3932
|
+
}
|
|
3933
|
+
},
|
|
3934
|
+
"required": [
|
|
3935
|
+
"config",
|
|
3936
|
+
"path",
|
|
3937
|
+
"pull_request_url"
|
|
3938
|
+
],
|
|
3939
|
+
"title": "LinkAgentConfigResponse",
|
|
3940
|
+
"type": "object"
|
|
3941
|
+
},
|
|
3773
3942
|
"LinkedGithubIdentity": {
|
|
3774
3943
|
"description": "The GitHub identity linked to a Slack member.",
|
|
3775
3944
|
"properties": {
|
|
@@ -5127,6 +5296,25 @@
|
|
|
5127
5296
|
"title": "ResolvedReviewScope",
|
|
5128
5297
|
"type": "object"
|
|
5129
5298
|
},
|
|
5299
|
+
"Resource": {
|
|
5300
|
+
"description": "Everything a credential can be granted access to, one value per /v1\nresource family. `TOKENS` is reserved for the future token-management\nroutes; nothing maps to it yet.",
|
|
5301
|
+
"enum": [
|
|
5302
|
+
"account",
|
|
5303
|
+
"alerts",
|
|
5304
|
+
"sessions",
|
|
5305
|
+
"files",
|
|
5306
|
+
"memories",
|
|
5307
|
+
"reviews",
|
|
5308
|
+
"configs",
|
|
5309
|
+
"defaults",
|
|
5310
|
+
"secrets",
|
|
5311
|
+
"templates",
|
|
5312
|
+
"integrations",
|
|
5313
|
+
"tokens"
|
|
5314
|
+
],
|
|
5315
|
+
"title": "Resource",
|
|
5316
|
+
"type": "string"
|
|
5317
|
+
},
|
|
5130
5318
|
"Review": {
|
|
5131
5319
|
"description": "One code review: one pipeline iteration over one commit range of a pull\nrequest.\n\n`review_body`, `findings`, and `counters` are produced as each stage\nsession finishes \u2014 while a review is running they are null/empty. Stream a\nstage's session to follow it live, then re-fetch the review.",
|
|
5132
5320
|
"properties": {
|
|
@@ -6612,39 +6800,13 @@
|
|
|
6612
6800
|
"Session": {
|
|
6613
6801
|
"description": "An agent session: one conversation with an agent, from trigger to\nterminal state. Returned by `GET /sessions/{id}` and carried by the\nsession stream's `session`/`snapshot` frames \u2014 REST and stream never\ndisagree about what a session looks like.",
|
|
6614
6802
|
"properties": {
|
|
6615
|
-
"
|
|
6616
|
-
"
|
|
6617
|
-
|
|
6618
|
-
"$ref": "#/components/schemas/GithubAccountSnippet"
|
|
6619
|
-
},
|
|
6620
|
-
{
|
|
6621
|
-
"type": "null"
|
|
6622
|
-
}
|
|
6623
|
-
],
|
|
6624
|
-
"description": "The GitHub user the session is attributed to, when the attribution is a GitHub user."
|
|
6625
|
-
},
|
|
6626
|
-
"attribution_id": {
|
|
6627
|
-
"anyOf": [
|
|
6628
|
-
{
|
|
6629
|
-
"type": "string"
|
|
6630
|
-
},
|
|
6631
|
-
{
|
|
6632
|
-
"type": "null"
|
|
6633
|
-
}
|
|
6634
|
-
],
|
|
6635
|
-
"description": "Identifier of the principal the session is attributed to.",
|
|
6636
|
-
"title": "Attribution Id"
|
|
6803
|
+
"attribution": {
|
|
6804
|
+
"$ref": "#/components/schemas/SessionAttribution",
|
|
6805
|
+
"description": "The principal this session is attributed to."
|
|
6637
6806
|
},
|
|
6638
|
-
"
|
|
6639
|
-
"
|
|
6640
|
-
|
|
6641
|
-
"$ref": "#/components/schemas/AttributionType"
|
|
6642
|
-
},
|
|
6643
|
-
{
|
|
6644
|
-
"type": "null"
|
|
6645
|
-
}
|
|
6646
|
-
],
|
|
6647
|
-
"description": "Kind of principal the session is attributed to (e.g. a GitHub user or an API key)."
|
|
6807
|
+
"budget": {
|
|
6808
|
+
"$ref": "#/components/schemas/SessionBudget",
|
|
6809
|
+
"description": "The spend budget enforced for this session."
|
|
6648
6810
|
},
|
|
6649
6811
|
"client_version": {
|
|
6650
6812
|
"anyOf": [
|
|
@@ -6695,28 +6857,9 @@
|
|
|
6695
6857
|
"description": "The \"owner/name\" repository context the session was started in, if any.",
|
|
6696
6858
|
"title": "Context Repository"
|
|
6697
6859
|
},
|
|
6698
|
-
"
|
|
6699
|
-
"
|
|
6700
|
-
"description": "
|
|
6701
|
-
"title": "Cost Fee",
|
|
6702
|
-
"type": "integer"
|
|
6703
|
-
},
|
|
6704
|
-
"cost_sandbox_cpu": {
|
|
6705
|
-
"default": 0,
|
|
6706
|
-
"description": "Sandbox CPU spend in millicents.",
|
|
6707
|
-
"title": "Cost Sandbox Cpu",
|
|
6708
|
-
"type": "integer"
|
|
6709
|
-
},
|
|
6710
|
-
"cost_sandbox_memory": {
|
|
6711
|
-
"default": 0,
|
|
6712
|
-
"description": "Sandbox memory spend in millicents.",
|
|
6713
|
-
"title": "Cost Sandbox Memory",
|
|
6714
|
-
"type": "integer"
|
|
6715
|
-
},
|
|
6716
|
-
"cost_tokens": {
|
|
6717
|
-
"description": "Token spend in millicents. The session's grand total cost is the sum of cost_tokens, cost_sandbox_cpu, cost_sandbox_memory, and cost_fee.",
|
|
6718
|
-
"title": "Cost Tokens",
|
|
6719
|
-
"type": "integer"
|
|
6860
|
+
"cost": {
|
|
6861
|
+
"$ref": "#/components/schemas/SessionCost",
|
|
6862
|
+
"description": "What the session cost, in millicents, broken down by leg and carrying its own total."
|
|
6720
6863
|
},
|
|
6721
6864
|
"created_at": {
|
|
6722
6865
|
"description": "When the session was created.",
|
|
@@ -6817,28 +6960,9 @@
|
|
|
6817
6960
|
"description": "Pull requests the session created or updated.",
|
|
6818
6961
|
"title": "Output Prs"
|
|
6819
6962
|
},
|
|
6820
|
-
"
|
|
6821
|
-
"
|
|
6822
|
-
|
|
6823
|
-
"$ref": "#/components/schemas/ParentKind"
|
|
6824
|
-
},
|
|
6825
|
-
{
|
|
6826
|
-
"type": "null"
|
|
6827
|
-
}
|
|
6828
|
-
],
|
|
6829
|
-
"description": "How this session relates to its parent session, if any."
|
|
6830
|
-
},
|
|
6831
|
-
"parent_session_id": {
|
|
6832
|
-
"anyOf": [
|
|
6833
|
-
{
|
|
6834
|
-
"type": "string"
|
|
6835
|
-
},
|
|
6836
|
-
{
|
|
6837
|
-
"type": "null"
|
|
6838
|
-
}
|
|
6839
|
-
],
|
|
6840
|
-
"description": "Identifier of the parent session that spawned this one, if any.",
|
|
6841
|
-
"title": "Parent Session Id"
|
|
6963
|
+
"parent": {
|
|
6964
|
+
"$ref": "#/components/schemas/SessionParent",
|
|
6965
|
+
"description": "What preceded this session, if anything."
|
|
6842
6966
|
},
|
|
6843
6967
|
"prompt": {
|
|
6844
6968
|
"anyOf": [
|
|
@@ -6856,27 +6980,6 @@
|
|
|
6856
6980
|
"$ref": "#/components/schemas/SessionPrompting",
|
|
6857
6981
|
"description": "Whether a client may send this session a message and, when it may not, the reason to show instead of a composer."
|
|
6858
6982
|
},
|
|
6859
|
-
"replayed_from_session_id": {
|
|
6860
|
-
"anyOf": [
|
|
6861
|
-
{
|
|
6862
|
-
"type": "string"
|
|
6863
|
-
},
|
|
6864
|
-
{
|
|
6865
|
-
"type": "null"
|
|
6866
|
-
}
|
|
6867
|
-
],
|
|
6868
|
-
"description": "Identifier of the original session this one was replayed from, if it was started via replay.",
|
|
6869
|
-
"title": "Replayed From Session Id"
|
|
6870
|
-
},
|
|
6871
|
-
"resolved_budget_cents": {
|
|
6872
|
-
"description": "The spend budget resolved for this session, in cents.",
|
|
6873
|
-
"title": "Resolved Budget Cents",
|
|
6874
|
-
"type": "integer"
|
|
6875
|
-
},
|
|
6876
|
-
"resolved_budget_source": {
|
|
6877
|
-
"$ref": "#/components/schemas/BudgetSource",
|
|
6878
|
-
"description": "Where the resolved budget came from."
|
|
6879
|
-
},
|
|
6880
6983
|
"sandbox_id": {
|
|
6881
6984
|
"anyOf": [
|
|
6882
6985
|
{
|
|
@@ -6932,132 +7035,161 @@
|
|
|
6932
7035
|
"description": "Human-readable reason for the current status, when there is one.",
|
|
6933
7036
|
"title": "Status Reason"
|
|
6934
7037
|
},
|
|
6935
|
-
"
|
|
7038
|
+
"stopped": {
|
|
7039
|
+
"$ref": "#/components/schemas/SessionStopped",
|
|
7040
|
+
"description": "The stop request, if the session was stopped."
|
|
7041
|
+
},
|
|
7042
|
+
"surface": {
|
|
6936
7043
|
"anyOf": [
|
|
6937
7044
|
{
|
|
6938
|
-
"
|
|
6939
|
-
"type": "string"
|
|
7045
|
+
"$ref": "#/components/schemas/SessionSurface"
|
|
6940
7046
|
},
|
|
6941
7047
|
{
|
|
6942
7048
|
"type": "null"
|
|
6943
7049
|
}
|
|
6944
7050
|
],
|
|
6945
|
-
"description": "
|
|
6946
|
-
|
|
7051
|
+
"description": "The public status projection; null for laptop-synced sessions."
|
|
7052
|
+
},
|
|
7053
|
+
"tokens": {
|
|
7054
|
+
"$ref": "#/components/schemas/SessionTokens",
|
|
7055
|
+
"description": "The tokens the session spent and the model they went to. `total` includes the prompt-cache lanes."
|
|
7056
|
+
},
|
|
7057
|
+
"updated_at": {
|
|
7058
|
+
"description": "When the session was last updated.",
|
|
7059
|
+
"format": "date-time",
|
|
7060
|
+
"title": "Updated At",
|
|
7061
|
+
"type": "string"
|
|
6947
7062
|
},
|
|
6948
|
-
"
|
|
7063
|
+
"webhook_id": {
|
|
6949
7064
|
"anyOf": [
|
|
6950
7065
|
{
|
|
6951
|
-
"type": "
|
|
7066
|
+
"type": "string"
|
|
6952
7067
|
},
|
|
6953
7068
|
{
|
|
6954
7069
|
"type": "null"
|
|
6955
7070
|
}
|
|
6956
7071
|
],
|
|
6957
|
-
"description": "
|
|
6958
|
-
"title": "
|
|
7072
|
+
"description": "Identifier of the webhook event that triggered the session, if any.",
|
|
7073
|
+
"title": "Webhook Id"
|
|
6959
7074
|
},
|
|
6960
|
-
"
|
|
7075
|
+
"webhook_type": {
|
|
6961
7076
|
"anyOf": [
|
|
6962
7077
|
{
|
|
6963
|
-
"$ref": "#/components/schemas/
|
|
7078
|
+
"$ref": "#/components/schemas/WebhookType"
|
|
7079
|
+
},
|
|
7080
|
+
{
|
|
7081
|
+
"type": "null"
|
|
7082
|
+
}
|
|
7083
|
+
],
|
|
7084
|
+
"description": "Type of the webhook event that triggered the session, if any."
|
|
7085
|
+
}
|
|
7086
|
+
},
|
|
7087
|
+
"required": [
|
|
7088
|
+
"id",
|
|
7089
|
+
"created_at",
|
|
7090
|
+
"updated_at",
|
|
7091
|
+
"harness",
|
|
7092
|
+
"source",
|
|
7093
|
+
"status",
|
|
7094
|
+
"prompting"
|
|
7095
|
+
],
|
|
7096
|
+
"title": "Session",
|
|
7097
|
+
"type": "object"
|
|
7098
|
+
},
|
|
7099
|
+
"SessionAttribution": {
|
|
7100
|
+
"description": "The principal a session is attributed to: what kind, its id, and \u2014 when\nthe kind is a GitHub user \u2014 the resolved display snippet.",
|
|
7101
|
+
"properties": {
|
|
7102
|
+
"id": {
|
|
7103
|
+
"anyOf": [
|
|
7104
|
+
{
|
|
7105
|
+
"type": "string"
|
|
6964
7106
|
},
|
|
6965
7107
|
{
|
|
6966
7108
|
"type": "null"
|
|
6967
7109
|
}
|
|
6968
7110
|
],
|
|
6969
|
-
"description": "
|
|
7111
|
+
"description": "Identifier of the principal the session is attributed to.",
|
|
7112
|
+
"title": "Id"
|
|
6970
7113
|
},
|
|
6971
|
-
"
|
|
7114
|
+
"type": {
|
|
6972
7115
|
"anyOf": [
|
|
6973
7116
|
{
|
|
6974
|
-
"$ref": "#/components/schemas/
|
|
7117
|
+
"$ref": "#/components/schemas/AttributionType"
|
|
6975
7118
|
},
|
|
6976
7119
|
{
|
|
6977
7120
|
"type": "null"
|
|
6978
7121
|
}
|
|
6979
7122
|
],
|
|
6980
|
-
"description": "
|
|
7123
|
+
"description": "Kind of principal the session is attributed to (e.g. a GitHub user or an API key)."
|
|
6981
7124
|
},
|
|
6982
|
-
"
|
|
7125
|
+
"user": {
|
|
7126
|
+
"anyOf": [
|
|
7127
|
+
{
|
|
7128
|
+
"$ref": "#/components/schemas/GithubAccountSnippet"
|
|
7129
|
+
},
|
|
7130
|
+
{
|
|
7131
|
+
"type": "null"
|
|
7132
|
+
}
|
|
7133
|
+
],
|
|
7134
|
+
"description": "The GitHub user the session is attributed to, resolved at read time. Null when the attribution is not a GitHub user."
|
|
7135
|
+
}
|
|
7136
|
+
},
|
|
7137
|
+
"title": "SessionAttribution",
|
|
7138
|
+
"type": "object"
|
|
7139
|
+
},
|
|
7140
|
+
"SessionBudget": {
|
|
7141
|
+
"description": "The spend budget actually enforced for this session, and which layer of\nthe cascade set it.",
|
|
7142
|
+
"properties": {
|
|
7143
|
+
"cents": {
|
|
6983
7144
|
"default": 0,
|
|
6984
|
-
"description": "
|
|
6985
|
-
"title": "
|
|
7145
|
+
"description": "The spend budget resolved for this session, in cents.",
|
|
7146
|
+
"title": "Cents",
|
|
6986
7147
|
"type": "integer"
|
|
6987
7148
|
},
|
|
6988
|
-
"
|
|
7149
|
+
"source": {
|
|
7150
|
+
"$ref": "#/components/schemas/BudgetSource",
|
|
7151
|
+
"default": "account",
|
|
7152
|
+
"description": "Where the resolved budget came from."
|
|
7153
|
+
}
|
|
7154
|
+
},
|
|
7155
|
+
"title": "SessionBudget",
|
|
7156
|
+
"type": "object"
|
|
7157
|
+
},
|
|
7158
|
+
"SessionCost": {
|
|
7159
|
+
"description": "What a session (or one turn of it) cost, in millicents.\n\n`llm` is deliberately NOT called `tokens`: it would sit beside the `tokens`\nobject and read as \"the token count's cost\" rather than \"the cost of the\nLLM leg\".",
|
|
7160
|
+
"properties": {
|
|
7161
|
+
"fee": {
|
|
6989
7162
|
"default": 0,
|
|
6990
|
-
"description": "
|
|
6991
|
-
"title": "
|
|
7163
|
+
"description": "Platform fee in millicents.",
|
|
7164
|
+
"title": "Fee",
|
|
6992
7165
|
"type": "integer"
|
|
6993
7166
|
},
|
|
6994
|
-
"
|
|
7167
|
+
"llm": {
|
|
6995
7168
|
"default": 0,
|
|
6996
|
-
"description": "
|
|
6997
|
-
"title": "
|
|
7169
|
+
"description": "LLM spend in millicents.",
|
|
7170
|
+
"title": "Llm",
|
|
6998
7171
|
"type": "integer"
|
|
6999
7172
|
},
|
|
7000
|
-
"
|
|
7001
|
-
"description": "The model the token counts are attributed to.",
|
|
7002
|
-
"title": "Tokens Model",
|
|
7003
|
-
"type": "string"
|
|
7004
|
-
},
|
|
7005
|
-
"tokens_output": {
|
|
7173
|
+
"sandbox_cpu": {
|
|
7006
7174
|
"default": 0,
|
|
7007
|
-
"description": "
|
|
7008
|
-
"title": "
|
|
7175
|
+
"description": "Sandbox CPU spend in millicents.",
|
|
7176
|
+
"title": "Sandbox Cpu",
|
|
7009
7177
|
"type": "integer"
|
|
7010
7178
|
},
|
|
7011
|
-
"
|
|
7179
|
+
"sandbox_memory": {
|
|
7012
7180
|
"default": 0,
|
|
7013
|
-
"description": "
|
|
7014
|
-
"title": "
|
|
7181
|
+
"description": "Sandbox memory spend in millicents.",
|
|
7182
|
+
"title": "Sandbox Memory",
|
|
7015
7183
|
"type": "integer"
|
|
7016
7184
|
},
|
|
7017
|
-
"
|
|
7018
|
-
"
|
|
7019
|
-
"
|
|
7020
|
-
"title": "
|
|
7021
|
-
"type": "
|
|
7022
|
-
},
|
|
7023
|
-
"webhook_id": {
|
|
7024
|
-
"anyOf": [
|
|
7025
|
-
{
|
|
7026
|
-
"type": "string"
|
|
7027
|
-
},
|
|
7028
|
-
{
|
|
7029
|
-
"type": "null"
|
|
7030
|
-
}
|
|
7031
|
-
],
|
|
7032
|
-
"description": "Identifier of the webhook event that triggered the session, if any.",
|
|
7033
|
-
"title": "Webhook Id"
|
|
7034
|
-
},
|
|
7035
|
-
"webhook_type": {
|
|
7036
|
-
"anyOf": [
|
|
7037
|
-
{
|
|
7038
|
-
"$ref": "#/components/schemas/WebhookType"
|
|
7039
|
-
},
|
|
7040
|
-
{
|
|
7041
|
-
"type": "null"
|
|
7042
|
-
}
|
|
7043
|
-
],
|
|
7044
|
-
"description": "Type of the webhook event that triggered the session, if any."
|
|
7185
|
+
"total": {
|
|
7186
|
+
"default": 0,
|
|
7187
|
+
"description": "The grand total in millicents: llm + sandbox_cpu + sandbox_memory + fee.",
|
|
7188
|
+
"title": "Total",
|
|
7189
|
+
"type": "integer"
|
|
7045
7190
|
}
|
|
7046
7191
|
},
|
|
7047
|
-
"
|
|
7048
|
-
"id",
|
|
7049
|
-
"created_at",
|
|
7050
|
-
"updated_at",
|
|
7051
|
-
"harness",
|
|
7052
|
-
"source",
|
|
7053
|
-
"cost_tokens",
|
|
7054
|
-
"tokens_model",
|
|
7055
|
-
"resolved_budget_cents",
|
|
7056
|
-
"resolved_budget_source",
|
|
7057
|
-
"status",
|
|
7058
|
-
"prompting"
|
|
7059
|
-
],
|
|
7060
|
-
"title": "Session",
|
|
7192
|
+
"title": "SessionCost",
|
|
7061
7193
|
"type": "object"
|
|
7062
7194
|
},
|
|
7063
7195
|
"SessionExecution": {
|
|
@@ -7390,6 +7522,48 @@
|
|
|
7390
7522
|
"title": "SessionMessageStatus",
|
|
7391
7523
|
"type": "string"
|
|
7392
7524
|
},
|
|
7525
|
+
"SessionParent": {
|
|
7526
|
+
"description": "The ONE \"preceded-by\" chain: the predecessor session and how this one\nrelates to it. Not a parent that orchestrates children \u2014 a session never\nspawns sub-sessions.",
|
|
7527
|
+
"properties": {
|
|
7528
|
+
"kind": {
|
|
7529
|
+
"anyOf": [
|
|
7530
|
+
{
|
|
7531
|
+
"$ref": "#/components/schemas/ParentKind"
|
|
7532
|
+
},
|
|
7533
|
+
{
|
|
7534
|
+
"type": "null"
|
|
7535
|
+
}
|
|
7536
|
+
],
|
|
7537
|
+
"description": "How this session relates to its parent session, if any."
|
|
7538
|
+
},
|
|
7539
|
+
"replayed_from_session_id": {
|
|
7540
|
+
"anyOf": [
|
|
7541
|
+
{
|
|
7542
|
+
"type": "string"
|
|
7543
|
+
},
|
|
7544
|
+
{
|
|
7545
|
+
"type": "null"
|
|
7546
|
+
}
|
|
7547
|
+
],
|
|
7548
|
+
"description": "Identifier of the original session this one was replayed from, if it was started via replay.",
|
|
7549
|
+
"title": "Replayed From Session Id"
|
|
7550
|
+
},
|
|
7551
|
+
"session_id": {
|
|
7552
|
+
"anyOf": [
|
|
7553
|
+
{
|
|
7554
|
+
"type": "string"
|
|
7555
|
+
},
|
|
7556
|
+
{
|
|
7557
|
+
"type": "null"
|
|
7558
|
+
}
|
|
7559
|
+
],
|
|
7560
|
+
"description": "Identifier of the parent session that spawned this one, if any.",
|
|
7561
|
+
"title": "Session Id"
|
|
7562
|
+
}
|
|
7563
|
+
},
|
|
7564
|
+
"title": "SessionParent",
|
|
7565
|
+
"type": "object"
|
|
7566
|
+
},
|
|
7393
7567
|
"SessionPr": {
|
|
7394
7568
|
"description": "A pull request this session created, denormalized at capture time so\nsession surfaces render a labeled link without joining gh_prs. Live PR\nstate (open/merged/closed) is not stored here \u2014 read it from gh_prs where\na view needs it.",
|
|
7395
7569
|
"properties": {
|
|
@@ -7827,6 +8001,49 @@
|
|
|
7827
8001
|
"title": "SessionStatus",
|
|
7828
8002
|
"type": "string"
|
|
7829
8003
|
},
|
|
8004
|
+
"SessionStopped": {
|
|
8005
|
+
"description": "The stop request, if there was one: when, by which GitHub account id,\nand that account resolved to a display snippet.",
|
|
8006
|
+
"properties": {
|
|
8007
|
+
"at": {
|
|
8008
|
+
"anyOf": [
|
|
8009
|
+
{
|
|
8010
|
+
"format": "date-time",
|
|
8011
|
+
"type": "string"
|
|
8012
|
+
},
|
|
8013
|
+
{
|
|
8014
|
+
"type": "null"
|
|
8015
|
+
}
|
|
8016
|
+
],
|
|
8017
|
+
"description": "When a stop was requested, if one was.",
|
|
8018
|
+
"title": "At"
|
|
8019
|
+
},
|
|
8020
|
+
"by": {
|
|
8021
|
+
"anyOf": [
|
|
8022
|
+
{
|
|
8023
|
+
"type": "integer"
|
|
8024
|
+
},
|
|
8025
|
+
{
|
|
8026
|
+
"type": "null"
|
|
8027
|
+
}
|
|
8028
|
+
],
|
|
8029
|
+
"description": "GitHub account id of the user who stopped the session, if known.",
|
|
8030
|
+
"title": "By"
|
|
8031
|
+
},
|
|
8032
|
+
"by_user": {
|
|
8033
|
+
"anyOf": [
|
|
8034
|
+
{
|
|
8035
|
+
"$ref": "#/components/schemas/GithubAccountSnippet"
|
|
8036
|
+
},
|
|
8037
|
+
{
|
|
8038
|
+
"type": "null"
|
|
8039
|
+
}
|
|
8040
|
+
],
|
|
8041
|
+
"description": "The GitHub user who stopped the session, resolved at read time."
|
|
8042
|
+
}
|
|
8043
|
+
},
|
|
8044
|
+
"title": "SessionStopped",
|
|
8045
|
+
"type": "object"
|
|
8046
|
+
},
|
|
7830
8047
|
"SessionSurface": {
|
|
7831
8048
|
"description": "The three fields we expose. All `None` for an un-keyed (laptop) session.\n\n`use_enum_values=True` (from CustomBaseModel) stores the members as their\nstring values, so this serializes to `{\"session\": \"alive\", \"run\": \"waiting\",\n\"status\": \"waiting\"}` \u2014 a plain object, not enum names.",
|
|
7832
8049
|
"properties": {
|
|
@@ -7870,6 +8087,49 @@
|
|
|
7870
8087
|
"title": "SessionSurface",
|
|
7871
8088
|
"type": "object"
|
|
7872
8089
|
},
|
|
8090
|
+
"SessionTokens": {
|
|
8091
|
+
"description": "The token counts a session (or turn) spent, and the model they went to.\n\n`total` INCLUDES the cache lanes, unlike the old flat `tokens_total` which\ncounted input+output+thinking only and left callers to add cache reads and\nwrites back themselves (the deleted `tokensTotalAll` helper). Cache tokens\ndominate an agent run's token bill, so a \"total\" that omits them is the\nwrong default and produced two competing totals in the dashboard.",
|
|
8092
|
+
"properties": {
|
|
8093
|
+
"cache_creation": {
|
|
8094
|
+
"default": 0,
|
|
8095
|
+
"description": "Tokens written to the prompt cache.",
|
|
8096
|
+
"title": "Cache Creation",
|
|
8097
|
+
"type": "integer"
|
|
8098
|
+
},
|
|
8099
|
+
"cache_read": {
|
|
8100
|
+
"default": 0,
|
|
8101
|
+
"description": "Tokens read from the prompt cache.",
|
|
8102
|
+
"title": "Cache Read",
|
|
8103
|
+
"type": "integer"
|
|
8104
|
+
},
|
|
8105
|
+
"input": {
|
|
8106
|
+
"default": 0,
|
|
8107
|
+
"description": "Input tokens used.",
|
|
8108
|
+
"title": "Input",
|
|
8109
|
+
"type": "integer"
|
|
8110
|
+
},
|
|
8111
|
+
"model": {
|
|
8112
|
+
"default": "",
|
|
8113
|
+
"description": "The model the token counts are attributed to.",
|
|
8114
|
+
"title": "Model",
|
|
8115
|
+
"type": "string"
|
|
8116
|
+
},
|
|
8117
|
+
"output": {
|
|
8118
|
+
"default": 0,
|
|
8119
|
+
"description": "Output tokens used.",
|
|
8120
|
+
"title": "Output",
|
|
8121
|
+
"type": "integer"
|
|
8122
|
+
},
|
|
8123
|
+
"total": {
|
|
8124
|
+
"default": 0,
|
|
8125
|
+
"description": "Total tokens consumed, INCLUDING the prompt-cache reads and writes \u2014 the same basis the token cost is priced on.",
|
|
8126
|
+
"title": "Total",
|
|
8127
|
+
"type": "integer"
|
|
8128
|
+
}
|
|
8129
|
+
},
|
|
8130
|
+
"title": "SessionTokens",
|
|
8131
|
+
"type": "object"
|
|
8132
|
+
},
|
|
7873
8133
|
"SessionsListResponse": {
|
|
7874
8134
|
"description": "A page of sessions in the lean wire shape.",
|
|
7875
8135
|
"properties": {
|
|
@@ -8508,6 +8768,20 @@
|
|
|
8508
8768
|
"title": "TranscriptIngestResult",
|
|
8509
8769
|
"type": "object"
|
|
8510
8770
|
},
|
|
8771
|
+
"UpdateAgentConfigRequest": {
|
|
8772
|
+
"description": "A replacement definition for an agent managed through the API.",
|
|
8773
|
+
"properties": {
|
|
8774
|
+
"config": {
|
|
8775
|
+
"$ref": "#/components/schemas/AgentConfig",
|
|
8776
|
+
"description": "The agent's new definition. Replaces the previous one wholesale \u2014 this is not a partial update."
|
|
8777
|
+
}
|
|
8778
|
+
},
|
|
8779
|
+
"required": [
|
|
8780
|
+
"config"
|
|
8781
|
+
],
|
|
8782
|
+
"title": "UpdateAgentConfigRequest",
|
|
8783
|
+
"type": "object"
|
|
8784
|
+
},
|
|
8511
8785
|
"UsageDailyPoint": {
|
|
8512
8786
|
"description": "One day's usage: tokens split by type, and cost split into the four\nbilled categories. `tokens` is the sum of the four token types.",
|
|
8513
8787
|
"properties": {
|
|
@@ -8829,7 +9103,7 @@
|
|
|
8829
9103
|
"x-ellipsis-sdk-method": "agents.configs.list"
|
|
8830
9104
|
},
|
|
8831
9105
|
"post": {
|
|
8832
|
-
"description": "Create an agent config
|
|
9106
|
+
"description": "Create an agent config.\n\nName a repository and Ellipsis opens a pull request adding the\nconfig file to agents/ there; the agent goes live when it\nmerges. Omit it and the agent is created here, with no file,\nlive immediately \u2014 and every file reference in it must name the\nrepository it lives in.\n\nAccepts an inline config or a gallery template slug. 409 when\nanother live agent already holds the name.",
|
|
8833
9107
|
"operationId": "create_agent_config",
|
|
8834
9108
|
"parameters": [
|
|
8835
9109
|
{
|
|
@@ -8928,7 +9202,7 @@
|
|
|
8928
9202
|
}
|
|
8929
9203
|
}
|
|
8930
9204
|
},
|
|
8931
|
-
"description": "The agent's name contains no usable characters."
|
|
9205
|
+
"description": "The agent's name contains no usable characters, or a file reference names no repository."
|
|
8932
9206
|
}
|
|
8933
9207
|
},
|
|
8934
9208
|
"security": [
|
|
@@ -8944,9 +9218,9 @@
|
|
|
8944
9218
|
}
|
|
8945
9219
|
},
|
|
8946
9220
|
"/agents/configs/{config_id}": {
|
|
8947
|
-
"
|
|
8948
|
-
"description": "
|
|
8949
|
-
"operationId": "
|
|
9221
|
+
"delete": {
|
|
9222
|
+
"description": "Delete an agent, by id or by the agent's name.\n\nThe agent stops running and its name is freed immediately; its\npast sessions remain readable. Only for agents managed through\nthis API \u2014 delete the file to remove one defined by a\nrepository.",
|
|
9223
|
+
"operationId": "delete_agent_config",
|
|
8950
9224
|
"parameters": [
|
|
8951
9225
|
{
|
|
8952
9226
|
"in": "path",
|
|
@@ -8975,14 +9249,7 @@
|
|
|
8975
9249
|
}
|
|
8976
9250
|
],
|
|
8977
9251
|
"responses": {
|
|
8978
|
-
"
|
|
8979
|
-
"content": {
|
|
8980
|
-
"application/json": {
|
|
8981
|
-
"schema": {
|
|
8982
|
-
"$ref": "#/components/schemas/AgentConfigResponse"
|
|
8983
|
-
}
|
|
8984
|
-
}
|
|
8985
|
-
},
|
|
9252
|
+
"204": {
|
|
8986
9253
|
"description": "Successful Response"
|
|
8987
9254
|
},
|
|
8988
9255
|
"401": {
|
|
@@ -9015,6 +9282,16 @@
|
|
|
9015
9282
|
},
|
|
9016
9283
|
"description": "No such config in your account."
|
|
9017
9284
|
},
|
|
9285
|
+
"409": {
|
|
9286
|
+
"content": {
|
|
9287
|
+
"application/json": {
|
|
9288
|
+
"schema": {
|
|
9289
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9290
|
+
}
|
|
9291
|
+
}
|
|
9292
|
+
},
|
|
9293
|
+
"description": "The agent is defined by a file in a repository; delete that file instead."
|
|
9294
|
+
},
|
|
9018
9295
|
"422": {
|
|
9019
9296
|
"content": {
|
|
9020
9297
|
"application/json": {
|
|
@@ -9031,11 +9308,457 @@
|
|
|
9031
9308
|
"HTTPBearer": []
|
|
9032
9309
|
}
|
|
9033
9310
|
],
|
|
9034
|
-
"summary": "
|
|
9311
|
+
"summary": "Delete Agent Config",
|
|
9312
|
+
"tags": [
|
|
9313
|
+
"v1"
|
|
9314
|
+
],
|
|
9315
|
+
"x-ellipsis-sdk-method": "agents.configs.delete"
|
|
9316
|
+
},
|
|
9317
|
+
"get": {
|
|
9318
|
+
"description": "Return one saved agent config, by id or by the agent's name.",
|
|
9319
|
+
"operationId": "get_agent_config",
|
|
9320
|
+
"parameters": [
|
|
9321
|
+
{
|
|
9322
|
+
"in": "path",
|
|
9323
|
+
"name": "config_id",
|
|
9324
|
+
"required": true,
|
|
9325
|
+
"schema": {
|
|
9326
|
+
"title": "Config Id",
|
|
9327
|
+
"type": "string"
|
|
9328
|
+
}
|
|
9329
|
+
},
|
|
9330
|
+
{
|
|
9331
|
+
"in": "header",
|
|
9332
|
+
"name": "user-agent",
|
|
9333
|
+
"required": false,
|
|
9334
|
+
"schema": {
|
|
9335
|
+
"anyOf": [
|
|
9336
|
+
{
|
|
9337
|
+
"type": "string"
|
|
9338
|
+
},
|
|
9339
|
+
{
|
|
9340
|
+
"type": "null"
|
|
9341
|
+
}
|
|
9342
|
+
],
|
|
9343
|
+
"title": "User-Agent"
|
|
9344
|
+
}
|
|
9345
|
+
}
|
|
9346
|
+
],
|
|
9347
|
+
"responses": {
|
|
9348
|
+
"200": {
|
|
9349
|
+
"content": {
|
|
9350
|
+
"application/json": {
|
|
9351
|
+
"schema": {
|
|
9352
|
+
"$ref": "#/components/schemas/AgentConfigResponse"
|
|
9353
|
+
}
|
|
9354
|
+
}
|
|
9355
|
+
},
|
|
9356
|
+
"description": "Successful Response"
|
|
9357
|
+
},
|
|
9358
|
+
"401": {
|
|
9359
|
+
"content": {
|
|
9360
|
+
"application/json": {
|
|
9361
|
+
"schema": {
|
|
9362
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9363
|
+
}
|
|
9364
|
+
}
|
|
9365
|
+
},
|
|
9366
|
+
"description": "The bearer token is missing, invalid, or revoked."
|
|
9367
|
+
},
|
|
9368
|
+
"403": {
|
|
9369
|
+
"content": {
|
|
9370
|
+
"application/json": {
|
|
9371
|
+
"schema": {
|
|
9372
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9373
|
+
}
|
|
9374
|
+
}
|
|
9375
|
+
},
|
|
9376
|
+
"description": "The credential may not perform this action, or the account is blocked."
|
|
9377
|
+
},
|
|
9378
|
+
"404": {
|
|
9379
|
+
"content": {
|
|
9380
|
+
"application/json": {
|
|
9381
|
+
"schema": {
|
|
9382
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9383
|
+
}
|
|
9384
|
+
}
|
|
9385
|
+
},
|
|
9386
|
+
"description": "No such config in your account."
|
|
9387
|
+
},
|
|
9388
|
+
"422": {
|
|
9389
|
+
"content": {
|
|
9390
|
+
"application/json": {
|
|
9391
|
+
"schema": {
|
|
9392
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
9393
|
+
}
|
|
9394
|
+
}
|
|
9395
|
+
},
|
|
9396
|
+
"description": "Validation Error"
|
|
9397
|
+
}
|
|
9398
|
+
},
|
|
9399
|
+
"security": [
|
|
9400
|
+
{
|
|
9401
|
+
"HTTPBearer": []
|
|
9402
|
+
}
|
|
9403
|
+
],
|
|
9404
|
+
"summary": "Get Agent Config",
|
|
9035
9405
|
"tags": [
|
|
9036
9406
|
"v1"
|
|
9037
9407
|
],
|
|
9038
9408
|
"x-ellipsis-sdk-method": "agents.configs.get"
|
|
9409
|
+
},
|
|
9410
|
+
"put": {
|
|
9411
|
+
"description": "Replace an agent's definition, by id or by the agent's name.\n\nThe whole definition is replaced, and the change is live at\nonce. Only for agents managed through this API: one defined by a\nrepository file is a 409, since the next push to that file would\nrevert the change \u2014 unlink it first to take ownership.",
|
|
9412
|
+
"operationId": "update_agent_config",
|
|
9413
|
+
"parameters": [
|
|
9414
|
+
{
|
|
9415
|
+
"in": "path",
|
|
9416
|
+
"name": "config_id",
|
|
9417
|
+
"required": true,
|
|
9418
|
+
"schema": {
|
|
9419
|
+
"title": "Config Id",
|
|
9420
|
+
"type": "string"
|
|
9421
|
+
}
|
|
9422
|
+
},
|
|
9423
|
+
{
|
|
9424
|
+
"in": "header",
|
|
9425
|
+
"name": "user-agent",
|
|
9426
|
+
"required": false,
|
|
9427
|
+
"schema": {
|
|
9428
|
+
"anyOf": [
|
|
9429
|
+
{
|
|
9430
|
+
"type": "string"
|
|
9431
|
+
},
|
|
9432
|
+
{
|
|
9433
|
+
"type": "null"
|
|
9434
|
+
}
|
|
9435
|
+
],
|
|
9436
|
+
"title": "User-Agent"
|
|
9437
|
+
}
|
|
9438
|
+
}
|
|
9439
|
+
],
|
|
9440
|
+
"requestBody": {
|
|
9441
|
+
"content": {
|
|
9442
|
+
"application/json": {
|
|
9443
|
+
"schema": {
|
|
9444
|
+
"$ref": "#/components/schemas/UpdateAgentConfigRequest"
|
|
9445
|
+
}
|
|
9446
|
+
}
|
|
9447
|
+
},
|
|
9448
|
+
"required": true
|
|
9449
|
+
},
|
|
9450
|
+
"responses": {
|
|
9451
|
+
"200": {
|
|
9452
|
+
"content": {
|
|
9453
|
+
"application/json": {
|
|
9454
|
+
"schema": {
|
|
9455
|
+
"$ref": "#/components/schemas/AgentConfigResponse"
|
|
9456
|
+
}
|
|
9457
|
+
}
|
|
9458
|
+
},
|
|
9459
|
+
"description": "Successful Response"
|
|
9460
|
+
},
|
|
9461
|
+
"400": {
|
|
9462
|
+
"content": {
|
|
9463
|
+
"application/json": {
|
|
9464
|
+
"schema": {
|
|
9465
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9466
|
+
}
|
|
9467
|
+
}
|
|
9468
|
+
},
|
|
9469
|
+
"description": "The config is invalid (for example an unschedulable cron expression)."
|
|
9470
|
+
},
|
|
9471
|
+
"401": {
|
|
9472
|
+
"content": {
|
|
9473
|
+
"application/json": {
|
|
9474
|
+
"schema": {
|
|
9475
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9476
|
+
}
|
|
9477
|
+
}
|
|
9478
|
+
},
|
|
9479
|
+
"description": "The bearer token is missing, invalid, or revoked."
|
|
9480
|
+
},
|
|
9481
|
+
"403": {
|
|
9482
|
+
"content": {
|
|
9483
|
+
"application/json": {
|
|
9484
|
+
"schema": {
|
|
9485
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9486
|
+
}
|
|
9487
|
+
}
|
|
9488
|
+
},
|
|
9489
|
+
"description": "The credential may not perform this action, or the account is blocked."
|
|
9490
|
+
},
|
|
9491
|
+
"404": {
|
|
9492
|
+
"content": {
|
|
9493
|
+
"application/json": {
|
|
9494
|
+
"schema": {
|
|
9495
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9496
|
+
}
|
|
9497
|
+
}
|
|
9498
|
+
},
|
|
9499
|
+
"description": "No such config in your account."
|
|
9500
|
+
},
|
|
9501
|
+
"409": {
|
|
9502
|
+
"content": {
|
|
9503
|
+
"application/json": {
|
|
9504
|
+
"schema": {
|
|
9505
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9506
|
+
}
|
|
9507
|
+
}
|
|
9508
|
+
},
|
|
9509
|
+
"description": "The agent is defined by a file in a repository, or another live agent already holds the new name."
|
|
9510
|
+
},
|
|
9511
|
+
"422": {
|
|
9512
|
+
"content": {
|
|
9513
|
+
"application/json": {
|
|
9514
|
+
"schema": {
|
|
9515
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9516
|
+
}
|
|
9517
|
+
}
|
|
9518
|
+
},
|
|
9519
|
+
"description": "The agent's name is missing or malformed, or a file reference names no repository."
|
|
9520
|
+
}
|
|
9521
|
+
},
|
|
9522
|
+
"security": [
|
|
9523
|
+
{
|
|
9524
|
+
"HTTPBearer": []
|
|
9525
|
+
}
|
|
9526
|
+
],
|
|
9527
|
+
"summary": "Update Agent Config",
|
|
9528
|
+
"tags": [
|
|
9529
|
+
"v1"
|
|
9530
|
+
],
|
|
9531
|
+
"x-ellipsis-sdk-method": "agents.configs.update"
|
|
9532
|
+
}
|
|
9533
|
+
},
|
|
9534
|
+
"/agents/configs/{config_id}/link": {
|
|
9535
|
+
"post": {
|
|
9536
|
+
"description": "Move an agent into a repository, by id or by the agent's name.\n\nOpens a pull request adding the agent's config file. The agent\nkeeps running unchanged meanwhile; merging hands it over to the\nfile, after which the file is what changes it. Nothing happens\nif the pull request is never merged.",
|
|
9537
|
+
"operationId": "link_agent_config",
|
|
9538
|
+
"parameters": [
|
|
9539
|
+
{
|
|
9540
|
+
"in": "path",
|
|
9541
|
+
"name": "config_id",
|
|
9542
|
+
"required": true,
|
|
9543
|
+
"schema": {
|
|
9544
|
+
"title": "Config Id",
|
|
9545
|
+
"type": "string"
|
|
9546
|
+
}
|
|
9547
|
+
},
|
|
9548
|
+
{
|
|
9549
|
+
"in": "header",
|
|
9550
|
+
"name": "user-agent",
|
|
9551
|
+
"required": false,
|
|
9552
|
+
"schema": {
|
|
9553
|
+
"anyOf": [
|
|
9554
|
+
{
|
|
9555
|
+
"type": "string"
|
|
9556
|
+
},
|
|
9557
|
+
{
|
|
9558
|
+
"type": "null"
|
|
9559
|
+
}
|
|
9560
|
+
],
|
|
9561
|
+
"title": "User-Agent"
|
|
9562
|
+
}
|
|
9563
|
+
}
|
|
9564
|
+
],
|
|
9565
|
+
"requestBody": {
|
|
9566
|
+
"content": {
|
|
9567
|
+
"application/json": {
|
|
9568
|
+
"schema": {
|
|
9569
|
+
"$ref": "#/components/schemas/LinkAgentConfigRequest"
|
|
9570
|
+
}
|
|
9571
|
+
}
|
|
9572
|
+
},
|
|
9573
|
+
"required": true
|
|
9574
|
+
},
|
|
9575
|
+
"responses": {
|
|
9576
|
+
"200": {
|
|
9577
|
+
"content": {
|
|
9578
|
+
"application/json": {
|
|
9579
|
+
"schema": {
|
|
9580
|
+
"$ref": "#/components/schemas/LinkAgentConfigResponse"
|
|
9581
|
+
}
|
|
9582
|
+
}
|
|
9583
|
+
},
|
|
9584
|
+
"description": "Successful Response"
|
|
9585
|
+
},
|
|
9586
|
+
"400": {
|
|
9587
|
+
"content": {
|
|
9588
|
+
"application/json": {
|
|
9589
|
+
"schema": {
|
|
9590
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9591
|
+
}
|
|
9592
|
+
}
|
|
9593
|
+
},
|
|
9594
|
+
"description": "The path is not a synced config location, or the repository has no commits."
|
|
9595
|
+
},
|
|
9596
|
+
"401": {
|
|
9597
|
+
"content": {
|
|
9598
|
+
"application/json": {
|
|
9599
|
+
"schema": {
|
|
9600
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9601
|
+
}
|
|
9602
|
+
}
|
|
9603
|
+
},
|
|
9604
|
+
"description": "The bearer token is missing, invalid, or revoked."
|
|
9605
|
+
},
|
|
9606
|
+
"403": {
|
|
9607
|
+
"content": {
|
|
9608
|
+
"application/json": {
|
|
9609
|
+
"schema": {
|
|
9610
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9611
|
+
}
|
|
9612
|
+
}
|
|
9613
|
+
},
|
|
9614
|
+
"description": "The credential may not perform this action, or the account is blocked."
|
|
9615
|
+
},
|
|
9616
|
+
"404": {
|
|
9617
|
+
"content": {
|
|
9618
|
+
"application/json": {
|
|
9619
|
+
"schema": {
|
|
9620
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9621
|
+
}
|
|
9622
|
+
}
|
|
9623
|
+
},
|
|
9624
|
+
"description": "The config or repository was not found in your account."
|
|
9625
|
+
},
|
|
9626
|
+
"409": {
|
|
9627
|
+
"content": {
|
|
9628
|
+
"application/json": {
|
|
9629
|
+
"schema": {
|
|
9630
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9631
|
+
}
|
|
9632
|
+
}
|
|
9633
|
+
},
|
|
9634
|
+
"description": "The agent is already defined by a file, a link is already open for it, a file already exists at that path, or another agent syncs from it."
|
|
9635
|
+
},
|
|
9636
|
+
"422": {
|
|
9637
|
+
"content": {
|
|
9638
|
+
"application/json": {
|
|
9639
|
+
"schema": {
|
|
9640
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9641
|
+
}
|
|
9642
|
+
}
|
|
9643
|
+
},
|
|
9644
|
+
"description": "GitHub rejected the pull request."
|
|
9645
|
+
}
|
|
9646
|
+
},
|
|
9647
|
+
"security": [
|
|
9648
|
+
{
|
|
9649
|
+
"HTTPBearer": []
|
|
9650
|
+
}
|
|
9651
|
+
],
|
|
9652
|
+
"summary": "Link Agent Config",
|
|
9653
|
+
"tags": [
|
|
9654
|
+
"v1"
|
|
9655
|
+
],
|
|
9656
|
+
"x-ellipsis-sdk-method": "agents.configs.link"
|
|
9657
|
+
}
|
|
9658
|
+
},
|
|
9659
|
+
"/agents/configs/{config_id}/unlink": {
|
|
9660
|
+
"post": {
|
|
9661
|
+
"description": "Take over an agent from its file, by id or by the agent's name.\n\nThe file stops governing the agent immediately and further\nchanges go through this API. The file is left in place, inert \u2014\ndelete it whenever you like.",
|
|
9662
|
+
"operationId": "unlink_agent_config",
|
|
9663
|
+
"parameters": [
|
|
9664
|
+
{
|
|
9665
|
+
"in": "path",
|
|
9666
|
+
"name": "config_id",
|
|
9667
|
+
"required": true,
|
|
9668
|
+
"schema": {
|
|
9669
|
+
"title": "Config Id",
|
|
9670
|
+
"type": "string"
|
|
9671
|
+
}
|
|
9672
|
+
},
|
|
9673
|
+
{
|
|
9674
|
+
"in": "header",
|
|
9675
|
+
"name": "user-agent",
|
|
9676
|
+
"required": false,
|
|
9677
|
+
"schema": {
|
|
9678
|
+
"anyOf": [
|
|
9679
|
+
{
|
|
9680
|
+
"type": "string"
|
|
9681
|
+
},
|
|
9682
|
+
{
|
|
9683
|
+
"type": "null"
|
|
9684
|
+
}
|
|
9685
|
+
],
|
|
9686
|
+
"title": "User-Agent"
|
|
9687
|
+
}
|
|
9688
|
+
}
|
|
9689
|
+
],
|
|
9690
|
+
"responses": {
|
|
9691
|
+
"200": {
|
|
9692
|
+
"content": {
|
|
9693
|
+
"application/json": {
|
|
9694
|
+
"schema": {
|
|
9695
|
+
"$ref": "#/components/schemas/AgentConfigResponse"
|
|
9696
|
+
}
|
|
9697
|
+
}
|
|
9698
|
+
},
|
|
9699
|
+
"description": "Successful Response"
|
|
9700
|
+
},
|
|
9701
|
+
"401": {
|
|
9702
|
+
"content": {
|
|
9703
|
+
"application/json": {
|
|
9704
|
+
"schema": {
|
|
9705
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9706
|
+
}
|
|
9707
|
+
}
|
|
9708
|
+
},
|
|
9709
|
+
"description": "The bearer token is missing, invalid, or revoked."
|
|
9710
|
+
},
|
|
9711
|
+
"403": {
|
|
9712
|
+
"content": {
|
|
9713
|
+
"application/json": {
|
|
9714
|
+
"schema": {
|
|
9715
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9716
|
+
}
|
|
9717
|
+
}
|
|
9718
|
+
},
|
|
9719
|
+
"description": "The credential may not perform this action, or the account is blocked."
|
|
9720
|
+
},
|
|
9721
|
+
"404": {
|
|
9722
|
+
"content": {
|
|
9723
|
+
"application/json": {
|
|
9724
|
+
"schema": {
|
|
9725
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9726
|
+
}
|
|
9727
|
+
}
|
|
9728
|
+
},
|
|
9729
|
+
"description": "No such config in your account."
|
|
9730
|
+
},
|
|
9731
|
+
"409": {
|
|
9732
|
+
"content": {
|
|
9733
|
+
"application/json": {
|
|
9734
|
+
"schema": {
|
|
9735
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9736
|
+
}
|
|
9737
|
+
}
|
|
9738
|
+
},
|
|
9739
|
+
"description": "The agent is already managed through the API."
|
|
9740
|
+
},
|
|
9741
|
+
"422": {
|
|
9742
|
+
"content": {
|
|
9743
|
+
"application/json": {
|
|
9744
|
+
"schema": {
|
|
9745
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
9746
|
+
}
|
|
9747
|
+
}
|
|
9748
|
+
},
|
|
9749
|
+
"description": "The config has a file reference that names no repository, so it cannot resolve without its source repository."
|
|
9750
|
+
}
|
|
9751
|
+
},
|
|
9752
|
+
"security": [
|
|
9753
|
+
{
|
|
9754
|
+
"HTTPBearer": []
|
|
9755
|
+
}
|
|
9756
|
+
],
|
|
9757
|
+
"summary": "Unlink Agent Config",
|
|
9758
|
+
"tags": [
|
|
9759
|
+
"v1"
|
|
9760
|
+
],
|
|
9761
|
+
"x-ellipsis-sdk-method": "agents.configs.unlink"
|
|
9039
9762
|
}
|
|
9040
9763
|
},
|
|
9041
9764
|
"/agents/defaults": {
|