@ellipsis-dev/sdk 0.16.0 → 0.18.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 CHANGED
@@ -1,5 +1,5 @@
1
- import { c as components } from './types-DB1hOyQE.js';
2
- export { A as AgentConfigSource, a as AttributionType, B as BudgetSource, C as ClaudeSessionRecord, b as CodexEvent, d as CodexItem, e as CodexSessionRecord, f as CreateReviewRequest, D as DeltaFrame, g as DoneFrame, E as ErrorFrame, F as Finding, G as GithubAccountSnippet, h as GithubAccountType, H as Harness, i as HeartbeatFrame, L as LifecycleSessionRecord, P as ParentKind, j as PromptBlockedReason, R as RecordsAppendFrame, k as ResolvedReviewScope, l as Review, m as ReviewConfiguration, n as ReviewCounters, o as ReviewFinding, p as ReviewRequester, q as ReviewScope, r as ReviewScopeKind, s as ReviewStage, t as ReviewedCommit, u as ReviewsListResponse, S as SdkAssistantRecord, v as SdkContentBlock, w as SdkRateLimitRecord, x as SdkRecord, y as SdkResultRecord, z as SdkSystemRecord, I as SdkUserRecord, J as SendSessionMessageRequest, K as Session, M as SessionExecution, N as SessionExecutionsListResponse, O as SessionExitStatus, Q as SessionFrame, T as SessionGit, U as SessionLiveness, V as SessionMessage, W as SessionMessageResponse, X as SessionMessageStatus, Y as SessionPrompting, Z as SessionRecord, _ as SessionRecordsListResponse, $ as SessionResponse, a0 as SessionSource, a1 as SessionState, a2 as SessionStatus, a3 as SessionStreamFrame, a4 as SessionSurface, a5 as SessionsListResponse, a6 as SnapshotFrame, a7 as StreamFrame, a8 as TokensInfo, a9 as paths } from './types-DB1hOyQE.js';
1
+ import { c as components } from './types-BLSh1Px1.js';
2
+ export { A as AgentConfigSource, a as AttributionType, B as BudgetSource, C as ClaudeSessionRecord, b as CodexEvent, d as CodexItem, e as CodexSessionRecord, f as CreateReviewRequest, D as DeltaFrame, g as DoneFrame, E as ErrorFrame, F as Finding, G as GithubAccountSnippet, h as GithubAccountType, H as Harness, i as HeartbeatFrame, L as LifecycleSessionRecord, P as ParentKind, j as PromptBlockedReason, R as RecordsAppendFrame, k as ResolvedReviewScope, l as Review, m as ReviewConfiguration, n as ReviewCounters, o as ReviewFinding, p as ReviewRequester, q as ReviewScope, r as ReviewScopeKind, s as ReviewStage, t as ReviewedCommit, u as ReviewsListResponse, S as SdkAssistantRecord, v as SdkContentBlock, w as SdkRateLimitRecord, x as SdkRecord, y as SdkResultRecord, z as SdkSystemRecord, I as SdkUserRecord, J as SendSessionMessageRequest, K as Session, M as SessionExecution, N as SessionExecutionsListResponse, O as SessionExitStatus, Q as SessionFrame, T as SessionGit, U as SessionLiveness, V as SessionMessage, W as SessionMessageResponse, X as SessionMessageStatus, Y as SessionPrompting, Z as SessionRecord, _ as SessionRecordsListResponse, $ as SessionResponse, a0 as SessionSource, a1 as SessionState, a2 as SessionStatus, a3 as SessionStreamFrame, a4 as SessionSurface, a5 as SessionsListResponse, a6 as SnapshotFrame, a7 as StreamFrame, a8 as TokensInfo, a9 as paths } from './types-BLSh1Px1.js';
3
3
 
