@zlooks.cn/password-auth-server 1.0.3 → 1.0.5

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.
Files changed (30) hide show
  1. package/.hile-rsc/{build-mtsn68qv-a841a566/client-browser/chunks/chunk-CZF5VGOJ.js → build-mtwvmb9w-8d24cd70/client-browser/chunks/chunk-Q4E7K4YZ.js} +22 -70
  2. package/.hile-rsc/{build-mtsn68qv-a841a566/client-browser/src-plugin-page-frame-07c4de56a6-C2WHPDGD.js → build-mtwvmb9w-8d24cd70/client-browser/src-plugin-page-frame-07c4de56a6-3RB2NF7F.js} +1 -1
  3. package/.hile-rsc/{build-mtsn68qv-a841a566/client-browser/src-plugin-password-form-3bd63d69e5-G5UQAB5W.js → build-mtwvmb9w-8d24cd70/client-browser/src-plugin-password-form-3bd63d69e5-LHEMP4OP.js} +388 -134
  4. package/.hile-rsc/{build-mtsn68qv-a841a566/client-ssr/chunks/chunk-RMKQVF3F.js → build-mtwvmb9w-8d24cd70/client-ssr/chunks/chunk-IR7T4YHX.js} +21 -69
  5. package/.hile-rsc/{build-mtsn68qv-a841a566/client-ssr/src-plugin-page-frame-07c4de56a6-ICZZGKBP.js → build-mtwvmb9w-8d24cd70/client-ssr/src-plugin-page-frame-07c4de56a6-5ALGD76V.js} +1 -1
  6. package/.hile-rsc/{build-mtsn68qv-a841a566/client-ssr/src-plugin-password-form-3bd63d69e5-UV3K6EC6.js → build-mtwvmb9w-8d24cd70/client-ssr/src-plugin-password-form-3bd63d69e5-TF7ZOD75.js} +593 -339
  7. package/.hile-rsc/{build-mtsn68qv-a841a566 → build-mtwvmb9w-8d24cd70}/plugin.json +18 -18
  8. package/.hile-rsc/{build-mtsn68qv-a841a566 → build-mtwvmb9w-8d24cd70}/server-rsc/index.js +308 -156
  9. package/dist/config/schema.d.ts.map +1 -1
  10. package/dist/config/schema.js +37 -6
  11. package/dist/config/schema.js.map +1 -1
  12. package/dist/messages/auth-extension/begin.msg.js +6 -5
  13. package/dist/messages/auth-extension/begin.msg.js.map +1 -1
  14. package/dist/messages/auth-extension/complete.msg.js +6 -5
  15. package/dist/messages/auth-extension/complete.msg.js.map +1 -1
  16. package/dist/models/begin-authentication.model.d.ts +22 -0
  17. package/dist/models/begin-authentication.model.d.ts.map +1 -0
  18. package/dist/models/begin-authentication.model.js +13 -0
  19. package/dist/models/begin-authentication.model.js.map +1 -0
  20. package/dist/models/complete-authentication.model.d.ts +35 -0
  21. package/dist/models/complete-authentication.model.d.ts.map +1 -0
  22. package/dist/models/complete-authentication.model.js +13 -0
  23. package/dist/models/complete-authentication.model.js.map +1 -0
  24. package/dist/runtime/password-state-store.d.ts.map +1 -1
  25. package/dist/runtime/password-state-store.js +23 -10
  26. package/dist/runtime/password-state-store.js.map +1 -1
  27. package/package.json +26 -25
  28. /package/.hile-rsc/{build-mtsn68qv-a841a566 → build-mtwvmb9w-8d24cd70}/client-browser/src-plugin-page-frame-07c4de56a6-3F24AYCH.css +0 -0
  29. /package/.hile-rsc/{build-mtsn68qv-a841a566 → build-mtwvmb9w-8d24cd70}/client-browser/src-plugin-password-form-3bd63d69e5-TRYMJX4F.css +0 -0
  30. /package/.hile-rsc/{build-mtsn68qv-a841a566 → build-mtwvmb9w-8d24cd70}/styles/4b3193c4f2b317ffed425ccf401342a4bdd6ccfd5f9c42def3315e776f166975.css +0 -0
