@superblocksteam/vite-plugin-file-sync 2.0.43-next.13 → 2.0.43-next.15
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.
- package/dist/ai-service/agent/subagents/apis/api-executor.d.ts +57 -0
- package/dist/ai-service/agent/subagents/apis/api-executor.d.ts.map +1 -0
- package/dist/ai-service/agent/subagents/apis/api-executor.js +284 -0
- package/dist/ai-service/agent/subagents/apis/api-executor.js.map +1 -0
- package/dist/ai-service/agent/subagents/apis/context.d.ts +12 -0
- package/dist/ai-service/agent/subagents/apis/context.d.ts.map +1 -0
- package/dist/ai-service/agent/subagents/apis/context.js +18 -0
- package/dist/ai-service/agent/subagents/apis/context.js.map +1 -0
- package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +37 -31
- package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/generate-api-source.js +355 -479
- package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/state.d.ts +40 -0
- package/dist/ai-service/agent/subagents/apis/state.d.ts.map +1 -0
- package/dist/ai-service/agent/subagents/apis/state.js +25 -0
- package/dist/ai-service/agent/subagents/apis/state.js.map +1 -0
- package/dist/ai-service/agent/subagents/apis/types.d.ts +5 -0
- package/dist/ai-service/agent/subagents/apis/types.d.ts.map +1 -0
- package/dist/ai-service/agent/subagents/apis/types.js +2 -0
- package/dist/ai-service/agent/subagents/apis/types.js.map +1 -0
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +8 -24
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.d.ts +20 -0
- package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/build-api.js +168 -0
- package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/finalize-api.d.ts +15 -0
- package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/finalize-api.js +103 -0
- package/dist/ai-service/agent/tools/apis/finalize-api.js.map +1 -0
- package/dist/ai-service/agent/tools/build-finalize.d.ts +1 -22
- package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.js +27 -18
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/index.d.ts +1 -1
- package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/index.js +1 -1
- package/dist/ai-service/agent/tools/integrations/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.d.ts +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/internal.js +12 -1
- package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/metadata.d.ts +1 -1
- package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/metadata.js +1 -1
- package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/run-code.d.ts +1 -1
- package/dist/ai-service/agent/tools/integrations/run-code.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/study-current-app-state.d.ts +1 -0
- package/dist/ai-service/agent/tools/study-current-app-state.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.js +5 -2
- package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts +2 -1
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +4 -4
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts +17 -3
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js +21 -0
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts +1 -0
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +1 -0
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/integrations/metadata/database.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata/database.js +61 -20
- package/dist/ai-service/integrations/metadata/database.js.map +1 -1
- package/dist/ai-service/integrations/metadata/databricks.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata/databricks.js +5 -5
- package/dist/ai-service/integrations/metadata/databricks.js.map +1 -1
- package/dist/ai-service/integrations/metadata/graphql-based.d.ts +2 -0
- package/dist/ai-service/integrations/metadata/graphql-based.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata/graphql-based.js +95 -14
- package/dist/ai-service/integrations/metadata/graphql-based.js.map +1 -1
- package/dist/ai-service/integrations/metadata/llm-utils.d.ts +24 -0
- package/dist/ai-service/integrations/metadata/llm-utils.d.ts.map +1 -0
- package/dist/ai-service/integrations/metadata/llm-utils.js +45 -0
- package/dist/ai-service/integrations/metadata/llm-utils.js.map +1 -0
- package/dist/ai-service/integrations/store.d.ts +5 -5
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +52 -53
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/llm/context/constants.d.ts +7 -6
- package/dist/ai-service/llm/context/constants.d.ts.map +1 -1
- package/dist/ai-service/llm/context/constants.js +7 -6
- package/dist/ai-service/llm/context/constants.js.map +1 -1
- package/dist/ai-service/llm/context/context-handle.d.ts +106 -0
- package/dist/ai-service/llm/context/context-handle.d.ts.map +1 -0
- package/dist/ai-service/llm/context/context-handle.js +134 -0
- package/dist/ai-service/llm/context/context-handle.js.map +1 -0
- package/dist/ai-service/llm/context/context-lock.d.ts +144 -0
- package/dist/ai-service/llm/context/context-lock.d.ts.map +1 -0
- package/dist/ai-service/llm/context/context-lock.js +221 -0
- package/dist/ai-service/llm/context/context-lock.js.map +1 -0
- package/dist/ai-service/llm/context/context.d.ts +18 -19
- package/dist/ai-service/llm/context/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context/context.js +78 -129
- package/dist/ai-service/llm/context/context.js.map +1 -1
- package/dist/ai-service/llm/context/index.d.ts +4 -0
- package/dist/ai-service/llm/context/index.d.ts.map +1 -1
- package/dist/ai-service/llm/context/index.js +5 -0
- package/dist/ai-service/llm/context/index.js.map +1 -1
- package/dist/ai-service/llm/context/internal-types.d.ts +0 -2
- package/dist/ai-service/llm/context/internal-types.d.ts.map +1 -1
- package/dist/ai-service/llm/context/internal-types.js.map +1 -1
- package/dist/ai-service/llm/context/levels/l1.d.ts.map +1 -1
- package/dist/ai-service/llm/context/levels/l1.js +3 -5
- package/dist/ai-service/llm/context/levels/l1.js.map +1 -1
- package/dist/ai-service/llm/context/manager.d.ts +60 -11
- package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context/manager.js +113 -37
- package/dist/ai-service/llm/context/manager.js.map +1 -1
- package/dist/ai-service/llm/context/utils/content-compaction.d.ts +2 -2
- package/dist/ai-service/llm/context/utils/content-compaction.d.ts.map +1 -1
- package/dist/ai-service/llm/context/utils/content-compaction.js +6 -3
- package/dist/ai-service/llm/context/utils/content-compaction.js.map +1 -1
- package/dist/ai-service/llm/context/utils/index.d.ts +1 -1
- package/dist/ai-service/llm/context/utils/index.d.ts.map +1 -1
- package/dist/ai-service/llm/context/utils/index.js +1 -1
- package/dist/ai-service/llm/context/utils/index.js.map +1 -1
- package/dist/ai-service/llm/context/utils/message-utils.d.ts +17 -7
- package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
- package/dist/ai-service/llm/context/utils/message-utils.js +31 -18
- package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
- package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
- package/dist/ai-service/llmobs/middleware/stream-text.js +1 -0
- package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
- package/dist/ai-service/llmobs/tracer.d.ts +4 -0
- package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
- package/dist/ai-service/llmobs/tracer.js +11 -0
- package/dist/ai-service/llmobs/tracer.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +2 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +363 -336
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/util/stop-condition.d.ts +4 -1
- package/dist/ai-service/util/stop-condition.d.ts.map +1 -1
- package/dist/ai-service/util/stop-condition.js +14 -2
- package/dist/ai-service/util/stop-condition.js.map +1 -1
- package/dist/sync-service/download.d.ts.map +1 -1
- package/dist/sync-service/download.js +28 -7
- package/dist/sync-service/download.js.map +1 -1
- package/dist/util/logger.d.ts +13 -0
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js +21 -0
- package/dist/util/logger.js.map +1 -1
- package/package.json +11 -9
- package/dist/ai-service/llm/context/logger.d.ts +0 -17
- package/dist/ai-service/llm/context/logger.d.ts.map +0 -1
- package/dist/ai-service/llm/context/logger.js +0 -26
- package/dist/ai-service/llm/context/logger.js.map +0 -1
|
@@ -32,7 +32,7 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
32
32
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
33
|
done = true;
|
|
34
34
|
};
|
|
35
|
-
import {
|
|
35
|
+
import { DatabricksPlugin, GraphQLIntegrationPlugin, PluginType, RegisteredPlugins, SalesforcePlugin, } from "@superblocksteam/shared";
|
|
36
36
|
import { isEmpty } from "lodash-es";
|
|
37
37
|
import { getLogger } from "../../util/logger.js";
|
|
38
38
|
import { datasourceSdkClassByType } from "../const.js";
|
|
@@ -44,14 +44,6 @@ import { GraphQLIntegrationMetadata } from "./metadata/graphql-based.js";
|
|
|
44
44
|
import { IntegrationMetadata } from "./metadata/index.js";
|
|
45
45
|
import { OpenApiIntegrationMetadata } from "./metadata/open-api.js";
|
|
46
46
|
import { TableBasedIntegrationMetadata } from "./metadata/table-based.js";
|
|
47
|
-
function toPromptContextIntegration(integration) {
|
|
48
|
-
return {
|
|
49
|
-
id: integration.id,
|
|
50
|
-
name: integration.name,
|
|
51
|
-
type: integration.plugin.id,
|
|
52
|
-
metadata: integration.metadata,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
47
|
let IntegrationStore = (() => {
|
|
56
48
|
let _instanceExtraInitializers = [];
|
|
57
49
|
let _getMetadata_decorators;
|
|
@@ -99,8 +91,6 @@ let IntegrationStore = (() => {
|
|
|
99
91
|
insertFromPromptContext(integration, editorClient) {
|
|
100
92
|
const pluginId = integration.type;
|
|
101
93
|
const plugin = this.pluginRegistry.get(pluginId);
|
|
102
|
-
const basePluginId = getBasePluginId(pluginId) ?? pluginId;
|
|
103
|
-
const basePlugin = this.pluginRegistry.get(basePluginId);
|
|
104
94
|
if (!plugin) {
|
|
105
95
|
// this should never happen
|
|
106
96
|
getLogger().error(`No plugin found for integration type ${integration.type}`);
|
|
@@ -109,11 +99,11 @@ let IntegrationStore = (() => {
|
|
|
109
99
|
const pluginHeader = {
|
|
110
100
|
id: plugin?.id,
|
|
111
101
|
type: plugin.type,
|
|
102
|
+
openApiSpecRef: plugin.openApiSpecRef,
|
|
112
103
|
isBuiltIn: this.pluginRegistry
|
|
113
104
|
.defaultPlugins()
|
|
114
105
|
.map((p) => p.id)
|
|
115
106
|
.includes(pluginId),
|
|
116
|
-
basePluginId: basePlugin?.id !== pluginId ? basePlugin?.id : undefined,
|
|
117
107
|
};
|
|
118
108
|
const header = {
|
|
119
109
|
id: integration.id,
|
|
@@ -138,25 +128,37 @@ let IntegrationStore = (() => {
|
|
|
138
128
|
return this.integrations.find((i) => i.id === id);
|
|
139
129
|
}
|
|
140
130
|
async getMetadata(id, editorClient) {
|
|
131
|
+
const header = this.getHeader(id);
|
|
132
|
+
if (!header) {
|
|
133
|
+
getLogger().warn(`[integration-store] No integration found for id ${id}. Returning cached metadata if available.`);
|
|
134
|
+
return this.metadataCache.get(id);
|
|
135
|
+
}
|
|
141
136
|
if (!editorClient) {
|
|
142
137
|
getLogger().warn(`[integration-store] No editor client provided, cannot fetch metadata for integration ${id}. Returning cached metadata if available.`);
|
|
143
138
|
return this.metadataCache.get(id);
|
|
144
139
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
this.
|
|
151
|
-
|
|
152
|
-
...integration.metadata,
|
|
153
|
-
});
|
|
140
|
+
if (this.metadataCache.has(id)) {
|
|
141
|
+
return this.metadataCache.get(id);
|
|
142
|
+
}
|
|
143
|
+
if (header.plugin.openApiSpecRef) {
|
|
144
|
+
// if it's an openapi integration, just get the spec
|
|
145
|
+
const spec = await this.getOpenApiSpec(header.id, editorClient);
|
|
146
|
+
this.metadataCache.set(id, { openApiSpec: spec });
|
|
154
147
|
return this.metadataCache.get(id);
|
|
148
|
+
}
|
|
149
|
+
const integration = await editorClient?.call.aiGetIntegration({
|
|
150
|
+
integrationId: id,
|
|
155
151
|
});
|
|
156
|
-
if (
|
|
152
|
+
if (Object.keys(integration.metadata).length === 0) {
|
|
153
|
+
getLogger().warn(`[integration-store] No metadata found for integration ${id}. Will try again next time`);
|
|
157
154
|
return this.metadataCache.get(id);
|
|
158
155
|
}
|
|
159
|
-
|
|
156
|
+
const existing = this.metadataCache.get(id) || {};
|
|
157
|
+
this.metadataCache.set(id, {
|
|
158
|
+
...existing,
|
|
159
|
+
...integration.metadata,
|
|
160
|
+
});
|
|
161
|
+
return this.metadataCache.get(id);
|
|
160
162
|
}
|
|
161
163
|
async getIntegration(id, editorClient) {
|
|
162
164
|
const header = this.getHeader(id);
|
|
@@ -201,20 +203,12 @@ let IntegrationStore = (() => {
|
|
|
201
203
|
if (!integration) {
|
|
202
204
|
throw new Error(`No integration found for id ${integrationId}`);
|
|
203
205
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
if (isOpenApiIntegration(promptContextIntegration)) {
|
|
207
|
-
const openApiSpec = await this.getOpenApiSpec(integration, clark);
|
|
208
|
-
metadata = {
|
|
209
|
-
...(metadata ?? (integration.metadata || {})),
|
|
210
|
-
openApiSpec,
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
if (!metadata) {
|
|
206
|
+
const metadata = integration.metadata;
|
|
207
|
+
if (Object.keys(metadata).length === 0) {
|
|
214
208
|
// we couldn't fetch metadata for some reason, throw error
|
|
215
209
|
throw new Error(`No metadata found for integration ${integration.id}`);
|
|
216
210
|
}
|
|
217
|
-
const klass = this.getMetadataClassForIntegration(
|
|
211
|
+
const klass = this.getMetadataClassForIntegration(integration);
|
|
218
212
|
getLogger().info(`[integration-store] Using metadata class ${klass.name} for integration ${integration.id} of type ${integration.plugin.id}`);
|
|
219
213
|
return await klass.refineMetadataForPrompt({
|
|
220
214
|
metadata,
|
|
@@ -240,43 +234,48 @@ let IntegrationStore = (() => {
|
|
|
240
234
|
}
|
|
241
235
|
return IntegrationMetadata;
|
|
242
236
|
}
|
|
243
|
-
async getOpenApiSpec(
|
|
244
|
-
if (this.openApiSpecs[
|
|
245
|
-
return this.openApiSpecs[
|
|
237
|
+
async getOpenApiSpec(integrationId, editorClient) {
|
|
238
|
+
if (this.openApiSpecs[integrationId]) {
|
|
239
|
+
return this.openApiSpecs[integrationId];
|
|
246
240
|
}
|
|
247
|
-
if (!
|
|
241
|
+
if (!editorClient) {
|
|
248
242
|
throw new Error("No peer found");
|
|
249
243
|
}
|
|
250
|
-
|
|
251
|
-
|
|
244
|
+
const header = this.getHeader(integrationId);
|
|
245
|
+
if (!header) {
|
|
246
|
+
throw new Error(`No integration found for id ${integrationId}`);
|
|
247
|
+
}
|
|
248
|
+
const specRef = header.plugin.openApiSpecRef;
|
|
249
|
+
if (!specRef) {
|
|
250
|
+
throw new Error(`Integration ${integrationId} is not an OpenAPI integration`);
|
|
252
251
|
}
|
|
253
252
|
// the ideal case is actually requesting this ourselves, not calling back to the UI to make the http request on our behalf (why two network hops when we can do one)
|
|
254
253
|
// but bucketeer requires bearer tokens to access, and we don't have that here (yet), so we will do this for now.
|
|
255
|
-
const result = await
|
|
256
|
-
integrationId:
|
|
257
|
-
ref:
|
|
254
|
+
const result = await editorClient.call.aiGetOpenApiSpec({
|
|
255
|
+
integrationId: header.id,
|
|
256
|
+
ref: specRef,
|
|
258
257
|
});
|
|
259
258
|
if (isEmpty(result)) {
|
|
260
259
|
return undefined;
|
|
261
260
|
}
|
|
262
|
-
this.openApiSpecs[
|
|
263
|
-
return
|
|
261
|
+
this.openApiSpecs[header.id] = result;
|
|
262
|
+
return result;
|
|
264
263
|
}
|
|
265
264
|
};
|
|
266
265
|
})();
|
|
267
266
|
export { IntegrationStore };
|
|
268
|
-
function isOpenApiIntegration(
|
|
269
|
-
return
|
|
267
|
+
function isOpenApiIntegration(header) {
|
|
268
|
+
return header.plugin.openApiSpecRef !== undefined;
|
|
270
269
|
}
|
|
271
270
|
function isSdkIntegration(integration) {
|
|
272
271
|
return (typeof integration.type === "string" &&
|
|
273
272
|
integration.type in datasourceSdkClassByType);
|
|
274
273
|
}
|
|
275
|
-
function isDatabricksIntegration(
|
|
276
|
-
return
|
|
274
|
+
function isDatabricksIntegration(header) {
|
|
275
|
+
return header.plugin.id === DatabricksPlugin.id;
|
|
277
276
|
}
|
|
278
|
-
function isDatabaseIntegration(
|
|
279
|
-
return (databaseIntegrationTypes.includes(
|
|
277
|
+
function isDatabaseIntegration(header) {
|
|
278
|
+
return (databaseIntegrationTypes.includes(header.plugin.id) || header.plugin.id === SalesforcePlugin.id);
|
|
280
279
|
}
|
|
281
280
|
function isTableBasedIntegration(integration) {
|
|
282
281
|
const schema = integration.metadata?.schema || integration.metadata?.dbSchema;
|
|
@@ -285,7 +284,7 @@ function isTableBasedIntegration(integration) {
|
|
|
285
284
|
}
|
|
286
285
|
return false;
|
|
287
286
|
}
|
|
288
|
-
function isGraphQlIntegration(
|
|
289
|
-
return
|
|
287
|
+
function isGraphQlIntegration(header) {
|
|
288
|
+
return header.plugin.id === GraphQLIntegrationPlugin.id;
|
|
290
289
|
}
|
|
291
290
|
//# sourceMappingURL=store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,15 +82,16 @@ export declare const DEFAULT_MIN_TOKENS_FOR_ESTIMATE_UPDATE = 1000;
|
|
|
82
82
|
export declare const DEFAULT_CHARACTERS_PER_TOKEN_MIN = 2;
|
|
83
83
|
export declare const DEFAULT_CHARACTERS_PER_TOKEN_MAX = 5;
|
|
84
84
|
/**
|
|
85
|
-
* Number of steps to
|
|
85
|
+
* Number of steps to preserve at full fidelity when trimming the active turn.
|
|
86
86
|
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
87
|
+
* During compaction, when the active turn exceeds the target token budget,
|
|
88
|
+
* older steps are trimmed (content is compacted) while the most recent
|
|
89
|
+
* steps are preserved at full fidelity.
|
|
89
90
|
*
|
|
90
|
-
* Value of 3 ensures recent tool-use loops stay
|
|
91
|
-
*
|
|
91
|
+
* Value of 3 ensures recent tool-use loops stay detailed while older
|
|
92
|
+
* interactions are compressed to save tokens.
|
|
92
93
|
*
|
|
93
|
-
* When aggressive compaction is needed, only the last step is
|
|
94
|
+
* When aggressive compaction is needed, only the last step is preserved.
|
|
94
95
|
*/
|
|
95
96
|
export declare const DEFAULT_PRIORITIZED_STEPS = 3;
|
|
96
97
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAElD;;;;;;;;GAQG;AACH,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;;;;;GAQG;AACH,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAElD;;;;;;;;GAQG;AACH,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;;;;;GAQG;AACH,eAAO,MAAM,wCAAwC,IAAI,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;GAEG;AAEH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,0BAA0B,YAAY,CAAC;AACpD,eAAO,MAAM,+BAA+B,OAAO,CAAC"}
|
|
@@ -82,15 +82,16 @@ export const DEFAULT_MIN_TOKENS_FOR_ESTIMATE_UPDATE = 1000;
|
|
|
82
82
|
export const DEFAULT_CHARACTERS_PER_TOKEN_MIN = 2;
|
|
83
83
|
export const DEFAULT_CHARACTERS_PER_TOKEN_MAX = 5;
|
|
84
84
|
/**
|
|
85
|
-
* Number of steps to
|
|
85
|
+
* Number of steps to preserve at full fidelity when trimming the active turn.
|
|
86
86
|
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
87
|
+
* During compaction, when the active turn exceeds the target token budget,
|
|
88
|
+
* older steps are trimmed (content is compacted) while the most recent
|
|
89
|
+
* steps are preserved at full fidelity.
|
|
89
90
|
*
|
|
90
|
-
* Value of 3 ensures recent tool-use loops stay
|
|
91
|
-
*
|
|
91
|
+
* Value of 3 ensures recent tool-use loops stay detailed while older
|
|
92
|
+
* interactions are compressed to save tokens.
|
|
92
93
|
*
|
|
93
|
-
* When aggressive compaction is needed, only the last step is
|
|
94
|
+
* When aggressive compaction is needed, only the last step is preserved.
|
|
94
95
|
*/
|
|
95
96
|
export const DEFAULT_PRIORITIZED_STEPS = 3;
|
|
96
97
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C;;GAEG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC;AACpD,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe context handle with automatic resource management.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a handle-based API for safely acquiring and
|
|
5
|
+
* releasing contexts with guaranteed cleanup semantics.
|
|
6
|
+
*/
|
|
7
|
+
import type { ContextLockManager } from "./context-lock.js";
|
|
8
|
+
import type { Context } from "./context.js";
|
|
9
|
+
import type { ContextId } from "./types.js";
|
|
10
|
+
/**
|
|
11
|
+
* Handle for safely accessing a context with exclusive ownership.
|
|
12
|
+
*
|
|
13
|
+
* This class implements the RAII (Resource Acquisition Is Initialization) pattern
|
|
14
|
+
* to ensure contexts are properly released when no longer needed.
|
|
15
|
+
*
|
|
16
|
+
* Usage:
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const handle = await manager.acquireContext(contextId, ownerId);
|
|
19
|
+
* try {
|
|
20
|
+
* // Use the context safely
|
|
21
|
+
* handle.context.startTurn(userMessage);
|
|
22
|
+
* handle.context.endTurn();
|
|
23
|
+
* } finally {
|
|
24
|
+
* // Always release when done
|
|
25
|
+
* handle.release();
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* Or with async using (when available):
|
|
30
|
+
* ```typescript
|
|
31
|
+
* await using handle = await manager.acquireContext(contextId, ownerId);
|
|
32
|
+
* // Context automatically released when scope ends
|
|
33
|
+
* handle.context.startTurn(userMessage);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare class ContextHandle {
|
|
37
|
+
/** The context instance */
|
|
38
|
+
readonly context: Context;
|
|
39
|
+
/** The ID of the context */
|
|
40
|
+
readonly contextId: ContextId;
|
|
41
|
+
/** The owner ID holding this handle */
|
|
42
|
+
readonly ownerId: string;
|
|
43
|
+
/** The lock manager to release the lock */
|
|
44
|
+
private readonly lockManager;
|
|
45
|
+
private _released;
|
|
46
|
+
constructor(
|
|
47
|
+
/** The context instance */
|
|
48
|
+
context: Context,
|
|
49
|
+
/** The ID of the context */
|
|
50
|
+
contextId: ContextId,
|
|
51
|
+
/** The owner ID holding this handle */
|
|
52
|
+
ownerId: string,
|
|
53
|
+
/** The lock manager to release the lock */
|
|
54
|
+
lockManager: ContextLockManager);
|
|
55
|
+
/**
|
|
56
|
+
* Whether this handle has been released.
|
|
57
|
+
*/
|
|
58
|
+
get isReleased(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Releases the context lock.
|
|
61
|
+
*
|
|
62
|
+
* This method is idempotent - calling it multiple times is safe.
|
|
63
|
+
* After calling release(), the context should not be used.
|
|
64
|
+
*/
|
|
65
|
+
release(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Ensures the handle is still valid for use.
|
|
68
|
+
*
|
|
69
|
+
* @throws Error if the handle has been released
|
|
70
|
+
*/
|
|
71
|
+
ensureValid(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Implements the async disposable protocol for automatic cleanup.
|
|
74
|
+
* This allows using the handle with 'await using' syntax when available.
|
|
75
|
+
*/
|
|
76
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Implements the disposable protocol for automatic cleanup.
|
|
79
|
+
* This allows using the handle with 'using' syntax when available.
|
|
80
|
+
*/
|
|
81
|
+
[Symbol.dispose](): void;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Options for acquiring a context handle.
|
|
85
|
+
*/
|
|
86
|
+
export interface AcquireContextOptions {
|
|
87
|
+
/** Maximum time to wait for the lock in milliseconds */
|
|
88
|
+
waitTimeoutMs?: number;
|
|
89
|
+
/** Lock timeout in milliseconds (how long the lock is held) */
|
|
90
|
+
lockTimeoutMs?: number;
|
|
91
|
+
/** Retry interval when waiting for the lock */
|
|
92
|
+
retryIntervalMs?: number;
|
|
93
|
+
/** Force acquisition even if locked by another owner */
|
|
94
|
+
force?: boolean;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Helper function to acquire a context with retries.
|
|
98
|
+
*
|
|
99
|
+
* @param lockManager - The lock manager
|
|
100
|
+
* @param contextId - The context to acquire
|
|
101
|
+
* @param ownerId - The owner acquiring the context
|
|
102
|
+
* @param options - Acquisition options
|
|
103
|
+
* @returns true if acquired, false if timeout
|
|
104
|
+
*/
|
|
105
|
+
export declare function tryAcquireWithRetries(lockManager: ContextLockManager, contextId: ContextId, ownerId: string, options?: AcquireContextOptions): Promise<boolean>;
|
|
106
|
+
//# sourceMappingURL=context-handle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-handle.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/context-handle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,aAAa;IAItB,2BAA2B;aACX,OAAO,EAAE,OAAO;IAChC,4BAA4B;aACZ,SAAS,EAAE,SAAS;IACpC,uCAAuC;aACvB,OAAO,EAAE,MAAM;IAC/B,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAV9B,OAAO,CAAC,SAAS,CAAS;;IAGxB,2BAA2B;IACX,OAAO,EAAE,OAAO;IAChC,4BAA4B;IACZ,SAAS,EAAE,SAAS;IACpC,uCAAuC;IACvB,OAAO,EAAE,MAAM;IAC/B,2CAA2C;IAC1B,WAAW,EAAE,kBAAkB;IAGlD;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IASf;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAQnB;;;OAGG;IACG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAGzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,kBAAkB,EAC/B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,OAAO,CAAC,CAsClB"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safe context handle with automatic resource management.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a handle-based API for safely acquiring and
|
|
5
|
+
* releasing contexts with guaranteed cleanup semantics.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Handle for safely accessing a context with exclusive ownership.
|
|
9
|
+
*
|
|
10
|
+
* This class implements the RAII (Resource Acquisition Is Initialization) pattern
|
|
11
|
+
* to ensure contexts are properly released when no longer needed.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const handle = await manager.acquireContext(contextId, ownerId);
|
|
16
|
+
* try {
|
|
17
|
+
* // Use the context safely
|
|
18
|
+
* handle.context.startTurn(userMessage);
|
|
19
|
+
* handle.context.endTurn();
|
|
20
|
+
* } finally {
|
|
21
|
+
* // Always release when done
|
|
22
|
+
* handle.release();
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* Or with async using (when available):
|
|
27
|
+
* ```typescript
|
|
28
|
+
* await using handle = await manager.acquireContext(contextId, ownerId);
|
|
29
|
+
* // Context automatically released when scope ends
|
|
30
|
+
* handle.context.startTurn(userMessage);
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export class ContextHandle {
|
|
34
|
+
context;
|
|
35
|
+
contextId;
|
|
36
|
+
ownerId;
|
|
37
|
+
lockManager;
|
|
38
|
+
_released = false;
|
|
39
|
+
constructor(
|
|
40
|
+
/** The context instance */
|
|
41
|
+
context,
|
|
42
|
+
/** The ID of the context */
|
|
43
|
+
contextId,
|
|
44
|
+
/** The owner ID holding this handle */
|
|
45
|
+
ownerId,
|
|
46
|
+
/** The lock manager to release the lock */
|
|
47
|
+
lockManager) {
|
|
48
|
+
this.context = context;
|
|
49
|
+
this.contextId = contextId;
|
|
50
|
+
this.ownerId = ownerId;
|
|
51
|
+
this.lockManager = lockManager;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Whether this handle has been released.
|
|
55
|
+
*/
|
|
56
|
+
get isReleased() {
|
|
57
|
+
return this._released;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Releases the context lock.
|
|
61
|
+
*
|
|
62
|
+
* This method is idempotent - calling it multiple times is safe.
|
|
63
|
+
* After calling release(), the context should not be used.
|
|
64
|
+
*/
|
|
65
|
+
release() {
|
|
66
|
+
if (this._released) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
this._released = true;
|
|
70
|
+
this.lockManager.release(this.contextId, this.ownerId);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Ensures the handle is still valid for use.
|
|
74
|
+
*
|
|
75
|
+
* @throws Error if the handle has been released
|
|
76
|
+
*/
|
|
77
|
+
ensureValid() {
|
|
78
|
+
if (this._released) {
|
|
79
|
+
throw new Error(`Context handle for '${this.contextId.name}' has been released and cannot be used`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Implements the async disposable protocol for automatic cleanup.
|
|
84
|
+
* This allows using the handle with 'await using' syntax when available.
|
|
85
|
+
*/
|
|
86
|
+
async [Symbol.asyncDispose]() {
|
|
87
|
+
this.release();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Implements the disposable protocol for automatic cleanup.
|
|
91
|
+
* This allows using the handle with 'using' syntax when available.
|
|
92
|
+
*/
|
|
93
|
+
[Symbol.dispose]() {
|
|
94
|
+
this.release();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Helper function to acquire a context with retries.
|
|
99
|
+
*
|
|
100
|
+
* @param lockManager - The lock manager
|
|
101
|
+
* @param contextId - The context to acquire
|
|
102
|
+
* @param ownerId - The owner acquiring the context
|
|
103
|
+
* @param options - Acquisition options
|
|
104
|
+
* @returns true if acquired, false if timeout
|
|
105
|
+
*/
|
|
106
|
+
export async function tryAcquireWithRetries(lockManager, contextId, ownerId, options = {}) {
|
|
107
|
+
const { waitTimeoutMs = 0, lockTimeoutMs, retryIntervalMs = 100, force = false, } = options;
|
|
108
|
+
const deadline = waitTimeoutMs > 0 ? Date.now() + waitTimeoutMs : 0;
|
|
109
|
+
while (true) {
|
|
110
|
+
// Try to acquire the lock
|
|
111
|
+
const acquired = force
|
|
112
|
+
? lockManager.acquire(contextId, ownerId, {
|
|
113
|
+
force: true,
|
|
114
|
+
timeoutMs: lockTimeoutMs,
|
|
115
|
+
})
|
|
116
|
+
: lockManager.tryAcquire(contextId, ownerId, {
|
|
117
|
+
timeoutMs: lockTimeoutMs,
|
|
118
|
+
});
|
|
119
|
+
if (acquired) {
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
// Check if we've exceeded the wait timeout
|
|
123
|
+
if (deadline > 0 && Date.now() >= deadline) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
// If no timeout specified and couldn't acquire, return immediately
|
|
127
|
+
if (waitTimeoutMs === 0) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
// Wait before retrying
|
|
131
|
+
await new Promise((resolve) => setTimeout(resolve, retryIntervalMs));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=context-handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-handle.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/context-handle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,aAAa;IAKN;IAEA;IAEA;IAEC;IAVX,SAAS,GAAG,KAAK,CAAC;IAE1B;IACE,2BAA2B;IACX,OAAgB;IAChC,4BAA4B;IACZ,SAAoB;IACpC,uCAAuC;IACvB,OAAe;IAC/B,2CAA2C;IAC1B,WAA+B;QANhC,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAW;QAEpB,YAAO,GAAP,OAAO,CAAQ;QAEd,gBAAW,GAAX,WAAW,CAAoB;IAC/C,CAAC;IAEJ;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,CAAC,SAAS,CAAC,IAAI,wCAAwC,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;CACF;AAgBD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAA+B,EAC/B,SAAoB,EACpB,OAAe,EACf,UAAiC,EAAE;IAEnC,MAAM,EACJ,aAAa,GAAG,CAAC,EACjB,aAAa,EACb,eAAe,GAAG,GAAG,EACrB,KAAK,GAAG,KAAK,GACd,GAAG,OAAO,CAAC;IAEZ,MAAM,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpE,OAAO,IAAI,EAAE,CAAC;QACZ,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,KAAK;YACpB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE;gBACtC,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,aAAa;aACzB,CAAC;YACJ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE;gBACzC,SAAS,EAAE,aAAa;aACzB,CAAC,CAAC;QAEP,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2CAA2C;QAC3C,IAAI,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mEAAmE;QACnE,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uBAAuB;QACvB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC"}
|