@vibes.diy/vibe-srv-sandbox 5.0.1 → 5.2.2

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/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # ✨ Vibes DIY — make apps with your friends, run the front counter
5
5
 
6
- Software is getting weird again. Describe what you want and get a real, live app — fun, done, and alive. [Try it now](https://vibes.diy/) or [fork on GitHub](https://github.com/VibesDIY/vibes.diy).
6
+ Software is getting weird again. Describe what you want and get a real, live app — fun, done, and alive. [Try it now](https://vibes.diy/).
7
7
 
8
8
  Make apps with your friends — or run the front counter. So easy even AI can do it. Describe your app in plain words, it builds instantly, and you keep changing it just by talking to it. Share the link and your friends — or your customers — join right away. No setup, no "wait, let me send you the invite."
9
9
 
@@ -27,17 +27,17 @@ Private by default — or open to the world. You choose. Keep an app to the peop
27
27
 
28
28
  ## Open source
29
29
 
30
- The whole platform is open source under Apache 2.0. Read the code, open an issue, send a PR.
30
+ The `vibes-diy` CLI, the `use-vibes` SDK, and the system prompts behind the generator are open source under Apache 2.0 — published on npm, with their public home at [VibesDIY/use-vibes](https://github.com/VibesDIY/use-vibes). Read the code, open an issue, send a PR.
31
31
 
32
32
  ## Quick Start
33
33
 
34
34
  1. [Try the demo](https://vibes.diy/) — no setup required.
35
- 2. Or hack on the code: clone the repo, `pnpm install`, and `pnpm build` the build, lint, and test suite work from a fresh clone with no secrets. The full web app runs locally too: `pnpm dev:setup` generates the needed dev environment (no team secrets required); the [Contributing Guide](CONTRIBUTING.md#running-the-web-app-locally) walks the whole path.
35
+ 2. Or build from the terminal: `npx vibes-diy login`, then `npx vibes-diy generate "a scoreboard for our pickup basketball games"`. The [CLI handbook](https://good.vibes.diy/docs/cli) covers the rest.
36
36
 
37
37
  ## Community
38
38
 
39
39
  We are committed to providing a welcoming and inclusive environment for all contributors. Please review our [Code of Conduct](CODE_OF_CONDUCT.md) before participating.
40
40
 
41
- Interested in contributing? Check out our [Contributing Guide](CONTRIBUTING.md) to get started.
41
+ Bug reports and feature requests are welcome at [VibesDIY/use-vibes](https://github.com/VibesDIY/use-vibes/issues).
42
42
 
43
43
  Find us on [Discord](https://discord.gg/vnpWycj4Ta), [Substack](https://vibesdiy.substack.com/), [YouTube](https://www.youtube.com/@VibesDIY), and [Bluesky](https://bsky.app/profile/vibes.diy).
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@vibes.diy/vibe-srv-sandbox",
3
- "version": "5.0.1",
3
+ "version": "5.2.2",
4
+ "license": "Apache-2.0",
4
5
  "type": "module",
5
6
  "main": "./index.js",
6
7
  "exports": {
@@ -14,10 +15,10 @@
14
15
  },
15
16
  "dependencies": {
16
17
  "@adviser/cement": "~0.5.34",
17
- "@vibes.diy/api-types": "5.0.1",
18
- "@vibes.diy/call-ai-v2": "5.0.1",
19
- "@vibes.diy/prompts": "5.0.1",
20
- "@vibes.diy/vibe-types": "5.0.1",
18
+ "@vibes.diy/api-types": "5.2.2",
19
+ "@vibes.diy/call-ai-v2": "5.2.2",
20
+ "@vibes.diy/prompts": "5.2.2",
21
+ "@vibes.diy/vibe-types": "5.2.2",
21
22
  "react": "~19.2.7"
22
23
  },
23
24
  "repository": {
@@ -0,0 +1,10 @@
1
+ import { EventoHandler } from "@adviser/cement";
2
+ import { type EvtVibeSocialChanged } from "@vibes.diy/vibe-types";
3
+ import { type ResSocialList } from "@vibes.diy/api-types";
4
+ import type { VibeApiCapableSandbox } from "./srv-sandbox-types.js";
5
+ export interface SocialPushCapableSandbox extends VibeApiCapableSandbox {
6
+ pushSocialChanged(msg: EvtVibeSocialChanged): void;
7
+ }
8
+ export declare function socialChangedFromList(res: ResSocialList, followersEnabled: boolean): EvtVibeSocialChanged;
9
+ export declare function vibeSocial(sandbox: SocialPushCapableSandbox): EventoHandler;
10
+ export declare function vibeRequestFollowersAccess(sandbox: SocialPushCapableSandbox): EventoHandler;
@@ -0,0 +1,125 @@
1
+ import { Result, Option, EventoResult, } from "@adviser/cement";
2
+ import { isReqVibeSocial, isReqVibeRequestFollowersAccess, } from "@vibes.diy/vibe-types";
3
+ import { resolvePromptOutcome } from "@vibes.diy/api-types";
4
+ import { requireVibeApi } from "./srv-sandbox-firefly-doc-handlers.js";
5
+ export function socialChangedFromList(res, followersEnabled) {
6
+ return {
7
+ type: "vibe.evt.socialChanged",
8
+ handle: res.handle,
9
+ private: res.private,
10
+ following: res.following.map((e) => ({ handle: e.followeeHandle, state: e.state })),
11
+ followers: res.followers.map((e) => ({ handle: e.followerHandle, state: e.state })),
12
+ requests: res.requests.map((e) => ({ handle: e.followerHandle, state: e.state })),
13
+ followersEnabled,
14
+ };
15
+ }
16
+ async function resolveFollowersEnabled(api, ownerHandle, appSlug) {
17
+ const r = await api.audienceArmState({ ownerHandle, appSlug });
18
+ return r.isOk() && r.Ok().state === "allow";
19
+ }
20
+ const SOCIAL_MUTATION = {
21
+ follow: (api, handle) => api.socialFollow({ targetHandle: handle }),
22
+ unfollow: (api, handle) => api.socialUnfollow({ targetHandle: handle }),
23
+ approve: (api, handle) => api.socialApprove({ followerHandle: handle }),
24
+ "remove-follower": (api, handle) => api.socialRemoveFollower({ followerHandle: handle }),
25
+ block: (api, handle) => api.socialBlock({ targetHandle: handle }),
26
+ };
27
+ export function vibeSocial(sandbox) {
28
+ return {
29
+ hash: "vibe.social",
30
+ validate: (ctx) => {
31
+ const { request: req } = ctx;
32
+ if (isReqVibeSocial(req?.data)) {
33
+ return Promise.resolve(Result.Ok(Option.Some(req.data)));
34
+ }
35
+ return Promise.resolve(Result.Ok(Option.None()));
36
+ },
37
+ handle: async (ctx) => {
38
+ const api = await requireVibeApi(sandbox, ctx, "vibe.res.social");
39
+ if (api === undefined)
40
+ return Result.Ok(EventoResult.Stop);
41
+ const { tid, action, handle, ownerHandle, appSlug } = ctx.validated;
42
+ const rMut = await SOCIAL_MUTATION[action](api, handle);
43
+ if (rMut.isErr()) {
44
+ await ctx.send.send(ctx, {
45
+ tid,
46
+ type: "vibe.res.social",
47
+ status: "error",
48
+ message: rMut.Err().message,
49
+ });
50
+ return Result.Ok(EventoResult.Stop);
51
+ }
52
+ const rList = await api.socialList({});
53
+ if (rList.isOk()) {
54
+ const followersEnabled = await resolveFollowersEnabled(api, ownerHandle, appSlug);
55
+ sandbox.pushSocialChanged(socialChangedFromList(rList.Ok(), followersEnabled));
56
+ }
57
+ await ctx.send.send(ctx, { tid, type: "vibe.res.social", status: "ok" });
58
+ return Result.Ok(EventoResult.Stop);
59
+ },
60
+ };
61
+ }
62
+ export function vibeRequestFollowersAccess(sandbox) {
63
+ return {
64
+ hash: "vibe.request-followers-access",
65
+ validate: (ctx) => {
66
+ const { request: req } = ctx;
67
+ if (isReqVibeRequestFollowersAccess(req?.data)) {
68
+ return Promise.resolve(Result.Ok(Option.Some(req.data)));
69
+ }
70
+ return Promise.resolve(Result.Ok(Option.None()));
71
+ },
72
+ handle: async (ctx) => {
73
+ const api = await requireVibeApi(sandbox, ctx, "vibe.res.requestFollowersAccess");
74
+ if (api === undefined)
75
+ return Result.Ok(EventoResult.Stop);
76
+ const { tid } = ctx.validated;
77
+ const identity = sandbox.appIdentity;
78
+ if (identity === undefined) {
79
+ await ctx.send.send(ctx, {
80
+ tid,
81
+ type: "vibe.res.requestFollowersAccess",
82
+ status: "ok",
83
+ });
84
+ return Result.Ok(EventoResult.Stop);
85
+ }
86
+ const { ownerHandle, appSlug } = identity;
87
+ const rState = await api.audienceArmState({ ownerHandle, appSlug });
88
+ let followersEnabled = false;
89
+ if (rState.isOk()) {
90
+ const { state, policy, sensitive } = rState.Ok();
91
+ if (state === "allow") {
92
+ followersEnabled = true;
93
+ }
94
+ else {
95
+ const outcome = resolvePromptOutcome({ policy, sensitive, prior: state });
96
+ if (outcome === "auto-allow") {
97
+ const rSet = await api.setAudienceArm({ ownerHandle, appSlug, state: "allow" });
98
+ followersEnabled = rSet.isOk();
99
+ }
100
+ else if (outcome === "prompt" && sandbox.args.confirmFollowersAccess) {
101
+ const decision = await sandbox.args.confirmFollowersAccess({ ownerHandle, appSlug, sensitive });
102
+ if (decision.action === "allow") {
103
+ const rSet = await api.setAudienceArm({ ownerHandle, appSlug, state: "allow" });
104
+ followersEnabled = rSet.isOk();
105
+ }
106
+ if (decision.dontAskAgain) {
107
+ await api.setAudiencePolicy({ policy: decision.action === "allow" ? "always-allow" : "never-allow" });
108
+ }
109
+ }
110
+ }
111
+ }
112
+ const rList = await api.socialList({});
113
+ if (rList.isOk()) {
114
+ sandbox.pushSocialChanged(socialChangedFromList(rList.Ok(), followersEnabled));
115
+ }
116
+ await ctx.send.send(ctx, {
117
+ tid,
118
+ type: "vibe.res.requestFollowersAccess",
119
+ status: "ok",
120
+ });
121
+ return Result.Ok(EventoResult.Stop);
122
+ },
123
+ };
124
+ }
125
+ //# sourceMappingURL=srv-sandbox-social-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"srv-sandbox-social-handler.js","sourceRoot":"","sources":["../jsr/srv-sandbox-social-handler.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,24 @@ export interface VibesDiySrvSandboxArgs {
17
17
  getURL?: string;
18
18
  handle?: string;
19
19
  }) => Promise<boolean>;
20
+ confirmFollowersAccess?: (req: {
21
+ ownerHandle: string;
22
+ appSlug: string;
23
+ sensitive: boolean;
24
+ }) => Promise<{
25
+ action: "allow" | "decline";
26
+ dontAskAgain: boolean;
27
+ }>;
20
28
  ensureAssetSession?: () => Promise<void>;
21
29
  nativeInference?: NativeInference;
22
30
  }
23
31
  export interface VibeApiCapableSandbox {
24
32
  readonly args: VibesDiySrvSandboxArgs;
25
33
  readonly vibeApi: VibesDiyApiIface | undefined;
34
+ readonly appIdentity: {
35
+ ownerHandle: string;
36
+ appSlug: string;
37
+ } | undefined;
26
38
  recordAssetGetURL(cid: string, getURL: string): void;
27
39
  getAssetGetURL(cid: string): string | undefined;
28
40
  }
package/srv-sandbox.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { Evento, EventoEnDecoder, HandleTriggerCtx, Result, EventoSendProvider } from "@adviser/cement";
2
- import { type EvtVibeViewerChanged, type EvtVibeColorOverride } from "@vibes.diy/vibe-types";
2
+ import { type EvtVibeViewerChanged, type EvtVibeSocialChanged, type EvtVibeColorOverride } from "@vibes.diy/vibe-types";
3
3
  import type { VibesDiyApiIface } from "@vibes.diy/api-types";
4
4
  import type { VibesDiySrvSandboxArgs } from "./srv-sandbox-types.js";
5
5
  export { getCodeBlock, getImageFiles, vibeCallAI, isNativeEligible, NATIVE_ELIGIBLE_MAX_CHARS, } from "./srv-sandbox-ai-image-handlers.js";
6
+ export { vibeSocial, vibeRequestFollowersAccess, socialChangedFromList, type SocialPushCapableSandbox, } from "./srv-sandbox-social-handler.js";
6
7
  export declare class MessageEventEventoEnDecoder implements EventoEnDecoder<MessageEvent, unknown> {
7
8
  encode(me: MessageEvent): Promise<Result<unknown>>;
8
9
  decode(data: unknown): Promise<Result<unknown>>;
@@ -18,6 +19,7 @@ export declare class vibesDiySrvSandbox implements Disposable {
18
19
  readonly onRuntimeReady: import("@adviser/cement").ReturnOnFunc<[evt: {
19
20
  type: "vibe.evt.runtime.ready";
20
21
  deps: string[];
22
+ fsId?: string | undefined;
21
23
  }], unknown, unknown>;
22
24
  readonly onHotSwapError: import("@adviser/cement").ReturnOnFunc<[err: {
23
25
  readonly message: string;
@@ -37,6 +39,15 @@ export declare class vibesDiySrvSandbox implements Disposable {
37
39
  private docEphemeralUnsub;
38
40
  private docEphemeralDropUnsub;
39
41
  get vibeApi(): VibesDiyApiIface | undefined;
42
+ private currentAppIdentity;
43
+ get appIdentity(): {
44
+ ownerHandle: string;
45
+ appSlug: string;
46
+ } | undefined;
47
+ setAppIdentity(identity: {
48
+ ownerHandle: string;
49
+ appSlug: string;
50
+ } | undefined): void;
40
51
  setVibeApi(vibeApi: VibesDiyApiIface | undefined): void;
41
52
  recordAssetGetURL(cid: string, getURL: string): void;
42
53
  getAssetGetURL(cid: string): string | undefined;
@@ -44,10 +55,13 @@ export declare class vibesDiySrvSandbox implements Disposable {
44
55
  forwardDocChangedToIframe(ownerHandle: string, appSlug: string, dbName: string, docId: string): void;
45
56
  private forwardToIframe;
46
57
  pushViewerChanged(msg: EvtVibeViewerChanged): void;
58
+ pushSocialChanged(msg: EvtVibeSocialChanged): void;
59
+ pushSocialCleared(): void;
47
60
  pushColorOverride(msg: EvtVibeColorOverride): void;
48
61
  pushScrollToTop(): void;
49
62
  pushEnablePullToRefresh(): void;
50
63
  pushSource(source: string): boolean;
64
+ pushSourceEphemeral(source: string): boolean;
51
65
  clearPendingSource(): void;
52
66
  readonly removeEventListeners: typeof window.removeEventListener;
53
67
  readonly args: VibesDiySrvSandboxArgs;
package/srv-sandbox.js CHANGED
@@ -3,7 +3,9 @@ import { isEvtRuntimeReady, isEvtVibeHotSwapError, isReqOpenDmThread, } from "@v
3
3
  import { vibeCallAI, vibeImgGen } from "./srv-sandbox-ai-image-handlers.js";
4
4
  import { vibePutDoc, vibeGetDoc, vibeQueryDocs, vibeDeleteDoc, vibeSubscribeDocs, vibeBroadcastEphemeral, vibeSetDbAcl, vibeListDbNames, } from "./srv-sandbox-firefly-doc-handlers.js";
5
5
  import { vibePutAsset, vibeWhoAmI, vibeAccessFnSource, vibeLookupHandles, vibeUpdateAvatarCid, vibeRequestLogin, } from "./srv-sandbox-asset-identity-auth-handlers.js";
6
+ import { vibeSocial, vibeRequestFollowersAccess } from "./srv-sandbox-social-handler.js";
6
7
  export { getCodeBlock, getImageFiles, vibeCallAI, isNativeEligible, NATIVE_ELIGIBLE_MAX_CHARS, } from "./srv-sandbox-ai-image-handlers.js";
8
+ export { vibeSocial, vibeRequestFollowersAccess, socialChangedFromList, } from "./srv-sandbox-social-handler.js";
7
9
  export class MessageEventEventoEnDecoder {
8
10
  async encode(me) {
9
11
  return Result.Ok(me);
@@ -57,6 +59,13 @@ export class vibesDiySrvSandbox {
57
59
  get vibeApi() {
58
60
  return this.currentVibeApi;
59
61
  }
62
+ currentAppIdentity;
63
+ get appIdentity() {
64
+ return this.currentAppIdentity;
65
+ }
66
+ setAppIdentity(identity) {
67
+ this.currentAppIdentity = identity;
68
+ }
60
69
  setVibeApi(vibeApi) {
61
70
  if (vibeApi === this.currentVibeApi)
62
71
  return;
@@ -147,6 +156,16 @@ export class vibesDiySrvSandbox {
147
156
  this.iframeSource.postMessage(msg, this.iframeOrigin);
148
157
  }
149
158
  }
159
+ pushSocialChanged(msg) {
160
+ if (this.iframeSource && this.iframeOrigin) {
161
+ this.iframeSource.postMessage(msg, this.iframeOrigin);
162
+ }
163
+ }
164
+ pushSocialCleared() {
165
+ if (this.iframeSource && this.iframeOrigin) {
166
+ this.iframeSource.postMessage({ type: "vibe.evt.socialCleared" }, this.iframeOrigin);
167
+ }
168
+ }
150
169
  pushColorOverride(msg) {
151
170
  if (this.iframeSource && this.iframeOrigin) {
152
171
  this.iframeSource.postMessage(msg, this.iframeOrigin);
@@ -171,6 +190,14 @@ export class vibesDiySrvSandbox {
171
190
  this.iframeSource.postMessage(msg, this.iframeOrigin);
172
191
  return true;
173
192
  }
193
+ pushSourceEphemeral(source) {
194
+ if (this.iframeSource === undefined || this.iframeOrigin === undefined) {
195
+ return false;
196
+ }
197
+ const msg = { type: "vibe.evt.set-source", source };
198
+ this.iframeSource.postMessage(msg, this.iframeOrigin);
199
+ return true;
200
+ }
174
201
  clearPendingSource() {
175
202
  if (this.pendingSource === undefined)
176
203
  return;
@@ -199,6 +226,8 @@ export class vibesDiySrvSandbox {
199
226
  vibeLookupHandles(this),
200
227
  vibeUpdateAvatarCid(this),
201
228
  vibeRequestLogin(this),
229
+ vibeSocial(this),
230
+ vibeRequestFollowersAccess(this),
202
231
  ]);
203
232
  this.args.eventListeners.addEventListener("message", this.handleMessage);
204
233
  this.removeEventListeners = this.args.eventListeners.removeEventListener;
@@ -1 +1 @@
1
- {"version":3,"file":"srv-sandbox.js","sourceRoot":"","sources":["../jsr/srv-sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"srv-sandbox.js","sourceRoot":"","sources":["../jsr/srv-sandbox.ts"],"names":[],"mappings":"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"}