@autohq/cli 0.1.534 → 0.1.536

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.
@@ -30870,7 +30870,7 @@ Object.assign(lookup, {
30870
30870
  // package.json
30871
30871
  var package_default = {
30872
30872
  name: "@autohq/cli",
30873
- version: "0.1.534",
30873
+ version: "0.1.536",
30874
30874
  license: "SEE LICENSE IN README.md",
30875
30875
  publishConfig: {
30876
30876
  access: "public"
@@ -34767,6 +34767,7 @@ var SESSION_BINDING_CONTINUITIES = ["session", "agent"];
34767
34767
  var SESSION_BINDING_RELEASED_BY = [
34768
34768
  "agent_tool",
34769
34769
  "archive",
34770
+ "complete",
34770
34771
  "trigger_release",
34771
34772
  "operator",
34772
34773
  "takeover"
@@ -34783,6 +34784,7 @@ var BINDING_TRANSITION_CAUSES = [
34783
34784
  "chat_send",
34784
34785
  "trigger_release",
34785
34786
  "archive",
34787
+ "complete",
34786
34788
  "takeover",
34787
34789
  "rollover",
34788
34790
  "system"
@@ -35387,7 +35389,8 @@ var ObservedTargetActionSchema = external_exports.discriminatedUnion("action", [
35387
35389
  var CanonicalTriggerRoutingSchema = external_exports.discriminatedUnion("kind", [
35388
35390
  external_exports.object({
35389
35391
  kind: external_exports.literal("spawn"),
35390
- bind: SpawnBindSchema.optional()
35392
+ bind: SpawnBindSchema.optional(),
35393
+ complete: external_exports.boolean().optional()
35391
35394
  }),
35392
35395
  // Deliver route: `routeBy` names the resolution strategy. Omitting it is
35393
35396
  // valid only for a concurrency-capped agent (validated at the agent level):
@@ -35395,7 +35398,8 @@ var CanonicalTriggerRoutingSchema = external_exports.discriminatedUnion("kind",
35395
35398
  external_exports.object({
35396
35399
  kind: external_exports.literal("deliver"),
35397
35400
  routeBy: RouteBySchema.optional(),
35398
- onUnmatched: OnUnmatchedSchema
35401
+ onUnmatched: OnUnmatchedSchema,
35402
+ complete: external_exports.boolean().optional()
35399
35403
  }),
35400
35404
  // Bind route: resolve the event's routing target to the session bound to it
35401
35405
  // for this agent and deliver a message, else apply the onUnmatched policy.
@@ -35413,6 +35417,7 @@ var CanonicalTriggerRoutingSchema = external_exports.discriminatedUnion("kind",
35413
35417
  // is rejected at apply time (singleton slots are pool-membership state
35414
35418
  // owned by the reconciler).
35415
35419
  release: TriggerReleaseSchema.default(false),
35420
+ complete: external_exports.boolean().optional(),
35416
35421
  // Observed-target lifecycle action: after the router delivers a matching
35417
35422
  // binding-transition event to the observer session this trigger's
35418
35423
  // `auto.session` target resolved, the platform binds or unbinds that
@@ -36551,6 +36556,7 @@ var SESSION_COMMAND_KINDS = [
36551
36556
  "resume",
36552
36557
  "interrupt",
36553
36558
  "cancel",
36559
+ "complete",
36554
36560
  "stop"
36555
36561
  ];
36556
36562
  var SESSION_DISPATCH_COMMAND_KINDS = [
@@ -36567,6 +36573,7 @@ var SESSION_PERSISTED_COMMAND_KINDS = [
36567
36573
  "resume",
36568
36574
  "interrupt",
36569
36575
  "cancel",
36576
+ "complete",
36570
36577
  "stop",
36571
36578
  "start",
36572
36579
  "startWithMessage",
@@ -36577,6 +36584,7 @@ var SESSION_LIFECYCLE_COMMAND_KINDS = [
36577
36584
  "resume",
36578
36585
  "interrupt",
36579
36586
  "cancel",
36587
+ "complete",
36580
36588
  "stop"
36581
36589
  ];
36582
36590
  var SESSION_COMMAND_STATUSES = [
@@ -36644,6 +36652,7 @@ var TriggerDeliveryCommandMetadataSchema = external_exports.object({
36644
36652
  triggerId: external_exports.string().min(1),
36645
36653
  eventKey: external_exports.string().min(1),
36646
36654
  occurredAt: external_exports.string().datetime(),
36655
+ complete: external_exports.boolean().optional(),
36647
36656
  // The event's continuation target when it names one (`routing_target_*`
36648
36657
  // at ingest): deliveries for the same target coalesce into one entry in
36649
36658
  // the aggregated update.
@@ -36698,10 +36707,14 @@ var RunStopCommandPayloadSchema = external_exports.object({
36698
36707
  respawn: SessionRespawnSchema.optional(),
36699
36708
  handoff: SessionArchiveHandoffSchema.optional()
36700
36709
  }).strict();
36710
+ var RunCompleteCommandPayloadSchema = external_exports.object({
36711
+ handoff: SessionArchiveHandoffSchema.optional()
36712
+ }).strict();
36701
36713
  var SessionCommandPayloadSchema = external_exports.union([
36702
36714
  RunMessageCommandPayloadSchema,
36703
36715
  RunAnswerCommandPayloadSchema,
36704
36716
  RunLifecycleCommandPayloadSchema,
36717
+ RunCompleteCommandPayloadSchema,
36705
36718
  RunStopCommandPayloadSchema
36706
36719
  ]);
36707
36720
  var CreateRunMessageCommandRequestSchema = external_exports.object({
@@ -36719,6 +36732,7 @@ var CreateRunStopCommandRequestSchema = external_exports.object({
36719
36732
  reason: external_exports.string().trim().min(1).optional(),
36720
36733
  respawn: SessionRespawnSchema.optional()
36721
36734
  });
36735
+ var CreateRunCompleteCommandRequestSchema = RunCompleteCommandPayloadSchema;
36722
36736
  var CreateSessionCommandRequestSchema = external_exports.discriminatedUnion("kind", [
36723
36737
  external_exports.object({
36724
36738
  kind: external_exports.literal("message"),
@@ -36744,6 +36758,10 @@ var CreateSessionCommandRequestSchema = external_exports.discriminatedUnion("kin
36744
36758
  kind: external_exports.literal("cancel"),
36745
36759
  payload: CreateRunLifecycleCommandRequestSchema
36746
36760
  }).strict(),
36761
+ external_exports.object({
36762
+ kind: external_exports.literal("complete"),
36763
+ payload: CreateRunCompleteCommandRequestSchema
36764
+ }).strict(),
36747
36765
  external_exports.object({
36748
36766
  kind: external_exports.literal("stop"),
36749
36767
  payload: CreateRunStopCommandRequestSchema
@@ -36789,12 +36807,16 @@ var RunStartWithMessageCommandPayloadSchema = external_exports.object({
36789
36807
  // scoped key and passes the claimed refs here so the start command's
36790
36808
  // delivery appends attachment download lines — the same path as a normal
36791
36809
  // message command. Optional so existing callers stay valid.
36792
- attachments: external_exports.array(SessionUploadAttachmentRefSchema).optional()
36810
+ attachments: external_exports.array(SessionUploadAttachmentRefSchema).optional(),
36811
+ // Trigger routing stamps internal delivery metadata here so spawn and
36812
+ // delivery paths arm the same completion intent at persistence time.
36813
+ metadata: JsonValueSchema2.optional()
36793
36814
  }).strict();
36794
36815
  var SessionPersistedCommandPayloadSchema = external_exports.union([
36795
36816
  RunMessageCommandPayloadSchema,
36796
36817
  RunAnswerCommandPayloadSchema,
36797
36818
  RunLifecycleCommandPayloadSchema,
36819
+ RunCompleteCommandPayloadSchema,
36798
36820
  RunStopCommandPayloadSchema,
36799
36821
  RunStartCommandPayloadSchema,
36800
36822
  RunStartWithMessageCommandPayloadSchema
@@ -36824,6 +36846,10 @@ var SessionCommandRecordSchema = external_exports.discriminatedUnion("kind", [
36824
36846
  kind: external_exports.literal("cancel"),
36825
36847
  payload: RunLifecycleCommandPayloadSchema
36826
36848
  }),
36849
+ SessionCommandRecordBaseSchema.extend({
36850
+ kind: external_exports.literal("complete"),
36851
+ payload: RunCompleteCommandPayloadSchema
36852
+ }),
36827
36853
  SessionCommandRecordBaseSchema.extend({
36828
36854
  kind: external_exports.literal("stop"),
36829
36855
  payload: RunStopCommandPayloadSchema
@@ -36910,11 +36936,63 @@ var SessionDispatchCommandRecordSchema = external_exports.discriminatedUnion("ki
36910
36936
  })
36911
36937
  ]);
36912
36938
 
36939
+ // ../../packages/schemas/src/session-parks.ts
36940
+ var BILLING_SESSION_PARK_TTL_MS = 7 * 24 * 60 * 60 * 1e3;
36941
+ var PROVIDER_OUTAGE_SESSION_PARK_TTL_MS = 6 * 60 * 60 * 1e3;
36942
+ var PROVIDER_OUTAGE_SESSION_PARK_REPROBE_MS = 5 * 6e4;
36943
+ var SESSION_PARK_REASON_KINDS = [
36944
+ "billing_insufficient_credits",
36945
+ "billing_spending_limit_exceeded",
36946
+ "billing_spend_cap_exceeded",
36947
+ "provider_outage"
36948
+ ];
36949
+ var SESSION_PARK_RESUME_CONDITIONS = [
36950
+ "organization_credits_added",
36951
+ "spend_cap_cleared",
36952
+ "resume_after"
36953
+ ];
36954
+ var SESSION_PARK_RESOLUTIONS = [
36955
+ "resumed_credit_event",
36956
+ "resumed_spend_cap_cleared",
36957
+ "resumed_resume_after",
36958
+ "expired"
36959
+ ];
36960
+ var SessionParkReasonKindSchema = external_exports.enum(SESSION_PARK_REASON_KINDS);
36961
+ var SessionParkResumeConditionSchema = external_exports.enum(
36962
+ SESSION_PARK_RESUME_CONDITIONS
36963
+ );
36964
+ var SessionParkResolutionSchema = external_exports.enum(SESSION_PARK_RESOLUTIONS);
36965
+ var SessionParkRecordSchema = external_exports.object({
36966
+ id: SessionParkIdSchema,
36967
+ sessionId: SessionIdSchema2,
36968
+ organizationId: OrganizationIdSchema,
36969
+ reasonKind: SessionParkReasonKindSchema,
36970
+ parkCommandId: SessionCommandIdSchema2,
36971
+ turnCompleted: external_exports.boolean(),
36972
+ resumeAfter: external_exports.string().datetime().nullable(),
36973
+ expiresAt: external_exports.string().datetime().nullable(),
36974
+ resolvedAt: external_exports.string().datetime().nullable(),
36975
+ resolution: SessionParkResolutionSchema.nullable(),
36976
+ sandboxPausedAt: external_exports.string().datetime().nullable(),
36977
+ sandboxPauseSkippedAt: external_exports.string().datetime().nullable(),
36978
+ createdAt: external_exports.string().datetime(),
36979
+ updatedAt: external_exports.string().datetime()
36980
+ });
36981
+ var ActiveSessionParkSummarySchema = SessionParkRecordSchema.pick({
36982
+ id: true,
36983
+ sessionId: true,
36984
+ reasonKind: true,
36985
+ turnCompleted: true,
36986
+ resumeAfter: true,
36987
+ createdAt: true
36988
+ });
36989
+
36913
36990
  // ../../packages/schemas/src/sessions.ts
36914
36991
  var SESSION_STATUSES = [
36915
36992
  "queued",
36916
36993
  "running",
36917
36994
  "awaiting",
36995
+ "completed",
36918
36996
  "failed",
36919
36997
  "stopped"
36920
36998
  ];
@@ -37049,6 +37127,10 @@ var SessionRecordSchema = external_exports.object({
37049
37127
  lastActivityAt: external_exports.string().datetime(),
37050
37128
  startedAt: external_exports.string().datetime().nullable(),
37051
37129
  finishedAt: external_exports.string().datetime().nullable(),
37130
+ completionIntentAt: external_exports.string().datetime().nullable().optional(),
37131
+ completionIntentSource: external_exports.enum(["tool", "trigger", "reopen"]).nullable().optional(),
37132
+ completionIntentHandoff: external_exports.string().nullable().optional(),
37133
+ reopenedFromCompleted: external_exports.boolean().optional(),
37052
37134
  archivedAt: external_exports.string().datetime().nullable(),
37053
37135
  archiveHandoff: external_exports.string().nullable().default(null),
37054
37136
  archiveHandoffWrittenAt: external_exports.string().datetime().nullable().default(null),
@@ -37133,6 +37215,10 @@ var SessionListItemSchema = external_exports.object({
37133
37215
  // truth the requester chip and identity service read.
37134
37216
  requester: RequesterSchema.nullable().optional(),
37135
37217
  workProvenance: WorkProvenanceSchema.nullable().optional(),
37218
+ // Active parks are a compact, generic list read model rather than a
37219
+ // spend-cap-specific batch evaluation. Optional keeps pre-deploy live frames
37220
+ // compatible; canonical list responses always include the array.
37221
+ activeParks: external_exports.array(ActiveSessionParkSummarySchema).optional(),
37136
37222
  createdAt: external_exports.string().datetime(),
37137
37223
  updatedAt: external_exports.string().datetime(),
37138
37224
  archivedAt: external_exports.string().datetime().nullable(),
@@ -38276,7 +38362,8 @@ var RunBindingRecordSchema = external_exports.object({
38276
38362
  revision: external_exports.number().int().nonnegative(),
38277
38363
  observeAfterBindingRevision: external_exports.number().int().nonnegative().nullable(),
38278
38364
  createdAt: external_exports.string().datetime(),
38279
- updatedAt: external_exports.string().datetime()
38365
+ updatedAt: external_exports.string().datetime(),
38366
+ releasedAt: external_exports.string().datetime().nullable().optional()
38280
38367
  });
38281
38368
  var RunBindingsResponseSchema = external_exports.object({
38282
38369
  bindings: external_exports.array(RunBindingRecordSchema)
@@ -38333,6 +38420,31 @@ var RunSummarySchema = external_exports.object({
38333
38420
  createdAt: external_exports.string().datetime(),
38334
38421
  startedAt: external_exports.string().datetime().nullable(),
38335
38422
  finishedAt: external_exports.string().datetime().nullable(),
38423
+ completion: external_exports.object({
38424
+ intentAt: external_exports.string().datetime().nullable(),
38425
+ intentSource: external_exports.enum(["tool", "trigger", "reopen"]).nullable(),
38426
+ handoff: external_exports.string().nullable(),
38427
+ completedAt: external_exports.string().datetime().nullable(),
38428
+ reopenedFromCompleted: external_exports.boolean(),
38429
+ completedWithActiveHeldBindings: external_exports.boolean()
38430
+ }).optional(),
38431
+ sandboxLifecycle: external_exports.object({
38432
+ sandboxId: external_exports.string().nullable(),
38433
+ closedAt: external_exports.string().datetime().nullable(),
38434
+ pauseReason: external_exports.literal("session_closed").nullable(),
38435
+ pauseOutcome: external_exports.enum(["paused", "missing", "unsupported"]).nullable(),
38436
+ pauseAttemptedAt: external_exports.string().datetime().nullable(),
38437
+ pausedAt: external_exports.string().datetime().nullable(),
38438
+ retentionEligibleAt: external_exports.string().datetime().nullable(),
38439
+ retentionEligible: external_exports.boolean(),
38440
+ deletedAt: external_exports.string().datetime().nullable(),
38441
+ deleteRequestedAt: external_exports.string().datetime().nullable(),
38442
+ deleteReason: external_exports.enum(["closed_retention_expired", "provider_missing"]).nullable(),
38443
+ deletedSandboxId: external_exports.string().nullable(),
38444
+ recoveredAt: external_exports.string().datetime().nullable(),
38445
+ recoveryKind: external_exports.enum(["resumed", "fresh_after_cleanup"]).nullable(),
38446
+ recoveryNotifiedAt: external_exports.string().datetime().nullable()
38447
+ }).optional(),
38336
38448
  archivedAt: external_exports.string().datetime().nullable(),
38337
38449
  archiveHandoff: JsonValueSchema2.nullable(),
38338
38450
  archiveHandoffWrittenAt: external_exports.string().datetime().nullable(),
@@ -38382,7 +38494,8 @@ var RunSummarySchema = external_exports.object({
38382
38494
  /** Active session bindings, counted with their distinct target types. */
38383
38495
  bindings: external_exports.object({
38384
38496
  count: external_exports.number().int().nonnegative(),
38385
- targetTypes: external_exports.array(BindingTargetTypeSchema)
38497
+ targetTypes: external_exports.array(BindingTargetTypeSchema),
38498
+ completedWithActiveHeldBindings: external_exports.boolean().optional()
38386
38499
  }),
38387
38500
  /** Derived per-user-message turns, capped to the most recent. */
38388
38501
  turns: external_exports.array(RunTurnSchema),
@@ -38409,49 +38522,6 @@ var RunSummarySchema = external_exports.object({
38409
38522
  modelFallback: RunModelFallbackSchema
38410
38523
  });
38411
38524
 
38412
- // ../../packages/schemas/src/session-parks.ts
38413
- var BILLING_SESSION_PARK_TTL_MS = 7 * 24 * 60 * 60 * 1e3;
38414
- var PROVIDER_OUTAGE_SESSION_PARK_TTL_MS = 6 * 60 * 60 * 1e3;
38415
- var PROVIDER_OUTAGE_SESSION_PARK_REPROBE_MS = 5 * 6e4;
38416
- var SESSION_PARK_REASON_KINDS = [
38417
- "billing_insufficient_credits",
38418
- "billing_spending_limit_exceeded",
38419
- "billing_spend_cap_exceeded",
38420
- "provider_outage"
38421
- ];
38422
- var SESSION_PARK_RESUME_CONDITIONS = [
38423
- "organization_credits_added",
38424
- "spend_cap_cleared",
38425
- "resume_after"
38426
- ];
38427
- var SESSION_PARK_RESOLUTIONS = [
38428
- "resumed_credit_event",
38429
- "resumed_spend_cap_cleared",
38430
- "resumed_resume_after",
38431
- "expired"
38432
- ];
38433
- var SessionParkReasonKindSchema = external_exports.enum(SESSION_PARK_REASON_KINDS);
38434
- var SessionParkResumeConditionSchema = external_exports.enum(
38435
- SESSION_PARK_RESUME_CONDITIONS
38436
- );
38437
- var SessionParkResolutionSchema = external_exports.enum(SESSION_PARK_RESOLUTIONS);
38438
- var SessionParkRecordSchema = external_exports.object({
38439
- id: SessionParkIdSchema,
38440
- sessionId: SessionIdSchema2,
38441
- organizationId: OrganizationIdSchema,
38442
- reasonKind: SessionParkReasonKindSchema,
38443
- parkCommandId: SessionCommandIdSchema2,
38444
- turnCompleted: external_exports.boolean(),
38445
- resumeAfter: external_exports.string().datetime().nullable(),
38446
- expiresAt: external_exports.string().datetime().nullable(),
38447
- resolvedAt: external_exports.string().datetime().nullable(),
38448
- resolution: SessionParkResolutionSchema.nullable(),
38449
- sandboxPausedAt: external_exports.string().datetime().nullable(),
38450
- sandboxPauseSkippedAt: external_exports.string().datetime().nullable(),
38451
- createdAt: external_exports.string().datetime(),
38452
- updatedAt: external_exports.string().datetime()
38453
- });
38454
-
38455
38525
  // ../../packages/schemas/src/session-turns.ts
38456
38526
  var SESSION_TURN_STATUSES = [
38457
38527
  "accepted",
@@ -38685,6 +38755,18 @@ var RuntimeRecordSchema = external_exports.object({
38685
38755
  sandboxId: external_exports.string().trim().min(1).nullable(),
38686
38756
  logTailOffset: external_exports.number().int().nonnegative(),
38687
38757
  sandboxTimeoutRefreshedAt: external_exports.string().datetime().nullable(),
38758
+ sandboxClosedAt: external_exports.string().datetime().nullable(),
38759
+ sandboxPauseReason: external_exports.literal("session_closed").nullable(),
38760
+ sandboxPauseOutcome: external_exports.enum(["paused", "missing", "unsupported"]).nullable(),
38761
+ sandboxPauseAttemptedAt: external_exports.string().datetime().nullable(),
38762
+ sandboxPausedAt: external_exports.string().datetime().nullable(),
38763
+ sandboxDeletedAt: external_exports.string().datetime().nullable(),
38764
+ sandboxDeleteRequestedAt: external_exports.string().datetime().nullable(),
38765
+ sandboxDeleteReason: external_exports.enum(["closed_retention_expired", "provider_missing"]).nullable(),
38766
+ sandboxDeletedId: external_exports.string().nullable(),
38767
+ sandboxRecoveredAt: external_exports.string().datetime().nullable(),
38768
+ sandboxRecoveryKind: external_exports.enum(["resumed", "fresh_after_cleanup"]).nullable(),
38769
+ sandboxRecoveryNotifiedAt: external_exports.string().datetime().nullable(),
38688
38770
  createdAt: external_exports.string().datetime(),
38689
38771
  updatedAt: external_exports.string().datetime()
38690
38772
  });
@@ -38785,18 +38867,6 @@ var SessionSpendCapRuntimeStatusSchema = external_exports.object({
38785
38867
  park: SessionParkRecordSchema.nullable(),
38786
38868
  organizationCreditsExhausted: external_exports.boolean()
38787
38869
  });
38788
- var SESSION_SPEND_CAP_BATCH_MAX_SESSION_IDS = 50;
38789
- var SessionSpendCapBatchRequestSchema = external_exports.object({
38790
- sessionIds: external_exports.array(SessionIdSchema2).max(SESSION_SPEND_CAP_BATCH_MAX_SESSION_IDS)
38791
- });
38792
- var SessionSpendCapBatchResponseSchema = external_exports.object({
38793
- statuses: external_exports.array(
38794
- external_exports.object({
38795
- sessionId: SessionIdSchema2,
38796
- status: SessionSpendCapRuntimeStatusSchema
38797
- })
38798
- )
38799
- });
38800
38870
  var AgentSpendCapRuntimeStatusSchema = external_exports.object({
38801
38871
  status: AgentSpendCapStatusSchema,
38802
38872
  override: SpendCapOverrideStateSchema,