@koda-sl/baker-cli 0.482.0 → 0.483.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/README.md +1 -1
  2. package/dist/{animate-3LV3LHXQ.js → animate-SVEPM267.js} +4 -4
  3. package/dist/{brand-CINQG3JG.js → brand-LAIIXZBL.js} +2 -2
  4. package/dist/{brief-WAQ2V6Q4.js → brief-7PICJ4CO.js} +13 -13
  5. package/dist/{canvas-A4XKEBN7.js → canvas-YS3ONCCX.js} +13 -13
  6. package/dist/{catalog-SJBGNNY4.js → catalog-RS4F5YK3.js} +8 -8
  7. package/dist/{check-GCZ2ZBKH.js → check-5RW2MX7V.js} +9 -9
  8. package/dist/{chunk-XSGO44OV.js → chunk-27DJRM3F.js} +4 -4
  9. package/dist/{chunk-WMVTIKET.js → chunk-3PXC2OXT.js} +2 -2
  10. package/dist/{chunk-U2452GLO.js → chunk-4AMIHNNP.js} +11 -6
  11. package/dist/chunk-4AMIHNNP.js.map +1 -0
  12. package/dist/{chunk-5YKC2WWG.js → chunk-4S4WDXJR.js} +6 -6
  13. package/dist/{chunk-GQ6JS5MR.js → chunk-4VB7F422.js} +56 -11
  14. package/dist/{chunk-GQ6JS5MR.js.map → chunk-4VB7F422.js.map} +1 -1
  15. package/dist/{chunk-ELL2IQMF.js → chunk-62JQQUAU.js} +12 -11
  16. package/dist/chunk-62JQQUAU.js.map +1 -0
  17. package/dist/{chunk-2DHHL4PU.js → chunk-66WEOQV5.js} +3 -3
  18. package/dist/{chunk-5RCCESDX.js → chunk-AXDKLXCG.js} +120 -41
  19. package/dist/chunk-AXDKLXCG.js.map +1 -0
  20. package/dist/{chunk-6KK26F2T.js → chunk-BTY4LZBG.js} +2 -2
  21. package/dist/{chunk-Q7YZL7PG.js → chunk-CS5JF52J.js} +2 -2
  22. package/dist/{chunk-5NS4CNF6.js → chunk-E2RFM6R2.js} +5 -5
  23. package/dist/{chunk-BSEB55E6.js → chunk-EOY6BK4C.js} +2 -2
  24. package/dist/{chunk-MMVLRUMK.js → chunk-G2LGMWNG.js} +27 -12
  25. package/dist/chunk-G2LGMWNG.js.map +1 -0
  26. package/dist/{chunk-ZBV5IV5T.js → chunk-IKCP5NCE.js} +2 -2
  27. package/dist/{chunk-RTWRNG3E.js → chunk-IN6AW5P3.js} +18 -8
  28. package/dist/{chunk-RTWRNG3E.js.map → chunk-IN6AW5P3.js.map} +1 -1
  29. package/dist/{chunk-DF22CTXE.js → chunk-IX2QLW6G.js} +2 -2
  30. package/dist/{chunk-65N4ZPQD.js → chunk-JAC6JVCI.js} +2 -2
  31. package/dist/{chunk-V6PXHQSI.js → chunk-JWSEPW7F.js} +2 -2
  32. package/dist/{chunk-AS5VL32C.js → chunk-JYALBYN7.js} +2 -2
  33. package/dist/{chunk-R2TAVQGZ.js → chunk-K2JTERIO.js} +2 -2
  34. package/dist/{chunk-3S5YZWB7.js → chunk-KDWH2JKT.js} +10 -7
  35. package/dist/chunk-KDWH2JKT.js.map +1 -0
  36. package/dist/{chunk-T6ATGN7Y.js → chunk-MCJ5I5LR.js} +1 -1
  37. package/dist/chunk-MCJ5I5LR.js.map +1 -0
  38. package/dist/{chunk-U4W4LULB.js → chunk-MGIOV72F.js} +7 -7
  39. package/dist/{chunk-ORQKMXHA.js → chunk-MZPS46OR.js} +2 -2
  40. package/dist/{chunk-RDCYPWQZ.js → chunk-NEOUY3Q7.js} +34 -9
  41. package/dist/chunk-NEOUY3Q7.js.map +1 -0
  42. package/dist/{chunk-K2Z3KGOH.js → chunk-NPMAATZG.js} +2 -2
  43. package/dist/{chunk-2K3NCVDI.js → chunk-OKJVBGMQ.js} +31 -19
  44. package/dist/{chunk-2K3NCVDI.js.map → chunk-OKJVBGMQ.js.map} +1 -1
  45. package/dist/{chunk-PQTY22FR.js → chunk-PZPSCYN3.js} +9 -8
  46. package/dist/chunk-PZPSCYN3.js.map +1 -0
  47. package/dist/{chunk-KQDAFZKR.js → chunk-Q4WWS3UQ.js} +2 -2
  48. package/dist/{chunk-A2FKWRKO.js → chunk-R3N4AIKS.js} +6 -6
  49. package/dist/{chunk-DCTEL4KG.js → chunk-RVXMK4X2.js} +3 -3
  50. package/dist/{chunk-LD4CHA7U.js → chunk-UKL7GWEH.js} +2 -2
  51. package/dist/{chunk-4VWTIT5C.js → chunk-UWXDNVS5.js} +2 -2
  52. package/dist/{chunk-U6IWRZQF.js → chunk-VNNCYWNN.js} +3 -3
  53. package/dist/{chunk-7U3V64YT.js → chunk-WKLQFSV6.js} +4 -4
  54. package/dist/{chunk-WD5BQBVY.js → chunk-Z5SOZUUB.js} +3 -3
  55. package/dist/{chunk-AQ5WISEG.js → chunk-ZCQVKDHV.js} +2 -2
  56. package/dist/{chunk-RCSOG2DV.js → chunk-ZINMEMOB.js} +5 -5
  57. package/dist/cli.js +7 -7
  58. package/dist/{creatives-U2M4F3D5.js → creatives-NK5HOXSF.js} +10 -10
  59. package/dist/{critique-43OVWKN7.js → critique-EDMP5P5R.js} +16 -16
  60. package/dist/{critique-JVKJEBAC.js → critique-N5OL42C6.js} +5 -5
  61. package/dist/{customers-P4N4NXLJ.js → customers-TLAHWJY6.js} +4 -4
  62. package/dist/engine/index.d.ts +1 -0
  63. package/dist/engine/index.js +7 -7
  64. package/dist/{feedback-3GU3PAEI.js → feedback-OCN3XNKF.js} +19 -19
  65. package/dist/{feedback-record-PIJDOJW3.js → feedback-record-Z66AXZ57.js} +20 -20
  66. package/dist/{fit-TVQ7RK52.js → fit-PMSNW2PF.js} +11 -11
  67. package/dist/{fonts-BMUNDGOZ.js → fonts-I434ILTG.js} +7 -7
  68. package/dist/{generate-4HWNFAH3.js → generate-OMXBFGGR.js} +3 -3
  69. package/dist/{ideas-UTSCGCT6.js → ideas-K6FQVDUA.js} +8 -8
  70. package/dist/{landing-AJO2BPC2.js → landing-EJGYTI5W.js} +2 -2
  71. package/dist/{learn-RGO5KDHS.js → learn-66SKYR36.js} +6 -6
  72. package/dist/{make-IHJROEKG.js → make-ZYEFMAR6.js} +51 -37
  73. package/dist/make-ZYEFMAR6.js.map +1 -0
  74. package/dist/{models-2DQ5NBMT.js → models-2XRYXSRA.js} +2 -2
  75. package/dist/{rerun-R3DNEV5U.js → rerun-DZKHTK66.js} +24 -24
  76. package/dist/{research-MBAPL35Y.js → research-L2DH5P22.js} +2 -2
  77. package/dist/{rules-SZIY67QF.js → rules-TPW37OVS.js} +8 -8
  78. package/dist/{rules-add-KTLHU3YD.js → rules-add-HTL6IFQJ.js} +8 -8
  79. package/dist/{run-QYIUO4NB.js → run-EID2OD4U.js} +24 -24
  80. package/dist/{scaffold-ad-NIVJSO73.js → scaffold-ad-SQZMHTRA.js} +24 -24
  81. package/dist/{scaffold-static-ad-QX2NUXFR.js → scaffold-static-ad-L2JCW5LF.js} +30 -30
  82. package/dist/{scaffold-video-NXBM54K3.js → scaffold-video-2WLFALNV.js} +21 -21
  83. package/dist/{select-Q4S4CPKV.js → select-POYNXE2L.js} +18 -18
  84. package/dist/{set-prompt-3MVZW3L6.js → set-prompt-2OXPI4ZF.js} +17 -17
  85. package/dist/{stale-NT2JRQHY.js → stale-6HL4ELJW.js} +17 -17
  86. package/dist/{studio-YB5WXQYC.js → studio-MARZ22J2.js} +4 -4
  87. package/dist/{sync-definition-6XPX6VJU.js → sync-definition-VVNXDNDC.js} +20 -20
  88. package/dist/{translate-27DIFMBU.js → translate-ACGKNKQP.js} +21 -21
  89. package/dist/{validate-AYPLNS7A.js → validate-SUW24MMI.js} +20 -20
  90. package/dist/{viewer-check-TSH3SAYJ.js → viewer-check-7S2EB32L.js} +10 -10
  91. package/dist/{winning-ads-SGBI3WHK.js → winning-ads-T4MOKDYT.js} +2 -2
  92. package/package.json +1 -1
  93. package/dist/chunk-3S5YZWB7.js.map +0 -1
  94. package/dist/chunk-5RCCESDX.js.map +0 -1
  95. package/dist/chunk-ELL2IQMF.js.map +0 -1
  96. package/dist/chunk-MMVLRUMK.js.map +0 -1
  97. package/dist/chunk-PQTY22FR.js.map +0 -1
  98. package/dist/chunk-RDCYPWQZ.js.map +0 -1
  99. package/dist/chunk-T6ATGN7Y.js.map +0 -1
  100. package/dist/chunk-U2452GLO.js.map +0 -1
  101. package/dist/make-IHJROEKG.js.map +0 -1
  102. /package/dist/{animate-3LV3LHXQ.js.map → animate-SVEPM267.js.map} +0 -0
  103. /package/dist/{brand-CINQG3JG.js.map → brand-LAIIXZBL.js.map} +0 -0
  104. /package/dist/{brief-WAQ2V6Q4.js.map → brief-7PICJ4CO.js.map} +0 -0
  105. /package/dist/{canvas-A4XKEBN7.js.map → canvas-YS3ONCCX.js.map} +0 -0
  106. /package/dist/{catalog-SJBGNNY4.js.map → catalog-RS4F5YK3.js.map} +0 -0
  107. /package/dist/{check-GCZ2ZBKH.js.map → check-5RW2MX7V.js.map} +0 -0
  108. /package/dist/{chunk-XSGO44OV.js.map → chunk-27DJRM3F.js.map} +0 -0
  109. /package/dist/{chunk-WMVTIKET.js.map → chunk-3PXC2OXT.js.map} +0 -0
  110. /package/dist/{chunk-5YKC2WWG.js.map → chunk-4S4WDXJR.js.map} +0 -0
  111. /package/dist/{chunk-2DHHL4PU.js.map → chunk-66WEOQV5.js.map} +0 -0
  112. /package/dist/{chunk-6KK26F2T.js.map → chunk-BTY4LZBG.js.map} +0 -0
  113. /package/dist/{chunk-Q7YZL7PG.js.map → chunk-CS5JF52J.js.map} +0 -0
  114. /package/dist/{chunk-5NS4CNF6.js.map → chunk-E2RFM6R2.js.map} +0 -0
  115. /package/dist/{chunk-BSEB55E6.js.map → chunk-EOY6BK4C.js.map} +0 -0
  116. /package/dist/{chunk-ZBV5IV5T.js.map → chunk-IKCP5NCE.js.map} +0 -0
  117. /package/dist/{chunk-DF22CTXE.js.map → chunk-IX2QLW6G.js.map} +0 -0
  118. /package/dist/{chunk-65N4ZPQD.js.map → chunk-JAC6JVCI.js.map} +0 -0
  119. /package/dist/{chunk-V6PXHQSI.js.map → chunk-JWSEPW7F.js.map} +0 -0
  120. /package/dist/{chunk-AS5VL32C.js.map → chunk-JYALBYN7.js.map} +0 -0
  121. /package/dist/{chunk-R2TAVQGZ.js.map → chunk-K2JTERIO.js.map} +0 -0
  122. /package/dist/{chunk-U4W4LULB.js.map → chunk-MGIOV72F.js.map} +0 -0
  123. /package/dist/{chunk-ORQKMXHA.js.map → chunk-MZPS46OR.js.map} +0 -0
  124. /package/dist/{chunk-K2Z3KGOH.js.map → chunk-NPMAATZG.js.map} +0 -0
  125. /package/dist/{chunk-KQDAFZKR.js.map → chunk-Q4WWS3UQ.js.map} +0 -0
  126. /package/dist/{chunk-A2FKWRKO.js.map → chunk-R3N4AIKS.js.map} +0 -0
  127. /package/dist/{chunk-DCTEL4KG.js.map → chunk-RVXMK4X2.js.map} +0 -0
  128. /package/dist/{chunk-LD4CHA7U.js.map → chunk-UKL7GWEH.js.map} +0 -0
  129. /package/dist/{chunk-4VWTIT5C.js.map → chunk-UWXDNVS5.js.map} +0 -0
  130. /package/dist/{chunk-U6IWRZQF.js.map → chunk-VNNCYWNN.js.map} +0 -0
  131. /package/dist/{chunk-7U3V64YT.js.map → chunk-WKLQFSV6.js.map} +0 -0
  132. /package/dist/{chunk-WD5BQBVY.js.map → chunk-Z5SOZUUB.js.map} +0 -0
  133. /package/dist/{chunk-AQ5WISEG.js.map → chunk-ZCQVKDHV.js.map} +0 -0
  134. /package/dist/{chunk-RCSOG2DV.js.map → chunk-ZINMEMOB.js.map} +0 -0
  135. /package/dist/{creatives-U2M4F3D5.js.map → creatives-NK5HOXSF.js.map} +0 -0
  136. /package/dist/{critique-43OVWKN7.js.map → critique-EDMP5P5R.js.map} +0 -0
  137. /package/dist/{critique-JVKJEBAC.js.map → critique-N5OL42C6.js.map} +0 -0
  138. /package/dist/{customers-P4N4NXLJ.js.map → customers-TLAHWJY6.js.map} +0 -0
  139. /package/dist/{feedback-3GU3PAEI.js.map → feedback-OCN3XNKF.js.map} +0 -0
  140. /package/dist/{feedback-record-PIJDOJW3.js.map → feedback-record-Z66AXZ57.js.map} +0 -0
  141. /package/dist/{fit-TVQ7RK52.js.map → fit-PMSNW2PF.js.map} +0 -0
  142. /package/dist/{fonts-BMUNDGOZ.js.map → fonts-I434ILTG.js.map} +0 -0
  143. /package/dist/{generate-4HWNFAH3.js.map → generate-OMXBFGGR.js.map} +0 -0
  144. /package/dist/{ideas-UTSCGCT6.js.map → ideas-K6FQVDUA.js.map} +0 -0
  145. /package/dist/{landing-AJO2BPC2.js.map → landing-EJGYTI5W.js.map} +0 -0
  146. /package/dist/{learn-RGO5KDHS.js.map → learn-66SKYR36.js.map} +0 -0
  147. /package/dist/{models-2DQ5NBMT.js.map → models-2XRYXSRA.js.map} +0 -0
  148. /package/dist/{rerun-R3DNEV5U.js.map → rerun-DZKHTK66.js.map} +0 -0
  149. /package/dist/{research-MBAPL35Y.js.map → research-L2DH5P22.js.map} +0 -0
  150. /package/dist/{rules-SZIY67QF.js.map → rules-TPW37OVS.js.map} +0 -0
  151. /package/dist/{rules-add-KTLHU3YD.js.map → rules-add-HTL6IFQJ.js.map} +0 -0
  152. /package/dist/{run-QYIUO4NB.js.map → run-EID2OD4U.js.map} +0 -0
  153. /package/dist/{scaffold-ad-NIVJSO73.js.map → scaffold-ad-SQZMHTRA.js.map} +0 -0
  154. /package/dist/{scaffold-static-ad-QX2NUXFR.js.map → scaffold-static-ad-L2JCW5LF.js.map} +0 -0
  155. /package/dist/{scaffold-video-NXBM54K3.js.map → scaffold-video-2WLFALNV.js.map} +0 -0
  156. /package/dist/{select-Q4S4CPKV.js.map → select-POYNXE2L.js.map} +0 -0
  157. /package/dist/{set-prompt-3MVZW3L6.js.map → set-prompt-2OXPI4ZF.js.map} +0 -0
  158. /package/dist/{stale-NT2JRQHY.js.map → stale-6HL4ELJW.js.map} +0 -0
  159. /package/dist/{studio-YB5WXQYC.js.map → studio-MARZ22J2.js.map} +0 -0
  160. /package/dist/{sync-definition-6XPX6VJU.js.map → sync-definition-VVNXDNDC.js.map} +0 -0
  161. /package/dist/{translate-27DIFMBU.js.map → translate-ACGKNKQP.js.map} +0 -0
  162. /package/dist/{validate-AYPLNS7A.js.map → validate-SUW24MMI.js.map} +0 -0
  163. /package/dist/{viewer-check-TSH3SAYJ.js.map → viewer-check-7S2EB32L.js.map} +0 -0
  164. /package/dist/{winning-ads-SGBI3WHK.js.map → winning-ads-T4MOKDYT.js.map} +0 -0
