@activeboxes/pieces-common 0.4.0

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 (80) hide show
  1. package/README.md +7 -0
  2. package/package.json +35 -0
  3. package/src/index.d.ts +6 -0
  4. package/src/index.js +10 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/ai/index.d.ts +94 -0
  7. package/src/lib/ai/index.js +44 -0
  8. package/src/lib/ai/index.js.map +1 -0
  9. package/src/lib/ai/providers/anthropic/index.d.ts +2 -0
  10. package/src/lib/ai/providers/anthropic/index.js +148 -0
  11. package/src/lib/ai/providers/anthropic/index.js.map +1 -0
  12. package/src/lib/ai/providers/index.d.ts +79 -0
  13. package/src/lib/ai/providers/index.js +170 -0
  14. package/src/lib/ai/providers/index.js.map +1 -0
  15. package/src/lib/ai/providers/openai/index.d.ts +22 -0
  16. package/src/lib/ai/providers/openai/index.js +224 -0
  17. package/src/lib/ai/providers/openai/index.js.map +1 -0
  18. package/src/lib/ai/providers/replicate/index.d.ts +10 -0
  19. package/src/lib/ai/providers/replicate/index.js +185 -0
  20. package/src/lib/ai/providers/replicate/index.js.map +1 -0
  21. package/src/lib/ai/providers/utils.d.ts +58 -0
  22. package/src/lib/ai/providers/utils.js +48 -0
  23. package/src/lib/ai/providers/utils.js.map +1 -0
  24. package/src/lib/authentication/index.d.ts +15 -0
  25. package/src/lib/authentication/index.js +9 -0
  26. package/src/lib/authentication/index.js.map +1 -0
  27. package/src/lib/helpers/index.d.ts +29 -0
  28. package/src/lib/helpers/index.js +101 -0
  29. package/src/lib/helpers/index.js.map +1 -0
  30. package/src/lib/http/axios/axios-http-client.d.ts +11 -0
  31. package/src/lib/http/axios/axios-http-client.js +74 -0
  32. package/src/lib/http/axios/axios-http-client.js.map +1 -0
  33. package/src/lib/http/core/base-http-client.d.ts +19 -0
  34. package/src/lib/http/core/base-http-client.js +52 -0
  35. package/src/lib/http/core/base-http-client.js.map +1 -0
  36. package/src/lib/http/core/delegating-authentication-converter.d.ts +17 -0
  37. package/src/lib/http/core/delegating-authentication-converter.js +33 -0
  38. package/src/lib/http/core/delegating-authentication-converter.js.map +1 -0
  39. package/src/lib/http/core/http-client.d.ts +9 -0
  40. package/src/lib/http/core/http-client.js +6 -0
  41. package/src/lib/http/core/http-client.js.map +1 -0
  42. package/src/lib/http/core/http-error.d.ts +33 -0
  43. package/src/lib/http/core/http-error.js +56 -0
  44. package/src/lib/http/core/http-error.js.map +1 -0
  45. package/src/lib/http/core/http-header.d.ts +6 -0
  46. package/src/lib/http/core/http-header.js +11 -0
  47. package/src/lib/http/core/http-header.js.map +1 -0
  48. package/src/lib/http/core/http-headers.d.ts +1 -0
  49. package/src/lib/http/core/http-headers.js +3 -0
  50. package/src/lib/http/core/http-headers.js.map +1 -0
  51. package/src/lib/http/core/http-message-body.d.ts +1 -0
  52. package/src/lib/http/core/http-message-body.js +3 -0
  53. package/src/lib/http/core/http-message-body.js.map +1 -0
  54. package/src/lib/http/core/http-method.d.ts +8 -0
  55. package/src/lib/http/core/http-method.js +13 -0
  56. package/src/lib/http/core/http-method.js.map +1 -0
  57. package/src/lib/http/core/http-request-body.d.ts +2 -0
  58. package/src/lib/http/core/http-request-body.js +3 -0
  59. package/src/lib/http/core/http-request-body.js.map +1 -0
  60. package/src/lib/http/core/http-request.d.ts +17 -0
  61. package/src/lib/http/core/http-request.js +3 -0
  62. package/src/lib/http/core/http-request.js.map +1 -0
  63. package/src/lib/http/core/http-response.d.ts +7 -0
  64. package/src/lib/http/core/http-response.js +3 -0
  65. package/src/lib/http/core/http-response.js.map +1 -0
  66. package/src/lib/http/core/media-type.d.ts +4 -0
  67. package/src/lib/http/core/media-type.js +9 -0
  68. package/src/lib/http/core/media-type.js.map +1 -0
  69. package/src/lib/http/core/query-params.d.ts +1 -0
  70. package/src/lib/http/core/query-params.js +3 -0
  71. package/src/lib/http/core/query-params.js.map +1 -0
  72. package/src/lib/http/index.d.ts +13 -0
  73. package/src/lib/http/index.js +17 -0
  74. package/src/lib/http/index.js.map +1 -0
  75. package/src/lib/polling/index.d.ts +57 -0
  76. package/src/lib/polling/index.js +136 -0
  77. package/src/lib/polling/index.js.map +1 -0
  78. package/src/lib/validation/index.d.ts +4 -0
  79. package/src/lib/validation/index.js +26 -0
  80. package/src/lib/validation/index.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/query-params.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export * from './axios/axios-http-client';
