@autohq/cli 0.1.501 → 0.1.503

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.
@@ -30866,7 +30866,7 @@ Object.assign(lookup, {
30866
30866
  // package.json
30867
30867
  var package_default = {
30868
30868
  name: "@autohq/cli",
30869
- version: "0.1.501",
30869
+ version: "0.1.503",
30870
30870
  license: "SEE LICENSE IN README.md",
30871
30871
  publishConfig: {
30872
30872
  access: "public"
@@ -31557,6 +31557,7 @@ var ServiceAccountIdSchema = OpaqueIdSchema2.brand();
31557
31557
  var AgentIdSchema = OpaqueIdSchema2.brand();
31558
31558
  var SessionIdSchema2 = OpaqueIdSchema2.brand();
31559
31559
  var SessionCommandIdSchema2 = OpaqueIdSchema2.brand();
31560
+ var SessionAttributionEpochIdSchema = OpaqueIdSchema2.brand();
31560
31561
  var SessionParkIdSchema = OpaqueIdSchema2.brand();
31561
31562
  var RuntimeIdSchema2 = OpaqueIdSchema2.brand();
31562
31563
  var RuntimeBridgeLeaseIdSchema2 = OpaqueIdSchema2.brand();
@@ -32504,6 +32505,41 @@ var ChatGptCodexQuotaMetadataSchema = external_exports.object({
32504
32505
  secondary: ChatGptCodexQuotaWindowSchema.nullable(),
32505
32506
  credits: external_exports.record(external_exports.string().startsWith("x-codex-credits-"), external_exports.string()).default({})
32506
32507
  }).strict();
32508
+ var ChatGptCodexQuotaMeasurementWindowSchema = external_exports.object({
32509
+ name: external_exports.enum(["primary", "secondary"]),
32510
+ capacity: external_exports.object({
32511
+ unit: external_exports.literal("percent"),
32512
+ used: external_exports.number().min(0).max(100),
32513
+ available: external_exports.number().min(0).max(100)
32514
+ }).strict(),
32515
+ windowSeconds: external_exports.number().int().positive(),
32516
+ resetsAt: external_exports.string().datetime()
32517
+ }).strict();
32518
+ var ChatGptCodexQuotaMeasurementUnavailableReasonSchema = external_exports.enum([
32519
+ "unusable_credential",
32520
+ "authentication_failed",
32521
+ "rate_limited",
32522
+ "timeout",
32523
+ "network_error",
32524
+ "upstream_error",
32525
+ "unknown_payload"
32526
+ ]);
32527
+ var ChatGptCodexQuotaMeasurementResultSchema = external_exports.discriminatedUnion(
32528
+ "kind",
32529
+ [
32530
+ external_exports.object({
32531
+ kind: external_exports.literal("available"),
32532
+ observedAt: external_exports.string().datetime(),
32533
+ planType: external_exports.string().trim().min(1).nullable(),
32534
+ windows: external_exports.array(ChatGptCodexQuotaMeasurementWindowSchema).min(1)
32535
+ }).strict(),
32536
+ external_exports.object({
32537
+ kind: external_exports.literal("unavailable"),
32538
+ observedAt: external_exports.string().datetime(),
32539
+ reason: ChatGptCodexQuotaMeasurementUnavailableReasonSchema
32540
+ }).strict()
32541
+ ]
32542
+ );
32507
32543
  var UserSubscriptionOperationalStateSchema = external_exports.object({
32508
32544
  version: external_exports.literal(1),
32509
32545
  earliestRefreshAt: external_exports.string().nullable().catch(null),
@@ -36177,6 +36213,7 @@ var RequesterRootOriginSchema = external_exports.discriminatedUnion("kind", [
36177
36213
  ]);
36178
36214
  var RequesterRootSchema = external_exports.object({
36179
36215
  sourceSessionId: SessionIdSchema2,
36216
+ sourceCommandId: SessionCommandIdSchema2.optional(),
36180
36217
  provenance: external_exports.enum(["explicit", "asserted"]),
36181
36218
  origin: RequesterRootOriginSchema
36182
36219
  });
@@ -36395,7 +36432,9 @@ var TriggerDeliveryCommandMetadataSchema = external_exports.object({
36395
36432
  var SessionCommandDebounceMetadataSchema = external_exports.object({
36396
36433
  aggregatedCommandIds: external_exports.array(SessionCommandIdSchema2).optional(),
36397
36434
  aggregatedIntoCommandId: SessionCommandIdSchema2.optional(),
36398
- originalMessage: external_exports.string().optional()
36435
+ originalMessage: external_exports.string().optional(),
36436
+ // Stable requester filter keys only; no mutable display identity.
36437
+ mixedRequesterKeys: external_exports.array(external_exports.string().min(1)).optional()
36399
36438
  }).strip();
36400
36439
  var RunMessageCommandPayloadSchema = external_exports.object({
36401
36440
  message: external_exports.string().trim().min(1),
@@ -36409,10 +36448,10 @@ var RunMessageCommandPayloadSchema = external_exports.object({
36409
36448
  model: AgentModelSelectionSchema.optional(),
36410
36449
  reasoningEffort: AgentReasoningEffortSchema.optional(),
36411
36450
  metadata: JsonValueSchema2.optional(),
36412
- // The human on whose behalf a relayed steering message is sent, recorded on
36413
- // the command for provenance. In v1 it rides on the command row only — it
36414
- // is not folded into the session's attribution or the dispatch payload the
36415
- // runtime receives — so the wire shape is in place for later consumers.
36451
+ // The human on whose behalf a relayed steering message is sent. It remains
36452
+ // command-scoped rather than mutating the receiving session: descendants
36453
+ // created during the active turn may inherit it, while the runtime delivery
36454
+ // payload and the session's static attribution stay unchanged.
36416
36455
  requester: RequesterSchema.optional(),
36417
36456
  // File uploads presigned through the session-uploads store. Optional so
36418
36457
  // older payloads and operator messages stay valid; the /chat route
@@ -36916,6 +36955,13 @@ var McpJsonRpcMessageSchema = external_exports.object({
36916
36955
  }).passthrough();
36917
36956
  var McpPostBodySchema = external_exports.union([McpJsonRpcMessageSchema, external_exports.array(McpJsonRpcMessageSchema)]).transform((body) => Array.isArray(body) ? body : [body]);
36918
36957
 
36958
+ // ../../packages/schemas/src/model-credential-funding.ts
36959
+ var ModelCredentialFundingSourceSchema = external_exports.enum([
36960
+ "platform",
36961
+ "tenant_provider_grant",
36962
+ "user_subscription"
36963
+ ]);
36964
+
36919
36965
  // ../../packages/schemas/src/onboarding-runs.ts
36920
36966
  var ONBOARDING_RUN_SLUG_PATTERN = /^[a-z][a-z0-9_-]*$/;
36921
36967
  var OnboardingRunTeamIdSchema = external_exports.string().trim().min(1).max(64).regex(
@@ -38368,6 +38414,33 @@ var SessionCommandDebounceRevertInputSchema = external_exports.object({
38368
38414
  }).strip();
38369
38415
  var RealtimeRunCursorSchema = external_exports.string().regex(/^rt:(0|[1-9]\d*)$/);
38370
38416
 
38417
+ // ../../packages/schemas/src/session-attribution-epochs.ts
38418
+ var ATTRIBUTION_GRADES = ["derived", "asserted"];
38419
+ var AttributionGradeSchema = external_exports.enum(ATTRIBUTION_GRADES);
38420
+ var AttributionRequesterSnapshotSchema = external_exports.object({
38421
+ origin: RequesterRootOriginSchema,
38422
+ userId: UserIdSchema.nullable()
38423
+ }).strict();
38424
+ var SessionAttributionEpochCreateSchema = external_exports.object({
38425
+ organizationId: OrganizationIdSchema,
38426
+ projectId: ProjectIdSchema.nullable(),
38427
+ sessionId: SessionIdSchema2,
38428
+ sourceCommandId: SessionCommandIdSchema2,
38429
+ requesterKey: external_exports.string().trim().min(1),
38430
+ requesterSnapshot: AttributionRequesterSnapshotSchema.nullable(),
38431
+ attributionGrade: AttributionGradeSchema,
38432
+ assertedByCommandId: SessionCommandIdSchema2.nullable(),
38433
+ assertedBySessionId: SessionIdSchema2.nullable(),
38434
+ assertedByAgentResourceId: external_exports.string().trim().min(1).nullable(),
38435
+ fundingSource: ModelCredentialFundingSourceSchema.nullable(),
38436
+ providerGrantId: ProviderGrantIdSchema.nullable(),
38437
+ userModelSubscriptionId: UserSubscriptionCredentialIdSchema.nullable()
38438
+ }).strict();
38439
+ var SessionAttributionEpochRecordSchema = SessionAttributionEpochCreateSchema.extend({
38440
+ id: SessionAttributionEpochIdSchema,
38441
+ createdAt: external_exports.string().datetime()
38442
+ }).strict();
38443
+
38371
38444
  // ../../packages/schemas/src/spend-cap-runtime.ts
38372
38445
  var SpendCapOverrideStateSchema = external_exports.object({
38373
38446
  active: external_exports.boolean(),
@@ -38533,11 +38606,6 @@ var ResourceReconciliationScopeSchema = external_exports.object({
38533
38606
 
38534
38607
  // ../../packages/schemas/src/usage.ts
38535
38608
  var UsageHarnessSchema = external_exports.enum(AGENT_HARNESSES);
38536
- var ModelCredentialFundingSourceSchema = external_exports.enum([
38537
- "platform",
38538
- "tenant_provider_grant",
38539
- "user_subscription"
38540
- ]);
38541
38609
  var NonNegativeTokenCountSchema = external_exports.number().int().nonnegative();
38542
38610
  var NonNegativeUsdSchema2 = external_exports.number().nonnegative();
38543
38611
  var UsageEventSchema = external_exports.object({
@@ -38576,10 +38644,16 @@ var UsageEventSchema = external_exports.object({
38576
38644
  // Optional during the cross-chunk rollout: B1 defines the attribution field
38577
38645
  // before B3 deploys its persistence column and D3 begins populating it.
38578
38646
  modelCredentialUserSubscriptionId: UserSubscriptionCredentialIdSchema.nullable().optional(),
38647
+ attributionEpochId: SessionAttributionEpochIdSchema.nullable().optional(),
38648
+ requesterKey: external_exports.string().trim().min(1).nullable().optional(),
38649
+ attributionGrade: AttributionGradeSchema.nullable().optional(),
38579
38650
  occurredAt: external_exports.string().datetime()
38580
38651
  });
38581
38652
  var UsageEventRecordSchema = UsageEventSchema.extend({
38582
38653
  id: external_exports.string().trim().min(1),
38654
+ attributionEpochId: SessionAttributionEpochIdSchema.nullable().default(null),
38655
+ requesterKey: external_exports.string().trim().min(1).nullable().default(null),
38656
+ attributionGrade: AttributionGradeSchema.nullable().default(null),
38583
38657
  // Set on append-only correction rows: this row replaces the pointed-at row's
38584
38658
  // amounts, and ledger readers exclude any row another row supersedes.
38585
38659
  supersedesUsageEventId: external_exports.string().trim().min(1).nullable().default(null),
@@ -38713,7 +38787,8 @@ var UserSubscriptionPolicySchema = external_exports.object({
38713
38787
  credentialId: UserSubscriptionCredentialIdSchema,
38714
38788
  organizationId: OrganizationIdSchema,
38715
38789
  projectId: ProjectIdSchema.nullable(),
38716
- mode: UserSubscriptionPolicyModeSchema
38790
+ mode: UserSubscriptionPolicyModeSchema,
38791
+ allowAgentAttribution: external_exports.boolean().default(false)
38717
38792
  }).strict();
38718
38793
  var UserSubscriptionFundingCandidateSchema = external_exports.object({
38719
38794
  credentialId: UserSubscriptionCredentialIdSchema,
package/dist/index.js CHANGED
@@ -15170,7 +15170,7 @@ var init_zod = __esm({
15170
15170
  });
15171
15171
 
15172
15172
  // ../../packages/schemas/src/ids.ts
15173
- var OpaqueIdSchema, ProfileIdSchema, EnvironmentIdSchema, IdentityIdSchema, ConnectionIdSchema, ExternalAccountIdSchema, OrganizationIdSchema, ProjectIdSchema, ProviderGrantIdSchema, UserSubscriptionCredentialIdSchema, ServiceAccountIdSchema, AgentIdSchema, SessionIdSchema, SessionCommandIdSchema, SessionParkIdSchema, RuntimeIdSchema, RuntimeBridgeLeaseIdSchema, EnvironmentSetupTemplateIdSchema, UserIdSchema;
15173
+ var OpaqueIdSchema, ProfileIdSchema, EnvironmentIdSchema, IdentityIdSchema, ConnectionIdSchema, ExternalAccountIdSchema, OrganizationIdSchema, ProjectIdSchema, ProviderGrantIdSchema, UserSubscriptionCredentialIdSchema, ServiceAccountIdSchema, AgentIdSchema, SessionIdSchema, SessionCommandIdSchema, SessionAttributionEpochIdSchema, SessionParkIdSchema, RuntimeIdSchema, RuntimeBridgeLeaseIdSchema, EnvironmentSetupTemplateIdSchema, UserIdSchema;
15174
15174
  var init_ids = __esm({
15175
15175
  "../../packages/schemas/src/ids.ts"() {
15176
15176
  "use strict";
@@ -15189,6 +15189,7 @@ var init_ids = __esm({
15189
15189
  AgentIdSchema = OpaqueIdSchema.brand();
15190
15190
  SessionIdSchema = OpaqueIdSchema.brand();
15191
15191
  SessionCommandIdSchema = OpaqueIdSchema.brand();
15192
+ SessionAttributionEpochIdSchema = OpaqueIdSchema.brand();
15192
15193
  SessionParkIdSchema = OpaqueIdSchema.brand();
15193
15194
  RuntimeIdSchema = OpaqueIdSchema.brand();
15194
15195
  RuntimeBridgeLeaseIdSchema = OpaqueIdSchema.brand();
@@ -16127,7 +16128,7 @@ var init_chat = __esm({
16127
16128
  });
16128
16129
 
16129
16130
  // ../../packages/schemas/src/chatgpt-codex.ts
16130
- var CHATGPT_CODEX_BACKEND_BASE_URL, CHATGPT_CODEX_RESPONSES_ENDPOINT, CHATGPT_CODEX_SSE_EVENT_SEQUENCE, ChatGptCodexSseEventSchema, ChatGptCodexStreamingRequestSchema, CHATGPT_CODEX_ELIGIBLE_MODELS, ChatGptCodexEligibleModelSchema, ChatGptCodexCompletionUsageSchema, ChatGptCodexErrorResponseSchema, CHATGPT_CODEX_ERROR_KINDS, ChatGptCodexErrorKindSchema, ChatGptCodexQuotaWindowSchema, ChatGptCodexQuotaMetadataSchema, UserSubscriptionOperationalStateSchema, CHATGPT_CODEX_OAUTH_CLIENT_ID, CHATGPT_CODEX_OAUTH_SCOPE, ChatGptCodexRefreshRequestSchema, ChatGptCodexRefreshResponseSchema, ChatGptCodexAccessTokenAuthClaimSchema;
16131
+ var CHATGPT_CODEX_BACKEND_BASE_URL, CHATGPT_CODEX_RESPONSES_ENDPOINT, CHATGPT_CODEX_SSE_EVENT_SEQUENCE, ChatGptCodexSseEventSchema, ChatGptCodexStreamingRequestSchema, CHATGPT_CODEX_ELIGIBLE_MODELS, ChatGptCodexEligibleModelSchema, ChatGptCodexCompletionUsageSchema, ChatGptCodexErrorResponseSchema, CHATGPT_CODEX_ERROR_KINDS, ChatGptCodexErrorKindSchema, ChatGptCodexQuotaWindowSchema, ChatGptCodexQuotaMetadataSchema, ChatGptCodexQuotaMeasurementWindowSchema, ChatGptCodexQuotaMeasurementUnavailableReasonSchema, ChatGptCodexQuotaMeasurementResultSchema, UserSubscriptionOperationalStateSchema, CHATGPT_CODEX_OAUTH_CLIENT_ID, CHATGPT_CODEX_OAUTH_SCOPE, ChatGptCodexRefreshRequestSchema, ChatGptCodexRefreshResponseSchema, ChatGptCodexAccessTokenAuthClaimSchema;
16131
16132
  var init_chatgpt_codex = __esm({
16132
16133
  "../../packages/schemas/src/chatgpt-codex.ts"() {
16133
16134
  "use strict";
@@ -16184,6 +16185,41 @@ var init_chatgpt_codex = __esm({
16184
16185
  secondary: ChatGptCodexQuotaWindowSchema.nullable(),
16185
16186
  credits: external_exports.record(external_exports.string().startsWith("x-codex-credits-"), external_exports.string()).default({})
16186
16187
  }).strict();
16188
+ ChatGptCodexQuotaMeasurementWindowSchema = external_exports.object({
16189
+ name: external_exports.enum(["primary", "secondary"]),
16190
+ capacity: external_exports.object({
16191
+ unit: external_exports.literal("percent"),
16192
+ used: external_exports.number().min(0).max(100),
16193
+ available: external_exports.number().min(0).max(100)
16194
+ }).strict(),
16195
+ windowSeconds: external_exports.number().int().positive(),
16196
+ resetsAt: external_exports.string().datetime()
16197
+ }).strict();
16198
+ ChatGptCodexQuotaMeasurementUnavailableReasonSchema = external_exports.enum([
16199
+ "unusable_credential",
16200
+ "authentication_failed",
16201
+ "rate_limited",
16202
+ "timeout",
16203
+ "network_error",
16204
+ "upstream_error",
16205
+ "unknown_payload"
16206
+ ]);
16207
+ ChatGptCodexQuotaMeasurementResultSchema = external_exports.discriminatedUnion(
16208
+ "kind",
16209
+ [
16210
+ external_exports.object({
16211
+ kind: external_exports.literal("available"),
16212
+ observedAt: external_exports.string().datetime(),
16213
+ planType: external_exports.string().trim().min(1).nullable(),
16214
+ windows: external_exports.array(ChatGptCodexQuotaMeasurementWindowSchema).min(1)
16215
+ }).strict(),
16216
+ external_exports.object({
16217
+ kind: external_exports.literal("unavailable"),
16218
+ observedAt: external_exports.string().datetime(),
16219
+ reason: ChatGptCodexQuotaMeasurementUnavailableReasonSchema
16220
+ }).strict()
16221
+ ]
16222
+ );
16187
16223
  UserSubscriptionOperationalStateSchema = external_exports.object({
16188
16224
  version: external_exports.literal(1),
16189
16225
  earliestRefreshAt: external_exports.string().nullable().catch(null),
@@ -20231,6 +20267,7 @@ var init_requester = __esm({
20231
20267
  ]);
20232
20268
  RequesterRootSchema = external_exports.object({
20233
20269
  sourceSessionId: SessionIdSchema,
20270
+ sourceCommandId: SessionCommandIdSchema.optional(),
20234
20271
  provenance: external_exports.enum(["explicit", "asserted"]),
20235
20272
  origin: RequesterRootOriginSchema
20236
20273
  });
@@ -20485,7 +20522,9 @@ var init_session_commands = __esm({
20485
20522
  SessionCommandDebounceMetadataSchema = external_exports.object({
20486
20523
  aggregatedCommandIds: external_exports.array(SessionCommandIdSchema).optional(),
20487
20524
  aggregatedIntoCommandId: SessionCommandIdSchema.optional(),
20488
- originalMessage: external_exports.string().optional()
20525
+ originalMessage: external_exports.string().optional(),
20526
+ // Stable requester filter keys only; no mutable display identity.
20527
+ mixedRequesterKeys: external_exports.array(external_exports.string().min(1)).optional()
20489
20528
  }).strip();
20490
20529
  RunMessageCommandPayloadSchema = external_exports.object({
20491
20530
  message: external_exports.string().trim().min(1),
@@ -20499,10 +20538,10 @@ var init_session_commands = __esm({
20499
20538
  model: AgentModelSelectionSchema.optional(),
20500
20539
  reasoningEffort: AgentReasoningEffortSchema.optional(),
20501
20540
  metadata: JsonValueSchema.optional(),
20502
- // The human on whose behalf a relayed steering message is sent, recorded on
20503
- // the command for provenance. In v1 it rides on the command row only — it
20504
- // is not folded into the session's attribution or the dispatch payload the
20505
- // runtime receives — so the wire shape is in place for later consumers.
20541
+ // The human on whose behalf a relayed steering message is sent. It remains
20542
+ // command-scoped rather than mutating the receiving session: descendants
20543
+ // created during the active turn may inherit it, while the runtime delivery
20544
+ // payload and the session's static attribution stay unchanged.
20506
20545
  requester: RequesterSchema.optional(),
20507
20546
  // File uploads presigned through the session-uploads store. Optional so
20508
20547
  // older payloads and operator messages stay valid; the /chat route
@@ -21050,6 +21089,20 @@ var init_mcp = __esm({
21050
21089
  }
21051
21090
  });
21052
21091
 
21092
+ // ../../packages/schemas/src/model-credential-funding.ts
21093
+ var ModelCredentialFundingSourceSchema;
21094
+ var init_model_credential_funding = __esm({
21095
+ "../../packages/schemas/src/model-credential-funding.ts"() {
21096
+ "use strict";
21097
+ init_zod();
21098
+ ModelCredentialFundingSourceSchema = external_exports.enum([
21099
+ "platform",
21100
+ "tenant_provider_grant",
21101
+ "user_subscription"
21102
+ ]);
21103
+ }
21104
+ });
21105
+
21053
21106
  // ../../packages/schemas/src/onboarding-runs.ts
21054
21107
  var ONBOARDING_RUN_SLUG_PATTERN, OnboardingRunTeamIdSchema, OnboardingRunPhaseSchema, OnboardingRunEvidenceSchema, OnboardingKickoffReferenceSchema, OnboardingKickoffApplyEventPayloadSchema, ProjectOnboardingRunSnapshotSchema;
21055
21108
  var init_onboarding_runs = __esm({
@@ -22763,6 +22816,43 @@ var init_runtimes = __esm({
22763
22816
  }
22764
22817
  });
22765
22818
 
22819
+ // ../../packages/schemas/src/session-attribution-epochs.ts
22820
+ var ATTRIBUTION_GRADES, AttributionGradeSchema, AttributionRequesterSnapshotSchema, SessionAttributionEpochCreateSchema, SessionAttributionEpochRecordSchema;
22821
+ var init_session_attribution_epochs = __esm({
22822
+ "../../packages/schemas/src/session-attribution-epochs.ts"() {
22823
+ "use strict";
22824
+ init_zod();
22825
+ init_ids();
22826
+ init_model_credential_funding();
22827
+ init_requester();
22828
+ ATTRIBUTION_GRADES = ["derived", "asserted"];
22829
+ AttributionGradeSchema = external_exports.enum(ATTRIBUTION_GRADES);
22830
+ AttributionRequesterSnapshotSchema = external_exports.object({
22831
+ origin: RequesterRootOriginSchema,
22832
+ userId: UserIdSchema.nullable()
22833
+ }).strict();
22834
+ SessionAttributionEpochCreateSchema = external_exports.object({
22835
+ organizationId: OrganizationIdSchema,
22836
+ projectId: ProjectIdSchema.nullable(),
22837
+ sessionId: SessionIdSchema,
22838
+ sourceCommandId: SessionCommandIdSchema,
22839
+ requesterKey: external_exports.string().trim().min(1),
22840
+ requesterSnapshot: AttributionRequesterSnapshotSchema.nullable(),
22841
+ attributionGrade: AttributionGradeSchema,
22842
+ assertedByCommandId: SessionCommandIdSchema.nullable(),
22843
+ assertedBySessionId: SessionIdSchema.nullable(),
22844
+ assertedByAgentResourceId: external_exports.string().trim().min(1).nullable(),
22845
+ fundingSource: ModelCredentialFundingSourceSchema.nullable(),
22846
+ providerGrantId: ProviderGrantIdSchema.nullable(),
22847
+ userModelSubscriptionId: UserSubscriptionCredentialIdSchema.nullable()
22848
+ }).strict();
22849
+ SessionAttributionEpochRecordSchema = SessionAttributionEpochCreateSchema.extend({
22850
+ id: SessionAttributionEpochIdSchema,
22851
+ createdAt: external_exports.string().datetime()
22852
+ }).strict();
22853
+ }
22854
+ });
22855
+
22766
22856
  // ../../packages/schemas/src/spend-cap-runtime.ts
22767
22857
  var SpendCapOverrideStateSchema, SpendCapOverrideUpdateRequestSchema, SPEND_CAP_LIMIT_KINDS, SpendCapLimitKindSchema, EffectiveSpendCapHitSchema, SessionSpendCapRuntimeStatusSchema, SESSION_SPEND_CAP_BATCH_MAX_SESSION_IDS, SessionSpendCapBatchRequestSchema, SessionSpendCapBatchResponseSchema, AgentSpendCapRuntimeStatusSchema, SessionCreationSpendCapDecisionSchema, SPEND_CAP_RUNTIME_ERROR_CODES, SpendCapRuntimeErrorResponseSchema;
22768
22858
  var init_spend_cap_runtime = __esm({
@@ -60509,19 +60599,17 @@ var init_temporal = __esm({
60509
60599
  });
60510
60600
 
60511
60601
  // ../../packages/schemas/src/usage.ts
60512
- var UsageHarnessSchema, ModelCredentialFundingSourceSchema, NonNegativeTokenCountSchema, NonNegativeUsdSchema2, UsageEventSchema, UsageEventRecordSchema, UsageTotalsSchema, SessionUsageModelSummarySchema, UsageFundingSummarySchema, SessionModelFundingStateSchema, SessionUsageResponseSchema, PROJECT_USAGE_RANGE_KEYS, ProjectUsageRangeKeySchema, UtcDateSchema, ProjectUsageTotalsSchema, ProjectUsageAgentSummarySchema, ProjectUsageModelSummarySchema, ProjectUsageSubscriptionSummarySchema, ProjectUsageSubscriptionSliceSchema, ProjectUsageDayAgentSliceSchema, ProjectUsageDayModelSliceSchema, ProjectUsageDayPointSchema, ProjectUsageResponseSchema;
60602
+ var UsageHarnessSchema, NonNegativeTokenCountSchema, NonNegativeUsdSchema2, UsageEventSchema, UsageEventRecordSchema, UsageTotalsSchema, SessionUsageModelSummarySchema, UsageFundingSummarySchema, SessionModelFundingStateSchema, SessionUsageResponseSchema, PROJECT_USAGE_RANGE_KEYS, ProjectUsageRangeKeySchema, UtcDateSchema, ProjectUsageTotalsSchema, ProjectUsageAgentSummarySchema, ProjectUsageModelSummarySchema, ProjectUsageSubscriptionSummarySchema, ProjectUsageSubscriptionSliceSchema, ProjectUsageDayAgentSliceSchema, ProjectUsageDayModelSliceSchema, ProjectUsageDayPointSchema, ProjectUsageResponseSchema;
60513
60603
  var init_usage = __esm({
60514
60604
  "../../packages/schemas/src/usage.ts"() {
60515
60605
  "use strict";
60516
60606
  init_zod();
60517
60607
  init_agents();
60518
60608
  init_ids();
60609
+ init_model_credential_funding();
60610
+ init_session_attribution_epochs();
60611
+ init_model_credential_funding();
60519
60612
  UsageHarnessSchema = external_exports.enum(AGENT_HARNESSES);
60520
- ModelCredentialFundingSourceSchema = external_exports.enum([
60521
- "platform",
60522
- "tenant_provider_grant",
60523
- "user_subscription"
60524
- ]);
60525
60613
  NonNegativeTokenCountSchema = external_exports.number().int().nonnegative();
60526
60614
  NonNegativeUsdSchema2 = external_exports.number().nonnegative();
60527
60615
  UsageEventSchema = external_exports.object({
@@ -60560,10 +60648,16 @@ var init_usage = __esm({
60560
60648
  // Optional during the cross-chunk rollout: B1 defines the attribution field
60561
60649
  // before B3 deploys its persistence column and D3 begins populating it.
60562
60650
  modelCredentialUserSubscriptionId: UserSubscriptionCredentialIdSchema.nullable().optional(),
60651
+ attributionEpochId: SessionAttributionEpochIdSchema.nullable().optional(),
60652
+ requesterKey: external_exports.string().trim().min(1).nullable().optional(),
60653
+ attributionGrade: AttributionGradeSchema.nullable().optional(),
60563
60654
  occurredAt: external_exports.string().datetime()
60564
60655
  });
60565
60656
  UsageEventRecordSchema = UsageEventSchema.extend({
60566
60657
  id: external_exports.string().trim().min(1),
60658
+ attributionEpochId: SessionAttributionEpochIdSchema.nullable().default(null),
60659
+ requesterKey: external_exports.string().trim().min(1).nullable().default(null),
60660
+ attributionGrade: AttributionGradeSchema.nullable().default(null),
60567
60661
  // Set on append-only correction rows: this row replaces the pointed-at row's
60568
60662
  // amounts, and ledger readers exclude any row another row supersedes.
60569
60663
  supersedesUsageEventId: external_exports.string().trim().min(1).nullable().default(null),
@@ -60709,7 +60803,8 @@ var init_user_subscriptions = __esm({
60709
60803
  credentialId: UserSubscriptionCredentialIdSchema,
60710
60804
  organizationId: OrganizationIdSchema,
60711
60805
  projectId: ProjectIdSchema.nullable(),
60712
- mode: UserSubscriptionPolicyModeSchema
60806
+ mode: UserSubscriptionPolicyModeSchema,
60807
+ allowAgentAttribution: external_exports.boolean().default(false)
60713
60808
  }).strict();
60714
60809
  UserSubscriptionFundingCandidateSchema = external_exports.object({
60715
60810
  credentialId: UserSubscriptionCredentialIdSchema,
@@ -60815,6 +60910,7 @@ var init_src = __esm({
60815
60910
  init_live_events();
60816
60911
  init_mcp();
60817
60912
  init_model_selection();
60913
+ init_model_credential_funding();
60818
60914
  init_mounts();
60819
60915
  init_onboarding_runs();
60820
60916
  init_organization_settings();
@@ -60846,6 +60942,7 @@ var init_src = __esm({
60846
60942
  init_runtime_restart_diagnostics();
60847
60943
  init_runtimes();
60848
60944
  init_sessions();
60945
+ init_session_attribution_epochs();
60849
60946
  init_spend_caps();
60850
60947
  init_spend_cap_runtime();
60851
60948
  init_agents();
@@ -63617,7 +63714,7 @@ var init_package = __esm({
63617
63714
  "package.json"() {
63618
63715
  package_default = {
63619
63716
  name: "@autohq/cli",
63620
- version: "0.1.501",
63717
+ version: "0.1.503",
63621
63718
  license: "SEE LICENSE IN README.md",
63622
63719
  publishConfig: {
63623
63720
  access: "public"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autohq/cli",
3
- "version": "0.1.501",
3
+ "version": "0.1.503",
4
4
  "license": "SEE LICENSE IN README.md",
5
5
  "publishConfig": {
6
6
  "access": "public"