@wecode-ai/weibo-openclaw-plugin 2.2.3 → 2.2.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 (195) hide show
  1. package/node_modules/tar/dist/commonjs/index.min.js +3 -3
  2. package/node_modules/tar/dist/commonjs/index.min.js.map +3 -3
  3. package/node_modules/tar/dist/commonjs/pack.d.ts +4 -1
  4. package/node_modules/tar/dist/commonjs/pack.d.ts.map +1 -1
  5. package/node_modules/tar/dist/commonjs/pack.js +41 -7
  6. package/node_modules/tar/dist/commonjs/pack.js.map +1 -1
  7. package/node_modules/tar/dist/esm/index.min.js +3 -3
  8. package/node_modules/tar/dist/esm/index.min.js.map +3 -3
  9. package/node_modules/tar/dist/esm/pack.d.ts +4 -1
  10. package/node_modules/tar/dist/esm/pack.d.ts.map +1 -1
  11. package/node_modules/tar/dist/esm/pack.js +41 -7
  12. package/node_modules/tar/dist/esm/pack.js.map +1 -1
  13. package/node_modules/tar/package.json +4 -4
  14. package/node_modules/zod/README.md +1 -18
  15. package/node_modules/zod/locales/package.json +2 -1
  16. package/node_modules/zod/mini/package.json +2 -1
  17. package/node_modules/zod/package.json +1 -1
  18. package/node_modules/zod/src/v3/tests/all-errors.test.ts +3 -3
  19. package/node_modules/zod/src/v3/tests/object.test.ts +5 -5
  20. package/node_modules/zod/src/v3/tests/partials.test.ts +3 -3
  21. package/node_modules/zod/src/v4/classic/errors.ts +2 -2
  22. package/node_modules/zod/src/v4/classic/external.ts +1 -0
  23. package/node_modules/zod/src/v4/classic/from-json-schema.ts +39 -23
  24. package/node_modules/zod/src/v4/classic/parse.ts +6 -6
  25. package/node_modules/zod/src/v4/classic/schemas.ts +414 -151
  26. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +6 -0
  27. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +50 -0
  28. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +142 -1
  29. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +1 -1
  30. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +1 -1
  31. package/node_modules/zod/src/v4/classic/tests/default.test.ts +44 -0
  32. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
  33. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +34 -1
  34. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +214 -2
  35. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +161 -0
  36. package/node_modules/zod/src/v4/classic/tests/function.test.ts +6 -6
  37. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
  38. package/node_modules/zod/src/v4/classic/tests/index.test.ts +2 -2
  39. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
  40. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
  41. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
  42. package/node_modules/zod/src/v4/classic/tests/number.test.ts +55 -0
  43. package/node_modules/zod/src/v4/classic/tests/object.test.ts +83 -6
  44. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +114 -4
  45. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +24 -1
  46. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +1 -1
  47. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
  48. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +69 -0
  49. package/node_modules/zod/src/v4/classic/tests/record.test.ts +85 -0
  50. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +49 -0
  51. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +63 -0
  52. package/node_modules/zod/src/v4/classic/tests/string.test.ts +50 -1
  53. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +4 -4
  54. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +150 -15
  55. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +17 -0
  56. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +315 -2
  57. package/node_modules/zod/src/v4/classic/tests/union.test.ts +54 -0
  58. package/node_modules/zod/src/v4/core/api.ts +31 -6
  59. package/node_modules/zod/src/v4/core/checks.ts +1 -1
  60. package/node_modules/zod/src/v4/core/core.ts +17 -2
  61. package/node_modules/zod/src/v4/core/errors.ts +31 -24
  62. package/node_modules/zod/src/v4/core/json-schema-processors.ts +17 -18
  63. package/node_modules/zod/src/v4/core/parse.ts +7 -7
  64. package/node_modules/zod/src/v4/core/regexes.ts +8 -1
  65. package/node_modules/zod/src/v4/core/schemas.ts +263 -71
  66. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
  67. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
  68. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
  69. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +22 -0
  70. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +58 -0
  71. package/node_modules/zod/src/v4/core/to-json-schema.ts +10 -1
  72. package/node_modules/zod/src/v4/core/util.ts +52 -35
  73. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  74. package/node_modules/zod/src/v4/locales/el.ts +121 -0
  75. package/node_modules/zod/src/v4/locales/en.ts +4 -0
  76. package/node_modules/zod/src/v4/locales/fr.ts +24 -8
  77. package/node_modules/zod/src/v4/locales/hr.ts +131 -0
  78. package/node_modules/zod/src/v4/locales/index.ts +3 -0
  79. package/node_modules/zod/src/v4/locales/it.ts +1 -1
  80. package/node_modules/zod/src/v4/locales/ka.ts +8 -8
  81. package/node_modules/zod/src/v4/locales/ro.ts +129 -0
  82. package/node_modules/zod/src/v4/locales/uz.ts +1 -0
  83. package/node_modules/zod/src/v4/mini/external.ts +1 -0
  84. package/node_modules/zod/src/v4/mini/schemas.ts +56 -25
  85. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +19 -0
  86. package/node_modules/zod/src/v4/mini/tests/index.test.ts +32 -2
  87. package/node_modules/zod/src/v4/mini/tests/object.test.ts +9 -9
  88. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +51 -1
  89. package/node_modules/zod/src/v4/mini/tests/string.test.ts +5 -0
  90. package/node_modules/zod/v3/package.json +2 -1
  91. package/node_modules/zod/v4/classic/errors.js +2 -2
  92. package/node_modules/zod/v4/classic/external.d.cts +1 -0
  93. package/node_modules/zod/v4/classic/external.d.ts +1 -0
  94. package/node_modules/zod/v4/classic/from-json-schema.cjs +31 -16
  95. package/node_modules/zod/v4/classic/from-json-schema.js +31 -16
  96. package/node_modules/zod/v4/classic/package.json +2 -1
  97. package/node_modules/zod/v4/classic/schemas.cjs +358 -119
  98. package/node_modules/zod/v4/classic/schemas.d.cts +42 -14
  99. package/node_modules/zod/v4/classic/schemas.d.ts +42 -14
  100. package/node_modules/zod/v4/classic/schemas.js +356 -118
  101. package/node_modules/zod/v4/core/api.cjs +7 -2
  102. package/node_modules/zod/v4/core/api.d.cts +26 -5
  103. package/node_modules/zod/v4/core/api.d.ts +26 -5
  104. package/node_modules/zod/v4/core/api.js +7 -2
  105. package/node_modules/zod/v4/core/checks.d.cts +1 -1
  106. package/node_modules/zod/v4/core/checks.d.ts +1 -1
  107. package/node_modules/zod/v4/core/core.cjs +3 -1
  108. package/node_modules/zod/v4/core/core.js +4 -2
  109. package/node_modules/zod/v4/core/errors.cjs +26 -23
  110. package/node_modules/zod/v4/core/errors.d.cts +1 -0
  111. package/node_modules/zod/v4/core/errors.d.ts +1 -0
  112. package/node_modules/zod/v4/core/errors.js +26 -23
  113. package/node_modules/zod/v4/core/json-schema-processors.cjs +16 -20
  114. package/node_modules/zod/v4/core/json-schema-processors.js +16 -20
  115. package/node_modules/zod/v4/core/package.json +2 -1
  116. package/node_modules/zod/v4/core/parse.cjs +7 -7
  117. package/node_modules/zod/v4/core/parse.js +7 -7
  118. package/node_modules/zod/v4/core/regexes.cjs +9 -3
  119. package/node_modules/zod/v4/core/regexes.d.cts +6 -0
  120. package/node_modules/zod/v4/core/regexes.d.ts +6 -0
  121. package/node_modules/zod/v4/core/regexes.js +7 -1
  122. package/node_modules/zod/v4/core/schemas.cjs +211 -65
  123. package/node_modules/zod/v4/core/schemas.d.cts +39 -1
  124. package/node_modules/zod/v4/core/schemas.d.ts +39 -1
  125. package/node_modules/zod/v4/core/schemas.js +210 -64
  126. package/node_modules/zod/v4/core/to-json-schema.cjs +12 -1
  127. package/node_modules/zod/v4/core/to-json-schema.js +12 -1
  128. package/node_modules/zod/v4/core/util.cjs +54 -30
  129. package/node_modules/zod/v4/core/util.d.cts +1 -0
  130. package/node_modules/zod/v4/core/util.d.ts +1 -0
  131. package/node_modules/zod/v4/core/util.js +55 -32
  132. package/node_modules/zod/v4/core/versions.cjs +2 -2
  133. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  134. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  135. package/node_modules/zod/v4/core/versions.js +2 -2
  136. package/node_modules/zod/v4/locales/el.cjs +136 -0
  137. package/node_modules/zod/v4/locales/el.d.cts +5 -0
  138. package/node_modules/zod/v4/locales/el.d.ts +4 -0
  139. package/node_modules/zod/v4/locales/el.js +109 -0
  140. package/node_modules/zod/v4/locales/en.cjs +4 -0
  141. package/node_modules/zod/v4/locales/en.js +4 -0
  142. package/node_modules/zod/v4/locales/fr.cjs +24 -7
  143. package/node_modules/zod/v4/locales/fr.js +24 -7
  144. package/node_modules/zod/v4/locales/hr.cjs +149 -0
  145. package/node_modules/zod/v4/locales/hr.d.cts +5 -0
  146. package/node_modules/zod/v4/locales/hr.d.ts +4 -0
  147. package/node_modules/zod/v4/locales/hr.js +122 -0
  148. package/node_modules/zod/v4/locales/index.cjs +8 -1
  149. package/node_modules/zod/v4/locales/index.d.cts +3 -0
  150. package/node_modules/zod/v4/locales/index.d.ts +3 -0
  151. package/node_modules/zod/v4/locales/index.js +3 -0
  152. package/node_modules/zod/v4/locales/it.cjs +1 -1
  153. package/node_modules/zod/v4/locales/it.js +1 -1
  154. package/node_modules/zod/v4/locales/ka.cjs +8 -8
  155. package/node_modules/zod/v4/locales/ka.js +8 -8
  156. package/node_modules/zod/v4/locales/package.json +2 -1
  157. package/node_modules/zod/v4/locales/ro.cjs +146 -0
  158. package/node_modules/zod/v4/locales/ro.d.cts +5 -0
  159. package/node_modules/zod/v4/locales/ro.d.ts +4 -0
  160. package/node_modules/zod/v4/locales/ro.js +119 -0
  161. package/node_modules/zod/v4/locales/uz.cjs +1 -0
  162. package/node_modules/zod/v4/locales/uz.js +1 -0
  163. package/node_modules/zod/v4/mini/external.d.cts +1 -0
  164. package/node_modules/zod/v4/mini/external.d.ts +1 -0
  165. package/node_modules/zod/v4/mini/package.json +2 -1
  166. package/node_modules/zod/v4/mini/schemas.cjs +41 -4
  167. package/node_modules/zod/v4/mini/schemas.d.cts +28 -10
  168. package/node_modules/zod/v4/mini/schemas.d.ts +28 -10
  169. package/node_modules/zod/v4/mini/schemas.js +40 -4
  170. package/node_modules/zod/v4/package.json +2 -1
  171. package/node_modules/zod/v4-mini/package.json +2 -1
  172. package/package.json +2 -1
  173. package/skills/manifest.json +3 -2
  174. package/skills/weibo-creator/SKILL.md +296 -0
  175. package/skills/weibo-creator/references/creator-v-upgrade.md +27 -0
  176. package/skills/weibo-creator/scripts/weibo-creator.js +212 -0
  177. package/skills/weibo-cron/SKILL.md +1 -1
  178. package/skills/weibo-cron/references/HEARTBEAT-PROCESS.md +1 -1
  179. package/skills/weibo-crowd/SKILL.md +1 -1
  180. package/skills/weibo-crowd/references/SILICON-TEAHOUSE-RULES.md +3 -2
  181. package/src/accounts.js +1 -1
  182. package/src/accounts.js.map +1 -1
  183. package/src/channel.js +1 -1
  184. package/src/channel.js.map +1 -1
  185. package/src/outbound.d.ts.map +1 -1
  186. package/src/outbound.js +82 -4
  187. package/src/outbound.js.map +1 -1
  188. package/src/send.d.ts +23 -0
  189. package/src/send.d.ts.map +1 -1
  190. package/src/send.js +54 -2
  191. package/src/send.js.map +1 -1
  192. package/src/token.d.ts +8 -0
  193. package/src/token.d.ts.map +1 -1
  194. package/src/token.js +16 -1
  195. package/src/token.js.map +1 -1