2
+ export * from './core/base-http-client';
3
+ export * from './core/delegating-authentication-converter';
4
+ export * from './core/http-client';
5
+ export * from './core/http-error';
6
+ export * from './core/http-header';
7
+ export * from './core/http-headers';
8
+ export * from './core/http-message-body';
9
+ export * from './core/http-method';
10
+ export * from './core/http-request';
11
+ export * from './core/http-response';
12
+ export * from './core/media-type';
13
+ export * from './core/query-params';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./axios/axios-http-client"), exports);
5
+ tslib_1.__exportStar(require("./core/base-http-client"), exports);
6
+ tslib_1.__exportStar(require("./core/delegating-authentication-converter"), exports);
7
+ tslib_1.__exportStar(require("./core/http-client"), exports);
8
+ tslib_1.__exportStar(require("./core/http-error"), exports);
9
+ tslib_1.__exportStar(require("./core/http-header"), exports);
10
+ tslib_1.__exportStar(require("./core/http-headers"), exports);
11
+ tslib_1.__exportStar(require("./core/http-message-body"), exports);
12
+ tslib_1.__exportStar(require("./core/http-method"), exports);
13
+ tslib_1.__exportStar(require("./core/http-request"), exports);
14
+ tslib_1.__exportStar(require("./core/http-response"), exports);
15
+ tslib_1.__exportStar(require("./core/media-type"), exports);
16
+ tslib_1.__exportStar(require("./core/query-params"), exports);
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/common/src/lib/http/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,kEAAwC;AACxC,qFAA2D;AAC3D,6DAAmC;AACnC,4DAAkC;AAClC,6DAAmC;AACnC,8DAAoC;AACpC,mEAAyC;AACzC,6DAAmC;AACnC,8DAAoC;AACpC,+DAAqC;AACrC,4DAAkC;AAClC,8DAAoC"}
@@ -0,0 +1,57 @@
1
+ import { FilesService, Store } from '@activeboxes/pieces-framework';
2
+ interface TimebasedPolling<AuthValue, PropsValue> {
3
+ strategy: DedupeStrategy.TIMEBASED;
4
+ items: (params: {
5
+ auth: AuthValue;
6
+ store: Store;
7
+ propsValue: PropsValue;
8
+ lastFetchEpochMS: number;
9
+ }) => Promise<{
10
+ epochMilliSeconds: number;
11
+ data: unknown;
12
+ }[]>;
13
+ }
14
+ interface LastItemPolling<AuthValue, PropsValue> {
15
+ strategy: DedupeStrategy.LAST_ITEM;
16
+ items: (params: {
17
+ auth: AuthValue;
18
+ store: Store;
19
+ files?: FilesService;
20
+ propsValue: PropsValue;
21
+ lastItemId: unknown;
22
+ }) => Promise<{
23
+ id: unknown;
24
+ data: unknown;
25
+ }[]>;
26
+ }
27
+ export declare enum DedupeStrategy {
28
+ TIMEBASED = 0,
29
+ LAST_ITEM = 1
30
+ }
31
+ export type Polling<AuthValue, PropsValue> = TimebasedPolling<AuthValue, PropsValue> | LastItemPolling<AuthValue, PropsValue>;
32
+ export declare const pollingHelper: {
33
+ poll<AuthValue, PropsValue>(polling: Polling<AuthValue, PropsValue>, { store, auth, propsValue, maxItemsToPoll, files, }: {
34
+ store: Store;
35
+ auth: AuthValue;
36
+ propsValue: PropsValue;
37
+ files: FilesService;
38
+ maxItemsToPoll?: number;
39
+ }): Promise<unknown[]>;
40
+ onEnable<AuthValue, PropsValue>(polling: Polling<AuthValue, PropsValue>, { store, auth, propsValue, }: {
41
+ store: Store;
42
+ auth: AuthValue;
43
+ propsValue: PropsValue;
44
+ }): Promise<void>;
45
+ onDisable<AuthValue, PropsValue>(polling: Polling<AuthValue, PropsValue>, params: {
46
+ store: Store;
47
+ auth: AuthValue;
48
+ propsValue: PropsValue;
49
+ }): Promise<void>;
50
+ test<AuthValue, PropsValue>(polling: Polling<AuthValue, PropsValue>, { auth, propsValue, store, files, }: {
51
+ store: Store;
52
+ auth: AuthValue;
53
+ propsValue: PropsValue;
54
+ files: FilesService;
55
+ }): Promise<unknown[]>;
56
+ };
57
+ export {};
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pollingHelper = exports.DedupeStrategy = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const shared_1 = require("@activeboxes/shared");
6
+ var DedupeStrategy;
7
+ (function (DedupeStrategy) {
8
+ DedupeStrategy[DedupeStrategy["TIMEBASED"] = 0] = "TIMEBASED";
9
+ DedupeStrategy[DedupeStrategy["LAST_ITEM"] = 1] = "LAST_ITEM";
10
+ })(DedupeStrategy || (exports.DedupeStrategy = DedupeStrategy = {}));
11
+ exports.pollingHelper = {
12
+ poll(polling_1, _a) {
13
+ return tslib_1.__awaiter(this, arguments, void 0, function* (polling, { store, auth, propsValue, maxItemsToPoll, files, }) {
14
+ var _b, _c;
15
+ switch (polling.strategy) {
16
+ case DedupeStrategy.TIMEBASED: {
17
+ const lastEpochMilliSeconds = (yield store.get('lastPoll'));
18
+ if ((0, shared_1.isNil)(lastEpochMilliSeconds)) {
19
+ throw new Error("lastPoll doesn't exist in the store.");
20
+ }
21
+ const items = yield polling.items({
22
+ store,
23
+ auth,
24
+ propsValue,
25
+ lastFetchEpochMS: lastEpochMilliSeconds,
26
+ });
27
+ const newLastEpochMilliSeconds = items.reduce((acc, item) => Math.max(acc, item.epochMilliSeconds), lastEpochMilliSeconds);
28
+ yield store.put('lastPoll', newLastEpochMilliSeconds);
29
+ return items
30
+ .filter((f) => f.epochMilliSeconds > lastEpochMilliSeconds)
31
+ .map((item) => item.data);
32
+ }
33
+ case DedupeStrategy.LAST_ITEM: {
34
+ const lastItemId = yield store.get('lastItem');
35
+ const items = yield polling.items({
36
+ store,
37
+ auth,
38
+ propsValue,
39
+ lastItemId,
40
+ files,
41
+ });
42
+ const lastItemIndex = items.findIndex((f) => f.id === lastItemId);
43
+ let newItems = [];
44
+ if ((0, shared_1.isNil)(lastItemId) || lastItemIndex == -1) {
45
+ newItems = items !== null && items !== void 0 ? items : [];
46
+ }
47
+ else {
48
+ newItems = (_b = items === null || items === void 0 ? void 0 : items.slice(0, lastItemIndex)) !== null && _b !== void 0 ? _b : [];
49
+ }
50
+ // Sorted from newest to oldest
51
+ if (!(0, shared_1.isNil)(maxItemsToPoll)) {
52
+ // Get the last polling.maxItemsToPoll items
53
+ newItems = newItems.slice(-maxItemsToPoll);
54
+ }
55
+ const newLastItem = (_c = newItems === null || newItems === void 0 ? void 0 : newItems[0]) === null || _c === void 0 ? void 0 : _c.id;
56
+ if (!(0, shared_1.isNil)(newLastItem)) {
57
+ yield store.put('lastItem', newLastItem);
58
+ }
59
+ return newItems.map((item) => item.data);
60
+ }
61
+ }
62
+ });
63
+ },
64
+ onEnable(polling_1, _a) {
65
+ return tslib_1.__awaiter(this, arguments, void 0, function* (polling, { store, auth, propsValue, }) {
66
+ var _b;
67
+ switch (polling.strategy) {
68
+ case DedupeStrategy.TIMEBASED: {
69
+ yield store.put('lastPoll', Date.now());
70
+ break;
71
+ }
72
+ case DedupeStrategy.LAST_ITEM: {
73
+ const items = yield polling.items({
74
+ store,
75
+ auth,
76
+ propsValue,
77
+ lastItemId: null,
78
+ });
79
+ const lastItemId = (_b = items === null || items === void 0 ? void 0 : items[0]) === null || _b === void 0 ? void 0 : _b.id;
80
+ if (!(0, shared_1.isNil)(lastItemId)) {
81
+ yield store.put('lastItem', lastItemId);
82
+ }
83
+ else {
84
+ yield store.delete('lastItem');
85
+ }
86
+ break;
87
+ }
88
+ }
89
+ });
90
+ },
91
+ onDisable(polling, params) {
92
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
93
+ switch (polling.strategy) {
94
+ case DedupeStrategy.TIMEBASED:
95
+ case DedupeStrategy.LAST_ITEM:
96
+ return;
97
+ }
98
+ });
99
+ },
100
+ test(polling_1, _a) {
101
+ return tslib_1.__awaiter(this, arguments, void 0, function* (polling, { auth, propsValue, store, files, }) {
102
+ let items = [];
103
+ switch (polling.strategy) {
104
+ case DedupeStrategy.TIMEBASED: {
105
+ items = yield polling.items({
106
+ store,
107
+ auth,
108
+ propsValue,
109
+ lastFetchEpochMS: 0,
110
+ });
111
+ break;
112
+ }
113
+ case DedupeStrategy.LAST_ITEM: {
114
+ items = yield polling.items({
115
+ store,
116
+ auth,
117
+ propsValue,
118
+ lastItemId: null,
119
+ files,
120
+ });
121
+ break;
122
+ }
123
+ }
124
+ return getFirstFiveOrAll(items.map((item) => item.data));
125
+ });
126
+ },
127
+ };
128
+ function getFirstFiveOrAll(array) {
129
+ if (array.length <= 5) {
130
+ return array;
131
+ }
132
+ else {
133
+ return array.slice(0, 5);
134
+ }
135
+ }
136
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/common/src/lib/polling/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { z } from "zod";
2
+ export declare const propsValidation: {
3
+ validateZod<T extends Record<string, unknown>>(props: T, schema: Partial<Record<keyof T, z.ZodType>>): Promise<void>;
4
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.propsValidation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const zod_1 = require("zod");
6
+ exports.propsValidation = {
7
+ validateZod(props, schema) {
8
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
+ const schemaObj = zod_1.z.object(Object.entries(schema).reduce((acc, [key, value]) => (Object.assign(Object.assign({}, acc), { [key]: value })), {}));
10
+ try {
11
+ yield schemaObj.parseAsync(props);
12
+ }
13
+ catch (error) {
14
+ if (error instanceof zod_1.z.ZodError) {
15
+ const errors = error.errors.reduce((acc, err) => {
16
+ const path = err.path.join('.');
17
+ return Object.assign(Object.assign({}, acc), { [path]: err.message });
18
+ }, {});
19
+ throw new Error(JSON.stringify({ errors }, null, 2));
20
+ }
21
+ throw error;
22
+ }
23
+ });
24
+ }
25
+ };
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/common/src/lib/validation/index.ts"],"names":[],"mappings":";;;;AAAA,6BAAuB;AAEV,QAAA,eAAe,GAAG;IACrB,WAAW,CAAoC,KAAQ,EAAE,MAA2C;;YACtG,MAAM,SAAS,GAAG,OAAC,CAAC,MAAM,CACtB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,iCAC9C,GAAG,KACN,CAAC,GAAG,CAAC,EAAE,KAAK,IACd,EAAE,EAAE,CAAC,CACV,CAAA;YAED,IAAI,CAAC;gBACD,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;wBAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBAC/B,uCACO,GAAG,KACN,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,IACtB;oBACL,CAAC,EAAE,EAAE,CAAC,CAAA;oBACN,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBACxD,CAAC;gBACD,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;KAAA;CACJ,CAAA"}