@autohq/cli 0.1.250 → 0.1.252

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.
@@ -23340,7 +23340,7 @@ Object.assign(lookup, {
23340
23340
  // package.json
23341
23341
  var package_default = {
23342
23342
  name: "@autohq/cli",
23343
- version: "0.1.250",
23343
+ version: "0.1.252",
23344
23344
  license: "SEE LICENSE IN README.md",
23345
23345
  publishConfig: {
23346
23346
  access: "public"
@@ -25457,6 +25457,29 @@ var GithubSyncWorkflowInputSchema = external_exports.discriminatedUnion("kind",
25457
25457
  before: external_exports.string().trim().min(1).optional(),
25458
25458
  after: external_exports.string().trim().min(1),
25459
25459
  triggerArtifact: GithubSyncTriggerArtifactSchema.optional()
25460
+ }),
25461
+ // Synthetic re-apply triggered by a managed-template version bump (not a
25462
+ // webhook). The tenant's `.auto` is unchanged — only our registry changed —
25463
+ // so this arm skips the `no_auto_changes` early-out and applies the production
25464
+ // branch HEAD (`after`, which the sweep resolves before starting the run).
25465
+ // It is otherwise push-shaped. `templateName`/`version` identify the drift
25466
+ // that triggered it (for the commit check + idempotent workflow id).
25467
+ external_exports.object({
25468
+ kind: external_exports.literal("template_push"),
25469
+ bindingId: external_exports.string().trim().min(1),
25470
+ organizationId: OrganizationIdSchema,
25471
+ projectId: ProjectIdSchema,
25472
+ providerGrantId: ProviderGrantIdSchema,
25473
+ installationId: external_exports.string().trim().min(1),
25474
+ repoFullName: GithubSyncRepositoryFullNameSchema,
25475
+ repoId: external_exports.string().trim().min(1).optional(),
25476
+ productionBranch: GithubSyncProductionBranchSchema,
25477
+ autoPath: external_exports.literal(GITHUB_SYNC_AUTO_PATH),
25478
+ before: external_exports.string().trim().min(1).optional(),
25479
+ after: external_exports.string().trim().min(1),
25480
+ templateName: external_exports.string().trim().min(1),
25481
+ version: external_exports.string().trim().min(1),
25482
+ triggerArtifact: GithubSyncTriggerArtifactSchema.optional()
25460
25483
  })
25461
25484
  ]);
25462
25485
  var GithubSyncWorkflowResultSchema = external_exports.discriminatedUnion("status", [
@@ -25721,20 +25744,27 @@ var SecretReferenceSchema = external_exports.object({
25721
25744
  var NoToolAuthSchema = external_exports.object({
25722
25745
  kind: external_exports.literal("none")
25723
25746
  });
25747
+ var OptionalConnectionField = {
25748
+ optional: external_exports.boolean().optional()
25749
+ };
25724
25750
  var McpOAuthToolAuthSchema = external_exports.object({
25725
25751
  kind: external_exports.literal("mcp_oauth"),
25726
- connection: ResourceNameSchema
25752
+ connection: ResourceNameSchema,
25753
+ ...OptionalConnectionField
25727
25754
  });
25728
25755
  var ConnectionToolAuthSchema = ProviderConnectionReferenceSchema.extend({
25729
- kind: external_exports.literal("connection")
25756
+ kind: external_exports.literal("connection"),
25757
+ ...OptionalConnectionField
25730
25758
  });
25731
25759
  var ConnectionsToolAuthSchema = external_exports.object({
25732
25760
  kind: external_exports.literal("connections"),
25733
- connections: external_exports.array(ProviderConnectionReferenceSchema).min(1)
25761
+ connections: external_exports.array(ProviderConnectionReferenceSchema).min(1),
25762
+ ...OptionalConnectionField
25734
25763
  });
25735
25764
  var ConnectionBackedToolSchema = ProviderConnectionReferenceSchema.extend({
25736
25765
  kind: external_exports.literal("connection"),
25737
- description: external_exports.string().trim().min(1).optional()
25766
+ description: external_exports.string().trim().min(1).optional(),
25767
+ ...OptionalConnectionField
25738
25768
  });
25739
25769
  var ToolAliasSchema = ResourceNameSchema.refine(
25740
25770
  (value2) => value2 !== "workspace",
@@ -25773,7 +25803,8 @@ function remoteMcpToolSchema(input) {
25773
25803
  }),
25774
25804
  McpOAuthToolAuthSchema,
25775
25805
  ProviderConnectionReferenceSchema.extend({
25776
- kind: external_exports.literal("provider_oauth")
25806
+ kind: external_exports.literal("provider_oauth"),
25807
+ ...OptionalConnectionField
25777
25808
  })
25778
25809
  ]).default({ kind: "none" })
25779
25810
  });
@@ -26131,6 +26162,11 @@ function triggerSharedFields(guard) {
26131
26162
  }
26132
26163
  var TriggerEventSourceFields = {
26133
26164
  connection: ConnectionNameSchema.optional(),
26165
+ // Mark a connection-bound trigger optional so apply silently skips it (rather
26166
+ // than failing) when the referenced connection has no active grant. The
26167
+ // skipped trigger is omitted from the applied agent and re-activates on the
26168
+ // next apply/sync once the connection is set up.
26169
+ optional: external_exports.boolean().optional(),
26134
26170
  endpoint: external_exports.string().trim().min(1).optional(),
26135
26171
  auth: external_exports.discriminatedUnion("kind", [
26136
26172
  external_exports.object({
@@ -26188,6 +26224,7 @@ function heartbeatTriggerBaseSchema(guard) {
26188
26224
  kind: external_exports.literal("heartbeat"),
26189
26225
  event: external_exports.never().optional(),
26190
26226
  connection: external_exports.never().optional(),
26227
+ optional: external_exports.never().optional(),
26191
26228
  endpoint: external_exports.never().optional(),
26192
26229
  auth: external_exports.never().optional(),
26193
26230
  cron: external_exports.string().trim().min(1).max(512),
@@ -26891,7 +26928,10 @@ var ProjectAppliedResourceSchema = external_exports.union([
26891
26928
  AgentResourceSchema
26892
26929
  ]);
26893
26930
  var ProjectApplyDiagnosticSchema = external_exports.object({
26894
- severity: external_exports.literal("error"),
26931
+ // "info" is a non-blocking advisory (e.g. template-push capability/override
26932
+ // notices); "error" remains the validation-failure severity. Coordinated
26933
+ // shape with the optional-connection-gating work; whoever lands second rebases.
26934
+ severity: external_exports.enum(["error", "info"]),
26895
26935
  blocking: external_exports.boolean(),
26896
26936
  code: external_exports.string().min(1),
26897
26937
  message: external_exports.string().min(1),
@@ -27897,7 +27937,7 @@ var TemplateTrackSchema = external_exports.discriminatedUnion("kind", [
27897
27937
  external_exports.object({ kind: external_exports.literal("pinned"), version: external_exports.string().trim().min(1) })
27898
27938
  ]);
27899
27939
  var TemplatePushStatusSchema = external_exports.discriminatedUnion("kind", [
27900
- external_exports.object({ kind: external_exports.literal("pushed"), at: external_exports.string() }),
27940
+ external_exports.object({ kind: external_exports.literal("dispatched"), at: external_exports.string() }),
27901
27941
  external_exports.object({ kind: external_exports.literal("failed"), at: external_exports.string(), error: external_exports.string() }),
27902
27942
  external_exports.object({ kind: external_exports.literal("skipped"), at: external_exports.string(), reason: external_exports.string() })
27903
27943
  ]);
package/dist/index.js CHANGED
@@ -17016,6 +17016,29 @@ var init_github_sync = __esm({
17016
17016
  before: external_exports.string().trim().min(1).optional(),
17017
17017
  after: external_exports.string().trim().min(1),
17018
17018
  triggerArtifact: GithubSyncTriggerArtifactSchema.optional()
17019
+ }),
17020
+ // Synthetic re-apply triggered by a managed-template version bump (not a
17021
+ // webhook). The tenant's `.auto` is unchanged — only our registry changed —
17022
+ // so this arm skips the `no_auto_changes` early-out and applies the production
17023
+ // branch HEAD (`after`, which the sweep resolves before starting the run).
17024
+ // It is otherwise push-shaped. `templateName`/`version` identify the drift
17025
+ // that triggered it (for the commit check + idempotent workflow id).
17026
+ external_exports.object({
17027
+ kind: external_exports.literal("template_push"),
17028
+ bindingId: external_exports.string().trim().min(1),
17029
+ organizationId: OrganizationIdSchema,
17030
+ projectId: ProjectIdSchema,
17031
+ providerGrantId: ProviderGrantIdSchema,
17032
+ installationId: external_exports.string().trim().min(1),
17033
+ repoFullName: GithubSyncRepositoryFullNameSchema,
17034
+ repoId: external_exports.string().trim().min(1).optional(),
17035
+ productionBranch: GithubSyncProductionBranchSchema,
17036
+ autoPath: external_exports.literal(GITHUB_SYNC_AUTO_PATH),
17037
+ before: external_exports.string().trim().min(1).optional(),
17038
+ after: external_exports.string().trim().min(1),
17039
+ templateName: external_exports.string().trim().min(1),
17040
+ version: external_exports.string().trim().min(1),
17041
+ triggerArtifact: GithubSyncTriggerArtifactSchema.optional()
17019
17042
  })
17020
17043
  ]);
17021
17044
  GithubSyncWorkflowResultSchema = external_exports.discriminatedUnion("status", [
@@ -17333,12 +17356,13 @@ function remoteMcpToolSchema(input) {
17333
17356
  }),
17334
17357
  McpOAuthToolAuthSchema,
17335
17358
  ProviderConnectionReferenceSchema.extend({
17336
- kind: external_exports.literal("provider_oauth")
17359
+ kind: external_exports.literal("provider_oauth"),
17360
+ ...OptionalConnectionField
17337
17361
  })
17338
17362
  ]).default({ kind: "none" })
17339
17363
  });
17340
17364
  }
17341
- var REMOTE_MCP_TRANSPORTS, LOCAL_TOOL_IMPLEMENTATIONS, SecretReferenceSchema, NoToolAuthSchema, McpOAuthToolAuthSchema, ConnectionToolAuthSchema, ConnectionsToolAuthSchema, ConnectionBackedToolSchema, ToolAliasSchema, RemoteMcpToolSchema, LocalAutoToolSchema, LocalPingToolSchema, LocalChatToolSchema, LocalToolSchema, GithubToolSchema, ToolSpecSchema, AgentToolConnectRequestSchema, AgentToolConnectResponseSchema, AgentToolConnectCompleteResponseSchema, InlineAgentToolSchema, AgentToolRefSchema, AgentToolsSchema;
17365
+ var REMOTE_MCP_TRANSPORTS, LOCAL_TOOL_IMPLEMENTATIONS, SecretReferenceSchema, NoToolAuthSchema, OptionalConnectionField, McpOAuthToolAuthSchema, ConnectionToolAuthSchema, ConnectionsToolAuthSchema, ConnectionBackedToolSchema, ToolAliasSchema, RemoteMcpToolSchema, LocalAutoToolSchema, LocalPingToolSchema, LocalChatToolSchema, LocalToolSchema, GithubToolSchema, ToolSpecSchema, AgentToolConnectRequestSchema, AgentToolConnectResponseSchema, AgentToolConnectCompleteResponseSchema, InlineAgentToolSchema, AgentToolRefSchema, AgentToolsSchema;
17342
17366
  var init_tools = __esm({
17343
17367
  "../../packages/schemas/src/tools.ts"() {
17344
17368
  "use strict";
@@ -17355,20 +17379,27 @@ var init_tools = __esm({
17355
17379
  NoToolAuthSchema = external_exports.object({
17356
17380
  kind: external_exports.literal("none")
17357
17381
  });
17382
+ OptionalConnectionField = {
17383
+ optional: external_exports.boolean().optional()
17384
+ };
17358
17385
  McpOAuthToolAuthSchema = external_exports.object({
17359
17386
  kind: external_exports.literal("mcp_oauth"),
17360
- connection: ResourceNameSchema
17387
+ connection: ResourceNameSchema,
17388
+ ...OptionalConnectionField
17361
17389
  });
17362
17390
  ConnectionToolAuthSchema = ProviderConnectionReferenceSchema.extend({
17363
- kind: external_exports.literal("connection")
17391
+ kind: external_exports.literal("connection"),
17392
+ ...OptionalConnectionField
17364
17393
  });
17365
17394
  ConnectionsToolAuthSchema = external_exports.object({
17366
17395
  kind: external_exports.literal("connections"),
17367
- connections: external_exports.array(ProviderConnectionReferenceSchema).min(1)
17396
+ connections: external_exports.array(ProviderConnectionReferenceSchema).min(1),
17397
+ ...OptionalConnectionField
17368
17398
  });
17369
17399
  ConnectionBackedToolSchema = ProviderConnectionReferenceSchema.extend({
17370
17400
  kind: external_exports.literal("connection"),
17371
- description: external_exports.string().trim().min(1).optional()
17401
+ description: external_exports.string().trim().min(1).optional(),
17402
+ ...OptionalConnectionField
17372
17403
  });
17373
17404
  ToolAliasSchema = ResourceNameSchema.refine(
17374
17405
  (value) => value !== "workspace",
@@ -17703,6 +17734,7 @@ function heartbeatTriggerBaseSchema(guard) {
17703
17734
  kind: external_exports.literal("heartbeat"),
17704
17735
  event: external_exports.never().optional(),
17705
17736
  connection: external_exports.never().optional(),
17737
+ optional: external_exports.never().optional(),
17706
17738
  endpoint: external_exports.never().optional(),
17707
17739
  auth: external_exports.never().optional(),
17708
17740
  cron: external_exports.string().trim().min(1).max(512),
@@ -18020,6 +18052,11 @@ var init_agents = __esm({
18020
18052
  ).optional();
18021
18053
  TriggerEventSourceFields = {
18022
18054
  connection: ConnectionNameSchema.optional(),
18055
+ // Mark a connection-bound trigger optional so apply silently skips it (rather
18056
+ // than failing) when the referenced connection has no active grant. The
18057
+ // skipped trigger is omitted from the applied agent and re-activates on the
18058
+ // next apply/sync once the connection is set up.
18059
+ optional: external_exports.boolean().optional(),
18023
18060
  endpoint: external_exports.string().trim().min(1).optional(),
18024
18061
  auth: external_exports.discriminatedUnion("kind", [
18025
18062
  external_exports.object({
@@ -18625,7 +18662,10 @@ var init_project_resources = __esm({
18625
18662
  AgentResourceSchema
18626
18663
  ]);
18627
18664
  ProjectApplyDiagnosticSchema = external_exports.object({
18628
- severity: external_exports.literal("error"),
18665
+ // "info" is a non-blocking advisory (e.g. template-push capability/override
18666
+ // notices); "error" remains the validation-failure severity. Coordinated
18667
+ // shape with the optional-connection-gating work; whoever lands second rebases.
18668
+ severity: external_exports.enum(["error", "info"]),
18629
18669
  blocking: external_exports.boolean(),
18630
18670
  code: external_exports.string().min(1),
18631
18671
  message: external_exports.string().min(1),
@@ -19795,7 +19835,7 @@ var init_subscription = __esm({
19795
19835
  external_exports.object({ kind: external_exports.literal("pinned"), version: external_exports.string().trim().min(1) })
19796
19836
  ]);
19797
19837
  TemplatePushStatusSchema = external_exports.discriminatedUnion("kind", [
19798
- external_exports.object({ kind: external_exports.literal("pushed"), at: external_exports.string() }),
19838
+ external_exports.object({ kind: external_exports.literal("dispatched"), at: external_exports.string() }),
19799
19839
  external_exports.object({ kind: external_exports.literal("failed"), at: external_exports.string(), error: external_exports.string() }),
19800
19840
  external_exports.object({ kind: external_exports.literal("skipped"), at: external_exports.string(), reason: external_exports.string() })
19801
19841
  ]);
@@ -22667,7 +22707,7 @@ var init_package = __esm({
22667
22707
  "package.json"() {
22668
22708
  package_default = {
22669
22709
  name: "@autohq/cli",
22670
- version: "0.1.250",
22710
+ version: "0.1.252",
22671
22711
  license: "SEE LICENSE IN README.md",
22672
22712
  publishConfig: {
22673
22713
  access: "public"
@@ -23448,6 +23488,7 @@ function createStyle(flags) {
23448
23488
  enabled: true,
23449
23489
  success: (text) => chalk2.green(text),
23450
23490
  warn: (text) => chalk2.yellow(text),
23491
+ info: (text) => chalk2.blue(text),
23451
23492
  error: (text) => chalk2.red(text),
23452
23493
  heading: (text) => chalk2.bold.underline(text),
23453
23494
  label: (text) => chalk2.bold(text),
@@ -23467,6 +23508,7 @@ var init_style = __esm({
23467
23508
  enabled: false,
23468
23509
  success: identity,
23469
23510
  warn: identity,
23511
+ info: identity,
23470
23512
  error: identity,
23471
23513
  heading: identity,
23472
23514
  label: identity,
@@ -25182,12 +25224,21 @@ async function writeProjectApplyResponse(input) {
25182
25224
  }
25183
25225
  function writeDiagnostics(diagnostics, writeOutput, style) {
25184
25226
  for (const diagnostic of diagnostics) {
25185
- const severity = diagnostic.severity === "error" ? style.error(diagnostic.severity) : style.warn(diagnostic.severity);
25186
25227
  writeOutput(
25187
- `${severity} ${diagnostic.kind}/${diagnostic.name}: ${diagnostic.message}`
25228
+ `${styleDiagnosticSeverity(style, diagnostic.severity)} ${diagnostic.kind}/${diagnostic.name}: ${diagnostic.message}`
25188
25229
  );
25189
25230
  }
25190
25231
  }
25232
+ function styleDiagnosticSeverity(style, severity) {
25233
+ switch (severity) {
25234
+ case "error":
25235
+ return style.error(severity);
25236
+ case "info":
25237
+ return style.info(severity);
25238
+ default:
25239
+ return style.warn(severity);
25240
+ }
25241
+ }
25191
25242
  function planActionStyle(style, action) {
25192
25243
  switch (action) {
25193
25244
  case "create":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autohq/cli",
3
- "version": "0.1.250",
3
+ "version": "0.1.252",
4
4
  "license": "SEE LICENSE IN README.md",
5
5
  "publishConfig": {
6
6
  "access": "public"