@robbeverhelst/do 1.32.0 → 1.34.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 +73 -13
  2. package/package.json +1 -1
package/dist/do.js CHANGED
@@ -19589,6 +19589,15 @@ var bookCoverResultSchema = exports_external.object({
19589
19589
  coverUrl: exports_external.string().url().nullable(),
19590
19590
  author: exports_external.string().nullable()
19591
19591
  });
19592
+ // ../../packages/schema/src/contracts/watch.ts
19593
+ var watchPosterQuerySchema = exports_external.object({
19594
+ title: exports_external.string().min(1).max(300)
19595
+ });
19596
+ var watchPosterResultSchema = exports_external.object({
19597
+ posterUrl: exports_external.string().url().nullable(),
19598
+ year: exports_external.number().int().nullable(),
19599
+ kind: exports_external.enum(["movie", "show"]).nullable()
19600
+ });
19592
19601
  // ../../packages/schema/src/contracts/tasks.ts
19593
19602
  var taskSchema = createSelectSchema(tasks, {
19594
19603
  scheduledAt: exports_external.coerce.date().nullable(),
@@ -20099,6 +20108,10 @@ var inventoryItemViewSchema = inventoryItemSchema.extend({
20099
20108
  updatedAt: exports_external.coerce.date(),
20100
20109
  deletedAt: exports_external.coerce.date().nullable()
20101
20110
  });
20111
+ var restockInputSchema = exports_external.object({
20112
+ listId: ulidSchema.optional(),
20113
+ itemIds: exports_external.array(ulidSchema).optional()
20114
+ }).strict();
20102
20115
  // ../../packages/schema/src/contracts/recipes.ts
20103
20116
  var recipeSchema = createSelectSchema(recipes);
20104
20117
  var recipeIngredientSchema = createSelectSchema(recipeIngredients, {
@@ -20147,7 +20160,17 @@ var recipeViewSchema = recipeSchema.extend({
20147
20160
  var recipeDetailSchema = recipeViewSchema.extend({
20148
20161
  ingredients: exports_external.array(recipeIngredientSchema)
20149
20162
  });
20150
- var addRecipeToShoppingListInputSchema = exports_external.object({ listId: ulidSchema }).strict();
20163
+ var addRecipeToShoppingListInputSchema = exports_external.object({ listId: ulidSchema, onlyMissing: exports_external.boolean().optional() }).strict();
20164
+ var recipePantryIngredientSchema = recipeIngredientSchema.extend({
20165
+ inStock: exports_external.boolean(),
20166
+ haveQuantity: exports_external.number().nullable()
20167
+ });
20168
+ var recipePantrySchema = exports_external.object({
20169
+ recipeId: ulidSchema,
20170
+ haveCount: exports_external.number().int().min(0),
20171
+ totalCount: exports_external.number().int().min(0),
20172
+ ingredients: exports_external.array(recipePantryIngredientSchema)
20173
+ });
20151
20174
  // ../../packages/schema/src/contracts/meal-plans.ts
20152
20175
  var mealTypeSchema = exports_external.enum(mealType.enumValues);
20153
20176
  var mealPlanSchema = createSelectSchema(mealPlans, {
@@ -21086,8 +21109,21 @@ var mediaShelfFacetSchema = exports_external.object({
21086
21109
  status: bookStatusSchema.default("to-read"),
21087
21110
  rating: exports_external.number().int().min(1).max(5).nullish()
21088
21111
  }).strict();
21112
+ var WATCH_SHELF_DISPLAY_KIND = "watch-shelf";
21113
+ var watchKindValues = ["movie", "show"];
21114
+ var watchKindSchema = exports_external.enum(watchKindValues);
21115
+ var watchStatusValues = ["to-watch", "watching", "watched"];
21116
+ var watchStatusSchema = exports_external.enum(watchStatusValues);
21117
+ var watchFacetSchema = exports_external.object({
21118
+ kind: watchKindSchema.default("movie"),
21119
+ status: watchStatusSchema.default("to-watch"),
21120
+ rating: exports_external.number().int().min(1).max(5).nullish(),
21121
+ year: exports_external.number().int().min(1888).max(2200).nullish(),
21122
+ posterUrl: exports_external.string().url().max(2048).nullish()
21123
+ }).strict();
21089
21124
  var facetSchemasByDisplayKind = {
21090
- [MEDIA_SHELF_DISPLAY_KIND]: mediaShelfFacetSchema
21125
+ [MEDIA_SHELF_DISPLAY_KIND]: mediaShelfFacetSchema,
21126
+ [WATCH_SHELF_DISPLAY_KIND]: watchFacetSchema
21091
21127
  };
21092
21128
  // ../../packages/schema/src/presets/recipe.ts
21093
21129
  var presetEntitySchema = exports_external.enum([
@@ -21095,6 +21131,7 @@ var presetEntitySchema = exports_external.enum([
21095
21131
  "list",
21096
21132
  "inventory",
21097
21133
  "library",
21134
+ "watchlist",
21098
21135
  "routine",
21099
21136
  "area",
21100
21137
  "project",
@@ -22034,16 +22071,6 @@ var inventoryPresets = [
22034
22071
  // ../../packages/schema/src/presets/features/lists.ts
22035
22072
  var shoppingItems2 = (...titles) => titles.map((title) => ({ title }));
22036
22073
  var listPresetDefs = [
22037
- {
22038
- key: "watchlist",
22039
- name: "Watchlist",
22040
- description: "Films and shows to watch.",
22041
- icon: "\uD83C\uDFAC",
22042
- color: "#a78bfa",
22043
- category: "Entertainment",
22044
- title: "Watchlist",
22045
- items: ["Dune: Part Two", "The Bear", "Severance"]
22046
- },
22047
22074
  {
22048
22075
  key: "groceries",
22049
22076
  name: "Groceries",
@@ -22555,10 +22582,43 @@ var routinePresets = routinePresetDefs.map((def) => ({
22555
22582
  }
22556
22583
  }));
22557
22584
 
22585
+ // ../../packages/schema/src/presets/features/watchlist.ts
22586
+ var watchlistTitles = [
22587
+ { title: "Dune: Part Two", kind: "movie", year: 2024 },
22588
+ { title: "Oppenheimer", kind: "movie", year: 2023 },
22589
+ { title: "Severance", kind: "show", year: 2022 }
22590
+ ];
22591
+ var watchlistPreset = {
22592
+ key: "watchlist",
22593
+ entity: "watchlist",
22594
+ name: "Watchlist",
22595
+ description: "Films & shows to watch \u2014 posters, status and ratings.",
22596
+ icon: "\uD83C\uDFAC",
22597
+ color: "#6366f1",
22598
+ category: "Watching",
22599
+ displayKind: WATCH_SHELF_DISPLAY_KIND,
22600
+ recipe: {
22601
+ nodes: [
22602
+ {
22603
+ ref: "list",
22604
+ kind: "shopping_list",
22605
+ title: "Watchlist",
22606
+ displayKind: WATCH_SHELF_DISPLAY_KIND,
22607
+ items: watchlistTitles.map((t) => ({
22608
+ title: t.title,
22609
+ facet: { kind: t.kind, year: t.year, status: "to-watch" }
22610
+ }))
22611
+ }
22612
+ ]
22613
+ }
22614
+ };
22615
+ var watchlistPresets = [watchlistPreset];
22616
+
22558
22617
  // ../../packages/schema/src/presets/features/index.ts
22559
22618
  var featurePresets = [
22560
22619
  ...habitPresets,
22561
22620
  ...shoppingListPresets,
22621
+ ...watchlistPresets,
22562
22622
  ...inventoryPresets,
22563
22623
  ...routinePresets,
22564
22624
  ...areaPresets,
@@ -22824,7 +22884,7 @@ function parseCapture2(input) {
22824
22884
 
22825
22885
  // src/meta.ts
22826
22886
  var CLI_NAME = "do";
22827
- var VERSION = "1.32.0";
22887
+ var VERSION = "1.34.0";
22828
22888
  var API_PREFIX = "/api/v1";
22829
22889
  var DEFAULT_API_URL = "http://localhost:3001";
22830
22890
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robbeverhelst/do",
3
- "version": "1.32.0",
3
+ "version": "1.34.0",
4
4
  "private": false,
5
5
  "description": "do — the agent-drivable CLI over the public /api/v1 surface",
6
6
  "type": "module",