@hogsend/core 0.5.0 → 0.6.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hogsend/core",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -32,7 +32,7 @@
32
32
  "drizzle-orm": "^0.45.2",
33
33
  "iana-db-timezones": "^0.3.0",
34
34
  "zod": "^4.4.3",
35
- "@hogsend/db": "^0.5.0"
35
+ "@hogsend/db": "^0.6.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "latest",
@@ -85,4 +85,17 @@ export const journeyMetaSchema = z.object({
85
85
  minutes: z.number().optional(),
86
86
  seconds: z.number().optional(),
87
87
  }),
88
+
89
+ // Bucket-reaction tagging. journeyMetaSchema.parse runs inside
90
+ // JourneyRegistry.register and STRIPS unknown keys, so these MUST be declared
91
+ // here or the dwell-cron lookup + Studio grouping silently break.
92
+ sourceBucketId: z.string().optional(),
93
+ reactionKind: z.enum(["enter", "leave", "dwell"]).optional(),
94
+ dwellSchedule: z
95
+ .object({
96
+ label: z.string(),
97
+ after: z.number().optional(),
98
+ every: z.number().optional(),
99
+ })
100
+ .optional(),
88
101
  });
@@ -21,6 +21,13 @@ export interface JourneyMeta {
21
21
  }>;
22
22
 
23
23
  suppress: DurationObject;
24
+
25
+ // Bucket-reaction tagging (set by buildBucketReaction). Generated reactions
26
+ // carry these so the worker's dwell-cron lookup and Studio bucket-detail
27
+ // grouping can discover owned reactions by sourceBucketId.
28
+ sourceBucketId?: string;
29
+ reactionKind?: "enter" | "leave" | "dwell";
30
+ dwellSchedule?: { label: string; after?: number; every?: number };
24
31
  }
25
32
 
26
33
  export interface JourneyUser {