@@ -7,21 +7,21 @@ import {
7
7
  readPersonaIds,
8
8
  sameMessageRead,
9
9
  workspaceIdeasJudge
10
- } from "./chunk-BSEB55E6.js";
10
+ } from "./chunk-EOY6BK4C.js";
11
11
  import {
12
12
  readAllRules
13
- } from "./chunk-7U3V64YT.js";
13
+ } from "./chunk-WKLQFSV6.js";
14
14
  import {
15
15
  IDEA_ANGLES,
16
16
  IDEA_FORMATS,
17
17
  checkIdeas
18
- } from "./chunk-MMVLRUMK.js";
18
+ } from "./chunk-G2LGMWNG.js";
19
19
  import {
20
20
  findWorkspaceRoot
21
21
  } from "./chunk-23H4ZJRP.js";
22
22
  import {
23
23
  selectRules
24
- } from "./chunk-ZBV5IV5T.js";
24
+ } from "./chunk-IKCP5NCE.js";
25
25
  import {
26
26
  marketFromCompanyDoc
27
27
  } from "./chunk-KPYDTIAI.js";
@@ -37,7 +37,7 @@ import { defineCommand } from "citty";
37
37
  var BUILD_NEXT = 3;
38
38
  var DESCRIPTION = `Check and rank the ad ideas in src/creatives/_ideas/: is each backed by something a customer said (src/content/insights/), does it claim only what the Knowledge holds, is it a different ad from the others, does it fill a gap the live ads leave. Free and local.
39
39
 
40
- Start here, after writing 4-8 idea files (one per file, eight fields: who, message, evidence, awareness, angle, format, job, why):
40
+ Start here, after writing 4-8 idea files (one per file: who, message, evidence, awareness, angle, shows, job, why; format only for a video or a container the person asked for):
41
41
  baker creatives ideas # ranked, with problems; build_next names the ones to make
42
42
  baker creatives make <idea> # then build each one in build_next
43
43
  An idea with a problem is not built until it is fixed. An idea with no evidence is an explore bet: it may be built, and says so.`;
