whipped 0.8.1 → 0.9.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 (86) hide show
  1. package/dist/cli.js +1294 -259
  2. package/dist/mcp-server.js +150 -2
  3. package/dist/migrations/014_companion_sessions.sql +34 -0
  4. package/dist/migrations/015_companion_worktree_mode.sql +45 -0
  5. package/dist/migrations/016_companion_plans.sql +22 -0
  6. package/dist/migrations/017_companion_saved_plans.sql +23 -0
  7. package/dist/migrations/018_generalize_plan_session_ref.sql +29 -0
  8. package/dist/migrations/019_rename_plan_to_canvas.sql +20 -0
  9. package/dist/web-ui/assets/abnfDiagram-VRR7QNED-RwOyl_Kz.js +119 -0
  10. package/dist/web-ui/assets/arc-DmDBHE0H.js +131 -0
  11. package/dist/web-ui/assets/architectureDiagram-ZJ3FMSHR-RTwadm6J.js +8821 -0
  12. package/dist/web-ui/assets/blockDiagram-677ZJIJ3-Dvv5uMUE.js +3801 -0
  13. package/dist/web-ui/assets/c4Diagram-LMCZKHZV-bvr9R9cD.js +2479 -0
  14. package/dist/web-ui/assets/channel-BGhlETgZ.js +7 -0
  15. package/dist/web-ui/assets/chunk-2Q5K7J3B-BRq-Qbau.js +17 -0
  16. package/dist/web-ui/assets/chunk-32BRIVSS-Dy1BUZGx.js +116 -0
  17. package/dist/web-ui/assets/chunk-5VM5RSS4-DCUiIwIc.js +19 -0
  18. package/dist/web-ui/assets/chunk-EX3LRPZG-Cg_Vtzwz.js +1996 -0
  19. package/dist/web-ui/assets/chunk-JWPE2WC7-BW4n_ZhH.js +17 -0
  20. package/dist/web-ui/assets/chunk-MOJQB5TN-BykRa615.js +855 -0
  21. package/dist/web-ui/assets/chunk-RYQCIY6F-D4F7oV1d.js +476 -0
  22. package/dist/web-ui/assets/chunk-V7JOEXUC-DD4mm30h.js +2022 -0
  23. package/dist/web-ui/assets/chunk-VR4S4FIN-Fgvcluvk.js +25 -0
  24. package/dist/web-ui/assets/chunk-XXDRQBXY-C4FVmO5r.js +13 -0
  25. package/dist/web-ui/assets/classDiagram-OUVF2IWQ-DD4KIYF1.js +24 -0
  26. package/dist/web-ui/assets/classDiagram-v2-EOCWNBFH-DD4KIYF1.js +24 -0
  27. package/dist/web-ui/assets/cose-bilkent-JH36ORCC-ekFwvYt9.js +4943 -0
  28. package/dist/web-ui/assets/cynefin-VYW2F7L2-DTNV7gvQ.js +31527 -0
  29. package/dist/web-ui/assets/cynefinDiagram-TSTJHNR4-koYialeC.js +454 -0
  30. package/dist/web-ui/assets/cytoscape.esm-CaQ7Fomf.js +30346 -0
  31. package/dist/web-ui/assets/dagre-VKFMJZFB-Do43FV3o.js +526 -0
  32. package/dist/web-ui/assets/defaultLocale-B2RvLBDe.js +206 -0
  33. package/dist/web-ui/assets/diagram-FQU43EPY-D0STdny6.js +636 -0
  34. package/dist/web-ui/assets/diagram-G47NLZAW-D9g6BdZT.js +858 -0
  35. package/dist/web-ui/assets/diagram-NH7WQ7WH-zLW6CAmi.js +212 -0
  36. package/dist/web-ui/assets/diagram-OA4YK3LP-CA5tvsYw.js +492 -0
  37. package/dist/web-ui/assets/diagram-WEI45ONY-CLmYUHR0.js +309 -0
  38. package/dist/web-ui/assets/ebnfDiagram-CCIWWBDH-KkHubBI6.js +139 -0
  39. package/dist/web-ui/assets/erDiagram-Q63AITRT-BJna2u1n.js +1238 -0
  40. package/dist/web-ui/assets/flowDiagram-23GEKE2U-DVJKalah.js +2353 -0
  41. package/dist/web-ui/assets/ganttDiagram-NO4QXBWP-D9HwNV4u.js +3733 -0
  42. package/dist/web-ui/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  43. package/dist/web-ui/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  44. package/dist/web-ui/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  45. package/dist/web-ui/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  46. package/dist/web-ui/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 +0 -0
  47. package/dist/web-ui/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 +0 -0
  48. package/dist/web-ui/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 +0 -0
  49. package/dist/web-ui/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 +0 -0
  50. package/dist/web-ui/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 +0 -0
  51. package/dist/web-ui/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 +0 -0
  52. package/dist/web-ui/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  53. package/dist/web-ui/assets/gitGraphDiagram-IHSO6WYX-B7wnoO0J.js +1385 -0
  54. package/dist/web-ui/assets/graph-BMLV0goG.js +2042 -0
  55. package/dist/web-ui/assets/{index-CRXPsGTP.css → index-DPjATOCj.css} +800 -1207
  56. package/dist/web-ui/assets/{index-BMFVAmy4.js → index-DZ7I8r_C.js} +41392 -39594
  57. package/dist/web-ui/assets/infoDiagram-FWYZ7A6U-BY6XoiF8.js +32 -0
  58. package/dist/web-ui/assets/init-ZxktEp_H.js +16 -0
  59. package/dist/web-ui/assets/ishikawaDiagram-FXEZZL3T-BaZVnO8j.js +967 -0
  60. package/dist/web-ui/assets/journeyDiagram-5HDEW3XC-CUA6DUAQ.js +1256 -0
  61. package/dist/web-ui/assets/kanban-definition-HUTT4EX6-5W5tiWrd.js +1055 -0
  62. package/dist/web-ui/assets/katex-CqNtglxf.js +14499 -0
  63. package/dist/web-ui/assets/layout-BNmRhaUB.js +2359 -0
  64. package/dist/web-ui/assets/linear-CfvGIyDE.js +340 -0
  65. package/dist/web-ui/assets/map-BEO0Bu8q.js +298 -0
  66. package/dist/web-ui/assets/mermaid.core-BRk3IzY2.js +26639 -0
  67. package/dist/web-ui/assets/mindmap-definition-LN4V7U3C-2GmLg6ou.js +1183 -0
  68. package/dist/web-ui/assets/ordinal-DSZU4PqD.js +76 -0
  69. package/dist/web-ui/assets/pegDiagram-2B236MQR-gTEdrkJg.js +127 -0
  70. package/dist/web-ui/assets/pieDiagram-ENE6RG2P-CYXjIhqC.js +318 -0
  71. package/dist/web-ui/assets/quadrantDiagram-ABIIQ3AL-BStRZxwf.js +1341 -0
  72. package/dist/web-ui/assets/railroadDiagram-RFXS5EU6-btveDRG2.js +93 -0
  73. package/dist/web-ui/assets/requirementDiagram-TGXJPOKE-Cy_155rE.js +1205 -0
  74. package/dist/web-ui/assets/sankeyDiagram-HTMAVEWB-Chtvw3_G.js +1264 -0
  75. package/dist/web-ui/assets/sequenceDiagram-DBY2YBRQ-DDuMVEX1.js +4523 -0
  76. package/dist/web-ui/assets/sizeCapture-X5ZJPWSS-Bylf0o6J.js +64 -0
  77. package/dist/web-ui/assets/stateDiagram-2N3HPSRC-DIzLeR5G.js +453 -0
  78. package/dist/web-ui/assets/stateDiagram-v2-6OUMAXLB-zG_WjT1-.js +23 -0
  79. package/dist/web-ui/assets/swimlanes-5IMT3BWC-TKaCmVta.js +8575 -0
  80. package/dist/web-ui/assets/swimlanesDiagram-G3AALYLV-C5eB3qqS.js +21 -0
  81. package/dist/web-ui/assets/timeline-definition-FHXFAJF6-CC5Ujpcu.js +1606 -0
  82. package/dist/web-ui/assets/vennDiagram-L72KCM5P-DUSVXSYT.js +2523 -0
  83. package/dist/web-ui/assets/wardleyDiagram-EHGQE667-CoP9xn89.js +978 -0
  84. package/dist/web-ui/assets/xychartDiagram-FW5EYKEG-B9FqP_kk.js +1972 -0
  85. package/dist/web-ui/index.html +2 -2
  86. package/package.json +1 -1
