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

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 (67) hide show
  1. package/package.json +7 -7
  2. package/transpiled/Directive.d.ts +11 -4
  3. package/transpiled/Directive.js +50 -14
  4. package/transpiled/Directive.js.map +1 -1
  5. package/transpiled/HTTP/Server.js +1 -4
  6. package/transpiled/HTTP/Server.js.map +1 -1
  7. package/transpiled/HTTP/messages.d.ts +9 -4
  8. package/transpiled/HTTP/messages.js +11 -30
  9. package/transpiled/HTTP/messages.js.map +1 -1
  10. package/transpiled/MCP/tools.js +66 -31
  11. package/transpiled/MCP/tools.js.map +1 -1
  12. package/transpiled/RTD/Directives.d.ts +26 -8
  13. package/transpiled/RTD/Method.d.ts +12 -0
  14. package/transpiled/RTD/Method.js +21 -1
  15. package/transpiled/RTD/Method.js.map +1 -1
  16. package/transpiled/RTD/Node.d.ts +2 -0
  17. package/transpiled/RTD/Node.js +1 -1
  18. package/transpiled/RTD/Node.js.map +1 -1
  19. package/transpiled/RTD/Tree.d.ts +12 -0
  20. package/transpiled/RTD/Tree.js +17 -0
  21. package/transpiled/RTD/Tree.js.map +1 -1
  22. package/transpiled/directives/auth/Authorization.d.ts +9 -7
  23. package/transpiled/directives/auth/Authorization.js +13 -16
  24. package/transpiled/directives/auth/Authorization.js.map +1 -1
  25. package/transpiled/directives/cache/Cache.d.ts +11 -0
  26. package/transpiled/directives/cache/Cache.js +24 -0
  27. package/transpiled/directives/cache/Cache.js.map +1 -1
  28. package/transpiled/directives/cache/etag.d.ts +12 -1
  29. package/transpiled/directives/cache/etag.js +17 -1
  30. package/transpiled/directives/cache/etag.js.map +1 -1
  31. package/transpiled/directives/help/Family.d.ts +1 -2
  32. package/transpiled/directives/help/Family.js +1 -1
  33. package/transpiled/directives/help/Family.js.map +1 -1
  34. package/transpiled/directives/io/IO.d.ts +1 -1
  35. package/transpiled/directives/io/IO.js +1 -1
  36. package/transpiled/directives/io/IO.js.map +1 -1
  37. package/transpiled/directives/map/Map.d.ts +1 -1
  38. package/transpiled/directives/map/Map.js +1 -1
  39. package/transpiled/directives/map/Map.js.map +1 -1
  40. package/transpiled/directives/mcp/MCP.d.ts +1 -2
  41. package/transpiled/directives/mcp/MCP.js +1 -1
  42. package/transpiled/directives/mcp/MCP.js.map +1 -1
  43. package/transpiled/directives/octets/Octets.d.ts +1 -1
  44. package/transpiled/directives/octets/Octets.js +1 -1
  45. package/transpiled/directives/octets/Octets.js.map +1 -1
  46. package/transpiled/measurements.d.ts +7 -0
  47. package/transpiled/measurements.js +7 -1
  48. package/transpiled/measurements.js.map +1 -1
  49. package/ui/dist/_app/immutable/chunks/{nIxWLg1R.js → BI21DxGX.js} +1 -1
  50. package/ui/dist/_app/immutable/chunks/{DnWGJfpc.js → B_XBOx9b.js} +1 -1
  51. package/ui/dist/_app/immutable/chunks/{DRS9txKW.js → D9-CL3SX.js} +2 -2
  52. package/ui/dist/_app/immutable/chunks/{2Pi0xij4.js → DfeVAkjY.js} +1 -1
  53. package/ui/dist/_app/immutable/entry/{app.D4ObD8yN.js → app.BG2uapp5.js} +2 -2
  54. package/ui/dist/_app/immutable/entry/start.Bnttjc6A.js +1 -0
  55. package/ui/dist/_app/immutable/nodes/{0.Cy6HYeeI.js → 0.CAhVptPP.js} +1 -1
  56. package/ui/dist/_app/immutable/nodes/{1.yaYCPqWc.js → 1.CymYf6vY.js} +1 -1
  57. package/ui/dist/_app/immutable/nodes/{2.CurrgQf4.js → 2.DtwEKRzb.js} +1 -1
  58. package/ui/dist/_app/immutable/nodes/{3.DE-49kqe.js → 3.BgfGYNeS.js} +1 -1
  59. package/ui/dist/_app/immutable/nodes/{4.ZYSduUe_.js → 4.B7W24tJ1.js} +1 -1
  60. package/ui/dist/_app/immutable/nodes/{5.hxn_XW6t.js → 5.FCfJU5jO.js} +1 -1
  61. package/ui/dist/_app/immutable/nodes/{6.CKsWjgtd.js → 6.B9oqMcPQ.js} +1 -1
  62. package/ui/dist/_app/version.json +1 -1
  63. package/ui/dist/index.html +10 -10
  64. package/transpiled/HTTP/etag.d.ts +0 -15
  65. package/transpiled/HTTP/etag.js +0 -24
  66. package/transpiled/HTTP/etag.js.map +0 -1
  67. package/ui/dist/_app/immutable/entry/start.CNbFMeFw.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toa.io/extensions.exposition",