@@ -55,7 +55,7 @@ function ideasHints(report) {
55
55
  const toBuild = report.ideas.filter((i) => i.status === "idea");
56
56
  if (toBuild.length === 0 && report.unreadable.length === 0) {
57
57
  hints.push(
58
- "No ideas yet. Write 4-8 files in src/creatives/_ideas/<idea>.md (who, message, evidence, awareness, angle, format, job, why), then run this again."
58
+ "No ideas yet. Write 4-8 files in src/creatives/_ideas/<idea>.md (who, message, evidence, awareness, angle, shows, job, why), then run this again."
59
59
  );
60
60
  }
61
61
  if (report.unreadable.length > 0) {
@@ -91,7 +91,8 @@ function compactIdea(check) {
91
91
  ...check.quote ? { quote: check.quote.length > 120 ? `${check.quote.slice(0, 117)}...` : check.quote } : {},
92
92
  awareness: check.awareness,
93
93
  angle: check.angle,
94
- format: check.format,
94
+ ...check.shows ? { shows: check.shows } : {},
95
+ ...check.format ? { format: check.format } : {},
95
96
  platforms: check.platforms ?? "unset",
96
97
  ...check.problems.length > 0 ? { problems: check.problems } : {},
97
98
  ...check.warnings.length > 0 ? { warnings: check.warnings } : {}
@@ -156,4 +157,4 @@ export {
156
157
  ideasReport,
157
158
  ideasCommand
158
159
  };
159
- //# sourceMappingURL=chunk-PQTY22FR.js.map
160
+ //# sourceMappingURL=chunk-PZPSCYN3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/creatives/ideas.ts"],"sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { defineCommand } from \"citty\";\nimport { readAllRules } from \"../../engine/creative-context/index.ts\";\nimport { selectRules } from \"../../engine/creative-rules/select.ts\";\nimport type { AskNouls } from \"../../engine/lib/remembered-nouls.ts\";\nimport { writeJson } from \"../../output.ts\";\nimport { registerSchema } from \"../../schemas.ts\";\nimport { marketFromCompanyDoc } from \"../../viewer-profile.ts\";\nimport { findWorkspaceRoot } from \"../canvas/normalize-paths.ts\";\nimport { sameMessageRead } from \"./ideas-judgments.ts\";\nimport { checkIdeas, IDEA_ANGLES, IDEA_FORMATS, type IdeaCheck } from \"./ideas-model.ts\";\nimport {\n coverageOf,\n readCreativeRecords,\n readIdeas,\n readInsights,\n readKnowledgeCorpus,\n readPersonaIds,\n type UnreadableIdea,\n workspaceIdeasJudge,\n} from \"./ideas-workspace.ts\";\n\nconst BUILD_NEXT = 3;\n\nconst DESCRIPTION = `Check and rank the ad ideas in src/creatives/_ideas/: is each backed by something a customer said (src/content/insights/), does it claim only what the Knowledge holds, is it a different ad from the others, does it fill a gap the live ads leave. Free and local.\n\nStart here, after writing 4-8 idea files (one per file: who, message, evidence, awareness, angle, shows, job, why; format only for a video or a container the person asked for):\n baker creatives ideas # ranked, with problems; build_next names the ones to make\n baker creatives make <idea> # then build each one in build_next\nAn idea with a problem is not built until it is fixed. An idea with no evidence is an explore bet: it may be built, and says so.`;\n\nconst ARGS = {\n full: {\n type: \"boolean\",\n description: \"Every idea with its warnings and gaps, and the allowed angle and format values\",\n required: false,\n default: false,\n },\n} as const;\n\nregisterSchema({ command: \"creatives.ideas\", description: DESCRIPTION, args: ARGS });\n\ntype IdeasReport = {\n ideas: IdeaCheck[];\n unreadable: UnreadableIdea[];\n insightCount: number;\n observedCount: number;\n};\n\n/** What the agent does next. Pure. */\nexport function ideasHints(report: IdeasReport): string[] {\n const hints: string[] = [];\n const toBuild = report.ideas.filter((i) => i.status === \"idea\");\n if (toBuild.length === 0 && report.unreadable.length === 0) {\n hints.push(\n \"No ideas yet. Write 4-8 files in src/creatives/_ideas/<idea>.md (who, message, evidence, awareness, angle, shows, job, why), then run this again.\",\n );\n }\n if (report.unreadable.length > 0) {\n hints.push(`Fix ${report.unreadable.map((u) => u.id).join(\", \")}: each names what is missing or unknown.`);\n }\n const blocked = toBuild.filter((i) => i.problems.length > 0);\n if (blocked.length > 0) hints.push(`Fix before building: ${blocked.map((i) => i.id).join(\", \")}.`);\n if (report.observedCount < 3) {\n hints.push(\n \"Few customer quotes on file: run `baker research customers` so ideas stand on what customers said; until then they are explore bets.\",\n );\n } else if (toBuild.length > 0 && toBuild.every((i) => i.evidence === \"explore\")) {\n hints.push(\"No idea cites an insight: put the insight ids that back each one in its `evidence`.\");\n }\n const next = buildNext(report.ideas);\n if (next.length === 1) hints.push(`Build: \\`baker creatives make ${next[0]}\\`.`);\n // A render takes about five minutes: built one after another, three ideas took forty (dev, Oct 2026).\n if (next.length > 1)\n hints.push(\n `Build ${next.join(\", \")} at once: one \\`creative-producer\\` per idea, all spawned in one message in the background, each given its idea id, and handle each as it returns. Never build them one after another: each render takes minutes. Edited an idea after this check? Run \\`baker creatives ideas\\` again first: a producer cannot build an idea with a problem.`,\n );\n return hints;\n}\n\n/** The ideas to build now: the best-ranked ones still to build with nothing blocking. Pure. */\nexport function buildNext(ideas: readonly IdeaCheck[], count = BUILD_NEXT): string[] {\n // One explore bet a batch: the rest stand on what customers said.\n const ready = ideas.filter((i) => i.status === \"idea\" && i.problems.length === 0);\n const firstBet = ready.find((i) => i.evidence === \"explore\");\n return ready\n .filter((i) => i.evidence !== \"explore\" || i === firstBet)\n .slice(0, count)\n .map((i) => i.id);\n}\n\n/** One idea as the agent reads it by default: what decides building it, nothing more. Pure. */\nexport function compactIdea(check: IdeaCheck) {\n return {\n idea: check.id,\n status: check.status,\n evidence: check.evidence,\n ...(check.quote ? { quote: check.quote.length > 120 ? `${check.quote.slice(0, 117)}...` : check.quote } : {}),\n awareness: check.awareness,\n angle: check.angle,\n ...(check.shows ? { shows: check.shows } : {}),\n ...(check.format ? { format: check.format } : {}),\n platforms: check.platforms ?? (\"unset\" as const),\n ...(check.problems.length > 0 ? { problems: check.problems } : {}),\n ...(check.warnings.length > 0 ? { warnings: check.warnings } : {}),\n };\n}\n\n/** Everything `checkIdeas` needs, read from the workspace. */\nexport async function ideasReport(root: string, opts: { ask?: AskNouls } = {}): Promise<IdeasReport> {\n const judge = opts.ask ? { ask: opts.ask, done: () => Promise.resolve() } : workspaceIdeasJudge(root);\n const [{ ideas, unreadable }, insights, knowledge, personas, creatives, rules, companyDoc] = await Promise.all([\n readIdeas(root),\n readInsights(root, { ask: judge.ask }),\n readKnowledgeCorpus(root),\n readPersonaIds(root),\n readCreativeRecords(root),\n readAllRules(root).then((all) => selectRules(all, {})),\n readFile(path.join(root, \"COMPANY.md\"), \"utf8\").catch(() => null),\n ]);\n const language = marketFromCompanyDoc(companyDoc)?.language;\n const sameMessage = await sameMessageRead(ideas, judge.ask);\n await judge.done();\n const checked = checkIdeas({\n ideas,\n insights,\n knowledge,\n personas,\n sameMessage,\n rules,\n ...(language ? { language } : {}),\n ...coverageOf(ideas, creatives),\n });\n return {\n ideas: checked,\n unreadable,\n insightCount: insights.length,\n observedCount: insights.filter((i) => i.status === \"observed\").length,\n };\n}\n\nexport const ideasCommand = defineCommand({\n meta: { name: \"ideas\", description: DESCRIPTION },\n args: ARGS,\n async run({ args }) {\n const root = findWorkspaceRoot(process.cwd()) ?? process.cwd();\n const report = await ideasReport(root);\n const full = args.full === true;\n writeJson({\n ok: true,\n data: {\n build_next: buildNext(report.ideas),\n ideas: full ? report.ideas : report.ideas.map(compactIdea),\n ...(report.unreadable.length > 0 ? { unreadable: report.unreadable } : {}),\n customer_quotes: { total: report.insightCount, observed: report.observedCount },\n ...(full ? { allowed: { angle: IDEA_ANGLES, format: IDEA_FORMATS } } : {}),\n },\n hints: ideasHints(report),\n });\n },\n});\n"],"mappings":"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","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  prepareCanvas,
3
3
  unsuppliedPlaceholderAssets
4
- } from "./chunk-5RCCESDX.js";
4
+ } from "./chunk-AXDKLXCG.js";
5
5
  import {
6
6
  isSourceStale
7
7
  } from "./chunk-FRK7SSEH.js";
@@ -119,4 +119,4 @@ export {
119
119
  staleCreatives,
120
120
  clearLegacyDirtyMarker
121
121
  };
122
- //# sourceMappingURL=chunk-KQDAFZKR.js.map
122
+ //# sourceMappingURL=chunk-Q4WWS3UQ.js.map
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  nodeParamsPreview
3
- } from "./chunk-K2Z3KGOH.js";
3
+ } from "./chunk-NPMAATZG.js";
4
4
  import {
5
5
  creativeSlugFromCanvasPath
6
- } from "./chunk-4VWTIT5C.js";
6
+ } from "./chunk-UWXDNVS5.js";
7
7
  import {
8
8
  parseDefinitionDelivery,
9
9
  parseDefinitionSeriesPlace,
10
10
  parseDefinitionSourceFields,
11
11
  parseDefinitionStrategyFields,
12
12
  prepareCanvas
13
- } from "./chunk-5RCCESDX.js";
13
+ } from "./chunk-AXDKLXCG.js";
14
14
  import {
15
15
  BackendClient
16
- } from "./chunk-GQ6JS5MR.js";
16
+ } from "./chunk-4VB7F422.js";
17
17
  import {
18
18
  nodeDependencies
19
- } from "./chunk-ELL2IQMF.js";
19
+ } from "./chunk-62JQQUAU.js";
20
20
  import {
21
21
  requireCredentialsFromEnv
22
22
  } from "./chunk-2FSEESJU.js";
