@walde.ai/walde-sdk 0.1.4 → 0.1.7

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 (98) hide show
  1. package/dist/browser.d.ts +12 -0
  2. package/dist/browser.d.ts.map +1 -0
  3. package/dist/browser.js +23 -0
  4. package/dist/browser.js.map +1 -0
  5. package/dist/node.d.ts +7 -0
  6. package/dist/node.d.ts.map +1 -0
  7. package/dist/node.js +27 -0
  8. package/dist/node.js.map +1 -0
  9. package/dist/sdk/dev/mock-credentials-provider.d.ts +20 -0
  10. package/dist/sdk/dev/mock-credentials-provider.d.ts.map +1 -0
  11. package/dist/sdk/dev/mock-credentials-provider.js +31 -0
  12. package/dist/sdk/dev/mock-credentials-provider.js.map +1 -0
  13. package/dist/sdk/dev/s3-mock-client-factory.d.ts +15 -0
  14. package/dist/sdk/dev/s3-mock-client-factory.d.ts.map +1 -0
  15. package/dist/sdk/dev/s3-mock-client-factory.js +25 -0
  16. package/dist/sdk/dev/s3-mock-client-factory.js.map +1 -0
  17. package/dist/sdk/dev/s3-mock-client.d.ts +14 -0
  18. package/dist/sdk/dev/s3-mock-client.d.ts.map +1 -0
  19. package/dist/sdk/dev/s3-mock-client.js +45 -0
  20. package/dist/sdk/dev/s3-mock-client.js.map +1 -0
  21. package/dist/sdk/domain/entities/walde-admin-config.d.ts +4 -0
  22. package/dist/sdk/domain/entities/walde-admin-config.d.ts.map +1 -1
  23. package/dist/sdk/domain/entities/walde-admin-config.js +7 -2
  24. package/dist/sdk/domain/entities/walde-admin-config.js.map +1 -1
  25. package/dist/sdk/domain/ports/out/s3-client-factory.d.ts +13 -0
  26. package/dist/sdk/domain/ports/out/s3-client-factory.d.ts.map +1 -0
  27. package/dist/sdk/domain/ports/out/s3-client-factory.js +3 -0
  28. package/dist/sdk/domain/ports/out/s3-client-factory.js.map +1 -0
  29. package/dist/sdk/index.d.ts +6 -1
  30. package/dist/sdk/index.d.ts.map +1 -1
  31. package/dist/sdk/index.js +12 -3
  32. package/dist/sdk/index.js.map +1 -1
  33. package/dist/sdk/infra/adapters/admin-http-client.d.ts +16 -0
  34. package/dist/sdk/infra/adapters/admin-http-client.d.ts.map +1 -0
  35. package/dist/sdk/infra/adapters/admin-http-client.js +75 -0
  36. package/dist/sdk/infra/adapters/admin-http-client.js.map +1 -0
  37. package/dist/sdk/infra/adapters/api-client.d.ts +2 -2
  38. package/dist/sdk/infra/adapters/api-client.d.ts.map +1 -1
  39. package/dist/sdk/infra/adapters/api-client.js.map +1 -1
  40. package/dist/sdk/infra/adapters/aws-s3-client-factory.d.ts +13 -0
  41. package/dist/sdk/infra/adapters/aws-s3-client-factory.d.ts.map +1 -0
  42. package/dist/sdk/infra/adapters/aws-s3-client-factory.js +24 -0
  43. package/dist/sdk/infra/adapters/aws-s3-client-factory.js.map +1 -0
  44. package/dist/sdk/infra/adapters/default-http-client.d.ts +2 -6
  45. package/dist/sdk/infra/adapters/default-http-client.d.ts.map +1 -1
  46. package/dist/sdk/infra/adapters/default-http-client.js +7 -12
  47. package/dist/sdk/infra/adapters/default-http-client.js.map +1 -1
  48. package/dist/sdk/infra/adapters/frontend-http-client.d.ts +9 -7
  49. package/dist/sdk/infra/adapters/frontend-http-client.d.ts.map +1 -1
  50. package/dist/sdk/infra/adapters/frontend-http-client.js +17 -11
  51. package/dist/sdk/infra/adapters/frontend-http-client.js.map +1 -1
  52. package/dist/sdk/infra/adapters/http-request-handler.d.ts +31 -0
  53. package/dist/sdk/infra/adapters/http-request-handler.d.ts.map +1 -0
  54. package/dist/sdk/infra/adapters/http-request-handler.js +83 -0
  55. package/dist/sdk/infra/adapters/http-request-handler.js.map +1 -0
  56. package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.d.ts +3 -1
  57. package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.d.ts.map +1 -1
  58. package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.js +6 -10
  59. package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.js.map +1 -1
  60. package/dist/sdk/infra/adapters/repositories/default-walde-admin-config.d.ts.map +1 -1
  61. package/dist/sdk/infra/adapters/repositories/default-walde-admin-config.js +3 -1
  62. package/dist/sdk/infra/adapters/repositories/default-walde-admin-config.js.map +1 -1
  63. package/dist/sdk/infra/backend/walde-client.d.ts +3 -4
  64. package/dist/sdk/infra/backend/walde-client.d.ts.map +1 -1
  65. package/dist/sdk/infra/backend/walde-client.js +9 -9
  66. package/dist/sdk/infra/backend/walde-client.js.map +1 -1
  67. package/dist/sdk/infra/factories/s3-files-repo-factory.d.ts +3 -0
  68. package/dist/sdk/infra/factories/s3-files-repo-factory.d.ts.map +1 -1
  69. package/dist/sdk/infra/factories/s3-files-repo-factory.js +5 -1
  70. package/dist/sdk/infra/factories/s3-files-repo-factory.js.map +1 -1
  71. package/dist/sdk/infra/factories/walde-admin-factory.d.ts +2 -0
  72. package/dist/sdk/infra/factories/walde-admin-factory.d.ts.map +1 -1
  73. package/dist/sdk/infra/factories/walde-admin-factory.js +5 -4
  74. package/dist/sdk/infra/factories/walde-admin-factory.js.map +1 -1
  75. package/dist/sdk/infra/futures/content-by-key-future.d.ts +27 -0
  76. package/dist/sdk/infra/futures/content-by-key-future.d.ts.map +1 -0
  77. package/dist/sdk/infra/futures/content-by-key-future.js +63 -0
  78. package/dist/sdk/infra/futures/content-by-key-future.js.map +1 -0
  79. package/dist/sdk/infra/futures/content-item-future.d.ts +2 -3
  80. package/dist/sdk/infra/futures/content-item-future.d.ts.map +1 -1
  81. package/dist/sdk/infra/futures/content-item-future.js +6 -9
  82. package/dist/sdk/infra/futures/content-item-future.js.map +1 -1
  83. package/dist/sdk/infra/futures/content-list-future.d.ts +3 -3
  84. package/dist/sdk/infra/futures/content-list-future.d.ts.map +1 -1
  85. package/dist/sdk/infra/futures/content-list-future.js +14 -4
  86. package/dist/sdk/infra/futures/content-list-future.js.map +1 -1
  87. package/dist/sdk/infra/futures/frontend-contents-future.d.ts +12 -17
  88. package/dist/sdk/infra/futures/frontend-contents-future.d.ts.map +1 -1
  89. package/dist/sdk/infra/futures/frontend-contents-future.js +14 -35
  90. package/dist/sdk/infra/futures/frontend-contents-future.js.map +1 -1
  91. package/dist/sdk/infra/futures/walde-future.d.ts +3 -14
  92. package/dist/sdk/infra/futures/walde-future.d.ts.map +1 -1
  93. package/dist/sdk/infra/futures/walde-future.js +3 -31
  94. package/dist/sdk/infra/futures/walde-future.js.map +1 -1
  95. package/dist/sdk/make-walde-admin.d.ts +4 -3
  96. package/dist/sdk/make-walde-admin.d.ts.map +1 -1
  97. package/dist/sdk/make-walde-admin.js.map +1 -1
  98. package/package.json +19 -4
