@vibes.diy/api-svc 14.3.79 → 14.3.81

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 (167) hide show
  1. package/cf-serve.js.map +1 -1
  2. package/create-handler.d.ts +0 -1
  3. package/create-handler.js +0 -2
  4. package/create-handler.js.map +1 -1
  5. package/evento-handler-manifest.js +6 -2
  6. package/evento-handler-manifest.js.map +1 -1
  7. package/index.d.ts +0 -1
  8. package/index.js +0 -1
  9. package/index.js.map +1 -1
  10. package/intern/account-vibe-activity.d.ts +36 -0
  11. package/intern/account-vibe-activity.js +284 -0
  12. package/intern/account-vibe-activity.js.map +1 -0
  13. package/intern/agent-account-tools.d.ts +21 -1
  14. package/intern/agent-account-tools.js +221 -35
  15. package/intern/agent-account-tools.js.map +1 -1
  16. package/intern/agent-assembly.d.ts +3 -0
  17. package/intern/agent-assembly.js +28 -2
  18. package/intern/agent-assembly.js.map +1 -1
  19. package/intern/agent-belt.js +3 -1
  20. package/intern/agent-belt.js.map +1 -1
  21. package/intern/agent-discussions.d.ts +22 -0
  22. package/intern/agent-discussions.js +131 -0
  23. package/intern/agent-discussions.js.map +1 -0
  24. package/intern/agent-dispatcher.d.ts +1 -0
  25. package/intern/agent-dispatcher.js +3 -0
  26. package/intern/agent-dispatcher.js.map +1 -1
  27. package/intern/agent-file-tools.d.ts +12 -2
  28. package/intern/agent-file-tools.js.map +1 -1
  29. package/intern/agent-options-tool.d.ts +5 -1
  30. package/intern/agent-options-tool.js +49 -14
  31. package/intern/agent-options-tool.js.map +1 -1
  32. package/intern/agent-read-tools.d.ts +1 -0
  33. package/intern/agent-read-tools.js +1 -1
  34. package/intern/agent-read-tools.js.map +1 -1
  35. package/intern/agent-request-frame.d.ts +24 -2
  36. package/intern/agent-request-frame.js +78 -16
  37. package/intern/agent-request-frame.js.map +1 -1
  38. package/intern/agent-session-instruction.d.ts +2 -2
  39. package/intern/agent-session-instruction.js +7 -14
  40. package/intern/agent-session-instruction.js.map +1 -1
  41. package/intern/agent-session.d.ts +5 -0
  42. package/intern/agent-session.js +10 -2
  43. package/intern/agent-session.js.map +1 -1
  44. package/intern/agent-settled-history.d.ts +22 -0
  45. package/intern/agent-settled-history.js +293 -0
  46. package/intern/agent-settled-history.js.map +1 -0
  47. package/intern/agent-top-level-instruction.d.ts +2 -2
  48. package/intern/agent-top-level-instruction.js +7 -4
  49. package/intern/agent-top-level-instruction.js.map +1 -1
  50. package/intern/agent-wake.d.ts +3 -0
  51. package/intern/agent-wake.js +3 -1
  52. package/intern/agent-wake.js.map +1 -1
  53. package/intern/agent-with-vibe.d.ts +24 -1
  54. package/intern/agent-with-vibe.js +97 -30
  55. package/intern/agent-with-vibe.js.map +1 -1
  56. package/intern/builder-model.d.ts +2 -0
  57. package/intern/builder-model.js +1 -0
  58. package/intern/builder-model.js.map +1 -1
  59. package/intern/builder-settled-history.d.ts +12 -0
  60. package/intern/builder-settled-history.js +71 -0
  61. package/intern/builder-settled-history.js.map +1 -0
  62. package/intern/byok-model-scope.d.ts +7 -0
  63. package/intern/byok-model-scope.js +11 -0
  64. package/intern/byok-model-scope.js.map +1 -0
  65. package/intern/caller-model.d.ts +19 -0
  66. package/intern/caller-model.js +30 -0
  67. package/intern/caller-model.js.map +1 -0
  68. package/intern/design-repair.d.ts +3 -0
  69. package/intern/design-repair.js +41 -1
  70. package/intern/design-repair.js.map +1 -1
  71. package/intern/ensure-chat-id.js +40 -2
  72. package/intern/ensure-chat-id.js.map +1 -1
  73. package/intern/first-build-no-app.d.ts +15 -0
  74. package/intern/first-build-no-app.js +124 -0
  75. package/intern/first-build-no-app.js.map +1 -0
  76. package/intern/get-vibe-route-hints.d.ts +2 -2
  77. package/intern/get-vibe-route-hints.js +9 -5
  78. package/intern/get-vibe-route-hints.js.map +1 -1
  79. package/intern/import-synth.js +1 -0
  80. package/intern/import-synth.js.map +1 -1
  81. package/intern/llm-tool-loop.d.ts +5 -1
  82. package/intern/llm-tool-loop.js +11 -6
  83. package/intern/llm-tool-loop.js.map +1 -1
  84. package/intern/local-day.d.ts +3 -0
  85. package/intern/local-day.js +17 -0
  86. package/intern/local-day.js.map +1 -0
  87. package/intern/look-lint-engine.js +25 -1
  88. package/intern/look-lint-engine.js.map +1 -1
  89. package/intern/mint-fire-core.d.ts +1 -0
  90. package/intern/mint-fire-core.js +8 -0
  91. package/intern/mint-fire-core.js.map +1 -1
  92. package/intern/opens-check.js +3 -0
  93. package/intern/opens-check.js.map +1 -1
  94. package/intern/prompt-assembly.d.ts +9 -0
  95. package/intern/prompt-assembly.js +77 -14
  96. package/intern/prompt-assembly.js.map +1 -1
  97. package/package.json +14 -13
  98. package/public/access-function.js.map +1 -1
  99. package/public/agent-turn-action.js +115 -66
  100. package/public/agent-turn-action.js.map +1 -1
  101. package/public/agent-turn-assembly.d.ts +5 -0
  102. package/public/agent-turn-assembly.js +22 -6
  103. package/public/agent-turn-assembly.js.map +1 -1
  104. package/public/app-documents-write-eventos.js +12 -2
  105. package/public/app-documents-write-eventos.js.map +1 -1
  106. package/public/codegen-turn-route.d.ts +2 -0
  107. package/public/codegen-turn-route.js +3 -1
  108. package/public/codegen-turn-route.js.map +1 -1
  109. package/public/fork-app.js +4 -1
  110. package/public/fork-app.js.map +1 -1
  111. package/public/fs-prompt.d.ts +2 -1
  112. package/public/fs-prompt.js +4 -2
  113. package/public/fs-prompt.js.map +1 -1
  114. package/public/handler-llm-request.d.ts +3 -1
  115. package/public/handler-llm-request.js +14 -2
  116. package/public/handler-llm-request.js.map +1 -1
  117. package/public/home-feed-common.js +1 -1
  118. package/public/home-feed-common.js.map +1 -1
  119. package/public/list-agent-discussions.d.ts +3 -0
  120. package/public/list-agent-discussions.js +45 -0
  121. package/public/list-agent-discussions.js.map +1 -0
  122. package/public/list-app-models.d.ts +20 -0
  123. package/public/list-app-models.js +159 -0
  124. package/public/list-app-models.js.map +1 -0
  125. package/public/list-vibe-activity.d.ts +3 -0
  126. package/public/list-vibe-activity.js +58 -0
  127. package/public/list-vibe-activity.js.map +1 -0
  128. package/public/llm-dispatch-fallback.d.ts +1 -0
  129. package/public/llm-dispatch-fallback.js +4 -0
  130. package/public/llm-dispatch-fallback.js.map +1 -1
  131. package/public/open-chat.js +2 -1
  132. package/public/open-chat.js.map +1 -1
  133. package/public/prompt-chat-section.js +22 -1
  134. package/public/prompt-chat-section.js.map +1 -1
  135. package/public/prompt-section-actions.d.ts +2 -0
  136. package/public/prompt-section-actions.js +5 -2
  137. package/public/prompt-section-actions.js.map +1 -1
  138. package/public/prompt-turn-envelope.d.ts +1 -0
  139. package/public/prompt-turn-envelope.js +3 -0
  140. package/public/prompt-turn-envelope.js.map +1 -1
  141. package/public/prompt-turn-settled.js +2 -0
  142. package/public/prompt-turn-settled.js.map +1 -1
  143. package/public/prompt-turn-types.d.ts +1 -0
  144. package/public/related-vibes.js +3 -3
  145. package/public/related-vibes.js.map +1 -1
  146. package/public/request-flow.js +7 -1
  147. package/public/request-flow.js.map +1 -1
  148. package/public/resolve-active-handle.d.ts +1 -0
  149. package/public/resolve-active-handle.js +36 -1
  150. package/public/resolve-active-handle.js.map +1 -1
  151. package/public/stream-assembly.js +2 -0
  152. package/public/stream-assembly.js.map +1 -1
  153. package/shard-gate.js +15 -2
  154. package/shard-gate.js.map +1 -1
  155. package/types.d.ts +0 -1
  156. package/types.js.map +1 -1
  157. package/usage-report/first-build-no-app-alarm-util.d.ts +24 -0
  158. package/usage-report/first-build-no-app-alarm-util.js +70 -0
  159. package/usage-report/first-build-no-app-alarm-util.js.map +1 -0
  160. package/usage-report/first-build-no-app-alarm.d.ts +2 -0
  161. package/usage-report/first-build-no-app-alarm.js +180 -0
  162. package/usage-report/first-build-no-app-alarm.js.map +1 -0
  163. package/usage-report/warm-vibe-cache.js +1 -1
  164. package/usage-report/warm-vibe-cache.js.map +1 -1
  165. package/public/similar-vibes.d.ts +0 -11
  166. package/public/similar-vibes.js +0 -86
  167. package/public/similar-vibes.js.map +0 -1
