@robbeverhelst/do 1.73.0 → 1.75.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/dist/do.js +60 -35
- package/package.json +1 -1
package/dist/do.js
CHANGED
|
@@ -4987,6 +4987,7 @@ var automationRuns = pgTable("automation_runs", {
|
|
|
4987
4987
|
]);
|
|
4988
4988
|
// ../../packages/schema/src/db/challenges.ts
|
|
4989
4989
|
var challengeSource = pgEnum("challenge_source", ["self", "system"]);
|
|
4990
|
+
var challengeSubjectType = pgEnum("challenge_subject_type", ["habit", "area", "tag"]);
|
|
4990
4991
|
var challenges = pgTable("challenges", {
|
|
4991
4992
|
id: text("id").primaryKey(),
|
|
4992
4993
|
tenantId: text("tenant_id").notNull().references(() => tenants.id, { onDelete: "cascade" }),
|
|
@@ -4994,6 +4995,8 @@ var challenges = pgTable("challenges", {
|
|
|
4994
4995
|
description: text("description"),
|
|
4995
4996
|
source: challengeSource("source").notNull().default("self"),
|
|
4996
4997
|
metric: text("metric").notNull(),
|
|
4998
|
+
subjectType: challengeSubjectType("subject_type"),
|
|
4999
|
+
subjectId: text("subject_id"),
|
|
4997
5000
|
target: integer("target").notNull(),
|
|
4998
5001
|
startAt: timestamp("start_at", { withTimezone: true }).notNull(),
|
|
4999
5002
|
endAt: timestamp("end_at", { withTimezone: true }).notNull(),
|
|
@@ -5002,7 +5005,9 @@ var challenges = pgTable("challenges", {
|
|
|
5002
5005
|
updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow()
|
|
5003
5006
|
}, (t) => [
|
|
5004
5007
|
index("challenges_tenant_idx").on(t.tenantId),
|
|
5005
|
-
index("challenges_tenant_window_idx").on(t.tenantId, t.startAt, t.endAt)
|
|
5008
|
+
index("challenges_tenant_window_idx").on(t.tenantId, t.startAt, t.endAt),
|
|
5009
|
+
index("challenges_tenant_subject_idx").on(t.tenantId, t.subjectType, t.subjectId),
|
|
5010
|
+
check("challenges_subject_pair_chk", sql`(${t.subjectType} IS NULL) = (${t.subjectId} IS NULL)`)
|
|
5006
5011
|
]);
|
|
5007
5012
|
var challengeParticipants = pgTable("challenge_participants", {
|
|
5008
5013
|
id: text("id").primaryKey(),
|
|
@@ -19733,6 +19738,7 @@ var connectionStatusSchema = exports_external.enum(connectionStatus.enumValues);
|
|
|
19733
19738
|
var importantDateKindSchema = exports_external.enum(importantDateKind.enumValues);
|
|
19734
19739
|
var mealTypeSchema = exports_external.enum(mealType.enumValues);
|
|
19735
19740
|
var challengeSourceSchema = exports_external.enum(challengeSource.enumValues);
|
|
19741
|
+
var challengeSubjectTypeSchema = exports_external.enum(challengeSubjectType.enumValues);
|
|
19736
19742
|
var automationRunStatusSchema = exports_external.enum(automationRunStatus.enumValues);
|
|
19737
19743
|
var notificationTypeSchema = exports_external.enum(notificationType.enumValues);
|
|
19738
19744
|
// ../../packages/schema/src/contracts/barcode.ts
|
|
@@ -20101,6 +20107,33 @@ var projectDetailSchema = projectViewSchema.extend({
|
|
|
20101
20107
|
tasks: exports_external.array(taskViewSchema)
|
|
20102
20108
|
});
|
|
20103
20109
|
var attachTaskInputSchema = exports_external.object({ taskId: ulidSchema });
|
|
20110
|
+
// ../../packages/schema/src/contracts/notes.ts
|
|
20111
|
+
var noteSchema = createSelectSchema(notes);
|
|
20112
|
+
var createNoteInputSchema = createInsertSchema(notes, {
|
|
20113
|
+
id: ulidSchema,
|
|
20114
|
+
areaId: ulidSchema.nullish(),
|
|
20115
|
+
body: exports_external.string().nullish(),
|
|
20116
|
+
tags: exports_external.array(exports_external.string()).optional()
|
|
20117
|
+
}).omit({ tenantId: true }).extend({
|
|
20118
|
+
title: exports_external.string().min(1),
|
|
20119
|
+
parentId: ulidSchema.nullish()
|
|
20120
|
+
});
|
|
20121
|
+
var updateNoteInputSchema = createUpdateSchema(notes, {
|
|
20122
|
+
areaId: ulidSchema.nullish(),
|
|
20123
|
+
body: exports_external.string().nullish(),
|
|
20124
|
+
tags: exports_external.array(exports_external.string()).optional()
|
|
20125
|
+
}).omit({ id: true, tenantId: true }).extend({
|
|
20126
|
+
title: exports_external.string().min(1).optional(),
|
|
20127
|
+
parentId: ulidSchema.nullish()
|
|
20128
|
+
}).strict();
|
|
20129
|
+
var noteViewSchema = noteSchema.extend({
|
|
20130
|
+
title: exports_external.string(),
|
|
20131
|
+
parentId: ulidSchema.nullable(),
|
|
20132
|
+
createdAt: exports_external.coerce.date(),
|
|
20133
|
+
updatedAt: exports_external.coerce.date(),
|
|
20134
|
+
deletedAt: exports_external.coerce.date().nullable()
|
|
20135
|
+
});
|
|
20136
|
+
|
|
20104
20137
|
// ../../packages/schema/src/contracts/areas.ts
|
|
20105
20138
|
var areaSchema = createSelectSchema(areas);
|
|
20106
20139
|
var areaIconSchema = exports_external.string().trim().min(1).max(64);
|
|
@@ -20125,7 +20158,8 @@ var areaDetailSchema = areaViewSchema.extend({
|
|
|
20125
20158
|
projects: exports_external.array(projectViewSchema),
|
|
20126
20159
|
habits: exports_external.array(habitSummarySchema),
|
|
20127
20160
|
routines: exports_external.array(routineViewSchema),
|
|
20128
|
-
tasks: exports_external.array(taskViewSchema)
|
|
20161
|
+
tasks: exports_external.array(taskViewSchema),
|
|
20162
|
+
notes: exports_external.array(noteViewSchema)
|
|
20129
20163
|
});
|
|
20130
20164
|
// ../../packages/schema/src/contracts/modules.ts
|
|
20131
20165
|
var MODULE_KEYS = [
|
|
@@ -20790,32 +20824,6 @@ var mealPlanCookResultSchema = exports_external.object({
|
|
|
20790
20824
|
consumedCount: exports_external.number().int().min(0),
|
|
20791
20825
|
ingredients: exports_external.array(cookedIngredientSchema)
|
|
20792
20826
|
});
|
|
20793
|
-
// ../../packages/schema/src/contracts/notes.ts
|
|
20794
|
-
var noteSchema = createSelectSchema(notes);
|
|
20795
|
-
var createNoteInputSchema = createInsertSchema(notes, {
|
|
20796
|
-
id: ulidSchema,
|
|
20797
|
-
areaId: ulidSchema.nullish(),
|
|
20798
|
-
body: exports_external.string().nullish(),
|
|
20799
|
-
tags: exports_external.array(exports_external.string()).optional()
|
|
20800
|
-
}).omit({ tenantId: true }).extend({
|
|
20801
|
-
title: exports_external.string().min(1),
|
|
20802
|
-
parentId: ulidSchema.nullish()
|
|
20803
|
-
});
|
|
20804
|
-
var updateNoteInputSchema = createUpdateSchema(notes, {
|
|
20805
|
-
areaId: ulidSchema.nullish(),
|
|
20806
|
-
body: exports_external.string().nullish(),
|
|
20807
|
-
tags: exports_external.array(exports_external.string()).optional()
|
|
20808
|
-
}).omit({ id: true, tenantId: true }).extend({
|
|
20809
|
-
title: exports_external.string().min(1).optional(),
|
|
20810
|
-
parentId: ulidSchema.nullish()
|
|
20811
|
-
}).strict();
|
|
20812
|
-
var noteViewSchema = noteSchema.extend({
|
|
20813
|
-
title: exports_external.string(),
|
|
20814
|
-
parentId: ulidSchema.nullable(),
|
|
20815
|
-
createdAt: exports_external.coerce.date(),
|
|
20816
|
-
updatedAt: exports_external.coerce.date(),
|
|
20817
|
-
deletedAt: exports_external.coerce.date().nullable()
|
|
20818
|
-
});
|
|
20819
20827
|
// ../../packages/schema/src/contracts/node-links.ts
|
|
20820
20828
|
var nodeLinkSchema = createSelectSchema(nodeLinks);
|
|
20821
20829
|
var nodeLinkKindSchema = exports_external.enum(["ref", "embed"]);
|
|
@@ -21734,10 +21742,15 @@ var createChallengeInputSchema = createInsertSchema(challenges, {
|
|
|
21734
21742
|
metric: exports_external.string().min(1),
|
|
21735
21743
|
target: exports_external.number().int().positive(),
|
|
21736
21744
|
startAt: exports_external.coerce.date(),
|
|
21737
|
-
endAt: exports_external.coerce.date()
|
|
21745
|
+
endAt: exports_external.coerce.date(),
|
|
21746
|
+
subjectType: challengeSubjectTypeSchema.nullish(),
|
|
21747
|
+
subjectId: exports_external.string().min(1).nullish()
|
|
21738
21748
|
}).omit({ tenantId: true, source: true, createdBy: true, createdAt: true, updatedAt: true }).strict().refine((v) => v.endAt > v.startAt, {
|
|
21739
21749
|
message: "endAt must be after startAt",
|
|
21740
21750
|
path: ["endAt"]
|
|
21751
|
+
}).refine((v) => v.subjectType == null === (v.subjectId == null), {
|
|
21752
|
+
message: "subjectType and subjectId must be set together",
|
|
21753
|
+
path: ["subjectId"]
|
|
21741
21754
|
});
|
|
21742
21755
|
var joinChallengeInputSchema = exports_external.object({ id: ulidSchema }).strict();
|
|
21743
21756
|
var challengeViewSchema = challengeSchema.extend({
|
|
@@ -21745,7 +21758,8 @@ var challengeViewSchema = challengeSchema.extend({
|
|
|
21745
21758
|
joined: exports_external.boolean(),
|
|
21746
21759
|
progress: exports_external.number().int().nonnegative(),
|
|
21747
21760
|
status: challengeStatusSchema,
|
|
21748
|
-
completed: exports_external.boolean()
|
|
21761
|
+
completed: exports_external.boolean(),
|
|
21762
|
+
subjectTitle: exports_external.string().nullable()
|
|
21749
21763
|
});
|
|
21750
21764
|
var challengeLeaderboardEntrySchema = exports_external.object({
|
|
21751
21765
|
userId: ulidSchema,
|
|
@@ -22152,11 +22166,14 @@ var filmFacetSchema = exports_external.object({
|
|
|
22152
22166
|
kind: exports_external.enum(["movie", "show"]).nullish(),
|
|
22153
22167
|
year: exports_external.number().int().min(1888).max(2100).nullish(),
|
|
22154
22168
|
director: exports_external.string().min(1).max(200).nullish(),
|
|
22155
|
-
coverUrl
|
|
22169
|
+
coverUrl,
|
|
22170
|
+
episodeCount: exports_external.number().int().min(1).max(1e4).nullish(),
|
|
22171
|
+
currentEpisode: exports_external.number().int().min(0).max(1e4).nullish()
|
|
22156
22172
|
}).strict();
|
|
22157
22173
|
var gameFacetSchema2 = exports_external.object({
|
|
22158
22174
|
platform: exports_external.string().min(1).max(120).nullish(),
|
|
22159
|
-
coverUrl
|
|
22175
|
+
coverUrl,
|
|
22176
|
+
completion: exports_external.number().int().min(0).max(100).nullish()
|
|
22160
22177
|
}).strict();
|
|
22161
22178
|
var musicFacetSchema = exports_external.object({
|
|
22162
22179
|
artist: exports_external.string().min(1).max(200).nullish(),
|
|
@@ -22201,7 +22218,14 @@ var COLLECTION_TYPES = {
|
|
|
22201
22218
|
facetSchema: filmFacetSchema,
|
|
22202
22219
|
view: "grid",
|
|
22203
22220
|
subtitleKey: "director",
|
|
22204
|
-
lookupId: "tmdb"
|
|
22221
|
+
lookupId: "tmdb",
|
|
22222
|
+
progress: {
|
|
22223
|
+
kind: "count",
|
|
22224
|
+
currentField: "currentEpisode",
|
|
22225
|
+
totalField: "episodeCount",
|
|
22226
|
+
unit: "episode",
|
|
22227
|
+
appliesWhen: { field: "kind", equals: "show" }
|
|
22228
|
+
}
|
|
22205
22229
|
},
|
|
22206
22230
|
game: {
|
|
22207
22231
|
key: "game",
|
|
@@ -22218,7 +22242,8 @@ var COLLECTION_TYPES = {
|
|
|
22218
22242
|
facetSchema: gameFacetSchema2,
|
|
22219
22243
|
view: "grid",
|
|
22220
22244
|
subtitleKey: "platform",
|
|
22221
|
-
lookupId: "igdb"
|
|
22245
|
+
lookupId: "igdb",
|
|
22246
|
+
progress: { kind: "percent", field: "completion" }
|
|
22222
22247
|
},
|
|
22223
22248
|
music: {
|
|
22224
22249
|
key: "music",
|
|
@@ -24356,7 +24381,7 @@ function parseCapture2(input, now) {
|
|
|
24356
24381
|
|
|
24357
24382
|
// src/meta.ts
|
|
24358
24383
|
var CLI_NAME = "do";
|
|
24359
|
-
var VERSION = "1.
|
|
24384
|
+
var VERSION = "1.75.0";
|
|
24360
24385
|
var API_PREFIX = "/api/v1";
|
|
24361
24386
|
var DEFAULT_API_URL = "http://localhost:3001";
|
|
24362
24387
|
|