@@ -0,0 +1,27 @@
1
+ import { Future } from '../../../std/domain/entities/future';
2
+ import { Result } from '../../../std/domain/entities/result';
3
+ import { FrontendContent } from '../../../sdk/domain/entities/frontend-content';
4
+ import { FrontendHttpClient } from '../../../sdk/infra/adapters/frontend-http-client';
5
+ import { FrontendContentDtoMapper } from '../../../sdk/infra/mappers/dto/frontend-content-dto-mapper';
6
+ import { ManifestFuture } from './manifest-future';
7
+ /**
8
+ * Future for content item operations that resolves key/name to ID via manifest
9
+ */
10
+ export declare class ContentByKeyFuture extends Future<FrontendContent, never> {
11
+ private readonly contentKey;
12
+ private readonly keyType;
13
+ private readonly manifestFuture;
14
+ private readonly httpClient;
15
+ private readonly contentMapper;
16
+ private selectedLocale?;
17
+ constructor(contentKey: string, keyType: 'key' | 'name', manifestFuture: ManifestFuture, httpClient: FrontendHttpClient, contentMapper: FrontendContentDtoMapper);
18
+ /**
19
+ * Specify locale for content retrieval
20
+ */
21
+ locale(locale: string): ContentByKeyFuture;
22
+ /**
23
+ * Resolve the content by first looking up ID in manifest, then fetching from API
24
+ */
25
+ resolve(): Promise<Result<FrontendContent, any>>;
26
+ }
27
+ //# sourceMappingURL=content-by-key-future.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-by-key-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-by-key-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAW,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;IAIlE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAPhC,OAAO,CAAC,cAAc,CAAC,CAAS;gBAGb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,KAAK,GAAG,MAAM,EACvB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,wBAAwB;IAK1D;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAY1C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;CA8BvD"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContentByKeyFuture = void 0;
4
+ const future_1 = require("../../../std/domain/entities/future");
5
+ const result_1 = require("../../../std/domain/entities/result");
6
+ const errors_1 = require("../../../sdk/domain/errors");
7
+ /**
8
+ * Future for content item operations that resolves key/name to ID via manifest
9
+ */
10
+ class ContentByKeyFuture extends future_1.Future {
11
+ contentKey;
12
+ keyType;
13
+ manifestFuture;
14
+ httpClient;
15
+ contentMapper;
16
+ selectedLocale;
17
+ constructor(contentKey, keyType, manifestFuture, httpClient, contentMapper) {
18
+ super({ parent: undefined });
19
+ this.contentKey = contentKey;
20
+ this.keyType = keyType;
21
+ this.manifestFuture = manifestFuture;
22
+ this.httpClient = httpClient;
23
+ this.contentMapper = contentMapper;
24
+ }
25
+ /**
26
+ * Specify locale for content retrieval
27
+ */
28
+ locale(locale) {
29
+ const newFuture = new ContentByKeyFuture(this.contentKey, this.keyType, this.manifestFuture, this.httpClient, this.contentMapper);
30
+ newFuture.selectedLocale = locale;
31
+ return newFuture;
32
+ }
33
+ /**
34
+ * Resolve the content by first looking up ID in manifest, then fetching from API
35
+ */
36
+ async resolve() {
37
+ try {
38
+ if (!this.selectedLocale) {
39
+ return (0, result_1.err)(new errors_1.WaldeValidationError('Locale must be specified for content retrieval'));
40
+ }
41
+ // Get manifest to resolve key/name to ID
42
+ const manifestResult = await this.manifestFuture.resolve();
43
+ if (manifestResult.isErr()) {
44
+ return (0, result_1.err)(manifestResult.unwrapErr());
45
+ }
46
+ const manifest = manifestResult.unwrap();
47
+ const contentMetadata = manifest.contents.find(content => this.keyType === 'key' ? content.key === this.contentKey : content.name === this.contentKey);
48
+ if (!contentMetadata) {
49
+ return (0, result_1.err)(new errors_1.WaldeValidationError(`Content with ${this.keyType} '${this.contentKey}' not found in manifest`));
50
+ }
51
+ // Fetch content using resolved ID
52
+ const endpoint = `/contents/${contentMetadata.id}/${this.selectedLocale}.json`;
53
+ const contentData = await this.httpClient.get(endpoint);
54
+ const content = this.contentMapper.toDomain(contentData);
55
+ return (0, result_1.ok)(content);
56
+ }
57
+ catch (error) {
58
+ return (0, result_1.err)(error);
59
+ }
60
+ }
61
+ }
62
+ exports.ContentByKeyFuture = ContentByKeyFuture;
63
+ //# sourceMappingURL=content-by-key-future.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-by-key-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-by-key-future.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,yDAA+D;AAK/D,gDAA2D;AAE3D;;GAEG;AACH,MAAa,kBAAmB,SAAQ,eAA8B;IAIjD;IACA;IACA;IACA;IACA;IAPX,cAAc,CAAU;IAEhC,YACmB,UAAkB,EAClB,OAAuB,EACvB,cAA8B,EAC9B,UAA8B,EAC9B,aAAuC;QAExD,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QANrB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAgB;QACvB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAoB;QAC9B,kBAAa,GAAb,aAAa,CAA0B;IAG1D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAc;QACnB,MAAM,SAAS,GAAG,IAAI,kBAAkB,CACtC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,SAAS,CAAC,cAAc,GAAG,MAAM,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,OAAO,IAAA,YAAG,EAAC,IAAI,6BAAoB,CAAC,gDAAgD,CAAC,CAAC,CAAC;YACzF,CAAC;YAED,yCAAyC;YACzC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3D,IAAI,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC3B,OAAO,IAAA,YAAG,EAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACvD,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAC5F,CAAC;YAEF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,IAAA,YAAG,EAAC,IAAI,6BAAoB,CAAC,gBAAgB,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,yBAAyB,CAAC,CAAC,CAAC;YAClH,CAAC;YAED,kCAAkC;YAClC,MAAM,QAAQ,GAAG,aAAa,eAAe,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,OAAO,CAAC;YAC/E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAM,QAAQ,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACzD,OAAO,IAAA,WAAE,EAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,YAAG,EAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;CACF;AA7DD,gDA6DC"}
@@ -1,18 +1,17 @@
1
1
  import { Future } from '../../../std/domain/entities/future';