@@ -0,0 +1,284 @@
1
+ import { JSONEnDecoderSingleton, Result, exception2Result } from "@adviser/cement";
2
+ import { type } from "arktype";
3
+ import { max, sql } from "drizzle-orm";
4
+ import { and, eq, inArray, ne, notLike } from "drizzle-orm/sql/expressions";
5
+ import { base58btc } from "multiformats/bases/base58";
6
+ import { isActiveTitle, isAgentChatAppSlug, TEAM_TEST_HANDLES, } from "@vibes.diy/api-types";
7
+ import { composeSettingsRows } from "../public/app-setting-items.js";
8
+ import { resolveActiveHandles } from "../public/resolve-active-handle.js";
9
+ import { SEED_DOC_PREFIX } from "../usage-report/new-user-alert-util.js";
10
+ export const VIBE_ACTIVITY_DEFAULT_LIMIT = 20;
11
+ export const VIBE_ACTIVITY_MAX_LIMIT = 100;
12
+ export const VIBE_ACTIVITY_WRITERS_LISTED = 3;
13
+ const ANONYMOUS_WRITER_IDS = new Set(["unknown", ""]);
14
+ const cursorShape = type({ offset: "number.integer >= 0", onlyShared: "boolean", "handles?": "string[]" });
15
+ const cursorJson = JSONEnDecoderSingleton();
16
+ export function encodeVibeActivityCursor(c) {
17
+ return base58btc.encode(cursorJson.uint8ify({
18
+ offset: c.offset,
19
+ onlyShared: c.onlyShared,
20
+ ...(c.handles === undefined ? {} : { handles: [...c.handles] }),
21
+ }));
22
+ }
23
+ function decodeVibeActivityCursor(raw) {
24
+ const rBytes = exception2Result(() => base58btc.decode(raw));
25
+ if (rBytes.isErr())
26
+ return Result.Err(rBytes.Err());
27
+ const rParsed = cursorJson.parse(rBytes.Ok());
28
+ if (rParsed.isErr())
29
+ return Result.Err(rParsed.Err());
30
+ const checked = cursorShape(rParsed.Ok());
31
+ if (checked instanceof type.errors)
32
+ return Result.Err(`invalid cursor: ${checked.summary}`);
33
+ return Result.Ok({
34
+ offset: checked.offset,
35
+ onlyShared: checked.onlyShared,
36
+ ...(checked.handles === undefined ? {} : { handles: normalizeHandles(checked.handles) }),
37
+ });
38
+ }
39
+ function normalizeHandles(handles) {
40
+ return [...new Set(handles)].sort();
41
+ }
42
+ function sameHandles(a, b) {
43
+ if (a === undefined || b === undefined)
44
+ return a === b;
45
+ return a.length === b.length && a.every((h, i) => h === b[i]);
46
+ }
47
+ export class InvalidVibeActivityCursorError extends Error {
48
+ invalidVibeActivityCursor = true;
49
+ constructor(detail) {
50
+ super(`invalid vibe activity cursor: ${detail}`);
51
+ this.name = "InvalidVibeActivityCursorError";
52
+ }
53
+ }
54
+ export function isInvalidVibeActivityCursor(err) {
55
+ return (typeof err === "object" && err !== null && err.invalidVibeActivityCursor === true);
56
+ }
57
+ export function clampVibeActivityLimit(raw) {
58
+ if (raw === undefined || Number.isFinite(raw) === false)
59
+ return VIBE_ACTIVITY_DEFAULT_LIMIT;
60
+ return Math.min(VIBE_ACTIVITY_MAX_LIMIT, Math.max(1, Math.floor(raw)));
61
+ }
62
+ function addressOf(row) {
63
+ return `${row.ownerHandle}/${row.appSlug}`;
64
+ }
65
+ function newestOf(writers) {
66
+ return writers.reduce((max, w) => (max === undefined || w.lastWrite > max ? w.lastWrite : max), undefined);
67
+ }
68
+ function byBusiest(a, b) {
69
+ return b.records - a.records || b.lastWrite.localeCompare(a.lastWrite) || a.userId.localeCompare(b.userId);
70
+ }
71
+ function compareVibes(a, b) {
72
+ if (a.writers.length !== b.writers.length)
73
+ return b.writers.length - a.writers.length;
74
+ const la = newestOf(a.writers) ?? "";
75
+ const lb = newestOf(b.writers) ?? "";
76
+ if (la !== lb)
77
+ return lb.localeCompare(la);
78
+ if (a.updated !== b.updated)
79
+ return b.updated.localeCompare(a.updated);
80
+ return addressOf(a).localeCompare(addressOf(b));
81
+ }
82
+ function isShared(v) {
83
+ return v.writers.length > 0 || v.anonymousRecords > 0 || v.members > 0 || v.pendingRequests > 0;
84
+ }
85
+ export async function listAccountVibeActivity(vctx, args) {
86
+ const limit = clampVibeActivityLimit(args.limit);
87
+ const writersListed = Math.max(0, args.writersListed ?? VIBE_ACTIVITY_WRITERS_LISTED);
88
+ const asked = {
89
+ onlyShared: args.onlyShared === true,
90
+ ...(args.handles === undefined ? {} : { handles: normalizeHandles(args.handles) }),
91
+ };
92
+ let offset = 0;
93
+ let filter = asked;
94
+ if (args.cursor !== undefined && args.cursor !== "") {
95
+ const rCursor = decodeVibeActivityCursor(args.cursor);
96
+ if (rCursor.isErr())
97
+ return Result.Err(new InvalidVibeActivityCursorError(rCursor.Err().message));
98
+ const cursor = rCursor.Ok();
99
+ if (args.onlyShared !== undefined && asked.onlyShared !== cursor.onlyShared)
100
+ return Result.Err(new InvalidVibeActivityCursorError("cursor was cut under a different onlyShared"));
101
+ if (args.handles !== undefined && sameHandles(asked.handles, cursor.handles) === false)
102
+ return Result.Err(new InvalidVibeActivityCursorError("cursor was cut under different handles"));
103
+ offset = cursor.offset;
104
+ filter = { onlyShared: cursor.onlyShared, ...(cursor.handles === undefined ? {} : { handles: cursor.handles }) };
105
+ }
106
+ const asb = vctx.sql.tables.appSlugBinding;
107
+ const usb = vctx.sql.tables.handleBinding;
108
+ const rVibes = await exception2Result(() => vctx.sql.db
109
+ .select({ ownerHandle: asb.ownerHandle, appSlug: asb.appSlug, updated: asb.updated, unpublishedAt: asb.unpublishedAt })
110
+ .from(usb)
111
+ .innerJoin(asb, eq(asb.ownerHandle, usb.handle))
112
+ .where(and(eq(usb.userId, args.userId), filter.handles === undefined ? undefined : inArray(usb.handle, filter.handles.length === 0 ? [""] : [...filter.handles]))));
113
+ if (rVibes.isErr())
114
+ return Result.Err(rVibes);
115
+ const vibes = rVibes.Ok().filter((row) => isAgentChatAppSlug(row.appSlug) === false);
116
+ if (vibes.length === 0)
117
+ return Result.Ok({ items: [], total: 0, offset, filter });
118
+ const handles = [...new Set(vibes.map((v) => v.ownerHandle))];
119
+ const docs = vctx.sql.tables.appDocuments;
120
+ const heads = vctx.sql.db
121
+ .select({
122
+ ownerHandle: docs.ownerHandle,
123
+ appSlug: docs.appSlug,
124
+ dbName: docs.dbName,
125
+ docId: docs.docId,
126
+ headSeq: max(docs.seq).as("headSeq"),
127
+ })
128
+ .from(docs)
129
+ .where(and(inArray(docs.ownerHandle, handles), notLike(docs.docId, `${SEED_DOC_PREFIX}%`)))
130
+ .groupBy(docs.ownerHandle, docs.appSlug, docs.dbName, docs.docId)
131
+ .as("heads");
132
+ const records = sql `cast(count(*) as int)`;
133
+ const lastWrite = sql `max(${docs.created})`;
134
+ const reqG = vctx.sql.tables.requestGrants;
135
+ const invG = vctx.sql.tables.inviteGrants;
136
+ const rReads = await exception2Result(() => Promise.all([
137
+ vctx.sql.db
138
+ .select({ ownerHandle: docs.ownerHandle, appSlug: docs.appSlug, userId: docs.userId, records, lastWrite })
139
+ .from(docs)
140
+ .innerJoin(heads, and(eq(docs.ownerHandle, heads.ownerHandle), eq(docs.appSlug, heads.appSlug), eq(docs.dbName, heads.dbName), eq(docs.docId, heads.docId), eq(docs.seq, heads.headSeq)))
141
+ .where(and(eq(docs.deleted, 0), ne(docs.userId, args.userId)))
142
+ .groupBy(docs.ownerHandle, docs.appSlug, docs.userId),
143
+ vctx.sql.db
144
+ .select({ userId: usb.userId })
145
+ .from(usb)
146
+ .where(inArray(usb.handle, [...TEAM_TEST_HANDLES])),
147
+ vctx.sql.db
148
+ .selectDistinct({ ownerHandle: reqG.ownerHandle, appSlug: reqG.appSlug, state: reqG.state, memberId: reqG.foreignUserId })
149
+ .from(reqG)
150
+ .where(and(eq(reqG.userId, args.userId), inArray(reqG.ownerHandle, handles), inArray(reqG.state, ["approved", "pending"]))),
151
+ vctx.sql.db
152
+ .selectDistinct({ ownerHandle: invG.ownerHandle, appSlug: invG.appSlug, memberId: invG.tokenOrGrantUserId })
153
+ .from(invG)
154
+ .where(and(eq(invG.userId, args.userId), inArray(invG.ownerHandle, handles), eq(invG.state, "accepted"))),
155
+ ]));
156
+ if (rReads.isErr())
157
+ return Result.Err(rReads);
158
+ const [writerRows, testRows, requestRows, inviteRows] = rReads.Ok();
159
+ const testUserIds = new Set(testRows.map((r) => r.userId));
160
+ const aggs = new Map(vibes.map((v) => [
161
+ addressOf(v),
162
+ {
163
+ ownerHandle: v.ownerHandle,
164
+ appSlug: v.appSlug,
165
+ updated: v.updated,
166
+ unpublishedAt: v.unpublishedAt,
167
+ writers: [],
168
+ testWriters: [],
169
+ anonymousRecords: 0,
170
+ members: 0,
171
+ pendingRequests: 0,
172
+ },
173
+ ]));
174
+ const bump = (key, field, by) => {
175
+ const agg = aggs.get(key);
176
+ if (agg !== undefined)
177
+ agg[field] += by;
178
+ };
179
+ for (const row of writerRows) {
180
+ const agg = aggs.get(addressOf(row));
181
+ if (agg === undefined)
182
+ continue;
183
+ const writer = { userId: row.userId, records: Number(row.records), lastWrite: String(row.lastWrite) };
184
+ if (ANONYMOUS_WRITER_IDS.has(row.userId))
185
+ bump(addressOf(row), "anonymousRecords", writer.records);
186
+ else if (testUserIds.has(row.userId))
187
+ agg.testWriters.push(writer);
188
+ else
189
+ agg.writers.push(writer);
190
+ }
191
+ const memberKeys = new Set();
192
+ const pendingKeys = new Set();
193
+ for (const row of [...requestRows.filter((r) => r.state === "approved"), ...inviteRows])
194
+ memberKeys.add(`${addressOf(row)} ${row.memberId}`);
195
+ for (const row of requestRows.filter((r) => r.state === "pending"))
196
+ pendingKeys.add(`${addressOf(row)} ${row.memberId}`);
197
+ for (const key of memberKeys)
198
+ bump(key.slice(0, key.indexOf(" ")), "members", 1);
199
+ for (const key of pendingKeys)
200
+ bump(key.slice(0, key.indexOf(" ")), "pendingRequests", 1);
201
+ const ranked = [...aggs.values()].filter((v) => filter.onlyShared === false || isShared(v)).sort(compareVibes);
202
+ const page = ranked.slice(offset, offset + limit);
203
+ const more = ranked.length > offset + limit;
204
+ if (page.length === 0)
205
+ return Result.Ok({ items: [], total: ranked.length, offset, filter });
206
+ const named = page.map((v) => ({
207
+ vibe: v,
208
+ listed: [...[...v.writers].sort(byBusiest), ...[...v.testWriters].sort(byBusiest)].slice(0, writersListed),
209
+ }));
210
+ const pageHandles = [...new Set(page.map((v) => v.ownerHandle))];
211
+ const pageSlugs = [...new Set(page.map((v) => v.appSlug))];
212
+ const tApps = vctx.sql.tables.apps;
213
+ const settings = vctx.sql.tables.appSettings;
214
+ const rDetails = await exception2Result(() => Promise.all([
215
+ vctx.sql.db
216
+ .select({ ownerHandle: tApps.ownerHandle, appSlug: tApps.appSlug })
217
+ .from(tApps)
218
+ .where(and(eq(tApps.mode, "production"), inArray(tApps.ownerHandle, pageHandles), inArray(tApps.appSlug, pageSlugs))),
219
+ vctx.sql.db
220
+ .select({
221
+ ownerHandle: settings.ownerHandle,
222
+ appSlug: settings.appSlug,
223
+ settings: settings.settings,
224
+ settingsItemizedAt: settings.settingsItemizedAt,
225
+ })
226
+ .from(settings)
227
+ .where(and(eq(settings.userId, args.userId), inArray(settings.ownerHandle, pageHandles), inArray(settings.appSlug, pageSlugs))),
228
+ resolveActiveHandles(vctx, named.flatMap((n) => n.listed.map((w) => w.userId))),
229
+ ]));
230
+ if (rDetails.isErr())
231
+ return Result.Err(rDetails);
232
+ const [prodRows, settingsRows, handleOf] = rDetails.Ok();
233
+ const published = new Set(prodRows.map(addressOf));
234
+ const pageKeys = new Set(page.map(addressOf));
235
+ const composed = await composeSettingsRows(vctx, settingsRows
236
+ .filter((row) => pageKeys.has(addressOf(row)))
237
+ .map((row) => ({
238
+ userId: args.userId,
239
+ ownerHandle: row.ownerHandle,
240
+ appSlug: row.appSlug,
241
+ settings: row.settings,
242
+ settingsItemizedAt: row.settingsItemizedAt ?? null,
243
+ })));
244
+ const items = named.map(({ vibe, listed }) => {
245
+ const key = addressOf(vibe);
246
+ const title = (composed.get(key) ?? []).find(isActiveTitle)?.title;
247
+ const takenDown = vibe.unpublishedAt.length > 0;
248
+ const writers = listed.map((w) => {
249
+ const handle = handleOf.get(w.userId);
250
+ return {
251
+ ...(handle === undefined ? {} : { handle }),
252
+ records: w.records,
253
+ lastWrite: w.lastWrite,
254
+ ...(testUserIds.has(w.userId) ? { test: true } : {}),
255
+ };
256
+ });
257
+ const moreWriters = vibe.writers.length + vibe.testWriters.length - listed.length;
258
+ const newest = newestOf(vibe.writers);
259
+ return {
260
+ ownerHandle: vibe.ownerHandle,
261
+ appSlug: vibe.appSlug,
262
+ ...(title === undefined ? {} : { title }),
263
+ published: published.has(key) && takenDown === false,
264
+ ...(takenDown ? { unpublished: true } : {}),
265
+ link: `/vibe/${vibe.ownerHandle}/${vibe.appSlug}`,
266
+ otherWriters: vibe.writers.length,
267
+ otherRecords: vibe.writers.reduce((sum, w) => sum + w.records, 0),
268
+ ...(newest === undefined ? {} : { lastWrite: newest }),
269
+ writers,
270
+ ...(moreWriters > 0 ? { moreWriters } : {}),
271
+ ...(vibe.anonymousRecords > 0 ? { anonymousRecords: vibe.anonymousRecords } : {}),
272
+ members: vibe.members,
273
+ pendingRequests: vibe.pendingRequests,
274
+ };
275
+ });
276
+ return Result.Ok({
277
+ items,
278
+ total: ranked.length,
279
+ offset,
280
+ filter,
281
+ ...(more ? { nextCursor: encodeVibeActivityCursor({ offset: offset + page.length, ...filter }) } : {}),
282
+ });
283
+ }
284
+ //# sourceMappingURL=account-vibe-activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-vibe-activity.js","sourceRoot":"","sources":["../../jsr/intern/account-vibe-activity.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,26 @@
1
1
  import { Result } from "@adviser/cement";
