@robbeverhelst/do 1.31.0 → 1.33.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 +81 -12
  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(),
@@ -21086,8 +21095,21 @@ var mediaShelfFacetSchema = exports_external.object({
21086
21095
  status: bookStatusSchema.default("to-read"),
21087
21096
  rating: exports_external.number().int().min(1).max(5).nullish()
21088
21097
  }).strict();
21098
+ var WATCH_SHELF_DISPLAY_KIND = "watch-shelf";
21099
+ var watchKindValues = ["movie", "show"];
21100
+ var watchKindSchema = exports_external.enum(watchKindValues);
21101
+ var watchStatusValues = ["to-watch", "watching", "watched"];
21102
+ var watchStatusSchema = exports_external.enum(watchStatusValues);
21103
+ var watchFacetSchema = exports_external.object({
21104
+ kind: watchKindSchema.default("movie"),
21105
+ status: watchStatusSchema.default("to-watch"),
21106
+ rating: exports_external.number().int().min(1).max(5).nullish(),
21107
+ year: exports_external.number().int().min(1888).max(2200).nullish(),
21108
+ posterUrl: exports_external.string().url().max(2048).nullish()
21109
+ }).strict();
21089
21110
  var facetSchemasByDisplayKind = {
21090
- [MEDIA_SHELF_DISPLAY_KIND]: mediaShelfFacetSchema
21111
+ [MEDIA_SHELF_DISPLAY_KIND]: mediaShelfFacetSchema,
21112
+ [WATCH_SHELF_DISPLAY_KIND]: watchFacetSchema
21091
21113
  };
21092
21114
  // ../../packages/schema/src/presets/recipe.ts
21093
21115
  var presetEntitySchema = exports_external.enum([
@@ -21095,6 +21117,7 @@ var presetEntitySchema = exports_external.enum([
21095
21117
  "list",
21096
21118
  "inventory",
21097
21119
  "library",
21120
+ "watchlist",
21098
21121
  "routine",
21099
21122
  "area",
21100
21123
  "project",
@@ -21668,6 +21691,29 @@ var habitPresets = [
21668
21691
  ]
21669
21692
  }
21670
21693
  },
21694
+ {
21695
+ key: "run-100km",
21696
+ entity: "habit",
21697
+ name: "Run 100 km",
21698
+ description: "Log kilometres toward a 100 km challenge.",
21699
+ icon: "\uD83C\uDFC3",
21700
+ color: "#34d399",
21701
+ category: "Fitness",
21702
+ displayKind: "goal-ring",
21703
+ recipe: {
21704
+ nodes: [
21705
+ {
21706
+ ref: "habit",
21707
+ kind: "habit",
21708
+ title: "Run 100 km",
21709
+ measurementType: "quantitative",
21710
+ targetValue: 100,
21711
+ targetUnit: "km",
21712
+ period: "month"
21713
+ }
21714
+ ]
21715
+ }
21716
+ },
21671
21717
  {
21672
21718
  key: "read",
21673
21719
  entity: "habit",
@@ -22011,16 +22057,6 @@ var inventoryPresets = [
22011
22057
  // ../../packages/schema/src/presets/features/lists.ts
22012
22058
  var shoppingItems2 = (...titles) => titles.map((title) => ({ title }));
22013
22059
  var listPresetDefs = [
22014
- {
22015
- key: "watchlist",
22016
- name: "Watchlist",
22017
- description: "Films and shows to watch.",
22018
- icon: "\uD83C\uDFAC",
22019
- color: "#a78bfa",
22020
- category: "Entertainment",
22021
- title: "Watchlist",
22022
- items: ["Dune: Part Two", "The Bear", "Severance"]
22023
- },
22024
22060
  {
22025
22061
  key: "groceries",
22026
22062
  name: "Groceries",
@@ -22532,10 +22568,43 @@ var routinePresets = routinePresetDefs.map((def) => ({
22532
22568
  }
22533
22569
  }));
22534
22570
 
22571
+ // ../../packages/schema/src/presets/features/watchlist.ts
22572
+ var watchlistTitles = [
22573
+ { title: "Dune: Part Two", kind: "movie", year: 2024 },
22574
+ { title: "Oppenheimer", kind: "movie", year: 2023 },
22575
+ { title: "Severance", kind: "show", year: 2022 }
22576
+ ];
22577
+ var watchlistPreset = {
22578
+ key: "watchlist",
22579
+ entity: "watchlist",
22580
+ name: "Watchlist",
22581
+ description: "Films & shows to watch \u2014 posters, status and ratings.",
22582
+ icon: "\uD83C\uDFAC",
22583
+ color: "#6366f1",
22584
+ category: "Watching",
22585
+ displayKind: WATCH_SHELF_DISPLAY_KIND,
22586
+ recipe: {
22587
+ nodes: [
22588
+ {
22589
+ ref: "list",
22590
+ kind: "shopping_list",
22591
+ title: "Watchlist",
22592
+ displayKind: WATCH_SHELF_DISPLAY_KIND,
22593
+ items: watchlistTitles.map((t) => ({
22594
+ title: t.title,
22595
+ facet: { kind: t.kind, year: t.year, status: "to-watch" }
22596
+ }))
22597
+ }
22598
+ ]
22599
+ }
22600
+ };
22601
+ var watchlistPresets = [watchlistPreset];
22602
+
22535
22603
  // ../../packages/schema/src/presets/features/index.ts
22536
22604
  var featurePresets = [
22537
22605
  ...habitPresets,
22538
22606
  ...shoppingListPresets,
22607
+ ...watchlistPresets,
22539
22608
  ...inventoryPresets,
22540
22609
  ...routinePresets,
22541
22610
  ...areaPresets,
@@ -22801,7 +22870,7 @@ function parseCapture2(input) {
22801
22870
 
22802
22871
  // src/meta.ts
22803
22872
  var CLI_NAME = "do";
22804
- var VERSION = "1.31.0";
22873
+ var VERSION = "1.33.0";
22805
22874
  var API_PREFIX = "/api/v1";
22806
22875
  var DEFAULT_API_URL = "http://localhost:3001";
22807
22876
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robbeverhelst/do",
3
- "version": "1.31.0",
3
+ "version": "1.33.0",
4
4
  "private": false,
5
5
  "description": "do — the agent-drivable CLI over the public /api/v1 surface",
6
6
  "type": "module",