@kmmao/happy-wire 0.16.3 → 0.17.1

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.
package/dist/index.cjs CHANGED
@@ -1458,7 +1458,11 @@ const CreateTaskBodySchema = z__namespace.object({
1458
1458
  // "anthropic" or AiBackendProfile.profileKey for the account. Optional:
1459
1459
  // when omitted the server falls back to Project.supervisorConfig.defaultProfileId
1460
1460
  // via the unified runtimeProfileResolver (feature-flagged).
1461
- profileId: z__namespace.string().optional()
1461
+ profileId: z__namespace.string().optional(),
1462
+ // When true, the CLI creates a dedicated git worktree at execution time
1463
+ // instead of the App creating one upfront. Enables isolation for cron/webhook
1464
+ // triggered tasks as well as manual tasks (wire 0.17.0+).
1465
+ worktreeIsolation: z__namespace.boolean().optional()
1462
1466
  });
1463
1467
  const TaskTriggerDataSchema = z__namespace.object({
1464
1468
  type: z__namespace.literal("task-trigger"),
@@ -1485,7 +1489,11 @@ const TaskTriggerDataSchema = z__namespace.object({
1485
1489
  // backward compatibility; starting from wire 0.14.0 + server unified resolver
1486
1490
  // these are always populated for scheduled/webhook/manual tasks.
1487
1491
  profileId: z__namespace.string().optional(),
1488
- runtimeProfile: ResolvedRuntimeProfileSchema.optional()
1492
+ runtimeProfile: ResolvedRuntimeProfileSchema.optional(),
1493
+ // When true, the CLI creates a dedicated git worktree from `directory` at
1494
+ // execution time rather than running directly in `directory`. Optional for
1495
+ // backward compatibility (wire 0.17.0+).
1496
+ worktreeIsolation: z__namespace.boolean().optional()
1489
1497
  });
1490
1498
  const TaskOutcomeSchema = z__namespace.enum([
1491
1499
  "completed",
@@ -1692,6 +1700,14 @@ const sessionProgressTodoSchema = z__namespace.object({
1692
1700
  */
1693
1701
  verificationNudgeNeeded: z__namespace.boolean().optional()
1694
1702
  });
1703
+ const sessionSummaryStateSchema = z__namespace.object({
1704
+ goal: z__namespace.string(),
1705
+ currentFocus: z__namespace.string().optional(),
1706
+ keyDecisions: z__namespace.array(z__namespace.string()).optional(),
1707
+ openQuestions: z__namespace.array(z__namespace.string()).optional(),
1708
+ impactScope: z__namespace.array(z__namespace.string()).optional(),
1709
+ updatedAt: z__namespace.number()
1710
+ });
1695
1711
  const sessionProgressListSchema = z__namespace.object({
1696
1712
  /** Stable UUID for tab switching / explicit Agent addressing. */
1697
1713
  id: z__namespace.string(),
@@ -1719,7 +1735,13 @@ const sessionProgressListSchema = z__namespace.object({
1719
1735
  * so the CLI hook only fires ONE synthetic summary-trigger message per
1720
1736
  * list lifecycle, even if subsequent TodoWrite calls keep it all done.
1721
1737
  */
1722
- summaryGeneratedAt: z__namespace.number().optional()
1738
+ summaryGeneratedAt: z__namespace.number().optional(),
1739
+ /**
1740
+ * Narrative summary scoped to this list. Written by the CLI when
1741
+ * `update_session_summary` is called while this list is active. Allows
1742
+ * the App to show per-list goal/decisions when the user switches tabs.
1743
+ */
1744
+ summary: sessionSummaryStateSchema.optional()
1723
1745
  });
1724
1746
  const sessionProgressStateSchema = z__namespace.object({
1725
1747
  /** Ordered by startedAt asc; last item is typically the active one. */
@@ -1735,14 +1757,6 @@ const sessionProgressStateSchema = z__namespace.object({
1735
1757
  blockers: z__namespace.array(z__namespace.string()).optional(),
1736
1758
  updatedAt: z__namespace.number()
1737
1759
  });
1738
- const sessionSummaryStateSchema = z__namespace.object({
1739
- goal: z__namespace.string(),
1740
- currentFocus: z__namespace.string().optional(),
1741
- keyDecisions: z__namespace.array(z__namespace.string()).optional(),
1742
- openQuestions: z__namespace.array(z__namespace.string()).optional(),
1743
- impactScope: z__namespace.array(z__namespace.string()).optional(),
1744
- updatedAt: z__namespace.number()
1745
- });
1746
1760
  const sessionSummaryRefreshActiveRequestSchema = z__namespace.object({
1747
1761
  requestId: z__namespace.string().min(1),
1748
1762
  requestedAt: z__namespace.number(),
package/dist/index.d.cts CHANGED
@@ -2586,6 +2586,7 @@ declare const CreateTaskBodySchema: z.ZodObject<{
2586
2586
  maxAttempts: z.ZodDefault<z.ZodNumber>;
2587
2587
  skillIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
2588
2588
  profileId: z.ZodOptional<z.ZodString>;
2589
+ worktreeIsolation: z.ZodOptional<z.ZodBoolean>;
2589
2590
  }, z.core.$strip>;
2590
2591
  type CreateTaskBody = z.infer<typeof CreateTaskBodySchema>;
2591
2592
  declare const TaskTriggerDataSchema: z.ZodObject<{
@@ -2651,6 +2652,7 @@ declare const TaskTriggerDataSchema: z.ZodObject<{
2651
2652
  }>>;
2652
2653
  defaultModelMode: z.ZodOptional<z.ZodString>;
2653
2654
  }, z.core.$strip>>;
2655
+ worktreeIsolation: z.ZodOptional<z.ZodBoolean>;
2654
2656
  }, z.core.$strip>;
2655
2657
  type TaskTriggerData = z.infer<typeof TaskTriggerDataSchema>;
2656
2658
  declare const TaskOutcomeSchema: z.ZodEnum<{
@@ -3234,6 +3236,19 @@ declare const sessionProgressTodoSchema: z.ZodObject<{
3234
3236
  verificationNudgeNeeded: z.ZodOptional<z.ZodBoolean>;
3235
3237
  }, z.core.$strip>;
3236
3238
  type SessionProgressTodo = z.infer<typeof sessionProgressTodoSchema>;
3239
+ /**
3240
+ * Live narrative summary updated at milestones, not per tool call. Arrays
3241
+ * are full-rewrite for simplicity (no append/remove deltas).
3242
+ */
3243
+ declare const sessionSummaryStateSchema: z.ZodObject<{
3244
+ goal: z.ZodString;
3245
+ currentFocus: z.ZodOptional<z.ZodString>;
3246
+ keyDecisions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3247
+ openQuestions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3248
+ impactScope: z.ZodOptional<z.ZodArray<z.ZodString>>;
3249
+ updatedAt: z.ZodNumber;
3250
+ }, z.core.$strip>;
3251
+ type SessionSummaryState = z.infer<typeof sessionSummaryStateSchema>;
3237
3252
  /**
3238
3253
  * One task list = one "generation" of the checklist. A session can contain
3239
3254
  * multiple generations across time; the auto-mirror hook partitions them
@@ -3260,6 +3275,14 @@ declare const sessionProgressListSchema: z.ZodObject<{
3260
3275
  archivedAt: z.ZodOptional<z.ZodNumber>;
3261
3276
  toolCallIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3262
3277
  summaryGeneratedAt: z.ZodOptional<z.ZodNumber>;
3278
+ summary: z.ZodOptional<z.ZodObject<{
3279
+ goal: z.ZodString;
3280
+ currentFocus: z.ZodOptional<z.ZodString>;
3281
+ keyDecisions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3282
+ openQuestions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3283
+ impactScope: z.ZodOptional<z.ZodArray<z.ZodString>>;
3284
+ updatedAt: z.ZodNumber;
3285
+ }, z.core.$strip>>;
3263
3286
  }, z.core.$strip>;
3264
3287
  type SessionProgressList = z.infer<typeof sessionProgressListSchema>;
3265
3288
  /**
@@ -3292,6 +3315,14 @@ declare const sessionProgressStateSchema: z.ZodObject<{
3292
3315
  archivedAt: z.ZodOptional<z.ZodNumber>;
3293
3316
  toolCallIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3294
3317
  summaryGeneratedAt: z.ZodOptional<z.ZodNumber>;
3318
+ summary: z.ZodOptional<z.ZodObject<{
3319
+ goal: z.ZodString;
3320
+ currentFocus: z.ZodOptional<z.ZodString>;
3321
+ keyDecisions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3322
+ openQuestions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3323
+ impactScope: z.ZodOptional<z.ZodArray<z.ZodString>>;
3324
+ updatedAt: z.ZodNumber;
3325
+ }, z.core.$strip>>;
3295
3326
  }, z.core.$strip>>>;
3296
3327
  currentListId: z.ZodOptional<z.ZodString>;
3297
3328
  todos: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -3310,19 +3341,6 @@ declare const sessionProgressStateSchema: z.ZodObject<{
3310
3341
  updatedAt: z.ZodNumber;
3311
3342
  }, z.core.$strip>;
3312
3343
  type SessionProgressState = z.infer<typeof sessionProgressStateSchema>;
3313
- /**
3314
- * Live narrative summary updated at milestones, not per tool call. Arrays
3315
- * are full-rewrite for simplicity (no append/remove deltas).
3316
- */
3317
- declare const sessionSummaryStateSchema: z.ZodObject<{
3318
- goal: z.ZodString;
3319
- currentFocus: z.ZodOptional<z.ZodString>;
3320
- keyDecisions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3321
- openQuestions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3322
- impactScope: z.ZodOptional<z.ZodArray<z.ZodString>>;
3323
- updatedAt: z.ZodNumber;
3324
- }, z.core.$strip>;
3325
- type SessionSummaryState = z.infer<typeof sessionSummaryStateSchema>;
3326
3344
  /**
3327
3345
  * Active request for request-level summary refresh confirmation.
3328
3346
  *
package/dist/index.d.mts CHANGED
@@ -2586,6 +2586,7 @@ declare const CreateTaskBodySchema: z.ZodObject<{
2586
2586
  maxAttempts: z.ZodDefault<z.ZodNumber>;
2587
2587
  skillIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
2588
2588
  profileId: z.ZodOptional<z.ZodString>;
2589
+ worktreeIsolation: z.ZodOptional<z.ZodBoolean>;
2589
2590
  }, z.core.$strip>;
2590
2591
  type CreateTaskBody = z.infer<typeof CreateTaskBodySchema>;
2591
2592
  declare const TaskTriggerDataSchema: z.ZodObject<{
@@ -2651,6 +2652,7 @@ declare const TaskTriggerDataSchema: z.ZodObject<{
2651
2652
  }>>;
2652
2653
  defaultModelMode: z.ZodOptional<z.ZodString>;
2653
2654
  }, z.core.$strip>>;
2655
+ worktreeIsolation: z.ZodOptional<z.ZodBoolean>;
2654
2656
  }, z.core.$strip>;
2655
2657
  type TaskTriggerData = z.infer<typeof TaskTriggerDataSchema>;
2656
2658
  declare const TaskOutcomeSchema: z.ZodEnum<{
@@ -3234,6 +3236,19 @@ declare const sessionProgressTodoSchema: z.ZodObject<{
3234
3236
  verificationNudgeNeeded: z.ZodOptional<z.ZodBoolean>;
3235
3237
  }, z.core.$strip>;
3236
3238
  type SessionProgressTodo = z.infer<typeof sessionProgressTodoSchema>;
3239
+ /**
3240
+ * Live narrative summary updated at milestones, not per tool call. Arrays
3241
+ * are full-rewrite for simplicity (no append/remove deltas).
3242
+ */
3243
+ declare const sessionSummaryStateSchema: z.ZodObject<{
3244
+ goal: z.ZodString;
3245
+ currentFocus: z.ZodOptional<z.ZodString>;
3246
+ keyDecisions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3247
+ openQuestions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3248
+ impactScope: z.ZodOptional<z.ZodArray<z.ZodString>>;
3249
+ updatedAt: z.ZodNumber;
3250
+ }, z.core.$strip>;
3251
+ type SessionSummaryState = z.infer<typeof sessionSummaryStateSchema>;
3237
3252
  /**
3238
3253
  * One task list = one "generation" of the checklist. A session can contain
3239
3254
  * multiple generations across time; the auto-mirror hook partitions them
@@ -3260,6 +3275,14 @@ declare const sessionProgressListSchema: z.ZodObject<{
3260
3275
  archivedAt: z.ZodOptional<z.ZodNumber>;
3261
3276
  toolCallIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3262
3277
  summaryGeneratedAt: z.ZodOptional<z.ZodNumber>;
3278
+ summary: z.ZodOptional<z.ZodObject<{
3279
+ goal: z.ZodString;
3280
+ currentFocus: z.ZodOptional<z.ZodString>;
3281
+ keyDecisions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3282
+ openQuestions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3283
+ impactScope: z.ZodOptional<z.ZodArray<z.ZodString>>;
3284
+ updatedAt: z.ZodNumber;
3285
+ }, z.core.$strip>>;
3263
3286
  }, z.core.$strip>;
3264
3287
  type SessionProgressList = z.infer<typeof sessionProgressListSchema>;
3265
3288
  /**
@@ -3292,6 +3315,14 @@ declare const sessionProgressStateSchema: z.ZodObject<{
3292
3315
  archivedAt: z.ZodOptional<z.ZodNumber>;
3293
3316
  toolCallIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3294
3317
  summaryGeneratedAt: z.ZodOptional<z.ZodNumber>;
3318
+ summary: z.ZodOptional<z.ZodObject<{
3319
+ goal: z.ZodString;
3320
+ currentFocus: z.ZodOptional<z.ZodString>;
3321
+ keyDecisions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3322
+ openQuestions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3323
+ impactScope: z.ZodOptional<z.ZodArray<z.ZodString>>;
3324
+ updatedAt: z.ZodNumber;
3325
+ }, z.core.$strip>>;
3295
3326
  }, z.core.$strip>>>;
3296
3327
  currentListId: z.ZodOptional<z.ZodString>;
3297
3328
  todos: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -3310,19 +3341,6 @@ declare const sessionProgressStateSchema: z.ZodObject<{
3310
3341
  updatedAt: z.ZodNumber;
3311
3342
  }, z.core.$strip>;
3312
3343
  type SessionProgressState = z.infer<typeof sessionProgressStateSchema>;
3313
- /**
3314
- * Live narrative summary updated at milestones, not per tool call. Arrays
3315
- * are full-rewrite for simplicity (no append/remove deltas).
3316
- */
3317
- declare const sessionSummaryStateSchema: z.ZodObject<{
3318
- goal: z.ZodString;
3319
- currentFocus: z.ZodOptional<z.ZodString>;
3320
- keyDecisions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3321
- openQuestions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3322
- impactScope: z.ZodOptional<z.ZodArray<z.ZodString>>;
3323
- updatedAt: z.ZodNumber;
3324
- }, z.core.$strip>;
3325
- type SessionSummaryState = z.infer<typeof sessionSummaryStateSchema>;
3326
3344
  /**
3327
3345
  * Active request for request-level summary refresh confirmation.
3328
3346
  *
package/dist/index.mjs CHANGED
@@ -1438,7 +1438,11 @@ const CreateTaskBodySchema = z.object({
1438
1438
  // "anthropic" or AiBackendProfile.profileKey for the account. Optional:
1439
1439
  // when omitted the server falls back to Project.supervisorConfig.defaultProfileId
1440
1440
  // via the unified runtimeProfileResolver (feature-flagged).
1441
- profileId: z.string().optional()
1441
+ profileId: z.string().optional(),
1442
+ // When true, the CLI creates a dedicated git worktree at execution time
1443
+ // instead of the App creating one upfront. Enables isolation for cron/webhook
1444
+ // triggered tasks as well as manual tasks (wire 0.17.0+).
1445
+ worktreeIsolation: z.boolean().optional()
1442
1446
  });
1443
1447
  const TaskTriggerDataSchema = z.object({
1444
1448
  type: z.literal("task-trigger"),
@@ -1465,7 +1469,11 @@ const TaskTriggerDataSchema = z.object({
1465
1469
  // backward compatibility; starting from wire 0.14.0 + server unified resolver
1466
1470
  // these are always populated for scheduled/webhook/manual tasks.
1467
1471
  profileId: z.string().optional(),
1468
- runtimeProfile: ResolvedRuntimeProfileSchema.optional()
1472
+ runtimeProfile: ResolvedRuntimeProfileSchema.optional(),
1473
+ // When true, the CLI creates a dedicated git worktree from `directory` at
1474
+ // execution time rather than running directly in `directory`. Optional for
1475
+ // backward compatibility (wire 0.17.0+).
1476
+ worktreeIsolation: z.boolean().optional()
1469
1477
  });
1470
1478
  const TaskOutcomeSchema = z.enum([
1471
1479
  "completed",
@@ -1672,6 +1680,14 @@ const sessionProgressTodoSchema = z.object({
1672
1680
  */
1673
1681
  verificationNudgeNeeded: z.boolean().optional()
1674
1682
  });
1683
+ const sessionSummaryStateSchema = z.object({
1684
+ goal: z.string(),
1685
+ currentFocus: z.string().optional(),
1686
+ keyDecisions: z.array(z.string()).optional(),
1687
+ openQuestions: z.array(z.string()).optional(),
1688
+ impactScope: z.array(z.string()).optional(),
1689
+ updatedAt: z.number()
1690
+ });
1675
1691
  const sessionProgressListSchema = z.object({
1676
1692
  /** Stable UUID for tab switching / explicit Agent addressing. */
1677
1693
  id: z.string(),
@@ -1699,7 +1715,13 @@ const sessionProgressListSchema = z.object({
1699
1715
  * so the CLI hook only fires ONE synthetic summary-trigger message per
1700
1716
  * list lifecycle, even if subsequent TodoWrite calls keep it all done.
1701
1717
  */
1702
- summaryGeneratedAt: z.number().optional()
1718
+ summaryGeneratedAt: z.number().optional(),
1719
+ /**
1720
+ * Narrative summary scoped to this list. Written by the CLI when
1721
+ * `update_session_summary` is called while this list is active. Allows
1722
+ * the App to show per-list goal/decisions when the user switches tabs.
1723
+ */
1724
+ summary: sessionSummaryStateSchema.optional()
1703
1725
  });
1704
1726
  const sessionProgressStateSchema = z.object({
1705
1727
  /** Ordered by startedAt asc; last item is typically the active one. */
@@ -1715,14 +1737,6 @@ const sessionProgressStateSchema = z.object({
1715
1737
  blockers: z.array(z.string()).optional(),
1716
1738
  updatedAt: z.number()
1717
1739
  });
1718
- const sessionSummaryStateSchema = z.object({
1719
- goal: z.string(),
1720
- currentFocus: z.string().optional(),
1721
- keyDecisions: z.array(z.string()).optional(),
1722
- openQuestions: z.array(z.string()).optional(),
1723
- impactScope: z.array(z.string()).optional(),
1724
- updatedAt: z.number()
1725
- });
1726
1740
  const sessionSummaryRefreshActiveRequestSchema = z.object({
1727
1741
  requestId: z.string().min(1),
1728
1742
  requestedAt: z.number(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kmmao/happy-wire",
3
- "version": "0.16.3",
3
+ "version": "0.17.1",
4
4
  "description": "Shared message wire types and Zod schemas for Happy clients and services",
5
5
  "author": "kmmao",
6
6
  "license": "MIT",