@toa.io/extensions.exposition 1.0.0-alpha.298 → 1.0.0-alpha.299

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 (108) hide show
  1. package/components/identity.bans/types/toa.d.ts +5 -4
  2. package/components/identity.basic/types/toa.d.ts +5 -4
  3. package/components/identity.clients/types/toa.d.ts +5 -4
  4. package/components/identity.federation/types/toa.d.ts +5 -4
  5. package/components/identity.grants/types/toa.d.ts +5 -4
  6. package/components/identity.keys/types/toa.d.ts +5 -4
  7. package/components/identity.otp/types/toa.d.ts +5 -4
  8. package/components/identity.passkeys/types/toa.d.ts +4 -3
  9. package/components/identity.roles/types/toa.d.ts +5 -4
  10. package/components/identity.tokens/types/toa.d.ts +5 -4
  11. package/package.json +5 -5
  12. package/transpiled/Gateway.js +4 -3
  13. package/transpiled/Gateway.js.map +1 -1
  14. package/transpiled/HTTP/Context.d.ts +6 -1
  15. package/transpiled/HTTP/Context.js +7 -1
  16. package/transpiled/HTTP/Context.js.map +1 -1
  17. package/transpiled/HTTP/Server.d.ts +10 -0
  18. package/transpiled/HTTP/Server.js +46 -3
  19. package/transpiled/HTTP/Server.js.map +1 -1
  20. package/transpiled/HTTP/messages.js +83 -11
  21. package/transpiled/HTTP/messages.js.map +1 -1
  22. package/transpiled/Query.js +4 -3
  23. package/transpiled/Query.js.map +1 -1
  24. package/transpiled/RTD/factory.js +1 -2
  25. package/transpiled/RTD/factory.js.map +1 -1
  26. package/transpiled/directives/auth/Assert.js +2 -2
  27. package/transpiled/directives/auth/Assert.js.map +1 -1
  28. package/transpiled/directives/auth/Authorization.js +2 -2
  29. package/transpiled/directives/auth/Authorization.js.map +1 -1
  30. package/transpiled/directives/auth/Federation.js +2 -2
  31. package/transpiled/directives/auth/Federation.js.map +1 -1
  32. package/transpiled/directives/auth/Incept.js +4 -3
  33. package/transpiled/directives/auth/Incept.js.map +1 -1
  34. package/transpiled/directives/auth/Role.js +2 -2
  35. package/transpiled/directives/auth/Role.js.map +1 -1
  36. package/transpiled/directives/dev/Faulty.js +4 -3
  37. package/transpiled/directives/dev/Faulty.js.map +1 -1
  38. package/transpiled/directives/dev/Sleep.js +2 -2
  39. package/transpiled/directives/dev/Sleep.js.map +1 -1
  40. package/transpiled/directives/flow/Compose.js +5 -4
  41. package/transpiled/directives/flow/Compose.js.map +1 -1
  42. package/transpiled/directives/flow/Fetch.js +3 -3
  43. package/transpiled/directives/flow/Fetch.js.map +1 -1
  44. package/transpiled/directives/help/Family.js +2 -2
  45. package/transpiled/directives/help/Family.js.map +1 -1
  46. package/transpiled/directives/help/Help.js +2 -2
  47. package/transpiled/directives/help/Help.js.map +1 -1
  48. package/transpiled/directives/help/Parameters.js +2 -2
  49. package/transpiled/directives/help/Parameters.js.map +1 -1
  50. package/transpiled/directives/help/described.js +13 -9
  51. package/transpiled/directives/help/described.js.map +1 -1
  52. package/transpiled/directives/io/Status.js +4 -3
  53. package/transpiled/directives/io/Status.js.map +1 -1
  54. package/transpiled/directives/io/lib/throttle/components/Segment.js +2 -2
  55. package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -1
  56. package/transpiled/directives/io/lib/throttle/conditions/Status.js +2 -2
  57. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -1
  58. package/transpiled/directives/map/Authority.js +2 -2
  59. package/transpiled/directives/map/Authority.js.map +1 -1
  60. package/transpiled/directives/map/Buffer.js +2 -2
  61. package/transpiled/directives/map/Buffer.js.map +1 -1
  62. package/transpiled/directives/map/Claims.js +4 -3
  63. package/transpiled/directives/map/Claims.js.map +1 -1
  64. package/transpiled/directives/map/Headers.js +4 -3
  65. package/transpiled/directives/map/Headers.js.map +1 -1
  66. package/transpiled/directives/map/Language.js +2 -2
  67. package/transpiled/directives/map/Language.js.map +1 -1
  68. package/transpiled/directives/map/Languages.js +4 -3
  69. package/transpiled/directives/map/Languages.js.map +1 -1
  70. package/transpiled/directives/map/Segments.js +6 -4
  71. package/transpiled/directives/map/Segments.js.map +1 -1
  72. package/transpiled/directives/mcp/MCP.js +2 -2
  73. package/transpiled/directives/mcp/MCP.js.map +1 -1
  74. package/transpiled/directives/mcp/Tool.js +4 -3
  75. package/transpiled/directives/mcp/Tool.js.map +1 -1
  76. package/transpiled/directives/octets/Context.js +2 -2
  77. package/transpiled/directives/octets/Context.js.map +1 -1
  78. package/transpiled/directives/octets/Delete.d.ts +5 -0
  79. package/transpiled/directives/octets/Delete.js +26 -9
  80. package/transpiled/directives/octets/Delete.js.map +1 -1
  81. package/transpiled/directives/octets/Put.js +4 -2
  82. package/transpiled/directives/octets/Put.js.map +1 -1
  83. package/transpiled/directives/octets/bytes.js +2 -2
  84. package/transpiled/directives/octets/bytes.js.map +1 -1
  85. package/transpiled/directives/octets/workflows/Execution.d.ts +13 -0
  86. package/transpiled/directives/octets/workflows/Execution.js +23 -1
  87. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  88. package/transpiled/directives/octets/workflows/index.d.ts +1 -0
  89. package/transpiled/directives/require/Require.js +2 -2
  90. package/transpiled/directives/require/Require.js.map +1 -1
  91. package/transpiled/service.js +2 -2
  92. package/transpiled/service.js.map +1 -1
  93. package/ui/dist/_app/immutable/chunks/{DG4OFQ9V.js → Bg92Ff-H.js} +2 -2
  94. package/ui/dist/_app/immutable/chunks/{Cec6E11I.js → CiH4YaDd.js} +1 -1
  95. package/ui/dist/_app/immutable/chunks/Db7Vwwng.js +1 -0
  96. package/ui/dist/_app/immutable/chunks/{CSmOlTSe.js → pL_8ezUT.js} +2 -2
  97. package/ui/dist/_app/immutable/entry/{app.xQaqMBBI.js → app.5vMdme9b.js} +2 -2
  98. package/ui/dist/_app/immutable/entry/start.43FKMMlZ.js +1 -0
  99. package/ui/dist/_app/immutable/nodes/{0.DVee6nnk.js → 0.DOb3LPeF.js} +1 -1
  100. package/ui/dist/_app/immutable/nodes/{1.BEUjUfUC.js → 1.BW74-b_6.js} +1 -1
  101. package/ui/dist/_app/immutable/nodes/{2.woHR77fz.js → 2.CzgD9WuN.js} +1 -1
  102. package/ui/dist/_app/immutable/nodes/{3.SWWw_ly3.js → 3.Btbj_hcv.js} +1 -1
  103. package/ui/dist/_app/immutable/nodes/{4.Dm-ECSOq.js → 4.CKgb241g.js} +1 -1
  104. package/ui/dist/_app/immutable/nodes/{5.dblTLZRp.js → 5.BNDP4aw-.js} +1 -1
  105. package/ui/dist/_app/version.json +1 -1
  106. package/ui/dist/index.html +10 -10
  107. package/ui/dist/_app/immutable/chunks/42lgtt7R.js +0 -1
  108. package/ui/dist/_app/immutable/entry/start.Vc6aSJjU.js +0 -1
