@autohq/cli 0.1.529 → 0.1.531

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.
@@ -27058,6 +27058,7 @@ var RuntimeBridgeBootstrapEnvelopeSchema = external_exports.object({
27058
27058
  bridgeLeaseId: RuntimeBridgeLeaseIdSchema,
27059
27059
  bootstrap: RuntimeBridgeEncryptedBootstrapSchema
27060
27060
  });
27061
+ var RUNTIME_SESSION_COMMAND_HEADER_PROTOCOL_EPOCH = 1;
27061
27062
  var RuntimeBridgeBootstrapAckSchema = external_exports.object({
27062
27063
  status: external_exports.enum(["ready", "failed"]),
27063
27064
  error: external_exports.string().trim().min(1).optional(),
@@ -27067,6 +27068,9 @@ var RuntimeBridgeBootstrapAckSchema = external_exports.object({
27067
27068
  // actually live. Optional because runtimes older than the field predate
27068
27069
  // reporting it; the bridge logs those as "unknown" instead of failing.
27069
27070
  cliVersion: external_exports.string().trim().min(1).optional(),
27071
+ // Runtime protocol epoch for exact causal command-header forwarding on
27072
+ // agent-facing MCP requests. Optional for compatibility with older bridges.
27073
+ sessionCommandHeaderProtocolEpoch: external_exports.number().int().positive().optional(),
27070
27074
  // Top-level bootstrap plaintext fields the runtime's tolerant parse
27071
27075
  // stripped because its schema does not know them yet (worker-ahead skew).
27072
27076
  // Reported so the bridge can log the degradation instead of it staying
@@ -30866,7 +30870,7 @@ Object.assign(lookup, {
30866
30870
  // package.json
30867
30871
  var package_default = {
30868
30872
  name: "@autohq/cli",
30869
- version: "0.1.529",
30873
+ version: "0.1.531",
30870
30874
  license: "SEE LICENSE IN README.md",
30871
30875
  publishConfig: {
30872
30876
  access: "public"
@@ -31210,6 +31214,7 @@ function createRuntimeBridgeBootstrapListener(input) {
31210
31214
  status: "ready",
31211
31215
  at: (/* @__PURE__ */ new Date()).toISOString(),
31212
31216
  cliVersion,
31217
+ sessionCommandHeaderProtocolEpoch: RUNTIME_SESSION_COMMAND_HEADER_PROTOCOL_EPOCH,
31213
31218
  ignoredBootstrapKeys: ignoredKeys.length > 0 ? ignoredKeys : void 0
31214
31219
  })
31215
31220
  );
@@ -31239,7 +31244,8 @@ function createRuntimeBridgeBootstrapListener(input) {
31239
31244
  at: (/* @__PURE__ */ new Date()).toISOString(),
31240
31245
  // Version skew is a leading cause of bootstrap failure, so failed
31241
31246
  // acks carry the version that could not bootstrap.
31242
- cliVersion
31247
+ cliVersion,
31248
+ sessionCommandHeaderProtocolEpoch: RUNTIME_SESSION_COMMAND_HEADER_PROTOCOL_EPOCH
31243
31249
  })
31244
31250
  );
31245
31251
  input.onBootstrapError(error51);
@@ -34251,8 +34257,9 @@ var GithubSyncWorkflowInputSchema = external_exports.discriminatedUnion("kind",
34251
34257
  // webhook). The tenant's `.auto` is unchanged — only our registry changed —
34252
34258
  // so this arm skips the `no_auto_changes` early-out and applies the production
34253
34259
  // branch HEAD (`after`, which the sweep resolves before starting the run).
34254
- // It is otherwise push-shaped. `templateName`/`version` identify the drift
34255
- // that triggered it (for the commit check + idempotent workflow id).
34260
+ // It is otherwise push-shaped. New waves carry the complete bounded
34261
+ // `templates` set plus a deterministic `waveId`; legacy single-template
34262
+ // coordinates remain accepted only so in-flight workflows can replay.
34256
34263
  external_exports.object({
34257
34264
  kind: external_exports.literal("template_push"),
34258
34265
  bindingId: external_exports.string().trim().min(1),
@@ -34266,9 +34273,27 @@ var GithubSyncWorkflowInputSchema = external_exports.discriminatedUnion("kind",
34266
34273
  autoPath: external_exports.literal(GITHUB_SYNC_AUTO_PATH),
34267
34274
  before: external_exports.string().trim().min(1).optional(),
34268
34275
  after: external_exports.string().trim().min(1),
34269
- templateName: external_exports.string().trim().min(1),
34270
- version: external_exports.string().trim().min(1),
34276
+ // Legacy single-template coordinates remain optional so in-flight
34277
+ // workflows started by a pre-wave worker can finish after deployment.
34278
+ templateName: external_exports.string().trim().min(1).optional(),
34279
+ version: external_exports.string().trim().min(1).optional(),
34280
+ waveId: external_exports.string().trim().min(1).optional(),
34281
+ templates: external_exports.array(
34282
+ external_exports.object({
34283
+ name: external_exports.string().trim().min(1),
34284
+ version: external_exports.string().trim().min(1)
34285
+ })
34286
+ ).min(1).max(50).optional(),
34271
34287
  triggerArtifact: GithubSyncTriggerArtifactSchema.optional()
34288
+ }).superRefine((input, context) => {
34289
+ const legacy = Boolean(input.templateName && input.version);
34290
+ const wave = Boolean(input.waveId && input.templates);
34291
+ if (legacy === wave) {
34292
+ context.addIssue({
34293
+ code: "custom",
34294
+ message: "template_push requires exactly one of legacy templateName/version or waveId/templates"
34295
+ });
34296
+ }
34272
34297
  }),
34273
34298
  // Synthetic authoritative re-apply triggered by one durable connection
34274
34299
  // lifecycle occurrence. The event id makes retries reuse the same workflow,
package/dist/index.js CHANGED
@@ -18117,8 +18117,9 @@ var init_github_sync = __esm({
18117
18117
  // webhook). The tenant's `.auto` is unchanged — only our registry changed —
18118
18118
  // so this arm skips the `no_auto_changes` early-out and applies the production
18119
18119
  // branch HEAD (`after`, which the sweep resolves before starting the run).
18120
- // It is otherwise push-shaped. `templateName`/`version` identify the drift
18121
- // that triggered it (for the commit check + idempotent workflow id).
18120
+ // It is otherwise push-shaped. New waves carry the complete bounded
18121
+ // `templates` set plus a deterministic `waveId`; legacy single-template
18122
+ // coordinates remain accepted only so in-flight workflows can replay.
18122
18123
  external_exports.object({
18123
18124
  kind: external_exports.literal("template_push"),
18124
18125
  bindingId: external_exports.string().trim().min(1),
@@ -18132,9 +18133,27 @@ var init_github_sync = __esm({
18132
18133
  autoPath: external_exports.literal(GITHUB_SYNC_AUTO_PATH),
18133
18134
  before: external_exports.string().trim().min(1).optional(),
18134
18135
  after: external_exports.string().trim().min(1),
18135
- templateName: external_exports.string().trim().min(1),
18136
- version: external_exports.string().trim().min(1),
18136
+ // Legacy single-template coordinates remain optional so in-flight
18137
+ // workflows started by a pre-wave worker can finish after deployment.
18138
+ templateName: external_exports.string().trim().min(1).optional(),
18139
+ version: external_exports.string().trim().min(1).optional(),
18140
+ waveId: external_exports.string().trim().min(1).optional(),
18141
+ templates: external_exports.array(
18142
+ external_exports.object({
18143
+ name: external_exports.string().trim().min(1),
18144
+ version: external_exports.string().trim().min(1)
18145
+ })
18146
+ ).min(1).max(50).optional(),
18137
18147
  triggerArtifact: GithubSyncTriggerArtifactSchema.optional()
18148
+ }).superRefine((input, context) => {
18149
+ const legacy = Boolean(input.templateName && input.version);
18150
+ const wave = Boolean(input.waveId && input.templates);
18151
+ if (legacy === wave) {
18152
+ context.addIssue({
18153
+ code: "custom",
18154
+ message: "template_push requires exactly one of legacy templateName/version or waveId/templates"
18155
+ });
18156
+ }
18138
18157
  }),
18139
18158
  // Synthetic authoritative re-apply triggered by one durable connection
18140
18159
  // lifecycle occurrence. The event id makes retries reuse the same workflow,
@@ -78587,7 +78606,7 @@ var init_package = __esm({
78587
78606
  "package.json"() {
78588
78607
  package_default = {
78589
78608
  name: "@autohq/cli",
78590
- version: "0.1.529",
78609
+ version: "0.1.531",
78591
78610
  license: "SEE LICENSE IN README.md",
78592
78611
  publishConfig: {
78593
78612
  access: "public"
@@ -89624,6 +89643,7 @@ var RuntimeBridgeBootstrapEnvelopeSchema = external_exports.object({
89624
89643
  bridgeLeaseId: RuntimeBridgeLeaseIdSchema2,
89625
89644
  bootstrap: RuntimeBridgeEncryptedBootstrapSchema
89626
89645
  });
89646
+ var RUNTIME_SESSION_COMMAND_HEADER_PROTOCOL_EPOCH = 1;
89627
89647
  var RuntimeBridgeBootstrapAckSchema = external_exports.object({
89628
89648
  status: external_exports.enum(["ready", "failed"]),
89629
89649
  error: external_exports.string().trim().min(1).optional(),
@@ -89633,6 +89653,9 @@ var RuntimeBridgeBootstrapAckSchema = external_exports.object({
89633
89653
  // actually live. Optional because runtimes older than the field predate
89634
89654
  // reporting it; the bridge logs those as "unknown" instead of failing.
89635
89655
  cliVersion: external_exports.string().trim().min(1).optional(),
89656
+ // Runtime protocol epoch for exact causal command-header forwarding on
89657
+ // agent-facing MCP requests. Optional for compatibility with older bridges.
89658
+ sessionCommandHeaderProtocolEpoch: external_exports.number().int().positive().optional(),
89636
89659
  // Top-level bootstrap plaintext fields the runtime's tolerant parse
89637
89660
  // stripped because its schema does not know them yet (worker-ahead skew).
89638
89661
  // Reported so the bridge can log the degradation instead of it staying
@@ -90164,6 +90187,7 @@ function createRuntimeBridgeBootstrapListener(input) {
90164
90187
  status: "ready",
90165
90188
  at: (/* @__PURE__ */ new Date()).toISOString(),
90166
90189
  cliVersion,
90190
+ sessionCommandHeaderProtocolEpoch: RUNTIME_SESSION_COMMAND_HEADER_PROTOCOL_EPOCH,
90167
90191
  ignoredBootstrapKeys: ignoredKeys.length > 0 ? ignoredKeys : void 0
90168
90192
  })
90169
90193
  );
@@ -90193,7 +90217,8 @@ function createRuntimeBridgeBootstrapListener(input) {
90193
90217
  at: (/* @__PURE__ */ new Date()).toISOString(),
90194
90218
  // Version skew is a leading cause of bootstrap failure, so failed
90195
90219
  // acks carry the version that could not bootstrap.
90196
- cliVersion
90220
+ cliVersion,
90221
+ sessionCommandHeaderProtocolEpoch: RUNTIME_SESSION_COMMAND_HEADER_PROTOCOL_EPOCH
90197
90222
  })
90198
90223
  );
90199
90224
  input.onBootstrapError(error51);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autohq/cli",
3
- "version": "0.1.529",
3
+ "version": "0.1.531",
4
4
  "license": "SEE LICENSE IN README.md",
5
5
  "publishConfig": {
6
6
  "access": "public"