@ellipsis-dev/sdk 0.2.1 → 0.2.3

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 CHANGED
@@ -1,5 +1,5 @@
1
- import { A as AgentSessionWire, L as ListSessionRecordsResponse, a as ListSessionTurnsResponse, b as ListSessionExecutionsResponse, S as SessionMessageWire } from './types-CtvSTnzA.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-CtvSTnzA.js';
1
+ import { A as AgentSessionWire, L as ListSessionRecordsResponse, a as ListSessionTurnsResponse, b as ListSessionExecutionsResponse, S as SessionMessageWire } from './types-CNx-q_eN.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, n as PromptBlockedReason, R as RecordsAppendFrame, o as SendSessionMessageRequest, p as SessionExecutionWire, q as SessionFrame, r as SessionLiveness, s as SessionMessageStatus, t as SessionPrompting, u as SessionRecordWire, v as SessionState, w as SessionStreamFrame, x as SessionSurface, y as SnapshotFrame, z as StreamFrame, T as TokensInfo, C as TurnTokensInfo, F as components, I as paths } from './types-CNx-q_eN.js';
3
3
 
4
4
  type FetchJson = (path: string, init?: {
5
5
  method?: string;
@@ -1,4 +1,4 @@
1
- import { s as SessionRecordWire, A as AgentSessionWire, S as SessionMessageWire, x as StreamFrame } from '../types-CtvSTnzA.js';
1
+ import { u as SessionRecordWire, A as AgentSessionWire, S as SessionMessageWire, z as StreamFrame } from '../types-CNx-q_eN.js';
2
2
 
3
3
  interface ChatToolNode {
4
4
  key: string;
@@ -1,4 +1,4 @@
1
- import { x as StreamFrame, A as AgentSessionWire } from '../types-CtvSTnzA.js';
1
+ import { z as StreamFrame, A as AgentSessionWire } from '../types-CNx-q_eN.js';
2
2
 
3
3
  declare const SESSION_STREAM_PROTOCOL_VERSION = 3;
4
4
  declare const WS_CLOSE_NORMAL = 1000;
@@ -192,6 +192,7 @@ interface components {
192
192
  parent_kind?: components['schemas']['ParentKind'] | null;
193
193
  /** Prompt */
194
194
  prompt?: string | null;
195
+ prompting: components['schemas']['SessionPrompting'];
195
196
  /** Replayed From Session Id */
196
197
  replayed_from_session_id?: string | null;
197
198
  /** Resolved Budget Cents */
@@ -477,6 +478,12 @@ interface components {
477
478
  * @enum {string}
478
479
  */
479
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';
480
487
  /**
481
488
  * RecordSource
482
489
  * @description `session_records.source` — the client render switch. `lifecycle` rows are
@@ -621,6 +628,22 @@ interface components {
621
628
  sender_attribution_type?: components['schemas']['AttributionType'] | null;
622
629
  status: components['schemas']['SessionMessageStatus'];
623
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
+ };
624
647
  /**
625
648
  * SessionRecordWire
626
649
  * @description The wire shape of one session record (§3.3): the §3.6 stable envelope +
@@ -1005,6 +1028,10 @@ type Harness = 'claude_code';
1005
1028
  * down (interactive platform; later phase).
1006
1029
  */
1007
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';
1008
1035
  /**
1009
1036
  * Which layer actually determined the enforced budget.
1010
1037
  *
@@ -1090,6 +1117,7 @@ interface AgentSessionWire {
1090
1117
  parent_agent_session_id: string | null;
1091
1118
  parent_kind: ParentKind | null;
1092
1119
  prompt: string | null;
1120
+ prompting: SessionPrompting;
1093
1121
  replayed_from_session_id: string | null;
1094
1122
  resolved_budget_cents: number;
1095
1123
  resolved_budget_source: BudgetSource;
@@ -1138,6 +1166,18 @@ interface AgentSessionPr {
1138
1166
  repo_full_name: string;
1139
1167
  url: string;
1140
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
+ }
1141
1181
  /**
1142
1182
  * The three fields we expose. All `None` for an un-keyed (laptop) session.
1143
1183
  *
@@ -1272,4 +1312,4 @@ type AgentTurnStatus = components['schemas']['AgentTurnStatus'];
1272
1312
  type ListSessionExecutionsResponse = components['schemas']['ListSessionExecutionsResponse'];
1273
1313
  type SessionExecutionWire = components['schemas']['SessionExecutionWire'];
1274
1314
 
1275
- 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 };
1315
+ export type { AgentSessionWire as A, BudgetSource as B, TurnTokensInfo as C, DefaultResolution as D, ErrorFrame as E, components as F, GithubAccountSnippet as G, Harness as H, paths as I, 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, PromptBlockedReason as n, SendSessionMessageRequest as o, SessionExecutionWire as p, SessionFrame as q, SessionLiveness as r, SessionMessageStatus as s, SessionPrompting as t, SessionRecordWire as u, SessionState as v, SessionStreamFrame as w, SessionSurface as x, SnapshotFrame as y, StreamFrame as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ellipsis-dev/sdk",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
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
  {
@@ -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"
@@ -922,6 +926,18 @@
922
926
  "title": "ParentKind",
923
927
  "type": "string"
924
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
+ },
925
941
  "RecordSource": {
926
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.",
927
943
  "enum": [
@@ -1331,6 +1347,52 @@
1331
1347
  "title": "SessionMessageWire",
1332
1348
  "type": "object"
1333
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
+ },
1334
1396
  "SessionRecordWire": {
1335
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.",
1336
1398
  "properties": {