@@ -1,4 +1,3 @@
1
- import assert from 'node:assert';
2
1
  /**
3
2
  * The status of the reply, taken from a property of what the operation returned and removed
4
3
  * from it — an outcome the operation knows and the transport does not, like a protocol that
@@ -15,7 +14,8 @@ export class Status {
15
14
  this.property = property;
16
15
  }
17
16
  static validate(value) {
18
- assert.ok(typeof value === 'string', '`io:status` must be a string');
17
+ if (typeof value !== 'string')
18
+ throw new Error('`io:status` must be a string');
19
19
  }
20
20
  precall() {
21
21
  // nothing to do until the operation has answered
@@ -25,7 +25,8 @@ export class Status {
25
25
  if (body === null || typeof body !== 'object' || !(this.property in body))
26
26
  return;
27
27
  const value = body[this.property];
28
- assert.ok(typeof value === 'number', `\`io:status\` expects '${this.property}' to be a number`);
28
+ if (typeof value !== 'number')
29
+ throw new Error(`\`io:status\` expects '${this.property}' to be a number`);
29
30
  response.status = value;
30
31
  // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
31
32
  delete body[this.property];
@@ -1 +1 @@
1
- {"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../source/directives/io/Status.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAIhC;;;;;;;;;GASG;AACH,MAAM,OAAO,MAAM;IACA,QAAQ,CAAQ;IAEjC,YAAmB,QAAiB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAkB,CAAA;IACpC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAc;QACnC,MAAM,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,EAAE,8BAA8B,CAAC,CAAA;IACtE,CAAC;IAEM,OAAO;QACZ,iDAAiD;IACnD,CAAC;IAEM,MAAM,CAAC,CAAU,EAAE,QAA8B;QACtD,MAAM,IAAI,GAAY,QAAQ,CAAC,IAAI,CAAA;QAEnC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;YAAE,OAAM;QAEjF,MAAM,KAAK,GAAa,IAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEvE,MAAM,CAAC,EAAE,CACP,OAAO,KAAK,KAAK,QAAQ,EACzB,0BAA0B,IAAI,CAAC,QAAQ,kBAAkB,CAC1D,CAAA;QAED,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAA;QAEvB,gEAAgE;QAChE,OAAQ,IAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../source/directives/io/Status.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,OAAO,MAAM;IACA,QAAQ,CAAQ;IAEjC,YAAmB,QAAiB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAkB,CAAA;IACpC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAc;QACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAChF,CAAC;IAEM,OAAO;QACZ,iDAAiD;IACnD,CAAC;IAEM,MAAM,CAAC,CAAU,EAAE,QAA8B;QACtD,MAAM,IAAI,GAAY,QAAQ,CAAC,IAAI,CAAA;QAEnC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;YAAE,OAAM;QAEjF,MAAM,KAAK,GAAa,IAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEvE,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC3B,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,QAAQ,kBAAkB,CAAC,CAAA;QAE5E,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAA;QAEvB,gEAAgE;QAChE,OAAQ,IAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzD,CAAC;CACF"}
@@ -1,9 +1,9 @@
1
- import assert from 'node:assert';
2
1
  /** The value a named route segment was bound to, or nothing when the route has none. */
