@vibes.diy/api-svc 3.0.0 → 3.0.2

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.
@@ -1,5 +1,5 @@
1
1
  import { PROBE_MODES, shardsForReq } from "@vibes.diy/api-types";
2
- import { gated } from "./shard-gate.js";
2
+ import { gated, admissionGated } from "./shard-gate.js";
3
3
  import { ensureAppSlugItemEvento } from "./public/ensure-app-slug-item.js";
4
4
  import { openChat } from "./public/open-chat.js";
5
5
  import { promptChatSection } from "./public/prompt-chat-section.js";
@@ -9,6 +9,7 @@ import { pinRecentVibeEvento } from "./public/pin-recent-vibe.js";
9
9
  import { setUnpublishEvento } from "./public/set-unpublish.js";
10
10
  import { getChatDetailsEvento } from "./public/get-chat-details.js";
11
11
  import { getChatResponseEvento } from "./public/get-chat-response.js";
12
+ import { getVibeChipsEvento } from "./public/get-vibe-chips.js";
12
13
  import { getAppByFsIdEvento } from "./public/get-app-by-fsid.js";
13
14
  import { ensureUserSettingsEvento } from "./public/ensure-user-settings.js";
14
15
  import { ensureHandleAvatarEvento } from "./public/ensure-handle-avatar.js";