@@ -221,4 +221,4 @@ export {
221
221
  resolveCanvasPath,
222
222
  syncDefinitionCommand
223
223
  };
224
- //# sourceMappingURL=chunk-A2FKWRKO.js.map
224
+ //# sourceMappingURL=chunk-R3N4AIKS.js.map
@@ -10,10 +10,10 @@ import {
10
10
  } from "./chunk-23H4ZJRP.js";
11
11
  import {
12
12
  askAboutText
13
- } from "./chunk-ZBV5IV5T.js";
13
+ } from "./chunk-IKCP5NCE.js";
14
14
  import {
15
15
  CUSTOMER_INSIGHTS_MODEL
16
- } from "./chunk-T6ATGN7Y.js";
16
+ } from "./chunk-MCJ5I5LR.js";
17
17
  import {
18
18
  apiGet,
19
19
  apiPost
@@ -589,4 +589,4 @@ export {
589
589
  researchCustomers,
590
590
  customersCommand
591
591
  };
592
- //# sourceMappingURL=chunk-DCTEL4KG.js.map
592
+ //# sourceMappingURL=chunk-RVXMK4X2.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-LCW3U4EA.js";
4
4
  import {
5
5
  readCompanyReading
6
- } from "./chunk-7U3V64YT.js";
6
+ } from "./chunk-WKLQFSV6.js";
7
7
  import {
8
8
  apiPost
9
9
  } from "./chunk-XDZVBX6L.js";