@@ -0,0 +1,206 @@
1
+ function formatDecimal(x) {
2
+ return Math.abs(x = Math.round(x)) >= 1e21 ? x.toLocaleString("en").replace(/,/g, "") : x.toString(10);
3
+ }
4
+ function formatDecimalParts(x, p) {
5
+ if (!isFinite(x) || x === 0) return null;
6
+ var i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e"), coefficient = x.slice(0, i);
7
+ return [
8
+ coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,
9
+ +x.slice(i + 1)
10
+ ];
11
+ }
12
+ function exponent(x) {
13
+ return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;
14
+ }
15
+ function formatGroup(grouping, thousands) {
16
+ return function(value, width) {
17
+ var i = value.length, t = [], j = 0, g = grouping[0], length = 0;
18
+ while (i > 0 && g > 0) {
19
+ if (length + g + 1 > width) g = Math.max(1, width - length);
20
+ t.push(value.substring(i -= g, i + g));
21
+ if ((length += g + 1) > width) break;
22
+ g = grouping[j = (j + 1) % grouping.length];
23
+ }
24
+ return t.reverse().join(thousands);
25
+ };
26
+ }
27
+ function formatNumerals(numerals) {
28
+ return function(value) {
29
+ return value.replace(/[0-9]/g, function(i) {
30
+ return numerals[+i];
31
+ });
32
+ };
33
+ }
34
+ var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
35
+ function formatSpecifier(specifier) {
36
+ if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
37
+ var match;
38
+ return new FormatSpecifier({
39
+ fill: match[1],
40
+ align: match[2],
41
+ sign: match[3],
42
+ symbol: match[4],
43
+ zero: match[5],
44
+ width: match[6],
45
+ comma: match[7],
46
+ precision: match[8] && match[8].slice(1),
47
+ trim: match[9],
48
+ type: match[10]
49
+ });
50
+ }
51
+ formatSpecifier.prototype = FormatSpecifier.prototype;
52
+ function FormatSpecifier(specifier) {
53
+ this.fill = specifier.fill === void 0 ? " " : specifier.fill + "";
54
+ this.align = specifier.align === void 0 ? ">" : specifier.align + "";
55
+ this.sign = specifier.sign === void 0 ? "-" : specifier.sign + "";
56
+ this.symbol = specifier.symbol === void 0 ? "" : specifier.symbol + "";
57
+ this.zero = !!specifier.zero;
58
+ this.width = specifier.width === void 0 ? void 0 : +specifier.width;
59
+ this.comma = !!specifier.comma;
60
+ this.precision = specifier.precision === void 0 ? void 0 : +specifier.precision;
61
+ this.trim = !!specifier.trim;
62
+ this.type = specifier.type === void 0 ? "" : specifier.type + "";
63
+ }
64
+ FormatSpecifier.prototype.toString = function() {
65
+ return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type;
66
+ };
67
+ function formatTrim(s) {
68
+ out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {
69
+ switch (s[i]) {
70
+ case ".":
71
+ i0 = i1 = i;
72
+ break;
73
+ case "0":
74
+ if (i0 === 0) i0 = i;
75
+ i1 = i;
76
+ break;
77
+ default:
78
+ if (!+s[i]) break out;
79
+ if (i0 > 0) i0 = 0;
80
+ break;
81
+ }
82
+ }
83
+ return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;
84
+ }
85
+ var prefixExponent;
86
+ function formatPrefixAuto(x, p) {
87
+ var d = formatDecimalParts(x, p);
88
+ if (!d) return prefixExponent = void 0, x.toPrecision(p);
89
+ var coefficient = d[0], exponent2 = d[1], i = exponent2 - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent2 / 3))) * 3) + 1, n = coefficient.length;
90
+ return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join("0") : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) : "0." + new Array(1 - i).join("0") + formatDecimalParts(x, Math.max(0, p + i - 1))[0];
91
+ }
92
+ function formatRounded(x, p) {
93
+ var d = formatDecimalParts(x, p);
94
+ if (!d) return x + "";
95
+ var coefficient = d[0], exponent2 = d[1];
96
+ return exponent2 < 0 ? "0." + new Array(-exponent2).join("0") + coefficient : coefficient.length > exponent2 + 1 ? coefficient.slice(0, exponent2 + 1) + "." + coefficient.slice(exponent2 + 1) : coefficient + new Array(exponent2 - coefficient.length + 2).join("0");
97
+ }
98
+ const formatTypes = {
99
+ "%": (x, p) => (x * 100).toFixed(p),
100
+ "b": (x) => Math.round(x).toString(2),
101
+ "c": (x) => x + "",
102
+ "d": formatDecimal,
103
+ "e": (x, p) => x.toExponential(p),
104
+ "f": (x, p) => x.toFixed(p),
105
+ "g": (x, p) => x.toPrecision(p),
106
+ "o": (x) => Math.round(x).toString(8),
107
+ "p": (x, p) => formatRounded(x * 100, p),
108
+ "r": formatRounded,
109
+ "s": formatPrefixAuto,
110
+ "X": (x) => Math.round(x).toString(16).toUpperCase(),
111
+ "x": (x) => Math.round(x).toString(16)
112
+ };
113
+ function identity(x) {
114
+ return x;
115
+ }
116
+ var map = Array.prototype.map, prefixes = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"];
117
+ function formatLocale(locale2) {
118
+ var group = locale2.grouping === void 0 || locale2.thousands === void 0 ? identity : formatGroup(map.call(locale2.grouping, Number), locale2.thousands + ""), currencyPrefix = locale2.currency === void 0 ? "" : locale2.currency[0] + "", currencySuffix = locale2.currency === void 0 ? "" : locale2.currency[1] + "", decimal = locale2.decimal === void 0 ? "." : locale2.decimal + "", numerals = locale2.numerals === void 0 ? identity : formatNumerals(map.call(locale2.numerals, String)), percent = locale2.percent === void 0 ? "%" : locale2.percent + "", minus = locale2.minus === void 0 ? "−" : locale2.minus + "", nan = locale2.nan === void 0 ? "NaN" : locale2.nan + "";
119
+ function newFormat(specifier, options) {
120
+ specifier = formatSpecifier(specifier);
121
+ var fill = specifier.fill, align = specifier.align, sign = specifier.sign, symbol = specifier.symbol, zero = specifier.zero, width = specifier.width, comma = specifier.comma, precision = specifier.precision, trim = specifier.trim, type = specifier.type;
122
+ if (type === "n") comma = true, type = "g";
123
+ else if (!formatTypes[type]) precision === void 0 && (precision = 12), trim = true, type = "g";
124
+ if (zero || fill === "0" && align === "=") zero = true, fill = "0", align = "=";
125
+ var prefix = (options && options.prefix !== void 0 ? options.prefix : "") + (symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : ""), suffix = (symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : "") + (options && options.suffix !== void 0 ? options.suffix : "");
126
+ var formatType = formatTypes[type], maybeSuffix = /[defgprs%]/.test(type);
127
+ precision = precision === void 0 ? 6 : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision));
128
+ function format2(value) {
129
+ var valuePrefix = prefix, valueSuffix = suffix, i, n, c;
130
+ if (type === "c") {
131
+ valueSuffix = formatType(value) + valueSuffix;
132
+ value = "";
133
+ } else {
134
+ value = +value;
135
+ var valueNegative = value < 0 || 1 / value < 0;
136
+ value = isNaN(value) ? nan : formatType(Math.abs(value), precision);
137
+ if (trim) value = formatTrim(value);
138
+ if (valueNegative && +value === 0 && sign !== "+") valueNegative = false;
139
+ valuePrefix = (valueNegative ? sign === "(" ? sign : minus : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;
140
+ valueSuffix = (type === "s" && !isNaN(value) && prefixExponent !== void 0 ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");
141
+ if (maybeSuffix) {
142
+ i = -1, n = value.length;
143
+ while (++i < n) {
144
+ if (c = value.charCodeAt(i), 48 > c || c > 57) {
145
+ valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;
146
+ value = value.slice(0, i);
147
+ break;
148
+ }
149
+ }
150
+ }
151
+ }
152
+ if (comma && !zero) value = group(value, Infinity);
153
+ var length = valuePrefix.length + value.length + valueSuffix.length, padding = length < width ? new Array(width - length + 1).join(fill) : "";
154
+ if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";
155
+ switch (align) {
156
+ case "<":
157
+ value = valuePrefix + value + valueSuffix + padding;
158
+ break;
159
+ case "=":
160
+ value = valuePrefix + padding + value + valueSuffix;
161
+ break;
162
+ case "^":
163
+ value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length);
164
+ break;
165
+ default:
166
+ value = padding + valuePrefix + value + valueSuffix;
167
+ break;
168
+ }
169
+ return numerals(value);
170
+ }
171
+ format2.toString = function() {
172
+ return specifier + "";
173
+ };
174
+ return format2;
175
+ }
176
+ function formatPrefix2(specifier, value) {
177
+ var e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3, k = Math.pow(10, -e), f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier), { suffix: prefixes[8 + e / 3] });
178
+ return function(value2) {
179
+ return f(k * value2);
180
+ };
181
+ }
182
+ return {
183
+ format: newFormat,
184
+ formatPrefix: formatPrefix2
185
+ };
186
+ }
187
+ var locale;
188
+ var format;
189
+ var formatPrefix;
190
+ defaultLocale({
191
+ thousands: ",",
192
+ grouping: [3],
193
+ currency: ["$", ""]
194
+ });
195
+ function defaultLocale(definition) {
196
+ locale = formatLocale(definition);
197
+ format = locale.format;
198
+ formatPrefix = locale.formatPrefix;
199
+ return locale;
200
+ }
201
+ export {
202
+ formatPrefix as a,
203
+ format as b,
204
+ exponent as e,
205
+ formatSpecifier as f
206
+ };