@autohq/cli 0.1.576 → 0.1.578

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.
@@ -30880,7 +30880,7 @@ Object.assign(lookup, {
30880
30880
  // package.json
30881
30881
  var package_default = {
30882
30882
  name: "@autohq/cli",
30883
- version: "0.1.576",
30883
+ version: "0.1.578",
30884
30884
  license: "SEE LICENSE IN README.md",
30885
30885
  publishConfig: {
30886
30886
  access: "public"
@@ -38963,6 +38963,134 @@ var RuntimeRestartDiagnosticRecordSchema = external_exports.object({
38963
38963
  createdAt: external_exports.string().datetime()
38964
38964
  });
38965
38965
 
38966
+ // ../../packages/schemas/src/user-subscriptions.ts
38967
+ var ATTRIBUTION_COLD_BOUNDARY_IDLE_MS = 5 * 6e4;
38968
+ var USER_SUBSCRIPTION_PROVIDERS = ["openai"];
38969
+ var UserSubscriptionProviderSchema = external_exports.enum(
38970
+ USER_SUBSCRIPTION_PROVIDERS
38971
+ );
38972
+ var USER_SUBSCRIPTION_CREDENTIAL_STATUSES = [
38973
+ "active",
38974
+ "unusable"
38975
+ ];
38976
+ var UserSubscriptionCredentialStatusSchema = external_exports.enum(
38977
+ USER_SUBSCRIPTION_CREDENTIAL_STATUSES
38978
+ );
38979
+ var OpenAiUserSubscriptionCredentialSecretSchema = external_exports.object({
38980
+ accessToken: external_exports.string().trim().min(1),
38981
+ refreshToken: external_exports.string().trim().min(1),
38982
+ idToken: external_exports.string().trim().min(1)
38983
+ }).strict();
38984
+ var UserSubscriptionCredentialSchema = external_exports.object({
38985
+ id: UserSubscriptionCredentialIdSchema,
38986
+ userId: UserIdSchema,
38987
+ provider: external_exports.literal("openai"),
38988
+ accountId: external_exports.string().trim().min(1),
38989
+ planType: external_exports.string().trim().min(1),
38990
+ status: UserSubscriptionCredentialStatusSchema,
38991
+ accessTokenExpiresAt: external_exports.string().datetime(),
38992
+ earliestRefreshAt: external_exports.string().datetime().nullable(),
38993
+ secret: OpenAiUserSubscriptionCredentialSecretSchema
38994
+ }).strict();
38995
+ var USER_SUBSCRIPTION_POLICY_MODES = [
38996
+ "own_sessions",
38997
+ "own_and_automations",
38998
+ "all_sessions"
38999
+ ];
39000
+ var UserSubscriptionPolicyModeSchema = external_exports.enum(
39001
+ USER_SUBSCRIPTION_POLICY_MODES
39002
+ );
39003
+ var USER_SUBSCRIPTION_POLICY_ORIGINS = [
39004
+ "user",
39005
+ "attach_default"
39006
+ ];
39007
+ var UserSubscriptionPolicyOriginSchema = external_exports.enum(
39008
+ USER_SUBSCRIPTION_POLICY_ORIGINS
39009
+ );
39010
+ var UserSubscriptionPolicySchema = external_exports.object({
39011
+ credentialId: UserSubscriptionCredentialIdSchema,
39012
+ organizationId: OrganizationIdSchema,
39013
+ projectId: ProjectIdSchema.nullable(),
39014
+ mode: UserSubscriptionPolicyModeSchema,
39015
+ allowAgentAttribution: external_exports.boolean().default(false),
39016
+ budgetPercent: external_exports.number().int().min(1).max(100).nullable().default(null),
39017
+ quotaWindowBudgets: UserSubscriptionQuotaWindowBudgetsSchema.default([])
39018
+ }).strict();
39019
+ var UserSubscriptionFundingCandidateSchema = external_exports.object({
39020
+ credentialId: UserSubscriptionCredentialIdSchema,
39021
+ ownerUserId: UserIdSchema,
39022
+ status: UserSubscriptionCredentialStatusSchema,
39023
+ policyMode: UserSubscriptionPolicyModeSchema,
39024
+ allowAgentAttribution: external_exports.boolean().default(false),
39025
+ ownerIsScopeMember: external_exports.boolean(),
39026
+ budgetPercent: external_exports.number().int().min(1).max(100).nullable().default(null),
39027
+ quotaWindowBudgets: UserSubscriptionQuotaWindowBudgetsSchema.default([]),
39028
+ quotaBudgetStatus: UserSubscriptionQuotaBudgetStatusSchema.default("under_budget")
39029
+ }).strict();
39030
+ var UserSubscriptionFundingDecisionInputSchema = external_exports.object({
39031
+ harness: external_exports.enum(AGENT_HARNESSES),
39032
+ provider: ModelApiTokenProviderSchema,
39033
+ model: external_exports.string().trim().min(1),
39034
+ requester: RequesterSchema.nullable(),
39035
+ qualifiedRequesterUserId: UserIdSchema.nullable().default(null),
39036
+ automationOwnerUserId: UserIdSchema.nullable(),
39037
+ organizationMemberCount: external_exports.number().int().positive(),
39038
+ userSubscription: UserSubscriptionFundingCandidateSchema.nullable(),
39039
+ subscriptionRejectionReason: external_exports.enum(["agent_attribution_disabled", "agent_attribution_untrusted"]).nullable().default(null),
39040
+ tenantProviderGrantId: ProviderGrantIdSchema.nullable()
39041
+ }).strict();
39042
+ var USER_SUBSCRIPTION_REJECTION_REASONS = [
39043
+ "subscription_unavailable",
39044
+ "credential_unusable",
39045
+ "owner_not_scope_member",
39046
+ "ineligible_harness",
39047
+ "ineligible_provider",
39048
+ "ineligible_model",
39049
+ "agent_attribution_disabled",
39050
+ "agent_attribution_untrusted",
39051
+ "policy_not_applicable",
39052
+ "quota_budget_reached",
39053
+ "quota_snapshot_stale",
39054
+ "quota_unknown"
39055
+ ];
39056
+ var UserSubscriptionRejectionReasonSchema = external_exports.enum(
39057
+ USER_SUBSCRIPTION_REJECTION_REASONS
39058
+ );
39059
+ var USER_SUBSCRIPTION_SELECTION_REASONS = [
39060
+ "requester_owner",
39061
+ "owned_automation",
39062
+ "sole_member_all_sessions"
39063
+ ];
39064
+ var UserSubscriptionSelectionReasonSchema = external_exports.enum(
39065
+ USER_SUBSCRIPTION_SELECTION_REASONS
39066
+ );
39067
+ var UserSubscriptionFundingDecisionSchema = external_exports.discriminatedUnion(
39068
+ "fundingSource",
39069
+ [
39070
+ external_exports.object({
39071
+ fundingSource: external_exports.literal("user_subscription"),
39072
+ userSubscriptionCredentialId: UserSubscriptionCredentialIdSchema,
39073
+ modelCredentialProviderGrantId: external_exports.null(),
39074
+ selectionReason: UserSubscriptionSelectionReasonSchema,
39075
+ subscriptionRejectionReason: external_exports.null()
39076
+ }),
39077
+ external_exports.object({
39078
+ fundingSource: external_exports.literal("tenant_provider_grant"),
39079
+ userSubscriptionCredentialId: external_exports.null(),
39080
+ modelCredentialProviderGrantId: ProviderGrantIdSchema,
39081
+ selectionReason: external_exports.null(),
39082
+ subscriptionRejectionReason: UserSubscriptionRejectionReasonSchema
39083
+ }),
39084
+ external_exports.object({
39085
+ fundingSource: external_exports.literal("platform"),
39086
+ userSubscriptionCredentialId: external_exports.null(),
39087
+ modelCredentialProviderGrantId: external_exports.null(),
39088
+ selectionReason: external_exports.null(),
39089
+ subscriptionRejectionReason: UserSubscriptionRejectionReasonSchema
39090
+ })
39091
+ ]
39092
+ );
39093
+
38966
39094
  // ../../packages/schemas/src/session-attribution-epochs.ts
38967
39095
  var ATTRIBUTION_GRADES = ["derived", "asserted"];
38968
39096
  var AttributionGradeSchema = external_exports.enum(ATTRIBUTION_GRADES);
@@ -38982,6 +39110,10 @@ var SessionAttributionEpochCreateSchema = external_exports.object({
38982
39110
  assertedBySessionId: SessionIdSchema2.nullable(),
38983
39111
  assertedByAgentResourceId: external_exports.string().trim().min(1).nullable(),
38984
39112
  fundingSource: ModelCredentialFundingSourceSchema.nullable(),
39113
+ // Why the owner's subscription was NOT selected for this epoch; null
39114
+ // when it funded the epoch or no subscription was in play. Optional so
39115
+ // pre-existing rows and cross-deploy writers stay parseable.
39116
+ fundingRejectionReason: UserSubscriptionRejectionReasonSchema.nullable().optional(),
38985
39117
  providerGrantId: ProviderGrantIdSchema.nullable(),
38986
39118
  userModelSubscriptionId: UserSubscriptionCredentialIdSchema.nullable()
38987
39119
  }).strict();
@@ -39120,11 +39252,26 @@ var ProjectUsageSubscriptionSummarySchema = UsageTotalsSchema.extend({
39120
39252
  userSubscriptionId: UserSubscriptionCredentialIdSchema.nullable(),
39121
39253
  coveredInferenceCostUsd: NonNegativeUsdSchema2
39122
39254
  });
39255
+ var ProjectUsageSubscriptionAgentSummarySchema = UsageTotalsSchema.extend({
39256
+ agentResourceId: external_exports.string().trim().min(1),
39257
+ // Same resolution contract as ProjectUsageAgentSummary: null only when
39258
+ // the agent row was hard-deleted.
39259
+ agentName: external_exports.string().trim().min(1).nullable(),
39260
+ coveredInferenceCostUsd: NonNegativeUsdSchema2
39261
+ });
39262
+ var ProjectUsageSubscriptionModelSummarySchema = UsageTotalsSchema.extend({
39263
+ model: external_exports.string().trim().min(1),
39264
+ coveredInferenceCostUsd: NonNegativeUsdSchema2
39265
+ });
39123
39266
  var ProjectUsageSubscriptionSliceSchema = external_exports.object({
39124
39267
  totals: UsageTotalsSchema.extend({
39125
39268
  coveredInferenceCostUsd: NonNegativeUsdSchema2
39126
39269
  }),
39127
- subscriptions: external_exports.array(ProjectUsageSubscriptionSummarySchema)
39270
+ subscriptions: external_exports.array(ProjectUsageSubscriptionSummarySchema),
39271
+ // Defaulted so a client deployed ahead of the server still parses the
39272
+ // slice while the split rollups are absent.
39273
+ byAgent: external_exports.array(ProjectUsageSubscriptionAgentSummarySchema).default([]),
39274
+ byModel: external_exports.array(ProjectUsageSubscriptionModelSummarySchema).default([])
39128
39275
  });
39129
39276
  var ProjectUsageRequesterAttributionSchema = external_exports.object({
39130
39277
  requesterKey: external_exports.string().trim().min(1).nullable(),
@@ -39947,134 +40094,6 @@ var ResourceReconciliationScopeSchema = external_exports.object({
39947
40094
  projectId: external_exports.string().trim().min(1).nullable()
39948
40095
  }).strict();
39949
40096
 
39950
- // ../../packages/schemas/src/user-subscriptions.ts
39951
- var ATTRIBUTION_COLD_BOUNDARY_IDLE_MS = 5 * 6e4;
39952
- var USER_SUBSCRIPTION_PROVIDERS = ["openai"];
39953
- var UserSubscriptionProviderSchema = external_exports.enum(
39954
- USER_SUBSCRIPTION_PROVIDERS
39955
- );
39956
- var USER_SUBSCRIPTION_CREDENTIAL_STATUSES = [
39957
- "active",
39958
- "unusable"
39959
- ];
39960
- var UserSubscriptionCredentialStatusSchema = external_exports.enum(
39961
- USER_SUBSCRIPTION_CREDENTIAL_STATUSES
39962
- );
39963
- var OpenAiUserSubscriptionCredentialSecretSchema = external_exports.object({
39964
- accessToken: external_exports.string().trim().min(1),
39965
- refreshToken: external_exports.string().trim().min(1),
39966
- idToken: external_exports.string().trim().min(1)
39967
- }).strict();
39968
- var UserSubscriptionCredentialSchema = external_exports.object({
39969
- id: UserSubscriptionCredentialIdSchema,
39970
- userId: UserIdSchema,
39971
- provider: external_exports.literal("openai"),
39972
- accountId: external_exports.string().trim().min(1),
39973
- planType: external_exports.string().trim().min(1),
39974
- status: UserSubscriptionCredentialStatusSchema,
39975
- accessTokenExpiresAt: external_exports.string().datetime(),
39976
- earliestRefreshAt: external_exports.string().datetime().nullable(),
39977
- secret: OpenAiUserSubscriptionCredentialSecretSchema
39978
- }).strict();
39979
- var USER_SUBSCRIPTION_POLICY_MODES = [
39980
- "own_sessions",
39981
- "own_and_automations",
39982
- "all_sessions"
39983
- ];
39984
- var UserSubscriptionPolicyModeSchema = external_exports.enum(
39985
- USER_SUBSCRIPTION_POLICY_MODES
39986
- );
39987
- var USER_SUBSCRIPTION_POLICY_ORIGINS = [
39988
- "user",
39989
- "attach_default"
39990
- ];
39991
- var UserSubscriptionPolicyOriginSchema = external_exports.enum(
39992
- USER_SUBSCRIPTION_POLICY_ORIGINS
39993
- );
39994
- var UserSubscriptionPolicySchema = external_exports.object({
39995
- credentialId: UserSubscriptionCredentialIdSchema,
39996
- organizationId: OrganizationIdSchema,
39997
- projectId: ProjectIdSchema.nullable(),
39998
- mode: UserSubscriptionPolicyModeSchema,
39999
- allowAgentAttribution: external_exports.boolean().default(false),
40000
- budgetPercent: external_exports.number().int().min(1).max(100).nullable().default(null),
40001
- quotaWindowBudgets: UserSubscriptionQuotaWindowBudgetsSchema.default([])
40002
- }).strict();
40003
- var UserSubscriptionFundingCandidateSchema = external_exports.object({
40004
- credentialId: UserSubscriptionCredentialIdSchema,
40005
- ownerUserId: UserIdSchema,
40006
- status: UserSubscriptionCredentialStatusSchema,
40007
- policyMode: UserSubscriptionPolicyModeSchema,
40008
- allowAgentAttribution: external_exports.boolean().default(false),
40009
- ownerIsScopeMember: external_exports.boolean(),
40010
- budgetPercent: external_exports.number().int().min(1).max(100).nullable().default(null),
40011
- quotaWindowBudgets: UserSubscriptionQuotaWindowBudgetsSchema.default([]),
40012
- quotaBudgetStatus: UserSubscriptionQuotaBudgetStatusSchema.default("under_budget")
40013
- }).strict();
40014
- var UserSubscriptionFundingDecisionInputSchema = external_exports.object({
40015
- harness: external_exports.enum(AGENT_HARNESSES),
40016
- provider: ModelApiTokenProviderSchema,
40017
- model: external_exports.string().trim().min(1),
40018
- requester: RequesterSchema.nullable(),
40019
- qualifiedRequesterUserId: UserIdSchema.nullable().default(null),
40020
- automationOwnerUserId: UserIdSchema.nullable(),
40021
- organizationMemberCount: external_exports.number().int().positive(),
40022
- userSubscription: UserSubscriptionFundingCandidateSchema.nullable(),
40023
- subscriptionRejectionReason: external_exports.enum(["agent_attribution_disabled", "agent_attribution_untrusted"]).nullable().default(null),
40024
- tenantProviderGrantId: ProviderGrantIdSchema.nullable()
40025
- }).strict();
40026
- var USER_SUBSCRIPTION_REJECTION_REASONS = [
40027
- "subscription_unavailable",
40028
- "credential_unusable",
40029
- "owner_not_scope_member",
40030
- "ineligible_harness",
40031
- "ineligible_provider",
40032
- "ineligible_model",
40033
- "agent_attribution_disabled",
40034
- "agent_attribution_untrusted",
40035
- "policy_not_applicable",
40036
- "quota_budget_reached",
40037
- "quota_snapshot_stale",
40038
- "quota_unknown"
40039
- ];
40040
- var UserSubscriptionRejectionReasonSchema = external_exports.enum(
40041
- USER_SUBSCRIPTION_REJECTION_REASONS
40042
- );
40043
- var USER_SUBSCRIPTION_SELECTION_REASONS = [
40044
- "requester_owner",
40045
- "owned_automation",
40046
- "sole_member_all_sessions"
40047
- ];
40048
- var UserSubscriptionSelectionReasonSchema = external_exports.enum(
40049
- USER_SUBSCRIPTION_SELECTION_REASONS
40050
- );
40051
- var UserSubscriptionFundingDecisionSchema = external_exports.discriminatedUnion(
40052
- "fundingSource",
40053
- [
40054
- external_exports.object({
40055
- fundingSource: external_exports.literal("user_subscription"),
40056
- userSubscriptionCredentialId: UserSubscriptionCredentialIdSchema,
40057
- modelCredentialProviderGrantId: external_exports.null(),
40058
- selectionReason: UserSubscriptionSelectionReasonSchema,
40059
- subscriptionRejectionReason: external_exports.null()
40060
- }),
40061
- external_exports.object({
40062
- fundingSource: external_exports.literal("tenant_provider_grant"),
40063
- userSubscriptionCredentialId: external_exports.null(),
40064
- modelCredentialProviderGrantId: ProviderGrantIdSchema,
40065
- selectionReason: external_exports.null(),
40066
- subscriptionRejectionReason: UserSubscriptionRejectionReasonSchema
40067
- }),
40068
- external_exports.object({
40069
- fundingSource: external_exports.literal("platform"),
40070
- userSubscriptionCredentialId: external_exports.null(),
40071
- modelCredentialProviderGrantId: external_exports.null(),
40072
- selectionReason: external_exports.null(),
40073
- subscriptionRejectionReason: UserSubscriptionRejectionReasonSchema
40074
- })
40075
- ]
40076
- );
40077
-
40078
40097
  // ../../packages/schemas/src/webhook-endpoints.ts
40079
40098
  var WEBHOOK_BIND_KEY_MAX_LENGTH = 200;
40080
40099
  var WebhookBindKeySchema = external_exports.string().trim().min(1).max(WEBHOOK_BIND_KEY_MAX_LENGTH).regex(