@autohq/cli 0.1.301 → 0.1.302

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.
@@ -23399,7 +23399,7 @@ Object.assign(lookup, {
23399
23399
  // package.json
23400
23400
  var package_default = {
23401
23401
  name: "@autohq/cli",
23402
- version: "0.1.301",
23402
+ version: "0.1.302",
23403
23403
  license: "SEE LICENSE IN README.md",
23404
23404
  publishConfig: {
23405
23405
  access: "public"
@@ -27170,712 +27170,725 @@ var SessionDiagnosticEventSchema = external_exports.object({
27170
27170
  createdAt: external_exports.string().datetime()
27171
27171
  });
27172
27172
 
27173
- // ../../packages/schemas/src/sessions.ts
27174
- var SESSION_STATUSES = [
27175
- "queued",
27176
- "running",
27177
- "awaiting",
27178
- "failed",
27179
- "stopped"
27173
+ // ../../packages/schemas/src/singleton-refresh.ts
27174
+ var SINGLETON_RESPAWN_REASONS = ["refresh", "failure"];
27175
+ var SingletonRespawnReasonSchema = external_exports.enum(SINGLETON_RESPAWN_REASONS);
27176
+ var SingletonRespawnSchema = external_exports.object({
27177
+ reason: SingletonRespawnReasonSchema.default("refresh")
27178
+ }).strict();
27179
+ var SingletonRefreshEventPayloadSchema = external_exports.object({
27180
+ trigger: external_exports.literal("agent.refresh"),
27181
+ refresh: external_exports.object({
27182
+ reason: SingletonRespawnReasonSchema,
27183
+ agentResourceId: external_exports.string().trim().min(1),
27184
+ previousSessionId: external_exports.string().trim().min(1)
27185
+ })
27186
+ });
27187
+
27188
+ // ../../packages/schemas/src/session-commands.ts
27189
+ var SESSION_COMMAND_KINDS = [
27190
+ "message",
27191
+ "answer",
27192
+ "pause",
27193
+ "resume",
27194
+ "interrupt",
27195
+ "cancel",
27196
+ "stop"
27180
27197
  ];
27181
- var SESSION_RUNTIME_PHASES = [
27182
- "building_image",
27183
- "booting_container",
27184
- "preparing_environment",
27185
- "starting_runtime",
27186
- "running"
27198
+ var SESSION_DISPATCH_COMMAND_KINDS = [
27199
+ "start",
27200
+ "startWithMessage",
27201
+ "message",
27202
+ "answer",
27203
+ "stop"
27187
27204
  ];
27188
- var SESSION_DISPLAY_TITLE_MAX_LENGTH = 64;
27189
- var SESSION_MESSAGE_ROLES = ["system", "user", "assistant"];
27190
- var SESSION_MESSAGE_STATUSES = [
27191
- "in_progress",
27192
- "completed",
27205
+ var SESSION_PERSISTED_COMMAND_KINDS = [
27206
+ "message",
27207
+ "pause",
27208
+ "resume",
27209
+ "interrupt",
27210
+ "cancel",
27211
+ "stop",
27212
+ "start",
27213
+ "startWithMessage",
27214
+ "answer"
27215
+ ];
27216
+ var SESSION_LIFECYCLE_COMMAND_KINDS = [
27217
+ "pause",
27218
+ "resume",
27219
+ "interrupt",
27220
+ "cancel",
27221
+ "stop"
27222
+ ];
27223
+ var SESSION_COMMAND_STATUSES = [
27224
+ "pending",
27225
+ "dispatching",
27226
+ "accepted",
27193
27227
  "failed"
27194
27228
  ];
27195
- var SessionStatusSchema = external_exports.enum(SESSION_STATUSES);
27196
- var SessionRuntimePhaseSchema = external_exports.enum(SESSION_RUNTIME_PHASES);
27197
- var SessionMessageRoleSchema = external_exports.enum(SESSION_MESSAGE_ROLES);
27198
- var SessionMessageStatusSchema = external_exports.enum(SESSION_MESSAGE_STATUSES);
27199
- var RunDisplayTitleSchema = external_exports.string().trim().max(SESSION_DISPLAY_TITLE_MAX_LENGTH);
27200
- var AmbientStatusSchema = external_exports.string().trim().min(1);
27201
- var SESSION_CHECK_STATUSES = [
27202
- "queued",
27203
- "in_progress",
27204
- "completed"
27229
+ var SESSION_DISPATCH_COMMAND_STATUSES = [
27230
+ "pending",
27231
+ "dispatching",
27232
+ "accepted",
27233
+ "failed"
27205
27234
  ];
27206
- var SESSION_CHECK_CONCLUSIONS = ["success", "failure"];
27207
- var SESSION_CHECK_TIMEOUT_PHASES = ["begin", "complete"];
27208
- var SessionCheckStatusSchema = external_exports.enum(SESSION_CHECK_STATUSES);
27209
- var SessionCheckConclusionSchema = external_exports.enum(SESSION_CHECK_CONCLUSIONS);
27210
- var SessionCheckTimeoutPhaseSchema = external_exports.enum(
27211
- SESSION_CHECK_TIMEOUT_PHASES
27235
+ var SessionCommandKindSchema2 = external_exports.enum(SESSION_COMMAND_KINDS);
27236
+ var SessionPersistedCommandKindSchema = external_exports.enum(
27237
+ SESSION_PERSISTED_COMMAND_KINDS
27212
27238
  );
27213
- var ManualSessionRequestSchema = external_exports.object({
27214
- message: external_exports.string().trim().min(1).max(2e4).optional(),
27215
- interactive: external_exports.boolean().optional(),
27216
- /**
27217
- * Deliver the agent's configured `initialPrompt` as the session's kickoff
27218
- * message so the agent opens the conversation. Agents without an
27219
- * `initialPrompt` fall back to the default manual say-hello message, so a
27220
- * kickoff always pings the agent. The kickoff is delivered through the
27221
- * session's one idempotent start command and never renders as a user chat
27222
- * bubble; the agent's greeting is the first visible content.
27223
- */
27224
- kickoff: external_exports.boolean().optional()
27225
- });
27226
- var SessionArchiveRequestSchema = external_exports.object({
27227
- archived: external_exports.boolean()
27228
- });
27229
- var SessionsArchiveRequestSchema = external_exports.object({
27230
- session_ids: external_exports.array(SessionIdSchema2).min(1).max(100),
27231
- archived: external_exports.boolean()
27232
- });
27233
- var SessionRecordSchema = external_exports.object({
27234
- id: SessionIdSchema2,
27235
- organizationId: external_exports.string().trim().min(1),
27236
- projectId: external_exports.string().trim().min(1).nullable(),
27237
- agentId: AgentIdSchema,
27238
- runtimeId: RuntimeIdSchema2.nullable(),
27239
- status: SessionStatusSchema,
27240
- runtimePhase: SessionRuntimePhaseSchema.nullable(),
27241
- idempotencyKey: external_exports.string().min(1).nullable(),
27242
- correlationKey: external_exports.string().nullable(),
27243
- workflowId: external_exports.string().min(1),
27244
- displayTitle: RunDisplayTitleSchema,
27245
- ambientStatus: AmbientStatusSchema.nullable(),
27246
- ambientStatusUpdatedAt: external_exports.string().datetime().nullable(),
27247
- starterActor: AuthActorSchema.nullable(),
27248
- snapshot: AgentResourceSchema,
27249
- environmentSnapshot: EnvironmentResourceSchema,
27250
- toolSnapshots: external_exports.array(
27251
- external_exports.object({
27252
- source: external_exports.literal("inline"),
27253
- alias: ToolAliasSchema,
27254
- spec: RemoteMcpToolSchema.or(ConnectionBackedToolSchema).or(LocalToolSchema).or(GithubToolSchema)
27255
- })
27256
- ),
27257
- input: JsonValueSchema2,
27258
- createdAt: external_exports.string().datetime(),
27259
- updatedAt: external_exports.string().datetime(),
27260
- lastActivityAt: external_exports.string().datetime(),
27261
- startedAt: external_exports.string().datetime().nullable(),
27262
- finishedAt: external_exports.string().datetime().nullable(),
27263
- archivedAt: external_exports.string().datetime().nullable(),
27264
- error: JsonValueSchema2.nullable()
27239
+ var SessionDispatchCommandKindSchema = external_exports.enum(
27240
+ SESSION_DISPATCH_COMMAND_KINDS
27241
+ );
27242
+ var RunLifecycleCommandKindSchema = external_exports.enum(
27243
+ SESSION_LIFECYCLE_COMMAND_KINDS
27244
+ );
27245
+ var SessionCommandStatusSchema = external_exports.enum(SESSION_COMMAND_STATUSES);
27246
+ var SessionDispatchCommandStatusSchema = external_exports.enum(
27247
+ SESSION_DISPATCH_COMMAND_STATUSES
27248
+ );
27249
+ var SessionCommandSenderSchema = external_exports.discriminatedUnion("type", [
27250
+ external_exports.object({
27251
+ type: external_exports.literal("operator"),
27252
+ id: external_exports.string().trim().min(1).nullable().default(null),
27253
+ actor: AuthActorSchema.nullable().optional()
27254
+ }),
27255
+ external_exports.object({
27256
+ type: external_exports.literal("agent"),
27257
+ sessionId: SessionIdSchema2
27258
+ }),
27259
+ external_exports.object({
27260
+ type: external_exports.literal("system")
27261
+ })
27262
+ ]);
27263
+ var MESSAGE_DELIVERY_MODES = ["interrupt", "deferred"];
27264
+ var MessageDeliveryModeSchema = external_exports.enum(MESSAGE_DELIVERY_MODES);
27265
+ var TRIGGER_INJECTION_MODALITIES = [
27266
+ "chat",
27267
+ "githubCheck",
27268
+ "githubCheckAction",
27269
+ "githubPullRequest",
27270
+ "other"
27271
+ ];
27272
+ var TriggerInjectionModalitySchema = external_exports.enum(
27273
+ TRIGGER_INJECTION_MODALITIES
27274
+ );
27275
+ var RunMessageCommandPayloadSchema = external_exports.object({
27276
+ message: external_exports.string().trim().min(1),
27277
+ // Optional so existing payloads and direct operator/agent messages stay
27278
+ // valid without it; trigger routing sets "deferred" for GitHub check
27279
+ // events. An absent mode is treated as "interrupt" at the delivery
27280
+ // boundary (commandDeliveryPayload / the runtime handler), so the default
27281
+ // lives where the value is consumed rather than as a required field every
27282
+ // call site must construct.
27283
+ deliveryMode: MessageDeliveryModeSchema.optional(),
27284
+ metadata: JsonValueSchema2.optional()
27285
+ }).strict();
27286
+ var RunAnswerCommandPayloadSchema = external_exports.object({
27287
+ toolCallId: external_exports.string().trim().min(1),
27288
+ answers: external_exports.record(external_exports.string(), external_exports.string()),
27289
+ response: external_exports.string().trim().min(1).optional()
27290
+ }).strict().refine((value2) => Object.keys(value2.answers).length > 0 || value2.response, {
27291
+ message: "Provide at least one answer or a freeform response"
27265
27292
  });
27266
- var SessionUiMessageRecordSchema = external_exports.object({
27267
- id: external_exports.string().trim().min(1),
27268
- sessionId: SessionIdSchema2,
27269
- sequence: external_exports.number().int().nonnegative(),
27270
- messageId: external_exports.string().trim().min(1),
27271
- commandId: external_exports.string().trim().min(1).nullable(),
27272
- turnId: external_exports.string().trim().min(1).nullable(),
27273
- role: SessionMessageRoleSchema,
27274
- status: SessionMessageStatusSchema,
27275
- message: JsonValueSchema2,
27276
- streamCursor: external_exports.number().int().positive().nullable().default(null),
27277
- createdAt: external_exports.string().datetime(),
27278
- updatedAt: external_exports.string().datetime(),
27279
- completedAt: external_exports.string().datetime().nullable()
27293
+ var RunLifecycleCommandPayloadSchema = external_exports.object({
27294
+ reason: external_exports.string().trim().min(1).optional()
27295
+ }).strict();
27296
+ var RunStopCommandPayloadSchema = external_exports.object({
27297
+ reason: external_exports.string().trim().min(1).optional(),
27298
+ respawn: SingletonRespawnSchema.optional()
27299
+ }).strict();
27300
+ var SessionCommandPayloadSchema = external_exports.union([
27301
+ RunMessageCommandPayloadSchema,
27302
+ RunAnswerCommandPayloadSchema,
27303
+ RunLifecycleCommandPayloadSchema,
27304
+ RunStopCommandPayloadSchema
27305
+ ]);
27306
+ var CreateRunMessageCommandRequestSchema = external_exports.object({
27307
+ message: external_exports.string().trim().min(1),
27308
+ metadata: JsonValueSchema2.optional()
27280
27309
  });
27281
- var SessionListItemAgentSchema = external_exports.object({
27282
- name: external_exports.string(),
27283
- displayName: external_exports.string().nullable(),
27284
- username: external_exports.string().nullable(),
27285
- avatarSha256: external_exports.string().nullable()
27310
+ var CreateRunAnswerCommandRequestSchema = RunAnswerCommandPayloadSchema;
27311
+ var CreateRunLifecycleCommandRequestSchema = external_exports.object({
27312
+ reason: external_exports.string().trim().min(1).optional()
27286
27313
  });
27287
- var SessionListItemSchema = external_exports.object({
27288
- id: SessionIdSchema2,
27289
- agentId: AgentIdSchema,
27290
- status: SessionStatusSchema,
27291
- runtimePhase: SessionRuntimePhaseSchema.nullable(),
27292
- displayTitle: RunDisplayTitleSchema,
27293
- summary: external_exports.string(),
27294
- agent: SessionListItemAgentSchema,
27295
- createdAt: external_exports.string().datetime(),
27296
- updatedAt: external_exports.string().datetime(),
27297
- archivedAt: external_exports.string().datetime().nullable(),
27298
- lastActivityAt: external_exports.string().datetime()
27314
+ var CreateRunStopCommandRequestSchema = external_exports.object({
27315
+ reason: external_exports.string().trim().min(1).optional(),
27316
+ respawn: SingletonRespawnSchema.optional()
27299
27317
  });
27300
- var SessionListResponseSchema = external_exports.object({
27301
- sessions: external_exports.array(SessionListItemSchema),
27302
- /**
27303
- * Opaque keyset cursor for the next page, or `null` when the list is
27304
- * exhausted. Replay it on the next request to append the following page; it is
27305
- * minted for a specific sort and rejected against a different one.
27306
- */
27307
- nextCursor: external_exports.string().nullable(),
27308
- hasMore: external_exports.boolean()
27309
- });
27310
- var SessionsArchiveResponseSchema = external_exports.object({
27311
- archived: external_exports.boolean(),
27312
- sessions: external_exports.array(SessionRecordSchema)
27313
- });
27314
-
27315
- // ../../packages/schemas/src/session-introspection.ts
27316
- var TruncatedValueSchema = external_exports.object({
27317
- truncated: external_exports.literal(true),
27318
- truncatedPreview: external_exports.string(),
27319
- originalBytes: external_exports.number().int().nonnegative()
27320
- });
27321
- var RunConversationSearchSnippetSchema = external_exports.object({
27322
- partIndex: external_exports.number().int().nonnegative(),
27323
- partType: external_exports.string(),
27324
- /** The search term this snippet was produced for. */
27325
- query: external_exports.string(),
27326
- text: external_exports.string()
27327
- });
27328
- var RunConversationSearchMatchSchema = external_exports.object({
27329
- sequence: external_exports.number().int().nonnegative(),
27330
- role: ConversationRoleSchema2,
27331
- kind: ConversationEntryKindSchema2,
27332
- status: ConversationEntryStatusSchema2,
27333
- createdAt: external_exports.string().datetime(),
27334
- /** Which of the requested terms matched this entry. */
27335
- matchedQueries: external_exports.array(external_exports.string()),
27336
- /** Total match occurrences across terms in this entry. */
27337
- matchCount: external_exports.number().int().positive(),
27338
- snippets: external_exports.array(RunConversationSearchSnippetSchema)
27339
- });
27340
- var RunConversationSearchResponseSchema = external_exports.object({
27341
- matches: external_exports.array(RunConversationSearchMatchSchema),
27342
- hasMore: external_exports.boolean(),
27343
- /**
27344
- * Sequence of the last candidate entry scanned (not just the last confirmed
27345
- * match) — pass as `afterSequence` to continue without re-scanning
27346
- * candidates the match confirmation dropped. Null when nothing was scanned.
27347
- */
27348
- nextAfterSequence: external_exports.number().int().nullable()
27349
- });
27350
- var SessionToolExchangeSchema = external_exports.object({
27351
- name: external_exports.string(),
27352
- callSequence: external_exports.number().int().nonnegative(),
27353
- resultSequence: external_exports.number().int().nonnegative().nullable(),
27354
- input: JsonValueSchema2,
27355
- output: JsonValueSchema2.nullable(),
27356
- /** Null while the call has no recorded result. */
27357
- isError: external_exports.boolean().nullable(),
27358
- /** Result `completedAt` minus call `createdAt`; null without a result. */
27359
- durationMs: external_exports.number().int().nonnegative().nullable(),
27360
- startedAt: external_exports.string().datetime(),
27361
- completedAt: external_exports.string().datetime().nullable()
27362
- });
27363
- var SessionToolExchangesResponseSchema = external_exports.object({
27364
- exchanges: external_exports.array(SessionToolExchangeSchema),
27365
- hasMore: external_exports.boolean(),
27366
- /**
27367
- * Sequence bounds of the entries window this page consumed (not just the
27368
- * returned exchanges) — continue paging with `after`/`before` from these so
27369
- * filtered-out entries are not re-scanned. Null when nothing was scanned.
27370
- */
27371
- nextAfterSequence: external_exports.number().int().nullable(),
27372
- nextBeforeSequence: external_exports.number().int().nullable()
27373
- });
27374
- var SESSION_TRIGGER_DELIVERY_ACTIONS = [
27375
- "started",
27376
- "signaled",
27377
- "dropped",
27378
- "warned",
27379
- "errored"
27380
- ];
27381
- var SessionTriggerDeliveryActionSchema = external_exports.enum(
27382
- SESSION_TRIGGER_DELIVERY_ACTIONS
27383
- );
27384
- var SESSION_EVENT_ORIGIN_KINDS = [
27385
- "internal",
27386
- "provider_grant",
27387
- "webhook"
27388
- ];
27389
- var SessionEventOriginKindSchema = external_exports.enum(SESSION_EVENT_ORIGIN_KINDS);
27390
- var SessionTriggerDeliveryRecordSchema = external_exports.object({
27391
- action: SessionTriggerDeliveryActionSchema,
27392
- triggerId: external_exports.string(),
27393
- eventKey: external_exports.string(),
27394
- originKind: SessionEventOriginKindSchema,
27395
- occurredAt: external_exports.string().datetime(),
27396
- receivedAt: external_exports.string().datetime(),
27397
- deliveredAt: external_exports.string().datetime(),
27398
- reason: external_exports.string().nullable(),
27399
- /** Event payload; may be a {@link TruncatedValueSchema} marker. */
27400
- payload: JsonValueSchema2.optional()
27401
- });
27402
- var SessionTriggersResponseSchema = external_exports.object({
27403
- /** The `started` delivery that spawned the session; null for manual/agent spawns. */
27404
- spawn: SessionTriggerDeliveryRecordSchema.nullable(),
27405
- /** Who started the session, for manual/CLI/agent spawns. */
27406
- starter: AuthActorSchema.nullable(),
27407
- /** Subsequent deliveries against the session, chronological. */
27408
- deliveries: external_exports.array(SessionTriggerDeliveryRecordSchema)
27409
- });
27410
- var RunArtifactRecordSchema = external_exports.object({
27411
- artifactType: external_exports.string(),
27412
- externalId: external_exports.string(),
27413
- payload: JsonValueSchema2,
27414
- recordedAt: external_exports.string().datetime()
27415
- });
27416
- var RunArtifactsResponseSchema = external_exports.object({
27417
- artifacts: external_exports.array(RunArtifactRecordSchema)
27318
+ var CreateSessionCommandRequestSchema = external_exports.discriminatedUnion("kind", [
27319
+ external_exports.object({
27320
+ kind: external_exports.literal("message"),
27321
+ payload: CreateRunMessageCommandRequestSchema
27322
+ }).strict(),
27323
+ external_exports.object({
27324
+ kind: external_exports.literal("answer"),
27325
+ payload: CreateRunAnswerCommandRequestSchema
27326
+ }).strict(),
27327
+ external_exports.object({
27328
+ kind: external_exports.literal("pause"),
27329
+ payload: CreateRunLifecycleCommandRequestSchema
27330
+ }).strict(),
27331
+ external_exports.object({
27332
+ kind: external_exports.literal("resume"),
27333
+ payload: CreateRunLifecycleCommandRequestSchema
27334
+ }).strict(),
27335
+ external_exports.object({
27336
+ kind: external_exports.literal("interrupt"),
27337
+ payload: CreateRunLifecycleCommandRequestSchema
27338
+ }).strict(),
27339
+ external_exports.object({
27340
+ kind: external_exports.literal("cancel"),
27341
+ payload: CreateRunLifecycleCommandRequestSchema
27342
+ }).strict(),
27343
+ external_exports.object({
27344
+ kind: external_exports.literal("stop"),
27345
+ payload: CreateRunStopCommandRequestSchema
27346
+ }).strict()
27347
+ ]);
27348
+ var RunResolutionPolicySchema = external_exports.enum([
27349
+ "singletonLiveRun",
27350
+ "latestLiveRun",
27351
+ "latestRun"
27352
+ ]);
27353
+ var AgentAddressedCommandTargetSchema = external_exports.object({
27354
+ agentId: AgentIdSchema.optional(),
27355
+ agentName: external_exports.string().trim().min(1).optional(),
27356
+ resolutionPolicy: RunResolutionPolicySchema
27357
+ }).refine((value2) => Boolean(value2.agentId) !== Boolean(value2.agentName), {
27358
+ message: "Provide exactly one of agentId or agentName"
27418
27359
  });
27419
- var RunBindingRecordSchema = external_exports.object({
27420
- targetType: BindingTargetTypeSchema,
27421
- externalId: external_exports.string(),
27422
- source: SessionBindingSourceSchema,
27423
- status: SessionBindingStatusSchema,
27424
- payload: JsonValueSchema2.nullable(),
27360
+ var SessionCommandRecordBaseSchema = external_exports.object({
27361
+ id: SessionCommandIdSchema2,
27362
+ sessionId: SessionIdSchema2,
27363
+ sender: SessionCommandSenderSchema,
27364
+ idempotencyKey: external_exports.string().min(1).nullable(),
27365
+ status: SessionCommandStatusSchema,
27366
+ attemptCount: external_exports.number().int().nonnegative(),
27367
+ nextAttemptAt: external_exports.string().datetime().nullable(),
27368
+ lastAttemptAt: external_exports.string().datetime().nullable(),
27369
+ acceptedAt: external_exports.string().datetime().nullable(),
27370
+ failedAt: external_exports.string().datetime().nullable(),
27371
+ error: JsonValueSchema2.nullable(),
27425
27372
  createdAt: external_exports.string().datetime(),
27426
27373
  updatedAt: external_exports.string().datetime()
27427
27374
  });
27428
- var RunBindingsResponseSchema = external_exports.object({
27429
- bindings: external_exports.array(RunBindingRecordSchema)
27430
- });
27431
- var RunTurnSchema = external_exports.object({
27432
- startSequence: external_exports.number().int().nonnegative(),
27433
- endSequence: external_exports.number().int().nonnegative(),
27434
- startedAt: external_exports.string().datetime(),
27435
- completedAt: external_exports.string().datetime().nullable(),
27436
- toolCallCount: external_exports.number().int().nonnegative()
27437
- });
27438
- var SessionToolStatSchema = external_exports.object({
27439
- name: external_exports.string(),
27440
- /** Session-wide call count from the SQL aggregate. */
27441
- calls: external_exports.number().int().nonnegative(),
27442
- /**
27443
- * Derived from the summary's recent-entries window (most recent ~1000
27444
- * entries), so on very long sessions `errors` and `durationMs` can understate
27445
- * relative to the session-wide `calls`.
27446
- */
27447
- errors: external_exports.number().int().nonnegative(),
27448
- durationMs: external_exports.object({
27449
- p50: external_exports.number().nonnegative().nullable(),
27450
- max: external_exports.number().nonnegative().nullable()
27451
- })
27452
- });
27453
- var RunSummarySchema = external_exports.object({
27454
- session: external_exports.object({
27455
- id: SessionIdSchema2,
27456
- agentName: external_exports.string(),
27457
- displayTitle: external_exports.string(),
27458
- ambientStatus: AmbientStatusSchema.nullable(),
27459
- status: SessionStatusSchema,
27460
- error: JsonValueSchema2.nullable(),
27461
- workflowId: external_exports.string(),
27462
- createdAt: external_exports.string().datetime(),
27463
- startedAt: external_exports.string().datetime().nullable(),
27464
- finishedAt: external_exports.string().datetime().nullable(),
27465
- archivedAt: external_exports.string().datetime().nullable()
27375
+ var RunStartCommandPayloadSchema = external_exports.object({
27376
+ kind: external_exports.literal("start")
27377
+ }).strict();
27378
+ var RunStartWithMessageCommandPayloadSchema = external_exports.object({
27379
+ kind: external_exports.literal("startWithMessage"),
27380
+ message: external_exports.string().trim().min(1)
27381
+ }).strict();
27382
+ var SessionPersistedCommandPayloadSchema = external_exports.union([
27383
+ RunMessageCommandPayloadSchema,
27384
+ RunAnswerCommandPayloadSchema,
27385
+ RunLifecycleCommandPayloadSchema,
27386
+ RunStopCommandPayloadSchema,
27387
+ RunStartCommandPayloadSchema,
27388
+ RunStartWithMessageCommandPayloadSchema
27389
+ ]);
27390
+ var SessionCommandRecordSchema = external_exports.discriminatedUnion("kind", [
27391
+ SessionCommandRecordBaseSchema.extend({
27392
+ kind: external_exports.literal("message"),
27393
+ payload: RunMessageCommandPayloadSchema
27466
27394
  }),
27467
- timing: external_exports.object({
27468
- /** `startedAt - createdAt`; null until the session starts. */
27469
- queuedMs: external_exports.number().int().nonnegative().nullable(),
27470
- /** `(finishedAt ?? now) - startedAt`; null until the session starts. */
27471
- activeMs: external_exports.number().int().nonnegative().nullable(),
27472
- /** `(finishedAt ?? now) - createdAt`. */
27473
- totalMs: external_exports.number().int().nonnegative()
27395
+ SessionCommandRecordBaseSchema.extend({
27396
+ kind: external_exports.literal("answer"),
27397
+ payload: RunAnswerCommandPayloadSchema
27474
27398
  }),
27475
- conversation: external_exports.object({
27476
- entryCount: external_exports.number().int().nonnegative(),
27477
- firstEntryAt: external_exports.string().datetime().nullable(),
27478
- lastEntryAt: external_exports.string().datetime().nullable(),
27479
- countsByKind: external_exports.object({
27480
- status: external_exports.number().int().nonnegative(),
27481
- message: external_exports.number().int().nonnegative(),
27482
- tool_call: external_exports.number().int().nonnegative(),
27483
- tool_result: external_exports.number().int().nonnegative(),
27484
- question: external_exports.number().int().nonnegative()
27485
- }),
27486
- failedEntryCount: external_exports.number().int().nonnegative(),
27487
- lastSequence: external_exports.number().int().nonnegative()
27399
+ SessionCommandRecordBaseSchema.extend({
27400
+ kind: external_exports.literal("pause"),
27401
+ payload: RunLifecycleCommandPayloadSchema
27488
27402
  }),
27489
- tools: external_exports.array(SessionToolStatSchema),
27490
- /**
27491
- * True when the session has more conversation entries than the summary's
27492
- * recent-entries window, meaning per-tool `errors`/`durationMs` (and
27493
- * `turns`) describe only the most recent slice of the session.
27494
- */
27495
- toolStatsWindowed: external_exports.boolean(),
27496
- trigger: external_exports.object({
27497
- /** Spawning event key, or "manual" / "agent" for actor-started sessions. */
27498
- spawn: external_exports.string(),
27499
- signaledCount: external_exports.number().int().nonnegative(),
27500
- droppedCount: external_exports.number().int().nonnegative()
27403
+ SessionCommandRecordBaseSchema.extend({
27404
+ kind: external_exports.literal("resume"),
27405
+ payload: RunLifecycleCommandPayloadSchema
27501
27406
  }),
27502
- artifacts: external_exports.object({
27503
- count: external_exports.number().int().nonnegative(),
27504
- types: external_exports.array(external_exports.string())
27407
+ SessionCommandRecordBaseSchema.extend({
27408
+ kind: external_exports.literal("interrupt"),
27409
+ payload: RunLifecycleCommandPayloadSchema
27505
27410
  }),
27506
- /** Active session bindings, counted with their distinct target types. */
27507
- bindings: external_exports.object({
27508
- count: external_exports.number().int().nonnegative(),
27509
- targetTypes: external_exports.array(BindingTargetTypeSchema)
27411
+ SessionCommandRecordBaseSchema.extend({
27412
+ kind: external_exports.literal("cancel"),
27413
+ payload: RunLifecycleCommandPayloadSchema
27510
27414
  }),
27511
- /** Derived per-user-message turns, capped to the most recent. */
27512
- turns: external_exports.array(RunTurnSchema),
27513
- commands: external_exports.object({
27514
- total: external_exports.number().int().nonnegative(),
27515
- byKind: external_exports.record(external_exports.string(), external_exports.number().int().nonnegative()),
27516
- failed: external_exports.number().int().nonnegative()
27415
+ SessionCommandRecordBaseSchema.extend({
27416
+ kind: external_exports.literal("stop"),
27417
+ payload: RunStopCommandPayloadSchema
27517
27418
  }),
27518
- checks: external_exports.array(
27519
- external_exports.object({
27520
- name: external_exports.string(),
27521
- displayName: external_exports.string(),
27522
- status: SessionCheckStatusSchema,
27523
- conclusion: SessionCheckConclusionSchema.nullable(),
27524
- completedAt: external_exports.string().datetime().nullable()
27525
- })
27526
- )
27527
- });
27528
-
27529
- // ../../packages/schemas/src/session-turns.ts
27530
- var SESSION_TURN_STATUSES = [
27531
- "accepted",
27532
- "in_progress",
27533
- "waiting_for_input",
27534
- "completed",
27535
- "failed",
27536
- "stale"
27537
- ];
27538
- var SESSION_TURN_FAILURE_SCOPES = ["turn", "session"];
27539
- var SessionTurnStatusSchema = external_exports.enum(SESSION_TURN_STATUSES);
27540
- var SessionTurnFailureScopeSchema = external_exports.enum(
27541
- SESSION_TURN_FAILURE_SCOPES
27419
+ SessionCommandRecordBaseSchema.extend({
27420
+ kind: external_exports.literal("start"),
27421
+ payload: RunStartCommandPayloadSchema
27422
+ }),
27423
+ SessionCommandRecordBaseSchema.extend({
27424
+ kind: external_exports.literal("startWithMessage"),
27425
+ payload: RunStartWithMessageCommandPayloadSchema
27426
+ })
27427
+ ]);
27428
+ var SessionDispatchMessageCommandPayloadSchema = external_exports.object({
27429
+ kind: external_exports.literal("message"),
27430
+ message: external_exports.string().trim().min(1)
27431
+ }).strict();
27432
+ var SessionDispatchAnswerCommandPayloadSchema = external_exports.object({
27433
+ kind: external_exports.literal("answer"),
27434
+ toolCallId: external_exports.string().trim().min(1),
27435
+ answers: external_exports.record(external_exports.string(), external_exports.string()),
27436
+ response: external_exports.string().trim().min(1).optional()
27437
+ }).strict();
27438
+ var SessionDispatchStopCommandPayloadSchema = external_exports.object({
27439
+ kind: external_exports.literal("stop"),
27440
+ reason: external_exports.string().trim().min(1).optional()
27441
+ }).strict();
27442
+ var SessionDispatchCommandPayloadSchema = external_exports.discriminatedUnion(
27443
+ "kind",
27444
+ [
27445
+ RunStartCommandPayloadSchema,
27446
+ RunStartWithMessageCommandPayloadSchema,
27447
+ SessionDispatchMessageCommandPayloadSchema,
27448
+ SessionDispatchAnswerCommandPayloadSchema,
27449
+ SessionDispatchStopCommandPayloadSchema
27450
+ ]
27542
27451
  );
27543
- var SessionTurnRecordSchema = external_exports.object({
27544
- id: external_exports.string().trim().min(1),
27452
+ var SessionDispatchCommandRecordBaseSchema = external_exports.object({
27453
+ id: SessionCommandIdSchema2,
27545
27454
  sessionId: SessionIdSchema2,
27546
- commandId: SessionCommandIdSchema2,
27547
- runtimeId: RuntimeIdSchema2.nullable(),
27548
- bridgeLeaseId: RuntimeBridgeLeaseIdSchema2.nullable(),
27549
- status: SessionTurnStatusSchema,
27550
- failureScope: SessionTurnFailureScopeSchema.nullable(),
27551
- lastOutputSeq: external_exports.number().int().positive().nullable(),
27455
+ sender: SessionCommandSenderSchema,
27456
+ idempotencyKey: external_exports.string().min(1).nullable(),
27457
+ status: SessionDispatchCommandStatusSchema,
27458
+ attemptCount: external_exports.number().int().nonnegative(),
27459
+ nextAttemptAt: external_exports.string().datetime().nullable(),
27460
+ lastAttemptAt: external_exports.string().datetime().nullable(),
27552
27461
  acceptedAt: external_exports.string().datetime().nullable(),
27553
- startedAt: external_exports.string().datetime().nullable(),
27554
- lastProgressAt: external_exports.string().datetime().nullable(),
27555
- completedAt: external_exports.string().datetime().nullable(),
27556
27462
  failedAt: external_exports.string().datetime().nullable(),
27557
- staleAt: external_exports.string().datetime().nullable(),
27558
27463
  error: JsonValueSchema2.nullable(),
27559
27464
  createdAt: external_exports.string().datetime(),
27560
27465
  updatedAt: external_exports.string().datetime()
27561
27466
  });
27562
-
27563
- // ../../packages/schemas/src/singleton-refresh.ts
27564
- var SINGLETON_RESPAWN_REASONS = ["refresh", "failure"];
27565
- var SingletonRespawnReasonSchema = external_exports.enum(SINGLETON_RESPAWN_REASONS);
27566
- var SingletonRespawnSchema = external_exports.object({
27567
- reason: SingletonRespawnReasonSchema.default("refresh")
27568
- }).strict();
27569
- var SingletonRefreshEventPayloadSchema = external_exports.object({
27570
- trigger: external_exports.literal("agent.refresh"),
27571
- refresh: external_exports.object({
27572
- reason: SingletonRespawnReasonSchema,
27573
- agentResourceId: external_exports.string().trim().min(1),
27574
- previousSessionId: external_exports.string().trim().min(1)
27467
+ var SessionDispatchCommandRecordSchema = external_exports.discriminatedUnion("kind", [
27468
+ SessionDispatchCommandRecordBaseSchema.extend({
27469
+ kind: external_exports.literal("start"),
27470
+ payload: RunStartCommandPayloadSchema
27471
+ }),
27472
+ SessionDispatchCommandRecordBaseSchema.extend({
27473
+ kind: external_exports.literal("startWithMessage"),
27474
+ payload: RunStartWithMessageCommandPayloadSchema
27475
+ }),
27476
+ SessionDispatchCommandRecordBaseSchema.extend({
27477
+ kind: external_exports.literal("message"),
27478
+ payload: SessionDispatchMessageCommandPayloadSchema
27479
+ }),
27480
+ SessionDispatchCommandRecordBaseSchema.extend({
27481
+ kind: external_exports.literal("answer"),
27482
+ payload: SessionDispatchAnswerCommandPayloadSchema
27483
+ }),
27484
+ SessionDispatchCommandRecordBaseSchema.extend({
27485
+ kind: external_exports.literal("stop"),
27486
+ payload: SessionDispatchStopCommandPayloadSchema
27575
27487
  })
27576
- });
27488
+ ]);
27577
27489
 
27578
- // ../../packages/schemas/src/session-commands.ts
27579
- var SESSION_COMMAND_KINDS = [
27580
- "message",
27581
- "answer",
27582
- "pause",
27583
- "resume",
27584
- "interrupt",
27585
- "cancel",
27586
- "stop"
27587
- ];
27588
- var SESSION_DISPATCH_COMMAND_KINDS = [
27589
- "start",
27590
- "startWithMessage",
27591
- "message",
27592
- "answer",
27593
- "stop"
27594
- ];
27595
- var SESSION_PERSISTED_COMMAND_KINDS = [
27596
- "message",
27597
- "pause",
27598
- "resume",
27599
- "interrupt",
27600
- "cancel",
27601
- "stop",
27602
- "start",
27603
- "startWithMessage",
27604
- "answer"
27490
+ // ../../packages/schemas/src/sessions.ts
27491
+ var SESSION_STATUSES = [
27492
+ "queued",
27493
+ "running",
27494
+ "awaiting",
27495
+ "failed",
27496
+ "stopped"
27605
27497
  ];
27606
- var SESSION_LIFECYCLE_COMMAND_KINDS = [
27607
- "pause",
27608
- "resume",
27609
- "interrupt",
27610
- "cancel",
27611
- "stop"
27498
+ var SESSION_RUNTIME_PHASES = [
27499
+ "building_image",
27500
+ "booting_container",
27501
+ "preparing_environment",
27502
+ "starting_runtime",
27503
+ "running"
27612
27504
  ];
27613
- var SESSION_COMMAND_STATUSES = [
27614
- "pending",
27615
- "dispatching",
27616
- "accepted",
27505
+ var SESSION_DISPLAY_TITLE_MAX_LENGTH = 64;
27506
+ var SESSION_MESSAGE_ROLES = ["system", "user", "assistant"];
27507
+ var SESSION_MESSAGE_STATUSES = [
27508
+ "in_progress",
27509
+ "completed",
27617
27510
  "failed"
27618
27511
  ];
27619
- var SESSION_DISPATCH_COMMAND_STATUSES = [
27620
- "pending",
27621
- "dispatching",
27622
- "accepted",
27623
- "failed"
27512
+ var SessionStatusSchema = external_exports.enum(SESSION_STATUSES);
27513
+ var SessionRuntimePhaseSchema = external_exports.enum(SESSION_RUNTIME_PHASES);
27514
+ var SessionMessageRoleSchema = external_exports.enum(SESSION_MESSAGE_ROLES);
27515
+ var SessionMessageStatusSchema = external_exports.enum(SESSION_MESSAGE_STATUSES);
27516
+ var RunDisplayTitleSchema = external_exports.string().trim().max(SESSION_DISPLAY_TITLE_MAX_LENGTH);
27517
+ var AmbientStatusSchema = external_exports.string().trim().min(1);
27518
+ var SESSION_CHECK_STATUSES = [
27519
+ "queued",
27520
+ "in_progress",
27521
+ "completed"
27624
27522
  ];
27625
- var SessionCommandKindSchema2 = external_exports.enum(SESSION_COMMAND_KINDS);
27626
- var SessionPersistedCommandKindSchema = external_exports.enum(
27627
- SESSION_PERSISTED_COMMAND_KINDS
27628
- );
27629
- var SessionDispatchCommandKindSchema = external_exports.enum(
27630
- SESSION_DISPATCH_COMMAND_KINDS
27631
- );
27632
- var RunLifecycleCommandKindSchema = external_exports.enum(
27633
- SESSION_LIFECYCLE_COMMAND_KINDS
27634
- );
27635
- var SessionCommandStatusSchema = external_exports.enum(SESSION_COMMAND_STATUSES);
27636
- var SessionDispatchCommandStatusSchema = external_exports.enum(
27637
- SESSION_DISPATCH_COMMAND_STATUSES
27523
+ var SESSION_CHECK_CONCLUSIONS = ["success", "failure"];
27524
+ var SESSION_CHECK_TIMEOUT_PHASES = ["begin", "complete"];
27525
+ var SessionCheckStatusSchema = external_exports.enum(SESSION_CHECK_STATUSES);
27526
+ var SessionCheckConclusionSchema = external_exports.enum(SESSION_CHECK_CONCLUSIONS);
27527
+ var SessionCheckTimeoutPhaseSchema = external_exports.enum(
27528
+ SESSION_CHECK_TIMEOUT_PHASES
27638
27529
  );
27639
- var SessionCommandSenderSchema = external_exports.discriminatedUnion("type", [
27640
- external_exports.object({
27641
- type: external_exports.literal("operator"),
27642
- id: external_exports.string().trim().min(1).nullable().default(null),
27643
- actor: AuthActorSchema.nullable().optional()
27644
- }),
27645
- external_exports.object({
27646
- type: external_exports.literal("agent"),
27647
- sessionId: SessionIdSchema2
27648
- }),
27649
- external_exports.object({
27650
- type: external_exports.literal("system")
27651
- })
27652
- ]);
27653
- var MESSAGE_DELIVERY_MODES = ["interrupt", "deferred"];
27654
- var MessageDeliveryModeSchema = external_exports.enum(MESSAGE_DELIVERY_MODES);
27655
- var TRIGGER_INJECTION_MODALITIES = [
27656
- "chat",
27657
- "githubCheck",
27658
- "githubCheckAction",
27659
- "githubPullRequest",
27660
- "other"
27661
- ];
27662
- var TriggerInjectionModalitySchema = external_exports.enum(
27663
- TRIGGER_INJECTION_MODALITIES
27664
- );
27665
- var RunMessageCommandPayloadSchema = external_exports.object({
27666
- message: external_exports.string().trim().min(1),
27667
- // Optional so existing payloads and direct operator/agent messages stay
27668
- // valid without it; trigger routing sets "deferred" for GitHub check
27669
- // events. An absent mode is treated as "interrupt" at the delivery
27670
- // boundary (commandDeliveryPayload / the runtime handler), so the default
27671
- // lives where the value is consumed rather than as a required field every
27672
- // call site must construct.
27673
- deliveryMode: MessageDeliveryModeSchema.optional(),
27674
- metadata: JsonValueSchema2.optional()
27675
- }).strict();
27676
- var RunAnswerCommandPayloadSchema = external_exports.object({
27677
- toolCallId: external_exports.string().trim().min(1),
27678
- answers: external_exports.record(external_exports.string(), external_exports.string()),
27679
- response: external_exports.string().trim().min(1).optional()
27680
- }).strict().refine((value2) => Object.keys(value2.answers).length > 0 || value2.response, {
27681
- message: "Provide at least one answer or a freeform response"
27530
+ var ManualSessionRequestSchema = external_exports.object({
27531
+ message: external_exports.string().trim().min(1).max(2e4).optional(),
27532
+ interactive: external_exports.boolean().optional(),
27533
+ /**
27534
+ * Deliver the agent's configured `initialPrompt` as the session's kickoff
27535
+ * message so the agent opens the conversation. Agents without an
27536
+ * `initialPrompt` fall back to the default manual say-hello message, so a
27537
+ * kickoff always pings the agent. The kickoff is delivered through the
27538
+ * session's one idempotent start command and never renders as a user chat
27539
+ * bubble; the agent's greeting is the first visible content.
27540
+ */
27541
+ kickoff: external_exports.boolean().optional()
27682
27542
  });
27683
- var RunLifecycleCommandPayloadSchema = external_exports.object({
27684
- reason: external_exports.string().trim().min(1).optional()
27685
- }).strict();
27686
- var RunStopCommandPayloadSchema = external_exports.object({
27687
- reason: external_exports.string().trim().min(1).optional(),
27688
- respawn: SingletonRespawnSchema.optional()
27689
- }).strict();
27690
- var SessionCommandPayloadSchema = external_exports.union([
27691
- RunMessageCommandPayloadSchema,
27692
- RunAnswerCommandPayloadSchema,
27693
- RunLifecycleCommandPayloadSchema,
27694
- RunStopCommandPayloadSchema
27695
- ]);
27696
- var CreateRunMessageCommandRequestSchema = external_exports.object({
27697
- message: external_exports.string().trim().min(1),
27698
- metadata: JsonValueSchema2.optional()
27543
+ var SessionArchiveRequestSchema = external_exports.object({
27544
+ archived: external_exports.boolean()
27699
27545
  });
27700
- var CreateRunAnswerCommandRequestSchema = RunAnswerCommandPayloadSchema;
27701
- var CreateRunLifecycleCommandRequestSchema = external_exports.object({
27702
- reason: external_exports.string().trim().min(1).optional()
27546
+ var SessionsArchiveRequestSchema = external_exports.object({
27547
+ session_ids: external_exports.array(SessionIdSchema2).min(1).max(100),
27548
+ archived: external_exports.boolean()
27703
27549
  });
27704
- var CreateRunStopCommandRequestSchema = external_exports.object({
27705
- reason: external_exports.string().trim().min(1).optional(),
27706
- respawn: SingletonRespawnSchema.optional()
27550
+ var SessionRecordSchema = external_exports.object({
27551
+ id: SessionIdSchema2,
27552
+ organizationId: external_exports.string().trim().min(1),
27553
+ projectId: external_exports.string().trim().min(1).nullable(),
27554
+ agentId: AgentIdSchema,
27555
+ runtimeId: RuntimeIdSchema2.nullable(),
27556
+ status: SessionStatusSchema,
27557
+ runtimePhase: SessionRuntimePhaseSchema.nullable(),
27558
+ idempotencyKey: external_exports.string().min(1).nullable(),
27559
+ correlationKey: external_exports.string().nullable(),
27560
+ workflowId: external_exports.string().min(1),
27561
+ displayTitle: RunDisplayTitleSchema,
27562
+ ambientStatus: AmbientStatusSchema.nullable(),
27563
+ ambientStatusUpdatedAt: external_exports.string().datetime().nullable(),
27564
+ starterActor: AuthActorSchema.nullable(),
27565
+ snapshot: AgentResourceSchema,
27566
+ environmentSnapshot: EnvironmentResourceSchema,
27567
+ toolSnapshots: external_exports.array(
27568
+ external_exports.object({
27569
+ source: external_exports.literal("inline"),
27570
+ alias: ToolAliasSchema,
27571
+ spec: RemoteMcpToolSchema.or(ConnectionBackedToolSchema).or(LocalToolSchema).or(GithubToolSchema)
27572
+ })
27573
+ ),
27574
+ input: JsonValueSchema2,
27575
+ createdAt: external_exports.string().datetime(),
27576
+ updatedAt: external_exports.string().datetime(),
27577
+ lastActivityAt: external_exports.string().datetime(),
27578
+ startedAt: external_exports.string().datetime().nullable(),
27579
+ finishedAt: external_exports.string().datetime().nullable(),
27580
+ archivedAt: external_exports.string().datetime().nullable(),
27581
+ error: JsonValueSchema2.nullable()
27707
27582
  });
27708
- var CreateSessionCommandRequestSchema = external_exports.discriminatedUnion("kind", [
27709
- external_exports.object({
27710
- kind: external_exports.literal("message"),
27711
- payload: CreateRunMessageCommandRequestSchema
27712
- }).strict(),
27713
- external_exports.object({
27714
- kind: external_exports.literal("answer"),
27715
- payload: CreateRunAnswerCommandRequestSchema
27716
- }).strict(),
27717
- external_exports.object({
27718
- kind: external_exports.literal("pause"),
27719
- payload: CreateRunLifecycleCommandRequestSchema
27720
- }).strict(),
27721
- external_exports.object({
27722
- kind: external_exports.literal("resume"),
27723
- payload: CreateRunLifecycleCommandRequestSchema
27724
- }).strict(),
27725
- external_exports.object({
27726
- kind: external_exports.literal("interrupt"),
27727
- payload: CreateRunLifecycleCommandRequestSchema
27728
- }).strict(),
27729
- external_exports.object({
27730
- kind: external_exports.literal("cancel"),
27731
- payload: CreateRunLifecycleCommandRequestSchema
27732
- }).strict(),
27733
- external_exports.object({
27734
- kind: external_exports.literal("stop"),
27735
- payload: CreateRunStopCommandRequestSchema
27736
- }).strict()
27737
- ]);
27738
- var RunResolutionPolicySchema = external_exports.enum([
27739
- "singletonLiveRun",
27740
- "latestLiveRun",
27741
- "latestRun"
27742
- ]);
27743
- var AgentAddressedCommandTargetSchema = external_exports.object({
27744
- agentId: AgentIdSchema.optional(),
27745
- agentName: external_exports.string().trim().min(1).optional(),
27746
- resolutionPolicy: RunResolutionPolicySchema
27747
- }).refine((value2) => Boolean(value2.agentId) !== Boolean(value2.agentName), {
27748
- message: "Provide exactly one of agentId or agentName"
27583
+ var SessionMessageOriginSchema = external_exports.object({
27584
+ eventKey: external_exports.string().trim().min(1),
27585
+ provider: external_exports.string().trim().min(1).nullable().default(null)
27586
+ });
27587
+ var SessionUiMessageRecordSchema = external_exports.object({
27588
+ id: external_exports.string().trim().min(1),
27589
+ sessionId: SessionIdSchema2,
27590
+ sequence: external_exports.number().int().nonnegative(),
27591
+ messageId: external_exports.string().trim().min(1),
27592
+ commandId: external_exports.string().trim().min(1).nullable(),
27593
+ turnId: external_exports.string().trim().min(1).nullable(),
27594
+ role: SessionMessageRoleSchema,
27595
+ status: SessionMessageStatusSchema,
27596
+ message: JsonValueSchema2,
27597
+ // The sender of the command that carried this message into the session
27598
+ // (operator chat send, trigger delivery, or another agent's session), joined
27599
+ // from session_commands at read time. Null for messages that did not arrive
27600
+ // through a command, such as assistant output.
27601
+ sender: SessionCommandSenderSchema.nullable().default(null),
27602
+ // For trigger deliveries, the routed event behind the carrying command:
27603
+ // its event key plus the originating provider connection when known
27604
+ // (e.g. "slack" for a subscribed-thread reply, "github" for a check event).
27605
+ origin: SessionMessageOriginSchema.nullable().default(null),
27606
+ streamCursor: external_exports.number().int().positive().nullable().default(null),
27607
+ createdAt: external_exports.string().datetime(),
27608
+ updatedAt: external_exports.string().datetime(),
27609
+ completedAt: external_exports.string().datetime().nullable()
27610
+ });
27611
+ var SessionListItemAgentSchema = external_exports.object({
27612
+ name: external_exports.string(),
27613
+ displayName: external_exports.string().nullable(),
27614
+ username: external_exports.string().nullable(),
27615
+ avatarSha256: external_exports.string().nullable()
27616
+ });
27617
+ var SessionListItemSchema = external_exports.object({
27618
+ id: SessionIdSchema2,
27619
+ agentId: AgentIdSchema,
27620
+ status: SessionStatusSchema,
27621
+ runtimePhase: SessionRuntimePhaseSchema.nullable(),
27622
+ displayTitle: RunDisplayTitleSchema,
27623
+ summary: external_exports.string(),
27624
+ agent: SessionListItemAgentSchema,
27625
+ createdAt: external_exports.string().datetime(),
27626
+ updatedAt: external_exports.string().datetime(),
27627
+ archivedAt: external_exports.string().datetime().nullable(),
27628
+ lastActivityAt: external_exports.string().datetime()
27629
+ });
27630
+ var SessionListResponseSchema = external_exports.object({
27631
+ sessions: external_exports.array(SessionListItemSchema),
27632
+ /**
27633
+ * Opaque keyset cursor for the next page, or `null` when the list is
27634
+ * exhausted. Replay it on the next request to append the following page; it is
27635
+ * minted for a specific sort and rejected against a different one.
27636
+ */
27637
+ nextCursor: external_exports.string().nullable(),
27638
+ hasMore: external_exports.boolean()
27639
+ });
27640
+ var SessionsArchiveResponseSchema = external_exports.object({
27641
+ archived: external_exports.boolean(),
27642
+ sessions: external_exports.array(SessionRecordSchema)
27643
+ });
27644
+
27645
+ // ../../packages/schemas/src/session-introspection.ts
27646
+ var TruncatedValueSchema = external_exports.object({
27647
+ truncated: external_exports.literal(true),
27648
+ truncatedPreview: external_exports.string(),
27649
+ originalBytes: external_exports.number().int().nonnegative()
27650
+ });
27651
+ var RunConversationSearchSnippetSchema = external_exports.object({
27652
+ partIndex: external_exports.number().int().nonnegative(),
27653
+ partType: external_exports.string(),
27654
+ /** The search term this snippet was produced for. */
27655
+ query: external_exports.string(),
27656
+ text: external_exports.string()
27657
+ });
27658
+ var RunConversationSearchMatchSchema = external_exports.object({
27659
+ sequence: external_exports.number().int().nonnegative(),
27660
+ role: ConversationRoleSchema2,
27661
+ kind: ConversationEntryKindSchema2,
27662
+ status: ConversationEntryStatusSchema2,
27663
+ createdAt: external_exports.string().datetime(),
27664
+ /** Which of the requested terms matched this entry. */
27665
+ matchedQueries: external_exports.array(external_exports.string()),
27666
+ /** Total match occurrences across terms in this entry. */
27667
+ matchCount: external_exports.number().int().positive(),
27668
+ snippets: external_exports.array(RunConversationSearchSnippetSchema)
27669
+ });
27670
+ var RunConversationSearchResponseSchema = external_exports.object({
27671
+ matches: external_exports.array(RunConversationSearchMatchSchema),
27672
+ hasMore: external_exports.boolean(),
27673
+ /**
27674
+ * Sequence of the last candidate entry scanned (not just the last confirmed
27675
+ * match) — pass as `afterSequence` to continue without re-scanning
27676
+ * candidates the match confirmation dropped. Null when nothing was scanned.
27677
+ */
27678
+ nextAfterSequence: external_exports.number().int().nullable()
27679
+ });
27680
+ var SessionToolExchangeSchema = external_exports.object({
27681
+ name: external_exports.string(),
27682
+ callSequence: external_exports.number().int().nonnegative(),
27683
+ resultSequence: external_exports.number().int().nonnegative().nullable(),
27684
+ input: JsonValueSchema2,
27685
+ output: JsonValueSchema2.nullable(),
27686
+ /** Null while the call has no recorded result. */
27687
+ isError: external_exports.boolean().nullable(),
27688
+ /** Result `completedAt` minus call `createdAt`; null without a result. */
27689
+ durationMs: external_exports.number().int().nonnegative().nullable(),
27690
+ startedAt: external_exports.string().datetime(),
27691
+ completedAt: external_exports.string().datetime().nullable()
27692
+ });
27693
+ var SessionToolExchangesResponseSchema = external_exports.object({
27694
+ exchanges: external_exports.array(SessionToolExchangeSchema),
27695
+ hasMore: external_exports.boolean(),
27696
+ /**
27697
+ * Sequence bounds of the entries window this page consumed (not just the
27698
+ * returned exchanges) — continue paging with `after`/`before` from these so
27699
+ * filtered-out entries are not re-scanned. Null when nothing was scanned.
27700
+ */
27701
+ nextAfterSequence: external_exports.number().int().nullable(),
27702
+ nextBeforeSequence: external_exports.number().int().nullable()
27703
+ });
27704
+ var SESSION_TRIGGER_DELIVERY_ACTIONS = [
27705
+ "started",
27706
+ "signaled",
27707
+ "dropped",
27708
+ "warned",
27709
+ "errored"
27710
+ ];
27711
+ var SessionTriggerDeliveryActionSchema = external_exports.enum(
27712
+ SESSION_TRIGGER_DELIVERY_ACTIONS
27713
+ );
27714
+ var SESSION_EVENT_ORIGIN_KINDS = [
27715
+ "internal",
27716
+ "provider_grant",
27717
+ "webhook"
27718
+ ];
27719
+ var SessionEventOriginKindSchema = external_exports.enum(SESSION_EVENT_ORIGIN_KINDS);
27720
+ var SessionTriggerDeliveryRecordSchema = external_exports.object({
27721
+ action: SessionTriggerDeliveryActionSchema,
27722
+ triggerId: external_exports.string(),
27723
+ eventKey: external_exports.string(),
27724
+ originKind: SessionEventOriginKindSchema,
27725
+ occurredAt: external_exports.string().datetime(),
27726
+ receivedAt: external_exports.string().datetime(),
27727
+ deliveredAt: external_exports.string().datetime(),
27728
+ reason: external_exports.string().nullable(),
27729
+ /** Event payload; may be a {@link TruncatedValueSchema} marker. */
27730
+ payload: JsonValueSchema2.optional()
27749
27731
  });
27750
- var SessionCommandRecordBaseSchema = external_exports.object({
27751
- id: SessionCommandIdSchema2,
27752
- sessionId: SessionIdSchema2,
27753
- sender: SessionCommandSenderSchema,
27754
- idempotencyKey: external_exports.string().min(1).nullable(),
27755
- status: SessionCommandStatusSchema,
27756
- attemptCount: external_exports.number().int().nonnegative(),
27757
- nextAttemptAt: external_exports.string().datetime().nullable(),
27758
- lastAttemptAt: external_exports.string().datetime().nullable(),
27759
- acceptedAt: external_exports.string().datetime().nullable(),
27760
- failedAt: external_exports.string().datetime().nullable(),
27761
- error: JsonValueSchema2.nullable(),
27732
+ var SessionTriggersResponseSchema = external_exports.object({
27733
+ /** The `started` delivery that spawned the session; null for manual/agent spawns. */
27734
+ spawn: SessionTriggerDeliveryRecordSchema.nullable(),
27735
+ /** Who started the session, for manual/CLI/agent spawns. */
27736
+ starter: AuthActorSchema.nullable(),
27737
+ /** Subsequent deliveries against the session, chronological. */
27738
+ deliveries: external_exports.array(SessionTriggerDeliveryRecordSchema)
27739
+ });
27740
+ var RunArtifactRecordSchema = external_exports.object({
27741
+ artifactType: external_exports.string(),
27742
+ externalId: external_exports.string(),
27743
+ payload: JsonValueSchema2,
27744
+ recordedAt: external_exports.string().datetime()
27745
+ });
27746
+ var RunArtifactsResponseSchema = external_exports.object({
27747
+ artifacts: external_exports.array(RunArtifactRecordSchema)
27748
+ });
27749
+ var RunBindingRecordSchema = external_exports.object({
27750
+ targetType: BindingTargetTypeSchema,
27751
+ externalId: external_exports.string(),
27752
+ source: SessionBindingSourceSchema,
27753
+ status: SessionBindingStatusSchema,
27754
+ payload: JsonValueSchema2.nullable(),
27762
27755
  createdAt: external_exports.string().datetime(),
27763
27756
  updatedAt: external_exports.string().datetime()
27764
27757
  });
27765
- var RunStartCommandPayloadSchema = external_exports.object({
27766
- kind: external_exports.literal("start")
27767
- }).strict();
27768
- var RunStartWithMessageCommandPayloadSchema = external_exports.object({
27769
- kind: external_exports.literal("startWithMessage"),
27770
- message: external_exports.string().trim().min(1)
27771
- }).strict();
27772
- var SessionPersistedCommandPayloadSchema = external_exports.union([
27773
- RunMessageCommandPayloadSchema,
27774
- RunAnswerCommandPayloadSchema,
27775
- RunLifecycleCommandPayloadSchema,
27776
- RunStopCommandPayloadSchema,
27777
- RunStartCommandPayloadSchema,
27778
- RunStartWithMessageCommandPayloadSchema
27779
- ]);
27780
- var SessionCommandRecordSchema = external_exports.discriminatedUnion("kind", [
27781
- SessionCommandRecordBaseSchema.extend({
27782
- kind: external_exports.literal("message"),
27783
- payload: RunMessageCommandPayloadSchema
27784
- }),
27785
- SessionCommandRecordBaseSchema.extend({
27786
- kind: external_exports.literal("answer"),
27787
- payload: RunAnswerCommandPayloadSchema
27758
+ var RunBindingsResponseSchema = external_exports.object({
27759
+ bindings: external_exports.array(RunBindingRecordSchema)
27760
+ });
27761
+ var RunTurnSchema = external_exports.object({
27762
+ startSequence: external_exports.number().int().nonnegative(),
27763
+ endSequence: external_exports.number().int().nonnegative(),
27764
+ startedAt: external_exports.string().datetime(),
27765
+ completedAt: external_exports.string().datetime().nullable(),
27766
+ toolCallCount: external_exports.number().int().nonnegative()
27767
+ });
27768
+ var SessionToolStatSchema = external_exports.object({
27769
+ name: external_exports.string(),
27770
+ /** Session-wide call count from the SQL aggregate. */
27771
+ calls: external_exports.number().int().nonnegative(),
27772
+ /**
27773
+ * Derived from the summary's recent-entries window (most recent ~1000
27774
+ * entries), so on very long sessions `errors` and `durationMs` can understate
27775
+ * relative to the session-wide `calls`.
27776
+ */
27777
+ errors: external_exports.number().int().nonnegative(),
27778
+ durationMs: external_exports.object({
27779
+ p50: external_exports.number().nonnegative().nullable(),
27780
+ max: external_exports.number().nonnegative().nullable()
27781
+ })
27782
+ });
27783
+ var RunSummarySchema = external_exports.object({
27784
+ session: external_exports.object({
27785
+ id: SessionIdSchema2,
27786
+ agentName: external_exports.string(),
27787
+ displayTitle: external_exports.string(),
27788
+ ambientStatus: AmbientStatusSchema.nullable(),
27789
+ status: SessionStatusSchema,
27790
+ error: JsonValueSchema2.nullable(),
27791
+ workflowId: external_exports.string(),
27792
+ createdAt: external_exports.string().datetime(),
27793
+ startedAt: external_exports.string().datetime().nullable(),
27794
+ finishedAt: external_exports.string().datetime().nullable(),
27795
+ archivedAt: external_exports.string().datetime().nullable()
27788
27796
  }),
27789
- SessionCommandRecordBaseSchema.extend({
27790
- kind: external_exports.literal("pause"),
27791
- payload: RunLifecycleCommandPayloadSchema
27797
+ timing: external_exports.object({
27798
+ /** `startedAt - createdAt`; null until the session starts. */
27799
+ queuedMs: external_exports.number().int().nonnegative().nullable(),
27800
+ /** `(finishedAt ?? now) - startedAt`; null until the session starts. */
27801
+ activeMs: external_exports.number().int().nonnegative().nullable(),
27802
+ /** `(finishedAt ?? now) - createdAt`. */
27803
+ totalMs: external_exports.number().int().nonnegative()
27792
27804
  }),
27793
- SessionCommandRecordBaseSchema.extend({
27794
- kind: external_exports.literal("resume"),
27795
- payload: RunLifecycleCommandPayloadSchema
27805
+ conversation: external_exports.object({
27806
+ entryCount: external_exports.number().int().nonnegative(),
27807
+ firstEntryAt: external_exports.string().datetime().nullable(),
27808
+ lastEntryAt: external_exports.string().datetime().nullable(),
27809
+ countsByKind: external_exports.object({
27810
+ status: external_exports.number().int().nonnegative(),
27811
+ message: external_exports.number().int().nonnegative(),
27812
+ tool_call: external_exports.number().int().nonnegative(),
27813
+ tool_result: external_exports.number().int().nonnegative(),
27814
+ question: external_exports.number().int().nonnegative()
27815
+ }),
27816
+ failedEntryCount: external_exports.number().int().nonnegative(),
27817
+ lastSequence: external_exports.number().int().nonnegative()
27796
27818
  }),
27797
- SessionCommandRecordBaseSchema.extend({
27798
- kind: external_exports.literal("interrupt"),
27799
- payload: RunLifecycleCommandPayloadSchema
27819
+ tools: external_exports.array(SessionToolStatSchema),
27820
+ /**
27821
+ * True when the session has more conversation entries than the summary's
27822
+ * recent-entries window, meaning per-tool `errors`/`durationMs` (and
27823
+ * `turns`) describe only the most recent slice of the session.
27824
+ */
27825
+ toolStatsWindowed: external_exports.boolean(),
27826
+ trigger: external_exports.object({
27827
+ /** Spawning event key, or "manual" / "agent" for actor-started sessions. */
27828
+ spawn: external_exports.string(),
27829
+ signaledCount: external_exports.number().int().nonnegative(),
27830
+ droppedCount: external_exports.number().int().nonnegative()
27800
27831
  }),
27801
- SessionCommandRecordBaseSchema.extend({
27802
- kind: external_exports.literal("cancel"),
27803
- payload: RunLifecycleCommandPayloadSchema
27832
+ artifacts: external_exports.object({
27833
+ count: external_exports.number().int().nonnegative(),
27834
+ types: external_exports.array(external_exports.string())
27804
27835
  }),
27805
- SessionCommandRecordBaseSchema.extend({
27806
- kind: external_exports.literal("stop"),
27807
- payload: RunStopCommandPayloadSchema
27836
+ /** Active session bindings, counted with their distinct target types. */
27837
+ bindings: external_exports.object({
27838
+ count: external_exports.number().int().nonnegative(),
27839
+ targetTypes: external_exports.array(BindingTargetTypeSchema)
27808
27840
  }),
27809
- SessionCommandRecordBaseSchema.extend({
27810
- kind: external_exports.literal("start"),
27811
- payload: RunStartCommandPayloadSchema
27841
+ /** Derived per-user-message turns, capped to the most recent. */
27842
+ turns: external_exports.array(RunTurnSchema),
27843
+ commands: external_exports.object({
27844
+ total: external_exports.number().int().nonnegative(),
27845
+ byKind: external_exports.record(external_exports.string(), external_exports.number().int().nonnegative()),
27846
+ failed: external_exports.number().int().nonnegative()
27812
27847
  }),
27813
- SessionCommandRecordBaseSchema.extend({
27814
- kind: external_exports.literal("startWithMessage"),
27815
- payload: RunStartWithMessageCommandPayloadSchema
27816
- })
27817
- ]);
27818
- var SessionDispatchMessageCommandPayloadSchema = external_exports.object({
27819
- kind: external_exports.literal("message"),
27820
- message: external_exports.string().trim().min(1)
27821
- }).strict();
27822
- var SessionDispatchAnswerCommandPayloadSchema = external_exports.object({
27823
- kind: external_exports.literal("answer"),
27824
- toolCallId: external_exports.string().trim().min(1),
27825
- answers: external_exports.record(external_exports.string(), external_exports.string()),
27826
- response: external_exports.string().trim().min(1).optional()
27827
- }).strict();
27828
- var SessionDispatchStopCommandPayloadSchema = external_exports.object({
27829
- kind: external_exports.literal("stop"),
27830
- reason: external_exports.string().trim().min(1).optional()
27831
- }).strict();
27832
- var SessionDispatchCommandPayloadSchema = external_exports.discriminatedUnion(
27833
- "kind",
27834
- [
27835
- RunStartCommandPayloadSchema,
27836
- RunStartWithMessageCommandPayloadSchema,
27837
- SessionDispatchMessageCommandPayloadSchema,
27838
- SessionDispatchAnswerCommandPayloadSchema,
27839
- SessionDispatchStopCommandPayloadSchema
27840
- ]
27848
+ checks: external_exports.array(
27849
+ external_exports.object({
27850
+ name: external_exports.string(),
27851
+ displayName: external_exports.string(),
27852
+ status: SessionCheckStatusSchema,
27853
+ conclusion: SessionCheckConclusionSchema.nullable(),
27854
+ completedAt: external_exports.string().datetime().nullable()
27855
+ })
27856
+ )
27857
+ });
27858
+
27859
+ // ../../packages/schemas/src/session-turns.ts
27860
+ var SESSION_TURN_STATUSES = [
27861
+ "accepted",
27862
+ "in_progress",
27863
+ "waiting_for_input",
27864
+ "completed",
27865
+ "failed",
27866
+ "stale"
27867
+ ];
27868
+ var SESSION_TURN_FAILURE_SCOPES = ["turn", "session"];
27869
+ var SessionTurnStatusSchema = external_exports.enum(SESSION_TURN_STATUSES);
27870
+ var SessionTurnFailureScopeSchema = external_exports.enum(
27871
+ SESSION_TURN_FAILURE_SCOPES
27841
27872
  );
27842
- var SessionDispatchCommandRecordBaseSchema = external_exports.object({
27843
- id: SessionCommandIdSchema2,
27873
+ var SessionTurnRecordSchema = external_exports.object({
27874
+ id: external_exports.string().trim().min(1),
27844
27875
  sessionId: SessionIdSchema2,
27845
- sender: SessionCommandSenderSchema,
27846
- idempotencyKey: external_exports.string().min(1).nullable(),
27847
- status: SessionDispatchCommandStatusSchema,
27848
- attemptCount: external_exports.number().int().nonnegative(),
27849
- nextAttemptAt: external_exports.string().datetime().nullable(),
27850
- lastAttemptAt: external_exports.string().datetime().nullable(),
27876
+ commandId: SessionCommandIdSchema2,
27877
+ runtimeId: RuntimeIdSchema2.nullable(),
27878
+ bridgeLeaseId: RuntimeBridgeLeaseIdSchema2.nullable(),
27879
+ status: SessionTurnStatusSchema,
27880
+ failureScope: SessionTurnFailureScopeSchema.nullable(),
27881
+ lastOutputSeq: external_exports.number().int().positive().nullable(),
27851
27882
  acceptedAt: external_exports.string().datetime().nullable(),
27883
+ startedAt: external_exports.string().datetime().nullable(),
27884
+ lastProgressAt: external_exports.string().datetime().nullable(),
27885
+ completedAt: external_exports.string().datetime().nullable(),
27852
27886
  failedAt: external_exports.string().datetime().nullable(),
27887
+ staleAt: external_exports.string().datetime().nullable(),
27853
27888
  error: JsonValueSchema2.nullable(),
27854
27889
  createdAt: external_exports.string().datetime(),
27855
27890
  updatedAt: external_exports.string().datetime()
27856
27891
  });
27857
- var SessionDispatchCommandRecordSchema = external_exports.discriminatedUnion("kind", [
27858
- SessionDispatchCommandRecordBaseSchema.extend({
27859
- kind: external_exports.literal("start"),
27860
- payload: RunStartCommandPayloadSchema
27861
- }),
27862
- SessionDispatchCommandRecordBaseSchema.extend({
27863
- kind: external_exports.literal("startWithMessage"),
27864
- payload: RunStartWithMessageCommandPayloadSchema
27865
- }),
27866
- SessionDispatchCommandRecordBaseSchema.extend({
27867
- kind: external_exports.literal("message"),
27868
- payload: SessionDispatchMessageCommandPayloadSchema
27869
- }),
27870
- SessionDispatchCommandRecordBaseSchema.extend({
27871
- kind: external_exports.literal("answer"),
27872
- payload: SessionDispatchAnswerCommandPayloadSchema
27873
- }),
27874
- SessionDispatchCommandRecordBaseSchema.extend({
27875
- kind: external_exports.literal("stop"),
27876
- payload: SessionDispatchStopCommandPayloadSchema
27877
- })
27878
- ]);
27879
27892
 
27880
27893
  // ../../packages/schemas/src/setup.ts
27881
27894
  var SetupOnboardingPullRequestCreateRequestSchema = external_exports.object({