@@ -85,6 +86,7 @@ export const handlerManifest = [
85
86
  entry("vibes.diy.req-report-campaign-ad-previews", reportCampaignAdPreviewsEvento),
86
87
  entry("vibes.diy.req-get-chat-details", getChatDetailsEvento),
87
88
  entry("vibes.diy.req-get-chat-response", getChatResponseEvento),
89
+ entry("vibes.diy.req-get-vibe-chips", getVibeChipsEvento),
88
90
  entry("vibes.diy.req-list-application-chats", listApplicationChats),
89
91
  entry("vibes.diy.req-list-codegen-chats", listCodegenChats),
90
92
  entry("vibes.diy.req-get-application-chat", getApplicationChatEvento),
@@ -109,6 +111,11 @@ export function allowedKinds(reqType) {
109
111
  return KINDS.filter((k) => PROBE_MODES.some((mode) => shardsForReq(reqType, { mode }).includes(k)));
110
112
  }
111
113
  export function handlersForShard(kind) {
112
- return handlerManifest.filter((e) => allowedKinds(e.reqType).includes(kind)).map((e) => gated(e.reqType, e.handler));
114
+ return handlerManifest
115
+ .filter((e) => allowedKinds(e.reqType).includes(kind))
116
+ .map((e) => {
117
+ const inner = e.reqType === "vibes.diy.req-prompt-chat-section" ? admissionGated(e.handler) : e.handler;
118
+ return gated(e.reqType, inner);
119
+ });
113
120
  }
114
121
  //# sourceMappingURL=evento-handler-manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evento-handler-manifest.js","sourceRoot":"","sources":["../jsr/evento-handler-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evento-handler-manifest.js","sourceRoot":"","sources":["../jsr/evento-handler-manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgC,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChI,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAmBzF,SAAS,KAAK,CAAC,OAAgB,EAAE,OAAsB;IACrD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAiBD,MAAM,CAAC,MAAM,eAAe,GAAoC;IAG9D,KAAK,CAAC,uCAAuC,EAAE,yBAAyB,CAAC;IACzE,KAAK,CAAC,iCAAiC,EAAE,qBAAqB,CAAC;IAC/D,KAAK,CAAC,+BAA+B,EAAE,mBAAmB,CAAC;IAC3D,KAAK,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;IACxD,KAAK,CAAC,+BAA+B,EAAE,kBAAkB,CAAC;IAC1D,KAAK,CAAC,mCAAmC,EAAE,uBAAuB,CAAC;IACnE,KAAK,CAAC,oCAAoC,EAAE,wBAAwB,CAAC;IACrE,KAAK,CAAC,oCAAoC,EAAE,wBAAwB,CAAC;IACrE,KAAK,CAAC,2BAA2B,EAAE,gBAAgB,CAAC;IAEpD,KAAK,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;IACxD,KAAK,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;IACxD,KAAK,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;IACxD,KAAK,CAAC,iCAAiC,EAAE,qBAAqB,CAAC;IAC/D,KAAK,CAAC,+BAA+B,EAAE,mBAAmB,CAAC;IAC3D,KAAK,CAAC,kCAAkC,EAAE,sBAAsB,CAAC;IACjE,KAAK,CAAC,8BAA8B,EAAE,mBAAmB,CAAC;IAC1D,KAAK,CAAC,kCAAkC,EAAE,sBAAsB,CAAC;IACjE,KAAK,CAAC,+BAA+B,EAAE,oBAAoB,CAAC;IAC5D,KAAK,CAAC,gCAAgC,EAAE,oBAAoB,CAAC;IAC7D,KAAK,CAAC,8BAA8B,EAAE,mBAAmB,CAAC;IAC1D,KAAK,CAAC,mCAAmC,EAAE,uBAAuB,CAAC;IACnE,KAAK,CAAC,wCAAwC,EAAE,4BAA4B,CAAC;IAC7E,KAAK,CAAC,4BAA4B,EAAE,iBAAiB,CAAC;IACtD,KAAK,CAAC,gCAAgC,EAAE,qBAAqB,CAAC;IAC9D,KAAK,CAAC,iBAAiB,EAAE,YAAY,CAAC;IACtC,KAAK,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;IACtD,KAAK,CAAC,4CAA4C,EAAE,gCAAgC,CAAC;IAKrF,KAAK,CAAC,+BAA+B,EAAE,mBAAmB,CAAC;IAC3D,KAAK,CAAC,kCAAkC,EAAE,sBAAsB,CAAC;IAGjE,KAAK,CAAC,uCAAuC,EAAE,wBAAwB,CAAC;IACxE,KAAK,CAAC,wCAAwC,EAAE,yBAAyB,CAAC;IAC1E,KAAK,CAAC,wCAAwC,EAAE,yBAAyB,CAAC;IAC1E,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IAC7C,KAAK,CAAC,yCAAyC,EAAE,6BAA6B,CAAC;IAC/E,KAAK,CAAC,6CAA6C,EAAE,+BAA+B,CAAC;IACrF,KAAK,CAAC,qCAAqC,EAAE,yBAAyB,CAAC;IACvE,KAAK,CAAC,2CAA2C,EAAE,6BAA6B,CAAC;IACjF,KAAK,CAAC,4CAA4C,EAAE,gCAAgC,CAAC;IACrF,KAAK,CAAC,sCAAsC,EAAE,0BAA0B,CAAC;IACzE,KAAK,CAAC,2CAA2C,EAAE,8BAA8B,CAAC;IAKlF,KAAK,CAAC,gCAAgC,EAAE,oBAAoB,CAAC;IAC7D,KAAK,CAAC,iCAAiC,EAAE,qBAAqB,CAAC;IAC/D,KAAK,CAAC,8BAA8B,EAAE,kBAAkB,CAAC;IACzD,KAAK,CAAC,sCAAsC,EAAE,oBAAoB,CAAC;IACnE,KAAK,CAAC,kCAAkC,EAAE,gBAAgB,CAAC;IAC3D,KAAK,CAAC,oCAAoC,EAAE,wBAAwB,CAAC;IAMrE,KAAK,CAAC,uBAAuB,EAAE,YAAY,CAAC;IAC5C,KAAK,CAAC,uBAAuB,EAAE,YAAY,CAAC;IAC5C,KAAK,CAAC,0BAA0B,EAAE,eAAe,CAAC;IAClD,KAAK,CAAC,0BAA0B,EAAE,eAAe,CAAC;IAClD,KAAK,CAAC,8BAA8B,EAAE,mBAAmB,CAAC;IAC1D,KAAK,CAAC,uCAAuC,EAAE,2BAA2B,CAAC;IAC3E,KAAK,CAAC,6BAA6B,EAAE,iBAAiB,CAAC;IACvD,KAAK,CAAC,4BAA4B,EAAE,gBAAgB,CAAC;IAKrD,KAAK,CAAC,+BAA+B,EAAE,uBAAuB,CAAC;IAC/D,KAAK,CAAC,yBAAyB,EAAE,QAAQ,CAAC;IAC1C,KAAK,CAAC,mCAAmC,EAAE,iBAAiB,CAAC;IAC7D,KAAK,CAAC,wBAAwB,EAAE,aAAa,CAAC;IAC9C,KAAK,CAAC,2BAA2B,EAAE,gBAAgB,CAAC;IACpD,KAAK,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;IACxD,KAAK,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;CACtD,CAAC;AAKF,MAAM,KAAK,GAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAWlE,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC;AAQD,MAAM,UAAU,gBAAgB,CAAC,IAAe;IAU9C,OAAO,eAAe;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACrD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,KAAK,mCAAmC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACxG,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-svc",
3
- "version": "3.0.0",
3
+ "version": "3.0.2",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -22,19 +22,19 @@
22
22
  "@libsql/client": "~0.17.3",
23
23
  "@neondatabase/serverless": "~1.1.0",
24
24
  "@noble/hashes": "~2.2.0",
25
- "@vibes.diy/api-impl": "3.0.0",
26
- "@vibes.diy/api-pkg": "3.0.0",
27
- "@vibes.diy/api-sql": "3.0.0",
28
- "@vibes.diy/api-types": "3.0.0",
29
- "@vibes.diy/call-ai-v2": "3.0.0",
30
- "@vibes.diy/identity": "3.0.0",
31
- "@vibes.diy/prompts": "3.0.0",
32
- "@vibes.diy/use-vibes-base": "3.0.0",
33
- "@vibes.diy/vibe-db-explorer": "3.0.0",
34
- "@vibes.diy/vibe-types": "3.0.0",
25
+ "@vibes.diy/api-impl": "3.0.2",
26
+ "@vibes.diy/api-pkg": "3.0.2",
27
+ "@vibes.diy/api-sql": "3.0.2",
28
+ "@vibes.diy/api-types": "3.0.2",
29
+ "@vibes.diy/call-ai-v2": "3.0.2",
30
+ "@vibes.diy/identity": "3.0.2",
31
+ "@vibes.diy/prompts": "3.0.2",
32
+ "@vibes.diy/use-vibes-base": "3.0.2",
33
+ "@vibes.diy/vibe-db-explorer": "3.0.2",
34
+ "@vibes.diy/vibe-types": "3.0.2",
35
35
  "acorn": "~8.17.0",
36
36
  "arktype": "~2.2.1",
37
- "call-ai": "3.0.0",
37
+ "call-ai": "3.0.2",
38
38
  "cookie": "~1.1.1",
39
39
  "drizzle-orm": "~0.45.2",
40
40
  "jose": "~6.2.2",
@@ -0,0 +1,3 @@
1
+ import { EventoHandler } from "@adviser/cement";
2
+ import { MsgBase, ReqGetVibeChips, ResGetVibeChips, VibesDiyError, W3CWebSocketEvent } from "@vibes.diy/api-types";
3
+ export declare const getVibeChipsEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqGetVibeChips>, ResGetVibeChips | VibesDiyError>;
@@ -0,0 +1,109 @@
1
+ import { Result, Option, EventoResult } from "@adviser/cement";
2
+ import { reqGetVibeChips, PromptAndBlockMsgs, parseArrayWarning, latestTurnChips, } from "@vibes.diy/api-types";
3
+ import { type } from "arktype";
4
+ import { ensureLogger } from "@vibes.diy/identity";
5
+ import { unwrapMsgBase } from "../unwrap-msg-base.js";
6
+ import { optAuth } from "../check-auth.js";
7
+ import { isPublicReadable, isWorldReadable, checkDocAccess } from "./access-helpers.js";
8
+ import { selectLatestAppPerSlug } from "./select-app.js";
9
+ import { isHiddenForCaller } from "./unpublished-binding.js";
10
+ import { and, eq } from "drizzle-orm/sql/expressions";
11
+ export const getVibeChipsEvento = {
12
+ hash: "get-vibe-chips",
13
+ validate: unwrapMsgBase(async (msg) => {
14
+ const ret = reqGetVibeChips(msg.payload);
15
+ if (ret instanceof type.errors) {
16
+ return Result.Ok(Option.None());
17
+ }
18
+ return Result.Ok(Option.Some({
19
+ ...msg,
20
+ payload: ret,
21
+ }));
22
+ }),
23
+ handle: optAuth(async (ctx) => {
24
+ const req = ctx.validated.payload;
25
+ const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
26
+ const logger = ensureLogger(vctx.sthis, "getVibeChips");
27
+ const empty = {
28
+ type: "vibes.diy.res-get-vibe-chips",
29
+ ownerHandle: req.ownerHandle,
30
+ appSlug: req.appSlug,
31
+ chips: [],
32
+ };
33
+ const callerUserId = req._auth?.verifiedAuth.claims.userId;
34
+ const app = await selectLatestAppPerSlug(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug });
35
+ let isMember = false;
36
+ if (callerUserId) {
37
+ const { access } = await checkDocAccess(vctx, callerUserId, req.appSlug, req.ownerHandle);
38
+ isMember = access !== "none";
39
+ }
40
+ let publicVisible = false;
41
+ if (!isMember &&
42
+ app &&
43
+ app.mode === "production" &&
44
+ !(await isHiddenForCaller(vctx, {
45
+ ownerHandle: app.ownerHandle,
46
+ appSlug: app.appSlug,
47
+ ownerUserId: app.userId,
48
+ callerUserId,
49
+ }))) {
50
+ publicVisible = callerUserId
51
+ ? await isWorldReadable(vctx, req.appSlug, req.ownerHandle)
52
+ : await isPublicReadable(vctx, req.appSlug, req.ownerHandle);
53
+ }
54
+ if (!isMember && !publicVisible) {
55
+ logger.Debug().Str("ownerHandle", req.ownerHandle).Str("appSlug", req.appSlug).Msg("chips not visible to caller");
56
+ await ctx.send.send(ctx, empty);
57
+ return Result.Ok(EventoResult.Continue);
58
+ }
59
+ const rows = await vctx.sql.db
60
+ .select({
61
+ chatId: vctx.sql.tables.chatSections.chatId,
62
+ promptId: vctx.sql.tables.chatSections.promptId,
63
+ fsId: vctx.sql.tables.promptContexts.fsId,
64
+ promptCreated: vctx.sql.tables.promptContexts.created,
65
+ sectionCreated: vctx.sql.tables.chatSections.created,
66
+ blockSeq: vctx.sql.tables.chatSections.blockSeq,
67
+ blocks: vctx.sql.tables.chatSections.blocks,
68
+ })
69
+ .from(vctx.sql.tables.chatContexts)
70
+ .innerJoin(vctx.sql.tables.chatSections, eq(vctx.sql.tables.chatSections.chatId, vctx.sql.tables.chatContexts.chatId))
71
+ .leftJoin(vctx.sql.tables.promptContexts, and(eq(vctx.sql.tables.promptContexts.chatId, vctx.sql.tables.chatSections.chatId), eq(vctx.sql.tables.promptContexts.promptId, vctx.sql.tables.chatSections.promptId)))
72
+ .where(and(eq(vctx.sql.tables.chatContexts.ownerHandle, req.ownerHandle), eq(vctx.sql.tables.chatContexts.appSlug, req.appSlug)));
73
+ const turns = new Map();
74
+ for (const row of rows) {
75
+ let turn = turns.get(row.promptId);
76
+ if (turn === undefined) {
77
+ turn = {
78
+ chatId: row.chatId,
79
+ promptId: row.promptId,
80
+ created: row.promptCreated ?? row.sectionCreated,
81
+ ...(row.fsId !== undefined && row.fsId !== null ? { fsId: row.fsId } : {}),
82
+ sections: [],
83
+ };
84
+ turns.set(row.promptId, turn);
85
+ }
86
+ const { filtered: blocks, warning } = parseArrayWarning(row.blocks, PromptAndBlockMsgs);
87
+ if (warning.length > 0) {
88
+ logger.Warn().Any({ parseErrors: warning }).Msg("skip");
89
+ }
90
+ const section = { blockSeq: row.blockSeq, blocks };
91
+ turn.sections.push(section);
92
+ }
93
+ for (const turn of turns.values()) {
94
+ turn.sections.sort((a, b) => a.blockSeq - b.blockSeq);
95
+ }
96
+ const orderedTurns = Array.from(turns.values()).sort((a, b) => (a.created < b.created ? 1 : a.created > b.created ? -1 : 0));
97
+ const effectiveFsId = req.fsId ?? app?.fsId;
98
+ const candidateTurns = !isMember && app?.fsId ? orderedTurns.filter((t) => t.fsId === app.fsId) : orderedTurns;
99
+ const chips = latestTurnChips(candidateTurns, effectiveFsId);
100
+ await ctx.send.send(ctx, {
101
+ type: "vibes.diy.res-get-vibe-chips",
102
+ ownerHandle: req.ownerHandle,
103
+ appSlug: req.appSlug,
104
+ chips: [...chips],
105
+ });
106
+ return Result.Ok(EventoResult.Continue);
107
+ }),
108
+ };
109
+ //# sourceMappingURL=get-vibe-chips.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-vibe-chips.js","sourceRoot":"","sources":["../../jsr/public/get-vibe-chips.ts"],"names":[],"mappings":"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"}
package/shard-gate.d.ts CHANGED
@@ -3,3 +3,4 @@ import { type ResError, type ShardIdentity } from "@vibes.diy/api-types";
3
3
  export declare function shardIdentityError(id: ShardIdentity, ownerHandle: string, appSlug: string): Option<ResError>;