4
4
  interface CursorResponse {
5
5
  has_more: boolean;
@@ -75,23 +75,15 @@ declare class EllipsisAgentsConfigs {
75
75
  /**
76
76
  * Create Agent Config
77
77
  *
78
- * Create an agent config.
78
+ * Create an agent config, managed through the API: no file, live
79
+ * immediately. To put its definition in a repository instead, create
80
+ * it here and then POST /v1/agents/configs/{config_id}/link.
79
81
  *
80
- * Name a repository and Ellipsis opens a pull request adding the
81
- * config file to agents/ there; the agent goes live when it
82
- * merges. Omit it and the agent is created here, with no file,
83
- * live immediately — and every file reference in it must name the
84
- * repository it lives in.
85
- *
86
- * Accepts an inline config or a gallery template slug. 409 when
87
- * another live agent already holds the name.
82
+ * 409 when another live agent already holds the name.
88
83
  */
89
- create(options?: {
90
- config?: S['AgentConfig'] | null;
91
- path?: string | null;
92
- repository?: string | null;
93
- template_id?: string | null;
94
- }): Promise<S['CreateAgentConfigResponse']>;
84
+ create(options: {
85
+ config: S['AgentConfig'];
86
+ }): Promise<S['AgentConfigResponse']>;
95
87
  /**
96
88
  * Delete Agent Config
97
89
  *
@@ -153,50 +145,6 @@ declare class EllipsisAgentsConfigs {
153
145
  config: S['AgentConfig'];
154
146
  }): Promise<S['AgentConfigResponse']>;
155
147
  }
156
- declare class EllipsisAgentsDefaults {
157
- private readonly transport;
158
- constructor(transport: Transport);
159
- /**
160
- * Delete Agent Default
161
- *
162
- * Clear a default agent config.
163
- *
164
- * Addressed by rung: the account rung (repository omitted) or a
165
- * repository rung.
166
- *
167
- * Refused for sandbox tokens.
168
- */
169
- delete(options?: {
170
- repository?: string | null;
171
- }): Promise<void>;
172
- /**
173
- * List Agent Defaults
174
- *
175
- * Get the default agent configs.
176
- *
177
- * The account-wide default and the per-repository defaults, as config
178
- * ids. Repo rungs are keyed "owner/name"; a repository this
179
- * installation can no longer see is omitted.
180
- */
181
- list(): Promise<S['AgentDefaults']>;
182
- /**
183
- * Put Agent Default
184
- *
185
- * Set a default agent config.
186
- *
187
- * Addressed by rung: the account rung (repository omitted) or a
188
- * repository rung ("owner/name"); the config by id or by the
189
- * agent's name. Returns the full resulting ladder.
190
- *
191
- * Refused for sandbox tokens (potentially prompt-injected code
192
- * must not repoint the account's ambient default); an unknown or
193
- * foreign repository is a 404.
194
- */
195
- set(options: {
196
- config_id: string;
197
- repository?: string | null;
198
- }): Promise<S['AgentDefaults']>;
199
- }
200
148
  declare class EllipsisAgentsTemplates {
201
149
  private readonly transport;
202
150
  constructor(transport: Transport);
@@ -219,7 +167,6 @@ declare class EllipsisAgentsTemplates {
219
167
  declare class EllipsisAgents {
220
168
  private readonly transport;
221
169
  readonly configs: EllipsisAgentsConfigs;
222
- readonly defaults: EllipsisAgentsDefaults;
223
170
  readonly templates: EllipsisAgentsTemplates;
224
171
  constructor(transport: Transport);
225
172
  }
@@ -350,6 +297,59 @@ declare class EllipsisAuth {
350
297
  readonly cli: EllipsisAuthCli;
351
298
  constructor(transport: Transport);
352
299
  }
300
+ declare class EllipsisEnvironments {
301
+ private readonly transport;
302
+ constructor(transport: Transport);
303
+ /**
304
+ * Create Environment
305
+ *
306
+ * Create an environment, managed through the API: no file, live
307
+ * immediately. To define it in a repository instead, commit a
308
+ * `kind: environment` YAML under an agents directory.
309
+ *
310
+ * 409 when another live environment already holds the name.
311
+ */
312
+ create(options: {
313
+ environment: S['EnvironmentConfig'];
314
+ }): Promise<S['EnvironmentResponse']>;
315
+ /**
316
+ * Delete Environment
317
+ *
318
+ * Delete an environment, by id or by name.
319
+ *
320
+ * Always succeeds, even while agents still reference it — their next
321
+ * session start fails with a clear error naming the missing
322
+ * environment. Past sessions remain readable. Only for environments
323
+ * managed through this API — delete the file to remove one defined
324
+ * by a repository.
325
+ */
326
+ delete(environment_id: string): Promise<void>;
327
+ /**
328
+ * Get Environment
329
+ *
330
+ * Return one saved environment, by id or by name.
331
+ */
332
+ get(environment_id: string): Promise<S['EnvironmentResponse']>;
333
+ /**
334
+ * List Environments
335
+ *
336
+ * List saved environments.
337
+ */
338
+ list(): Promise<S['EnvironmentsListResponse']>;
339
+ /**
340
+ * Update Environment
341
+ *
342
+ * Replace an environment's definition, by id or by name.
343
+ *
344
+ * The whole definition is replaced, live at once — future sessions
345
+ * resolve the new body; running sessions keep the one frozen at
346
+ * their start. Only for environments managed through this API: one
347
+ * defined by a repository file is a 409.
348
+ */
349
+ update(environment_id: string, options: {
350
+ environment: S['EnvironmentConfig'];
351
+ }): Promise<S['EnvironmentResponse']>;
352
+ }
353
353
  declare class EllipsisFiles {
354
354
  private readonly transport;
355
355
  constructor(transport: Transport);
@@ -477,7 +477,7 @@ declare class EllipsisIntegrations {
477
477
  readonly slack: EllipsisIntegrationsSlack;
478
478
  constructor(transport: Transport);
479
479
  /**
480
- * Get Integrations
480
+ * List Integrations
481
481
  *
482
482
  * List connected integrations.
483
483
  *
@@ -658,7 +658,7 @@ declare class EllipsisSecrets {
658
658
  */
659
659
  list(): Promise<S['SecretsListResponse']>;
660
660
  /**
661
- * Put Secrets
661
+ * Set Secrets
662
662
  *
663
663
  * Upsert secrets.
664
664
  *
@@ -684,8 +684,7 @@ declare class EllipsisSessions {
684
684
  * instructions + the config's own instructions).
685
685
  *
686
686
  * Per execution because each cold wake persists its own launch
687
- * config (a config edit or replay override between wakes changes
688
- * it).
687
+ * config (a config edit between wakes changes it).
689
688
  */
690
689
  executions(session_id: string): Promise<S['SessionExecutionsListResponse']>;
691
690
  /**
@@ -779,23 +778,7 @@ declare class EllipsisSessions {
779
778
  limit?: number | null;
780
779
  }): Promise<Page<S['ClaudeSessionRecord'] | S['CodexSessionRecord'] | S['LifecycleSessionRecord'], S['SessionRecordsListResponse']>>;
781
780
  /**
782
- * Replay Agent Session
783
- *
784
- * Replay a session as a new session.
785
- *
786
- * Reuses the original config snapshot unless config_id is given,
787
- * and accepts the same config_override as session start — e.g.
788
- * {"claude": {"model": ...}} to replay the same input on a
789
- * different model.
790
- */
791
- replay(session_id: string, options?: {
792
- config_id?: string | null;
793
- config_override?: Record<string, unknown> | null;
794
- config_override_yaml?: string | null;
795
- prompt?: string | null;
796
- }): Promise<S['SessionResponse']>;
797
- /**
798
- * Search Sessions
781
+ * Search Agent Sessions
799
782
  *
800
783
  * Search sessions over steps, recaps, and pull requests.
801
784
  *
@@ -839,25 +822,27 @@ declare class EllipsisSessions {
839
822
  *
840
823
  * Start a cloud agent session.
841
824
  *
842
- * Provide at most one of config_id (an id or an agent name),
843
- * config, or
844
- * template_id; with none, the account's default-config ladder
845
- * resolves the config. 400 when idle_start is combined with
846
- * prompt or input. 422 when the agent declares an
847
- * input schema and the request's input is absent or invalid.
825
+ * The base is `from_config_id` (an id or an agent name) or, omitted,
826
+ * the bare ad-hoc config; every AgentConfig key on the request
827
+ * deep-merges on top, so the body is both the pointer and the
828
+ * per-session override. `prompt` is the first message; omit it and
829
+ * the session starts idle, waiting for one. 400 when
830
+ * ellipsis.interactive=false and there is no prompt or input. 422
831
+ * when the agent declares an input schema and the request's input
832
+ * is absent or invalid.
848
833
  */
849
834
  start(options?: {
850
- config?: S['AgentConfig'] | null;
851
- config_id?: string | null;
852
- config_override?: Record<string, unknown> | null;
853
- config_override_yaml?: string | null;
854
- force_rebuild?: boolean;
855
- idle_start?: boolean;
835
+ budget?: S['AgentConfigBudget'] | null;
836
+ claude?: S['AgentConfigClaude'] | null;
837
+ codex?: S['AgentConfigCodex'] | null;
838
+ ellipsis?: S['StartSessionEllipsis'];
839
+ environment?: string | S['AgentConfigEnvironment'] | null;
840
+ from_config_id?: string | null;
856
841
  input?: Record<string, unknown> | null;
857
- metadata?: Record<string, string>;
842
+ output?: S['AgentConfigOutput'] | null;
843
+ permissions?: S['AgentConfigPermissions'] | null;
858
844
  prompt?: string | null;
859
- repository?: string | null;
860
- template_id?: string | null;
845
+ skills?: (S['AgentConfigSkill'])[] | null;
861
846
  }): Promise<S['SessionResponse']>;
862
847
  /**
863
848
  * Stop Agent Session
@@ -873,12 +858,44 @@ declare class EllipsisSessions {
873
858
  /** A handle over an existing session. */
874
859
  handle(sessionId: string): Promise<SessionHandle>;
875
860
  }
861
+ declare class EllipsisSettingsSessions {
862
+ private readonly transport;
863
+ constructor(transport: Transport);
864
+ /**
865
+ * Get Session Defaults
866
+ *
867
+ * Get the account-wide session defaults.
868
+ *
869
+ * Today one setting: the default model every session falls back to
870
+ * when neither its request nor its agent config names one.
871
+ */
872
+ getDefaults(): Promise<S['SessionDefaults']>;
873
+ /**
874
+ * Set Session Defaults
875
+ *
876
+ * Set the account-wide session defaults.
877
+ *
878
+ * `model` accepts an alias or canonical id and is stored canonical;
879
+ * null clears it (sessions then fall back to the platform default).
880
+ * Refused for sandbox tokens (potentially prompt-injected code must
881
+ * not repoint the account's default model).
882
+ */
883
+ setDefaults(options?: {
884
+ model?: string | null;
885
+ }): Promise<S['SessionDefaults']>;
886
+ }
887
+ declare class EllipsisSettings {
888
+ private readonly transport;
889
+ readonly sessions: EllipsisSettingsSessions;
890
+ constructor(transport: Transport);
891
+ }
876
892
  declare class Ellipsis {
877
893
  private readonly transport;
878
894
  readonly agents: EllipsisAgents;
879
895
  readonly alerts: EllipsisAlerts;
880
896
  readonly analytics: EllipsisAnalytics;
881
897
  readonly auth: EllipsisAuth;
898
+ readonly environments: EllipsisEnvironments;
882
899
  readonly files: EllipsisFiles;
883
900
  readonly integrations: EllipsisIntegrations;
884
901
  readonly memories: EllipsisMemories;
@@ -886,6 +903,7 @@ declare class Ellipsis {
886
903
  readonly reviews: EllipsisReviews;
887
904
  readonly secrets: EllipsisSecrets;
888
905
  readonly sessions: EllipsisSessions;
906
+ readonly settings: EllipsisSettings;
889
907
  constructor(options: TransportOptions);
890
908
  /**
891
909
  * Get Budget
@@ -894,13 +912,13 @@ declare class Ellipsis {
894
912
  */
895
913
  budget(): Promise<S['BudgetSummary']>;
896
914
  /**
897
- * Whoami
915
+ * Current Identity
898
916
  *
899
917
  * Return the identity behind the caller's credential.
900
918
  */
901
919
  me(): Promise<S['WhoAmIResponse']>;
902
920
  /**
903
- * Get Usage Endpoint
921
+ * Get Usage
904
922
  *
905
923
  * Return the caller's usage dashboard data.
906
924
  */
package/dist/index.js CHANGED
@@ -249,20 +249,15 @@ var EllipsisAgentsConfigs = class {
249
249
  /**
250
250
  * Create Agent Config
251
251
  *
252
- * Create an agent config.
252
+ * Create an agent config, managed through the API: no file, live
253
+ * immediately. To put its definition in a repository instead, create
254
+ * it here and then POST /v1/agents/configs/{config_id}/link.
253
255
  *
254
- * Name a repository and Ellipsis opens a pull request adding the
255
- * config file to agents/ there; the agent goes live when it
256
- * merges. Omit it and the agent is created here, with no file,
257
- * live immediately — and every file reference in it must name the
258
- * repository it lives in.
259
- *
260
- * Accepts an inline config or a gallery template slug. 409 when
261
- * another live agent already holds the name.
256
+ * 409 when another live agent already holds the name.
262
257
  */
263
- async create(options = {}) {
258
+ async create(options) {
264
259
  const path = "/v1/agents/configs";
265
- const body = buildBody({ config: options.config, path: options.path, repository: options.repository, template_id: options.template_id });
260
+ const body = buildBody({ config: options.config });
266
261
  return await this.transport.request("POST", path, { body });
267
262
  }
268
263
  /**
@@ -341,58 +336,6 @@ var EllipsisAgentsConfigs = class {
341
336
  return await this.transport.request("PUT", path, { body });
342
337
  }
343
338
  };
344
- var EllipsisAgentsDefaults = class {
345
- constructor(transport) {
346
- this.transport = transport;
347
- }
348
- transport;
349
- /**
350
- * Delete Agent Default
351
- *
352
- * Clear a default agent config.
353
- *
354
- * Addressed by rung: the account rung (repository omitted) or a
355
- * repository rung.
356
- *
357
- * Refused for sandbox tokens.
358
- */
359
- async delete(options = {}) {
360
- const path = "/v1/agents/defaults";
361
- const query = buildQuery({ repository: options.repository });
362
- await this.transport.request("DELETE", path, { query });
363
- }
364
- /**
365
- * List Agent Defaults
366
- *
367
- * Get the default agent configs.
368
- *
369
- * The account-wide default and the per-repository defaults, as config
370
- * ids. Repo rungs are keyed "owner/name"; a repository this
371
- * installation can no longer see is omitted.
372
- */
373
- async list() {
374
- const path = "/v1/agents/defaults";
375
- return await this.transport.request("GET", path);
376
- }
377
- /**
378
- * Put Agent Default
379
- *
380
- * Set a default agent config.
381
- *
382
- * Addressed by rung: the account rung (repository omitted) or a
383
- * repository rung ("owner/name"); the config by id or by the
384
- * agent's name. Returns the full resulting ladder.
385
- *
386
- * Refused for sandbox tokens (potentially prompt-injected code
387
- * must not repoint the account's ambient default); an unknown or
388
- * foreign repository is a 404.
389
- */
390
- async set(options) {
391
- const path = "/v1/agents/defaults";
392
- const body = buildBody({ config_id: options.config_id, repository: options.repository });
393
- return await this.transport.request("PUT", path, { body });
394
- }
395
- };
396
339
  var EllipsisAgentsTemplates = class {
397
340
  constructor(transport) {
398
341
  this.transport = transport;
@@ -424,12 +367,10 @@ var EllipsisAgents = class {
424
367
  constructor(transport) {
425
368
  this.transport = transport;
426
369
  this.configs = new EllipsisAgentsConfigs(transport);
427
- this.defaults = new EllipsisAgentsDefaults(transport);
428
370
  this.templates = new EllipsisAgentsTemplates(transport);
429
371
  }
430
372
  transport;
431
373
  configs;
432
- defaults;
433
374
  templates;
434
375
  };
435
376
  var EllipsisAlerts = class {
@@ -571,6 +512,74 @@ var EllipsisAuth = class {
571
512
  transport;
572
513
  cli;
573
514
  };
515
+ var EllipsisEnvironments = class {
516
+ constructor(transport) {
517
+ this.transport = transport;
518
+ }
519
+ transport;
520
+ /**
521
+ * Create Environment
522
+ *
523
+ * Create an environment, managed through the API: no file, live
524
+ * immediately. To define it in a repository instead, commit a
525
+ * `kind: environment` YAML under an agents directory.
526
+ *
527
+ * 409 when another live environment already holds the name.
528
+ */
529
+ async create(options) {
530
+ const path = "/v1/environments";
531
+ const body = buildBody({ environment: options.environment });
532
+ return await this.transport.request("POST", path, { body });
533
+ }
534
+ /**
535
+ * Delete Environment
536
+ *
537
+ * Delete an environment, by id or by name.
538
+ *
539
+ * Always succeeds, even while agents still reference it — their next
540
+ * session start fails with a clear error naming the missing
541
+ * environment. Past sessions remain readable. Only for environments
542
+ * managed through this API — delete the file to remove one defined
543
+ * by a repository.
544
+ */
545
+ async delete(environment_id) {
546
+ const path = `/v1/environments/${enc(environment_id)}`;
547
+ await this.transport.request("DELETE", path);
548
+ }
549
+ /**
550
+ * Get Environment
551
+ *
552
+ * Return one saved environment, by id or by name.
553
+ */
554
+ async get(environment_id) {
555
+ const path = `/v1/environments/${enc(environment_id)}`;
556
+ return await this.transport.request("GET", path);
557
+ }
558
+ /**
559
+ * List Environments
560
+ *
561
+ * List saved environments.
562
+ */
563
+ async list() {
564
+ const path = "/v1/environments";
565
+ return await this.transport.request("GET", path);
566
+ }
567
+ /**
568
+ * Update Environment
569
+ *
570
+ * Replace an environment's definition, by id or by name.
571
+ *
572
+ * The whole definition is replaced, live at once — future sessions
573
+ * resolve the new body; running sessions keep the one frozen at
574
+ * their start. Only for environments managed through this API: one
575
+ * defined by a repository file is a 409.
576
+ */
577
+ async update(environment_id, options) {
578
+ const path = `/v1/environments/${enc(environment_id)}`;
579
+ const body = buildBody({ environment: options.environment });
580
+ return await this.transport.request("PUT", path, { body });
581
+ }
582
+ };
574
583
  var EllipsisFiles = class {
575
584
  constructor(transport) {
576
585
  this.transport = transport;
@@ -743,7 +752,7 @@ var EllipsisIntegrations = class {
743
752
  sentry;
744
753
  slack;
745
754
  /**
746
- * Get Integrations
755
+ * List Integrations
747
756
  *
748
757
  * List connected integrations.
749
758
  *
@@ -954,7 +963,7 @@ var EllipsisSecrets = class {
954
963
  return await this.transport.request("GET", path);
955
964
  }
956
965
  /**
957
- * Put Secrets
966
+ * Set Secrets
958
967
  *
959
968
  * Upsert secrets.
960
969
  *
@@ -984,8 +993,7 @@ var EllipsisSessions = class {
984
993
  * instructions + the config's own instructions).
985
994
  *
986
995
  * Per execution because each cold wake persists its own launch
987
- * config (a config edit or replay override between wakes changes
988
- * it).
996
+ * config (a config edit between wakes changes it).
989
997
  */
990
998
  async executions(session_id) {
991
999
  const path = `/v1/sessions/${enc(session_id)}/executions`;
@@ -1096,22 +1104,7 @@ var EllipsisSessions = class {
1096
1104
  );
1097
1105
  }
1098
1106
  /**
1099
- * Replay Agent Session
1100
- *
1101
- * Replay a session as a new session.
1102
- *
1103
- * Reuses the original config snapshot unless config_id is given,
1104
- * and accepts the same config_override as session start — e.g.
1105
- * {"claude": {"model": ...}} to replay the same input on a
1106
- * different model.
1107
- */
1108
- async replay(session_id, options = {}) {
1109
- const path = `/v1/sessions/${enc(session_id)}/replay`;
1110
- const body = buildBody({ config_id: options.config_id, config_override: options.config_override, config_override_yaml: options.config_override_yaml, prompt: options.prompt });
1111
- return await this.transport.request("POST", path, { body });
1112
- }
1113
- /**
1114
- * Search Sessions
1107
+ * Search Agent Sessions
1115
1108
  *
1116
1109
  * Search sessions over steps, recaps, and pull requests.
1117
1110
  *
@@ -1148,16 +1141,18 @@ var EllipsisSessions = class {
1148
1141
  *
1149
1142
  * Start a cloud agent session.
1150
1143
  *
1151
- * Provide at most one of config_id (an id or an agent name),
1152
- * config, or
1153
- * template_id; with none, the account's default-config ladder
1154
- * resolves the config. 400 when idle_start is combined with
1155
- * prompt or input. 422 when the agent declares an
1156
- * input schema and the request's input is absent or invalid.
1144
+ * The base is `from_config_id` (an id or an agent name) or, omitted,
1145
+ * the bare ad-hoc config; every AgentConfig key on the request
1146
+ * deep-merges on top, so the body is both the pointer and the
1147
+ * per-session override. `prompt` is the first message; omit it and
1148
+ * the session starts idle, waiting for one. 400 when
1149
+ * ellipsis.interactive=false and there is no prompt or input. 422
1150
+ * when the agent declares an input schema and the request's input
1151
+ * is absent or invalid.
1157
1152
  */
1158
1153
  async start(options = {}) {
1159
1154
  const path = "/v1/sessions";
1160
- const body = buildBody({ config: options.config, config_id: options.config_id, config_override: options.config_override, config_override_yaml: options.config_override_yaml, force_rebuild: options.force_rebuild, idle_start: options.idle_start, input: options.input, metadata: options.metadata, prompt: options.prompt, repository: options.repository, template_id: options.template_id });
1155
+ const body = buildBody({ budget: options.budget, claude: options.claude, codex: options.codex, ellipsis: options.ellipsis, environment: options.environment, from_config_id: options.from_config_id, input: options.input, output: options.output, permissions: options.permissions, prompt: options.prompt, skills: options.skills });
1161
1156
  return await this.transport.request("POST", path, { body });
1162
1157
  }
1163
1158
  /**
@@ -1184,12 +1179,54 @@ var EllipsisSessions = class {
1184
1179
  return new SessionHandle(this, response.session);
1185
1180
  }
1186
1181
  };
1182
+ var EllipsisSettingsSessions = class {
1183
+ constructor(transport) {
1184
+ this.transport = transport;
1185
+ }
1186
+ transport;
1187
+ /**
1188
+ * Get Session Defaults
1189
+ *
1190
+ * Get the account-wide session defaults.
1191
+ *
1192
+ * Today one setting: the default model every session falls back to
1193
+ * when neither its request nor its agent config names one.
1194
+ */
1195
+ async getDefaults() {
1196
+ const path = "/v1/settings/sessions/defaults";
1197
+ return await this.transport.request("GET", path);
1198
+ }
1199
+ /**
1200
+ * Set Session Defaults
1201
+ *
1202
+ * Set the account-wide session defaults.
1203
+ *
1204
+ * `model` accepts an alias or canonical id and is stored canonical;
1205
+ * null clears it (sessions then fall back to the platform default).
1206
+ * Refused for sandbox tokens (potentially prompt-injected code must
1207
+ * not repoint the account's default model).
1208
+ */
1209
+ async setDefaults(options = {}) {
1210
+ const path = "/v1/settings/sessions/defaults";
1211
+ const body = buildBody({ model: options.model });
1212
+ return await this.transport.request("PUT", path, { body });
1213
+ }
1214
+ };
1215
+ var EllipsisSettings = class {
1216
+ constructor(transport) {
1217
+ this.transport = transport;
1218
+ this.sessions = new EllipsisSettingsSessions(transport);
1219
+ }
1220
+ transport;
1221
+ sessions;
1222
+ };
1187
1223
  var Ellipsis = class {
1188
1224
  transport;
1189
1225
  agents;
1190
1226
  alerts;
1191
1227
  analytics;
1192
1228
  auth;
1229
+ environments;
1193
1230
  files;
1194
1231
  integrations;
1195
1232
  memories;
@@ -1197,12 +1234,14 @@ var Ellipsis = class {
1197
1234
  reviews;
1198
1235
  secrets;
1199
1236
  sessions;
1237
+ settings;
1200
1238
  constructor(options) {
1201
1239
  this.transport = new Transport(options);
1202
1240
  this.agents = new EllipsisAgents(this.transport);
1203
1241
  this.alerts = new EllipsisAlerts(this.transport);
1204
1242
  this.analytics = new EllipsisAnalytics(this.transport);
1205
1243
  this.auth = new EllipsisAuth(this.transport);
1244
+ this.environments = new EllipsisEnvironments(this.transport);
1206
1245
  this.files = new EllipsisFiles(this.transport);
1207
1246
  this.integrations = new EllipsisIntegrations(this.transport);
1208
1247
  this.memories = new EllipsisMemories(this.transport);
@@ -1210,6 +1249,7 @@ var Ellipsis = class {
1210
1249
  this.reviews = new EllipsisReviews(this.transport);
1211
1250
  this.secrets = new EllipsisSecrets(this.transport);
1212
1251
  this.sessions = new EllipsisSessions(this.transport);
1252
+ this.settings = new EllipsisSettings(this.transport);
1213
1253
  }
1214
1254
  /**
1215
1255
  * Get Budget
@@ -1221,7 +1261,7 @@ var Ellipsis = class {
1221
1261
  return await this.transport.request("GET", path);
1222
1262
  }
1223
1263
  /**
1224
- * Whoami
1264
+ * Current Identity
1225
1265
  *
1226
1266
  * Return the identity behind the caller's credential.
1227
1267
  */
@@ -1230,7 +1270,7 @@ var Ellipsis = class {
1230
1270
  return await this.transport.request("GET", path);
1231
1271
  }
1232
1272
  /**
1233
- * Get Usage Endpoint
1273
+ * Get Usage
1234
1274
  *
1235
1275
  * Return the caller's usage dashboard data.
1236
1276
  */
@@ -1,4 +1,4 @@
1
- import { Z as SessionRecord, aa as CodexFileChangeItem, b as CodexEvent, ab as CodexMcpToolCallItem, x as SdkRecord, K as Session, V as SessionMessage, a7 as StreamFrame } from '../types-DB1hOyQE.js';
1
+ import { Z as SessionRecord, aa as CodexFileChangeItem, b as CodexEvent, ab as CodexMcpToolCallItem, x as SdkRecord, K as Session, V as SessionMessage, a7 as StreamFrame } from '../types-BLSh1Px1.js';
2
2
 
3
3
  interface ChatToolNode {
4
4
  key: string;
@@ -1,4 +1,4 @@
1
- import { a7 as StreamFrame, K as Session } from '../types-DB1hOyQE.js';
1
+ import { a7 as StreamFrame, K as Session } from '../types-BLSh1Px1.js';
2
2
 
3
3
  declare const SESSION_STREAM_PROTOCOL_VERSION = 3;
4
4
  declare const WS_CLOSE_NORMAL = 1000;