@toa.io/extensions.exposition 1.0.0-alpha.86 → 1.0.0-alpha.88

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 (76) hide show
  1. package/components/identity.basic/operations/transit.js +3 -3
  2. package/components/identity.basic/operations/transit.js.map +1 -1
  3. package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
  4. package/components/identity.basic/source/transit.ts +3 -3
  5. package/components/octets.storage/manifest.toa.yaml +3 -5
  6. package/components/octets.storage/operations/get.js +1 -1
  7. package/components/octets.storage/operations/head.js +7 -0
  8. package/components/octets.storage/operations/{store.js → put.js} +9 -9
  9. package/documentation/octets.md +17 -47
  10. package/features/{octets.meta.feature → octets.attributes.feature} +13 -12
  11. package/features/octets.cloudinary.feature +68 -0
  12. package/features/octets.download.feature +6 -6
  13. package/features/octets.entries.feature +8 -57
  14. package/features/octets.feature +8 -60
  15. package/features/octets.workflows.feature +0 -36
  16. package/features/steps/.env.example +3 -0
  17. package/features/steps/Parameters.ts +10 -0
  18. package/features/steps/components/octets.tester/manifest.toa.yaml +0 -1
  19. package/features/steps/components/octets.tester/operations/bar.js +0 -1
  20. package/features/steps/components/octets.tester/operations/baz.js +0 -1
  21. package/features/steps/components/octets.tester/operations/foo.js +0 -1
  22. package/package.json +3 -3
  23. package/source/Endpoint.ts +3 -3
  24. package/source/HTTP/Server.ts +4 -0
  25. package/source/RTD/syntax/parse.test.ts +1 -1
  26. package/source/directives/auth/Scheme.ts +1 -1
  27. package/source/directives/io/Output.ts +1 -1
  28. package/source/directives/octets/Delete.ts +11 -11
  29. package/source/directives/octets/{Fetch.ts → Get.ts} +17 -34
  30. package/source/directives/octets/Octets.ts +6 -8
  31. package/source/directives/octets/{Store.ts → Put.ts} +9 -14
  32. package/source/directives/octets/Workflow.ts +1 -1
  33. package/source/directives/octets/schemas.ts +4 -6
  34. package/source/directives/octets/workflows/Workflow.ts +2 -3
  35. package/source/directives/vary/embeddings/Language.ts +2 -2
  36. package/transpiled/Endpoint.js +3 -3
  37. package/transpiled/Endpoint.js.map +1 -1
  38. package/transpiled/HTTP/Server.js +2 -0
  39. package/transpiled/HTTP/Server.js.map +1 -1
  40. package/transpiled/directives/auth/Scheme.js +1 -1
  41. package/transpiled/directives/auth/Scheme.js.map +1 -1
  42. package/transpiled/directives/io/Output.js +1 -1
  43. package/transpiled/directives/io/Output.js.map +1 -1
  44. package/transpiled/directives/octets/Delete.js +8 -8
  45. package/transpiled/directives/octets/Delete.js.map +1 -1
  46. package/transpiled/directives/octets/{Fetch.d.ts → Get.d.ts} +2 -3
  47. package/transpiled/directives/octets/{Fetch.js → Get.js} +19 -24
  48. package/transpiled/directives/octets/Get.js.map +1 -0
  49. package/transpiled/directives/octets/Octets.js +6 -8
  50. package/transpiled/directives/octets/Octets.js.map +1 -1
  51. package/transpiled/directives/octets/{Store.d.ts → Put.d.ts} +2 -2
  52. package/transpiled/directives/octets/{Store.js → Put.js} +11 -14
  53. package/transpiled/directives/octets/Put.js.map +1 -0
  54. package/transpiled/directives/octets/Workflow.js +1 -1
  55. package/transpiled/directives/octets/Workflow.js.map +1 -1
  56. package/transpiled/directives/octets/schemas.d.ts +4 -6
  57. package/transpiled/directives/octets/schemas.js +3 -4
  58. package/transpiled/directives/octets/schemas.js.map +1 -1
  59. package/transpiled/directives/octets/workflows/Workflow.d.ts +1 -1
  60. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  61. package/transpiled/directives/vary/embeddings/Language.js +2 -2
  62. package/transpiled/directives/vary/embeddings/Language.js.map +1 -1
  63. package/transpiled/tsconfig.tsbuildinfo +1 -1
  64. package/components/octets.storage/operations/fetch.js +0 -46
  65. package/components/octets.storage/operations/list.js +0 -7
  66. package/features/steps/components/octets.tester/operations/diversify.js +0 -16
  67. package/schemas/octets/fetch.cos.yaml +0 -3
  68. package/schemas/octets/permute.cos.yaml +0 -1
  69. package/source/directives/octets/List.ts +0 -72
  70. package/transpiled/directives/octets/Fetch.js.map +0 -1
  71. package/transpiled/directives/octets/List.d.ts +0 -16
  72. package/transpiled/directives/octets/List.js +0 -74
  73. package/transpiled/directives/octets/List.js.map +0 -1
  74. package/transpiled/directives/octets/Store.js.map +0 -1
  75. /package/schemas/octets/{list.cos.yaml → get.cos.yaml} +0 -0
  76. /package/schemas/octets/{store.cos.yaml → put.cos.yaml} +0 -0
