@vibes.diy/api-svc 14.3.113 → 14.3.115
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/analytics.d.ts +2 -0
- package/analytics.js +1 -0
- package/analytics.js.map +1 -1
- package/evento-handler-manifest.js +4 -0
- package/evento-handler-manifest.js.map +1 -1
- package/intern/agent-assembly.d.ts +3 -0
- package/intern/agent-assembly.js +8 -1
- package/intern/agent-assembly.js.map +1 -1
- package/intern/agent-dispatcher.d.ts +3 -1
- package/intern/agent-dispatcher.js +2 -1
- package/intern/agent-dispatcher.js.map +1 -1
- package/intern/agent-session.d.ts +24 -24
- package/intern/backend-db-callback.js +39 -3
- package/intern/backend-db-callback.js.map +1 -1
- package/intern/builder-model.d.ts +5 -1
- package/intern/builder-model.js +3 -1
- package/intern/builder-model.js.map +1 -1
- package/intern/capi-build-event.d.ts +4 -0
- package/intern/capi-build-event.js +12 -3
- package/intern/capi-build-event.js.map +1 -1
- package/intern/capi-lead-ledger.d.ts +2 -1
- package/intern/capi-lead-ledger.js +31 -1
- package/intern/capi-lead-ledger.js.map +1 -1
- package/intern/guest-principal-claim.js +12 -2
- package/intern/guest-principal-claim.js.map +1 -1
- package/intern/image-survey.d.ts +10 -0
- package/intern/image-survey.js +2 -2
- package/intern/image-survey.js.map +1 -1
- package/intern/look-restyle-pick.d.ts +1 -0
- package/intern/look-restyle-pick.js +14 -0
- package/intern/look-restyle-pick.js.map +1 -0
- package/intern/look-restyle.d.ts +87 -0
- package/intern/look-restyle.js +385 -0
- package/intern/look-restyle.js.map +1 -0
- package/intern/nature-rewrite-suggestion.d.ts +23 -0
- package/intern/nature-rewrite-suggestion.js +108 -0
- package/intern/nature-rewrite-suggestion.js.map +1 -0
- package/intern/nature-rewrite.d.ts +8 -0
- package/intern/nature-rewrite.js +17 -0
- package/intern/nature-rewrite.js.map +1 -0
- package/intern/prompt-assembly.js +3 -1
- package/intern/prompt-assembly.js.map +1 -1
- package/package.json +13 -13
- package/public/agent-turn-action.js +23 -1
- package/public/agent-turn-action.js.map +1 -1
- package/public/agent-turn-assembly.js +5 -0
- package/public/agent-turn-assembly.js.map +1 -1
- package/public/app-documents-broadcast.d.ts +2 -0
- package/public/app-documents-broadcast.js +9 -0
- package/public/app-documents-broadcast.js.map +1 -1
- package/public/app-documents-grant-delta.d.ts +12 -1
- package/public/app-documents-grant-delta.js +31 -4
- package/public/app-documents-grant-delta.js.map +1 -1
- package/public/app-documents-write-eventos.js +42 -16
- package/public/app-documents-write-eventos.js.map +1 -1
- package/public/handle-prompt-context.js +9 -2
- package/public/handle-prompt-context.js.map +1 -1
- package/public/look-restyle.d.ts +14 -0
- package/public/look-restyle.js +153 -0
- package/public/look-restyle.js.map +1 -0
- package/public/nature-rewrite-settle.d.ts +16 -0
- package/public/nature-rewrite-settle.js +54 -0
- package/public/nature-rewrite-settle.js.map +1 -0
- package/public/nature-rewrite-suggestion.d.ts +17 -0
- package/public/nature-rewrite-suggestion.js +129 -0
- package/public/nature-rewrite-suggestion.js.map +1 -0
- package/public/prompt-turn-envelope.d.ts +3 -1
- package/public/prompt-turn-envelope.js +10 -1
- package/public/prompt-turn-envelope.js.map +1 -1
- package/public/prompt-turn-settled.js +24 -2
- package/public/prompt-turn-settled.js.map +1 -1
- package/public/sync-eventos.d.ts +1 -1
- package/public/sync-eventos.js +15 -8
- package/public/sync-eventos.js.map +1 -1
- package/public/sync-prefix-cache.d.ts +2 -0
- package/public/sync-prefix-cache.js +13 -0
- package/public/sync-prefix-cache.js.map +1 -1
- package/types.d.ts +1 -0
- package/types.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-prompt-context.js","sourceRoot":"","sources":["../../jsr/public/handle-prompt-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handle-prompt-context.js","sourceRoot":"","sources":["../../jsr/public/handle-prompt-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EventoHandler } from "@adviser/cement";
|
|
2
|
+
import { MsgBase, ReqLookRestyle, ReqWithVerifiedAuth, ResError, ResLookRestyle, VibesDiyError, W3CWebSocketEvent } from "@vibes.diy/api-types";
|
|
3
|
+
import { VibesApiSQLCtx } from "../types.js";
|
|
4
|
+
import { type LookRenderer, type RunLookRoundArgs } from "../intern/look-restyle.js";
|
|
5
|
+
export interface LookRestyleSeams {
|
|
6
|
+
readonly render?: LookRenderer;
|
|
7
|
+
readonly renderDeadlineMs?: number;
|
|
8
|
+
readonly prepDeadlineMs?: number;
|
|
9
|
+
readonly crop?: RunLookRoundArgs["crop"];
|
|
10
|
+
readonly pollMs?: number;
|
|
11
|
+
readonly nowMs?: () => number;
|
|
12
|
+
}
|
|
13
|
+
export declare function lookRestyle(vctx: VibesApiSQLCtx, req: ReqWithVerifiedAuth<ReqLookRestyle>, seams?: LookRestyleSeams): Promise<ResLookRestyle | ResError>;
|
|
14
|
+
export declare const lookRestyleEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqLookRestyle>, ResLookRestyle | VibesDiyError>;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Result, Option, EventoResult } from "@adviser/cement";
|
|
2
|
+
import { reqLookRestyle, } from "@vibes.diy/api-types";
|
|
3
|
+
import { type } from "arktype";
|
|
4
|
+
import { unwrapMsgBase } from "../unwrap-msg-base.js";
|
|
5
|
+
import { checkAuth } from "../check-auth.js";
|
|
6
|
+
import { authorizeSlugOwner } from "./authorize-slug-owner.js";
|
|
7
|
+
import { LOOK_ROUND_ABANDONED_MS, LOOK_WAIT_POLL_MS, claimLookRound, directionsFor, freshLooks, launchLookRound, loadCurrentShot, lookRoundStatus, readLookRound, runningLookRound, } from "../intern/look-restyle.js";
|
|
8
|
+
function denialError(ownerHandle, appSlug) {
|
|
9
|
+
return {
|
|
10
|
+
type: "vibes.diy.res-error",
|
|
11
|
+
error: { message: `not found or not yours: ${ownerHandle}/${appSlug}`, code: "look-restyle-not-found" },
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function unavailableError(message) {
|
|
15
|
+
return { type: "vibes.diy.res-error", error: { message, code: "look-restyle-unavailable" } };
|
|
16
|
+
}
|
|
17
|
+
function answer(req, status, extra = {}) {
|
|
18
|
+
return {
|
|
19
|
+
type: "vibes.diy.res-look-restyle",
|
|
20
|
+
ownerHandle: req.ownerHandle,
|
|
21
|
+
appSlug: req.appSlug,
|
|
22
|
+
status,
|
|
23
|
+
...(extra.shot === undefined ? {} : { shot: extra.shot }),
|
|
24
|
+
...(extra.round === undefined ? {} : { round: extra.round }),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function rowAnswer(req, row, nowMs) {
|
|
28
|
+
return answer(req, lookRoundStatus(row, nowMs), { shot: row.shot, round: row.round });
|
|
29
|
+
}
|
|
30
|
+
async function creditsAllow(vctx, userId) {
|
|
31
|
+
if (vctx.billing.enforceEnabled === false)
|
|
32
|
+
return true;
|
|
33
|
+
const rCheck = await vctx.billing.checkCredits({ userId });
|
|
34
|
+
if (rCheck.isErr()) {
|
|
35
|
+
vctx.logger.Warn().Err(rCheck).Msg("look-restyle-billing-check-failed-open");
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return rCheck.Ok().allowed !== false;
|
|
39
|
+
}
|
|
40
|
+
function sleep(ms) {
|
|
41
|
+
return new Promise((resolve) => {
|
|
42
|
+
setTimeout(resolve, ms);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
async function start(vctx, args) {
|
|
46
|
+
const { req, row, shot } = args;
|
|
47
|
+
const shotOut = { fsId: shot.fsId, cid: shot.cid, mime: shot.mime };
|
|
48
|
+
if (row !== undefined) {
|
|
49
|
+
const status = lookRoundStatus(row, args.nowMs);
|
|
50
|
+
if (status !== "failed" || req.retry !== true)
|
|
51
|
+
return rowAnswer(req, row, args.nowMs);
|
|
52
|
+
}
|
|
53
|
+
if ((await creditsAllow(vctx, args.userId)) === false)
|
|
54
|
+
return answer(req, "credits-short", { shot: shotOut });
|
|
55
|
+
const app = { ownerHandle: req.ownerHandle, appSlug: req.appSlug };
|
|
56
|
+
const directions = await directionsFor(vctx, { ...app, userId: args.userId });
|
|
57
|
+
const claimed = await claimLookRound(vctx, {
|
|
58
|
+
...app,
|
|
59
|
+
shot: shotOut,
|
|
60
|
+
userId: args.userId,
|
|
61
|
+
looks: freshLooks(directions),
|
|
62
|
+
...(row === undefined ? {} : { replace: { roundId: row.roundId, status: row.status, updated: row.updated } }),
|
|
63
|
+
});
|
|
64
|
+
if (claimed.isErr()) {
|
|
65
|
+
vctx.logger.Warn().Err(claimed.Err()).Msg("look-restyle-claim-failed");
|
|
66
|
+
return unavailableError("The new looks could not start just now.");
|
|
67
|
+
}
|
|
68
|
+
const { row: now } = claimed.Ok();
|
|
69
|
+
if (claimed.Ok().claimed) {
|
|
70
|
+
launchLookRound(vctx, {
|
|
71
|
+
...app,
|
|
72
|
+
userId: args.userId,
|
|
73
|
+
shot,
|
|
74
|
+
round: now.round,
|
|
75
|
+
directions,
|
|
76
|
+
...(args.seams.render === undefined ? {} : { render: args.seams.render }),
|
|
77
|
+
...(args.seams.renderDeadlineMs === undefined ? {} : { renderDeadlineMs: args.seams.renderDeadlineMs }),
|
|
78
|
+
...(args.seams.prepDeadlineMs === undefined ? {} : { prepDeadlineMs: args.seams.prepDeadlineMs }),
|
|
79
|
+
...(args.seams.crop === undefined ? {} : { crop: args.seams.crop }),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return rowAnswer(req, now, args.nowMs);
|
|
83
|
+
}
|
|
84
|
+
async function wait(vctx, args) {
|
|
85
|
+
const clock = args.seams.nowMs ?? Date.now;
|
|
86
|
+
const key = { ownerHandle: args.req.ownerHandle, appSlug: args.req.appSlug, shotCid: args.shot.cid };
|
|
87
|
+
let row = args.row;
|
|
88
|
+
if (row === undefined)
|
|
89
|
+
return answer(args.req, "none", { shot: { fsId: args.shot.fsId, cid: args.shot.cid, mime: args.shot.mime } });
|
|
90
|
+
const here = runningLookRound(vctx, row.roundId);
|
|
91
|
+
if (here !== undefined)
|
|
92
|
+
await here;
|
|
93
|
+
for (;;) {
|
|
94
|
+
const read = await readLookRound(vctx, key);
|
|
95
|
+
if (read.isErr()) {
|
|
96
|
+
vctx.logger.Warn().Err(read.Err()).Msg("look-restyle-wait-read-failed");
|
|
97
|
+
return unavailableError("The new looks could not be read just now.");
|
|
98
|
+
}
|
|
99
|
+
row = read.Ok();
|
|
100
|
+
if (row === undefined)
|
|
101
|
+
return answer(args.req, "none");
|
|
102
|
+
if (lookRoundStatus(row, clock()) !== "running")
|
|
103
|
+
return rowAnswer(args.req, row, clock());
|
|
104
|
+
await sleep(Math.min(args.seams.pollMs ?? LOOK_WAIT_POLL_MS, LOOK_ROUND_ABANDONED_MS));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
export async function lookRestyle(vctx, req, seams = {}) {
|
|
108
|
+
const userId = req._auth.verifiedAuth.claims.userId;
|
|
109
|
+
const auth = await authorizeSlugOwner(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug, userId });
|
|
110
|
+
if (auth === undefined || auth.isOwner === false)
|
|
111
|
+
return denialError(req.ownerHandle, req.appSlug);
|
|
112
|
+
const rShot = await loadCurrentShot(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug });
|
|
113
|
+
if (rShot.isErr()) {
|
|
114
|
+
vctx.logger.Warn().Err(rShot.Err()).Msg("look-restyle-shot-read-failed");
|
|
115
|
+
return unavailableError("The app's screenshot could not be read just now.");
|
|
116
|
+
}
|
|
117
|
+
const shot = rShot.Ok();
|
|
118
|
+
if (shot === undefined)
|
|
119
|
+
return answer(req, "no-screenshot");
|
|
120
|
+
const rRow = await readLookRound(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug, shotCid: shot.cid });
|
|
121
|
+
if (rRow.isErr()) {
|
|
122
|
+
vctx.logger.Warn().Err(rRow.Err()).Msg("look-restyle-round-read-failed");
|
|
123
|
+
return unavailableError("The new looks could not be read just now.");
|
|
124
|
+
}
|
|
125
|
+
const row = rRow.Ok();
|
|
126
|
+
const nowMs = (seams.nowMs ?? Date.now)();
|
|
127
|
+
const shotOut = { fsId: shot.fsId, cid: shot.cid, mime: shot.mime };
|
|
128
|
+
switch (req.intent) {
|
|
129
|
+
case "peek":
|
|
130
|
+
return row === undefined ? answer(req, "none", { shot: shotOut }) : rowAnswer(req, row, nowMs);
|
|
131
|
+
case "start":
|
|
132
|
+
return start(vctx, { req, userId, shot, row, seams, nowMs });
|
|
133
|
+
case "wait":
|
|
134
|
+
return wait(vctx, { req, shot, row, seams });
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export const lookRestyleEvento = {
|
|
138
|
+
hash: "look-restyle",
|
|
139
|
+
validate: unwrapMsgBase(async (msg) => {
|
|
140
|
+
const ret = reqLookRestyle(msg.payload);
|
|
141
|
+
if (ret instanceof type.errors) {
|
|
142
|
+
return Result.Ok(Option.None());
|
|
143
|
+
}
|
|
144
|
+
return Result.Ok(Option.Some({ ...msg, payload: ret }));
|
|
145
|
+
}),
|
|
146
|
+
handle: checkAuth(async (ctx) => {
|
|
147
|
+
const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
|
|
148
|
+
const r = await lookRestyle(vctx, ctx.validated.payload);
|
|
149
|
+
await ctx.send.send(ctx, r);
|
|
150
|
+
return Result.Ok(EventoResult.Continue);
|
|
151
|
+
}),
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=look-restyle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"look-restyle.js","sourceRoot":"","sources":["../../jsr/public/look-restyle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,EAAsC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAEL,cAAc,GAUf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,gBAAgB,GAKjB,MAAM,2BAA2B,CAAC;AAoBnC,SAAS,WAAW,CAAC,WAAmB,EAAE,OAAe;IACvD,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,EAAE,OAAO,EAAE,2BAA2B,WAAW,IAAI,OAAO,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;KACxG,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,CAAC;AAC/F,CAAC;AAYD,SAAS,MAAM,CACb,GAAmB,EACnB,MAAyB,EACzB,KAAK,GAA2E,EAAE;IAElF,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM;QACN,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACzD,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAmB,EAAE,GAAiB,EAAE,KAAa;IACtE,OAAO,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AACxF,CAAC;AAMD,KAAK,UAAU,YAAY,CAAC,IAAoB,EAAE,MAAc;IAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC;AACvC,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAGD,KAAK,UAAU,KAAK,CAClB,IAAoB,EACpB,IAOC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAChC,MAAM,OAAO,GAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACrF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAGhD,IAAI,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9G,MAAM,GAAG,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE;QACzC,GAAG,GAAG;QACN,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC;QAC7B,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;KAC9G,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACvE,OAAO,gBAAgB,CAAC,yCAAyC,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAClC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;QACzB,eAAe,CAAC,IAAI,EAAE;YACpB,GAAG,GAAG;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI;YACJ,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU;YACV,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACzE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACvG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACjG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAGD,KAAK,UAAU,IAAI,CACjB,IAAoB,EACpB,IAKC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;IAC3C,MAAM,GAAG,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACrG,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACnB,IAAI,GAAG,KAAK,SAAS;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEhH,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,CAAC;IAGnC,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YACxE,OAAO,gBAAgB,CAAC,2CAA2C,CAAC,CAAC;QACvE,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAChB,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1F,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAoB,EACpB,GAAwC,EACxC,KAAK,GAAqB,EAAE;IAE5B,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5G,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAEnG,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAClG,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QACzE,OAAO,gBAAgB,CAAC,kDAAkD,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;IACxB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAClH,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QACzE,OAAO,gBAAgB,CAAC,2CAA2C,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACrF,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACjG,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAA8F;IAC1H,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,GAAY,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAM,EAAE,SAAS,CACf,KAAK,EACH,GAAsH,EACnF,EAAE;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiB,aAAa,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC,CACF;CACF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
import { type AppNature, type PromptNatureRewrite } from "@vibes.diy/api-types";
|
|
3
|
+
import type { VibesApiSQLCtx } from "../types.js";
|
|
4
|
+
export type NatureRewriteOutcome = PromptNatureRewrite["outcome"];
|
|
5
|
+
export declare function settleNatureRewrite(vctx: VibesApiSQLCtx, args: {
|
|
6
|
+
readonly rewriteNature: AppNature;
|
|
7
|
+
readonly ownerHandle: string;
|
|
8
|
+
readonly appSlug: string;
|
|
9
|
+
readonly callerUserId: string;
|
|
10
|
+
readonly chatId: string;
|
|
11
|
+
readonly promptId: string;
|
|
12
|
+
readonly errored: boolean;
|
|
13
|
+
readonly applied: boolean;
|
|
14
|
+
readonly touchedPaths: readonly string[] | undefined;
|
|
15
|
+
readonly append: (blockSeq: number, evt: PromptNatureRewrite) => Promise<Result<void>>;
|
|
16
|
+
}): Promise<NatureRewriteOutcome>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { exception2Result } from "@adviser/cement";
|
|
2
|
+
import { NATURE_REWRITE_BLOCK_SEQ } from "@vibes.diy/api-types";
|
|
3
|
+
import { ensureAppSettings } from "./ensure-app-settings.js";
|
|
4
|
+
import { touchesAccessJs } from "../intern/nature-rewrite.js";
|
|
5
|
+
export async function settleNatureRewrite(vctx, args) {
|
|
6
|
+
const { rewriteNature: nature, ownerHandle, appSlug, chatId, promptId } = args;
|
|
7
|
+
const event = { chatId, promptId, ownerHandle, appSlug, nature };
|
|
8
|
+
const landed = args.errored === false && args.applied === true && touchesAccessJs(args.touchedPaths);
|
|
9
|
+
let outcome = "not-applied";
|
|
10
|
+
let error;
|
|
11
|
+
if (landed) {
|
|
12
|
+
const rWrite = await exception2Result(() => ensureAppSettings(vctx, { type: "vibes.diy.req-ensure-app-settings", ownerHandle, appSlug, appNature: nature }, args.callerUserId));
|
|
13
|
+
if (rWrite.isErr()) {
|
|
14
|
+
outcome = "refused";
|
|
15
|
+
error = "nature-rewrite:write-failed";
|
|
16
|
+
vctx.logger.Warn().Err(rWrite).Any("event", event).Msg("nature-rewrite-failed");
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const res = rWrite.Ok();
|
|
20
|
+
if (res.error === undefined && res.settings.entry.settings.appNature === nature) {
|
|
21
|
+
outcome = "persisted";
|
|
22
|
+
vctx.logger.Info().Any("event", event).Msg("nature-rewrite-persisted");
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
outcome = "refused";
|
|
26
|
+
error = res.error ?? "nature-rewrite:not-permitted";
|
|
27
|
+
vctx.logger
|
|
28
|
+
.Info()
|
|
29
|
+
.Any("event", { ...event, error })
|
|
30
|
+
.Msg("nature-rewrite-refused");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
vctx.logger
|
|
36
|
+
.Info()
|
|
37
|
+
.Any("event", { ...event, errored: args.errored, applied: args.applied, accessTouched: touchesAccessJs(args.touchedPaths) })
|
|
38
|
+
.Msg("nature-rewrite-not-applied");
|
|
39
|
+
}
|
|
40
|
+
const rAppend = await exception2Result(() => args.append(NATURE_REWRITE_BLOCK_SEQ, {
|
|
41
|
+
type: "prompt.nature-rewrite",
|
|
42
|
+
streamId: promptId,
|
|
43
|
+
chatId,
|
|
44
|
+
seq: NATURE_REWRITE_BLOCK_SEQ,
|
|
45
|
+
timestamp: new Date(),
|
|
46
|
+
nature,
|
|
47
|
+
outcome,
|
|
48
|
+
...(error === undefined ? {} : { error }),
|
|
49
|
+
}));
|
|
50
|
+
if (rAppend.isErr())
|
|
51
|
+
vctx.logger.Warn().Err(rAppend).Any("event", event).Msg("nature-rewrite-event-failed");
|
|
52
|
+
return outcome;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=nature-rewrite-settle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nature-rewrite-settle.js","sourceRoot":"","sources":["../../jsr/public/nature-rewrite-settle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAU,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAA4C,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAsB9D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAoB,EACpB,IAWC;IAED,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC/E,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrG,IAAI,OAAO,GAAyB,aAAa,CAAC;IAClD,IAAI,KAAyB,CAAC;IAC9B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACzC,iBAAiB,CACf,IAAI,EACJ,EAAE,IAAI,EAAE,mCAAmC,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EACtF,IAAI,CAAC,YAAY,CAClB,CACF,CAAC;QAGF,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,GAAG,SAAS,CAAC;YACpB,KAAK,GAAG,6BAA6B,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBAChF,OAAO,GAAG,WAAW,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,SAAS,CAAC;gBACpB,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,8BAA8B,CAAC;gBACpD,IAAI,CAAC,MAAM;qBACR,IAAI,EAAE;qBACN,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;qBACjC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM;aACR,IAAI,EAAE;aACN,GAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;aAC3H,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAC1C,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE;QACpC,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,QAAQ;QAClB,MAAM;QACN,GAAG,EAAE,wBAAwB;QAC7B,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,MAAM;QACN,OAAO;QACP,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC1C,CAAC,CACH,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC5G,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EventoHandler } from "@adviser/cement";
|
|
2
|
+
import { MsgBase, VibesDiyError, W3CWebSocketEvent, type AppNature, type ReqNatureRewriteSuggestion, type ResNatureRewriteSuggestion } from "@vibes.diy/api-types";
|
|
3
|
+
import { VibesApiSQLCtx } from "../types.js";
|
|
4
|
+
import { type NatureSuggestionLlm } from "../intern/nature-rewrite-suggestion.js";
|
|
5
|
+
import { type LogRateLimits } from "../intern/backend-log-rate.js";
|
|
6
|
+
export declare const NATURE_SUGGESTION_DEADLINE_MS = 15000;
|
|
7
|
+
export declare const NATURE_SUGGESTION_RATE: LogRateLimits;
|
|
8
|
+
export declare function resetNatureSuggestionBounds(): void;
|
|
9
|
+
export interface NatureRewriteSuggestionArgs {
|
|
10
|
+
readonly userId: string;
|
|
11
|
+
readonly ownerHandle: string;
|
|
12
|
+
readonly appSlug: string;
|
|
13
|
+
readonly nature: AppNature;
|
|
14
|
+
readonly llm?: NatureSuggestionLlm;
|
|
15
|
+
}
|
|
16
|
+
export declare function natureRewriteSuggestion(vctx: VibesApiSQLCtx, args: NatureRewriteSuggestionArgs): Promise<string | undefined>;
|
|
17
|
+
export declare const natureRewriteSuggestionEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqNatureRewriteSuggestion>, ResNatureRewriteSuggestion | VibesDiyError>;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Result, Option, EventoResult, exception2Result } from "@adviser/cement";
|
|
2
|
+
import { effectiveAppNature, isActiveAppNature, isActivePrivacySensitive, reqNatureRewriteSuggestion, } from "@vibes.diy/api-types";
|
|
3
|
+
import { type } from "arktype";
|
|
4
|
+
import { unwrapMsgBase } from "../unwrap-msg-base.js";
|
|
5
|
+
import { checkAuth } from "../check-auth.js";
|
|
6
|
+
import { selectAppSettingsRecord } from "./app-settings-snapshot.js";
|
|
7
|
+
import { readComposedSettingsForApp } from "./app-setting-items.js";
|
|
8
|
+
import { selectLatestDevDraftOrPublished } from "./select-app.js";
|
|
9
|
+
import { loadTurnFilesByFsId } from "../intern/look-lint.js";
|
|
10
|
+
import { requestNatureSuggestion } from "../intern/nature-rewrite-suggestion.js";
|
|
11
|
+
import { BackendLogRateWindow } from "../intern/backend-log-rate.js";
|
|
12
|
+
export const NATURE_SUGGESTION_DEADLINE_MS = 15_000;
|
|
13
|
+
export const NATURE_SUGGESTION_RATE = {
|
|
14
|
+
burstLimit: 6,
|
|
15
|
+
burstWindowMs: 60_000,
|
|
16
|
+
sustainedLimit: 30,
|
|
17
|
+
sustainedWindowMs: 60 * 60_000,
|
|
18
|
+
};
|
|
19
|
+
const SUGGESTION_CACHE_MAX = 500;
|
|
20
|
+
const RATE_WINDOWS_MAX = 2_000;
|
|
21
|
+
const suggestionCache = new Map();
|
|
22
|
+
const rateWindows = new Map();
|
|
23
|
+
function boundedSet(map, key, value, max) {
|
|
24
|
+
map.delete(key);
|
|
25
|
+
map.set(key, value);
|
|
26
|
+
if (map.size > max) {
|
|
27
|
+
const oldest = map.keys().next();
|
|
28
|
+
if (oldest.done !== true)
|
|
29
|
+
map.delete(oldest.value);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function admitUser(userId, now) {
|
|
33
|
+
const window = rateWindows.get(userId) ?? new BackendLogRateWindow(NATURE_SUGGESTION_RATE);
|
|
34
|
+
boundedSet(rateWindows, userId, window, RATE_WINDOWS_MAX);
|
|
35
|
+
return window.admit(now);
|
|
36
|
+
}
|
|
37
|
+
export function resetNatureSuggestionBounds() {
|
|
38
|
+
suggestionCache.clear();
|
|
39
|
+
rateWindows.clear();
|
|
40
|
+
}
|
|
41
|
+
function fileAt(files, name) {
|
|
42
|
+
return files[`/${name}`] ?? files[name];
|
|
43
|
+
}
|
|
44
|
+
export async function natureRewriteSuggestion(vctx, args) {
|
|
45
|
+
const event = { ownerHandle: args.ownerHandle, appSlug: args.appSlug, nature: args.nature };
|
|
46
|
+
const rRecord = await selectAppSettingsRecord(vctx, args.ownerHandle, args.appSlug);
|
|
47
|
+
if (rRecord.isErr()) {
|
|
48
|
+
vctx.logger.Warn().Err(rRecord).Any("event", event).Msg("nature-suggestion-owner-read-failed");
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
const record = rRecord.Ok();
|
|
52
|
+
if (record === undefined || record.UserSlugBindings.userId !== args.userId)
|
|
53
|
+
return undefined;
|
|
54
|
+
const rSource = await exception2Result(async () => {
|
|
55
|
+
const row = await selectLatestDevDraftOrPublished(vctx, { ownerHandle: args.ownerHandle, appSlug: args.appSlug });
|
|
56
|
+
if (row === undefined || row.userId !== args.userId)
|
|
57
|
+
return undefined;
|
|
58
|
+
return { fsId: row.fsId, files: await loadTurnFilesByFsId(vctx, row.fsId) };
|
|
59
|
+
});
|
|
60
|
+
if (rSource.isErr()) {
|
|
61
|
+
vctx.logger.Warn().Err(rSource).Any("event", event).Msg("nature-suggestion-source-read-failed");
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
const source = rSource.Ok();
|
|
65
|
+
const files = source?.files;
|
|
66
|
+
const appJsx = files === undefined ? undefined : fileAt(files, "App.jsx");
|
|
67
|
+
if (files === undefined || appJsx === undefined) {
|
|
68
|
+
vctx.logger.Warn().Any("event", event).Msg("nature-suggestion-no-app-source");
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const rEntries = await exception2Result(() => readComposedSettingsForApp(vctx, args.ownerHandle, args.appSlug));
|
|
72
|
+
if (rEntries.isErr()) {
|
|
73
|
+
vctx.logger.Warn().Err(rEntries).Any("event", event).Msg("nature-suggestion-settings-read-failed");
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
const entries = rEntries.Ok();
|
|
77
|
+
const currentNature = effectiveAppNature({
|
|
78
|
+
privacySensitive: entries.find(isActivePrivacySensitive)?.sensitive,
|
|
79
|
+
stored: entries.find(isActiveAppNature)?.nature,
|
|
80
|
+
});
|
|
81
|
+
const cacheKey = `${source?.fsId ?? ""}:${currentNature}:${args.nature}`;
|
|
82
|
+
const cached = suggestionCache.get(cacheKey);
|
|
83
|
+
if (cached !== undefined)
|
|
84
|
+
return cached;
|
|
85
|
+
if (!admitUser(args.userId, Date.now())) {
|
|
86
|
+
vctx.logger.Warn().Any("event", event).Msg("nature-suggestion-rate-limited");
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
const llm = args.llm ?? {
|
|
90
|
+
llmRequest: (prompt, opts) => vctx.llmRequest(prompt, opts),
|
|
91
|
+
headers: vctx.params.llm.headers,
|
|
92
|
+
};
|
|
93
|
+
const accessJs = fileAt(files, "access.js");
|
|
94
|
+
const rSuggestion = await requestNatureSuggestion(llm, { nature: args.nature, currentNature, appJsx, ...(accessJs === undefined ? {} : { accessJs }) }, AbortSignal.timeout(NATURE_SUGGESTION_DEADLINE_MS));
|
|
95
|
+
if (rSuggestion.isErr()) {
|
|
96
|
+
vctx.logger.Warn().Err(rSuggestion).Any("event", event).Msg("nature-suggestion-failed");
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
const suggestion = rSuggestion.Ok();
|
|
100
|
+
if (suggestion !== undefined)
|
|
101
|
+
boundedSet(suggestionCache, cacheKey, suggestion, SUGGESTION_CACHE_MAX);
|
|
102
|
+
return suggestion;
|
|
103
|
+
}
|
|
104
|
+
export const natureRewriteSuggestionEvento = {
|
|
105
|
+
hash: "nature-rewrite-suggestion",
|
|
106
|
+
validate: unwrapMsgBase(async (msg) => {
|
|
107
|
+
const ret = reqNatureRewriteSuggestion(msg.payload);
|
|
108
|
+
if (ret instanceof type.errors) {
|
|
109
|
+
return Result.Ok(Option.None());
|
|
110
|
+
}
|
|
111
|
+
return Result.Ok(Option.Some({ ...msg, payload: ret }));
|
|
112
|
+
}),
|
|
113
|
+
handle: checkAuth(async (ctx) => {
|
|
114
|
+
const req = ctx.validated.payload;
|
|
115
|
+
const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
|
|
116
|
+
const suggestion = await natureRewriteSuggestion(vctx, {
|
|
117
|
+
userId: req._auth.verifiedAuth.claims.userId,
|
|
118
|
+
ownerHandle: req.ownerHandle,
|
|
119
|
+
appSlug: req.appSlug,
|
|
120
|
+
nature: req.nature,
|
|
121
|
+
});
|
|
122
|
+
await ctx.send.send(ctx, {
|
|
123
|
+
type: "vibes.diy.res-nature-rewrite-suggestion",
|
|
124
|
+
...(suggestion === undefined ? {} : { suggestion }),
|
|
125
|
+
});
|
|
126
|
+
return Result.Ok(EventoResult.Continue);
|
|
127
|
+
}),
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=nature-rewrite-suggestion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nature-rewrite-suggestion.js","sourceRoot":"","sources":["../../jsr/public/nature-rewrite-suggestion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Result } from "@adviser/cement";
|
|
2
|
-
import { ReqPromptChatSection, ReqWithVerifiedAuth } from "@vibes.diy/api-types";
|
|
2
|
+
import { type AppNature, ReqPromptChatSection, ReqWithVerifiedAuth, type PromptSource } from "@vibes.diy/api-types";
|
|
3
3
|
import { VibesApiSQLCtx } from "../types.js";
|
|
4
4
|
import { type DispatchCarry } from "../intern/builder-model.js";
|
|
5
5
|
import { type InstructionVariant } from "../intern/instruction-variant.js";
|
|
@@ -9,12 +9,14 @@ export interface TurnEnvelope {
|
|
|
9
9
|
readonly submittedAt: number | undefined;
|
|
10
10
|
readonly directBuildRequested: boolean;
|
|
11
11
|
readonly agentDispatchedBuild: boolean;
|
|
12
|
+
readonly agentDispatchedSource: PromptSource | undefined;
|
|
12
13
|
readonly agentWakeTurn: boolean;
|
|
13
14
|
readonly agentWakeBudget: number;
|
|
14
15
|
readonly agentWakeNote: string | undefined;
|
|
15
16
|
readonly firstTurnAgent: boolean;
|
|
16
17
|
readonly nonInteractive: boolean;
|
|
17
18
|
readonly timeZone: string | undefined;
|
|
19
|
+
readonly rewriteNature: AppNature | undefined;
|
|
18
20
|
}
|
|
19
21
|
export declare function readTurnEnvelope(orig: ReqPromptChatSection, turnStartedAt: number): TurnEnvelope;
|
|
20
22
|
export interface TurnAdmission {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Result } from "@adviser/cement";
|
|
2
2
|
import { resolveTimeZone } from "../intern/local-day.js";
|
|
3
|
-
import { isReqCreationPromptChatSection, isReqPromptApplicationChatSection, isReqPromptImageChatSection, } from "@vibes.diy/api-types";
|
|
3
|
+
import { isChipSource, isReqCreationPromptChatSection, isReqPromptApplicationChatSection, isReqPromptImageChatSection, } from "@vibes.diy/api-types";
|
|
4
4
|
import { and, eq } from "drizzle-orm/sql/expressions";
|
|
5
5
|
import { dryRunHandleIsForeign } from "../intern/ensure-chat-id.js";
|
|
6
6
|
import { resolveDeveloperAccess } from "./developer-grants.js";
|
|
@@ -9,6 +9,7 @@ import { admitBuilderModel, dispatchCarryFor } from "../intern/builder-model.js"
|
|
|
9
9
|
import { admitSubagentModel } from "../intern/subagent-model.js";
|
|
10
10
|
import { admitInstructionVariant } from "../intern/instruction-variant.js";
|
|
11
11
|
import { wakeAgentModel as wakeAgentModelFor } from "../intern/eval-handles.js";
|
|
12
|
+
import { readRewriteNature } from "../intern/nature-rewrite.js";
|
|
12
13
|
export async function getResChatFromMode(vctx, req, orig) {
|
|
13
14
|
if (isReqCreationPromptChatSection(orig) &&
|
|
14
15
|
orig.dryRun === true &&
|
|
@@ -77,6 +78,10 @@ export function readTurnEnvelope(orig, turnStartedAt) {
|
|
|
77
78
|
: undefined;
|
|
78
79
|
const directBuildRequested = orig.directBuild === true;
|
|
79
80
|
const agentDispatchedBuild = orig.agentDispatched === true;
|
|
81
|
+
const agentDispatchedSourceRaw = orig.agentDispatchedSource;
|
|
82
|
+
const agentDispatchedSource = agentDispatchedBuild && typeof agentDispatchedSourceRaw === "string" && isChipSource(agentDispatchedSourceRaw)
|
|
83
|
+
? agentDispatchedSourceRaw
|
|
84
|
+
: undefined;
|
|
80
85
|
const agentWakeTurn = orig.agentWake === true;
|
|
81
86
|
const agentWakeBudget = readAgentWakeBudget(orig.agentWakeBudget);
|
|
82
87
|
const agentWakeNoteRaw = orig.agentWakeNote;
|
|
@@ -87,12 +92,14 @@ export function readTurnEnvelope(orig, turnStartedAt) {
|
|
|
87
92
|
submittedAt,
|
|
88
93
|
directBuildRequested,
|
|
89
94
|
agentDispatchedBuild,
|
|
95
|
+
agentDispatchedSource,
|
|
90
96
|
agentWakeTurn,
|
|
91
97
|
agentWakeBudget,
|
|
92
98
|
agentWakeNote,
|
|
93
99
|
firstTurnAgent,
|
|
94
100
|
nonInteractive,
|
|
95
101
|
timeZone: resolveTimeZone(orig.timeZone),
|
|
102
|
+
rewriteNature: readRewriteNature(orig.rewriteNature),
|
|
96
103
|
};
|
|
97
104
|
}
|
|
98
105
|
export async function admitTurnOptions(vctx, orig, resChat) {
|
|
@@ -116,6 +123,8 @@ export async function admitTurnOptions(vctx, orig, resChat) {
|
|
|
116
123
|
focusPath: orig.focusPath,
|
|
117
124
|
...(instructionVariant === undefined ? {} : { instructionVariant }),
|
|
118
125
|
timeZone: resolveTimeZone(orig.timeZone),
|
|
126
|
+
source: orig.source,
|
|
127
|
+
rewriteNature: readRewriteNature(orig.rewriteNature),
|
|
119
128
|
});
|
|
120
129
|
const wakeAgentModel = wakeAgentModelFor(orig.agentModel);
|
|
121
130
|
return Result.Ok({ instructionVariant, builderModel, subagentModel, dispatchCarry, wakeAgentModel });
|