@autohq/cli 0.1.319 → 0.1.320

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.
@@ -23432,7 +23432,7 @@ Object.assign(lookup, {
23432
23432
  // package.json
23433
23433
  var package_default = {
23434
23434
  name: "@autohq/cli",
23435
- version: "0.1.319",
23435
+ version: "0.1.320",
23436
23436
  license: "SEE LICENSE IN README.md",
23437
23437
  publishConfig: {
23438
23438
  access: "public"
@@ -26264,24 +26264,29 @@ var RouteBySchema = external_exports.union([
26264
26264
  var SingletonRouteBySchema = external_exports.object({
26265
26265
  kind: external_exports.literal("singleton")
26266
26266
  });
26267
- var OnUnmatchedSchema = external_exports.enum(["drop", "warn", "error"]).default("drop");
26267
+ var TRIGGER_ON_UNMATCHED_POLICIES = [
26268
+ "drop",
26269
+ "warn",
26270
+ "error",
26271
+ "spawn"
26272
+ ];
26273
+ var OnUnmatchedSchema = external_exports.enum(TRIGGER_ON_UNMATCHED_POLICIES).default("drop");
26268
26274
  var SpawnBindSchema = external_exports.object({
26269
26275
  target: TriggerBindingTargetTypeSchema
26270
26276
  });
26271
- var TriggerRoutingSchema = external_exports.discriminatedUnion("kind", [
26277
+ var CanonicalTriggerRoutingSchema = external_exports.discriminatedUnion("kind", [
26272
26278
  external_exports.object({
26273
26279
  kind: external_exports.literal("spawn"),
26274
26280
  bind: SpawnBindSchema.optional()
26275
26281
  }),
26282
+ // Deliver route: `routeBy` names the resolution strategy. Omitting it is
26283
+ // valid only for a concurrency-capped agent (validated at the agent level):
26284
+ // the delivery then resolves the agent's one live slot member.
26276
26285
  external_exports.object({
26277
26286
  kind: external_exports.literal("deliver"),
26278
- routeBy: RouteBySchema,
26287
+ routeBy: RouteBySchema.optional(),
26279
26288
  onUnmatched: OnUnmatchedSchema
26280
26289
  }),
26281
- external_exports.object({
26282
- kind: external_exports.literal("deliverOrSpawn"),
26283
- routeBy: SingletonRouteBySchema
26284
- }),
26285
26290
  // Bind route: resolve the event's routing target to the session bound to it
26286
26291
  // for this agent and deliver a message, else apply the onUnmatched policy.
26287
26292
  // The unified continuation primitive the foundation's resolveBoundSession
@@ -26292,6 +26297,18 @@ var TriggerRoutingSchema = external_exports.discriminatedUnion("kind", [
26292
26297
  onUnmatched: OnUnmatchedSchema
26293
26298
  })
26294
26299
  ]);
26300
+ var LegacyDeliverOrSpawnRoutingSchema = external_exports.object({
26301
+ kind: external_exports.literal("deliverOrSpawn"),
26302
+ routeBy: SingletonRouteBySchema
26303
+ }).transform(() => ({
26304
+ kind: "deliver",
26305
+ routeBy: { kind: "singleton" },
26306
+ onUnmatched: "spawn"
26307
+ }));
26308
+ var TriggerRoutingSchema = external_exports.union([
26309
+ CanonicalTriggerRoutingSchema,
26310
+ LegacyDeliverOrSpawnRoutingSchema
26311
+ ]);
26295
26312
  var SourceEventRequestSchema = external_exports.object({
26296
26313
  organizationId: external_exports.string().trim().min(1),
26297
26314
  projectId: external_exports.string().trim().min(1).nullable().optional(),
@@ -26425,6 +26442,10 @@ var AgentArchiveAfterInactiveSchema = external_exports.object({
26425
26442
  var AgentSessionPolicySchema = external_exports.object({
26426
26443
  archiveAfterInactive: AgentArchiveAfterInactiveSchema.optional()
26427
26444
  }).strict().default({});
26445
+ var AgentConcurrencySchema = external_exports.number().int().refine((value2) => value2 === 1, {
26446
+ message: "Only `concurrency: 1` is supported; larger pools are a deliberate non-goal for now (see docs/singleton-session-refresh.md)"
26447
+ });
26448
+ var AgentReplacePolicySchema = external_exports.literal("auto");
26428
26449
  var TriggerEventSchema = external_exports.string().trim().min(1);
26429
26450
  var TriggerEventsSchema = external_exports.array(TriggerEventSchema).min(1).superRefine((events, context) => {
26430
26451
  const seen = /* @__PURE__ */ new Set();
@@ -26668,6 +26689,9 @@ var AgentSpecFieldsSchema = external_exports.object({
26668
26689
  mounts: external_exports.array(AgentMountSchema).default([]),
26669
26690
  triggers: TriggersSchema.default([]),
26670
26691
  session: AgentSessionPolicySchema,
26692
+ concurrency: AgentConcurrencySchema.optional(),
26693
+ replace: AgentReplacePolicySchema.optional(),
26694
+ onReplace: external_exports.string().trim().min(1).max(2e4).optional(),
26671
26695
  workingDirectory: external_exports.string().trim().min(1).optional(),
26672
26696
  tools: AgentToolsSchema.default({})
26673
26697
  });
@@ -26700,7 +26724,36 @@ var AgentApplySpecSchema = AgentSpecFieldsSchema.extend({
26700
26724
  }).superRefine((spec, context) => {
26701
26725
  validateRunnableConfig(spec, context);
26702
26726
  validateAgentModelFieldsForHarness(spec, context);
26727
+ validateConcurrencyConfig(spec, context);
26703
26728
  });
26729
+ function validateConcurrencyConfig(spec, context) {
26730
+ if (spec.concurrency === void 0 && spec.replace !== void 0) {
26731
+ context.addIssue({
26732
+ code: external_exports.ZodIssueCode.custom,
26733
+ path: ["replace"],
26734
+ message: "`replace` requires `concurrency` (the cap it manages)"
26735
+ });
26736
+ }
26737
+ if (spec.onReplace !== void 0 && spec.replace === void 0) {
26738
+ context.addIssue({
26739
+ code: external_exports.ZodIssueCode.custom,
26740
+ path: ["onReplace"],
26741
+ message: "`onReplace` requires `replace: auto` (it is the rebuild prompt delivered to platform-spawned replacements; nothing consumes it otherwise)"
26742
+ });
26743
+ }
26744
+ if (spec.concurrency !== void 0) {
26745
+ return;
26746
+ }
26747
+ for (const [index, trigger] of spec.triggers.entries()) {
26748
+ if (trigger.routing.kind === "deliver" && !trigger.routing.routeBy) {
26749
+ context.addIssue({
26750
+ code: external_exports.ZodIssueCode.custom,
26751
+ path: ["triggers", index, "routing", "routeBy"],
26752
+ message: "A `deliver` trigger without `routeBy` resolves the agent's concurrency slot; set `concurrency: 1` on the agent or name a routeBy strategy"
26753
+ });
26754
+ }
26755
+ }
26756
+ }
26704
26757
  var AgentStatusSchema = external_exports.object({
26705
26758
  runCount: external_exports.number().int().nonnegative().default(0),
26706
26759
  lastActivityAt: external_exports.string().datetime().nullable().default(null)
@@ -26930,7 +26983,7 @@ function isSpawnTrigger(trigger) {
26930
26983
  return trigger.routing.kind === "spawn";
26931
26984
  }
26932
26985
  function isAttributedSessionsDeliverTrigger(trigger) {
26933
- return trigger.routing.kind === "deliver" && trigger.routing.routeBy.kind === "attributedSessions";
26986
+ return trigger.routing.kind === "deliver" && trigger.routing.routeBy?.kind === "attributedSessions";
26934
26987
  }
26935
26988
  function hasAutoAttributionsExists(trigger, expected) {
26936
26989
  const clause = trigger.where?.["$.auto.attributions"];
@@ -32429,8 +32482,18 @@ var ProjectUsageAgentSummarySchema = UsageTotalsSchema.extend({
32429
32482
  var ProjectUsageModelSummarySchema = UsageTotalsSchema.extend({
32430
32483
  model: external_exports.string().trim().min(1)
32431
32484
  });
32485
+ var ProjectUsageDayAgentSliceSchema = external_exports.object({
32486
+ agentResourceId: external_exports.string().trim().min(1),
32487
+ derivedCostUsd: NonNegativeUsdSchema
32488
+ });
32489
+ var ProjectUsageDayModelSliceSchema = external_exports.object({
32490
+ model: external_exports.string().trim().min(1),
32491
+ derivedCostUsd: NonNegativeUsdSchema
32492
+ });
32432
32493
  var ProjectUsageDayPointSchema = UsageTotalsSchema.extend({
32433
- date: UtcDateSchema
32494
+ date: UtcDateSchema,
32495
+ byAgent: external_exports.array(ProjectUsageDayAgentSliceSchema),
32496
+ byModel: external_exports.array(ProjectUsageDayModelSliceSchema)
32434
32497
  });
32435
32498
  var ProjectUsageResponseSchema = external_exports.object({
32436
32499
  organizationId: OrganizationIdSchema,
package/dist/index.js CHANGED
@@ -17742,7 +17742,7 @@ function normalizeLegacyHeartbeatTickWorkflowInput(input) {
17742
17742
  agentResourceId: sessionResourceId
17743
17743
  };
17744
17744
  }
17745
- var CANONICAL_ROUTE_BY_KINDS, LEGACY_ROUTE_BY_KINDS, CanonicalRouteBySchema, LegacyRouteBySchema, RouteBySchema, SingletonRouteBySchema, OnUnmatchedSchema, SpawnBindSchema, TriggerRoutingSchema, SourceEventRequestSchema, EventRoutingWorkflowInputSchema, HeartbeatTickWorkflowInputSchema, GithubPullRequestMergeabilityWorkflowInputSchema, GithubPullRequestMergeabilityWorkflowResultSchema, EventRoutingTriggerResultSchema;
17745
+ var CANONICAL_ROUTE_BY_KINDS, LEGACY_ROUTE_BY_KINDS, CanonicalRouteBySchema, LegacyRouteBySchema, RouteBySchema, SingletonRouteBySchema, TRIGGER_ON_UNMATCHED_POLICIES, OnUnmatchedSchema, SpawnBindSchema, CanonicalTriggerRoutingSchema, LegacyDeliverOrSpawnRoutingSchema, TriggerRoutingSchema, SourceEventRequestSchema, EventRoutingWorkflowInputSchema, HeartbeatTickWorkflowInputSchema, GithubPullRequestMergeabilityWorkflowInputSchema, GithubPullRequestMergeabilityWorkflowResultSchema, EventRoutingTriggerResultSchema;
17746
17746
  var init_trigger_router = __esm({
17747
17747
  "../../packages/schemas/src/trigger-router.ts"() {
17748
17748
  "use strict";
@@ -17797,24 +17797,29 @@ var init_trigger_router = __esm({
17797
17797
  SingletonRouteBySchema = external_exports.object({
17798
17798
  kind: external_exports.literal("singleton")
17799
17799
  });
17800
- OnUnmatchedSchema = external_exports.enum(["drop", "warn", "error"]).default("drop");
17800
+ TRIGGER_ON_UNMATCHED_POLICIES = [
17801
+ "drop",
17802
+ "warn",
17803
+ "error",
17804
+ "spawn"
17805
+ ];
17806
+ OnUnmatchedSchema = external_exports.enum(TRIGGER_ON_UNMATCHED_POLICIES).default("drop");
17801
17807
  SpawnBindSchema = external_exports.object({
17802
17808
  target: TriggerBindingTargetTypeSchema
17803
17809
  });
17804
- TriggerRoutingSchema = external_exports.discriminatedUnion("kind", [
17810
+ CanonicalTriggerRoutingSchema = external_exports.discriminatedUnion("kind", [
17805
17811
  external_exports.object({
17806
17812
  kind: external_exports.literal("spawn"),
17807
17813
  bind: SpawnBindSchema.optional()
17808
17814
  }),
17815
+ // Deliver route: `routeBy` names the resolution strategy. Omitting it is
17816
+ // valid only for a concurrency-capped agent (validated at the agent level):
17817
+ // the delivery then resolves the agent's one live slot member.
17809
17818
  external_exports.object({
17810
17819
  kind: external_exports.literal("deliver"),
17811
- routeBy: RouteBySchema,
17820
+ routeBy: RouteBySchema.optional(),
17812
17821
  onUnmatched: OnUnmatchedSchema
17813
17822
  }),
17814
- external_exports.object({
17815
- kind: external_exports.literal("deliverOrSpawn"),
17816
- routeBy: SingletonRouteBySchema
17817
- }),
17818
17823
  // Bind route: resolve the event's routing target to the session bound to it
17819
17824
  // for this agent and deliver a message, else apply the onUnmatched policy.
17820
17825
  // The unified continuation primitive the foundation's resolveBoundSession
@@ -17825,6 +17830,18 @@ var init_trigger_router = __esm({
17825
17830
  onUnmatched: OnUnmatchedSchema
17826
17831
  })
17827
17832
  ]);
17833
+ LegacyDeliverOrSpawnRoutingSchema = external_exports.object({
17834
+ kind: external_exports.literal("deliverOrSpawn"),
17835
+ routeBy: SingletonRouteBySchema
17836
+ }).transform(() => ({
17837
+ kind: "deliver",
17838
+ routeBy: { kind: "singleton" },
17839
+ onUnmatched: "spawn"
17840
+ }));
17841
+ TriggerRoutingSchema = external_exports.union([
17842
+ CanonicalTriggerRoutingSchema,
17843
+ LegacyDeliverOrSpawnRoutingSchema
17844
+ ]);
17828
17845
  SourceEventRequestSchema = external_exports.object({
17829
17846
  organizationId: external_exports.string().trim().min(1),
17830
17847
  projectId: external_exports.string().trim().min(1).nullable().optional(),
@@ -18092,6 +18109,34 @@ function validateRunnableConfig(spec, context) {
18092
18109
  });
18093
18110
  }
18094
18111
  }
18112
+ function validateConcurrencyConfig(spec, context) {
18113
+ if (spec.concurrency === void 0 && spec.replace !== void 0) {
18114
+ context.addIssue({
18115
+ code: external_exports.ZodIssueCode.custom,
18116
+ path: ["replace"],
18117
+ message: "`replace` requires `concurrency` (the cap it manages)"
18118
+ });
18119
+ }
18120
+ if (spec.onReplace !== void 0 && spec.replace === void 0) {
18121
+ context.addIssue({
18122
+ code: external_exports.ZodIssueCode.custom,
18123
+ path: ["onReplace"],
18124
+ message: "`onReplace` requires `replace: auto` (it is the rebuild prompt delivered to platform-spawned replacements; nothing consumes it otherwise)"
18125
+ });
18126
+ }
18127
+ if (spec.concurrency !== void 0) {
18128
+ return;
18129
+ }
18130
+ for (const [index, trigger] of spec.triggers.entries()) {
18131
+ if (trigger.routing.kind === "deliver" && !trigger.routing.routeBy) {
18132
+ context.addIssue({
18133
+ code: external_exports.ZodIssueCode.custom,
18134
+ path: ["triggers", index, "routing", "routeBy"],
18135
+ message: "A `deliver` trigger without `routeBy` resolves the agent's concurrency slot; set `concurrency: 1` on the agent or name a routeBy strategy"
18136
+ });
18137
+ }
18138
+ }
18139
+ }
18095
18140
  function validateTriggerChecks(trigger, context, eventKeys) {
18096
18141
  const checks = trigger.checks ?? [];
18097
18142
  if (checks.length === 0) {
@@ -18203,7 +18248,7 @@ function isSpawnTrigger(trigger) {
18203
18248
  return trigger.routing.kind === "spawn";
18204
18249
  }
18205
18250
  function isAttributedSessionsDeliverTrigger(trigger) {
18206
- return trigger.routing.kind === "deliver" && trigger.routing.routeBy.kind === "attributedSessions";
18251
+ return trigger.routing.kind === "deliver" && trigger.routing.routeBy?.kind === "attributedSessions";
18207
18252
  }
18208
18253
  function hasAutoAttributionsExists(trigger, expected) {
18209
18254
  const clause = trigger.where?.["$.auto.attributions"];
@@ -18215,7 +18260,7 @@ function isChatMessageEvent(trigger) {
18215
18260
  function hasFilterValue(trigger, path2, expected) {
18216
18261
  return trigger.where?.[path2] === expected;
18217
18262
  }
18218
- var RESOURCE_KIND_AGENT, AGENT_HARNESSES, AgentHarnessSchema, TriggerFilterScalarSchema, TriggerFilterPathSchema, TriggerFilterClauseSchema, TriggerFilterSchema, TriggerCheckTimeoutSchema, AgentArchiveAfterInactiveSchema, AgentSessionPolicySchema, TriggerEventSchema, TriggerEventsSchema, PAYLOAD_PREFIXED_TEMPLATE_TOKEN, TriggerChecksField, TriggerEventSourceFields, TriggerSchema, ApplyTriggerSchema, HeartbeatTriggerSchema, ApplyHeartbeatTriggerSchema, TriggerDefinitionSchema, ApplyTriggerDefinitionSchema, TriggersSchema, ApplyTriggersSchema, AVATAR_ASSET_EXTENSIONS, MAX_AVATAR_ASSET_BYTES, MIN_AVATAR_ASSET_DIMENSION_PX, MAX_AVATAR_ASSET_DIMENSION_PX, PNG_SIGNATURE, AGENT_IDENTITY_DESCRIPTION_MAX_LENGTH, SHA256_HEX_PATTERN, AgentIdentitySchema, AgentSpecFieldsSchema, AgentSpecSchema, AgentApplySpecSchema, AgentStatusSchema, AgentResourceSchema, AgentApplyRequestSchema, ApplyTriggerReceiptSchema, AgentApplyResponseSchema, AGENT_TELEGRAM_IDENTITY_STATUSES, AgentTelegramIdentityStatusSchema, AgentPresenceIdentitySchema, AgentPresenceResponseSchema, AgentPresenceConnectRequestSchema, AgentPresenceConnectPendingSchema, AgentPresenceConnectResponseSchema, AgentPresenceIconRequestSchema, AgentPresenceIconResponseSchema, AgentPresenceCompleteResponseSchema;
18263
+ var RESOURCE_KIND_AGENT, AGENT_HARNESSES, AgentHarnessSchema, TriggerFilterScalarSchema, TriggerFilterPathSchema, TriggerFilterClauseSchema, TriggerFilterSchema, TriggerCheckTimeoutSchema, AgentArchiveAfterInactiveSchema, AgentSessionPolicySchema, AgentConcurrencySchema, AgentReplacePolicySchema, TriggerEventSchema, TriggerEventsSchema, PAYLOAD_PREFIXED_TEMPLATE_TOKEN, TriggerChecksField, TriggerEventSourceFields, TriggerSchema, ApplyTriggerSchema, HeartbeatTriggerSchema, ApplyHeartbeatTriggerSchema, TriggerDefinitionSchema, ApplyTriggerDefinitionSchema, TriggersSchema, ApplyTriggersSchema, AVATAR_ASSET_EXTENSIONS, MAX_AVATAR_ASSET_BYTES, MIN_AVATAR_ASSET_DIMENSION_PX, MAX_AVATAR_ASSET_DIMENSION_PX, PNG_SIGNATURE, AGENT_IDENTITY_DESCRIPTION_MAX_LENGTH, SHA256_HEX_PATTERN, AgentIdentitySchema, AgentSpecFieldsSchema, AgentSpecSchema, AgentApplySpecSchema, AgentStatusSchema, AgentResourceSchema, AgentApplyRequestSchema, ApplyTriggerReceiptSchema, AgentApplyResponseSchema, AGENT_TELEGRAM_IDENTITY_STATUSES, AgentTelegramIdentityStatusSchema, AgentPresenceIdentitySchema, AgentPresenceResponseSchema, AgentPresenceConnectRequestSchema, AgentPresenceConnectPendingSchema, AgentPresenceConnectResponseSchema, AgentPresenceIconRequestSchema, AgentPresenceIconResponseSchema, AgentPresenceCompleteResponseSchema;
18219
18264
  var init_agents = __esm({
18220
18265
  "../../packages/schemas/src/agents.ts"() {
18221
18266
  "use strict";
@@ -18273,6 +18318,10 @@ var init_agents = __esm({
18273
18318
  AgentSessionPolicySchema = external_exports.object({
18274
18319
  archiveAfterInactive: AgentArchiveAfterInactiveSchema.optional()
18275
18320
  }).strict().default({});
18321
+ AgentConcurrencySchema = external_exports.number().int().refine((value) => value === 1, {
18322
+ message: "Only `concurrency: 1` is supported; larger pools are a deliberate non-goal for now (see docs/singleton-session-refresh.md)"
18323
+ });
18324
+ AgentReplacePolicySchema = external_exports.literal("auto");
18276
18325
  TriggerEventSchema = external_exports.string().trim().min(1);
18277
18326
  TriggerEventsSchema = external_exports.array(TriggerEventSchema).min(1).superRefine((events, context) => {
18278
18327
  const seen = /* @__PURE__ */ new Set();
@@ -18398,6 +18447,9 @@ var init_agents = __esm({
18398
18447
  mounts: external_exports.array(AgentMountSchema).default([]),
18399
18448
  triggers: TriggersSchema.default([]),
18400
18449
  session: AgentSessionPolicySchema,
18450
+ concurrency: AgentConcurrencySchema.optional(),
18451
+ replace: AgentReplacePolicySchema.optional(),
18452
+ onReplace: external_exports.string().trim().min(1).max(2e4).optional(),
18401
18453
  workingDirectory: external_exports.string().trim().min(1).optional(),
18402
18454
  tools: AgentToolsSchema.default({})
18403
18455
  });
@@ -18414,6 +18466,7 @@ var init_agents = __esm({
18414
18466
  }).superRefine((spec, context) => {
18415
18467
  validateRunnableConfig(spec, context);
18416
18468
  validateAgentModelFieldsForHarness(spec, context);
18469
+ validateConcurrencyConfig(spec, context);
18417
18470
  });
18418
18471
  AgentStatusSchema = external_exports.object({
18419
18472
  runCount: external_exports.number().int().nonnegative().default(0),
@@ -24218,7 +24271,7 @@ var init_temporal = __esm({
24218
24271
  });
24219
24272
 
24220
24273
  // ../../packages/schemas/src/usage.ts
24221
- var UsageHarnessSchema, ModelCredentialFundingSourceSchema, NonNegativeTokenCountSchema, NonNegativeUsdSchema, UsageEventSchema, UsageEventRecordSchema, UsageTotalsSchema, SessionUsageModelSummarySchema, SessionUsageResponseSchema, PROJECT_USAGE_RANGE_KEYS, ProjectUsageRangeKeySchema, UtcDateSchema, ProjectUsageTotalsSchema, ProjectUsageAgentSummarySchema, ProjectUsageModelSummarySchema, ProjectUsageDayPointSchema, ProjectUsageResponseSchema;
24274
+ var UsageHarnessSchema, ModelCredentialFundingSourceSchema, NonNegativeTokenCountSchema, NonNegativeUsdSchema, UsageEventSchema, UsageEventRecordSchema, UsageTotalsSchema, SessionUsageModelSummarySchema, SessionUsageResponseSchema, PROJECT_USAGE_RANGE_KEYS, ProjectUsageRangeKeySchema, UtcDateSchema, ProjectUsageTotalsSchema, ProjectUsageAgentSummarySchema, ProjectUsageModelSummarySchema, ProjectUsageDayAgentSliceSchema, ProjectUsageDayModelSliceSchema, ProjectUsageDayPointSchema, ProjectUsageResponseSchema;
24222
24275
  var init_usage = __esm({
24223
24276
  "../../packages/schemas/src/usage.ts"() {
24224
24277
  "use strict";
@@ -24308,8 +24361,18 @@ var init_usage = __esm({
24308
24361
  ProjectUsageModelSummarySchema = UsageTotalsSchema.extend({
24309
24362
  model: external_exports.string().trim().min(1)
24310
24363
  });
24364
+ ProjectUsageDayAgentSliceSchema = external_exports.object({
24365
+ agentResourceId: external_exports.string().trim().min(1),
24366
+ derivedCostUsd: NonNegativeUsdSchema
24367
+ });
24368
+ ProjectUsageDayModelSliceSchema = external_exports.object({
24369
+ model: external_exports.string().trim().min(1),
24370
+ derivedCostUsd: NonNegativeUsdSchema
24371
+ });
24311
24372
  ProjectUsageDayPointSchema = UsageTotalsSchema.extend({
24312
- date: UtcDateSchema
24373
+ date: UtcDateSchema,
24374
+ byAgent: external_exports.array(ProjectUsageDayAgentSliceSchema),
24375
+ byModel: external_exports.array(ProjectUsageDayModelSliceSchema)
24313
24376
  });
24314
24377
  ProjectUsageResponseSchema = external_exports.object({
24315
24378
  organizationId: OrganizationIdSchema,
@@ -27107,7 +27170,7 @@ var init_package = __esm({
27107
27170
  "package.json"() {
27108
27171
  package_default = {
27109
27172
  name: "@autohq/cli",
27110
- version: "0.1.319",
27173
+ version: "0.1.320",
27111
27174
  license: "SEE LICENSE IN README.md",
27112
27175
  publishConfig: {
27113
27176
  access: "public"
@@ -28742,6 +28805,9 @@ var init_agent_fields = __esm({
28742
28805
  mounts: mountsField(),
28743
28806
  triggers: triggersField(),
28744
28807
  session: specField(),
28808
+ concurrency: specField(),
28809
+ replace: specField(),
28810
+ onReplace: fileBackedStringField(),
28745
28811
  workingDirectory: specField(),
28746
28812
  tools: namedMapField()
28747
28813
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autohq/cli",
3
- "version": "0.1.319",
3
+ "version": "0.1.320",
4
4
  "license": "SEE LICENSE IN README.md",
5
5
  "publishConfig": {
6
6
  "access": "public"