@squidcloud/local-backend 1.0.450 → 1.0.451

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 (236) hide show
  1. package/dist/backend/src/actions.js +264 -0
  2. package/dist/backend/src/actions.js.map +1 -0
  3. package/dist/backend/src/index.js +24 -0
  4. package/dist/backend/src/index.js.map +1 -0
  5. package/dist/backend/src/llm-service.js +8 -0
  6. package/dist/backend/src/llm-service.js.map +1 -0
  7. package/dist/backend/src/metadata.js +336 -0
  8. package/dist/backend/src/metadata.js.map +1 -0
  9. package/dist/backend/src/project.js +31 -0
  10. package/dist/backend/src/project.js.map +1 -0
  11. package/dist/backend/src/public-types.js +32 -0
  12. package/dist/backend/src/public-types.js.map +1 -0
  13. package/dist/backend/src/squid.service.js +194 -0
  14. package/dist/backend/src/squid.service.js.map +1 -0
  15. package/dist/backend/src/utils.js +13 -0
  16. package/dist/backend/src/utils.js.map +1 -0
  17. package/dist/internal-common/src/ai/ai-model.registry.js +564 -0
  18. package/dist/internal-common/src/ai/ai-model.registry.js.map +1 -0
  19. package/dist/internal-common/src/public-types/ai-common.public-types.js +1 -1
  20. package/dist/internal-common/src/public-types/ai-common.public-types.js.map +1 -1
  21. package/dist/internal-common/src/public-types/ai-matchmaking.public-types.js +3 -0
  22. package/dist/internal-common/src/public-types/ai-matchmaking.public-types.js.map +1 -0
  23. package/dist/internal-common/src/public-types/external-auth/external-auth.public-types.js +3 -0
  24. package/dist/internal-common/src/public-types/external-auth/external-auth.public-types.js.map +1 -0
  25. package/dist/internal-common/src/public-types/http-status.public-types.js +64 -0
  26. package/dist/internal-common/src/public-types/http-status.public-types.js.map +1 -0
  27. package/dist/internal-common/src/public-types/regions.public-types.js +5 -0
  28. package/dist/internal-common/src/public-types/regions.public-types.js.map +1 -0
  29. package/dist/internal-common/src/public-types/serialized-query.public-types.js +3 -0
  30. package/dist/internal-common/src/public-types/serialized-query.public-types.js.map +1 -0
  31. package/dist/internal-common/src/public-types/web.public-types.js +3 -0
  32. package/dist/internal-common/src/public-types/web.public-types.js.map +1 -0
  33. package/dist/internal-common/src/public-types-backend/bundle-data.public-types.js +2 -1
  34. package/dist/internal-common/src/public-types-backend/bundle-data.public-types.js.map +1 -1
  35. package/dist/internal-common/src/public-types-backend/llm.public-types.js +3 -0
  36. package/dist/internal-common/src/public-types-backend/llm.public-types.js.map +1 -0
  37. package/dist/internal-common/src/public-utils/context-utils.js +12 -0
  38. package/dist/internal-common/src/public-utils/context-utils.js.map +1 -0
  39. package/dist/internal-common/src/public-utils/id-utils.js +60 -0
  40. package/dist/internal-common/src/public-utils/id-utils.js.map +1 -0
  41. package/dist/internal-common/src/types/ai-knowledge-base.types.js +3 -0
  42. package/dist/internal-common/src/types/ai-knowledge-base.types.js.map +1 -0
  43. package/dist/internal-common/src/types/ai-matchmaking.types.js +3 -0
  44. package/dist/internal-common/src/types/ai-matchmaking.types.js.map +1 -0
  45. package/dist/internal-common/src/types/application.types.js +4 -0
  46. package/dist/internal-common/src/types/application.types.js.map +1 -1
  47. package/dist/internal-common/src/types/backend-function.types.js +3 -0
  48. package/dist/internal-common/src/types/backend-function.types.js.map +1 -0
  49. package/dist/internal-common/src/types/backend-run.types.js.map +1 -1
  50. package/dist/internal-common/src/types/bundle-data.types.js.map +1 -1
  51. package/dist/internal-common/src/types/headers.types.js +13 -0
  52. package/dist/internal-common/src/types/headers.types.js.map +1 -0
  53. package/dist/internal-common/src/types/integrration-lifecycle.types.js +3 -0
  54. package/dist/internal-common/src/types/integrration-lifecycle.types.js.map +1 -0
  55. package/dist/internal-common/src/types/management-api-key.types.js +5 -0
  56. package/dist/internal-common/src/types/management-api-key.types.js.map +1 -0
  57. package/dist/internal-common/src/types/mutation.types.js +187 -0
  58. package/dist/internal-common/src/types/mutation.types.js.map +1 -0
  59. package/dist/internal-common/src/types/notification.types.js +3 -0
  60. package/dist/internal-common/src/types/notification.types.js.map +1 -0
  61. package/dist/internal-common/src/types/quota.types.js +52 -0
  62. package/dist/internal-common/src/types/quota.types.js.map +1 -0
  63. package/dist/internal-common/src/types/socket.types.js +6 -0
  64. package/dist/internal-common/src/types/socket.types.js.map +1 -0
  65. package/dist/internal-common/src/types/url-shortener.types.js +3 -0
  66. package/dist/internal-common/src/types/url-shortener.types.js.map +1 -0
  67. package/dist/internal-common/src/utils/array.js +75 -0
  68. package/dist/internal-common/src/utils/array.js.map +1 -0
  69. package/dist/internal-common/src/utils/backend-transforms.js +11 -4
  70. package/dist/internal-common/src/utils/backend-transforms.js.map +1 -1
  71. package/dist/internal-common/src/utils/e2e-test-utils.js +7 -0
  72. package/dist/internal-common/src/utils/e2e-test-utils.js.map +1 -0
  73. package/dist/internal-common/src/utils/file-utils.js +18 -0
  74. package/dist/internal-common/src/utils/file-utils.js.map +1 -0
  75. package/dist/internal-common/src/utils/http.js +0 -2
  76. package/dist/internal-common/src/utils/http.js.map +1 -1
  77. package/dist/internal-common/src/utils/lock.manager.js +40 -0
  78. package/dist/internal-common/src/utils/lock.manager.js.map +1 -0
  79. package/dist/internal-common/src/utils/metric-utils.js +105 -0
  80. package/dist/internal-common/src/utils/metric-utils.js.map +1 -0
  81. package/dist/internal-common/src/utils/python-ipc.js +218 -0
  82. package/dist/internal-common/src/utils/python-ipc.js.map +1 -0
  83. package/dist/internal-common/src/utils/squid-service.utils.js +33 -5
  84. package/dist/internal-common/src/utils/squid-service.utils.js.map +1 -1
  85. package/dist/internal-common/src/utils/trace-id-generator.js +8 -0
  86. package/dist/internal-common/src/utils/trace-id-generator.js.map +1 -0
  87. package/dist/internal-common/src/utils/tsoa-utils.js +26 -24
  88. package/dist/internal-common/src/utils/tsoa-utils.js.map +1 -1
  89. package/dist/internal-common/src/utils/validation.js +46 -0
  90. package/dist/internal-common/src/utils/validation.js.map +1 -0
  91. package/dist/internal-common/src/utils.js +7 -0
  92. package/dist/internal-common/src/utils.js.map +1 -1
  93. package/dist/local-backend/src/local-backend-socket.service.js +20 -3
  94. package/dist/local-backend/src/local-backend-socket.service.js.map +1 -1
  95. package/dist/local-backend/src/local-backend.app.js +43 -0
  96. package/dist/local-backend/src/local-backend.app.js.map +1 -1
  97. package/dist/local-backend/src/local-backend.module.js +9 -4
  98. package/dist/local-backend/src/local-backend.module.js.map +1 -1
  99. package/dist/local-backend/src/local-backend.service.js +73 -10
  100. package/dist/local-backend/src/local-backend.service.js.map +1 -1
  101. package/dist/local-backend/src/local-backend.types.js +3 -2
  102. package/dist/local-backend/src/local-backend.types.js.map +1 -1
  103. package/dist/local-backend/src/main.js +143 -11
  104. package/dist/local-backend/src/main.js.map +1 -1
  105. package/dist/tsconfig.build.tsbuildinfo +1 -1
  106. package/dist/typescript-client/src/admin-client.js +23 -0
  107. package/dist/typescript-client/src/admin-client.js.map +1 -0
  108. package/dist/typescript-client/src/agent/ai-agent-client-reference.js +389 -0
  109. package/dist/typescript-client/src/agent/ai-agent-client-reference.js.map +1 -0
  110. package/dist/typescript-client/src/agent/ai-agent-client.js +60 -0
  111. package/dist/typescript-client/src/agent/ai-agent-client.js.map +1 -0
  112. package/dist/typescript-client/src/agent/ai-agent-client.types.js +5 -0
  113. package/dist/typescript-client/src/agent/ai-agent-client.types.js.map +1 -0
  114. package/dist/typescript-client/src/ai-audio-client.js +20 -0
  115. package/dist/typescript-client/src/ai-audio-client.js.map +1 -0
  116. package/dist/typescript-client/src/ai-client.js +110 -0
  117. package/dist/typescript-client/src/ai-client.js.map +1 -0
  118. package/dist/typescript-client/src/ai-files-client.js +27 -0
  119. package/dist/typescript-client/src/ai-files-client.js.map +1 -0
  120. package/dist/typescript-client/src/ai-image-client.js +20 -0
  121. package/dist/typescript-client/src/ai-image-client.js.map +1 -0
  122. package/dist/typescript-client/src/ai-knowledge-base/ai-knowledge-base-client-reference.js +111 -0
  123. package/dist/typescript-client/src/ai-knowledge-base/ai-knowledge-base-client-reference.js.map +1 -0
  124. package/dist/typescript-client/src/ai-knowledge-base/ai-knowledge-base-client.js +24 -0
  125. package/dist/typescript-client/src/ai-knowledge-base/ai-knowledge-base-client.js.map +1 -0
  126. package/dist/typescript-client/src/ai-matchmaking-client.js +93 -0
  127. package/dist/typescript-client/src/ai-matchmaking-client.js.map +1 -0
  128. package/dist/typescript-client/src/api-client.js +55 -0
  129. package/dist/typescript-client/src/api-client.js.map +1 -0
  130. package/dist/typescript-client/src/auth.manager.js +36 -0
  131. package/dist/typescript-client/src/auth.manager.js.map +1 -0
  132. package/dist/typescript-client/src/backend-function.manager.js +60 -0
  133. package/dist/typescript-client/src/backend-function.manager.js.map +1 -0
  134. package/dist/typescript-client/src/client-customization.utils.js +11 -0
  135. package/dist/typescript-client/src/client-customization.utils.js.map +1 -0
  136. package/dist/typescript-client/src/client-id.service.js +60 -0
  137. package/dist/typescript-client/src/client-id.service.js.map +1 -0
  138. package/dist/typescript-client/src/collection-reference.factory.js +28 -0
  139. package/dist/typescript-client/src/collection-reference.factory.js.map +1 -0
  140. package/dist/typescript-client/src/collection-reference.js +181 -0
  141. package/dist/typescript-client/src/collection-reference.js.map +1 -0
  142. package/dist/typescript-client/src/connection-details.js +25 -0
  143. package/dist/typescript-client/src/connection-details.js.map +1 -0
  144. package/dist/typescript-client/src/console-utils.js +25 -0
  145. package/dist/typescript-client/src/console-utils.js.map +1 -0
  146. package/dist/typescript-client/src/data.manager.js +605 -0
  147. package/dist/typescript-client/src/data.manager.js.map +1 -0
  148. package/dist/typescript-client/src/destruct.manager.js +46 -0
  149. package/dist/typescript-client/src/destruct.manager.js.map +1 -0
  150. package/dist/typescript-client/src/distributed-lock.manager.js +108 -0
  151. package/dist/typescript-client/src/distributed-lock.manager.js.map +1 -0
  152. package/dist/typescript-client/src/document-identity.service.js +24 -0
  153. package/dist/typescript-client/src/document-identity.service.js.map +1 -0
  154. package/dist/typescript-client/src/document-reference.factory.js +52 -0
  155. package/dist/typescript-client/src/document-reference.factory.js.map +1 -0
  156. package/dist/typescript-client/src/document-reference.js +204 -0
  157. package/dist/typescript-client/src/document-reference.js.map +1 -0
  158. package/dist/typescript-client/src/document-store.js +158 -0
  159. package/dist/typescript-client/src/document-store.js.map +1 -0
  160. package/dist/typescript-client/src/execute-function-options.js +47 -0
  161. package/dist/typescript-client/src/execute-function-options.js.map +1 -0
  162. package/dist/typescript-client/src/external-auth-client.js +32 -0
  163. package/dist/typescript-client/src/external-auth-client.js.map +1 -0
  164. package/dist/typescript-client/src/extraction-client.js +27 -0
  165. package/dist/typescript-client/src/extraction-client.js.map +1 -0
  166. package/dist/typescript-client/src/file-args-transformer.js +44 -0
  167. package/dist/typescript-client/src/file-args-transformer.js.map +1 -0
  168. package/dist/typescript-client/src/index.js +80 -0
  169. package/dist/typescript-client/src/index.js.map +1 -0
  170. package/dist/typescript-client/src/integration-client.js +62 -0
  171. package/dist/typescript-client/src/integration-client.js.map +1 -0
  172. package/dist/typescript-client/src/job-client.js +68 -0
  173. package/dist/typescript-client/src/job-client.js.map +1 -0
  174. package/dist/typescript-client/src/management-client.js +66 -0
  175. package/dist/typescript-client/src/management-client.js.map +1 -0
  176. package/dist/typescript-client/src/mutation/mutation-sender.js +38 -0
  177. package/dist/typescript-client/src/mutation/mutation-sender.js.map +1 -0
  178. package/dist/typescript-client/src/native-query-manager.js +13 -0
  179. package/dist/typescript-client/src/native-query-manager.js.map +1 -0
  180. package/dist/typescript-client/src/notification-client.js +32 -0
  181. package/dist/typescript-client/src/notification-client.js.map +1 -0
  182. package/dist/typescript-client/src/observability-client.js +56 -0
  183. package/dist/typescript-client/src/observability-client.js.map +1 -0
  184. package/dist/typescript-client/src/public-types.js +47 -0
  185. package/dist/typescript-client/src/public-types.js.map +1 -0
  186. package/dist/typescript-client/src/public-utils.js +18 -0
  187. package/dist/typescript-client/src/public-utils.js.map +1 -0
  188. package/dist/typescript-client/src/query/deserializer.js +78 -0
  189. package/dist/typescript-client/src/query/deserializer.js.map +1 -0
  190. package/dist/typescript-client/src/query/join-query-builder.factory.js +335 -0
  191. package/dist/typescript-client/src/query/join-query-builder.factory.js.map +1 -0
  192. package/dist/typescript-client/src/query/local-query-manager.js +29 -0
  193. package/dist/typescript-client/src/query/local-query-manager.js.map +1 -0
  194. package/dist/typescript-client/src/query/pagination.js +205 -0
  195. package/dist/typescript-client/src/query/pagination.js.map +1 -0
  196. package/dist/typescript-client/src/query/query-builder.factory.js +423 -0
  197. package/dist/typescript-client/src/query/query-builder.factory.js.map +1 -0
  198. package/dist/typescript-client/src/query/query-sender.js +81 -0
  199. package/dist/typescript-client/src/query/query-sender.js.map +1 -0
  200. package/dist/typescript-client/src/query/query-subscription.manager.js +820 -0
  201. package/dist/typescript-client/src/query/query-subscription.manager.js.map +1 -0
  202. package/dist/typescript-client/src/query/query.types.js +11 -0
  203. package/dist/typescript-client/src/query/query.types.js.map +1 -0
  204. package/dist/typescript-client/src/query/snapshot-emitter.js +3 -0
  205. package/dist/typescript-client/src/query/snapshot-emitter.js.map +1 -0
  206. package/dist/typescript-client/src/query-utils.js +21 -0
  207. package/dist/typescript-client/src/query-utils.js.map +1 -0
  208. package/dist/typescript-client/src/queue.manager.js +123 -0
  209. package/dist/typescript-client/src/queue.manager.js.map +1 -0
  210. package/dist/typescript-client/src/rate-limiter.js +35 -0
  211. package/dist/typescript-client/src/rate-limiter.js.map +1 -0
  212. package/dist/typescript-client/src/rpc.manager.js +214 -0
  213. package/dist/typescript-client/src/rpc.manager.js.map +1 -0
  214. package/dist/typescript-client/src/runtime-options.js +9 -0
  215. package/dist/typescript-client/src/runtime-options.js.map +1 -0
  216. package/dist/typescript-client/src/scheduler-client.js +29 -0
  217. package/dist/typescript-client/src/scheduler-client.js.map +1 -0
  218. package/dist/typescript-client/src/secret.client.js +62 -0
  219. package/dist/typescript-client/src/secret.client.js.map +1 -0
  220. package/dist/typescript-client/src/socket.manager.js +249 -0
  221. package/dist/typescript-client/src/socket.manager.js.map +1 -0
  222. package/dist/typescript-client/src/squid-http-client.js +135 -0
  223. package/dist/typescript-client/src/squid-http-client.js.map +1 -0
  224. package/dist/typescript-client/src/squid.js +259 -0
  225. package/dist/typescript-client/src/squid.js.map +1 -0
  226. package/dist/typescript-client/src/storage-client.js +51 -0
  227. package/dist/typescript-client/src/storage-client.js.map +1 -0
  228. package/dist/typescript-client/src/types.js +18 -0
  229. package/dist/typescript-client/src/types.js.map +1 -0
  230. package/dist/typescript-client/src/version.js +5 -0
  231. package/dist/typescript-client/src/version.js.map +1 -0
  232. package/dist/typescript-client/src/web-client.js +92 -0
  233. package/dist/typescript-client/src/web-client.js.map +1 -0
  234. package/dist/typescript-client/src/webhook.manager.js +85 -0
  235. package/dist/typescript-client/src/webhook.manager.js.map +1 -0
  236. package/package.json +3 -1
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuerySender = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ class QuerySender {
7
+ constructor(rpcManager, destructManager) {
8
+ this.rpcManager = rpcManager;
9
+ this.destructManager = destructManager;
10
+ this.safeToSendQueriesToServer = new rxjs_1.BehaviorSubject(true);
11
+ this.pendingQueryRequests = [];
12
+ this.inflightQueriesCount = new rxjs_1.BehaviorSubject(0);
13
+ this.destructManager.onPreDestruct(() => {
14
+ this.preDestruct();
15
+ });
16
+ }
17
+ async sendQuery(queryRequest) {
18
+ const responseSubject = new rxjs_1.Subject();
19
+ const responsePromise = (0, rxjs_1.firstValueFrom)(responseSubject);
20
+ this.pendingQueryRequests.push({ queryRequest, responseSubject });
21
+ if (this.pendingQueryBatchTimeout) {
22
+ clearTimeout(this.pendingQueryBatchTimeout);
23
+ this.pendingQueryBatchTimeout = undefined;
24
+ }
25
+ if (this.pendingQueryRequests.length >= 10) {
26
+ void this.processQueryBatch();
27
+ return responsePromise;
28
+ }
29
+ this.pendingQueryBatchTimeout = setTimeout(() => {
30
+ this.safeToSendQueriesToServer.pipe((0, operators_1.filter)(Boolean), (0, rxjs_1.take)(1)).subscribe(() => {
31
+ void this.processQueryBatch();
32
+ });
33
+ }, 0);
34
+ return responsePromise;
35
+ }
36
+ async waitForAllQueriesToFinish() {
37
+ return (0, rxjs_1.firstValueFrom)(this.inflightQueriesCount.pipe((0, operators_1.filter)(count => count === 0))).then(() => {
38
+ return undefined;
39
+ });
40
+ }
41
+ async processQueryBatch() {
42
+ const queryRequestAndSubjects = this.pendingQueryRequests.splice(0);
43
+ if (!queryRequestAndSubjects.length)
44
+ return;
45
+ const pendingQueryRequests = Array.from(queryRequestAndSubjects
46
+ .map(({ queryRequest }) => queryRequest)
47
+ .reduce((map, queryRequest) => {
48
+ map.set(queryRequest.clientRequestId, queryRequest);
49
+ return map;
50
+ }, new Map())
51
+ .values());
52
+ const responseSubjects = queryRequestAndSubjects.map(({ responseSubject }) => responseSubject);
53
+ this.inflightQueriesCount.next(this.inflightQueriesCount.value + pendingQueryRequests.length);
54
+ try {
55
+ const batchResponse = await this.rpcManager.post('query/batchQueries', pendingQueryRequests);
56
+ for (const { queryRequest, responseSubject } of queryRequestAndSubjects) {
57
+ const clientRequestId = queryRequest.clientRequestId;
58
+ const error = batchResponse.errors[clientRequestId];
59
+ const result = batchResponse.results[clientRequestId];
60
+ if (error) {
61
+ responseSubject.error(error);
62
+ }
63
+ else {
64
+ responseSubject.next(result);
65
+ }
66
+ }
67
+ }
68
+ catch (e) {
69
+ responseSubjects.forEach(responseSubject => responseSubject.error(e));
70
+ }
71
+ finally {
72
+ this.inflightQueriesCount.next(this.inflightQueriesCount.value - pendingQueryRequests.length);
73
+ }
74
+ }
75
+ preDestruct() {
76
+ this.safeToSendQueriesToServer.next(false);
77
+ this.safeToSendQueriesToServer.complete();
78
+ }
79
+ }
80
+ exports.QuerySender = QuerySender;
81
+ //# sourceMappingURL=query-sender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-sender.js","sourceRoot":"","sources":["../../../../../typescript-client/src/query/query-sender.ts"],"names":[],"mappings":"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"}