2
2
  import { Result } from '../../../std/domain/entities/result';
3
3
  import { FrontendContent } from '../../../sdk/domain/entities/frontend-content';
4
- import { ManifestContent } from '../../../sdk/domain/entities/manifest-content';
5
4
  import { FrontendHttpClient } from '../../../sdk/infra/adapters/frontend-http-client';
6
5
  import { FrontendContentDtoMapper } from '../../../sdk/infra/mappers/dto/frontend-content-dto-mapper';
7
6
  /**
8
7
  * Future for individual content item operations with locale support
9
8
  */
10
9
  export declare class ContentItemFuture extends Future<FrontendContent, never> {
11
- private readonly contentMetadata;
10
+ private readonly contentId;
12
11
  private readonly httpClient;
13
12
  private readonly contentMapper;
14
13
  private selectedLocale?;
15
- constructor(contentMetadata: ManifestContent, httpClient: FrontendHttpClient, contentMapper: FrontendContentDtoMapper);
14
+ constructor(contentId: string, httpClient: FrontendHttpClient, contentMapper: FrontendContentDtoMapper);
16
15
  /**
17
16
  * Specify locale for content retrieval
18
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"content-item-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-item-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAW,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAG/F;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;IAIjE,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IALhC,OAAO,CAAC,cAAc,CAAC,CAAS;gBAGb,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,wBAAwB;IAK1D;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAgBzC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;CAgBvD"}
1
+ {"version":3,"file":"content-item-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-item-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAW,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAG/F;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;IAIjE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IALhC,OAAO,CAAC,cAAc,CAAC,CAAS;gBAGb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,wBAAwB;IAK1D;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAUzC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;CAcvD"}
@@ -8,13 +8,13 @@ const errors_1 = require("../../../sdk/domain/errors");
8
8
  * Future for individual content item operations with locale support
9
9
  */
10
10
  class ContentItemFuture extends future_1.Future {
11
- contentMetadata;
11
+ contentId;
12
12
  httpClient;
13
13
  contentMapper;
14
14
  selectedLocale;
15
- constructor(contentMetadata, httpClient, contentMapper) {
15
+ constructor(contentId, httpClient, contentMapper) {
16
16
  super({ parent: undefined });
17
- this.contentMetadata = contentMetadata;
17
+ this.contentId = contentId;
18
18
  this.httpClient = httpClient;
19
19
  this.contentMapper = contentMapper;
20
20
  }
@@ -22,10 +22,7 @@ class ContentItemFuture extends future_1.Future {
22
22
  * Specify locale for content retrieval
23
23
  */
24
24
  locale(locale) {
25
- if (!this.contentMetadata.locales.includes(locale)) {
26
- throw new errors_1.WaldeValidationError(`Locale '${locale}' not available for content '${this.contentMetadata.name}'. Available locales: ${this.contentMetadata.locales.join(', ')}`);
27
- }
28
- const newFuture = new ContentItemFuture(this.contentMetadata, this.httpClient, this.contentMapper);
25
+ const newFuture = new ContentItemFuture(this.contentId, this.httpClient, this.contentMapper);
29
26
  newFuture.selectedLocale = locale;
30
27
  return newFuture;
31
28
  }
@@ -35,9 +32,9 @@ class ContentItemFuture extends future_1.Future {
35
32
  async resolve() {
36
33
  try {
37
34
  if (!this.selectedLocale) {
38
- throw new errors_1.WaldeValidationError(`Locale must be specified for content '${this.contentMetadata.name}'. Available locales: ${this.contentMetadata.locales.join(', ')}`);
35
+ return (0, result_1.err)(new errors_1.WaldeValidationError('Locale must be specified for content retrieval'));
39
36
  }
40
- const endpoint = `/contents/${this.contentMetadata.id}/${this.selectedLocale}.json`;
37
+ const endpoint = `/contents/${this.contentId}/${this.selectedLocale}.json`;
41
38
  const contentData = await this.httpClient.get(endpoint);
42
39
  const content = this.contentMapper.toDomain(contentData);
43
40
  return (0, result_1.ok)(content);
@@ -1 +1 @@
1
- {"version":3,"file":"content-item-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-item-future.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,yDAA+D;AAK/D,gDAA2D;AAE3D;;GAEG;AACH,MAAa,iBAAkB,SAAQ,eAA8B;IAIhD;IACA;IACA;IALX,cAAc,CAAU;IAEhC,YACmB,eAAgC,EAChC,UAA8B,EAC9B,aAAuC;QAExD,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QAJrB,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAAoB;QAC9B,kBAAa,GAAb,aAAa,CAA0B;IAG1D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,6BAAoB,CAC5B,WAAW,MAAM,gCAAgC,IAAI,CAAC,eAAe,CAAC,IAAI,yBAAyB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7I,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,iBAAiB,CACrC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,SAAS,CAAC,cAAc,GAAG,MAAM,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,6BAAoB,CAC5B,yCAAyC,IAAI,CAAC,eAAe,CAAC,IAAI,yBAAyB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrI,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,OAAO,CAAC;YACpF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAM,QAAQ,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACzD,OAAO,IAAA,WAAE,EAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,YAAG,EAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;CACF;AAjDD,8CAiDC"}
1
+ {"version":3,"file":"content-item-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-item-future.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,yDAA+D;AAI/D,gDAA2D;AAE3D;;GAEG;AACH,MAAa,iBAAkB,SAAQ,eAA8B;IAIhD;IACA;IACA;IALX,cAAc,CAAU;IAEhC,YACmB,SAAiB,EACjB,UAA8B,EAC9B,aAAuC;QAExD,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QAJrB,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAoB;QAC9B,kBAAa,GAAb,aAAa,CAA0B;IAG1D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAc;QACnB,MAAM,SAAS,GAAG,IAAI,iBAAiB,CACrC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,SAAS,CAAC,cAAc,GAAG,MAAM,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,OAAO,IAAA,YAAG,EAAC,IAAI,6BAAoB,CAAC,gDAAgD,CAAC,CAAC,CAAC;YACzF,CAAC;YAED,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,OAAO,CAAC;YAC3E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAM,QAAQ,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACzD,OAAO,IAAA,WAAE,EAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,YAAG,EAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;CACF;AAzCD,8CAyCC"}
@@ -1,13 +1,13 @@
1
1
  import { Future } from '../../../std/domain/entities/future';
2
2
  import { Result } from '../../../std/domain/entities/result';
3
3
  import { ManifestContent } from '../../../sdk/domain/entities/manifest-content';
4
- import { Manifest } from '../../../sdk/domain/entities/manifest';
4
+ import { ManifestFuture } from './manifest-future';
5
5
  /**
6
6
  * Future for content list operations from manifest
7
7
  */
8
8
  export declare class ContentListFuture extends Future<ManifestContent[], never> {
9
- private readonly manifest;
10
- constructor(manifest: Manifest);
9
+ private readonly manifestFuture;
10
+ constructor(manifestFuture: ManifestFuture);
11
11
  /**
12
12
  * Resolve the list of content metadata from manifest
13
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"content-list-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-list-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAM,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAI/C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;CAGzD"}
1
+ {"version":3,"file":"content-list-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-list-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAW,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAI3D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;CAazD"}
@@ -7,16 +7,26 @@ const result_1 = require("../../../std/domain/entities/result");
7
7
  * Future for content list operations from manifest
8
8
  */
9
9
  class ContentListFuture extends future_1.Future {
10
- manifest;
11
- constructor(manifest) {
10
+ manifestFuture;
11
+ constructor(manifestFuture) {
12
12
  super({ parent: undefined });
13
- this.manifest = manifest;
13
+ this.manifestFuture = manifestFuture;
14
14
  }
15
15
  /**
16
16
  * Resolve the list of content metadata from manifest
17
17
  */
18
18
  async resolve() {
19
- return (0, result_1.ok)(this.manifest.contents);
19
+ try {
20
+ const manifestResult = await this.manifestFuture.resolve();
21
+ if (manifestResult.isErr()) {
22
+ return (0, result_1.err)(manifestResult.unwrapErr());
23
+ }
24
+ const manifest = manifestResult.unwrap();
25
+ return (0, result_1.ok)(manifest.contents);
26
+ }
27
+ catch (error) {
28
+ return (0, result_1.err)(error);
29
+ }
20
30
  }
21
31
  }
22
32
  exports.ContentListFuture = ContentListFuture;
@@ -1 +1 @@
1
- {"version":3,"file":"content-list-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-list-future.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,yDAA0D;AAI1D;;GAEG;AACH,MAAa,iBAAkB,SAAQ,eAAgC;IACxC;IAA7B,YAA6B,QAAkB;QAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QADX,aAAQ,GAAR,QAAQ,CAAU;IAE/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAA,WAAE,EAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;CACF;AAXD,8CAWC"}
1
+ {"version":3,"file":"content-list-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-list-future.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,yDAA+D;AAI/D;;GAEG;AACH,MAAa,iBAAkB,SAAQ,eAAgC;IACxC;IAA7B,YAA6B,cAA8B;QACzD,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QADX,mBAAc,GAAd,cAAc,CAAgB;IAE3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3D,IAAI,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC3B,OAAO,IAAA,YAAG,EAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,IAAA,WAAE,EAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,YAAG,EAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;CACF;AArBD,8CAqBC"}
@@ -1,37 +1,32 @@
1
- import { Future } from '../../../std/domain/entities/future';
2
- import { Result } from '../../../std/domain/entities/result';
3
- import { Manifest } from '../../../sdk/domain/entities/manifest';
4
1
  import { FrontendHttpClient } from '../../../sdk/infra/adapters/frontend-http-client';
5
2
  import { FrontendContentDtoMapper } from '../../../sdk/infra/mappers/dto/frontend-content-dto-mapper';
6
- import { ContentListFuture } from './content-list-future';
3
+ import { ManifestFuture } from './manifest-future';
7
4
  import { ContentItemFuture } from './content-item-future';
5
+ import { ContentListFuture } from './content-list-future';
6
+ import { ContentByKeyFuture } from './content-by-key-future';
8
7
  /**
9
- * Future for frontend content operations with manifest-based validation
8
+ * Future for frontend content operations that fetches manifest when needed
10
9
  */
11
- export declare class FrontendContentsFuture extends Future<FrontendContentsFuture, never> {
12
- private readonly manifest;
10
+ export declare class FrontendContentsFuture {
11
+ private readonly manifestFuture;
13
12
  private readonly httpClient;
14
13
  private readonly contentMapper;
15
- constructor(manifest: Manifest, httpClient: FrontendHttpClient, contentMapper: FrontendContentDtoMapper);
16
- /**
17
- * Resolve returns self for method chaining
18
- */
19
- resolve(): Promise<Result<FrontendContentsFuture, any>>;
14
+ constructor(manifestFuture: ManifestFuture, httpClient: FrontendHttpClient, contentMapper: FrontendContentDtoMapper);
20
15
  /**
21
16
  * Get list of contents from manifest
22
17
  */
23
18
  list(): ContentListFuture;
24
19
  /**
25
- * Get content by ID with validation against manifest
20
+ * Get content by ID - fetches directly without manifest validation
26
21
  */
27
22
  id(id: string): ContentItemFuture;
28
23
  /**
29
- * Get content by name with validation against manifest
24
+ * Get content by name - resolves name to ID via manifest first
30
25
  */
31
- name(name: string): ContentItemFuture;
26
+ name(name: string): ContentByKeyFuture;
32
27
  /**
33
- * Get content by key with validation against manifest
28
+ * Get content by key - resolves key to ID via manifest first
34
29
  */
35
- key(key: string): ContentItemFuture;
30
+ key(key: string): ContentByKeyFuture;
36
31
  }
37
32
  //# sourceMappingURL=frontend-contents-future.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-contents-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/frontend-contents-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAM,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC;IAE7E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,wBAAwB;IAK1D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;IAI7D;;OAEG;IACH,IAAI,IAAI,iBAAiB;IAIzB;;OAEG;IACH,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IASjC;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IASrC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;CAQpC"}
1
+ {"version":3,"file":"frontend-contents-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/frontend-contents-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,wBAAwB;IAG1D;;OAEG;IACH,IAAI,IAAI,iBAAiB;IAIzB;;OAEG;IACH,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IAIjC;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB;IAItC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;CAGrC"}
@@ -1,65 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FrontendContentsFuture = void 0;
4
- const future_1 = require("../../../std/domain/entities/future");
5
- const result_1 = require("../../../std/domain/entities/result");
6
- const content_list_future_1 = require("./content-list-future");
7
4
  const content_item_future_1 = require("./content-item-future");
8
- const errors_1 = require("../../../sdk/domain/errors");
5
+ const content_list_future_1 = require("./content-list-future");
6
+ const content_by_key_future_1 = require("./content-by-key-future");
9
7
  /**
10
- * Future for frontend content operations with manifest-based validation
8
+ * Future for frontend content operations that fetches manifest when needed
11
9
  */
12
- class FrontendContentsFuture extends future_1.Future {
13
- manifest;
10
+ class FrontendContentsFuture {
11
+ manifestFuture;
14
12
  httpClient;
15
13
  contentMapper;
16
- constructor(manifest, httpClient, contentMapper) {
17
- super({ parent: undefined });
18
- this.manifest = manifest;
14
+ constructor(manifestFuture, httpClient, contentMapper) {
15
+ this.manifestFuture = manifestFuture;
19
16
  this.httpClient = httpClient;
20
17
  this.contentMapper = contentMapper;
21
18
  }
22
- /**
23
- * Resolve returns self for method chaining
24
- */
25
- async resolve() {
26
- return (0, result_1.ok)(this);
27
- }
28
19
  /**
29
20
  * Get list of contents from manifest
30
21
  */
31
22
  list() {
32
- return new content_list_future_1.ContentListFuture(this.manifest);
23
+ return new content_list_future_1.ContentListFuture(this.manifestFuture);
33
24
  }
34
25
  /**
35
- * Get content by ID with validation against manifest
26
+ * Get content by ID - fetches directly without manifest validation
36
27
  */
37
28
  id(id) {
38
- const contentMetadata = this.manifest.contents.find(content => content.id === id);
39
- if (!contentMetadata) {
40
- throw new errors_1.WaldeValidationError(`Content with ID '${id}' not found in manifest`);
41
- }
42
- return new content_item_future_1.ContentItemFuture(contentMetadata, this.httpClient, this.contentMapper);
29
+ return new content_item_future_1.ContentItemFuture(id, this.httpClient, this.contentMapper);
43
30
  }
44
31
  /**
45
- * Get content by name with validation against manifest
32
+ * Get content by name - resolves name to ID via manifest first
46
33
  */
47
34
  name(name) {
48
- const contentMetadata = this.manifest.contents.find(content => content.name === name);
49
- if (!contentMetadata) {
50
- throw new errors_1.WaldeValidationError(`Content with name '${name}' not found in manifest`);
51
- }
52
- return new content_item_future_1.ContentItemFuture(contentMetadata, this.httpClient, this.contentMapper);
35
+ return new content_by_key_future_1.ContentByKeyFuture(name, 'name', this.manifestFuture, this.httpClient, this.contentMapper);
53
36
  }
54
37
  /**
55
- * Get content by key with validation against manifest
38
+ * Get content by key - resolves key to ID via manifest first
56
39
  */
57
40
  key(key) {
58
- const contentMetadata = this.manifest.contents.find(content => content.key === key);
59
- if (!contentMetadata) {
60
- throw new errors_1.WaldeValidationError(`Content with key '${key}' not found in manifest`);
61
- }
62
- return new content_item_future_1.ContentItemFuture(contentMetadata, this.httpClient, this.contentMapper);
41
+ return new content_by_key_future_1.ContentByKeyFuture(key, 'key', this.manifestFuture, this.httpClient, this.contentMapper);
63
42
  }
64
43
  }
65
44
  exports.FrontendContentsFuture = FrontendContentsFuture;
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-contents-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/frontend-contents-future.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,yDAA0D;AAI1D,+DAA0D;AAC1D,+DAA0D;AAC1D,gDAA2D;AAE3D;;GAEG;AACH,MAAa,sBAAuB,SAAQ,eAAqC;IAE5D;IACA;IACA;IAHnB,YACmB,QAAkB,EAClB,UAA8B,EAC9B,aAAuC;QAExD,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QAJrB,aAAQ,GAAR,QAAQ,CAAU;QAClB,eAAU,GAAV,UAAU,CAAoB;QAC9B,kBAAa,GAAb,aAAa,CAA0B;IAG1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAA,WAAE,EAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,uCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,EAAE,CAAC,EAAU;QACX,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,6BAAoB,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAC;QAClF,CAAC;QAED,OAAO,IAAI,uCAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACtF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,6BAAoB,CAAC,sBAAsB,IAAI,yBAAyB,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,IAAI,uCAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACpF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,6BAAoB,CAAC,qBAAqB,GAAG,yBAAyB,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,IAAI,uCAAiB,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACrF,CAAC;CACF;AA1DD,wDA0DC"}
1
+ {"version":3,"file":"frontend-contents-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/frontend-contents-future.ts"],"names":[],"mappings":";;;AAGA,+DAA0D;AAC1D,+DAA0D;AAC1D,mEAA6D;AAE7D;;GAEG;AACH,MAAa,sBAAsB;IAEd;IACA;IACA;IAHnB,YACmB,cAA8B,EAC9B,UAA8B,EAC9B,aAAuC;QAFvC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAoB;QAC9B,kBAAa,GAAb,aAAa,CAA0B;IACvD,CAAC;IAEJ;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,uCAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,EAAE,CAAC,EAAU;QACX,OAAO,IAAI,uCAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,0CAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACxG,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,0CAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACtG,CAAC;CACF;AAlCD,wDAkCC"}
@@ -5,16 +5,6 @@ import { ManifestDtoMapper } from '../../../sdk/infra/mappers/dto/manifest-dto-m
5
5
  import { FrontendContentDtoMapper } from '../../../sdk/infra/mappers/dto/frontend-content-dto-mapper';
6
6
  import { ManifestFuture } from './manifest-future';
7
7
  import { FrontendContentsFuture } from './frontend-contents-future';
8
- /**
9
- * Future for content operations that resolves manifest first
10
- */
11
- declare class ContentsFutureWrapper extends Future<FrontendContentsFuture, never> {
12
- private readonly manifestFuture;
13
- private readonly httpClient;
14
- private readonly contentMapper;
15
- constructor(manifestFuture: ManifestFuture, httpClient: FrontendHttpClient, contentMapper: FrontendContentDtoMapper);
16
- resolve(): Promise<Result<FrontendContentsFuture, any>>;
17
- }
18
8
  /**
19
9
  * Main Walde future class for frontend SDK operations
20
10
  */
@@ -28,13 +18,12 @@ export declare class WaldeFuture extends Future<WaldeFuture, never> {
28
18
  */
29
19
  resolve(): Promise<Result<WaldeFuture, any>>;
30
20
  /**
31
- * Get manifest operations
21
+ * Get manifest - resolves to actual manifest data
32
22
  */
33
23
  manifest(): ManifestFuture;
34
24
  /**
35
- * Get content operations (requires manifest for validation)
25
+ * Get content operations that require manifest
36
26
  */
37
- contents(): ContentsFutureWrapper;
27
+ contents(): FrontendContentsFuture;
38
28
  }
39
- export {};
40
29
  //# sourceMappingURL=walde-future.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"walde-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/walde-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAW,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;GAEG;AACH,cAAM,qBAAsB,SAAQ,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC;IAErE,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,wBAAwB;IAKpD,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;CAc9D;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;IAEvD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,UAAU,EAAE,kBAAkB,EAC9B,cAAc,EAAE,iBAAiB,EACjC,aAAa,EAAE,wBAAwB;IAK1D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAIlD;;OAEG;IACH,QAAQ,IAAI,cAAc;IAI1B;;OAEG;IACH,QAAQ,IAAI,qBAAqB;CAIlC"}
1
+ {"version":3,"file":"walde-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/walde-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAW,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;IAEvD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,UAAU,EAAE,kBAAkB,EAC9B,cAAc,EAAE,iBAAiB,EACjC,aAAa,EAAE,wBAAwB;IAK1D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAIlD;;OAEG;IACH,QAAQ,IAAI,cAAc;IAI1B;;OAEG;IACH,QAAQ,IAAI,sBAAsB;CAInC"}
@@ -5,34 +5,6 @@ const future_1 = require("../../../std/domain/entities/future");
5
5
  const result_1 = require("../../../std/domain/entities/result");
6
6
  const manifest_future_1 = require("./manifest-future");
7
7
  const frontend_contents_future_1 = require("./frontend-contents-future");
8
- /**
9
- * Future for content operations that resolves manifest first
10
- */
11
- class ContentsFutureWrapper extends future_1.Future {
12
- manifestFuture;
13
- httpClient;
14
- contentMapper;
15
- constructor(manifestFuture, httpClient, contentMapper) {
16
- super({ parent: undefined });
17
- this.manifestFuture = manifestFuture;
18
- this.httpClient = httpClient;
19
- this.contentMapper = contentMapper;
20
- }
21
- async resolve() {
22
- try {
23
- const manifestResult = await this.manifestFuture.resolve();
24
- if (manifestResult.isErr()) {
25
- return (0, result_1.err)(manifestResult.unwrapErr());
26
- }
27
- const manifest = manifestResult.unwrap();
28
- const contentsFuture = new frontend_contents_future_1.FrontendContentsFuture(manifest, this.httpClient, this.contentMapper);
29
- return (0, result_1.ok)(contentsFuture);
30
- }
31
- catch (error) {
32
- return (0, result_1.err)(error);
33
- }
34
- }
35
- }
36
8
  /**
37
9
  * Main Walde future class for frontend SDK operations
38
10
  */
@@ -53,17 +25,17 @@ class WaldeFuture extends future_1.Future {
53
25
  return (0, result_1.ok)(this);
54
26
  }
55
27
  /**
56
- * Get manifest operations
28
+ * Get manifest - resolves to actual manifest data
57
29
  */
58
30
  manifest() {
59
31
  return new manifest_future_1.ManifestFuture(this.httpClient, this.manifestMapper);
60
32
  }
61
33
  /**
62
- * Get content operations (requires manifest for validation)
34
+ * Get content operations that require manifest
63
35
  */
64
36
  contents() {
65
37
  const manifestFuture = this.manifest();
66
- return new ContentsFutureWrapper(manifestFuture, this.httpClient, this.contentMapper);
38
+ return new frontend_contents_future_1.FrontendContentsFuture(manifestFuture, this.httpClient, this.contentMapper);
67
39
  }
68
40
  }
69
41
  exports.WaldeFuture = WaldeFuture;
@@ -1 +1 @@
1
- {"version":3,"file":"walde-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/walde-future.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,yDAA+D;AAI/D,uDAAmD;AACnD,yEAAoE;AAEpE;;GAEG;AACH,MAAM,qBAAsB,SAAQ,eAAqC;IAEpD;IACA;IACA;IAHnB,YACmB,cAA8B,EAC9B,UAA8B,EAC9B,aAAuC;QAExD,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QAJrB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAoB;QAC9B,kBAAa,GAAb,aAAa,CAA0B;IAG1D,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3D,IAAI,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC3B,OAAO,IAAA,YAAG,EAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;YACzC,CAAC;YAED,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,IAAI,iDAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACjG,OAAO,IAAA,WAAE,EAAC,cAAc,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAA,YAAG,EAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAa,WAAY,SAAQ,eAA0B;IAEtC;IACA;IACA;IAHnB,YACmB,UAA8B,EAC9B,cAAiC,EACjC,aAAuC;QAExD,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QAJrB,eAAU,GAAV,UAAU,CAAoB;QAC9B,mBAAc,GAAd,cAAc,CAAmB;QACjC,kBAAa,GAAb,aAAa,CAA0B;IAG1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAA,WAAE,EAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,gCAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvC,OAAO,IAAI,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACxF,CAAC;CACF;AA9BD,kCA8BC"}
1
+ {"version":3,"file":"walde-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/walde-future.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,yDAA+D;AAI/D,uDAAmD;AACnD,yEAAoE;AAEpE;;GAEG;AACH,MAAa,WAAY,SAAQ,eAA0B;IAEtC;IACA;IACA;IAHnB,YACmB,UAA8B,EAC9B,cAAiC,EACjC,aAAuC;QAExD,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QAJrB,eAAU,GAAV,UAAU,CAAoB;QAC9B,mBAAc,GAAd,cAAc,CAAmB;QACjC,kBAAa,GAAb,aAAa,CAA0B;IAG1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAA,WAAE,EAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,gCAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvC,OAAO,IAAI,iDAAsB,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzF,CAAC;CACF;AA9BD,kCA8BC"}
@@ -1,15 +1,16 @@
1
1
  import { WaldeAdmin } from './infra/futures/walde-admin-future';
2
2
  import { CredentialsProvider } from './domain/ports/out/credentials-provider';
3
- interface MakeWaldeAdminConfig {
3
+ import { S3ClientFactory } from './domain/ports/out/s3-client-factory';
4
+ export interface WaldeAdminConfig {
4
5
  credentialsProvider: CredentialsProvider;
5
6
  endpoint?: string;
6
7
  clientId?: string;
7
8
  region?: string;
8
9
  stage?: string;
10
+ s3ClientFactory?: S3ClientFactory;
9
11
  }
10
12
  /**
11
13
  * Customer-facing factory function for creating WaldeAdmin instances
12
14
  */
13
- export declare function MakeWaldeAdmin(config: MakeWaldeAdminConfig): WaldeAdmin;
14
- export {};
15
+ export declare function MakeWaldeAdmin(config: WaldeAdminConfig): WaldeAdmin;
15
16
  //# sourceMappingURL=make-walde-admin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"make-walde-admin.d.ts","sourceRoot":"","sources":["../../src/sdk/make-walde-admin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,UAAU,oBAAoB;IAC5B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,UAAU,CAEvE"}
1
+ {"version":3,"file":"make-walde-admin.d.ts","sourceRoot":"","sources":["../../src/sdk/make-walde-admin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAEnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"make-walde-admin.js","sourceRoot":"","sources":["../../src/sdk/make-walde-admin.ts"],"names":[],"mappings":";;AAeA,wCAEC;AAjBD,+EAA0E;AAY1E;;GAEG;AACH,SAAgB,cAAc,CAAC,MAA4B;IACzD,OAAO,uCAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"make-walde-admin.js","sourceRoot":"","sources":["../../src/sdk/make-walde-admin.ts"],"names":[],"mappings":";;AAiBA,wCAEC;AAnBD,+EAA0E;AAc1E;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAwB;IACrD,OAAO,uCAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,24 @@
1
1
  {
2
2
  "name": "@walde.ai/walde-sdk",
3
- "version": "0.1.4",
4
- "description": "TypeScript SDK for Walde platform",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
3
+ "version": "0.1.7",
4
+ "description": "TypeScript SDK for Walde",
5
+ "main": "dist/node.js",
6
+ "types": "dist/node.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "browser": "./dist/browser.js",
10
+ "node": "./dist/node.js",
11
+ "default": "./dist/node.js"
12
+ },
13
+ "./browser": {
14
+ "types": "./dist/browser.d.ts",
15
+ "default": "./dist/browser.js"
16
+ },
17
+ "./node": {
18
+ "types": "./dist/node.d.ts",
19
+ "default": "./dist/node.js"
20
+ }
21
+ },
7
22
  "files": [
8
23
  "dist"
9
24
  ],