@toa.io/extensions.exposition 1.0.0-alpha.303 → 1.0.0-alpha.305

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 (87) hide show
  1. package/components/identity.basic/operations/info.js +6 -2
  2. package/components/identity.basic/source/info.ts +5 -1
  3. package/package.json +7 -7
  4. package/transpiled/Directive.d.ts +11 -4
  5. package/transpiled/Directive.js +50 -14
  6. package/transpiled/Directive.js.map +1 -1
  7. package/transpiled/Endpoint.d.ts +3 -1
  8. package/transpiled/Endpoint.js +14 -2
  9. package/transpiled/Endpoint.js.map +1 -1
  10. package/transpiled/HTTP/Context.d.ts +5 -0
  11. package/transpiled/HTTP/Context.js +5 -0
  12. package/transpiled/HTTP/Context.js.map +1 -1
  13. package/transpiled/HTTP/Server.js +1 -4
  14. package/transpiled/HTTP/Server.js.map +1 -1
  15. package/transpiled/HTTP/messages.d.ts +9 -4
  16. package/transpiled/HTTP/messages.js +11 -30
  17. package/transpiled/HTTP/messages.js.map +1 -1
  18. package/transpiled/Introspection.d.ts +5 -0
  19. package/transpiled/Introspection.js +1 -0
  20. package/transpiled/Introspection.js.map +1 -1
  21. package/transpiled/MCP/schema.d.ts +6 -2
  22. package/transpiled/MCP/schema.js +7 -3
  23. package/transpiled/MCP/schema.js.map +1 -1
  24. package/transpiled/MCP/tools.js +66 -31
  25. package/transpiled/MCP/tools.js.map +1 -1
  26. package/transpiled/RTD/Directives.d.ts +26 -8
  27. package/transpiled/RTD/Method.d.ts +12 -0
  28. package/transpiled/RTD/Method.js +21 -1
  29. package/transpiled/RTD/Method.js.map +1 -1
  30. package/transpiled/RTD/Node.d.ts +2 -0
  31. package/transpiled/RTD/Node.js +1 -1
  32. package/transpiled/RTD/Node.js.map +1 -1
  33. package/transpiled/RTD/Tree.d.ts +12 -0
  34. package/transpiled/RTD/Tree.js +17 -0
  35. package/transpiled/RTD/Tree.js.map +1 -1
  36. package/transpiled/directives/auth/Authorization.d.ts +9 -7
  37. package/transpiled/directives/auth/Authorization.js +13 -16
  38. package/transpiled/directives/auth/Authorization.js.map +1 -1
  39. package/transpiled/directives/cache/Cache.d.ts +11 -0
  40. package/transpiled/directives/cache/Cache.js +24 -0
  41. package/transpiled/directives/cache/Cache.js.map +1 -1
  42. package/transpiled/directives/cache/etag.d.ts +12 -1
  43. package/transpiled/directives/cache/etag.js +17 -1
  44. package/transpiled/directives/cache/etag.js.map +1 -1
  45. package/transpiled/directives/help/Family.d.ts +1 -2
  46. package/transpiled/directives/help/Family.js +1 -1
  47. package/transpiled/directives/help/Family.js.map +1 -1
  48. package/transpiled/directives/io/IO.d.ts +1 -1
  49. package/transpiled/directives/io/IO.js +6 -2
  50. package/transpiled/directives/io/IO.js.map +1 -1
  51. package/transpiled/directives/io/Readonly.d.ts +14 -0
  52. package/transpiled/directives/io/Readonly.js +20 -0
  53. package/transpiled/directives/io/Readonly.js.map +1 -0
  54. package/transpiled/directives/map/Map.d.ts +1 -1
  55. package/transpiled/directives/map/Map.js +1 -1
  56. package/transpiled/directives/map/Map.js.map +1 -1
  57. package/transpiled/directives/mcp/MCP.d.ts +1 -2
  58. package/transpiled/directives/mcp/MCP.js +1 -1
  59. package/transpiled/directives/mcp/MCP.js.map +1 -1
  60. package/transpiled/directives/octets/Octets.d.ts +1 -1
  61. package/transpiled/directives/octets/Octets.js +1 -1
  62. package/transpiled/directives/octets/Octets.js.map +1 -1
  63. package/transpiled/measurements.d.ts +7 -0
  64. package/transpiled/measurements.js +7 -1
  65. package/transpiled/measurements.js.map +1 -1
  66. package/transpiled/service.js +18 -2
  67. package/transpiled/service.js.map +1 -1
  68. package/ui/dist/_app/immutable/chunks/{DRS9txKW.js → Bkbyu6vn.js} +2 -2
  69. package/ui/dist/_app/immutable/chunks/{DnWGJfpc.js → C7J5KQK6.js} +1 -1
  70. package/ui/dist/_app/immutable/chunks/DTnwtQM2.js +1 -0
  71. package/ui/dist/_app/immutable/chunks/{nIxWLg1R.js → DtshrYtp.js} +1 -1
  72. package/ui/dist/_app/immutable/entry/{app.D4ObD8yN.js → app.C0OvB0hq.js} +2 -2
  73. package/ui/dist/_app/immutable/entry/start.CFX55M0W.js +1 -0
  74. package/ui/dist/_app/immutable/nodes/{0.Cy6HYeeI.js → 0.CIL473U0.js} +1 -1
  75. package/ui/dist/_app/immutable/nodes/{1.yaYCPqWc.js → 1.DDKEU6si.js} +1 -1
  76. package/ui/dist/_app/immutable/nodes/{2.CurrgQf4.js → 2.BQPvh5Jc.js} +1 -1
  77. package/ui/dist/_app/immutable/nodes/{3.DE-49kqe.js → 3.jAg26Fhx.js} +1 -1
  78. package/ui/dist/_app/immutable/nodes/{4.ZYSduUe_.js → 4.DdELMX4y.js} +1 -1
  79. package/ui/dist/_app/immutable/nodes/{5.hxn_XW6t.js → 5.uYu6Sa_o.js} +1 -1
  80. package/ui/dist/_app/immutable/nodes/{6.CKsWjgtd.js → 6.Cwh8eXsp.js} +1 -1
  81. package/ui/dist/_app/version.json +1 -1
  82. package/ui/dist/index.html +10 -10
  83. package/transpiled/HTTP/etag.d.ts +0 -15
  84. package/transpiled/HTTP/etag.js +0 -24
  85. package/transpiled/HTTP/etag.js.map +0 -1
  86. package/ui/dist/_app/immutable/chunks/2Pi0xij4.js +0 -1
  87. package/ui/dist/_app/immutable/entry/start.CNbFMeFw.js +0 -1
@@ -1,2 +1,13 @@
1
- /** The version a tag names, or nothing for a tag that is not one. Read out of `if-match`. */
1
+ /**
2
+ * The tag of a reply, which is the body it holds: a client that sends it back in `if-none-match`
3
+ * already has this reply and is told so, whatever the reply carries.
4
+ */
5
+ export declare function tag(body: Buffer): string;
6
+ /** Whether the tag a client sent is this one, strong or weak. */
7
+ export declare function same(sent: string, tag: string): boolean;
8
+ /**
9
+ * The version a tag names, or nothing for a tag that is not one. Read out of `if-match`, which
10
+ * is another matter than validation: it carries the `VERSION` a client read in a body, which is
11
+ * what an operation refuses a stale write by. See `documentation/cache.md`.
12
+ */
2
13
  export declare function parse(sent: string): number | null;
