@autohq/cli 0.1.562 → 0.1.563

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.562",
30873
+ version: "0.1.563",
30874
30874
  license: "SEE LICENSE IN README.md",
30875
30875
  publishConfig: {
30876
30876
  access: "public"
@@ -31820,6 +31820,7 @@ var AuthScopeSchema = external_exports.enum([
31820
31820
  "project_members:read",
31821
31821
  "tasks:read",
31822
31822
  "tasks:write",
31823
+ "task_management:write",
31823
31824
  "billing:read",
31824
31825
  "billing:write",
31825
31826
  "secrets:read",
@@ -31959,6 +31960,16 @@ var SERVICE_ACCOUNT_SCOPE_PRESETS = {
31959
31960
  };
31960
31961
  var ServiceAccountScopePresetSchema = external_exports.enum(["read-only", "applier"]);
31961
31962
 
31963
+ // ../../packages/schemas/src/archive-policy.ts
31964
+ var DEFAULT_AUTO_ARCHIVE_AFTER_SECONDS = 24 * 60 * 60;
31965
+ var AutoArchivePolicySchema = external_exports.discriminatedUnion("mode", [
31966
+ external_exports.object({ mode: external_exports.literal("off") }).strict(),
31967
+ external_exports.object({
31968
+ mode: external_exports.literal("after"),
31969
+ seconds: external_exports.number().int().positive().max(2147483647)
31970
+ }).strict()
31971
+ ]);
31972
+
31962
31973
  // ../../packages/schemas/src/capability-attenuation.ts
31963
31974
  function grantedCapabilityLevel(capability) {
31964
31975
  return typeof capability === "string" ? capability : capability.level;
@@ -35095,6 +35106,10 @@ var ProjectMemberCapabilityLevelSchema = external_exports.enum(
35095
35106
  );
35096
35107
  var TASK_CAPABILITY_LEVELS = ["none", "read", "write"];
35097
35108
  var TaskCapabilityLevelSchema = external_exports.enum(TASK_CAPABILITY_LEVELS);
35109
+ var TASK_MANAGEMENT_CAPABILITY_LEVELS = ["none", "write"];
35110
+ var TaskManagementCapabilityLevelSchema = external_exports.enum(
35111
+ TASK_MANAGEMENT_CAPABILITY_LEVELS
35112
+ );
35098
35113
  var CONNECTION_CAPABILITY_LEVELS = ["none", "read", "write"];
35099
35114
  var ConnectionCapabilityLevelSchema = external_exports.enum(
35100
35115
  CONNECTION_CAPABILITY_LEVELS
@@ -35152,6 +35167,10 @@ var LocalAutoToolCapabilitiesSchema = external_exports.object({
35152
35167
  billing: BillingCapabilitySchema.default("none"),
35153
35168
  projectMembers: ProjectMemberCapabilitySchema.default("none"),
35154
35169
  tasks: TaskCapabilitySchema.default("none"),
35170
+ // Project-wide coordination is an explicit session-snapshot grant, not a
35171
+ // requester-attenuated form of ordinary Task access. Keeping it optional
35172
+ // preserves pre-capability rendered spec hashes; absence means `none`.
35173
+ taskManagement: TaskManagementCapabilityLevelSchema.optional(),
35155
35174
  connections: ConnectionCapabilitySchema.optional(),
35156
35175
  secrets: SecretCapabilitySchema.optional(),
35157
35176
  webhooks: WebhookCapabilitySchema.optional()
@@ -35394,6 +35413,36 @@ var TaskLinkTargetSchema = BindingTargetSchema.refine(
35394
35413
  (target) => TASK_LINK_TARGET_TYPES.includes(target.type),
35395
35414
  "Target type cannot be linked to a task"
35396
35415
  );
35416
+ var TaskOutcomeSchema = JsonObjectSchema;
35417
+ var TaskArchiveRequestSchema = external_exports.object({ archived: external_exports.boolean() }).strict();
35418
+ var TasksArchiveRequestSchema = external_exports.object({
35419
+ task_ids: external_exports.array(external_exports.string().trim().min(1)).min(1).max(100),
35420
+ archived: external_exports.boolean()
35421
+ }).strict();
35422
+ var TaskArchiveFilterSchema = external_exports.enum(["active", "archived", "all"]);
35423
+ var TaskReadModelSchema = external_exports.object({
35424
+ id: external_exports.string(),
35425
+ organizationId: external_exports.string(),
35426
+ projectId: external_exports.string(),
35427
+ parentTaskId: external_exports.string().nullable(),
35428
+ title: external_exports.string(),
35429
+ description: external_exports.string().nullable(),
35430
+ status: TaskStatusSchema,
35431
+ completionKind: TaskCompletionKindSchema,
35432
+ outcome: TaskOutcomeSchema.nullable(),
35433
+ context: JsonObjectSchema.nullable(),
35434
+ createdBySessionId: external_exports.string().nullable(),
35435
+ requester: JsonObjectSchema.nullable(),
35436
+ revision: external_exports.number().int().positive(),
35437
+ archivedAt: external_exports.string().datetime().nullable(),
35438
+ createdAt: external_exports.string().datetime(),
35439
+ updatedAt: external_exports.string().datetime(),
35440
+ startedAt: external_exports.string().datetime().nullable(),
35441
+ completedAt: external_exports.string().datetime().nullable()
35442
+ });
35443
+ var TaskListResponseSchema = external_exports.object({
35444
+ tasks: external_exports.array(TaskReadModelSchema)
35445
+ });
35397
35446
 
35398
35447
  // ../../packages/schemas/src/trigger-router.ts
35399
35448
  var CANONICAL_ROUTE_BY_KINDS = [
@@ -37269,6 +37318,9 @@ var SessionRecordSchema = external_exports.object({
37269
37318
  // Trusted non-human origin/actor. Defaulted for legacy session.upsert
37270
37319
  // payloads persisted before work provenance shipped.
37271
37320
  workProvenance: WorkProvenanceSchema.nullable().default(null),
37321
+ // Platform-stamped only when this session is atomically spawned onto a
37322
+ // Task. Missing/null is the safe persisted-read default for legacy rows.
37323
+ delegatedTaskId: external_exports.string().trim().min(1).nullable().default(null),
37272
37324
  // Defaulted for session.upsert payloads persisted before attached prompts.
37273
37325
  attachedUserPrompt: external_exports.string().nullable().default(null).optional(),
37274
37326
  triggerMessageContext: external_exports.string().nullable().default(null).optional(),
@@ -37587,6 +37639,10 @@ var OrganizationBillingSettingsSchema = external_exports.object({
37587
37639
  // amount. Both must be set for auto-top-up to arm.
37588
37640
  autoTopUpThresholdUsd: NonNegativeUsdSchema.nullable(),
37589
37641
  autoTopUpAmountUsd: PositiveUsdSchema.nullable(),
37642
+ // Set when an automatic charge cannot proceed without operator attention.
37643
+ // The timestamp is intentionally the whole public failure contract: payment
37644
+ // provider identifiers and decline details stay out of settings responses.
37645
+ autoTopUpRequiresAttentionAt: external_exports.string().datetime().nullable().default(null),
37590
37646
  // System-managed pause marker: set by the circuit breaker when the org's
37591
37647
  // balance drops below its reserve, cleared by the credit-event resume hook.
37592
37648
  // Never set by the settings PATCH (the request schema is strict without it).
@@ -37595,7 +37651,10 @@ var OrganizationBillingSettingsSchema = external_exports.object({
37595
37651
  // the org's Stripe customer, and the saved card auto-top-up charges
37596
37652
  // off-session. A non-null payment method is what "card on file" means.
37597
37653
  stripeCustomerId: external_exports.string().trim().min(1).nullable(),
37598
- stripeDefaultPaymentMethodId: external_exports.string().trim().min(1).nullable()
37654
+ stripeDefaultPaymentMethodId: external_exports.string().trim().min(1).nullable(),
37655
+ // Safe provenance used server-side to reject a test/live mismatch before a
37656
+ // real charge attempt. Null preserves compatibility with legacy rows.
37657
+ stripeDefaultPaymentMethodLivemode: external_exports.boolean().nullable().default(null)
37599
37658
  });
37600
37659
  var UpdateOrganizationBillingSettingsRequestSchema = external_exports.object({
37601
37660
  spendLimitDayUsd: PositiveUsdSchema.nullable().optional(),
@@ -38054,10 +38113,13 @@ var ProjectDefaultAgentSchema = external_exports.object({
38054
38113
  });
38055
38114
  var UpdateProjectSettingsRequestSchema = external_exports.object({
38056
38115
  name: external_exports.string().trim().min(1).optional(),
38057
- slug: AppRouteSlugSchema.optional()
38058
- }).strict().refine((value2) => value2.name !== void 0 || value2.slug !== void 0, {
38059
- message: "At least one settings field is required"
38060
- });
38116
+ slug: AppRouteSlugSchema.optional(),
38117
+ sessionAutoArchivePolicy: AutoArchivePolicySchema.optional(),
38118
+ taskAutoArchivePolicy: AutoArchivePolicySchema.optional()
38119
+ }).strict().refine(
38120
+ (value2) => value2.name !== void 0 || value2.slug !== void 0 || value2.sessionAutoArchivePolicy !== void 0 || value2.taskAutoArchivePolicy !== void 0,
38121
+ { message: "At least one settings field is required" }
38122
+ );
38061
38123
 
38062
38124
  // ../../packages/schemas/src/project-service-accounts.ts
38063
38125
  var ProjectServiceAccountSchema = external_exports.object({
package/dist/index.js CHANGED
@@ -15486,6 +15486,7 @@ var init_auth = __esm({
15486
15486
  "project_members:read",
15487
15487
  "tasks:read",
15488
15488
  "tasks:write",
15489
+ "task_management:write",
15489
15490
  "billing:read",
15490
15491
  "billing:write",
15491
15492
  "secrets:read",
@@ -15610,6 +15611,23 @@ var init_auth = __esm({
15610
15611
  }
15611
15612
  });
15612
15613
 
15614
+ // ../../packages/schemas/src/archive-policy.ts
15615
+ var DEFAULT_AUTO_ARCHIVE_AFTER_SECONDS, AutoArchivePolicySchema;
15616
+ var init_archive_policy = __esm({
15617
+ "../../packages/schemas/src/archive-policy.ts"() {
15618
+ "use strict";
15619
+ init_zod();
15620
+ DEFAULT_AUTO_ARCHIVE_AFTER_SECONDS = 24 * 60 * 60;
15621
+ AutoArchivePolicySchema = external_exports.discriminatedUnion("mode", [
15622
+ external_exports.object({ mode: external_exports.literal("off") }).strict(),
15623
+ external_exports.object({
15624
+ mode: external_exports.literal("after"),
15625
+ seconds: external_exports.number().int().positive().max(2147483647)
15626
+ }).strict()
15627
+ ]);
15628
+ }
15629
+ });
15630
+
15613
15631
  // ../../packages/schemas/src/capability-attenuation.ts
15614
15632
  function grantedCapabilityLevel(capability) {
15615
15633
  return typeof capability === "string" ? capability : capability.level;
@@ -19066,7 +19084,7 @@ function remoteMcpToolSchema(input) {
19066
19084
  ]).default({ kind: "none" })
19067
19085
  });
19068
19086
  }
19069
- var REMOTE_MCP_TRANSPORTS, LOCAL_TOOL_IMPLEMENTATIONS, BILLING_CAPABILITY_LEVELS, BillingCapabilityLevelSchema, PROJECT_MEMBER_CAPABILITY_LEVELS, ProjectMemberCapabilityLevelSchema, TASK_CAPABILITY_LEVELS, TaskCapabilityLevelSchema, CONNECTION_CAPABILITY_LEVELS, ConnectionCapabilityLevelSchema, SECRET_CAPABILITY_LEVELS, SecretCapabilityLevelSchema, WEBHOOK_CAPABILITY_LEVELS, WebhookCapabilityLevelSchema, BillingCapabilitySchema, ProjectMemberCapabilitySchema, TaskCapabilitySchema, ConnectionCapabilitySchema, SecretCapabilitySchema, WebhookCapabilitySchema, LocalAutoToolCapabilitiesSchema, SecretReferenceSchema, NoToolAuthSchema, OptionalConnectionField, McpOAuthToolAuthSchema, ConnectionToolAuthSchema, ConnectionsToolAuthSchema, ConnectionBackedToolSchema, ToolAliasSchema, RemoteMcpToolSchema, LocalAutoToolSchema, LocalPingToolSchema, LocalChatToolSchema, LocalToolSchema, GithubToolSchema, ToolSpecSchema, AgentToolConnectRequestSchema, AgentToolConnectResponseSchema, AgentToolConnectCompleteResponseSchema, InlineAgentToolSchema, AgentToolRefSchema, AgentToolsSchema;
19087
+ var REMOTE_MCP_TRANSPORTS, LOCAL_TOOL_IMPLEMENTATIONS, BILLING_CAPABILITY_LEVELS, BillingCapabilityLevelSchema, PROJECT_MEMBER_CAPABILITY_LEVELS, ProjectMemberCapabilityLevelSchema, TASK_CAPABILITY_LEVELS, TaskCapabilityLevelSchema, TASK_MANAGEMENT_CAPABILITY_LEVELS, TaskManagementCapabilityLevelSchema, CONNECTION_CAPABILITY_LEVELS, ConnectionCapabilityLevelSchema, SECRET_CAPABILITY_LEVELS, SecretCapabilityLevelSchema, WEBHOOK_CAPABILITY_LEVELS, WebhookCapabilityLevelSchema, BillingCapabilitySchema, ProjectMemberCapabilitySchema, TaskCapabilitySchema, ConnectionCapabilitySchema, SecretCapabilitySchema, WebhookCapabilitySchema, LocalAutoToolCapabilitiesSchema, SecretReferenceSchema, NoToolAuthSchema, OptionalConnectionField, McpOAuthToolAuthSchema, ConnectionToolAuthSchema, ConnectionsToolAuthSchema, ConnectionBackedToolSchema, ToolAliasSchema, RemoteMcpToolSchema, LocalAutoToolSchema, LocalPingToolSchema, LocalChatToolSchema, LocalToolSchema, GithubToolSchema, ToolSpecSchema, AgentToolConnectRequestSchema, AgentToolConnectResponseSchema, AgentToolConnectCompleteResponseSchema, InlineAgentToolSchema, AgentToolRefSchema, AgentToolsSchema;
19070
19088
  var init_tools = __esm({
19071
19089
  "../../packages/schemas/src/tools.ts"() {
19072
19090
  "use strict";
@@ -19086,6 +19104,10 @@ var init_tools = __esm({
19086
19104
  );
19087
19105
  TASK_CAPABILITY_LEVELS = ["none", "read", "write"];
19088
19106
  TaskCapabilityLevelSchema = external_exports.enum(TASK_CAPABILITY_LEVELS);
19107
+ TASK_MANAGEMENT_CAPABILITY_LEVELS = ["none", "write"];
19108
+ TaskManagementCapabilityLevelSchema = external_exports.enum(
19109
+ TASK_MANAGEMENT_CAPABILITY_LEVELS
19110
+ );
19089
19111
  CONNECTION_CAPABILITY_LEVELS = ["none", "read", "write"];
19090
19112
  ConnectionCapabilityLevelSchema = external_exports.enum(
19091
19113
  CONNECTION_CAPABILITY_LEVELS
@@ -19122,6 +19144,10 @@ var init_tools = __esm({
19122
19144
  billing: BillingCapabilitySchema.default("none"),
19123
19145
  projectMembers: ProjectMemberCapabilitySchema.default("none"),
19124
19146
  tasks: TaskCapabilitySchema.default("none"),
19147
+ // Project-wide coordination is an explicit session-snapshot grant, not a
19148
+ // requester-attenuated form of ordinary Task access. Keeping it optional
19149
+ // preserves pre-capability rendered spec hashes; absence means `none`.
19150
+ taskManagement: TaskManagementCapabilityLevelSchema.optional(),
19125
19151
  connections: ConnectionCapabilitySchema.optional(),
19126
19152
  secrets: SecretCapabilitySchema.optional(),
19127
19153
  webhooks: WebhookCapabilitySchema.optional()
@@ -19306,7 +19332,7 @@ var init_trigger_filters = __esm({
19306
19332
  });
19307
19333
 
19308
19334
  // ../../packages/schemas/src/tasks.ts
19309
- var TASK_STATUSES, TaskStatusSchema, TASK_COMPLETION_KINDS, TaskCompletionKindSchema, TASK_LINK_ROLES, TaskLinkRoleSchema, TASK_LINK_STATUSES, TaskLinkStatusSchema, TASK_LINK_TARGET_TYPES, TaskLinkTargetTypeSchema, TaskLinkTargetSchema;
19335
+ var TASK_STATUSES, TaskStatusSchema, TASK_COMPLETION_KINDS, TaskCompletionKindSchema, TASK_LINK_ROLES, TaskLinkRoleSchema, TASK_LINK_STATUSES, TaskLinkStatusSchema, TASK_LINK_TARGET_TYPES, TaskLinkTargetTypeSchema, TaskLinkTargetSchema, TaskOutcomeSchema, TaskArchiveRequestSchema, TasksArchiveRequestSchema, TaskArchiveFilterSchema, TaskReadModelSchema, TaskListResponseSchema;
19310
19336
  var init_tasks = __esm({
19311
19337
  "../../packages/schemas/src/tasks.ts"() {
19312
19338
  "use strict";
@@ -19343,6 +19369,36 @@ var init_tasks = __esm({
19343
19369
  (target) => TASK_LINK_TARGET_TYPES.includes(target.type),
19344
19370
  "Target type cannot be linked to a task"
19345
19371
  );
19372
+ TaskOutcomeSchema = JsonObjectSchema;
19373
+ TaskArchiveRequestSchema = external_exports.object({ archived: external_exports.boolean() }).strict();
19374
+ TasksArchiveRequestSchema = external_exports.object({
19375
+ task_ids: external_exports.array(external_exports.string().trim().min(1)).min(1).max(100),
19376
+ archived: external_exports.boolean()
19377
+ }).strict();
19378
+ TaskArchiveFilterSchema = external_exports.enum(["active", "archived", "all"]);
19379
+ TaskReadModelSchema = external_exports.object({
19380
+ id: external_exports.string(),
19381
+ organizationId: external_exports.string(),
19382
+ projectId: external_exports.string(),
19383
+ parentTaskId: external_exports.string().nullable(),
19384
+ title: external_exports.string(),
19385
+ description: external_exports.string().nullable(),
19386
+ status: TaskStatusSchema,
19387
+ completionKind: TaskCompletionKindSchema,
19388
+ outcome: TaskOutcomeSchema.nullable(),
19389
+ context: JsonObjectSchema.nullable(),
19390
+ createdBySessionId: external_exports.string().nullable(),
19391
+ requester: JsonObjectSchema.nullable(),
19392
+ revision: external_exports.number().int().positive(),
19393
+ archivedAt: external_exports.string().datetime().nullable(),
19394
+ createdAt: external_exports.string().datetime(),
19395
+ updatedAt: external_exports.string().datetime(),
19396
+ startedAt: external_exports.string().datetime().nullable(),
19397
+ completedAt: external_exports.string().datetime().nullable()
19398
+ });
19399
+ TaskListResponseSchema = external_exports.object({
19400
+ tasks: external_exports.array(TaskReadModelSchema)
19401
+ });
19346
19402
  }
19347
19403
  });
19348
19404
 
@@ -21407,6 +21463,9 @@ var init_sessions = __esm({
21407
21463
  // Trusted non-human origin/actor. Defaulted for legacy session.upsert
21408
21464
  // payloads persisted before work provenance shipped.
21409
21465
  workProvenance: WorkProvenanceSchema.nullable().default(null),
21466
+ // Platform-stamped only when this session is atomically spawned onto a
21467
+ // Task. Missing/null is the safe persisted-read default for legacy rows.
21468
+ delegatedTaskId: external_exports.string().trim().min(1).nullable().default(null),
21410
21469
  // Defaulted for session.upsert payloads persisted before attached prompts.
21411
21470
  attachedUserPrompt: external_exports.string().nullable().default(null).optional(),
21412
21471
  triggerMessageContext: external_exports.string().nullable().default(null).optional(),
@@ -21779,6 +21838,10 @@ var init_billing = __esm({
21779
21838
  // amount. Both must be set for auto-top-up to arm.
21780
21839
  autoTopUpThresholdUsd: NonNegativeUsdSchema.nullable(),
21781
21840
  autoTopUpAmountUsd: PositiveUsdSchema.nullable(),
21841
+ // Set when an automatic charge cannot proceed without operator attention.
21842
+ // The timestamp is intentionally the whole public failure contract: payment
21843
+ // provider identifiers and decline details stay out of settings responses.
21844
+ autoTopUpRequiresAttentionAt: external_exports.string().datetime().nullable().default(null),
21782
21845
  // System-managed pause marker: set by the circuit breaker when the org's
21783
21846
  // balance drops below its reserve, cleared by the credit-event resume hook.
21784
21847
  // Never set by the settings PATCH (the request schema is strict without it).
@@ -21787,7 +21850,10 @@ var init_billing = __esm({
21787
21850
  // the org's Stripe customer, and the saved card auto-top-up charges
21788
21851
  // off-session. A non-null payment method is what "card on file" means.
21789
21852
  stripeCustomerId: external_exports.string().trim().min(1).nullable(),
21790
- stripeDefaultPaymentMethodId: external_exports.string().trim().min(1).nullable()
21853
+ stripeDefaultPaymentMethodId: external_exports.string().trim().min(1).nullable(),
21854
+ // Safe provenance used server-side to reject a test/live mismatch before a
21855
+ // real charge attempt. Null preserves compatibility with legacy rows.
21856
+ stripeDefaultPaymentMethodLivemode: external_exports.boolean().nullable().default(null)
21791
21857
  });
21792
21858
  UpdateOrganizationBillingSettingsRequestSchema = external_exports.object({
21793
21859
  spendLimitDayUsd: PositiveUsdSchema.nullable().optional(),
@@ -22166,6 +22232,7 @@ var init_project_config = __esm({
22166
22232
  "use strict";
22167
22233
  init_zod();
22168
22234
  init_agents();
22235
+ init_archive_policy();
22169
22236
  init_ids();
22170
22237
  init_primitives();
22171
22238
  init_resources();
@@ -22295,10 +22362,13 @@ var init_project_config = __esm({
22295
22362
  });
22296
22363
  UpdateProjectSettingsRequestSchema = external_exports.object({
22297
22364
  name: external_exports.string().trim().min(1).optional(),
22298
- slug: AppRouteSlugSchema.optional()
22299
- }).strict().refine((value) => value.name !== void 0 || value.slug !== void 0, {
22300
- message: "At least one settings field is required"
22301
- });
22365
+ slug: AppRouteSlugSchema.optional(),
22366
+ sessionAutoArchivePolicy: AutoArchivePolicySchema.optional(),
22367
+ taskAutoArchivePolicy: AutoArchivePolicySchema.optional()
22368
+ }).strict().refine(
22369
+ (value) => value.name !== void 0 || value.slug !== void 0 || value.sessionAutoArchivePolicy !== void 0 || value.taskAutoArchivePolicy !== void 0,
22370
+ { message: "At least one settings field is required" }
22371
+ );
22302
22372
  }
22303
22373
  });
22304
22374
 
@@ -81601,6 +81671,7 @@ var init_src = __esm({
81601
81671
  "use strict";
81602
81672
  init_account();
81603
81673
  init_auth();
81674
+ init_archive_policy();
81604
81675
  init_capability_attenuation();
81605
81676
  init_chat();
81606
81677
  init_chatgpt_codex();
@@ -84428,7 +84499,7 @@ var init_package = __esm({
84428
84499
  "package.json"() {
84429
84500
  package_default = {
84430
84501
  name: "@autohq/cli",
84431
- version: "0.1.562",
84502
+ version: "0.1.563",
84432
84503
  license: "SEE LICENSE IN README.md",
84433
84504
  publishConfig: {
84434
84505
  access: "public"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autohq/cli",
3
- "version": "0.1.562",
3
+ "version": "0.1.563",
4
4
  "license": "SEE LICENSE IN README.md",
5
5
  "publishConfig": {
6
6
  "access": "public"