@@ -86,4 +86,4 @@ export {
86
86
  castCompany,
87
87
  castInventory
88
88
  };
89
- //# sourceMappingURL=chunk-LD4CHA7U.js.map
89
+ //# sourceMappingURL=chunk-UKL7GWEH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseRefExpr
3
- } from "./chunk-ELL2IQMF.js";
3
+ } from "./chunk-62JQQUAU.js";
4
4
  import {
5
5
  collectAssetRefLikes,
6
6
  isPersistedAssetRef
@@ -164,4 +164,4 @@ export {
164
164
  buildInitialRunRecord,
165
165
  buildFailedRunRecord
166
166
  };
167
- //# sourceMappingURL=chunk-4VWTIT5C.js.map
167
+ //# sourceMappingURL=chunk-UWXDNVS5.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  recordIdeaLines
3
- } from "./chunk-KQDAFZKR.js";
3
+ } from "./chunk-Q4WWS3UQ.js";
4
4
  import {
5
5
  anchorLines,
6
6
  readIdeaAnchor
7
- } from "./chunk-5RCCESDX.js";
7
+ } from "./chunk-AXDKLXCG.js";
8
8
  import {
9
9
  findWorkspaceRoot
10
10
  } from "./chunk-23H4ZJRP.js";
@@ -63,4 +63,4 @@ export {
63
63
  withAnchor,
64
64
  readCreativeIdea
65
65
  };
66
- //# sourceMappingURL=chunk-U6IWRZQF.js.map
66
+ //# sourceMappingURL=chunk-VNNCYWNN.js.map
@@ -4,10 +4,10 @@ import {
4
4
  RULE_STRENGTHS,
5
5
  declaredRules,
6
6
  readLearnedRules
7
- } from "./chunk-MMVLRUMK.js";
7
+ } from "./chunk-G2LGMWNG.js";
8
8
  import {
9
9
  readWorkspaceBrandDoc
10
- } from "./chunk-AS5VL32C.js";
10
+ } from "./chunk-JYALBYN7.js";
11
11
  import {
12
12
  holdUnbilledSpend
13
13
  } from "./chunk-5WMTPYKT.js";
@@ -15,7 +15,7 @@ import {
15
15
  askAboutText,
16
16
  rulesDigest,
17
17
  selectRules
18
- } from "./chunk-ZBV5IV5T.js";
18
+ } from "./chunk-IKCP5NCE.js";
19
19
  import {
20
20
  CREATIVE_FEEDBACK_REASON_LABELS
21
21
  } from "./chunk-FRK7SSEH.js";
@@ -341,4 +341,4 @@ export {
341
341
  workspaceOfCreative,
342
342
  avoidOf
343
343
  };
344
- //# sourceMappingURL=chunk-7U3V64YT.js.map
344
+ //# sourceMappingURL=chunk-WKLQFSV6.js.map
@@ -3,10 +3,10 @@ import {
3
3
  parseDefinitionDelivery,
4
4
  resolveDelivery,
5
5
  resolveFormatList
6
- } from "./chunk-5RCCESDX.js";
6
+ } from "./chunk-AXDKLXCG.js";
7
7
  import {
8
8
  AD_PLACEMENTS
9
- } from "./chunk-T6ATGN7Y.js";
9
+ } from "./chunk-MCJ5I5LR.js";
10
10
  import {
11
11
  CAPABILITY_SURFACES
12
12
  } from "./chunk-XQIOCIDO.js";
@@ -88,4 +88,4 @@ export {
88
88
  deliveryDefinitionFields,
89
89
  deliveryNote
90
90
  };
91
- //# sourceMappingURL=chunk-WD5BQBVY.js.map
91
+ //# sourceMappingURL=chunk-Z5SOZUUB.js.map
@@ -9,7 +9,7 @@ import {
9
9
  IMAGE_GENERATE_MODELS,
10
10
  MODEL_REGISTRY,
11
11
  VIDEO_GENERATE_MODELS
12
- } from "./chunk-T6ATGN7Y.js";
12
+ } from "./chunk-MCJ5I5LR.js";
13
13
  import {
14
14
  ApiError,
15
15
  apiPost
@@ -95,4 +95,4 @@ export {
95
95
  CLIP_PERSON_GENERATION,
96
96
  resolveLibraryImageIds
97
97
  };
98
- //# sourceMappingURL=chunk-AQ5WISEG.js.map
98
+ //# sourceMappingURL=chunk-ZCQVKDHV.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  avatarsOf
3
- } from "./chunk-LD4CHA7U.js";
3
+ } from "./chunk-UKL7GWEH.js";
4
4
  import {
5
5
  readAvatars
6
6
  } from "./chunk-LCW3U4EA.js";