@@ -8,7 +8,6 @@ var __export = (target, all) => {
8
8
  import { URL as URL2 } from "node:url";
9
9
 
10
10
  // ../utils/dist/index.js
11
- var USER_SESSION_COOKIE = "zlooks_session";
12
11
  function deepFreeze(value) {
13
12
  if (value !== null && typeof value === "object" && !Object.isFrozen(value)) {
14
13
  Object.freeze(value);
@@ -11333,12 +11332,12 @@ function _check(fn, params) {
11333
11332
  return ch;
11334
11333
  }
11335
11334
  // @__NO_SIDE_EFFECTS__
11336
- function describe(description) {
11335
+ function describe(description2) {
11337
11336
  const ch = new $ZodCheck({ check: "describe" });
11338
11337
  ch._zod.onattach = [
11339
11338
  (inst) => {
11340
11339
  const existing = globalRegistry.get(inst) ?? {};
11341
- globalRegistry.add(inst, { ...existing, description });
11340
+ globalRegistry.add(inst, { ...existing, description: description2 });
11342
11341
  }
11343
11342
  ];
11344
11343
  ch._zod.check = () => {
@@ -12845,9 +12844,9 @@ var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
12845
12844
  readonly() {
12846
12845
  return readonly(this);
12847
12846
  },
12848
- describe(description) {
12847
+ describe(description2) {
12849
12848
  const cl = this.clone();
12850
- globalRegistry.add(cl, { description });
12849
+ globalRegistry.add(cl, { description: description2 });
12851
12850
  return cl;
12852
12851
  },
12853
12852
  meta(...args) {
@@ -14617,6 +14616,14 @@ var globalConfigMcpProfileUpdateSchema = external_exports.strictObject({
14617
14616
  expectedRevision: external_exports.number().int().min(0).max(Number.MAX_SAFE_INTEGER),
14618
14617
  value: siteProfileSchema
14619
14618
  });
14619
+ var globalConfigAuditActorSchema = external_exports.string().trim().min(1).max(256);
14620
+ var globalConfigPresentationUpdateCommandSchema = globalConfigMcpUpdateSchema.extend({
14621
+ actor: globalConfigAuditActorSchema
14622
+ });
14623
+ var globalConfigProfileUpdateCommandSchema = globalConfigMcpProfileUpdateSchema.extend({
14624
+ actor: globalConfigAuditActorSchema
14625
+ });
14626
+ var globalConfigEmptyRequestSchema = external_exports.strictObject({});
14620
14627
  function parseSitePresentationSnapshot(input) {
14621
14628
  return deepFreeze(sitePresentationSnapshotSchema.parse(input));
14622
14629
  }
@@ -14629,19 +14636,13 @@ function parseGlobalConfigRscSnapshot(input) {
14629
14636
  }
14630
14637
 
14631
14638
  // ../browser-api/dist/index.js
14632
- var BROWSER_API_PROVIDER_DISPATCH_OPERATION = "/browser/dispatch";
14633
- var identifier2 = external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/);
14639
+ var BROWSER_API_CONTROLLER_PREFIX = "/-";
14634
14640
  var namespace = external_exports.string().regex(/^[a-z][a-z0-9]*(?:\.[a-z][a-z0-9]*)+$/);
14635
14641
  var absolutePath = external_exports.string().min(1).max(2048).regex(/^\/(?!\/)[^?#\s]*$/);
14636
- var publicApiPath = external_exports.string().min(5).max(2048).regex(/^\/api\/(?!\/)[^?#\s]*$/);
14637
14642
  var instant = external_exports.iso.datetime({ offset: true });
14638
14643
  var cookieName = external_exports.string().regex(/^[A-Za-z][A-Za-z0-9_-]{0,127}$/);
14639
14644
  var httpMethod = external_exports.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]);
14640
- var cookieNames = external_exports.array(cookieName).max(8).refine((names) => new Set(names).size === names.length, "Cookie names must be unique").readonly();
14641
- var publicErrorSchema = external_exports.strictObject({
14642
- code: external_exports.number().int().safe().refine((code) => code !== 0),
14643
- message: external_exports.string().trim().min(1).max(500)
14644
- }).readonly();
14645
+ var httpHeaderValue = external_exports.string().max(8192);
14645
14646
  var successSchema = external_exports.strictObject({
14646
14647
  code: external_exports.literal(0),
14647
14648
  data: external_exports.unknown().refine((data) => data !== void 0)
@@ -14651,45 +14652,15 @@ var failureSchema = external_exports.strictObject({
14651
14652
  error: external_exports.string().trim().min(1).max(500)
14652
14653
  }).readonly();
14653
14654
  var browserApiResponseSchema = external_exports.union([successSchema, failureSchema]);
14654
- var exactRouteSchema = external_exports.strictObject({
14655
- exact: publicApiPath,
14656
- methods: external_exports.array(httpMethod).min(1).max(5).refine((methods) => new Set(methods).size === methods.length, "Methods must be unique").readonly(),
14657
- forwardCookieNames: cookieNames
14658
- }).readonly();
14659
- var prefixRouteSchema = external_exports.strictObject({
14660
- prefix: publicApiPath.refine((path) => path.endsWith("/"), "Route prefix must end with /"),
14661
- methods: external_exports.array(httpMethod).min(1).max(5).refine((methods) => new Set(methods).size === methods.length, "Methods must be unique").readonly(),
14662
- forwardCookieNames: cookieNames
14663
- }).readonly();
14664
- var browserApiPublicRouteSchema = external_exports.union([exactRouteSchema, prefixRouteSchema]);
14665
- var browserApiProviderLeaseSchema = external_exports.strictObject({
14666
- issuedAt: instant,
14667
- expiresAt: instant,
14668
- sequence: external_exports.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER)
14669
- }).refine((lease) => Date.parse(lease.expiresAt) > Date.parse(lease.issuedAt), {
14670
- message: "Browser API Provider lease must expire after it is issued"
14671
- }).readonly();
14672
- var browserApiProviderAnnouncementSchema = external_exports.strictObject({
14673
- protocol: external_exports.literal("zlooks.browser-api.provider"),
14674
- providerId: identifier2,
14675
- instanceId: identifier2,
14676
- namespace,
14677
- operation: external_exports.literal(BROWSER_API_PROVIDER_DISPATCH_OPERATION),
14678
- routes: external_exports.array(browserApiPublicRouteSchema).min(1).max(64).refine((routes) => !routes.some((route, index) => routes.slice(index + 1).some((candidate) => routesOverlap(route, candidate))), "Provider routes must not overlap for the same HTTP method").readonly(),
14679
- writableCookieNames: cookieNames,
14680
- errors: external_exports.strictObject({
14681
- invalidRequest: publicErrorSchema,
14682
- unavailable: publicErrorSchema
14683
- }).readonly(),
14684
- lease: browserApiProviderLeaseSchema
14685
- }).readonly();
14686
- var browserApiProviderSnapshotSchema = external_exports.strictObject({
14687
- topic: external_exports.string().min(1).max(512),
14688
- payload: browserApiProviderAnnouncementSchema,
14689
- publishers: external_exports.array(external_exports.strictObject({
14690
- host: external_exports.string().trim().min(1).max(253),
14691
- port: external_exports.number().int().min(1).max(65535)
14692
- }).readonly()).length(1).readonly()
14655
+ var browserApiHttpRequestHeadersSchema = external_exports.strictObject({
14656
+ accept: httpHeaderValue.optional(),
14657
+ "accept-language": httpHeaderValue.optional(),
14658
+ "content-type": httpHeaderValue.optional(),
14659
+ "if-modified-since": httpHeaderValue.optional(),
14660
+ "if-none-match": httpHeaderValue.optional(),
14661
+ origin: external_exports.string().max(2048).optional(),
14662
+ range: httpHeaderValue.optional(),
14663
+ referer: httpHeaderValue.optional()
14693
14664
  }).readonly();
14694
14665
  var queryValue = external_exports.union([
14695
14666
  external_exports.string().max(512),
@@ -14725,10 +14696,11 @@ var browserApiCookieEffectSchema = external_exports.discriminatedUnion("action",
14725
14696
  name: cookieName
14726
14697
  })
14727
14698
  ]).readonly();
14699
+ var browserApiCookieEffectsSchema = external_exports.array(browserApiCookieEffectSchema).max(8).refine((effects) => new Set(effects.map((effect) => effect.name)).size === effects.length, "Cookie effects must target unique names").readonly();
14728
14700
  var browserApiDispatchResponseSchema = external_exports.strictObject({
14729
14701
  status: external_exports.number().int().min(200).max(599).refine((status) => status < 300 || status >= 400),
14730
14702
  body: browserApiResponseSchema,
14731
- cookieEffects: external_exports.array(browserApiCookieEffectSchema).max(8).refine((effects) => new Set(effects.map((effect) => effect.name)).size === effects.length, "Cookie effects must target unique names").readonly().optional()
14703
+ cookieEffects: browserApiCookieEffectsSchema.optional()
14732
14704
  }).superRefine((response, context) => {
14733
14705
  const httpSucceeded = response.status >= 200 && response.status < 300;
14734
14706
  if (httpSucceeded === !isBrowserApiFailure(response.body))
@@ -14739,23 +14711,12 @@ var browserApiDispatchResponseSchema = external_exports.strictObject({
14739
14711
  path: ["body", "code"]
14740
14712
  });
14741
14713
  }).readonly();
14714
+ function browserApiPath(serviceNamespace2, microUrl) {
14715
+ return `${BROWSER_API_CONTROLLER_PREFIX}/${namespace.parse(serviceNamespace2)}${absolutePath.parse(microUrl)}`;
14716
+ }
14742
14717
  function isBrowserApiFailure(response) {
14743
14718
  return response.code !== 0;
14744
14719
  }
14745
- function routesOverlap(left, right) {
14746
- if (!left.methods.some((method) => right.methods.includes(method)))
14747
- return false;
14748
- if ("exact" in left && "exact" in right)
14749
- return left.exact === right.exact;
14750
- if ("prefix" in left && "prefix" in right) {
14751
- return left.prefix.startsWith(right.prefix) || right.prefix.startsWith(left.prefix);
14752
- }
14753
- if ("exact" in left && "prefix" in right)
14754
- return left.exact.startsWith(right.prefix);
14755
- if ("prefix" in left && "exact" in right)
14756
- return right.exact.startsWith(left.prefix);
14757
- return false;
14758
- }
14759
14720
 
14760
14721
  // ../user-shared/dist/identity.js
14761
14722
  var USER_SERVICE_NAMESPACE = "cn.zlooks.user.server";
@@ -14848,6 +14809,12 @@ var eventType = external_exports.string().max(256).regex(/^[a-z][a-z0-9]*(?:\.[a
14848
14809
  var serviceNamespace = external_exports.string().max(256).regex(/^[a-z][a-z0-9]*(?:\.[a-z][a-z0-9]*)+$/);
14849
14810
  var aggregateType = external_exports.string().regex(/^[a-z][a-z0-9-]{0,63}$/);
14850
14811
  var aggregateId = external_exports.string().trim().min(1).max(256);
14812
+ var providerId = external_exports.string().max(128).regex(/^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/);
14813
+ var contractPackage = external_exports.string().max(128).regex(/^@zlooks\.cn\/[a-z0-9]+(?:-[a-z0-9]+)*$/);
14814
+ var exportName = external_exports.string().max(128).regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/);
14815
+ var title = external_exports.string().trim().min(1).max(120);
14816
+ var description = external_exports.string().trim().min(1).max(1e3);
14817
+ var jsonValueSchema = external_exports.json();
14851
14818
  var eventEnvelopeSchema = external_exports.strictObject({
14852
14819
  protocol: external_exports.literal("zlooks.event"),
14853
14820
  protocolVersion: external_exports.literal(1),
@@ -14859,42 +14826,130 @@ var eventEnvelopeSchema = external_exports.strictObject({
14859
14826
  id: aggregateId
14860
14827
  }).readonly(),
14861
14828
  occurredAt: external_exports.iso.datetime({ offset: true }),
14862
- data: external_exports.unknown()
14829
+ data: jsonValueSchema
14863
14830
  }).readonly();
14864
- function defineEvent(type, dataSchema5) {
14831
+ function parseDomainEvent(input) {
14832
+ const envelope = eventEnvelopeSchema.parse(input);
14833
+ return Object.freeze({
14834
+ ...envelope,
14835
+ aggregate: Object.freeze({ ...envelope.aggregate })
14836
+ });
14837
+ }
14838
+ function defineEvent(type, dataSchema5, options) {
14865
14839
  const parsedType2 = eventType.parse(type);
14840
+ const producer = serviceNamespace.parse(options.producer);
14841
+ const parsedAggregateType = aggregateType.parse(options.aggregateType);
14842
+ const selectAggregateId = options.aggregateId;
14843
+ if (typeof selectAggregateId !== "function")
14844
+ throw new TypeError("Event aggregateId must be a function");
14866
14845
  return Object.freeze({
14867
14846
  type: parsedType2,
14847
+ producer,
14848
+ aggregateType: parsedAggregateType,
14849
+ dataSchema: dataSchema5,
14868
14850
  parse(value) {
14869
- const envelope = eventEnvelopeSchema.parse(value);
14851
+ const envelope = parseDomainEvent(value);
14870
14852
  if (envelope.type !== parsedType2) {
14871
14853
  throw new TypeError(`Expected event type ${parsedType2}`);
14872
14854
  }
14855
+ if (envelope.producer !== producer) {
14856
+ throw new TypeError(`Expected event producer ${producer}`);
14857
+ }
14858
+ const data = dataSchema5.parse(envelope.data);
14859
+ jsonValueSchema.parse(data);
14860
+ const expectedAggregateId = aggregateId.parse(selectAggregateId(data));
14861
+ if (envelope.aggregate.type !== parsedAggregateType || envelope.aggregate.id !== expectedAggregateId) {
14862
+ throw new TypeError(`${parsedType2} aggregate does not identify its event data`);
14863
+ }
14873
14864
  return Object.freeze({
14874
14865
  ...envelope,
14875
14866
  type: parsedType2,
14876
14867
  aggregate: Object.freeze({ ...envelope.aggregate }),
14877
- data: dataSchema5.parse(envelope.data)
14868
+ data
14878
14869
  });
14879
14870
  }
14880
14871
  });
14881
14872
  }
14873
+ function defineEventCatalog(input) {
14874
+ const parsedProviderId = providerId.parse(input.providerId);
14875
+ const parsedDisplayName = title.parse(input.displayName);
14876
+ const parsedContractPackage = contractPackage.parse(input.contractPackage);
14877
+ if (input.events.length === 0 || input.events.length > 256) {
14878
+ throw new TypeError("Event catalog must contain between 1 and 256 events");
14879
+ }
14880
+ const producer = input.events[0].definition.producer;
14881
+ const eventTypes = /* @__PURE__ */ new Set();
14882
+ const consumerExports = /* @__PURE__ */ new Set();
14883
+ const events = input.events.map((entry) => {
14884
+ if (entry.definition.producer !== producer) {
14885
+ throw new TypeError("Event catalog definitions must have one producer");
14886
+ }
14887
+ if (eventTypes.has(entry.definition.type)) {
14888
+ throw new TypeError("Event catalog event types must be unique");
14889
+ }
14890
+ const parsedConsumerExport = exportName.parse(entry.consumerExport);
14891
+ if (consumerExports.has(parsedConsumerExport)) {
14892
+ throw new TypeError("Event catalog Consumer exports must be unique");
14893
+ }
14894
+ eventTypes.add(entry.definition.type);
14895
+ consumerExports.add(parsedConsumerExport);
14896
+ const dataSchema5 = immutableJson(external_exports.toJSONSchema(entry.definition.dataSchema, {
14897
+ target: "draft-2020-12",
14898
+ unrepresentable: "any",
14899
+ io: "input"
14900
+ }));
14901
+ if (!isJsonObject(dataSchema5))
14902
+ throw new TypeError("Event data schema must serialize to a JSON object");
14903
+ return Object.freeze({
14904
+ type: entry.definition.type,
14905
+ title: title.parse(entry.title),
14906
+ description: description.parse(entry.description),
14907
+ producer,
14908
+ aggregateType: entry.definition.aggregateType,
14909
+ consumer: Object.freeze({
14910
+ packageName: parsedContractPackage,
14911
+ exportName: parsedConsumerExport
14912
+ }),
14913
+ dataSchema: dataSchema5
14914
+ });
14915
+ });
14916
+ return Object.freeze({
14917
+ protocol: "zlooks.event-catalog",
14918
+ protocolVersion: 1,
14919
+ providerId: parsedProviderId,
14920
+ displayName: parsedDisplayName,
14921
+ producer,
14922
+ contractPackage: parsedContractPackage,
14923
+ count: events.length,
14924
+ delivery: Object.freeze({ guarantee: "at-least-once", deduplicateBy: "eventId" }),
14925
+ events: Object.freeze(events)
14926
+ });
14927
+ }
14928
+ function immutableJson(value) {
14929
+ if (value === null || typeof value === "string" || typeof value === "boolean")
14930
+ return value;
14931
+ if (typeof value === "number" && Number.isFinite(value))
14932
+ return value;
14933
+ if (Array.isArray(value))
14934
+ return Object.freeze(value.map(immutableJson));
14935
+ if (isRecord(value)) {
14936
+ return Object.freeze(Object.fromEntries(Object.entries(value).filter(([, item]) => item !== void 0).map(([key, item]) => [key, immutableJson(item)])));
14937
+ }
14938
+ throw new TypeError("Event JSON Schema contains a non-JSON value");
14939
+ }
14940
+ function isJsonObject(value) {
14941
+ return value !== null && typeof value === "object" && !Array.isArray(value);
14942
+ }
14943
+ function isRecord(value) {
14944
+ return value !== null && typeof value === "object" && !Array.isArray(value);
14945
+ }
14882
14946
 
14883
14947
  // ../user-shared/dist/events/definition.js
14884
14948
  function defineUserEvent(type, aggregateType2, dataSchema5, aggregateId2) {
14885
- const base = defineEvent(type, dataSchema5);
14886
- return Object.freeze({
14887
- type: base.type,
14888
- parse(input) {
14889
- const event = base.parse(input);
14890
- if (event.producer !== USER_SERVICE_NAMESPACE) {
14891
- throw new TypeError(`Expected event producer ${USER_SERVICE_NAMESPACE}`);
14892
- }
14893
- if (event.aggregate.type !== aggregateType2 || event.aggregate.id !== aggregateId2(event.data)) {
14894
- throw new TypeError(`${type} aggregate does not identify its event data`);
14895
- }
14896
- return event;
14897
- }
14949
+ return defineEvent(type, dataSchema5, {
14950
+ producer: USER_SERVICE_NAMESPACE,
14951
+ aggregateType: aggregateType2,
14952
+ aggregateId: aggregateId2
14898
14953
  });
14899
14954
  }
14900
14955
 
@@ -14979,54 +15034,52 @@ var dataSchema4 = external_exports.strictObject({
14979
15034
  }).readonly();
14980
15035
  var userSessionRevokedEvent = defineUserEvent(USER_SESSION_REVOKED_EVENT_TYPE, "session-family", dataSchema4, (data) => data.sessionFamily.id);
14981
15036
 
15037
+ // ../user-shared/dist/events/catalog.js
15038
+ var USER_EVENT_CATALOG = defineEventCatalog({
15039
+ providerId: "user",
15040
+ displayName: "\u7528\u6237\u670D\u52A1\u4E8B\u4EF6",
15041
+ contractPackage: "@zlooks.cn/user-shared",
15042
+ events: [
15043
+ {
15044
+ definition: userRegisteredEvent,
15045
+ title: "\u7528\u6237\u5DF2\u6CE8\u518C",
15046
+ description: "\u7528\u6237\u8D26\u6237\u5DF2\u7ECF\u5B8C\u6210\u6301\u4E45\u5316\u521B\u5EFA\u5E76\u5904\u4E8E\u53EF\u7528\u72B6\u6001\u3002",
15047
+ consumerExport: "consumeUserRegisteredEvent"
15048
+ },
15049
+ {
15050
+ definition: userEmailVerifiedEvent,
15051
+ title: "\u7528\u6237\u90AE\u7BB1\u5DF2\u9A8C\u8BC1",
15052
+ description: "\u7528\u6237\u90AE\u7BB1\u4ECE\u672A\u9A8C\u8BC1\u72B6\u6001\u771F\u5B9E\u8F6C\u6362\u4E3A\u5DF2\u9A8C\u8BC1\u72B6\u6001\u3002",
15053
+ consumerExport: "consumeUserEmailVerifiedEvent"
15054
+ },
15055
+ {
15056
+ definition: userProfileUpdatedEvent,
15057
+ title: "\u7528\u6237\u8D44\u6599\u5DF2\u66F4\u65B0",
15058
+ description: "\u7528\u6237\u516C\u5F00\u8D44\u6599\u5B57\u6BB5\u53D1\u751F\u771F\u5B9E\u53D8\u5316\u5E76\u643A\u5E26\u53D8\u66F4\u540E\u7684\u5B8C\u6574\u5B89\u5168\u5FEB\u7167\u3002",
15059
+ consumerExport: "consumeUserProfileUpdatedEvent"
15060
+ },
15061
+ {
15062
+ definition: userSessionCreatedEvent,
15063
+ title: "\u7528\u6237\u4F1A\u8BDD\u65CF\u5DF2\u521B\u5EFA",
15064
+ description: "\u767B\u5F55\u3001\u6CE8\u518C\u6216\u6062\u590D\u6D41\u7A0B\u5DF2\u7ECF\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u6D3B\u52A8\u4F1A\u8BDD\u65CF\u3002",
15065
+ consumerExport: "consumeUserSessionCreatedEvent"
15066
+ },
15067
+ {
15068
+ definition: userSessionRevokedEvent,
15069
+ title: "\u7528\u6237\u4F1A\u8BDD\u65CF\u5DF2\u64A4\u9500",
15070
+ description: "\u7528\u6237\u4F1A\u8BDD\u65CF\u4ECE\u6D3B\u52A8\u72B6\u6001\u771F\u5B9E\u8F6C\u6362\u4E3A\u5DF2\u64A4\u9500\u72B6\u6001\u3002",
15071
+ consumerExport: "consumeUserSessionRevokedEvent"
15072
+ }
15073
+ ]
15074
+ });
15075
+
14982
15076
  // ../user-shared/dist/index.js
14983
- var USER_BROWSER_API_PUBLIC_ROUTES = Object.freeze([
14984
- Object.freeze({
14985
- exact: "/api/auth/methods",
14986
- methods: Object.freeze(["GET"]),
14987
- forwardCookieNames: Object.freeze([])
14988
- }),
14989
- Object.freeze({
14990
- exact: "/api/user/shell",
14991
- methods: Object.freeze(["GET"]),
14992
- forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
14993
- }),
14994
- Object.freeze({
14995
- exact: "/api/user",
14996
- methods: Object.freeze(["GET", "PATCH"]),
14997
- forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
14998
- }),
14999
- Object.freeze({
15000
- exact: "/api/user/sessions",
15001
- methods: Object.freeze(["GET"]),
15002
- forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
15003
- }),
15004
- Object.freeze({
15005
- exact: "/api/auth/transactions",
15006
- methods: Object.freeze(["POST"]),
15007
- forwardCookieNames: Object.freeze([])
15008
- }),
15009
- Object.freeze({
15010
- prefix: "/api/auth/transactions/",
15011
- methods: Object.freeze(["POST"]),
15012
- forwardCookieNames: Object.freeze([])
15013
- }),
15014
- Object.freeze({
15015
- exact: "/api/auth/logout",
15016
- methods: Object.freeze(["POST"]),
15017
- forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
15018
- }),
15019
- Object.freeze({
15020
- exact: "/api/auth/session/refresh",
15021
- methods: Object.freeze(["POST"]),
15022
- forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
15023
- }),
15024
- Object.freeze({
15025
- prefix: "/api/user/sessions/",
15026
- methods: Object.freeze(["POST"]),
15027
- forwardCookieNames: Object.freeze([USER_SESSION_COOKIE])
15028
- })
15029
- ]);
15077
+ var USER_BROWSER_AUTH_METHODS_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/auth/methods");
15078
+ var USER_BROWSER_AUTH_TRANSACTIONS_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/auth/transactions");
15079
+ var USER_BROWSER_LOGOUT_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/auth/logout");
15080
+ var USER_BROWSER_SESSION_REFRESH_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/auth/session/refresh");
15081
+ var USER_BROWSER_USER_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/user");
15082
+ var USER_BROWSER_USER_SESSIONS_PATH = browserApiPath(USER_SERVICE_NAMESPACE, "/api/user/sessions");
15030
15083
  var USER_BROWSER_API_ERROR_CODES = Object.freeze({
15031
15084
  crossOriginRejected: 1001,
15032
15085
  requestRejected: 1002,
@@ -15072,6 +15125,121 @@ var sessionCookieSchema = external_exports.discriminatedUnion("action", [
15072
15125
  }),
15073
15126
  external_exports.strictObject({ action: external_exports.literal("clear") })
15074
15127
  ]);
15128
+ var sessionTokenSchema = external_exports.string().min(1).max(4096);
15129
+ var authenticationMethodSchema = external_exports.strictObject({
15130
+ id: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/),
15131
+ label: external_exports.string().trim().min(1).max(80),
15132
+ capabilities: external_exports.strictObject({
15133
+ login: external_exports.boolean(),
15134
+ registration: external_exports.boolean()
15135
+ }),
15136
+ rsc: external_exports.strictObject({
15137
+ pluginId: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/),
15138
+ slots: external_exports.strictObject({
15139
+ login: absolutePath2.optional(),
15140
+ registration: absolutePath2.optional()
15141
+ })
15142
+ })
15143
+ }).readonly();
15144
+ var userEmptyRequestSchema = external_exports.strictObject({}).readonly();
15145
+ var userAuthenticationCatalogResponseSchema = external_exports.strictObject({
15146
+ methods: external_exports.array(authenticationMethodSchema).max(64).readonly()
15147
+ }).readonly();
15148
+ var userAuthenticationBeginRequestSchema = external_exports.strictObject({
15149
+ methodId: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/),
15150
+ intent: external_exports.enum(["login", "registration", "linking", "reauthentication", "recovery"]),
15151
+ loginHint: external_exports.string().trim().min(1).max(320).optional(),
15152
+ requestContext: external_exports.strictObject({ clientKey: external_exports.string().min(16).max(128) })
15153
+ }).readonly();
15154
+ var userAuthenticationBeginResponseSchema = external_exports.discriminatedUnion("status", [
15155
+ external_exports.strictObject({
15156
+ status: external_exports.literal("input-required"),
15157
+ transactionId: external_exports.uuid(),
15158
+ methodId: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/)
15159
+ }),
15160
+ external_exports.strictObject({
15161
+ status: external_exports.literal("redirect-required"),
15162
+ transactionId: external_exports.uuid(),
15163
+ methodId: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/),
15164
+ redirectUrl: external_exports.url().max(4096)
15165
+ }),
15166
+ external_exports.strictObject({
15167
+ status: external_exports.literal("pending"),
15168
+ transactionId: external_exports.uuid(),
15169
+ methodId: external_exports.string().regex(/^[a-z][a-z0-9._-]{0,127}$/),
15170
+ retryAfterMs: external_exports.number().int().min(250).max(6e4)
15171
+ })
15172
+ ]).readonly();
15173
+ var userAuthenticationCompleteRequestSchema = external_exports.strictObject({
15174
+ input: external_exports.unknown()
15175
+ }).readonly();
15176
+ var userAuthenticationCompletionResponseSchema = external_exports.discriminatedUnion("status", [
15177
+ external_exports.strictObject({
15178
+ status: external_exports.literal("verified"),
15179
+ session: external_exports.strictObject({ token: sessionTokenSchema, expiresAt: external_exports.iso.datetime({ offset: true }) }),
15180
+ user: external_exports.unknown()
15181
+ }),
15182
+ external_exports.strictObject({ status: external_exports.literal("denied"), code: external_exports.string().min(1).max(128) }),
15183
+ external_exports.strictObject({
15184
+ status: external_exports.literal("pending"),
15185
+ retryAfterMs: external_exports.number().int().min(250).max(6e4)
15186
+ })
15187
+ ]).readonly();
15188
+ var userAccountSchema = external_exports.strictObject({
15189
+ id: external_exports.string().min(1).max(128),
15190
+ displayName: external_exports.string().min(1).max(160).optional(),
15191
+ avatar: external_exports.url({ protocol: /^https?$/ }).max(2048).optional(),
15192
+ homepage: external_exports.url({ protocol: /^https?$/ }).max(2048).optional(),
15193
+ bio: external_exports.string().max(500).optional(),
15194
+ email: external_exports.email().max(320).optional(),
15195
+ emailVerified: external_exports.boolean()
15196
+ }).readonly();
15197
+ var userAccountReadResponseSchema = external_exports.strictObject({ user: userAccountSchema }).readonly();
15198
+ var userAccountUpdateRequestSchema = external_exports.strictObject({ input: external_exports.unknown() }).readonly();
15199
+ var userSessionSchema = external_exports.strictObject({
15200
+ id: external_exports.string().min(1).max(128),
15201
+ createdAt: external_exports.iso.datetime(),
15202
+ lastSeenAt: external_exports.iso.datetime(),
15203
+ expiresAt: external_exports.iso.datetime(),
15204
+ revoked: external_exports.boolean()
15205
+ }).readonly();
15206
+ var userAccountSessionsResponseSchema = external_exports.strictObject({
15207
+ sessions: external_exports.array(userSessionSchema).max(100).readonly()
15208
+ }).readonly();
15209
+ var userSessionRevokeResponseSchema = external_exports.strictObject({ revoked: external_exports.boolean() }).readonly();
15210
+ var userLogoutResponseSchema = external_exports.strictObject({ revoked: external_exports.boolean() }).readonly();
15211
+ var userRefreshSessionResponseSchema = external_exports.strictObject({
15212
+ session: external_exports.strictObject({
15213
+ token: sessionTokenSchema,
15214
+ expiresAt: external_exports.iso.datetime({ offset: true }),
15215
+ user: userAccountSchema
15216
+ })
15217
+ }).readonly();
15218
+ var userEventCatalogResponseSchema = external_exports.strictObject({
15219
+ protocol: external_exports.literal("zlooks.event-catalog"),
15220
+ protocolVersion: external_exports.literal(1),
15221
+ providerId: external_exports.literal("user"),
15222
+ displayName: external_exports.string().min(1).max(160),
15223
+ producer: external_exports.literal(USER_SERVICE_NAMESPACE),
15224
+ contractPackage: external_exports.literal("@zlooks.cn/user-shared"),
15225
+ count: external_exports.literal(5),
15226
+ delivery: external_exports.strictObject({
15227
+ guarantee: external_exports.literal("at-least-once"),
15228
+ deduplicateBy: external_exports.literal("eventId")
15229
+ }),
15230
+ events: external_exports.array(external_exports.strictObject({
15231
+ type: external_exports.string().min(1).max(256),
15232
+ title: external_exports.string().min(1).max(160),
15233
+ description: external_exports.string().min(1).max(1e3),
15234
+ producer: external_exports.literal(USER_SERVICE_NAMESPACE),
15235
+ aggregateType: external_exports.string().min(1).max(128),
15236
+ consumer: external_exports.strictObject({
15237
+ packageName: external_exports.literal("@zlooks.cn/user-shared"),
15238
+ exportName: external_exports.string().min(1).max(128)
15239
+ }),
15240
+ dataSchema: external_exports.record(external_exports.string(), external_exports.unknown())
15241
+ })).length(5).readonly()
15242
+ }).readonly();
15075
15243
  var userCurrentUserRequestSchema = external_exports.strictObject({}).readonly();
15076
15244
  var userPublicProfileSchema = external_exports.strictObject({
15077
15245
  id: external_exports.uuid(),
@@ -15092,7 +15260,9 @@ var userPublicProfilesRequestSchema = external_exports.strictObject({
15092
15260
  userIds: external_exports.array(external_exports.uuid()).min(1).max(100).refine((userIds) => new Set(userIds).size === userIds.length, { message: "User IDs must be unique" }).readonly()
15093
15261
  }).readonly();
15094
15262
  var userPublicProfilesResponseSchema = external_exports.strictObject({
15095
- users: external_exports.array(userPublicProfileSchema).max(100).refine((users) => new Set(users.map((user) => user.id)).size === users.length, { message: "Public user profiles must be unique" }).readonly()
15263
+ users: external_exports.array(userPublicProfileSchema).max(100).refine((users) => new Set(users.map((user) => user.id)).size === users.length, {
15264
+ message: "Public user profiles must be unique"
15265
+ }).readonly()
15096
15266
  }).readonly();
15097
15267
  var userBrowserApiRequestSchema = external_exports.strictObject({
15098
15268
  method: external_exports.enum(["GET", "POST", "PATCH"]),
@@ -15101,24 +15271,6 @@ var userBrowserApiRequestSchema = external_exports.strictObject({
15101
15271
  clientKey: external_exports.string().regex(/^[a-f0-9]{64}$/),
15102
15272
  body: external_exports.unknown().optional()
15103
15273
  }).readonly();
15104
- var userBrowserApiProviderRequestSchema = external_exports.strictObject({
15105
- method: external_exports.enum(["GET", "POST", "PATCH"]),
15106
- path: absolutePath2,
15107
- origin: external_exports.string().max(2048).optional(),
15108
- clientKey: external_exports.string().regex(/^[a-f0-9]{64}$/),
15109
- body: external_exports.unknown().optional()
15110
- }).readonly();
15111
- var userBrowserApiProviderResponseSchema = browserApiDispatchResponseSchema.superRefine((response, context) => {
15112
- for (const [index, effect] of (response.cookieEffects ?? []).entries()) {
15113
- if (effect.name === USER_SESSION_COOKIE)
15114
- continue;
15115
- context.addIssue({
15116
- code: "custom",
15117
- message: "User Browser API may only mutate its declared session cookie",
15118
- path: ["cookieEffects", index, "name"]
15119
- });
15120
- }
15121
- }).readonly();
15122
15274
  var userBrowserApiResponseSchema = external_exports.strictObject({
15123
15275
  status: external_exports.number().int().min(200).max(599).refine((status) => status < 300 || status >= 400),
15124
15276
  body: browserApiResponseSchema,
@@ -15217,7 +15369,7 @@ var __hileRemoteClientBoundary = __hileRegisterClientReference(function() {
15217
15369
  function __hileDefault(props) {
15218
15370
  return React.createElement(__hileRemoteClientBoundary, {
15219
15371
  pluginId: "auth.password",
15220
- buildId: "build-mtsn68qv-a841a566",
15372
+ buildId: "build-mtwvmb9w-8d24cd70",
15221
15373
  referenceId: "auth.password/src/plugin/password-form#default",
15222
15374
  exportName: "default",
15223
15375
  props
@@ -15234,7 +15386,7 @@ var __hileRemoteClientBoundary2 = __hileRegisterClientReference2(function() {
15234
15386
  function __hileDefault2(props) {
15235
15387
  return React2.createElement(__hileRemoteClientBoundary2, {
15236
15388
  pluginId: "auth.password",
15237
- buildId: "build-mtsn68qv-a841a566",
15389
+ buildId: "build-mtwvmb9w-8d24cd70",
15238
15390
  referenceId: "auth.password/src/plugin/page-frame#default",
15239
15391
  exportName: "default",
15240
15392
  props
@@ -15264,15 +15416,15 @@ function RecoveryPage(props) {
15264
15416
  }
15265
15417
  function PageFrame({
15266
15418
  children,
15267
- description,
15419
+ description: description2,
15268
15420
  shell,
15269
15421
  site,
15270
- title
15422
+ title: title2
15271
15423
  }) {
15272
15424
  return /* @__PURE__ */ jsxs(Fragment, { children: [
15273
15425
  /* @__PURE__ */ jsx(ZlooksSeo, { seo: createZlooksPageSeo({
15274
- title,
15275
- description,
15426
+ title: title2,
15427
+ description: description2,
15276
15428
  origin: shell.origin,
15277
15429
  pathname: shell.pathname,
15278
15430
  siteName: site.value.identity.name,
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAaV,CAAC;AAUH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AACD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC;AAClE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,yBAAyB,GAAG,kBAAkB,CAmB5F"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA6BV,CAAC;AAaH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAC/B;AACD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC,CAAA;AACjE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,yBAAyB,GAAG,kBAAkB,CAiC5F"}