@@ -1,4 +1,20 @@
1
- /** The version a tag names, or nothing for a tag that is not one. Read out of `if-match`. */
1
+ import { hash } from 'node:crypto';
2
+ /**
3
+ * The tag of a reply, which is the body it holds: a client that sends it back in `if-none-match`
4
+ * already has this reply and is told so, whatever the reply carries.
5
+ */
6
+ export function tag(body) {
7
+ return `"${hash('sha1', body, 'base64url')}"`;
8
+ }
9
+ /** Whether the tag a client sent is this one, strong or weak. */
10
+ export function same(sent, tag) {
11
+ return sent === tag || sent === 'W/' + tag;
12
+ }
13
+ /**
14
+ * The version a tag names, or nothing for a tag that is not one. Read out of `if-match`, which
15
+ * is another matter than validation: it carries the `VERSION` a client read in a body, which is
16
+ * what an operation refuses a stale write by. See `documentation/cache.md`.
17
+ */
2
18
  export function parse(sent) {
3
19
  const strong = sent.startsWith('W/') ? sent.slice(2) : sent;
4
20
  if (strong.length < 3 ||
@@ -1 +1 @@
1
- {"version":3,"file":"etag.js","sourceRoot":"","sources":["../../../source/directives/cache/etag.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE3D,IACE,MAAM,CAAC,MAAM,GAAG,CAAC;QACjB,MAAM,CAAC,MAAM,GAAG,EAAE;QAClB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAErB,OAAO,IAAI,CAAA;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAEjC,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE;YAAE,OAAO,IAAI,CAAA;IACzC,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"etag.js","sourceRoot":"","sources":["../../../source/directives/cache/etag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,IAAY;IAC9B,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAA;AAC/C,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,GAAW;IAC5C,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,CAAA;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE3D,IACE,MAAM,CAAC,MAAM,GAAG,CAAC;QACjB,MAAM,CAAC,MAAM,GAAG,EAAE;QAClB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAErB,OAAO,IAAI,CAAA;IAEb,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAEjC,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE;YAAE,OAAO,IAAI,CAAA;IACzC,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC"}
@@ -2,7 +2,6 @@ import { Help } from './Help.ts';
2
2
  import { Parameters } from './Parameters.ts';
3
3
  import type { Introspection } from '../../Introspection.ts';
4
4
  export type { Described } from './described.ts';
5
- import type { Context } from '../../HTTP/index.ts';
6
5
  import type { DirectiveFamily } from '../../RTD/index.ts';
7
6
  /** The name the family is declared under, and what a consumer of one asks a method for. */
8
7
  export declare const FAMILY = "help";
@@ -23,5 +22,5 @@ export declare class Family implements DirectiveFamily<Directive> {
23
22
  static node(directives: Directive[] | undefined): Help | null;
24
23
  create(name: string, value: unknown, _: unknown, route: string): Directive;
25
24
  /** What the route states this method and its parameters are. */
26
- explain(directives: Directive[], _: Context, introspection: Introspection): Introspection | null;
25
+ explain(directives: Directive[], introspection: Introspection): Introspection | null;
27
26
  }
@@ -29,7 +29,7 @@ export class Family {
29
29
  return new Parameters(name, value, route);
30
30
  }
31
31
  /** What the route states this method and its parameters are. */
32
- explain(directives, _, introspection) {
32
+ explain(directives, introspection) {
33
33
  const help = Family.method(directives);
34
34
  // what is hidden is hidden from every answer at once, this being the one place they
35
35
  // all read; the method itself is reached as it always was
@@ -1 +1 @@
1
- {"version":3,"file":"Family.js","sourceRoot":"","sources":["../../../source/directives/help/Family.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Family.js","sourceRoot":"","sources":["../../../source/directives/help/Family.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export declare class IO implements DirectiveFamily<Directive> {
17
17
  * What a whitelist admits is what the schema states. Without an `io:output` the reply is
18
18
  * dropped before it is sent, so there is no output to describe at all.
19
19
  */
20
- explain(directives: Directive[], _: http.Context, introspection: Introspection): Introspection;
20
+ explain(directives: Directive[], introspection: Introspection): Introspection;
21
21
  settle(directives: Directive[], context: http.Context, output: http.OutgoingMessage): void;
22
22
  /**
23
23
  * The ticker belongs to the family rather than to any route's directives, and the
@@ -3,6 +3,7 @@ import { Output } from './Output.js';
3
3
  import { Input } from './Input.js';
4
4
  import { Throttle } from './Throttle.js';
5
5
  import { Status } from './Status.js';
6
+ import { Readonly } from './Readonly.js';
6
7
  import { Sync } from './lib/throttle/index.js';
7
8
  import { ATOM_GROUP } from '@toa.io/definitions/extensions.exposition';
8
9
  export class IO {
@@ -38,9 +39,11 @@ export class IO {
38
39
  * What a whitelist admits is what the schema states. Without an `io:output` the reply is
39
40
  * dropped before it is sent, so there is no output to describe at all.
40
41
  */
41
- explain(directives, _, introspection) {
42
+ explain(directives, introspection) {
42
43
  let restricted = false;
43
44
  for (const directive of directives) {
45
+ if (directive instanceof Readonly)
46
+ introspection.readonly = directive.value;
44
47
  if (directive instanceof Input)
45
48
  introspection.input = restrict(introspection.input, directive.allowed);
46
49
  if (!(directive instanceof Output))
@@ -70,7 +73,8 @@ const constructors = {
70
73
  input: Input,
71
74
  output: Output,
72
75
  status: Status,
73
- throttle: Throttle
76
+ throttle: Throttle,
77
+ readonly: Readonly
74
78
  };
75
79
  const DENIAL = new Output([]);
76
80
  //# sourceMappingURL=IO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IO.js","sourceRoot":"","sources":["../../../source/directives/io/IO.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IO.js","sourceRoot":"","sources":["../../../source/directives/io/IO.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Directive } from './Directive.ts';
2
+ import type { Input as Context } from '../../io.ts';
3
+ /**
4
+ * Whether the call this method makes may only read, which is what `GET` and `HEAD` are taken to
5
+ * mean. `false` lets a safe method reach an operation that may change state — a `GET` that opens a
6
+ * stream — and `true` holds any other method to reading.
7
+ */
8
+ export declare class Readonly implements Directive {
9
+ /** what the route declared, which is what describes the method as well as what it does */
10
+ readonly value: boolean;
11
+ constructor(value: unknown);
12
+ static validate(value: unknown): asserts value is boolean;
13
+ precall(context: Context): void;
14
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Whether the call this method makes may only read, which is what `GET` and `HEAD` are taken to
3
+ * mean. `false` lets a safe method reach an operation that may change state — a `GET` that opens a
4
+ * stream — and `true` holds any other method to reading.
5
+ */
6
+ export class Readonly {
7
+ /** what the route declared, which is what describes the method as well as what it does */
8
+ value;
9
+ constructor(value) {
10
+ this.value = value;
11
+ }
12
+ static validate(value) {
13
+ if (typeof value !== 'boolean')
14
+ throw new Error('`io:readonly` must be a boolean');
15
+ }
16
+ precall(context) {
17
+ context.readonly = this.value;
18
+ }
19
+ }
20
+ //# sourceMappingURL=Readonly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Readonly.js","sourceRoot":"","sources":["../../../source/directives/io/Readonly.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACnB,0FAA0F;IAC1E,KAAK,CAAS;IAE9B,YAAmB,KAAc;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAgB,CAAA;IAC/B,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAc;QACnC,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpF,CAAC;IAEM,OAAO,CAAC,OAAgB;QAC7B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAA;IAC/B,CAAC;CACF"}
@@ -10,6 +10,6 @@ export declare class Map implements DirectiveFamily {
10
10
  readonly mandatory = false;
11
11
  private remotes;
12
12
  create(name: string, value: unknown, remotes: Remotes): Property | Mapping;
13
- explain(directives: Directive[], _: Input, introspection: Introspection): Introspection;
13
+ explain(directives: Directive[], introspection: Introspection): Introspection;
14
14
  precall(directives: Directive[], context: Input, parameters: Parameter[]): Promise<Output>;
15
15
  }
@@ -19,7 +19,7 @@ export class Map {
19
19
  throw new Error(`Directive 'map:${name}' is not implemented`);
20
20
  });
21
21
  }
22
- explain(directives, _, introspection) {
22
+ explain(directives, introspection) {
23
23
  for (const directive of directives)
24
24
  if (directive instanceof Mapping)
25
25
  directive.explain(introspection);
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../../source/directives/map/Map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../../source/directives/map/Map.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { Tool } from './Tool.ts';
2
2
  import type { DirectiveFamily } from '../../RTD/index.ts';
3
- import type { Context } from '../../HTTP/index.ts';
4
3
  import type { Introspection } from '../../Introspection.ts';
5
4
  /** The name the family is declared under, and what `MCP` asks a method for. */
6
5
  export declare const FAMILY = "mcp";
@@ -13,6 +12,6 @@ export declare class MCP implements DirectiveFamily<Tool> {
13
12
  * Whether this method is published to a model, which is what the route declares. Whether
14
13
  * one is served at all is the annotation's, and a route says nothing of that.
15
14
  */
16
- explain(directives: Tool[], _: Context, introspection: Introspection): Introspection;
15
+ explain(directives: Tool[], introspection: Introspection): Introspection;
17
16
  create(name: string, value: unknown, _: unknown, route: string): Tool;
18
17
  }
@@ -12,7 +12,7 @@ export class MCP {
12
12
  * Whether this method is published to a model, which is what the route declares. Whether
13
13
  * one is served at all is the annotation's, and a route says nothing of that.
14
14
  */
15
- explain(directives, _, introspection) {
15
+ explain(directives, introspection) {
16
16
  return MCP.published(directives) ? { ...introspection, mcp: true } : introspection;
17
17
  }
18
18
  // eslint-disable-next-line max-params
@@ -1 +1 @@
1
- {"version":3,"file":"MCP.js","sourceRoot":"","sources":["../../../source/directives/mcp/MCP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAKhC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAA;AAE3B,MAAM,OAAO,GAAG;IACE,IAAI,GAAG,MAAM,CAAA;IACb,SAAS,GAAG,KAAK,CAAA;IAEjC,oFAAoF;IAC7E,MAAM,CAAC,SAAS,CAAC,UAA8B;QACpD,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,KAAK,CAAA;IAC5C,CAAC;IAED;;;OAGG;IACI,OAAO,CACZ,UAAkB,EAClB,CAAU,EACV,aAA4B;QAE5B,OAAO,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAA;IACpF,CAAC;IAED,sCAAsC;IAC/B,MAAM,CAAC,IAAY,EAAE,KAAc,EAAE,CAAU,EAAE,KAAa;QACnE,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAA;QAEtE,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"MCP.js","sourceRoot":"","sources":["../../../source/directives/mcp/MCP.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAA;AAE3B,MAAM,OAAO,GAAG;IACE,IAAI,GAAG,MAAM,CAAA;IACb,SAAS,GAAG,KAAK,CAAA;IAEjC,oFAAoF;IAC7E,MAAM,CAAC,SAAS,CAAC,UAA8B;QACpD,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,KAAK,CAAA;IAC5C,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,UAAkB,EAAE,aAA4B;QAC7D,OAAO,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAA;IACpF,CAAC;IAED,sCAAsC;IAC/B,MAAM,CAAC,IAAY,EAAE,KAAc,EAAE,CAAU,EAAE,KAAa;QACnE,IAAI,IAAI,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAA;QAEtE,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;CACF"}
@@ -10,6 +10,6 @@ export declare class Octets implements DirectiveFamily<Directive> {
10
10
  private discovery;
11
11
  create(name: string, value: any, remotes: Remotes): Directive;
12
12
  /** What the request takes, which only sending a file says anything about. */
13
- explain(directives: Directive[], _: Input, introspection: Introspection): Introspection;
13
+ explain(directives: Directive[], introspection: Introspection): Introspection;
14
14
  precall(directives: Directive[], input: Input, parameters: Parameter[]): Promise<Output>;
15
15
  }
@@ -16,7 +16,7 @@ export class Octets {
16
16
  return new Class(value, this.discovery, remotes);
17
17
  }
18
18
  /** What the request takes, which only sending a file says anything about. */
19
- explain(directives, _, introspection) {
19
+ explain(directives, introspection) {
20
20
  for (const directive of directives)
21
21
  directive.describe?.(introspection);
22
22
  return introspection;
@@ -1 +1 @@
1
- {"version":3,"file":"Octets.js","sourceRoot":"","sources":["../../../source/directives/octets/Octets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AASjD,MAAM,OAAO,MAAM;IACD,IAAI,GAAW,QAAQ,CAAA;IACvB,SAAS,GAAY,KAAK,CAAA;IAElC,SAAS,GAAG,IAAqC,CAAA;IAElD,MAAM,CAAC,IAAY,EAAE,KAAU,EAAE,OAAgB;QACtD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAE9B,IAAI,KAAK,KAAK,SAAS;YACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,sBAAsB,CAAC,CAAA;QAElE,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAE3D,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAED,6EAA6E;IACtE,OAAO,CAAC,UAAuB,EAAE,CAAQ,EAAE,aAA4B;QAC5E,KAAK,MAAM,SAAS,IAAI,UAAU;YAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAA;QAEvE,OAAO,aAAa,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,UAAuB,EACvB,KAAY,EACZ,UAAuB;QAEvB,IAAI,OAAO,GAAmB,IAAI,CAAA;QAClC,IAAI,MAAM,GAAqB,IAAI,CAAA;QAEnC,KAAK,MAAM,SAAS,IAAI,UAAU;YAChC,IAAI,SAAS,YAAY,OAAO;gBAAE,OAAO,KAAK,SAAS,CAAA;iBAClD,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,GAAG,SAAS,CAAA;;gBACvC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAEpD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEhC,4CAA4C;QAC5C,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAEtE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAA;QAExE,IAAI,QAAQ,KAAK,MAAM,CAAC,QAAQ;YAC9B,MAAM,IAAI,QAAQ,CAChB,qBAAqB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAClE,CAAA;QAEH,uCAAuC;QACvC,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IAC/D,CAAC;CACF;AAED,MAAM,UAAU,GAAgC;IAC9C,OAAO,EAAE,OAAO;IAChB,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,iBAAiB;CAC5B,CAAA"}
1
+ {"version":3,"file":"Octets.js","sourceRoot":"","sources":["../../../source/directives/octets/Octets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AASjD,MAAM,OAAO,MAAM;IACD,IAAI,GAAW,QAAQ,CAAA;IACvB,SAAS,GAAY,KAAK,CAAA;IAElC,SAAS,GAAG,IAAqC,CAAA;IAElD,MAAM,CAAC,IAAY,EAAE,KAAU,EAAE,OAAgB;QACtD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAE9B,IAAI,KAAK,KAAK,SAAS;YACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,sBAAsB,CAAC,CAAA;QAElE,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAE3D,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAED,6EAA6E;IACtE,OAAO,CAAC,UAAuB,EAAE,aAA4B;QAClE,KAAK,MAAM,SAAS,IAAI,UAAU;YAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,CAAA;QAEvE,OAAO,aAAa,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,UAAuB,EACvB,KAAY,EACZ,UAAuB;QAEvB,IAAI,OAAO,GAAmB,IAAI,CAAA;QAClC,IAAI,MAAM,GAAqB,IAAI,CAAA;QAEnC,KAAK,MAAM,SAAS,IAAI,UAAU;YAChC,IAAI,SAAS,YAAY,OAAO;gBAAE,OAAO,KAAK,SAAS,CAAA;iBAClD,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,GAAG,SAAS,CAAA;;gBACvC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAEpD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEhC,4CAA4C;QAC5C,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAEtE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAA;QAExE,IAAI,QAAQ,KAAK,MAAM,CAAC,QAAQ;YAC9B,MAAM,IAAI,QAAQ,CAChB,qBAAqB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAClE,CAAA;QAEH,uCAAuC;QACvC,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IAC/D,CAAC;CACF;AAED,MAAM,UAAU,GAAgC;IAC9C,OAAO,EAAE,OAAO;IAChB,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,iBAAiB;CAC5B,CAAA"}
@@ -8,8 +8,15 @@ export declare const NONE = "none";
8
8
  export declare function request(method?: string): Measure & {
9
9
  labels: Labels;
10
10
  };
11
+ /**
12
+ * The status is written onto the request's own labels rather than into a copy of them: the
13
+ * object is the request's and dies with it, and the histogram that carries it reads the two
14
+ * labels it declared and nothing else.
15
+ */
11
16
  export declare function answered(labels: Labels, status: number): void;
12
17
  export interface Labels extends Record<string, unknown> {
13
18
  method: string;
14
19
  route: string;
20
+ /** written when the reply is answered, which is after the histogram has read the rest */
21
+ status?: number;
15
22
  }
@@ -25,7 +25,13 @@ export const NONE = 'none';
25
25
  export function request(method = 'GET') {
26
26
  return { histogram: duration, labels: { method, route: NONE } };
27
27
  }
28
+ /**
29
+ * The status is written onto the request's own labels rather than into a copy of them: the
30
+ * object is the request's and dies with it, and the histogram that carries it reads the two
31
+ * labels it declared and nothing else.
32
+ */
28
33
  export function answered(labels, status) {
29
- responses.add(1, { ...labels, status });
34
+ labels.status = status;
35
+ responses.add(1, labels);
30
36
  }
31
37
  //# sourceMappingURL=measurements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"measurements.js","sourceRoot":"","sources":["../source/measurements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnC;;;;;;;GAOG;AACH,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAA;AAEzB,6EAA6E;AAC7E,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AAE3E,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAC/B,iCAAiC,EACjC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,EACjC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAC9B,CAAA;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE;IAC3D,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;CACb,CAAC,CAAA;AAEF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAA;AAE1B;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,MAAM,GAAG,KAAK;IACpC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,MAAc;IACrD,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"measurements.js","sourceRoot":"","sources":["../source/measurements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnC;;;;;;;GAOG;AACH,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAA;AAEzB,6EAA6E;AAC7E,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AAE3E,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAC/B,iCAAiC,EACjC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,EACjC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAC9B,CAAA;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE;IAC3D,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;CACb,CAAC,CAAA;AAEF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAA;AAE1B;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,MAAM,GAAG,KAAK;IACpC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAA;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,MAAc;IACrD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IAEtB,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAC1B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { console, metrics, traces } from 'openspan';
1
+ import { console, logs, metrics, traces } from 'openspan';
2
2
  import { Gateway } from './Gateway.js';
3
3
  import { Remotes } from './Remotes.js';
4
4
  import { Tree } from './RTD/index.js';
@@ -49,8 +49,11 @@ const METRICS_ENV = 'TOA_TELEMETRY_METRICS';
49
49
  function configureLogs() {
50
50
  const globEnv = environment.get(LOGS_PREFIX);
51
51
  const level = environment.get('TOA_DEV') === '1' ? 'trace' : 'info';
52
- const options = globEnv === undefined ? { level } : JSON.parse(globEnv);
52
+ const options = globEnv === undefined
53
+ ? { level }
54
+ : JSON.parse(globEnv);
53
55
  console.configure({ level: options.level ?? level });
56
+ logs({ exporters: records(options.exporters) });
54
57
  const tracesEnv = environment.get(TRACES_ENV);
55
58
  const tracing = tracesEnv === undefined ? development() : JSON.parse(tracesEnv);
56
59
  // `openspan` is not Toa's and reads the environment, which no longer holds the context by
@@ -60,6 +63,19 @@ function configureLogs() {
60
63
  traces(tracing);
61
64
  metrics(measurements());
62
65
  }
66
+ /**
67
+ * What the records say they came from. The gateway serves several components and is none of
68
+ * them, so it names itself, as it does for the series.
69
+ */
70
+ function records(exporters) {
71
+ if (exporters?.otlp !== undefined) {
72
+ const resource = (exporters.otlp.resource ??= {});
73
+ resource['service.name'] ??= 'exposition';
74
+ resource['service.namespace'] ??= environment.get('TOA_CONTEXT');
75
+ resource['deployment.environment.name'] ??= environment.get('TOA_ENV');
76
+ }
77
+ return exporters;
78
+ }
63
79
  /**
64
80
  * The gateway measures what it serves, and what tells two products apart in one backend is the
65
81
  * resource rather than the metric name.
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../source/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../source/service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import{$ as e,A as t,At as n,C as r,Ct as i,E as a,I as o,L as s,M as c,Mt as l,N as u,St as d,V as f,_t as p,a as m,bt as h,d as g,dt as _,et as v,ft as y,gt as b,ht as x,i as S,j as C,jt as ee,kt as w,o as T,st as te,tt as ne,vt as E,w as re,x as D,y as ie}from"./BVDJTrf4.js";import{s as ae}from"./2Pi0xij4.js";import"./xihTtKlq.js";function O(e){return{all:e||=new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(e){e(n)}),(r=e.get(`*`))&&r.slice().map(function(e){e(t,n)})}}}var k=l((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Err=void 0,e.Err=class extends Error{code;name=`Error`;message=``;cause;constructor(e,t){super(),this.code=e,delete this.stack,Object.defineProperty(this,"name",{enumerable:!1}),typeof t==`string`?(this.message=t,Object.defineProperty(this,"cause",{enumerable:!1})):(Object.defineProperty(this,"message",{enumerable:!1}),Object.defineProperty(this,"cause",{enumerable:t!==void 0,value:t}))}}}))();async function oe(e,t){if(!e.ok||!e.body||e.bodyUsed)return e;let n=e.headers.get(`content-type`);if(!n||!~n.indexOf(`multipart/`))return e;let r=n.indexOf(`boundary=`),i=`-`;if(~r){let e=r+9,t=n.indexOf(`;`,e);i=n.slice(e,t>-1?t:void 0).trim().replace(/"/g,``)}return async function*(e,t,n){let r,i,a,o=new TextDecoder(`utf8`),s=e.getReader(),c=!n||!n.multiple,l=t.length,u=``,d=[];try{let e;e:for(;!(e=await s.read()).done;){let n=o.decode(e.value,{stream:!0});r=u.length,u+=n;let s=n.indexOf(t);for(~s?r+=s:r=u.indexOf(t),d=[];~r;){let e=u.slice(0,r),n=u.slice(r+l);if(i){let t=e.indexOf(`\r
1
+ import{$ as e,A as t,At as n,C as r,Ct as i,E as a,I as o,L as s,M as c,Mt as l,N as u,St as d,V as f,_t as p,a as m,bt as h,d as g,dt as _,et as v,ft as y,gt as b,ht as x,i as S,j as C,jt as ee,kt as w,o as T,st as te,tt as ne,vt as E,w as re,x as D,y as ie}from"./BVDJTrf4.js";import{s as ae}from"./DTnwtQM2.js";import"./xihTtKlq.js";function O(e){return{all:e||=new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map(function(e){e(n)}),(r=e.get(`*`))&&r.slice().map(function(e){e(t,n)})}}}var k=l((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Err=void 0,e.Err=class extends Error{code;name=`Error`;message=``;cause;constructor(e,t){super(),this.code=e,delete this.stack,Object.defineProperty(this,"name",{enumerable:!1}),typeof t==`string`?(this.message=t,Object.defineProperty(this,"cause",{enumerable:!1})):(Object.defineProperty(this,"message",{enumerable:!1}),Object.defineProperty(this,"cause",{enumerable:t!==void 0,value:t}))}}}))();async function oe(e,t){if(!e.ok||!e.body||e.bodyUsed)return e;let n=e.headers.get(`content-type`);if(!n||!~n.indexOf(`multipart/`))return e;let r=n.indexOf(`boundary=`),i=`-`;if(~r){let e=r+9,t=n.indexOf(`;`,e);i=n.slice(e,t>-1?t:void 0).trim().replace(/"/g,``)}return async function*(e,t,n){let r,i,a,o=new TextDecoder(`utf8`),s=e.getReader(),c=!n||!n.multiple,l=t.length,u=``,d=[];try{let e;e:for(;!(e=await s.read()).done;){let n=o.decode(e.value,{stream:!0});r=u.length,u+=n;let s=n.indexOf(t);for(~s?r+=s:r=u.indexOf(t),d=[];~r;){let e=u.slice(0,r),n=u.slice(r+l);if(i){let t=e.indexOf(`\r
2
2
  \r
3
3
  `)+4,r=e.lastIndexOf(`\r
4
4
  `,t),i=!1,o=e.slice(t,r>-1?void 0:r),s=String(e.slice(0,t)).trim().split(`\r
5
5
  `),l={},u=s.length;for(;a=s[--u];a=a.split(`: `),l[a.shift().toLowerCase()]=a.join(`: `));if(a=l[`content-type`],a&&~a.indexOf(`application/json`))try{o=JSON.parse(o),i=!0}catch{}if(a={headers:l,body:o,json:i},c?yield a:d.push(a),n.slice(0,2)===`--`)break e}else t=`\r
6
- `+t,i=l+=2;u=n,r=u.indexOf(t)}d.length&&(yield d)}}finally{d.length&&(yield d),await s.cancel()}}(e.body,`--${i}`,t)}var se=Object.defineProperty,ce=(e,t)=>{for(var n in t)se(e,n,{get:t[n],enumerable:!0})},A=Symbol(`meta`);function le(e){return e[A]??null}function ue(e,t){Object.defineProperty(e,A,{value:t,writable:!1,enumerable:!1,configurable:!1})}var de=class{origin;events;sleep;fetch=fetch.bind(globalThis);challenge=null;constructor(e){this.origin=e.origin,this.events=e.events,e.sleep!==void 0&&(this.sleep=JSON.stringify(e.sleep))}async json(e,t){let n=this.setup(t),r=await this.request(e,n),i=r.headers.get(`content-type`)===`application/json`?await r.json():await r.text();return typeof i==`object`&&i&&ue(i,{status:r.status,headers:r.headers}),r.ok?(this.events.emit(`response`,{status:r.status,headers:r.headers}),i):(this.events.emit(`error`,{code:r.status,body:i}),new k.Err(r.status,i))}async multipart(e,t){let n=this.setup(t),r=await this.request(e,n);if(!r.ok)return new k.Err(r.status,{body:await r.text()});let i=await oe(r),a=await i.next();if(n.debug&&console.debug(`Multipart ACK`,{path:e,body:a.value.body}),JSON.parse(a.value.body)!==`ACK`)throw Error(`No ACK`);return(async function*(){for await(let t of i){n.debug&&console.debug(`Multipart chunk`,{path:e,body:t.body});let r=JSON.parse(t.body);if(r===`FIN`)return;yield r}})()}async octets(e,t){let n=await this.multipart(e,t);if(n instanceof Error)return n;let r=(await n.next()).value,i=O();return(async()=>{await new Promise(e=>setTimeout(e,0));for await(let r of n){let n=r.status===`completed`?r.error?new k.Err(r.error.code??`UNKNOWN`,r.error.message):r.output:new k.Err(`EXCEPTION`);t?.debug&&console.debug(`Emitting octets step`,{path:e,step:r.step,payload:n}),i.emit(r.step,n)}i.off(`*`)})(),[r,i]}authenticate(e){this.challenge=e}use(e){this.fetch=e}setup(e){if(e??={},e.headers??={},e.headers.accept??=`application/json`,this.sleep!==void 0&&(e.headers.sleep=this.sleep),e.credentials===`include`&&e.headers.authorization===void 0){if(this.challenge===null)throw Error(`Credentials must be set before sending authenticated request`);e.headers.authorization=this.challenge,delete e.credentials}return e.body!==void 0&&(e.method??=`POST`,e.body instanceof File||e.body instanceof ReadableStream?(e.duplex=`half`,e.headers[`content-type`]??=e.body.type??`application/octet-stream`):(e.body=JSON.stringify(e.body),e.headers[`content-type`]??=`application/json`)),e}async request(e,t){let n=new URL(e,this.origin),r=await this.fetch(n.href,t),i=r.headers.get(`authorization`);return i!==null&&(this.challenge=i,this.events.emit(`challenge`,i)),r}},fe=class{agent;path;init;constructor(e){this.agent=e.agent,this.path=e.path,this.init=e.init}async json(e,t){return await this.request(`json`,e,t)}async octets(e,t){return await this.request(`octets`,e,t)}async multipart(e,t){return await this.request(`multipart`,e,t)}async request(e,t,n){let r=typeof t==`string`?t:``;n=typeof t==`string`?n:t;let i=this.abs(r),a=Object.assign({},this.init,n);if(e===`json`)return await this.agent.json(i,a);if(e===`octets`)return await this.agent.octets(i,a);if(e===`multipart`)return await this.agent.multipart(i,a);throw Error(`Invalid method: ${e}`)}abs(e){let t=new URL(this.path,`https://void`),n=new URL(e,t);return n.pathname.endsWith(`/`)||(n.pathname+=`/`),n.pathname+n.search}},pe=class{events;agent;constructor(e){this.events=O(),this.agent=new de({origin:e.origin,events:this.events,sleep:e.sleep})}resource(e,t){return new fe({agent:this.agent,path:e,init:t})}authenticate(e){this.agent.authenticate(e)}use(e){this.agent.use(e)}};function me(e){return typeof e==`string`&&(e={origin:e}),new pe(e)}ce({},{format:()=>ge,test:()=>he});function he(e){return/^[[(]\d+\.\.\d+[\])]{1}$/.test(e)}function ge(e,t){let[n,r]=t.slice(1,-1).split(`..`);return[`${e}${t.startsWith(`(`)?`>`:`>=`}${n}`,`${e}${t.endsWith(`)`)?`<`:`<=`}${r}`]}var _e={title:`Discovery`,description:`What a Toa application serves`},j=typeof window>`u`?``:window.location.origin,ve=8002,ye=8003,be=Se(ve,`/.introspection/`),xe=Se(ye,`/.configuration/`);function Se(e,t){if(typeof window>`u`)return t;let{protocol:n,hostname:r}=window.location;return(Ce(r)?`${n}//${r}:${e}`:``)+t}function Ce(e){return e===`localhost`||e===`127.0.0.1`||e===`[::1]`||e.startsWith(`192.168.`)||e.startsWith(`172.16.`)||e.startsWith(`10.`)}var we=`1`;(()=>{let e=new Date(Number.parseInt(ae)),t=e.getFullYear(),n=new Date(t,0,1).getTime(),r=new Date(t+1,0,1).getTime();return`${we}.${(t+(e.getTime()-n)/(r-n)).toFixed(4)}`})();var M=me({origin:j,sleep:void 0});console.info(`Origin connected`,j,`no sleep`);function Te(e){if(document.startViewTransition===void 0)return Promise.resolve(e?.());let t=e!==void 0;return t&&je(),new Promise(n=>{let r=document.startViewTransition(async()=>{De(),n(await e?.())});r.finished.then(i,i),r.ready.catch(N);function i(){t&&Me(),F()}})}function N(){}function Ee(e){if(!(e.type===`popstate`&&e.event.hasUAVisualTransition)&&document.startViewTransition!==void 0)return new Promise(t=>{let n=document.startViewTransition({types:[`route`],update:async()=>{De(),t(),await e.complete}});n.finished.then(F,F),n.ready.catch(N)})}var P=null;function De(){if(P===null)return;let e=P.el.style.viewTransitionName===P.name;P.el.style.viewTransitionName=e?``:P.name,P.el.style.viewTransitionClass=e?``:P.classes??``}function F(){P!==null&&P.el.style.viewTransitionName===P.name&&(Oe(P),P=null)}function Oe(e){e.el.style.viewTransitionName=``,e.el.style.viewTransitionClass=``}var ke=E(!1),Ae=new Set;function je(){ke.set(!0);for(let e of Ae)e.original={name:e.node.style.viewTransitionName,classes:e.node.style.viewTransitionClass},e.node.style.viewTransitionName=e.options.name,e.options.classes!==void 0&&(e.node.style.viewTransitionClass=e.options.classes)}function Me(){for(let e of Ae)e.original!==void 0&&(e.node.style.viewTransitionName=e.original.name,e.node.style.viewTransitionClass=e.original.classes);ke.set(!1)}navigator.userAgent.toLowerCase().includes(`windows`);var Ne=/mac ?os|ios|ipad ?os/i.test(navigator.userAgentData?.platform??``)||/(Mac|iPhone|iPad|iPod)/.test(navigator.userAgent);/android/i.test(navigator.userAgent);var Pe=/(iPhone|iPad|iPod)/.test(navigator.userAgent),Fe=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);`ontouchstart`in window;var Ie=window.matchMedia(`(display-mode: standalone)`).matches,Le=/PWAShell/i.test(navigator.userAgent);navigator.userAgent.match(/PWAShell\/(\S+)/)?.[1];var Re=!(`ontouchstart`in window);[`en-US`,`en-LR`,`en-MM`].includes(navigator.language),[`en-US`,`en-GB`,`en-CA`,`en-AU`,`en-NZ`,`en-IE`,`en-IN`,`en-LR`,`en-MM`].includes(navigator.language);function ze(e=navigator.userAgent){return[/FBAN|FBAV|FB_IAB/i,/Instagram/i,/Twitter/i,/Line/i,/LinkedIn/i,/Snapchat/i,/WhatsApp/i,/WeChat/i,/Messenger/i,/QQ/i,/Reddit/i,/Puffin/i,/TikTok/i,/musical.ly/i,/YouTube/i,/Pinterest/i,/Discord/i,/Telegram/i,/Viber/i,/Slack/i,/Signal/i,/KakaoTalk/i,/Baidu/i].some(t=>t.test(e))||(()=>{let t=RegExp(`(${[`WebView`,`(iPhone|iPod|iPad)(?!.*Safari/)`,`Android.*(wv)`,`(AppleWebKit)(?!.*Safari)`].join(`|`)})`,`ig`);return e.match(t)!==null})()||`TelegramWebviewProxy`in window||`TelegramWebviewProxyProto`in window||`TelegramWebview`in window}ze(navigator.userAgent);var Be=new URLSearchParams;new URLSearchParams;function Ve(e){return Be.get(e)}function He(e,t=24){return p(e,n=>{let r=Date.now(),i=setInterval(()=>a(),1e3/t);function a(){let t=e-(Date.now()-r);t>0?n(t):(n(0),clearInterval(i))}return a(),()=>clearInterval(i)})}var Ue=class{store;values;request;revalidate;stale;timestamp=0;constructor(e){this.store=E(null),this.values=e.values,this.request=e.get,this.revalidate=e.revalidate??Ge.revalidate,this.stale=e.stale??Ge.stale,e.persist!==void 0&&this.persist(e.persist),e.bind!==void 0&&this.bind(e.bind)}subscribe(e,t){return this.sync(),this.store.subscribe(e,t)}add(e){this.values?.set(e.id,e),this.store.update(t=>t===null||t instanceof Error?[e]:t.find(t=>t.id===e.id)===void 0?[e,...t]:t)}get(e,t){if(this.values===void 0)throw Error(`Collection: values is not defined`);return this.values.get(e,t)}extract(e){if(this.values===void 0)throw Error(`Collection: values is not defined`);return this.values.extract(e)}delete(e){this.values?.delete(e),this.store.update(t=>t===null||t instanceof Error?t:t.filter(t=>t.id!==e))}set(e,t){this.store.update(n=>{if(n===null||n instanceof Error)return[e];let r=n.findIndex(t=>t.id===e.id);return r===-1?t?.add===!0?[e,...n]:n:(n[r]=e,n)}),this.values?.set(e.id,e)}update(e,t,n){if(this.values===void 0)throw Error(`Collection: values is not defined`);let r=this.values.extract(e);if(r===null)return;let i=t(r)??r;this.set(i,n)}sync(){return(this.timestamp===0||this.timestamp+this.revalidate<Date.now())&&(this.stale||this.clear(),this.refresh()),this}async fetch(){return await this.refresh(),this}replace(e){let t=e;if(this.store.set(t),this.timestamp=Date.now(),this.values!==void 0)for(let e of t)this.values.set(e.id,e)}async refresh(){if(this.request===void 0)return;this.timestamp=Date.now();let e=await this.request();e instanceof Error?this.store.set(e):this.replace(e)}persist(e){if(typeof window>`u`)return;let t=this.load(e);if(t!==null&&(this.store.set(t),this.values?.persistent===!1))for(let e of t)this.values.set(e.id,e);this.store.subscribe(t=>{t instanceof Error||(t===null?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify(t)))})}load(e){if(typeof window>`u`)return null;let t=localStorage.getItem(e);if(t===null)return null;try{let n=JSON.parse(t);return Array.isArray(n)?n:(console.error(`Storage value for ${e} is not an array:`,n),null)}catch(t){return console.error(`Invalid storage value for ${e}`,t),null}}bind(e){e.subscribe(e=>{e===null&&this.clear()})}clear(){this.store.set(null),this.values?.clear(),this.timestamp=0}};function We(e){return new Ue(e)}var Ge={revalidate:3e5,stale:!1},Ke=class{store;default;request;revalidate;timestamp=0;constructor(e){this.default=e.default??null,this.request=e.get,this.revalidate=e.revalidate??Ye.revalidate,this.store=e.persist===void 0||typeof window>`u`?E(this.default):qe(e.persist,this.default,e.session),e.bind&&this.bind(e.bind)}set(e){this.store.set(e)}update(e){this.store.update(t=>e(t))}subscribe(e,t){return this.sync(),this.store.subscribe(e,t)}extract(){return b(this.store)}sync(){this.request!==void 0&&this.timestamp+this.revalidate<Date.now()&&this.refresh()}async refresh(){if(this.request===void 0)return;this.timestamp=Date.now();let e=await this.request();e instanceof Error||this.set(e)}bind(e){e.subscribe(e=>{e===null&&this.store.set(this.default)})}};function I(e={}){return new Ke(e)}function qe(e,t,n){let r=E(Je(e)??t),i=n?`sessionStorage`:`localStorage`;return r.subscribe(t=>{t===null?window[i].removeItem(e):window[i].setItem(e,JSON.stringify(t))}),r}function Je(e){let t=window.localStorage.getItem(e);if(t===null)return null;try{return JSON.parse(t)}catch(t){return console.error(`Invalid storage value for ${e}`,t),null}}var Ye={revalidate:3e5};function Xe(e,t){return new Promise(n=>{let r=!1,i=null;i=e.subscribe(e=>{t(e)&&(i?.(),r=!0,n(e))}),r&&i?.()})}function Ze(e){return Xe(e,e=>e!==null&&!(e instanceof Error))}var Qe={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},$e=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},et=Symbol(`lucide-context`),tt=()=>h(et),nt=new Set([`$$slots`,`$$events`,`$$legacy`,`name`,`color`,`size`,`strokeWidth`,`absoluteStrokeWidth`,`iconNode`,`children`]),rt=u(`<svg><!><!></svg>`);function L(a,o){i(o,!0);let s=tt()??{},c=S(o,`color`,19,()=>s.color??`currentColor`),l=S(o,`size`,19,()=>s.size??24),u=S(o,`strokeWidth`,19,()=>s.strokeWidth??2),p=S(o,`absoluteStrokeWidth`,19,()=>s.absoluteStrokeWidth??!1),h=S(o,`iconNode`,19,()=>[]),_=m(o,nt),y=te(()=>p()?Number(u())*24/Number(l()):u());var b=rt();g(b,e=>({...Qe,...e,..._,width:l(),height:l(),stroke:c(),"stroke-width":f(y),class:[`lucide-icon lucide`,s.class,o.name&&`lucide-${o.name}`,o.class]}),[()=>!o.children&&!$e(_)&&{"aria-hidden":`true`}]);var x=e(b);r(x,17,h,re,(e,n)=>{var r=te(()=>ee(f(n),2));let i=()=>f(r)[0],a=()=>f(r)[1];var o=C(),s=v(o);ie(s,i,!0,(e,t)=>{g(e,()=>({...a()}))}),t(e,o)});var T=ne(x);D(T,()=>o.children??n),w(b),t(a,b),d()}var it=new Set([`$$slots`,`$$events`,`$$legacy`]);function at(e,t){let n=m(t,it),r=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]];L(e,T({name:`loader-circle`},()=>n,{get iconNode(){return r}}))}var ot=new Set([`$$slots`,`$$events`,`$$legacy`]);function st(e,t){let n=m(t,ot),r=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}]];L(e,T({name:`rotate-ccw`},()=>n,{get iconNode(){return r}}))}var ct=c(`<div class="m-auto flex flex-col items-center gap-4"><span class="text-destructive">Something went terribly wrong</span> <button class="p-4 border border-muted-foreground hover:bg-muted cursor-pointer rounded-md flex items-center gap-2"><!></button></div>`);function lt(n,r){let i=()=>y(r.store,`$store`,o),[o,c]=_(),l=S(r,`silent`,3,!1);var u=C(),d=v(u),f=e=>{var n=C(),i=v(n),o=e=>{var n=C(),i=v(n);D(i,()=>r.waiting),t(e,n)},s=e=>{at(e,{class:`animate-spin m-auto text-muted-foreground`})};a(i,e=>{r.waiting?e(o):l()||e(s,1)}),t(e,n)},p=n=>{var o=C(),c=v(o),u=e=>{var n=C(),a=v(n);D(a,()=>r.error,i),t(e,n)},d=n=>{var r=ct(),i=ne(e(r),2);st(e(i),{size:16}),w(i),w(r),s(`click`,i,()=>window.location.reload()),t(n,r)};a(c,e=>{r.error?e(u):l()||e(d,1)}),t(n,o)},m=e=>{var n=C(),a=v(n);D(a,()=>r.awaited,i),t(e,n)};a(d,e=>{i()===null?e(f):i()instanceof Error?e(p,1):e(m,-1)}),t(n,u),c()}o([`click`]);var R=I({persist:`auth:account`}),z=I({persist:`auth:challenge`,bind:R}),B=I({persist:`auth:method`}),V=E(!1),ut=E(!1),dt=x([z,R,V],([e,t,n])=>e!==null&&t!==null&&n===!1);function H(e){R.extract()?.id!==e.id&&R.set(null),R.set(e)}var ft=M.resource(`/accounts/echo/`);async function U(e){let t={method:`GET`};return e!==void 0&&(t.headers={authorization:e},t.credentials=`include`),ft.json(t)}var pt=M.resource(`/identity/basic/`,{credentials:`include`});async function mt(e,t){return await pt.json(e,{method:`POST`,body:t})}var W=M.resource(`/accounts/otp/`);async function G(e,t){return typeof e==`string`?await W.json(e,{method:`POST`,body:t,credentials:`include`}):await W.json({method:`POST`,body:e})}var ht=M.resource(`/accounts/passkeys/`);async function gt(e,t){return typeof e==`string`?await ht.json(e,{method:`POST`,body:t,credentials:`include`}):await ht.json({method:`POST`,body:e})}var _t=M.resource(`/identity/federation/`,{credentials:`include`});async function vt(e,t){return await _t.json(e,{method:`POST`,body:t})}async function K(){let e=z.extract();if(e===null)return;let t=await U(e);if(t instanceof Error)return t;H(t)}function q(e,t){return e instanceof Error?e:(H(e),B.set(t),e)}var yt=I({persist:`auth:oidc:nonce`});function bt(e,t){let{client:n,endpoint:r,type:i,scope:a}=e;if(n===void 0||n===``)throw Error(`Client ID is required`);let o=xt(),s=new URLSearchParams({client_id:n,redirect_uri:window.location.origin+`/`,response_type:i,response_mode:`fragment`,scope:a,state:btoa(JSON.stringify({idp:t})),nonce:o});yt.set(o),window.location.href=r+`?`+s}function xt(){return window.crypto?.randomUUID?.()??Math.random().toString(16).slice(2)}var St=globalThis.__sveltekit_3bmqie.env,Ct={apple:{iss:`https://appleid.apple.com`,endpoint:`https://appleid.apple.com/auth/authorize`,type:`code`,scope:`openid`,client:St.PUBLIC_APPLE_CLIENT_ID},google:{iss:`https://accounts.google.com`,endpoint:`https://accounts.google.com/o/oauth2/v2/auth`,type:`id_token`,scope:`openid profile`,client:St.PUBLIC_GOOGLE_CLIENT_ID}};async function wt(e){await Tt();let t=await new Promise(t=>{window.google.accounts.oauth2.initCodeClient({client_id:e.client,scope:e.scope,ux_mode:`popup`,state:btoa(JSON.stringify({idp:`google`})),redirect_uri:window.location.origin+`/`,callback:async e=>{t(e)}}).requestCode()});return t?.code===void 0?Error(`NO_RESPONSE`,{cause:t}):t.code}function Tt(){return new Promise((e,t)=>{if(window.google?.accounts?.oauth2!==void 0)return e(void 0);let n=document.createElement(`script`);n.src=`https://accounts.google.com/gsi/client`,n.async=!0,n.onload=()=>e(void 0),n.onerror=t,document.head.appendChild(n)})}var J=typeof window<`u`&&window;async function Et(e){await Dt(e);let t=await J.AppleID.auth.signIn().catch(e=>e);return t instanceof Error?t:t?.authorization===void 0?Error(`No authentication response received`,{cause:t}):t.authorization.code}function Dt(e){if(J.AppleID===void 0)return new Promise((t,n)=>{let r=document.createElement(`script`);r.src=`https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js`,r.async=!0,r.onload=()=>{J.AppleID.auth.init({clientId:e.client,scope:e.scope,redirectURI:window.location.origin,state:btoa(JSON.stringify({idp:`apple`})),usePopup:!0}),t(void 0)},r.onerror=n,document.head.appendChild(r)})}var Ot={apple:Et,google:wt};async function kt(e,t){let n=await At(e);return n instanceof Error?n:t===void 0?Mt(e,n):jt(t,n)}async function At(e){let t=Ot[e]??bt,n=Ct[e],r=await t(n,e);if(r instanceof Error)return console.error(`Authentication failed`,r),r;if(r===void 0)throw Error(`No authentication code received, redirect flow is not supported`);let i={code:r,iss:n.iss,for:window.location.origin};return btoa(JSON.stringify(i))}async function jt(e,t){let n=await vt(e,{scheme:`code`,credentials:t});if(n instanceof Error)return n;K()}async function Mt(e,t){return q(await U(`Code `+t),e)}function Nt(){R.set(null)}async function Pt(e,t){return q(await U(`Basic `+btoa(`${e}:${t}`)),`password`)}async function Ft(e,t){return await mt(e,t)}async function It(e,t){let n=await Ft(e,t);if(n instanceof Error)return n;K()}async function Lt(e){return G({email:e})}async function Rt(e,t){return await G(e,{email:t})}async function zt(e,t){return q(await U(`OTP `+btoa(`${e}:${t}`)),`password`)}var Bt=M.resource(`/identity/passkeys/challenges/`);async function Vt(e,t){let n={type:e};return t===void 0?await Bt.json(`.`,{method:`POST`,body:n}):await Bt.json(t,{method:`POST`,body:n})}var Ht=M.resource(`/identity/passkeys/`);async function Ut(e){return await Ht.json(e,{credentials:`include`})}async function Wt(){return await Ut((await Ze(R)).id)}We({get:Wt,persist:`identity:passkeys`,bind:R,stale:!0});function Y(e){let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r.buffer}function Gt(e){return new TextEncoder().encode(e).buffer}function X(e){return btoa(String.fromCharCode(...new Uint8Array(e))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function Kt({id:e,transports:t}){return{id:Y(e),type:`public-key`,transports:t}}async function qt(e,t){let n={challenge:Y(t.challenge),timeout:t.timeout,authenticatorSelection:t.authenticatorSelection,pubKeyCredParams:t.pubKeyCredParams,rp:{name:`app`},user:{id:Gt(e.id),name:e.name,displayName:e.name},excludeCredentials:t.excludeCredentials.map(Kt)};return await navigator.credentials.create({publicKey:n}).catch(e=>e)}async function Jt(e){let t={timeout:e.timeout,challenge:Y(e.challenge),allowCredentials:e.allowCredentials.map(Kt),userVerification:e.userVerification};return await navigator.credentials.get({publicKey:t})}async function Yt(e,t){let n=await Vt(`creation`,t);if(n instanceof Error)return n;let r=await qt({id:n.identity,name:e},n);if(r instanceof Error)return r;if(r===null)throw Error(`No credential is created`);return{key:Xt(r,e),identity:n.identity}}function Xt(e,t){let n=e.response,r=n.getAuthenticatorData(),i=n.getTransports(),a=n.getPublicKeyAlgorithm(),o=n.getPublicKey(),s=e.getClientExtensionResults();if(o===null)throw Error(`No public key is created`);return{id:e.id,type:e.type,response:{attestationObject:X(n.attestationObject),clientDataJSON:X(n.clientDataJSON),authenticatorData:X(r),transports:i,publicKeyAlgorithm:a,publicKey:X(o)},authenticatorAttachment:e.authenticatorAttachment,clientExtensionResults:s,label:t}}async function Zt(e){let t=await Vt(`request`,e);if(t instanceof Error)return t;let n=Date.now(),r=await Jt(t).catch(e=>e);return r instanceof Error?r.name===`NotAllowedError`&&Date.now()-n<50?new $t:r:r===null?Error(`No credential given`):Qt(r)}function Qt(e){let t=e.response;return{id:e.id,type:e.type,response:{authenticatorData:X(t.authenticatorData),clientDataJSON:X(t.clientDataJSON),signature:X(t.signature),userHandle:t.userHandle===null?null:X(t.userHandle)},authenticatorAttachment:e.authenticatorAttachment,clientExtensionResults:e.getClientExtensionResults()}}var $t=class extends Error{constructor(){super(),this.name=this.constructor.name}},en=typeof window>`u`||window.PublicKeyCredential!==void 0;async function tn(e,t){let n=await Yt(e,t);if(n instanceof Error)return console.error(`Credential creation failed`,n),n;let r=await gt(n.identity,n.key);return r instanceof Error&&console.error(`Credential registration failed`,r),q(r,`passkey`)}async function nn(e){let t=await Zt(e);if(t instanceof Error)return console.error(`Credential request failed`,t),t;let n=await gt(t);return n instanceof Error&&console.error(`Credential verification failed`,n),q(n,`passkey`)}var rn=M.resource(`/.discovery`);async function an(){let e=b(z)!==null;return await rn.json({method:`OPTIONS`,...e?{credentials:`include`}:{}})}async function on(e){let t=e.guarded&&b(z)!==null,n=await M.resource(e.path).json({method:e.verb,...e.body===void 0?{}:{body:e.body},...t?{credentials:`include`}:{}});if(n instanceof Error){let e=n.code;return{status:typeof e==`number`?e:0,body:n.cause??n.message,ok:!1}}return{status:(typeof n==`object`&&n?le(n):null)?.status??200,body:n,ok:!0}}var sn=I({get:an,persist:`discovery:tree`,bind:R}),cn=I({persist:`discovery:server`}),ln={"en-US":{native:`English`,locale:`en-US`,dir:`ltr`,nav:{identity:`Copy your account id`,markdown:`Download as Markdown`,mcp:`Copy the MCP address`,configuration:`Open Configuration`,introspection:`Open Introspection`,signin:`Sign in`,signout:`Sign out`,filter:`Filter resources`,back:`Back`}}},un=[`en-US`];function dn(e){return un.some(t=>t.startsWith(e))}function Z(e){return un.find(t=>t.startsWith(e))??`en-US`}var Q=l((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.format=o,e.parse=s;var t=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,n=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,r=/[\\"]/g,i=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,a=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function o(e){let{type:t,parameters:r}=e;if(!t||!i.test(t))throw TypeError(`Invalid type: ${t}`);let a=t;if(r)for(let e of Object.keys(r)){if(!n.test(e))throw TypeError(`Invalid parameter name: ${e}`);a+=`; ${e}=${y(r[e])}`}return a}function s(e,t){let n=t?.comma===!0?m:65536,r=e.length,i=_(e,t?.start??0,r),o=i;i=g(e,i,r,n);let s=v(e,o,i),c=e.slice(o,s).toLowerCase();return t?.parameters===!1?{type:c,index:i,parameters:new a}:h(e,c,i,r,n)}var c=32,l=9,u=59,d=61,f=34,p=92,m=44;function h(e,t,n,r,i){let o=new a;parameter:for(;n<r&&e.charCodeAt(n)!==i;){n=_(e,n+1,r);let t=n;for(;n<r;){let a=e.charCodeAt(n);if(a===i)break parameter;if(a===u)continue parameter;if(a===d){let a=v(e,t,n),s=e.slice(t,a).toLowerCase();if(n=_(e,n+1,r),n<r&&e.charCodeAt(n)===f){n++;let t=``;for(;n<r;){let a=e.charCodeAt(n++);if(a===f){n=g(e,n,r,i),o[s]===void 0&&(o[s]=t);break}if(a===p&&n<r){t+=e[n++];continue}t+=String.fromCharCode(a)}continue parameter}let c=n;if(n=g(e,n,r,i),o[s]===void 0){let t=v(e,c,n);o[s]=e.slice(c,t)}continue parameter}n++}}return{type:t,index:n,parameters:o}}function g(e,t,n,r){for(;t<n;){let n=e.charCodeAt(t);if(n===u||n===r)break;t++}return t}function _(e,t,n){for(;t<n;){let n=e.charCodeAt(t);if(n!==c&&n!==l)break;t++}return t}function v(e,t,n){for(;n>t;){let t=e.charCodeAt(n-1);if(t!==c&&t!==l)break;n--}return n}function y(e){if(n.test(e))return e;if(t.test(e))return`"${e.replace(r,`\\$&`)}"`;throw TypeError(`Invalid parameter value: ${e}`)}})),$=l(((e,t)=>{var n=Q();t.exports=r;function r(e){for(var t=[],r=0;r<e.length;){var a=i(e,r),o=n.parse(e,{comma:!0,start:a});o.type=e.slice(a,a+o.type.length),t.push(o),r=o.index+1}return t}function i(e,t){for(var n=t;e.charCodeAt(n)===32||e.charCodeAt(n)===9;)n++;return n}})),fn=l(((e,t)=>{var n=$();t.exports=s,t.exports.preferredCharsets=s;function r(e){for(var t=n(e),r=0,a=0;r<t.length;r++){var o=i(t[r],r);o&&(t[a++]=o)}return t.length=a,t}function i(e,t){return e.type?{charset:e.type,q:e.parameters.q?parseFloat(e.parameters.q):1,i:t}:null}function a(e,t,n){for(var r={o:-1,q:0,s:0},i=0;i<t.length;i++){var a=o(e,t[i],n);a&&(r.s-a.s||r.q-a.q||r.o-a.o)<0&&(r=a)}return r}function o(e,t,n){var r=0;if(t.charset.toLowerCase()===e.toLowerCase())r|=1;else if(t.charset!==`*`)return null;return{i:n,o:t.i,q:t.q,s:r}}function s(e,t){var n=r(e===void 0?`*`:e||``);if(!t)return n.filter(u).sort(c).map(l);var i=t.map(function(e,t){return a(e,n,t)});return i.filter(u).sort(c).map(function(e){return t[i.indexOf(e)]})}function c(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function l(e){return e.charset}function u(e){return e.q>0}})),pn=l(((e,t)=>{var n=$();t.exports=s,t.exports.preferredEncodings=s;function r(e){for(var t=n(e),r=!1,a=1,s=0,c=0;s<t.length;s++){var l=i(t[s],s);l&&(t[c++]=l,r||=o(`identity`,l),a=Math.min(a,l.q||1))}return r||(t[c++]={encoding:`identity`,q:a,i:s}),t.length=c,t}function i(e,t){return e.type?{encoding:e.type,q:e.parameters.q?parseFloat(e.parameters.q):1,i:t}:null}function a(e,t,n){for(var r={encoding:e,o:-1,q:0,s:0},i=0;i<t.length;i++){var a=o(e,t[i],n);a&&(r.s-a.s||r.q-a.q||r.o-a.o)<0&&(r=a)}return r}function o(e,t,n){var r=0;if(t.encoding.toLowerCase()===e.toLowerCase())r|=1;else if(t.encoding!==`*`)return null;return{encoding:e,i:n,o:t.i,q:t.q,s:r}}function s(e,t,n){var i=r(e||``),o=n?function(e,t){if(e.q!==t.q)return t.q-e.q;var r=n.indexOf(e.encoding),i=n.indexOf(t.encoding);return r===-1&&i===-1?t.s-e.s||e.o-t.o||e.i-t.i:r!==-1&&i!==-1?r-i:r===-1?1:-1}:c;if(!t)return i.filter(u).sort(o).map(l);var s=t.map(function(e,t){return a(e,i,t)});return s.filter(u).sort(o).map(function(e){return t[s.indexOf(e)]})}function c(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i}function l(e){return e.encoding}function u(e){return e.q>0}})),mn=l(((e,t)=>{var n=Q(),r=$();t.exports=c,t.exports.preferredLanguages=c;function i(e){for(var t=r(e),n=0,i=0;n<t.length;n++){var o=a(t[n],n);o&&(t[i++]=o)}return t.length=i,t}function a(e,t){if(!e.type)return null;var n=e.type.indexOf(`-`);return{prefix:n===-1?e.type:e.type.slice(0,n),suffix:n===-1?void 0:e.type.slice(n+1),q:e.parameters.q?parseFloat(e.parameters.q):1,i:t,full:e.type}}function o(e,t,n){for(var r={o:-1,q:0,s:0},i=0;i<t.length;i++){var a=s(e,t[i],n);a&&(r.s-a.s||r.q-a.q||r.o-a.o)<0&&(r=a)}return r}function s(e,t,r){var i=a(n.parse(e),0);if(!i)return null;var o=0;if(t.full.toLowerCase()===i.full.toLowerCase())o|=4;else if(t.prefix.toLowerCase()===i.full.toLowerCase())o|=2;else if(t.full.toLowerCase()===i.prefix.toLowerCase())o|=1;else if(t.full!==`*`)return null;return{i:r,o:t.i,q:t.q,s:o}}function c(e,t){var n=i(e===void 0?`*`:e||``);if(!t)return n.filter(d).sort(l).map(u);var r=t.map(function(e,t){return o(e,n,t)});return r.filter(d).sort(l).map(function(e){return t[r.indexOf(e)]})}function l(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function u(e){return e.full}function d(e){return e.q>0}})),hn=l(((e,t)=>{var n=Q(),r=$();t.exports=c,t.exports.preferredMediaTypes=c;function i(e){for(var t=r(e),n=0,i=0;n<t.length;n++){var o=a(t[n],n);o&&(t[i++]=o)}return t.length=i,t}function a(e,t){var n=e.type.indexOf(`/`);if(n===-1)return null;var r=e.parameters.q?parseFloat(e.parameters.q):1;return delete e.parameters.q,{type:e.type.slice(0,n),subtype:e.type.slice(n+1),params:e.parameters,q:r,i:t}}function o(e,t,n){for(var r={o:-1,q:0,s:0},i=0;i<t.length;i++){var a=s(e,t[i],n);a&&(r.s-a.s||r.q-a.q||r.o-a.o)<0&&(r=a)}return r}function s(e,t,r){var i=a(n.parse(e),0),o=0;if(!i)return null;if(t.type.toLowerCase()==i.type.toLowerCase())o|=4;else if(t.type!=`*`)return null;if(t.subtype.toLowerCase()==i.subtype.toLowerCase())o|=2;else if(t.subtype!=`*`)return null;var s=Object.keys(t.params);if(s.length>0){if(s.every(function(e){return t.params[e]==`*`||(t.params[e]||``).toLowerCase()==(i.params[e]||``).toLowerCase()}))o|=1;else return null}return{i:r,o:t.i,q:t.q,s:o}}function c(e,t){var n=i(e===void 0?`*/*`:e||``);if(!t)return n.filter(d).sort(l).map(u);var r=t.map(function(e,t){return o(e,n,t)});return r.filter(d).sort(l).map(function(e){return t[r.indexOf(e)]})}function l(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function u(e){return e.type+`/`+e.subtype}function d(e){return e.q>0}}));l(((e,t)=>{var n=fn(),r=pn(),i=mn(),a=hn();t.exports=o,t.exports.Negotiator=o;function o(e){if(!(this instanceof o))return new o(e);this.request=e}o.prototype.charset=function(e){var t=this.charsets(e);return t&&t[0]},o.prototype.charsets=function(e){return n(this.request.headers[`accept-charset`],e)},o.prototype.encoding=function(e,t){var n=this.encodings(e,t);return n&&n[0]},o.prototype.encodings=function(e,t){var n=t||{};return r(this.request.headers[`accept-encoding`],e,n.preferred)},o.prototype.language=function(e){var t=this.languages(e);return t&&t[0]},o.prototype.languages=function(e){return i(this.request.headers[`accept-language`],e)},o.prototype.mediaType=function(e){var t=this.mediaTypes(e);return t&&t[0]},o.prototype.mediaTypes=function(e){return a(this.request.headers.accept,e)},o.prototype.preferredCharset=o.prototype.charset,o.prototype.preferredCharsets=o.prototype.charsets,o.prototype.preferredEncoding=o.prototype.encoding,o.prototype.preferredEncodings=o.prototype.encodings,o.prototype.preferredLanguage=o.prototype.language,o.prototype.preferredLanguages=o.prototype.languages,o.prototype.preferredMediaType=o.prototype.mediaType,o.prototype.preferredMediaTypes=o.prototype.mediaTypes}))();var gn=`en-US`,_n=I({persist:`intl:selected`}),vn=x([R,_n],([e,t])=>t?Z(t):yn()||(e?.locale!==void 0&&dn(e.locale)?Z(e.locale):gn));x(R,e=>e?.grammar??`none`);function yn(){if(typeof navigator<`u`){for(let e of navigator.languages)if(dn(e))return Z(e)}return null}var bn=x(vn,e=>ln[e]);export{Ne as A,be as B,B as C,L as D,at as E,Ie as F,j as H,Ee as I,Te as L,Pe as M,Fe as N,He as O,Le as P,M as R,ut as S,lt as T,le as U,_e as V,Ct as _,on as a,dt as b,tn as c,Lt as d,zt as f,kt as g,Nt as h,sn as i,Re as j,Ve as k,en as l,Pt as m,vn as n,an as o,It as p,cn as r,nn as s,bn as t,Rt as u,K as v,V as w,z as x,R as y,xe as z};
6
+ `+t,i=l+=2;u=n,r=u.indexOf(t)}d.length&&(yield d)}}finally{d.length&&(yield d),await s.cancel()}}(e.body,`--${i}`,t)}var se=Object.defineProperty,ce=(e,t)=>{for(var n in t)se(e,n,{get:t[n],enumerable:!0})},A=Symbol(`meta`);function le(e){return e[A]??null}function ue(e,t){Object.defineProperty(e,A,{value:t,writable:!1,enumerable:!1,configurable:!1})}var de=class{origin;events;sleep;fetch=fetch.bind(globalThis);challenge=null;constructor(e){this.origin=e.origin,this.events=e.events,e.sleep!==void 0&&(this.sleep=JSON.stringify(e.sleep))}async json(e,t){let n=this.setup(t),r=await this.request(e,n),i=r.headers.get(`content-type`)===`application/json`?await r.json():await r.text();return typeof i==`object`&&i&&ue(i,{status:r.status,headers:r.headers}),r.ok?(this.events.emit(`response`,{status:r.status,headers:r.headers}),i):(this.events.emit(`error`,{code:r.status,body:i}),new k.Err(r.status,i))}async multipart(e,t){let n=this.setup(t),r=await this.request(e,n);if(!r.ok)return new k.Err(r.status,{body:await r.text()});let i=await oe(r),a=await i.next();if(n.debug&&console.debug(`Multipart ACK`,{path:e,body:a.value.body}),JSON.parse(a.value.body)!==`ACK`)throw Error(`No ACK`);return(async function*(){for await(let t of i){n.debug&&console.debug(`Multipart chunk`,{path:e,body:t.body});let r=JSON.parse(t.body);if(r===`FIN`)return;yield r}})()}async octets(e,t){let n=await this.multipart(e,t);if(n instanceof Error)return n;let r=(await n.next()).value,i=O();return(async()=>{await new Promise(e=>setTimeout(e,0));for await(let r of n){let n=r.status===`completed`?r.error?new k.Err(r.error.code??`UNKNOWN`,r.error.message):r.output:new k.Err(`EXCEPTION`);t?.debug&&console.debug(`Emitting octets step`,{path:e,step:r.step,payload:n}),i.emit(r.step,n)}i.off(`*`)})(),[r,i]}authenticate(e){this.challenge=e}use(e){this.fetch=e}setup(e){if(e??={},e.headers??={},e.headers.accept??=`application/json`,this.sleep!==void 0&&(e.headers.sleep=this.sleep),e.credentials===`include`&&e.headers.authorization===void 0){if(this.challenge===null)throw Error(`Credentials must be set before sending authenticated request`);e.headers.authorization=this.challenge,delete e.credentials}return e.body!==void 0&&(e.method??=`POST`,e.body instanceof File||e.body instanceof ReadableStream?(e.duplex=`half`,e.headers[`content-type`]??=e.body.type??`application/octet-stream`):(e.body=JSON.stringify(e.body),e.headers[`content-type`]??=`application/json`)),e}async request(e,t){let n=new URL(e,this.origin),r=await this.fetch(n.href,t),i=r.headers.get(`authorization`);return i!==null&&(this.challenge=i,this.events.emit(`challenge`,i)),r}},fe=class{agent;path;init;constructor(e){this.agent=e.agent,this.path=e.path,this.init=e.init}async json(e,t){return await this.request(`json`,e,t)}async octets(e,t){return await this.request(`octets`,e,t)}async multipart(e,t){return await this.request(`multipart`,e,t)}async request(e,t,n){let r=typeof t==`string`?t:``;n=typeof t==`string`?n:t;let i=this.abs(r),a=Object.assign({},this.init,n);if(e===`json`)return await this.agent.json(i,a);if(e===`octets`)return await this.agent.octets(i,a);if(e===`multipart`)return await this.agent.multipart(i,a);throw Error(`Invalid method: ${e}`)}abs(e){let t=new URL(this.path,`https://void`),n=new URL(e,t);return n.pathname.endsWith(`/`)||(n.pathname+=`/`),n.pathname+n.search}},pe=class{events;agent;constructor(e){this.events=O(),this.agent=new de({origin:e.origin,events:this.events,sleep:e.sleep})}resource(e,t){return new fe({agent:this.agent,path:e,init:t})}authenticate(e){this.agent.authenticate(e)}use(e){this.agent.use(e)}};function me(e){return typeof e==`string`&&(e={origin:e}),new pe(e)}ce({},{format:()=>ge,test:()=>he});function he(e){return/^[[(]\d+\.\.\d+[\])]{1}$/.test(e)}function ge(e,t){let[n,r]=t.slice(1,-1).split(`..`);return[`${e}${t.startsWith(`(`)?`>`:`>=`}${n}`,`${e}${t.endsWith(`)`)?`<`:`<=`}${r}`]}var _e={title:`Discovery`,description:`What a Toa application serves`},j=typeof window>`u`?``:window.location.origin,ve=8002,ye=8003,be=Se(ve,`/.introspection/`),xe=Se(ye,`/.configuration/`);function Se(e,t){if(typeof window>`u`)return t;let{protocol:n,hostname:r}=window.location;return(Ce(r)?`${n}//${r}:${e}`:``)+t}function Ce(e){return e===`localhost`||e===`127.0.0.1`||e===`[::1]`||e.startsWith(`192.168.`)||e.startsWith(`172.16.`)||e.startsWith(`10.`)}var we=`1`;(()=>{let e=new Date(Number.parseInt(ae)),t=e.getFullYear(),n=new Date(t,0,1).getTime(),r=new Date(t+1,0,1).getTime();return`${we}.${(t+(e.getTime()-n)/(r-n)).toFixed(4)}`})();var M=me({origin:j,sleep:void 0});console.info(`Origin connected`,j,`no sleep`);function Te(e){if(document.startViewTransition===void 0)return Promise.resolve(e?.());let t=e!==void 0;return t&&je(),new Promise(n=>{let r=document.startViewTransition(async()=>{De(),n(await e?.())});r.finished.then(i,i),r.ready.catch(N);function i(){t&&Me(),F()}})}function N(){}function Ee(e){if(!(e.type===`popstate`&&e.event.hasUAVisualTransition)&&document.startViewTransition!==void 0)return new Promise(t=>{let n=document.startViewTransition({types:[`route`],update:async()=>{De(),t(),await e.complete}});n.finished.then(F,F),n.ready.catch(N)})}var P=null;function De(){if(P===null)return;let e=P.el.style.viewTransitionName===P.name;P.el.style.viewTransitionName=e?``:P.name,P.el.style.viewTransitionClass=e?``:P.classes??``}function F(){P!==null&&P.el.style.viewTransitionName===P.name&&(Oe(P),P=null)}function Oe(e){e.el.style.viewTransitionName=``,e.el.style.viewTransitionClass=``}var ke=E(!1),Ae=new Set;function je(){ke.set(!0);for(let e of Ae)e.original={name:e.node.style.viewTransitionName,classes:e.node.style.viewTransitionClass},e.node.style.viewTransitionName=e.options.name,e.options.classes!==void 0&&(e.node.style.viewTransitionClass=e.options.classes)}function Me(){for(let e of Ae)e.original!==void 0&&(e.node.style.viewTransitionName=e.original.name,e.node.style.viewTransitionClass=e.original.classes);ke.set(!1)}navigator.userAgent.toLowerCase().includes(`windows`);var Ne=/mac ?os|ios|ipad ?os/i.test(navigator.userAgentData?.platform??``)||/(Mac|iPhone|iPad|iPod)/.test(navigator.userAgent);/android/i.test(navigator.userAgent);var Pe=/(iPhone|iPad|iPod)/.test(navigator.userAgent),Fe=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);`ontouchstart`in window;var Ie=window.matchMedia(`(display-mode: standalone)`).matches,Le=/PWAShell/i.test(navigator.userAgent);navigator.userAgent.match(/PWAShell\/(\S+)/)?.[1];var Re=!(`ontouchstart`in window);[`en-US`,`en-LR`,`en-MM`].includes(navigator.language),[`en-US`,`en-GB`,`en-CA`,`en-AU`,`en-NZ`,`en-IE`,`en-IN`,`en-LR`,`en-MM`].includes(navigator.language);function ze(e=navigator.userAgent){return[/FBAN|FBAV|FB_IAB/i,/Instagram/i,/Twitter/i,/Line/i,/LinkedIn/i,/Snapchat/i,/WhatsApp/i,/WeChat/i,/Messenger/i,/QQ/i,/Reddit/i,/Puffin/i,/TikTok/i,/musical.ly/i,/YouTube/i,/Pinterest/i,/Discord/i,/Telegram/i,/Viber/i,/Slack/i,/Signal/i,/KakaoTalk/i,/Baidu/i].some(t=>t.test(e))||(()=>{let t=RegExp(`(${[`WebView`,`(iPhone|iPod|iPad)(?!.*Safari/)`,`Android.*(wv)`,`(AppleWebKit)(?!.*Safari)`].join(`|`)})`,`ig`);return e.match(t)!==null})()||`TelegramWebviewProxy`in window||`TelegramWebviewProxyProto`in window||`TelegramWebview`in window}ze(navigator.userAgent);var Be=new URLSearchParams;new URLSearchParams;function Ve(e){return Be.get(e)}function He(e,t=24){return p(e,n=>{let r=Date.now(),i=setInterval(()=>a(),1e3/t);function a(){let t=e-(Date.now()-r);t>0?n(t):(n(0),clearInterval(i))}return a(),()=>clearInterval(i)})}var Ue=class{store;values;request;revalidate;stale;timestamp=0;constructor(e){this.store=E(null),this.values=e.values,this.request=e.get,this.revalidate=e.revalidate??Ge.revalidate,this.stale=e.stale??Ge.stale,e.persist!==void 0&&this.persist(e.persist),e.bind!==void 0&&this.bind(e.bind)}subscribe(e,t){return this.sync(),this.store.subscribe(e,t)}add(e){this.values?.set(e.id,e),this.store.update(t=>t===null||t instanceof Error?[e]:t.find(t=>t.id===e.id)===void 0?[e,...t]:t)}get(e,t){if(this.values===void 0)throw Error(`Collection: values is not defined`);return this.values.get(e,t)}extract(e){if(this.values===void 0)throw Error(`Collection: values is not defined`);return this.values.extract(e)}delete(e){this.values?.delete(e),this.store.update(t=>t===null||t instanceof Error?t:t.filter(t=>t.id!==e))}set(e,t){this.store.update(n=>{if(n===null||n instanceof Error)return[e];let r=n.findIndex(t=>t.id===e.id);return r===-1?t?.add===!0?[e,...n]:n:(n[r]=e,n)}),this.values?.set(e.id,e)}update(e,t,n){if(this.values===void 0)throw Error(`Collection: values is not defined`);let r=this.values.extract(e);if(r===null)return;let i=t(r)??r;this.set(i,n)}sync(){return(this.timestamp===0||this.timestamp+this.revalidate<Date.now())&&(this.stale||this.clear(),this.refresh()),this}async fetch(){return await this.refresh(),this}replace(e){let t=e;if(this.store.set(t),this.timestamp=Date.now(),this.values!==void 0)for(let e of t)this.values.set(e.id,e)}async refresh(){if(this.request===void 0)return;this.timestamp=Date.now();let e=await this.request();e instanceof Error?this.store.set(e):this.replace(e)}persist(e){if(typeof window>`u`)return;let t=this.load(e);if(t!==null&&(this.store.set(t),this.values?.persistent===!1))for(let e of t)this.values.set(e.id,e);this.store.subscribe(t=>{t instanceof Error||(t===null?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify(t)))})}load(e){if(typeof window>`u`)return null;let t=localStorage.getItem(e);if(t===null)return null;try{let n=JSON.parse(t);return Array.isArray(n)?n:(console.error(`Storage value for ${e} is not an array:`,n),null)}catch(t){return console.error(`Invalid storage value for ${e}`,t),null}}bind(e){e.subscribe(e=>{e===null&&this.clear()})}clear(){this.store.set(null),this.values?.clear(),this.timestamp=0}};function We(e){return new Ue(e)}var Ge={revalidate:3e5,stale:!1},Ke=class{store;default;request;revalidate;timestamp=0;constructor(e){this.default=e.default??null,this.request=e.get,this.revalidate=e.revalidate??Ye.revalidate,this.store=e.persist===void 0||typeof window>`u`?E(this.default):qe(e.persist,this.default,e.session),e.bind&&this.bind(e.bind)}set(e){this.store.set(e)}update(e){this.store.update(t=>e(t))}subscribe(e,t){return this.sync(),this.store.subscribe(e,t)}extract(){return b(this.store)}sync(){this.request!==void 0&&this.timestamp+this.revalidate<Date.now()&&this.refresh()}async refresh(){if(this.request===void 0)return;this.timestamp=Date.now();let e=await this.request();e instanceof Error||this.set(e)}bind(e){e.subscribe(e=>{e===null&&this.store.set(this.default)})}};function I(e={}){return new Ke(e)}function qe(e,t,n){let r=E(Je(e)??t),i=n?`sessionStorage`:`localStorage`;return r.subscribe(t=>{t===null?window[i].removeItem(e):window[i].setItem(e,JSON.stringify(t))}),r}function Je(e){let t=window.localStorage.getItem(e);if(t===null)return null;try{return JSON.parse(t)}catch(t){return console.error(`Invalid storage value for ${e}`,t),null}}var Ye={revalidate:3e5};function Xe(e,t){return new Promise(n=>{let r=!1,i=null;i=e.subscribe(e=>{t(e)&&(i?.(),r=!0,n(e))}),r&&i?.()})}function Ze(e){return Xe(e,e=>e!==null&&!(e instanceof Error))}var Qe={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},$e=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},et=Symbol(`lucide-context`),tt=()=>h(et),nt=new Set([`$$slots`,`$$events`,`$$legacy`,`name`,`color`,`size`,`strokeWidth`,`absoluteStrokeWidth`,`iconNode`,`children`]),rt=u(`<svg><!><!></svg>`);function L(a,o){i(o,!0);let s=tt()??{},c=S(o,`color`,19,()=>s.color??`currentColor`),l=S(o,`size`,19,()=>s.size??24),u=S(o,`strokeWidth`,19,()=>s.strokeWidth??2),p=S(o,`absoluteStrokeWidth`,19,()=>s.absoluteStrokeWidth??!1),h=S(o,`iconNode`,19,()=>[]),_=m(o,nt),y=te(()=>p()?Number(u())*24/Number(l()):u());var b=rt();g(b,e=>({...Qe,...e,..._,width:l(),height:l(),stroke:c(),"stroke-width":f(y),class:[`lucide-icon lucide`,s.class,o.name&&`lucide-${o.name}`,o.class]}),[()=>!o.children&&!$e(_)&&{"aria-hidden":`true`}]);var x=e(b);r(x,17,h,re,(e,n)=>{var r=te(()=>ee(f(n),2));let i=()=>f(r)[0],a=()=>f(r)[1];var o=C(),s=v(o);ie(s,i,!0,(e,t)=>{g(e,()=>({...a()}))}),t(e,o)});var T=ne(x);D(T,()=>o.children??n),w(b),t(a,b),d()}var it=new Set([`$$slots`,`$$events`,`$$legacy`]);function at(e,t){let n=m(t,it),r=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]];L(e,T({name:`loader-circle`},()=>n,{get iconNode(){return r}}))}var ot=new Set([`$$slots`,`$$events`,`$$legacy`]);function st(e,t){let n=m(t,ot),r=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}]];L(e,T({name:`rotate-ccw`},()=>n,{get iconNode(){return r}}))}var ct=c(`<div class="m-auto flex flex-col items-center gap-4"><span class="text-destructive">Something went terribly wrong</span> <button class="p-4 border border-muted-foreground hover:bg-muted cursor-pointer rounded-md flex items-center gap-2"><!></button></div>`);function lt(n,r){let i=()=>y(r.store,`$store`,o),[o,c]=_(),l=S(r,`silent`,3,!1);var u=C(),d=v(u),f=e=>{var n=C(),i=v(n),o=e=>{var n=C(),i=v(n);D(i,()=>r.waiting),t(e,n)},s=e=>{at(e,{class:`animate-spin m-auto text-muted-foreground`})};a(i,e=>{r.waiting?e(o):l()||e(s,1)}),t(e,n)},p=n=>{var o=C(),c=v(o),u=e=>{var n=C(),a=v(n);D(a,()=>r.error,i),t(e,n)},d=n=>{var r=ct(),i=ne(e(r),2);st(e(i),{size:16}),w(i),w(r),s(`click`,i,()=>window.location.reload()),t(n,r)};a(c,e=>{r.error?e(u):l()||e(d,1)}),t(n,o)},m=e=>{var n=C(),a=v(n);D(a,()=>r.awaited,i),t(e,n)};a(d,e=>{i()===null?e(f):i()instanceof Error?e(p,1):e(m,-1)}),t(n,u),c()}o([`click`]);var R=I({persist:`auth:account`}),z=I({persist:`auth:challenge`,bind:R}),B=I({persist:`auth:method`}),V=E(!1),ut=E(!1),dt=x([z,R,V],([e,t,n])=>e!==null&&t!==null&&n===!1);function H(e){R.extract()?.id!==e.id&&R.set(null),R.set(e)}var ft=M.resource(`/accounts/echo/`);async function U(e){let t={method:`GET`};return e!==void 0&&(t.headers={authorization:e},t.credentials=`include`),ft.json(t)}var pt=M.resource(`/identity/basic/`,{credentials:`include`});async function mt(e,t){return await pt.json(e,{method:`POST`,body:t})}var W=M.resource(`/accounts/otp/`);async function G(e,t){return typeof e==`string`?await W.json(e,{method:`POST`,body:t,credentials:`include`}):await W.json({method:`POST`,body:e})}var ht=M.resource(`/accounts/passkeys/`);async function gt(e,t){return typeof e==`string`?await ht.json(e,{method:`POST`,body:t,credentials:`include`}):await ht.json({method:`POST`,body:e})}var _t=M.resource(`/identity/federation/`,{credentials:`include`});async function vt(e,t){return await _t.json(e,{method:`POST`,body:t})}async function K(){let e=z.extract();if(e===null)return;let t=await U(e);if(t instanceof Error)return t;H(t)}function q(e,t){return e instanceof Error?e:(H(e),B.set(t),e)}var yt=I({persist:`auth:oidc:nonce`});function bt(e,t){let{client:n,endpoint:r,type:i,scope:a}=e;if(n===void 0||n===``)throw Error(`Client ID is required`);let o=xt(),s=new URLSearchParams({client_id:n,redirect_uri:window.location.origin+`/`,response_type:i,response_mode:`fragment`,scope:a,state:btoa(JSON.stringify({idp:t})),nonce:o});yt.set(o),window.location.href=r+`?`+s}function xt(){return window.crypto?.randomUUID?.()??Math.random().toString(16).slice(2)}var St=globalThis.__sveltekit_166488k.env,Ct={apple:{iss:`https://appleid.apple.com`,endpoint:`https://appleid.apple.com/auth/authorize`,type:`code`,scope:`openid`,client:St.PUBLIC_APPLE_CLIENT_ID},google:{iss:`https://accounts.google.com`,endpoint:`https://accounts.google.com/o/oauth2/v2/auth`,type:`id_token`,scope:`openid profile`,client:St.PUBLIC_GOOGLE_CLIENT_ID}};async function wt(e){await Tt();let t=await new Promise(t=>{window.google.accounts.oauth2.initCodeClient({client_id:e.client,scope:e.scope,ux_mode:`popup`,state:btoa(JSON.stringify({idp:`google`})),redirect_uri:window.location.origin+`/`,callback:async e=>{t(e)}}).requestCode()});return t?.code===void 0?Error(`NO_RESPONSE`,{cause:t}):t.code}function Tt(){return new Promise((e,t)=>{if(window.google?.accounts?.oauth2!==void 0)return e(void 0);let n=document.createElement(`script`);n.src=`https://accounts.google.com/gsi/client`,n.async=!0,n.onload=()=>e(void 0),n.onerror=t,document.head.appendChild(n)})}var J=typeof window<`u`&&window;async function Et(e){await Dt(e);let t=await J.AppleID.auth.signIn().catch(e=>e);return t instanceof Error?t:t?.authorization===void 0?Error(`No authentication response received`,{cause:t}):t.authorization.code}function Dt(e){if(J.AppleID===void 0)return new Promise((t,n)=>{let r=document.createElement(`script`);r.src=`https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js`,r.async=!0,r.onload=()=>{J.AppleID.auth.init({clientId:e.client,scope:e.scope,redirectURI:window.location.origin,state:btoa(JSON.stringify({idp:`apple`})),usePopup:!0}),t(void 0)},r.onerror=n,document.head.appendChild(r)})}var Ot={apple:Et,google:wt};async function kt(e,t){let n=await At(e);return n instanceof Error?n:t===void 0?Mt(e,n):jt(t,n)}async function At(e){let t=Ot[e]??bt,n=Ct[e],r=await t(n,e);if(r instanceof Error)return console.error(`Authentication failed`,r),r;if(r===void 0)throw Error(`No authentication code received, redirect flow is not supported`);let i={code:r,iss:n.iss,for:window.location.origin};return btoa(JSON.stringify(i))}async function jt(e,t){let n=await vt(e,{scheme:`code`,credentials:t});if(n instanceof Error)return n;K()}async function Mt(e,t){return q(await U(`Code `+t),e)}function Nt(){R.set(null)}async function Pt(e,t){return q(await U(`Basic `+btoa(`${e}:${t}`)),`password`)}async function Ft(e,t){return await mt(e,t)}async function It(e,t){let n=await Ft(e,t);if(n instanceof Error)return n;K()}async function Lt(e){return G({email:e})}async function Rt(e,t){return await G(e,{email:t})}async function zt(e,t){return q(await U(`OTP `+btoa(`${e}:${t}`)),`password`)}var Bt=M.resource(`/identity/passkeys/challenges/`);async function Vt(e,t){let n={type:e};return t===void 0?await Bt.json(`.`,{method:`POST`,body:n}):await Bt.json(t,{method:`POST`,body:n})}var Ht=M.resource(`/identity/passkeys/`);async function Ut(e){return await Ht.json(e,{credentials:`include`})}async function Wt(){return await Ut((await Ze(R)).id)}We({get:Wt,persist:`identity:passkeys`,bind:R,stale:!0});function Y(e){let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r.buffer}function Gt(e){return new TextEncoder().encode(e).buffer}function X(e){return btoa(String.fromCharCode(...new Uint8Array(e))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function Kt({id:e,transports:t}){return{id:Y(e),type:`public-key`,transports:t}}async function qt(e,t){let n={challenge:Y(t.challenge),timeout:t.timeout,authenticatorSelection:t.authenticatorSelection,pubKeyCredParams:t.pubKeyCredParams,rp:{name:`app`},user:{id:Gt(e.id),name:e.name,displayName:e.name},excludeCredentials:t.excludeCredentials.map(Kt)};return await navigator.credentials.create({publicKey:n}).catch(e=>e)}async function Jt(e){let t={timeout:e.timeout,challenge:Y(e.challenge),allowCredentials:e.allowCredentials.map(Kt),userVerification:e.userVerification};return await navigator.credentials.get({publicKey:t})}async function Yt(e,t){let n=await Vt(`creation`,t);if(n instanceof Error)return n;let r=await qt({id:n.identity,name:e},n);if(r instanceof Error)return r;if(r===null)throw Error(`No credential is created`);return{key:Xt(r,e),identity:n.identity}}function Xt(e,t){let n=e.response,r=n.getAuthenticatorData(),i=n.getTransports(),a=n.getPublicKeyAlgorithm(),o=n.getPublicKey(),s=e.getClientExtensionResults();if(o===null)throw Error(`No public key is created`);return{id:e.id,type:e.type,response:{attestationObject:X(n.attestationObject),clientDataJSON:X(n.clientDataJSON),authenticatorData:X(r),transports:i,publicKeyAlgorithm:a,publicKey:X(o)},authenticatorAttachment:e.authenticatorAttachment,clientExtensionResults:s,label:t}}async function Zt(e){let t=await Vt(`request`,e);if(t instanceof Error)return t;let n=Date.now(),r=await Jt(t).catch(e=>e);return r instanceof Error?r.name===`NotAllowedError`&&Date.now()-n<50?new $t:r:r===null?Error(`No credential given`):Qt(r)}function Qt(e){let t=e.response;return{id:e.id,type:e.type,response:{authenticatorData:X(t.authenticatorData),clientDataJSON:X(t.clientDataJSON),signature:X(t.signature),userHandle:t.userHandle===null?null:X(t.userHandle)},authenticatorAttachment:e.authenticatorAttachment,clientExtensionResults:e.getClientExtensionResults()}}var $t=class extends Error{constructor(){super(),this.name=this.constructor.name}},en=typeof window>`u`||window.PublicKeyCredential!==void 0;async function tn(e,t){let n=await Yt(e,t);if(n instanceof Error)return console.error(`Credential creation failed`,n),n;let r=await gt(n.identity,n.key);return r instanceof Error&&console.error(`Credential registration failed`,r),q(r,`passkey`)}async function nn(e){let t=await Zt(e);if(t instanceof Error)return console.error(`Credential request failed`,t),t;let n=await gt(t);return n instanceof Error&&console.error(`Credential verification failed`,n),q(n,`passkey`)}var rn=M.resource(`/.discovery`);async function an(){let e=b(z)!==null;return await rn.json({method:`OPTIONS`,...e?{credentials:`include`}:{}})}async function on(e){let t=e.guarded&&b(z)!==null,n=await M.resource(e.path).json({method:e.verb,...e.body===void 0?{}:{body:e.body},...t?{credentials:`include`}:{}});if(n instanceof Error){let e=n.code;return{status:typeof e==`number`?e:0,body:n.cause??n.message,ok:!1}}return{status:(typeof n==`object`&&n?le(n):null)?.status??200,body:n,ok:!0}}var sn=I({get:an,persist:`discovery:tree`,bind:R}),cn=I({persist:`discovery:server`}),ln={"en-US":{native:`English`,locale:`en-US`,dir:`ltr`,nav:{identity:`Copy your account id`,markdown:`Download as Markdown`,mcp:`Copy the MCP address`,configuration:`Open Configuration`,introspection:`Open Introspection`,signin:`Sign in`,signout:`Sign out`,filter:`Filter resources`,back:`Back`}}},un=[`en-US`];function dn(e){return un.some(t=>t.startsWith(e))}function Z(e){return un.find(t=>t.startsWith(e))??`en-US`}var Q=l((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.format=o,e.parse=s;var t=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,n=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,r=/[\\"]/g,i=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,a=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function o(e){let{type:t,parameters:r}=e;if(!t||!i.test(t))throw TypeError(`Invalid type: ${t}`);let a=t;if(r)for(let e of Object.keys(r)){if(!n.test(e))throw TypeError(`Invalid parameter name: ${e}`);a+=`; ${e}=${y(r[e])}`}return a}function s(e,t){let n=t?.comma===!0?m:65536,r=e.length,i=_(e,t?.start??0,r),o=i;i=g(e,i,r,n);let s=v(e,o,i),c=e.slice(o,s).toLowerCase();return t?.parameters===!1?{type:c,index:i,parameters:new a}:h(e,c,i,r,n)}var c=32,l=9,u=59,d=61,f=34,p=92,m=44;function h(e,t,n,r,i){let o=new a;parameter:for(;n<r&&e.charCodeAt(n)!==i;){n=_(e,n+1,r);let t=n;for(;n<r;){let a=e.charCodeAt(n);if(a===i)break parameter;if(a===u)continue parameter;if(a===d){let a=v(e,t,n),s=e.slice(t,a).toLowerCase();if(n=_(e,n+1,r),n<r&&e.charCodeAt(n)===f){n++;let t=``;for(;n<r;){let a=e.charCodeAt(n++);if(a===f){n=g(e,n,r,i),o[s]===void 0&&(o[s]=t);break}if(a===p&&n<r){t+=e[n++];continue}t+=String.fromCharCode(a)}continue parameter}let c=n;if(n=g(e,n,r,i),o[s]===void 0){let t=v(e,c,n);o[s]=e.slice(c,t)}continue parameter}n++}}return{type:t,index:n,parameters:o}}function g(e,t,n,r){for(;t<n;){let n=e.charCodeAt(t);if(n===u||n===r)break;t++}return t}function _(e,t,n){for(;t<n;){let n=e.charCodeAt(t);if(n!==c&&n!==l)break;t++}return t}function v(e,t,n){for(;n>t;){let t=e.charCodeAt(n-1);if(t!==c&&t!==l)break;n--}return n}function y(e){if(n.test(e))return e;if(t.test(e))return`"${e.replace(r,`\\$&`)}"`;throw TypeError(`Invalid parameter value: ${e}`)}})),$=l(((e,t)=>{var n=Q();t.exports=r;function r(e){for(var t=[],r=0;r<e.length;){var a=i(e,r),o=n.parse(e,{comma:!0,start:a});o.type=e.slice(a,a+o.type.length),t.push(o),r=o.index+1}return t}function i(e,t){for(var n=t;e.charCodeAt(n)===32||e.charCodeAt(n)===9;)n++;return n}})),fn=l(((e,t)=>{var n=$();t.exports=s,t.exports.preferredCharsets=s;function r(e){for(var t=n(e),r=0,a=0;r<t.length;r++){var o=i(t[r],r);o&&(t[a++]=o)}return t.length=a,t}function i(e,t){return e.type?{charset:e.type,q:e.parameters.q?parseFloat(e.parameters.q):1,i:t}:null}function a(e,t,n){for(var r={o:-1,q:0,s:0},i=0;i<t.length;i++){var a=o(e,t[i],n);a&&(r.s-a.s||r.q-a.q||r.o-a.o)<0&&(r=a)}return r}function o(e,t,n){var r=0;if(t.charset.toLowerCase()===e.toLowerCase())r|=1;else if(t.charset!==`*`)return null;return{i:n,o:t.i,q:t.q,s:r}}function s(e,t){var n=r(e===void 0?`*`:e||``);if(!t)return n.filter(u).sort(c).map(l);var i=t.map(function(e,t){return a(e,n,t)});return i.filter(u).sort(c).map(function(e){return t[i.indexOf(e)]})}function c(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function l(e){return e.charset}function u(e){return e.q>0}})),pn=l(((e,t)=>{var n=$();t.exports=s,t.exports.preferredEncodings=s;function r(e){for(var t=n(e),r=!1,a=1,s=0,c=0;s<t.length;s++){var l=i(t[s],s);l&&(t[c++]=l,r||=o(`identity`,l),a=Math.min(a,l.q||1))}return r||(t[c++]={encoding:`identity`,q:a,i:s}),t.length=c,t}function i(e,t){return e.type?{encoding:e.type,q:e.parameters.q?parseFloat(e.parameters.q):1,i:t}:null}function a(e,t,n){for(var r={encoding:e,o:-1,q:0,s:0},i=0;i<t.length;i++){var a=o(e,t[i],n);a&&(r.s-a.s||r.q-a.q||r.o-a.o)<0&&(r=a)}return r}function o(e,t,n){var r=0;if(t.encoding.toLowerCase()===e.toLowerCase())r|=1;else if(t.encoding!==`*`)return null;return{encoding:e,i:n,o:t.i,q:t.q,s:r}}function s(e,t,n){var i=r(e||``),o=n?function(e,t){if(e.q!==t.q)return t.q-e.q;var r=n.indexOf(e.encoding),i=n.indexOf(t.encoding);return r===-1&&i===-1?t.s-e.s||e.o-t.o||e.i-t.i:r!==-1&&i!==-1?r-i:r===-1?1:-1}:c;if(!t)return i.filter(u).sort(o).map(l);var s=t.map(function(e,t){return a(e,i,t)});return s.filter(u).sort(o).map(function(e){return t[s.indexOf(e)]})}function c(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i}function l(e){return e.encoding}function u(e){return e.q>0}})),mn=l(((e,t)=>{var n=Q(),r=$();t.exports=c,t.exports.preferredLanguages=c;function i(e){for(var t=r(e),n=0,i=0;n<t.length;n++){var o=a(t[n],n);o&&(t[i++]=o)}return t.length=i,t}function a(e,t){if(!e.type)return null;var n=e.type.indexOf(`-`);return{prefix:n===-1?e.type:e.type.slice(0,n),suffix:n===-1?void 0:e.type.slice(n+1),q:e.parameters.q?parseFloat(e.parameters.q):1,i:t,full:e.type}}function o(e,t,n){for(var r={o:-1,q:0,s:0},i=0;i<t.length;i++){var a=s(e,t[i],n);a&&(r.s-a.s||r.q-a.q||r.o-a.o)<0&&(r=a)}return r}function s(e,t,r){var i=a(n.parse(e),0);if(!i)return null;var o=0;if(t.full.toLowerCase()===i.full.toLowerCase())o|=4;else if(t.prefix.toLowerCase()===i.full.toLowerCase())o|=2;else if(t.full.toLowerCase()===i.prefix.toLowerCase())o|=1;else if(t.full!==`*`)return null;return{i:r,o:t.i,q:t.q,s:o}}function c(e,t){var n=i(e===void 0?`*`:e||``);if(!t)return n.filter(d).sort(l).map(u);var r=t.map(function(e,t){return o(e,n,t)});return r.filter(d).sort(l).map(function(e){return t[r.indexOf(e)]})}function l(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function u(e){return e.full}function d(e){return e.q>0}})),hn=l(((e,t)=>{var n=Q(),r=$();t.exports=c,t.exports.preferredMediaTypes=c;function i(e){for(var t=r(e),n=0,i=0;n<t.length;n++){var o=a(t[n],n);o&&(t[i++]=o)}return t.length=i,t}function a(e,t){var n=e.type.indexOf(`/`);if(n===-1)return null;var r=e.parameters.q?parseFloat(e.parameters.q):1;return delete e.parameters.q,{type:e.type.slice(0,n),subtype:e.type.slice(n+1),params:e.parameters,q:r,i:t}}function o(e,t,n){for(var r={o:-1,q:0,s:0},i=0;i<t.length;i++){var a=s(e,t[i],n);a&&(r.s-a.s||r.q-a.q||r.o-a.o)<0&&(r=a)}return r}function s(e,t,r){var i=a(n.parse(e),0),o=0;if(!i)return null;if(t.type.toLowerCase()==i.type.toLowerCase())o|=4;else if(t.type!=`*`)return null;if(t.subtype.toLowerCase()==i.subtype.toLowerCase())o|=2;else if(t.subtype!=`*`)return null;var s=Object.keys(t.params);if(s.length>0){if(s.every(function(e){return t.params[e]==`*`||(t.params[e]||``).toLowerCase()==(i.params[e]||``).toLowerCase()}))o|=1;else return null}return{i:r,o:t.i,q:t.q,s:o}}function c(e,t){var n=i(e===void 0?`*/*`:e||``);if(!t)return n.filter(d).sort(l).map(u);var r=t.map(function(e,t){return o(e,n,t)});return r.filter(d).sort(l).map(function(e){return t[r.indexOf(e)]})}function l(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function u(e){return e.type+`/`+e.subtype}function d(e){return e.q>0}}));l(((e,t)=>{var n=fn(),r=pn(),i=mn(),a=hn();t.exports=o,t.exports.Negotiator=o;function o(e){if(!(this instanceof o))return new o(e);this.request=e}o.prototype.charset=function(e){var t=this.charsets(e);return t&&t[0]},o.prototype.charsets=function(e){return n(this.request.headers[`accept-charset`],e)},o.prototype.encoding=function(e,t){var n=this.encodings(e,t);return n&&n[0]},o.prototype.encodings=function(e,t){var n=t||{};return r(this.request.headers[`accept-encoding`],e,n.preferred)},o.prototype.language=function(e){var t=this.languages(e);return t&&t[0]},o.prototype.languages=function(e){return i(this.request.headers[`accept-language`],e)},o.prototype.mediaType=function(e){var t=this.mediaTypes(e);return t&&t[0]},o.prototype.mediaTypes=function(e){return a(this.request.headers.accept,e)},o.prototype.preferredCharset=o.prototype.charset,o.prototype.preferredCharsets=o.prototype.charsets,o.prototype.preferredEncoding=o.prototype.encoding,o.prototype.preferredEncodings=o.prototype.encodings,o.prototype.preferredLanguage=o.prototype.language,o.prototype.preferredLanguages=o.prototype.languages,o.prototype.preferredMediaType=o.prototype.mediaType,o.prototype.preferredMediaTypes=o.prototype.mediaTypes}))();var gn=`en-US`,_n=I({persist:`intl:selected`}),vn=x([R,_n],([e,t])=>t?Z(t):yn()||(e?.locale!==void 0&&dn(e.locale)?Z(e.locale):gn));x(R,e=>e?.grammar??`none`);function yn(){if(typeof navigator<`u`){for(let e of navigator.languages)if(dn(e))return Z(e)}return null}var bn=x(vn,e=>ln[e]);export{Ne as A,be as B,B as C,L as D,at as E,Ie as F,j as H,Ee as I,Te as L,Pe as M,Fe as N,He as O,Le as P,M as R,ut as S,lt as T,le as U,_e as V,Ct as _,on as a,dt as b,tn as c,Lt as d,zt as f,kt as g,Nt as h,sn as i,Re as j,Ve as k,en as l,Pt as m,vn as n,an as o,It as p,cn as r,nn as s,bn as t,Rt as u,K as v,V as w,z as x,R as y,xe as z};