@vibes.diy/vibe-srv-sandbox 4.5.5 → 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 +4 -4
- package/package.json +6 -5
- package/srv-sandbox-social-handler.d.ts +10 -0
- package/srv-sandbox-social-handler.js +125 -0
- package/srv-sandbox-social-handler.js.map +1 -0
- package/srv-sandbox-types.d.ts +12 -0
- package/srv-sandbox.d.ts +15 -1
- package/srv-sandbox.js +29 -0
- package/srv-sandbox.js.map +1 -1
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/)
|
|
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
|
|
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
|
|
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
|
-
|
|
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": "
|
|
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": "
|
|
18
|
-
"@vibes.diy/call-ai-v2": "
|
|
19
|
-
"@vibes.diy/prompts": "
|
|
20
|
-
"@vibes.diy/vibe-types": "
|
|
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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"}
|
package/srv-sandbox-types.d.ts
CHANGED
|
@@ -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;
|
package/srv-sandbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"srv-sandbox.js","sourceRoot":"","sources":["../jsr/srv-sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAGN,IAAI,EACJ,MAAM,EAEN,MAAM,EAEN,YAAY,EAGZ,MAAM,GACP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EAIjB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"srv-sandbox.js","sourceRoot":"","sources":["../jsr/srv-sandbox.ts"],"names":[],"mappings":"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"}
|