@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.
Files changed (79) hide show
  1. package/analytics.d.ts +2 -0
  2. package/analytics.js +1 -0
  3. package/analytics.js.map +1 -1
  4. package/evento-handler-manifest.js +4 -0
  5. package/evento-handler-manifest.js.map +1 -1
  6. package/intern/agent-assembly.d.ts +3 -0
  7. package/intern/agent-assembly.js +8 -1
  8. package/intern/agent-assembly.js.map +1 -1
  9. package/intern/agent-dispatcher.d.ts +3 -1
  10. package/intern/agent-dispatcher.js +2 -1
  11. package/intern/agent-dispatcher.js.map +1 -1
  12. package/intern/agent-session.d.ts +24 -24
  13. package/intern/backend-db-callback.js +39 -3
  14. package/intern/backend-db-callback.js.map +1 -1
  15. package/intern/builder-model.d.ts +5 -1
  16. package/intern/builder-model.js +3 -1
  17. package/intern/builder-model.js.map +1 -1
  18. package/intern/capi-build-event.d.ts +4 -0
  19. package/intern/capi-build-event.js +12 -3
  20. package/intern/capi-build-event.js.map +1 -1
  21. package/intern/capi-lead-ledger.d.ts +2 -1
  22. package/intern/capi-lead-ledger.js +31 -1
  23. package/intern/capi-lead-ledger.js.map +1 -1
  24. package/intern/guest-principal-claim.js +12 -2
  25. package/intern/guest-principal-claim.js.map +1 -1
  26. package/intern/image-survey.d.ts +10 -0
  27. package/intern/image-survey.js +2 -2
  28. package/intern/image-survey.js.map +1 -1
  29. package/intern/look-restyle-pick.d.ts +1 -0
  30. package/intern/look-restyle-pick.js +14 -0
  31. package/intern/look-restyle-pick.js.map +1 -0
  32. package/intern/look-restyle.d.ts +87 -0
  33. package/intern/look-restyle.js +385 -0
  34. package/intern/look-restyle.js.map +1 -0
  35. package/intern/nature-rewrite-suggestion.d.ts +23 -0
  36. package/intern/nature-rewrite-suggestion.js +108 -0
  37. package/intern/nature-rewrite-suggestion.js.map +1 -0
  38. package/intern/nature-rewrite.d.ts +8 -0
  39. package/intern/nature-rewrite.js +17 -0
  40. package/intern/nature-rewrite.js.map +1 -0
  41. package/intern/prompt-assembly.js +3 -1
  42. package/intern/prompt-assembly.js.map +1 -1
  43. package/package.json +13 -13
  44. package/public/agent-turn-action.js +23 -1
  45. package/public/agent-turn-action.js.map +1 -1
  46. package/public/agent-turn-assembly.js +5 -0
  47. package/public/agent-turn-assembly.js.map +1 -1
  48. package/public/app-documents-broadcast.d.ts +2 -0
  49. package/public/app-documents-broadcast.js +9 -0
  50. package/public/app-documents-broadcast.js.map +1 -1
  51. package/public/app-documents-grant-delta.d.ts +12 -1
  52. package/public/app-documents-grant-delta.js +31 -4
  53. package/public/app-documents-grant-delta.js.map +1 -1
  54. package/public/app-documents-write-eventos.js +42 -16
  55. package/public/app-documents-write-eventos.js.map +1 -1
  56. package/public/handle-prompt-context.js +9 -2
  57. package/public/handle-prompt-context.js.map +1 -1
  58. package/public/look-restyle.d.ts +14 -0
  59. package/public/look-restyle.js +153 -0
  60. package/public/look-restyle.js.map +1 -0
  61. package/public/nature-rewrite-settle.d.ts +16 -0
  62. package/public/nature-rewrite-settle.js +54 -0
  63. package/public/nature-rewrite-settle.js.map +1 -0
  64. package/public/nature-rewrite-suggestion.d.ts +17 -0
  65. package/public/nature-rewrite-suggestion.js +129 -0
  66. package/public/nature-rewrite-suggestion.js.map +1 -0
  67. package/public/prompt-turn-envelope.d.ts +3 -1
  68. package/public/prompt-turn-envelope.js +10 -1
  69. package/public/prompt-turn-envelope.js.map +1 -1
  70. package/public/prompt-turn-settled.js +24 -2
  71. package/public/prompt-turn-settled.js.map +1 -1
  72. package/public/sync-eventos.d.ts +1 -1
  73. package/public/sync-eventos.js +15 -8
  74. package/public/sync-eventos.js.map +1 -1
  75. package/public/sync-prefix-cache.d.ts +2 -0
  76. package/public/sync-prefix-cache.js +13 -0
  77. package/public/sync-prefix-cache.js.map +1 -1
  78. package/types.d.ts +1 -0
  79. 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":"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"}
@@ -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":"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"}
@@ -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 });