3
2
  export class Segment {
4
3
  name;
5
4
  constructor(name) {
6
- assert.ok(typeof name === 'string', 'Throttle segment must be a string');
5
+ if (typeof name !== 'string')
6
+ throw new Error('Throttle segment must be a string');
7
7
  this.name = name;
8
8
  }
9
9
  get(_, parameters) {
@@ -1 +1 @@
1
- {"version":3,"file":"Segment.js","sourceRoot":"","sources":["../../../../../../source/directives/io/lib/throttle/components/Segment.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAKhC,wFAAwF;AACxF,MAAM,OAAO,OAAO;IACD,IAAI,CAAQ;IAE7B,YAAmB,IAAa;QAC9B,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE,mCAAmC,CAAC,CAAA;QAExE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAEM,GAAG,CAAC,CAAU,EAAE,UAAuB;QAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAA;IACvE,CAAC;CACF"}
1
+ {"version":3,"file":"Segment.js","sourceRoot":"","sources":["../../../../../../source/directives/io/lib/throttle/components/Segment.ts"],"names":[],"mappings":"AAIA,wFAAwF;AACxF,MAAM,OAAO,OAAO;IACD,IAAI,CAAQ;IAE7B,YAAmB,IAAa;QAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAElF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAEM,GAAG,CAAC,CAAU,EAAE,UAAuB;QAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAA;IACvE,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
- import assert from 'node:assert';
2
1
  export class Status {
3
2
  status;
4
3
  constructor(status) {
5
- assert.ok(typeof status === 'number', 'Status must be a number');
4
+ if (typeof status !== 'number')
5
+ throw new Error('Status must be a number');
6
6
  this.status = status;
7
7
  }
8
8
  match(input, output) {
@@ -1 +1 @@
1
- {"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../../../../source/directives/io/lib/throttle/conditions/Status.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAIhC,MAAM,OAAO,MAAM;IACA,MAAM,CAAQ;IAE/B,YAAmB,MAAe;QAChC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,EAAE,yBAAyB,CAAC,CAAA;QAEhE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,KAAY,EAAE,MAAc;QACvC,OAAO,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,CAAA;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"Status.js","sourceRoot":"","sources":["../../../../../../source/directives/io/lib/throttle/conditions/Status.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,MAAM;IACA,MAAM,CAAQ;IAE/B,YAAmB,MAAe;QAChC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAE1E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,KAAY,EAAE,MAAc;QACvC,OAAO,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,MAAM,CAAA;IACvC,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
- import assert from 'node:assert';
2
1
  import { Mapping } from './Mapping.js';
3
2
  export class Authority extends Mapping {
4
3
  constructor(property) {
5
- assert.ok(typeof property === 'string', '`map:authority` must be a string');
4
+ if (typeof property !== 'string')
5
+ throw new Error('`map:authority` must be a string');
6
6
  super(property);
7
7
  }
8
8
  properties(context) {
@@ -1 +1 @@
1
- {"version":3,"file":"Authority.js","sourceRoot":"","sources":["../../../source/directives/map/Authority.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,OAAO,SAAU,SAAQ,OAAe;IAC5C,YAAmB,QAAgB;QACjC,MAAM,CAAC,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,EAAE,kCAAkC,CAAC,CAAA;QAE3E,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAEM,UAAU,CAAC,OAAc;QAC9B,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,CAAA;IAC5C,CAAC;CACF"}
1
+ {"version":3,"file":"Authority.js","sourceRoot":"","sources":["../../../source/directives/map/Authority.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,OAAO,SAAU,SAAQ,OAAe;IAC5C,YAAmB,QAAgB;QACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAErF,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAEM,UAAU,CAAC,OAAc;QAC9B,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,CAAA;IAC5C,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
- import assert from 'node:assert';
2
1
  import { Mapping } from './Mapping.js';
3
2
  export class BufferMapping extends Mapping {
4
3
  constructor(property) {
5
- assert.ok(typeof property === 'string', '`map:buffer` must be a string');
4
+ if (typeof property !== 'string')
5
+ throw new Error('`map:buffer` must be a string');
6
6
  super(property);
7
7
  }
8
8
  async properties(context) {
@@ -1 +1 @@
1
- {"version":3,"file":"Buffer.js","sourceRoot":"","sources":["../../../source/directives/map/Buffer.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,OAAO,aAAc,SAAQ,OAAe;IAChD,YAAmB,QAAgB;QACjC,MAAM,CAAC,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,EAAE,+BAA+B,CAAC,CAAA;QAExE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAEe,KAAK,CAAC,UAAU,CAAC,OAAc;QAC7C,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;IACpE,CAAC;CACF"}
1
+ {"version":3,"file":"Buffer.js","sourceRoot":"","sources":["../../../source/directives/map/Buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,MAAM,OAAO,aAAc,SAAQ,OAAe;IAChD,YAAmB,QAAgB;QACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAElF,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAEe,KAAK,CAAC,UAAU,CAAC,OAAc;QAC7C,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAA;IACpE,CAAC;CACF"}
@@ -1,11 +1,12 @@
1
- import assert from 'node:assert';
2
1
  import { Mapping } from './Mapping.js';
3
2
  export class Claims extends Mapping {
4
3
  discovery;
5
4
  federation = null;
6
5
  constructor(map, remotes) {
7
- assert.ok(map.constructor === Object, '`map:claims` must be an object');
8
- assert.ok(Object.values(map).every((value) => typeof value === 'string'), '`map:claims ` must be an object with string values');
6
+ if (map.constructor !== Object)
7
+ throw new Error('`map:claims` must be an object');
8
+ if (!Object.values(map).every((value) => typeof value === 'string'))
9
+ throw new Error('`map:claims ` must be an object with string values');
9
10
  super(map, remotes);
10
11
  this.discovery = remotes.discover('identity', 'federation');
11
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Claims.js","sourceRoot":"","sources":["../../../source/directives/map/Claims.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAKtC,MAAM,OAAO,MAAO,SAAQ,OAA+B;IACxC,SAAS,CAAqB;IACvC,UAAU,GAAqB,IAAI,CAAA;IAE3C,YAAmB,GAA2B,EAAE,OAAgB;QAC9D,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,gCAAgC,CAAC,CAAA;QAEvE,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAC9D,oDAAoD,CACrD,CAAA;QAED,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEnB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAC7D,CAAC;IAEe,KAAK,CAAC,UAAU,CAC9B,OAAc;QAEd,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAA;QAE5D,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QAEhD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEhC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,UAAkC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;YACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAE3B,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;YAErD,OAAO,UAAU,CAAA;QACnB,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,cAAsB;QACzC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEvD,IAAI,MAAM,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAEjE,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAExC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CACzC,QAAQ,EACR,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAA;QAED,IAAI,MAAM,YAAY,KAAK;YAAE,OAAO,IAAI,CAAA;QAExC,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"Claims.js","sourceRoot":"","sources":["../../../source/directives/map/Claims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAKtC,MAAM,OAAO,MAAO,SAAQ,OAA+B;IACxC,SAAS,CAAqB;IACvC,UAAU,GAAqB,IAAI,CAAA;IAE3C,YAAmB,GAA2B,EAAE,OAAgB;QAC9D,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAEjF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAEvE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEnB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAC7D,CAAC;IAEe,KAAK,CAAC,UAAU,CAC9B,OAAc;QAEd,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAA;QAE5D,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QAEhD,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEhC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,UAAkC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;YACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAE3B,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;YAErD,OAAO,UAAU,CAAA;QACnB,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,cAAsB;QACzC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEvD,IAAI,MAAM,KAAK,QAAQ,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAEjE,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAExC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CACzC,QAAQ,EACR,EAAE,KAAK,EAAE,WAAW,EAAE,CACvB,CAAA;QAED,IAAI,MAAM,YAAY,KAAK;YAAE,OAAO,IAAI,CAAA;QAExC,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -1,4 +1,3 @@
1
- import assert from 'node:assert';
2
1
  import { cors } from '../cors/index.js';
3
2
  import { Mapping } from './Mapping.js';
4
3
  import { take } from '../../Introspection.js';
@@ -11,8 +10,10 @@ const FORBIDDEN = new Set(['host', 'origin']);
11
10
  export class Headers extends Mapping {
12
11
  headers;
13
12
  constructor(map) {
14
- assert.ok(map.constructor === Object, '`map:headers` must be an object');
15
- assert.ok(Object.values(map).every((value) => typeof value === 'string'), '`map:headers` must be an object with string values');
13
+ if (map.constructor !== Object)
14
+ throw new Error('`map:headers` must be an object');
15
+ if (!Object.values(map).every((value) => typeof value === 'string'))
16
+ throw new Error('`map:headers` must be an object with string values');
16
17
  super(map);
17
18
  this.headers = Object.values(map).filter((header) => !FORBIDDEN.has(header));
18
19
  this.headers.forEach((header) => cors.allow(header));
@@ -1 +1 @@
1
- {"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../source/directives/map/Headers.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAI7C;;;;GAIG;AACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE7C,MAAM,OAAO,OAAQ,SAAQ,OAA+B;IACzC,OAAO,CAAU;IAElC,YAAmB,GAA2B;QAC5C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,iCAAiC,CAAC,CAAA;QAExE,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAC9D,oDAAoD,CACrD,CAAA;QAED,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;;OAIG;IACa,OAAO,CAAC,aAA4B;QAClD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC/E,CAAC;IAEM,UAAU,CAAC,OAAc;QAC9B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,QAAQ,CAAC,OAAO,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;YAEzC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;gBAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,UAAkC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;YACzD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE7C,IAAI,KAAK,KAAK,SAAS;gBACrB,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAExE,OAAO,UAAU,CAAA;QACnB,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../source/directives/map/Headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAI7C;;;;GAIG;AACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE7C,MAAM,OAAO,OAAQ,SAAQ,OAA+B;IACzC,OAAO,CAAU;IAElC,YAAmB,GAA2B;QAC5C,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAElF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAEvE,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;;OAIG;IACa,OAAO,CAAC,aAA4B;QAClD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC/E,CAAC;IAEM,UAAU,CAAC,OAAc;QAC9B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,QAAQ,CAAC,OAAO,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;YAEzC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;gBAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,UAAkC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;YACzD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE7C,IAAI,KAAK,KAAK,SAAS;gBACrB,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAExE,OAAO,UAAU,CAAA;QACnB,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;CACF"}
@@ -1,4 +1,3 @@
1
- import assert from 'node:assert';
2
1
  import Negotiator from 'negotiator';
3
2
  import { cors } from '../cors/index.js';
4
3
  import { Mapping } from './Mapping.js';
@@ -6,7 +5,8 @@ import { Languages } from './Languages.js';
6
5
  export class Language extends Mapping {
7
6
  languages = null;
8
7
  constructor(property) {
9
- assert.ok(typeof property === 'string', '`map:language` must be a string');
8
+ if (typeof property !== 'string')
9
+ throw new Error('`map:language` must be a string');
10
10
  cors.allow('accept-language');
11
11
  super(property);
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../source/directives/map/Language.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK1C,MAAM,OAAO,QAAS,SAAQ,OAAe;IACnC,SAAS,GAAoB,IAAI,CAAA;IAEzC,YAAmB,QAAgB;QACjC,MAAM,CAAC,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,EAAE,iCAAiC,CAAC,CAAA;QAE1E,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC7B,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAEM,UAAU,CACf,OAAc,EACd,UAAuB,EACvB,UAAuB;QAEvB,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAE3C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAEzE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,QAAQ,CAAC,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;YAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;YAClD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IACnC,CAAC;IAEO,OAAO,CAAC,UAAuB;QACrC,KAAK,MAAM,SAAS,IAAI,UAAU;YAChC,IAAI,SAAS,YAAY,SAAS;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAA;QAE5D,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;IACvF,CAAC;CACF"}
1
+ {"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../source/directives/map/Language.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK1C,MAAM,OAAO,QAAS,SAAQ,OAAe;IACnC,SAAS,GAAoB,IAAI,CAAA;IAEzC,YAAmB,QAAgB;QACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAEpF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC7B,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAEM,UAAU,CACf,OAAc,EACd,UAAuB,EACvB,UAAuB;QAEvB,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAE3C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAEzE,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,QAAQ,CAAC,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;YAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;YAClD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IACnC,CAAC;IAEO,OAAO,CAAC,UAAuB;QACrC,KAAK,MAAM,SAAS,IAAI,UAAU;YAChC,IAAI,SAAS,YAAY,SAAS;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAA;QAE5D,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;IACvF,CAAC;CACF"}
@@ -1,9 +1,10 @@
1
- import assert from 'node:assert';
2
1
  import { Property } from './Properties.js';
3
2
  export class Languages extends Property {
4
3
  constructor(value) {
5
- assert.ok(Array.isArray(value) && value.length > 0, '`map:languages` must be a non-empty array of strings');
6
- assert.ok(value.every((language) => typeof language === 'string'), '`map:languages` must be an array of strings');
4
+ if (!(Array.isArray(value) && value.length > 0))
5
+ throw new Error('`map:languages` must be a non-empty array of strings');
6
+ if (!value.every((language) => typeof language === 'string'))
7
+ throw new Error('`map:languages` must be an array of strings');
7
8
  super('languages', value);
8
9
  }
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Languages.js","sourceRoot":"","sources":["../../../source/directives/map/Languages.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,MAAM,OAAO,SAAU,SAAQ,QAAqB;IAClD,YAAmB,KAAe;QAChC,MAAM,CAAC,EAAE,CACP,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EACxC,sDAAsD,CACvD,CAAA;QACD,MAAM,CAAC,EAAE,CACP,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,EACvD,6CAA6C,CAC9C,CAAA;QAED,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"Languages.js","sourceRoot":"","sources":["../../../source/directives/map/Languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,MAAM,OAAO,SAAU,SAAQ,QAAqB;IAClD,YAAmB,KAAe;QAChC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACzE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAEhE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC;CACF"}
@@ -1,10 +1,11 @@
1
- import assert from 'node:assert';
2
1
  import { Mapping } from './Mapping.js';
3
2
  import { take } from '../../Introspection.js';
4
3
  export class Segments extends Mapping {
5
4
  constructor(map) {
6
- assert.ok(map.constructor === Object, '`map:segments` must be an object');
7
- assert.ok(Object.values(map).every((value) => typeof value === 'string'), '`map:segments ` must be an object with string values');
5
+ if (map.constructor !== Object)
6
+ throw new Error('`map:segments` must be an object');
7
+ if (!Object.values(map).every((value) => typeof value === 'string'))
8
+ throw new Error('`map:segments ` must be an object with string values');
8
9
  super(map);
9
10
  }
10
11
  /** A segment is the caller's, so it moves to the route rather than out of sight. */
@@ -21,7 +22,8 @@ export class Segments extends Mapping {
21
22
  if (cut)
22
23
  parameter = parameter.slice(1);
23
24
  const index = parameters.findIndex(({ name }) => name === parameter);
24
- assert.ok(index > -1, `Route parameter '${parameter}' is missing`);
25
+ if (!(index > -1))
26
+ throw new Error(`Route parameter '${parameter}' is missing`);
25
27
  properties[property] = parameters[index].value;
26
28
  if (cut)
27
29
  parameters.splice(index, 1);
@@ -1 +1 @@
1
- {"version":3,"file":"Segments.js","sourceRoot":"","sources":["../../../source/directives/map/Segments.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAI7C,MAAM,OAAO,QAAS,SAAQ,OAA+B;IAC3D,YAAmB,GAA2B;QAC5C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,kCAAkC,CAAC,CAAA;QAEzE,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAC9D,sDAAsD,CACvD,CAAA;QAED,KAAK,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;IAED,oFAAoF;IACpE,OAAO,CAAC,aAA4B;QAClD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;YAE5C,aAAa,CAAC,KAAK,KAAK,EAAE,CAAA;YAC1B,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAK,EAAE,IAAI,EAAE,QAAQ,EAAwB,CAAA;QACrF,CAAC;IACH,CAAC;IAEe,UAAU,CACxB,CAAU,EACV,UAAuB;QAEvB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,UAAkC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;YAEhC,IAAI,GAAG;gBAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAEvC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;YAEpE,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,oBAAoB,SAAS,cAAc,CAAC,CAAA;YAElE,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAA;YAE9C,IAAI,GAAG;gBAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAEpC,OAAO,UAAU,CAAA;QACnB,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"Segments.js","sourceRoot":"","sources":["../../../source/directives/map/Segments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAI7C,MAAM,OAAO,QAAS,SAAQ,OAA+B;IAC3D,YAAmB,GAA2B;QAC5C,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAEnF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAEzE,KAAK,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;IAED,oFAAoF;IACpE,OAAO,CAAC,aAA4B;QAClD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;YAE5C,aAAa,CAAC,KAAK,KAAK,EAAE,CAAA;YAC1B,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAK,EAAE,IAAI,EAAE,QAAQ,EAAwB,CAAA;QACrF,CAAC;IACH,CAAC;IAEe,UAAU,CACxB,CAAU,EACV,UAAuB;QAEvB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,UAAkC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE;YAC5D,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;YAEhC,IAAI,GAAG;gBAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAEvC,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;YAEpE,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,cAAc,CAAC,CAAA;YAE/E,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAA;YAE9C,IAAI,GAAG;gBAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAEpC,OAAO,UAAU,CAAA;QACnB,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;CACF"}
@@ -1,4 +1,3 @@
1
- import assert from 'node:assert';
2
1
  import { Tool } from './Tool.js';
3
2
  /** The name the family is declared under, and what `MCP` asks a method for. */
4
3
  export const FAMILY = 'mcp';
@@ -18,7 +17,8 @@ export class MCP {
18
17
  }
19
18
  // eslint-disable-next-line max-params
20
19
  create(name, value, _, route) {
21
- assert.ok(name === 'tool', `Unknown directive: mcp:${name}`);
20
+ if (name !== 'tool')
21
+ throw new Error(`Unknown directive: mcp:${name}`);
22
22
  return new Tool(value, route);
23
23
  }
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MCP.js","sourceRoot":"","sources":["../../../source/directives/mcp/MCP.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,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,CAAC,UAAkB,EAAE,CAAU,EAAE,aAA4B;QACzE,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,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,0BAA0B,IAAI,EAAE,CAAC,CAAA;QAE5D,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;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,4 +1,3 @@
1
- import assert from 'node:assert';
2
1
  import { refusal } from '../../RPC/names.js';
3
2
  import { segment } from '../../RTD/segment.js';
4
3
  /**
@@ -12,11 +11,13 @@ import { segment } from '../../RTD/segment.js';
12
11
  export class Tool {
13
12
  published;
14
13
  constructor(value, route) {
15
- assert.ok(typeof value === 'boolean', 'Directive mcp:tool: the value is whether the method is published; what it is, is `help:method`');
14
+ if (typeof value !== 'boolean')
15
+ throw new Error('Directive mcp:tool: the value is whether the method is published; what it is, is `help:method`');
16
16
  // a tool is called by name, so a route that cannot be named cannot be one — said where
17
17
  // the mistake is, rather than as a tool that is quietly never listed
18
18
  if (value)
19
- assert.ok(refusal(segment(route)) === null, `Directive mcp:tool: '${route}' holds a segment no tool name can spell`);
19
+ if (refusal(segment(route)) !== null)
20
+ throw new Error(`Directive mcp:tool: '${route}' holds a segment no tool name can spell`);
20
21
  this.published = value;
21
22
  }
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Tool.js","sourceRoot":"","sources":["../../../source/directives/mcp/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,OAAO,IAAI;IACC,SAAS,CAAS;IAElC,YAAmB,KAAc,EAAE,KAAa;QAC9C,MAAM,CAAC,EAAE,CACP,OAAO,KAAK,KAAK,SAAS,EAC1B,gGAAgG,CACjG,CAAA;QAED,uFAAuF;QACvF,qEAAqE;QACrE,IAAI,KAAK;YACP,MAAM,CAAC,EAAE,CACP,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAChC,wBAAwB,KAAK,0CAA0C,CACxE,CAAA;QAEH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"Tool.js","sourceRoot":"","sources":["../../../source/directives/mcp/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,OAAO,IAAI;IACC,SAAS,CAAS;IAElC,YAAmB,KAAc,EAAE,KAAa;QAC9C,IAAI,OAAO,KAAK,KAAK,SAAS;YAC5B,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAA;QAEH,uFAAuF;QACvF,qEAAqE;QACrE,IAAI,KAAK;YACP,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI;gBAClC,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,0CAA0C,CACxE,CAAA;QAEL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IACxB,CAAC;CACF"}
@@ -1,11 +1,11 @@
1
- import assert from 'node:assert';
2
1
  import { Directive } from './Directive.js';
3
2
  export class Context extends Directive {
4
3
  targeted = false;
5
4
  storage;
6
5
  constructor(value) {
7
6
  super();
8
- assert.ok(typeof value === 'string', "Directive 'octets:context' must must be a string");
7
+ if (typeof value !== 'string')
8
+ throw new Error("Directive 'octets:context' must must be a string");
9
9
  this.storage = value;
10
10
  }
11
11
  async apply() {
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../source/directives/octets/Context.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,MAAM,OAAO,OAAQ,SAAQ,SAAS;IACpB,QAAQ,GAAG,KAAK,CAAA;IAChB,OAAO,CAAQ;IAE/B,YAAmB,KAAc;QAC/B,KAAK,EAAE,CAAA;QAEP,MAAM,CAAC,EAAE,CACP,OAAO,KAAK,KAAK,QAAQ,EACzB,kDAAkD,CACnD,CAAA;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../source/directives/octets/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,MAAM,OAAO,OAAQ,SAAQ,SAAS;IACpB,QAAQ,GAAG,KAAK,CAAA;IAChB,OAAO,CAAQ;IAE/B,YAAmB,KAAc;QAC/B,KAAK,EAAE,CAAA;QAEP,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QAErE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -13,6 +13,11 @@ export declare class Delete extends Directive {
13
13
  constructor(options: Options | null, discovery: Promise<Component>, remotes: Remotes);
14
14
  apply(storage: string, input: Input, parameters: Parameter[]): Promise<Output>;
15
15
  private delete;
16
+ /**
17
+ * The reports, then the deletion once every step has completed. A reply destroyed before
18
+ * that — the client gone, the gateway stopping — destroys the execution with it, and the
19
+ * entry stays.
20
+ */
16
21
  private execute;
17
22
  }
18
23
  export interface Options {
@@ -1,4 +1,4 @@
1
- import { Readable } from 'stream';
1
+ import { Transform, pipeline } from 'node:stream';
2
2
  import { NotFound } from '../../HTTP/index.js';
3
3
  import * as schemas from './schemas.js';
4
4
  import { Workflow } from './workflows/index.js';
@@ -28,7 +28,7 @@ export class Delete extends Directive {
28
28
  if (entry instanceof Error)
29
29
  throw new NotFound();
30
30
  output.status = 202;
31
- output.body = Readable.from(this.execute(input, storage, entry, parameters));
31
+ output.body = this.execute(input, storage, entry, parameters);
32
32
  }
33
33
  else
34
34
  await this.delete(storage, input);
@@ -42,19 +42,36 @@ export class Delete extends Directive {
42
42
  }
43
43
  });
44
44
  }
45
+ /**
46
+ * The reports, then the deletion once every step has completed. A reply destroyed before
47
+ * that — the client gone, the gateway stopping — destroys the execution with it, and the
48
+ * entry stays.
49
+ */
45
50
  // eslint-disable-next-line max-params
46
- async *execute(input, storage, entry, parameters) {
51
+ execute(input, storage, entry, parameters) {
47
52
  const location = {
48
53
  storage,
49
54
  authority: input.authority,
50
55
  path: input.request.url
51
56
  };
52
- for await (const chunk of this.workflow.execute(location, entry, parameters)) {
53
- yield chunk;
54
- if (typeof chunk === 'object' && chunk !== null && 'error' in chunk)
55
- return;
56
- }
57
- await this.delete(storage, input);
57
+ let failed = false;
58
+ const reports = new Transform({
59
+ objectMode: true,
60
+ transform: (report, _, callback) => {
61
+ if (report.error !== undefined || report.status === 'exception')
62
+ failed = true;
63
+ callback(null, report);
64
+ },
65
+ flush: (callback) => {
66
+ if (failed)
67
+ callback();
68
+ else
69
+ this.delete(storage, input).then(() => callback(), callback);
70
+ }
71
+ });
72
+ // the error is the reply's, and the pipeline that writes the reply reports it
73
+ pipeline(this.workflow.execute(location, entry, parameters), reports, () => { });
74
+ return reports;
58
75
  }
59
76
  }
60
77
  //# sourceMappingURL=Delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../source/directives/octets/Delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAU1C,MAAM,OAAO,MAAO,SAAQ,SAAS;IACnB,QAAQ,GAAG,IAAI,CAAA;IAEd,QAAQ,CAAW;IACnB,SAAS,CAAoB;IACtC,OAAO,CAAY;IAE3B,YACE,OAAuB,EACvB,SAA6B,EAC7B,OAAgB;QAEhB,KAAK,EAAE,CAAA;QACP,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEhC,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAEzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK,CAChB,OAAe,EACf,KAAY,EACZ,UAAuB;QAEvB,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAErC,MAAM,MAAM,GAAW,EAAE,CAAA;QAEzB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAe,MAAM,EAAE;gBAC5D,KAAK,EAAE;oBACL,OAAO;oBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;iBACxB;aACF,CAAC,CAAA;YAEF,IAAI,KAAK,YAAY,KAAK;gBAAE,MAAM,IAAI,QAAQ,EAAE,CAAA;YAEhD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAA;YACnB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;QAC9E,CAAC;;YAAM,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAExC,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,KAAY;QAChD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YAClC,KAAK,EAAE;gBACL,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;aACxB;SACF,CAAC,CAAA;IACJ,CAAC;IAED,sCAAsC;IAC9B,KAAK,CAAC,CAAC,OAAO,CACpB,KAAY,EACZ,OAAe,EACf,KAAY,EACZ,UAAuB;QAEvB,MAAM,QAAQ,GAAa;YACzB,OAAO;YACP,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;SACxB,CAAA;QAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,QAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YAC9E,MAAM,KAAK,CAAA;YAEX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK;gBAAE,OAAM;QAC7E,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../source/directives/octets/Delete.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { PassThrough } from 'node:stream';
1
+ import { PassThrough, pipeline } from 'node:stream';
2
2
  import { match } from 'matchacho';
3
3
  import * as http from '../../HTTP/index.js';
4
4
  import { cors } from '../cors/index.js';
@@ -72,7 +72,9 @@ export class Put extends Directive {
72
72
  identity: input.identity?.id,
73
73
  path: this.location ?? input.request.url
74
74
  };
75
- this.workflow.execute(location, entry, parameters).pipe(stream);
75
+ // not `pipe`: destroying the reply destroys the execution with it. The error is the
76
+ // reply's, and the pipeline that writes the reply is the one that reports it.
77
+ pipeline(this.workflow.execute(location, entry, parameters), stream, () => { });
76
78
  return stream;
77
79
  }
78
80
  throw(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"Put.js","sourceRoot":"","sources":["../../../source/directives/octets/Put.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Put.js","sourceRoot":"","sources":["../../../source/directives/octets/Put.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAWpC,MAAM,OAAO,GAAI,SAAQ,SAAS;IAChB,QAAQ,GAAG,KAAK,CAAA;IAEf,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,KAAK,CAAQ;IACb,WAAW,CAAQ;IACnB,KAAK,CAAyB;IAC9B,QAAQ,CAAW;IACnB,SAAS,GAAuC,EAAE,CAAA;IAC3D,OAAO,GAAqB,IAAI,CAAA;IAExC,YACE,OAAuB,EACvB,SAA6B,EAC7B,OAAgB;QAEhB,KAAK,EAAE,CAAA;QAEP,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAU,OAAO,CAAC,CAAA;QAEtC,IAAI,CAAC,MAAM,GAAG,KAAK,CACjB,OAAO,EAAE,MAAM,EACf,MAAM,EACN,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,EACxB,KAAK,EACL,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EACpC,SAAS,CACV,CAAA;QAED,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAEzD,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS;YAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAC/C,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAC/D,CAAA;QAEH,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAErE,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,KAAK,IAAI,OAAO,CAAA;QAC5C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACtC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,CAAA;QAElC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAChC,CAAC;IAED,6FAA6F;IAC7E,QAAQ,CAAC,aAA4B;QACnD,aAAa,CAAC,MAAM,GAAG;YACrB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7D,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACzD,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,KAAK,CAChB,OAAe,EACf,KAAY,EACZ,UAAuB;QAEvB,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAA;QAE7C,MAAM,OAAO,GAAiB;YAC5B,KAAK,EAAE;gBACL,OAAO;gBACP,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF,CAAA;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAQ,KAAK,EAAE,OAAO,CAAC,CAAA;QAE9D,OAAO,KAAK,CACV,KAAK,EACL,KAAK,EACL,CAAC,KAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EACxC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CACpD,CAAA;IACH,CAAC;IAED,sCAAsC;IAC9B,KAAK,CACX,KAAY,EACZ,OAAe,EACf,KAAY,EACZ,UAAuB;QAEvB,MAAM,IAAI,GACR,IAAI,CAAC,QAAQ,KAAK,SAAS;YACzB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;QAErD,OAAO,EAAE,IAAI,EAAE,CAAA;IACjB,CAAC;IAED,sCAAsC;IAC9B,OAAO,CACb,KAAY,EACZ,OAAe,EACf,KAAY,EACZ,UAAuB;QAEvB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QAEpD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAElB,MAAM,QAAQ,GAAa;YACzB,OAAO;YACP,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG;SACzC,CAAA;QAED,oFAAoF;QACpF,8EAA8E;QAC9E,QAAQ,CAAC,IAAI,CAAC,QAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAE/E,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,KAAiB;QAC7B,MAAM,KAAK,CACT,KAAK,CAAC,IAAI,EACV,gBAAgB,EAChB,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,EACrC,eAAe,EACf,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,EAC3B,gBAAgB,EAChB,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,EACzE,oBAAoB,EACpB,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EACvC,iBAAiB,EACjB,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EACxC,sBAAsB,EACtB,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EACtC,YAAY,EACZ,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EACxC,KAAK,CACN,CAAA;IACH,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
- import assert from 'node:assert';
2
1
  export function toBytes(input) {
3
2
  const match = RX.exec(input);
4
- assert.ok(match !== null, `Invalid bytes format: ${input}`);
3
+ if (match === null)
4
+ throw new Error(`Invalid bytes format: ${input}`);
5
5
  const value = parseFloat(match.groups.value);
6
6
  const prefix = match.groups.prefix?.[0].toLowerCase() ?? '';
7
7
  const binary = match.groups.binary !== undefined || match.groups.unit === 'b';
@@ -1 +1 @@
1
- {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../../source/directives/octets/bytes.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE5B,MAAM,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,yBAAyB,KAAK,EAAE,CAAC,CAAA;IAE3D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAO,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAO,CAAC,IAAI,KAAK,GAAG,CAAA;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAEpC,OAAO,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACvC,MAAM,EAAE,GAAG,sEAAsE,CAAA"}
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../../source/directives/octets/bytes.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE5B,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAA;IAErE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAO,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAO,CAAC,IAAI,KAAK,GAAG,CAAA;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAEpC,OAAO,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACvC,MAAM,EAAE,GAAG,sEAAsE,CAAA"}
@@ -8,9 +8,16 @@ export declare class Execution extends Readable {
8
8
  private readonly context;
9
9
  private readonly components;
10
10
  private readonly discovery;
11
+ /** The step streams being read, to be cut with the execution. */
12
+ private readonly streams;
11
13
  private interrupted;
12
14
  constructor(context: Context, units: Unit[], remotes: Remotes);
13
15
  _read(): void;
16
+ /**
17
+ * Nobody reads the reports any more: the reply was destroyed, or the gateway is stopping.
18
+ * The step in flight completes — an invocation is not cancelled — and no other starts.
19
+ */
20
+ _destroy(error: Error | null, callback: (error?: Error | null) => void): void;
14
21
  private run;
15
22
  private execute;
16
23
  private stream;
@@ -28,3 +35,9 @@ export interface Context {
28
35
  parameters: Record<string, string>;
29
36
  steps: Record<string, unknown>;
30
37
  }
38
+ export interface Report {
39
+ step: string;
40
+ status?: 'completed' | 'exception';
41
+ output?: unknown;
42
+ error?: Record<string, unknown>;
43
+ }
@@ -6,6 +6,8 @@ export class Execution extends Readable {
6
6
  context;
7
7
  components = {};
8
8
  discovery = {};
9
+ /** The step streams being read, to be cut with the execution. */
10
+ streams = new Set();
9
11
  interrupted = false;
10
12
  constructor(context, units, remotes) {
11
13
  super({ objectMode: true });
@@ -15,13 +17,24 @@ export class Execution extends Readable {
15
17
  void this.run();
16
18
  }
17
19
  _read() { }
20
+ /**
21
+ * Nobody reads the reports any more: the reply was destroyed, or the gateway is stopping.
22
+ * The step in flight completes — an invocation is not cancelled — and no other starts.
23
+ */
24
+ _destroy(error, callback) {
25
+ this.interrupted = true;
26
+ for (const stream of this.streams)
27
+ stream.destroy();
28
+ callback(error);
29
+ }
18
30
  async run() {
19
31
  for (const unit of this.units) {
20
32
  await this.execute(unit);
21
33
  if (this.interrupted)
22
34
  break;
23
35
  }
24
- this.push(null);
36
+ if (!this.destroyed)
37
+ this.push(null);
25
38
  }
26
39
  async execute(unit) {
27
40
  const promises = Object.entries(unit).map(async ([step, endpoint]) => {
@@ -38,6 +51,7 @@ export class Execution extends Readable {
38
51
  await Promise.all(promises);
39
52
  }
40
53
  async stream(step, stream) {
54
+ this.streams.add(stream);
41
55
  try {
42
56
  for await (const result of stream)
43
57
  this.report(step, result, false);
@@ -46,8 +60,13 @@ export class Execution extends Readable {
46
60
  catch (e) {
47
61
  this.exception(step, e);
48
62
  }
63
+ finally {
64
+ this.streams.delete(stream);
65
+ }
49
66
  }
50
67
  report(step, result, completed = true) {
68
+ if (this.destroyed)
69
+ return;
51
70
  const report = { step };
52
71
  if (completed)
53
72
  report.status = 'completed';
@@ -64,6 +83,9 @@ export class Execution extends Readable {
64
83
  this.push(report);
65
84
  }
66
85
  exception(step, error) {
86
+ // a step stream cut by `_destroy` is not an exception of the step
87
+ if (this.destroyed)
88
+ return;
67
89
  console.error('Workflow exception', error);
68
90
  this.push({ step, status: 'exception' });
69
91
  this.interrupted = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Execution.js","sourceRoot":"","sources":["../../../../source/directives/octets/workflows/Execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Execution.js","sourceRoot":"","sources":["../../../../source/directives/octets/workflows/Execution.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export { Workflow, type Unit, type Location } from './Workflow.js';
2
+ export type { Report } from './Execution.js';
@@ -1,10 +1,10 @@
1
- import assert from 'node:assert';
2
1
  import { Headers } from './Headers.js';
3
2
  export class Require {
4
3
  name = 'require';
5
4
  mandatory = false;
6
5
  create(name, value) {
7
- assert.ok(name in directives, `Unknown directive: require:${name}`);
6
+ if (!(name in directives))
7
+ throw new Error(`Unknown directive: require:${name}`);
8
8
  return new directives[name](value);
9
9
  }
10
10
  precall(instances, context) {