4
4
  export declare function gated(reqType: string, handler: EventoHandler): EventoHandler;
5
5
  export declare function assertChatShardIdentity<INREQ, REQ, RES>(ctx: HandleTriggerCtx<INREQ, REQ, RES>, ownerHandle: string, appSlug: string): Option<ResError>;
6
+ export declare function admissionGated(handler: EventoHandler): EventoHandler;
package/shard-gate.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EventoResult, Option, Result } from "@adviser/cement";
2
- import { openVibe, shardsForReq } from "@vibes.diy/api-types";
2
+ import { openVibe, shardsForReq, SHARD_OVERLOADED_CODE, } from "@vibes.diy/api-types";
3
3
  export function shardIdentityError(id, ownerHandle, appSlug) {
4
4
  const expected = openVibe(ownerHandle, appSlug);
5
5
  if (expected === id.shardId)
@@ -62,4 +62,36 @@ export function assertChatShardIdentity(ctx, ownerHandle, appSlug) {
62
62
  return Option.None();
63
63
  return shardIdentityError(id, ownerHandle, appSlug);
64
64
  }
65
+ export function admissionGated(handler) {
66
+ return {
67
+ ...handler,
68
+ handle: async (ctx) => {
69
+ const adm = ctx.ctx.get("codegenAdmission");
70
+ if (adm === undefined) {
71
+ return handler.handle(ctx);
72
+ }
73
+ const enPayload = ctx.enRequest?.payload;
74
+ if (enPayload?.dryRun === true) {
75
+ return handler.handle(ctx);
76
+ }
77
+ if (adm.active >= adm.limit) {
78
+ await ctx.send.send(ctx, {
79
+ type: "vibes.diy.res-error",
80
+ error: {
81
+ message: `codegen shard at capacity (${adm.limit} concurrent streams)`,
82
+ code: SHARD_OVERLOADED_CODE,
83
+ },
84
+ });
85
+ return Result.Ok(EventoResult.Continue);
86
+ }
87
+ adm.active += 1;
88
+ try {
89
+ return await handler.handle(ctx);
90
+ }
91
+ finally {
92
+ adm.active -= 1;
93
+ }
94
+ },
95
+ };
96
+ }
65
97
  //# sourceMappingURL=shard-gate.js.map
package/shard-gate.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"shard-gate.js","sourceRoot":"","sources":["../jsr/shard-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shard-gate.js","sourceRoot":"","sources":["../jsr/shard-gate.ts"],"names":[],"mappings":"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"}