3
- "version": "1.0.0-alpha.303",
3
+ "version": "1.0.0-alpha.304",
4
4
  "type": "module",
5
5
  "description": "Toa Exposition",
6
6
  "author": "temich <tema.gurtovoy@gmail.com>",
@@ -28,16 +28,16 @@
28
28
  "!**/.env*"
29
29
  ],
30
30
  "dependencies": {
31
- "@toa.io/core": "1.0.0-alpha.303",
32
- "@toa.io/definitions": "1.0.0-alpha.303",
33
- "@toa.io/generic": "1.0.0-alpha.301",
34
- "@toa.io/schemas": "1.0.0-alpha.301",
31
+ "@toa.io/core": "1.0.0-alpha.304",
32
+ "@toa.io/definitions": "1.0.0-alpha.304",
33
+ "@toa.io/generic": "1.0.0-alpha.304",
34
+ "@toa.io/schemas": "1.0.0-alpha.304",
35
35
  "content-type": "3.0.0",
36
36
  "matchacho": "0.6.1",
37
37
  "minimatch": "10.2.6",
38
38
  "msgpackr": "2.1.0",
39
39
  "negotiator": "1.1.0",
40
- "openspan": "1.0.0-alpha.303"
40
+ "openspan": "1.0.0-alpha.304"
41
41
  },
42
42
  "scripts": {
43
43
  "test": "echo \"Error: run tests from root\" && exit 1",
@@ -72,5 +72,5 @@
72
72
  "lru-cache": "11.5.2",
73
73
  "paseto": "4.0.1"
74
74
  },
75
- "gitHead": "b8e9dd89f6d49756944687a95dfc786f12947286"
75
+ "gitHead": "a95a5a5a64922b11b23142d4acbcee1331ed31aa"
76
76
  }
@@ -12,11 +12,18 @@ export declare class Directives implements RTD.Directives {
12
12
  declared<T>(family: string): T[] | undefined;
13
13
  precall(context: Context, parameters: RTD.Parameter[]): Promise<Output>;
14
14
  /**
15
- * What the method says about itself, as its directives leave it. Each family is given
16
- * what the one before it returned, and the first to refuse ends it: a method this caller
17
- * cannot reach is not described at all.
15
+ * Whether this caller is told of the method at all. A family that says nothing admits
16
+ * everyone, and the first to refuse ends it.
18
17
  */
19
- explain(context: Context, introspection: Introspection): Promise<Introspection | null>;
18
+ admits(context: Context): Promise<boolean>;
19
+ /**
20
+ * What the method says about itself, as its directives leave it. Each family is given what
21
+ * the one before it returned, and the first to answer nothing ends it: a method hidden is
22
+ * hidden from every answer, whoever asks.
23
+ *
24
+ * Synchronous, and without the caller: this is what a method is, and it is built once.
25
+ */
26
+ describe(introspection: Introspection): Introspection | null;
20
27
  settle(context: Context, response: OutgoingMessage): Promise<void>;
21
28
  dispose(): void;
22
29
  }
