@ellipsis-dev/sdk 0.2.0 → 0.2.2
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 +4 -3
- package/dist/index.js +10 -0
- package/dist/store/index.d.ts +1 -1
- package/dist/stream/index.d.ts +1 -1
- package/dist/{types-F94JllmC.d.ts → types-B5A_axbQ.d.ts} +135 -1
- package/package.json +1 -1
- package/schema/frames.schema.json +68 -0
- package/schema/lifecycle.schema.json +12 -0
- package/schema/openapi.v1.json +244 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as AgentSessionWire, L as ListSessionRecordsResponse, a as ListSessionTurnsResponse, S as SessionMessageWire } from './types-
|
|
2
|
-
export {
|
|
1
|
+
import { A as AgentSessionWire, L as ListSessionRecordsResponse, a as ListSessionTurnsResponse, b as ListSessionExecutionsResponse, S as SessionMessageWire } from './types-B5A_axbQ.js';
|
|
2
|
+
export { c as AgentSessionExitStatus, d as AgentSessionPr, e as AgentSessionSource, f as AgentSessionStatus, g as AgentTurn, h as AgentTurnStatus, i as AttributionType, B as BudgetSource, D as DefaultResolution, j as DeltaFrame, k as DoneFrame, E as ErrorFrame, G as GithubAccountSnippet, l as GithubAccountType, H as Harness, m as HeartbeatFrame, M as ModelTokensInfo, P as ParentKind, R as RecordsAppendFrame, n as SendSessionMessageRequest, o as SessionExecutionWire, p as SessionFrame, q as SessionLiveness, r as SessionMessageStatus, s as SessionRecordWire, t as SessionState, u as SessionStreamFrame, v as SessionSurface, w as SnapshotFrame, x as StreamFrame, T as TokensInfo, y as TurnTokensInfo, z as components, C as paths } from './types-B5A_axbQ.js';
|
|
3
3
|
|
|
4
4
|
type FetchJson = (path: string, init?: {
|
|
5
5
|
method?: string;
|
|
@@ -14,9 +14,10 @@ declare class EllipsisClient {
|
|
|
14
14
|
limit?: number;
|
|
15
15
|
}): Promise<ListSessionRecordsResponse>;
|
|
16
16
|
getSessionTurns(sessionId: string): Promise<ListSessionTurnsResponse>;
|
|
17
|
+
getSessionExecutions(sessionId: string): Promise<ListSessionExecutionsResponse>;
|
|
17
18
|
sendSessionMessage(sessionId: string, message: string, options?: {
|
|
18
19
|
idempotencyKey?: string;
|
|
19
20
|
}): Promise<SessionMessageWire>;
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
export { AgentSessionWire, EllipsisClient, type FetchJson, ListSessionRecordsResponse, ListSessionTurnsResponse, SessionMessageWire };
|
|
23
|
+
export { AgentSessionWire, EllipsisClient, type FetchJson, ListSessionExecutionsResponse, ListSessionRecordsResponse, ListSessionTurnsResponse, SessionMessageWire };
|
package/dist/index.js
CHANGED
|
@@ -30,6 +30,16 @@ var EllipsisClient = class {
|
|
|
30
30
|
`/v1/sessions/${encodeURIComponent(sessionId)}/turns`
|
|
31
31
|
);
|
|
32
32
|
}
|
|
33
|
+
// The session's executions (initial start, cold wakes, infra retries) with
|
|
34
|
+
// their launch context: `system_prompt_append` is the text Ellipsis appends
|
|
35
|
+
// to Claude Code's default system prompt, alongside the initial query and
|
|
36
|
+
// model. Per execution because each cold wake persists its own launch
|
|
37
|
+
// config.
|
|
38
|
+
async getSessionExecutions(sessionId) {
|
|
39
|
+
return await this.fetchJson(
|
|
40
|
+
`/v1/sessions/${encodeURIComponent(sessionId)}/executions`
|
|
41
|
+
);
|
|
42
|
+
}
|
|
33
43
|
// Send a message into the session's inbox (§4.2). Returns the created (or,
|
|
34
44
|
// on an idempotent retry, the original) inbox row — clients key optimistic
|
|
35
45
|
// echo chips on its id. `idempotencyKey` makes retries safe per
|
package/dist/store/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { s as SessionRecordWire, A as AgentSessionWire, S as SessionMessageWire, x as StreamFrame } from '../types-B5A_axbQ.js';
|
|
2
2
|
|
|
3
3
|
interface ChatToolNode {
|
|
4
4
|
key: string;
|
package/dist/stream/index.d.ts
CHANGED
|
@@ -16,6 +16,23 @@ interface paths {
|
|
|
16
16
|
patch?: never;
|
|
17
17
|
trace?: never;
|
|
18
18
|
};
|
|
19
|
+
'/v1/sessions/{session_id}/executions': {
|
|
20
|
+
parameters: {
|
|
21
|
+
query?: never;
|
|
22
|
+
header?: never;
|
|
23
|
+
path?: never;
|
|
24
|
+
cookie?: never;
|
|
25
|
+
};
|
|
26
|
+
/** Get Agent Session Executions */
|
|
27
|
+
get: operations['get_agent_session_executions_v1_sessions__session_id__executions_get'];
|
|
28
|
+
put?: never;
|
|
29
|
+
post?: never;
|
|
30
|
+
delete?: never;
|
|
31
|
+
options?: never;
|
|
32
|
+
head?: never;
|
|
33
|
+
patch?: never;
|
|
34
|
+
trace?: never;
|
|
35
|
+
};
|
|
19
36
|
'/v1/sessions/{session_id}/messages': {
|
|
20
37
|
parameters: {
|
|
21
38
|
query?: never;
|
|
@@ -175,6 +192,7 @@ interface components {
|
|
|
175
192
|
parent_kind?: components['schemas']['ParentKind'] | null;
|
|
176
193
|
/** Prompt */
|
|
177
194
|
prompt?: string | null;
|
|
195
|
+
prompting: components['schemas']['SessionPrompting'];
|
|
178
196
|
/** Replayed From Session Id */
|
|
179
197
|
replayed_from_session_id?: string | null;
|
|
180
198
|
/** Resolved Budget Cents */
|
|
@@ -348,6 +366,14 @@ interface components {
|
|
|
348
366
|
* @enum {string}
|
|
349
367
|
*/
|
|
350
368
|
DefaultResolution: 'repo_default' | 'account_default' | 'none';
|
|
369
|
+
/**
|
|
370
|
+
* ExecutionStatus
|
|
371
|
+
* @description Per-execution status ladder (was AgentProcessStatus). Distinct from the
|
|
372
|
+
* session's durable `session_state` and from `agent_sessions.status`, which
|
|
373
|
+
* remains the atomic claim/dispatch guard.
|
|
374
|
+
* @enum {string}
|
|
375
|
+
*/
|
|
376
|
+
ExecutionStatus: 'running' | 'failed' | 'done';
|
|
351
377
|
/**
|
|
352
378
|
* GithubAccountSnippet
|
|
353
379
|
* @description Sometimes the GitHub API returns a user of github (can include bots)
|
|
@@ -380,6 +406,11 @@ interface components {
|
|
|
380
406
|
* @enum {string}
|
|
381
407
|
*/
|
|
382
408
|
Harness: 'claude_code';
|
|
409
|
+
/** ListSessionExecutionsResponse */
|
|
410
|
+
ListSessionExecutionsResponse: {
|
|
411
|
+
/** Executions */
|
|
412
|
+
executions: components['schemas']['SessionExecutionWire'][];
|
|
413
|
+
};
|
|
383
414
|
/** ListSessionRecordsResponse */
|
|
384
415
|
ListSessionRecordsResponse: {
|
|
385
416
|
/** Earliest Feed Seq */
|
|
@@ -447,6 +478,12 @@ interface components {
|
|
|
447
478
|
* @enum {string}
|
|
448
479
|
*/
|
|
449
480
|
ParentKind: 'continuation' | 'handoff' | 'resume';
|
|
481
|
+
/**
|
|
482
|
+
* PromptBlockedReason
|
|
483
|
+
* @description Why direct prompting is refused. Absent when prompting is allowed.
|
|
484
|
+
* @enum {string}
|
|
485
|
+
*/
|
|
486
|
+
PromptBlockedReason: 'mention_surface' | 'ephemeral_trigger' | 'non_interactive' | 'closed' | 'laptop';
|
|
450
487
|
/**
|
|
451
488
|
* RecordSource
|
|
452
489
|
* @description `session_records.source` — the client render switch. `lifecycle` rows are
|
|
@@ -476,6 +513,35 @@ interface components {
|
|
|
476
513
|
/** Message */
|
|
477
514
|
message: string;
|
|
478
515
|
};
|
|
516
|
+
/** SessionExecutionWire */
|
|
517
|
+
SessionExecutionWire: {
|
|
518
|
+
/** Agent Session Id */
|
|
519
|
+
agent_session_id: string;
|
|
520
|
+
/** Attempt Index */
|
|
521
|
+
attempt_index: number;
|
|
522
|
+
/**
|
|
523
|
+
* Created At
|
|
524
|
+
* Format: date-time
|
|
525
|
+
*/
|
|
526
|
+
created_at: string;
|
|
527
|
+
/** Execution Index */
|
|
528
|
+
execution_index: number;
|
|
529
|
+
/** Exit Status */
|
|
530
|
+
exit_status?: string | null;
|
|
531
|
+
/** Id */
|
|
532
|
+
id: string;
|
|
533
|
+
/** Model */
|
|
534
|
+
model?: string | null;
|
|
535
|
+
/** Query */
|
|
536
|
+
query?: string | null;
|
|
537
|
+
/** Resumed */
|
|
538
|
+
resumed: boolean;
|
|
539
|
+
status: components['schemas']['ExecutionStatus'];
|
|
540
|
+
/** System Prompt Append */
|
|
541
|
+
system_prompt_append?: string | null;
|
|
542
|
+
/** Wake Index */
|
|
543
|
+
wake_index: number;
|
|
544
|
+
};
|
|
479
545
|
/**
|
|
480
546
|
* SessionLiveness
|
|
481
547
|
* @description The durable conversation axis (backs the surfaced `session` field).
|
|
@@ -562,6 +628,22 @@ interface components {
|
|
|
562
628
|
sender_attribution_type?: components['schemas']['AttributionType'] | null;
|
|
563
629
|
status: components['schemas']['SessionMessageStatus'];
|
|
564
630
|
};
|
|
631
|
+
/**
|
|
632
|
+
* SessionPrompting
|
|
633
|
+
* @description The prompt-affordance projection. `enabled` answers "would a send work",
|
|
634
|
+
* and when it wouldn't, `blocked_reason` + `detail` say why.
|
|
635
|
+
*
|
|
636
|
+
* `surface_name` is set only for MENTION_SURFACE, naming where to reply.
|
|
637
|
+
*/
|
|
638
|
+
SessionPrompting: {
|
|
639
|
+
blocked_reason?: components['schemas']['PromptBlockedReason'] | null;
|
|
640
|
+
/** Detail */
|
|
641
|
+
detail?: string | null;
|
|
642
|
+
/** Enabled */
|
|
643
|
+
enabled: boolean;
|
|
644
|
+
/** Surface Name */
|
|
645
|
+
surface_name?: string | null;
|
|
646
|
+
};
|
|
565
647
|
/**
|
|
566
648
|
* SessionRecordWire
|
|
567
649
|
* @description The wire shape of one session record (§3.3): the §3.6 stable envelope +
|
|
@@ -767,6 +849,39 @@ interface operations {
|
|
|
767
849
|
};
|
|
768
850
|
};
|
|
769
851
|
};
|
|
852
|
+
get_agent_session_executions_v1_sessions__session_id__executions_get: {
|
|
853
|
+
parameters: {
|
|
854
|
+
query?: never;
|
|
855
|
+
header?: {
|
|
856
|
+
'user-agent'?: string | null;
|
|
857
|
+
};
|
|
858
|
+
path: {
|
|
859
|
+
session_id: string;
|
|
860
|
+
};
|
|
861
|
+
cookie?: never;
|
|
862
|
+
};
|
|
863
|
+
requestBody?: never;
|
|
864
|
+
responses: {
|
|
865
|
+
/** @description Successful Response */
|
|
866
|
+
200: {
|
|
867
|
+
headers: {
|
|
868
|
+
[name: string]: unknown;
|
|
869
|
+
};
|
|
870
|
+
content: {
|
|
871
|
+
'application/json': components['schemas']['ListSessionExecutionsResponse'];
|
|
872
|
+
};
|
|
873
|
+
};
|
|
874
|
+
/** @description Validation Error */
|
|
875
|
+
422: {
|
|
876
|
+
headers: {
|
|
877
|
+
[name: string]: unknown;
|
|
878
|
+
};
|
|
879
|
+
content: {
|
|
880
|
+
'application/json': components['schemas']['HTTPValidationError'];
|
|
881
|
+
};
|
|
882
|
+
};
|
|
883
|
+
};
|
|
884
|
+
};
|
|
770
885
|
send_agent_session_message_v1_sessions__session_id__messages_post: {
|
|
771
886
|
parameters: {
|
|
772
887
|
query?: never;
|
|
@@ -913,6 +1028,10 @@ type Harness = 'claude_code';
|
|
|
913
1028
|
* down (interactive platform; later phase).
|
|
914
1029
|
*/
|
|
915
1030
|
type ParentKind = 'continuation' | 'handoff' | 'resume';
|
|
1031
|
+
/**
|
|
1032
|
+
* Why direct prompting is refused. Absent when prompting is allowed.
|
|
1033
|
+
*/
|
|
1034
|
+
type PromptBlockedReason = 'mention_surface' | 'ephemeral_trigger' | 'non_interactive' | 'closed' | 'laptop';
|
|
916
1035
|
/**
|
|
917
1036
|
* Which layer actually determined the enforced budget.
|
|
918
1037
|
*
|
|
@@ -998,6 +1117,7 @@ interface AgentSessionWire {
|
|
|
998
1117
|
parent_agent_session_id: string | null;
|
|
999
1118
|
parent_kind: ParentKind | null;
|
|
1000
1119
|
prompt: string | null;
|
|
1120
|
+
prompting: SessionPrompting;
|
|
1001
1121
|
replayed_from_session_id: string | null;
|
|
1002
1122
|
resolved_budget_cents: number;
|
|
1003
1123
|
resolved_budget_source: BudgetSource;
|
|
@@ -1046,6 +1166,18 @@ interface AgentSessionPr {
|
|
|
1046
1166
|
repo_full_name: string;
|
|
1047
1167
|
url: string;
|
|
1048
1168
|
}
|
|
1169
|
+
/**
|
|
1170
|
+
* The prompt-affordance projection. `enabled` answers "would a send work",
|
|
1171
|
+
* and when it wouldn't, `blocked_reason` + `detail` say why.
|
|
1172
|
+
*
|
|
1173
|
+
* `surface_name` is set only for MENTION_SURFACE, naming where to reply.
|
|
1174
|
+
*/
|
|
1175
|
+
interface SessionPrompting {
|
|
1176
|
+
blocked_reason: PromptBlockedReason | null;
|
|
1177
|
+
detail: string | null;
|
|
1178
|
+
enabled: boolean;
|
|
1179
|
+
surface_name: string | null;
|
|
1180
|
+
}
|
|
1049
1181
|
/**
|
|
1050
1182
|
* The three fields we expose. All `None` for an un-keyed (laptop) session.
|
|
1051
1183
|
*
|
|
@@ -1177,5 +1309,7 @@ type ListSessionRecordsResponse = components['schemas']['ListSessionRecordsRespo
|
|
|
1177
1309
|
type ListSessionTurnsResponse = components['schemas']['ListSessionTurnsResponse'];
|
|
1178
1310
|
type AgentTurn = components['schemas']['AgentTurn'];
|
|
1179
1311
|
type AgentTurnStatus = components['schemas']['AgentTurnStatus'];
|
|
1312
|
+
type ListSessionExecutionsResponse = components['schemas']['ListSessionExecutionsResponse'];
|
|
1313
|
+
type SessionExecutionWire = components['schemas']['SessionExecutionWire'];
|
|
1180
1314
|
|
|
1181
|
-
export type { AgentSessionWire as A, BudgetSource as B, DefaultResolution as D, ErrorFrame as E, GithubAccountSnippet as G, Harness as H, ListSessionRecordsResponse as L, ModelTokensInfo as M, ParentKind as P, RecordsAppendFrame as R, SessionMessageWire as S, TokensInfo as T, ListSessionTurnsResponse as a,
|
|
1315
|
+
export type { AgentSessionWire as A, BudgetSource as B, paths as C, DefaultResolution as D, ErrorFrame as E, GithubAccountSnippet as G, Harness as H, ListSessionRecordsResponse as L, ModelTokensInfo as M, ParentKind as P, RecordsAppendFrame as R, SessionMessageWire as S, TokensInfo as T, ListSessionTurnsResponse as a, ListSessionExecutionsResponse as b, AgentSessionExitStatus as c, AgentSessionPr as d, AgentSessionSource as e, AgentSessionStatus as f, AgentTurn as g, AgentTurnStatus as h, AttributionType as i, DeltaFrame as j, DoneFrame as k, GithubAccountType as l, HeartbeatFrame as m, SendSessionMessageRequest as n, SessionExecutionWire as o, SessionFrame as p, SessionLiveness as q, SessionMessageStatus as r, SessionRecordWire as s, SessionState as t, SessionStreamFrame as u, SessionSurface as v, SnapshotFrame as w, StreamFrame as x, TurnTokensInfo as y, components as z };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ellipsis-dev/sdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "TypeScript SDK for the Ellipsis agents platform: /v1 REST types + client, the session stream WebSocket client, and the session transcript store.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -333,6 +333,9 @@
|
|
|
333
333
|
"default": null,
|
|
334
334
|
"title": "Prompt"
|
|
335
335
|
},
|
|
336
|
+
"prompting": {
|
|
337
|
+
"$ref": "#/$defs/SessionPrompting"
|
|
338
|
+
},
|
|
336
339
|
"replayed_from_session_id": {
|
|
337
340
|
"anyOf": [
|
|
338
341
|
{
|
|
@@ -536,6 +539,7 @@
|
|
|
536
539
|
"parent_agent_session_id",
|
|
537
540
|
"parent_kind",
|
|
538
541
|
"prompt",
|
|
542
|
+
"prompting",
|
|
539
543
|
"replayed_from_session_id",
|
|
540
544
|
"resolved_budget_cents",
|
|
541
545
|
"resolved_budget_source",
|
|
@@ -805,6 +809,18 @@
|
|
|
805
809
|
"title": "ParentKind",
|
|
806
810
|
"type": "string"
|
|
807
811
|
},
|
|
812
|
+
"PromptBlockedReason": {
|
|
813
|
+
"description": "Why direct prompting is refused. Absent when prompting is allowed.",
|
|
814
|
+
"enum": [
|
|
815
|
+
"mention_surface",
|
|
816
|
+
"ephemeral_trigger",
|
|
817
|
+
"non_interactive",
|
|
818
|
+
"closed",
|
|
819
|
+
"laptop"
|
|
820
|
+
],
|
|
821
|
+
"title": "PromptBlockedReason",
|
|
822
|
+
"type": "string"
|
|
823
|
+
},
|
|
808
824
|
"RecordsAppendFrame": {
|
|
809
825
|
"description": "Cursored append-only: raw records ordered by feed_seq, all sources.\nEvery record in the frame advances the resume cursor \u2014 including ones a\nclient renders as nothing (\u00a73.4).",
|
|
810
826
|
"properties": {
|
|
@@ -995,6 +1011,58 @@
|
|
|
995
1011
|
"title": "SessionMessageWire",
|
|
996
1012
|
"type": "object"
|
|
997
1013
|
},
|
|
1014
|
+
"SessionPrompting": {
|
|
1015
|
+
"description": "The prompt-affordance projection. `enabled` answers \"would a send work\",\nand when it wouldn't, `blocked_reason` + `detail` say why.\n\n`surface_name` is set only for MENTION_SURFACE, naming where to reply.",
|
|
1016
|
+
"properties": {
|
|
1017
|
+
"blocked_reason": {
|
|
1018
|
+
"anyOf": [
|
|
1019
|
+
{
|
|
1020
|
+
"$ref": "#/$defs/PromptBlockedReason"
|
|
1021
|
+
},
|
|
1022
|
+
{
|
|
1023
|
+
"type": "null"
|
|
1024
|
+
}
|
|
1025
|
+
],
|
|
1026
|
+
"default": null
|
|
1027
|
+
},
|
|
1028
|
+
"detail": {
|
|
1029
|
+
"anyOf": [
|
|
1030
|
+
{
|
|
1031
|
+
"type": "string"
|
|
1032
|
+
},
|
|
1033
|
+
{
|
|
1034
|
+
"type": "null"
|
|
1035
|
+
}
|
|
1036
|
+
],
|
|
1037
|
+
"default": null,
|
|
1038
|
+
"title": "Detail"
|
|
1039
|
+
},
|
|
1040
|
+
"enabled": {
|
|
1041
|
+
"title": "Enabled",
|
|
1042
|
+
"type": "boolean"
|
|
1043
|
+
},
|
|
1044
|
+
"surface_name": {
|
|
1045
|
+
"anyOf": [
|
|
1046
|
+
{
|
|
1047
|
+
"type": "string"
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
"type": "null"
|
|
1051
|
+
}
|
|
1052
|
+
],
|
|
1053
|
+
"default": null,
|
|
1054
|
+
"title": "Surface Name"
|
|
1055
|
+
}
|
|
1056
|
+
},
|
|
1057
|
+
"required": [
|
|
1058
|
+
"blocked_reason",
|
|
1059
|
+
"detail",
|
|
1060
|
+
"enabled",
|
|
1061
|
+
"surface_name"
|
|
1062
|
+
],
|
|
1063
|
+
"title": "SessionPrompting",
|
|
1064
|
+
"type": "object"
|
|
1065
|
+
},
|
|
998
1066
|
"SessionRecordWire": {
|
|
999
1067
|
"description": "The wire shape of one session record (\u00a73.3): the \u00a73.6 stable envelope +\nthe native `payload`, by explicit allowlist. Internal-only columns\n(`search_text`, `clis`, ingest bookkeeping, attribution denormalizations)\nare deliberately absent so internal model evolution stays free.",
|
|
1000
1068
|
"properties": {
|
|
@@ -314,6 +314,18 @@
|
|
|
314
314
|
"SessionScheduledPayload": {
|
|
315
315
|
"description": "session_scheduled \u2014 the session row exists and is queued for a worker.\nThe one session-scoped record emitted at creation (no execution yet).",
|
|
316
316
|
"properties": {
|
|
317
|
+
"config_commit_sha": {
|
|
318
|
+
"anyOf": [
|
|
319
|
+
{
|
|
320
|
+
"type": "string"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"type": "null"
|
|
324
|
+
}
|
|
325
|
+
],
|
|
326
|
+
"default": null,
|
|
327
|
+
"title": "Config Commit Sha"
|
|
328
|
+
},
|
|
317
329
|
"config_name": {
|
|
318
330
|
"anyOf": [
|
|
319
331
|
{
|
package/schema/openapi.v1.json
CHANGED
|
@@ -314,6 +314,9 @@
|
|
|
314
314
|
],
|
|
315
315
|
"title": "Prompt"
|
|
316
316
|
},
|
|
317
|
+
"prompting": {
|
|
318
|
+
"$ref": "#/components/schemas/SessionPrompting"
|
|
319
|
+
},
|
|
317
320
|
"replayed_from_session_id": {
|
|
318
321
|
"anyOf": [
|
|
319
322
|
{
|
|
@@ -491,7 +494,8 @@
|
|
|
491
494
|
"tokens_model",
|
|
492
495
|
"resolved_budget_cents",
|
|
493
496
|
"resolved_budget_source",
|
|
494
|
-
"status"
|
|
497
|
+
"status",
|
|
498
|
+
"prompting"
|
|
495
499
|
],
|
|
496
500
|
"title": "AgentSessionWire",
|
|
497
501
|
"type": "object"
|
|
@@ -733,6 +737,16 @@
|
|
|
733
737
|
"title": "DefaultResolution",
|
|
734
738
|
"type": "string"
|
|
735
739
|
},
|
|
740
|
+
"ExecutionStatus": {
|
|
741
|
+
"description": "Per-execution status ladder (was AgentProcessStatus). Distinct from the\nsession's durable `session_state` and from `agent_sessions.status`, which\nremains the atomic claim/dispatch guard.",
|
|
742
|
+
"enum": [
|
|
743
|
+
"running",
|
|
744
|
+
"failed",
|
|
745
|
+
"done"
|
|
746
|
+
],
|
|
747
|
+
"title": "ExecutionStatus",
|
|
748
|
+
"type": "string"
|
|
749
|
+
},
|
|
736
750
|
"GithubAccountSnippet": {
|
|
737
751
|
"description": "Sometimes the GitHub API returns a user of github (can include bots)\nusing this snippet instead of the full GithubAccount model. One example,\nis when the API returns a pull request.\n\nThis is the least amount of info we need to represent a GitHub account.",
|
|
738
752
|
"properties": {
|
|
@@ -791,6 +805,22 @@
|
|
|
791
805
|
"title": "Harness",
|
|
792
806
|
"type": "string"
|
|
793
807
|
},
|
|
808
|
+
"ListSessionExecutionsResponse": {
|
|
809
|
+
"properties": {
|
|
810
|
+
"executions": {
|
|
811
|
+
"items": {
|
|
812
|
+
"$ref": "#/components/schemas/SessionExecutionWire"
|
|
813
|
+
},
|
|
814
|
+
"title": "Executions",
|
|
815
|
+
"type": "array"
|
|
816
|
+
}
|
|
817
|
+
},
|
|
818
|
+
"required": [
|
|
819
|
+
"executions"
|
|
820
|
+
],
|
|
821
|
+
"title": "ListSessionExecutionsResponse",
|
|
822
|
+
"type": "object"
|
|
823
|
+
},
|
|
794
824
|
"ListSessionRecordsResponse": {
|
|
795
825
|
"properties": {
|
|
796
826
|
"earliest_feed_seq": {
|
|
@@ -896,6 +926,18 @@
|
|
|
896
926
|
"title": "ParentKind",
|
|
897
927
|
"type": "string"
|
|
898
928
|
},
|
|
929
|
+
"PromptBlockedReason": {
|
|
930
|
+
"description": "Why direct prompting is refused. Absent when prompting is allowed.",
|
|
931
|
+
"enum": [
|
|
932
|
+
"mention_surface",
|
|
933
|
+
"ephemeral_trigger",
|
|
934
|
+
"non_interactive",
|
|
935
|
+
"closed",
|
|
936
|
+
"laptop"
|
|
937
|
+
],
|
|
938
|
+
"title": "PromptBlockedReason",
|
|
939
|
+
"type": "string"
|
|
940
|
+
},
|
|
899
941
|
"RecordSource": {
|
|
900
942
|
"description": "`session_records.source` \u2014 the client render switch. `lifecycle` rows are\ncontroller-emitted platform notifications; a harness value means a native\ntranscript record from that harness.",
|
|
901
943
|
"enum": [
|
|
@@ -947,6 +989,98 @@
|
|
|
947
989
|
"title": "SendSessionMessageRequest",
|
|
948
990
|
"type": "object"
|
|
949
991
|
},
|
|
992
|
+
"SessionExecutionWire": {
|
|
993
|
+
"properties": {
|
|
994
|
+
"agent_session_id": {
|
|
995
|
+
"title": "Agent Session Id",
|
|
996
|
+
"type": "string"
|
|
997
|
+
},
|
|
998
|
+
"attempt_index": {
|
|
999
|
+
"title": "Attempt Index",
|
|
1000
|
+
"type": "integer"
|
|
1001
|
+
},
|
|
1002
|
+
"created_at": {
|
|
1003
|
+
"format": "date-time",
|
|
1004
|
+
"title": "Created At",
|
|
1005
|
+
"type": "string"
|
|
1006
|
+
},
|
|
1007
|
+
"execution_index": {
|
|
1008
|
+
"title": "Execution Index",
|
|
1009
|
+
"type": "integer"
|
|
1010
|
+
},
|
|
1011
|
+
"exit_status": {
|
|
1012
|
+
"anyOf": [
|
|
1013
|
+
{
|
|
1014
|
+
"type": "string"
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
"type": "null"
|
|
1018
|
+
}
|
|
1019
|
+
],
|
|
1020
|
+
"title": "Exit Status"
|
|
1021
|
+
},
|
|
1022
|
+
"id": {
|
|
1023
|
+
"title": "Id",
|
|
1024
|
+
"type": "string"
|
|
1025
|
+
},
|
|
1026
|
+
"model": {
|
|
1027
|
+
"anyOf": [
|
|
1028
|
+
{
|
|
1029
|
+
"type": "string"
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
"type": "null"
|
|
1033
|
+
}
|
|
1034
|
+
],
|
|
1035
|
+
"title": "Model"
|
|
1036
|
+
},
|
|
1037
|
+
"query": {
|
|
1038
|
+
"anyOf": [
|
|
1039
|
+
{
|
|
1040
|
+
"type": "string"
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"type": "null"
|
|
1044
|
+
}
|
|
1045
|
+
],
|
|
1046
|
+
"title": "Query"
|
|
1047
|
+
},
|
|
1048
|
+
"resumed": {
|
|
1049
|
+
"title": "Resumed",
|
|
1050
|
+
"type": "boolean"
|
|
1051
|
+
},
|
|
1052
|
+
"status": {
|
|
1053
|
+
"$ref": "#/components/schemas/ExecutionStatus"
|
|
1054
|
+
},
|
|
1055
|
+
"system_prompt_append": {
|
|
1056
|
+
"anyOf": [
|
|
1057
|
+
{
|
|
1058
|
+
"type": "string"
|
|
1059
|
+
},
|
|
1060
|
+
{
|
|
1061
|
+
"type": "null"
|
|
1062
|
+
}
|
|
1063
|
+
],
|
|
1064
|
+
"title": "System Prompt Append"
|
|
1065
|
+
},
|
|
1066
|
+
"wake_index": {
|
|
1067
|
+
"title": "Wake Index",
|
|
1068
|
+
"type": "integer"
|
|
1069
|
+
}
|
|
1070
|
+
},
|
|
1071
|
+
"required": [
|
|
1072
|
+
"id",
|
|
1073
|
+
"agent_session_id",
|
|
1074
|
+
"created_at",
|
|
1075
|
+
"execution_index",
|
|
1076
|
+
"wake_index",
|
|
1077
|
+
"attempt_index",
|
|
1078
|
+
"resumed",
|
|
1079
|
+
"status"
|
|
1080
|
+
],
|
|
1081
|
+
"title": "SessionExecutionWire",
|
|
1082
|
+
"type": "object"
|
|
1083
|
+
},
|
|
950
1084
|
"SessionLiveness": {
|
|
951
1085
|
"description": "The durable conversation axis (backs the surfaced `session` field).",
|
|
952
1086
|
"enum": [
|
|
@@ -1213,6 +1347,52 @@
|
|
|
1213
1347
|
"title": "SessionMessageWire",
|
|
1214
1348
|
"type": "object"
|
|
1215
1349
|
},
|
|
1350
|
+
"SessionPrompting": {
|
|
1351
|
+
"description": "The prompt-affordance projection. `enabled` answers \"would a send work\",\nand when it wouldn't, `blocked_reason` + `detail` say why.\n\n`surface_name` is set only for MENTION_SURFACE, naming where to reply.",
|
|
1352
|
+
"properties": {
|
|
1353
|
+
"blocked_reason": {
|
|
1354
|
+
"anyOf": [
|
|
1355
|
+
{
|
|
1356
|
+
"$ref": "#/components/schemas/PromptBlockedReason"
|
|
1357
|
+
},
|
|
1358
|
+
{
|
|
1359
|
+
"type": "null"
|
|
1360
|
+
}
|
|
1361
|
+
]
|
|
1362
|
+
},
|
|
1363
|
+
"detail": {
|
|
1364
|
+
"anyOf": [
|
|
1365
|
+
{
|
|
1366
|
+
"type": "string"
|
|
1367
|
+
},
|
|
1368
|
+
{
|
|
1369
|
+
"type": "null"
|
|
1370
|
+
}
|
|
1371
|
+
],
|
|
1372
|
+
"title": "Detail"
|
|
1373
|
+
},
|
|
1374
|
+
"enabled": {
|
|
1375
|
+
"title": "Enabled",
|
|
1376
|
+
"type": "boolean"
|
|
1377
|
+
},
|
|
1378
|
+
"surface_name": {
|
|
1379
|
+
"anyOf": [
|
|
1380
|
+
{
|
|
1381
|
+
"type": "string"
|
|
1382
|
+
},
|
|
1383
|
+
{
|
|
1384
|
+
"type": "null"
|
|
1385
|
+
}
|
|
1386
|
+
],
|
|
1387
|
+
"title": "Surface Name"
|
|
1388
|
+
}
|
|
1389
|
+
},
|
|
1390
|
+
"required": [
|
|
1391
|
+
"enabled"
|
|
1392
|
+
],
|
|
1393
|
+
"title": "SessionPrompting",
|
|
1394
|
+
"type": "object"
|
|
1395
|
+
},
|
|
1216
1396
|
"SessionRecordWire": {
|
|
1217
1397
|
"description": "The wire shape of one session record (\u00a73.3): the \u00a73.6 stable envelope +\nthe native `payload`, by explicit allowlist. Internal-only columns\n(`search_text`, `clis`, ingest bookkeeping, attribution denormalizations)\nare deliberately absent so internal model evolution stays free.",
|
|
1218
1398
|
"properties": {
|
|
@@ -1626,6 +1806,69 @@
|
|
|
1626
1806
|
]
|
|
1627
1807
|
}
|
|
1628
1808
|
},
|
|
1809
|
+
"/v1/sessions/{session_id}/executions": {
|
|
1810
|
+
"get": {
|
|
1811
|
+
"operationId": "get_agent_session_executions_v1_sessions__session_id__executions_get",
|
|
1812
|
+
"parameters": [
|
|
1813
|
+
{
|
|
1814
|
+
"in": "path",
|
|
1815
|
+
"name": "session_id",
|
|
1816
|
+
"required": true,
|
|
1817
|
+
"schema": {
|
|
1818
|
+
"title": "Session Id",
|
|
1819
|
+
"type": "string"
|
|
1820
|
+
}
|
|
1821
|
+
},
|
|
1822
|
+
{
|
|
1823
|
+
"in": "header",
|
|
1824
|
+
"name": "user-agent",
|
|
1825
|
+
"required": false,
|
|
1826
|
+
"schema": {
|
|
1827
|
+
"anyOf": [
|
|
1828
|
+
{
|
|
1829
|
+
"type": "string"
|
|
1830
|
+
},
|
|
1831
|
+
{
|
|
1832
|
+
"type": "null"
|
|
1833
|
+
}
|
|
1834
|
+
],
|
|
1835
|
+
"title": "User-Agent"
|
|
1836
|
+
}
|
|
1837
|
+
}
|
|
1838
|
+
],
|
|
1839
|
+
"responses": {
|
|
1840
|
+
"200": {
|
|
1841
|
+
"content": {
|
|
1842
|
+
"application/json": {
|
|
1843
|
+
"schema": {
|
|
1844
|
+
"$ref": "#/components/schemas/ListSessionExecutionsResponse"
|
|
1845
|
+
}
|
|
1846
|
+
}
|
|
1847
|
+
},
|
|
1848
|
+
"description": "Successful Response"
|
|
1849
|
+
},
|
|
1850
|
+
"422": {
|
|
1851
|
+
"content": {
|
|
1852
|
+
"application/json": {
|
|
1853
|
+
"schema": {
|
|
1854
|
+
"$ref": "#/components/schemas/HTTPValidationError"
|
|
1855
|
+
}
|
|
1856
|
+
}
|
|
1857
|
+
},
|
|
1858
|
+
"description": "Validation Error"
|
|
1859
|
+
}
|
|
1860
|
+
},
|
|
1861
|
+
"security": [
|
|
1862
|
+
{
|
|
1863
|
+
"HTTPBearer": []
|
|
1864
|
+
}
|
|
1865
|
+
],
|
|
1866
|
+
"summary": "Get Agent Session Executions",
|
|
1867
|
+
"tags": [
|
|
1868
|
+
"v1"
|
|
1869
|
+
]
|
|
1870
|
+
}
|
|
1871
|
+
},
|
|
1629
1872
|
"/v1/sessions/{session_id}/messages": {
|
|
1630
1873
|
"post": {
|
|
1631
1874
|
"operationId": "send_agent_session_message_v1_sessions__session_id__messages_post",
|