@robbeverhelst/do 1.70.0 → 1.73.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.
Files changed (2) hide show
  1. package/dist/do.js +47 -22
  2. package/package.json +1 -1
package/dist/do.js CHANGED
@@ -5015,13 +5015,6 @@ var challengeParticipants = pgTable("challenge_participants", {
5015
5015
  index("challenge_participants_tenant_idx").on(t.tenantId),
5016
5016
  index("challenge_participants_user_idx").on(t.tenantId, t.userId)
5017
5017
  ]);
5018
- var leaderboardOptins = pgTable("leaderboard_optins", {
5019
- id: text("id").primaryKey(),
5020
- tenantId: text("tenant_id").notNull().references(() => tenants.id, { onDelete: "cascade" }),
5021
- userId: text("user_id").notNull().references(() => users.id, { onDelete: "cascade" }),
5022
- optedIn: boolean("opted_in").notNull().default(false),
5023
- updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow()
5024
- }, (t) => [unique("leaderboard_optins_tenant_user_uniq").on(t.tenantId, t.userId)]);
5025
5018
  // ../../packages/schema/src/db/gamification.ts
5026
5019
  var gamificationProfiles = pgTable("gamification_profiles", {
5027
5020
  id: text("id").primaryKey(),
@@ -5086,6 +5079,22 @@ var insightsHabitStreaks = pgView("insights_habit_streaks", {
5086
5079
  latestRunLength: integer("latest_run_length").notNull(),
5087
5080
  latestRunEnd: date("latest_run_end").notNull()
5088
5081
  }).existing();
5082
+ var insightsFindings = pgTable("insights_findings", {
5083
+ id: text("id").primaryKey(),
5084
+ tenantId: text("tenant_id").notNull().references(() => tenants.id, { onDelete: "cascade" }),
5085
+ kind: text("kind").notNull(),
5086
+ subject: text("subject").notNull(),
5087
+ entityId: text("entity_id"),
5088
+ sentence: text("sentence").notNull(),
5089
+ metrics: jsonb("metrics").$type().notNull(),
5090
+ confidence: text("confidence").notNull(),
5091
+ sampleSize: integer("sample_size").notNull(),
5092
+ effectSize: doublePrecision("effect_size").notNull(),
5093
+ windowDays: integer("window_days").notNull(),
5094
+ generatedAt: timestamp("generated_at", { withTimezone: true }).notNull().defaultNow()
5095
+ }, (t) => [
5096
+ index("insights_findings_tenant_idx").on(t.tenantId)
5097
+ ]);
5089
5098
  // ../../node_modules/zod/v4/classic/external.js
5090
5099
  var exports_external = {};
5091
5100
  __export(exports_external, {
@@ -21745,21 +21754,17 @@ var challengeLeaderboardEntrySchema = exports_external.object({
21745
21754
  rank: exports_external.number().int().positive(),
21746
21755
  completed: exports_external.boolean()
21747
21756
  });
21748
- var leaderboardWindowSchema = exports_external.enum(["week", "month", "all"]);
21749
- var leaderboardOptinSchema = createSelectSchema(leaderboardOptins, {
21750
- updatedAt: exports_external.coerce.date()
21751
- });
21752
- var updateLeaderboardOptinInputSchema = exports_external.object({ optedIn: exports_external.boolean() }).strict();
21753
- var leaderboardEntrySchema = exports_external.object({
21754
- userId: ulidSchema,
21755
- email: exports_external.string(),
21756
- score: exports_external.number().int().nonnegative(),
21757
- rank: exports_external.number().int().positive()
21757
+ var selfComparisonMetricSchema = exports_external.object({
21758
+ metric: exports_external.string(),
21759
+ thisWeek: exports_external.number().int().nonnegative(),
21760
+ fourWeekAverage: exports_external.number().nonnegative(),
21761
+ deltaPct: exports_external.number().nullable(),
21762
+ personalBest: exports_external.number().int().nonnegative(),
21763
+ isPersonalBest: exports_external.boolean()
21758
21764
  });
21759
- var spaceLeaderboardSchema = exports_external.object({
21760
- window: leaderboardWindowSchema,
21761
- optedIn: exports_external.boolean(),
21762
- entries: exports_external.array(leaderboardEntrySchema)
21765
+ var selfComparisonSchema = exports_external.object({
21766
+ weekStart: exports_external.coerce.date(),
21767
+ metrics: exports_external.array(selfComparisonMetricSchema)
21763
21768
  });
21764
21769
  // ../../packages/schema/src/contracts/gamification.ts
21765
21770
  var gamificationProfileSchema = createSelectSchema(gamificationProfiles, {
@@ -21841,9 +21846,29 @@ var insightsStreakSchema = exports_external.object({
21841
21846
  lastCheckin: exports_external.string(),
21842
21847
  currentStreak: exports_external.number().int().nonnegative()
21843
21848
  });
21849
+ var insightsConfidenceSchema = exports_external.enum(["low", "medium", "high"]);
21850
+ var insightsFindingKindSchema = exports_external.enum([
21851
+ "habit_consistency",
21852
+ "habit_average",
21853
+ "habit_correlation"
21854
+ ]);
21855
+ var insightsFindingSchema = exports_external.object({
21856
+ id: exports_external.string(),
21857
+ kind: insightsFindingKindSchema,
21858
+ sentence: exports_external.string(),
21859
+ subject: exports_external.string(),
21860
+ entityId: exports_external.string().nullable(),
21861
+ metrics: exports_external.record(exports_external.string(), exports_external.number()),
21862
+ confidence: insightsConfidenceSchema,
21863
+ sampleSize: exports_external.number().int().nonnegative(),
21864
+ effectSize: exports_external.number(),
21865
+ windowDays: exports_external.number().int().positive(),
21866
+ generatedAt: exports_external.coerce.date()
21867
+ });
21844
21868
  var insightsOverviewSchema = exports_external.object({
21845
21869
  generatedAt: exports_external.coerce.date(),
21846
21870
  windowDays: exports_external.number().int().positive(),
21871
+ findings: exports_external.array(insightsFindingSchema),
21847
21872
  activity: exports_external.array(insightsActivityPointSchema),
21848
21873
  correlations: exports_external.array(insightsCorrelationSchema),
21849
21874
  streaks: exports_external.array(insightsStreakSchema)
@@ -24331,7 +24356,7 @@ function parseCapture2(input, now) {
24331
24356
 
24332
24357
  // src/meta.ts
24333
24358
  var CLI_NAME = "do";
24334
- var VERSION = "1.70.0";
24359
+ var VERSION = "1.73.0";
24335
24360
  var API_PREFIX = "/api/v1";
24336
24361
  var DEFAULT_API_URL = "http://localhost:3001";
24337
24362
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robbeverhelst/do",
3
- "version": "1.70.0",
3
+ "version": "1.73.0",
4
4
  "private": false,
5
5
  "description": "do — the agent-drivable CLI over the public /api/v1 surface",
6
6
  "type": "module",