@@ -1,46 +0,0 @@
1
- 'use strict'
2
-
3
- const { posix } = require('node:path')
4
- const { Err } = require('error-value')
5
-
6
- async function fetch (input, context) {
7
- const storage = context.storages[input.storage]
8
- const basename = posix.basename(input.path)
9
- const path = posix.dirname(input.path)
10
- const [id, suffix] = split(basename)
11
- const entry = await storage.get(posix.join(path, id))
12
-
13
- if (entry instanceof Error)
14
- return entry
15
-
16
- let variant
17
-
18
- if (suffix !== undefined) {
19
- variant = entry.variants.find((variant) => variant.name === suffix)
20
-
21
- if (variant === undefined)
22
- return NOT_FOUND
23
- }
24
-
25
- const stream = await storage.fetch(input.path)
26
-
27
- if (stream instanceof Error)
28
- return stream
29
-
30
- const { type, size } = variant ?? entry
31
-
32
- return { stream, checksum: entry.id, type, size }
33
- }
34
-
35
- function split (basename) {
36
- const dot = basename.indexOf('.')
37
-
38
- if (dot === -1)
39
- return [basename, undefined]
40
- else
41
- return [basename.slice(0, dot), basename.slice(dot + 1)]
42
- }
43
-
44
- const NOT_FOUND = Err('NOT_FOUND')
45
-
46
- exports.effect = fetch
@@ -1,7 +0,0 @@
1
- 'use strict'
2
-
3
- function list (input, context) {
4
- return context.storages[input.storage].list(input.path)
5
- }
6
-
7
- exports.effect = list
@@ -1,16 +0,0 @@
1
- 'use strict'
2
-
3
- const { join } = require('node:path')
4
- const { createReadStream } = require('node:fs')
5
-
6
- const lenna = join(__dirname, 'lenna.png')
7
-
8
- async function diversify (input, context) {
9
- const stream = createReadStream(lenna)
10
-
11
- await context.storages[input.storage].diversify(input.path, 'hello.png', stream)
12
-
13
- return 'hello'
14
- }
15
-
16
- exports.effect = diversify
@@ -1,3 +0,0 @@
1
- blob: boolean
2
- meta: boolean
3
- _: true
@@ -1 +0,0 @@
1
- ~
@@ -1,72 +0,0 @@
1
- import { posix } from 'node:path'
2
- import { Forbidden, NotFound } from '../../HTTP'
3
- import * as schemas from './schemas'
4
- import { Directive } from './Directive'
5
- import type { Entry } from '@toa.io/extensions.storages'
6
- import type { Maybe } from '@toa.io/types'
7
- import type { Component } from '@toa.io/core'
8
- import type { Output } from '../../io'
9
-
10
- import type { Input } from './types'
11
-
12
- export class List extends Directive {
13
- public readonly targeted = false
14
-
15
- private readonly options: Required<Options> = { meta: false }
16
- private readonly discovery: Promise<Component>
17
- private storage: Component | null = null
18
-
19
- public constructor (permissions: Options | null, discovery: Promise<Component>) {
20
- super()
21
- schemas.list.validate(permissions)
22
-
23
- Object.assign(this.options, permissions)
24
- this.discovery = discovery
25
- }
26
-
27
- public async apply (storage: string, input: Input): Promise<Output> {
28
- this.storage ??= await this.discovery
29
-
30
- const metadata = input.subtype === 'octets.entries'
31
-
32
- if (metadata && !this.options.meta)
33
- throw new Forbidden('Metadata is not accessible.')
34
-
35
- const list = await this.storage.invoke<Maybe<string[]>>('list', {
36
- input: {
37
- storage,
38
- path: input.request.url
39
- }
40
- })
41
-
42
- if (list instanceof Error)
43
- throw new NotFound()
44
-
45
- const body = metadata
46
- ? await this.expand(storage, input.request.url, list)
47
- : list
48
-
49
- return { body }
50
- }
51
-
52
- private async expand (storage: string, prefix: string, list: string[]):
53
- Promise<Array<Maybe<Entry>>> {
54
- const promises = list.map(async (id) => {
55
- const path = posix.join(prefix, id)
56
-
57
- const input = {
58
- storage,
59
- path
60
- }
61
-
62
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- ensured in `apply`
63
- return this.storage!.invoke<Maybe<Entry>>('get', { input })
64
- })
65
-
66
- return await Promise.all(promises)
67
- }
68
- }
69
-
70
- export interface Options {
71
- meta?: boolean
72
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Fetch.js","sourceRoot":"","sources":["../../../source/directives/octets/Fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAiC;AACjC,qCAAgD;AAChD,mDAAoC;AACpC,2CAAuC;AAQvC,MAAa,KAAM,SAAQ,qBAAS;IAClB,QAAQ,GAAG,IAAI,CAAA;IAEd,OAAO,GAAsB;QAC5C,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,KAAK;KACZ,CAAA;IAEgB,SAAS,CAAoB;IACtC,OAAO,CAAY;IAE3B,YAAoB,OAAuB,EAAE,SAA6B;QACxE,KAAK,EAAE,CAAA;QAEP,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAEpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,KAAY;QAC/C,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAErC,MAAM,OAAO,GAAG,iBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,KAAK,cAAc,CAAA;QAEjD,IAAI,CAAC,OAAO,IAAI,QAAQ;YACtB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;gBACnB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;;gBAE/B,MAAM,IAAI,gBAAS,CAAC,6BAA6B,CAAC,CAAA;QAEtD,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;YAChC,MAAM,IAAI,gBAAS,CAAC,iCAAiC,CAAC,CAAA;QAExD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAEO,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,KAAY;QAChD,IAAI,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO;YAC1C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAqB,OAAO,EAAE;YACpE,KAAK,EAAE;gBACL,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;aACxB;SACF,CAAC,CAAA;QAEF,IAAI,MAAM,YAAY,KAAK;YACzB,MAAM,IAAI,eAAQ,EAAE,CAAA;QAEtB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,cAAc,EAAE,MAAM,CAAC,IAAI;YAC3B,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxC,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,GAAG;SAC7B,CAAC,CAAA;QAEF,OAAO;YACL,OAAO;YACP,IAAI,EAAE,MAAM,CAAC,MAAM;SACpB,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,GAAG,CAAE,OAAe,EAAE,KAAY;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAe,KAAK,EAAE;YAC3D,KAAK,EAAE;gBACL,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;aACxB;SACF,CAAC,CAAA;QAEF,IAAI,KAAK,YAAY,KAAK;YACxB,MAAM,IAAI,eAAQ,EAAE,CAAA;QAEtB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACxB,CAAC;CACF;AA7ED,sBA6EC"}
@@ -1,16 +0,0 @@
1
- import { Directive } from './Directive';
2
- import type { Component } from '@toa.io/core';
3
- import type { Output } from '../../io';
4
- import type { Input } from './types';
5
- export declare class List extends Directive {
6
- readonly targeted = false;
7
- private readonly options;
8
- private readonly discovery;
9
- private storage;
10
- constructor(permissions: Options | null, discovery: Promise<Component>);
11
- apply(storage: string, input: Input): Promise<Output>;
12
- private expand;
13
- }
14
- export interface Options {
15
- meta?: boolean;
16
- }
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.List = void 0;
27
- const node_path_1 = require("node:path");
28
- const HTTP_1 = require("../../HTTP");
29
- const schemas = __importStar(require("./schemas"));
30
- const Directive_1 = require("./Directive");
31
- class List extends Directive_1.Directive {
32
- targeted = false;
33
- options = { meta: false };
34
- discovery;
35
- storage = null;
36
- constructor(permissions, discovery) {
37
- super();
38
- schemas.list.validate(permissions);
39
- Object.assign(this.options, permissions);
40
- this.discovery = discovery;
41
- }
42
- async apply(storage, input) {
43
- this.storage ??= await this.discovery;
44
- const metadata = input.subtype === 'octets.entries';
45
- if (metadata && !this.options.meta)
46
- throw new HTTP_1.Forbidden('Metadata is not accessible.');
47
- const list = await this.storage.invoke('list', {
48
- input: {
49
- storage,
50
- path: input.request.url
51
- }
52
- });
53
- if (list instanceof Error)
54
- throw new HTTP_1.NotFound();
55
- const body = metadata
56
- ? await this.expand(storage, input.request.url, list)
57
- : list;
58
- return { body };
59
- }
60
- async expand(storage, prefix, list) {
61
- const promises = list.map(async (id) => {
62
- const path = node_path_1.posix.join(prefix, id);
63
- const input = {
64
- storage,
65
- path
66
- };
67
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- ensured in `apply`
68
- return this.storage.invoke('get', { input });
69
- });
70
- return await Promise.all(promises);
71
- }
72
- }
73
- exports.List = List;
74
- //# sourceMappingURL=List.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"List.js","sourceRoot":"","sources":["../../../source/directives/octets/List.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAiC;AACjC,qCAAgD;AAChD,mDAAoC;AACpC,2CAAuC;AAQvC,MAAa,IAAK,SAAQ,qBAAS;IACjB,QAAQ,GAAG,KAAK,CAAA;IAEf,OAAO,GAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IAC5C,SAAS,CAAoB;IACtC,OAAO,GAAqB,IAAI,CAAA;IAExC,YAAoB,WAA2B,EAAE,SAA6B;QAC5E,KAAK,EAAE,CAAA;QACP,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAElC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,KAAY;QAC/C,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAErC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAA;QAEnD,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;YAChC,MAAM,IAAI,gBAAS,CAAC,6BAA6B,CAAC,CAAA;QAEpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAkB,MAAM,EAAE;YAC9D,KAAK,EAAE;gBACL,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;aACxB;SACF,CAAC,CAAA;QAEF,IAAI,IAAI,YAAY,KAAK;YACvB,MAAM,IAAI,eAAQ,EAAE,CAAA;QAEtB,MAAM,IAAI,GAAG,QAAQ;YACnB,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;YACrD,CAAC,CAAC,IAAI,CAAA;QAER,OAAO,EAAE,IAAI,EAAE,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,MAAM,CAAE,OAAe,EAAE,MAAc,EAAE,IAAc;QAEnE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,iBAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAEnC,MAAM,KAAK,GAAG;gBACZ,OAAO;gBACP,IAAI;aACL,CAAA;YAED,0FAA0F;YAC1F,OAAO,IAAI,CAAC,OAAQ,CAAC,MAAM,CAAe,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7D,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;CACF;AAxDD,oBAwDC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../source/directives/octets/Store.ts"],"names":[],"mappings":"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"}
File without changes
File without changes