@flowmind/cli 0.3.9 → 0.3.11

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/index.js +709 -515
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -85,8 +85,8 @@ var o = r().default;
85
85
  function i(e4, { instancePath: a5 = "", parentData: m6, parentDataProperty: d5, rootData: l4 = e4 } = {}) {
86
86
  let p6 = null, s7 = 0;
87
87
  if (s7 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
88
- let o11;
89
- if (e4.success === void 0 && (o11 = "success") || e4.status === void 0 && (o11 = "status") || e4.message === void 0 && (o11 = "message") || e4.data === void 0 && (o11 = "data") || e4.requestId === void 0 && (o11 = "requestId") || e4.error === void 0 && (o11 = "error") || e4.details === void 0 && (o11 = "details")) return i.errors = [{ instancePath: a5, schemaPath: "#/required", keyword: "required", params: { missingProperty: o11 }, message: "must have required property '" + o11 + "'" }], false;
88
+ let o12;
89
+ if (e4.success === void 0 && (o12 = "success") || e4.status === void 0 && (o12 = "status") || e4.message === void 0 && (o12 = "message") || e4.data === void 0 && (o12 = "data") || e4.requestId === void 0 && (o12 = "requestId") || e4.error === void 0 && (o12 = "error") || e4.details === void 0 && (o12 = "details")) return i.errors = [{ instancePath: a5, schemaPath: "#/required", keyword: "required", params: { missingProperty: o12 }, message: "must have required property '" + o12 + "'" }], false;
90
90
  {
91
91
  let f3 = s7;
92
92
  for (let r2 in e4) if (!(r2 === "data" || r2 === "details" || r2 === "error" || r2 === "message" || r2 === "requestId" || r2 === "status" || r2 === "success")) {
@@ -294,7 +294,7 @@ var isHttpEvidenceUrl = (value) => {
294
294
 
295
295
  // src/agent-session.ts
296
296
  import { createHash as createHash4 } from "node:crypto";
297
- import { appendFile, mkdir as mkdir5, readdir as readdir7, readFile as readFile6, rename as rename4, rm as rm3, rmdir, stat as stat3, utimes, writeFile as writeFile5 } from "node:fs/promises";
297
+ import { appendFile, mkdir as mkdir5, readdir as readdir7, readFile as readFile6, rename as rename5, rm as rm4, rmdir, stat as stat3, utimes, writeFile as writeFile5 } from "node:fs/promises";
298
298
  import { join as join8 } from "node:path";
299
299
 
300
300
  // src/awake-clock.ts
@@ -566,7 +566,8 @@ function accountDirectory() {
566
566
  }
567
567
 
568
568
  // src/project-link.ts
569
- import { readFile as readFile2, stat, writeFile as writeFile2 } from "node:fs/promises";
569
+ import { randomUUID as randomUUID2 } from "node:crypto";
570
+ import { chmod, readFile as readFile2, rename, rm, stat, writeFile as writeFile2 } from "node:fs/promises";
570
571
  import { dirname as dirname2, join as join4, resolve } from "node:path";
571
572
  var LINK_FILE = ".flowmind.json";
572
573
  var UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
@@ -625,29 +626,47 @@ async function readLink(start) {
625
626
  async function writeLink(start, project) {
626
627
  const root = await findRepoRoot(start);
627
628
  const path = join4(root, LINK_FILE);
628
- await writeFile2(path, `${JSON.stringify({ projectId: project.id, name: project.name }, null, 2)}
629
- `, "utf8");
629
+ await replaceLinkFile(path, { projectId: project.id, name: project.name });
630
630
  return { kind: "linked", root, path, projectId: project.id, name: project.name };
631
631
  }
632
632
  async function writeIgnore(start, reason) {
633
633
  const root = await findRepoRoot(start);
634
634
  const path = join4(root, LINK_FILE);
635
635
  const trimmed = reason?.trim() || null;
636
- await writeFile2(path, `${JSON.stringify({ ignore: true, ...trimmed ? { reason: trimmed } : {} }, null, 2)}
637
- `, "utf8");
636
+ await replaceLinkFile(path, { ignore: true, ...trimmed ? { reason: trimmed } : {} });
638
637
  return { kind: "ignored", root, path, reason: trimmed };
639
638
  }
639
+ async function replaceLinkFile(path, content) {
640
+ const temporary = `${path}.${process.pid}.${randomUUID2()}.tmp`;
641
+ const mode = await permissionBits(path);
642
+ try {
643
+ await writeFile2(temporary, `${JSON.stringify(content, null, 2)}
644
+ `, { encoding: "utf8", flag: "wx" });
645
+ if (mode !== null) await chmod(temporary, mode);
646
+ await rename(temporary, path);
647
+ } finally {
648
+ await rm(temporary, { force: true });
649
+ }
650
+ }
651
+ async function permissionBits(path) {
652
+ try {
653
+ return (await stat(path)).mode & 4095;
654
+ } catch (error) {
655
+ if (error.code === "ENOENT") return null;
656
+ throw error;
657
+ }
658
+ }
640
659
 
641
660
  // src/manual-save.ts
642
- import { createHash as createHash3, randomUUID as randomUUID3 } from "node:crypto";
643
- import { mkdir as mkdir4, readdir as readdir6, readFile as readFile5, rename as rename3, unlink as unlink2, writeFile as writeFile4 } from "node:fs/promises";
661
+ import { createHash as createHash3, randomUUID as randomUUID4 } from "node:crypto";
662
+ import { mkdir as mkdir4, readdir as readdir6, readFile as readFile5, rename as rename4, unlink as unlink2, writeFile as writeFile4 } from "node:fs/promises";
644
663
  import { join as join7 } from "node:path";
645
664
 
646
665
  // src/account.ts
647
666
  import { readdir as readdir5 } from "node:fs/promises";
648
667
 
649
668
  // ../../packages/contracts/src/generated/revision.ts
650
- var contractRevision = "3620e18f995dfc34dee05d8a132148178ce03b4a0223aafb99778e00e5585ef4";
669
+ var contractRevision = "0ece835f1c501854ec0e187f333d6ea186652f01558c642beaaff37e55b883a4";
651
670
 
652
671
  // ../../packages/contracts/src/generated/validators/apiError.js
653
672
  var m = { additionalProperties: false, properties: { data: { enum: [null], nullable: true, type: "object" }, details: {}, error: { enum: ["BAD_REQUEST", "PUBLICATION_REVISION_CONFLICT", "PUBLICATION_STALE_ENTRIES", "SHARE_STALE_ENTRIES", "SLUG_TAKEN", "CONFLICT", "EXPIRED", "FORBIDDEN", "HUMAN_SESSION_REQUIRED", "INTERNAL_ERROR", "INVALID_API_RESPONSE", "MAX_ACTIVE_JOBS_REACHED", "NOT_FOUND", "PLAN_LIMIT_REACHED", "QUOTA_EXCEEDED", "RATE_LIMIT_EXCEEDED", "SERVICE_UNAVAILABLE", "UNDECLARED_API_OPERATION", "UNAUTHENTICATED", "VALIDATION_FAILED"], type: "string" }, message: { type: "string" }, requestId: { minLength: 1, type: "string" }, status: { maximum: 599, minimum: 400, type: "integer" }, success: { enum: [false], type: "boolean" } }, required: ["success", "status", "message", "data", "requestId", "error", "details"], type: "object" };
@@ -664,17 +683,17 @@ function t2(r2, { instancePath: i5 = "", parentData: E, parentDataProperty: d5,
664
683
  }
665
684
  if (l4 === s7) {
666
685
  if (r2.data !== void 0) {
667
- let e4 = r2.data, o11 = s7;
686
+ let e4 = r2.data, o12 = s7;
668
687
  if (!(e4 && typeof e4 == "object" && !Array.isArray(e4)) && e4 !== null) return t2.errors = [{ instancePath: i5 + "/data", schemaPath: "#/properties/data/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
669
688
  if (e4 !== null) return t2.errors = [{ instancePath: i5 + "/data", schemaPath: "#/properties/data/enum", keyword: "enum", params: { allowedValues: m.properties.data.enum }, message: "must be equal to one of the allowed values" }], false;
670
- var a5 = o11 === s7;
689
+ var a5 = o12 === s7;
671
690
  } else var a5 = true;
672
691
  if (a5) {
673
692
  if (r2.error !== void 0) {
674
- let e4 = r2.error, o11 = s7;
693
+ let e4 = r2.error, o12 = s7;
675
694
  if (typeof e4 != "string") return t2.errors = [{ instancePath: i5 + "/error", schemaPath: "#/properties/error/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
676
695
  if (!(e4 === "BAD_REQUEST" || e4 === "PUBLICATION_REVISION_CONFLICT" || e4 === "PUBLICATION_STALE_ENTRIES" || e4 === "SHARE_STALE_ENTRIES" || e4 === "SLUG_TAKEN" || e4 === "CONFLICT" || e4 === "EXPIRED" || e4 === "FORBIDDEN" || e4 === "HUMAN_SESSION_REQUIRED" || e4 === "INTERNAL_ERROR" || e4 === "INVALID_API_RESPONSE" || e4 === "MAX_ACTIVE_JOBS_REACHED" || e4 === "NOT_FOUND" || e4 === "PLAN_LIMIT_REACHED" || e4 === "QUOTA_EXCEEDED" || e4 === "RATE_LIMIT_EXCEEDED" || e4 === "SERVICE_UNAVAILABLE" || e4 === "UNDECLARED_API_OPERATION" || e4 === "UNAUTHENTICATED" || e4 === "VALIDATION_FAILED")) return t2.errors = [{ instancePath: i5 + "/error", schemaPath: "#/properties/error/enum", keyword: "enum", params: { allowedValues: m.properties.error.enum }, message: "must be equal to one of the allowed values" }], false;
677
- var a5 = o11 === s7;
696
+ var a5 = o12 === s7;
678
697
  } else var a5 = true;
679
698
  if (a5) {
680
699
  if (r2.message !== void 0) {
@@ -684,27 +703,27 @@ function t2(r2, { instancePath: i5 = "", parentData: E, parentDataProperty: d5,
684
703
  } else var a5 = true;
685
704
  if (a5) {
686
705
  if (r2.requestId !== void 0) {
687
- let e4 = r2.requestId, o11 = s7;
688
- if (s7 === o11) if (typeof e4 == "string") {
706
+ let e4 = r2.requestId, o12 = s7;
707
+ if (s7 === o12) if (typeof e4 == "string") {
689
708
  if (o(e4) < 1) return t2.errors = [{ instancePath: i5 + "/requestId", schemaPath: "#/properties/requestId/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" }], false;
690
709
  } else return t2.errors = [{ instancePath: i5 + "/requestId", schemaPath: "#/properties/requestId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
691
- var a5 = o11 === s7;
710
+ var a5 = o12 === s7;
692
711
  } else var a5 = true;
693
712
  if (a5) {
694
713
  if (r2.status !== void 0) {
695
- let e4 = r2.status, o11 = s7;
714
+ let e4 = r2.status, o12 = s7;
696
715
  if (!(typeof e4 == "number" && !(e4 % 1) && !isNaN(e4) && isFinite(e4))) return t2.errors = [{ instancePath: i5 + "/status", schemaPath: "#/properties/status/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
697
- if (s7 === o11 && typeof e4 == "number" && isFinite(e4)) {
716
+ if (s7 === o12 && typeof e4 == "number" && isFinite(e4)) {
698
717
  if (e4 > 599 || isNaN(e4)) return t2.errors = [{ instancePath: i5 + "/status", schemaPath: "#/properties/status/maximum", keyword: "maximum", params: { comparison: "<=", limit: 599 }, message: "must be <= 599" }], false;
699
718
  if (e4 < 400 || isNaN(e4)) return t2.errors = [{ instancePath: i5 + "/status", schemaPath: "#/properties/status/minimum", keyword: "minimum", params: { comparison: ">=", limit: 400 }, message: "must be >= 400" }], false;
700
719
  }
701
- var a5 = o11 === s7;
720
+ var a5 = o12 === s7;
702
721
  } else var a5 = true;
703
722
  if (a5) if (r2.success !== void 0) {
704
- let e4 = r2.success, o11 = s7;
723
+ let e4 = r2.success, o12 = s7;
705
724
  if (typeof e4 != "boolean") return t2.errors = [{ instancePath: i5 + "/success", schemaPath: "#/properties/success/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
706
725
  if (e4 !== false) return t2.errors = [{ instancePath: i5 + "/success", schemaPath: "#/properties/success/enum", keyword: "enum", params: { allowedValues: m.properties.success.enum }, message: "must be equal to one of the allowed values" }], false;
707
- var a5 = o11 === s7;
726
+ var a5 = o12 === s7;
708
727
  } else var a5 = true;
709
728
  }
710
729
  }
@@ -751,17 +770,17 @@ function o2(e4, { instancePath: t8 = "", parentData: m6, parentDataProperty: f3,
751
770
  // ../../packages/contracts/src/generated/validators/getV1Me200.js
752
771
  var v = { additionalProperties: false, properties: { bio: { nullable: true, type: "string" }, displayName: { nullable: true, type: "string" }, headline: { nullable: true, type: "string" }, openTo: { items: { enum: ["collaborate", "mentor", "mentee", "accountability"], type: "string" }, type: "array" }, profileState: { enum: ["private", "public", "listed"], type: "string" }, userId: { type: "string" }, username: { nullable: true, type: "string" }, visibilityNotice: { $ref: "urn:flowmind:schema:VisibilityNotice" } }, required: ["userId", "username", "displayName", "bio", "profileState", "openTo", "headline", "visibilityNotice"], type: "object" };
753
772
  function a(e4, { instancePath: i5 = "", parentData: g, parentDataProperty: b4, rootData: y3 = e4 } = {}) {
754
- let o11 = null, t8 = 0;
773
+ let o12 = null, t8 = 0;
755
774
  if (t8 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
756
775
  let n7;
757
776
  if (e4.userId === void 0 && (n7 = "userId") || e4.username === void 0 && (n7 = "username") || e4.displayName === void 0 && (n7 = "displayName") || e4.bio === void 0 && (n7 = "bio") || e4.profileState === void 0 && (n7 = "profileState") || e4.openTo === void 0 && (n7 = "openTo") || e4.headline === void 0 && (n7 = "headline") || e4.visibilityNotice === void 0 && (n7 = "visibilityNotice")) return a.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
758
777
  {
759
- let h10 = t8;
778
+ let h11 = t8;
760
779
  for (let r2 in e4) if (!(r2 === "bio" || r2 === "displayName" || r2 === "headline" || r2 === "openTo" || r2 === "profileState" || r2 === "userId" || r2 === "username" || r2 === "visibilityNotice")) {
761
780
  return a.errors = [{ instancePath: i5, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: r2 }, message: "must NOT have additional properties" }], false;
762
781
  break;
763
782
  }
764
- if (h10 === t8) {
783
+ if (h11 === t8) {
765
784
  if (e4.bio !== void 0) {
766
785
  let r2 = e4.bio, l4 = t8;
767
786
  if (typeof r2 != "string" && r2 !== null) return a.errors = [{ instancePath: i5 + "/bio", schemaPath: "#/properties/bio/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
@@ -816,7 +835,7 @@ function a(e4, { instancePath: i5 = "", parentData: g, parentDataProperty: b4, r
816
835
  } else var s7 = true;
817
836
  if (s7) if (e4.visibilityNotice !== void 0) {
818
837
  let r2 = t8;
819
- o2(e4.visibilityNotice, { instancePath: i5 + "/visibilityNotice", parentData: e4, parentDataProperty: "visibilityNotice", rootData: y3 }) || (o11 = o11 === null ? o2.errors : o11.concat(o2.errors), t8 = o11.length);
838
+ o2(e4.visibilityNotice, { instancePath: i5 + "/visibilityNotice", parentData: e4, parentDataProperty: "visibilityNotice", rootData: y3 }) || (o12 = o12 === null ? o2.errors : o12.concat(o2.errors), t8 = o12.length);
820
839
  var s7 = r2 === t8;
821
840
  } else var s7 = true;
822
841
  }
@@ -828,22 +847,22 @@ function a(e4, { instancePath: i5 = "", parentData: g, parentDataProperty: b4, r
828
847
  }
829
848
  }
830
849
  } else return a.errors = [{ instancePath: i5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
831
- return a.errors = o11, t8 === 0;
850
+ return a.errors = o12, t8 === 0;
832
851
  }
833
852
  function f(e4, { instancePath: i5 = "", parentData: g, parentDataProperty: b4, rootData: y3 = e4 } = {}) {
834
- let o11 = null, t8 = 0, s7 = t8;
835
- i(e4, { instancePath: i5, parentData: g, parentDataProperty: b4, rootData: y3 }) || (o11 = o11 === null ? i.errors : o11.concat(i.errors), t8 = o11.length);
853
+ let o12 = null, t8 = 0, s7 = t8;
854
+ i(e4, { instancePath: i5, parentData: g, parentDataProperty: b4, rootData: y3 }) || (o12 = o12 === null ? i.errors : o12.concat(i.errors), t8 = o12.length);
836
855
  var p6 = s7 === t8;
837
856
  if (p6) {
838
857
  let n7 = t8;
839
858
  if (t8 === n7) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
840
859
  let r2;
841
860
  if (e4.data === void 0 && (r2 = "data")) return f.errors = [{ instancePath: i5, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: r2 }, message: "must have required property '" + r2 + "'" }], false;
842
- e4.data !== void 0 && (a(e4.data, { instancePath: i5 + "/data", parentData: e4, parentDataProperty: "data", rootData: y3 }) || (o11 = o11 === null ? a.errors : o11.concat(a.errors), t8 = o11.length));
861
+ e4.data !== void 0 && (a(e4.data, { instancePath: i5 + "/data", parentData: e4, parentDataProperty: "data", rootData: y3 }) || (o12 = o12 === null ? a.errors : o12.concat(a.errors), t8 = o12.length));
843
862
  } else return f.errors = [{ instancePath: i5, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
844
863
  var p6 = n7 === t8;
845
864
  }
846
- return f.errors = o11, t8 === 0;
865
+ return f.errors = o12, t8 === 0;
847
866
  }
848
867
  var A = f;
849
868
 
@@ -975,13 +994,13 @@ async function apiRequest(endpoint, args, options = {}) {
975
994
  }
976
995
 
977
996
  // src/legacy-proofs.ts
978
- import { mkdir as mkdir3, readdir as readdir4, readFile as readFile4, rename as rename2, rm as rm2, stat as stat2 } from "node:fs/promises";
997
+ import { mkdir as mkdir3, readdir as readdir4, readFile as readFile4, rename as rename3, rm as rm3, stat as stat2 } from "node:fs/promises";
979
998
  import { join as join6 } from "node:path";
980
999
 
981
1000
  // src/pending-stages.ts
982
1001
  import { spawn } from "node:child_process";
983
- import { createHash as createHash2, randomUUID as randomUUID2 } from "node:crypto";
984
- import { mkdir as mkdir2, readdir as readdir3, readFile as readFile3, rename, rm, writeFile as writeFile3 } from "node:fs/promises";
1002
+ import { createHash as createHash2, randomUUID as randomUUID3 } from "node:crypto";
1003
+ import { mkdir as mkdir2, readdir as readdir3, readFile as readFile3, rename as rename2, rm as rm2, writeFile as writeFile3 } from "node:fs/promises";
985
1004
  import { basename, join as join5 } from "node:path";
986
1005
 
987
1006
  // src/stored-stage-input.ts
@@ -1065,9 +1084,9 @@ function readStage(value, fileName, legacy = false) {
1065
1084
  }
1066
1085
  var writePendingStage = async (stage) => {
1067
1086
  await mkdir2(outboxDir(), { recursive: true });
1068
- const temporary = fileOf(stage.id) + "." + process.pid + "." + randomUUID2() + ".tmp";
1087
+ const temporary = fileOf(stage.id) + "." + process.pid + "." + randomUUID3() + ".tmp";
1069
1088
  await writeFile3(temporary, JSON.stringify(stage, null, 2) + "\n", { encoding: "utf8", mode: 384 });
1070
- await rename(temporary, fileOf(stage.id));
1089
+ await rename2(temporary, fileOf(stage.id));
1071
1090
  };
1072
1091
  async function saveStageBeforeSending(input2) {
1073
1092
  const at2 = input2.now.toISOString();
@@ -1111,7 +1130,7 @@ async function recordStageFailure(stage, failure, now) {
1111
1130
  return next;
1112
1131
  }
1113
1132
  async function forgetStage(id) {
1114
- await rm(fileOf(id), { force: true });
1133
+ await rm2(fileOf(id), { force: true });
1115
1134
  }
1116
1135
  async function listPendingStages() {
1117
1136
  let names;
@@ -1309,7 +1328,7 @@ async function moveIntoAccount(stage) {
1309
1328
  }
1310
1329
  );
1311
1330
  if (present) return false;
1312
- await rename2(join6(legacyOutboxDir(), stage.id + ".json"), target);
1331
+ await rename3(join6(legacyOutboxDir(), stage.id + ".json"), target);
1313
1332
  await writePendingStage({ ...stage, credentialFingerprint: accountBinding().credential });
1314
1333
  return true;
1315
1334
  }
@@ -1342,7 +1361,7 @@ async function adoptUnownedProof(id) {
1342
1361
  }
1343
1362
  async function discardUnownedProof(id) {
1344
1363
  await findUnowned(id);
1345
- await rm2(join6(legacyOutboxDir(), id + ".json"));
1364
+ await rm3(join6(legacyOutboxDir(), id + ".json"));
1346
1365
  }
1347
1366
 
1348
1367
  // src/account.ts
@@ -1450,10 +1469,10 @@ async function manualSave(identity, prepare, send) {
1450
1469
  if (error.code !== "ENOENT") throw error;
1451
1470
  const body = await prepare();
1452
1471
  if (body === null) return null;
1453
- saved = { id, body, key: randomUUID3(), savedAt: Date.now() };
1454
- const temp = fileOf2(id) + "." + randomUUID3() + ".tmp";
1472
+ saved = { id, body, key: randomUUID4(), savedAt: Date.now() };
1473
+ const temp = fileOf2(id) + "." + randomUUID4() + ".tmp";
1455
1474
  await writeFile4(temp, JSON.stringify(saved), { mode: 384, flag: "wx" });
1456
- await rename3(temp, fileOf2(id));
1475
+ await rename4(temp, fileOf2(id));
1457
1476
  }
1458
1477
  if (Date.now() - saved.savedAt >= RECEIPT_MS) {
1459
1478
  throw new Error(
@@ -1538,12 +1557,12 @@ var U = c((r2) => {
1538
1557
  function y3(a5) {
1539
1558
  return a5 % 4 === 0 && (a5 % 100 !== 0 || a5 % 400 === 0);
1540
1559
  }
1541
- var O2 = /^(\d\d\d\d)-(\d\d)-(\d\d)$/, h10 = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
1560
+ var O2 = /^(\d\d\d\d)-(\d\d)-(\d\d)$/, h11 = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
1542
1561
  function b4(a5) {
1543
1562
  let d5 = O2.exec(a5);
1544
1563
  if (!d5) return false;
1545
1564
  let t8 = +d5[1], e4 = +d5[2], f3 = +d5[3];
1546
- return e4 >= 1 && e4 <= 12 && f3 >= 1 && f3 <= (e4 === 2 && y3(t8) ? 29 : h10[e4]);
1565
+ return e4 >= 1 && e4 <= 12 && f3 >= 1 && f3 <= (e4 === 2 && y3(t8) ? 29 : h11[e4]);
1547
1566
  }
1548
1567
  function m6(a5, d5) {
1549
1568
  if (a5 && d5) return a5 > d5 ? 1 : a5 < d5 ? -1 : 0;
@@ -1553,11 +1572,11 @@ var U = c((r2) => {
1553
1572
  return function(t8) {
1554
1573
  let e4 = s7.exec(t8);
1555
1574
  if (!e4) return false;
1556
- let f3 = +e4[1], u4 = +e4[2], i5 = +e4[3], M = e4[4], l4 = e4[5] === "-" ? -1 : 1, _ = +(e4[6] || 0), p6 = +(e4[7] || 0);
1557
- if (_ > 23 || p6 > 59 || a5 && !M) return false;
1575
+ let f3 = +e4[1], u4 = +e4[2], i5 = +e4[3], M = e4[4], l4 = e4[5] === "-" ? -1 : 1, _2 = +(e4[6] || 0), p6 = +(e4[7] || 0);
1576
+ if (_2 > 23 || p6 > 59 || a5 && !M) return false;
1558
1577
  if (f3 <= 23 && u4 <= 59 && i5 < 60) return true;
1559
- let o11 = u4 - p6 * l4, T2 = f3 - _ * l4 - (o11 < 0 ? 1 : 0);
1560
- return (T2 === 23 || T2 === -1) && (o11 === 59 || o11 === -1) && i5 < 61;
1578
+ let o12 = u4 - p6 * l4, T2 = f3 - _2 * l4 - (o12 < 0 ? 1 : 0);
1579
+ return (T2 === 23 || T2 === -1) && (o12 === 59 || o12 === -1) && i5 < 61;
1561
1580
  };
1562
1581
  }
1563
1582
  function $2(a5, d5) {
@@ -1620,6 +1639,179 @@ var U = c((r2) => {
1620
1639
  // ../../packages/contracts/src/generated/validators/shared/J43X2ZUC.js
1621
1640
  var t3 = U().fullFormats.date;
1622
1641
 
1642
+ // ../../packages/contracts/src/generated/validators/shared/VSRNQHIL.js
1643
+ var e = U().fullFormats["date-time"];
1644
+
1645
+ // ../../packages/contracts/src/generated/validators/shared/CA7CC2WJ.js
1646
+ var a2 = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;
1647
+
1648
+ // ../../packages/contracts/src/generated/validators/getV1MeContinuation200.js
1649
+ var _ = { additionalProperties: false, properties: { resolutionId: { format: "uuid", type: "string" }, resolutionVersion: { type: "string" }, step: { additionalProperties: false, nullable: true, properties: { project: { additionalProperties: false, nullable: true, properties: { color: { type: "string" }, icon: { type: "string" }, id: { format: "uuid", type: "string" }, name: { type: "string" } }, required: ["id", "name", "color", "icon"], type: "object" }, savedAt: { format: "date-time", type: "string" }, source: { enum: ["session", "close"], type: "string" }, sourceDay: { format: "date", type: "string" }, sourceId: { format: "uuid", type: "string" }, text: { maxLength: 500, minLength: 1, type: "string" } }, required: ["source", "sourceId", "text", "savedAt", "sourceDay", "project"], type: "object" } }, required: ["resolutionId", "resolutionVersion", "step"], type: "object" };
1650
+ function o3(i5, { instancePath: s7 = "", parentData: w3, parentDataProperty: A2, rootData: j2 = i5 } = {}) {
1651
+ let u4 = null, e4 = 0;
1652
+ if (e4 === 0) if (i5 && typeof i5 == "object" && !Array.isArray(i5)) {
1653
+ let y3;
1654
+ if (i5.resolutionId === void 0 && (y3 = "resolutionId") || i5.resolutionVersion === void 0 && (y3 = "resolutionVersion") || i5.step === void 0 && (y3 = "step")) return o3.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: y3 }, message: "must have required property '" + y3 + "'" }], false;
1655
+ {
1656
+ let g = e4;
1657
+ for (let t8 in i5) if (!(t8 === "resolutionId" || t8 === "resolutionVersion" || t8 === "step")) {
1658
+ return o3.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t8 }, message: "must NOT have additional properties" }], false;
1659
+ break;
1660
+ }
1661
+ if (g === e4) {
1662
+ if (i5.resolutionId !== void 0) {
1663
+ let t8 = i5.resolutionId, l4 = e4;
1664
+ if (e4 === l4 && e4 === l4) if (typeof t8 == "string") {
1665
+ if (!a2.test(t8)) return o3.errors = [{ instancePath: s7 + "/resolutionId", schemaPath: "#/properties/resolutionId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
1666
+ } else return o3.errors = [{ instancePath: s7 + "/resolutionId", schemaPath: "#/properties/resolutionId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1667
+ var m6 = l4 === e4;
1668
+ } else var m6 = true;
1669
+ if (m6) {
1670
+ if (i5.resolutionVersion !== void 0) {
1671
+ let t8 = e4;
1672
+ if (typeof i5.resolutionVersion != "string") return o3.errors = [{ instancePath: s7 + "/resolutionVersion", schemaPath: "#/properties/resolutionVersion/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1673
+ var m6 = t8 === e4;
1674
+ } else var m6 = true;
1675
+ if (m6) if (i5.step !== void 0) {
1676
+ let t8 = i5.step, l4 = e4;
1677
+ if (!(t8 && typeof t8 == "object" && !Array.isArray(t8)) && t8 !== null) return o3.errors = [{ instancePath: s7 + "/step", schemaPath: "#/properties/step/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
1678
+ if (e4 === l4 && t8 && typeof t8 == "object" && !Array.isArray(t8)) {
1679
+ let f3;
1680
+ if (t8.source === void 0 && (f3 = "source") || t8.sourceId === void 0 && (f3 = "sourceId") || t8.text === void 0 && (f3 = "text") || t8.savedAt === void 0 && (f3 = "savedAt") || t8.sourceDay === void 0 && (f3 = "sourceDay") || t8.project === void 0 && (f3 = "project")) return o3.errors = [{ instancePath: s7 + "/step", schemaPath: "#/properties/step/required", keyword: "required", params: { missingProperty: f3 }, message: "must have required property '" + f3 + "'" }], false;
1681
+ {
1682
+ let q2 = e4;
1683
+ for (let r2 in t8) if (!(r2 === "project" || r2 === "savedAt" || r2 === "source" || r2 === "sourceDay" || r2 === "sourceId" || r2 === "text")) {
1684
+ return o3.errors = [{ instancePath: s7 + "/step", schemaPath: "#/properties/step/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: r2 }, message: "must NOT have additional properties" }], false;
1685
+ break;
1686
+ }
1687
+ if (q2 === e4) {
1688
+ if (t8.project !== void 0) {
1689
+ let r2 = t8.project, p6 = e4;
1690
+ if (!(r2 && typeof r2 == "object" && !Array.isArray(r2)) && r2 !== null) return o3.errors = [{ instancePath: s7 + "/step/project", schemaPath: "#/properties/step/properties/project/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
1691
+ if (e4 === p6 && r2 && typeof r2 == "object" && !Array.isArray(r2)) {
1692
+ let c5;
1693
+ if (r2.id === void 0 && (c5 = "id") || r2.name === void 0 && (c5 = "name") || r2.color === void 0 && (c5 = "color") || r2.icon === void 0 && (c5 = "icon")) return o3.errors = [{ instancePath: s7 + "/step/project", schemaPath: "#/properties/step/properties/project/required", keyword: "required", params: { missingProperty: c5 }, message: "must have required property '" + c5 + "'" }], false;
1694
+ {
1695
+ let D2 = e4;
1696
+ for (let n7 in r2) if (!(n7 === "color" || n7 === "icon" || n7 === "id" || n7 === "name")) {
1697
+ return o3.errors = [{ instancePath: s7 + "/step/project", schemaPath: "#/properties/step/properties/project/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: n7 }, message: "must NOT have additional properties" }], false;
1698
+ break;
1699
+ }
1700
+ if (D2 === e4) {
1701
+ if (r2.color !== void 0) {
1702
+ let n7 = e4;
1703
+ if (typeof r2.color != "string") return o3.errors = [{ instancePath: s7 + "/step/project/color", schemaPath: "#/properties/step/properties/project/properties/color/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1704
+ var d5 = n7 === e4;
1705
+ } else var d5 = true;
1706
+ if (d5) {
1707
+ if (r2.icon !== void 0) {
1708
+ let n7 = e4;
1709
+ if (typeof r2.icon != "string") return o3.errors = [{ instancePath: s7 + "/step/project/icon", schemaPath: "#/properties/step/properties/project/properties/icon/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1710
+ var d5 = n7 === e4;
1711
+ } else var d5 = true;
1712
+ if (d5) {
1713
+ if (r2.id !== void 0) {
1714
+ let n7 = r2.id, b4 = e4;
1715
+ if (e4 === b4 && e4 === b4) if (typeof n7 == "string") {
1716
+ if (!a2.test(n7)) return o3.errors = [{ instancePath: s7 + "/step/project/id", schemaPath: "#/properties/step/properties/project/properties/id/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
1717
+ } else return o3.errors = [{ instancePath: s7 + "/step/project/id", schemaPath: "#/properties/step/properties/project/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1718
+ var d5 = b4 === e4;
1719
+ } else var d5 = true;
1720
+ if (d5) if (r2.name !== void 0) {
1721
+ let n7 = e4;
1722
+ if (typeof r2.name != "string") return o3.errors = [{ instancePath: s7 + "/step/project/name", schemaPath: "#/properties/step/properties/project/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1723
+ var d5 = n7 === e4;
1724
+ } else var d5 = true;
1725
+ }
1726
+ }
1727
+ }
1728
+ }
1729
+ }
1730
+ var a5 = p6 === e4;
1731
+ } else var a5 = true;
1732
+ if (a5) {
1733
+ if (t8.savedAt !== void 0) {
1734
+ let r2 = t8.savedAt, p6 = e4;
1735
+ if (e4 === p6 && e4 === p6) if (typeof r2 == "string") {
1736
+ if (!e.validate(r2)) return o3.errors = [{ instancePath: s7 + "/step/savedAt", schemaPath: "#/properties/step/properties/savedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
1737
+ } else return o3.errors = [{ instancePath: s7 + "/step/savedAt", schemaPath: "#/properties/step/properties/savedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1738
+ var a5 = p6 === e4;
1739
+ } else var a5 = true;
1740
+ if (a5) {
1741
+ if (t8.source !== void 0) {
1742
+ let r2 = t8.source, p6 = e4;
1743
+ if (typeof r2 != "string") return o3.errors = [{ instancePath: s7 + "/step/source", schemaPath: "#/properties/step/properties/source/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1744
+ if (!(r2 === "session" || r2 === "close")) return o3.errors = [{ instancePath: s7 + "/step/source", schemaPath: "#/properties/step/properties/source/enum", keyword: "enum", params: { allowedValues: _.properties.step.properties.source.enum }, message: "must be equal to one of the allowed values" }], false;
1745
+ var a5 = p6 === e4;
1746
+ } else var a5 = true;
1747
+ if (a5) {
1748
+ if (t8.sourceDay !== void 0) {
1749
+ let r2 = t8.sourceDay, p6 = e4;
1750
+ if (e4 === p6 && e4 === p6) if (typeof r2 == "string") {
1751
+ if (!t3.validate(r2)) return o3.errors = [{ instancePath: s7 + "/step/sourceDay", schemaPath: "#/properties/step/properties/sourceDay/format", keyword: "format", params: { format: "date" }, message: 'must match format "date"' }], false;
1752
+ } else return o3.errors = [{ instancePath: s7 + "/step/sourceDay", schemaPath: "#/properties/step/properties/sourceDay/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1753
+ var a5 = p6 === e4;
1754
+ } else var a5 = true;
1755
+ if (a5) {
1756
+ if (t8.sourceId !== void 0) {
1757
+ let r2 = t8.sourceId, p6 = e4;
1758
+ if (e4 === p6 && e4 === p6) if (typeof r2 == "string") {
1759
+ if (!a2.test(r2)) return o3.errors = [{ instancePath: s7 + "/step/sourceId", schemaPath: "#/properties/step/properties/sourceId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
1760
+ } else return o3.errors = [{ instancePath: s7 + "/step/sourceId", schemaPath: "#/properties/step/properties/sourceId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1761
+ var a5 = p6 === e4;
1762
+ } else var a5 = true;
1763
+ if (a5) if (t8.text !== void 0) {
1764
+ let r2 = t8.text, p6 = e4;
1765
+ if (e4 === p6) if (typeof r2 == "string") {
1766
+ if (o(r2) > 500) return o3.errors = [{ instancePath: s7 + "/step/text", schemaPath: "#/properties/step/properties/text/maxLength", keyword: "maxLength", params: { limit: 500 }, message: "must NOT have more than 500 characters" }], false;
1767
+ if (o(r2) < 1) return o3.errors = [{ instancePath: s7 + "/step/text", schemaPath: "#/properties/step/properties/text/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" }], false;
1768
+ } else return o3.errors = [{ instancePath: s7 + "/step/text", schemaPath: "#/properties/step/properties/text/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1769
+ var a5 = p6 === e4;
1770
+ } else var a5 = true;
1771
+ }
1772
+ }
1773
+ }
1774
+ }
1775
+ }
1776
+ }
1777
+ }
1778
+ var m6 = l4 === e4;
1779
+ } else var m6 = true;
1780
+ }
1781
+ }
1782
+ }
1783
+ } else return o3.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
1784
+ return o3.errors = u4, e4 === 0;
1785
+ }
1786
+ function h(i5, { instancePath: s7 = "", parentData: w3, parentDataProperty: A2, rootData: j2 = i5 } = {}) {
1787
+ let u4 = null, e4 = 0, m6 = e4;
1788
+ i(i5, { instancePath: s7, parentData: w3, parentDataProperty: A2, rootData: j2 }) || (u4 = u4 === null ? i.errors : u4.concat(i.errors), e4 = u4.length);
1789
+ var d5 = m6 === e4;
1790
+ if (d5) {
1791
+ let a5 = e4;
1792
+ if (e4 === a5) if (i5 && typeof i5 == "object" && !Array.isArray(i5)) {
1793
+ let g;
1794
+ if (i5.data === void 0 && (g = "data")) return h.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: g }, message: "must have required property '" + g + "'" }], false;
1795
+ i5.data !== void 0 && (o3(i5.data, { instancePath: s7 + "/data", parentData: i5, parentDataProperty: "data", rootData: j2 }) || (u4 = u4 === null ? o3.errors : u4.concat(o3.errors), e4 = u4.length));
1796
+ } else return h.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
1797
+ var d5 = a5 === e4;
1798
+ }
1799
+ return h.errors = u4, e4 === 0;
1800
+ }
1801
+ var G = h;
1802
+
1803
+ // ../../packages/contracts/src/generated/endpoints/getV1MeContinuation.ts
1804
+ var getV1MeContinuation = {
1805
+ method: "GET",
1806
+ path: "/v1/me/continuation",
1807
+ operation: "GET /v1/me/continuation",
1808
+ revision: contractRevision,
1809
+ responses: {
1810
+ 200: { mediaType: "application/json", schemaId: "urn:flowmind:getV1MeContinuation:200", validate: G }
1811
+ },
1812
+ error: { mediaType: "application/json", schemaId: "ApiErrorEnvelope", validate: N }
1813
+ };
1814
+
1623
1815
  // ../../packages/contracts/src/generated/validators/shared/HNC2DQA2.js
1624
1816
  function s(e4, { instancePath: a5 = "", parentData: n7, parentDataProperty: u4, rootData: l4 = e4 } = {}) {
1625
1817
  let m6 = null, r2 = 0;
@@ -1638,29 +1830,23 @@ function s(e4, { instancePath: a5 = "", parentData: n7, parentDataProperty: u4,
1638
1830
  if (r2 === p6 && r2 === p6) if (typeof t8 == "string") {
1639
1831
  if (!t3.validate(t8)) return s.errors = [{ instancePath: a5 + "/sourceDay", schemaPath: "#/properties/sourceDay/format", keyword: "format", params: { format: "date" }, message: 'must match format "date"' }], false;
1640
1832
  } else return s.errors = [{ instancePath: a5 + "/sourceDay", schemaPath: "#/properties/sourceDay/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1641
- var o11 = p6 === r2;
1642
- } else var o11 = true;
1643
- if (o11) if (e4.text !== void 0) {
1833
+ var o12 = p6 === r2;
1834
+ } else var o12 = true;
1835
+ if (o12) if (e4.text !== void 0) {
1644
1836
  let t8 = r2;
1645
1837
  if (typeof e4.text != "string") return s.errors = [{ instancePath: a5 + "/text", schemaPath: "#/properties/text/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1646
- var o11 = t8 === r2;
1647
- } else var o11 = true;
1838
+ var o12 = t8 === r2;
1839
+ } else var o12 = true;
1648
1840
  }
1649
1841
  }
1650
1842
  } else return s.errors = [{ instancePath: a5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
1651
1843
  return s.errors = m6, r2 === 0;
1652
1844
  }
1653
1845
 
1654
- // ../../packages/contracts/src/generated/validators/shared/VSRNQHIL.js
1655
- var e = U().fullFormats["date-time"];
1656
-
1657
- // ../../packages/contracts/src/generated/validators/shared/CA7CC2WJ.js
1658
- var a2 = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;
1659
-
1660
1846
  // ../../packages/contracts/src/generated/validators/getV1Projects200.js
1661
1847
  var D = { description: "A listed project with its time totals. totalSeconds counts every non-voided entry, including approved agent work; agentSeconds is the agent share of that total.", properties: { agentSeconds: { minimum: 0, type: "integer" }, archivedAt: { format: "date-time", nullable: true, type: "string" }, category: { type: "string" }, color: { type: "string" }, completedAt: { format: "date-time", nullable: true, type: "string" }, createdAt: { format: "date-time", type: "string" }, description: { nullable: true, type: "string" }, details: { description: "Private details for lastOutcome, or an empty array when no outcome exists.", items: { type: "string" }, type: "array" }, estimatedHours: { nullable: true, type: "integer" }, icon: { type: "string" }, id: { format: "uuid", type: "string" }, lastActiveDay: { format: "date", nullable: true, type: "string" }, lastOutcome: { nullable: true, type: "string" }, launchDescription: { nullable: true, type: "string" }, launchUrl: { nullable: true, type: "string" }, launchedAt: { format: "date-time", nullable: true, type: "string" }, name: { type: "string" }, nextStep: { anyOf: [{ $ref: "urn:flowmind:schema:ProjectNextStep" }, { enum: [null], nullable: true, type: "object" }] }, totalSeconds: { minimum: 0, type: "integer" }, updatedAt: { format: "date-time", type: "string" } }, required: ["id", "name", "description", "color", "icon", "category", "estimatedHours", "launchedAt", "completedAt", "launchDescription", "launchUrl", "createdAt", "updatedAt", "archivedAt", "nextStep", "lastOutcome", "details", "lastActiveDay", "totalSeconds", "agentSeconds"], type: "object" };
1662
1848
  function n(t8, { instancePath: i5 = "", parentData: w3, parentDataProperty: k3, rootData: d5 = t8 } = {}) {
1663
- let o11 = null, r2 = 0;
1849
+ let o12 = null, r2 = 0;
1664
1850
  if (r2 === 0) if (t8 && typeof t8 == "object" && !Array.isArray(t8)) {
1665
1851
  let l4;
1666
1852
  if (t8.id === void 0 && (l4 = "id") || t8.name === void 0 && (l4 = "name") || t8.description === void 0 && (l4 = "description") || t8.color === void 0 && (l4 = "color") || t8.icon === void 0 && (l4 = "icon") || t8.category === void 0 && (l4 = "category") || t8.estimatedHours === void 0 && (l4 = "estimatedHours") || t8.launchedAt === void 0 && (l4 = "launchedAt") || t8.completedAt === void 0 && (l4 = "completedAt") || t8.launchDescription === void 0 && (l4 = "launchDescription") || t8.launchUrl === void 0 && (l4 = "launchUrl") || t8.createdAt === void 0 && (l4 = "createdAt") || t8.updatedAt === void 0 && (l4 = "updatedAt") || t8.archivedAt === void 0 && (l4 = "archivedAt") || t8.nextStep === void 0 && (l4 = "nextStep") || t8.lastOutcome === void 0 && (l4 = "lastOutcome") || t8.details === void 0 && (l4 = "details") || t8.lastActiveDay === void 0 && (l4 = "lastActiveDay") || t8.totalSeconds === void 0 && (l4 = "totalSeconds") || t8.agentSeconds === void 0 && (l4 = "agentSeconds")) return n.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
@@ -1786,25 +1972,25 @@ function n(t8, { instancePath: i5 = "", parentData: w3, parentDataProperty: k3,
1786
1972
  if (s7) {
1787
1973
  if (t8.nextStep !== void 0) {
1788
1974
  let e4 = t8.nextStep, a5 = r2, g = r2, f3 = false, c5 = r2;
1789
- s(e4, { instancePath: i5 + "/nextStep", parentData: t8, parentDataProperty: "nextStep", rootData: d5 }) || (o11 = o11 === null ? s.errors : o11.concat(s.errors), r2 = o11.length);
1975
+ s(e4, { instancePath: i5 + "/nextStep", parentData: t8, parentDataProperty: "nextStep", rootData: d5 }) || (o12 = o12 === null ? s.errors : o12.concat(s.errors), r2 = o12.length);
1790
1976
  var p6 = c5 === r2;
1791
1977
  if (f3 = f3 || p6, !f3) {
1792
1978
  let A2 = r2;
1793
1979
  if (!(e4 && typeof e4 == "object" && !Array.isArray(e4)) && e4 !== null) {
1794
- let h10 = { instancePath: i5 + "/nextStep", schemaPath: "#/properties/nextStep/anyOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1795
- o11 === null ? o11 = [h10] : o11.push(h10), r2++;
1980
+ let h11 = { instancePath: i5 + "/nextStep", schemaPath: "#/properties/nextStep/anyOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1981
+ o12 === null ? o12 = [h11] : o12.push(h11), r2++;
1796
1982
  }
1797
1983
  if (e4 !== null) {
1798
- let h10 = { instancePath: i5 + "/nextStep", schemaPath: "#/properties/nextStep/anyOf/1/enum", keyword: "enum", params: { allowedValues: D.properties.nextStep.anyOf[1].enum }, message: "must be equal to one of the allowed values" };
1799
- o11 === null ? o11 = [h10] : o11.push(h10), r2++;
1984
+ let h11 = { instancePath: i5 + "/nextStep", schemaPath: "#/properties/nextStep/anyOf/1/enum", keyword: "enum", params: { allowedValues: D.properties.nextStep.anyOf[1].enum }, message: "must be equal to one of the allowed values" };
1985
+ o12 === null ? o12 = [h11] : o12.push(h11), r2++;
1800
1986
  }
1801
1987
  var p6 = A2 === r2;
1802
1988
  f3 = f3 || p6;
1803
1989
  }
1804
- if (f3) r2 = g, o11 !== null && (g ? o11.length = g : o11 = null);
1990
+ if (f3) r2 = g, o12 !== null && (g ? o12.length = g : o12 = null);
1805
1991
  else {
1806
1992
  let A2 = { instancePath: i5 + "/nextStep", schemaPath: "#/properties/nextStep/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
1807
- return o11 === null ? o11 = [A2] : o11.push(A2), r2++, n.errors = o11, false;
1993
+ return o12 === null ? o12 = [A2] : o12.push(A2), r2++, n.errors = o12, false;
1808
1994
  }
1809
1995
  var s7 = a5 === r2;
1810
1996
  } else var s7 = true;
@@ -1841,10 +2027,10 @@ function n(t8, { instancePath: i5 = "", parentData: w3, parentDataProperty: k3,
1841
2027
  }
1842
2028
  }
1843
2029
  } else return n.errors = [{ instancePath: i5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
1844
- return n.errors = o11, r2 === 0;
2030
+ return n.errors = o12, r2 === 0;
1845
2031
  }
1846
2032
  function u(t8, { instancePath: i5 = "", parentData: w3, parentDataProperty: k3, rootData: d5 = t8 } = {}) {
1847
- let o11 = null, r2 = 0;
2033
+ let o12 = null, r2 = 0;
1848
2034
  if (r2 === 0) if (t8 && typeof t8 == "object" && !Array.isArray(t8)) {
1849
2035
  let m6;
1850
2036
  if (t8.projects === void 0 && (m6 = "projects")) return u.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: m6 }, message: "must have required property '" + m6 + "'" }], false;
@@ -1855,31 +2041,31 @@ function u(t8, { instancePath: i5 = "", parentData: w3, parentDataProperty: k3,
1855
2041
  let e4 = p6.length;
1856
2042
  for (let a5 = 0; a5 < e4; a5++) {
1857
2043
  let g = r2;
1858
- n(p6[a5], { instancePath: i5 + "/projects/" + a5, parentData: p6, parentDataProperty: a5, rootData: d5 }) || (o11 = o11 === null ? n.errors : o11.concat(n.errors), r2 = o11.length);
2044
+ n(p6[a5], { instancePath: i5 + "/projects/" + a5, parentData: p6, parentDataProperty: a5, rootData: d5 }) || (o12 = o12 === null ? n.errors : o12.concat(n.errors), r2 = o12.length);
1859
2045
  var s7 = g === r2;
1860
2046
  if (!s7) break;
1861
2047
  }
1862
2048
  } else return u.errors = [{ instancePath: i5 + "/projects", schemaPath: "#/properties/projects/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
1863
2049
  }
1864
2050
  } else return u.errors = [{ instancePath: i5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
1865
- return u.errors = o11, r2 === 0;
2051
+ return u.errors = o12, r2 === 0;
1866
2052
  }
1867
2053
  function v2(t8, { instancePath: i5 = "", parentData: w3, parentDataProperty: k3, rootData: d5 = t8 } = {}) {
1868
- let o11 = null, r2 = 0, s7 = r2;
1869
- i(t8, { instancePath: i5, parentData: w3, parentDataProperty: k3, rootData: d5 }) || (o11 = o11 === null ? i.errors : o11.concat(i.errors), r2 = o11.length);
2054
+ let o12 = null, r2 = 0, s7 = r2;
2055
+ i(t8, { instancePath: i5, parentData: w3, parentDataProperty: k3, rootData: d5 }) || (o12 = o12 === null ? i.errors : o12.concat(i.errors), r2 = o12.length);
1870
2056
  var m6 = s7 === r2;
1871
2057
  if (m6) {
1872
2058
  let p6 = r2;
1873
2059
  if (r2 === p6) if (t8 && typeof t8 == "object" && !Array.isArray(t8)) {
1874
2060
  let e4;
1875
2061
  if (t8.data === void 0 && (e4 = "data")) return v2.errors = [{ instancePath: i5, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: e4 }, message: "must have required property '" + e4 + "'" }], false;
1876
- t8.data !== void 0 && (u(t8.data, { instancePath: i5 + "/data", parentData: t8, parentDataProperty: "data", rootData: d5 }) || (o11 = o11 === null ? u.errors : o11.concat(u.errors), r2 = o11.length));
2062
+ t8.data !== void 0 && (u(t8.data, { instancePath: i5 + "/data", parentData: t8, parentDataProperty: "data", rootData: d5 }) || (o12 = o12 === null ? u.errors : o12.concat(u.errors), r2 = o12.length));
1877
2063
  } else return v2.errors = [{ instancePath: i5, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
1878
2064
  var m6 = p6 === r2;
1879
2065
  }
1880
- return v2.errors = o11, r2 === 0;
2066
+ return v2.errors = o12, r2 === 0;
1881
2067
  }
1882
- var G = v2;
2068
+ var G2 = v2;
1883
2069
 
1884
2070
  // ../../packages/contracts/src/generated/endpoints/getV1Projects.ts
1885
2071
  var getV1Projects = {
@@ -1888,14 +2074,14 @@ var getV1Projects = {
1888
2074
  operation: "GET /v1/projects/",
1889
2075
  revision: contractRevision,
1890
2076
  responses: {
1891
- 200: { mediaType: "application/json", schemaId: "urn:flowmind:getV1Projects:200", validate: G }
2077
+ 200: { mediaType: "application/json", schemaId: "urn:flowmind:getV1Projects:200", validate: G2 }
1892
2078
  },
1893
2079
  error: { mediaType: "application/json", schemaId: "ApiErrorEnvelope", validate: N }
1894
2080
  };
1895
2081
 
1896
2082
  // ../../packages/contracts/src/generated/validators/getV1AgentCapabilities200.js
1897
2083
  var x = { additionalProperties: false, properties: { capabilities: { items: { type: "string" }, type: "array" }, contractVersion: { type: "string" }, proofLimits: { additionalProperties: false, properties: { detailMaxLength: { type: "integer" }, detailsMaxCount: { type: "integer" }, outcomeMaxLength: { type: "integer" } }, required: ["outcomeMaxLength", "detailMaxLength", "detailsMaxCount"], type: "object" }, requiresIdempotencyKey: { items: { type: "string" }, type: "array" }, scope: { enum: ["read_only", "log_only", "full_personal"], type: "string" } }, required: ["proofLimits", "contractVersion", "scope", "capabilities", "requiresIdempotencyKey"], type: "object" };
1898
- function a3(t8, { instancePath: s7 = "", parentData: v6, parentDataProperty: b4, rootData: h10 = t8 } = {}) {
2084
+ function a3(t8, { instancePath: s7 = "", parentData: v6, parentDataProperty: b4, rootData: h11 = t8 } = {}) {
1899
2085
  let p6 = null, e4 = 0;
1900
2086
  if (e4 === 0) if (t8 && typeof t8 == "object" && !Array.isArray(t8)) {
1901
2087
  let l4;
@@ -1919,15 +2105,15 @@ function a3(t8, { instancePath: s7 = "", parentData: v6, parentDataProperty: b4,
1919
2105
  if (!c5) break;
1920
2106
  }
1921
2107
  } else return a3.errors = [{ instancePath: s7 + "/capabilities", schemaPath: "#/properties/capabilities/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
1922
- var o11 = y3 === e4;
1923
- } else var o11 = true;
1924
- if (o11) {
2108
+ var o12 = y3 === e4;
2109
+ } else var o12 = true;
2110
+ if (o12) {
1925
2111
  if (t8.contractVersion !== void 0) {
1926
2112
  let r2 = e4;
1927
2113
  if (typeof t8.contractVersion != "string") return a3.errors = [{ instancePath: s7 + "/contractVersion", schemaPath: "#/properties/contractVersion/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1928
- var o11 = r2 === e4;
1929
- } else var o11 = true;
1930
- if (o11) {
2114
+ var o12 = r2 === e4;
2115
+ } else var o12 = true;
2116
+ if (o12) {
1931
2117
  if (t8.proofLimits !== void 0) {
1932
2118
  let r2 = t8.proofLimits, y3 = e4;
1933
2119
  if (e4 === y3) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
@@ -1960,9 +2146,9 @@ function a3(t8, { instancePath: s7 = "", parentData: v6, parentDataProperty: b4,
1960
2146
  }
1961
2147
  }
1962
2148
  } else return a3.errors = [{ instancePath: s7 + "/proofLimits", schemaPath: "#/properties/proofLimits/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
1963
- var o11 = y3 === e4;
1964
- } else var o11 = true;
1965
- if (o11) {
2149
+ var o12 = y3 === e4;
2150
+ } else var o12 = true;
2151
+ if (o12) {
1966
2152
  if (t8.requiresIdempotencyKey !== void 0) {
1967
2153
  let r2 = t8.requiresIdempotencyKey, y3 = e4;
1968
2154
  if (e4 === y3) if (Array.isArray(r2)) {
@@ -1975,14 +2161,14 @@ function a3(t8, { instancePath: s7 = "", parentData: v6, parentDataProperty: b4,
1975
2161
  if (!L2) break;
1976
2162
  }
1977
2163
  } else return a3.errors = [{ instancePath: s7 + "/requiresIdempotencyKey", schemaPath: "#/properties/requiresIdempotencyKey/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
1978
- var o11 = y3 === e4;
1979
- } else var o11 = true;
1980
- if (o11) if (t8.scope !== void 0) {
2164
+ var o12 = y3 === e4;
2165
+ } else var o12 = true;
2166
+ if (o12) if (t8.scope !== void 0) {
1981
2167
  let r2 = t8.scope, y3 = e4;
1982
2168
  if (typeof r2 != "string") return a3.errors = [{ instancePath: s7 + "/scope", schemaPath: "#/properties/scope/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
1983
2169
  if (!(r2 === "read_only" || r2 === "log_only" || r2 === "full_personal")) return a3.errors = [{ instancePath: s7 + "/scope", schemaPath: "#/properties/scope/enum", keyword: "enum", params: { allowedValues: x.properties.scope.enum }, message: "must be equal to one of the allowed values" }], false;
1984
- var o11 = y3 === e4;
1985
- } else var o11 = true;
2170
+ var o12 = y3 === e4;
2171
+ } else var o12 = true;
1986
2172
  }
1987
2173
  }
1988
2174
  }
@@ -1991,18 +2177,18 @@ function a3(t8, { instancePath: s7 = "", parentData: v6, parentDataProperty: b4,
1991
2177
  } else return a3.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
1992
2178
  return a3.errors = p6, e4 === 0;
1993
2179
  }
1994
- function u2(t8, { instancePath: s7 = "", parentData: v6, parentDataProperty: b4, rootData: h10 = t8 } = {}) {
2180
+ function u2(t8, { instancePath: s7 = "", parentData: v6, parentDataProperty: b4, rootData: h11 = t8 } = {}) {
1995
2181
  let p6 = null, e4 = 0, c5 = e4;
1996
- i(t8, { instancePath: s7, parentData: v6, parentDataProperty: b4, rootData: h10 }) || (p6 = p6 === null ? i.errors : p6.concat(i.errors), e4 = p6.length);
1997
- var o11 = c5 === e4;
1998
- if (o11) {
2182
+ i(t8, { instancePath: s7, parentData: v6, parentDataProperty: b4, rootData: h11 }) || (p6 = p6 === null ? i.errors : p6.concat(i.errors), e4 = p6.length);
2183
+ var o12 = c5 === e4;
2184
+ if (o12) {
1999
2185
  let m6 = e4;
2000
2186
  if (e4 === m6) if (t8 && typeof t8 == "object" && !Array.isArray(t8)) {
2001
2187
  let l4;
2002
2188
  if (t8.data === void 0 && (l4 = "data")) return u2.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
2003
- t8.data !== void 0 && (a3(t8.data, { instancePath: s7 + "/data", parentData: t8, parentDataProperty: "data", rootData: h10 }) || (p6 = p6 === null ? a3.errors : p6.concat(a3.errors), e4 = p6.length));
2189
+ t8.data !== void 0 && (a3(t8.data, { instancePath: s7 + "/data", parentData: t8, parentDataProperty: "data", rootData: h11 }) || (p6 = p6 === null ? a3.errors : p6.concat(a3.errors), e4 = p6.length));
2004
2190
  } else return u2.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2005
- var o11 = m6 === e4;
2191
+ var o12 = m6 === e4;
2006
2192
  }
2007
2193
  return u2.errors = p6, e4 === 0;
2008
2194
  }
@@ -2021,9 +2207,9 @@ var getV1AgentCapabilities = {
2021
2207
  };
2022
2208
 
2023
2209
  // ../../packages/contracts/src/generated/validators/getV1AgentProjects200.js
2024
- var h = { additionalProperties: false, properties: { estimatedHours: { nullable: true, type: "integer" }, id: { format: "uuid", type: "string" }, name: { type: "string" }, status: { enum: ["active", "completed"], type: "string" }, totalHours: { minimum: 0, type: "number" } }, required: ["id", "name", "status", "estimatedHours", "totalHours"], type: "object" };
2210
+ var h2 = { additionalProperties: false, properties: { estimatedHours: { nullable: true, type: "integer" }, id: { format: "uuid", type: "string" }, name: { type: "string" }, status: { enum: ["active", "completed"], type: "string" }, totalHours: { minimum: 0, type: "number" } }, required: ["id", "name", "status", "estimatedHours", "totalHours"], type: "object" };
2025
2211
  function i3(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g, rootData: l4 = e4 } = {}) {
2026
- let o11 = null, r2 = 0;
2212
+ let o12 = null, r2 = 0;
2027
2213
  if (r2 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
2028
2214
  let m6;
2029
2215
  if (e4.id === void 0 && (m6 = "id") || e4.name === void 0 && (m6 = "name") || e4.status === void 0 && (m6 = "status") || e4.estimatedHours === void 0 && (m6 = "estimatedHours") || e4.totalHours === void 0 && (m6 = "totalHours")) return i3.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: m6 }, message: "must have required property '" + m6 + "'" }], false;
@@ -2057,7 +2243,7 @@ function i3(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g,
2057
2243
  if (e4.status !== void 0) {
2058
2244
  let t8 = e4.status, n7 = r2;
2059
2245
  if (typeof t8 != "string") return i3.errors = [{ instancePath: s7 + "/status", schemaPath: "#/properties/status/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2060
- if (!(t8 === "active" || t8 === "completed")) return i3.errors = [{ instancePath: s7 + "/status", schemaPath: "#/properties/status/enum", keyword: "enum", params: { allowedValues: h.properties.status.enum }, message: "must be equal to one of the allowed values" }], false;
2246
+ if (!(t8 === "active" || t8 === "completed")) return i3.errors = [{ instancePath: s7 + "/status", schemaPath: "#/properties/status/enum", keyword: "enum", params: { allowedValues: h2.properties.status.enum }, message: "must be equal to one of the allowed values" }], false;
2061
2247
  var a5 = n7 === r2;
2062
2248
  } else var a5 = true;
2063
2249
  if (a5) if (e4.totalHours !== void 0) {
@@ -2073,10 +2259,10 @@ function i3(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g,
2073
2259
  }
2074
2260
  }
2075
2261
  } else return i3.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2076
- return i3.errors = o11, r2 === 0;
2262
+ return i3.errors = o12, r2 === 0;
2077
2263
  }
2078
2264
  function p(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g, rootData: l4 = e4 } = {}) {
2079
- let o11 = null, r2 = 0;
2265
+ let o12 = null, r2 = 0;
2080
2266
  if (r2 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
2081
2267
  let m6;
2082
2268
  if (e4.projects === void 0 && (m6 = "projects")) return p.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: m6 }, message: "must have required property '" + m6 + "'" }], false;
@@ -2093,7 +2279,7 @@ function p(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g, r
2093
2279
  let b4 = t8.length;
2094
2280
  for (let f3 = 0; f3 < b4; f3++) {
2095
2281
  let P4 = r2;
2096
- i3(t8[f3], { instancePath: s7 + "/projects/" + f3, parentData: t8, parentDataProperty: f3, rootData: l4 }) || (o11 = o11 === null ? i3.errors : o11.concat(i3.errors), r2 = o11.length);
2282
+ i3(t8[f3], { instancePath: s7 + "/projects/" + f3, parentData: t8, parentDataProperty: f3, rootData: l4 }) || (o12 = o12 === null ? i3.errors : o12.concat(i3.errors), r2 = o12.length);
2097
2283
  var a5 = P4 === r2;
2098
2284
  if (!a5) break;
2099
2285
  }
@@ -2101,22 +2287,22 @@ function p(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g, r
2101
2287
  }
2102
2288
  }
2103
2289
  } else return p.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2104
- return p.errors = o11, r2 === 0;
2290
+ return p.errors = o12, r2 === 0;
2105
2291
  }
2106
2292
  function d(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g, rootData: l4 = e4 } = {}) {
2107
- let o11 = null, r2 = 0, a5 = r2;
2108
- i(e4, { instancePath: s7, parentData: c5, parentDataProperty: g, rootData: l4 }) || (o11 = o11 === null ? i.errors : o11.concat(i.errors), r2 = o11.length);
2293
+ let o12 = null, r2 = 0, a5 = r2;
2294
+ i(e4, { instancePath: s7, parentData: c5, parentDataProperty: g, rootData: l4 }) || (o12 = o12 === null ? i.errors : o12.concat(i.errors), r2 = o12.length);
2109
2295
  var m6 = a5 === r2;
2110
2296
  if (m6) {
2111
2297
  let u4 = r2;
2112
2298
  if (r2 === u4) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
2113
2299
  let n7;
2114
2300
  if (e4.data === void 0 && (n7 = "data")) return d.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
2115
- e4.data !== void 0 && (p(e4.data, { instancePath: s7 + "/data", parentData: e4, parentDataProperty: "data", rootData: l4 }) || (o11 = o11 === null ? p.errors : o11.concat(p.errors), r2 = o11.length));
2301
+ e4.data !== void 0 && (p(e4.data, { instancePath: s7 + "/data", parentData: e4, parentDataProperty: "data", rootData: l4 }) || (o12 = o12 === null ? p.errors : o12.concat(p.errors), r2 = o12.length));
2116
2302
  } else return d.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2117
2303
  var m6 = u4 === r2;
2118
2304
  }
2119
- return d.errors = o11, r2 === 0;
2305
+ return d.errors = o12, r2 === 0;
2120
2306
  }
2121
2307
  var O = d;
2122
2308
 
@@ -2134,50 +2320,50 @@ var getV1AgentProjects = {
2134
2320
 
2135
2321
  // ../../packages/contracts/src/generated/validators/getV1AgentRoutines200.js
2136
2322
  var v3 = { additionalProperties: false, properties: { cadence: { enum: ["DAILY", "WEEKLY"], type: "string" }, durationMinutes: { minimum: 1, type: "integer" }, id: { format: "uuid", type: "string" }, name: { type: "string" } }, required: ["id", "name", "cadence", "durationMinutes"], type: "object" };
2137
- function o3(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g, rootData: d5 = e4 } = {}) {
2323
+ function o4(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g, rootData: d5 = e4 } = {}) {
2138
2324
  let i5 = null, r2 = 0;
2139
2325
  if (r2 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
2140
2326
  let n7;
2141
- if (e4.id === void 0 && (n7 = "id") || e4.name === void 0 && (n7 = "name") || e4.cadence === void 0 && (n7 = "cadence") || e4.durationMinutes === void 0 && (n7 = "durationMinutes")) return o3.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
2327
+ if (e4.id === void 0 && (n7 = "id") || e4.name === void 0 && (n7 = "name") || e4.cadence === void 0 && (n7 = "cadence") || e4.durationMinutes === void 0 && (n7 = "durationMinutes")) return o4.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
2142
2328
  {
2143
2329
  let p6 = r2;
2144
2330
  for (let t8 in e4) if (!(t8 === "cadence" || t8 === "durationMinutes" || t8 === "id" || t8 === "name")) {
2145
- return o3.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t8 }, message: "must NOT have additional properties" }], false;
2331
+ return o4.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t8 }, message: "must NOT have additional properties" }], false;
2146
2332
  break;
2147
2333
  }
2148
2334
  if (p6 === r2) {
2149
2335
  if (e4.cadence !== void 0) {
2150
2336
  let t8 = e4.cadence, u4 = r2;
2151
- if (typeof t8 != "string") return o3.errors = [{ instancePath: s7 + "/cadence", schemaPath: "#/properties/cadence/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2152
- if (!(t8 === "DAILY" || t8 === "WEEKLY")) return o3.errors = [{ instancePath: s7 + "/cadence", schemaPath: "#/properties/cadence/enum", keyword: "enum", params: { allowedValues: v3.properties.cadence.enum }, message: "must be equal to one of the allowed values" }], false;
2337
+ if (typeof t8 != "string") return o4.errors = [{ instancePath: s7 + "/cadence", schemaPath: "#/properties/cadence/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2338
+ if (!(t8 === "DAILY" || t8 === "WEEKLY")) return o4.errors = [{ instancePath: s7 + "/cadence", schemaPath: "#/properties/cadence/enum", keyword: "enum", params: { allowedValues: v3.properties.cadence.enum }, message: "must be equal to one of the allowed values" }], false;
2153
2339
  var a5 = u4 === r2;
2154
2340
  } else var a5 = true;
2155
2341
  if (a5) {
2156
2342
  if (e4.durationMinutes !== void 0) {
2157
2343
  let t8 = e4.durationMinutes, u4 = r2;
2158
- if (!(typeof t8 == "number" && !(t8 % 1) && !isNaN(t8) && isFinite(t8))) return o3.errors = [{ instancePath: s7 + "/durationMinutes", schemaPath: "#/properties/durationMinutes/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
2159
- if (r2 === u4 && typeof t8 == "number" && isFinite(t8) && (t8 < 1 || isNaN(t8))) return o3.errors = [{ instancePath: s7 + "/durationMinutes", schemaPath: "#/properties/durationMinutes/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }], false;
2344
+ if (!(typeof t8 == "number" && !(t8 % 1) && !isNaN(t8) && isFinite(t8))) return o4.errors = [{ instancePath: s7 + "/durationMinutes", schemaPath: "#/properties/durationMinutes/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
2345
+ if (r2 === u4 && typeof t8 == "number" && isFinite(t8) && (t8 < 1 || isNaN(t8))) return o4.errors = [{ instancePath: s7 + "/durationMinutes", schemaPath: "#/properties/durationMinutes/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }], false;
2160
2346
  var a5 = u4 === r2;
2161
2347
  } else var a5 = true;
2162
2348
  if (a5) {
2163
2349
  if (e4.id !== void 0) {
2164
2350
  let t8 = e4.id, u4 = r2;
2165
2351
  if (r2 === u4 && r2 === u4) if (typeof t8 == "string") {
2166
- if (!a2.test(t8)) return o3.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2167
- } else return o3.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2352
+ if (!a2.test(t8)) return o4.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2353
+ } else return o4.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2168
2354
  var a5 = u4 === r2;
2169
2355
  } else var a5 = true;
2170
2356
  if (a5) if (e4.name !== void 0) {
2171
2357
  let t8 = r2;
2172
- if (typeof e4.name != "string") return o3.errors = [{ instancePath: s7 + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2358
+ if (typeof e4.name != "string") return o4.errors = [{ instancePath: s7 + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2173
2359
  var a5 = t8 === r2;
2174
2360
  } else var a5 = true;
2175
2361
  }
2176
2362
  }
2177
2363
  }
2178
2364
  }
2179
- } else return o3.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2180
- return o3.errors = i5, r2 === 0;
2365
+ } else return o4.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2366
+ return o4.errors = i5, r2 === 0;
2181
2367
  }
2182
2368
  function m2(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g, rootData: d5 = e4 } = {}) {
2183
2369
  let i5 = null, r2 = 0;
@@ -2197,7 +2383,7 @@ function m2(e4, { instancePath: s7 = "", parentData: c5, parentDataProperty: g,
2197
2383
  let b4 = t8.length;
2198
2384
  for (let f3 = 0; f3 < b4; f3++) {
2199
2385
  let P4 = r2;
2200
- o3(t8[f3], { instancePath: s7 + "/routines/" + f3, parentData: t8, parentDataProperty: f3, rootData: d5 }) || (i5 = i5 === null ? o3.errors : i5.concat(o3.errors), r2 = i5.length);
2386
+ o4(t8[f3], { instancePath: s7 + "/routines/" + f3, parentData: t8, parentDataProperty: f3, rootData: d5 }) || (i5 = i5 === null ? o4.errors : i5.concat(o4.errors), r2 = i5.length);
2201
2387
  var a5 = P4 === r2;
2202
2388
  if (!a5) break;
2203
2389
  }
@@ -2238,11 +2424,11 @@ var getV1AgentRoutines = {
2238
2424
 
2239
2425
  // ../../packages/contracts/src/generated/validators/shared/26EAVMHM.js
2240
2426
  var m3 = { additionalProperties: false, properties: { externalId: { maxLength: 200, minLength: 1, nullable: true, type: "string" }, kind: { enum: ["calendar_event", "commit", "issue", "linear_issue", "pr", "session_log", "other"], type: "string" }, label: { maxLength: 160, minLength: 1, type: "string" }, url: { maxLength: 500, minLength: 1, nullable: true, type: "string" } }, required: ["kind", "label"], type: "object" };
2241
- function s2(r2, { instancePath: a5 = "", parentData: h10, parentDataProperty: f3, rootData: d5 = r2 } = {}) {
2427
+ function s2(r2, { instancePath: a5 = "", parentData: h11, parentDataProperty: f3, rootData: d5 = r2 } = {}) {
2242
2428
  let p6 = null, t8 = 0;
2243
2429
  if (t8 === 0) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
2244
- let o11;
2245
- if (r2.kind === void 0 && (o11 = "kind") || r2.label === void 0 && (o11 = "label")) return s2.errors = [{ instancePath: a5, schemaPath: "#/required", keyword: "required", params: { missingProperty: o11 }, message: "must have required property '" + o11 + "'" }], false;
2430
+ let o12;
2431
+ if (r2.kind === void 0 && (o12 = "kind") || r2.label === void 0 && (o12 = "label")) return s2.errors = [{ instancePath: a5, schemaPath: "#/required", keyword: "required", params: { missingProperty: o12 }, message: "must have required property '" + o12 + "'" }], false;
2246
2432
  {
2247
2433
  let u4 = t8;
2248
2434
  for (let e4 in r2) if (!(e4 === "externalId" || e4 === "kind" || e4 === "label" || e4 === "url")) {
@@ -2296,12 +2482,12 @@ function s2(r2, { instancePath: a5 = "", parentData: h10, parentDataProperty: f3
2296
2482
  var t4 = Object.prototype.hasOwnProperty;
2297
2483
 
2298
2484
  // ../../packages/contracts/src/generated/validators/shared/OJPHCEXC.js
2299
- var o4 = U().fullFormats.uri;
2485
+ var o5 = U().fullFormats.uri;
2300
2486
 
2301
2487
  // ../../packages/contracts/src/generated/validators/shared/QUS6QINY.js
2302
2488
  var v4 = { additionalProperties: false, properties: { artifactUrl: { format: "uri", nullable: true, type: "string" }, createdAt: { format: "date-time", type: "string" }, createdByApiKeyId: { format: "uuid", nullable: true, type: "string" }, createdTimeEntryId: { format: "uuid", nullable: true, type: "string" }, description: { nullable: true, type: "string" }, details: { items: { type: "string" }, type: "array" }, durationMinutes: { minimum: 1, type: "integer" }, evidence: { items: { $ref: "urn:flowmind:schema:AgentProposalEvidence" }, type: "array" }, expiresAt: { format: "date-time", type: "string" }, id: { format: "uuid", type: "string" }, note: { type: "string" }, projectId: { format: "uuid", nullable: true, type: "string" }, reviewedAt: { format: "date-time", nullable: true, type: "string" }, routineId: { format: "uuid", nullable: true, type: "string" }, source: { $ref: "urn:flowmind:schema:AgentProposalSource" }, startedAt: { format: "date-time", type: "string" }, status: { enum: ["proposed", "cancelled", "approved", "rejected"], type: "string" }, targetKind: { enum: ["project", "routine", "unassigned"], type: "string" }, updatedAt: { format: "date-time", type: "string" }, webReviewUrl: { format: "uri", type: "string" } }, required: ["id", "status", "targetKind", "projectId", "routineId", "startedAt", "durationMinutes", "description", "note", "details", "artifactUrl", "source", "evidence", "createdByApiKeyId", "expiresAt", "reviewedAt", "createdTimeEntryId", "webReviewUrl", "createdAt", "updatedAt"], type: "object" };
2303
2489
  var I = { additionalProperties: false, properties: { externalId: { maxLength: 200, minLength: 1, nullable: true, type: "string" }, kind: { enum: ["calendar", "claude_code", "cli", "codex", "github", "linear", "manual", "session_log", "other"], type: "string" }, label: { maxLength: 160, minLength: 1, nullable: true, type: "string" } }, required: ["kind"], type: "object" };
2304
- function d2(t8, { instancePath: a5 = "", parentData: x4, parentDataProperty: _, rootData: w3 = t8 } = {}) {
2490
+ function d2(t8, { instancePath: a5 = "", parentData: x4, parentDataProperty: _2, rootData: w3 = t8 } = {}) {
2305
2491
  let p6 = null, e4 = 0;
2306
2492
  if (e4 === 0) if (t8 && typeof t8 == "object" && !Array.isArray(t8)) {
2307
2493
  let u4;
@@ -2344,50 +2530,50 @@ function d2(t8, { instancePath: a5 = "", parentData: x4, parentDataProperty: _,
2344
2530
  } else return d2.errors = [{ instancePath: a5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2345
2531
  return d2.errors = p6, e4 === 0;
2346
2532
  }
2347
- function o5(t8, { instancePath: a5 = "", parentData: x4, parentDataProperty: _, rootData: w3 = t8 } = {}) {
2533
+ function o6(t8, { instancePath: a5 = "", parentData: x4, parentDataProperty: _2, rootData: w3 = t8 } = {}) {
2348
2534
  let p6 = null, e4 = 0;
2349
2535
  if (e4 === 0) if (t8 && typeof t8 == "object" && !Array.isArray(t8)) {
2350
2536
  let n7;
2351
- if (t8.id === void 0 && (n7 = "id") || t8.status === void 0 && (n7 = "status") || t8.targetKind === void 0 && (n7 = "targetKind") || t8.projectId === void 0 && (n7 = "projectId") || t8.routineId === void 0 && (n7 = "routineId") || t8.startedAt === void 0 && (n7 = "startedAt") || t8.durationMinutes === void 0 && (n7 = "durationMinutes") || t8.description === void 0 && (n7 = "description") || t8.note === void 0 && (n7 = "note") || t8.details === void 0 && (n7 = "details") || t8.artifactUrl === void 0 && (n7 = "artifactUrl") || t8.source === void 0 && (n7 = "source") || t8.evidence === void 0 && (n7 = "evidence") || t8.createdByApiKeyId === void 0 && (n7 = "createdByApiKeyId") || t8.expiresAt === void 0 && (n7 = "expiresAt") || t8.reviewedAt === void 0 && (n7 = "reviewedAt") || t8.createdTimeEntryId === void 0 && (n7 = "createdTimeEntryId") || t8.webReviewUrl === void 0 && (n7 = "webReviewUrl") || t8.createdAt === void 0 && (n7 = "createdAt") || t8.updatedAt === void 0 && (n7 = "updatedAt")) return o5.errors = [{ instancePath: a5, schemaPath: "#/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
2537
+ if (t8.id === void 0 && (n7 = "id") || t8.status === void 0 && (n7 = "status") || t8.targetKind === void 0 && (n7 = "targetKind") || t8.projectId === void 0 && (n7 = "projectId") || t8.routineId === void 0 && (n7 = "routineId") || t8.startedAt === void 0 && (n7 = "startedAt") || t8.durationMinutes === void 0 && (n7 = "durationMinutes") || t8.description === void 0 && (n7 = "description") || t8.note === void 0 && (n7 = "note") || t8.details === void 0 && (n7 = "details") || t8.artifactUrl === void 0 && (n7 = "artifactUrl") || t8.source === void 0 && (n7 = "source") || t8.evidence === void 0 && (n7 = "evidence") || t8.createdByApiKeyId === void 0 && (n7 = "createdByApiKeyId") || t8.expiresAt === void 0 && (n7 = "expiresAt") || t8.reviewedAt === void 0 && (n7 = "reviewedAt") || t8.createdTimeEntryId === void 0 && (n7 = "createdTimeEntryId") || t8.webReviewUrl === void 0 && (n7 = "webReviewUrl") || t8.createdAt === void 0 && (n7 = "createdAt") || t8.updatedAt === void 0 && (n7 = "updatedAt")) return o6.errors = [{ instancePath: a5, schemaPath: "#/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
2352
2538
  {
2353
2539
  let f3 = e4;
2354
2540
  for (let r2 in t8) if (!t4.call(v4.properties, r2)) {
2355
- return o5.errors = [{ instancePath: a5, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: r2 }, message: "must NOT have additional properties" }], false;
2541
+ return o6.errors = [{ instancePath: a5, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: r2 }, message: "must NOT have additional properties" }], false;
2356
2542
  break;
2357
2543
  }
2358
2544
  if (f3 === e4) {
2359
2545
  if (t8.artifactUrl !== void 0) {
2360
2546
  let r2 = t8.artifactUrl, i5 = e4;
2361
- if (typeof r2 != "string" && r2 !== null) return o5.errors = [{ instancePath: a5 + "/artifactUrl", schemaPath: "#/properties/artifactUrl/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2362
- if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !o4(r2)) return o5.errors = [{ instancePath: a5 + "/artifactUrl", schemaPath: "#/properties/artifactUrl/format", keyword: "format", params: { format: "uri" }, message: 'must match format "uri"' }], false;
2547
+ if (typeof r2 != "string" && r2 !== null) return o6.errors = [{ instancePath: a5 + "/artifactUrl", schemaPath: "#/properties/artifactUrl/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2548
+ if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !o5(r2)) return o6.errors = [{ instancePath: a5 + "/artifactUrl", schemaPath: "#/properties/artifactUrl/format", keyword: "format", params: { format: "uri" }, message: 'must match format "uri"' }], false;
2363
2549
  var s7 = i5 === e4;
2364
2550
  } else var s7 = true;
2365
2551
  if (s7) {
2366
2552
  if (t8.createdAt !== void 0) {
2367
2553
  let r2 = t8.createdAt, i5 = e4;
2368
2554
  if (e4 === i5 && e4 === i5) if (typeof r2 == "string") {
2369
- if (!e.validate(r2)) return o5.errors = [{ instancePath: a5 + "/createdAt", schemaPath: "#/properties/createdAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2370
- } else return o5.errors = [{ instancePath: a5 + "/createdAt", schemaPath: "#/properties/createdAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2555
+ if (!e.validate(r2)) return o6.errors = [{ instancePath: a5 + "/createdAt", schemaPath: "#/properties/createdAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2556
+ } else return o6.errors = [{ instancePath: a5 + "/createdAt", schemaPath: "#/properties/createdAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2371
2557
  var s7 = i5 === e4;
2372
2558
  } else var s7 = true;
2373
2559
  if (s7) {
2374
2560
  if (t8.createdByApiKeyId !== void 0) {
2375
2561
  let r2 = t8.createdByApiKeyId, i5 = e4;
2376
- if (typeof r2 != "string" && r2 !== null) return o5.errors = [{ instancePath: a5 + "/createdByApiKeyId", schemaPath: "#/properties/createdByApiKeyId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2377
- if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !a2.test(r2)) return o5.errors = [{ instancePath: a5 + "/createdByApiKeyId", schemaPath: "#/properties/createdByApiKeyId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2562
+ if (typeof r2 != "string" && r2 !== null) return o6.errors = [{ instancePath: a5 + "/createdByApiKeyId", schemaPath: "#/properties/createdByApiKeyId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2563
+ if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !a2.test(r2)) return o6.errors = [{ instancePath: a5 + "/createdByApiKeyId", schemaPath: "#/properties/createdByApiKeyId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2378
2564
  var s7 = i5 === e4;
2379
2565
  } else var s7 = true;
2380
2566
  if (s7) {
2381
2567
  if (t8.createdTimeEntryId !== void 0) {
2382
2568
  let r2 = t8.createdTimeEntryId, i5 = e4;
2383
- if (typeof r2 != "string" && r2 !== null) return o5.errors = [{ instancePath: a5 + "/createdTimeEntryId", schemaPath: "#/properties/createdTimeEntryId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2384
- if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !a2.test(r2)) return o5.errors = [{ instancePath: a5 + "/createdTimeEntryId", schemaPath: "#/properties/createdTimeEntryId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2569
+ if (typeof r2 != "string" && r2 !== null) return o6.errors = [{ instancePath: a5 + "/createdTimeEntryId", schemaPath: "#/properties/createdTimeEntryId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2570
+ if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !a2.test(r2)) return o6.errors = [{ instancePath: a5 + "/createdTimeEntryId", schemaPath: "#/properties/createdTimeEntryId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2385
2571
  var s7 = i5 === e4;
2386
2572
  } else var s7 = true;
2387
2573
  if (s7) {
2388
2574
  if (t8.description !== void 0) {
2389
2575
  let r2 = t8.description, i5 = e4;
2390
- if (typeof r2 != "string" && r2 !== null) return o5.errors = [{ instancePath: a5 + "/description", schemaPath: "#/properties/description/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2576
+ if (typeof r2 != "string" && r2 !== null) return o6.errors = [{ instancePath: a5 + "/description", schemaPath: "#/properties/description/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2391
2577
  var s7 = i5 === e4;
2392
2578
  } else var s7 = true;
2393
2579
  if (s7) {
@@ -2398,18 +2584,18 @@ function o5(t8, { instancePath: a5 = "", parentData: x4, parentDataProperty: _,
2398
2584
  let b4 = r2.length;
2399
2585
  for (let m6 = 0; m6 < b4; m6++) {
2400
2586
  let A2 = e4;
2401
- if (typeof r2[m6] != "string") return o5.errors = [{ instancePath: a5 + "/details/" + m6, schemaPath: "#/properties/details/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2587
+ if (typeof r2[m6] != "string") return o6.errors = [{ instancePath: a5 + "/details/" + m6, schemaPath: "#/properties/details/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2402
2588
  var u4 = A2 === e4;
2403
2589
  if (!u4) break;
2404
2590
  }
2405
- } else return o5.errors = [{ instancePath: a5 + "/details", schemaPath: "#/properties/details/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
2591
+ } else return o6.errors = [{ instancePath: a5 + "/details", schemaPath: "#/properties/details/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
2406
2592
  var s7 = i5 === e4;
2407
2593
  } else var s7 = true;
2408
2594
  if (s7) {
2409
2595
  if (t8.durationMinutes !== void 0) {
2410
2596
  let r2 = t8.durationMinutes, i5 = e4;
2411
- if (!(typeof r2 == "number" && !(r2 % 1) && !isNaN(r2) && isFinite(r2))) return o5.errors = [{ instancePath: a5 + "/durationMinutes", schemaPath: "#/properties/durationMinutes/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
2412
- if (e4 === i5 && typeof r2 == "number" && isFinite(r2) && (r2 < 1 || isNaN(r2))) return o5.errors = [{ instancePath: a5 + "/durationMinutes", schemaPath: "#/properties/durationMinutes/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }], false;
2597
+ if (!(typeof r2 == "number" && !(r2 % 1) && !isNaN(r2) && isFinite(r2))) return o6.errors = [{ instancePath: a5 + "/durationMinutes", schemaPath: "#/properties/durationMinutes/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
2598
+ if (e4 === i5 && typeof r2 == "number" && isFinite(r2) && (r2 < 1 || isNaN(r2))) return o6.errors = [{ instancePath: a5 + "/durationMinutes", schemaPath: "#/properties/durationMinutes/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }], false;
2413
2599
  var s7 = i5 === e4;
2414
2600
  } else var s7 = true;
2415
2601
  if (s7) {
@@ -2424,50 +2610,50 @@ function o5(t8, { instancePath: a5 = "", parentData: x4, parentDataProperty: _,
2424
2610
  var g = A2 === e4;
2425
2611
  if (!g) break;
2426
2612
  }
2427
- } else return o5.errors = [{ instancePath: a5 + "/evidence", schemaPath: "#/properties/evidence/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
2613
+ } else return o6.errors = [{ instancePath: a5 + "/evidence", schemaPath: "#/properties/evidence/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
2428
2614
  var s7 = i5 === e4;
2429
2615
  } else var s7 = true;
2430
2616
  if (s7) {
2431
2617
  if (t8.expiresAt !== void 0) {
2432
2618
  let r2 = t8.expiresAt, i5 = e4;
2433
2619
  if (e4 === i5 && e4 === i5) if (typeof r2 == "string") {
2434
- if (!e.validate(r2)) return o5.errors = [{ instancePath: a5 + "/expiresAt", schemaPath: "#/properties/expiresAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2435
- } else return o5.errors = [{ instancePath: a5 + "/expiresAt", schemaPath: "#/properties/expiresAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2620
+ if (!e.validate(r2)) return o6.errors = [{ instancePath: a5 + "/expiresAt", schemaPath: "#/properties/expiresAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2621
+ } else return o6.errors = [{ instancePath: a5 + "/expiresAt", schemaPath: "#/properties/expiresAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2436
2622
  var s7 = i5 === e4;
2437
2623
  } else var s7 = true;
2438
2624
  if (s7) {
2439
2625
  if (t8.id !== void 0) {
2440
2626
  let r2 = t8.id, i5 = e4;
2441
2627
  if (e4 === i5 && e4 === i5) if (typeof r2 == "string") {
2442
- if (!a2.test(r2)) return o5.errors = [{ instancePath: a5 + "/id", schemaPath: "#/properties/id/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2443
- } else return o5.errors = [{ instancePath: a5 + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2628
+ if (!a2.test(r2)) return o6.errors = [{ instancePath: a5 + "/id", schemaPath: "#/properties/id/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2629
+ } else return o6.errors = [{ instancePath: a5 + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2444
2630
  var s7 = i5 === e4;
2445
2631
  } else var s7 = true;
2446
2632
  if (s7) {
2447
2633
  if (t8.note !== void 0) {
2448
2634
  let r2 = e4;
2449
- if (typeof t8.note != "string") return o5.errors = [{ instancePath: a5 + "/note", schemaPath: "#/properties/note/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2635
+ if (typeof t8.note != "string") return o6.errors = [{ instancePath: a5 + "/note", schemaPath: "#/properties/note/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2450
2636
  var s7 = r2 === e4;
2451
2637
  } else var s7 = true;
2452
2638
  if (s7) {
2453
2639
  if (t8.projectId !== void 0) {
2454
2640
  let r2 = t8.projectId, i5 = e4;
2455
- if (typeof r2 != "string" && r2 !== null) return o5.errors = [{ instancePath: a5 + "/projectId", schemaPath: "#/properties/projectId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2456
- if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !a2.test(r2)) return o5.errors = [{ instancePath: a5 + "/projectId", schemaPath: "#/properties/projectId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2641
+ if (typeof r2 != "string" && r2 !== null) return o6.errors = [{ instancePath: a5 + "/projectId", schemaPath: "#/properties/projectId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2642
+ if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !a2.test(r2)) return o6.errors = [{ instancePath: a5 + "/projectId", schemaPath: "#/properties/projectId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2457
2643
  var s7 = i5 === e4;
2458
2644
  } else var s7 = true;
2459
2645
  if (s7) {
2460
2646
  if (t8.reviewedAt !== void 0) {
2461
2647
  let r2 = t8.reviewedAt, i5 = e4;
2462
- if (typeof r2 != "string" && r2 !== null) return o5.errors = [{ instancePath: a5 + "/reviewedAt", schemaPath: "#/properties/reviewedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2463
- if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !e.validate(r2)) return o5.errors = [{ instancePath: a5 + "/reviewedAt", schemaPath: "#/properties/reviewedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2648
+ if (typeof r2 != "string" && r2 !== null) return o6.errors = [{ instancePath: a5 + "/reviewedAt", schemaPath: "#/properties/reviewedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2649
+ if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !e.validate(r2)) return o6.errors = [{ instancePath: a5 + "/reviewedAt", schemaPath: "#/properties/reviewedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2464
2650
  var s7 = i5 === e4;
2465
2651
  } else var s7 = true;
2466
2652
  if (s7) {
2467
2653
  if (t8.routineId !== void 0) {
2468
2654
  let r2 = t8.routineId, i5 = e4;
2469
- if (typeof r2 != "string" && r2 !== null) return o5.errors = [{ instancePath: a5 + "/routineId", schemaPath: "#/properties/routineId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2470
- if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !a2.test(r2)) return o5.errors = [{ instancePath: a5 + "/routineId", schemaPath: "#/properties/routineId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2655
+ if (typeof r2 != "string" && r2 !== null) return o6.errors = [{ instancePath: a5 + "/routineId", schemaPath: "#/properties/routineId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2656
+ if (e4 === i5 && e4 === i5 && typeof r2 == "string" && !a2.test(r2)) return o6.errors = [{ instancePath: a5 + "/routineId", schemaPath: "#/properties/routineId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2471
2657
  var s7 = i5 === e4;
2472
2658
  } else var s7 = true;
2473
2659
  if (s7) {
@@ -2480,37 +2666,37 @@ function o5(t8, { instancePath: a5 = "", parentData: x4, parentDataProperty: _,
2480
2666
  if (t8.startedAt !== void 0) {
2481
2667
  let r2 = t8.startedAt, i5 = e4;
2482
2668
  if (e4 === i5 && e4 === i5) if (typeof r2 == "string") {
2483
- if (!e.validate(r2)) return o5.errors = [{ instancePath: a5 + "/startedAt", schemaPath: "#/properties/startedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2484
- } else return o5.errors = [{ instancePath: a5 + "/startedAt", schemaPath: "#/properties/startedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2669
+ if (!e.validate(r2)) return o6.errors = [{ instancePath: a5 + "/startedAt", schemaPath: "#/properties/startedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2670
+ } else return o6.errors = [{ instancePath: a5 + "/startedAt", schemaPath: "#/properties/startedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2485
2671
  var s7 = i5 === e4;
2486
2672
  } else var s7 = true;
2487
2673
  if (s7) {
2488
2674
  if (t8.status !== void 0) {
2489
2675
  let r2 = t8.status, i5 = e4;
2490
- if (typeof r2 != "string") return o5.errors = [{ instancePath: a5 + "/status", schemaPath: "#/properties/status/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2491
- if (!(r2 === "proposed" || r2 === "cancelled" || r2 === "approved" || r2 === "rejected")) return o5.errors = [{ instancePath: a5 + "/status", schemaPath: "#/properties/status/enum", keyword: "enum", params: { allowedValues: v4.properties.status.enum }, message: "must be equal to one of the allowed values" }], false;
2676
+ if (typeof r2 != "string") return o6.errors = [{ instancePath: a5 + "/status", schemaPath: "#/properties/status/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2677
+ if (!(r2 === "proposed" || r2 === "cancelled" || r2 === "approved" || r2 === "rejected")) return o6.errors = [{ instancePath: a5 + "/status", schemaPath: "#/properties/status/enum", keyword: "enum", params: { allowedValues: v4.properties.status.enum }, message: "must be equal to one of the allowed values" }], false;
2492
2678
  var s7 = i5 === e4;
2493
2679
  } else var s7 = true;
2494
2680
  if (s7) {
2495
2681
  if (t8.targetKind !== void 0) {
2496
2682
  let r2 = t8.targetKind, i5 = e4;
2497
- if (typeof r2 != "string") return o5.errors = [{ instancePath: a5 + "/targetKind", schemaPath: "#/properties/targetKind/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2498
- if (!(r2 === "project" || r2 === "routine" || r2 === "unassigned")) return o5.errors = [{ instancePath: a5 + "/targetKind", schemaPath: "#/properties/targetKind/enum", keyword: "enum", params: { allowedValues: v4.properties.targetKind.enum }, message: "must be equal to one of the allowed values" }], false;
2683
+ if (typeof r2 != "string") return o6.errors = [{ instancePath: a5 + "/targetKind", schemaPath: "#/properties/targetKind/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2684
+ if (!(r2 === "project" || r2 === "routine" || r2 === "unassigned")) return o6.errors = [{ instancePath: a5 + "/targetKind", schemaPath: "#/properties/targetKind/enum", keyword: "enum", params: { allowedValues: v4.properties.targetKind.enum }, message: "must be equal to one of the allowed values" }], false;
2499
2685
  var s7 = i5 === e4;
2500
2686
  } else var s7 = true;
2501
2687
  if (s7) {
2502
2688
  if (t8.updatedAt !== void 0) {
2503
2689
  let r2 = t8.updatedAt, i5 = e4;
2504
2690
  if (e4 === i5 && e4 === i5) if (typeof r2 == "string") {
2505
- if (!e.validate(r2)) return o5.errors = [{ instancePath: a5 + "/updatedAt", schemaPath: "#/properties/updatedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2506
- } else return o5.errors = [{ instancePath: a5 + "/updatedAt", schemaPath: "#/properties/updatedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2691
+ if (!e.validate(r2)) return o6.errors = [{ instancePath: a5 + "/updatedAt", schemaPath: "#/properties/updatedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2692
+ } else return o6.errors = [{ instancePath: a5 + "/updatedAt", schemaPath: "#/properties/updatedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2507
2693
  var s7 = i5 === e4;
2508
2694
  } else var s7 = true;
2509
2695
  if (s7) if (t8.webReviewUrl !== void 0) {
2510
2696
  let r2 = t8.webReviewUrl, i5 = e4;
2511
2697
  if (e4 === i5 && e4 === i5) if (typeof r2 == "string") {
2512
- if (!o4(r2)) return o5.errors = [{ instancePath: a5 + "/webReviewUrl", schemaPath: "#/properties/webReviewUrl/format", keyword: "format", params: { format: "uri" }, message: 'must match format "uri"' }], false;
2513
- } else return o5.errors = [{ instancePath: a5 + "/webReviewUrl", schemaPath: "#/properties/webReviewUrl/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2698
+ if (!o5(r2)) return o6.errors = [{ instancePath: a5 + "/webReviewUrl", schemaPath: "#/properties/webReviewUrl/format", keyword: "format", params: { format: "uri" }, message: 'must match format "uri"' }], false;
2699
+ } else return o6.errors = [{ instancePath: a5 + "/webReviewUrl", schemaPath: "#/properties/webReviewUrl/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2514
2700
  var s7 = i5 === e4;
2515
2701
  } else var s7 = true;
2516
2702
  }
@@ -2533,30 +2719,30 @@ function o5(t8, { instancePath: a5 = "", parentData: x4, parentDataProperty: _,
2533
2719
  }
2534
2720
  }
2535
2721
  }
2536
- } else return o5.errors = [{ instancePath: a5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2537
- return o5.errors = p6, e4 === 0;
2722
+ } else return o6.errors = [{ instancePath: a5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2723
+ return o6.errors = p6, e4 === 0;
2538
2724
  }
2539
2725
 
2540
2726
  // ../../packages/contracts/src/generated/validators/shared/ORKARYBH.js
2541
2727
  function t5(r2, { instancePath: s7 = "", parentData: f3, parentDataProperty: m6, rootData: l4 = r2 } = {}) {
2542
- let e4 = null, o11 = 0;
2543
- if (o11 === 0) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
2728
+ let e4 = null, o12 = 0;
2729
+ if (o12 === 0) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
2544
2730
  let a5;
2545
2731
  if (r2.proposal === void 0 && (a5 = "proposal")) return t5.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: a5 }, message: "must have required property '" + a5 + "'" }], false;
2546
2732
  {
2547
- let n7 = o11;
2733
+ let n7 = o12;
2548
2734
  for (let i5 in r2) if (i5 !== "proposal") {
2549
2735
  return t5.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: i5 }, message: "must NOT have additional properties" }], false;
2550
2736
  break;
2551
2737
  }
2552
- n7 === o11 && r2.proposal !== void 0 && (o5(r2.proposal, { instancePath: s7 + "/proposal", parentData: r2, parentDataProperty: "proposal", rootData: l4 }) || (e4 = e4 === null ? o5.errors : e4.concat(o5.errors), o11 = e4.length));
2738
+ n7 === o12 && r2.proposal !== void 0 && (o6(r2.proposal, { instancePath: s7 + "/proposal", parentData: r2, parentDataProperty: "proposal", rootData: l4 }) || (e4 = e4 === null ? o6.errors : e4.concat(o6.errors), o12 = e4.length));
2553
2739
  }
2554
2740
  } else return t5.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2555
- return t5.errors = e4, o11 === 0;
2741
+ return t5.errors = e4, o12 === 0;
2556
2742
  }
2557
2743
 
2558
2744
  // ../../packages/contracts/src/generated/validators/postV1AgentLogProposals200.js
2559
- function o6(r2, { instancePath: s7 = "", parentData: m6, parentDataProperty: u4, rootData: n7 = r2 } = {}) {
2745
+ function o7(r2, { instancePath: s7 = "", parentData: m6, parentDataProperty: u4, rootData: n7 = r2 } = {}) {
2560
2746
  let e4 = null, t8 = 0, d5 = t8;
2561
2747
  i(r2, { instancePath: s7, parentData: m6, parentDataProperty: u4, rootData: n7 }) || (e4 = e4 === null ? i.errors : e4.concat(i.errors), t8 = e4.length);
2562
2748
  var p6 = d5 === t8;
@@ -2564,14 +2750,14 @@ function o6(r2, { instancePath: s7 = "", parentData: m6, parentDataProperty: u4,
2564
2750
  let f3 = t8;
2565
2751
  if (t8 === f3) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
2566
2752
  let i5;
2567
- if (r2.data === void 0 && (i5 = "data")) return o6.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
2753
+ if (r2.data === void 0 && (i5 = "data")) return o7.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
2568
2754
  r2.data !== void 0 && (t5(r2.data, { instancePath: s7 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (e4 = e4 === null ? t5.errors : e4.concat(t5.errors), t8 = e4.length));
2569
- } else return o6.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2755
+ } else return o7.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2570
2756
  var p6 = f3 === t8;
2571
2757
  }
2572
- return o6.errors = e4, t8 === 0;
2758
+ return o7.errors = e4, t8 === 0;
2573
2759
  }
2574
- var h2 = o6;
2760
+ var h3 = o7;
2575
2761
 
2576
2762
  // ../../packages/contracts/src/generated/endpoints/postV1AgentLogProposals.ts
2577
2763
  var postV1AgentLogProposals = {
@@ -2580,21 +2766,21 @@ var postV1AgentLogProposals = {
2580
2766
  operation: "POST /v1/agent/log-proposals",
2581
2767
  revision: contractRevision,
2582
2768
  responses: {
2583
- 200: { mediaType: "application/json", schemaId: "urn:flowmind:postV1AgentLogProposals:200", validate: h2 }
2769
+ 200: { mediaType: "application/json", schemaId: "urn:flowmind:postV1AgentLogProposals:200", validate: h3 }
2584
2770
  },
2585
2771
  error: { mediaType: "application/json", schemaId: "ApiErrorEnvelope", validate: N }
2586
2772
  };
2587
2773
 
2588
2774
  // ../../packages/contracts/src/generated/validators/getV1AgentLogProposals200.js
2589
- function t6(r2, { instancePath: o11 = "", parentData: c5, parentDataProperty: v6, rootData: n7 = r2 } = {}) {
2775
+ function t6(r2, { instancePath: o12 = "", parentData: c5, parentDataProperty: v6, rootData: n7 = r2 } = {}) {
2590
2776
  let s7 = null, e4 = 0;
2591
2777
  if (e4 === 0) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
2592
2778
  let i5;
2593
- if (r2.proposals === void 0 && (i5 = "proposals")) return t6.errors = [{ instancePath: o11, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
2779
+ if (r2.proposals === void 0 && (i5 = "proposals")) return t6.errors = [{ instancePath: o12, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
2594
2780
  {
2595
2781
  let m6 = e4;
2596
2782
  for (let a5 in r2) if (a5 !== "proposals") {
2597
- return t6.errors = [{ instancePath: o11, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: a5 }, message: "must NOT have additional properties" }], false;
2783
+ return t6.errors = [{ instancePath: o12, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: a5 }, message: "must NOT have additional properties" }], false;
2598
2784
  break;
2599
2785
  }
2600
2786
  if (m6 === e4 && r2.proposals !== void 0) {
@@ -2603,28 +2789,28 @@ function t6(r2, { instancePath: o11 = "", parentData: c5, parentDataProperty: v6
2603
2789
  var f3 = true;
2604
2790
  let g = a5.length;
2605
2791
  for (let p6 = 0; p6 < g; p6++) {
2606
- let h10 = e4;
2607
- o5(a5[p6], { instancePath: o11 + "/proposals/" + p6, parentData: a5, parentDataProperty: p6, rootData: n7 }) || (s7 = s7 === null ? o5.errors : s7.concat(o5.errors), e4 = s7.length);
2608
- var f3 = h10 === e4;
2792
+ let h11 = e4;
2793
+ o6(a5[p6], { instancePath: o12 + "/proposals/" + p6, parentData: a5, parentDataProperty: p6, rootData: n7 }) || (s7 = s7 === null ? o6.errors : s7.concat(o6.errors), e4 = s7.length);
2794
+ var f3 = h11 === e4;
2609
2795
  if (!f3) break;
2610
2796
  }
2611
- } else return t6.errors = [{ instancePath: o11 + "/proposals", schemaPath: "#/properties/proposals/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
2797
+ } else return t6.errors = [{ instancePath: o12 + "/proposals", schemaPath: "#/properties/proposals/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
2612
2798
  }
2613
2799
  }
2614
- } else return t6.errors = [{ instancePath: o11, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2800
+ } else return t6.errors = [{ instancePath: o12, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2615
2801
  return t6.errors = s7, e4 === 0;
2616
2802
  }
2617
- function l2(r2, { instancePath: o11 = "", parentData: c5, parentDataProperty: v6, rootData: n7 = r2 } = {}) {
2803
+ function l2(r2, { instancePath: o12 = "", parentData: c5, parentDataProperty: v6, rootData: n7 = r2 } = {}) {
2618
2804
  let s7 = null, e4 = 0, f3 = e4;
2619
- i(r2, { instancePath: o11, parentData: c5, parentDataProperty: v6, rootData: n7 }) || (s7 = s7 === null ? i.errors : s7.concat(i.errors), e4 = s7.length);
2805
+ i(r2, { instancePath: o12, parentData: c5, parentDataProperty: v6, rootData: n7 }) || (s7 = s7 === null ? i.errors : s7.concat(i.errors), e4 = s7.length);
2620
2806
  var i5 = f3 === e4;
2621
2807
  if (i5) {
2622
2808
  let m6 = e4;
2623
2809
  if (e4 === m6) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
2624
2810
  let y3;
2625
- if (r2.data === void 0 && (y3 = "data")) return l2.errors = [{ instancePath: o11, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: y3 }, message: "must have required property '" + y3 + "'" }], false;
2626
- r2.data !== void 0 && (t6(r2.data, { instancePath: o11 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (s7 = s7 === null ? t6.errors : s7.concat(t6.errors), e4 = s7.length));
2627
- } else return l2.errors = [{ instancePath: o11, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2811
+ if (r2.data === void 0 && (y3 = "data")) return l2.errors = [{ instancePath: o12, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: y3 }, message: "must have required property '" + y3 + "'" }], false;
2812
+ r2.data !== void 0 && (t6(r2.data, { instancePath: o12 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (s7 = s7 === null ? t6.errors : s7.concat(t6.errors), e4 = s7.length));
2813
+ } else return l2.errors = [{ instancePath: o12, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2628
2814
  var i5 = m6 === e4;
2629
2815
  }
2630
2816
  return l2.errors = s7, e4 === 0;
@@ -2645,21 +2831,21 @@ var getV1AgentLogProposals = {
2645
2831
 
2646
2832
  // ../../packages/contracts/src/generated/validators/postV1AgentLogProposalsByProposalIdCancel200.js
2647
2833
  function s3(r2, { instancePath: t8 = "", parentData: m6, parentDataProperty: d5, rootData: n7 = r2 } = {}) {
2648
- let e4 = null, o11 = 0, u4 = o11;
2649
- i(r2, { instancePath: t8, parentData: m6, parentDataProperty: d5, rootData: n7 }) || (e4 = e4 === null ? i.errors : e4.concat(i.errors), o11 = e4.length);
2650
- var p6 = u4 === o11;
2834
+ let e4 = null, o12 = 0, u4 = o12;
2835
+ i(r2, { instancePath: t8, parentData: m6, parentDataProperty: d5, rootData: n7 }) || (e4 = e4 === null ? i.errors : e4.concat(i.errors), o12 = e4.length);
2836
+ var p6 = u4 === o12;
2651
2837
  if (p6) {
2652
- let f3 = o11;
2653
- if (o11 === f3) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
2838
+ let f3 = o12;
2839
+ if (o12 === f3) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
2654
2840
  let i5;
2655
2841
  if (r2.data === void 0 && (i5 = "data")) return s3.errors = [{ instancePath: t8, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
2656
- r2.data !== void 0 && (t5(r2.data, { instancePath: t8 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (e4 = e4 === null ? t5.errors : e4.concat(t5.errors), o11 = e4.length));
2842
+ r2.data !== void 0 && (t5(r2.data, { instancePath: t8 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (e4 = e4 === null ? t5.errors : e4.concat(t5.errors), o12 = e4.length));
2657
2843
  } else return s3.errors = [{ instancePath: t8, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2658
- var p6 = f3 === o11;
2844
+ var p6 = f3 === o12;
2659
2845
  }
2660
- return s3.errors = e4, o11 === 0;
2846
+ return s3.errors = e4, o12 === 0;
2661
2847
  }
2662
- var h3 = s3;
2848
+ var h4 = s3;
2663
2849
 
2664
2850
  // ../../packages/contracts/src/generated/endpoints/postV1AgentLogProposalsByProposalIdCancel.ts
2665
2851
  var postV1AgentLogProposalsByProposalIdCancel = {
@@ -2668,7 +2854,7 @@ var postV1AgentLogProposalsByProposalIdCancel = {
2668
2854
  operation: "POST /v1/agent/log-proposals/{proposalId}/cancel",
2669
2855
  revision: contractRevision,
2670
2856
  responses: {
2671
- 200: { mediaType: "application/json", schemaId: "urn:flowmind:postV1AgentLogProposalsByProposalIdCancel:200", validate: h3 }
2857
+ 200: { mediaType: "application/json", schemaId: "urn:flowmind:postV1AgentLogProposalsByProposalIdCancel:200", validate: h4 }
2672
2858
  },
2673
2859
  error: { mediaType: "application/json", schemaId: "ApiErrorEnvelope", validate: N }
2674
2860
  };
@@ -2676,7 +2862,7 @@ var postV1AgentLogProposalsByProposalIdCancel = {
2676
2862
  // ../../packages/contracts/src/generated/validators/postV1AiLog200.js
2677
2863
  var j = { additionalProperties: false, description: "AI log draft response payload", properties: { availableProjects: { items: { $ref: "urn:flowmind:schema:AiLogProject" }, type: "array" }, dayBoundaryMinutes: { enum: [0, 60, 120, 180, 240, 300, 360], type: "integer" }, draft: { $ref: "urn:flowmind:schema:AiLogDraft" }, originalText: { type: "string" }, timezone: { type: "string" }, today: { format: "date", type: "string" } }, required: ["availableProjects", "draft", "originalText", "timezone", "dayBoundaryMinutes", "today"], type: "object" };
2678
2864
  function d3(e4, { instancePath: a5 = "", parentData: g, parentDataProperty: v6, rootData: f3 = e4 } = {}) {
2679
- let o11 = null, r2 = 0;
2865
+ let o12 = null, r2 = 0;
2680
2866
  if (r2 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
2681
2867
  let i5;
2682
2868
  if (e4.id === void 0 && (i5 = "id") || e4.name === void 0 && (i5 = "name")) return d3.errors = [{ instancePath: a5, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
@@ -2702,11 +2888,11 @@ function d3(e4, { instancePath: a5 = "", parentData: g, parentDataProperty: v6,
2702
2888
  }
2703
2889
  }
2704
2890
  } else return d3.errors = [{ instancePath: a5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2705
- return d3.errors = o11, r2 === 0;
2891
+ return d3.errors = o12, r2 === 0;
2706
2892
  }
2707
2893
  var k = { additionalProperties: false, description: "Suggested capture fields. Date is always unset until the user chooses it.", properties: { date: { enum: [null], nullable: true, type: "object" }, durationMinutes: { maximum: 1440, minimum: 1, nullable: true, type: "integer" }, note: { type: "string" }, projectId: { format: "uuid", nullable: true, type: "string" } }, required: ["date", "durationMinutes", "note", "projectId"], type: "object" };
2708
2894
  function p2(e4, { instancePath: a5 = "", parentData: g, parentDataProperty: v6, rootData: f3 = e4 } = {}) {
2709
- let o11 = null, r2 = 0;
2895
+ let o12 = null, r2 = 0;
2710
2896
  if (r2 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
2711
2897
  let i5;
2712
2898
  if (e4.date === void 0 && (i5 = "date") || e4.durationMinutes === void 0 && (i5 = "durationMinutes") || e4.note === void 0 && (i5 = "note") || e4.projectId === void 0 && (i5 = "projectId")) return p2.errors = [{ instancePath: a5, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
@@ -2750,10 +2936,10 @@ function p2(e4, { instancePath: a5 = "", parentData: g, parentDataProperty: v6,
2750
2936
  }
2751
2937
  }
2752
2938
  } else return p2.errors = [{ instancePath: a5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2753
- return p2.errors = o11, r2 === 0;
2939
+ return p2.errors = o12, r2 === 0;
2754
2940
  }
2755
2941
  function m4(e4, { instancePath: a5 = "", parentData: g, parentDataProperty: v6, rootData: f3 = e4 } = {}) {
2756
- let o11 = null, r2 = 0;
2942
+ let o12 = null, r2 = 0;
2757
2943
  if (r2 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
2758
2944
  let u4;
2759
2945
  if (e4.availableProjects === void 0 && (u4 = "availableProjects") || e4.draft === void 0 && (u4 = "draft") || e4.originalText === void 0 && (u4 = "originalText") || e4.timezone === void 0 && (u4 = "timezone") || e4.dayBoundaryMinutes === void 0 && (u4 = "dayBoundaryMinutes") || e4.today === void 0 && (u4 = "today")) return m4.errors = [{ instancePath: a5, schemaPath: "#/required", keyword: "required", params: { missingProperty: u4 }, message: "must have required property '" + u4 + "'" }], false;
@@ -2771,7 +2957,7 @@ function m4(e4, { instancePath: a5 = "", parentData: g, parentDataProperty: v6,
2771
2957
  let w3 = t8.length;
2772
2958
  for (let y3 = 0; y3 < w3; y3++) {
2773
2959
  let M = r2;
2774
- d3(t8[y3], { instancePath: a5 + "/availableProjects/" + y3, parentData: t8, parentDataProperty: y3, rootData: f3 }) || (o11 = o11 === null ? d3.errors : o11.concat(d3.errors), r2 = o11.length);
2960
+ d3(t8[y3], { instancePath: a5 + "/availableProjects/" + y3, parentData: t8, parentDataProperty: y3, rootData: f3 }) || (o12 = o12 === null ? d3.errors : o12.concat(d3.errors), r2 = o12.length);
2775
2961
  var n7 = M === r2;
2776
2962
  if (!n7) break;
2777
2963
  }
@@ -2788,7 +2974,7 @@ function m4(e4, { instancePath: a5 = "", parentData: g, parentDataProperty: v6,
2788
2974
  if (i5) {
2789
2975
  if (e4.draft !== void 0) {
2790
2976
  let t8 = r2;
2791
- p2(e4.draft, { instancePath: a5 + "/draft", parentData: e4, parentDataProperty: "draft", rootData: f3 }) || (o11 = o11 === null ? p2.errors : o11.concat(p2.errors), r2 = o11.length);
2977
+ p2(e4.draft, { instancePath: a5 + "/draft", parentData: e4, parentDataProperty: "draft", rootData: f3 }) || (o12 = o12 === null ? p2.errors : o12.concat(p2.errors), r2 = o12.length);
2792
2978
  var i5 = t8 === r2;
2793
2979
  } else var i5 = true;
2794
2980
  if (i5) {
@@ -2817,22 +3003,22 @@ function m4(e4, { instancePath: a5 = "", parentData: g, parentDataProperty: v6,
2817
3003
  }
2818
3004
  }
2819
3005
  } else return m4.errors = [{ instancePath: a5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2820
- return m4.errors = o11, r2 === 0;
3006
+ return m4.errors = o12, r2 === 0;
2821
3007
  }
2822
3008
  function c2(e4, { instancePath: a5 = "", parentData: g, parentDataProperty: v6, rootData: f3 = e4 } = {}) {
2823
- let o11 = null, r2 = 0, n7 = r2;
2824
- i(e4, { instancePath: a5, parentData: g, parentDataProperty: v6, rootData: f3 }) || (o11 = o11 === null ? i.errors : o11.concat(i.errors), r2 = o11.length);
3009
+ let o12 = null, r2 = 0, n7 = r2;
3010
+ i(e4, { instancePath: a5, parentData: g, parentDataProperty: v6, rootData: f3 }) || (o12 = o12 === null ? i.errors : o12.concat(i.errors), r2 = o12.length);
2825
3011
  var i5 = n7 === r2;
2826
3012
  if (i5) {
2827
3013
  let u4 = r2;
2828
3014
  if (r2 === u4) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
2829
3015
  let t8;
2830
3016
  if (e4.data === void 0 && (t8 = "data")) return c2.errors = [{ instancePath: a5, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: t8 }, message: "must have required property '" + t8 + "'" }], false;
2831
- e4.data !== void 0 && (m4(e4.data, { instancePath: a5 + "/data", parentData: e4, parentDataProperty: "data", rootData: f3 }) || (o11 = o11 === null ? m4.errors : o11.concat(m4.errors), r2 = o11.length));
3017
+ e4.data !== void 0 && (m4(e4.data, { instancePath: a5 + "/data", parentData: e4, parentDataProperty: "data", rootData: f3 }) || (o12 = o12 === null ? m4.errors : o12.concat(m4.errors), r2 = o12.length));
2832
3018
  } else return c2.errors = [{ instancePath: a5, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
2833
3019
  var i5 = u4 === r2;
2834
3020
  }
2835
- return c2.errors = o11, r2 === 0;
3021
+ return c2.errors = o12, r2 === 0;
2836
3022
  }
2837
3023
  var S = c2;
2838
3024
 
@@ -2850,36 +3036,36 @@ var postV1AiLog = {
2850
3036
 
2851
3037
  // ../../packages/contracts/src/generated/validators/shared/HSMQKBKA.js
2852
3038
  var c3 = { description: "Create time entry response", properties: { artifactUrl: { format: "uri", nullable: true, type: "string" }, captureSource: { enum: ["unrecorded", "manual", "timer", "ai_text", "voice", "cli", "agent"], type: "string" }, createdAt: { format: "date-time", type: "string" }, description: { nullable: true, type: "string" }, details: { items: { type: "string" }, type: "array" }, durationSeconds: { minimum: 1, type: "integer" }, id: { format: "uuid", type: "string" }, isFlowSession: { type: "boolean" }, localDay: { format: "date", type: "string" }, localWeekStart: { format: "date", type: "string" }, loggedLate: { type: "boolean" }, milestoneHit: { enum: [100, 500, 1e3, null], nullable: true, type: "integer" }, newBadges: { items: { type: "string" }, type: "array" }, note: { nullable: true, type: "string" }, projectId: { format: "uuid", type: "string" }, startedAt: { format: "date-time", type: "string" }, updatedAt: { format: "date-time", type: "string" }, voidedAt: { format: "date-time", nullable: true, type: "string" }, xpAwarded: { minimum: 0, type: "integer" } }, required: ["id", "projectId", "startedAt", "durationSeconds", "description", "note", "artifactUrl", "isFlowSession", "loggedLate", "captureSource", "localDay", "localWeekStart", "voidedAt", "createdAt", "updatedAt", "milestoneHit", "xpAwarded", "newBadges", "details"], type: "object" };
2853
- function i4(t8, { instancePath: o11 = "", parentData: w3, parentDataProperty: A2, rootData: b4 = t8 } = {}) {
2854
- let h10 = null, r2 = 0;
3039
+ function i4(t8, { instancePath: o12 = "", parentData: w3, parentDataProperty: A2, rootData: b4 = t8 } = {}) {
3040
+ let h11 = null, r2 = 0;
2855
3041
  if (r2 === 0) if (t8 && typeof t8 == "object" && !Array.isArray(t8)) {
2856
3042
  let n7;
2857
- if (t8.id === void 0 && (n7 = "id") || t8.projectId === void 0 && (n7 = "projectId") || t8.startedAt === void 0 && (n7 = "startedAt") || t8.durationSeconds === void 0 && (n7 = "durationSeconds") || t8.description === void 0 && (n7 = "description") || t8.note === void 0 && (n7 = "note") || t8.artifactUrl === void 0 && (n7 = "artifactUrl") || t8.isFlowSession === void 0 && (n7 = "isFlowSession") || t8.loggedLate === void 0 && (n7 = "loggedLate") || t8.captureSource === void 0 && (n7 = "captureSource") || t8.localDay === void 0 && (n7 = "localDay") || t8.localWeekStart === void 0 && (n7 = "localWeekStart") || t8.voidedAt === void 0 && (n7 = "voidedAt") || t8.createdAt === void 0 && (n7 = "createdAt") || t8.updatedAt === void 0 && (n7 = "updatedAt") || t8.milestoneHit === void 0 && (n7 = "milestoneHit") || t8.xpAwarded === void 0 && (n7 = "xpAwarded") || t8.newBadges === void 0 && (n7 = "newBadges") || t8.details === void 0 && (n7 = "details")) return i4.errors = [{ instancePath: o11, schemaPath: "#/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
3043
+ if (t8.id === void 0 && (n7 = "id") || t8.projectId === void 0 && (n7 = "projectId") || t8.startedAt === void 0 && (n7 = "startedAt") || t8.durationSeconds === void 0 && (n7 = "durationSeconds") || t8.description === void 0 && (n7 = "description") || t8.note === void 0 && (n7 = "note") || t8.artifactUrl === void 0 && (n7 = "artifactUrl") || t8.isFlowSession === void 0 && (n7 = "isFlowSession") || t8.loggedLate === void 0 && (n7 = "loggedLate") || t8.captureSource === void 0 && (n7 = "captureSource") || t8.localDay === void 0 && (n7 = "localDay") || t8.localWeekStart === void 0 && (n7 = "localWeekStart") || t8.voidedAt === void 0 && (n7 = "voidedAt") || t8.createdAt === void 0 && (n7 = "createdAt") || t8.updatedAt === void 0 && (n7 = "updatedAt") || t8.milestoneHit === void 0 && (n7 = "milestoneHit") || t8.xpAwarded === void 0 && (n7 = "xpAwarded") || t8.newBadges === void 0 && (n7 = "newBadges") || t8.details === void 0 && (n7 = "details")) return i4.errors = [{ instancePath: o12, schemaPath: "#/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
2858
3044
  if (t8.artifactUrl !== void 0) {
2859
3045
  let e4 = t8.artifactUrl, a5 = r2;
2860
- if (typeof e4 != "string" && e4 !== null) return i4.errors = [{ instancePath: o11 + "/artifactUrl", schemaPath: "#/properties/artifactUrl/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2861
- if (r2 === a5 && r2 === a5 && typeof e4 == "string" && !o4(e4)) return i4.errors = [{ instancePath: o11 + "/artifactUrl", schemaPath: "#/properties/artifactUrl/format", keyword: "format", params: { format: "uri" }, message: 'must match format "uri"' }], false;
3046
+ if (typeof e4 != "string" && e4 !== null) return i4.errors = [{ instancePath: o12 + "/artifactUrl", schemaPath: "#/properties/artifactUrl/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3047
+ if (r2 === a5 && r2 === a5 && typeof e4 == "string" && !o5(e4)) return i4.errors = [{ instancePath: o12 + "/artifactUrl", schemaPath: "#/properties/artifactUrl/format", keyword: "format", params: { format: "uri" }, message: 'must match format "uri"' }], false;
2862
3048
  var s7 = a5 === r2;
2863
3049
  } else var s7 = true;
2864
3050
  if (s7) {
2865
3051
  if (t8.captureSource !== void 0) {
2866
3052
  let e4 = t8.captureSource, a5 = r2;
2867
- if (typeof e4 != "string") return i4.errors = [{ instancePath: o11 + "/captureSource", schemaPath: "#/properties/captureSource/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2868
- if (!(e4 === "unrecorded" || e4 === "manual" || e4 === "timer" || e4 === "ai_text" || e4 === "voice" || e4 === "cli" || e4 === "agent")) return i4.errors = [{ instancePath: o11 + "/captureSource", schemaPath: "#/properties/captureSource/enum", keyword: "enum", params: { allowedValues: c3.properties.captureSource.enum }, message: "must be equal to one of the allowed values" }], false;
3053
+ if (typeof e4 != "string") return i4.errors = [{ instancePath: o12 + "/captureSource", schemaPath: "#/properties/captureSource/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3054
+ if (!(e4 === "unrecorded" || e4 === "manual" || e4 === "timer" || e4 === "ai_text" || e4 === "voice" || e4 === "cli" || e4 === "agent")) return i4.errors = [{ instancePath: o12 + "/captureSource", schemaPath: "#/properties/captureSource/enum", keyword: "enum", params: { allowedValues: c3.properties.captureSource.enum }, message: "must be equal to one of the allowed values" }], false;
2869
3055
  var s7 = a5 === r2;
2870
3056
  } else var s7 = true;
2871
3057
  if (s7) {
2872
3058
  if (t8.createdAt !== void 0) {
2873
3059
  let e4 = t8.createdAt, a5 = r2;
2874
3060
  if (r2 === a5 && r2 === a5) if (typeof e4 == "string") {
2875
- if (!e.validate(e4)) return i4.errors = [{ instancePath: o11 + "/createdAt", schemaPath: "#/properties/createdAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2876
- } else return i4.errors = [{ instancePath: o11 + "/createdAt", schemaPath: "#/properties/createdAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3061
+ if (!e.validate(e4)) return i4.errors = [{ instancePath: o12 + "/createdAt", schemaPath: "#/properties/createdAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
3062
+ } else return i4.errors = [{ instancePath: o12 + "/createdAt", schemaPath: "#/properties/createdAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2877
3063
  var s7 = a5 === r2;
2878
3064
  } else var s7 = true;
2879
3065
  if (s7) {
2880
3066
  if (t8.description !== void 0) {
2881
3067
  let e4 = t8.description, a5 = r2;
2882
- if (typeof e4 != "string" && e4 !== null) return i4.errors = [{ instancePath: o11 + "/description", schemaPath: "#/properties/description/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3068
+ if (typeof e4 != "string" && e4 !== null) return i4.errors = [{ instancePath: o12 + "/description", schemaPath: "#/properties/description/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2883
3069
  var s7 = a5 === r2;
2884
3070
  } else var s7 = true;
2885
3071
  if (s7) {
@@ -2890,61 +3076,61 @@ function i4(t8, { instancePath: o11 = "", parentData: w3, parentDataProperty: A2
2890
3076
  let m6 = e4.length;
2891
3077
  for (let d5 = 0; d5 < m6; d5++) {
2892
3078
  let f3 = r2;
2893
- if (typeof e4[d5] != "string") return i4.errors = [{ instancePath: o11 + "/details/" + d5, schemaPath: "#/properties/details/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3079
+ if (typeof e4[d5] != "string") return i4.errors = [{ instancePath: o12 + "/details/" + d5, schemaPath: "#/properties/details/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2894
3080
  var y3 = f3 === r2;
2895
3081
  if (!y3) break;
2896
3082
  }
2897
- } else return i4.errors = [{ instancePath: o11 + "/details", schemaPath: "#/properties/details/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
3083
+ } else return i4.errors = [{ instancePath: o12 + "/details", schemaPath: "#/properties/details/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
2898
3084
  var s7 = a5 === r2;
2899
3085
  } else var s7 = true;
2900
3086
  if (s7) {
2901
3087
  if (t8.durationSeconds !== void 0) {
2902
3088
  let e4 = t8.durationSeconds, a5 = r2;
2903
- if (!(typeof e4 == "number" && !(e4 % 1) && !isNaN(e4) && isFinite(e4))) return i4.errors = [{ instancePath: o11 + "/durationSeconds", schemaPath: "#/properties/durationSeconds/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
2904
- if (r2 === a5 && typeof e4 == "number" && isFinite(e4) && (e4 < 1 || isNaN(e4))) return i4.errors = [{ instancePath: o11 + "/durationSeconds", schemaPath: "#/properties/durationSeconds/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }], false;
3089
+ if (!(typeof e4 == "number" && !(e4 % 1) && !isNaN(e4) && isFinite(e4))) return i4.errors = [{ instancePath: o12 + "/durationSeconds", schemaPath: "#/properties/durationSeconds/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
3090
+ if (r2 === a5 && typeof e4 == "number" && isFinite(e4) && (e4 < 1 || isNaN(e4))) return i4.errors = [{ instancePath: o12 + "/durationSeconds", schemaPath: "#/properties/durationSeconds/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }], false;
2905
3091
  var s7 = a5 === r2;
2906
3092
  } else var s7 = true;
2907
3093
  if (s7) {
2908
3094
  if (t8.id !== void 0) {
2909
3095
  let e4 = t8.id, a5 = r2;
2910
3096
  if (r2 === a5 && r2 === a5) if (typeof e4 == "string") {
2911
- if (!a2.test(e4)) return i4.errors = [{ instancePath: o11 + "/id", schemaPath: "#/properties/id/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2912
- } else return i4.errors = [{ instancePath: o11 + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3097
+ if (!a2.test(e4)) return i4.errors = [{ instancePath: o12 + "/id", schemaPath: "#/properties/id/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
3098
+ } else return i4.errors = [{ instancePath: o12 + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2913
3099
  var s7 = a5 === r2;
2914
3100
  } else var s7 = true;
2915
3101
  if (s7) {
2916
3102
  if (t8.isFlowSession !== void 0) {
2917
3103
  let e4 = r2;
2918
- if (typeof t8.isFlowSession != "boolean") return i4.errors = [{ instancePath: o11 + "/isFlowSession", schemaPath: "#/properties/isFlowSession/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
3104
+ if (typeof t8.isFlowSession != "boolean") return i4.errors = [{ instancePath: o12 + "/isFlowSession", schemaPath: "#/properties/isFlowSession/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
2919
3105
  var s7 = e4 === r2;
2920
3106
  } else var s7 = true;
2921
3107
  if (s7) {
2922
3108
  if (t8.localDay !== void 0) {
2923
3109
  let e4 = t8.localDay, a5 = r2;
2924
3110
  if (r2 === a5 && r2 === a5) if (typeof e4 == "string") {
2925
- if (!t3.validate(e4)) return i4.errors = [{ instancePath: o11 + "/localDay", schemaPath: "#/properties/localDay/format", keyword: "format", params: { format: "date" }, message: 'must match format "date"' }], false;
2926
- } else return i4.errors = [{ instancePath: o11 + "/localDay", schemaPath: "#/properties/localDay/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3111
+ if (!t3.validate(e4)) return i4.errors = [{ instancePath: o12 + "/localDay", schemaPath: "#/properties/localDay/format", keyword: "format", params: { format: "date" }, message: 'must match format "date"' }], false;
3112
+ } else return i4.errors = [{ instancePath: o12 + "/localDay", schemaPath: "#/properties/localDay/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2927
3113
  var s7 = a5 === r2;
2928
3114
  } else var s7 = true;
2929
3115
  if (s7) {
2930
3116
  if (t8.localWeekStart !== void 0) {
2931
3117
  let e4 = t8.localWeekStart, a5 = r2;
2932
3118
  if (r2 === a5 && r2 === a5) if (typeof e4 == "string") {
2933
- if (!t3.validate(e4)) return i4.errors = [{ instancePath: o11 + "/localWeekStart", schemaPath: "#/properties/localWeekStart/format", keyword: "format", params: { format: "date" }, message: 'must match format "date"' }], false;
2934
- } else return i4.errors = [{ instancePath: o11 + "/localWeekStart", schemaPath: "#/properties/localWeekStart/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3119
+ if (!t3.validate(e4)) return i4.errors = [{ instancePath: o12 + "/localWeekStart", schemaPath: "#/properties/localWeekStart/format", keyword: "format", params: { format: "date" }, message: 'must match format "date"' }], false;
3120
+ } else return i4.errors = [{ instancePath: o12 + "/localWeekStart", schemaPath: "#/properties/localWeekStart/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2935
3121
  var s7 = a5 === r2;
2936
3122
  } else var s7 = true;
2937
3123
  if (s7) {
2938
3124
  if (t8.loggedLate !== void 0) {
2939
3125
  let e4 = r2;
2940
- if (typeof t8.loggedLate != "boolean") return i4.errors = [{ instancePath: o11 + "/loggedLate", schemaPath: "#/properties/loggedLate/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
3126
+ if (typeof t8.loggedLate != "boolean") return i4.errors = [{ instancePath: o12 + "/loggedLate", schemaPath: "#/properties/loggedLate/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
2941
3127
  var s7 = e4 === r2;
2942
3128
  } else var s7 = true;
2943
3129
  if (s7) {
2944
3130
  if (t8.milestoneHit !== void 0) {
2945
3131
  let e4 = t8.milestoneHit, a5 = r2;
2946
- if (!(typeof e4 == "number" && !(e4 % 1) && !isNaN(e4) && isFinite(e4)) && e4 !== null) return i4.errors = [{ instancePath: o11 + "/milestoneHit", schemaPath: "#/properties/milestoneHit/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
2947
- if (!(e4 === 100 || e4 === 500 || e4 === 1e3 || e4 === null)) return i4.errors = [{ instancePath: o11 + "/milestoneHit", schemaPath: "#/properties/milestoneHit/enum", keyword: "enum", params: { allowedValues: c3.properties.milestoneHit.enum }, message: "must be equal to one of the allowed values" }], false;
3132
+ if (!(typeof e4 == "number" && !(e4 % 1) && !isNaN(e4) && isFinite(e4)) && e4 !== null) return i4.errors = [{ instancePath: o12 + "/milestoneHit", schemaPath: "#/properties/milestoneHit/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
3133
+ if (!(e4 === 100 || e4 === 500 || e4 === 1e3 || e4 === null)) return i4.errors = [{ instancePath: o12 + "/milestoneHit", schemaPath: "#/properties/milestoneHit/enum", keyword: "enum", params: { allowedValues: c3.properties.milestoneHit.enum }, message: "must be equal to one of the allowed values" }], false;
2948
3134
  var s7 = a5 === r2;
2949
3135
  } else var s7 = true;
2950
3136
  if (s7) {
@@ -2955,54 +3141,54 @@ function i4(t8, { instancePath: o11 = "", parentData: w3, parentDataProperty: A2
2955
3141
  let m6 = e4.length;
2956
3142
  for (let d5 = 0; d5 < m6; d5++) {
2957
3143
  let f3 = r2;
2958
- if (typeof e4[d5] != "string") return i4.errors = [{ instancePath: o11 + "/newBadges/" + d5, schemaPath: "#/properties/newBadges/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3144
+ if (typeof e4[d5] != "string") return i4.errors = [{ instancePath: o12 + "/newBadges/" + d5, schemaPath: "#/properties/newBadges/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2959
3145
  var g = f3 === r2;
2960
3146
  if (!g) break;
2961
3147
  }
2962
- } else return i4.errors = [{ instancePath: o11 + "/newBadges", schemaPath: "#/properties/newBadges/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
3148
+ } else return i4.errors = [{ instancePath: o12 + "/newBadges", schemaPath: "#/properties/newBadges/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
2963
3149
  var s7 = a5 === r2;
2964
3150
  } else var s7 = true;
2965
3151
  if (s7) {
2966
3152
  if (t8.note !== void 0) {
2967
3153
  let e4 = t8.note, a5 = r2;
2968
- if (typeof e4 != "string" && e4 !== null) return i4.errors = [{ instancePath: o11 + "/note", schemaPath: "#/properties/note/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3154
+ if (typeof e4 != "string" && e4 !== null) return i4.errors = [{ instancePath: o12 + "/note", schemaPath: "#/properties/note/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2969
3155
  var s7 = a5 === r2;
2970
3156
  } else var s7 = true;
2971
3157
  if (s7) {
2972
3158
  if (t8.projectId !== void 0) {
2973
3159
  let e4 = t8.projectId, a5 = r2;
2974
3160
  if (r2 === a5 && r2 === a5) if (typeof e4 == "string") {
2975
- if (!a2.test(e4)) return i4.errors = [{ instancePath: o11 + "/projectId", schemaPath: "#/properties/projectId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
2976
- } else return i4.errors = [{ instancePath: o11 + "/projectId", schemaPath: "#/properties/projectId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3161
+ if (!a2.test(e4)) return i4.errors = [{ instancePath: o12 + "/projectId", schemaPath: "#/properties/projectId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
3162
+ } else return i4.errors = [{ instancePath: o12 + "/projectId", schemaPath: "#/properties/projectId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2977
3163
  var s7 = a5 === r2;
2978
3164
  } else var s7 = true;
2979
3165
  if (s7) {
2980
3166
  if (t8.startedAt !== void 0) {
2981
3167
  let e4 = t8.startedAt, a5 = r2;
2982
3168
  if (r2 === a5 && r2 === a5) if (typeof e4 == "string") {
2983
- if (!e.validate(e4)) return i4.errors = [{ instancePath: o11 + "/startedAt", schemaPath: "#/properties/startedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2984
- } else return i4.errors = [{ instancePath: o11 + "/startedAt", schemaPath: "#/properties/startedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3169
+ if (!e.validate(e4)) return i4.errors = [{ instancePath: o12 + "/startedAt", schemaPath: "#/properties/startedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
3170
+ } else return i4.errors = [{ instancePath: o12 + "/startedAt", schemaPath: "#/properties/startedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2985
3171
  var s7 = a5 === r2;
2986
3172
  } else var s7 = true;
2987
3173
  if (s7) {
2988
3174
  if (t8.updatedAt !== void 0) {
2989
3175
  let e4 = t8.updatedAt, a5 = r2;
2990
3176
  if (r2 === a5 && r2 === a5) if (typeof e4 == "string") {
2991
- if (!e.validate(e4)) return i4.errors = [{ instancePath: o11 + "/updatedAt", schemaPath: "#/properties/updatedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
2992
- } else return i4.errors = [{ instancePath: o11 + "/updatedAt", schemaPath: "#/properties/updatedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3177
+ if (!e.validate(e4)) return i4.errors = [{ instancePath: o12 + "/updatedAt", schemaPath: "#/properties/updatedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
3178
+ } else return i4.errors = [{ instancePath: o12 + "/updatedAt", schemaPath: "#/properties/updatedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2993
3179
  var s7 = a5 === r2;
2994
3180
  } else var s7 = true;
2995
3181
  if (s7) {
2996
3182
  if (t8.voidedAt !== void 0) {
2997
3183
  let e4 = t8.voidedAt, a5 = r2;
2998
- if (typeof e4 != "string" && e4 !== null) return i4.errors = [{ instancePath: o11 + "/voidedAt", schemaPath: "#/properties/voidedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
2999
- if (r2 === a5 && r2 === a5 && typeof e4 == "string" && !e.validate(e4)) return i4.errors = [{ instancePath: o11 + "/voidedAt", schemaPath: "#/properties/voidedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
3184
+ if (typeof e4 != "string" && e4 !== null) return i4.errors = [{ instancePath: o12 + "/voidedAt", schemaPath: "#/properties/voidedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3185
+ if (r2 === a5 && r2 === a5 && typeof e4 == "string" && !e.validate(e4)) return i4.errors = [{ instancePath: o12 + "/voidedAt", schemaPath: "#/properties/voidedAt/format", keyword: "format", params: { format: "date-time" }, message: 'must match format "date-time"' }], false;
3000
3186
  var s7 = a5 === r2;
3001
3187
  } else var s7 = true;
3002
3188
  if (s7) if (t8.xpAwarded !== void 0) {
3003
3189
  let e4 = t8.xpAwarded, a5 = r2;
3004
- if (!(typeof e4 == "number" && !(e4 % 1) && !isNaN(e4) && isFinite(e4))) return i4.errors = [{ instancePath: o11 + "/xpAwarded", schemaPath: "#/properties/xpAwarded/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
3005
- if (r2 === a5 && typeof e4 == "number" && isFinite(e4) && (e4 < 0 || isNaN(e4))) return i4.errors = [{ instancePath: o11 + "/xpAwarded", schemaPath: "#/properties/xpAwarded/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }], false;
3190
+ if (!(typeof e4 == "number" && !(e4 % 1) && !isNaN(e4) && isFinite(e4))) return i4.errors = [{ instancePath: o12 + "/xpAwarded", schemaPath: "#/properties/xpAwarded/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
3191
+ if (r2 === a5 && typeof e4 == "number" && isFinite(e4) && (e4 < 0 || isNaN(e4))) return i4.errors = [{ instancePath: o12 + "/xpAwarded", schemaPath: "#/properties/xpAwarded/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }], false;
3006
3192
  var s7 = a5 === r2;
3007
3193
  } else var s7 = true;
3008
3194
  }
@@ -3022,12 +3208,12 @@ function i4(t8, { instancePath: o11 = "", parentData: w3, parentDataProperty: A2
3022
3208
  }
3023
3209
  }
3024
3210
  }
3025
- } else return i4.errors = [{ instancePath: o11, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3026
- return i4.errors = h10, r2 === 0;
3211
+ } else return i4.errors = [{ instancePath: o12, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3212
+ return i4.errors = h11, r2 === 0;
3027
3213
  }
3028
3214
 
3029
3215
  // ../../packages/contracts/src/generated/validators/postV1AiLogConfirm200.js
3030
- function o7(r2, { instancePath: s7 = "", parentData: m6, parentDataProperty: u4, rootData: n7 = r2 } = {}) {
3216
+ function o8(r2, { instancePath: s7 = "", parentData: m6, parentDataProperty: u4, rootData: n7 = r2 } = {}) {
3031
3217
  let e4 = null, t8 = 0, d5 = t8;
3032
3218
  i(r2, { instancePath: s7, parentData: m6, parentDataProperty: u4, rootData: n7 }) || (e4 = e4 === null ? i.errors : e4.concat(i.errors), t8 = e4.length);
3033
3219
  var f3 = d5 === t8;
@@ -3035,14 +3221,14 @@ function o7(r2, { instancePath: s7 = "", parentData: m6, parentDataProperty: u4,
3035
3221
  let p6 = t8;
3036
3222
  if (t8 === p6) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
3037
3223
  let l4;
3038
- if (r2.data === void 0 && (l4 = "data")) return o7.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
3224
+ if (r2.data === void 0 && (l4 = "data")) return o8.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
3039
3225
  r2.data !== void 0 && (i4(r2.data, { instancePath: s7 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (e4 = e4 === null ? i4.errors : e4.concat(i4.errors), t8 = e4.length));
3040
- } else return o7.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3226
+ } else return o8.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3041
3227
  var f3 = p6 === t8;
3042
3228
  }
3043
- return o7.errors = e4, t8 === 0;
3229
+ return o8.errors = e4, t8 === 0;
3044
3230
  }
3045
- var h4 = o7;
3231
+ var h5 = o8;
3046
3232
 
3047
3233
  // ../../packages/contracts/src/generated/endpoints/postV1AiLogConfirm.ts
3048
3234
  var postV1AiLogConfirm = {
@@ -3051,28 +3237,28 @@ var postV1AiLogConfirm = {
3051
3237
  operation: "POST /v1/ai/log/confirm",
3052
3238
  revision: contractRevision,
3053
3239
  responses: {
3054
- 200: { mediaType: "application/json", schemaId: "urn:flowmind:postV1AiLogConfirm:200", validate: h4 }
3240
+ 200: { mediaType: "application/json", schemaId: "urn:flowmind:postV1AiLogConfirm:200", validate: h5 }
3055
3241
  },
3056
3242
  error: { mediaType: "application/json", schemaId: "ApiErrorEnvelope", validate: N }
3057
3243
  };
3058
3244
 
3059
3245
  // ../../packages/contracts/src/generated/validators/postV1TimeEntries200.js
3060
- function s4(r2, { instancePath: o11 = "", parentData: m6, parentDataProperty: u4, rootData: n7 = r2 } = {}) {
3246
+ function s4(r2, { instancePath: o12 = "", parentData: m6, parentDataProperty: u4, rootData: n7 = r2 } = {}) {
3061
3247
  let e4 = null, t8 = 0, d5 = t8;
3062
- i(r2, { instancePath: o11, parentData: m6, parentDataProperty: u4, rootData: n7 }) || (e4 = e4 === null ? i.errors : e4.concat(i.errors), t8 = e4.length);
3248
+ i(r2, { instancePath: o12, parentData: m6, parentDataProperty: u4, rootData: n7 }) || (e4 = e4 === null ? i.errors : e4.concat(i.errors), t8 = e4.length);
3063
3249
  var f3 = d5 === t8;
3064
3250
  if (f3) {
3065
3251
  let p6 = t8;
3066
3252
  if (t8 === p6) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
3067
3253
  let l4;
3068
- if (r2.data === void 0 && (l4 = "data")) return s4.errors = [{ instancePath: o11, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
3069
- r2.data !== void 0 && (i4(r2.data, { instancePath: o11 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (e4 = e4 === null ? i4.errors : e4.concat(i4.errors), t8 = e4.length));
3070
- } else return s4.errors = [{ instancePath: o11, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3254
+ if (r2.data === void 0 && (l4 = "data")) return s4.errors = [{ instancePath: o12, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
3255
+ r2.data !== void 0 && (i4(r2.data, { instancePath: o12 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (e4 = e4 === null ? i4.errors : e4.concat(i4.errors), t8 = e4.length));
3256
+ } else return s4.errors = [{ instancePath: o12, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3071
3257
  var f3 = p6 === t8;
3072
3258
  }
3073
3259
  return s4.errors = e4, t8 === 0;
3074
3260
  }
3075
- var h5 = s4;
3261
+ var h6 = s4;
3076
3262
 
3077
3263
  // ../../packages/contracts/src/generated/endpoints/postV1TimeEntries.ts
3078
3264
  var postV1TimeEntries = {
@@ -3081,7 +3267,7 @@ var postV1TimeEntries = {
3081
3267
  operation: "POST /v1/time-entries/",
3082
3268
  revision: contractRevision,
3083
3269
  responses: {
3084
- 200: { mediaType: "application/json", schemaId: "urn:flowmind:postV1TimeEntries:200", validate: h5 }
3270
+ 200: { mediaType: "application/json", schemaId: "urn:flowmind:postV1TimeEntries:200", validate: h6 }
3085
3271
  },
3086
3272
  error: { mediaType: "application/json", schemaId: "ApiErrorEnvelope", validate: N }
3087
3273
  };
@@ -3095,32 +3281,32 @@ function p3(e4, { instancePath: i5 = "", parentData: g, parentDataProperty: b4,
3095
3281
  if (e4.name === void 0 && (l4 = "name") || e4.totalHours === void 0 && (l4 = "totalHours") || e4.color === void 0 && (l4 = "color") || e4.icon === void 0 && (l4 = "icon")) return p3.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
3096
3282
  {
3097
3283
  let y3 = r2;
3098
- for (let o11 in e4) if (!(o11 === "color" || o11 === "icon" || o11 === "name" || o11 === "totalHours")) {
3099
- return p3.errors = [{ instancePath: i5, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o11 }, message: "must NOT have additional properties" }], false;
3284
+ for (let o12 in e4) if (!(o12 === "color" || o12 === "icon" || o12 === "name" || o12 === "totalHours")) {
3285
+ return p3.errors = [{ instancePath: i5, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o12 }, message: "must NOT have additional properties" }], false;
3100
3286
  break;
3101
3287
  }
3102
3288
  if (y3 === r2) {
3103
3289
  if (e4.color !== void 0) {
3104
- let o11 = r2;
3290
+ let o12 = r2;
3105
3291
  if (typeof e4.color != "string") return p3.errors = [{ instancePath: i5 + "/color", schemaPath: "#/properties/color/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3106
- var s7 = o11 === r2;
3292
+ var s7 = o12 === r2;
3107
3293
  } else var s7 = true;
3108
3294
  if (s7) {
3109
3295
  if (e4.icon !== void 0) {
3110
- let o11 = r2;
3296
+ let o12 = r2;
3111
3297
  if (typeof e4.icon != "string") return p3.errors = [{ instancePath: i5 + "/icon", schemaPath: "#/properties/icon/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3112
- var s7 = o11 === r2;
3298
+ var s7 = o12 === r2;
3113
3299
  } else var s7 = true;
3114
3300
  if (s7) {
3115
3301
  if (e4.name !== void 0) {
3116
- let o11 = r2;
3302
+ let o12 = r2;
3117
3303
  if (typeof e4.name != "string") return p3.errors = [{ instancePath: i5 + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3118
- var s7 = o11 === r2;
3304
+ var s7 = o12 === r2;
3119
3305
  } else var s7 = true;
3120
3306
  if (s7) if (e4.totalHours !== void 0) {
3121
- let o11 = e4.totalHours, f3 = r2;
3122
- if (r2 === f3) if (typeof o11 == "number" && isFinite(o11)) {
3123
- if (o11 < 0 || isNaN(o11)) return p3.errors = [{ instancePath: i5 + "/totalHours", schemaPath: "#/properties/totalHours/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }], false;
3307
+ let o12 = e4.totalHours, f3 = r2;
3308
+ if (r2 === f3) if (typeof o12 == "number" && isFinite(o12)) {
3309
+ if (o12 < 0 || isNaN(o12)) return p3.errors = [{ instancePath: i5 + "/totalHours", schemaPath: "#/properties/totalHours/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }], false;
3124
3310
  } else return p3.errors = [{ instancePath: i5 + "/totalHours", schemaPath: "#/properties/totalHours/type", keyword: "type", params: { type: "number" }, message: "must be number" }], false;
3125
3311
  var s7 = f3 === r2;
3126
3312
  } else var s7 = true;
@@ -3134,8 +3320,8 @@ function p3(e4, { instancePath: i5 = "", parentData: g, parentDataProperty: b4,
3134
3320
  function n2(e4, { instancePath: i5 = "", parentData: g, parentDataProperty: b4, rootData: c5 = e4 } = {}) {
3135
3321
  let m6 = null, r2 = 0;
3136
3322
  if (r2 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
3137
- let o11;
3138
- if (e4.totalHours === void 0 && (o11 = "totalHours") || e4.deepWorkHours === void 0 && (o11 = "deepWorkHours") || e4.totalEntries === void 0 && (o11 = "totalEntries") || e4.topProjects === void 0 && (o11 = "topProjects") || e4.topRoutines === void 0 && (o11 = "topRoutines") || e4.level === void 0 && (o11 = "level") || e4.levelName === void 0 && (o11 = "levelName") || e4.totalXp === void 0 && (o11 = "totalXp") || e4.memberSince === void 0 && (o11 = "memberSince")) return n2.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: o11 }, message: "must have required property '" + o11 + "'" }], false;
3323
+ let o12;
3324
+ if (e4.totalHours === void 0 && (o12 = "totalHours") || e4.deepWorkHours === void 0 && (o12 = "deepWorkHours") || e4.totalEntries === void 0 && (o12 = "totalEntries") || e4.topProjects === void 0 && (o12 = "topProjects") || e4.topRoutines === void 0 && (o12 = "topRoutines") || e4.level === void 0 && (o12 = "level") || e4.levelName === void 0 && (o12 = "levelName") || e4.totalXp === void 0 && (o12 = "totalXp") || e4.memberSince === void 0 && (o12 = "memberSince")) return n2.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: o12 }, message: "must have required property '" + o12 + "'" }], false;
3139
3325
  {
3140
3326
  let f3 = r2;
3141
3327
  for (let t8 in e4) if (!t4.call(H.properties, t8)) {
@@ -3176,8 +3362,8 @@ function n2(e4, { instancePath: i5 = "", parentData: g, parentDataProperty: b4,
3176
3362
  let t8 = e4.topProjects, a5 = r2;
3177
3363
  if (r2 === a5) if (Array.isArray(t8)) {
3178
3364
  var l4 = true;
3179
- let h10 = t8.length;
3180
- for (let u4 = 0; u4 < h10; u4++) {
3365
+ let h11 = t8.length;
3366
+ for (let u4 = 0; u4 < h11; u4++) {
3181
3367
  let P4 = r2;
3182
3368
  p3(t8[u4], { instancePath: i5 + "/topProjects/" + u4, parentData: t8, parentDataProperty: u4, rootData: c5 }) || (m6 = m6 === null ? p3.errors : m6.concat(p3.errors), r2 = m6.length);
3183
3369
  var l4 = P4 === r2;
@@ -3191,8 +3377,8 @@ function n2(e4, { instancePath: i5 = "", parentData: g, parentDataProperty: b4,
3191
3377
  let t8 = e4.topRoutines, a5 = r2;
3192
3378
  if (r2 === a5) if (Array.isArray(t8)) {
3193
3379
  var y3 = true;
3194
- let h10 = t8.length;
3195
- for (let u4 = 0; u4 < h10; u4++) {
3380
+ let h11 = t8.length;
3381
+ for (let u4 = 0; u4 < h11; u4++) {
3196
3382
  let P4 = r2;
3197
3383
  p3(t8[u4], { instancePath: i5 + "/topRoutines/" + u4, parentData: t8, parentDataProperty: u4, rootData: c5 }) || (m6 = m6 === null ? p3.errors : m6.concat(p3.errors), r2 = m6.length);
3198
3384
  var y3 = P4 === r2;
@@ -3264,11 +3450,11 @@ var getV1MePublicStats = {
3264
3450
  };
3265
3451
 
3266
3452
  // ../../packages/contracts/src/generated/validators/getV1MeStreak200.js
3267
- function t7(r2, { instancePath: s7 = "", parentData: d5, parentDataProperty: h10, rootData: f3 = r2 } = {}) {
3453
+ function t7(r2, { instancePath: s7 = "", parentData: d5, parentDataProperty: h11, rootData: f3 = r2 } = {}) {
3268
3454
  let m6 = null, i5 = 0;
3269
3455
  if (i5 === 0) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
3270
- let o11;
3271
- if (r2.currentStreak === void 0 && (o11 = "currentStreak") || r2.shields === void 0 && (o11 = "shields") || r2.maxShields === void 0 && (o11 = "maxShields") || r2.nextShieldAt === void 0 && (o11 = "nextShieldAt")) return t7.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: o11 }, message: "must have required property '" + o11 + "'" }], false;
3456
+ let o12;
3457
+ if (r2.currentStreak === void 0 && (o12 = "currentStreak") || r2.shields === void 0 && (o12 = "shields") || r2.maxShields === void 0 && (o12 = "maxShields") || r2.nextShieldAt === void 0 && (o12 = "nextShieldAt")) return t7.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: o12 }, message: "must have required property '" + o12 + "'" }], false;
3272
3458
  {
3273
3459
  let p6 = i5;
3274
3460
  for (let e4 in r2) if (!(e4 === "currentStreak" || e4 === "maxShields" || e4 === "nextShieldAt" || e4 === "shields")) {
@@ -3309,18 +3495,18 @@ function t7(r2, { instancePath: s7 = "", parentData: d5, parentDataProperty: h10
3309
3495
  } else return t7.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3310
3496
  return t7.errors = m6, i5 === 0;
3311
3497
  }
3312
- function l3(r2, { instancePath: s7 = "", parentData: d5, parentDataProperty: h10, rootData: f3 = r2 } = {}) {
3498
+ function l3(r2, { instancePath: s7 = "", parentData: d5, parentDataProperty: h11, rootData: f3 = r2 } = {}) {
3313
3499
  let m6 = null, i5 = 0, n7 = i5;
3314
- i(r2, { instancePath: s7, parentData: d5, parentDataProperty: h10, rootData: f3 }) || (m6 = m6 === null ? i.errors : m6.concat(i.errors), i5 = m6.length);
3315
- var o11 = n7 === i5;
3316
- if (o11) {
3500
+ i(r2, { instancePath: s7, parentData: d5, parentDataProperty: h11, rootData: f3 }) || (m6 = m6 === null ? i.errors : m6.concat(i.errors), i5 = m6.length);
3501
+ var o12 = n7 === i5;
3502
+ if (o12) {
3317
3503
  let p6 = i5;
3318
3504
  if (i5 === p6) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
3319
3505
  let a5;
3320
3506
  if (r2.data === void 0 && (a5 = "data")) return l3.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: a5 }, message: "must have required property '" + a5 + "'" }], false;
3321
3507
  r2.data !== void 0 && (t7(r2.data, { instancePath: s7 + "/data", parentData: r2, parentDataProperty: "data", rootData: f3 }) || (m6 = m6 === null ? t7.errors : m6.concat(t7.errors), i5 = m6.length));
3322
3508
  } else return l3.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3323
- var o11 = p6 === i5;
3509
+ var o12 = p6 === i5;
3324
3510
  }
3325
3511
  return l3.errors = m6, i5 === 0;
3326
3512
  }
@@ -3342,8 +3528,8 @@ var getV1MeStreak = {
3342
3528
  function n3(r2, { instancePath: t8 = "", parentData: v6, parentDataProperty: y3, rootData: f3 = r2 } = {}) {
3343
3529
  let m6 = null, s7 = 0;
3344
3530
  if (s7 === 0) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
3345
- let o11;
3346
- if (r2.totalXp === void 0 && (o11 = "totalXp") || r2.level === void 0 && (o11 = "level") || r2.levelName === void 0 && (o11 = "levelName") || r2.xpInCurrentLevel === void 0 && (o11 = "xpInCurrentLevel") || r2.xpToNextLevel === void 0 && (o11 = "xpToNextLevel") || r2.progressPercent === void 0 && (o11 = "progressPercent") || r2.nextLevelName === void 0 && (o11 = "nextLevelName")) return n3.errors = [{ instancePath: t8, schemaPath: "#/required", keyword: "required", params: { missingProperty: o11 }, message: "must have required property '" + o11 + "'" }], false;
3531
+ let o12;
3532
+ if (r2.totalXp === void 0 && (o12 = "totalXp") || r2.level === void 0 && (o12 = "level") || r2.levelName === void 0 && (o12 = "levelName") || r2.xpInCurrentLevel === void 0 && (o12 = "xpInCurrentLevel") || r2.xpToNextLevel === void 0 && (o12 = "xpToNextLevel") || r2.progressPercent === void 0 && (o12 = "progressPercent") || r2.nextLevelName === void 0 && (o12 = "nextLevelName")) return n3.errors = [{ instancePath: t8, schemaPath: "#/required", keyword: "required", params: { missingProperty: o12 }, message: "must have required property '" + o12 + "'" }], false;
3347
3533
  {
3348
3534
  let l4 = s7;
3349
3535
  for (let e4 in r2) if (!(e4 === "level" || e4 === "levelName" || e4 === "nextLevelName" || e4 === "progressPercent" || e4 === "totalXp" || e4 === "xpInCurrentLevel" || e4 === "xpToNextLevel")) {
@@ -3412,19 +3598,19 @@ function n3(r2, { instancePath: t8 = "", parentData: v6, parentDataProperty: y3,
3412
3598
  function p4(r2, { instancePath: t8 = "", parentData: v6, parentDataProperty: y3, rootData: f3 = r2 } = {}) {
3413
3599
  let m6 = null, s7 = 0, i5 = s7;
3414
3600
  i(r2, { instancePath: t8, parentData: v6, parentDataProperty: y3, rootData: f3 }) || (m6 = m6 === null ? i.errors : m6.concat(i.errors), s7 = m6.length);
3415
- var o11 = i5 === s7;
3416
- if (o11) {
3601
+ var o12 = i5 === s7;
3602
+ if (o12) {
3417
3603
  let l4 = s7;
3418
3604
  if (s7 === l4) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
3419
3605
  let a5;
3420
3606
  if (r2.data === void 0 && (a5 = "data")) return p4.errors = [{ instancePath: t8, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: a5 }, message: "must have required property '" + a5 + "'" }], false;
3421
3607
  r2.data !== void 0 && (n3(r2.data, { instancePath: t8 + "/data", parentData: r2, parentDataProperty: "data", rootData: f3 }) || (m6 = m6 === null ? n3.errors : m6.concat(n3.errors), s7 = m6.length));
3422
3608
  } else return p4.errors = [{ instancePath: t8, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3423
- var o11 = l4 === s7;
3609
+ var o12 = l4 === s7;
3424
3610
  }
3425
3611
  return p4.errors = m6, s7 === 0;
3426
3612
  }
3427
- var h6 = p4;
3613
+ var h7 = p4;
3428
3614
 
3429
3615
  // ../../packages/contracts/src/generated/endpoints/getV1XpSummary.ts
3430
3616
  var getV1XpSummary = {
@@ -3433,14 +3619,14 @@ var getV1XpSummary = {
3433
3619
  operation: "GET /v1/xp/summary",
3434
3620
  revision: contractRevision,
3435
3621
  responses: {
3436
- 200: { mediaType: "application/json", schemaId: "urn:flowmind:getV1XpSummary:200", validate: h6 }
3622
+ 200: { mediaType: "application/json", schemaId: "urn:flowmind:getV1XpSummary:200", validate: h7 }
3437
3623
  },
3438
3624
  error: { mediaType: "application/json", schemaId: "ApiErrorEnvelope", validate: N }
3439
3625
  };
3440
3626
 
3441
3627
  // ../../packages/contracts/src/generated/validators/getV1MeBadges200.js
3442
- function p5(e4, { instancePath: i5 = "", parentData: h10, parentDataProperty: g, rootData: f3 = e4 } = {}) {
3443
- let o11 = null, r2 = 0;
3628
+ function p5(e4, { instancePath: i5 = "", parentData: h11, parentDataProperty: g, rootData: f3 = e4 } = {}) {
3629
+ let o12 = null, r2 = 0;
3444
3630
  if (r2 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
3445
3631
  let n7;
3446
3632
  if (e4.id === void 0 && (n7 = "id") || e4.name === void 0 && (n7 = "name") || e4.description === void 0 && (n7 = "description") || e4.icon === void 0 && (n7 = "icon") || e4.threshold === void 0 && (n7 = "threshold") || e4.earnedAt === void 0 && (n7 = "earnedAt")) return p5.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
@@ -3495,10 +3681,10 @@ function p5(e4, { instancePath: i5 = "", parentData: h10, parentDataProperty: g,
3495
3681
  }
3496
3682
  }
3497
3683
  } else return p5.errors = [{ instancePath: i5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3498
- return p5.errors = o11, r2 === 0;
3684
+ return p5.errors = o12, r2 === 0;
3499
3685
  }
3500
- function m5(e4, { instancePath: i5 = "", parentData: h10, parentDataProperty: g, rootData: f3 = e4 } = {}) {
3501
- let o11 = null, r2 = 0;
3686
+ function m5(e4, { instancePath: i5 = "", parentData: h11, parentDataProperty: g, rootData: f3 = e4 } = {}) {
3687
+ let o12 = null, r2 = 0;
3502
3688
  if (r2 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
3503
3689
  let l4;
3504
3690
  if (e4.badges === void 0 && (l4 = "badges") || e4.total === void 0 && (l4 = "total")) return m5.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
@@ -3516,7 +3702,7 @@ function m5(e4, { instancePath: i5 = "", parentData: h10, parentDataProperty: g,
3516
3702
  let b4 = t8.length;
3517
3703
  for (let u4 = 0; u4 < b4; u4++) {
3518
3704
  let P4 = r2;
3519
- p5(t8[u4], { instancePath: i5 + "/badges/" + u4, parentData: t8, parentDataProperty: u4, rootData: f3 }) || (o11 = o11 === null ? p5.errors : o11.concat(p5.errors), r2 = o11.length);
3705
+ p5(t8[u4], { instancePath: i5 + "/badges/" + u4, parentData: t8, parentDataProperty: u4, rootData: f3 }) || (o12 = o12 === null ? p5.errors : o12.concat(p5.errors), r2 = o12.length);
3520
3706
  var a5 = P4 === r2;
3521
3707
  if (!a5) break;
3522
3708
  }
@@ -3532,22 +3718,22 @@ function m5(e4, { instancePath: i5 = "", parentData: h10, parentDataProperty: g,
3532
3718
  }
3533
3719
  }
3534
3720
  } else return m5.errors = [{ instancePath: i5, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3535
- return m5.errors = o11, r2 === 0;
3721
+ return m5.errors = o12, r2 === 0;
3536
3722
  }
3537
- function y(e4, { instancePath: i5 = "", parentData: h10, parentDataProperty: g, rootData: f3 = e4 } = {}) {
3538
- let o11 = null, r2 = 0, a5 = r2;
3539
- i(e4, { instancePath: i5, parentData: h10, parentDataProperty: g, rootData: f3 }) || (o11 = o11 === null ? i.errors : o11.concat(i.errors), r2 = o11.length);
3723
+ function y(e4, { instancePath: i5 = "", parentData: h11, parentDataProperty: g, rootData: f3 = e4 } = {}) {
3724
+ let o12 = null, r2 = 0, a5 = r2;
3725
+ i(e4, { instancePath: i5, parentData: h11, parentDataProperty: g, rootData: f3 }) || (o12 = o12 === null ? i.errors : o12.concat(i.errors), r2 = o12.length);
3540
3726
  var n7 = a5 === r2;
3541
3727
  if (n7) {
3542
3728
  let l4 = r2;
3543
3729
  if (r2 === l4) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
3544
3730
  let t8;
3545
3731
  if (e4.data === void 0 && (t8 = "data")) return y.errors = [{ instancePath: i5, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: t8 }, message: "must have required property '" + t8 + "'" }], false;
3546
- e4.data !== void 0 && (m5(e4.data, { instancePath: i5 + "/data", parentData: e4, parentDataProperty: "data", rootData: f3 }) || (o11 = o11 === null ? m5.errors : o11.concat(m5.errors), r2 = o11.length));
3732
+ e4.data !== void 0 && (m5(e4.data, { instancePath: i5 + "/data", parentData: e4, parentDataProperty: "data", rootData: f3 }) || (o12 = o12 === null ? m5.errors : o12.concat(m5.errors), r2 = o12.length));
3547
3733
  } else return y.errors = [{ instancePath: i5, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3548
3734
  var n7 = l4 === r2;
3549
3735
  }
3550
- return y.errors = o11, r2 === 0;
3736
+ return y.errors = o12, r2 === 0;
3551
3737
  }
3552
3738
  var x3 = y;
3553
3739
 
@@ -3565,48 +3751,48 @@ var getV1MeBadges = {
3565
3751
 
3566
3752
  // ../../packages/contracts/src/generated/validators/getV1HourBank200.js
3567
3753
  var S2 = { additionalProperties: false, description: "Hour bank totals per routine/project", properties: { color: { nullable: true, type: "string" }, icon: { nullable: true, type: "string" }, id: { format: "uuid", type: "string" }, kind: { enum: ["routine", "project"], type: "string" }, name: { type: "string" }, recentDays: { items: { additionalProperties: false, properties: { date: { type: "string" }, seconds: { type: "number" } }, required: ["date", "seconds"], type: "object" }, type: "array" }, totalHours: { type: "number" }, totalSeconds: { type: "number" } }, required: ["id", "kind", "name", "color", "icon", "totalSeconds", "totalHours", "recentDays"], type: "object" };
3568
- function o8(r2, { instancePath: s7 = "", parentData: P4, parentDataProperty: w3, rootData: g = r2 } = {}) {
3754
+ function o9(r2, { instancePath: s7 = "", parentData: P4, parentDataProperty: w3, rootData: g = r2 } = {}) {
3569
3755
  let p6 = null, e4 = 0;
3570
3756
  if (e4 === 0) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
3571
3757
  let i5;
3572
- if (r2.id === void 0 && (i5 = "id") || r2.kind === void 0 && (i5 = "kind") || r2.name === void 0 && (i5 = "name") || r2.color === void 0 && (i5 = "color") || r2.icon === void 0 && (i5 = "icon") || r2.totalSeconds === void 0 && (i5 = "totalSeconds") || r2.totalHours === void 0 && (i5 = "totalHours") || r2.recentDays === void 0 && (i5 = "recentDays")) return o8.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
3758
+ if (r2.id === void 0 && (i5 = "id") || r2.kind === void 0 && (i5 = "kind") || r2.name === void 0 && (i5 = "name") || r2.color === void 0 && (i5 = "color") || r2.icon === void 0 && (i5 = "icon") || r2.totalSeconds === void 0 && (i5 = "totalSeconds") || r2.totalHours === void 0 && (i5 = "totalHours") || r2.recentDays === void 0 && (i5 = "recentDays")) return o9.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
3573
3759
  {
3574
3760
  let m6 = e4;
3575
3761
  for (let t8 in r2) if (!(t8 === "color" || t8 === "icon" || t8 === "id" || t8 === "kind" || t8 === "name" || t8 === "recentDays" || t8 === "totalHours" || t8 === "totalSeconds")) {
3576
- return o8.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t8 }, message: "must NOT have additional properties" }], false;
3762
+ return o9.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t8 }, message: "must NOT have additional properties" }], false;
3577
3763
  break;
3578
3764
  }
3579
3765
  if (m6 === e4) {
3580
3766
  if (r2.color !== void 0) {
3581
3767
  let t8 = r2.color, n7 = e4;
3582
- if (typeof t8 != "string" && t8 !== null) return o8.errors = [{ instancePath: s7 + "/color", schemaPath: "#/properties/color/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3768
+ if (typeof t8 != "string" && t8 !== null) return o9.errors = [{ instancePath: s7 + "/color", schemaPath: "#/properties/color/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3583
3769
  var a5 = n7 === e4;
3584
3770
  } else var a5 = true;
3585
3771
  if (a5) {
3586
3772
  if (r2.icon !== void 0) {
3587
3773
  let t8 = r2.icon, n7 = e4;
3588
- if (typeof t8 != "string" && t8 !== null) return o8.errors = [{ instancePath: s7 + "/icon", schemaPath: "#/properties/icon/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3774
+ if (typeof t8 != "string" && t8 !== null) return o9.errors = [{ instancePath: s7 + "/icon", schemaPath: "#/properties/icon/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3589
3775
  var a5 = n7 === e4;
3590
3776
  } else var a5 = true;
3591
3777
  if (a5) {
3592
3778
  if (r2.id !== void 0) {
3593
3779
  let t8 = r2.id, n7 = e4;
3594
3780
  if (e4 === n7 && e4 === n7) if (typeof t8 == "string") {
3595
- if (!a2.test(t8)) return o8.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
3596
- } else return o8.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3781
+ if (!a2.test(t8)) return o9.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
3782
+ } else return o9.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3597
3783
  var a5 = n7 === e4;
3598
3784
  } else var a5 = true;
3599
3785
  if (a5) {
3600
3786
  if (r2.kind !== void 0) {
3601
3787
  let t8 = r2.kind, n7 = e4;
3602
- if (typeof t8 != "string") return o8.errors = [{ instancePath: s7 + "/kind", schemaPath: "#/properties/kind/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3603
- if (!(t8 === "routine" || t8 === "project")) return o8.errors = [{ instancePath: s7 + "/kind", schemaPath: "#/properties/kind/enum", keyword: "enum", params: { allowedValues: S2.properties.kind.enum }, message: "must be equal to one of the allowed values" }], false;
3788
+ if (typeof t8 != "string") return o9.errors = [{ instancePath: s7 + "/kind", schemaPath: "#/properties/kind/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3789
+ if (!(t8 === "routine" || t8 === "project")) return o9.errors = [{ instancePath: s7 + "/kind", schemaPath: "#/properties/kind/enum", keyword: "enum", params: { allowedValues: S2.properties.kind.enum }, message: "must be equal to one of the allowed values" }], false;
3604
3790
  var a5 = n7 === e4;
3605
3791
  } else var a5 = true;
3606
3792
  if (a5) {
3607
3793
  if (r2.name !== void 0) {
3608
3794
  let t8 = e4;
3609
- if (typeof r2.name != "string") return o8.errors = [{ instancePath: s7 + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3795
+ if (typeof r2.name != "string") return o9.errors = [{ instancePath: s7 + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3610
3796
  var a5 = t8 === e4;
3611
3797
  } else var a5 = true;
3612
3798
  if (a5) {
@@ -3616,45 +3802,45 @@ function o8(r2, { instancePath: s7 = "", parentData: P4, parentDataProperty: w3,
3616
3802
  var f3 = true;
3617
3803
  let D2 = t8.length;
3618
3804
  for (let y3 = 0; y3 < D2; y3++) {
3619
- let d5 = t8[y3], _ = e4;
3620
- if (e4 === _) if (d5 && typeof d5 == "object" && !Array.isArray(d5)) {
3805
+ let d5 = t8[y3], _2 = e4;
3806
+ if (e4 === _2) if (d5 && typeof d5 == "object" && !Array.isArray(d5)) {
3621
3807
  let b4;
3622
- if (d5.date === void 0 && (b4 = "date") || d5.seconds === void 0 && (b4 = "seconds")) return o8.errors = [{ instancePath: s7 + "/recentDays/" + y3, schemaPath: "#/properties/recentDays/items/required", keyword: "required", params: { missingProperty: b4 }, message: "must have required property '" + b4 + "'" }], false;
3808
+ if (d5.date === void 0 && (b4 = "date") || d5.seconds === void 0 && (b4 = "seconds")) return o9.errors = [{ instancePath: s7 + "/recentDays/" + y3, schemaPath: "#/properties/recentDays/items/required", keyword: "required", params: { missingProperty: b4 }, message: "must have required property '" + b4 + "'" }], false;
3623
3809
  {
3624
3810
  let q2 = e4;
3625
3811
  for (let c5 in d5) if (!(c5 === "date" || c5 === "seconds")) {
3626
- return o8.errors = [{ instancePath: s7 + "/recentDays/" + y3, schemaPath: "#/properties/recentDays/items/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: c5 }, message: "must NOT have additional properties" }], false;
3812
+ return o9.errors = [{ instancePath: s7 + "/recentDays/" + y3, schemaPath: "#/properties/recentDays/items/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: c5 }, message: "must NOT have additional properties" }], false;
3627
3813
  break;
3628
3814
  }
3629
3815
  if (q2 === e4) {
3630
3816
  if (d5.date !== void 0) {
3631
3817
  let c5 = e4;
3632
- if (typeof d5.date != "string") return o8.errors = [{ instancePath: s7 + "/recentDays/" + y3 + "/date", schemaPath: "#/properties/recentDays/items/properties/date/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3818
+ if (typeof d5.date != "string") return o9.errors = [{ instancePath: s7 + "/recentDays/" + y3 + "/date", schemaPath: "#/properties/recentDays/items/properties/date/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
3633
3819
  var l4 = c5 === e4;
3634
3820
  } else var l4 = true;
3635
3821
  if (l4) if (d5.seconds !== void 0) {
3636
3822
  let c5 = d5.seconds, A2 = e4;
3637
- if (!(typeof c5 == "number" && isFinite(c5))) return o8.errors = [{ instancePath: s7 + "/recentDays/" + y3 + "/seconds", schemaPath: "#/properties/recentDays/items/properties/seconds/type", keyword: "type", params: { type: "number" }, message: "must be number" }], false;
3823
+ if (!(typeof c5 == "number" && isFinite(c5))) return o9.errors = [{ instancePath: s7 + "/recentDays/" + y3 + "/seconds", schemaPath: "#/properties/recentDays/items/properties/seconds/type", keyword: "type", params: { type: "number" }, message: "must be number" }], false;
3638
3824
  var l4 = A2 === e4;
3639
3825
  } else var l4 = true;
3640
3826
  }
3641
3827
  }
3642
- } else return o8.errors = [{ instancePath: s7 + "/recentDays/" + y3, schemaPath: "#/properties/recentDays/items/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3643
- var f3 = _ === e4;
3828
+ } else return o9.errors = [{ instancePath: s7 + "/recentDays/" + y3, schemaPath: "#/properties/recentDays/items/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3829
+ var f3 = _2 === e4;
3644
3830
  if (!f3) break;
3645
3831
  }
3646
- } else return o8.errors = [{ instancePath: s7 + "/recentDays", schemaPath: "#/properties/recentDays/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
3832
+ } else return o9.errors = [{ instancePath: s7 + "/recentDays", schemaPath: "#/properties/recentDays/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
3647
3833
  var a5 = n7 === e4;
3648
3834
  } else var a5 = true;
3649
3835
  if (a5) {
3650
3836
  if (r2.totalHours !== void 0) {
3651
3837
  let t8 = r2.totalHours, n7 = e4;
3652
- if (!(typeof t8 == "number" && isFinite(t8))) return o8.errors = [{ instancePath: s7 + "/totalHours", schemaPath: "#/properties/totalHours/type", keyword: "type", params: { type: "number" }, message: "must be number" }], false;
3838
+ if (!(typeof t8 == "number" && isFinite(t8))) return o9.errors = [{ instancePath: s7 + "/totalHours", schemaPath: "#/properties/totalHours/type", keyword: "type", params: { type: "number" }, message: "must be number" }], false;
3653
3839
  var a5 = n7 === e4;
3654
3840
  } else var a5 = true;
3655
3841
  if (a5) if (r2.totalSeconds !== void 0) {
3656
3842
  let t8 = r2.totalSeconds, n7 = e4;
3657
- if (!(typeof t8 == "number" && isFinite(t8))) return o8.errors = [{ instancePath: s7 + "/totalSeconds", schemaPath: "#/properties/totalSeconds/type", keyword: "type", params: { type: "number" }, message: "must be number" }], false;
3843
+ if (!(typeof t8 == "number" && isFinite(t8))) return o9.errors = [{ instancePath: s7 + "/totalSeconds", schemaPath: "#/properties/totalSeconds/type", keyword: "type", params: { type: "number" }, message: "must be number" }], false;
3658
3844
  var a5 = n7 === e4;
3659
3845
  } else var a5 = true;
3660
3846
  }
@@ -3665,8 +3851,8 @@ function o8(r2, { instancePath: s7 = "", parentData: P4, parentDataProperty: w3,
3665
3851
  }
3666
3852
  }
3667
3853
  }
3668
- } else return o8.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3669
- return o8.errors = p6, e4 === 0;
3854
+ } else return o9.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3855
+ return o9.errors = p6, e4 === 0;
3670
3856
  }
3671
3857
  function u3(r2, { instancePath: s7 = "", parentData: P4, parentDataProperty: w3, rootData: g = r2 } = {}) {
3672
3858
  let p6 = null, e4 = 0;
@@ -3686,7 +3872,7 @@ function u3(r2, { instancePath: s7 = "", parentData: P4, parentDataProperty: w3,
3686
3872
  let n7 = i5.length;
3687
3873
  for (let v6 = 0; v6 < n7; v6++) {
3688
3874
  let D2 = e4;
3689
- o8(i5[v6], { instancePath: s7 + "/items/" + v6, parentData: i5, parentDataProperty: v6, rootData: g }) || (p6 = p6 === null ? o8.errors : p6.concat(o8.errors), e4 = p6.length);
3875
+ o9(i5[v6], { instancePath: s7 + "/items/" + v6, parentData: i5, parentDataProperty: v6, rootData: g }) || (p6 = p6 === null ? o9.errors : p6.concat(o9.errors), e4 = p6.length);
3690
3876
  var f3 = D2 === e4;
3691
3877
  if (!f3) break;
3692
3878
  }
@@ -3696,7 +3882,7 @@ function u3(r2, { instancePath: s7 = "", parentData: P4, parentDataProperty: w3,
3696
3882
  } else return u3.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3697
3883
  return u3.errors = p6, e4 === 0;
3698
3884
  }
3699
- function h7(r2, { instancePath: s7 = "", parentData: P4, parentDataProperty: w3, rootData: g = r2 } = {}) {
3885
+ function h8(r2, { instancePath: s7 = "", parentData: P4, parentDataProperty: w3, rootData: g = r2 } = {}) {
3700
3886
  let p6 = null, e4 = 0, a5 = e4;
3701
3887
  i(r2, { instancePath: s7, parentData: P4, parentDataProperty: w3, rootData: g }) || (p6 = p6 === null ? i.errors : p6.concat(i.errors), e4 = p6.length);
3702
3888
  var f3 = a5 === e4;
@@ -3704,14 +3890,14 @@ function h7(r2, { instancePath: s7 = "", parentData: P4, parentDataProperty: w3,
3704
3890
  let l4 = e4;
3705
3891
  if (e4 === l4) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
3706
3892
  let m6;
3707
- if (r2.data === void 0 && (m6 = "data")) return h7.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: m6 }, message: "must have required property '" + m6 + "'" }], false;
3893
+ if (r2.data === void 0 && (m6 = "data")) return h8.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: m6 }, message: "must have required property '" + m6 + "'" }], false;
3708
3894
  r2.data !== void 0 && (u3(r2.data, { instancePath: s7 + "/data", parentData: r2, parentDataProperty: "data", rootData: g }) || (p6 = p6 === null ? u3.errors : p6.concat(u3.errors), e4 = p6.length));
3709
- } else return h7.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3895
+ } else return h8.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
3710
3896
  var f3 = l4 === e4;
3711
3897
  }
3712
- return h7.errors = p6, e4 === 0;
3898
+ return h8.errors = p6, e4 === 0;
3713
3899
  }
3714
- var C = h7;
3900
+ var C = h8;
3715
3901
 
3716
3902
  // ../../packages/contracts/src/generated/endpoints/getV1HourBank.ts
3717
3903
  var getV1HourBank = {
@@ -3810,11 +3996,12 @@ var createStructuredTimeEntry = async (input2, request = apiRequest) => {
3810
3996
  }
3811
3997
  const prepare = async () => {
3812
3998
  const project = resolveActiveProjectByName(await listProjects(request), input2.projectName);
3999
+ const continuation = input2.nextStep === void 0 ? void 0 : await request(getV1MeContinuation, {});
3813
4000
  return {
3814
4001
  projectId: project.id,
3815
4002
  startedAt: input2.startedAt === void 0 ? new Date((input2.now ?? /* @__PURE__ */ new Date()).getTime() - durationMinutes * 6e4).toISOString() : start.toISOString(),
3816
4003
  durationMinutes,
3817
- ...input2.nextStep !== void 0 ? { nextStep: input2.nextStep } : {},
4004
+ ...input2.nextStep !== void 0 ? { nextStep: input2.nextStep, expectedResolutionVersion: continuation.resolutionVersion } : {},
3818
4005
  ...input2.description !== void 0 ? { description: input2.description } : {},
3819
4006
  ...input2.note !== void 0 ? { note: input2.note } : {},
3820
4007
  ...input2.artifactUrl !== void 0 ? { artifactUrl: input2.artifactUrl } : {}
@@ -4064,7 +4251,7 @@ async function adoptLegacyJournals(fromDir, extendStart, now = Date.now()) {
4064
4251
  try {
4065
4252
  events = text2.split("\n").filter((line) => line.trim() !== "").map((line) => currentFormOf(line, journal.from));
4066
4253
  } catch {
4067
- await rename4(journal.from, journal.from + ".unreadable");
4254
+ await rename5(journal.from, journal.from + ".unreadable");
4068
4255
  continue;
4069
4256
  }
4070
4257
  for (const event of events) earliest = Math.min(earliest, Date.parse(event.at));
@@ -4076,17 +4263,17 @@ async function adoptLegacyJournals(fromDir, extendStart, now = Date.now()) {
4076
4263
  const target = join8(sessionsDir(), journal.name + ADOPTED);
4077
4264
  await writeFile5(target + ".partial", copy, { mode: 384 });
4078
4265
  await utimes(target + ".partial", journal.modified, journal.modified);
4079
- await rename4(target + ".partial", target);
4266
+ await rename5(target + ".partial", target);
4080
4267
  sources[journal.name] = { size: journal.size, mtimeMs: journal.mtimeMs };
4081
4268
  }
4082
4269
  for (const journal of await legacyJournals(fromDir, now)) {
4083
4270
  if (!journal.expired || !unchanged(journal, sources)) continue;
4084
- await rm3(journal.from, { force: true });
4271
+ await rm4(journal.from, { force: true });
4085
4272
  delete sources[journal.name];
4086
4273
  }
4087
4274
  const manifest = join8(sessionsDir(), SOURCES);
4088
4275
  await writeFile5(manifest + ".partial", JSON.stringify(sources), { mode: 384 });
4089
- await rename4(manifest + ".partial", manifest);
4276
+ await rename5(manifest + ".partial", manifest);
4090
4277
  try {
4091
4278
  await rmdir(fromDir);
4092
4279
  } catch (error) {
@@ -4200,9 +4387,9 @@ async function pruneOldSessions(now) {
4200
4387
  if (!retiring && now.getTime() - await lastWritten(path) <= RETENTION_MS) continue;
4201
4388
  if (!retiring && await lastWritten(join8(legacySessionsDir(), name)) !== -Infinity) continue;
4202
4389
  if (!retiring) await writeFile5(path + RETIRED, "", { mode: 384 });
4203
- await rm3(path, { force: true });
4204
- await rm3(path + ADOPTED, { force: true });
4205
- await rm3(path + RETIRED, { force: true });
4390
+ await rm4(path, { force: true });
4391
+ await rm4(path + ADOPTED, { force: true });
4392
+ await rm4(path + RETIRED, { force: true });
4206
4393
  }
4207
4394
  }
4208
4395
  async function handleHook(agent, raw, prune, now = currentMoment()) {
@@ -4357,7 +4544,7 @@ function ownedParts(start, end, cut, periods) {
4357
4544
  return part.ms > 0 ? [part] : [];
4358
4545
  });
4359
4546
  }
4360
- function measureRecordedTime(events, now, periods) {
4547
+ function measureRecordedTime(events, now, periods, observedTurnId) {
4361
4548
  const first = events.find((event) => event.event === "session" || event.event === "start");
4362
4549
  if (!first || first.event !== "session" && first.event !== "start") return null;
4363
4550
  const nowPoint = { wall: now.at.getTime(), up: now.up };
@@ -4404,7 +4591,7 @@ function measureRecordedTime(events, now, periods) {
4404
4591
  break;
4405
4592
  }
4406
4593
  }
4407
- if (open2) turns.push({ start: open2.start, end: open2.last });
4594
+ if (open2) turns.push({ start: open2.start, end: observedTurnId !== void 0 && observedTurnId === open2.turnId ? nowPoint : open2.last });
4408
4595
  const stagedCut = lastStage ? cutOf(lastStage) : null;
4409
4596
  const counted = turns.flatMap(
4410
4597
  ({ start, end }) => ownedParts(start, end.wall > nowPoint.wall ? nowPoint : end, stagedCut, periods)
@@ -4485,17 +4672,23 @@ function missedTurnEvents(events, turns, owner, now, lastWake) {
4485
4672
  }
4486
4673
  return added;
4487
4674
  }
4488
- async function stageTime(sessionId, now) {
4675
+ async function stageTime(sessionId, now, observation) {
4489
4676
  const events = await readEventsAt(sessionFile(sessionId));
4490
4677
  if (!events) return null;
4491
4678
  const owner = events.find(
4492
4679
  (event) => event.event === "session" || event.event === "start"
4493
4680
  );
4494
- if (owner?.agent !== "codex") return measureRecordedTime(events, now, signedInPeriods());
4681
+ if (owner?.agent !== "codex") {
4682
+ const latestStart = events.filter((event) => event.event === "start").at(-1);
4683
+ const observedTurn2 = observation === "active-turn" && latestStart?.event === "start" ? latestStart.turnId : void 0;
4684
+ return measureRecordedTime(events, now, signedInPeriods(), observedTurn2);
4685
+ }
4495
4686
  const file = await codexTurnsOf(sessionId, transcriptPathOf(events));
4496
4687
  if (file === null) return measureRecordedTime(events, now, signedInPeriods());
4497
4688
  const added = missedTurnEvents(events, file.turns, owner, now, lastWakeMs());
4498
- return measureRecordedTime(byTime([...events, ...added]), now, signedInPeriods());
4689
+ const latestTurn = file.turns.at(-1);
4690
+ const observedTurn = observation === "codex-env" && latestTurn?.endedAt === null ? latestTurn.turnId : void 0;
4691
+ return measureRecordedTime(byTime([...events, ...added]), now, signedInPeriods(), observedTurn);
4499
4692
  }
4500
4693
  async function promptReminder(sessionId, cwd, now) {
4501
4694
  const link2 = await readLink(cwd);
@@ -4801,7 +4994,8 @@ async function resolveStageOptions(options, cwd, now) {
4801
4994
  let { minutes, startedAt } = options;
4802
4995
  let recorded = null;
4803
4996
  if (minutes === void 0 && startedAt === void 0) {
4804
- recorded = session.sessionId ? await stageTime(session.sessionId, now) : null;
4997
+ const observation = session.source === "codex-env" || session.source === "flag" && session.sessionId === process.env.CODEX_THREAD_ID ? "codex-env" : session.source === "active-turn" ? "active-turn" : void 0;
4998
+ recorded = session.sessionId ? await stageTime(session.sessionId, now, observation) : null;
4805
4999
  if (!recorded) {
4806
5000
  throw new Error(
4807
5001
  "No recorded agent time for this session. If the session hooks are not installed, run `flowmind hooks install`; for this session, pass --minutes and --started-at."
@@ -5181,20 +5375,20 @@ function a4(e4, { instancePath: s7 = "", parentData: y3, parentDataProperty: d5,
5181
5375
  if (e4.state === void 0 && (i5 = "state") || e4.authUrl === void 0 && (i5 = "authUrl")) return a4.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
5182
5376
  {
5183
5377
  let p6 = r2;
5184
- for (let o11 in e4) if (!(o11 === "authUrl" || o11 === "state")) {
5185
- return a4.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o11 }, message: "must NOT have additional properties" }], false;
5378
+ for (let o12 in e4) if (!(o12 === "authUrl" || o12 === "state")) {
5379
+ return a4.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o12 }, message: "must NOT have additional properties" }], false;
5186
5380
  break;
5187
5381
  }
5188
5382
  if (p6 === r2) {
5189
5383
  if (e4.authUrl !== void 0) {
5190
- let o11 = r2;
5384
+ let o12 = r2;
5191
5385
  if (typeof e4.authUrl != "string") return a4.errors = [{ instancePath: s7 + "/authUrl", schemaPath: "#/properties/authUrl/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
5192
- var l4 = o11 === r2;
5386
+ var l4 = o12 === r2;
5193
5387
  } else var l4 = true;
5194
5388
  if (l4) if (e4.state !== void 0) {
5195
- let o11 = r2;
5389
+ let o12 = r2;
5196
5390
  if (typeof e4.state != "string") return a4.errors = [{ instancePath: s7 + "/state", schemaPath: "#/properties/state/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
5197
- var l4 = o11 === r2;
5391
+ var l4 = o12 === r2;
5198
5392
  } else var l4 = true;
5199
5393
  }
5200
5394
  }
@@ -5231,32 +5425,32 @@ var postV1CliAuthInit = {
5231
5425
  };
5232
5426
 
5233
5427
  // ../../packages/contracts/src/generated/validators/getV1CliAuthPoll200.js
5234
- function o9(e4, { instancePath: s7 = "", parentData: d5, parentDataProperty: m6, rootData: y3 = e4 } = {}) {
5428
+ function o10(e4, { instancePath: s7 = "", parentData: d5, parentDataProperty: m6, rootData: y3 = e4 } = {}) {
5235
5429
  let t8 = null, r2 = 0;
5236
5430
  if (r2 === 0) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
5237
5431
  let i5;
5238
- if (e4.authorized === void 0 && (i5 = "authorized") || e4.apiKey === void 0 && (i5 = "apiKey")) return o9.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
5432
+ if (e4.authorized === void 0 && (i5 = "authorized") || e4.apiKey === void 0 && (i5 = "apiKey")) return o10.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
5239
5433
  {
5240
5434
  let u4 = r2;
5241
5435
  for (let a5 in e4) if (!(a5 === "apiKey" || a5 === "authorized")) {
5242
- return o9.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: a5 }, message: "must NOT have additional properties" }], false;
5436
+ return o10.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: a5 }, message: "must NOT have additional properties" }], false;
5243
5437
  break;
5244
5438
  }
5245
5439
  if (u4 === r2) {
5246
5440
  if (e4.apiKey !== void 0) {
5247
5441
  let a5 = e4.apiKey, l4 = r2;
5248
- if (typeof a5 != "string" && a5 !== null) return o9.errors = [{ instancePath: s7 + "/apiKey", schemaPath: "#/properties/apiKey/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
5442
+ if (typeof a5 != "string" && a5 !== null) return o10.errors = [{ instancePath: s7 + "/apiKey", schemaPath: "#/properties/apiKey/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
5249
5443
  var p6 = l4 === r2;
5250
5444
  } else var p6 = true;
5251
5445
  if (p6) if (e4.authorized !== void 0) {
5252
5446
  let a5 = r2;
5253
- if (typeof e4.authorized != "boolean") return o9.errors = [{ instancePath: s7 + "/authorized", schemaPath: "#/properties/authorized/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
5447
+ if (typeof e4.authorized != "boolean") return o10.errors = [{ instancePath: s7 + "/authorized", schemaPath: "#/properties/authorized/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
5254
5448
  var p6 = a5 === r2;
5255
5449
  } else var p6 = true;
5256
5450
  }
5257
5451
  }
5258
- } else return o9.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
5259
- return o9.errors = t8, r2 === 0;
5452
+ } else return o10.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
5453
+ return o10.errors = t8, r2 === 0;
5260
5454
  }
5261
5455
  function n5(e4, { instancePath: s7 = "", parentData: d5, parentDataProperty: m6, rootData: y3 = e4 } = {}) {
5262
5456
  let t8 = null, r2 = 0, p6 = r2;
@@ -5267,7 +5461,7 @@ function n5(e4, { instancePath: s7 = "", parentData: d5, parentDataProperty: m6,
5267
5461
  if (r2 === u4) if (e4 && typeof e4 == "object" && !Array.isArray(e4)) {
5268
5462
  let l4;
5269
5463
  if (e4.data === void 0 && (l4 = "data")) return n5.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
5270
- e4.data !== void 0 && (o9(e4.data, { instancePath: s7 + "/data", parentData: e4, parentDataProperty: "data", rootData: y3 }) || (t8 = t8 === null ? o9.errors : t8.concat(o9.errors), r2 = t8.length));
5464
+ e4.data !== void 0 && (o10(e4.data, { instancePath: s7 + "/data", parentData: e4, parentDataProperty: "data", rootData: y3 }) || (t8 = t8 === null ? o10.errors : t8.concat(o10.errors), r2 = t8.length));
5271
5465
  } else return n5.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
5272
5466
  var i5 = u4 === r2;
5273
5467
  }
@@ -5515,9 +5709,9 @@ var logCommand = new Command3("log").description("Log time with natural language
5515
5709
  });
5516
5710
 
5517
5711
  // src/commands/hooks.ts
5518
- import { createHash as createHash6, randomUUID as randomUUID4 } from "node:crypto";
5712
+ import { createHash as createHash6, randomUUID as randomUUID5 } from "node:crypto";
5519
5713
  import { realpathSync } from "node:fs";
5520
- import { readFile as readFile7, link, lstat, mkdir as mkdir6, rename as rename5, rm as rm4, writeFile as writeFile6 } from "node:fs/promises";
5714
+ import { readFile as readFile7, link, lstat, mkdir as mkdir6, rename as rename6, rm as rm5, writeFile as writeFile6 } from "node:fs/promises";
5521
5715
  import { homedir as homedir2 } from "node:os";
5522
5716
  import { dirname as dirname3, join as join9 } from "node:path";
5523
5717
  import { fileURLToPath } from "node:url";
@@ -5622,7 +5816,7 @@ function hookState(config2, agent) {
5622
5816
  ([event, groups]) => groups.filter((group) => isFlowmindGroup(group, agent)).map((group) => `${event}:${JSON.stringify(group)}`)
5623
5817
  );
5624
5818
  {
5625
- const mixed = Object.values(config2.hooks).some((groups) => groups.some((group) => isObject(group) && !isFlowmindGroup(group, agent) && Array.isArray(group.hooks) && group.hooks.some((h10) => isObject(h10) && h10.type === "command" && ownedCommand(h10.command, agent))));
5819
+ const mixed = Object.values(config2.hooks).some((groups) => groups.some((group) => isObject(group) && !isFlowmindGroup(group, agent) && Array.isArray(group.hooks) && group.hooks.some((h11) => isObject(h11) && h11.type === "command" && ownedCommand(h11.command, agent))));
5626
5820
  if (mixed) return "outdated";
5627
5821
  if (!ours.length) return "absent";
5628
5822
  }
@@ -5637,7 +5831,7 @@ function withoutFlowmindHooks(config2, agent) {
5637
5831
  for (const [event, groups] of Object.entries(config2.hooks)) {
5638
5832
  const kept = groups.flatMap((group) => {
5639
5833
  if (!isObject(group) || !Array.isArray(group.hooks)) return [group];
5640
- const remaining = group.hooks.filter((h10) => !(isObject(h10) && h10.type === "command" && ownedCommand(h10.command, agent)));
5834
+ const remaining = group.hooks.filter((h11) => !(isObject(h11) && h11.type === "command" && ownedCommand(h11.command, agent)));
5641
5835
  if (remaining.length === group.hooks.length) return [group];
5642
5836
  return remaining.length ? [{ ...group, hooks: remaining }] : [];
5643
5837
  });
@@ -5719,7 +5913,7 @@ async function updateHookFile(agent, action, base) {
5719
5913
  if (info && !info.isFile()) throw new Error("Unsupported hook settings file: " + path);
5720
5914
  const changed = () => new Error(path + " changed while Flowmind was updating it. Nothing was written; run the command again.");
5721
5915
  const removeFile = agent === "codex" && action === "uninstall" && Object.keys(next).length === 0;
5722
- const temporary = path + "." + randomUUID4() + ".tmp";
5916
+ const temporary = path + "." + randomUUID5() + ".tmp";
5723
5917
  if (!removeFile) await writeFile6(temporary, serialize(next), { mode: info ? info.mode & 511 : 384, flag: "wx" });
5724
5918
  try {
5725
5919
  let onDisk;
@@ -5730,7 +5924,7 @@ async function updateHookFile(agent, action, base) {
5730
5924
  onDisk = null;
5731
5925
  }
5732
5926
  if (onDisk !== text2) throw changed();
5733
- if (removeFile) await rm4(path);
5927
+ if (removeFile) await rm5(path);
5734
5928
  else if (text2 === null) {
5735
5929
  try {
5736
5930
  await link(temporary, path);
@@ -5738,9 +5932,9 @@ async function updateHookFile(agent, action, base) {
5738
5932
  if (error.code === "EEXIST") throw changed();
5739
5933
  throw error;
5740
5934
  }
5741
- } else await rename5(temporary, path);
5935
+ } else await rename6(temporary, path);
5742
5936
  } finally {
5743
- await rm4(temporary, { force: true });
5937
+ await rm5(temporary, { force: true });
5744
5938
  }
5745
5939
  }
5746
5940
  async function bundledSkill() {
@@ -5794,8 +5988,8 @@ hooksCommand.command("install").description(
5794
5988
  if (options.dryRun) {
5795
5989
  console.log(terminalLine`Would remove ${copy.path} and ${copy.markerPath}: ${reason}`);
5796
5990
  } else {
5797
- await rm4(copy.path);
5798
- await rm4(copy.markerPath);
5991
+ await rm5(copy.path);
5992
+ await rm5(copy.markerPath);
5799
5993
  console.log(terminalLine`Removed ${copy.path} and ${copy.markerPath}: ${reason}`);
5800
5994
  }
5801
5995
  } else if (copy.state === "absent") {
@@ -5866,9 +6060,9 @@ hooksCommand.command("uninstall").description("Remove unmodified Flowmind-manage
5866
6060
  console.log(terminalLine`Left ${target.state} ${target.path}`);
5867
6061
  continue;
5868
6062
  }
5869
- await rm4(target.path);
6063
+ await rm5(target.path);
5870
6064
  console.log(terminalLine`Removed ${target.path}`);
5871
- await rm4(target.markerPath);
6065
+ await rm5(target.markerPath);
5872
6066
  console.log(terminalLine`Removed ${target.markerPath}`);
5873
6067
  }
5874
6068
  for (const agent of agents) {
@@ -6075,11 +6269,11 @@ ${box}
6075
6269
 
6076
6270
  // ../../packages/contracts/src/generated/validators/shared/6QQEP6FS.js
6077
6271
  var b2 = { description: "A project", properties: { archivedAt: { format: "date-time", nullable: true, type: "string" }, category: { type: "string" }, color: { type: "string" }, completedAt: { format: "date-time", nullable: true, type: "string" }, createdAt: { format: "date-time", type: "string" }, description: { nullable: true, type: "string" }, details: { description: "Private details for lastOutcome, or an empty array when no outcome exists.", items: { type: "string" }, type: "array" }, estimatedHours: { nullable: true, type: "integer" }, icon: { type: "string" }, id: { format: "uuid", type: "string" }, lastActiveDay: { format: "date", nullable: true, type: "string" }, lastOutcome: { nullable: true, type: "string" }, launchDescription: { nullable: true, type: "string" }, launchUrl: { nullable: true, type: "string" }, launchedAt: { format: "date-time", nullable: true, type: "string" }, name: { type: "string" }, nextStep: { anyOf: [{ $ref: "urn:flowmind:schema:ProjectNextStep" }, { enum: [null], nullable: true, type: "object" }] }, updatedAt: { format: "date-time", type: "string" } }, required: ["id", "name", "description", "color", "icon", "category", "estimatedHours", "launchedAt", "completedAt", "launchDescription", "launchUrl", "createdAt", "updatedAt", "archivedAt", "nextStep", "lastOutcome", "details", "lastActiveDay"], type: "object" };
6078
- function n6(r2, { instancePath: i5 = "", parentData: k3, parentDataProperty: _, rootData: w3 = r2 } = {}) {
6272
+ function n6(r2, { instancePath: i5 = "", parentData: k3, parentDataProperty: _2, rootData: w3 = r2 } = {}) {
6079
6273
  let l4 = null, e4 = 0;
6080
6274
  if (e4 === 0) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
6081
- let o11;
6082
- if (r2.id === void 0 && (o11 = "id") || r2.name === void 0 && (o11 = "name") || r2.description === void 0 && (o11 = "description") || r2.color === void 0 && (o11 = "color") || r2.icon === void 0 && (o11 = "icon") || r2.category === void 0 && (o11 = "category") || r2.estimatedHours === void 0 && (o11 = "estimatedHours") || r2.launchedAt === void 0 && (o11 = "launchedAt") || r2.completedAt === void 0 && (o11 = "completedAt") || r2.launchDescription === void 0 && (o11 = "launchDescription") || r2.launchUrl === void 0 && (o11 = "launchUrl") || r2.createdAt === void 0 && (o11 = "createdAt") || r2.updatedAt === void 0 && (o11 = "updatedAt") || r2.archivedAt === void 0 && (o11 = "archivedAt") || r2.nextStep === void 0 && (o11 = "nextStep") || r2.lastOutcome === void 0 && (o11 = "lastOutcome") || r2.details === void 0 && (o11 = "details") || r2.lastActiveDay === void 0 && (o11 = "lastActiveDay")) return n6.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: o11 }, message: "must have required property '" + o11 + "'" }], false;
6275
+ let o12;
6276
+ if (r2.id === void 0 && (o12 = "id") || r2.name === void 0 && (o12 = "name") || r2.description === void 0 && (o12 = "description") || r2.color === void 0 && (o12 = "color") || r2.icon === void 0 && (o12 = "icon") || r2.category === void 0 && (o12 = "category") || r2.estimatedHours === void 0 && (o12 = "estimatedHours") || r2.launchedAt === void 0 && (o12 = "launchedAt") || r2.completedAt === void 0 && (o12 = "completedAt") || r2.launchDescription === void 0 && (o12 = "launchDescription") || r2.launchUrl === void 0 && (o12 = "launchUrl") || r2.createdAt === void 0 && (o12 = "createdAt") || r2.updatedAt === void 0 && (o12 = "updatedAt") || r2.archivedAt === void 0 && (o12 = "archivedAt") || r2.nextStep === void 0 && (o12 = "nextStep") || r2.lastOutcome === void 0 && (o12 = "lastOutcome") || r2.details === void 0 && (o12 = "details") || r2.lastActiveDay === void 0 && (o12 = "lastActiveDay")) return n6.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: o12 }, message: "must have required property '" + o12 + "'" }], false;
6083
6277
  if (r2.archivedAt !== void 0) {
6084
6278
  let t8 = r2.archivedAt, a5 = e4;
6085
6279
  if (typeof t8 != "string" && t8 !== null) return n6.errors = [{ instancePath: i5 + "/archivedAt", schemaPath: "#/properties/archivedAt/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
@@ -6194,7 +6388,7 @@ function n6(r2, { instancePath: i5 = "", parentData: k3, parentDataProperty: _,
6194
6388
  } else var s7 = true;
6195
6389
  if (s7) {
6196
6390
  if (r2.nextStep !== void 0) {
6197
- let t8 = r2.nextStep, a5 = e4, h10 = e4, p6 = false, m6 = e4;
6391
+ let t8 = r2.nextStep, a5 = e4, h11 = e4, p6 = false, m6 = e4;
6198
6392
  s(t8, { instancePath: i5 + "/nextStep", parentData: r2, parentDataProperty: "nextStep", rootData: w3 }) || (l4 = l4 === null ? s.errors : l4.concat(s.errors), e4 = l4.length);
6199
6393
  var y3 = m6 === e4;
6200
6394
  if (p6 = p6 || y3, !p6) {
@@ -6210,7 +6404,7 @@ function n6(r2, { instancePath: i5 = "", parentData: k3, parentDataProperty: _,
6210
6404
  var y3 = d5 === e4;
6211
6405
  p6 = p6 || y3;
6212
6406
  }
6213
- if (p6) e4 = h10, l4 !== null && (h10 ? l4.length = h10 : l4 = null);
6407
+ if (p6) e4 = h11, l4 !== null && (h11 ? l4.length = h11 : l4 = null);
6214
6408
  else {
6215
6409
  let d5 = { instancePath: i5 + "/nextStep", schemaPath: "#/properties/nextStep/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
6216
6410
  return l4 === null ? l4 = [d5] : l4.push(d5), e4++, n6.errors = l4, false;
@@ -6245,22 +6439,22 @@ function n6(r2, { instancePath: i5 = "", parentData: k3, parentDataProperty: _,
6245
6439
  }
6246
6440
 
6247
6441
  // ../../packages/contracts/src/generated/validators/postV1Projects200.js
6248
- function s5(r2, { instancePath: o11 = "", parentData: m6, parentDataProperty: u4, rootData: n7 = r2 } = {}) {
6442
+ function s5(r2, { instancePath: o12 = "", parentData: m6, parentDataProperty: u4, rootData: n7 = r2 } = {}) {
6249
6443
  let e4 = null, t8 = 0, d5 = t8;
6250
- i(r2, { instancePath: o11, parentData: m6, parentDataProperty: u4, rootData: n7 }) || (e4 = e4 === null ? i.errors : e4.concat(i.errors), t8 = e4.length);
6444
+ i(r2, { instancePath: o12, parentData: m6, parentDataProperty: u4, rootData: n7 }) || (e4 = e4 === null ? i.errors : e4.concat(i.errors), t8 = e4.length);
6251
6445
  var f3 = d5 === t8;
6252
6446
  if (f3) {
6253
6447
  let p6 = t8;
6254
6448
  if (t8 === p6) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
6255
6449
  let l4;
6256
- if (r2.data === void 0 && (l4 = "data")) return s5.errors = [{ instancePath: o11, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
6257
- r2.data !== void 0 && (n6(r2.data, { instancePath: o11 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (e4 = e4 === null ? n6.errors : e4.concat(n6.errors), t8 = e4.length));
6258
- } else return s5.errors = [{ instancePath: o11, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
6450
+ if (r2.data === void 0 && (l4 = "data")) return s5.errors = [{ instancePath: o12, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
6451
+ r2.data !== void 0 && (n6(r2.data, { instancePath: o12 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (e4 = e4 === null ? n6.errors : e4.concat(n6.errors), t8 = e4.length));
6452
+ } else return s5.errors = [{ instancePath: o12, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
6259
6453
  var f3 = p6 === t8;
6260
6454
  }
6261
6455
  return s5.errors = e4, t8 === 0;
6262
6456
  }
6263
- var h8 = s5;
6457
+ var h9 = s5;
6264
6458
 
6265
6459
  // ../../packages/contracts/src/generated/endpoints/postV1Projects.ts
6266
6460
  var postV1Projects = {
@@ -6269,7 +6463,7 @@ var postV1Projects = {
6269
6463
  operation: "POST /v1/projects/",
6270
6464
  revision: contractRevision,
6271
6465
  responses: {
6272
- 200: { mediaType: "application/json", schemaId: "urn:flowmind:postV1Projects:200", validate: h8 }
6466
+ 200: { mediaType: "application/json", schemaId: "urn:flowmind:postV1Projects:200", validate: h9 }
6273
6467
  },
6274
6468
  error: { mediaType: "application/json", schemaId: "ApiErrorEnvelope", validate: N }
6275
6469
  };
@@ -6430,8 +6624,8 @@ function c4(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3,
6430
6624
  let n7 = r2.details, t8 = e4;
6431
6625
  if (e4 === t8) if (Array.isArray(n7)) {
6432
6626
  var p6 = true;
6433
- let o11 = n7.length;
6434
- for (let u4 = 0; u4 < o11; u4++) {
6627
+ let o12 = n7.length;
6628
+ for (let u4 = 0; u4 < o12; u4++) {
6435
6629
  let w3 = e4;
6436
6630
  if (typeof n7[u4] != "string") return c4.errors = [{ instancePath: s7 + "/details/" + u4, schemaPath: "#/properties/details/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6437
6631
  var p6 = w3 === e4;
@@ -6581,7 +6775,7 @@ function y2(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3,
6581
6775
  } else var a5 = true;
6582
6776
  if (a5) {
6583
6777
  if (r2.lastOutcome !== void 0) {
6584
- let t8 = r2.lastOutcome, l4 = e4, o11 = e4, u4 = false, w3 = e4;
6778
+ let t8 = r2.lastOutcome, l4 = e4, o12 = e4, u4 = false, w3 = e4;
6585
6779
  c4(t8, { instancePath: s7 + "/lastOutcome", parentData: r2, parentDataProperty: "lastOutcome", rootData: b4 }) || (m6 = m6 === null ? c4.errors : m6.concat(c4.errors), e4 = m6.length);
6586
6780
  var p6 = w3 === e4;
6587
6781
  if (u4 = u4 || p6, !u4) {
@@ -6597,7 +6791,7 @@ function y2(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3,
6597
6791
  var p6 = g === e4;
6598
6792
  u4 = u4 || p6;
6599
6793
  }
6600
- if (u4) e4 = o11, m6 !== null && (o11 ? m6.length = o11 : m6 = null);
6794
+ if (u4) e4 = o12, m6 !== null && (o12 ? m6.length = o12 : m6 = null);
6601
6795
  else {
6602
6796
  let g = { instancePath: s7 + "/lastOutcome", schemaPath: "#/properties/lastOutcome/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
6603
6797
  return m6 === null ? m6 = [g] : m6.push(g), e4++, y2.errors = m6, false;
@@ -6737,48 +6931,48 @@ function k2(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3,
6737
6931
  } else return k2.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
6738
6932
  return k2.errors = m6, e4 === 0;
6739
6933
  }
6740
- function h9(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3, rootData: b4 = r2 } = {}) {
6934
+ function h10(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3, rootData: b4 = r2 } = {}) {
6741
6935
  let m6 = null, e4 = 0;
6742
6936
  if (e4 === 0) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
6743
6937
  let i5;
6744
- if (r2.id === void 0 && (i5 = "id") || r2.kind === void 0 && (i5 = "kind") || r2.tone === void 0 && (i5 = "tone") || r2.title === void 0 && (i5 = "title") || r2.detail === void 0 && (i5 = "detail") || r2.rule === void 0 && (i5 = "rule") || r2.projectId === void 0 && (i5 = "projectId") || r2.evidence === void 0 && (i5 = "evidence") || r2.actions === void 0 && (i5 = "actions")) return h9.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
6938
+ if (r2.id === void 0 && (i5 = "id") || r2.kind === void 0 && (i5 = "kind") || r2.tone === void 0 && (i5 = "tone") || r2.title === void 0 && (i5 = "title") || r2.detail === void 0 && (i5 = "detail") || r2.rule === void 0 && (i5 = "rule") || r2.projectId === void 0 && (i5 = "projectId") || r2.evidence === void 0 && (i5 = "evidence") || r2.actions === void 0 && (i5 = "actions")) return h10.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: i5 }, message: "must have required property '" + i5 + "'" }], false;
6745
6939
  {
6746
6940
  let n7 = e4;
6747
6941
  for (let t8 in r2) if (!t4.call(F.properties, t8)) {
6748
- return h9.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t8 }, message: "must NOT have additional properties" }], false;
6942
+ return h10.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: t8 }, message: "must NOT have additional properties" }], false;
6749
6943
  break;
6750
6944
  }
6751
6945
  if (n7 === e4) {
6752
6946
  if (r2.actions !== void 0) {
6753
6947
  let t8 = r2.actions, l4 = e4;
6754
6948
  if (e4 === l4) if (Array.isArray(t8)) {
6755
- if (t8.length > 2) return h9.errors = [{ instancePath: s7 + "/actions", schemaPath: "#/properties/actions/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" }], false;
6949
+ if (t8.length > 2) return h10.errors = [{ instancePath: s7 + "/actions", schemaPath: "#/properties/actions/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" }], false;
6756
6950
  {
6757
6951
  var a5 = true;
6758
- let o11 = t8.length;
6759
- for (let u4 = 0; u4 < o11; u4++) {
6952
+ let o12 = t8.length;
6953
+ for (let u4 = 0; u4 < o12; u4++) {
6760
6954
  let w3 = e4;
6761
6955
  k2(t8[u4], { instancePath: s7 + "/actions/" + u4, parentData: t8, parentDataProperty: u4, rootData: b4 }) || (m6 = m6 === null ? k2.errors : m6.concat(k2.errors), e4 = m6.length);
6762
6956
  var a5 = w3 === e4;
6763
6957
  if (!a5) break;
6764
6958
  }
6765
6959
  }
6766
- } else return h9.errors = [{ instancePath: s7 + "/actions", schemaPath: "#/properties/actions/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
6960
+ } else return h10.errors = [{ instancePath: s7 + "/actions", schemaPath: "#/properties/actions/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
6767
6961
  var p6 = l4 === e4;
6768
6962
  } else var p6 = true;
6769
6963
  if (p6) {
6770
6964
  if (r2.detail !== void 0) {
6771
6965
  let t8 = r2.detail, l4 = e4;
6772
6966
  if (e4 === l4) if (typeof t8 == "string") {
6773
- if (o(t8) < 1) return h9.errors = [{ instancePath: s7 + "/detail", schemaPath: "#/properties/detail/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" }], false;
6774
- } else return h9.errors = [{ instancePath: s7 + "/detail", schemaPath: "#/properties/detail/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6967
+ if (o(t8) < 1) return h10.errors = [{ instancePath: s7 + "/detail", schemaPath: "#/properties/detail/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" }], false;
6968
+ } else return h10.errors = [{ instancePath: s7 + "/detail", schemaPath: "#/properties/detail/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6775
6969
  var p6 = l4 === e4;
6776
6970
  } else var p6 = true;
6777
6971
  if (p6) {
6778
6972
  if (r2.evidence !== void 0) {
6779
6973
  let t8 = r2.evidence, l4 = e4;
6780
6974
  if (e4 === l4) if (Array.isArray(t8)) {
6781
- if (t8.length > 3) return h9.errors = [{ instancePath: s7 + "/evidence", schemaPath: "#/properties/evidence/maxItems", keyword: "maxItems", params: { limit: 3 }, message: "must NOT have more than 3 items" }], false;
6975
+ if (t8.length > 3) return h10.errors = [{ instancePath: s7 + "/evidence", schemaPath: "#/properties/evidence/maxItems", keyword: "maxItems", params: { limit: 3 }, message: "must NOT have more than 3 items" }], false;
6782
6976
  {
6783
6977
  var d5 = true;
6784
6978
  let u4 = t8.length;
@@ -6789,51 +6983,51 @@ function h9(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3,
6789
6983
  if (!d5) break;
6790
6984
  }
6791
6985
  }
6792
- } else return h9.errors = [{ instancePath: s7 + "/evidence", schemaPath: "#/properties/evidence/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
6986
+ } else return h10.errors = [{ instancePath: s7 + "/evidence", schemaPath: "#/properties/evidence/type", keyword: "type", params: { type: "array" }, message: "must be array" }], false;
6793
6987
  var p6 = l4 === e4;
6794
6988
  } else var p6 = true;
6795
6989
  if (p6) {
6796
6990
  if (r2.id !== void 0) {
6797
6991
  let t8 = r2.id, l4 = e4;
6798
6992
  if (e4 === l4) if (typeof t8 == "string") {
6799
- if (o(t8) < 1) return h9.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" }], false;
6800
- } else return h9.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6993
+ if (o(t8) < 1) return h10.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" }], false;
6994
+ } else return h10.errors = [{ instancePath: s7 + "/id", schemaPath: "#/properties/id/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6801
6995
  var p6 = l4 === e4;
6802
6996
  } else var p6 = true;
6803
6997
  if (p6) {
6804
6998
  if (r2.kind !== void 0) {
6805
6999
  let t8 = r2.kind, l4 = e4;
6806
- if (typeof t8 != "string") return h9.errors = [{ instancePath: s7 + "/kind", schemaPath: "#/properties/kind/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6807
- if (!(t8 === "gone_quiet" || t8 === "spread_thin" || t8 === "best_week" || t8 === "rising" || t8 === "agent_shift")) return h9.errors = [{ instancePath: s7 + "/kind", schemaPath: "#/properties/kind/enum", keyword: "enum", params: { allowedValues: F.properties.kind.enum }, message: "must be equal to one of the allowed values" }], false;
7000
+ if (typeof t8 != "string") return h10.errors = [{ instancePath: s7 + "/kind", schemaPath: "#/properties/kind/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7001
+ if (!(t8 === "gone_quiet" || t8 === "spread_thin" || t8 === "best_week" || t8 === "rising" || t8 === "agent_shift")) return h10.errors = [{ instancePath: s7 + "/kind", schemaPath: "#/properties/kind/enum", keyword: "enum", params: { allowedValues: F.properties.kind.enum }, message: "must be equal to one of the allowed values" }], false;
6808
7002
  var p6 = l4 === e4;
6809
7003
  } else var p6 = true;
6810
7004
  if (p6) {
6811
7005
  if (r2.projectId !== void 0) {
6812
7006
  let t8 = r2.projectId, l4 = e4;
6813
- if (typeof t8 != "string" && t8 !== null) return h9.errors = [{ instancePath: s7 + "/projectId", schemaPath: "#/properties/projectId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6814
- if (e4 === l4 && e4 === l4 && typeof t8 == "string" && !a2.test(t8)) return h9.errors = [{ instancePath: s7 + "/projectId", schemaPath: "#/properties/projectId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
7007
+ if (typeof t8 != "string" && t8 !== null) return h10.errors = [{ instancePath: s7 + "/projectId", schemaPath: "#/properties/projectId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7008
+ if (e4 === l4 && e4 === l4 && typeof t8 == "string" && !a2.test(t8)) return h10.errors = [{ instancePath: s7 + "/projectId", schemaPath: "#/properties/projectId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
6815
7009
  var p6 = l4 === e4;
6816
7010
  } else var p6 = true;
6817
7011
  if (p6) {
6818
7012
  if (r2.rule !== void 0) {
6819
7013
  let t8 = r2.rule, l4 = e4;
6820
7014
  if (e4 === l4) if (typeof t8 == "string") {
6821
- if (o(t8) < 1) return h9.errors = [{ instancePath: s7 + "/rule", schemaPath: "#/properties/rule/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" }], false;
6822
- } else return h9.errors = [{ instancePath: s7 + "/rule", schemaPath: "#/properties/rule/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7015
+ if (o(t8) < 1) return h10.errors = [{ instancePath: s7 + "/rule", schemaPath: "#/properties/rule/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" }], false;
7016
+ } else return h10.errors = [{ instancePath: s7 + "/rule", schemaPath: "#/properties/rule/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6823
7017
  var p6 = l4 === e4;
6824
7018
  } else var p6 = true;
6825
7019
  if (p6) {
6826
7020
  if (r2.title !== void 0) {
6827
7021
  let t8 = r2.title, l4 = e4;
6828
7022
  if (e4 === l4) if (typeof t8 == "string") {
6829
- if (o(t8) < 1) return h9.errors = [{ instancePath: s7 + "/title", schemaPath: "#/properties/title/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" }], false;
6830
- } else return h9.errors = [{ instancePath: s7 + "/title", schemaPath: "#/properties/title/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7023
+ if (o(t8) < 1) return h10.errors = [{ instancePath: s7 + "/title", schemaPath: "#/properties/title/minLength", keyword: "minLength", params: { limit: 1 }, message: "must NOT have fewer than 1 characters" }], false;
7024
+ } else return h10.errors = [{ instancePath: s7 + "/title", schemaPath: "#/properties/title/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6831
7025
  var p6 = l4 === e4;
6832
7026
  } else var p6 = true;
6833
7027
  if (p6) if (r2.tone !== void 0) {
6834
7028
  let t8 = r2.tone, l4 = e4;
6835
- if (typeof t8 != "string") return h9.errors = [{ instancePath: s7 + "/tone", schemaPath: "#/properties/tone/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6836
- if (!(t8 === "attention" || t8 === "positive" || t8 === "neutral")) return h9.errors = [{ instancePath: s7 + "/tone", schemaPath: "#/properties/tone/enum", keyword: "enum", params: { allowedValues: F.properties.tone.enum }, message: "must be equal to one of the allowed values" }], false;
7029
+ if (typeof t8 != "string") return h10.errors = [{ instancePath: s7 + "/tone", schemaPath: "#/properties/tone/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7030
+ if (!(t8 === "attention" || t8 === "positive" || t8 === "neutral")) return h10.errors = [{ instancePath: s7 + "/tone", schemaPath: "#/properties/tone/enum", keyword: "enum", params: { allowedValues: F.properties.tone.enum }, message: "must be equal to one of the allowed values" }], false;
6837
7031
  var p6 = l4 === e4;
6838
7032
  } else var p6 = true;
6839
7033
  }
@@ -6845,8 +7039,8 @@ function h9(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3,
6845
7039
  }
6846
7040
  }
6847
7041
  }
6848
- } else return h9.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
6849
- return h9.errors = m6, e4 === 0;
7042
+ } else return h10.errors = [{ instancePath: s7, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
7043
+ return h10.errors = m6, e4 === 0;
6850
7044
  }
6851
7045
  function v5(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3, rootData: b4 = r2 } = {}) {
6852
7046
  let m6 = null, e4 = 0;
@@ -6920,60 +7114,60 @@ function f2(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3,
6920
7114
  if (r2.weekOf === void 0 && (t8 = "weekOf") || r2.currentWeekOf === void 0 && (t8 = "currentWeekOf") || r2.isCurrentWeek === void 0 && (t8 = "isCurrentWeek") || r2.asOfDay === void 0 && (t8 = "asOfDay") || r2.daysElapsed === void 0 && (t8 = "daysElapsed") || r2.weeks === void 0 && (t8 = "weeks") || r2.totals === void 0 && (t8 = "totals") || r2.projects === void 0 && (t8 = "projects") || r2.hiddenProjectCount === void 0 && (t8 = "hiddenProjectCount") || r2.signals === void 0 && (t8 = "signals")) return f2.errors = [{ instancePath: s7, schemaPath: "#/required", keyword: "required", params: { missingProperty: t8 }, message: "must have required property '" + t8 + "'" }], false;
6921
7115
  {
6922
7116
  let l4 = e4;
6923
- for (let o11 in r2) if (!t4.call($.properties, o11)) {
6924
- return f2.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o11 }, message: "must NOT have additional properties" }], false;
7117
+ for (let o12 in r2) if (!t4.call($.properties, o12)) {
7118
+ return f2.errors = [{ instancePath: s7, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: o12 }, message: "must NOT have additional properties" }], false;
6925
7119
  break;
6926
7120
  }
6927
7121
  if (l4 === e4) {
6928
7122
  if (r2.asOfDay !== void 0) {
6929
- let o11 = r2.asOfDay, u4 = e4;
6930
- if (e4 === u4) if (typeof o11 == "string") {
6931
- if (!e2.test(o11)) return f2.errors = [{ instancePath: s7 + "/asOfDay", schemaPath: "#/properties/asOfDay/pattern", keyword: "pattern", params: { pattern: "^\\d{4}-\\d{2}-\\d{2}$" }, message: 'must match pattern "^\\d{4}-\\d{2}-\\d{2}$"' }], false;
7123
+ let o12 = r2.asOfDay, u4 = e4;
7124
+ if (e4 === u4) if (typeof o12 == "string") {
7125
+ if (!e2.test(o12)) return f2.errors = [{ instancePath: s7 + "/asOfDay", schemaPath: "#/properties/asOfDay/pattern", keyword: "pattern", params: { pattern: "^\\d{4}-\\d{2}-\\d{2}$" }, message: 'must match pattern "^\\d{4}-\\d{2}-\\d{2}$"' }], false;
6932
7126
  } else return f2.errors = [{ instancePath: s7 + "/asOfDay", schemaPath: "#/properties/asOfDay/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6933
7127
  var a5 = u4 === e4;
6934
7128
  } else var a5 = true;
6935
7129
  if (a5) {
6936
7130
  if (r2.currentWeekOf !== void 0) {
6937
- let o11 = r2.currentWeekOf, u4 = e4;
6938
- if (e4 === u4) if (typeof o11 == "string") {
6939
- if (!e2.test(o11)) return f2.errors = [{ instancePath: s7 + "/currentWeekOf", schemaPath: "#/properties/currentWeekOf/pattern", keyword: "pattern", params: { pattern: "^\\d{4}-\\d{2}-\\d{2}$" }, message: 'must match pattern "^\\d{4}-\\d{2}-\\d{2}$"' }], false;
7131
+ let o12 = r2.currentWeekOf, u4 = e4;
7132
+ if (e4 === u4) if (typeof o12 == "string") {
7133
+ if (!e2.test(o12)) return f2.errors = [{ instancePath: s7 + "/currentWeekOf", schemaPath: "#/properties/currentWeekOf/pattern", keyword: "pattern", params: { pattern: "^\\d{4}-\\d{2}-\\d{2}$" }, message: 'must match pattern "^\\d{4}-\\d{2}-\\d{2}$"' }], false;
6940
7134
  } else return f2.errors = [{ instancePath: s7 + "/currentWeekOf", schemaPath: "#/properties/currentWeekOf/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
6941
7135
  var a5 = u4 === e4;
6942
7136
  } else var a5 = true;
6943
7137
  if (a5) {
6944
7138
  if (r2.daysElapsed !== void 0) {
6945
- let o11 = r2.daysElapsed, u4 = e4;
6946
- if (!(typeof o11 == "number" && !(o11 % 1) && !isNaN(o11) && isFinite(o11))) return f2.errors = [{ instancePath: s7 + "/daysElapsed", schemaPath: "#/properties/daysElapsed/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
6947
- if (e4 === u4 && typeof o11 == "number" && isFinite(o11)) {
6948
- if (o11 > 7 || isNaN(o11)) return f2.errors = [{ instancePath: s7 + "/daysElapsed", schemaPath: "#/properties/daysElapsed/maximum", keyword: "maximum", params: { comparison: "<=", limit: 7 }, message: "must be <= 7" }], false;
6949
- if (o11 < 1 || isNaN(o11)) return f2.errors = [{ instancePath: s7 + "/daysElapsed", schemaPath: "#/properties/daysElapsed/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }], false;
7139
+ let o12 = r2.daysElapsed, u4 = e4;
7140
+ if (!(typeof o12 == "number" && !(o12 % 1) && !isNaN(o12) && isFinite(o12))) return f2.errors = [{ instancePath: s7 + "/daysElapsed", schemaPath: "#/properties/daysElapsed/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
7141
+ if (e4 === u4 && typeof o12 == "number" && isFinite(o12)) {
7142
+ if (o12 > 7 || isNaN(o12)) return f2.errors = [{ instancePath: s7 + "/daysElapsed", schemaPath: "#/properties/daysElapsed/maximum", keyword: "maximum", params: { comparison: "<=", limit: 7 }, message: "must be <= 7" }], false;
7143
+ if (o12 < 1 || isNaN(o12)) return f2.errors = [{ instancePath: s7 + "/daysElapsed", schemaPath: "#/properties/daysElapsed/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }], false;
6950
7144
  }
6951
7145
  var a5 = u4 === e4;
6952
7146
  } else var a5 = true;
6953
7147
  if (a5) {
6954
7148
  if (r2.hiddenProjectCount !== void 0) {
6955
- let o11 = r2.hiddenProjectCount, u4 = e4;
6956
- if (!(typeof o11 == "number" && !(o11 % 1) && !isNaN(o11) && isFinite(o11))) return f2.errors = [{ instancePath: s7 + "/hiddenProjectCount", schemaPath: "#/properties/hiddenProjectCount/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
6957
- if (e4 === u4 && typeof o11 == "number" && isFinite(o11) && (o11 < 0 || isNaN(o11))) return f2.errors = [{ instancePath: s7 + "/hiddenProjectCount", schemaPath: "#/properties/hiddenProjectCount/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }], false;
7149
+ let o12 = r2.hiddenProjectCount, u4 = e4;
7150
+ if (!(typeof o12 == "number" && !(o12 % 1) && !isNaN(o12) && isFinite(o12))) return f2.errors = [{ instancePath: s7 + "/hiddenProjectCount", schemaPath: "#/properties/hiddenProjectCount/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
7151
+ if (e4 === u4 && typeof o12 == "number" && isFinite(o12) && (o12 < 0 || isNaN(o12))) return f2.errors = [{ instancePath: s7 + "/hiddenProjectCount", schemaPath: "#/properties/hiddenProjectCount/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }], false;
6958
7152
  var a5 = u4 === e4;
6959
7153
  } else var a5 = true;
6960
7154
  if (a5) {
6961
7155
  if (r2.isCurrentWeek !== void 0) {
6962
- let o11 = e4;
7156
+ let o12 = e4;
6963
7157
  if (typeof r2.isCurrentWeek != "boolean") return f2.errors = [{ instancePath: s7 + "/isCurrentWeek", schemaPath: "#/properties/isCurrentWeek/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
6964
- var a5 = o11 === e4;
7158
+ var a5 = o12 === e4;
6965
7159
  } else var a5 = true;
6966
7160
  if (a5) {
6967
7161
  if (r2.projects !== void 0) {
6968
- let o11 = r2.projects, u4 = e4;
6969
- if (e4 === u4) if (Array.isArray(o11)) {
6970
- if (o11.length > 10) return f2.errors = [{ instancePath: s7 + "/projects", schemaPath: "#/properties/projects/maxItems", keyword: "maxItems", params: { limit: 10 }, message: "must NOT have more than 10 items" }], false;
7162
+ let o12 = r2.projects, u4 = e4;
7163
+ if (e4 === u4) if (Array.isArray(o12)) {
7164
+ if (o12.length > 10) return f2.errors = [{ instancePath: s7 + "/projects", schemaPath: "#/properties/projects/maxItems", keyword: "maxItems", params: { limit: 10 }, message: "must NOT have more than 10 items" }], false;
6971
7165
  {
6972
7166
  var p6 = true;
6973
- let O2 = o11.length;
7167
+ let O2 = o12.length;
6974
7168
  for (let g = 0; g < O2; g++) {
6975
7169
  let D2 = e4;
6976
- y2(o11[g], { instancePath: s7 + "/projects/" + g, parentData: o11, parentDataProperty: g, rootData: b4 }) || (m6 = m6 === null ? y2.errors : m6.concat(y2.errors), e4 = m6.length);
7170
+ y2(o12[g], { instancePath: s7 + "/projects/" + g, parentData: o12, parentDataProperty: g, rootData: b4 }) || (m6 = m6 === null ? y2.errors : m6.concat(y2.errors), e4 = m6.length);
6977
7171
  var p6 = D2 === e4;
6978
7172
  if (!p6) break;
6979
7173
  }
@@ -6983,15 +7177,15 @@ function f2(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3,
6983
7177
  } else var a5 = true;
6984
7178
  if (a5) {
6985
7179
  if (r2.signals !== void 0) {
6986
- let o11 = r2.signals, u4 = e4;
6987
- if (e4 === u4) if (Array.isArray(o11)) {
6988
- if (o11.length > 4) return f2.errors = [{ instancePath: s7 + "/signals", schemaPath: "#/properties/signals/maxItems", keyword: "maxItems", params: { limit: 4 }, message: "must NOT have more than 4 items" }], false;
7180
+ let o12 = r2.signals, u4 = e4;
7181
+ if (e4 === u4) if (Array.isArray(o12)) {
7182
+ if (o12.length > 4) return f2.errors = [{ instancePath: s7 + "/signals", schemaPath: "#/properties/signals/maxItems", keyword: "maxItems", params: { limit: 4 }, message: "must NOT have more than 4 items" }], false;
6989
7183
  {
6990
7184
  var d5 = true;
6991
- let O2 = o11.length;
7185
+ let O2 = o12.length;
6992
7186
  for (let g = 0; g < O2; g++) {
6993
7187
  let D2 = e4;
6994
- h9(o11[g], { instancePath: s7 + "/signals/" + g, parentData: o11, parentDataProperty: g, rootData: b4 }) || (m6 = m6 === null ? h9.errors : m6.concat(h9.errors), e4 = m6.length);
7188
+ h10(o12[g], { instancePath: s7 + "/signals/" + g, parentData: o12, parentDataProperty: g, rootData: b4 }) || (m6 = m6 === null ? h10.errors : m6.concat(h10.errors), e4 = m6.length);
6995
7189
  var d5 = D2 === e4;
6996
7190
  if (!d5) break;
6997
7191
  }
@@ -7001,16 +7195,16 @@ function f2(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3,
7001
7195
  } else var a5 = true;
7002
7196
  if (a5) {
7003
7197
  if (r2.totals !== void 0) {
7004
- let o11 = r2.totals, u4 = e4;
7005
- if (e4 === u4) if (Array.isArray(o11)) {
7006
- if (o11.length > 8) return f2.errors = [{ instancePath: s7 + "/totals", schemaPath: "#/properties/totals/maxItems", keyword: "maxItems", params: { limit: 8 }, message: "must NOT have more than 8 items" }], false;
7007
- if (o11.length < 8) return f2.errors = [{ instancePath: s7 + "/totals", schemaPath: "#/properties/totals/minItems", keyword: "minItems", params: { limit: 8 }, message: "must NOT have fewer than 8 items" }], false;
7198
+ let o12 = r2.totals, u4 = e4;
7199
+ if (e4 === u4) if (Array.isArray(o12)) {
7200
+ if (o12.length > 8) return f2.errors = [{ instancePath: s7 + "/totals", schemaPath: "#/properties/totals/maxItems", keyword: "maxItems", params: { limit: 8 }, message: "must NOT have more than 8 items" }], false;
7201
+ if (o12.length < 8) return f2.errors = [{ instancePath: s7 + "/totals", schemaPath: "#/properties/totals/minItems", keyword: "minItems", params: { limit: 8 }, message: "must NOT have fewer than 8 items" }], false;
7008
7202
  {
7009
7203
  var i5 = true;
7010
- let O2 = o11.length;
7204
+ let O2 = o12.length;
7011
7205
  for (let g = 0; g < O2; g++) {
7012
7206
  let D2 = e4;
7013
- v5(o11[g], { instancePath: s7 + "/totals/" + g, parentData: o11, parentDataProperty: g, rootData: b4 }) || (m6 = m6 === null ? v5.errors : m6.concat(v5.errors), e4 = m6.length);
7207
+ v5(o12[g], { instancePath: s7 + "/totals/" + g, parentData: o12, parentDataProperty: g, rootData: b4 }) || (m6 = m6 === null ? v5.errors : m6.concat(v5.errors), e4 = m6.length);
7014
7208
  var i5 = D2 === e4;
7015
7209
  if (!i5) break;
7016
7210
  }
@@ -7020,22 +7214,22 @@ function f2(r2, { instancePath: s7 = "", parentData: I2, parentDataProperty: S3,
7020
7214
  } else var a5 = true;
7021
7215
  if (a5) {
7022
7216
  if (r2.weekOf !== void 0) {
7023
- let o11 = r2.weekOf, u4 = e4;
7024
- if (e4 === u4) if (typeof o11 == "string") {
7025
- if (!e2.test(o11)) return f2.errors = [{ instancePath: s7 + "/weekOf", schemaPath: "#/properties/weekOf/pattern", keyword: "pattern", params: { pattern: "^\\d{4}-\\d{2}-\\d{2}$" }, message: 'must match pattern "^\\d{4}-\\d{2}-\\d{2}$"' }], false;
7217
+ let o12 = r2.weekOf, u4 = e4;
7218
+ if (e4 === u4) if (typeof o12 == "string") {
7219
+ if (!e2.test(o12)) return f2.errors = [{ instancePath: s7 + "/weekOf", schemaPath: "#/properties/weekOf/pattern", keyword: "pattern", params: { pattern: "^\\d{4}-\\d{2}-\\d{2}$" }, message: 'must match pattern "^\\d{4}-\\d{2}-\\d{2}$"' }], false;
7026
7220
  } else return f2.errors = [{ instancePath: s7 + "/weekOf", schemaPath: "#/properties/weekOf/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7027
7221
  var a5 = u4 === e4;
7028
7222
  } else var a5 = true;
7029
7223
  if (a5) if (r2.weeks !== void 0) {
7030
- let o11 = r2.weeks, u4 = e4;
7031
- if (e4 === u4) if (Array.isArray(o11)) {
7032
- if (o11.length > 8) return f2.errors = [{ instancePath: s7 + "/weeks", schemaPath: "#/properties/weeks/maxItems", keyword: "maxItems", params: { limit: 8 }, message: "must NOT have more than 8 items" }], false;
7033
- if (o11.length < 8) return f2.errors = [{ instancePath: s7 + "/weeks", schemaPath: "#/properties/weeks/minItems", keyword: "minItems", params: { limit: 8 }, message: "must NOT have fewer than 8 items" }], false;
7224
+ let o12 = r2.weeks, u4 = e4;
7225
+ if (e4 === u4) if (Array.isArray(o12)) {
7226
+ if (o12.length > 8) return f2.errors = [{ instancePath: s7 + "/weeks", schemaPath: "#/properties/weeks/maxItems", keyword: "maxItems", params: { limit: 8 }, message: "must NOT have more than 8 items" }], false;
7227
+ if (o12.length < 8) return f2.errors = [{ instancePath: s7 + "/weeks", schemaPath: "#/properties/weeks/minItems", keyword: "minItems", params: { limit: 8 }, message: "must NOT have fewer than 8 items" }], false;
7034
7228
  {
7035
7229
  var n7 = true;
7036
- let O2 = o11.length;
7230
+ let O2 = o12.length;
7037
7231
  for (let g = 0; g < O2; g++) {
7038
- let D2 = o11[g], x4 = e4;
7232
+ let D2 = o12[g], x4 = e4;
7039
7233
  if (e4 === x4) if (typeof D2 == "string") {
7040
7234
  if (!e2.test(D2)) return f2.errors = [{ instancePath: s7 + "/weeks/" + g, schemaPath: "#/properties/weeks/items/pattern", keyword: "pattern", params: { pattern: "^\\d{4}-\\d{2}-\\d{2}$" }, message: 'must match pattern "^\\d{4}-\\d{2}-\\d{2}$"' }], false;
7041
7235
  } else return f2.errors = [{ instancePath: s7 + "/weeks/" + g, schemaPath: "#/properties/weeks/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
@@ -7240,8 +7434,8 @@ var w2 = { additionalProperties: false, properties: { candidates: { items: { add
7240
7434
  function s6(l4, { instancePath: i5 = "", parentData: x4, parentDataProperty: I2, rootData: B = l4 } = {}) {
7241
7435
  let D2 = null, e4 = 0;
7242
7436
  if (e4 === 0) if (l4 && typeof l4 == "object" && !Array.isArray(l4)) {
7243
- let h10;
7244
- if (l4.project === void 0 && (h10 = "project") || l4.username === void 0 && (h10 = "username") || l4.revision === void 0 && (h10 = "revision") || l4.suggestedSlug === void 0 && (h10 = "suggestedSlug") || l4.suggestedTitle === void 0 && (h10 = "suggestedTitle") || l4.publication === void 0 && (h10 = "publication") || l4.counts === void 0 && (h10 = "counts") || l4.candidates === void 0 && (h10 = "candidates") || l4.candidatesTruncated === void 0 && (h10 = "candidatesTruncated")) return s6.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: h10 }, message: "must have required property '" + h10 + "'" }], false;
7437
+ let h11;
7438
+ if (l4.project === void 0 && (h11 = "project") || l4.username === void 0 && (h11 = "username") || l4.revision === void 0 && (h11 = "revision") || l4.suggestedSlug === void 0 && (h11 = "suggestedSlug") || l4.suggestedTitle === void 0 && (h11 = "suggestedTitle") || l4.publication === void 0 && (h11 = "publication") || l4.counts === void 0 && (h11 = "counts") || l4.candidates === void 0 && (h11 = "candidates") || l4.candidatesTruncated === void 0 && (h11 = "candidatesTruncated")) return s6.errors = [{ instancePath: i5, schemaPath: "#/required", keyword: "required", params: { missingProperty: h11 }, message: "must have required property '" + h11 + "'" }], false;
7245
7439
  {
7246
7440
  let $2 = e4;
7247
7441
  for (let t8 in l4) if (!t4.call(w2.properties, t8)) {
@@ -7255,43 +7449,43 @@ function s6(l4, { instancePath: i5 = "", parentData: x4, parentDataProperty: I2,
7255
7449
  var M = true;
7256
7450
  let O2 = t8.length;
7257
7451
  for (let n7 = 0; n7 < O2; n7++) {
7258
- let o11 = t8[n7], r2 = e4;
7259
- if (e4 === r2) if (o11 && typeof o11 == "object" && !Array.isArray(o11)) {
7452
+ let o12 = t8[n7], r2 = e4;
7453
+ if (e4 === r2) if (o12 && typeof o12 == "object" && !Array.isArray(o12)) {
7260
7454
  let y3;
7261
- if (o11.entryId === void 0 && (y3 = "entryId") || o11.localDay === void 0 && (y3 = "localDay") || o11.outcome === void 0 && (y3 = "outcome") || o11.details === void 0 && (y3 = "details") || o11.artifactUrl === void 0 && (y3 = "artifactUrl") || o11.durationSeconds === void 0 && (y3 = "durationSeconds") || o11.provenance === void 0 && (y3 = "provenance") || o11.captureSource === void 0 && (y3 = "captureSource") || o11.loggedLate === void 0 && (y3 = "loggedLate") || o11.digest === void 0 && (y3 = "digest") || o11.fieldVersion === void 0 && (y3 = "fieldVersion") || o11.agentLabel === void 0 && (y3 = "agentLabel") || o11.suggestedArtifactKind === void 0 && (y3 = "suggestedArtifactKind") || o11.state === void 0 && (y3 = "state") || o11.selection === void 0 && (y3 = "selection")) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7, schemaPath: "#/properties/candidates/items/required", keyword: "required", params: { missingProperty: y3 }, message: "must have required property '" + y3 + "'" }], false;
7455
+ if (o12.entryId === void 0 && (y3 = "entryId") || o12.localDay === void 0 && (y3 = "localDay") || o12.outcome === void 0 && (y3 = "outcome") || o12.details === void 0 && (y3 = "details") || o12.artifactUrl === void 0 && (y3 = "artifactUrl") || o12.durationSeconds === void 0 && (y3 = "durationSeconds") || o12.provenance === void 0 && (y3 = "provenance") || o12.captureSource === void 0 && (y3 = "captureSource") || o12.loggedLate === void 0 && (y3 = "loggedLate") || o12.digest === void 0 && (y3 = "digest") || o12.fieldVersion === void 0 && (y3 = "fieldVersion") || o12.agentLabel === void 0 && (y3 = "agentLabel") || o12.suggestedArtifactKind === void 0 && (y3 = "suggestedArtifactKind") || o12.state === void 0 && (y3 = "state") || o12.selection === void 0 && (y3 = "selection")) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7, schemaPath: "#/properties/candidates/items/required", keyword: "required", params: { missingProperty: y3 }, message: "must have required property '" + y3 + "'" }], false;
7262
7456
  {
7263
7457
  let P4 = e4;
7264
- for (let a5 in o11) if (!t4.call(w2.properties.candidates.items.properties, a5)) {
7458
+ for (let a5 in o12) if (!t4.call(w2.properties.candidates.items.properties, a5)) {
7265
7459
  return s6.errors = [{ instancePath: i5 + "/candidates/" + n7, schemaPath: "#/properties/candidates/items/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: a5 }, message: "must NOT have additional properties" }], false;
7266
7460
  break;
7267
7461
  }
7268
7462
  if (P4 === e4) {
7269
- if (o11.agentLabel !== void 0) {
7270
- let a5 = o11.agentLabel, p6 = e4;
7463
+ if (o12.agentLabel !== void 0) {
7464
+ let a5 = o12.agentLabel, p6 = e4;
7271
7465
  if (typeof a5 != "string" && a5 !== null) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/agentLabel", schemaPath: "#/properties/candidates/items/properties/agentLabel/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7272
7466
  var d5 = p6 === e4;
7273
7467
  } else var d5 = true;
7274
7468
  if (d5) {
7275
- if (o11.artifactUrl !== void 0) {
7276
- let a5 = o11.artifactUrl, p6 = e4;
7469
+ if (o12.artifactUrl !== void 0) {
7470
+ let a5 = o12.artifactUrl, p6 = e4;
7277
7471
  if (typeof a5 != "string" && a5 !== null) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/artifactUrl", schemaPath: "#/properties/candidates/items/properties/artifactUrl/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7278
7472
  var d5 = p6 === e4;
7279
7473
  } else var d5 = true;
7280
7474
  if (d5) {
7281
- if (o11.captureSource !== void 0) {
7475
+ if (o12.captureSource !== void 0) {
7282
7476
  let a5 = e4;
7283
- if (typeof o11.captureSource != "string") return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/captureSource", schemaPath: "#/properties/candidates/items/properties/captureSource/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7477
+ if (typeof o12.captureSource != "string") return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/captureSource", schemaPath: "#/properties/candidates/items/properties/captureSource/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7284
7478
  var d5 = a5 === e4;
7285
7479
  } else var d5 = true;
7286
7480
  if (d5) {
7287
- if (o11.details !== void 0) {
7288
- let a5 = o11.details, p6 = e4;
7481
+ if (o12.details !== void 0) {
7482
+ let a5 = o12.details, p6 = e4;
7289
7483
  if (e4 === p6) if (Array.isArray(a5)) {
7290
7484
  var V = true;
7291
7485
  let A2 = a5.length;
7292
- for (let _ = 0; _ < A2; _++) {
7486
+ for (let _2 = 0; _2 < A2; _2++) {
7293
7487
  let g = e4;
7294
- if (typeof a5[_] != "string") return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/details/" + _, schemaPath: "#/properties/candidates/items/properties/details/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7488
+ if (typeof a5[_2] != "string") return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/details/" + _2, schemaPath: "#/properties/candidates/items/properties/details/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7295
7489
  var V = g === e4;
7296
7490
  if (!V) break;
7297
7491
  }
@@ -7299,76 +7493,76 @@ function s6(l4, { instancePath: i5 = "", parentData: x4, parentDataProperty: I2,
7299
7493
  var d5 = p6 === e4;
7300
7494
  } else var d5 = true;
7301
7495
  if (d5) {
7302
- if (o11.digest !== void 0) {
7303
- let a5 = o11.digest, p6 = e4;
7496
+ if (o12.digest !== void 0) {
7497
+ let a5 = o12.digest, p6 = e4;
7304
7498
  if (e4 === p6) if (typeof a5 == "string") {
7305
7499
  if (!e3.test(a5)) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/digest", schemaPath: "#/properties/candidates/items/properties/digest/pattern", keyword: "pattern", params: { pattern: "^[a-f0-9]{64}$" }, message: 'must match pattern "^[a-f0-9]{64}$"' }], false;
7306
7500
  } else return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/digest", schemaPath: "#/properties/candidates/items/properties/digest/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7307
7501
  var d5 = p6 === e4;
7308
7502
  } else var d5 = true;
7309
7503
  if (d5) {
7310
- if (o11.durationSeconds !== void 0) {
7311
- let a5 = o11.durationSeconds, p6 = e4;
7504
+ if (o12.durationSeconds !== void 0) {
7505
+ let a5 = o12.durationSeconds, p6 = e4;
7312
7506
  if (!(typeof a5 == "number" && !(a5 % 1) && !isNaN(a5) && isFinite(a5))) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/durationSeconds", schemaPath: "#/properties/candidates/items/properties/durationSeconds/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
7313
7507
  if (e4 === p6 && typeof a5 == "number" && isFinite(a5) && (a5 < 0 || isNaN(a5))) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/durationSeconds", schemaPath: "#/properties/candidates/items/properties/durationSeconds/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }], false;
7314
7508
  var d5 = p6 === e4;
7315
7509
  } else var d5 = true;
7316
7510
  if (d5) {
7317
- if (o11.entryId !== void 0) {
7318
- let a5 = o11.entryId, p6 = e4;
7511
+ if (o12.entryId !== void 0) {
7512
+ let a5 = o12.entryId, p6 = e4;
7319
7513
  if (e4 === p6 && e4 === p6) if (typeof a5 == "string") {
7320
7514
  if (!a2.test(a5)) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/entryId", schemaPath: "#/properties/candidates/items/properties/entryId/format", keyword: "format", params: { format: "uuid" }, message: 'must match format "uuid"' }], false;
7321
7515
  } else return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/entryId", schemaPath: "#/properties/candidates/items/properties/entryId/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7322
7516
  var d5 = p6 === e4;
7323
7517
  } else var d5 = true;
7324
7518
  if (d5) {
7325
- if (o11.fieldVersion !== void 0) {
7326
- let a5 = o11.fieldVersion, p6 = e4;
7519
+ if (o12.fieldVersion !== void 0) {
7520
+ let a5 = o12.fieldVersion, p6 = e4;
7327
7521
  if (!(typeof a5 == "number" && !(a5 % 1) && !isNaN(a5) && isFinite(a5))) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/fieldVersion", schemaPath: "#/properties/candidates/items/properties/fieldVersion/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
7328
7522
  if (e4 === p6 && typeof a5 == "number" && isFinite(a5) && (a5 < 0 || isNaN(a5))) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/fieldVersion", schemaPath: "#/properties/candidates/items/properties/fieldVersion/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }], false;
7329
7523
  var d5 = p6 === e4;
7330
7524
  } else var d5 = true;
7331
7525
  if (d5) {
7332
- if (o11.localDay !== void 0) {
7333
- let a5 = o11.localDay, p6 = e4;
7526
+ if (o12.localDay !== void 0) {
7527
+ let a5 = o12.localDay, p6 = e4;
7334
7528
  if (e4 === p6) if (typeof a5 == "string") {
7335
7529
  if (!e2.test(a5)) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/localDay", schemaPath: "#/properties/candidates/items/properties/localDay/pattern", keyword: "pattern", params: { pattern: "^\\d{4}-\\d{2}-\\d{2}$" }, message: 'must match pattern "^\\d{4}-\\d{2}-\\d{2}$"' }], false;
7336
7530
  } else return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/localDay", schemaPath: "#/properties/candidates/items/properties/localDay/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7337
7531
  var d5 = p6 === e4;
7338
7532
  } else var d5 = true;
7339
7533
  if (d5) {
7340
- if (o11.loggedLate !== void 0) {
7534
+ if (o12.loggedLate !== void 0) {
7341
7535
  let a5 = e4;
7342
- if (typeof o11.loggedLate != "boolean") return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/loggedLate", schemaPath: "#/properties/candidates/items/properties/loggedLate/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
7536
+ if (typeof o12.loggedLate != "boolean") return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/loggedLate", schemaPath: "#/properties/candidates/items/properties/loggedLate/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
7343
7537
  var d5 = a5 === e4;
7344
7538
  } else var d5 = true;
7345
7539
  if (d5) {
7346
- if (o11.outcome !== void 0) {
7540
+ if (o12.outcome !== void 0) {
7347
7541
  let a5 = e4;
7348
- if (typeof o11.outcome != "string") return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/outcome", schemaPath: "#/properties/candidates/items/properties/outcome/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7542
+ if (typeof o12.outcome != "string") return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/outcome", schemaPath: "#/properties/candidates/items/properties/outcome/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7349
7543
  var d5 = a5 === e4;
7350
7544
  } else var d5 = true;
7351
7545
  if (d5) {
7352
- if (o11.provenance !== void 0) {
7353
- let a5 = o11.provenance, p6 = e4;
7546
+ if (o12.provenance !== void 0) {
7547
+ let a5 = o12.provenance, p6 = e4;
7354
7548
  if (typeof a5 != "string") return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/provenance", schemaPath: "#/properties/candidates/items/properties/provenance/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7355
7549
  if (!(a5 === "personal" || a5 === "agent")) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/provenance", schemaPath: "#/properties/candidates/items/properties/provenance/enum", keyword: "enum", params: { allowedValues: w2.properties.candidates.items.properties.provenance.enum }, message: "must be equal to one of the allowed values" }], false;
7356
7550
  var d5 = p6 === e4;
7357
7551
  } else var d5 = true;
7358
7552
  if (d5) {
7359
- if (o11.selection !== void 0) {
7360
- let a5 = o11.selection, p6 = e4;
7553
+ if (o12.selection !== void 0) {
7554
+ let a5 = o12.selection, p6 = e4;
7361
7555
  if (!(a5 && typeof a5 == "object" && !Array.isArray(a5)) && a5 !== null) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/selection", schemaPath: "#/properties/candidates/items/properties/selection/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
7362
7556
  if (e4 === p6 && a5 && typeof a5 == "object" && !Array.isArray(a5)) {
7363
7557
  let A2;
7364
7558
  if (a5.artifactKind === void 0 && (A2 = "artifactKind") || a5.selectedAt === void 0 && (A2 = "selectedAt")) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/selection", schemaPath: "#/properties/candidates/items/properties/selection/required", keyword: "required", params: { missingProperty: A2 }, message: "must have required property '" + A2 + "'" }], false;
7365
7559
  {
7366
- let _ = e4;
7560
+ let _2 = e4;
7367
7561
  for (let g in a5) if (!(g === "artifactKind" || g === "selectedAt")) {
7368
7562
  return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/selection", schemaPath: "#/properties/candidates/items/properties/selection/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: g }, message: "must NOT have additional properties" }], false;
7369
7563
  break;
7370
7564
  }
7371
- if (_ === e4) {
7565
+ if (_2 === e4) {
7372
7566
  if (a5.artifactKind !== void 0) {
7373
7567
  let g = a5.artifactKind, j2 = e4;
7374
7568
  if (typeof g != "string" && g !== null) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/selection/artifactKind", schemaPath: "#/properties/candidates/items/properties/selection/properties/artifactKind/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
@@ -7388,14 +7582,14 @@ function s6(l4, { instancePath: i5 = "", parentData: x4, parentDataProperty: I2,
7388
7582
  var d5 = p6 === e4;
7389
7583
  } else var d5 = true;
7390
7584
  if (d5) {
7391
- if (o11.state !== void 0) {
7392
- let a5 = o11.state, p6 = e4;
7585
+ if (o12.state !== void 0) {
7586
+ let a5 = o12.state, p6 = e4;
7393
7587
  if (typeof a5 != "string") return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/state", schemaPath: "#/properties/candidates/items/properties/state/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7394
7588
  if (!(a5 === "public" || a5 === "changed" || a5 === "new" || a5 === "private")) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/state", schemaPath: "#/properties/candidates/items/properties/state/enum", keyword: "enum", params: { allowedValues: w2.properties.candidates.items.properties.state.enum }, message: "must be equal to one of the allowed values" }], false;
7395
7589
  var d5 = p6 === e4;
7396
7590
  } else var d5 = true;
7397
- if (d5) if (o11.suggestedArtifactKind !== void 0) {
7398
- let a5 = o11.suggestedArtifactKind, p6 = e4;
7591
+ if (d5) if (o12.suggestedArtifactKind !== void 0) {
7592
+ let a5 = o12.suggestedArtifactKind, p6 = e4;
7399
7593
  if (typeof a5 != "string" && a5 !== null) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/suggestedArtifactKind", schemaPath: "#/properties/candidates/items/properties/suggestedArtifactKind/type", keyword: "type", params: { type: "string" }, message: "must be string" }], false;
7400
7594
  if (!(a5 === "code" || a5 === "design" || a5 === "document" || a5 === "demo" || a5 === "other" || a5 === null)) return s6.errors = [{ instancePath: i5 + "/candidates/" + n7 + "/suggestedArtifactKind", schemaPath: "#/properties/candidates/items/properties/suggestedArtifactKind/enum", keyword: "enum", params: { allowedValues: w2.properties.candidates.items.properties.suggestedArtifactKind.enum }, message: "must be equal to one of the allowed values" }], false;
7401
7595
  var d5 = p6 === e4;
@@ -7435,12 +7629,12 @@ function s6(l4, { instancePath: i5 = "", parentData: x4, parentDataProperty: I2,
7435
7629
  let n7;
7436
7630
  if (t8.public === void 0 && (n7 = "public") || t8.changed === void 0 && (n7 = "changed") || t8.new === void 0 && (n7 = "new") || t8.eligible === void 0 && (n7 = "eligible")) return s6.errors = [{ instancePath: i5 + "/counts", schemaPath: "#/properties/counts/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
7437
7631
  {
7438
- let o11 = e4;
7632
+ let o12 = e4;
7439
7633
  for (let r2 in t8) if (!(r2 === "changed" || r2 === "eligible" || r2 === "new" || r2 === "public")) {
7440
7634
  return s6.errors = [{ instancePath: i5 + "/counts", schemaPath: "#/properties/counts/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: r2 }, message: "must NOT have additional properties" }], false;
7441
7635
  break;
7442
7636
  }
7443
- if (o11 === e4) {
7637
+ if (o12 === e4) {
7444
7638
  if (t8.changed !== void 0) {
7445
7639
  let r2 = t8.changed, u4 = e4;
7446
7640
  if (!(typeof r2 == "number" && !(r2 % 1) && !isNaN(r2) && isFinite(r2))) return s6.errors = [{ instancePath: i5 + "/counts/changed", schemaPath: "#/properties/counts/properties/changed/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }], false;
@@ -7481,12 +7675,12 @@ function s6(l4, { instancePath: i5 = "", parentData: x4, parentDataProperty: I2,
7481
7675
  let n7;
7482
7676
  if (t8.id === void 0 && (n7 = "id") || t8.name === void 0 && (n7 = "name") || t8.color === void 0 && (n7 = "color") || t8.archived === void 0 && (n7 = "archived")) return s6.errors = [{ instancePath: i5 + "/project", schemaPath: "#/properties/project/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
7483
7677
  {
7484
- let o11 = e4;
7678
+ let o12 = e4;
7485
7679
  for (let r2 in t8) if (!(r2 === "archived" || r2 === "color" || r2 === "id" || r2 === "name")) {
7486
7680
  return s6.errors = [{ instancePath: i5 + "/project", schemaPath: "#/properties/project/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: r2 }, message: "must NOT have additional properties" }], false;
7487
7681
  break;
7488
7682
  }
7489
- if (o11 === e4) {
7683
+ if (o12 === e4) {
7490
7684
  if (t8.archived !== void 0) {
7491
7685
  let r2 = e4;
7492
7686
  if (typeof t8.archived != "boolean") return s6.errors = [{ instancePath: i5 + "/project/archived", schemaPath: "#/properties/project/properties/archived/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
@@ -7526,12 +7720,12 @@ function s6(l4, { instancePath: i5 = "", parentData: x4, parentDataProperty: I2,
7526
7720
  let n7;
7527
7721
  if (t8.id === void 0 && (n7 = "id") || t8.slug === void 0 && (n7 = "slug") || t8.publicTitle === void 0 && (n7 = "publicTitle") || t8.publicSummary === void 0 && (n7 = "publicSummary") || t8.status === void 0 && (n7 = "status") || t8.hiddenByModeration === void 0 && (n7 = "hiddenByModeration") || t8.publishedAt === void 0 && (n7 = "publishedAt") || t8.reviewedAt === void 0 && (n7 = "reviewedAt") || t8.updatedAt === void 0 && (n7 = "updatedAt") || t8.links === void 0 && (n7 = "links")) return s6.errors = [{ instancePath: i5 + "/publication", schemaPath: "#/properties/publication/required", keyword: "required", params: { missingProperty: n7 }, message: "must have required property '" + n7 + "'" }], false;
7528
7722
  {
7529
- let o11 = e4;
7723
+ let o12 = e4;
7530
7724
  for (let r2 in t8) if (!t4.call(w2.properties.publication.properties, r2)) {
7531
7725
  return s6.errors = [{ instancePath: i5 + "/publication", schemaPath: "#/properties/publication/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: r2 }, message: "must NOT have additional properties" }], false;
7532
7726
  break;
7533
7727
  }
7534
- if (o11 === e4) {
7728
+ if (o12 === e4) {
7535
7729
  if (t8.hiddenByModeration !== void 0) {
7536
7730
  let r2 = e4;
7537
7731
  if (typeof t8.hiddenByModeration != "boolean") return s6.errors = [{ instancePath: i5 + "/publication/hiddenByModeration", schemaPath: "#/properties/publication/properties/hiddenByModeration/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }], false;
@@ -7693,7 +7887,7 @@ function s6(l4, { instancePath: i5 = "", parentData: x4, parentDataProperty: I2,
7693
7887
  }
7694
7888
 
7695
7889
  // ../../packages/contracts/src/generated/validators/getV1ProjectsByIdPublication200.js
7696
- function o10(r2, { instancePath: s7 = "", parentData: m6, parentDataProperty: u4, rootData: n7 = r2 } = {}) {
7890
+ function o11(r2, { instancePath: s7 = "", parentData: m6, parentDataProperty: u4, rootData: n7 = r2 } = {}) {
7697
7891
  let e4 = null, t8 = 0, d5 = t8;
7698
7892
  i(r2, { instancePath: s7, parentData: m6, parentDataProperty: u4, rootData: n7 }) || (e4 = e4 === null ? i.errors : e4.concat(i.errors), t8 = e4.length);
7699
7893
  var f3 = d5 === t8;
@@ -7701,14 +7895,14 @@ function o10(r2, { instancePath: s7 = "", parentData: m6, parentDataProperty: u4
7701
7895
  let p6 = t8;
7702
7896
  if (t8 === p6) if (r2 && typeof r2 == "object" && !Array.isArray(r2)) {
7703
7897
  let l4;
7704
- if (r2.data === void 0 && (l4 = "data")) return o10.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
7898
+ if (r2.data === void 0 && (l4 = "data")) return o11.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/required", keyword: "required", params: { missingProperty: l4 }, message: "must have required property '" + l4 + "'" }], false;
7705
7899
  r2.data !== void 0 && (s6(r2.data, { instancePath: s7 + "/data", parentData: r2, parentDataProperty: "data", rootData: n7 }) || (e4 = e4 === null ? s6.errors : e4.concat(s6.errors), t8 = e4.length));
7706
- } else return o10.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
7900
+ } else return o11.errors = [{ instancePath: s7, schemaPath: "#/allOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" }], false;
7707
7901
  var f3 = p6 === t8;
7708
7902
  }
7709
- return o10.errors = e4, t8 === 0;
7903
+ return o11.errors = e4, t8 === 0;
7710
7904
  }
7711
- var b3 = o10;
7905
+ var b3 = o11;
7712
7906
 
7713
7907
  // ../../packages/contracts/src/generated/endpoints/getV1ProjectsByIdPublication.ts
7714
7908
  var getV1ProjectsByIdPublication = {
@@ -7849,7 +8043,7 @@ for (const [name, description, done] of [
7849
8043
 
7850
8044
  // src/index.ts
7851
8045
  var program = new Command12();
7852
- program.name("flowmind").description("Flowmind CLI (also installed as fm)").version("0.3.9").enablePositionalOptions();
8046
+ program.name("flowmind").description("Flowmind CLI (also installed as fm)").version("0.3.11").enablePositionalOptions();
7853
8047
  program.addCommand(agentCommand);
7854
8048
  program.addCommand(authCommand);
7855
8049
  program.addCommand(logCommand);