@bud.sh/app 0.5.1 → 0.6.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 (115) hide show
  1. package/README.md +41 -31
  2. package/dist/client/assets/bud/design.js +1 -1
  3. package/dist/client/assets/canvas-Bih9EdKJ.js +1 -0
  4. package/dist/client/assets/difference-worker-Bzg-rizy.js +8 -0
  5. package/dist/client/assets/dist-CdE5wBkg.js +5 -0
  6. package/dist/client/assets/files-1dLuoM2f.js +1 -0
  7. package/dist/client/assets/i18n-CkO6VFI0.js +1 -0
  8. package/dist/client/assets/index-Cn2mxroU.css +2 -0
  9. package/dist/client/assets/{index-Dn2pfmXf.js → index-DtISWZp9.js} +2 -2
  10. package/dist/client/assets/pages-BJ-tNJ4J.js +1 -0
  11. package/dist/client/assets/{project-branches-CMGRmrqr.js → project-branches-Ce3rXrkc.js} +1 -1
  12. package/dist/client/assets/project-comments-CPUONfs8.js +1 -0
  13. package/dist/client/assets/project-thread-links-C-TGkq59.js +1 -0
  14. package/dist/client/assets/{project-threads-ZbKDh78d.js → project-threads-Bv7IDBgi.js} +105 -105
  15. package/dist/client/assets/project-work-DAE9-olg.js +1 -0
  16. package/dist/client/assets/{task-design-BPpc4Gd7.js → task-design-CwySIAOl.js} +3 -3
  17. package/dist/client/assets/tasks-KWsCLi_h.js +3 -0
  18. package/dist/client/assets/wasm-inline-DSUyFn1L.js +1 -0
  19. package/dist/client/assets/workspace-CVdcfaaB.js +2 -0
  20. package/dist/client/index.html +3 -3
  21. package/dist/hosted/assets/{canvas-BYTOp1p7.js → canvas-AII16n9i.js} +97 -6
  22. package/dist/hosted/assets/{comment-data-Cn5y2VxV.js → comment-data-BXfMElfx.js} +1998 -381
  23. package/dist/hosted/assets/dist-BCSTeNf4.js +4785 -0
  24. package/dist/hosted/assets/{files-B1P2_24q.js → files-D_1yeAVO.js} +10 -5
  25. package/dist/hosted/assets/{pages-B0ZlVdci.js → pages-CN_SbKWA.js} +3 -3
  26. package/dist/hosted/assets/{project-branches-DlCWmfRo.js → project-branches-Bxp0DCwg.js} +1 -1
  27. package/dist/hosted/assets/{project-thread-links-BZXQ200n.js → project-thread-links-KqQoKBLE.js} +76 -4
  28. package/dist/{node-host/assets/screen-DapOVrga.js → hosted/assets/screen-DpAcDUKR.js} +25 -1
  29. package/dist/hosted/assets/tasks-D66LlwxM.js +1423 -0
  30. package/dist/hosted/assets/wasm-inline-Dl9tqabx.js +4 -0
  31. package/dist/hosted/hosted.js +7885 -6219
  32. package/dist/node/assets/Stream-CAm1eJ2n.js +16604 -0
  33. package/dist/{server/assets/bridge-B_Blt55E.js → node/assets/bridge-DQSBYHmw.js} +124 -290
  34. package/dist/node/assets/config-9_jWwNBh.js +1067 -0
  35. package/dist/node/assets/load-config.server-CMVtRVmO.js +261 -0
  36. package/dist/node/assets/module-3GgtT4Xs.js +308 -0
  37. package/dist/node/assets/server-DTQFuoX2.js +846 -0
  38. package/dist/node/assets/src-D-kG1GxB.js +2 -0
  39. package/dist/node/assets/{src-CerrKjID.js → src-Dwe9APUx.js} +93 -3
  40. package/dist/node/assets/src-DysjfbM8.js +8592 -0
  41. package/dist/node/bridge.js +1 -845
  42. package/dist/node/cli.js +206 -0
  43. package/dist/node/design.js +811 -8
  44. package/dist/node/index.js +2 -739
  45. package/dist/node/plugins.js +5711 -0
  46. package/dist/node/server.js +1 -6746
  47. package/dist/node/vite.js +121 -0
  48. package/dist/{server/assets/canvas-CkMK4hoN.js → node-host/assets/canvas-BeDoufy1.js} +97 -7
  49. package/dist/node-host/assets/{comment-data-yfWEdDQL.js → comment-data-DE2T9yTj.js} +1974 -355
  50. package/dist/node-host/assets/dist-BCSTeNf4.js +4785 -0
  51. package/dist/node-host/assets/{files-anHi-apm.js → files-Dl-PTS09.js} +11 -6
  52. package/dist/node-host/assets/{pages-CW4aF6dK.js → pages-DL2sk6_U.js} +3 -3
  53. package/dist/node-host/assets/{project-branches-D7rVCxQX.js → project-branches-DGp5ELct.js} +1 -1
  54. package/dist/{server/assets/project-thread-links-lLS_rq7c.js → node-host/assets/project-thread-links-CgBV3Jcm.js} +76 -5
  55. package/dist/{hosted/assets/screen-CfdC3NbR.js → node-host/assets/screen-B55yyVfb.js} +25 -1
  56. package/dist/node-host/assets/tasks-DZRNkoxe.js +1425 -0
  57. package/dist/node-host/assets/wasm-inline-Dl9tqabx.js +4 -0
  58. package/dist/node-host/node-host.js +6127 -4438
  59. package/dist/server/assets/{branch-previews-ClkoJ0lM.js → branch-previews-DedrpnVR.js} +1555 -673
  60. package/dist/{node-host/assets/canvas-DxmcFZCh.js → server/assets/canvas-CJWQ-jjv.js} +98 -6
  61. package/dist/server/assets/{comment-data-NLeHG89b.js → comment-data-Rg42ToTW.js} +1660 -26
  62. package/dist/server/assets/dist-BCSTeNf4.js +4785 -0
  63. package/dist/server/assets/{events-iHpLGr3k.js → events-BH_rAu7O.js} +155 -20
  64. package/dist/server/assets/{files-CRdl489E.js → files-CPJqKeMo.js} +12 -7
  65. package/dist/server/assets/{listener-BAYn9Q-u.js → listener-D61O6PzF.js} +708 -12
  66. package/dist/server/assets/{pages-DXVlJlBC.js → pages-KJY_Ba92.js} +4 -4
  67. package/dist/server/assets/{project-branches-CwTsf6WQ.js → project-branches-qG9ACZvo.js} +2 -2
  68. package/dist/{node-host/assets/project-thread-links-m-OLpsD9.js → server/assets/project-thread-links-CqK0lqCF.js} +77 -4
  69. package/dist/{node-host/assets/tasks-request-B0aeNocI.js → server/assets/project-work-DoIwxWMm.js} +87 -2
  70. package/dist/server/assets/run-BJ8r5jSh.js +572 -0
  71. package/dist/server/assets/{screen-B1zH_1O3.js → screen-CBrHPFug.js} +26 -2
  72. package/dist/server/assets/{server-DxK-UB_Z.js → server-Dkbp5stG.js} +1521 -793
  73. package/dist/server/assets/{services-BRrgXYlT.js → services-BTfig8A8.js} +234 -997
  74. package/dist/server/assets/tasks-Bgu5Lg9Y.js +1427 -0
  75. package/dist/server/assets/wasm-inline-Dl9tqabx.js +4 -0
  76. package/dist/server/capture.js +1 -2
  77. package/dist/server/migration.js +569 -12
  78. package/dist/server/runtime.js +7 -5
  79. package/dist/server/server.js +3 -3
  80. package/dist/types/assets/{config-DIC2cf_S.d.ts → config-CvcYmE2s.d.ts} +188 -50
  81. package/dist/types/assets/{contract-CAT-XFNq.d.ts → contract-B7yuuqSn.d.ts} +44 -2
  82. package/dist/types/assets/{items-CaVkByHk.d.ts → items-BQdaVksf.d.ts} +12 -1
  83. package/dist/types/assets/memory-state-BBW-FAVA.d.ts +236 -0
  84. package/dist/types/assets/picker-Be5Gx4WR.d.ts +9 -0
  85. package/dist/types/assets/{task-design-xJOhRNWh.d.ts → task-design-BDHKFHpp.d.ts} +3 -1
  86. package/dist/types/bridge.d.ts +1 -1
  87. package/dist/types/companion.d.ts +3 -3
  88. package/dist/types/design.d.ts +2 -2
  89. package/dist/types/hosted.d.ts +3 -3
  90. package/dist/types/index.d.ts +2 -2
  91. package/dist/types/node-host.d.ts +2 -2
  92. package/dist/types/plugins.d.ts +445 -0
  93. package/dist/types/screen.d.ts +2 -2
  94. package/dist/types/server.d.ts +2 -228
  95. package/dist/types/vite.d.ts +16 -0
  96. package/package.json +19 -3
  97. package/dist/client/assets/canvas-8GXJIuDK.js +0 -1
  98. package/dist/client/assets/difference-worker-C99ychYw.js +0 -8
  99. package/dist/client/assets/files-DkWt1l9H.js +0 -1
  100. package/dist/client/assets/i18n-hH_Ba5QO.js +0 -1
  101. package/dist/client/assets/index-tpHYVXma.css +0 -2
  102. package/dist/client/assets/pages-BVd6MQmu.js +0 -1
  103. package/dist/client/assets/project-comments-D1IIQwsW.js +0 -1
  104. package/dist/client/assets/project-thread-links-DKwe_SYb.js +0 -1
  105. package/dist/client/assets/project-work-D4DZqBCZ.js +0 -1
  106. package/dist/client/assets/tasks-Cn0VOZ9Z.js +0 -1
  107. package/dist/client/assets/tasks-request-BLyOzokZ.js +0 -1
  108. package/dist/client/assets/workspace-DGErsSg6.js +0 -2
  109. package/dist/hosted/assets/tasks-_yKh2Z6q.js +0 -649
  110. package/dist/hosted/assets/tasks-request-CFPLvLc7.js +0 -113
  111. package/dist/node-host/assets/tasks-BBK_CybR.js +0 -651
  112. package/dist/server/assets/project-work-CSZlCwH-.js +0 -88
  113. package/dist/server/assets/tasks-CGdz-uox.js +0 -652
  114. package/dist/server/assets/tasks-request-D2NBjCTl.js +0 -115
  115. package/dist/types/assets/picker-D1Bw3ndx.d.ts +0 -14
