@robbeverhelst/do 1.287.0 → 1.289.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 +95 -7
  2. package/package.json +1 -1
package/dist/do.js CHANGED
@@ -5019,6 +5019,7 @@ var households = pgTable("households", {
5019
5019
  tenantId: text("tenant_id").notNull().references(() => tenants.id),
5020
5020
  address: jsonb("address").$type(),
5021
5021
  language: text("language").notNull().default("nl"),
5022
+ group: boolean("group").notNull().default(false),
5022
5023
  createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
5023
5024
  updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow()
5024
5025
  }, (t) => [index("households_tenant_idx").on(t.tenantId)]);
@@ -21206,7 +21207,9 @@ var houseUpkeepSoonSchema = object({
21206
21207
  task: taskViewSchema,
21207
21208
  itemId: string2(),
21208
21209
  itemTitle: string2(),
21209
- nextOn: day.nullable()
21210
+ nextOn: day.nullable(),
21211
+ placeTitle: string2().nullable().default(null),
21212
+ lastOn: day.nullable().default(null)
21210
21213
  });
21211
21214
  var housePlaceTileSchema = object({
21212
21215
  id: string2(),
@@ -21222,7 +21225,8 @@ var houseOverviewSchema = object({
21222
21225
  thingCount: number2().int().min(0),
21223
21226
  upkeepCount: number2().int().min(0),
21224
21227
  toolCount: number2().int().min(0),
21225
- animalCount: number2().int().min(0)
21228
+ animalCount: number2().int().min(0),
21229
+ toConfirm: number2().int().min(0).default(0)
21226
21230
  });
21227
21231
  var upkeepScheduleSchema = object({
21228
21232
  every: number2().int().min(1).max(365),
@@ -21602,7 +21606,8 @@ var postReceiptInputSchema = object({
21602
21606
  nodeId: ulidSchema,
21603
21607
  parts: array(ulidSchema).min(1).max(10).optional(),
21604
21608
  about: _enum2(POST_RECEIPT_ABOUT_VALUES).optional(),
21605
- source: string2().trim().min(1).max(POST_RECEIPT_SOURCE_MAX).optional()
21609
+ source: string2().trim().min(1).max(POST_RECEIPT_SOURCE_MAX).optional(),
21610
+ personNotes: array(ulidSchema).min(1).max(10).optional()
21606
21611
  }).strict();
21607
21612
  var postReceiptPartSchema = object({
21608
21613
  id: string2(),
@@ -24103,7 +24108,9 @@ var personNoteReceiptItemSchema = object({
24103
24108
  id: ulidSchema,
24104
24109
  kind: string2().nullable(),
24105
24110
  summary: string2(),
24106
- sensitive: boolean3()
24111
+ sensitive: boolean3(),
24112
+ label: string2().nullable().default(null),
24113
+ date: keyDateDaySchema.nullable().default(null)
24107
24114
  });
24108
24115
  var personNoteReceiptSchema = object({
24109
24116
  id: ulidSchema,
@@ -24199,6 +24206,15 @@ var personPrivateNoteSchema = object({
24199
24206
  updatedAt: exports_coerce.date().nullable()
24200
24207
  });
24201
24208
  var putPersonPrivateNoteInputSchema = object({ body: string2().max(20000) }).strict();
24209
+ var eventFollowUpsQuerySchema = object({ eventId: ulidSchema });
24210
+ var eventFollowUpSchema = object({
24211
+ id: ulidSchema,
24212
+ contactId: ulidSchema,
24213
+ title: string2(),
24214
+ label: string2().nullable(),
24215
+ date: keyDateDaySchema,
24216
+ taskId: ulidSchema.nullable()
24217
+ });
24202
24218
 
24203
24219
  // ../../packages/schema/src/contracts/contacts.ts
24204
24220
  var contactKindSchema = _enum2(contactKind.enumValues);
@@ -26597,6 +26613,7 @@ var householdAddressSchema = object({
26597
26613
  }).strict();
26598
26614
  var householdRowSchema = createSelectSchema(households, {
26599
26615
  address: householdAddressSchema.nullable(),
26616
+ group: boolean3().default(false),
26600
26617
  createdAt: exports_coerce.date(),
26601
26618
  updatedAt: exports_coerce.date()
26602
26619
  });
@@ -26610,6 +26627,7 @@ var createHouseholdInputSchema = object({
26610
26627
  title: string2().trim().min(1).max(120),
26611
26628
  address: householdAddressSchema.nullish(),
26612
26629
  language: rsvpLanguageSchema.optional(),
26630
+ group: boolean3().optional(),
26613
26631
  memberIds: array(ulidSchema).max(30).optional()
26614
26632
  }).strict();
26615
26633
  var updateHouseholdInputSchema = createHouseholdInputSchema.omit({ id: true }).partial().strict();
@@ -26622,7 +26640,8 @@ var guestListSchema = createSelectSchema(guestLists, {
26622
26640
  });
26623
26641
  var guestListViewSchema = guestListSchema.extend({
26624
26642
  projectTitle: string2(),
26625
- rsvpBy: keyDateDaySchema.nullable()
26643
+ rsvpBy: keyDateDaySchema.nullable(),
26644
+ projectDay: keyDateDaySchema.nullable().default(null)
26626
26645
  });
26627
26646
  var createGuestListInputSchema = object({
26628
26647
  id: ulidSchema,
@@ -26703,6 +26722,7 @@ var guestListOverviewSchema = object({
26703
26722
  title: string2(),
26704
26723
  address: householdAddressSchema.nullable(),
26705
26724
  language: rsvpLanguageSchema,
26725
+ group: boolean3().default(false),
26706
26726
  guests: array(guestViewSchema)
26707
26727
  })),
26708
26728
  headCount: headCountSchema,
@@ -26816,7 +26836,7 @@ var createSeatingProposalInputSchema = object({
26816
26836
  return new Set(ids).size === ids.length;
26817
26837
  }, { message: "a guest can sit at one table only", path: ["tables"] });
26818
26838
  var seatingProposalsQuerySchema = object({ guestListId: ulidSchema });
26819
- var GUEST_EXPORT_KINDS = ["caterer", "venue", "floor-plan"];
26839
+ var GUEST_EXPORT_KINDS = ["caterer", "venue", "floor-plan", "church"];
26820
26840
  var guestExportKindSchema = _enum2(GUEST_EXPORT_KINDS);
26821
26841
  var thankYouGiftSchema = object({
26822
26842
  momentId: ulidSchema,
@@ -28674,7 +28694,7 @@ function parseCapture2(input, now) {
28674
28694
 
28675
28695
  // src/meta.ts
28676
28696
  var CLI_NAME = "do";
28677
- var VERSION = "1.287.0";
28697
+ var VERSION = "1.289.0";
28678
28698
  var API_PREFIX = "/api/v1";
28679
28699
  var DEFAULT_API_URL = "http://localhost:3001";
28680
28700
 
@@ -32358,6 +32378,21 @@ var COMMAND_SPECS = [
32358
32378
  returns: "EchoThreadSummary",
32359
32379
  notes: "For later and Silent posts never push. The home thread and conversations start at all, a standing thread you add at needs_you."
32360
32380
  },
32381
+ {
32382
+ path: ["echo", "threads", "people"],
32383
+ summary: "Switch People capture for one of your agent threads.",
32384
+ args: [
32385
+ { name: "id", required: true, description: "Thread ULID (see `echo threads list`)." },
32386
+ {
32387
+ name: "setting",
32388
+ required: true,
32389
+ description: "on (what you say about someone may go on their person page) or off."
32390
+ }
32391
+ ],
32392
+ flags: [],
32393
+ scopes: ["agents:write"],
32394
+ returns: "EchoThreadSummary"
32395
+ },
32361
32396
  {
32362
32397
  path: ["echo", "briefs"],
32363
32398
  summary: "Show today's briefs from the agent, as Now shows them.",
@@ -33906,6 +33941,30 @@ var COMMAND_SPECS = [
33906
33941
  returns: "PersonNoteReceipt",
33907
33942
  notes: "Name the person by contactId or by person (a name or \"Sam's sister\"); no match is not found, several is a conflict listing the candidates. Items: moment (kind, summary, sensitive), gift_idea (title, url), follow_up (label, date), key_date (birthday|anniversary|other, date). The id is minted when omitted; it's the receipt's id, which `do people undo` takes."
33908
33943
  },
33944
+ {
33945
+ path: ["people", "follow-ups"],
33946
+ summary: "The open follow-ups for the people a calendar event is with.",
33947
+ args: [],
33948
+ flags: [{ name: "event", type: "string", description: "The calendar event's id." }],
33949
+ scopes: ["contacts:read"],
33950
+ returns: "EventFollowUp"
33951
+ },
33952
+ {
33953
+ path: ["people", "receipt"],
33954
+ summary: "Read one person note's receipt again: who it was about and what is still there.",
33955
+ args: [{ name: "id", required: true, description: "The note's (receipt's) id." }],
33956
+ flags: [],
33957
+ scopes: ["contacts:read"],
33958
+ returns: "PersonNoteReceipt"
33959
+ },
33960
+ {
33961
+ path: ["people", "drop-sensitive"],
33962
+ summary: "Don't keep a person note's sensitive detail (its summary goes now).",
33963
+ args: [{ name: "id", required: true, description: "The note's (receipt's) id." }],
33964
+ flags: [],
33965
+ scopes: ["contacts:write"],
33966
+ returns: "PersonNoteReceipt"
33967
+ },
33909
33968
  {
33910
33969
  path: ["people", "undo"],
33911
33970
  summary: "Take back everything one person note wrote.",
@@ -37907,6 +37966,18 @@ var HANDLERS = {
37907
37966
  }),
37908
37967
  render: renderRecord
37909
37968
  }),
37969
+ "echo threads people": async ({ args, requireClient }) => {
37970
+ const id = requireArg(args, 0, "thread id");
37971
+ const setting = requireArg(args, 1, "on or off");
37972
+ if (setting !== "on" && setting !== "off")
37973
+ throw usageError("say on or off");
37974
+ return {
37975
+ data: await requireClient().patch(`/echo/threads/${id}`, {
37976
+ peopleCapture: setting === "on"
37977
+ }),
37978
+ render: renderRecord
37979
+ };
37980
+ },
37910
37981
  "echo briefs": async ({ flags, requireClient }) => {
37911
37982
  const since = flagString(flags, "since") ?? startOfToday().toISOString();
37912
37983
  return {
@@ -39152,6 +39223,23 @@ var HANDLERS = {
39152
39223
  const body = parseInput(createPersonNoteInputSchema, { id: ulid3(), ...readDataFlag(flags) });
39153
39224
  return { data: await requireClient().post("/people/notes", body), render: renderRecord };
39154
39225
  },
39226
+ "people follow-ups": async ({ flags, requireClient }) => {
39227
+ const eventId = flagString(flags, "event");
39228
+ if (!eventId)
39229
+ throw usageError("people follow-ups needs --event <calendar event id>");
39230
+ return {
39231
+ data: await requireClient().get("/people/follow-ups", { query: { eventId } }),
39232
+ render: renderRecord
39233
+ };
39234
+ },
39235
+ "people receipt": async ({ args, requireClient }) => ({
39236
+ data: await requireClient().get(`/people/notes/${requireArg(args, 0, "note id")}`),
39237
+ render: renderRecord
39238
+ }),
39239
+ "people drop-sensitive": async ({ args, requireClient }) => ({
39240
+ data: await requireClient().post(`/people/notes/${requireArg(args, 0, "note id")}/drop-sensitive`, {}),
39241
+ render: renderRecord
39242
+ }),
39155
39243
  "people undo": async ({ args, requireClient }) => {
39156
39244
  const id = requireArg(args, 0, "note id");
39157
39245
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robbeverhelst/do",
3
- "version": "1.287.0",
3
+ "version": "1.289.0",
4
4
  "private": false,
5
5
  "description": "do — the agent-drivable CLI over the public /api/v1 surface",
6
6
  "homepage": "https://github.com/robbeverhelst/do/tree/main/apps/cli",