@vibes.diy/prompts 14.3.191 → 14.3.192
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/llms/access.md +1 -1
- package/llms/backend.md +9 -0
- package/llms/cues.js.map +1 -1
- package/llms/custom-look.js +3 -2
- package/llms/custom-look.js.map +1 -1
- package/llms/stripe-subscriptions.md +1 -2
- package/llms/stripe.md +1 -2
- package/package.json +5 -5
package/llms/access.md
CHANGED
|
@@ -30,7 +30,7 @@ writes.
|
|
|
30
30
|
|
|
31
31
|
**UserContext:** `{ userHandle: string, displayName?: string, backend?: "scheduled" | "onChange" | "fetch" }` — `userHandle` is stable unique id (use for all auth checks), `displayName` is display only (never use for identity checks), and `backend` is present only when the app's own `backend.js` issued this write, naming the handler that did (`scheduled`, `onChange` or `fetch`). Every write from a browser or the CLI arrives with `backend` absent, the app owner's own writes included — it says where a write came from, never who the writer is. Gate on `ctx.requireBackend(...)` rather than throwing on `user.backend` yourself: a bare `throw` on `user.backend` refuses the hand-repair lane admin mode exists for, and returns no descriptor for the write it refused.
|
|
32
32
|
|
|
33
|
-
**Helpers (`ctx`):** Opaque closures over the materialized grant state. They throw or pass — you cannot enumerate channels, list members, or iterate grants. They also throw when `user` is null: `ctx.requireAccess(channelId)` throws if user is not in the channel, `ctx.requireRole(roleName)` throws if user is not in the role, and `ctx.requireBackend()` throws unless the app's own `backend.js` issued this write — `ctx.requireBackend("scheduled")` narrows that to one handler. All three no-op under admin mode.
|
|
33
|
+
**Helpers (`ctx`):** Opaque closures over the materialized grant state. They throw or pass — you cannot enumerate channels, list members, or iterate grants. They also throw when `user` is null: `ctx.requireAccess(channelId)` throws if user is not in the channel, `ctx.requireRole(roleName)` throws if user is not in the role, and `ctx.requireBackend()` throws unless the app's own `backend.js` issued this write — `ctx.requireBackend("scheduled")` narrows that to one handler. `ctx.requireBackend` reads the write's origin, not its writer, so it also passes when nobody is signed in (a guest calling your `fetch` handler, or an `onChange` run a signed-out write triggered), while `user` stays null and the write still needs `allowAnonymous: true`. All three no-op under admin mode.
|
|
34
34
|
|
|
35
35
|
Express every refusal about **who may act** through the supplied validators — `ctx.requireAccess`, `ctx.requireRole`, `ctx.requireBackend` — so that admin mode passes them and the function still runs, applying your own channels and grants to the repaired document; a refusal about the document's own **shape**, like an unknown type or a missing field, stays a plain `throw` and is right to, while a write-once check sits in between and is worth naming in a comment, since a schema repair has to get past it.
|
|
36
36
|
|
package/llms/backend.md
CHANGED
|
@@ -85,6 +85,15 @@ escalation. For documents only the server should control, use `scheduled` and
|
|
|
85
85
|
gate them on the origin with `ctx.requireBackend("scheduled")`, which admits the
|
|
86
86
|
run and turns every ordinary client write away.
|
|
87
87
|
|
|
88
|
+
The origin travels with the write even when nobody is signed in, for every
|
|
89
|
+
handler. A guest's `apiFetch` into the `fetch` handler arrives with `user` null,
|
|
90
|
+
and `ctx.requireBackend("fetch")` still passes for it, so a guest-checkout
|
|
91
|
+
record can be one only the handler writes; an `onChange` run triggered by a
|
|
92
|
+
signed-out writer passes `ctx.requireBackend("onChange")` the same way. The function still opts that anonymous
|
|
93
|
+
write in with `allowAnonymous: true`, and the app's anonymous-write setting
|
|
94
|
+
still has to admit signed-out writers; `user.backend` itself is read only off a
|
|
95
|
+
signed-in user, so gate with `ctx.requireBackend`.
|
|
96
|
+
|
|
88
97
|
`scheduled` always runs in **admin mode**, the same override the owner gets
|
|
89
98
|
from the client's admin toggle: `ctx.requireAccess(...)`, `ctx.requireRole(...)`
|
|
90
99
|
and `ctx.requireBackend(...)` all no-op, and its `ctx.db.query` reads are
|
package/llms/cues.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cues.js","sourceRoot":"","sources":["../../jsr/llms/cues.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cues.js","sourceRoot":"","sources":["../../jsr/llms/cues.ts"],"names":[],"mappings":"AAKA,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAGD,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,GAAW;IAClD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,IAAI,MAAM,CAAC,gBAAgB,IAAI,cAAc,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AASD,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAmC;IAChF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvG,CAAC"}
|
package/llms/custom-look.js
CHANGED
|
@@ -17,9 +17,10 @@ export const customLookConfig = {
|
|
|
17
17
|
"shadcn",
|
|
18
18
|
"neo-brutalist",
|
|
19
19
|
"neobrutalism",
|
|
20
|
-
"gumroad",
|
|
20
|
+
"like gumroad",
|
|
21
21
|
"terminal style",
|
|
22
|
-
"newspaper",
|
|
22
|
+
"like a newspaper",
|
|
23
|
+
"newspaper style",
|
|
23
24
|
"linear style",
|
|
24
25
|
"like linear",
|
|
25
26
|
"ios settings",
|
package/llms/custom-look.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-look.js","sourceRoot":"","sources":["../../jsr/llms/custom-look.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"custom-look.js","sourceRoot":"","sources":["../../jsr/llms/custom-look.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,aAAa;IACpB,WAAW,EACT,gXAAgX;IAClX,IAAI,EAAE;QACJ,aAAa;QACb,iBAAiB;QACjB,eAAe;QACf,eAAe;QACf,cAAc;QACd,aAAa;QACb,YAAY;QACZ,UAAU;QACV,iBAAiB;QACjB,YAAY;QACZ,cAAc;QACd,QAAQ;QACR,eAAe;QACf,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,aAAa;QACb,cAAc;KACf;CACF,CAAC"}
|
|
@@ -51,8 +51,7 @@ a link to the exact page and uses the words that page uses:
|
|
|
51
51
|
or change a card, and the portal exists once it is saved.
|
|
52
52
|
3. Come back to the app. The Join buttons work in test mode the moment both
|
|
53
53
|
items are done; the card `4242 4242 4242 4242` with any future date pays.
|
|
54
|
-
4. Go live, one app at a time. Once a test payment goes through
|
|
55
|
-
payments are open on vibes.diy, press **Go live with Stripe** under
|
|
54
|
+
4. Go live, one app at a time. Once a test payment goes through, press **Go live with Stripe** under
|
|
56
55
|
**Payments** on the Settings tab and finish Stripe's live setup (once, for
|
|
57
56
|
every app). Then press **Take live payments in this app** on this app's
|
|
58
57
|
Setup screen, and save the **Customer portal** once more in live mode at
|
package/llms/stripe.md
CHANGED
|
@@ -59,8 +59,7 @@ a link to the exact page and uses the words that page uses:
|
|
|
59
59
|
2. Come back to the app. The Pay buttons work in test mode the moment Stripe
|
|
60
60
|
says the account is ready, with no redeploy; the card
|
|
61
61
|
`4242 4242 4242 4242` with any future date pays.
|
|
62
|
-
3. Go live, one app at a time. Once a test payment goes through
|
|
63
|
-
payments are open on vibes.diy, press **Go live with Stripe** under
|
|
62
|
+
3. Go live, one app at a time. Once a test payment goes through, press **Go live with Stripe** under
|
|
64
63
|
**Payments** on the Settings tab and finish Stripe's live setup (once, for
|
|
65
64
|
every app). Then press **Take live payments in this app** on this app's
|
|
66
65
|
Setup screen. This step stays on the Setup screen after the item is done,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/prompts",
|
|
3
|
-
"version": "14.3.
|
|
3
|
+
"version": "14.3.192",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"exports": {
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"license": "Apache-2.0",
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@adviser/cement": "~0.5.34",
|
|
42
|
-
"@vibes.diy/api-types": "14.3.
|
|
43
|
-
"@vibes.diy/call-ai-v2": "14.3.
|
|
44
|
-
"@vibes.diy/identity": "14.3.
|
|
45
|
-
"@vibes.diy/use-vibes-types": "14.3.
|
|
42
|
+
"@vibes.diy/api-types": "14.3.192",
|
|
43
|
+
"@vibes.diy/call-ai-v2": "14.3.192",
|
|
44
|
+
"@vibes.diy/identity": "14.3.192",
|
|
45
|
+
"@vibes.diy/use-vibes-types": "14.3.192",
|
|
46
46
|
"arktype": "~2.2.8",
|
|
47
47
|
"json-schema-faker": "~0.6.3"
|
|
48
48
|
},
|