@vibes.diy/api-svc 14.3.133 → 14.3.137
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/create-handler.js +2 -0
- package/create-handler.js.map +1 -1
- package/evento-handler-manifest.js +2 -0
- package/evento-handler-manifest.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/intern/agent-session-instruction.d.ts +2 -2
- package/intern/agent-session-instruction.js +5 -2
- package/intern/agent-session-instruction.js.map +1 -1
- package/intern/backend-db-callback.js +2 -2
- package/intern/backend-db-callback.js.map +1 -1
- package/intern/builder-elided-output.d.ts +7 -0
- package/intern/builder-elided-output.js +10 -0
- package/intern/builder-elided-output.js.map +1 -0
- package/intern/components/boot-progress-script.d.ts +19 -0
- package/intern/components/boot-progress-script.js +76 -0
- package/intern/components/boot-progress-script.js.map +1 -0
- package/intern/components/vibe-page.js +11 -0
- package/intern/components/vibe-page.js.map +1 -1
- package/intern/delete-access-gate.js +2 -2
- package/intern/delete-access-gate.js.map +1 -1
- package/intern/emit-build-state.d.ts +2 -1
- package/intern/emit-build-state.js +6 -1
- package/intern/emit-build-state.js.map +1 -1
- package/intern/get-vibe-route-hints.js +3 -2
- package/intern/get-vibe-route-hints.js.map +1 -1
- package/intern/grouped-vibe-import-map.d.ts +21 -0
- package/intern/grouped-vibe-import-map.js +24 -3
- package/intern/grouped-vibe-import-map.js.map +1 -1
- package/intern/guest-app-move.d.ts +71 -0
- package/intern/guest-app-move.js +490 -0
- package/intern/guest-app-move.js.map +1 -0
- package/intern/guest-principal-claim.d.ts +3 -0
- package/intern/guest-principal-claim.js +58 -3
- package/intern/guest-principal-claim.js.map +1 -1
- package/intern/guest-principal-follow.js +4 -0
- package/intern/guest-principal-follow.js.map +1 -1
- package/intern/import-map.d.ts +1 -0
- package/intern/import-map.js +7 -0
- package/intern/import-map.js.map +1 -1
- package/intern/onboarding-handle.js.map +1 -1
- package/intern/open-turn-sweep.d.ts +9 -1
- package/intern/open-turn-sweep.js +15 -0
- package/intern/open-turn-sweep.js.map +1 -1
- package/intern/opens-check.js +2 -0
- package/intern/opens-check.js.map +1 -1
- package/intern/process-access-bindings.js +2 -2
- package/intern/process-access-bindings.js.map +1 -1
- package/intern/render-db-explorer.d.ts +2 -0
- package/intern/render-db-explorer.js +1 -0
- package/intern/render-db-explorer.js.map +1 -1
- package/intern/render-vibe.d.ts +3 -0
- package/intern/render-vibe.js +27 -4
- package/intern/render-vibe.js.map +1 -1
- package/intern/root-html-cache-contract.js.map +1 -1
- package/intern/swr-html-cache-orchestrator.d.ts +2 -1
- package/intern/swr-html-cache-orchestrator.js +15 -6
- package/intern/swr-html-cache-orchestrator.js.map +1 -1
- package/intern/swr-html-cache.d.ts +1 -0
- package/intern/swr-html-cache.js +2 -0
- package/intern/swr-html-cache.js.map +1 -1
- package/intern/swr-purge.js +24 -0
- package/intern/swr-purge.js.map +1 -1
- package/intern/swr-wrapper-html-cache.d.ts +13 -0
- package/intern/swr-wrapper-html-cache.js +28 -4
- package/intern/swr-wrapper-html-cache.js.map +1 -1
- package/intern/vibe-pkg-hashed-import-map.d.ts +24 -0
- package/intern/vibe-pkg-hashed-import-map.js +73 -0
- package/intern/vibe-pkg-hashed-import-map.js.map +1 -0
- package/intern/vibe-preload-modules.d.ts +1 -1
- package/intern/vibe-preload-modules.js +10 -0
- package/intern/vibe-preload-modules.js.map +1 -1
- package/package.json +15 -14
- package/public/app-documents-read-eventos.js +3 -7
- package/public/app-documents-read-eventos.js.map +1 -1
- package/public/claim-guest-principal.js +2 -0
- package/public/claim-guest-principal.js.map +1 -1
- package/public/ensure-user-settings.js +5 -7
- package/public/ensure-user-settings.js.map +1 -1
- package/public/invite-app-card.d.ts +10 -0
- package/public/invite-app-card.js +17 -0
- package/public/invite-app-card.js.map +1 -0
- package/public/invite-peek.d.ts +5 -0
- package/public/invite-peek.js +46 -0
- package/public/invite-peek.js.map +1 -0
- package/public/invite-subject-aliases.js +20 -5
- package/public/invite-subject-aliases.js.map +1 -1
- package/public/open-chat.js +5 -0
- package/public/open-chat.js.map +1 -1
- package/public/prompt-turn-terminal.js +15 -0
- package/public/prompt-turn-terminal.js.map +1 -1
- package/public/resolve-active-handle.d.ts +0 -1
- package/public/resolve-active-handle.js +0 -12
- package/public/resolve-active-handle.js.map +1 -1
- package/public/serv-entry-point.d.ts +3 -1
- package/public/serv-entry-point.js +52 -4
- package/public/serv-entry-point.js.map +1 -1
- package/public/stream-assembly.js +14 -0
- package/public/stream-assembly.js.map +1 -1
- package/public/sync-eventos.d.ts +1 -0
- package/public/sync-eventos.js +50 -27
- package/public/sync-eventos.js.map +1 -1
- package/public/user-slug-bindings.js +20 -0
- package/public/user-slug-bindings.js.map +1 -1
- package/public/viewer-channel-resolver.js +2 -2
- package/public/viewer-channel-resolver.js.map +1 -1
- package/public/who-am-i.d.ts +3 -0
- package/public/who-am-i.js +30 -2
- package/public/who-am-i.js.map +1 -1
- package/public/write-front-door.js +2 -2
- package/public/write-front-door.js.map +1 -1
- package/usage-report/backfill-provisional-app-moves-util.d.ts +24 -0
- package/usage-report/backfill-provisional-app-moves-util.js +70 -0
- package/usage-report/backfill-provisional-app-moves-util.js.map +1 -0
- package/usage-report/backfill-provisional-app-moves.d.ts +1 -0
- package/usage-report/backfill-provisional-app-moves.js +92 -0
- package/usage-report/backfill-provisional-app-moves.js.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swr-html-cache-orchestrator.js","sourceRoot":"","sources":["../../jsr/intern/swr-html-cache-orchestrator.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,yBAAyB,EACzB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"swr-html-cache-orchestrator.js","sourceRoot":"","sources":["../../jsr/intern/swr-html-cache-orchestrator.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,yBAAyB,EACzB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA+EtD,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,eAAmC,EAAE,IAAa,EAAE,MAAgB;IACrH,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,wBAAwB,kBAAkB,CAAC,qBAAqB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,aAAa,wBAAwB,EAAE,CAAC;IAC7K,CAAC;IACD,OAAO,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,kBAAkB,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;AAChH,CAAC;AAUD,SAAS,kBAAkB,CAAC,IAAwB;IAClD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC;AAChD,CAAC;AAMD,SAAS,iBAAiB,CAAC,QAAgB;IACzC,OAAO,iDAAiD,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AA8CD,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,MAAc,EACd,IAAa,EACb,QAAkB,EAClB,QAAiB,EACjB,YAAsB;IAEtB,MAAM,YAAY,GAChB,QAAQ,KAAK,IAAI;QACf,CAAC,CAAC,0BAA0B,uBAAuB,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACvH,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,kBAAkB,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,aAAa,wBAAwB,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,IAAI,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAC;AACpO,CAAC;AA+CD,SAAS,WAAW,CAAC,GAAY,EAAE,eAAmC,EAAE,MAAe;IACrF,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAI3C,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAGvE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAI7B,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IAInG,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAKrE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAK9F,IAAI,MAA0B,CAAC;IAC/B,IAAI,QAA4B,CAAC;IACjC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC3C,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;aAAM,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACrC,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC9E,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAC;YAChC,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACrC,IAAI,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAC/B,IAAI,KAAK,KAAK,GAAG;gBAAE,OAAO,SAAS,CAAC;YACpC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAMzC,IAAI,YAAY;gBAAE,OAAO,SAAS,CAAC;YACnC,IAAI,KAAK,KAAK,kBAAkB;gBAAE,OAAO,SAAS,CAAC;YACnD,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,eAAe,KAAK,SAAS,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,eAAe,CAAC;QAAE,OAAO,SAAS,CAAC;IAO3G,OAAO,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,YAAY,CAAC,CAAC;AACtG,CAAC;AAID,SAAS,cAAc,CAAC,GAAY;IAClC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAChC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACpC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAID,SAAS,eAAe,CAAC,MAAgB,EAAE,aAAiC;IAC1E,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,SAAS,CAAC,KAAK,aAAa,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAA8B,EAAE,GAAW;IACvE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAGzB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QAUN,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAKD,SAAS,QAAQ,CAAC,GAAY,EAAE,IAAmB;IACjD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAA8B;IACvE,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC;IAC9F,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAMvD,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;IAC5F,MAAM,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,gCAAgC,CAAC;IAE/G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAK3C,IAAI,MAAM,KAAK,SAAS,IAAI,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACxE,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBAItB,IAAI,CAAC,SAAS,CACZ,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAC5B,GAAG,EAAE,CAAC,SAAS,EAiBf,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CACrE,CACF,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC;YAO5E,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBASvD,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC;oBACpB,eAAe,EAAE,kBAAkB;oBACnC,CAAC,kBAAkB,CAAC,EAAE,UAAU;iBACjC,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBACrE,IAAI,UAAU,KAAK,IAAI;oBAAE,CAAC,CAAC,GAAG,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;gBAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxC,IAAI,IAAI,KAAK,IAAI;oBAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACvC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACxC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const CACHEABLE_MARKER_HEADER = "x-vibes-root-cacheable";
|
|
2
2
|
export declare const CACHED_AT_HEADER = "x-vibes-cached-at";
|
|
3
|
+
export declare const MANIFEST_HASH_HEADER = "x-vibes-swr-manifest";
|
|
3
4
|
export declare const CACHE_STATE_HEADER = "x-vibes-cache";
|
|
4
5
|
export declare const SWR_FRESH_MS: number;
|
|
5
6
|
export declare const SWR_MAX_AGE_MS: number;
|
package/intern/swr-html-cache.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { URI } from "@adviser/cement";
|
|
2
2
|
export const CACHEABLE_MARKER_HEADER = "x-vibes-root-cacheable";
|
|
3
3
|
export const CACHED_AT_HEADER = "x-vibes-cached-at";
|
|
4
|
+
export const MANIFEST_HASH_HEADER = "x-vibes-swr-manifest";
|
|
4
5
|
export const CACHE_STATE_HEADER = "x-vibes-cache";
|
|
5
6
|
export const SWR_FRESH_MS = 60 * 1000;
|
|
6
7
|
export const SWR_MAX_AGE_MS = Number.POSITIVE_INFINITY;
|
|
@@ -40,6 +41,7 @@ export function toCacheableStoredResponse(res, now) {
|
|
|
40
41
|
export function fromStoredResponse(stored, state, clientCacheControl = UNVERSIONED_CLIENT_CACHE_CONTROL) {
|
|
41
42
|
const headers = new Headers(stored.headers);
|
|
42
43
|
headers.delete(CACHED_AT_HEADER);
|
|
44
|
+
headers.delete(MANIFEST_HASH_HEADER);
|
|
43
45
|
headers.set("Cache-Control", clientCacheControl);
|
|
44
46
|
headers.set(CACHE_STATE_HEADER, state);
|
|
45
47
|
return new Response(stored.body, { status: stored.status, headers });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swr-html-cache.js","sourceRoot":"","sources":["../../jsr/intern/swr-html-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAYtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEhE,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"swr-html-cache.js","sourceRoot":"","sources":["../../jsr/intern/swr-html-cache.ts"],"names":[],"mappings":"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"}
|
package/intern/swr-purge.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { URI } from "@adviser/cement";
|
|
1
2
|
import { calcEntryPointUrl } from "../entry-point-utils.js";
|
|
2
3
|
import { bareRootHtmlSwrKey, pinnedRootHtmlSwrKey } from "./swr-html-cache-orchestrator.js";
|
|
4
|
+
import { wrapperHtmlSwrKey } from "./swr-wrapper-html-cache.js";
|
|
3
5
|
export function purgeRootHtmlCacheSameColo(vctx, ownerHandle, appSlug) {
|
|
4
6
|
try {
|
|
5
7
|
const entry = calcEntryPointUrl({ ...vctx.params.vibes.svc, bindings: { ownerHandle, appSlug } });
|
|
@@ -7,12 +9,34 @@ export function purgeRootHtmlCacheSameColo(vctx, ownerHandle, appSlug) {
|
|
|
7
9
|
const workspace = vctx.params.pkgRepos.workspace;
|
|
8
10
|
for (const key of [
|
|
9
11
|
bareRootHtmlSwrKey(origin, workspace),
|
|
12
|
+
bareRootHtmlSwrKey(origin, workspace, undefined, true),
|
|
10
13
|
pinnedRootHtmlSwrKey(origin, workspace),
|
|
11
14
|
pinnedRootHtmlSwrKey(origin, workspace, undefined, true),
|
|
12
15
|
pinnedRootHtmlSwrKey(origin, workspace, undefined, true, undefined, true),
|
|
13
16
|
]) {
|
|
14
17
|
void Promise.resolve(vctx.cache.delete(key)).catch(() => undefined);
|
|
15
18
|
}
|
|
19
|
+
const pathname = `/vibe/${ownerHandle}/${appSlug}`;
|
|
20
|
+
const env = vctx.params.vibes.env;
|
|
21
|
+
const origins = new Set();
|
|
22
|
+
for (const base of [env.VIBES_PUBLIC_URL, env.VIBES_DIY_PUBLIC_BASE_URL]) {
|
|
23
|
+
const rUri = base === undefined || base === "" ? undefined : URI.fromResult(base);
|
|
24
|
+
if (rUri !== undefined && rUri.isOk() && /^https?:$/.test(rUri.Ok().protocol)) {
|
|
25
|
+
origins.add(`${rUri.Ok().protocol}//${rUri.Ok().host}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
for (const wrapperOrigin of origins) {
|
|
29
|
+
for (const rum of [false, true]) {
|
|
30
|
+
for (const us of [false, true]) {
|
|
31
|
+
for (const key of [
|
|
32
|
+
wrapperHtmlSwrKey(wrapperOrigin, pathname, rum, us),
|
|
33
|
+
wrapperHtmlSwrKey(wrapperOrigin, pathname, rum, us, workspace),
|
|
34
|
+
]) {
|
|
35
|
+
void Promise.resolve(vctx.cache.delete(key)).catch(() => undefined);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
16
40
|
}
|
|
17
41
|
catch {
|
|
18
42
|
}
|
package/intern/swr-purge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swr-purge.js","sourceRoot":"","sources":["../../jsr/intern/swr-purge.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"swr-purge.js","sourceRoot":"","sources":["../../jsr/intern/swr-purge.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,19 @@ export interface ServeWrapperHtmlWithSwrOpts {
|
|
|
9
9
|
readonly isUS: boolean;
|
|
10
10
|
readonly isCrawlerUA?: boolean;
|
|
11
11
|
readonly workspaceNpmUrl: string;
|
|
12
|
+
readonly bodyIdentity?: WrapperBodyIdentity;
|
|
12
13
|
}
|
|
14
|
+
export declare const WRAPPER_IDENTITY_HEADER = "x-vibes-wrapper-identity";
|
|
15
|
+
export declare function wrapperHtmlSwrKey(origin: string, pathname: string, enableCfRum: boolean, isUS: boolean, workspaceNpmUrl?: string): string;
|
|
16
|
+
export interface WrapperBodyIdentity {
|
|
17
|
+
readonly importMapHash: string;
|
|
18
|
+
readonly appBuild: string;
|
|
19
|
+
readonly serverBuild: string;
|
|
20
|
+
readonly workspace: string;
|
|
21
|
+
readonly env: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function wrapperEnvFingerprint(env: Readonly<Record<string, string | undefined>>, txt: {
|
|
24
|
+
encode(s: string): Uint8Array;
|
|
25
|
+
}): Promise<string>;
|
|
13
26
|
export declare function toStoredWrapperResponse(res: Response, now: number): Response | undefined;
|
|
14
27
|
export declare function serveWrapperHtmlWithSwr(opts: ServeWrapperHtmlWithSwrOpts): Promise<Response>;
|
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
import { CACHED_AT_HEADER, CACHE_STATE_HEADER, cachedAtOf, swrDecision, WRAPPER_SWR_FRESH_MS, WRAPPER_SWR_MAX_AGE_MS, } from "./swr-html-cache.js";
|
|
2
2
|
import { parseVibePathname, vibePathnameHasFsId } from "./get-vibe-route-hints.js";
|
|
3
3
|
import { isTrackingParam } from "@vibes.diy/api-types";
|
|
4
|
-
|
|
4
|
+
export const WRAPPER_IDENTITY_HEADER = "x-vibes-wrapper-identity";
|
|
5
|
+
function identityValue(id) {
|
|
6
|
+
return id === undefined
|
|
7
|
+
? undefined
|
|
8
|
+
: `m=${encodeURIComponent(id.importMapHash)}&app=${encodeURIComponent(id.appBuild)}&srv=${encodeURIComponent(id.serverBuild)}&ws=${encodeURIComponent(id.workspace)}&env=${encodeURIComponent(id.env)}`;
|
|
9
|
+
}
|
|
10
|
+
export function wrapperHtmlSwrKey(origin, pathname, enableCfRum, isUS, workspaceNpmUrl) {
|
|
11
|
+
const variant = `${origin}${pathname}?vibes-wrapper-swr=rum-${enableCfRum ? "1" : "0"}&us-${isUS ? "1" : "0"}`;
|
|
12
|
+
return workspaceNpmUrl === undefined ? variant : `${variant}&ws=${encodeURIComponent(workspaceNpmUrl)}`;
|
|
13
|
+
}
|
|
14
|
+
export async function wrapperEnvFingerprint(env, txt) {
|
|
15
|
+
const canonical = JSON.stringify(Object.keys(env)
|
|
16
|
+
.sort()
|
|
17
|
+
.map((k) => [k, env[k] ?? null]));
|
|
18
|
+
const digest = await crypto.subtle.digest("SHA-256", new Uint8Array(txt.encode(canonical)));
|
|
19
|
+
return Array.from(new Uint8Array(digest).slice(0, 6), (b) => b.toString(16).padStart(2, "0")).join("");
|
|
20
|
+
}
|
|
21
|
+
function eligibleKey(req, enableCfRum, isUS, workspaceNpmUrl, bodyIdentity) {
|
|
5
22
|
if (req.method !== "GET")
|
|
6
23
|
return undefined;
|
|
7
24
|
if (req.headers.get("Authorization") !== null)
|
|
@@ -18,7 +35,7 @@ function eligibleKey(req, enableCfRum, isUS, workspaceNpmUrl) {
|
|
|
18
35
|
return undefined;
|
|
19
36
|
if (vibePathnameHasFsId(url.pathname))
|
|
20
37
|
return undefined;
|
|
21
|
-
return
|
|
38
|
+
return wrapperHtmlSwrKey(url.origin, url.pathname, enableCfRum, isUS, bodyIdentity === undefined ? workspaceNpmUrl : undefined);
|
|
22
39
|
}
|
|
23
40
|
const STORED_CACHE_CONTROL = "public, s-maxage=86400";
|
|
24
41
|
export function toStoredWrapperResponse(res, now) {
|
|
@@ -37,6 +54,7 @@ export function toStoredWrapperResponse(res, now) {
|
|
|
37
54
|
function fromStoredWrapperResponse(stored, state) {
|
|
38
55
|
const headers = new Headers(stored.headers);
|
|
39
56
|
headers.delete(CACHED_AT_HEADER);
|
|
57
|
+
headers.delete(WRAPPER_IDENTITY_HEADER);
|
|
40
58
|
headers.delete("Cache-Control");
|
|
41
59
|
headers.set(CACHE_STATE_HEADER, state);
|
|
42
60
|
return new Response(stored.body, { status: stored.status, headers });
|
|
@@ -45,6 +63,9 @@ async function renderAndStore(opts, key) {
|
|
|
45
63
|
const res = await opts.inner();
|
|
46
64
|
const stored = toStoredWrapperResponse(res.clone(), opts.now());
|
|
47
65
|
if (stored !== undefined) {
|
|
66
|
+
const identity = identityValue(opts.bodyIdentity);
|
|
67
|
+
if (identity !== undefined)
|
|
68
|
+
stored.headers.set(WRAPPER_IDENTITY_HEADER, identity);
|
|
48
69
|
await opts.cache.put(key, stored);
|
|
49
70
|
}
|
|
50
71
|
else {
|
|
@@ -53,11 +74,13 @@ async function renderAndStore(opts, key) {
|
|
|
53
74
|
return res;
|
|
54
75
|
}
|
|
55
76
|
export async function serveWrapperHtmlWithSwr(opts) {
|
|
56
|
-
const key = opts.isCrawlerUA === true
|
|
77
|
+
const key = opts.isCrawlerUA === true
|
|
78
|
+
? undefined
|
|
79
|
+
: eligibleKey(opts.request, opts.enableCfRum, opts.isUS, opts.workspaceNpmUrl, opts.bodyIdentity);
|
|
57
80
|
if (key === undefined)
|
|
58
81
|
return opts.inner();
|
|
59
82
|
const cached = await opts.cache.match(key);
|
|
60
|
-
if (cached !== undefined) {
|
|
83
|
+
if (cached !== undefined && (cached.headers.get(WRAPPER_IDENTITY_HEADER) ?? undefined) === identityValue(opts.bodyIdentity)) {
|
|
61
84
|
const state = swrDecision({
|
|
62
85
|
cachedAt: cachedAtOf(cached),
|
|
63
86
|
now: opts.now(),
|
|
@@ -73,6 +96,7 @@ export async function serveWrapperHtmlWithSwr(opts) {
|
|
|
73
96
|
}
|
|
74
97
|
const res = await renderAndStore(opts, key);
|
|
75
98
|
const headers = new Headers(res.headers);
|
|
99
|
+
headers.delete(WRAPPER_IDENTITY_HEADER);
|
|
76
100
|
headers.set(CACHE_STATE_HEADER, "miss");
|
|
77
101
|
return new Response(res.body, { status: res.status, headers });
|
|
78
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swr-wrapper-html-cache.js","sourceRoot":"","sources":["../../jsr/intern/swr-wrapper-html-cache.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAElB,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"swr-wrapper-html-cache.js","sourceRoot":"","sources":["../../jsr/intern/swr-wrapper-html-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
export interface VibePkgHashedPaths {
|
|
3
|
+
readonly manifestHash: string;
|
|
4
|
+
readonly importMapHash: string;
|
|
5
|
+
readonly paths: Readonly<Record<string, string>>;
|
|
6
|
+
}
|
|
7
|
+
export declare const IMPORT_MAP_SPECIFIERS: ReadonlySet<string>;
|
|
8
|
+
export declare function importMapHashOf(paths: Readonly<Record<string, string>>): string;
|
|
9
|
+
export declare function parseVibePkgManifest(raw: unknown): Result<VibePkgHashedPaths>;
|
|
10
|
+
export declare function vibePkgManifestUrl(workspace: string): string;
|
|
11
|
+
export declare function resetVibePkgManifestCacheForTests(): void;
|
|
12
|
+
export interface VibePkgManifestSource {
|
|
13
|
+
readonly workspace: string;
|
|
14
|
+
readonly fetchAsset: (url: string) => Promise<Result<ReadableStream<Uint8Array>>>;
|
|
15
|
+
readonly warn?: (msg: string) => void;
|
|
16
|
+
}
|
|
17
|
+
export declare function loadVibePkgHashedPaths(src: VibePkgManifestSource): Promise<VibePkgHashedPaths | undefined>;
|
|
18
|
+
export interface HashedPathsForCapture extends VibePkgManifestSource {
|
|
19
|
+
readonly capture: {
|
|
20
|
+
readonly npmURL: string;
|
|
21
|
+
readonly fromCookie: boolean;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export declare function vibePkgHashedPathsFor(opts: HashedPathsForCapture): Promise<VibePkgHashedPaths | undefined>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { BuildURI, exception2Result, KeyedResolvOnce, Result, stream2string } from "@adviser/cement";
|
|
2
|
+
import { type } from "arktype";
|
|
3
|
+
import { lazyType } from "@vibes.diy/api-types/lazy-type";
|
|
4
|
+
import { hashObjectSync } from "@vibes.diy/identity";
|
|
5
|
+
import { isPlatformWorkspaceNpmUrl } from "./swr-html-cache.js";
|
|
6
|
+
import { lockedGroupsVersions } from "./grouped-vibe-import-map.js";
|
|
7
|
+
export const IMPORT_MAP_SPECIFIERS = new Set(Object.values(lockedGroupsVersions).flatMap((group) => Object.entries(group)
|
|
8
|
+
.filter(([k, v]) => v === "privateNpm:" && k.endsWith("/") === false)
|
|
9
|
+
.map(([k]) => k)));
|
|
10
|
+
export function importMapHashOf(paths) {
|
|
11
|
+
return hashObjectSync(Object.keys(paths)
|
|
12
|
+
.sort()
|
|
13
|
+
.map((k) => `${k}=${paths[k]}`));
|
|
14
|
+
}
|
|
15
|
+
const VibePkgManifestDoc = lazyType(() => type({
|
|
16
|
+
version: "1",
|
|
17
|
+
manifestHash: /^[0-9a-f]{12}$/,
|
|
18
|
+
entries: {
|
|
19
|
+
"[string]": {
|
|
20
|
+
hash: /^[0-9a-f]{12}$/,
|
|
21
|
+
path: "string",
|
|
22
|
+
bytes: "number",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
}));
|
|
26
|
+
export function parseVibePkgManifest(raw) {
|
|
27
|
+
const doc = VibePkgManifestDoc(raw);
|
|
28
|
+
if (doc instanceof type.errors) {
|
|
29
|
+
return Result.Err(new Error(`vibe-pkg manifest: ${doc.summary}`));
|
|
30
|
+
}
|
|
31
|
+
const paths = {};
|
|
32
|
+
for (const [specifier, entry] of Object.entries(doc.entries)) {
|
|
33
|
+
if (entry.path !== `${specifier}/index.${entry.hash}.js`) {
|
|
34
|
+
return Result.Err(new Error(`vibe-pkg manifest: ${specifier} names ${entry.path}, not its own hashed file`));
|
|
35
|
+
}
|
|
36
|
+
if (IMPORT_MAP_SPECIFIERS.has(specifier))
|
|
37
|
+
paths[specifier] = entry.path;
|
|
38
|
+
}
|
|
39
|
+
return Result.Ok({ manifestHash: doc.manifestHash, importMapHash: importMapHashOf(paths), paths });
|
|
40
|
+
}
|
|
41
|
+
export function vibePkgManifestUrl(workspace) {
|
|
42
|
+
return BuildURI.from(workspace).cleanParams().appendRelative("manifest.json").toString();
|
|
43
|
+
}
|
|
44
|
+
const manifestOnce = new KeyedResolvOnce({ resetAfter: 60_000 });
|
|
45
|
+
export function resetVibePkgManifestCacheForTests() {
|
|
46
|
+
manifestOnce.reset();
|
|
47
|
+
}
|
|
48
|
+
export function loadVibePkgHashedPaths(src) {
|
|
49
|
+
const url = vibePkgManifestUrl(src.workspace);
|
|
50
|
+
return manifestOnce.get(url).once(async () => {
|
|
51
|
+
const rStream = await exception2Result(() => src.fetchAsset(url));
|
|
52
|
+
if (rStream.isErr())
|
|
53
|
+
return undefined;
|
|
54
|
+
const rRaw = await exception2Result(async () => JSON.parse(await stream2string(rStream.Ok())));
|
|
55
|
+
if (rRaw.isErr())
|
|
56
|
+
return undefined;
|
|
57
|
+
const rPaths = parseVibePkgManifest(rRaw.Ok());
|
|
58
|
+
if (rPaths.isErr()) {
|
|
59
|
+
src.warn?.(`vibe-pkg-manifest-rejected url=${url} error=${rPaths.Err().message}`);
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
return rPaths.Ok();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export async function vibePkgHashedPathsFor(opts) {
|
|
66
|
+
const { capture, workspace } = opts;
|
|
67
|
+
if (capture.fromCookie === true)
|
|
68
|
+
return undefined;
|
|
69
|
+
if (capture.npmURL !== workspace && isPlatformWorkspaceNpmUrl(capture.npmURL, workspace) === false)
|
|
70
|
+
return undefined;
|
|
71
|
+
return loadVibePkgHashedPaths(opts);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=vibe-pkg-hashed-import-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vibe-pkg-hashed-import-map.js","sourceRoot":"","sources":["../../jsr/intern/vibe-pkg-hashed-import-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const CRITICAL_MODULE_SPECIFIERS: readonly ["@vibes.diy/vibe-runtime", "react", "react-dom/client", "react/jsx-runtime", "react/jsx-dev-runtime"];
|
|
1
|
+
export declare const CRITICAL_MODULE_SPECIFIERS: readonly ["@vibes.diy/vibe-runtime", "arktype", "@ark/schema", "@ark/util", "arkregex", "@adviser/cement", "yaml", "react", "react-dom/client", "react/jsx-runtime", "react/jsx-dev-runtime"];
|
|
2
2
|
export declare const DELIBERATELY_NOT_PRELOADED: Readonly<Record<string, string>>;
|
|
3
3
|
export declare function vibePreloadModules(importMap: Record<string, string>, appModuleUrls?: readonly string[]): string[];
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export const CRITICAL_MODULE_SPECIFIERS = [
|
|
2
2
|
"@vibes.diy/vibe-runtime",
|
|
3
|
+
"arktype",
|
|
4
|
+
"@ark/schema",
|
|
5
|
+
"@ark/util",
|
|
6
|
+
"arkregex",
|
|
7
|
+
"@adviser/cement",
|
|
8
|
+
"yaml",
|
|
3
9
|
"react",
|
|
4
10
|
"react-dom/client",
|
|
5
11
|
"react/jsx-runtime",
|
|
@@ -7,6 +13,10 @@ export const CRITICAL_MODULE_SPECIFIERS = [
|
|
|
7
13
|
];
|
|
8
14
|
export const DELIBERATELY_NOT_PRELOADED = {
|
|
9
15
|
"react-dom": "measured neutral at 400kbps and 2Mbps — vendor block is bandwidth-bound, not round-trip-bound (#4546)",
|
|
16
|
+
"@vibes.diy/vibe-runtime/edit-text": "lazy: fetched when the host turns owner edit mode on (#7421 PR 8)",
|
|
17
|
+
"@vibes.diy/vibe-runtime/pull-to-refresh": "lazy: fetched when the viewer route enables the gesture on iOS (#7421 PR 8)",
|
|
18
|
+
"@vibes.diy/vibe-runtime/img-gen-view": "lazy: fetched the first time an app renders <ImgGen> (#7421 PR 8)",
|
|
19
|
+
"@vibes.diy/vibe-runtime/handle-input": "lazy: fetched the first time an app renders a HandleInput (#7421 PR 8)",
|
|
10
20
|
};
|
|
11
21
|
export function vibePreloadModules(importMap, appModuleUrls = []) {
|
|
12
22
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vibe-preload-modules.js","sourceRoot":"","sources":["../../jsr/intern/vibe-preload-modules.ts"],"names":[],"mappings":"AA2DA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB;
|
|
1
|
+
{"version":3,"file":"vibe-preload-modules.js","sourceRoot":"","sources":["../../jsr/intern/vibe-preload-modules.ts"],"names":[],"mappings":"AA2DA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB;IAOzB,SAAS;IACT,aAAa;IACb,WAAW;IACX,UAAU;IACV,iBAAiB;IACjB,MAAM;IACN,OAAO;IACP,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;CACf,CAAC;AAQX,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAI1E,WAAW,EAAE,uGAAuG;IAKpH,mCAAmC,EAAE,mEAAmE;IACxG,yCAAyC,EAAE,6EAA6E;IACxH,sCAAsC,EAAE,mEAAmE;IAC3G,sCAAsC,EAAE,wEAAwE;CACjH,CAAC;AASF,MAAM,UAAU,kBAAkB,CAAC,SAAiC,EAAE,aAAa,GAAsB,EAAE;IACzG,OAAO;QACL,GAAG,IAAI,GAAG,CACR,CAAC,GAAG,aAAa,EAAE,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CACrF,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAC1D,CACF;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/api-svc",
|
|
3
|
-
"version": "14.3.
|
|
3
|
+
"version": "14.3.137",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"admin:backfill-geo-country": "tsx ./usage-report/backfill-geo-country.ts",
|
|
29
29
|
"admin:backfill-published-chips": "tsx ./usage-report/backfill-published-chips.ts",
|
|
30
30
|
"admin:backfill-release-tailwind": "tsx ./usage-report/backfill-release-tailwind.ts",
|
|
31
|
-
"admin:backfill-provisional-handles": "tsx ./usage-report/backfill-provisional-handles.ts"
|
|
31
|
+
"admin:backfill-provisional-handles": "tsx ./usage-report/backfill-provisional-handles.ts",
|
|
32
|
+
"admin:backfill-provisional-app-moves": "tsx ./usage-report/backfill-provisional-app-moves.ts"
|
|
32
33
|
},
|
|
33
34
|
"dependencies": {
|
|
34
35
|
"@adviser/cement": "~0.5.34",
|
|
@@ -39,21 +40,21 @@
|
|
|
39
40
|
"@neondatabase/serverless": "~1.2.0",
|
|
40
41
|
"@noble/hashes": "~2.4.0",
|
|
41
42
|
"@shadcn/lint": "~0.2.0",
|
|
42
|
-
"@vibes.diy/api-pkg": "14.3.
|
|
43
|
-
"@vibes.diy/api-sql": "14.3.
|
|
44
|
-
"@vibes.diy/api-types": "14.3.
|
|
45
|
-
"@vibes.diy/call-ai-v2": "14.3.
|
|
46
|
-
"@vibes.diy/identity": "14.3.
|
|
47
|
-
"@vibes.diy/look": "14.3.
|
|
48
|
-
"@vibes.diy/pouf": "14.3.
|
|
49
|
-
"@vibes.diy/prompts": "14.3.
|
|
50
|
-
"@vibes.diy/vibe-db-explorer": "14.3.
|
|
51
|
-
"@vibes.diy/vibe-runtime": "14.3.
|
|
52
|
-
"@vibes.diy/vibe-types": "14.3.
|
|
43
|
+
"@vibes.diy/api-pkg": "14.3.137",
|
|
44
|
+
"@vibes.diy/api-sql": "14.3.137",
|
|
45
|
+
"@vibes.diy/api-types": "14.3.137",
|
|
46
|
+
"@vibes.diy/call-ai-v2": "14.3.137",
|
|
47
|
+
"@vibes.diy/identity": "14.3.137",
|
|
48
|
+
"@vibes.diy/look": "14.3.137",
|
|
49
|
+
"@vibes.diy/pouf": "14.3.137",
|
|
50
|
+
"@vibes.diy/prompts": "14.3.137",
|
|
51
|
+
"@vibes.diy/vibe-db-explorer": "14.3.137",
|
|
52
|
+
"@vibes.diy/vibe-runtime": "14.3.137",
|
|
53
|
+
"@vibes.diy/vibe-types": "14.3.137",
|
|
53
54
|
"acorn": "~8.17.0",
|
|
54
55
|
"acorn-jsx": "~5.3.2",
|
|
55
56
|
"arktype": "~2.2.6",
|
|
56
|
-
"call-ai": "14.3.
|
|
57
|
+
"call-ai": "14.3.137",
|
|
57
58
|
"charwise": "~3.0.1",
|
|
58
59
|
"cookie": "~2.0.1",
|
|
59
60
|
"csv-parse": "~7.0.3",
|
|
@@ -17,7 +17,7 @@ import { mintFilesUrls } from "./files-url-mint.js";
|
|
|
17
17
|
import { applyQueryFilter } from "./app-documents-query-filter.js";
|
|
18
18
|
import { readAllowed, clientWsSend, connectionAdminMode } from "./app-documents-shared.js";
|
|
19
19
|
import { addressesDirectChannel } from "./dm-lane.js";
|
|
20
|
-
import { resolveActingHandle,
|
|
20
|
+
import { resolveActingHandle, resolveActiveHandle } from "./resolve-active-handle.js";
|
|
21
21
|
import { audienceChannelsOf, audienceChannelsForReader, collectAudienceSubjects, inheritChannelOf, INHERIT_CAPABILITY_CHANNEL, RESERVED_CHANNEL_PREFIX, } from "./audience-channels.js";
|
|
22
22
|
import { resolveInheritReadChannels } from "./inherit-read-resolver.js";
|
|
23
23
|
import { admitInterestChannelsFailClosed, applyInterestKeys, parseInterestHandles, sweepExpiredInterestKeys, } from "./interest-channels.js";
|
|
@@ -138,9 +138,7 @@ export async function getDocForCaller(vctx, args) {
|
|
|
138
138
|
for (const { row: grantRow, descriptor } of decodedGrantOutputs) {
|
|
139
139
|
reduce.addDoc(grantRow.docId, extractContribution(descriptor));
|
|
140
140
|
}
|
|
141
|
-
const userHandle = args.userId !== null
|
|
142
|
-
? (getPin.actingHandle ?? (await resolveActingHandleForApp(vctx, args.userId, args.ownerHandle)) ?? null)
|
|
143
|
-
: null;
|
|
141
|
+
const userHandle = args.userId !== null ? (getPin.actingHandle ?? (await resolveActiveHandle(vctx, args.userId)) ?? null) : null;
|
|
144
142
|
await applyInviteSubjectAliases(vctx, reduce, {
|
|
145
143
|
ownerHandle: args.ownerHandle,
|
|
146
144
|
appSlug: args.appSlug,
|
|
@@ -447,9 +445,7 @@ export const subscribeDocsEvento = {
|
|
|
447
445
|
reduce.addDoc(row.docId, extractContribution(descriptor));
|
|
448
446
|
}
|
|
449
447
|
}
|
|
450
|
-
const userHandle = req._auth
|
|
451
|
-
? ((await resolveActingHandleForApp(vctx, req._auth.verifiedAuth.claims.userId, req.ownerHandle)) ?? null)
|
|
452
|
-
: null;
|
|
448
|
+
const userHandle = req._auth ? ((await resolveActiveHandle(vctx, req._auth.verifiedAuth.claims.userId)) ?? null) : null;
|
|
453
449
|
await applyInviteSubjectAliases(vctx, reduce, {
|
|
454
450
|
ownerHandle: req.ownerHandle,
|
|
455
451
|
appSlug: req.appSlug,
|