@vibes.diy/prompts 14.3.101 → 14.3.102
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/calendar.md +11 -5
- package/package.json +5 -5
- package/system-prompt-initial-oneshot.md +12 -1
- package/system-prompt-initial.md +12 -1
- package/system-prompt.md +12 -1
package/llms/calendar.md
CHANGED
|
@@ -247,16 +247,22 @@ useEffect(() => {
|
|
|
247
247
|
const token = btoa(bin).replace(/[+]/g, "-").replace(/[/]/g, "_").replace(/=+$/, "");
|
|
248
248
|
database.put({ _id: `caltoken-${me.userHandle}`, type: "caltoken", userId: me.userHandle, token, createdAt: Date.now() }).catch(() => {});
|
|
249
249
|
}, [signedIn, myItems.length, calToken]);
|
|
250
|
-
|
|
251
|
-
|
|
250
|
+
// The feed lives at the app's public address, which also serves backend.js:
|
|
251
|
+
// https://vibes.diy/vibe/<handle>/<app>/_api/faves.ics. The app's own host,
|
|
252
|
+
// `<app>--<handle>.…`, names both in its first label.
|
|
253
|
+
const label = location.hostname.split(".")[0];
|
|
254
|
+
const cut = label.indexOf("--");
|
|
255
|
+
const appAddress = `vibes.diy/vibe/${label.slice(cut + 2)}/${label.slice(0, cut)}`;
|
|
256
|
+
const icsUrl = signedIn && calToken
|
|
257
|
+
? `${appAddress}/_api/faves.ics?t=${encodeURIComponent(calToken)}&n=${encodeURIComponent(me.userHandle)}`
|
|
252
258
|
: null;
|
|
253
|
-
{
|
|
254
|
-
<a href={`webcal://${
|
|
259
|
+
{icsUrl && (
|
|
260
|
+
<a href={`webcal://${icsUrl}`} target="_blank" rel="noopener noreferrer"
|
|
255
261
|
title="Subscribe in your phone's calendar — it follows your picks live. iOS may warn about an insecure connection; tap Continue. Share the link and friends can follow your picks.">
|
|
256
262
|
📆 Subscribe on iPhone
|
|
257
263
|
</a>
|
|
258
264
|
)}
|
|
259
|
-
// Plus a copy button that copies `https://${
|
|
265
|
+
// Plus a copy button that copies `https://${icsUrl}` —
|
|
260
266
|
// that form pastes into Google Calendar (From URL) and into iOS Settings →
|
|
261
267
|
// Calendar → Add Subscribed Calendar (which skips the warning entirely).
|
|
262
268
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/prompts",
|
|
3
|
-
"version": "14.3.
|
|
3
|
+
"version": "14.3.102",
|
|
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.102",
|
|
43
|
+
"@vibes.diy/call-ai-v2": "14.3.102",
|
|
44
|
+
"@vibes.diy/identity": "14.3.102",
|
|
45
|
+
"@vibes.diy/use-vibes-types": "14.3.102",
|
|
46
46
|
"arktype": "~2.2.6",
|
|
47
47
|
"json-schema-faker": "~0.6.3"
|
|
48
48
|
},
|
|
@@ -212,7 +212,18 @@ useEffect(() => {
|
|
|
212
212
|
}, []);
|
|
213
213
|
```
|
|
214
214
|
|
|
215
|
-
|
|
215
|
+
Every link the app hands a person — Copy link, the share sheet, a QR code, an invite — is the app's public address, the one people open: `https://vibes.diy/vibe/<handle>/<app>` plus the fragment. The app runs on its own host, `<app>--<handle>.…`, whose first label names both, so one helper builds the address and follows the app through a remix:
|
|
216
|
+
|
|
217
|
+
```jsx
|
|
218
|
+
function publicUrl(hash = "") {
|
|
219
|
+
const label = location.hostname.split(".")[0];
|
|
220
|
+
const cut = label.indexOf("--");
|
|
221
|
+
return `https://vibes.diy/vibe/${label.slice(cut + 2)}/${label.slice(0, cut)}${hash}`;
|
|
222
|
+
}
|
|
223
|
+
// publicUrl(`#friend=${me}`) → https://vibes.diy/vibe/alice/picker#friend=bob
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Hand `publicUrl(...)` to `navigator.clipboard.writeText`, `navigator.share` and the QR code, and keep every one-time param in the fragment.
|
|
216
227
|
|
|
217
228
|
### Say only what you can observe
|
|
218
229
|
|
package/system-prompt-initial.md
CHANGED
|
@@ -216,7 +216,18 @@ useEffect(() => {
|
|
|
216
216
|
}, []);
|
|
217
217
|
```
|
|
218
218
|
|
|
219
|
-
|
|
219
|
+
Every link the app hands a person — Copy link, the share sheet, a QR code, an invite — is the app's public address, the one people open: `https://vibes.diy/vibe/<handle>/<app>` plus the fragment. The app runs on its own host, `<app>--<handle>.…`, whose first label names both, so one helper builds the address and follows the app through a remix:
|
|
220
|
+
|
|
221
|
+
```jsx
|
|
222
|
+
function publicUrl(hash = "") {
|
|
223
|
+
const label = location.hostname.split(".")[0];
|
|
224
|
+
const cut = label.indexOf("--");
|
|
225
|
+
return `https://vibes.diy/vibe/${label.slice(cut + 2)}/${label.slice(0, cut)}${hash}`;
|
|
226
|
+
}
|
|
227
|
+
// publicUrl(`#friend=${me}`) → https://vibes.diy/vibe/alice/picker#friend=bob
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Hand `publicUrl(...)` to `navigator.clipboard.writeText`, `navigator.share` and the QR code, and keep every one-time param in the fragment.
|
|
220
231
|
|
|
221
232
|
### Say only what you can observe
|
|
222
233
|
|
package/system-prompt.md
CHANGED
|
@@ -793,7 +793,18 @@ useEffect(() => {
|
|
|
793
793
|
}, []);
|
|
794
794
|
```
|
|
795
795
|
|
|
796
|
-
|
|
796
|
+
Every link the app hands a person — Copy link, the share sheet, a QR code, an invite — is the app's public address, the one people open: `https://vibes.diy/vibe/<handle>/<app>` plus the fragment. The app runs on its own host, `<app>--<handle>.…`, whose first label names both, so one helper builds the address and follows the app through a remix:
|
|
797
|
+
|
|
798
|
+
```jsx
|
|
799
|
+
function publicUrl(hash = "") {
|
|
800
|
+
const label = location.hostname.split(".")[0];
|
|
801
|
+
const cut = label.indexOf("--");
|
|
802
|
+
return `https://vibes.diy/vibe/${label.slice(cut + 2)}/${label.slice(0, cut)}${hash}`;
|
|
803
|
+
}
|
|
804
|
+
// publicUrl(`#friend=${me}`) → https://vibes.diy/vibe/alice/picker#friend=bob
|
|
805
|
+
```
|
|
806
|
+
|
|
807
|
+
Hand `publicUrl(...)` to `navigator.clipboard.writeText`, `navigator.share` and the QR code, and keep every one-time param in the fragment.
|
|
797
808
|
|
|
798
809
|
### Say only what you can observe
|
|
799
810
|
|