@zlooks.cn/gateway-server 1.0.7 → 1.0.9
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/[pluginId]/[[...path]]/page.js +1 -1
- package/.next/server/app/[pluginId]/[[...path]]/page.js.nft.json +1 -1
- package/.next/server/app/[pluginId]/[[...path]]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/page.js +70 -70
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/robots.txt/route.js +2 -2
- package/.next/server/app/robots.txt/route.js.nft.json +1 -1
- package/.next/server/chunks/111.js +107 -0
- package/.next/server/chunks/276.js +1 -1
- package/.next/server/chunks/369.js +2 -2
- package/.next/server/chunks/448.js +1 -0
- package/.next/server/chunks/47.js +1 -0
- package/.next/server/chunks/551.js +2 -0
- package/.next/server/chunks/733.js +30 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/195-d082e7c7c29748e6.js +1 -0
- package/.next/static/chunks/300-f710e304736538be.js +1 -0
- package/.next/static/chunks/app/[pluginId]/[[...path]]/page-43d50eeb765492ea.js +1 -0
- package/.next/static/chunks/app/{layout-b45fbd5ce2b54d96.js → layout-f0bed6be746ab51e.js} +1 -1
- package/.next/static/chunks/app/page-951d4daaa72eacbe.js +1 -0
- package/.next/static/css/124beab9989d874a.css +1 -0
- package/.next/trace +22 -22
- package/.next/trace-build +1 -1
- package/dist/command/index.js +2 -6
- package/dist/command/index.js.map +1 -1
- package/dist/runtime/gateway-runtime.d.ts +3 -4
- package/dist/runtime/gateway-runtime.d.ts.map +1 -1
- package/dist/runtime/gateway-runtime.js +26 -23
- package/dist/runtime/gateway-runtime.js.map +1 -1
- package/dist/services/gateway-host.service.js +6 -1
- package/dist/services/gateway-host.service.js.map +1 -1
- package/dist/services/gateway-runtime.service.js +1 -1
- package/dist/services/gateway-runtime.service.js.map +1 -1
- package/package.json +15 -15
- package/.next/server/chunks/357.js +0 -48
- package/.next/server/chunks/379.js +0 -1
- package/.next/server/chunks/724.js +0 -2
- package/.next/server/chunks/748.js +0 -107
- package/.next/server/chunks/952.js +0 -1
- package/.next/static/chunks/319-5b1f2e1ec1373bd3.js +0 -1
- package/.next/static/chunks/604-fdb1ff68d897d5a1.js +0 -1
- package/.next/static/chunks/app/[pluginId]/[[...path]]/page-de70338ed93ae515.js +0 -1
- package/.next/static/chunks/app/page-fa81d6b33c269d0c.js +0 -1
- package/.next/static/css/5e1fe404799cdc12.css +0 -1
- /package/.next/static/{OCFIC7ZMtwfwR4zcBmvjf → 49ul1kLYWLjp7R9hn91mE}/_buildManifest.js +0 -0
- /package/.next/static/{OCFIC7ZMtwfwR4zcBmvjf → 49ul1kLYWLjp7R9hn91mE}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=276,exports.ids=[276],exports.modules={5200:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(87984).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/evioshen/code/github/cevio/www.zlooks.cn/packages/gateway-server/src/app/rsc-client-runtime.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/evioshen/code/github/cevio/www.zlooks.cn/packages/gateway-server/src/app/rsc-client-runtime.tsx","default")},12265:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95082,23)),Promise.resolve().then(c.t.bind(c,20125,23)),Promise.resolve().then(c.t.bind(c,13261,23)),Promise.resolve().then(c.t.bind(c,36804,23)),Promise.resolve().then(c.t.bind(c,76028,23)),Promise.resolve().then(c.t.bind(c,70168,23)),Promise.resolve().then(c.t.bind(c,82337,23)),Promise.resolve().then(c.bind(c,89352))},17322:(a,b,c)=>{"use strict";c.d(b,{o:()=>aI});var d=c(18509),e=c(50781),f=c(37714),g=c(62710),h=c(29951);let i="cn.zlooks.user.server",j=g.k5(["logout","user-request","family-limit","credential-recovery"]),k=g.Yj().refine(a=>a===a.trim().normalize("NFKC"),"Display name must be normalized").refine(a=>Array.from(a).length>=1&&Array.from(a).length<=160,"Display name must contain 1 to 160 Unicode code points"),l=g.Yj().refine(a=>a===a.trim().normalize("NFKC"),"Bio must be normalized").refine(a=>Array.from(a).length>=1&&Array.from(a).length<=500,"Bio must contain 1 to 500 Unicode code points"),m=g.OZ().max(2048).refine(a=>{let b=new URL(a).protocol;return"http:"===b||"https:"===b},"URL must use HTTP or HTTPS").refine(a=>a===new URL(a).toString(),"URL must be canonical"),n=g.Rp().max(320).refine(a=>a===a.toLocaleLowerCase("en-US"),"Email must be lowercase"),o=g.re({id:g.uR(),displayName:k.nullable(),avatar:m.nullable(),homepage:m.nullable(),bio:l.nullable(),email:n.nullable(),emailVerified:g.zM(),status:g.k5(["active","disabled","deleted"]),createdAt:h.w$({offset:!0}),updatedAt:h.w$({offset:!0}),version:g.ai().int().positive()}).superRefine((a,b)=>{a.emailVerified&&null===a.email&&b.addIssue({code:"custom",message:"A verified user snapshot must include its email",path:["email"]}),Date.parse(a.updatedAt)<Date.parse(a.createdAt)&&b.addIssue({code:"custom",message:"User updated time must not precede creation time",path:["updatedAt"]})}).readonly(),p=g.re({id:g.uR(),userId:g.uR(),createdAt:h.w$({offset:!0}),expiresAt:h.w$({offset:!0}),lastSeenAt:h.w$({offset:!0}),revokedAt:h.w$({offset:!0}).nullable(),revokeReason:j.nullable()}).superRefine((a,b)=>{let c=Date.parse(a.createdAt);null===a.revokedAt!=(null===a.revokeReason)&&b.addIssue({code:"custom",message:"Session revocation time and reason must be present together",path:["revokedAt"]}),Date.parse(a.expiresAt)<=c&&b.addIssue({code:"custom",message:"Session expiry must follow creation time",path:["expiresAt"]});let d=Date.parse(a.lastSeenAt);(d<c||d>Date.parse(a.expiresAt))&&b.addIssue({code:"custom",message:"Session last-seen time must fall within its lifetime",path:["lastSeenAt"]}),null!==a.revokedAt&&Date.parse(a.revokedAt)<c&&b.addIssue({code:"custom",message:"Session revoked time must not precede creation time",path:["revokedAt"]})}).readonly();var q=c(28621);let r=g.Yj().max(256).regex(/^[a-z][a-z0-9]*(?:\.[a-z][a-z0-9-]*)+\.v[1-9][0-9]*$/),s=g.Yj().max(256).regex(/^[a-z][a-z0-9]*(?:\.[a-z][a-z0-9]*)+$/),t=g.Yj().regex(/^[a-z][a-z0-9-]{0,63}$/),u=g.Yj().trim().min(1).max(256),v=g.Yj().max(128).regex(/^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/),w=g.Yj().max(128).regex(/^@zlooks\.cn\/[a-z0-9]+(?:-[a-z0-9]+)*$/),x=g.Yj().max(128).regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),y=g.Yj().trim().min(1).max(120),z=g.Yj().trim().min(1).max(1e3),A=g.Pq(),B=g.re({protocol:g.eu("zlooks.event"),protocolVersion:g.eu(1),eventId:g.uR(),type:r,producer:s,aggregate:g.re({type:t,id:u}).readonly(),occurredAt:h.w$({offset:!0}),data:A}).readonly();function C(a,b,c,d){return function(a,b,c){let d=r.parse(a),e=s.parse(c.producer),f=t.parse(c.aggregateType),g=c.aggregateId;if("function"!=typeof g)throw TypeError("Event aggregateId must be a function");return Object.freeze({type:d,producer:e,aggregateType:f,dataSchema:b,parse(a){let c,h=Object.freeze({...c=B.parse(a),aggregate:Object.freeze({...c.aggregate})});if(h.type!==d)throw TypeError(`Expected event type ${d}`);if(h.producer!==e)throw TypeError(`Expected event producer ${e}`);let i=b.parse(h.data);A.parse(i);let j=u.parse(g(i));if(h.aggregate.type!==f||h.aggregate.id!==j)throw TypeError(`${d} aggregate does not identify its event data`);return Object.freeze({...h,type:d,aggregate:Object.freeze({...h.aggregate}),data:i})}})}(a,c,{producer:i,aggregateType:b,aggregateId:d})}let D=C("cn.zlooks.user.registered.v1","user",g.re({user:o}).refine(a=>"active"===a.user.status,{message:"A registered user snapshot must be active",path:["user","status"]}).readonly(),a=>a.user.id),E=C("cn.zlooks.user.email-verified.v1","user",g.re({user:o}).refine(a=>null!==a.user.email&&a.user.emailVerified,{message:"An email-verified event must contain a verified email snapshot",path:["user","emailVerified"]}).readonly(),a=>a.user.id),F=g.k5(["displayName","avatar","homepage","bio"]);!function(a){let b=v.parse(a.providerId),c=y.parse(a.displayName),d=w.parse(a.contractPackage);if(0===a.events.length||a.events.length>256)throw TypeError("Event catalog must contain between 1 and 256 events");let e=a.events[0].definition.producer,f=new Set,g=new Set,h=a.events.map(a=>{var b;if(a.definition.producer!==e)throw TypeError("Event catalog definitions must have one producer");if(f.has(a.definition.type))throw TypeError("Event catalog event types must be unique");let c=x.parse(a.consumerExport);if(g.has(c))throw TypeError("Event catalog Consumer exports must be unique");f.add(a.definition.type),g.add(c);let h=function a(b){var c;if(null===b||"string"==typeof b||"boolean"==typeof b||"number"==typeof b&&Number.isFinite(b))return b;if(Array.isArray(b))return Object.freeze(b.map(a));if(null!==(c=b)&&"object"==typeof c&&!Array.isArray(c))return Object.freeze(Object.fromEntries(Object.entries(b).filter(([,a])=>void 0!==a).map(([b,c])=>[b,a(c)])));throw TypeError("Event JSON Schema contains a non-JSON value")}(q.bl(a.definition.dataSchema,{target:"draft-2020-12",unrepresentable:"any",io:"input"}));if(!(null!==(b=h)&&"object"==typeof b&&!Array.isArray(b)))throw TypeError("Event data schema must serialize to a JSON object");return Object.freeze({type:a.definition.type,title:y.parse(a.title),description:z.parse(a.description),producer:e,aggregateType:a.definition.aggregateType,consumer:Object.freeze({packageName:d,exportName:c}),dataSchema:h})});Object.freeze({protocol:"zlooks.event-catalog",protocolVersion:1,providerId:b,displayName:c,producer:e,contractPackage:d,count:h.length,delivery:Object.freeze({guarantee:"at-least-once",deduplicateBy:"eventId"}),events:Object.freeze(h)})}({providerId:"user",displayName:"用户服务事件",contractPackage:"@zlooks.cn/user-shared",events:[{definition:D,title:"用户已注册",description:"用户账户已经完成持久化创建并处于可用状态。",consumerExport:"consumeUserRegisteredEvent"},{definition:E,title:"用户邮箱已验证",description:"用户邮箱从未验证状态真实转换为已验证状态。",consumerExport:"consumeUserEmailVerifiedEvent"},{definition:C("cn.zlooks.user.profile-updated.v1","user",g.re({user:o,changedFields:g.YO(F).min(1).max(4).refine(a=>new Set(a).size===a.length,"Profile fields must be unique").readonly()}).readonly(),a=>a.user.id),title:"用户资料已更新",description:"用户公开资料字段发生真实变化并携带变更后的完整安全快照。",consumerExport:"consumeUserProfileUpdatedEvent"},{definition:C("cn.zlooks.user.session-created.v1","session-family",g.re({user:o,sessionFamily:p,intent:g.k5(["login","registration","recovery"])}).superRefine((a,b)=>{a.sessionFamily.userId!==a.user.id&&b.addIssue({code:"custom",message:"Session and user snapshots must identify the same user",path:["sessionFamily","userId"]}),null!==a.sessionFamily.revokedAt&&b.addIssue({code:"custom",message:"A created session snapshot must be active",path:["sessionFamily","revokedAt"]}),"active"!==a.user.status&&b.addIssue({code:"custom",message:"A session-created event must contain an active user snapshot",path:["user","status"]})}).readonly(),a=>a.sessionFamily.id),title:"用户会话族已创建",description:"登录、注册或恢复流程已经创建一个新的活动会话族。",consumerExport:"consumeUserSessionCreatedEvent"},{definition:C("cn.zlooks.user.session-revoked.v1","session-family",g.re({user:o,sessionFamily:p}).superRefine((a,b)=>{a.sessionFamily.userId!==a.user.id&&b.addIssue({code:"custom",message:"Session and user snapshots must identify the same user",path:["sessionFamily","userId"]}),null===a.sessionFamily.revokedAt&&b.addIssue({code:"custom",message:"A revoked session snapshot must include its revocation",path:["sessionFamily","revokedAt"]})}).readonly(),a=>a.sessionFamily.id),title:"用户会话族已撤销",description:"用户会话族从活动状态真实转换为已撤销状态。",consumerExport:"consumeUserSessionRevokedEvent"}]}),(0,e.Sz)(i,"/api/auth/methods"),(0,e.Sz)(i,"/api/auth/transactions"),(0,e.Sz)(i,"/api/auth/logout"),(0,e.Sz)(i,"/api/auth/session/refresh"),(0,e.Sz)(i,"/api/user"),(0,e.Sz)(i,"/api/user/sessions"),Object.freeze({crossOriginRejected:1001,requestRejected:1002,authenticationRequired:1003,sessionExpired:1004,authenticationDenied:1005,authenticationPending:1006,routeNotFound:1007,accountNotFound:1008,accountAlreadyExists:1009,invalidVerificationCode:1010,verificationRateLimited:1011,emailDeliveryFailed:1012,serviceUnavailable:1013});let G=g.Yj().min(1).max(2048).regex(/^\/(?!\/)[^?#]*$/),H=g.gM("status",[g.re({status:g.eu("anonymous"),loginMethods:g.YO(g.re({id:g.Yj().min(1).max(128),label:g.Yj().min(1).max(80),href:G})).max(64)}),g.re({status:g.eu("authenticated"),user:g.re({label:g.Yj().min(1).max(160),secondary:g.Yj().min(1).max(320).optional(),avatarText:g.Yj().min(1).max(8),avatarUrl:g.OZ({protocol:/^https?$/}).max(2048).optional()}),accountHref:G,logoutHref:G})]).readonly(),I=g.gM("action",[g.re({action:g.eu("set"),value:g.Yj().min(1).max(4096),expiresAt:h.w$({offset:!0})}),g.re({action:g.eu("clear")})]),J=g.Yj().min(1).max(4096),K=g.re({id:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),label:g.Yj().trim().min(1).max(80),capabilities:g.re({login:g.zM(),registration:g.zM()}),rsc:g.re({pluginId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),slots:g.re({login:G.optional(),registration:G.optional()})})}).readonly(),L=g.re({}).readonly(),M=g.re({methods:g.YO(K).max(64).readonly()}).readonly(),N=g.re({methodId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),intent:g.k5(["login","registration","linking","reauthentication","recovery"]),loginHint:g.Yj().trim().min(1).max(320).optional(),requestContext:g.re({clientKey:g.Yj().min(16).max(128)})}).readonly(),O=g.gM("status",[g.re({status:g.eu("input-required"),transactionId:g.uR(),methodId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/)}),g.re({status:g.eu("redirect-required"),transactionId:g.uR(),methodId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),redirectUrl:g.OZ().max(4096)}),g.re({status:g.eu("pending"),transactionId:g.uR(),methodId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),retryAfterMs:g.ai().int().min(250).max(6e4)})]).readonly(),P=g.re({input:g.L5()}).readonly(),Q=g.gM("status",[g.re({status:g.eu("verified"),session:g.re({token:J,expiresAt:h.w$({offset:!0})}),user:g.L5()}),g.re({status:g.eu("denied"),code:g.Yj().min(1).max(128)}),g.re({status:g.eu("pending"),retryAfterMs:g.ai().int().min(250).max(6e4)})]).readonly(),R=g.re({id:g.Yj().min(1).max(128),displayName:g.Yj().min(1).max(160).optional(),avatar:g.OZ({protocol:/^https?$/}).max(2048).optional(),homepage:g.OZ({protocol:/^https?$/}).max(2048).optional(),bio:g.Yj().max(500).optional(),email:g.Rp().max(320).optional(),emailVerified:g.zM()}).readonly(),S=g.re({user:R}).readonly(),T=g.re({input:g.L5()}).readonly(),U=g.re({id:g.Yj().min(1).max(128),createdAt:h.w$(),lastSeenAt:h.w$(),expiresAt:h.w$(),revoked:g.zM()}).readonly(),V=g.re({sessions:g.YO(U).max(100).readonly()}).readonly(),W=g.re({revoked:g.zM()}).readonly(),X=g.re({revoked:g.zM()}).readonly(),Y=g.re({session:g.re({token:J,expiresAt:h.w$({offset:!0}),user:R})}).readonly(),Z=g.re({protocol:g.eu("zlooks.event-catalog"),protocolVersion:g.eu(1),providerId:g.eu("user"),displayName:g.Yj().min(1).max(160),producer:g.eu(i),contractPackage:g.eu("@zlooks.cn/user-shared"),count:g.eu(5),delivery:g.re({guarantee:g.eu("at-least-once"),deduplicateBy:g.eu("eventId")}),events:g.YO(g.re({type:g.Yj().min(1).max(256),title:g.Yj().min(1).max(160),description:g.Yj().min(1).max(1e3),producer:g.eu(i),aggregateType:g.Yj().min(1).max(128),consumer:g.re({packageName:g.eu("@zlooks.cn/user-shared"),exportName:g.Yj().min(1).max(128)}),dataSchema:g.g1(g.Yj(),g.L5())})).length(5).readonly()}).readonly(),$=g.re({}).readonly(),_=g.re({id:g.uR(),displayName:g.Yj().trim().min(1).max(160).nullable(),avatar:g.OZ({protocol:/^https?$/}).max(2048).nullable(),homepage:g.OZ({protocol:/^https?$/}).max(2048).nullable().optional(),bio:g.Yj().trim().min(1).max(500).nullable().optional()}).readonly(),aa=g.gM("authenticated",[g.re({authenticated:g.eu(!1)}),g.re({authenticated:g.eu(!0),user:_})]).readonly(),ab=g.re({userIds:g.YO(g.uR()).min(1).max(100).refine(a=>new Set(a).size===a.length,{message:"User IDs must be unique"}).readonly()}).readonly(),ac=g.re({users:g.YO(_).max(100).refine(a=>new Set(a.map(a=>a.id)).size===a.length,{message:"Public user profiles must be unique"}).readonly()}).readonly();g.re({method:g.k5(["GET","POST","PATCH"]),path:G,origin:g.Yj().max(2048).optional(),clientKey:g.Yj().regex(/^[a-f0-9]{64}$/),body:g.L5().optional()}).readonly(),g.re({status:g.ai().int().min(200).max(599).refine(a=>a<300||a>=400),body:e.RW,sessionCookie:I.optional()}).superRefine((a,b)=>{let c=a.status>=200&&a.status<300;!(0,e.lu)(a.body)!==c&&b.addIssue({code:"custom",message:"HTTP status and browser API response code disagree",path:["body","code"]})}).readonly();let ad=g.re({protocol:g.eu("zlooks.user.credential-lifecycle"),kind:g.k5(["registration","recovery"]),authenticationTransactionId:g.uR(),extensionId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),methodId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),subject:g.Yj().trim().min(1).max(512),email:g.Rp().max(320),occurredAt:h.w$({offset:!0})}).readonly(),ae=g.re({acknowledged:g.eu(!0)}).readonly();function af(a){return H.parse(a)}function ag(a){return L.parse(a)}function ah(a){return M.parse(a)}function ai(a){return N.parse(a)}function aj(a){return O.parse(a)}function ak(a){return P.parse(a)}function al(a){return Q.parse(a)}function am(a){return S.parse(a)}function an(a){return T.parse(a)}function ao(a){return V.parse(a)}function ap(a){return W.parse(a)}function aq(a){return X.parse(a)}function ar(a){return Y.parse(a)}function as(a){return Z.parse(a)}function at(a){return ad.parse(a)}function au(a){return ae.parse(a)}function av(a){return $.parse(a)}function aw(a){return aa.parse(a)}function ax(a){return ab.parse(a)}function ay(a){return ac.parse(a)}async function az(a,b,c,d,e,f){let g=e(c);return f(await a.call(i,b,g,d))}async function aA(a,b){return Object.freeze({listAuthenticationMethods:b=>az(a,"/auth/catalog",{},b,ag,ah),beginAuthentication:(b,c)=>az(a,"/auth/transactions",b,c,ai,aj),completeAuthentication:(b,c,d)=>az(a,"/auth/transactions/:transactionId/complete".replace(":transactionId",encodeURIComponent(g.Yj().trim().min(1).max(128).parse(b))),c,d,ak,al),logout:b=>az(a,"/auth/logout",{},b,ag,aq),refreshSession:b=>az(a,"/auth/session/refresh",{},b,ag,ar),applyCredentialLifecycle:(b,c)=>az(a,"/auth/credential-lifecycle",b,c,at,au),readCurrentUser:b=>az(a,"/users/current",{},b,av,aw),readPublicProfiles:async(b,c)=>{let d=ax(b),e=await az(a,"/users/public-profiles",d,c,ax,ay),f=new Set(d.userIds);if(e.users.some(a=>!f.has(a.id)))throw TypeError("User service returned a public profile that was not requested");return e},readAccount:b=>az(a,"/users/me",{},b,ag,am),updateAccount:(b,c)=>az(a,"/users/me/update",b,c,an,am),listAccountSessions:b=>az(a,"/users/me/sessions",{},b,ag,ao),revokeAccountSession:(b,c)=>az(a,"/users/me/sessions/:familyId/revoke".replace(":familyId",encodeURIComponent(g.Yj().trim().min(1).max(128).parse(b))),{},c,ag,ap),readShell:b=>az(a,"/users/shell",{},b,ag,af),readEventCatalog:b=>az(a,"/events/catalog",{},b,ag,as)}).readShell(b)}var aB=c(70349);let aC=g.Yj().min(1).max(2048).regex(/^\/(?!\/)[^?#]*$/),aD=g.OZ().refine(a=>{let b=new URL(a);return("http:"===b.protocol||"https:"===b.protocol)&&!b.username&&!b.password&&"/"===b.pathname&&!b.search&&!b.hash},"Public origin must be one canonical HTTP(S) origin"),aE=g.re({key:g.Yj().min(1).max(256),label:g.Yj().min(1).max(160),href:aC,order:g.ai().finite()}),aF=g.re({navigation:g.YO(aE).max(256),origin:aD,pathname:aC,user:g.L5()}),aG=g.re({status:g.eu("unavailable")});var aH=c(12157);async function aI(a){var b,c,d,e;let g,h,i=await aJ(a),j={navigation:(b=a.rsc,c=a.policy,(0,aH.l)(b.deployments,b.artifacts).filter(({pluginId:a,buildId:b})=>c.canDiscover({pluginId:a,buildId:b})).flatMap(({pluginId:a,metadata:b})=>(b?.navigation??[]).map(b=>{var c,d;return{key:`${a}:${b.id}`,label:b.label,href:(c=a,d=b.path,`/${encodeURIComponent(c)}${"/"===d?"":d}`),order:b.order??0}})).sort((a,b)=>a.order-b.order||a.key.localeCompare(b.key))),origin:a.origin,pathname:a.pathname,user:i},k={[f.qe]:(0,f.WA)(a.globalConfig),__zlooks_shell_context:JSON.stringify((d=j,{navigation:(g=aF.parse(d)).navigation,origin:g.origin,pathname:g.pathname,user:(e=g.user,(h=aG.safeParse(e)).success?h.data:af(e))}))};return a.sessionToken&&(k.__zlooks_user_session=a.sessionToken),{params:k,shell:j}}async function aJ(a){try{return await aA(a.application,{context:(0,d.eC)(a.sessionToken?{[e.Ih]:{[aB.CY]:a.sessionToken}}:{}),timeout:1500,retries:0,...a.signal?{signal:a.signal}:{}})}catch(b){if(a.signal?.aborted)throw a.signal.reason??Error("RSC shell request was aborted");return a.logger.warn({err:b,event:"gateway.rsc-shell.unavailable"},"User shell projection is unavailable"),{status:"unavailable"}}}},25041:(a,b,c)=>{Promise.resolve().then(c.bind(c,121)),Promise.resolve().then(c.bind(c,81502))},34769:(a,b,c)=>{Promise.resolve().then(c.bind(c,2131)),Promise.resolve().then(c.bind(c,5200))},38825:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>k,dynamic:()=>j,metadata:()=>i});var d=c(68108),e=c(99103),f=c(37922),g=c(97242),h=c(5200);c(54361),c(67018),c(95751);let i={referrer:"strict-origin-when-cross-origin",icons:{icon:[{url:"/favicon.ico",type:"image/svg+xml"}]},formatDetection:{email:!1,address:!1,telephone:!1}},j="force-dynamic";async function k({children:a}){return(await (0,f.oV)(g.A)).withCurrent(({config:b})=>(0,d.jsx)("html",{lang:"zh-CN",children:(0,d.jsx)("body",{children:(0,d.jsx)(e.Z,{children:(0,d.jsx)(h.default,{assetMountPath:b.rsc.assetMountPath,csrfToken:b.rsc.csrfToken,children:a})})})}))}},47113:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,30816,23)),Promise.resolve().then(c.t.bind(c,86955,23)),Promise.resolve().then(c.t.bind(c,61031,23)),Promise.resolve().then(c.t.bind(c,82922,23)),Promise.resolve().then(c.t.bind(c,78814,23)),Promise.resolve().then(c.t.bind(c,47898,23)),Promise.resolve().then(c.t.bind(c,5119,23)),Promise.resolve().then(c.t.bind(c,85706,23))},63788:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95082,23))},67018:()=>{},76940:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,30816,23))},81502:(a,b,c)=>{"use strict";c.d(b,{default:()=>i});var d=c(17858),e=c(65537),f=c(3017),g=c(85947);function h(){return(0,d.jsx)("div",{"aria-hidden":"true","data-hile-rsc-initial-route":!0})}function i({assetMountPath:a,csrfToken:b,children:c}){return(0,d.jsx)(f.j,{serverFunctions:{headers:{"x-rsc-csrf-token":b}},children:(0,d.jsx)(e.jj,{assetMountPath:a,suspensePolicy:"host",renderError:(a,b,c)=>(0,d.jsxs)("section",{role:"alert","data-hile-rsc-error":b.referenceId,children:[(0,d.jsx)("p",{children:"插件组件暂时无法加载。"}),(0,d.jsx)("button",{type:"button",onClick:c,children:"重试"})]}),children:(0,d.jsx)(g.Suspense,{fallback:(0,d.jsx)(h,{}),children:c})})})}},95751:()=>{}};
|
|
1
|
+
exports.id=276,exports.ids=[276],exports.modules={5200:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(87984).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/evioshen/code/github/cevio/www.zlooks.cn/packages/gateway-server/src/app/rsc-client-runtime.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/evioshen/code/github/cevio/www.zlooks.cn/packages/gateway-server/src/app/rsc-client-runtime.tsx","default")},12265:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95082,23)),Promise.resolve().then(c.t.bind(c,20125,23)),Promise.resolve().then(c.t.bind(c,13261,23)),Promise.resolve().then(c.t.bind(c,36804,23)),Promise.resolve().then(c.t.bind(c,76028,23)),Promise.resolve().then(c.t.bind(c,70168,23)),Promise.resolve().then(c.t.bind(c,82337,23)),Promise.resolve().then(c.bind(c,89352))},17322:(a,b,c)=>{"use strict";c.d(b,{o:()=>aJ});var d=c(18509),e=c(50781),f=c(37714),g=c(62710),h=c(29951);let i="cn.zlooks.user.server",j=g.k5(["logout","user-request","family-limit","credential-recovery"]),k=g.Yj().refine(a=>a===a.trim().normalize("NFKC"),"Display name must be normalized").refine(a=>Array.from(a).length>=1&&Array.from(a).length<=160,"Display name must contain 1 to 160 Unicode code points"),l=g.Yj().refine(a=>a===a.trim().normalize("NFKC"),"Bio must be normalized").refine(a=>Array.from(a).length>=1&&Array.from(a).length<=500,"Bio must contain 1 to 500 Unicode code points"),m=g.OZ().max(2048).refine(a=>{let b=new URL(a).protocol;return"http:"===b||"https:"===b},"URL must use HTTP or HTTPS").refine(a=>a===new URL(a).toString(),"URL must be canonical"),n=g.Rp().max(320).refine(a=>a===a.toLocaleLowerCase("en-US"),"Email must be lowercase"),o=g.re({id:g.uR(),displayName:k.nullable(),avatar:m.nullable(),homepage:m.nullable(),bio:l.nullable(),email:n.nullable(),emailVerified:g.zM(),status:g.k5(["active","disabled","deleted"]),createdAt:h.w$({offset:!0}),updatedAt:h.w$({offset:!0}),version:g.ai().int().positive()}).superRefine((a,b)=>{a.emailVerified&&null===a.email&&b.addIssue({code:"custom",message:"A verified user snapshot must include its email",path:["email"]}),Date.parse(a.updatedAt)<Date.parse(a.createdAt)&&b.addIssue({code:"custom",message:"User updated time must not precede creation time",path:["updatedAt"]})}).readonly(),p=g.re({id:g.uR(),userId:g.uR(),createdAt:h.w$({offset:!0}),expiresAt:h.w$({offset:!0}),lastSeenAt:h.w$({offset:!0}),revokedAt:h.w$({offset:!0}).nullable(),revokeReason:j.nullable()}).superRefine((a,b)=>{let c=Date.parse(a.createdAt);null===a.revokedAt!=(null===a.revokeReason)&&b.addIssue({code:"custom",message:"Session revocation time and reason must be present together",path:["revokedAt"]}),Date.parse(a.expiresAt)<=c&&b.addIssue({code:"custom",message:"Session expiry must follow creation time",path:["expiresAt"]});let d=Date.parse(a.lastSeenAt);(d<c||d>Date.parse(a.expiresAt))&&b.addIssue({code:"custom",message:"Session last-seen time must fall within its lifetime",path:["lastSeenAt"]}),null!==a.revokedAt&&Date.parse(a.revokedAt)<c&&b.addIssue({code:"custom",message:"Session revoked time must not precede creation time",path:["revokedAt"]})}).readonly();var q=c(28621);let r=g.Yj().max(256).regex(/^[a-z][a-z0-9]*(?:\.[a-z][a-z0-9-]*)+\.v[1-9][0-9]*$/),s=g.Yj().max(256).regex(/^[a-z][a-z0-9]*(?:\.[a-z][a-z0-9]*)+$/),t=g.Yj().regex(/^[a-z][a-z0-9-]{0,63}$/),u=g.Yj().trim().min(1).max(256),v=g.Yj().max(128).regex(/^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/),w=g.Yj().max(128).regex(/^@zlooks\.cn\/[a-z0-9]+(?:-[a-z0-9]+)*$/),x=g.Yj().max(128).regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/),y=g.Yj().trim().min(1).max(120),z=g.Yj().trim().min(1).max(1e3),A=g.Pq(),B=g.re({protocol:g.eu("zlooks.event"),protocolVersion:g.eu(1),eventId:g.uR(),type:r,producer:s,aggregate:g.re({type:t,id:u}).readonly(),occurredAt:h.w$({offset:!0}),data:A}).readonly();function C(a,b,c,d){return function(a,b,c){let d=r.parse(a),e=s.parse(c.producer),f=t.parse(c.aggregateType),g=c.aggregateId;if("function"!=typeof g)throw TypeError("Event aggregateId must be a function");return Object.freeze({type:d,producer:e,aggregateType:f,dataSchema:b,parse(a){let c,h=Object.freeze({...c=B.parse(a),aggregate:Object.freeze({...c.aggregate})});if(h.type!==d)throw TypeError(`Expected event type ${d}`);if(h.producer!==e)throw TypeError(`Expected event producer ${e}`);let i=b.parse(h.data);A.parse(i);let j=u.parse(g(i));if(h.aggregate.type!==f||h.aggregate.id!==j)throw TypeError(`${d} aggregate does not identify its event data`);return Object.freeze({...h,type:d,aggregate:Object.freeze({...h.aggregate}),data:i})}})}(a,c,{producer:i,aggregateType:b,aggregateId:d})}let D=C("cn.zlooks.user.registered.v1","user",g.re({user:o}).refine(a=>"active"===a.user.status,{message:"A registered user snapshot must be active",path:["user","status"]}).readonly(),a=>a.user.id),E=C("cn.zlooks.user.email-verified.v1","user",g.re({user:o}).refine(a=>null!==a.user.email&&a.user.emailVerified,{message:"An email-verified event must contain a verified email snapshot",path:["user","emailVerified"]}).readonly(),a=>a.user.id),F=g.k5(["displayName","avatar","homepage","bio"]);!function(a){let b=v.parse(a.providerId),c=y.parse(a.displayName),d=w.parse(a.contractPackage);if(0===a.events.length||a.events.length>256)throw TypeError("Event catalog must contain between 1 and 256 events");let e=a.events[0].definition.producer,f=new Set,g=new Set,h=a.events.map(a=>{var b;if(a.definition.producer!==e)throw TypeError("Event catalog definitions must have one producer");if(f.has(a.definition.type))throw TypeError("Event catalog event types must be unique");let c=x.parse(a.consumerExport);if(g.has(c))throw TypeError("Event catalog Consumer exports must be unique");f.add(a.definition.type),g.add(c);let h=function a(b){var c;if(null===b||"string"==typeof b||"boolean"==typeof b||"number"==typeof b&&Number.isFinite(b))return b;if(Array.isArray(b))return Object.freeze(b.map(a));if(null!==(c=b)&&"object"==typeof c&&!Array.isArray(c))return Object.freeze(Object.fromEntries(Object.entries(b).filter(([,a])=>void 0!==a).map(([b,c])=>[b,a(c)])));throw TypeError("Event JSON Schema contains a non-JSON value")}(q.bl(a.definition.dataSchema,{target:"draft-2020-12",unrepresentable:"any",io:"input"}));if(!(null!==(b=h)&&"object"==typeof b&&!Array.isArray(b)))throw TypeError("Event data schema must serialize to a JSON object");return Object.freeze({type:a.definition.type,title:y.parse(a.title),description:z.parse(a.description),producer:e,aggregateType:a.definition.aggregateType,consumer:Object.freeze({packageName:d,exportName:c}),dataSchema:h})});Object.freeze({protocol:"zlooks.event-catalog",protocolVersion:1,providerId:b,displayName:c,producer:e,contractPackage:d,count:h.length,delivery:Object.freeze({guarantee:"at-least-once",deduplicateBy:"eventId"}),events:Object.freeze(h)})}({providerId:"user",displayName:"用户服务事件",contractPackage:"@zlooks.cn/user-shared",events:[{definition:D,title:"用户已注册",description:"用户账户已经完成持久化创建并处于可用状态。",consumerExport:"consumeUserRegisteredEvent"},{definition:E,title:"用户邮箱已验证",description:"用户邮箱从未验证状态真实转换为已验证状态。",consumerExport:"consumeUserEmailVerifiedEvent"},{definition:C("cn.zlooks.user.profile-updated.v1","user",g.re({user:o,changedFields:g.YO(F).min(1).max(4).refine(a=>new Set(a).size===a.length,"Profile fields must be unique").readonly()}).readonly(),a=>a.user.id),title:"用户资料已更新",description:"用户公开资料字段发生真实变化并携带变更后的完整安全快照。",consumerExport:"consumeUserProfileUpdatedEvent"},{definition:C("cn.zlooks.user.session-created.v1","session-family",g.re({user:o,sessionFamily:p,intent:g.k5(["login","registration","recovery"])}).superRefine((a,b)=>{a.sessionFamily.userId!==a.user.id&&b.addIssue({code:"custom",message:"Session and user snapshots must identify the same user",path:["sessionFamily","userId"]}),null!==a.sessionFamily.revokedAt&&b.addIssue({code:"custom",message:"A created session snapshot must be active",path:["sessionFamily","revokedAt"]}),"active"!==a.user.status&&b.addIssue({code:"custom",message:"A session-created event must contain an active user snapshot",path:["user","status"]})}).readonly(),a=>a.sessionFamily.id),title:"用户会话族已创建",description:"登录、注册或恢复流程已经创建一个新的活动会话族。",consumerExport:"consumeUserSessionCreatedEvent"},{definition:C("cn.zlooks.user.session-revoked.v1","session-family",g.re({user:o,sessionFamily:p}).superRefine((a,b)=>{a.sessionFamily.userId!==a.user.id&&b.addIssue({code:"custom",message:"Session and user snapshots must identify the same user",path:["sessionFamily","userId"]}),null===a.sessionFamily.revokedAt&&b.addIssue({code:"custom",message:"A revoked session snapshot must include its revocation",path:["sessionFamily","revokedAt"]})}).readonly(),a=>a.sessionFamily.id),title:"用户会话族已撤销",description:"用户会话族从活动状态真实转换为已撤销状态。",consumerExport:"consumeUserSessionRevokedEvent"}]}),(0,e.Sz)(i,"/api/auth/methods"),(0,e.Sz)(i,"/api/auth/transactions"),(0,e.Sz)(i,"/api/auth/logout"),(0,e.Sz)(i,"/api/auth/session/refresh"),(0,e.Sz)(i,"/api/user"),(0,e.Sz)(i,"/api/user/sessions"),Object.freeze({crossOriginRejected:1001,requestRejected:1002,authenticationRequired:1003,sessionExpired:1004,authenticationDenied:1005,authenticationPending:1006,routeNotFound:1007,accountNotFound:1008,accountAlreadyExists:1009,invalidVerificationCode:1010,verificationRateLimited:1011,emailDeliveryFailed:1012,serviceUnavailable:1013});let G=g.Yj().min(1).max(2048).regex(/^\/(?!\/)[^?#]*$/),H=g.gM("status",[g.re({status:g.eu("anonymous"),loginMethods:g.YO(g.re({id:g.Yj().min(1).max(128),label:g.Yj().min(1).max(80),href:G})).max(64)}),g.re({status:g.eu("authenticated"),user:g.re({label:g.Yj().min(1).max(160),secondary:g.Yj().min(1).max(320).optional(),avatarText:g.Yj().min(1).max(8),avatarUrl:g.OZ({protocol:/^https?$/}).max(2048).optional()}),accountHref:G,logoutHref:G})]).readonly(),I=g.gM("action",[g.re({action:g.eu("set"),value:g.Yj().min(1).max(4096),expiresAt:h.w$({offset:!0})}),g.re({action:g.eu("clear")})]),J=g.Yj().min(1).max(4096),K=g.Yj().trim().min(1).max(128),L=g.re({id:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),label:g.Yj().trim().min(1).max(80),capabilities:g.re({login:g.zM(),registration:g.zM()}),rsc:g.re({pluginId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),slots:g.re({login:G.optional(),registration:G.optional()})})}).readonly(),M=g.re({}).readonly(),N=g.re({methods:g.YO(L).max(64).readonly()}).readonly(),O=g.re({methodId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),intent:g.k5(["login","registration","linking","reauthentication","recovery"]),loginHint:g.Yj().trim().min(1).max(320).optional(),requestContext:g.re({clientKey:g.Yj().min(16).max(128)})}).readonly(),P=g.gM("status",[g.re({status:g.eu("input-required"),transactionId:g.uR(),methodId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/)}),g.re({status:g.eu("redirect-required"),transactionId:g.uR(),methodId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),redirectUrl:g.OZ().max(4096)}),g.re({status:g.eu("pending"),transactionId:g.uR(),methodId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),retryAfterMs:g.ai().int().min(250).max(6e4)})]).readonly(),Q=g.re({input:g.L5()}).readonly(),R=g.gM("status",[g.re({status:g.eu("verified"),session:g.re({token:J,expiresAt:h.w$({offset:!0})}),user:g.L5()}),g.re({status:g.eu("denied"),code:g.Yj().min(1).max(128)}),g.re({status:g.eu("pending"),retryAfterMs:g.ai().int().min(250).max(6e4)})]).readonly(),S=g.re({id:g.Yj().min(1).max(128),displayName:g.Yj().min(1).max(160).optional(),avatar:g.OZ({protocol:/^https?$/}).max(2048).optional(),homepage:g.OZ({protocol:/^https?$/}).max(2048).optional(),bio:g.Yj().max(500).optional(),email:g.Rp().max(320).optional(),emailVerified:g.zM()}).readonly(),T=g.re({user:S}).readonly(),U=g.re({input:g.L5()}).readonly(),V=g.re({id:g.Yj().min(1).max(128),createdAt:h.w$(),lastSeenAt:h.w$(),expiresAt:h.w$(),revoked:g.zM()}).readonly(),W=g.re({sessions:g.YO(V).max(100).readonly()}).readonly(),X=g.re({revoked:g.zM()}).readonly(),Y=g.re({revoked:g.zM()}).readonly(),Z=g.re({session:g.re({token:J,expiresAt:h.w$({offset:!0}),user:S})}).readonly(),$=g.re({protocol:g.eu("zlooks.event-catalog"),protocolVersion:g.eu(1),providerId:g.eu("user"),displayName:g.Yj().min(1).max(160),producer:g.eu(i),contractPackage:g.eu("@zlooks.cn/user-shared"),count:g.eu(5),delivery:g.re({guarantee:g.eu("at-least-once"),deduplicateBy:g.eu("eventId")}),events:g.YO(g.re({type:g.Yj().min(1).max(256),title:g.Yj().min(1).max(160),description:g.Yj().min(1).max(1e3),producer:g.eu(i),aggregateType:g.Yj().min(1).max(128),consumer:g.re({packageName:g.eu("@zlooks.cn/user-shared"),exportName:g.Yj().min(1).max(128)}),dataSchema:g.g1(g.Yj(),g.L5())})).length(5).readonly()}).readonly(),_=g.re({}).readonly(),aa=g.re({id:g.uR(),displayName:g.Yj().trim().min(1).max(160).nullable(),avatar:g.OZ({protocol:/^https?$/}).max(2048).nullable(),homepage:g.OZ({protocol:/^https?$/}).max(2048).nullable().optional(),bio:g.Yj().trim().min(1).max(500).nullable().optional()}).readonly(),ab=g.gM("authenticated",[g.re({authenticated:g.eu(!1)}),g.re({authenticated:g.eu(!0),user:aa})]).readonly(),ac=g.re({userIds:g.YO(g.uR()).min(1).max(100).refine(a=>new Set(a).size===a.length,{message:"User IDs must be unique"}).readonly()}).readonly(),ad=g.re({users:g.YO(aa).max(100).refine(a=>new Set(a.map(a=>a.id)).size===a.length,{message:"Public user profiles must be unique"}).readonly()}).readonly();g.re({method:g.k5(["GET","POST","PATCH"]),path:G,origin:g.Yj().max(2048).optional(),clientKey:g.Yj().regex(/^[a-f0-9]{64}$/),body:g.L5().optional()}).readonly(),g.re({status:g.ai().int().min(200).max(599).refine(a=>a<300||a>=400),body:e.RW,sessionCookie:I.optional()}).superRefine((a,b)=>{let c=a.status>=200&&a.status<300;!(0,e.lu)(a.body)!==c&&b.addIssue({code:"custom",message:"HTTP status and browser API response code disagree",path:["body","code"]})}).readonly();let ae=g.re({protocol:g.eu("zlooks.user.credential-lifecycle"),kind:g.k5(["registration","recovery"]),authenticationTransactionId:g.uR(),extensionId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),methodId:g.Yj().regex(/^[a-z][a-z0-9._-]{0,127}$/),subject:g.Yj().trim().min(1).max(512),email:g.Rp().max(320),occurredAt:h.w$({offset:!0})}).readonly(),af=g.re({acknowledged:g.eu(!0)}).readonly();function ag(a){return H.parse(a)}function ah(a){return M.parse(a)}function ai(a){return N.parse(a)}function aj(a){return O.parse(a)}function ak(a){return P.parse(a)}function al(a){return Q.parse(a)}function am(a){return R.parse(a)}function an(a){return T.parse(a)}function ao(a){return U.parse(a)}function ap(a){return W.parse(a)}function aq(a){return X.parse(a)}function ar(a){return Y.parse(a)}function as(a){return Z.parse(a)}function at(a){return $.parse(a)}function au(a){return ae.parse(a)}function av(a){return af.parse(a)}function aw(a){return _.parse(a)}function ax(a){return ab.parse(a)}function ay(a){return ac.parse(a)}function az(a){return ad.parse(a)}async function aA(a,b,c,d,e,f){let g=e(c);return f(await a.call(i,b,g,d))}async function aB(a,b){return Object.freeze({listAuthenticationMethods:b=>aA(a,"/auth/catalog",{},b,ah,ai),beginAuthentication:(b,c)=>aA(a,"/auth/transactions",b,c,aj,ak),completeAuthentication:(b,c,d)=>aA(a,"/auth/transactions/:transactionId/complete".replace(":transactionId",encodeURIComponent(g.Yj().trim().min(1).max(128).parse(b))),c,d,al,am),logout:b=>aA(a,"/auth/logout",{},b,ah,ar),refreshSession:b=>aA(a,"/auth/session/refresh",{},b,ah,as),applyCredentialLifecycle:(b,c)=>aA(a,"/auth/credential-lifecycle",b,c,au,av),readCurrentUser:b=>aA(a,"/users/current",{},b,aw,ax),readPublicProfiles:async(b,c)=>{let d=ay(b),e=await aA(a,"/users/public-profiles",d,c,ay,az),f=new Set(d.userIds);if(e.users.some(a=>!f.has(a.id)))throw TypeError("User service returned a public profile that was not requested");return e},readAccount:b=>aA(a,"/users/me",{},b,ah,an),updateAccount:(b,c)=>aA(a,"/users/me/update",b,c,ao,an),listAccountSessions:b=>aA(a,"/users/me/sessions",{},b,ah,ap),revokeAccountSession:(b,c)=>aA(a,"/users/me/sessions/:familyId/revoke".replace(":familyId",encodeURIComponent(K.parse(b))),{},c,ah,aq),readShell:b=>aA(a,"/users/shell",{},b,ah,ag),readEventCatalog:b=>aA(a,"/events/catalog",{},b,ah,at)}).readShell(b)}var aC=c(70349);let aD=g.Yj().min(1).max(2048).regex(/^\/(?!\/)[^?#]*$/),aE=g.OZ().refine(a=>{let b=new URL(a);return("http:"===b.protocol||"https:"===b.protocol)&&!b.username&&!b.password&&"/"===b.pathname&&!b.search&&!b.hash},"Public origin must be one canonical HTTP(S) origin"),aF=g.re({key:g.Yj().min(1).max(256),label:g.Yj().min(1).max(160),href:aD,order:g.ai().finite()}),aG=g.re({navigation:g.YO(aF).max(256),origin:aE,pathname:aD,user:g.L5()}),aH=g.re({status:g.eu("unavailable")});var aI=c(5598);async function aJ(a){var b,c,d,e;let g,h,i=await aK(a),j={navigation:(b=a.rsc,c=a.policy,(0,aI.l)(b.deployments,b.artifacts).filter(({pluginId:a,buildId:b})=>c.canDiscover({pluginId:a,buildId:b})).flatMap(({pluginId:a,metadata:b})=>(b?.navigation??[]).map(b=>{var c,d;return{key:`${a}:${b.id}`,label:b.label,href:(c=a,d=b.path,`/${encodeURIComponent(c)}${"/"===d?"":d}`),order:b.order??0}})).sort((a,b)=>a.order-b.order||a.key.localeCompare(b.key))),origin:a.origin,pathname:a.pathname,user:i},k={[f.qe]:(0,f.WA)(a.globalConfig),__zlooks_shell_context:JSON.stringify((d=j,{navigation:(g=aG.parse(d)).navigation,origin:g.origin,pathname:g.pathname,user:(e=g.user,(h=aH.safeParse(e)).success?h.data:ag(e))}))};return a.sessionToken&&(k.__zlooks_user_session=a.sessionToken),{params:k,shell:j}}async function aK(a){try{return await aB(a.application,{context:(0,d.eC)(a.sessionToken?{[e.Ih]:{[aC.CY]:a.sessionToken}}:{}),timeout:1500,retries:0,...a.signal?{signal:a.signal}:{}})}catch(b){if(a.signal?.aborted)throw a.signal.reason??Error("RSC shell request was aborted");return a.logger.warn({err:b,event:"gateway.rsc-shell.unavailable"},"User shell projection is unavailable"),{status:"unavailable"}}}},25041:(a,b,c)=>{Promise.resolve().then(c.bind(c,121)),Promise.resolve().then(c.bind(c,81502))},34769:(a,b,c)=>{Promise.resolve().then(c.bind(c,2131)),Promise.resolve().then(c.bind(c,5200))},38825:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>k,dynamic:()=>j,metadata:()=>i});var d=c(68108),e=c(99103),f=c(37922),g=c(97242),h=c(5200);c(54361),c(67018),c(95751);let i={referrer:"strict-origin-when-cross-origin",icons:{icon:[{url:"/favicon.ico",type:"image/svg+xml"}]},formatDetection:{email:!1,address:!1,telephone:!1}},j="force-dynamic";async function k({children:a}){return(await (0,f.oV)(g.A)).withCurrent(({config:b})=>(0,d.jsx)("html",{lang:"zh-CN",children:(0,d.jsx)("body",{children:(0,d.jsx)(e.Z,{children:(0,d.jsx)(h.default,{assetMountPath:b.rsc.assetMountPath,csrfToken:b.rsc.csrfToken,children:a})})})}))}},47113:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,30816,23)),Promise.resolve().then(c.t.bind(c,86955,23)),Promise.resolve().then(c.t.bind(c,61031,23)),Promise.resolve().then(c.t.bind(c,82922,23)),Promise.resolve().then(c.t.bind(c,78814,23)),Promise.resolve().then(c.t.bind(c,47898,23)),Promise.resolve().then(c.t.bind(c,5119,23)),Promise.resolve().then(c.t.bind(c,85706,23))},63788:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95082,23))},67018:()=>{},76940:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,30816,23))},81502:(a,b,c)=>{"use strict";c.d(b,{default:()=>i});var d=c(17858),e=c(77394),f=c(66954),g=c(85947);function h(){return(0,d.jsx)("div",{"aria-hidden":"true","data-hile-rsc-initial-route":!0})}function i({assetMountPath:a,csrfToken:b,children:c}){return(0,d.jsx)(f.j,{serverFunctions:{headers:{"x-rsc-csrf-token":b}},children:(0,d.jsx)(e.jj,{assetMountPath:a,suspensePolicy:"host",renderError:(a,b,c)=>(0,d.jsxs)("section",{role:"alert","data-hile-rsc-error":b.referenceId,children:[(0,d.jsx)("p",{children:"插件组件暂时无法加载。"}),(0,d.jsx)("button",{type:"button",onClick:c,children:"重试"})]}),children:(0,d.jsx)(g.Suspense,{fallback:(0,d.jsx)(h,{}),children:c})})})}},95751:()=>{}};
|