7
7
  import {
8
8
  readCreativeContext,
9
9
  workspaceOfCreative
10
- } from "./chunk-7U3V64YT.js";
10
+ } from "./chunk-WKLQFSV6.js";
11
11
  import {
12
12
  frontmatterOf,
13
13
  ruleTells
14
- } from "./chunk-MMVLRUMK.js";
14
+ } from "./chunk-G2LGMWNG.js";
15
15
  import {
16
16
  findWorkspaceRoot
17
17
  } from "./chunk-23H4ZJRP.js";
@@ -19,7 +19,7 @@ import {
19
19
  isAdSpec,
20
20
  nativeCopy,
21
21
  readAdSpec
22
- } from "./chunk-U2452GLO.js";
22
+ } from "./chunk-4AMIHNNP.js";
23
23
  import {
24
24
  marketFromCompanyDoc
25
25
  } from "./chunk-KPYDTIAI.js";
@@ -139,4 +139,4 @@ export {
139
139
  heldRules,
140
140
  ruleGate
141
141
  };
142
- //# sourceMappingURL=chunk-RCSOG2DV.js.map
142
+ //# sourceMappingURL=chunk-ZINMEMOB.js.map
package/dist/cli.js CHANGED
@@ -116,23 +116,23 @@ Introspection: Run 'baker schema <command>' to inspect argument schemas.`
116
116
  actions: () => import("./actions-KQTXBNJU.js").then((m) => m.actionsCommand),
117
117
  "scheduled-agents": () => import("./scheduled-agents-MFLMG34I.js").then((m) => m.scheduledAgentsCommand),
118
118
  ads: () => import("./ads-WPI3AMSR.js").then((m) => m.adsCommand),
119
- brand: () => import("./brand-CINQG3JG.js").then((m) => m.brandCommand),
119
+ brand: () => import("./brand-LAIIXZBL.js").then((m) => m.brandCommand),
120
120
  analytics: () => import("./analytics-IFNBT7IM.js").then((m) => m.analyticsCommand),
121
121
  experiment: () => import("./experiment-G3FQVAJU.js").then((m) => m.experimentCommand),
122
122
  ga4: () => import("./ga4-2BL5YAYN.js").then((m) => m.ga4Command),
123
123
  gsc: () => import("./gsc-UU3T2C6B.js").then((m) => m.gscCommand),
124
- research: () => import("./research-MBAPL35Y.js").then((m) => m.researchCommand),
124
+ research: () => import("./research-L2DH5P22.js").then((m) => m.researchCommand),
125
125
  decide: () => import("./decide-TWKH5QQU.js").then((m) => m.decideCommand),
126
- creatives: () => import("./creatives-U2M4F3D5.js").then((m) => m.creativesCommand),
126
+ creatives: () => import("./creatives-NK5HOXSF.js").then((m) => m.creativesCommand),
127
127
  flows: () => import("./flows-274YPU6I.js").then((m) => m.flowsCommand),
128
128
  funnel: () => import("./funnel-LEUXICXU.js").then((m) => m.funnelCommand),
129
129
  images: () => import("./images-ZMZ4WLYH.js").then((m) => m.imagesCommand),
130
- studio: () => import("./studio-YB5WXQYC.js").then((m) => m.studioCommand),
130
+ studio: () => import("./studio-MARZ22J2.js").then((m) => m.studioCommand),
131
131
  avatars: () => import("./avatars-EIETXCF3.js").then((m) => m.avatarsCommand),
132
- landing: () => import("./landing-AJO2BPC2.js").then((m) => m.landingCommand),
132
+ landing: () => import("./landing-EJGYTI5W.js").then((m) => m.landingCommand),
133
133
  videos: () => import("./videos-KEDR4GG3.js").then((m) => m.videosCommand),
134
134
  testimonials: () => import("./testimonials-G7CCH7VN.js").then((m) => m.testimonialsCommand),
135
- canvas: () => import("./canvas-A4XKEBN7.js").then((m) => m.canvasCommand),
135
+ canvas: () => import("./canvas-YS3ONCCX.js").then((m) => m.canvasCommand),
136
136
  tags: () => import("./tags-6RQVXS47.js").then((m) => m.tagsCommand),
137
137
  "tag-manager": () => import("./tag-manager-G3LBQZUL.js").then((m) => m.tagManagerCommand),
138
138
  chats: () => import("./chats-S5FCV7YO.js").then((m) => m.chatsCommand),
@@ -141,7 +141,7 @@ Introspection: Run 'baker schema <command>' to inspect argument schemas.`
141
141
  hubspot: () => import("./hubspot-TJED44GO.js").then((m) => m.hubspotCommand),
142
142
  activecampaign: () => import("./activecampaign-42JXANUA.js").then((m) => m.activecampaignCommand),
143
143
  accounts: () => import("./accounts-SPLE7URQ.js").then((m) => m.accountsCommand),
144
- "winning-ads": () => import("./winning-ads-SGBI3WHK.js").then((m) => m.winningAdsCommand),
144
+ "winning-ads": () => import("./winning-ads-T4MOKDYT.js").then((m) => m.winningAdsCommand),
145
145
  "media-sources": () => import("./media-sources-7AS3274L.js").then((m) => m.mediaSourcesCommand),
146
146
  site: () => import("./site-LBXNVRPE.js").then((m) => m.siteCommand),
147
147
  mcp: () => import("./mcp-T6SAG4XB.js").then((m) => m.mcpCommand),
@@ -39,15 +39,15 @@ How published creatives are doing in live Meta ads (results, fatigue, angle; hoo
39
39
  Full guide: __tooling__/docs/tools/baker/creatives.md`
40
40
  },
41
41
  subCommands: {
42
- brief: () => import("./brief-WAQ2V6Q4.js").then((m) => m.briefCommand),
43
- ideas: () => import("./ideas-UTSCGCT6.js").then((m) => m.ideasCommand),
44
- make: () => import("./make-IHJROEKG.js").then((m) => m.makeCommand),
45
- translate: () => import("./translate-27DIFMBU.js").then((m) => m.translateCommand),
46
- learn: () => import("./learn-RGO5KDHS.js").then((m) => m.learnCommand),
47
- feedback: () => import("./feedback-3GU3PAEI.js").then((m) => m.feedbackCommand),
48
- rules: () => import("./rules-SZIY67QF.js").then((m) => m.rulesCommand),
49
- check: () => import("./check-GCZ2ZBKH.js").then((m) => m.checkCommand),
50
- select: () => import("./select-Q4S4CPKV.js").then((m) => m.selectCommand),
42
+ brief: () => import("./brief-7PICJ4CO.js").then((m) => m.briefCommand),
43
+ ideas: () => import("./ideas-K6FQVDUA.js").then((m) => m.ideasCommand),
44
+ make: () => import("./make-ZYEFMAR6.js").then((m) => m.makeCommand),
45
+ translate: () => import("./translate-ACGKNKQP.js").then((m) => m.translateCommand),
46
+ learn: () => import("./learn-66SKYR36.js").then((m) => m.learnCommand),
47
+ feedback: () => import("./feedback-OCN3XNKF.js").then((m) => m.feedbackCommand),
48
+ rules: () => import("./rules-TPW37OVS.js").then((m) => m.rulesCommand),
49
+ check: () => import("./check-5RW2MX7V.js").then((m) => m.checkCommand),
50
+ select: () => import("./select-POYNXE2L.js").then((m) => m.selectCommand),
51
51
  publish: () => import("./publish-V5YGMK53.js").then((m) => m.publishCommand),
52
52
  performance: () => import("./performance-SPGPGXE5.js").then((m) => m.performanceCommand)
53
53
  }
@@ -55,4 +55,4 @@ Full guide: __tooling__/docs/tools/baker/creatives.md`
55
55
  export {
56
56
  creativesCommand
57
57
  };
58
- //# sourceMappingURL=creatives-U2M4F3D5.js.map
58
+ //# sourceMappingURL=creatives-NK5HOXSF.js.map
@@ -2,16 +2,16 @@ import {
2
2
  FRAME_PLACEHOLDER_NOTE,
3
3
  exitOnPrepareError,
4
4
  prepareCanvas
5
- } from "./chunk-5RCCESDX.js";
6
- import "./chunk-BSEB55E6.js";
7
- import "./chunk-RCSOG2DV.js";
8
- import "./chunk-LD4CHA7U.js";
5
+ } from "./chunk-AXDKLXCG.js";
6
+ import "./chunk-EOY6BK4C.js";
7
+ import "./chunk-ZINMEMOB.js";
8
+ import "./chunk-UKL7GWEH.js";
9
9
  import "./chunk-LCW3U4EA.js";
