@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.
- package/cf-serve.js.map +1 -1
- package/create-handler.d.ts +0 -1
- package/create-handler.js +0 -2
- package/create-handler.js.map +1 -1
- package/evento-handler-manifest.js +6 -2
- package/evento-handler-manifest.js.map +1 -1
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/intern/account-vibe-activity.d.ts +36 -0
- package/intern/account-vibe-activity.js +284 -0
- package/intern/account-vibe-activity.js.map +1 -0
- package/intern/agent-account-tools.d.ts +21 -1
- package/intern/agent-account-tools.js +221 -35
- package/intern/agent-account-tools.js.map +1 -1
- package/intern/agent-assembly.d.ts +3 -0
- package/intern/agent-assembly.js +28 -2
- package/intern/agent-assembly.js.map +1 -1
- package/intern/agent-belt.js +3 -1
- package/intern/agent-belt.js.map +1 -1
- package/intern/agent-discussions.d.ts +22 -0
- package/intern/agent-discussions.js +131 -0
- package/intern/agent-discussions.js.map +1 -0
- package/intern/agent-dispatcher.d.ts +1 -0
- package/intern/agent-dispatcher.js +3 -0
- package/intern/agent-dispatcher.js.map +1 -1
- package/intern/agent-file-tools.d.ts +12 -2
- package/intern/agent-file-tools.js.map +1 -1
- package/intern/agent-options-tool.d.ts +5 -1
- package/intern/agent-options-tool.js +49 -14
- package/intern/agent-options-tool.js.map +1 -1
- package/intern/agent-read-tools.d.ts +1 -0
- package/intern/agent-read-tools.js +1 -1
- package/intern/agent-read-tools.js.map +1 -1
- package/intern/agent-request-frame.d.ts +24 -2
- package/intern/agent-request-frame.js +78 -16
- package/intern/agent-request-frame.js.map +1 -1
- package/intern/agent-session-instruction.d.ts +2 -2
- package/intern/agent-session-instruction.js +7 -14
- package/intern/agent-session-instruction.js.map +1 -1
- package/intern/agent-session.d.ts +5 -0
- package/intern/agent-session.js +10 -2
- package/intern/agent-session.js.map +1 -1
- package/intern/agent-settled-history.d.ts +22 -0
- package/intern/agent-settled-history.js +293 -0
- package/intern/agent-settled-history.js.map +1 -0
- package/intern/agent-top-level-instruction.d.ts +2 -2
- package/intern/agent-top-level-instruction.js +7 -4
- package/intern/agent-top-level-instruction.js.map +1 -1
- package/intern/agent-wake.d.ts +3 -0
- package/intern/agent-wake.js +3 -1
- package/intern/agent-wake.js.map +1 -1
- package/intern/agent-with-vibe.d.ts +24 -1
- package/intern/agent-with-vibe.js +97 -30
- package/intern/agent-with-vibe.js.map +1 -1
- package/intern/builder-model.d.ts +2 -0
- package/intern/builder-model.js +1 -0
- package/intern/builder-model.js.map +1 -1
- package/intern/builder-settled-history.d.ts +12 -0
- package/intern/builder-settled-history.js +71 -0
- package/intern/builder-settled-history.js.map +1 -0
- package/intern/byok-model-scope.d.ts +7 -0
- package/intern/byok-model-scope.js +11 -0
- package/intern/byok-model-scope.js.map +1 -0
- package/intern/caller-model.d.ts +19 -0
- package/intern/caller-model.js +30 -0
- package/intern/caller-model.js.map +1 -0
- package/intern/design-repair.d.ts +3 -0
- package/intern/design-repair.js +41 -1
- package/intern/design-repair.js.map +1 -1
- package/intern/ensure-chat-id.js +40 -2
- package/intern/ensure-chat-id.js.map +1 -1
- package/intern/first-build-no-app.d.ts +15 -0
- package/intern/first-build-no-app.js +124 -0
- package/intern/first-build-no-app.js.map +1 -0
- package/intern/get-vibe-route-hints.d.ts +2 -2
- package/intern/get-vibe-route-hints.js +9 -5
- package/intern/get-vibe-route-hints.js.map +1 -1
- package/intern/import-synth.js +1 -0
- package/intern/import-synth.js.map +1 -1
- package/intern/llm-tool-loop.d.ts +5 -1
- package/intern/llm-tool-loop.js +11 -6
- package/intern/llm-tool-loop.js.map +1 -1
- package/intern/local-day.d.ts +3 -0
- package/intern/local-day.js +17 -0
- package/intern/local-day.js.map +1 -0
- package/intern/look-lint-engine.js +25 -1
- package/intern/look-lint-engine.js.map +1 -1
- package/intern/mint-fire-core.d.ts +1 -0
- package/intern/mint-fire-core.js +8 -0
- package/intern/mint-fire-core.js.map +1 -1
- package/intern/opens-check.js +3 -0
- package/intern/opens-check.js.map +1 -1
- package/intern/prompt-assembly.d.ts +9 -0
- package/intern/prompt-assembly.js +77 -14
- package/intern/prompt-assembly.js.map +1 -1
- package/package.json +14 -13
- package/public/access-function.js.map +1 -1
- package/public/agent-turn-action.js +115 -66
- package/public/agent-turn-action.js.map +1 -1
- package/public/agent-turn-assembly.d.ts +5 -0
- package/public/agent-turn-assembly.js +22 -6
- package/public/agent-turn-assembly.js.map +1 -1
- package/public/app-documents-write-eventos.js +12 -2
- package/public/app-documents-write-eventos.js.map +1 -1
- package/public/codegen-turn-route.d.ts +2 -0
- package/public/codegen-turn-route.js +3 -1
- package/public/codegen-turn-route.js.map +1 -1
- package/public/fork-app.js +4 -1
- package/public/fork-app.js.map +1 -1
- package/public/fs-prompt.d.ts +2 -1
- package/public/fs-prompt.js +4 -2
- package/public/fs-prompt.js.map +1 -1
- package/public/handler-llm-request.d.ts +3 -1
- package/public/handler-llm-request.js +14 -2
- package/public/handler-llm-request.js.map +1 -1
- package/public/home-feed-common.js +1 -1
- package/public/home-feed-common.js.map +1 -1
- package/public/list-agent-discussions.d.ts +3 -0
- package/public/list-agent-discussions.js +45 -0
- package/public/list-agent-discussions.js.map +1 -0
- package/public/list-app-models.d.ts +20 -0
- package/public/list-app-models.js +159 -0
- package/public/list-app-models.js.map +1 -0
- package/public/list-vibe-activity.d.ts +3 -0
- package/public/list-vibe-activity.js +58 -0
- package/public/list-vibe-activity.js.map +1 -0
- package/public/llm-dispatch-fallback.d.ts +1 -0
- package/public/llm-dispatch-fallback.js +4 -0
- package/public/llm-dispatch-fallback.js.map +1 -1
- package/public/open-chat.js +2 -1
- package/public/open-chat.js.map +1 -1
- package/public/prompt-chat-section.js +22 -1
- package/public/prompt-chat-section.js.map +1 -1
- package/public/prompt-section-actions.d.ts +2 -0
- package/public/prompt-section-actions.js +5 -2
- package/public/prompt-section-actions.js.map +1 -1
- package/public/prompt-turn-envelope.d.ts +1 -0
- package/public/prompt-turn-envelope.js +3 -0
- package/public/prompt-turn-envelope.js.map +1 -1
- package/public/prompt-turn-settled.js +2 -0
- package/public/prompt-turn-settled.js.map +1 -1
- package/public/prompt-turn-types.d.ts +1 -0
- package/public/related-vibes.js +3 -3
- package/public/related-vibes.js.map +1 -1
- package/public/request-flow.js +7 -1
- package/public/request-flow.js.map +1 -1
- package/public/resolve-active-handle.d.ts +1 -0
- package/public/resolve-active-handle.js +36 -1
- package/public/resolve-active-handle.js.map +1 -1
- package/public/stream-assembly.js +2 -0
- package/public/stream-assembly.js.map +1 -1
- package/shard-gate.js +15 -2
- package/shard-gate.js.map +1 -1
- package/types.d.ts +0 -1
- package/types.js.map +1 -1
- package/usage-report/first-build-no-app-alarm-util.d.ts +24 -0
- package/usage-report/first-build-no-app-alarm-util.js +70 -0
- package/usage-report/first-build-no-app-alarm-util.js.map +1 -0
- package/usage-report/first-build-no-app-alarm.d.ts +2 -0
- package/usage-report/first-build-no-app-alarm.js +180 -0
- package/usage-report/first-build-no-app-alarm.js.map +1 -0
- package/usage-report/warm-vibe-cache.js +1 -1
- package/usage-report/warm-vibe-cache.js.map +1 -1
- package/public/similar-vibes.d.ts +0 -11
- package/public/similar-vibes.js +0 -86
- 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 {};
|