@@ -1,115 +0,0 @@
1
- import { hn as parseWorkItemRef, i as routes, vn as parseWorkQuery } from "./events-iHpLGr3k.js";
2
- import { En as t } from "./comment-data-NLeHG89b.js";
3
- import { createMultiMatcher } from "remix/route-pattern/match";
4
- //#region app/client/tasks-request.ts
5
- var reads = createMultiMatcher();
6
- var writes = createMultiMatcher();
7
- for (let [name, route] of Object.entries(routes.tasksApi)) (route.method === "GET" ? reads : writes).add(route.pattern, name);
8
- function validEndpoint(url, write) {
9
- if (!url.startsWith("/") || url.startsWith("//") || url.length > 7e3 || /[\\#\u0000-\u0020]/.test(url)) return false;
10
- try {
11
- let match = (write ? writes : reads).match(url, { baseURL: "http://bud.invalid" });
12
- if (!match || match.url.pathname !== url.split("?")[0]) return false;
13
- for (let [key, value] of Object.entries(match.params)) if (key === "id" || key === "section") parseWorkItemRef({ id: value });
14
- if (match.data !== "index" && match.data !== "workspace") return !match.url.search;
15
- let query = {};
16
- for (let [key, value] of match.url.searchParams) {
17
- if (![
18
- "search",
19
- "status",
20
- "limit"
21
- ].includes(key) || Object.hasOwn(query, key)) return false;
22
- query[key] = key === "limit" ? Number(value) : value;
23
- }
24
- parseWorkQuery(query);
25
- return true;
26
- } catch {
27
- return false;
28
- }
29
- }
30
- /**
31
- * Reads one local capability-protected endpoint without following redirects or forwarding the
32
- * token.
33
- * @param url - Relative app API path generated from the typed route contract.
34
- * @param token - The selected companion's capability.
35
- * @param signal - Request cancellation owned by the interactive workspace.
36
- * @param parse - Browser DTO validator.
37
- * @param fetcher - Injectable transport for browser-free failure and capability tests.
38
- * @param write - Optional explicit JSON mutation; omitted for reads.
39
- * @returns A validated DTO; error responses never become an empty successful view.
40
- */
41
- async function requestTasks(url, token, signal, parse, fetcher = fetch, write) {
42
- if (!validEndpoint(url, Boolean(write))) throw new Error(t("app.client.tasksRequest.invalidEndpoint"));
43
- signal.throwIfAborted();
44
- let response = await fetcher(url, {
45
- method: write ? "POST" : "GET",
46
- headers: {
47
- "X-Bud-Token": token,
48
- ...write ? { "Content-Type": "application/json" } : {}
49
- },
50
- ...write ? { body: JSON.stringify(write.body) } : {},
51
- credentials: "same-origin",
52
- redirect: "error",
53
- cache: "no-store",
54
- signal
55
- });
56
- let reader = response.body?.getReader();
57
- if (!reader) throw new Error(t("app.client.tasksRequest.emptyResponse"));
58
- let chunks = [];
59
- let size = 0;
60
- try {
61
- while (true) {
62
- signal.throwIfAborted();
63
- let part = await reader.read();
64
- if (part.done) break;
65
- size += part.value.byteLength;
66
- if (size > 4194304) throw new Error(t("app.client.tasksRequest.responseTooLarge"));
67
- chunks.push(part.value);
68
- }
69
- } catch (cause) {
70
- await reader.cancel().catch(() => {});
71
- throw cause;
72
- } finally {
73
- reader.releaseLock();
74
- }
75
- let bytes = new Uint8Array(size);
76
- let offset = 0;
77
- for (let chunk of chunks) {
78
- bytes.set(chunk, offset);
79
- offset += chunk.byteLength;
80
- }
81
- let value;
82
- try {
83
- value = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
84
- } catch {
85
- throw new Error(t("app.client.tasksRequest.invalidResponse"));
86
- }
87
- if (!response.ok) {
88
- let error = value && typeof value === "object" && "error" in value && typeof value.error === "string" ? value.error.slice(0, 1e3) : t("app.client.tasksRequest.loadFailed");
89
- let code = value && typeof value === "object" && "code" in value && typeof value.code === "string" && /^[a-z][a-z-]{0,63}$/.test(value.code) ? value.code : "request";
90
- let currentRevision;
91
- if (value && typeof value === "object" && "currentRevision" in value) {
92
- let revision = value.currentRevision;
93
- if (revision !== null && (typeof revision !== "string" || !revision.trim() || revision.length > 256 || revision.includes("\0"))) throw new Error(t("app.client.tasksRequest.invalidConflictResponse"));
94
- currentRevision = revision;
95
- }
96
- throw new TaskRequestError(error, code, currentRevision);
97
- }
98
- return parse(value);
99
- }
100
- /**
101
- * The task service answered with an error: its message, its code and, after a conflict, the
102
- * item's current revision.
103
- */
104
- var TaskRequestError = class extends Error {
105
- code;
106
- currentRevision;
107
- constructor(message, code, currentRevision) {
108
- super(message);
109
- this.name = "TaskRequestError";
110
- this.code = code;
111
- this.currentRevision = currentRevision;
112
- }
113
- };
114
- //#endregion
115
- export { requestTasks as n, TaskRequestError as t };
@@ -1,14 +0,0 @@
1
- //#region ../project/src/lib/picker.d.ts
2
- /**
3
- * What finds the element under a comment: Bud's DOM picker, a built-in framework picker, or a
4
- * ./ browser module in your project whose default export is a picker adapter.
5
- */
6
- type BudPicker = "bud:dom" | "bud:react" | "bud:react-grab" | (string & {});
7
- /** The picker, with the project module to serve when it is the project's own. */
8
- interface ResolvedPicker {
9
- name: string;
10
- /** The project's own picker module, as a ./ path; null for a built-in picker. */
11
- module: string | null;
12
- }
13
- //#endregion
14
- export { ResolvedPicker as n, BudPicker as t };