@vibes.diy/api-svc 14.3.58 → 14.3.64

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 (219) hide show
  1. package/analytics.d.ts +3 -15
  2. package/analytics.js +2 -18
  3. package/analytics.js.map +1 -1
  4. package/cf-serve.js +1 -0
  5. package/cf-serve.js.map +1 -1
  6. package/create-handler.d.ts +0 -2
  7. package/create-handler.js +0 -1
  8. package/create-handler.js.map +1 -1
  9. package/evento-handler-manifest.js +4 -0
  10. package/evento-handler-manifest.js.map +1 -1
  11. package/index.d.ts +5 -0
  12. package/index.js +5 -0
  13. package/index.js.map +1 -1
  14. package/intern/agent-assembly.d.ts +0 -2
  15. package/intern/agent-assembly.js +2 -2
  16. package/intern/agent-assembly.js.map +1 -1
  17. package/intern/agent-build-tools.d.ts +1 -7
  18. package/intern/agent-build-tools.js +4 -38
  19. package/intern/agent-build-tools.js.map +1 -1
  20. package/intern/agent-deferred-access.d.ts +0 -13
  21. package/intern/agent-deferred-access.js +0 -31
  22. package/intern/agent-deferred-access.js.map +1 -1
  23. package/intern/agent-dispatcher.js +29 -87
  24. package/intern/agent-dispatcher.js.map +1 -1
  25. package/intern/agent-request-frame.d.ts +0 -10
  26. package/intern/agent-request-frame.js +0 -16
  27. package/intern/agent-request-frame.js.map +1 -1
  28. package/intern/agent-router.d.ts +1 -1
  29. package/intern/agent-router.js +1 -1
  30. package/intern/agent-router.js.map +1 -1
  31. package/intern/agent-session-instruction.d.ts +2 -2
  32. package/intern/agent-session-instruction.js +4 -7
  33. package/intern/agent-session-instruction.js.map +1 -1
  34. package/intern/agent-session-runtime.js +0 -6
  35. package/intern/agent-session-runtime.js.map +1 -1
  36. package/intern/agent-session.d.ts +25 -25
  37. package/intern/agent-session.js +1 -1
  38. package/intern/agent-session.js.map +1 -1
  39. package/intern/attach-draft-handle.d.ts +0 -1
  40. package/intern/attach-draft-handle.js +2 -56
  41. package/intern/attach-draft-handle.js.map +1 -1
  42. package/intern/backend-db-callback.js +1 -0
  43. package/intern/backend-db-callback.js.map +1 -1
  44. package/intern/components/vibe-page.js +1 -0
  45. package/intern/components/vibe-page.js.map +1 -1
  46. package/intern/cross-lane-build-guard.d.ts +10 -0
  47. package/intern/cross-lane-build-guard.js +17 -0
  48. package/intern/cross-lane-build-guard.js.map +1 -0
  49. package/intern/delete-access-gate.js +1 -0
  50. package/intern/delete-access-gate.js.map +1 -1
  51. package/intern/draft-chat-store.d.ts +7 -0
  52. package/intern/draft-continuation.js +1 -6
  53. package/intern/draft-continuation.js.map +1 -1
  54. package/intern/ensure-chat-id.js +2 -2
  55. package/intern/ensure-chat-id.js.map +1 -1
  56. package/intern/ensure-slug-binding.js +2 -0
  57. package/intern/ensure-slug-binding.js.map +1 -1
  58. package/intern/grouped-vibe-import-map.d.ts +3 -0
  59. package/intern/grouped-vibe-import-map.js +3 -0
  60. package/intern/grouped-vibe-import-map.js.map +1 -1
  61. package/intern/guest-build-store.d.ts +0 -9
  62. package/intern/guest-build-store.js +2 -100
  63. package/intern/guest-build-store.js.map +1 -1
  64. package/intern/import-synth.js.map +1 -1
  65. package/intern/mint-decision.d.ts +1 -0
  66. package/intern/mint-decision.js +3 -0
  67. package/intern/mint-decision.js.map +1 -1
  68. package/intern/mint-job-store.d.ts +2 -64
  69. package/intern/mint-job-store.js +7 -180
  70. package/intern/mint-job-store.js.map +1 -1
  71. package/intern/mint-style.js +5 -1
  72. package/intern/mint-style.js.map +1 -1
  73. package/intern/open-turn-store.d.ts +10 -0
  74. package/intern/open-turn-store.js +28 -1
  75. package/intern/open-turn-store.js.map +1 -1
  76. package/intern/pouf-head-css.d.ts +15 -0
  77. package/intern/pouf-head-css.js +40 -0
  78. package/intern/pouf-head-css.js.map +1 -0
  79. package/intern/prompt-assembly.d.ts +0 -19
  80. package/intern/prompt-assembly.js +2 -5
  81. package/intern/prompt-assembly.js.map +1 -1
  82. package/intern/prompt-step.js.map +1 -1
  83. package/intern/put-access-gate.d.ts +1 -0
  84. package/intern/put-access-gate.js +8 -0
  85. package/intern/put-access-gate.js.map +1 -1
  86. package/intern/render-vibe.d.ts +2 -1
  87. package/intern/render-vibe.js +5 -2
  88. package/intern/render-vibe.js.map +1 -1
  89. package/intern/save-repair-io.d.ts +50 -0
  90. package/intern/save-repair-io.js +188 -0
  91. package/intern/save-repair-io.js.map +1 -0
  92. package/intern/save-repair.d.ts +4 -4
  93. package/intern/save-repair.js +4 -7
  94. package/intern/save-repair.js.map +1 -1
  95. package/intern/section-fan-out.d.ts +3 -10
  96. package/intern/section-fan-out.js +0 -23
  97. package/intern/section-fan-out.js.map +1 -1
  98. package/package.json +13 -12
  99. package/public/agent-turn-action.js +3 -0
  100. package/public/agent-turn-action.js.map +1 -1
  101. package/public/agent-turn-assembly.js +0 -17
  102. package/public/agent-turn-assembly.js.map +1 -1
  103. package/public/app-documents-read-eventos.js +17 -0
  104. package/public/app-documents-read-eventos.js.map +1 -1
  105. package/public/app-documents-write-eventos.d.ts +1 -0
  106. package/public/app-documents-write-eventos.js +9 -0
  107. package/public/app-documents-write-eventos.js.map +1 -1
  108. package/public/channel-invite-flow.d.ts +6 -0
  109. package/public/channel-invite-flow.js +102 -0
  110. package/public/channel-invite-flow.js.map +1 -0
  111. package/public/channel-invite-signup-match.d.ts +6 -0
  112. package/public/channel-invite-signup-match.js +31 -0
  113. package/public/channel-invite-signup-match.js.map +1 -0
  114. package/public/channel-invite-store.d.ts +62 -0
  115. package/public/channel-invite-store.js +186 -0
  116. package/public/channel-invite-store.js.map +1 -0
  117. package/public/grant-reduce.d.ts +5 -0
  118. package/public/grant-reduce.js +33 -8
  119. package/public/grant-reduce.js.map +1 -1
  120. package/public/handle-prompt-context.d.ts +3 -6
  121. package/public/handle-prompt-context.js +3 -7
  122. package/public/handle-prompt-context.js.map +1 -1
  123. package/public/handler-llm-request.js +1 -0
  124. package/public/handler-llm-request.js.map +1 -1
  125. package/public/inherit-read-resolver.d.ts +1 -0
  126. package/public/inherit-read-resolver.js +9 -0
  127. package/public/inherit-read-resolver.js.map +1 -1
  128. package/public/invite-subject-aliases.d.ts +15 -0
  129. package/public/invite-subject-aliases.js +77 -0
  130. package/public/invite-subject-aliases.js.map +1 -0
  131. package/public/invite-unsubscribe.js +2 -1
  132. package/public/invite-unsubscribe.js.map +1 -1
  133. package/public/lookup-handles.js +5 -2
  134. package/public/lookup-handles.js.map +1 -1
  135. package/public/open-chat.d.ts +4 -23
  136. package/public/open-chat.js +26 -287
  137. package/public/open-chat.js.map +1 -1
  138. package/public/prompt-chat-section.js +8 -0
  139. package/public/prompt-chat-section.js.map +1 -1
  140. package/public/resolve-invite-subjects.d.ts +4 -0
  141. package/public/resolve-invite-subjects.js +53 -0
  142. package/public/resolve-invite-subjects.js.map +1 -0
  143. package/public/serv-entry-point.js +7 -3
  144. package/public/serv-entry-point.js.map +1 -1
  145. package/public/shared-mint.d.ts +0 -5
  146. package/public/shared-mint.js +0 -21
  147. package/public/shared-mint.js.map +1 -1
  148. package/public/social-flow.js +52 -4
  149. package/public/social-flow.js.map +1 -1
  150. package/public/sync-eventos.js +1 -0
  151. package/public/sync-eventos.js.map +1 -1
  152. package/public/viewer-channel-resolver.js +9 -0
  153. package/public/viewer-channel-resolver.js.map +1 -1
  154. package/public/who-am-i.d.ts +1 -1
  155. package/public/who-am-i.js +10 -2
  156. package/public/who-am-i.js.map +1 -1
  157. package/types.d.ts +1 -2
  158. package/types.js.map +1 -1
  159. package/usage-report/codegen-delivery-alert-util.js.map +1 -1
  160. package/intern/draft-lane-autofix.d.ts +0 -8
  161. package/intern/draft-lane-autofix.js +0 -8
  162. package/intern/draft-lane-autofix.js.map +0 -1
  163. package/intern/draft-lane-classify.d.ts +0 -55
  164. package/intern/draft-lane-classify.js +0 -168
  165. package/intern/draft-lane-classify.js.map +0 -1
  166. package/intern/draft-lane-config.d.ts +0 -28
  167. package/intern/draft-lane-config.js +0 -48
  168. package/intern/draft-lane-config.js.map +0 -1
  169. package/intern/draft-lane-exports.d.ts +0 -7
  170. package/intern/draft-lane-exports.js +0 -104
  171. package/intern/draft-lane-exports.js.map +0 -1
  172. package/intern/draft-lane-imports.d.ts +0 -6
  173. package/intern/draft-lane-imports.js +0 -180
  174. package/intern/draft-lane-imports.js.map +0 -1
  175. package/intern/draft-lane-look.d.ts +0 -20
  176. package/intern/draft-lane-look.js +0 -78
  177. package/intern/draft-lane-look.js.map +0 -1
  178. package/intern/draft-lane-opens.d.ts +0 -6
  179. package/intern/draft-lane-opens.js +0 -217
  180. package/intern/draft-lane-opens.js.map +0 -1
  181. package/intern/draft-lane-parse.d.ts +0 -17
  182. package/intern/draft-lane-parse.js +0 -134
  183. package/intern/draft-lane-parse.js.map +0 -1
  184. package/intern/draft-lane-persist.d.ts +0 -37
  185. package/intern/draft-lane-persist.js +0 -136
  186. package/intern/draft-lane-persist.js.map +0 -1
  187. package/intern/draft-lane-prompt.d.ts +0 -16
  188. package/intern/draft-lane-prompt.js +0 -59
  189. package/intern/draft-lane-prompt.js.map +0 -1
  190. package/intern/draft-lane-settled.d.ts +0 -20
  191. package/intern/draft-lane-settled.js +0 -73
  192. package/intern/draft-lane-settled.js.map +0 -1
  193. package/intern/draft-lane-store.d.ts +0 -39
  194. package/intern/draft-lane-store.js +0 -5
  195. package/intern/draft-lane-store.js.map +0 -1
  196. package/intern/draft-lane-transport.d.ts +0 -11
  197. package/intern/draft-lane-transport.js +0 -61
  198. package/intern/draft-lane-transport.js.map +0 -1
  199. package/intern/draft-lane-worker.d.ts +0 -82
  200. package/intern/draft-lane-worker.js +0 -418
  201. package/intern/draft-lane-worker.js.map +0 -1
  202. package/intern/draft-lane.d.ts +0 -85
  203. package/intern/draft-lane.js +0 -245
  204. package/intern/draft-lane.js.map +0 -1
  205. package/intern/draft-note.d.ts +0 -1
  206. package/intern/draft-note.js +0 -13
  207. package/intern/draft-note.js.map +0 -1
  208. package/intern/draft-ready-frame.d.ts +0 -51
  209. package/intern/draft-ready-frame.js +0 -104
  210. package/intern/draft-ready-frame.js.map +0 -1
  211. package/intern/draft-variation-ast.d.ts +0 -26
  212. package/intern/draft-variation-ast.js +0 -389
  213. package/intern/draft-variation-ast.js.map +0 -1
  214. package/intern/draft-variation.d.ts +0 -46
  215. package/intern/draft-variation.js +0 -249
  216. package/intern/draft-variation.js.map +0 -1
  217. package/intern/guest-draft-start.d.ts +0 -25
  218. package/intern/guest-draft-start.js +0 -66
  219. package/intern/guest-draft-start.js.map +0 -1
