@vibes.diy/api-svc 14.3.209 → 14.3.211
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/create-handler.d.ts +1 -0
- package/create-handler.js +14 -0
- package/create-handler.js.map +1 -1
- package/evento-handler-manifest.js +4 -0
- package/evento-handler-manifest.js.map +1 -1
- package/intern/agent-dispatcher.js +12 -1
- package/intern/agent-dispatcher.js.map +1 -1
- package/intern/ensure-chat-id.d.ts +2 -1
- package/intern/ensure-chat-id.js +4 -1
- package/intern/ensure-chat-id.js.map +1 -1
- package/intern/grouped-vibe-import-map.d.ts +2 -0
- package/intern/grouped-vibe-import-map.js +2 -0
- package/intern/grouped-vibe-import-map.js.map +1 -1
- package/intern/instant-build.js +3 -1
- package/intern/instant-build.js.map +1 -1
- package/intern/opens-check.js +2 -0
- package/intern/opens-check.js.map +1 -1
- package/intern/places-free.d.ts +118 -0
- package/intern/places-free.js +579 -0
- package/intern/places-free.js.map +1 -0
- package/intern/places-google.d.ts +79 -0
- package/intern/places-google.js +241 -0
- package/intern/places-google.js.map +1 -0
- package/intern/platform-daily-counter.d.ts +11 -0
- package/intern/platform-daily-counter.js +32 -0
- package/intern/platform-daily-counter.js.map +1 -0
- package/intern/prompt-assembly.d.ts +5 -0
- package/intern/prompt-assembly.js +10 -1
- package/intern/prompt-assembly.js.map +1 -1
- package/package.json +18 -18
- package/public/places-map-mode.d.ts +3 -0
- package/public/places-map-mode.js +41 -0
- package/public/places-map-mode.js.map +1 -0
- package/public/search-places.d.ts +11 -0
- package/public/search-places.js +115 -0
- package/public/search-places.js.map +1 -0
- package/types.d.ts +7 -0
- package/types.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/api-svc",
|
|
3
|
-
"version": "14.3.
|
|
3
|
+
"version": "14.3.211",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -41,26 +41,26 @@
|
|
|
41
41
|
"@neondatabase/serverless": "~1.2.0",
|
|
42
42
|
"@noble/hashes": "~2.4.0",
|
|
43
43
|
"@shadcn/lint": "~0.2.3",
|
|
44
|
-
"@vibes.diy/api-pkg": "14.3.
|
|
45
|
-
"@vibes.diy/api-sql": "14.3.
|
|
46
|
-
"@vibes.diy/api-types": "14.3.
|
|
47
|
-
"@vibes.diy/atelier": "14.3.
|
|
48
|
-
"@vibes.diy/brute": "14.3.
|
|
49
|
-
"@vibes.diy/call-ai-v2": "14.3.
|
|
50
|
-
"@vibes.diy/identity": "14.3.
|
|
51
|
-
"@vibes.diy/look": "14.3.
|
|
52
|
-
"@vibes.diy/newsprint": "14.3.
|
|
53
|
-
"@vibes.diy/pouf": "14.3.
|
|
54
|
-
"@vibes.diy/prompts": "14.3.
|
|
55
|
-
"@vibes.diy/scrapbook": "14.3.
|
|
56
|
-
"@vibes.diy/terminal": "14.3.
|
|
57
|
-
"@vibes.diy/vibe-db-explorer": "14.3.
|
|
58
|
-
"@vibes.diy/vibe-runtime": "14.3.
|
|
59
|
-
"@vibes.diy/vibe-types": "14.3.
|
|
44
|
+
"@vibes.diy/api-pkg": "14.3.211",
|
|
45
|
+
"@vibes.diy/api-sql": "14.3.211",
|
|
46
|
+
"@vibes.diy/api-types": "14.3.211",
|
|
47
|
+
"@vibes.diy/atelier": "14.3.211",
|
|
48
|
+
"@vibes.diy/brute": "14.3.211",
|
|
49
|
+
"@vibes.diy/call-ai-v2": "14.3.211",
|
|
50
|
+
"@vibes.diy/identity": "14.3.211",
|
|
51
|
+
"@vibes.diy/look": "14.3.211",
|
|
52
|
+
"@vibes.diy/newsprint": "14.3.211",
|
|
53
|
+
"@vibes.diy/pouf": "14.3.211",
|
|
54
|
+
"@vibes.diy/prompts": "14.3.211",
|
|
55
|
+
"@vibes.diy/scrapbook": "14.3.211",
|
|
56
|
+
"@vibes.diy/terminal": "14.3.211",
|
|
57
|
+
"@vibes.diy/vibe-db-explorer": "14.3.211",
|
|
58
|
+
"@vibes.diy/vibe-runtime": "14.3.211",
|
|
59
|
+
"@vibes.diy/vibe-types": "14.3.211",
|
|
60
60
|
"acorn": "~8.19.0",
|
|
61
61
|
"acorn-jsx": "~5.3.2",
|
|
62
62
|
"arktype": "~2.2.8",
|
|
63
|
-
"call-ai": "14.3.
|
|
63
|
+
"call-ai": "14.3.211",
|
|
64
64
|
"charwise": "~3.0.1",
|
|
65
65
|
"cookie": "~2.0.1",
|
|
66
66
|
"csv-parse": "~7.0.3",
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { EventoHandler } from "@adviser/cement";
|
|
2
|
+
import { type MsgBase, type ReqPlacesMapMode, type ResPlacesMapMode, type VibesDiyError, type W3CWebSocketEvent } from "@vibes.diy/api-types";
|
|
3
|
+
export declare const placesMapModeEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqPlacesMapMode>, ResPlacesMapMode | VibesDiyError>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Result, Option, EventoResult } from "@adviser/cement";
|
|
2
|
+
import { reqPlacesMapMode, } from "@vibes.diy/api-types";
|
|
3
|
+
import { type } from "arktype";
|
|
4
|
+
import { unwrapMsgBase } from "../unwrap-msg-base.js";
|
|
5
|
+
import { optAuth } from "../check-auth.js";
|
|
6
|
+
import { callerCanReadApp } from "./list-app-models.js";
|
|
7
|
+
import { gateGoogleCall, meterGoogleCall } from "../intern/places-google.js";
|
|
8
|
+
import { placesGateDeps, placesMeterDeps, SEARCH_PLACES_NOT_VISIBLE } from "./search-places.js";
|
|
9
|
+
export const placesMapModeEvento = {
|
|
10
|
+
hash: "places-map-mode",
|
|
11
|
+
validate: unwrapMsgBase(async (msg) => {
|
|
12
|
+
const ret = reqPlacesMapMode(msg.payload);
|
|
13
|
+
if (ret instanceof type.errors) {
|
|
14
|
+
return Result.Ok(Option.None());
|
|
15
|
+
}
|
|
16
|
+
return Result.Ok(Option.Some({ ...msg, payload: ret }));
|
|
17
|
+
}),
|
|
18
|
+
handle: optAuth(async (ctx) => {
|
|
19
|
+
const req = ctx.validated.payload;
|
|
20
|
+
const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
|
|
21
|
+
const userId = req._auth?.verifiedAuth.claims.userId;
|
|
22
|
+
const visible = await callerCanReadApp(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug, callerUserId: userId });
|
|
23
|
+
if (visible === false) {
|
|
24
|
+
await ctx.send.send(ctx, {
|
|
25
|
+
type: "vibes.diy.res-error",
|
|
26
|
+
error: { message: "This app's map is not available to you.", code: SEARCH_PLACES_NOT_VISIBLE },
|
|
27
|
+
});
|
|
28
|
+
return Result.Ok(EventoResult.Continue);
|
|
29
|
+
}
|
|
30
|
+
const report = req.report === "map-load";
|
|
31
|
+
const gate = await gateGoogleCall(placesGateDeps(vctx, "placesMapMode"), { userId, lane: "map-load", reserve: report });
|
|
32
|
+
const decision = gate.decision.mode === "google"
|
|
33
|
+
? { mode: "google", browserKey: vctx.googleMapsBrowserKey ?? "", mapId: vctx.googleMapsMapId }
|
|
34
|
+
: { mode: "free", reason: gate.decision.reason };
|
|
35
|
+
if (report)
|
|
36
|
+
await meterGoogleCall(placesMeterDeps(vctx, "placesMapMode"), { payer: gate.payer, lane: "map-load" });
|
|
37
|
+
await ctx.send.send(ctx, { type: "vibes.diy.res-places-map-mode", decision });
|
|
38
|
+
return Result.Ok(EventoResult.Continue);
|
|
39
|
+
}),
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=places-map-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"places-map-mode.js","sourceRoot":"","sources":["../../jsr/public/places-map-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventoHandler } from "@adviser/cement";
|
|
2
|
+
import { type MsgBase, type ReqSearchPlaces, type ResSearchPlaces, type VibesDiyError, type W3CWebSocketEvent } from "@vibes.diy/api-types";
|
|
3
|
+
import { VibesApiSQLCtx } from "../types.js";
|
|
4
|
+
import { meterGoogleCall, type PlacesGateDeps } from "../intern/places-google.js";
|
|
5
|
+
export declare const SEARCH_PLACES_NOT_VISIBLE = "search-places-not-visible";
|
|
6
|
+
export declare const SEARCH_PLACES_INVALID = "search-places-invalid";
|
|
7
|
+
export declare const SEARCH_PLACES_UPSTREAM = "search-places-upstream";
|
|
8
|
+
export declare const SEARCH_PLACES_UPSTREAM_MESSAGE = "The place search did not answer this time. Try again in a moment.";
|
|
9
|
+
export declare function placesGateDeps(vctx: VibesApiSQLCtx, logName: string): PlacesGateDeps;
|
|
10
|
+
export declare function placesMeterDeps(vctx: VibesApiSQLCtx, logName: string): Parameters<typeof meterGoogleCall>[0];
|
|
11
|
+
export declare const searchPlacesEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqSearchPlaces>, ResSearchPlaces | VibesDiyError>;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Result, Option, EventoResult } from "@adviser/cement";
|
|
2
|
+
import { reqSearchPlaces, } from "@vibes.diy/api-types";
|
|
3
|
+
import { ensureLogger } from "@vibes.diy/identity";
|
|
4
|
+
import { type } from "arktype";
|
|
5
|
+
import { unwrapMsgBase } from "../unwrap-msg-base.js";
|
|
6
|
+
import { optAuth } from "../check-auth.js";
|
|
7
|
+
import { callerCanReadApp } from "./list-app-models.js";
|
|
8
|
+
import { placesQueryProblems, SEARCH_BUDGET_MS, searchPlacesFree } from "../intern/places-free.js";
|
|
9
|
+
import { gateGoogleCall, googleFailureReason, googleLaneOf, meterGoogleCall, searchPlacesGoogle, } from "../intern/places-google.js";
|
|
10
|
+
import { bumpPlatformDailyCounter, readPlatformDailyCounter } from "../intern/platform-daily-counter.js";
|
|
11
|
+
export const SEARCH_PLACES_NOT_VISIBLE = "search-places-not-visible";
|
|
12
|
+
export const SEARCH_PLACES_INVALID = "search-places-invalid";
|
|
13
|
+
export const SEARCH_PLACES_UPSTREAM = "search-places-upstream";
|
|
14
|
+
export const SEARCH_PLACES_UPSTREAM_MESSAGE = "The place search did not answer this time. Try again in a moment.";
|
|
15
|
+
export function placesGateDeps(vctx, logName) {
|
|
16
|
+
const logger = ensureLogger(vctx.sthis, logName);
|
|
17
|
+
return {
|
|
18
|
+
googlePlacesKey: vctx.googlePlacesKey,
|
|
19
|
+
googleMapsBrowserKey: vctx.googleMapsBrowserKey,
|
|
20
|
+
billing: vctx.billing,
|
|
21
|
+
guestCaps: vctx.mapsGuestCaps,
|
|
22
|
+
bumpCounter: (counter) => bumpPlatformDailyCounter(vctx, { counter, nowMs: Date.now() }),
|
|
23
|
+
readCounter: (counter) => readPlatformDailyCounter(vctx, { counter, nowMs: Date.now() }),
|
|
24
|
+
warn: (msg, err) => logger.Warn().Err(err).Msg(msg),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function placesMeterDeps(vctx, logName) {
|
|
28
|
+
const logger = ensureLogger(vctx.sthis, logName);
|
|
29
|
+
return {
|
|
30
|
+
billing: vctx.billing,
|
|
31
|
+
nextId: () => vctx.sthis.nextId(12).str,
|
|
32
|
+
warn: (msg, err) => logger.Warn().Err(err).Msg(msg),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export const searchPlacesEvento = {
|
|
36
|
+
hash: "search-places",
|
|
37
|
+
validate: unwrapMsgBase(async (msg) => {
|
|
38
|
+
const ret = reqSearchPlaces(msg.payload);
|
|
39
|
+
if (ret instanceof type.errors) {
|
|
40
|
+
return Result.Ok(Option.None());
|
|
41
|
+
}
|
|
42
|
+
return Result.Ok(Option.Some({ ...msg, payload: ret }));
|
|
43
|
+
}),
|
|
44
|
+
handle: optAuth(async (ctx) => {
|
|
45
|
+
const deadline = Date.now() + SEARCH_BUDGET_MS;
|
|
46
|
+
const req = ctx.validated.payload;
|
|
47
|
+
const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
|
|
48
|
+
const logger = ensureLogger(vctx.sthis, "searchPlaces");
|
|
49
|
+
const userId = req._auth?.verifiedAuth.claims.userId;
|
|
50
|
+
const sendError = (message, code) => ctx.send.send(ctx, { type: "vibes.diy.res-error", error: { message, code } });
|
|
51
|
+
const sendResult = (result) => ctx.send.send(ctx, { type: "vibes.diy.res-search-places", result });
|
|
52
|
+
const visible = await callerCanReadApp(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug, callerUserId: userId });
|
|
53
|
+
if (visible === false) {
|
|
54
|
+
await sendError("This app's place search is not available to you.", SEARCH_PLACES_NOT_VISIBLE);
|
|
55
|
+
return Result.Ok(EventoResult.Continue);
|
|
56
|
+
}
|
|
57
|
+
const pageMode = req.mapMode ?? "free";
|
|
58
|
+
const problems = placesQueryProblems(req.query, pageMode);
|
|
59
|
+
if (problems.length > 0) {
|
|
60
|
+
await sendError(problems.join("; "), SEARCH_PLACES_INVALID);
|
|
61
|
+
return Result.Ok(EventoResult.Continue);
|
|
62
|
+
}
|
|
63
|
+
let fallbackReason;
|
|
64
|
+
if (pageMode === "google") {
|
|
65
|
+
const lane = googleLaneOf(req.query);
|
|
66
|
+
const gate = await gateGoogleCall(placesGateDeps(vctx, "searchPlaces"), { userId, lane });
|
|
67
|
+
if (gate.decision.mode === "google") {
|
|
68
|
+
const rGoogle = await searchPlacesGoogle({
|
|
69
|
+
fetch: vctx.placesFetch,
|
|
70
|
+
apiKey: vctx.googlePlacesKey ?? "",
|
|
71
|
+
query: req.query,
|
|
72
|
+
deadline,
|
|
73
|
+
});
|
|
74
|
+
if (rGoogle.isOk()) {
|
|
75
|
+
await meterGoogleCall(placesMeterDeps(vctx, "searchPlaces"), { payer: gate.payer, lane });
|
|
76
|
+
await sendResult(rGoogle.Ok());
|
|
77
|
+
return Result.Ok(EventoResult.Continue);
|
|
78
|
+
}
|
|
79
|
+
logger
|
|
80
|
+
.Warn()
|
|
81
|
+
.Str("app", `${req.ownerHandle}/${req.appSlug}`)
|
|
82
|
+
.Err(rGoogle.Err())
|
|
83
|
+
.Msg("google place search failed; answering free");
|
|
84
|
+
fallbackReason = googleFailureReason(rGoogle.Err().message);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
fallbackReason = gate.decision.reason;
|
|
88
|
+
}
|
|
89
|
+
const freeProblems = placesQueryProblems(req.query, "free");
|
|
90
|
+
if (freeProblems.length > 0) {
|
|
91
|
+
await sendError(`This search is on the free map right now (${fallbackReason}): ${freeProblems.join("; ")}`, SEARCH_PLACES_INVALID);
|
|
92
|
+
return Result.Ok(EventoResult.Continue);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const rResult = await searchPlacesFree({
|
|
96
|
+
fetch: vctx.placesFetch,
|
|
97
|
+
query: req.query,
|
|
98
|
+
geoapifyKey: vctx.geoapifyKey,
|
|
99
|
+
deadline,
|
|
100
|
+
});
|
|
101
|
+
if (rResult.isErr()) {
|
|
102
|
+
logger
|
|
103
|
+
.Warn()
|
|
104
|
+
.Str("reason", fallbackReason ?? "free-page")
|
|
105
|
+
.Str("app", `${req.ownerHandle}/${req.appSlug}`)
|
|
106
|
+
.Err(rResult.Err())
|
|
107
|
+
.Msg("place search failed");
|
|
108
|
+
await sendError(SEARCH_PLACES_UPSTREAM_MESSAGE, SEARCH_PLACES_UPSTREAM);
|
|
109
|
+
return Result.Ok(EventoResult.Continue);
|
|
110
|
+
}
|
|
111
|
+
await sendResult({ ...rResult.Ok(), ...(fallbackReason === undefined ? {} : { reason: fallbackReason }) });
|
|
112
|
+
return Result.Ok(EventoResult.Continue);
|
|
113
|
+
}),
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=search-places.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-places.js","sourceRoot":"","sources":["../../jsr/public/search-places.ts"],"names":[],"mappings":"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"}
|
package/types.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ import type { BillingIf } from "./billing.js";
|
|
|
13
13
|
import type { LlmToolExecutor } from "./intern/llm-tool-loop.js";
|
|
14
14
|
import type { BackendControlPlaneIf, BackendOwnerApiFetch, BackendViewerApiFetch } from "./intern/backend-do-control-plane.js";
|
|
15
15
|
import type { ClientAttribution } from "./intern/client-attribution.js";
|
|
16
|
+
import type { MapsGuestCaps } from "./intern/places-google.js";
|
|
16
17
|
import type { VerifySessionToken } from "./public/github-setup.js";
|
|
17
18
|
export type { VibesApiTables };
|
|
18
19
|
export interface DoInstanceIdentity {
|
|
@@ -73,6 +74,12 @@ export interface VibesApiSQLCtx {
|
|
|
73
74
|
posthogKey?: string;
|
|
74
75
|
posthogHost?: string;
|
|
75
76
|
prodiaToken?: string;
|
|
77
|
+
geoapifyKey?: string;
|
|
78
|
+
googlePlacesKey?: string;
|
|
79
|
+
googleMapsBrowserKey?: string;
|
|
80
|
+
googleMapsMapId: string;
|
|
81
|
+
mapsGuestCaps: MapsGuestCaps;
|
|
82
|
+
placesFetch: typeof fetch;
|
|
76
83
|
inceptionApiKey?: string;
|
|
77
84
|
clerkSecretKey?: string;
|
|
78
85
|
verifySessionToken?: VerifySessionToken;
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../jsr/types.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../jsr/types.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAS/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAwa1D,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,CACzC,IAAI,CAAC;IACH,IAAI,EAAE,+BAA+B;IACrC,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,QAAQ;IACrB,MAAM,EAAE,QAAQ;CACjB,CAAC,CACH,CAAC;AAGF,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC1C,IAAI,CAAC;IACH,IAAI,EAAE,8BAA8B;IACpC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAOhB,cAAc,EAAE,SAAS;CAC1B,CAAC,CACH,CAAC;AAGF,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC5C,IAAI,CAAC;IACH,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,cAAc;CACxB,CAAC,CACH,CAAC;AAGF,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC"}
|