@@ -65,36 +65,31 @@ export const numberProcessor: Processor<schemas.$ZodNumber> = (schema, ctx, _jso
65
65
  if (typeof format === "string" && format.includes("int")) json.type = "integer";
66
66
  else json.type = "number";
67
67
 
68
- if (typeof exclusiveMinimum === "number") {
69
- if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
68
+ // when both minimum and exclusiveMinimum exist, pick the more restrictive one
69
+ const exMin = typeof exclusiveMinimum === "number" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY);
70
+ const exMax = typeof exclusiveMaximum === "number" && exclusiveMaximum <= (maximum ?? Number.POSITIVE_INFINITY);
71
+ const legacy = ctx.target === "draft-04" || ctx.target === "openapi-3.0";
72
+
73
+ if (exMin) {
74
+ if (legacy) {
70
75
  json.minimum = exclusiveMinimum;
71
76
  json.exclusiveMinimum = true;
72
77
  } else {
73
78
  json.exclusiveMinimum = exclusiveMinimum;
74
79
  }
75
- }
76
- if (typeof minimum === "number") {
80
+ } else if (typeof minimum === "number") {
77
81
  json.minimum = minimum;
78
- if (typeof exclusiveMinimum === "number" && ctx.target !== "draft-04") {
79
- if (exclusiveMinimum >= minimum) delete json.minimum;
80
- else delete json.exclusiveMinimum;
81
- }
82
82
  }
83
83
 
84
- if (typeof exclusiveMaximum === "number") {
85
- if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
84
+ if (exMax) {
85
+ if (legacy) {
86
86
  json.maximum = exclusiveMaximum;
87
87
  json.exclusiveMaximum = true;
88
88
  } else {
89
89
  json.exclusiveMaximum = exclusiveMaximum;
90
90
  }
91
- }
92
- if (typeof maximum === "number") {
91
+ } else if (typeof maximum === "number") {
93
92
  json.maximum = maximum;
94
- if (typeof exclusiveMaximum === "number" && ctx.target !== "draft-04") {
95
- if (exclusiveMaximum <= maximum) delete json.maximum;
96
- else delete json.exclusiveMaximum;
97
- }
98
93
  }
99
94
 
100
95
  if (typeof multipleOf === "number") json.multipleOf = multipleOf;
@@ -286,7 +281,10 @@ export const arrayProcessor: Processor<schemas.$ZodArray> = (schema, ctx, _json,
286
281
  if (typeof maximum === "number") json.maxItems = maximum;
287
282
 
288
283
  json.type = "array";
289
- json.items = process(def.element, ctx as any, { ...params, path: [...params.path, "items"] });
284
+ json.items = process(def.element, ctx as any, {
285
+ ...params,
286
+ path: [...params.path, "items"],
287
+ });
290
288
  };
291
289
 
292
290
  export const objectProcessor: Processor<schemas.$ZodObject> = (schema, ctx, _json, params) => {
@@ -527,7 +525,8 @@ export const catchProcessor: Processor<schemas.$ZodCatch> = (schema, ctx, json,
527
525
 
528
526
  export const pipeProcessor: Processor<schemas.$ZodPipe> = (schema, ctx, _json, params) => {
529
527
  const def = schema._zod.def as schemas.$ZodPipeDef;
530
- const innerType = ctx.io === "input" ? (def.in._zod.def.type === "transform" ? def.out : def.in) : def.out;
528
+ const inIsTransform = def.in._zod.traits.has("$ZodTransform");
529
+ const innerType = ctx.io === "input" ? (inIsTransform ? def.out : def.in) : def.out;
531
530
  process(innerType, ctx as any, params);
532
531
  const seen = ctx.seen.get(schema)!;
533
532
  seen.ref = innerType;
@@ -14,7 +14,7 @@ export type $Parse = <T extends schemas.$ZodType>(
14
14
  ) => core.output<T>;
15
15
 
16
16
  export const _parse: (_Err: $ZodErrorClass) => $Parse = (_Err) => (schema, value, _ctx, _params) => {
17
- const ctx: schemas.ParseContextInternal = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
17
+ const ctx: schemas.ParseContextInternal = _ctx ? { ..._ctx, async: false } : { async: false };
18
18
  const result = schema._zod.run({ value, issues: [] }, ctx);
19
19
  if (result instanceof Promise) {
20
20
  throw new core.$ZodAsyncError();
@@ -37,7 +37,7 @@ export type $ParseAsync = <T extends schemas.$ZodType>(
37
37
  ) => Promise<core.output<T>>;
38
38
 
39
39
  export const _parseAsync: (_Err: $ZodErrorClass) => $ParseAsync = (_Err) => async (schema, value, _ctx, params) => {
40
- const ctx: schemas.ParseContextInternal = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
40
+ const ctx: schemas.ParseContextInternal = _ctx ? { ..._ctx, async: true } : { async: true };
41
41
  let result = schema._zod.run({ value, issues: [] }, ctx);
42
42
  if (result instanceof Promise) result = await result;
43
43
  if (result.issues.length) {
@@ -79,7 +79,7 @@ export type $SafeParseAsync = <T extends schemas.$ZodType>(
79
79
  ) => Promise<util.SafeParseResult<core.output<T>>>;
80
80
 
81
81
  export const _safeParseAsync: (_Err: $ZodErrorClass) => $SafeParseAsync = (_Err) => async (schema, value, _ctx) => {
82
- const ctx: schemas.ParseContextInternal = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
82
+ const ctx: schemas.ParseContextInternal = _ctx ? { ..._ctx, async: true } : { async: true };
83
83
  let result = schema._zod.run({ value, issues: [] }, ctx);
84
84
  if (result instanceof Promise) result = await result;
85
85
 
@@ -101,7 +101,7 @@ export type $Encode = <T extends schemas.$ZodType>(
101
101
  ) => core.input<T>;
102
102
 
103
103
  export const _encode: (_Err: $ZodErrorClass) => $Encode = (_Err) => (schema, value, _ctx) => {
104
- const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" as const }) : { direction: "backward" as const };
104
+ const ctx = _ctx ? { ..._ctx, direction: "backward" as const } : { direction: "backward" as const };
105
105
  return _parse(_Err)(schema, value, ctx as any) as any;
106
106
  };
107
107
 
@@ -126,7 +126,7 @@ export type $EncodeAsync = <T extends schemas.$ZodType>(
126
126
  ) => Promise<core.input<T>>;
127
127
 
128
128
  export const _encodeAsync: (_Err: $ZodErrorClass) => $EncodeAsync = (_Err) => async (schema, value, _ctx) => {
129
- const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" as const }) : { direction: "backward" as const };
129
+ const ctx = _ctx ? { ..._ctx, direction: "backward" as const } : { direction: "backward" as const };
130
130
  return _parseAsync(_Err)(schema, value, ctx as any) as any;
131
131
  };
132
132
 
@@ -151,7 +151,7 @@ export type $SafeEncode = <T extends schemas.$ZodType>(
151
151
  ) => util.SafeParseResult<core.input<T>>;
152
152
 
153
153
  export const _safeEncode: (_Err: $ZodErrorClass) => $SafeEncode = (_Err) => (schema, value, _ctx) => {
154
- const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" as const }) : { direction: "backward" as const };
154
+ const ctx = _ctx ? { ..._ctx, direction: "backward" as const } : { direction: "backward" as const };
155
155
  return _safeParse(_Err)(schema, value, ctx as any) as any;
156
156
  };
157
157
 
@@ -176,7 +176,7 @@ export type $SafeEncodeAsync = <T extends schemas.$ZodType>(
176
176
  ) => Promise<util.SafeParseResult<core.input<T>>>;
177
177
 
178
178
  export const _safeEncodeAsync: (_Err: $ZodErrorClass) => $SafeEncodeAsync = (_Err) => async (schema, value, _ctx) => {
179
- const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" as const }) : { direction: "backward" as const };
179
+ const ctx = _ctx ? { ..._ctx, direction: "backward" as const } : { direction: "backward" as const };
180
180
  return _safeParseAsync(_Err)(schema, value, ctx as any) as any;
181
181
  };
182
182
 
@@ -1,6 +1,11 @@
1
1
  import * as util from "./util.js";
2
2
 
3
- export const cuid: RegExp = /^[cC][^\s-]{8,}$/;
3
+ /**
4
+ * @deprecated CUID v1 is deprecated by its authors due to information leakage
5
+ * (timestamps embedded in the id). Use {@link cuid2} instead.
6
+ * See https://github.com/paralleldrive/cuid.
7
+ */
8
+ export const cuid: RegExp = /^[cC][0-9a-z]{6,}$/;
4
9
  export const cuid2: RegExp = /^[0-9a-z]+$/;
5
10
  export const ulid: RegExp = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;
6
11
  export const xid: RegExp = /^[0-9a-vA-V]{20}$/;
@@ -81,6 +86,8 @@ export const hostname: RegExp =
81
86
 
82
87
  export const domain: RegExp = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/;
83
88
 
89
+ export const httpProtocol: RegExp = /^https?$/;
90
+
84
91
  // https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)
85
92
  // E.164: leading digit must be 1-9; total digits (excluding '+') between 7-15
86
93
  export const e164: RegExp = /^\+[1-9]\d{6,14}$/;