@vibes.diy/prompts 5.2.2 → 5.3.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/prompts",
3
- "version": "5.2.2",
3
+ "version": "5.3.1",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "description": "",
@@ -24,9 +24,9 @@
24
24
  "license": "Apache-2.0",
25
25
  "dependencies": {
26
26
  "@adviser/cement": "~0.5.34",
27
- "@vibes.diy/call-ai-v2": "^5.2.2",
28
- "@vibes.diy/identity": "^5.2.2",
29
- "@vibes.diy/use-vibes-types": "^5.2.2",
27
+ "@vibes.diy/call-ai-v2": "^5.3.1",
28
+ "@vibes.diy/identity": "^5.3.1",
29
+ "@vibes.diy/use-vibes-types": "^5.3.1",
30
30
  "arktype": "~2.2.3",
31
31
  "json-schema-faker": "~0.6.2"
32
32
  },
@@ -188,6 +188,17 @@ docs in your database, and never build follow UI state machines.
188
188
  small callout when `!followersEnabled` — "open to followers so friends can see your picks" —
189
189
  wired to this action; an app that's inherently private (a diary, a personal tracker) renders
190
190
  nothing here at all. Don't invent a callout an app's own privacy doesn't call for.
191
+ - To grow the graph, `useSocial()` returns
192
+ `invite(email: string): Promise<"ok" | "rate-limited" | "cancelled">` — asks the PLATFORM to
193
+ email a non-user an invitation to connect with the viewer. The platform shows a consent prompt,
194
+ so you never send silently. It resolves `"ok"` when queued — this NEVER reveals whether the
195
+ address is already a user, was already invited, or opted out, so don't build UI that implies
196
+ delivery or "already invited"; `"rate-limited"` when the viewer hits their own daily cap
197
+ (back off gracefully — "you're inviting a bit fast, try again later"); `"cancelled"` when they
198
+ dismiss the prompt. Call it ONLY from an explicit user action (a form submit / button), one
199
+ email per action — never in a loop, on every render, or to bulk-blast a list. Accepting makes
200
+ you both follow each other. Copy: "invite a friend to connect" — never imply you can tell
201
+ whether they're already on Vibes.
191
202
 
192
203
  **`access.js` must be one self-contained exported function.** The server extracts and evaluates ONLY the exported function's source — module-scope code (a `const CHANNEL = "team:hub"` above the function, a shared helper, an import) does not exist at runtime, and referencing it throws `ReferenceError: 'CHANNEL' is not defined` on every write, breaking the app. Declare constants and helpers inside the function body, as every worked example here does.
193
204
 
package/system-prompt.md CHANGED
@@ -396,6 +396,17 @@ docs in your database, and never build follow UI state machines.
396
396
  small callout when `!followersEnabled` — "open to followers so friends can see your picks" —
397
397
  wired to this action; an app that's inherently private (a diary, a personal tracker) renders
398
398
  nothing here at all. Don't invent a callout an app's own privacy doesn't call for.
399
+ - To grow the graph, `useSocial()` returns
400
+ `invite(email: string): Promise<"ok" | "rate-limited" | "cancelled">` — asks the PLATFORM to
401
+ email a non-user an invitation to connect with the viewer. The platform shows a consent prompt,
402
+ so you never send silently. It resolves `"ok"` when queued — this NEVER reveals whether the
403
+ address is already a user, was already invited, or opted out, so don't build UI that implies
404
+ delivery or "already invited"; `"rate-limited"` when the viewer hits their own daily cap
405
+ (back off gracefully — "you're inviting a bit fast, try again later"); `"cancelled"` when they
406
+ dismiss the prompt. Call it ONLY from an explicit user action (a form submit / button), one
407
+ email per action — never in a loop, on every render, or to bulk-blast a list. Accepting makes
408
+ you both follow each other. Copy: "invite a friend to connect" — never imply you can tell
409
+ whether they're already on Vibes.
399
410
 
400
411
  **`access.js` must be one self-contained exported function.** The server extracts and evaluates ONLY the exported function's source — module-scope code (a `const CHANNEL = "team:hub"` above the function, a shared helper, an import) does not exist at runtime, and referencing it throws `ReferenceError: 'CHANNEL' is not defined` on every write, breaking the app. Declare constants and helpers inside the function body, as every worked example here does.
401
412