10
- import "./chunk-7U3V64YT.js";
11
- import "./chunk-MMVLRUMK.js";
12
- import "./chunk-R2TAVQGZ.js";
13
- import "./chunk-DF22CTXE.js";
14
- import "./chunk-AS5VL32C.js";
10
+ import "./chunk-WKLQFSV6.js";
11
+ import "./chunk-G2LGMWNG.js";
12
+ import "./chunk-K2JTERIO.js";
13
+ import "./chunk-IX2QLW6G.js";
14
+ import "./chunk-JYALBYN7.js";
15
15
  import "./chunk-FNA277HP.js";
16
16
  import "./chunk-5WMTPYKT.js";
17
17
  import "./chunk-23H4ZJRP.js";
@@ -19,15 +19,15 @@ import {
19
19
  briefCopyLines,
20
20
  frameDescriptionOf,
21
21
  nativeDialogueOf
22
- } from "./chunk-ELL2IQMF.js";
23
- import "./chunk-5NS4CNF6.js";
22
+ } from "./chunk-62JQQUAU.js";
23
+ import "./chunk-E2RFM6R2.js";
24
24
  import "./chunk-DGCUPJZD.js";
25
- import "./chunk-6KK26F2T.js";
25
+ import "./chunk-BTY4LZBG.js";
26
26
  import {
27
27
  COPY_DIRECTIVE_HEADER
28
- } from "./chunk-U2452GLO.js";
29
- import "./chunk-ZBV5IV5T.js";
30
- import "./chunk-T6ATGN7Y.js";
28
+ } from "./chunk-4AMIHNNP.js";
29
+ import "./chunk-IKCP5NCE.js";
30
+ import "./chunk-MCJ5I5LR.js";
31
31
  import "./chunk-KPYDTIAI.js";
32
32
  import "./chunk-KIGGMKAE.js";
33
33
  import "./chunk-DWX44QL6.js";
@@ -224,4 +224,4 @@ var critiqueCommand = defineCommand({
224
224
  export {
225
225
  critiqueCommand
226
226
  };
227
- //# sourceMappingURL=critique-43OVWKN7.js.map
227
+ //# sourceMappingURL=critique-EDMP5P5R.js.map
@@ -10,8 +10,8 @@ import {
10
10
  isNeutralAuthoredColor,
11
11
  loadBrandTokens,
12
12
  parseColor
13
- } from "./chunk-DF22CTXE.js";
14
- import "./chunk-AS5VL32C.js";
13
+ } from "./chunk-IX2QLW6G.js";
14
+ import "./chunk-JYALBYN7.js";
15
15
  import {
16
16
  STACCATO_MAX_WORDS,
17
17
  STACCATO_RUN,
@@ -28,8 +28,8 @@ import {
28
28
  holdUnbilledSpend
29
29
  } from "./chunk-5WMTPYKT.js";
30
30
  import "./chunk-23H4ZJRP.js";
31
- import "./chunk-ZBV5IV5T.js";
32
- import "./chunk-T6ATGN7Y.js";
31
+ import "./chunk-IKCP5NCE.js";
32
+ import "./chunk-MCJ5I5LR.js";
33
33
  import "./chunk-DWX44QL6.js";
34
34
  import {
35
35
  sha256Hex
@@ -1448,4 +1448,4 @@ export {
1448
1448
  critiqueOne,
1449
1449
  parseCritiqueSlugs
1450
1450
  };
1451
- //# sourceMappingURL=critique-JVKJEBAC.js.map
1451
+ //# sourceMappingURL=critique-N5OL42C6.js.map
@@ -14,15 +14,15 @@ import {
14
14
  sourcesFromPages,
15
15
  sourcesFromReddit,
16
16
  sourcesFromTestimonials
17
- } from "./chunk-DCTEL4KG.js";
17
+ } from "./chunk-RVXMK4X2.js";
18
18
  import "./chunk-NNF4RARY.js";
19
19
  import "./chunk-XUR4QWCS.js";
20
20
  import "./chunk-BFRIRZRZ.js";
21
21
  import "./chunk-ERSX3MKH.js";
22
22
  import "./chunk-5WMTPYKT.js";
23
23
  import "./chunk-23H4ZJRP.js";
24
- import "./chunk-ZBV5IV5T.js";
25
- import "./chunk-T6ATGN7Y.js";
24
+ import "./chunk-IKCP5NCE.js";
25
+ import "./chunk-MCJ5I5LR.js";
26
26
  import "./chunk-2FSEESJU.js";
27
27
  import "./chunk-CVBKW75S.js";
28
28
  import "./chunk-BLAHHMPF.js";
@@ -53,4 +53,4 @@ export {
53
53
  sourcesFromReddit,
54
54
  sourcesFromTestimonials
55
55
  };
56
- //# sourceMappingURL=customers-P4N4NXLJ.js.map
56
+ //# sourceMappingURL=customers-TLAHWJY6.js.map
@@ -492,6 +492,7 @@ declare const CanvasSchema: z.ZodObject<{
492
492
  role: z.ZodOptional<z.ZodString>;
493
493
  region: z.ZodOptional<z.ZodNumber>;
494
494
  on_camera: z.ZodOptional<z.ZodBoolean>;
495
+ wired: z.ZodOptional<z.ZodArray<z.ZodString>>;
495
496
  }, z.core.$strict>>;
496
497
  }, z.core.$strict>>;
497
498
  output: z.ZodOptional<z.ZodObject<{
@@ -8,14 +8,14 @@ import {
8
8
  defaultRegistry,
9
9
  generateCatalog,
10
10
  validateCanvasDeep
11
- } from "../chunk-GQ6JS5MR.js";
12
- import "../chunk-ELL2IQMF.js";
13
- import "../chunk-5NS4CNF6.js";
11
+ } from "../chunk-4VB7F422.js";
12
+ import "../chunk-62JQQUAU.js";
13
+ import "../chunk-E2RFM6R2.js";
14
14
  import "../chunk-DGCUPJZD.js";
15
- import "../chunk-6KK26F2T.js";
16
- import "../chunk-U2452GLO.js";
17
- import "../chunk-ZBV5IV5T.js";
18
- import "../chunk-T6ATGN7Y.js";
15
+ import "../chunk-BTY4LZBG.js";
16
+ import "../chunk-4AMIHNNP.js";
17
+ import "../chunk-IKCP5NCE.js";
18
+ import "../chunk-MCJ5I5LR.js";
19
19
  import "../chunk-KPYDTIAI.js";
20
20
  import "../chunk-KIGGMKAE.js";
21
21
  import "../chunk-DWX44QL6.js";
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  readCreativeIdea,
3
3
  withAnchor
4
- } from "./chunk-U6IWRZQF.js";
5
- import "./chunk-KQDAFZKR.js";
6
- import "./chunk-5RCCESDX.js";
7
- import "./chunk-BSEB55E6.js";
8
- import "./chunk-RCSOG2DV.js";
9
- import "./chunk-LD4CHA7U.js";
4
+ } from "./chunk-VNNCYWNN.js";
5
+ import "./chunk-Q4WWS3UQ.js";
6
+ import "./chunk-AXDKLXCG.js";
7
+ import "./chunk-EOY6BK4C.js";
8
+ import "./chunk-ZINMEMOB.js";
9
+ import "./chunk-UKL7GWEH.js";
10
10
  import "./chunk-LCW3U4EA.js";
