@vibes.diy/api-svc 4.0.9 → 4.0.11
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/autumn.config.d.ts +32 -0
- package/autumn.config.js +26 -0
- package/autumn.config.js.map +1 -0
- package/billing.d.ts +35 -0
- package/billing.js +97 -0
- package/billing.js.map +1 -0
- package/create-handler.d.ts +2 -0
- package/create-handler.js +13 -1
- package/create-handler.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/intern/attempt-backend-fetch.js +3 -0
- package/intern/attempt-backend-fetch.js.map +1 -1
- package/intern/attempt-backend-onchange.js +3 -0
- package/intern/attempt-backend-onchange.js.map +1 -1
- package/intern/attempt-backend-scheduled.js +3 -0
- package/intern/attempt-backend-scheduled.js.map +1 -1
- package/intern/load-vibe-secrets.d.ts +2 -0
- package/intern/load-vibe-secrets.js +17 -0
- package/intern/load-vibe-secrets.js.map +1 -0
- package/package.json +13 -13
- package/public/ensure-app-settings.d.ts +1 -0
- package/public/ensure-app-settings.js +88 -1
- package/public/ensure-app-settings.js.map +1 -1
- package/public/prompt-chat-section.js +29 -0
- package/public/prompt-chat-section.js.map +1 -1
- package/types.d.ts +2 -0
- package/types.js.map +1 -1
- package/usage-report/inspect-db-report.js +2 -1
- package/usage-report/inspect-db-report.js.map +1 -1
- package/usage-report/scrub-settings.d.ts +3 -0
- package/usage-report/scrub-settings.js +16 -0
- package/usage-report/scrub-settings.js.map +1 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
interface AutumnFeature {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
type: "metered";
|
|
5
|
+
consumable: boolean;
|
|
6
|
+
}
|
|
7
|
+
interface AutumnItem {
|
|
8
|
+
featureId: string;
|
|
9
|
+
included: number;
|
|
10
|
+
reset?: {
|
|
11
|
+
interval: "month";
|
|
12
|
+
};
|
|
13
|
+
price?: {
|
|
14
|
+
amount: number;
|
|
15
|
+
billingMethod: "usage_based";
|
|
16
|
+
billingUnits: number;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
interface AutumnPlan {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
autoEnable?: boolean;
|
|
23
|
+
price?: {
|
|
24
|
+
amount: number;
|
|
25
|
+
interval: "month";
|
|
26
|
+
};
|
|
27
|
+
items: AutumnItem[];
|
|
28
|
+
}
|
|
29
|
+
export declare const aiCredits: AutumnFeature;
|
|
30
|
+
export declare const free: AutumnPlan;
|
|
31
|
+
export declare const pro: AutumnPlan;
|
|
32
|
+
export {};
|
package/autumn.config.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const aiCredits = {
|
|
2
|
+
id: "ai_credits",
|
|
3
|
+
name: "AI Credits",
|
|
4
|
+
type: "metered",
|
|
5
|
+
consumable: true,
|
|
6
|
+
};
|
|
7
|
+
export const free = {
|
|
8
|
+
id: "free",
|
|
9
|
+
name: "Free",
|
|
10
|
+
autoEnable: true,
|
|
11
|
+
items: [{ featureId: aiCredits.id, included: 250, reset: { interval: "month" } }],
|
|
12
|
+
};
|
|
13
|
+
export const pro = {
|
|
14
|
+
id: "pro",
|
|
15
|
+
name: "Vibes Pro",
|
|
16
|
+
price: { amount: 5, interval: "month" },
|
|
17
|
+
items: [
|
|
18
|
+
{
|
|
19
|
+
featureId: aiCredits.id,
|
|
20
|
+
included: 1000,
|
|
21
|
+
reset: { interval: "month" },
|
|
22
|
+
price: { amount: 0.02, billingMethod: "usage_based", billingUnits: 1 },
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=autumn.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autumn.config.js","sourceRoot":"","sources":["../jsr/autumn.config.ts"],"names":[],"mappings":"AAkCA,MAAM,CAAC,MAAM,SAAS,GAAkB;IACtC,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAe;IAC9B,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;CAClF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAe;IAC7B,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;IACvC,KAAK,EAAE;QACL;YACE,SAAS,EAAE,SAAS,CAAC,EAAE;YACvB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC5B,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,EAAE;SACvE;KACF;CACF,CAAC"}
|
package/billing.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Logger, Result } from "@adviser/cement";
|
|
2
|
+
export declare const AI_CREDITS_FEATURE_ID = "ai_credits";
|
|
3
|
+
export declare function costCentsFromUsage(usage: {
|
|
4
|
+
readonly given: readonly object[];
|
|
5
|
+
readonly calculated: {
|
|
6
|
+
readonly total_tokens: number;
|
|
7
|
+
};
|
|
8
|
+
}): number;
|
|
9
|
+
export interface BillingTrackArgs {
|
|
10
|
+
readonly userId: string;
|
|
11
|
+
readonly costCents: number;
|
|
12
|
+
readonly promptId: string;
|
|
13
|
+
readonly model?: string;
|
|
14
|
+
readonly mode?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface BillingCheckResult {
|
|
17
|
+
readonly allowed: boolean;
|
|
18
|
+
readonly remainingCents?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface BillingIf {
|
|
21
|
+
readonly enforceEnabled: boolean;
|
|
22
|
+
trackUsage(args: BillingTrackArgs): Promise<Result<void>>;
|
|
23
|
+
checkCredits(args: {
|
|
24
|
+
readonly userId: string;
|
|
25
|
+
}): Promise<Result<BillingCheckResult>>;
|
|
26
|
+
}
|
|
27
|
+
export declare function disabledBilling(): BillingIf;
|
|
28
|
+
export declare function defaultBilling(opts: {
|
|
29
|
+
readonly secretKey?: string;
|
|
30
|
+
readonly track?: string;
|
|
31
|
+
readonly enforce?: string;
|
|
32
|
+
readonly logger: Logger;
|
|
33
|
+
readonly fetch?: typeof fetch;
|
|
34
|
+
readonly baseUrl?: string;
|
|
35
|
+
}): BillingIf;
|
package/billing.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { exception2Result, Result } from "@adviser/cement";
|
|
2
|
+
export const AI_CREDITS_FEATURE_ID = "ai_credits";
|
|
3
|
+
const FALLBACK_USD_PER_MTOK = 5;
|
|
4
|
+
export function costCentsFromUsage(usage) {
|
|
5
|
+
let usd = 0;
|
|
6
|
+
let sawCost = false;
|
|
7
|
+
for (const g of usage.given) {
|
|
8
|
+
const cost = g.cost;
|
|
9
|
+
if (typeof cost === "number" && Number.isFinite(cost) && cost >= 0) {
|
|
10
|
+
usd += cost;
|
|
11
|
+
sawCost = true;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
if (sawCost === false) {
|
|
15
|
+
usd = (usage.calculated.total_tokens / 1_000_000) * FALLBACK_USD_PER_MTOK;
|
|
16
|
+
}
|
|
17
|
+
return Math.max(0, Math.round(usd * 100));
|
|
18
|
+
}
|
|
19
|
+
export function disabledBilling() {
|
|
20
|
+
return {
|
|
21
|
+
enforceEnabled: false,
|
|
22
|
+
trackUsage: () => Promise.resolve(Result.Ok(undefined)),
|
|
23
|
+
checkCredits: () => Promise.resolve(Result.Ok({ allowed: true })),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
const AUTUMN_API_BASE = "https://api.useautumn.com/v1";
|
|
27
|
+
export function defaultBilling(opts) {
|
|
28
|
+
const secretKey = opts.secretKey;
|
|
29
|
+
if (secretKey === undefined || secretKey === "" || opts.track !== "on") {
|
|
30
|
+
return disabledBilling();
|
|
31
|
+
}
|
|
32
|
+
const baseUrl = opts.baseUrl ?? AUTUMN_API_BASE;
|
|
33
|
+
const doFetch = opts.fetch ?? ((input, init) => fetch(input, init));
|
|
34
|
+
const post = (path, body) => exception2Result(async () => {
|
|
35
|
+
const res = await doFetch(`${baseUrl}${path}`, {
|
|
36
|
+
method: "POST",
|
|
37
|
+
headers: {
|
|
38
|
+
"content-type": "application/json",
|
|
39
|
+
authorization: `Bearer ${secretKey}`,
|
|
40
|
+
"x-api-version": "2.3.0",
|
|
41
|
+
},
|
|
42
|
+
body: JSON.stringify(body),
|
|
43
|
+
});
|
|
44
|
+
const json = (await res.json().catch(() => ({})));
|
|
45
|
+
return { status: res.status, json };
|
|
46
|
+
});
|
|
47
|
+
function isCustomerNotFound(r) {
|
|
48
|
+
return r.status >= 400 && JSON.stringify(r.json).includes("customer_not_found");
|
|
49
|
+
}
|
|
50
|
+
async function postWithCustomerRetry(path, body, userId) {
|
|
51
|
+
const first = await post(path, body);
|
|
52
|
+
if (first.isErr() || isCustomerNotFound(first.Ok()) === false) {
|
|
53
|
+
return first;
|
|
54
|
+
}
|
|
55
|
+
const rCreate = await post("/customers.get_or_create", { customer_id: userId });
|
|
56
|
+
if (rCreate.isErr()) {
|
|
57
|
+
return rCreate;
|
|
58
|
+
}
|
|
59
|
+
return post(path, body);
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
enforceEnabled: opts.enforce === "on",
|
|
63
|
+
async trackUsage({ userId, costCents, promptId, model, mode }) {
|
|
64
|
+
const r = await postWithCustomerRetry("/balances.track", {
|
|
65
|
+
customer_id: userId,
|
|
66
|
+
feature_id: AI_CREDITS_FEATURE_ID,
|
|
67
|
+
value: costCents,
|
|
68
|
+
idempotency_key: promptId,
|
|
69
|
+
properties: {
|
|
70
|
+
...(model !== undefined && model !== "" ? { model } : {}),
|
|
71
|
+
...(mode !== undefined && mode !== "" ? { mode } : {}),
|
|
72
|
+
},
|
|
73
|
+
}, userId);
|
|
74
|
+
if (r.isErr()) {
|
|
75
|
+
return Result.Err(r);
|
|
76
|
+
}
|
|
77
|
+
if (r.Ok().status >= 400) {
|
|
78
|
+
return Result.Err(`autumn track failed: ${r.Ok().status} ${JSON.stringify(r.Ok().json)}`);
|
|
79
|
+
}
|
|
80
|
+
return Result.Ok(undefined);
|
|
81
|
+
},
|
|
82
|
+
async checkCredits({ userId }) {
|
|
83
|
+
const r = await postWithCustomerRetry("/balances.check", { customer_id: userId, feature_id: AI_CREDITS_FEATURE_ID }, userId);
|
|
84
|
+
if (r.isErr()) {
|
|
85
|
+
return Result.Err(r);
|
|
86
|
+
}
|
|
87
|
+
const { status, json } = r.Ok();
|
|
88
|
+
if (status >= 400) {
|
|
89
|
+
return Result.Err(`autumn check failed: ${status} ${JSON.stringify(json)}`);
|
|
90
|
+
}
|
|
91
|
+
const balance = json.balance;
|
|
92
|
+
const remaining = balance !== undefined && balance !== null && typeof balance.remaining === "number" ? balance.remaining : undefined;
|
|
93
|
+
return Result.Ok({ allowed: json.allowed === true, ...(remaining !== undefined ? { remainingCents: remaining } : {}) });
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=billing.js.map
|
package/billing.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../jsr/billing.ts"],"names":[],"mappings":"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"}
|
package/create-handler.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Result, AppContext, TriggerResult, EventoSendProvider, Logger } from "@
|
|
|
2
2
|
import { SuperThis } from "@vibes.diy/identity";
|
|
3
3
|
import { ResolveFunction } from "./npm-package-version.js";
|
|
4
4
|
import { LLMRequest } from "@vibes.diy/call-ai-v2";
|
|
5
|
+
import { BillingIf } from "./billing.js";
|
|
5
6
|
import { WSSendProvider } from "./svc-ws-send-provider.js";
|
|
6
7
|
import { CfCacheIf, VibesApiSQLCtx } from "./types.js";
|
|
7
8
|
import { type AccessDescriptor, type UserContext, type EvtViewerGrantsChanged, type EvtRequestGrant, type EvtUserNotification, LLMHeaders, MsgBase, S3Api, type WorkerLoaderBinding } from "@vibes.diy/api-types";
|
|
@@ -29,6 +30,7 @@ export interface CreateHandlerParams<T extends VibesSqlite> {
|
|
|
29
30
|
}, opts?: {
|
|
30
31
|
readonly signal?: AbortSignal;
|
|
31
32
|
}): Promise<Response>;
|
|
33
|
+
billing?: BillingIf;
|
|
32
34
|
inferenceFetch?: typeof fetch;
|
|
33
35
|
notifyDocChanged?(evt: {
|
|
34
36
|
ownerHandle: string;
|
package/create-handler.js
CHANGED
|
@@ -5,6 +5,7 @@ import { defaultFetchPkgVersion } from "./npm-package-version.js";
|
|
|
5
5
|
import { vibesReqResEvento } from "./vibes-req-res-evento.js";
|
|
6
6
|
import { HTTPSendProvider } from "./svc-http-send-provider.js";
|
|
7
7
|
import { defaultLLMRequest } from "./default-llm-request.js";
|
|
8
|
+
import { defaultBilling } from "./billing.js";
|
|
8
9
|
import { LLMEnforced, LLMHeaders, } from "@vibes.diy/api-types";
|
|
9
10
|
import { createSQLPeer, createVibesApiTables, toDBFlavour } from "@vibes.diy/api-sql";
|
|
10
11
|
import { ensureStorage } from "@vibes.diy/api-pkg";
|
|
@@ -42,6 +43,9 @@ export async function createAppContext(params) {
|
|
|
42
43
|
VIBES_DIY_PUBLIC_BASE_URL: param.REQUIRED,
|
|
43
44
|
VIBES_DIY_FROM_EMAIL: "no-reply@vibes.diy",
|
|
44
45
|
PRODIA_TOKEN: param.OPTIONAL,
|
|
46
|
+
AUTUMN_SECRET_KEY: param.OPTIONAL,
|
|
47
|
+
AUTUMN_TRACK: param.OPTIONAL,
|
|
48
|
+
AUTUMN_ENFORCE: param.OPTIONAL,
|
|
45
49
|
META_ACCESS_TOKEN: param.OPTIONAL,
|
|
46
50
|
META_AD_ACCOUNT_ID: param.OPTIONAL,
|
|
47
51
|
META_PIXEL_ID: param.OPTIONAL,
|
|
@@ -144,9 +148,10 @@ export async function createAppContext(params) {
|
|
|
144
148
|
if (rAssetSessionSigner.isErr()) {
|
|
145
149
|
throw rAssetSessionSigner.Err();
|
|
146
150
|
}
|
|
151
|
+
const logger = params.logger ?? ensureLogger(sthis, "VibesApiSQLCtx");
|
|
147
152
|
const vibesCtx = {
|
|
148
153
|
sthis,
|
|
149
|
-
logger
|
|
154
|
+
logger,
|
|
150
155
|
sql: { db: params.db, tables, flavour: toDBFlavour(envVals.DB_FLAVOUR) },
|
|
151
156
|
netHash: params.netHash,
|
|
152
157
|
cache: params.cache,
|
|
@@ -172,6 +177,13 @@ export async function createAppContext(params) {
|
|
|
172
177
|
url: envVals.LLM_BACKEND_URL,
|
|
173
178
|
apiKey: envVals.LLM_BACKEND_API_KEY,
|
|
174
179
|
}),
|
|
180
|
+
billing: params.billing ??
|
|
181
|
+
defaultBilling({
|
|
182
|
+
secretKey: envVals.AUTUMN_SECRET_KEY,
|
|
183
|
+
track: envVals.AUTUMN_TRACK,
|
|
184
|
+
enforce: envVals.AUTUMN_ENFORCE,
|
|
185
|
+
logger,
|
|
186
|
+
}),
|
|
175
187
|
inferenceFetch: params.inferenceFetch ?? ((input, init) => fetch(input, init)),
|
|
176
188
|
prodiaToken: envVals.PRODIA_TOKEN,
|
|
177
189
|
metaAccessToken: envVals.META_ACCESS_TOKEN,
|
package/create-handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../jsr/create-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,EAAE,UAAU,EAA6C,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAAE,YAAY,EAAa,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAmB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../jsr/create-handler.ts"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { exception2Result } from "@adviser/cement";
|
|
2
2
|
import { parseBackendJsMode, selectBackendExecutor } from "@vibes.diy/vibe-runtime/backend-executor.js";
|
|
3
3
|
import { loadSelectedBackend } from "./load-selected-backend.js";
|
|
4
|
+
import { loadVibeSecrets } from "./load-vibe-secrets.js";
|
|
4
5
|
import { makeBackendDbCallback, resolveBackendWriteIdentity } from "./backend-db-callback.js";
|
|
5
6
|
export async function attemptBackendFetch(vctx, input) {
|
|
6
7
|
const rExec = exception2Result(() => selectBackendExecutor(parseBackendJsMode(input.backendJs), {
|
|
@@ -24,12 +25,14 @@ export async function attemptBackendFetch(vctx, input) {
|
|
|
24
25
|
userId: input.userId ?? null,
|
|
25
26
|
});
|
|
26
27
|
const db = makeBackendDbCallback(vctx, { ownerHandle: input.ownerHandle, appSlug: input.appSlug, identity, originDepth: 0 });
|
|
28
|
+
const secrets = await loadVibeSecrets(vctx, input.ownerHandle, input.appSlug);
|
|
27
29
|
const rRes = await exception2Result(async () => {
|
|
28
30
|
const payload = await serializeRequest(input.request);
|
|
29
31
|
return executor.invoke({
|
|
30
32
|
source: loaded.source,
|
|
31
33
|
handler: "fetch",
|
|
32
34
|
trigger: { userHandle: identity.userContext?.userHandle ?? input.userHandle ?? null, payload },
|
|
35
|
+
secrets,
|
|
33
36
|
db,
|
|
34
37
|
dbFetcher: input.dbFetcher,
|
|
35
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attempt-backend-fetch.js","sourceRoot":"","sources":["../../jsr/intern/attempt-backend-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAwB,MAAM,6CAA6C,CAAC;AAG9H,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAkE9F,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAoB,EAAE,KAA+B;IAG7F,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAgC,EAAE,CAC/D,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACzD,MAAM,EAAE,KAAK,CAAC,MAAyC;QACvD,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KACjE,CAAC,CACH,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;IACjG,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAKlE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAIjD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAKrF,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE;QACvD,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;KAC7B,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"attempt-backend-fetch.js","sourceRoot":"","sources":["../../jsr/intern/attempt-backend-fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { exception2Result } from "@adviser/cement";
|
|
2
2
|
import { parseBackendJsMode, selectBackendExecutor } from "@vibes.diy/vibe-runtime/backend-executor.js";
|
|
3
3
|
import { loadSelectedBackend } from "./load-selected-backend.js";
|
|
4
|
+
import { loadVibeSecrets } from "./load-vibe-secrets.js";
|
|
4
5
|
import { makeBackendDbCallback, resolveBackendWriteIdentity } from "./backend-db-callback.js";
|
|
5
6
|
export async function attemptBackendOnChange(vctx, input) {
|
|
6
7
|
const rExec = exception2Result(() => selectBackendExecutor(parseBackendJsMode(input.backendJs), {
|
|
@@ -28,6 +29,7 @@ export async function attemptBackendOnChange(vctx, input) {
|
|
|
28
29
|
identity,
|
|
29
30
|
originDepth: input.depth ?? 0,
|
|
30
31
|
});
|
|
32
|
+
const secrets = await loadVibeSecrets(vctx, input.ownerHandle, input.appSlug);
|
|
31
33
|
const rRes = await exception2Result(async () => executor.invoke({
|
|
32
34
|
source: loaded.source,
|
|
33
35
|
handler: "onChange",
|
|
@@ -42,6 +44,7 @@ export async function attemptBackendOnChange(vctx, input) {
|
|
|
42
44
|
deleted: input.deleted,
|
|
43
45
|
},
|
|
44
46
|
},
|
|
47
|
+
secrets,
|
|
45
48
|
db,
|
|
46
49
|
dbFetcher: input.dbFetcher,
|
|
47
50
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attempt-backend-onchange.js","sourceRoot":"","sources":["../../jsr/intern/attempt-backend-onchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAwB,MAAM,6CAA6C,CAAC;AAG9H,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AA4D9F,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAoB,EAAE,KAAkC;IACnG,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAgC,EAAE,CAC/D,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACzD,MAAM,EAAE,KAAK,CAAC,MAAyC;QACvD,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KACjE,CAAC,CACH,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAE/D,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IACvD,CAAC;IAMD,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE;QACvD,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;KACnC,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE;QACrC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ;QACR,WAAW,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;KAC9B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"attempt-backend-onchange.js","sourceRoot":"","sources":["../../jsr/intern/attempt-backend-onchange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { exception2Result } from "@adviser/cement";
|
|
2
2
|
import { parseBackendJsMode, selectBackendExecutor } from "@vibes.diy/vibe-runtime/backend-executor.js";
|
|
3
3
|
import { loadSelectedBackend } from "./load-selected-backend.js";
|
|
4
|
+
import { loadVibeSecrets } from "./load-vibe-secrets.js";
|
|
4
5
|
import { makeBackendDbCallback, resolveOwnerWriteIdentity } from "./backend-db-callback.js";
|
|
5
6
|
export async function attemptBackendScheduled(vctx, input) {
|
|
6
7
|
const rExec = exception2Result(() => selectBackendExecutor(parseBackendJsMode(input.backendJs), {
|
|
@@ -19,10 +20,12 @@ export async function attemptBackendScheduled(vctx, input) {
|
|
|
19
20
|
}
|
|
20
21
|
const identity = await resolveOwnerWriteIdentity(vctx, { ownerHandle: input.ownerHandle, appSlug: input.appSlug });
|
|
21
22
|
const db = makeBackendDbCallback(vctx, { ownerHandle: input.ownerHandle, appSlug: input.appSlug, identity, originDepth: 0 });
|
|
23
|
+
const secrets = await loadVibeSecrets(vctx, input.ownerHandle, input.appSlug);
|
|
22
24
|
const rRes = await exception2Result(async () => executor.invoke({
|
|
23
25
|
source: loaded.source,
|
|
24
26
|
handler: "scheduled",
|
|
25
27
|
trigger: { userHandle: input.ownerHandle, payload: { scheduledTime: input.scheduledTime } },
|
|
28
|
+
secrets,
|
|
26
29
|
db,
|
|
27
30
|
dbFetcher: input.dbFetcher,
|
|
28
31
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attempt-backend-scheduled.js","sourceRoot":"","sources":["../../jsr/intern/attempt-backend-scheduled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAwB,MAAM,6CAA6C,CAAC;AAG9H,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAsC5F,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAoB,EACpB,KAAmC;IAEnC,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAgC,EAAE,CAC/D,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACzD,MAAM,EAAE,KAAK,CAAC,MAAyC;QACvD,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KACjE,CAAC,CACH,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAGhE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAC/C,CAAC;IAID,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnH,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"attempt-backend-scheduled.js","sourceRoot":"","sources":["../../jsr/intern/attempt-backend-scheduled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAwB,MAAM,6CAA6C,CAAC;AAG9H,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAsC5F,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAoB,EACpB,KAAmC;IAEnC,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAgC,EAAE,CAC/D,qBAAqB,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QACzD,MAAM,EAAE,KAAK,CAAC,MAAyC;QACvD,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KACjE,CAAC,CACH,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAGhE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAC/C,CAAC;IAID,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnH,MAAM,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IAG7H,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAE9E,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAC7C,QAAQ,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,EAAE;QAC3F,OAAO;QACP,EAAE;QACF,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CACH,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAGjE,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC5E,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { isActiveSecret } from "@vibes.diy/api-types";
|
|
2
|
+
import { eq, and } from "drizzle-orm/sql/expressions";
|
|
3
|
+
export async function loadVibeSecrets(vctx, ownerHandle, appSlug) {
|
|
4
|
+
const rows = await vctx.sql.db
|
|
5
|
+
.select({ settings: vctx.sql.tables.appSettings.settings })
|
|
6
|
+
.from(vctx.sql.tables.appSettings)
|
|
7
|
+
.where(and(eq(vctx.sql.tables.appSettings.ownerHandle, ownerHandle), eq(vctx.sql.tables.appSettings.appSlug, appSlug)))
|
|
8
|
+
.limit(1);
|
|
9
|
+
const entries = rows[0]?.settings ?? [];
|
|
10
|
+
const out = {};
|
|
11
|
+
for (const e of entries) {
|
|
12
|
+
if (isActiveSecret(e))
|
|
13
|
+
out[e.key] = e.value;
|
|
14
|
+
}
|
|
15
|
+
return out;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=load-vibe-secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-vibe-secrets.js","sourceRoot":"","sources":["../../jsr/intern/load-vibe-secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAWtD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAoB,EAAE,WAAmB,EAAE,OAAe;IAC9F,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;SAC3B,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;SAC1D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;SACjC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;SACtH,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,MAAM,OAAO,GAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAkC,IAAI,EAAE,CAAC;IACnE,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,cAAc,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/api-svc",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -17,20 +17,20 @@
|
|
|
17
17
|
"@libsql/client": "~0.17.4",
|
|
18
18
|
"@neondatabase/serverless": "~1.1.0",
|
|
19
19
|
"@noble/hashes": "~2.2.0",
|
|
20
|
-
"@vibes.diy/api-impl": "4.0.
|
|
21
|
-
"@vibes.diy/api-pkg": "4.0.
|
|
22
|
-
"@vibes.diy/api-sql": "4.0.
|
|
23
|
-
"@vibes.diy/api-types": "4.0.
|
|
24
|
-
"@vibes.diy/call-ai-v2": "4.0.
|
|
25
|
-
"@vibes.diy/identity": "4.0.
|
|
26
|
-
"@vibes.diy/prompts": "4.0.
|
|
27
|
-
"@vibes.diy/use-vibes-base": "4.0.
|
|
28
|
-
"@vibes.diy/vibe-db-explorer": "4.0.
|
|
29
|
-
"@vibes.diy/vibe-runtime": "4.0.
|
|
30
|
-
"@vibes.diy/vibe-types": "4.0.
|
|
20
|
+
"@vibes.diy/api-impl": "4.0.11",
|
|
21
|
+
"@vibes.diy/api-pkg": "4.0.11",
|
|
22
|
+
"@vibes.diy/api-sql": "4.0.11",
|
|
23
|
+
"@vibes.diy/api-types": "4.0.11",
|
|
24
|
+
"@vibes.diy/call-ai-v2": "4.0.11",
|
|
25
|
+
"@vibes.diy/identity": "4.0.11",
|
|
26
|
+
"@vibes.diy/prompts": "4.0.11",
|
|
27
|
+
"@vibes.diy/use-vibes-base": "4.0.11",
|
|
28
|
+
"@vibes.diy/vibe-db-explorer": "4.0.11",
|
|
29
|
+
"@vibes.diy/vibe-runtime": "4.0.11",
|
|
30
|
+
"@vibes.diy/vibe-types": "4.0.11",
|
|
31
31
|
"acorn": "~8.17.0",
|
|
32
32
|
"arktype": "~2.2.1",
|
|
33
|
-
"call-ai": "4.0.
|
|
33
|
+
"call-ai": "4.0.11",
|
|
34
34
|
"cookie": "~1.1.1",
|
|
35
35
|
"drizzle-orm": "~0.45.2",
|
|
36
36
|
"jose": "~6.2.2",
|
|
@@ -2,5 +2,6 @@ import { EventoHandler, Result } from "@adviser/cement";
|
|
|
2
2
|
import { ActiveEntry, AppSettings, MsgBase, ReqEnsureAppSettings, ResEnsureAppSettings, VibesDiyError, W3CWebSocketEvent } from "@vibes.diy/api-types";
|
|
3
3
|
import { VibesApiSQLCtx } from "../types.js";
|
|
4
4
|
export declare function buildEnsureEntryResult(entries: ActiveEntry[]): AppSettings;
|
|
5
|
+
export declare function redactSecretEntries(s: AppSettings): AppSettings;
|
|
5
6
|
export declare function ensureAppSettings(vctx: VibesApiSQLCtx, req: ReqEnsureAppSettings, userId?: string): Promise<Result<ResEnsureAppSettings>>;
|
|
6
7
|
export declare const ensureAppSettingsEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqEnsureAppSettings>, ResEnsureAppSettings | VibesDiyError>;
|