@vibes.diy/api-types 4.5.5 → 5.0.1

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.
@@ -0,0 +1,78 @@
1
+ export declare const billingAutoRefill: import("arktype/internal/variants/object.ts").ObjectType<{
2
+ enabled: boolean;
3
+ threshold: number;
4
+ reloadUsd: number;
5
+ capUsd: number;
6
+ }, {}>;
7
+ export type BillingAutoRefill = typeof billingAutoRefill.infer;
8
+ export declare const reqBillingCustomer: import("arktype/internal/variants/object.ts").ObjectType<{
9
+ type: "vibes.diy.req-billing-customer";
10
+ auth: {
11
+ type: "clerk" | "device-id" | "ucan";
12
+ token: string;
13
+ };
14
+ }, {}>;
15
+ export type ReqBillingCustomer = typeof reqBillingCustomer.infer;
16
+ export declare function isReqBillingCustomer(obj: unknown): obj is ReqBillingCustomer;
17
+ export declare const resBillingCustomer: import("arktype/internal/variants/object.ts").ObjectType<{
18
+ type: "vibes.diy.res-billing-customer";
19
+ enabled: boolean;
20
+ plan?: "free" | "plus" | undefined;
21
+ grantRemaining?: number | undefined;
22
+ grantIncluded?: number | undefined;
23
+ grantResetsAt?: number | undefined;
24
+ purchasedRemaining?: number | undefined;
25
+ remaining?: number | undefined;
26
+ autoRefill?: {
27
+ enabled: boolean;
28
+ threshold: number;
29
+ reloadUsd: number;
30
+ capUsd: number;
31
+ } | undefined;
32
+ }, {}>;
33
+ export type ResBillingCustomer = typeof resBillingCustomer.infer;
34
+ export declare function isResBillingCustomer(obj: unknown): obj is ResBillingCustomer;
35
+ export declare const reqBillingCheckout: import("arktype/internal/variants/object.ts").ObjectType<{
36
+ type: "vibes.diy.req-billing-checkout";
37
+ auth: {
38
+ type: "clerk" | "device-id" | "ucan";
39
+ token: string;
40
+ };
41
+ kind: "subscribe-plus" | "top-up";
42
+ units?: number | undefined;
43
+ successUrl: string;
44
+ }, {}>;
45
+ export type ReqBillingCheckout = typeof reqBillingCheckout.infer;
46
+ export declare function isReqBillingCheckout(obj: unknown): obj is ReqBillingCheckout;
47
+ export declare const resBillingCheckout: import("arktype/internal/variants/object.ts").ObjectType<{
48
+ type: "vibes.diy.res-billing-checkout";
49
+ checkoutUrl: string;
50
+ }, {}>;
51
+ export type ResBillingCheckout = typeof resBillingCheckout.infer;
52
+ export declare function isResBillingCheckout(obj: unknown): obj is ResBillingCheckout;
53
+ export declare const reqBillingConfig: import("arktype/internal/variants/object.ts").ObjectType<{
54
+ type: "vibes.diy.req-billing-config";
55
+ auth: {
56
+ type: "clerk" | "device-id" | "ucan";
57
+ token: string;
58
+ };
59
+ autoRefill: {
60
+ enabled: boolean;
61
+ threshold: 100 | 200 | 500;
62
+ reloadUsd: 5 | 10 | 25;
63
+ capUsd: number;
64
+ };
65
+ }, {}>;
66
+ export type ReqBillingConfig = typeof reqBillingConfig.infer;
67
+ export declare function isReqBillingConfig(obj: unknown): obj is ReqBillingConfig;
68
+ export declare const resBillingConfig: import("arktype/internal/variants/object.ts").ObjectType<{
69
+ type: "vibes.diy.res-billing-config";
70
+ autoRefill: {
71
+ enabled: boolean;
72
+ threshold: number;
73
+ reloadUsd: number;
74
+ capUsd: number;
75
+ };
76
+ }, {}>;
77
+ export type ResBillingConfig = typeof resBillingConfig.infer;
78
+ export declare function isResBillingConfig(obj: unknown): obj is ResBillingConfig;
package/billing-msg.js ADDED
@@ -0,0 +1,67 @@
1
+ import { type } from "arktype";
2
+ import { dashAuthType } from "./common.js";
3
+ export const billingAutoRefill = type({
4
+ enabled: "boolean",
5
+ threshold: "number",
6
+ reloadUsd: "number",
7
+ capUsd: "number",
8
+ });
9
+ export const reqBillingCustomer = type({
10
+ type: "'vibes.diy.req-billing-customer'",
11
+ auth: dashAuthType,
12
+ });
13
+ export function isReqBillingCustomer(obj) {
14
+ return !(reqBillingCustomer(obj) instanceof type.errors);
15
+ }
16
+ export const resBillingCustomer = type({
17
+ type: "'vibes.diy.res-billing-customer'",
18
+ enabled: "boolean",
19
+ "plan?": "'free' | 'plus'",
20
+ "grantRemaining?": "number",
21
+ "grantIncluded?": "number",
22
+ "grantResetsAt?": "number",
23
+ "purchasedRemaining?": "number",
24
+ "remaining?": "number",
25
+ "autoRefill?": billingAutoRefill,
26
+ });
27
+ export function isResBillingCustomer(obj) {
28
+ return !(resBillingCustomer(obj) instanceof type.errors);
29
+ }
30
+ export const reqBillingCheckout = type({
31
+ type: "'vibes.diy.req-billing-checkout'",
32
+ auth: dashAuthType,
33
+ kind: "'subscribe-plus' | 'top-up'",
34
+ "units?": "number",
35
+ successUrl: "string",
36
+ });
37
+ export function isReqBillingCheckout(obj) {
38
+ return !(reqBillingCheckout(obj) instanceof type.errors);
39
+ }
40
+ export const resBillingCheckout = type({
41
+ type: "'vibes.diy.res-billing-checkout'",
42
+ checkoutUrl: "string",
43
+ });
44
+ export function isResBillingCheckout(obj) {
45
+ return !(resBillingCheckout(obj) instanceof type.errors);
46
+ }
47
+ export const reqBillingConfig = type({
48
+ type: "'vibes.diy.req-billing-config'",
49
+ auth: dashAuthType,
50
+ autoRefill: type({
51
+ enabled: "boolean",
52
+ threshold: "100 | 200 | 500",
53
+ reloadUsd: "5 | 10 | 25",
54
+ capUsd: "number",
55
+ }),
56
+ });
57
+ export function isReqBillingConfig(obj) {
58
+ return !(reqBillingConfig(obj) instanceof type.errors);
59
+ }
60
+ export const resBillingConfig = type({
61
+ type: "'vibes.diy.res-billing-config'",
62
+ autoRefill: billingAutoRefill,
63
+ });
64
+ export function isResBillingConfig(obj) {
65
+ return !(resBillingConfig(obj) instanceof type.errors);
66
+ }
67
+ //# sourceMappingURL=billing-msg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing-msg.js","sourceRoot":"","sources":["../jsr/billing-msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;IACpC,OAAO,EAAE,SAAS;IAElB,SAAS,EAAE,QAAQ;IAKnB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,kCAAkC;IACxC,IAAI,EAAE,YAAY;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,SAAS;IAElB,OAAO,EAAE,iBAAiB;IAI1B,iBAAiB,EAAE,QAAQ;IAC3B,gBAAgB,EAAE,QAAQ;IAE1B,gBAAgB,EAAE,QAAQ;IAE1B,qBAAqB,EAAE,QAAQ;IAE/B,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,iBAAiB;CACjC,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,kCAAkC;IACxC,IAAI,EAAE,YAAY;IAOlB,IAAI,EAAE,6BAA6B;IACnC,QAAQ,EAAE,QAAQ;IAGlB,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,kCAAkC;IACxC,WAAW,EAAE,QAAQ;CACtB,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAOD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,IAAI,CAAC;QACf,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,QAAQ;KACjB,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;IACnC,IAAI,EAAE,gCAAgC;IAEtC,UAAU,EAAE,iBAAiB;CAC9B,CAAC,CAAC;AAEH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC"}
package/cf-env.d.ts CHANGED
@@ -17,6 +17,9 @@ export interface CFEnv {
17
17
  RESEND_API_KEY: string;
18
18
  VIBES_DIY_FROM_EMAIL: string;
19
19
  DISCORD_WEBHOOK_URL?: string;
20
+ DISCORD_CURATION_BOT_TOKEN?: string;
21
+ DISCORD_CURATION_CHANNEL_ID?: string;
22
+ DISCORD_CURATION_PUBLIC_KEY?: string;
20
23
  LLM_BACKEND_URL: string;
21
24
  LLM_BACKEND_API_KEY: string;
22
25
  PRODIA_TOKEN?: string;
@@ -32,6 +35,7 @@ export interface CFEnv {
32
35
  LOADER?: unknown;
33
36
  BACKEND_POLICY_VERSION?: string;
34
37
  BACKEND_INTERNAL_SECRET?: string;
38
+ EMAIL_UNSUBSCRIBE_SECRET?: string;
35
39
  VIBES_ROOT_SWR?: string;
36
40
  VIBES_SERVICE: Queue;
37
41
  BROWSER: Fetcher;
@@ -0,0 +1,3 @@
1
+ export declare function signUnsubscribeToken(userId: string, secret: string): Promise<string>;
2
+ export declare function verifyUnsubscribeToken(userId: string, token: string, secret: string): Promise<boolean>;
3
+ export declare function unsubscribeUrl(baseUrl: string, userId: string, token: string): string;
@@ -0,0 +1,33 @@
1
+ const enc = new TextEncoder();
2
+ async function hmacKey(secret) {
3
+ return crypto.subtle.importKey("raw", enc.encode(secret), { name: "HMAC", hash: "SHA-256" }, false, ["sign", "verify"]);
4
+ }
5
+ function base64Url(bytes) {
6
+ let str = "";
7
+ for (const b of new Uint8Array(bytes))
8
+ str += String.fromCharCode(b);
9
+ return btoa(str).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
10
+ }
11
+ export async function signUnsubscribeToken(userId, secret) {
12
+ const key = await hmacKey(secret);
13
+ const sig = await crypto.subtle.sign("HMAC", key, enc.encode(`unsubscribe:${userId}`));
14
+ return base64Url(sig);
15
+ }
16
+ export async function verifyUnsubscribeToken(userId, token, secret) {
17
+ if (!userId || !token)
18
+ return false;
19
+ const expected = await signUnsubscribeToken(userId, secret);
20
+ if (expected.length !== token.length)
21
+ return false;
22
+ let diff = 0;
23
+ for (let i = 0; i < expected.length; i++)
24
+ diff |= expected.charCodeAt(i) ^ token.charCodeAt(i);
25
+ return diff === 0;
26
+ }
27
+ export function unsubscribeUrl(baseUrl, userId, token) {
28
+ const u = new URL("/email/unsubscribe", baseUrl);
29
+ u.searchParams.set("u", userId);
30
+ u.searchParams.set("t", token);
31
+ return u.toString();
32
+ }
33
+ //# sourceMappingURL=email-unsubscribe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-unsubscribe.js","sourceRoot":"","sources":["../jsr/email-unsubscribe.ts"],"names":[],"mappings":"AAWA,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAE9B,KAAK,UAAU,OAAO,CAAC,MAAc;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1H,CAAC;AAED,SAAS,SAAS,CAAC,KAAkB;IACnC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,MAAc;IACvE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC,CAAC;IACvF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc;IACxF,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAIpC,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACnD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/F,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAGD,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,MAAc,EAAE,KAAa;IAC3E,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtB,CAAC"}
package/home-feed.d.ts ADDED
@@ -0,0 +1,79 @@
1
+ export declare const reqHomeLeaderboard: import("arktype/internal/variants/object.ts").ObjectType<{
2
+ type: "vibes.diy.req-home-leaderboard";
3
+ auth?: {
4
+ type: "clerk" | "device-id" | "ucan";
5
+ token: string;
6
+ } | undefined;
7
+ limit?: number | undefined;
8
+ }, {}>;
9
+ export type ReqHomeLeaderboard = typeof reqHomeLeaderboard.infer;
10
+ export declare function isReqHomeLeaderboard(obj: unknown): obj is ReqHomeLeaderboard;
11
+ export declare const resHomeLeaderboardItem: import("arktype/internal/variants/object.ts").ObjectType<{
12
+ ownerHandle: string;
13
+ appSlug: string;
14
+ writerCount: number;
15
+ title?: string | undefined;
16
+ icon?: {
17
+ cid: string;
18
+ mime: string;
19
+ } | undefined;
20
+ }, {}>;
21
+ export type ResHomeLeaderboardItem = typeof resHomeLeaderboardItem.infer;
22
+ export declare const resHomeLeaderboard: import("arktype/internal/variants/object.ts").ObjectType<{
23
+ type: "vibes.diy.res-home-leaderboard";
24
+ generatedAt: string;
25
+ items: {
26
+ ownerHandle: string;
27
+ appSlug: string;
28
+ writerCount: number;
29
+ title?: string | undefined;
30
+ icon?: {
31
+ cid: string;
32
+ mime: string;
33
+ } | undefined;
34
+ }[];
35
+ }, {}>;
36
+ export type ResHomeLeaderboard = typeof resHomeLeaderboard.infer;
37
+ export declare function isResHomeLeaderboard(obj: unknown): obj is ResHomeLeaderboard;
38
+ export declare const reqCuratedNewVibes: import("arktype/internal/variants/object.ts").ObjectType<{
39
+ type: "vibes.diy.req-curated-new-vibes";
40
+ auth?: {
41
+ type: "clerk" | "device-id" | "ucan";
42
+ token: string;
43
+ } | undefined;
44
+ limit?: number | undefined;
45
+ }, {}>;
46
+ export type ReqCuratedNewVibes = typeof reqCuratedNewVibes.infer;
47
+ export declare function isReqCuratedNewVibes(obj: unknown): obj is ReqCuratedNewVibes;
48
+ export declare const resCuratedNewVibesItem: import("arktype/internal/variants/object.ts").ObjectType<{
49
+ ownerHandle: string;
50
+ appSlug: string;
51
+ created: string;
52
+ approvedAt: string;
53
+ title?: string | undefined;
54
+ icon?: {
55
+ cid: string;
56
+ mime: string;
57
+ } | undefined;
58
+ }, {}>;
59
+ export type ResCuratedNewVibesItem = typeof resCuratedNewVibesItem.infer;
60
+ export declare const resCuratedNewVibes: import("arktype/internal/variants/object.ts").ObjectType<{
61
+ type: "vibes.diy.res-curated-new-vibes";
62
+ generatedAt: string;
63
+ items: {
64
+ ownerHandle: string;
65
+ appSlug: string;
66
+ created: string;
67
+ approvedAt: string;
68
+ title?: string | undefined;
69
+ icon?: {
70
+ cid: string;
71
+ mime: string;
72
+ } | undefined;
73
+ }[];
74
+ }, {}>;
75
+ export type ResCuratedNewVibes = typeof resCuratedNewVibes.infer;
76
+ export declare function isResCuratedNewVibes(obj: unknown): obj is ResCuratedNewVibes;
77
+ export declare const VIBE_CURATION_STATES: readonly ["proposed", "approved", "skipped"];
78
+ export type VibeCurationState = (typeof VIBE_CURATION_STATES)[number];
79
+ export declare const VIBE_CURATION_CUSTOM_ID_PREFIX = "vibe-curation";
package/home-feed.js ADDED
@@ -0,0 +1,52 @@
1
+ import { type } from "arktype";
2
+ import { dashAuthType } from "./common.js";
3
+ export const reqHomeLeaderboard = type({
4
+ type: "'vibes.diy.req-home-leaderboard'",
5
+ "auth?": dashAuthType,
6
+ "limit?": "number",
7
+ });
8
+ export function isReqHomeLeaderboard(obj) {
9
+ return !(reqHomeLeaderboard(obj) instanceof type.errors);
10
+ }
11
+ export const resHomeLeaderboardItem = type({
12
+ ownerHandle: "string",
13
+ appSlug: "string",
14
+ writerCount: "number",
15
+ "title?": "string",
16
+ "icon?": type({ cid: "string", mime: "string" }),
17
+ });
18
+ export const resHomeLeaderboard = type({
19
+ type: "'vibes.diy.res-home-leaderboard'",
20
+ generatedAt: "string",
21
+ items: resHomeLeaderboardItem.array(),
22
+ });
23
+ export function isResHomeLeaderboard(obj) {
24
+ return !(resHomeLeaderboard(obj) instanceof type.errors);
25
+ }
26
+ export const reqCuratedNewVibes = type({
27
+ type: "'vibes.diy.req-curated-new-vibes'",
28
+ "auth?": dashAuthType,
29
+ "limit?": "number",
30
+ });
31
+ export function isReqCuratedNewVibes(obj) {
32
+ return !(reqCuratedNewVibes(obj) instanceof type.errors);
33
+ }
34
+ export const resCuratedNewVibesItem = type({
35
+ ownerHandle: "string",
36
+ appSlug: "string",
37
+ created: "string",
38
+ approvedAt: "string",
39
+ "title?": "string",
40
+ "icon?": type({ cid: "string", mime: "string" }),
41
+ });
42
+ export const resCuratedNewVibes = type({
43
+ type: "'vibes.diy.res-curated-new-vibes'",
44
+ generatedAt: "string",
45
+ items: resCuratedNewVibesItem.array(),
46
+ });
47
+ export function isResCuratedNewVibes(obj) {
48
+ return !(resCuratedNewVibes(obj) instanceof type.errors);
49
+ }
50
+ export const VIBE_CURATION_STATES = ["proposed", "approved", "skipped"];
51
+ export const VIBE_CURATION_CUSTOM_ID_PREFIX = "vibe-curation";
52
+ //# sourceMappingURL=home-feed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-feed.js","sourceRoot":"","sources":["../jsr/home-feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAY3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,QAAQ;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;IACzC,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,QAAQ;IAEjB,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;CACjD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,kCAAkC;IACxC,WAAW,EAAE,QAAQ;IACrB,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE;CACtC,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAKD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,mCAAmC;IACzC,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,QAAQ;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;IACzC,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,QAAQ;IAEjB,OAAO,EAAE,QAAQ;IAEjB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;CACjD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACrC,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,QAAQ;IACrB,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE;CACtC,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAKD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAMjF,MAAM,CAAC,MAAM,8BAA8B,GAAG,eAAe,CAAC"}
package/index.d.ts CHANGED
@@ -20,10 +20,13 @@ export * from "./app-documents.js";
20
20
  export * from "./db-acls.js";
21
21
  export * from "./members.js";
22
22
  export * from "./memberships.js";
23
+ export * from "./billing-msg.js";
23
24
  export * from "./asset.js";
24
25
  export * from "./report.js";
26
+ export * from "./home-feed.js";
25
27
  export * from "./direct-channel.js";
26
28
  export * from "./notifications.js";
29
+ export * from "./email-unsubscribe.js";
27
30
  export * from "./access-function.js";
28
31
  export * from "./shard-policy.js";
29
32
  export interface FetchOkResult {
package/index.js CHANGED
@@ -19,10 +19,13 @@ export * from "./app-documents.js";
19
19
  export * from "./db-acls.js";
20
20
  export * from "./members.js";
21
21
  export * from "./memberships.js";
22
+ export * from "./billing-msg.js";
22
23
  export * from "./asset.js";
23
24
  export * from "./report.js";
25
+ export * from "./home-feed.js";
24
26
  export * from "./direct-channel.js";
25
27
  export * from "./notifications.js";
28
+ export * from "./email-unsubscribe.js";
26
29
  export * from "./access-function.js";
27
30
  export * from "./shard-policy.js";
28
31
  export function isFetchOkResult(result) {
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAE5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAE1B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAQlC,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;AACpC,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;AACrC,CAAC;AAUD,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,OAAO,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAE5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAE1B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAQlC,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;AACpC,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;AACrC,CAAC;AAUD,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,OAAO,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC;AAC1C,CAAC"}
package/invite.d.ts CHANGED
@@ -794,20 +794,6 @@ export declare const ActiveBackend: import("arktype/internal/variants/object.ts"
794
794
  export type ActiveBackend = typeof ActiveBackend.infer;
795
795
  export declare function isActiveBackend(obj: unknown): obj is ActiveBackend;
796
796
  export declare const ActiveEntry: import("arktype/internal/variants/object.ts").ObjectType<{
797
- type: "active.cached-suggestion";
798
- key: string;
799
- fsId: string;
800
- sourceFsId: string;
801
- } | {
802
- type: "active.cached-suggestion-bless";
803
- key: string;
804
- fsId?: string | undefined;
805
- sourceFsId?: string | undefined;
806
- targetOwnerHandle?: string | undefined;
807
- targetAppSlug?: string | undefined;
808
- approvedBy: string;
809
- approvedAt: string;
810
- } | {
811
797
  type: "app.public.access";
812
798
  enable: boolean;
813
799
  tick?: {
@@ -1061,6 +1047,20 @@ export declare const ActiveEntry: import("arktype/internal/variants/object.ts").
1061
1047
  write?: ("editors" | "members" | "readers" | "submitters")[] | undefined;
1062
1048
  delete?: ("editors" | "members" | "readers" | "submitters")[] | undefined;
1063
1049
  };
1050
+ } | {
1051
+ type: "active.cached-suggestion";
1052
+ key: string;
1053
+ fsId: string;
1054
+ sourceFsId: string;
1055
+ } | {
1056
+ type: "active.cached-suggestion-bless";
1057
+ key: string;
1058
+ fsId?: string | undefined;
1059
+ sourceFsId?: string | undefined;
1060
+ targetOwnerHandle?: string | undefined;
1061
+ targetAppSlug?: string | undefined;
1062
+ approvedBy: string;
1063
+ approvedAt: string;
1064
1064
  }, {}>;
1065
1065
  export declare function isActiveAcl(obj: unknown): obj is typeof ActiveACL.infer;
1066
1066
  export type ActiveEntry = typeof ActiveEntry.infer;
@@ -1,6 +1,8 @@
1
+ export declare const notificationTypeEnum: import("arktype/internal/variants/string.ts").StringType<"build-complete" | "build-failed" | "comment-posted" | "dm-received" | "member-joined" | "request-approved" | "request-revoked" | "vibe-published" | "vibe-remixed", {}>;
2
+ export type NotificationType = typeof notificationTypeEnum.infer;
1
3
  export declare const EvtUserNotification: import("arktype/internal/variants/object.ts").ObjectType<{
2
4
  type: "vibes.diy.evt-user-notification";
3
- notificationType: "build-complete" | "build-failed" | "comment-posted" | "request-approved" | "request-revoked" | "vibe-published";
5
+ notificationType: "build-complete" | "build-failed" | "comment-posted" | "dm-received" | "member-joined" | "request-approved" | "request-revoked" | "vibe-published" | "vibe-remixed";
4
6
  ownerHandle: string;
5
7
  appSlug: string;
6
8
  }, {}>;
@@ -50,3 +52,37 @@ export declare const ResDeregisterPushToken: import("arktype/internal/variants/o
50
52
  }, {}>;
51
53
  export type ResDeregisterPushToken = typeof ResDeregisterPushToken.infer;
52
54
  export declare function isResDeregisterPushToken(obj: unknown): obj is ResDeregisterPushToken;
55
+ export declare const notificationRow: import("arktype/internal/variants/object.ts").ObjectType<{
56
+ id: string;
57
+ userId: string;
58
+ notificationType: "build-complete" | "build-failed" | "comment-posted" | "dm-received" | "member-joined" | "request-approved" | "request-revoked" | "vibe-published" | "vibe-remixed";
59
+ ownerHandle: string;
60
+ appSlug: string;
61
+ body: string;
62
+ actorHandle?: string | null | undefined;
63
+ actorUserId?: string | null | undefined;
64
+ targetRef?: unknown;
65
+ dedupeKey: string;
66
+ created: string;
67
+ readAt?: string | null | undefined;
68
+ }, {}>;
69
+ export type NotificationRow = typeof notificationRow.infer;
70
+ export declare function isNotificationRow(obj: unknown): obj is NotificationRow;
71
+ export declare const evtOwnerDigest: import("arktype/internal/variants/object.ts").ObjectType<{
72
+ type: "vibes.diy.evt-owner-digest";
73
+ userId: string;
74
+ }, {}>;
75
+ export type EvtOwnerDigest = typeof evtOwnerDigest.infer;
76
+ export declare function isEvtOwnerDigest(obj: unknown): obj is EvtOwnerDigest;
77
+ export declare const emitNotificationInput: import("arktype/internal/variants/object.ts").ObjectType<{
78
+ userId: string;
79
+ notificationType: "build-complete" | "build-failed" | "comment-posted" | "dm-received" | "member-joined" | "request-approved" | "request-revoked" | "vibe-published" | "vibe-remixed";
80
+ ownerHandle: string;
81
+ appSlug: string;
82
+ body: string;
83
+ actorHandle?: string | undefined;
84
+ actorUserId?: string | undefined;
85
+ targetRef?: unknown;
86
+ dedupeKey: string;
87
+ }, {}>;
88
+ export type EmitNotificationInput = typeof emitNotificationInput.infer;
package/notifications.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { type } from "arktype";
2
+ export const notificationTypeEnum = type("'build-complete' | 'build-failed' | 'vibe-published' | 'comment-posted' | 'request-approved' | 'request-revoked' | 'vibe-remixed' | 'dm-received' | 'member-joined'");
2
3
  export const EvtUserNotification = type({
3
4
  type: "'vibes.diy.evt-user-notification'",
4
- notificationType: "'build-complete' | 'build-failed' | 'vibe-published' | 'comment-posted' | 'request-approved' | 'request-revoked'",
5
+ notificationType: notificationTypeEnum,
5
6
  ownerHandle: "string",
6
7
  appSlug: "string",
7
8
  });
@@ -78,4 +79,39 @@ export const ResDeregisterPushToken = type({
78
79
  export function isResDeregisterPushToken(obj) {
79
80
  return !(ResDeregisterPushToken(obj) instanceof type.errors);
80
81
  }
82
+ export const notificationRow = type({
83
+ id: "string",
84
+ userId: "string",
85
+ notificationType: notificationTypeEnum,
86
+ ownerHandle: "string",
87
+ appSlug: "string",
88
+ body: "string",
89
+ "actorHandle?": "string | null",
90
+ "actorUserId?": "string | null",
91
+ "targetRef?": "unknown",
92
+ dedupeKey: "string",
93
+ created: "string",
94
+ "readAt?": "string | null",
95
+ });
96
+ export function isNotificationRow(obj) {
97
+ return !(notificationRow(obj) instanceof type.errors);
98
+ }
99
+ export const evtOwnerDigest = type({
100
+ type: "'vibes.diy.evt-owner-digest'",
101
+ userId: "string",
102
+ });
103
+ export function isEvtOwnerDigest(obj) {
104
+ return !(evtOwnerDigest(obj) instanceof type.errors);
105
+ }
106
+ export const emitNotificationInput = type({
107
+ userId: "string",
108
+ notificationType: notificationTypeEnum,
109
+ ownerHandle: "string",
110
+ appSlug: "string",
111
+ body: "string",
112
+ "actorHandle?": "string",
113
+ "actorUserId?": "string",
114
+ "targetRef?": "unknown",
115
+ dedupeKey: "string",
116
+ });
81
117
  //# sourceMappingURL=notifications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../jsr/notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../jsr/notifications.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-types",
3
- "version": "4.5.5",
3
+ "version": "5.0.1",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -9,9 +9,9 @@
9
9
  "dependencies": {
10
10
  "@adviser/cement": "~0.5.34",
11
11
  "@cloudflare/workers-types": "~4.20260701.1",
12
- "@vibes.diy/call-ai-v2": "4.5.5",
13
- "@vibes.diy/identity": "4.5.5",
14
- "@vibes.diy/vibe-types": "4.5.5",
12
+ "@vibes.diy/call-ai-v2": "5.0.1",
13
+ "@vibes.diy/identity": "5.0.1",
14
+ "@vibes.diy/vibe-types": "5.0.1",
15
15
  "arktype": "~2.2.2"
16
16
  },
17
17
  "repository": {