11
- import "./chunk-7U3V64YT.js";
12
- import "./chunk-MMVLRUMK.js";
13
- import "./chunk-R2TAVQGZ.js";
14
- import "./chunk-DF22CTXE.js";
15
- import "./chunk-AS5VL32C.js";
11
+ import "./chunk-WKLQFSV6.js";
12
+ import "./chunk-G2LGMWNG.js";
13
+ import "./chunk-K2JTERIO.js";
14
+ import "./chunk-IX2QLW6G.js";
15
+ import "./chunk-JYALBYN7.js";
16
16
  import "./chunk-FNA277HP.js";
17
17
  import "./chunk-5WMTPYKT.js";
18
18
  import "./chunk-23H4ZJRP.js";
19
- import "./chunk-ELL2IQMF.js";
20
- import "./chunk-5NS4CNF6.js";
19
+ import "./chunk-62JQQUAU.js";
20
+ import "./chunk-E2RFM6R2.js";
21
21
  import "./chunk-DGCUPJZD.js";
22
- import "./chunk-6KK26F2T.js";
23
- import "./chunk-U2452GLO.js";
24
- import "./chunk-ZBV5IV5T.js";
25
- import "./chunk-T6ATGN7Y.js";
22
+ import "./chunk-BTY4LZBG.js";
23
+ import "./chunk-4AMIHNNP.js";
24
+ import "./chunk-IKCP5NCE.js";
25
+ import "./chunk-MCJ5I5LR.js";
26
26
  import "./chunk-KPYDTIAI.js";
27
27
  import "./chunk-KIGGMKAE.js";
28
28
  import "./chunk-DWX44QL6.js";
@@ -91,7 +91,7 @@ var feedbackCommand = defineCommand({
91
91
  meta: { name: "feedback", description: DESCRIPTION },
92
92
  subCommands: {
93
93
  read: feedbackReadCommand,
94
- record: () => import("./feedback-record-PIJDOJW3.js").then((m) => m.feedbackRecordCommand)
94
+ record: () => import("./feedback-record-Z66AXZ57.js").then((m) => m.feedbackRecordCommand)
95
95
  },
96
96
  // `args` stays although the parent has no `run`: citty finds the subcommand
97
97
  // name with THIS command's arg defs, so without them `--slug spring-offer`
@@ -103,4 +103,4 @@ var feedbackCommand = defineCommand({
103
103
  export {
104
104
  feedbackCommand
105
105
  };
106
- //# sourceMappingURL=feedback-3GU3PAEI.js.map
106
+ //# sourceMappingURL=feedback-OCN3XNKF.js.map
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  readCreativeIdea,
3
3
  withAnchor
4
- } from "./chunk-U6IWRZQF.js";
4
+ } from "./chunk-VNNCYWNN.js";
5
5
  import {
6
6
  modelRuleDrafter,
7
7
  repeatedReasons,
8
8
  ruleCandidateHints,
9
9
  ruleCandidates,
10
10
  saveCandidates
11
- } from "./chunk-2DHHL4PU.js";
11
+ } from "./chunk-66WEOQV5.js";
12
12
  import {
13
13
  versionOf
14
- } from "./chunk-WMVTIKET.js";
15
- import "./chunk-KQDAFZKR.js";
16
- import "./chunk-5RCCESDX.js";
17
- import "./chunk-BSEB55E6.js";
18
- import "./chunk-RCSOG2DV.js";
19
- import "./chunk-LD4CHA7U.js";
14
+ } from "./chunk-3PXC2OXT.js";
15
+ import "./chunk-Q4WWS3UQ.js";
16
+ import "./chunk-AXDKLXCG.js";
17
+ import "./chunk-EOY6BK4C.js";
18
+ import "./chunk-ZINMEMOB.js";
19
+ import "./chunk-UKL7GWEH.js";
20
20
  import "./chunk-LCW3U4EA.js";
21
- import "./chunk-7U3V64YT.js";
21
+ import "./chunk-WKLQFSV6.js";
22
22
  import {
23
23
  frontmatterOf
24
- } from "./chunk-MMVLRUMK.js";
25
- import "./chunk-R2TAVQGZ.js";
26
- import "./chunk-DF22CTXE.js";
27
- import "./chunk-AS5VL32C.js";
24
+ } from "./chunk-G2LGMWNG.js";
25
+ import "./chunk-K2JTERIO.js";
26
+ import "./chunk-IX2QLW6G.js";
27
+ import "./chunk-JYALBYN7.js";
28
28
  import "./chunk-FNA277HP.js";
29
29
  import {
30
30
  holdWorkspaceSpend
@@ -32,13 +32,13 @@ import {
32
32
  import {
33
33
  findWorkspaceRoot
34
34
  } from "./chunk-23H4ZJRP.js";
35
- import "./chunk-ELL2IQMF.js";
36
- import "./chunk-5NS4CNF6.js";
35
+ import "./chunk-62JQQUAU.js";
36
+ import "./chunk-E2RFM6R2.js";
37
37
  import "./chunk-DGCUPJZD.js";
38
- import "./chunk-6KK26F2T.js";
39
- import "./chunk-U2452GLO.js";
40
- import "./chunk-ZBV5IV5T.js";
41
- import "./chunk-T6ATGN7Y.js";
38
+ import "./chunk-BTY4LZBG.js";
39
+ import "./chunk-4AMIHNNP.js";
40
+ import "./chunk-IKCP5NCE.js";
41
+ import "./chunk-MCJ5I5LR.js";
42
42
  import "./chunk-KPYDTIAI.js";
43
43
  import "./chunk-KIGGMKAE.js";
44
44
  import {
@@ -257,4 +257,4 @@ var feedbackRecordCommand = defineCommand({
257
257
  export {
258
258
  feedbackRecordCommand
259
259
  };
260
- //# sourceMappingURL=feedback-record-PIJDOJW3.js.map
260
+ //# sourceMappingURL=feedback-record-Z66AXZ57.js.map