@@ -1,180 +0,0 @@
1
- import { LOOK_BASE_EXPORTS, LOOK_MODULE, LOOK_OVERLAY_EXPORTS, LOOK_OVERLAY_MODULE, MODULE_EXPORTS, REACT_HOOKS, RUNTIME_MODULES, } from "./draft-lane-exports.js";
2
- const RUNTIME_ADDS = [
3
- ["useVibe", "use-vibes"],
4
- ["useViewer", "use-vibes"],
5
- ["useImgGen", "use-vibes"],
6
- ["callAI", "call-ai"],
7
- ["useFireproof", "use-fireproof"],
8
- ["fireproof", "use-fireproof"],
9
- ];
10
- const JSX_RUNTIME_COMPONENTS = ["ImgGen", "ViewerTag", "HandleInput"];
11
- export function resolveRelative(fromPath, spec) {
12
- const dir = fromPath.slice(0, fromPath.lastIndexOf("/") + 1);
13
- const parts = [];
14
- for (const segment of (dir + spec).split("/")) {
15
- if (segment === "" || segment === ".")
16
- continue;
17
- if (segment === "..")
18
- parts.pop();
19
- else
20
- parts.push(segment);
21
- }
22
- return `/${parts.join("/")}`;
23
- }
24
- function localName(specifier) {
25
- const pieces = specifier.split(/\s+as\s+/);
26
- return pieces[pieces.length - 1].trim();
27
- }
28
- function importedName(specifier) {
29
- return specifier.split(/\s+as\s+/)[0].trim();
30
- }
31
- function addTo(map, mod, name) {
32
- const set = map.get(mod) ?? new Set();
33
- set.add(name);
34
- map.set(mod, set);
35
- }
36
- function escapeRegExp(text) {
37
- return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
38
- }
39
- function synthesizeFile(args) {
40
- const { path, vfs, notes } = args;
41
- let src = args.source;
42
- src = src.replace(/from\s+["'](\.{1,2}\/[^"']+)["']/g, (match, spec) => {
43
- if (/\.[a-z]+$/i.test(spec))
44
- return match;
45
- const base = resolveRelative(path, spec);
46
- const ext = [".jsx", ".js", ".tsx", ".ts"].find((candidate) => vfs.has(base + candidate));
47
- if (ext === undefined)
48
- return match;
49
- notes.push(`ext ${spec}${ext}`);
50
- return match.replace(spec, spec + ext);
51
- });
52
- const importRe = /^import\s*\{([^}]*)\}\s*from\s*["']([^"']+)["'];?\s*$/gm;
53
- const wanted = new Map([
54
- [LOOK_MODULE, new Set()],
55
- [LOOK_OVERLAY_MODULE, new Set()],
56
- ]);
57
- const runtime = new Map();
58
- src = src.replace(importRe, (match, names, mod) => {
59
- const list = names
60
- .split(",")
61
- .map((name) => name.trim())
62
- .filter((name) => name.length > 0);
63
- if (mod === LOOK_MODULE || mod === LOOK_OVERLAY_MODULE) {
64
- for (const specifier of list) {
65
- const bare = importedName(specifier);
66
- if (LOOK_BASE_EXPORTS.includes(bare))
67
- addTo(wanted, LOOK_MODULE, specifier);
68
- else if (LOOK_OVERLAY_EXPORTS.includes(bare))
69
- addTo(wanted, LOOK_OVERLAY_MODULE, specifier);
70
- else
71
- notes.push(`drop ${bare} from ${mod}`);
72
- }
73
- return "/*__LOOK_IMPORT__*/";
74
- }
75
- if (RUNTIME_MODULES.includes(mod)) {
76
- const exports = MODULE_EXPORTS[mod] ?? [];
77
- for (const specifier of list) {
78
- const bare = importedName(specifier);
79
- if (exports.includes(bare)) {
80
- addTo(runtime, mod, specifier);
81
- continue;
82
- }
83
- const home = RUNTIME_MODULES.find((candidate) => (MODULE_EXPORTS[candidate] ?? []).includes(bare));
84
- if (home !== undefined) {
85
- addTo(runtime, home, specifier);
86
- notes.push(`move ${bare} to ${home}`);
87
- }
88
- else
89
- notes.push(`drop ${bare} from ${mod}`);
90
- }
91
- if (runtime.has(mod) === false)
92
- runtime.set(mod, new Set());
93
- return "/*__RT_IMPORT__*/";
94
- }
95
- return match;
96
- });
97
- const reactRe = /^import\s+(?:(React)\s*,?\s*)?(?:\{([^}]*)\})?\s*from\s*["']react["'];?\s*$/m;
98
- const reactMatch = reactRe.exec(src);
99
- const reactNamed = new Set(reactMatch !== null && reactMatch[2] !== undefined
100
- ? reactMatch[2]
101
- .split(",")
102
- .map((name) => name.trim())
103
- .filter((name) => name.length > 0)
104
- : []);
105
- const needReactDefault = /\bReact\./.test(src) || /<[A-Za-z]/.test(src);
106
- for (const hook of REACT_HOOKS) {
107
- const used = new RegExp(`(?<![.\\w])${hook}\\(`).test(src);
108
- const declaredLocally = new RegExp(`(?:function|const|let)\\s+${hook}\\b`).test(src);
109
- if (used && reactNamed.has(hook) === false && declaredLocally === false) {
110
- reactNamed.add(hook);
111
- notes.push(`add ${hook} from react`);
112
- }
113
- }
114
- if (reactMatch !== null)
115
- src = src.replace(reactRe, "/*__REACT_IMPORT__*/");
116
- else if (reactNamed.size > 0 || needReactDefault)
117
- notes.push("add react import");
118
- const reactLine = `import React${reactNamed.size > 0 ? `, { ${[...reactNamed].join(", ")} }` : ""} from "react";`;
119
- const used = new Set([...src.matchAll(/<([A-Z][A-Za-z]*)\b/g)].map((m) => m[1]));
120
- const imported = new Set([...wanted.values()].flatMap((set) => [...set]).map(localName));
121
- const declared = new Set([...src.matchAll(/(?:function|const|let|var|class)\s+([A-Za-z_][A-Za-z0-9_]*)/g)].map((m) => m[1]));
122
- for (const name of used) {
123
- if (imported.has(name) || declared.has(name))
124
- continue;
125
- if (LOOK_BASE_EXPORTS.includes(name)) {
126
- addTo(wanted, LOOK_MODULE, name);
127
- notes.push(`add ${name}`);
128
- }
129
- else if (LOOK_OVERLAY_EXPORTS.includes(name)) {
130
- addTo(wanted, LOOK_OVERLAY_MODULE, name);
131
- notes.push(`add ${name}`);
132
- }
133
- else if (JSX_RUNTIME_COMPONENTS.includes(name) &&
134
- [...runtime.values()].some((set) => [...set].map(localName).includes(name)) === false) {
135
- addTo(runtime, "use-vibes", name);
136
- notes.push(`add ${name}`);
137
- }
138
- }
139
- for (const [hook, home] of RUNTIME_ADDS) {
140
- const called = new RegExp(`\\b${escapeRegExp(hook)}\\(`).test(src);
141
- const inRuntime = [...runtime.values()].some((set) => [...set].map(localName).includes(hook));
142
- const importedElsewhere = new RegExp(`import[^;]*\\b${escapeRegExp(hook)}\\b[^;]*from`).test(src);
143
- if (called && declared.has(hook) === false && inRuntime === false && importedElsewhere === false) {
144
- addTo(runtime, home, hook);
145
- notes.push(`add ${hook}`);
146
- }
147
- }
148
- const lines = [];
149
- for (const [mod, set] of wanted)
150
- if (set.size > 0)
151
- lines.push(`import { ${[...set].join(", ")} } from "${mod}";`);
152
- for (const [mod, set] of runtime)
153
- if (set.size > 0)
154
- lines.push(`import { ${[...set].join(", ")} } from "${mod}";`);
155
- if (reactNamed.size > 0 || needReactDefault || reactMatch !== null)
156
- lines.unshift(reactLine);
157
- let placed = false;
158
- src = src.replace(/\/\*__(LOOK|RT|REACT)_IMPORT__\*\/\n?/g, () => {
159
- if (placed)
160
- return "";
161
- placed = true;
162
- return lines.join("\n") + "\n";
163
- });
164
- if (placed === false && lines.length > 0)
165
- src = lines.join("\n") + "\n" + src;
166
- return src;
167
- }
168
- export function synthesizeImports(vfs) {
169
- const notes = [];
170
- const out = new Map();
171
- for (const [path, source] of vfs) {
172
- if (/\.(jsx?|tsx?)$/.test(path) === false) {
173
- out.set(path, source);
174
- continue;
175
- }
176
- out.set(path, synthesizeFile({ path, source, vfs, notes }));
177
- }
178
- return { vfs: out, notes };
179
- }
180
- //# sourceMappingURL=draft-lane-imports.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"draft-lane-imports.js","sourceRoot":"","sources":["../../jsr/intern/draft-lane-imports.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- import { type AppScopedActiveEntry, type Style } from "@vibes.diy/api-types";
3
- import type { VibesApiSQLCtx } from "../types.js";
4
- export interface DraftLook {
5
- readonly theme: string;
6
- readonly colorTheme?: string;
7
- readonly style?: Style;
8
- }
9
- export declare function drawDraftLook(rnd: () => number, theme?: string): DraftLook;
10
- export declare function draftLookEntries(look: DraftLook): AppScopedActiveEntry[];
11
- export declare function preDrawDraftLook(vctx: VibesApiSQLCtx, key: {
12
- readonly userId: string;
13
- readonly ownerHandle: string;
14
- readonly appSlug: string;
15
- }, rnd?: () => number): Promise<Result<DraftLook>>;
16
- export declare function bufferDraftLook(vctx: VibesApiSQLCtx, key: {
17
- readonly chatId: string;
18
- readonly userId: string;
19
- }, rnd?: () => number): Promise<Result<DraftLook>>;
20
- export declare function readStoredDraftLook(vctx: VibesApiSQLCtx, ownerHandle: string, appSlug: string): Promise<Result<DraftLook | undefined>>;
@@ -1,78 +0,0 @@
1
- import { Result, exception2Result } from "@adviser/cement";
2
- import { isActiveColorTheme, isActiveStyle, isActiveTheme, } from "@vibes.diy/api-types";
3
- import { drawLookColorway } from "@vibes.diy/prompts";
4
- import { and, eq } from "drizzle-orm/sql/expressions";
5
- import { parseDraftPreAlloc } from "./draft-chat-store.js";
6
- import { readComposedSettingsForApp, writeAppSettingItems } from "../public/app-setting-items.js";
7
- import { MINT_FALLBACK_THEME, stampableStyleForTheme, styleForLookColorway } from "./mint-style.js";
8
- export function drawDraftLook(rnd, theme = MINT_FALLBACK_THEME) {
9
- const colorway = drawLookColorway(rnd, theme);
10
- if (colorway === undefined) {
11
- const style = stampableStyleForTheme(theme);
12
- return { theme, ...(style === undefined ? {} : { style }) };
13
- }
14
- const style = styleForLookColorway(theme, colorway);
15
- return { theme, colorTheme: colorway, ...(style === undefined ? {} : { style }) };
16
- }
17
- export function draftLookEntries(look) {
18
- const entries = [{ type: "active.theme", theme: look.theme }];
19
- if (look.colorTheme !== undefined)
20
- entries.push({ type: "active.colorTheme", colorTheme: look.colorTheme });
21
- if (look.style !== undefined)
22
- entries.push({ type: "active.style", ...look.style });
23
- return entries;
24
- }
25
- export async function preDrawDraftLook(vctx, key, rnd = Math.random) {
26
- const look = drawDraftLook(rnd);
27
- const written = await exception2Result(() => writeAppSettingItems(vctx, key, { upserts: draftLookEntries(look) }));
28
- if (written.isErr())
29
- return Result.Err(written.Err());
30
- return Result.Ok(look);
31
- }
32
- export async function bufferDraftLook(vctx, key, rnd = Math.random) {
33
- const look = drawDraftLook(rnd);
34
- const t = vctx.sql.tables.chatContexts;
35
- const where = and(eq(t.chatId, key.chatId), eq(t.userId, key.userId));
36
- const rRow = await exception2Result(() => vctx.sql.db
37
- .select({ draftPreAlloc: t.draftPreAlloc })
38
- .from(t)
39
- .where(where)
40
- .limit(1)
41
- .then((rows) => rows[0]));
42
- if (rRow.isErr())
43
- return Result.Err(rRow.Err());
44
- const row = rRow.Ok();
45
- if (row === undefined)
46
- return Result.Err(`draft chat ${key.chatId} not found`);
47
- const prior = parseDraftPreAlloc(row.draftPreAlloc) ?? {};
48
- const next = {
49
- ...prior,
50
- theme: look.theme,
51
- ...(look.colorTheme === undefined ? {} : { colorTheme: look.colorTheme }),
52
- ...(look.style === undefined ? {} : { style: look.style }),
53
- };
54
- const written = await exception2Result(() => vctx.sql.db.update(t).set({ draftPreAlloc: next }).where(where));
55
- if (written.isErr())
56
- return Result.Err(written.Err());
57
- return Result.Ok(look);
58
- }
59
- export async function readStoredDraftLook(vctx, ownerHandle, appSlug) {
60
- const rEntries = await exception2Result(() => readComposedSettingsForApp(vctx, ownerHandle, appSlug));
61
- if (rEntries.isErr())
62
- return Result.Err(rEntries.Err());
63
- const entries = rEntries.Ok();
64
- const theme = entries.filter(isActiveTheme).at(-1)?.theme;
65
- if (theme === undefined)
66
- return Result.Ok(undefined);
67
- const colorTheme = entries.filter(isActiveColorTheme).at(-1)?.colorTheme;
68
- const stored = entries.filter(isActiveStyle).at(-1);
69
- const style = stored === undefined
70
- ? undefined
71
- : {
72
- ...(stored.palette === undefined ? {} : { palette: stored.palette }),
73
- ...(stored.font === undefined ? {} : { font: stored.font }),
74
- ...(stored.ornament === undefined ? {} : { ornament: stored.ornament }),
75
- };
76
- return Result.Ok({ theme, ...(colorTheme === undefined ? {} : { colorTheme }), ...(style === undefined ? {} : { style }) });
77
- }
78
- //# sourceMappingURL=draft-lane-look.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"draft-lane-look.js","sourceRoot":"","sources":["../../jsr/intern/draft-lane-look.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export interface OpensCheck {
2
- readonly opens: boolean;
3
- readonly findings: readonly string[];
4
- }
5
- export declare function isServedBareSpecifier(spec: string): boolean;
6
- export declare function opensCheck(vfs: ReadonlyMap<string, string>): OpensCheck;
@@ -1,217 +0,0 @@
1
- import { exception2Result, NPMPackage } from "@adviser/cement";
2
- import { Parser } from "acorn";
3
- import acornJsx from "acorn-jsx";
4
- import { MODULE_EXPORTS } from "./draft-lane-exports.js";
5
- import { isBareImportSpecifier } from "./write-apps.js";
6
- const JsxParser = Parser.extend(acornJsx());
7
- export function isServedBareSpecifier(spec) {
8
- const s = spec.trim();
9
- if (s !== spec || s.length === 0 || s.startsWith("#"))
10
- return false;
11
- if (isBareImportSpecifier(spec) === false)
12
- return false;
13
- return exception2Result(() => NPMPackage.parse(spec)).isOk();
14
- }
15
- function isNode(value) {
16
- return typeof value === "object" && value !== null && typeof value.type === "string";
17
- }
18
- function walk(root, visit) {
19
- if (Array.isArray(root)) {
20
- for (const item of root)
21
- walk(item, visit);
22
- return;
23
- }
24
- if (isNode(root) === false)
25
- return;
26
- visit(root);
27
- for (const [key, value] of Object.entries(root)) {
28
- if (key === "type" || key === "start" || key === "end" || key === "loc" || key === "range")
29
- continue;
30
- if (typeof value === "object" && value !== null)
31
- walk(value, visit);
32
- }
33
- }
34
- function identifierName(node) {
35
- return isNode(node) && node.type === "Identifier" && typeof node.name === "string" ? node.name : undefined;
36
- }
37
- function declaredNames(program) {
38
- const names = new Set();
39
- function bindPattern(pattern) {
40
- walk(pattern, (node) => {
41
- const name = identifierName(node);
42
- if (name !== undefined)
43
- names.add(name);
44
- });
45
- }
46
- walk(program, (node) => {
47
- switch (true) {
48
- case node.type === "FunctionDeclaration" || node.type === "ClassDeclaration" || node.type === "FunctionExpression": {
49
- const name = identifierName(node.id);
50
- if (name !== undefined)
51
- names.add(name);
52
- if (Array.isArray(node.params))
53
- bindPattern(node.params);
54
- break;
55
- }
56
- case node.type === "ArrowFunctionExpression":
57
- if (Array.isArray(node.params))
58
- bindPattern(node.params);
59
- break;
60
- case node.type === "VariableDeclarator":
61
- bindPattern(node.id);
62
- break;
63
- case node.type === "ImportSpecifier" || node.type === "ImportDefaultSpecifier" || node.type === "ImportNamespaceSpecifier": {
64
- const name = identifierName(node.local);
65
- if (name !== undefined)
66
- names.add(name);
67
- break;
68
- }
69
- case node.type === "CatchClause":
70
- bindPattern(node.param);
71
- break;
72
- }
73
- });
74
- return names;
75
- }
76
- function jsxElementName(node) {
77
- const name = node.name;
78
- return isNode(name) && name.type === "JSXIdentifier" && typeof name.name === "string" ? name.name : undefined;
79
- }
80
- function isHookCall(node) {
81
- if (isNode(node) === false || node.type !== "CallExpression")
82
- return false;
83
- const callee = identifierName(node.callee);
84
- return callee !== undefined && /^use[A-Z]/.test(callee);
85
- }
86
- const SELECT_PARTS = new Set(["SelectValue", "SelectTrigger", "SelectContent", "SelectItem"]);
87
- const FUNCTION_TYPES = new Set(["FunctionDeclaration", "FunctionExpression", "ArrowFunctionExpression"]);
88
- function selectPartsOutsideSelect(program) {
89
- const selectFunctions = new Set();
90
- const unenclosed = [];
91
- function visit(node, insideSelect, fn) {
92
- if (Array.isArray(node)) {
93
- for (const item of node)
94
- visit(item, insideSelect, fn);
95
- return;
96
- }
97
- if (isNode(node) === false)
98
- return;
99
- let inside = insideSelect;
100
- const ownFn = FUNCTION_TYPES.has(node.type) ? node : fn;
101
- if (node.type === "JSXElement" && isNode(node.openingElement)) {
102
- const name = jsxElementName(node.openingElement);
103
- if (name === "Select") {
104
- inside = true;
105
- selectFunctions.add(ownFn);
106
- }
107
- else if (name !== undefined && SELECT_PARTS.has(name) && inside === false)
108
- unenclosed.push({ name, fn: ownFn });
109
- }
110
- for (const [key, value] of Object.entries(node)) {
111
- if (key === "type" || key === "start" || key === "end" || key === "loc" || key === "range")
112
- continue;
113
- if (typeof value === "object" && value !== null)
114
- visit(value, inside, ownFn);
115
- }
116
- }
117
- visit(program, false, undefined);
118
- const outside = new Set();
119
- for (const part of unenclosed) {
120
- if (selectFunctions.size === 0 || selectFunctions.has(part.fn))
121
- outside.add(part.name);
122
- }
123
- return outside;
124
- }
125
- function checkFile(args) {
126
- const { path, source, vfs } = args;
127
- const file = path.replace(/^\/+/, "");
128
- const parsed = exception2Result(() => JsxParser.parse(source, { ecmaVersion: "latest", sourceType: "module", allowHashBang: true }));
129
- if (parsed.isErr())
130
- return [`${file}: ${parsed.Err().message}`];
131
- const program = parsed.Ok();
132
- if (isNode(program) === false || Array.isArray(program.body) === false)
133
- return [`${file}: unreadable module`];
134
- const findings = [];
135
- for (const statement of program.body) {
136
- if (isNode(statement) === false)
137
- continue;
138
- if (statement.type === "ImportDeclaration") {
139
- const sourceNode = statement.source;
140
- const spec = isNode(sourceNode) && typeof sourceNode.value === "string" ? sourceNode.value : "";
141
- if (spec.startsWith("./") || spec.startsWith("../") || spec.startsWith("/")) {
142
- const target = spec.startsWith("/") ? spec : resolveFrom(path, spec);
143
- if (vfs.has(target) === false)
144
- findings.push(`${file}: imports "${spec}", and the draft has no file at ${target}`);
145
- continue;
146
- }
147
- if (spec.length > 0 && isBareImportSpecifier(spec) === false)
148
- continue;
149
- if (isServedBareSpecifier(spec) === false) {
150
- findings.push(`${file}: imports "${spec}", which is not one of the app's packages`);
151
- continue;
152
- }
153
- const exports = MODULE_EXPORTS[spec];
154
- if (exports === undefined || Array.isArray(statement.specifiers) === false)
155
- continue;
156
- for (const specifier of statement.specifiers) {
157
- if (isNode(specifier) === false || specifier.type !== "ImportSpecifier")
158
- continue;
159
- const imported = identifierName(specifier.imported);
160
- if (imported !== undefined && exports.includes(imported) === false) {
161
- findings.push(`${file}: "${imported}" is not exported by ${spec}`);
162
- }
163
- }
164
- continue;
165
- }
166
- const hookAtTop = (statement.type === "ExpressionStatement" && isHookCall(statement.expression)) ||
167
- (statement.type === "VariableDeclaration" &&
168
- Array.isArray(statement.declarations) &&
169
- statement.declarations.some((declarator) => isNode(declarator) && isHookCall(declarator.init)));
170
- if (hookAtTop)
171
- findings.push(`${file}: a hook is called at module scope; call it inside the component`);
172
- }
173
- const declared = declaredNames(program);
174
- const missing = new Set();
175
- walk(program, (node) => {
176
- if (node.type !== "JSXOpeningElement")
177
- return;
178
- const name = jsxElementName(node);
179
- if (name !== undefined && /^[A-Z]/.test(name) && declared.has(name) === false)
180
- missing.add(name);
181
- });
182
- for (const name of missing)
183
- findings.push(`${file}: <${name}> is used but never imported or defined`);
184
- for (const name of selectPartsOutsideSelect(program)) {
185
- findings.push(`${file}: <${name}> renders outside a <Select>; every Select part goes inside its own <Select>`);
186
- }
187
- return findings;
188
- }
189
- function resolveFrom(fromPath, spec) {
190
- const dir = fromPath.slice(0, fromPath.lastIndexOf("/") + 1);
191
- const parts = [];
192
- for (const segment of (dir + spec).split("/")) {
193
- if (segment === "" || segment === ".")
194
- continue;
195
- if (segment === "..")
196
- parts.pop();
197
- else
198
- parts.push(segment);
199
- }
200
- return `/${parts.join("/")}`;
201
- }
202
- export function opensCheck(vfs) {
203
- const findings = [];
204
- if (vfs.has("/App.jsx") === false)
205
- findings.push("App.jsx: the draft has no App.jsx");
206
- for (const [path, source] of vfs) {
207
- if (/\.(jsx?|mjs)$/.test(path))
208
- findings.push(...checkFile({ path, source, vfs }));
209
- if (path.endsWith(".json")) {
210
- const json = exception2Result(() => JSON.parse(source));
211
- if (json.isErr())
212
- findings.push(`${path.replace(/^\/+/, "")}: ${json.Err().message}`);
213
- }
214
- }
215
- return { opens: findings.length === 0, findings };
216
- }
217
- //# sourceMappingURL=draft-lane-opens.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"draft-lane-opens.js","sourceRoot":"","sources":["../../jsr/intern/draft-lane-opens.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- import { type BlockEndMsg, type BlockStreamMsg, type SseUsage } from "@vibes.diy/call-ai-v2";
3
- export interface ParsedDraft {
4
- readonly vfs: ReadonlyMap<string, string>;
5
- readonly intro: string;
6
- readonly tail: string;
7
- readonly draftNote: string;
8
- }
9
- export declare function draftTextToBlocks(args: {
10
- readonly text: string;
11
- readonly streamId: string;
12
- readonly createId: () => string;
13
- readonly usage?: readonly SseUsage[];
14
- }): Promise<Result<BlockStreamMsg[]>>;
15
- export declare function blockEndOf(msgs: readonly BlockStreamMsg[]): BlockEndMsg | undefined;
16
- export declare function parseDraftText(text: string): Promise<Result<ParsedDraft>>;
17
- export declare function renderDraftText(draft: Pick<ParsedDraft, "vfs" | "intro" | "tail">): string;