@vibes.diy/vibe-srv-sandbox 12.0.7 → 12.1.0

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.
@@ -1,4 +1,5 @@
1
1
  export declare const HOST_SIGNED_OUT_KEY = "vibes.signedout";
2
+ export declare function hostStorage(): Storage | undefined;
2
3
  export declare function markHostSignedOut(): void;
3
4
  export declare function clearHostSignedOutMarker(): void;
4
5
  export declare function isHostSignedOutMarked(): boolean;
@@ -1,7 +1,7 @@
1
1
  import { exception2Result } from "@adviser/cement";
2
2
  export const HOST_SIGNED_OUT_KEY = "vibes.signedout";
3
3
  const MARK_VALUE = "1";
4
- function hostStorage() {
4
+ export function hostStorage() {
5
5
  const probed = exception2Result(() => {
6
6
  const s = globalThis.localStorage;
7
7
  if (s === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"host-signed-out-marker.js","sourceRoot":"","sources":["../jsr/host-signed-out-marker.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,SAAS,WAAW;IAClB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE;QACnC,MAAM,CAAC,GAAI,UAAyC,CAAC,YAAY,CAAC;QAClE,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAClD,CAAC;AAMD,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO;IAClC,gBAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3E,CAAC;AAGD,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO;IAClC,gBAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAClE,CAAC;AAQD,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,UAAU,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"host-signed-out-marker.js","sourceRoot":"","sources":["../jsr/host-signed-out-marker.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,MAAM,UAAU,GAAG,GAAG,CAAC;AAOvB,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE;QACnC,MAAM,CAAC,GAAI,UAAyC,CAAC,YAAY,CAAC;QAClE,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AAClD,CAAC;AAMD,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO;IAClC,gBAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3E,CAAC;AAGD,MAAM,UAAU,wBAAwB;IACtC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO;IAClC,gBAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAClE,CAAC;AAQD,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,UAAU,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,29 @@
1
+ export declare const HOST_VIEWER_IDENTITY_PREFIX = "flyhostviewerid";
2
+ export declare const HOST_SOCIAL_PREFIX = "flyhostsocial";
3
+ export interface PersistedHostViewerIdentity {
4
+ readonly userHandle: string;
5
+ readonly displayName?: string;
6
+ }
7
+ declare const hostSocialSchema: import("arktype/internal/variants/object.ts").ObjectType<{
8
+ followers: {
9
+ handle: string;
10
+ state: "active" | "requested";
11
+ }[];
12
+ followersEnabled: boolean;
13
+ following: {
14
+ handle: string;
15
+ state: "active" | "requested";
16
+ }[];
17
+ handle: string;
18
+ private: boolean;
19
+ visibility: "followers" | "private" | "public";
20
+ }, {}>;
21
+ export type PersistedHostSocialGraph = typeof hostSocialSchema.infer;
22
+ export declare function persistHostViewerIdentity(sandboxOrigin: string, viewer: PersistedHostViewerIdentity): void;
23
+ export declare function readHostViewerIdentity(sandboxOrigin: string): PersistedHostViewerIdentity | undefined;
24
+ export declare function clearHostViewerIdentity(sandboxOrigin: string): void;
25
+ export declare function persistHostSocialGraph(sandboxOrigin: string, graph: PersistedHostSocialGraph): void;
26
+ export declare function readHostSocialGraph(sandboxOrigin: string): PersistedHostSocialGraph | undefined;
27
+ export declare function clearHostSocialGraph(sandboxOrigin: string): void;
28
+ export declare function clearAllHostSoftState(): void;
29
+ export {};
@@ -0,0 +1,95 @@
1
+ import { exception2Result } from "@adviser/cement";
2
+ import { type } from "arktype";
3
+ import { EvtVibeSocialChanged } from "@vibes.diy/vibe-types";
4
+ import { hostStorage } from "./host-signed-out-marker.js";
5
+ export const HOST_VIEWER_IDENTITY_PREFIX = "flyhostviewerid";
6
+ export const HOST_SOCIAL_PREFIX = "flyhostsocial";
7
+ const hostViewerIdentitySchema = type({ userHandle: "string", "displayName?": "string" });
8
+ const hostSocialSchema = EvtVibeSocialChanged.omit("type", "requests", "soft");
9
+ function viewerKey(sandboxOrigin) {
10
+ return `${HOST_VIEWER_IDENTITY_PREFIX}:${sandboxOrigin}`;
11
+ }
12
+ function socialKey(sandboxOrigin) {
13
+ return `${HOST_SOCIAL_PREFIX}:${sandboxOrigin}`;
14
+ }
15
+ function writeJson(key, payload) {
16
+ const storage = hostStorage();
17
+ if (storage === undefined)
18
+ return;
19
+ const serialized = exception2Result(() => JSON.stringify(payload));
20
+ if (serialized.isErr())
21
+ return;
22
+ exception2Result(() => storage.setItem(key, serialized.Ok()));
23
+ }
24
+ function readJson(key) {
25
+ const storage = hostStorage();
26
+ if (storage === undefined)
27
+ return undefined;
28
+ const r = exception2Result(() => storage.getItem(key));
29
+ if (r.isErr() || r.Ok() == null)
30
+ return undefined;
31
+ const parsed = exception2Result(() => JSON.parse(r.Ok()));
32
+ return parsed.isErr() ? undefined : parsed.Ok();
33
+ }
34
+ function removeKey(key) {
35
+ const storage = hostStorage();
36
+ if (storage === undefined)
37
+ return;
38
+ exception2Result(() => storage.removeItem(key));
39
+ }
40
+ export function persistHostViewerIdentity(sandboxOrigin, viewer) {
41
+ writeJson(viewerKey(sandboxOrigin), {
42
+ userHandle: viewer.userHandle,
43
+ ...(viewer.displayName !== undefined ? { displayName: viewer.displayName } : {}),
44
+ });
45
+ }
46
+ export function readHostViewerIdentity(sandboxOrigin) {
47
+ const raw = readJson(viewerKey(sandboxOrigin));
48
+ if (raw === undefined)
49
+ return undefined;
50
+ const validated = hostViewerIdentitySchema(raw);
51
+ return validated instanceof type.errors ? undefined : validated;
52
+ }
53
+ export function clearHostViewerIdentity(sandboxOrigin) {
54
+ removeKey(viewerKey(sandboxOrigin));
55
+ }
56
+ export function persistHostSocialGraph(sandboxOrigin, graph) {
57
+ writeJson(socialKey(sandboxOrigin), {
58
+ handle: graph.handle,
59
+ private: graph.private,
60
+ following: graph.following,
61
+ followers: graph.followers,
62
+ followersEnabled: graph.followersEnabled,
63
+ visibility: graph.visibility,
64
+ });
65
+ }
66
+ export function readHostSocialGraph(sandboxOrigin) {
67
+ const raw = readJson(socialKey(sandboxOrigin));
68
+ if (raw === undefined)
69
+ return undefined;
70
+ const validated = hostSocialSchema(raw);
71
+ return validated instanceof type.errors ? undefined : validated;
72
+ }
73
+ export function clearHostSocialGraph(sandboxOrigin) {
74
+ removeKey(socialKey(sandboxOrigin));
75
+ }
76
+ export function clearAllHostSoftState() {
77
+ const storage = hostStorage();
78
+ if (storage === undefined)
79
+ return;
80
+ const keys = [];
81
+ const scan = exception2Result(() => {
82
+ for (let i = 0; i < storage.length; i++) {
83
+ const k = storage.key(i);
84
+ if (k === null)
85
+ continue;
86
+ if (k.startsWith(`${HOST_VIEWER_IDENTITY_PREFIX}:`) || k.startsWith(`${HOST_SOCIAL_PREFIX}:`))
87
+ keys.push(k);
88
+ }
89
+ });
90
+ if (scan.isErr())
91
+ return;
92
+ for (const k of keys)
93
+ exception2Result(() => storage.removeItem(k));
94
+ }
95
+ //# sourceMappingURL=host-soft-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-soft-state.js","sourceRoot":"","sources":["../jsr/host-soft-state.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from "./srv-sandbox.js";
2
2
  export * from "./host-signed-out-marker.js";
3
+ export * from "./host-soft-state.js";
package/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./srv-sandbox.js";
2
2
  export * from "./host-signed-out-marker.js";
3
+ export * from "./host-soft-state.js";
3
4
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/vibe-srv-sandbox",
3
- "version": "12.0.7",
3
+ "version": "12.1.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -15,11 +15,12 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@adviser/cement": "~0.5.34",
18
- "@vibes.diy/api-types": "12.0.7",
19
- "@vibes.diy/call-ai-v2": "12.0.7",
20
- "@vibes.diy/prompts": "12.0.7",
21
- "@vibes.diy/vibe-host-replica": "12.0.7",
22
- "@vibes.diy/vibe-types": "12.0.7",
18
+ "@vibes.diy/api-types": "12.1.0",
19
+ "@vibes.diy/call-ai-v2": "12.1.0",
20
+ "@vibes.diy/prompts": "12.1.0",
21
+ "@vibes.diy/vibe-host-replica": "12.1.0",
22
+ "@vibes.diy/vibe-types": "12.1.0",
23
+ "arktype": "~2.2.3",
23
24
  "react": "~19.2.7"
24
25
  },
25
26
  "repository": {
package/srv-sandbox.d.ts CHANGED
@@ -80,6 +80,8 @@ export declare class vibesDiySrvSandbox implements Disposable {
80
80
  private iframeSource;
81
81
  private iframeOrigin;
82
82
  private lastViewerChanged;
83
+ private publishedAuthoritativeViewer;
84
+ private deliveredSoftViewerHandle;
83
85
  private iframeTarget;
84
86
  private previousIframeSource;
85
87
  private previousIframeOrigin;
@@ -135,6 +137,10 @@ export declare class vibesDiySrvSandbox implements Disposable {
135
137
  forwardDocChangedToIframe(ownerHandle: string, appSlug: string, dbName: string, docId: string): void;
136
138
  private forwardToIframe;
137
139
  pushViewerChanged(msg: EvtVibeViewerChanged): void;
140
+ hasAuthoritativeViewerChanged(): boolean;
141
+ publishedSoftViewerHandle(): string | undefined;
142
+ private persistHostViewerFrom;
143
+ private replayHostSoftState;
138
144
  audienceActingHandlePin(): {
139
145
  actingHandle: string;
140
146
  } | Record<string, never>;
package/srv-sandbox.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { Evento, Lazy, Result, Option, EventoResult, OnFunc, } from "@adviser/cement";
2
2
  import { isEvtRuntimeReady, isEvtVibeHotSwapError, isEvtVibeHotSwapOk, actingHandlePinFrom, isReqOpenDmThread, MIRROR_PROTO, } from "@vibes.diy/vibe-types";
3
+ import { isHostSignedOutMarked } from "./host-signed-out-marker.js";
4
+ import { clearHostSocialGraph, clearHostViewerIdentity, persistHostSocialGraph, persistHostViewerIdentity, readHostSocialGraph, readHostViewerIdentity, } from "./host-soft-state.js";
3
5
  import { vibeCallAI, vibeImgGen } from "./srv-sandbox-ai-image-handlers.js";
4
6
  import { vibePutDoc, vibeGetDoc, vibeQueryDocs, vibeDeleteDoc, vibeSubscribeDocs, vibeBroadcastEphemeral, vibeWriteOutcome, vibeSetDbAcl, vibeListDbNames, vibeSyncPull, vibeSyncPush, } from "./srv-sandbox-firefly-doc-handlers.js";
5
7
  import { vibePutAsset, vibeWhoAmI, vibeAccessFnSource, vibeLookupHandles, vibeUpdateAvatarCid, vibeRequestLogin, vibeProfileInfo, } from "./srv-sandbox-asset-identity-auth-handlers.js";
@@ -59,6 +61,8 @@ export class vibesDiySrvSandbox {
59
61
  iframeSource;
60
62
  iframeOrigin;
61
63
  lastViewerChanged;
64
+ publishedAuthoritativeViewer = false;
65
+ deliveredSoftViewerHandle;
62
66
  iframeTarget;
63
67
  previousIframeSource;
64
68
  previousIframeOrigin;
@@ -324,6 +328,10 @@ export class vibesDiySrvSandbox {
324
328
  return;
325
329
  }
326
330
  this.ackSequenceRuntimeId = ready.runtimeId;
331
+ if (ready.runtimeId !== undefined) {
332
+ this.publishedAuthoritativeViewer = false;
333
+ this.deliveredSoftViewerHandle = undefined;
334
+ }
327
335
  const bridge = this.args.ensureAssetSession;
328
336
  if (bridge !== undefined) {
329
337
  void (async () => bridge())().catch((e) => {
@@ -332,6 +340,7 @@ export class vibesDiySrvSandbox {
332
340
  }
333
341
  const advertiseMirror = this.args.hostReplicaHub !== undefined && ready.mirrorProto === MIRROR_PROTO;
334
342
  this.iframeSource.postMessage({ type: "vibe.evt.runtime.ack", ...(advertiseMirror ? { mirrorProto: MIRROR_PROTO } : {}) }, this.iframeOrigin);
343
+ this.replayHostSoftState();
335
344
  const replay = this.lastKnownGoodSource;
336
345
  if (replay !== undefined &&
337
346
  this.sourceIdentityMatchesCurrent(replay.identity) &&
@@ -435,11 +444,75 @@ export class vibesDiySrvSandbox {
435
444
  }
436
445
  pushViewerChanged(msg) {
437
446
  this.lastViewerChanged = msg;
447
+ if (msg.soft !== true && msg.pending !== true)
448
+ this.publishedAuthoritativeViewer = true;
449
+ this.persistHostViewerFrom(msg);
438
450
  if (this.iframeSource && this.iframeOrigin) {
439
451
  this.iframeSource.postMessage(msg, this.iframeOrigin);
452
+ this.deliveredSoftViewerHandle = msg.soft === true ? (msg.viewer?.userHandle ?? undefined) : undefined;
440
453
  }
441
454
  this.onViewerChanged.invoke(msg);
442
455
  }
456
+ hasAuthoritativeViewerChanged() {
457
+ return this.publishedAuthoritativeViewer;
458
+ }
459
+ publishedSoftViewerHandle() {
460
+ return this.deliveredSoftViewerHandle;
461
+ }
462
+ persistHostViewerFrom(msg) {
463
+ if (msg.soft === true || msg.pending === true)
464
+ return;
465
+ const origin = this.iframeOrigin;
466
+ if (origin === undefined)
467
+ return;
468
+ if (msg.viewer === null) {
469
+ if (msg.signedOut === true) {
470
+ clearHostViewerIdentity(origin);
471
+ clearHostSocialGraph(origin);
472
+ }
473
+ return;
474
+ }
475
+ persistHostViewerIdentity(origin, msg.viewer);
476
+ }
477
+ replayHostSoftState() {
478
+ if (this.publishedAuthoritativeViewer)
479
+ return;
480
+ if (isHostSignedOutMarked())
481
+ return;
482
+ const origin = this.iframeOrigin;
483
+ if (origin === undefined)
484
+ return;
485
+ const viewer = readHostViewerIdentity(origin);
486
+ if (viewer === undefined)
487
+ return;
488
+ this.pushViewerChanged({
489
+ type: "vibe.evt.viewerChanged",
490
+ viewer: {
491
+ userHandle: viewer.userHandle,
492
+ ...(viewer.displayName !== undefined ? { displayName: viewer.displayName } : {}),
493
+ },
494
+ access: "none",
495
+ soft: true,
496
+ });
497
+ const graph = readHostSocialGraph(origin);
498
+ if (graph === undefined)
499
+ return;
500
+ if (graph.handle !== viewer.userHandle) {
501
+ clearHostSocialGraph(origin);
502
+ return;
503
+ }
504
+ this.pushSocialChanged({
505
+ type: "vibe.evt.socialChanged",
506
+ handle: graph.handle,
507
+ private: graph.private,
508
+ following: graph.following,
509
+ followers: graph.followers,
510
+ requests: [],
511
+ followersEnabled: graph.followersEnabled,
512
+ visibility: graph.visibility,
513
+ soft: true,
514
+ });
515
+ }
443
516
  audienceActingHandlePin() {
444
517
  return actingHandlePinFrom(this.lastViewerChanged);
445
518
  }
@@ -455,11 +528,15 @@ export class vibesDiySrvSandbox {
455
528
  }
456
529
  }
457
530
  pushSocialChanged(msg) {
531
+ if (msg.soft !== true && this.iframeOrigin !== undefined)
532
+ persistHostSocialGraph(this.iframeOrigin, msg);
458
533
  if (this.iframeSource && this.iframeOrigin) {
459
534
  this.iframeSource.postMessage(msg, this.iframeOrigin);
460
535
  }
461
536
  }
462
537
  pushSocialCleared() {
538
+ if (this.iframeOrigin !== undefined)
539
+ clearHostSocialGraph(this.iframeOrigin);
463
540
  if (this.iframeSource && this.iframeOrigin) {
464
541
  this.iframeSource.postMessage({ type: "vibe.evt.socialCleared" }, this.iframeOrigin);
465
542
  }
@@ -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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"}