2
- import { type ClerkClaim, type ReqOpenChat, type ReqWithVerifiedAuth } from "@vibes.diy/api-types";
2
+ import { type VibeActivityItem, type AgentFileCommit, type ClerkClaim, type ReqOpenChat, type ReqWithVerifiedAuth } from "@vibes.diy/api-types";
3
3
  import { VibesApiSQLCtx } from "../types.js";
4
4
  import { type AgentActor } from "./agent-actor.js";
5
5
  import { type AgentBuildDispatcher } from "./agent-build-tools.js";
6
6
  import { type AgentBelt } from "./agent-belt.js";
7
7
  import { type FetchUrlToolContext } from "./fetch-url-tool.js";
8
8
  import type { TopLevelAgentBrief } from "./agent-assembly.js";
9
+ import { type VibeActivityFilter } from "./account-vibe-activity.js";
9
10
  export declare const LIST_VIBES_TOOL_NAME = "list_vibes";
10
11
  export declare const EDIT_VIBE_AT_TOOL_NAME = "edit_vibe_at";
12
+ export declare const VIBE_ACTIVITY_TOOL_NAME = "vibe_activity";
13
+ export declare const VIBE_ACTIVITY_TOOL_LIMIT = 15;
14
+ export declare const VIBE_ACTIVITY_TOOL_MAX_LIMIT = 50;
15
+ export declare const VIBE_ACTIVITY_NOTE: string;
16
+ export declare const VIBE_ACTIVITY_TITLE_CHARS = 120;
17
+ export declare function fitVibeActivityAnswer(answer: {
18
+ readonly items: readonly VibeActivityItem[];
19
+ readonly total: number;
20
+ readonly offset: number;
21
+ readonly nextCursor?: string;
22
+ readonly filter: VibeActivityFilter;
23
+ }): string;
11
24
  export declare const TOP_LEVEL_MAX_BUILDS_PER_TURN = 5;
12
25
  export declare const LIST_VIBES_LIMIT = 50;
13
26
  export interface AccountVibe {
@@ -57,6 +70,13 @@ export interface AccountAgentBeltArgs {
57
70
  readonly ownerHandle: string;
58
71
  readonly appSlug: string;
59
72
  }) => void;
73
+ readonly commitVibeFiles?: (target: WithVibeCommitTarget, commit: AgentFileCommit) => Promise<Result<Readonly<Record<string, unknown>>>>;
74
+ }
75
+ export interface WithVibeCommitTarget {
76
+ readonly chatId: string;
77
+ readonly ownerHandle: string;
78
+ readonly appSlug: string;
79
+ readonly actor: AgentActor;
60
80
  }
61
81
  export declare function createAccountAgentBelt(vctx: VibesApiSQLCtx, args: AccountAgentBeltArgs): AgentBelt;
62
82
  export {};