@@ -1,4 +1,4 @@
1
- import { console } from 'openspan';
1
+ import { console, sampled } from 'openspan';
2
2
  export class Directives {
3
3
  sets;
4
4
  /** the span of a stage depends only on the set, so it is built once per route */
@@ -8,7 +8,7 @@ export class Directives {
8
8
  this.spans = sets.map((set) => ({
9
9
  precall: options(set, 'precall'),
10
10
  settle: options(set, 'settle'),
11
- explain: options(set, 'explain')
11
+ admits: options(set, 'admits')
12
12
  }));
13
13
  }
14
14
  declared(family) {
@@ -20,7 +20,10 @@ export class Directives {
20
20
  const set = this.sets[i];
21
21
  if (set.family.precall === undefined)
22
22
  continue;
23
- const out = await console.span(this.spans[i].precall, async () => await set.family.precall(set.directives, context, parameters));
23
+ // the span's closure and frames are all an unsampled trace would pay for; see `sampled`
24
+ const out = sampled()
25
+ ? await console.span(this.spans[i].precall, async () => await set.family.precall(set.directives, context, parameters))
26
+ : await set.family.precall(set.directives, context, parameters);
24
27
  if (out === null)
25
28
  continue;
26
29
  if (output !== null)
@@ -31,17 +34,36 @@ export class Directives {
31
34
  return output;
32
35
  }
33
36
  /**
34
- * What the method says about itself, as its directives leave it. Each family is given
35
- * what the one before it returned, and the first to refuse ends it: a method this caller
36
- * cannot reach is not described at all.
37
+ * Whether this caller is told of the method at all. A family that says nothing admits
38
+ * everyone, and the first to refuse ends it.
37
39
  */
38
- async explain(context, introspection) {
39
- let described = introspection;
40
+ async admits(context) {
40
41
  for (let i = 0; i < this.sets.length; i++) {
41
42
  const set = this.sets[i];
43
+ if (set.family.admits === undefined)
44
+ continue;
45
+ // the span's closure and frames are all an unsampled trace would pay for; see `sampled`
46
+ const admitted = sampled()
47
+ ? await console.span(this.spans[i].admits, async () => await set.family.admits(set.directives, context))
48
+ : await set.family.admits(set.directives, context);
49
+ if (!admitted)
50
+ return false;
51
+ }
52
+ return true;
53
+ }
54
+ /**
55
+ * What the method says about itself, as its directives leave it. Each family is given what
56
+ * the one before it returned, and the first to answer nothing ends it: a method hidden is
57
+ * hidden from every answer, whoever asks.
58
+ *
59
+ * Synchronous, and without the caller: this is what a method is, and it is built once.
60
+ */
61
+ describe(introspection) {
62
+ let described = introspection;
63
+ for (const set of this.sets) {
42
64
  if (set.family.explain === undefined)
43
65
  continue;
44
- const next = await console.span(this.spans[i].explain, async () => await set.family.explain(set.directives, context, described));
66
+ const next = set.family.explain(set.directives, described);
45
67
  if (next === null)
46
68
  return null;
47
69
  described = next;
@@ -51,8 +73,12 @@ export class Directives {
51
73
  async settle(context, response) {
52
74
  for (let i = 0; i < this.sets.length; i++) {
53
75
  const set = this.sets[i];
54
- if (set.family.settle !== undefined)
76
+ if (set.family.settle === undefined)
77
+ continue;
78
+ if (sampled())
55
79
  await console.span(this.spans[i].settle, async () => await set.family.settle(set.directives, context, response));
80
+ else
81
+ await set.family.settle(set.directives, context, response);
56
82
  }
57
83
  }
58
84
  dispose() {
@@ -87,19 +113,29 @@ export class DirectivesFactory {
87
113
  * answers here only for what it does on its own behalf.
88
114
  */
89
115
  async preflight(context) {
90
- for (const stage of this.stages)
91
- if (stage.family.preflight !== undefined)
116
+ for (const stage of this.stages) {
117
+ if (stage.family.preflight === undefined)
118
+ continue;
119
+ if (sampled())
92
120
  await console.span(stage.preflight, async () => {
93
121
  await stage.family.preflight(context);
94
122
  });
123
+ else
124
+ await stage.family.preflight(context);
125
+ }
95
126
  }
96
127
  /** Request-scoped, on the message going back. */
97
128
  async depart(context, response) {
98
- for (const stage of this.stages)
99
- if (stage.family.depart !== undefined)
129
+ for (const stage of this.stages) {
130
+ if (stage.family.depart === undefined)
131
+ continue;
132
+ if (sampled())
100
133
  await console.span(stage.depart, async () => {
101
134
  await stage.family.depart(context, response);
102
135
  });
136
+ else
137
+ await stage.family.depart(context, response);
138
+ }
103
139
  }
104
140
  create(declarations, route = '') {
105
141
  const groups = {};
@@ -1 +1 @@
1
- {"version":3,"file":"Directive.js","sourceRoot":"","sources":["../source/Directive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Directive.js","sourceRoot":"","sources":["../source/Directive.ts"],"names":[],"mappings":"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"}
@@ -230,10 +230,7 @@ export class Server extends Connector {
230
230
  span.status = 'error';
231
231
  if (!response.writableEnded) {
232
232
  response.statusCode = status;
233
- const message = {
234
- status: response.statusCode,
235
- authentic: true
236
- };
233
+ const message = { status: response.statusCode };
237
234
  // eslint-disable-next-line max-depth
238
235
  if (exception instanceof Exception && exception.headers !== undefined)
239
236
  message.headers = exception.headers;
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../source/HTTP/Server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../source/HTTP/Server.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,16 @@ export interface OutgoingMessage {
19
19
  headers?: Headers;
20
20
  body?: any;
21
21
  /**
22
- * Built by the gateway rather than returned by an operation, as a request is `authentic`
23
- * when it was made by one: what is in it is the gateway's own, and the checks that answer
24
- * for what an operation returns have nothing to say about it.
22
+ * What tags this reply once its body is bytes, and tells whether the client already holds
23
+ * it. The `cache` family leaves it here, on a reply that may be validated at all; a reply
24
+ * without one is sent untagged. See `documentation/cache.md`.
25
25
  */
26
- authentic?: boolean;
26
+ validate?: (body: Buffer) => Validation;
27
+ }
28
+ /** The tag of a reply, and whether it is the one the client sent back in `if-none-match`. */
29
+ export interface Validation {
30
+ etag: string;
31
+ held: boolean;
27
32
  }
28
33
  export interface Query {
29
34
  [key: string]: string | number | undefined;
@@ -5,7 +5,6 @@ import * as contentType from 'content-type';
5
5
  import { console } from 'openspan';
6
6
  import { decoders } from './formats/index.js';
7
7
  import { BadRequest, NotAcceptable, UnsupportedMediaType } from './exceptions.js';
8
- import { etag, kept, same } from './etag.js';
9
8
  import { environment } from '@toa.io/generic';
10
9
  import { Encoded } from '@toa.io/core';
11
10
  const context = environment.get('TOA_CONTEXT');
@@ -76,42 +75,24 @@ function send(message, context, response) {
76
75
  }
77
76
  if (context.encoder === null)
78
77
  throw new NotAcceptable();
79
- const encoded = message.body instanceof Encoded;
78
+ const encoded = Encoded.is(message.body);
80
79
  const buf = encoded ? message.body.bytes : context.encoder.encode(message.body);
81
80
  const type = encoded ? message.body.type : context.encoder.type;
82
- if (message.authentic !== true && validated(context, buf, response))
83
- return;
81
+ const validation = message.validate?.(buf);
82
+ if (validation !== undefined) {
83
+ response.setHeader('etag', validation.etag);
84
+ if (validation.held) {
85
+ // nothing of the body has been written yet, so a reply the client holds ends here
86
+ response.statusCode = 304;
87
+ response.end();
88
+ return;
89
+ }
90
+ }
84
91
  response.setHeader('content-type', type);
85
92
  response.setHeader('content-length', buf.length.toString());
86
93
  response.appendHeader('vary', 'accept');
87
94
  response.end(buf);
88
95
  }
89
- /**
90
- * Whether the client already holds this reply. Its tag is the body itself, so a reply is
91
- * validated whatever it carries, and one the client sent back is answered with nothing. A reply
92
- * the gateway built of its own, one to a request that is not safe, and one the client may not
93
- * keep carry no tag.
94
- */
95
- function validated(context, buf, response) {
96
- const method = context.request.method;
97
- if (method !== 'GET' && method !== 'HEAD')
98
- return false;
99
- if (!kept(response.getHeader('cache-control')))
100
- return false;
101
- // what a directive states of a reply it built — the checksum of a stored file, say — is what
102
- // that reply is validated by
103
- if (response.hasHeader('etag'))
104
- return false;
105
- const tag = etag(buf);
106
- response.setHeader('etag', tag);
107
- const sent = context.request.headers['if-none-match'];
108
- if (sent === undefined || !same(sent, tag))
109
- return false;
110
- // nothing of the body has been written yet, so a reply the client holds ends here
111
- response.statusCode = 304;
112
- response.end();
113
- return true;
114
- }
115
96
  function stream(message, context, response) {
116
97
  const encoded = message.headers !== undefined && message.headers.has('content-type');
117
98
  const source = encoded ? message.body : multipart(message, context, response);
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../source/HTTP/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,WAAW,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAe,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACjF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;AAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,UAAU,GACd,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE;IAC7F,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;AAEvF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAgB,EAAE,OAAwB;IACpE,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ;QAAE,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,OAAgB,EAChB,QAAwB,EACxB,OAAwB;IAExB,MAAM,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAE7B,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS;QAAE,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAA;IAEvE,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAC5C,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IACxE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAE/B,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QAE7E,OAAM;IACR,CAAC;IAED,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,SAAgB,EAAE,EAAE,CACxC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAC/E,CAAA;IAED,IAAI,OAAO,CAAC,IAAI,YAAY,QAAQ;QAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;;QACnE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAgB;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAEtD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAE1C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAEtD,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;QAAE,MAAM,IAAI,oBAAoB,EAAE,CAAA;IAEzD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAA;IAElC,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACxC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;YAC1B,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;SAC3B,CAAC,CAAA;QAEF,MAAM,IAAI,UAAU,EAAE,CAAA;IACxB,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CACX,OAAwB,EACxB,OAAgB,EAChB,QAAwB;IAExB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxD,4EAA4E;QAC5E,sEAAsE;QACtE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAAE,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;QAEpF,QAAQ,CAAC,GAAG,EAAE,CAAA;QAEd,OAAM;IACR,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;QAAE,MAAM,IAAI,aAAa,EAAE,CAAA;IAEvD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,YAAY,OAAO,CAAA;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA;IAE/D,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC;QAAE,OAAM;IAE3E,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IACxC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3D,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACvC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,OAAgB,EAAE,GAAW,EAAE,QAAwB;IACxE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAA;IAErC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IAEvD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAE5D,6FAA6F;IAC7F,6BAA6B;IAC7B,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAA;IAE5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;IAErB,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IAErD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAExD,kFAAkF;IAClF,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,CAAA;IAEd,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,MAAM,CACb,OAAwB,EACxB,OAAgB,EAChB,QAAwB;IAExB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IACpF,MAAM,MAAM,GAAa,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAEvF,yFAAyF;IACzF,oEAAoE;IACpE,EAAE;IACF,4FAA4F;IAC5F,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,SAAgC,EAAE,EAAE;QACpE,kEAAkE;QAClE,IAAI,SAAS,CAAC,IAAI,KAAK,4BAA4B;YAAE,OAAM;QAE3D,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,OAAwB,EACxB,OAAgB,EAChB,QAAwB;IAExB,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI;QAAE,MAAM,IAAI,aAAa,EAAE,CAAA;IAEvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAE/B,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,SAAS,cAAc,QAAQ,EAAE,CAAC,CAAA;IAEhF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AACvE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAQ,SAAQ,QAAQ;IACX,IAAI,CAAU;IACd,KAAK,CAAwB;IAC7B,OAAO,CAAQ;IACf,MAAM,CAAa;IAC5B,OAAO,GAAG,KAAK,CAAA;IACf,QAAQ,GAAG,KAAK,CAAA;IAChB,QAAQ,GAAG,KAAK,CAAA;IAExB,YAAmB,IAAc,EAAE,OAAe,EAAE,MAAmB;QACrE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAEvE,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,EAAE,CAAA;;YAC1B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,CAAC;IAEe,KAAK;QACnB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1D,CAAC;IAEe,QAAQ,CACtB,KAAmB,EACnB,QAAwC;QAExC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QAEnB,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,MAA+B,CAAA;QAEnC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2EAA2E;YAC3E,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,EAAE,CAAA;gBAEb,OAAM;YACR,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACtB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,MAAM,EAAE,CAAA;;YAEtD,IAAI,CAAC,IAAI,CACP,MAAM,CAAC,MAAM,CAAC;gBACZ,IAAI,CAAC,mCAAmC;gBACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBACjC,IAAI;gBACJ,GAAG;aACJ,CAAC,CACH,CAAA;IACL,CAAC;IAEgB,IAAI,GAAG,GAAS,EAAE;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QAEnB,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IAClC,CAAC,CAAA;IAEO,MAAM;QACZ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAM;QAEzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC5E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;CACF;AAED,MAAM,QAAQ,GAAG,KAAK,CAAA;AACtB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,MAAM,CAAC,CAAA;AAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../source/HTTP/messages.ts"],"names":[],"mappings":"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"}
@@ -19,39 +19,62 @@ import { variables } from '../RTD/segment.js';
19
19
  * Sorted, because the revision asks for an order a client can cache on.
20
20
  */
21
21
  export async function list(tree, request) {
22
- const tools = [];
23
22
  /*
24
23
  * A description, not the request asking. What refuses a credentialed request at an
25
24
  * `anonymous` route does not refuse the call a tool makes, and a list that says otherwise
26
25
  * disagrees with what `tools/call` then does.
27
26
  */
28
27
  const context = describing(request);
29
- for (const { segments, verb, method } of tree.walk()) {
30
- if (!MCP.published(method.directives.declared(FAMILY)))
31
- continue;
32
- const named = name(segments, verb);
33
- // a route a name cannot spell is a route nothing addresses, here or at `/.rpc`
34
- if (named === null)
35
- continue;
36
- const params = variables(segments);
37
- const introspection = await method.explain(context, params);
38
- if (introspection === null)
28
+ const tools = [];
29
+ for (const { node, method, tool } of await published(tree)) {
30
+ // a branch that has expired is not walked, and what it published is not served either
31
+ if (Date.now() >= node.expiration)
39
32
  continue;
40
- const described = introspection.description;
41
- const schema = output(introspection);
42
- const hints = annotations(verb);
43
- // in the order the revision documents one, which is the order it is read in
44
- const tool = {
45
- name: named,
46
- ...(introspection.title === undefined ? {} : { title: introspection.title }),
47
- ...(described === undefined ? {} : { description: described }),
48
- inputSchema: input(introspection, params.map((param) => param.name), method.endpoint?.selection() ?? null),
49
- ...(schema === undefined ? {} : { outputSchema: schema }),
50
- ...(hints === undefined ? {} : { annotations: hints })
51
- };
52
- tools.push(tool);
33
+ if (await method.directives.admits(context))
34
+ tools.push(tool);
53
35
  }
54
- return tools.sort((one, other) => (one.name < other.name ? -1 : 1));
36
+ return tools;
37
+ }
38
+ /**
39
+ * What the tree publishes, in the order a client reads it, whoever is asking: what a tool is
40
+ * said to be is the route's and not the caller's, and the only thing a caller decides is
41
+ * whether it is told of one at all.
42
+ *
43
+ * Built once per tree — a merged branch drops it — so a `tools/list` describes the tree once
44
+ * and then answers from what it described.
45
+ */
46
+ async function published(tree) {
47
+ return await tree.derived(TOOLS, async () => {
48
+ const tools = [];
49
+ for (const { segments, verb, method, node } of tree.walk()) {
50
+ if (!MCP.published(method.directives.declared(FAMILY)))
51
+ continue;
52
+ const named = name(segments, verb);
53
+ // a route a name cannot spell is a route nothing addresses, here or at `/.rpc`
54
+ if (named === null)
55
+ continue;
56
+ const params = variables(segments);
57
+ const introspection = await method.describe(params);
58
+ // a method hidden is hidden from every answer, this one included
59
+ if (introspection === null)
60
+ continue;
61
+ const described = introspection.description;
62
+ const schema = output(introspection);
63
+ const hints = annotations(verb);
64
+ // in the order the revision documents one, which is the order it is read in
65
+ const tool = {
66
+ name: named,
67
+ ...(introspection.title === undefined ? {} : { title: introspection.title }),
68
+ ...(described === undefined ? {} : { description: described }),
69
+ inputSchema: input(introspection, params.map((param) => param.name), method.endpoint?.selection() ?? null),
70
+ ...(schema === undefined ? {} : { outputSchema: schema }),
71
+ ...(hints === undefined ? {} : { annotations: hints })
72
+ };
73
+ tools.push({ node, method, tool });
74
+ }
75
+ // sorted, because the revision asks for an order a client can cache on
76
+ return tools.sort((one, other) => (one.tool.name < other.tool.name ? -1 : 1));
77
+ });
55
78
  }
56
79
  /**
57
80
  * The call the tool is. Its arguments are the procedure's parameters, taken apart the way a
@@ -62,7 +85,7 @@ export async function list(tree, request) {
62
85
  * its name. What the caller may then do with one that is published is still `auth`'s to say.
63
86
  */
64
87
  export async function call(scope, named, args) {
65
- if (!published(scope.tree, named))
88
+ if (!serves(scope.tree, named))
66
89
  throw new http.NotFound(response(null, failure(METHOD_NOT_FOUND, `'${named}' is not a tool this server publishes`)));
67
90
  const { path, verb, variables } = address(named, args);
68
91
  const { query, input: body } = split(args, variables);
@@ -92,11 +115,21 @@ export async function call(scope, named, args) {
92
115
  * asked here — the declaration is the route's and does not vary by who is calling, and the
93
116
  * call that follows is authorized as any request to that route is.
94
117
  */
95
- function published(tree, named) {
96
- for (const { segments, verb, method } of tree.walk())
97
- if (name(segments, verb) === named)
98
- return MCP.published(method.directives.declared(FAMILY));
99
- return false;
118
+ function serves(tree, named) {
119
+ const names = tree.derived(NAMES, () => {
120
+ const names = new Map();
121
+ for (const { segments, verb, method, node } of tree.walk()) {
122
+ const tool = name(segments, verb);
123
+ // the first mount of a name is the one a call would reach, as `match` tries them;
124
+ // one that publishes nothing takes the name all the same
125
+ if (tool !== null && !names.has(tool))
126
+ names.set(tool, MCP.published(method.directives.declared(FAMILY)) ? node : null);
127
+ }
128
+ return names;
129
+ });
130
+ const node = names.get(named);
131
+ // a branch that has expired publishes nothing, as it answers nothing
132
+ return node !== undefined && node !== null && Date.now() < node.expiration;
100
133
  }
101
134
  function result(body) {
102
135
  if (body === undefined || body === null)
@@ -106,4 +139,6 @@ function result(body) {
106
139
  structuredContent: body
107
140
  };
108
141
  }
142
+ const TOOLS = 'mcp:tools';
143
+ const NAMES = 'mcp:names';
109
144
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../source/MCP/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../source/MCP/tools.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,17 @@ export interface Directives {
13
13
  */
14
14
  declared: <T>(family: string) => T[] | undefined;
15
15
  precall: (context: Context, parameters: Parameter[]) => Promise<Output>;
16
- /** What this route's directives make of what its method says about itself. */
17
- explain: (context: Context, introspection: Introspection) => Promise<Introspection | null>;
16
+ /**
17
+ * Whether this caller is told of the method at all. Asked per request, which is the one
18
+ * thing about a description that depends on who is asking.
19
+ */
20
+ admits: (context: Context) => Promise<boolean>;
21
+ /**
22
+ * What this route's directives make of what its method says about itself. No caller: what
23
+ * a family describes is what the route declares, so the answer is the same for everyone
24
+ * who is admitted, and is built once.
25
+ */
26
+ describe: (introspection: Introspection) => Introspection | null;
18
27
  settle: (context: Context, response: OutgoingMessage) => Promise<void>;
19
28
  dispose: () => void;
20
29
  }
@@ -64,16 +73,25 @@ export interface DirectiveFamily<TDirective = any, TExtension = any> {
64
73
  preflight?: (request: Context & TExtension) => void | Promise<void>;
65
74
  /** Call-scoped, with what the node declares. Runs once per call. */
66
75
  precall?: (directives: TDirective[], request: Context & TExtension, parameters: Parameter[]) => Output | Promise<Output>;
76
+ /**
77
+ * Whether this caller is told of the method at all — `auth` alone has anything to say
78
+ * here. A family that does not implement it admits everyone; `false` takes the method
79
+ * out of every answer that describes it.
80
+ *
81
+ * Apart from `explain` because it is the one part of describing a method that depends on
82
+ * the caller: what is described is then built once and answered to all of them.
83
+ */
84
+ admits?: (directives: TDirective[], request: Context & TExtension) => Promise<boolean>;
67
85
  /**
68
86
  * What this family's directives make of what the method says about itself, which is
69
- * what `OPTIONS` answers and what a tool is described by. `null` refuses: the method
70
- * is not reachable by this caller, and is not described at all.
87
+ * what `OPTIONS` answers and what a tool is described by. `null` hides it: the method is
88
+ * described to nobody, whoever asks.
71
89
  *
72
- * There is no request here — no route variable has a value and no body has arrived, which
73
- * is why no parameters are passed — so a directive that can only tell from one hands back
74
- * what it was given.
90
+ * There is no request here — no route variable has a value, no body has arrived, and no
91
+ * caller is known — so a directive that can only tell from one hands back what it was
92
+ * given.
75
93
  */
76
- explain?: (directives: TDirective[], request: Context & TExtension, introspection: Introspection) => Introspection | null | Promise<Introspection | null>;
94
+ explain?: (directives: TDirective[], introspection: Introspection) => Introspection | null;
77
95
  /** Call-scoped, on the message that call produced. */
78
96
  settle?: (directives: TDirective[], request: Context & TExtension, response: OutgoingMessage) => void | Promise<void>;
79
97
  /**