@superblocksteam/vite-plugin-file-sync 2.0.165-next.0 → 2.0.166-next.1
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/clark-prompt-metrics.d.ts +8 -0
- package/dist/ai-service/agent/clark-prompt-metrics.d.ts.map +1 -0
- package/dist/ai-service/agent/clark-prompt-metrics.js +52 -0
- package/dist/ai-service/agent/clark-prompt-metrics.js.map +1 -0
- package/dist/ai-service/agent/prompts/api-prompts.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/api-prompts.js +5 -3
- package/dist/ai-service/agent/prompts/api-prompts.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +46 -8
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-result-metrics.d.ts +12 -0
- package/dist/ai-service/agent/tool-result-metrics.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-result-metrics.js +29 -0
- package/dist/ai-service/agent/tool-result-metrics.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.d.ts +17 -0
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.js +208 -0
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts +6 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +53 -19
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.d.ts +20 -0
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.js +284 -0
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.d.ts +77 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.js +627 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -0
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +51 -9
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-read-file.d.ts +50 -6
- package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.js +153 -40
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
- package/dist/ai-service/agent/tools/index.d.ts +3 -2
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +3 -2
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +15 -15
- package/dist/ai-service/agent/tools/read-state-trackers.d.ts +33 -0
- package/dist/ai-service/agent/tools/read-state-trackers.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/read-state-trackers.js +67 -0
- package/dist/ai-service/agent/tools/read-state-trackers.js.map +1 -0
- package/dist/ai-service/agent/tools/report-security-findings.d.ts +6 -6
- package/dist/ai-service/agent/tools/report-security-findings.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/report-security-findings.js +4 -2
- package/dist/ai-service/agent/tools/report-security-findings.js.map +1 -1
- package/dist/ai-service/agent/tools/subagent-isolation.d.ts +4 -15
- package/dist/ai-service/agent/tools/subagent-isolation.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/subagent-isolation.js +4 -44
- package/dist/ai-service/agent/tools/subagent-isolation.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +17 -64
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts +1 -0
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +23 -5
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts +3 -6
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +65 -2
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.d.ts +9 -0
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.js +52 -0
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/bash.d.ts +2 -2
- package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/download-attachments.js +57 -49
- package/dist/ai-service/agent/tools2/tools/download-attachments.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +3 -3
- package/dist/ai-service/agent/tools2/tools/git.d.ts +6 -6
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.js +1 -1
- package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts +1 -1
- package/dist/ai-service/agent/utils.d.ts +5 -1
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +75 -21
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-skills/helpers.d.ts +8 -2
- package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
- package/dist/ai-service/app-skills/helpers.js +184 -4
- package/dist/ai-service/app-skills/helpers.js.map +1 -1
- package/dist/ai-service/attachments/text-upload-artifacts.d.ts.map +1 -1
- package/dist/ai-service/attachments/text-upload-artifacts.js +1 -1
- package/dist/ai-service/attachments/text-upload-artifacts.js.map +1 -1
- package/dist/ai-service/attachments/upload-artifact-paths.d.ts +5 -0
- package/dist/ai-service/attachments/upload-artifact-paths.d.ts.map +1 -0
- package/dist/ai-service/attachments/upload-artifact-paths.js +18 -0
- package/dist/ai-service/attachments/upload-artifact-paths.js.map +1 -0
- package/dist/ai-service/chat/chat-session-store-metrics.d.ts +6 -0
- package/dist/ai-service/chat/chat-session-store-metrics.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store-metrics.js +23 -1
- package/dist/ai-service/chat/chat-session-store-metrics.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +25 -1
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +70 -4
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/edit-after-clark.d.ts +58 -0
- package/dist/ai-service/edit-after-clark.d.ts.map +1 -0
- package/dist/ai-service/edit-after-clark.js +143 -0
- package/dist/ai-service/edit-after-clark.js.map +1 -0
- package/dist/ai-service/features.d.ts +5 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +5 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +25 -3
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +123 -18
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/judge/tools/playwright-action.d.ts +5 -5
- package/dist/ai-service/llm/context-v2/context.d.ts +23 -6
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +48 -13
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/token-tracker.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/token-tracker.js.map +1 -1
- package/dist/ai-service/llm/stream/abort-reason.d.ts +31 -0
- package/dist/ai-service/llm/stream/abort-reason.d.ts.map +1 -0
- package/dist/ai-service/llm/stream/abort-reason.js +36 -0
- package/dist/ai-service/llm/stream/abort-reason.js.map +1 -0
- package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/idle-monitor.js +7 -0
- package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/attempt-model.d.ts +8 -0
- package/dist/ai-service/llm/stream/observers/attempt-model.d.ts.map +1 -0
- package/dist/ai-service/llm/stream/observers/attempt-model.js +15 -0
- package/dist/ai-service/llm/stream/observers/attempt-model.js.map +1 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts +15 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +89 -12
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/migration-prompt-gating.d.ts +1 -0
- package/dist/ai-service/migration-prompt-gating.d.ts.map +1 -1
- package/dist/ai-service/migration-prompt-gating.js +6 -0
- package/dist/ai-service/migration-prompt-gating.js.map +1 -1
- package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/_registry.generated.js +8 -0
- package/dist/ai-service/skills/system/_registry.generated.js.map +1 -1
- package/dist/ai-service/skills/system/resolve.d.ts.map +1 -1
- package/dist/ai-service/skills/system/resolve.js +29 -4
- package/dist/ai-service/skills/system/resolve.js.map +1 -1
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.js +66 -0
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.js +5 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.js +5 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +2 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.js +6 -6
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.js +29 -0
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.js.map +1 -0
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +2 -2
- package/dist/ai-service/state-machine/clark-fsm.d.ts +14 -1
- 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 +9 -2
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.d.ts +18 -0
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.js +66 -0
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.js.map +1 -0
- package/dist/ai-service/state-machine/helpers/transition.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/transition.js.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.d.ts +12 -3
- package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js +17 -5
- package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
- package/dist/ai-service/template-renderer.js +43 -7
- package/dist/ai-service/template-renderer.js.map +1 -1
- package/dist/ai-service/types.d.ts +2 -0
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/types.js.map +1 -1
- package/dist/ai-service/util/llm-config-utils.d.ts +2 -2
- package/dist/ai-service/util/llm-config-utils.d.ts.map +1 -1
- package/dist/ai-service/util/llm-config-utils.js +3 -2
- package/dist/ai-service/util/llm-config-utils.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts +12 -3
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +57 -17
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/migration/migration-routes.d.ts.map +1 -1
- package/dist/migration/migration-routes.js +42 -23
- package/dist/migration/migration-routes.js.map +1 -1
- package/dist/npm/normalize-workspace-protocol-for-npm.d.ts.map +1 -1
- package/dist/npm/normalize-workspace-protocol-for-npm.js +5 -5
- package/dist/npm/normalize-workspace-protocol-for-npm.js.map +1 -1
- package/dist/npm/rewrite-platform-workspace-deps.d.ts +2 -0
- package/dist/npm/rewrite-platform-workspace-deps.d.ts.map +1 -1
- package/dist/npm/rewrite-platform-workspace-deps.js +2 -2
- package/dist/npm/rewrite-platform-workspace-deps.js.map +1 -1
- package/dist/policy-gate-runner.d.ts.map +1 -1
- package/dist/policy-gate-runner.js +3 -0
- package/dist/policy-gate-runner.js.map +1 -1
- package/dist/socket-manager.d.ts +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +64 -22
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts +14 -1
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +27 -1
- package/dist/sync-service/index.js.map +1 -1
- package/dist/sync-service/list-dir.d.ts.map +1 -1
- package/dist/sync-service/list-dir.js +15 -1
- package/dist/sync-service/list-dir.js.map +1 -1
- package/dist/sync-service/snapshot/take-snapshot.d.ts +6 -0
- package/dist/sync-service/snapshot/take-snapshot.d.ts.map +1 -1
- package/dist/sync-service/snapshot/take-snapshot.js +21 -0
- package/dist/sync-service/snapshot/take-snapshot.js.map +1 -1
- package/dist/vite-plugin-yaml-types.d.ts +6 -0
- package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
- package/dist/vite-plugin-yaml-types.js +52 -61
- package/dist/vite-plugin-yaml-types.js.map +1 -1
- package/package.json +14 -11
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { resolveAttachmentFileName, } from "@superblocksteam/library-shared/types";
|
|
3
|
+
import { assertAttachmentSize, getTextAttachmentType, isXlsxAttachmentFile, } from "@superblocksteam/shared";
|
|
4
|
+
import { AttachmentsStore } from "../../../attachments/index.js";
|
|
5
|
+
import { getCanonicalAttachmentUrl } from "../../../attachments/uploaded-content-part.js";
|
|
6
|
+
import { getActiveContext } from "../../../llm/context-v2/utils/index.js";
|
|
7
|
+
import { scrubSecrets, stripUnsafeChars } from "../../../types.js";
|
|
8
|
+
import { resolveUploadedAttachmentLeases } from "../../tools2/tools/attachment-lease-resolver.js";
|
|
9
|
+
import { convertWorkbookToCsvSheets } from "./spreadsheet-csv.js";
|
|
10
|
+
const ATTACHMENT_FETCH_TIMEOUT_MS = 30_000;
|
|
11
|
+
// Browsers often label .csv uploads as Excel files, which the shared
|
|
12
|
+
// attachment checks reject as Office documents.
|
|
13
|
+
const CSV_MIME_TYPE = "text/csv";
|
|
14
|
+
function normalizeAttachmentInputs(attachmentInputs) {
|
|
15
|
+
return Object.fromEntries(Object.entries(attachmentInputs).map(([inputName, storageKeys]) => [
|
|
16
|
+
inputName,
|
|
17
|
+
storageKeys.map((storageKey) => storageKey.trim()),
|
|
18
|
+
]));
|
|
19
|
+
}
|
|
20
|
+
function safeDisplayName(value) {
|
|
21
|
+
return stripUnsafeChars(scrubSecrets(value)).trim().slice(0, 200);
|
|
22
|
+
}
|
|
23
|
+
export function formatAttachmentInputDetails({ attachmentInputs, clark, services, }) {
|
|
24
|
+
const context = getActiveContext(clark, services);
|
|
25
|
+
const normalizedInputs = normalizeAttachmentInputs(attachmentInputs);
|
|
26
|
+
const storageKeys = Array.from(new Set(Object.values(normalizedInputs).flat()));
|
|
27
|
+
const attachments = context
|
|
28
|
+
? new AttachmentsStore().getUploadedAttachmentsByStorageKeys(context, storageKeys)
|
|
29
|
+
: [];
|
|
30
|
+
const fileNamesByStorageKey = new Map(attachments.flatMap((attachment) => {
|
|
31
|
+
const storageKey = attachment.storageKey?.trim();
|
|
32
|
+
if (!storageKey)
|
|
33
|
+
return [];
|
|
34
|
+
const fileName = resolveAttachmentFileName({
|
|
35
|
+
fileName: attachment.fileName,
|
|
36
|
+
mediaType: attachment.mediaType,
|
|
37
|
+
type: "uploaded",
|
|
38
|
+
});
|
|
39
|
+
return [[storageKey, safeDisplayName(fileName)]];
|
|
40
|
+
}));
|
|
41
|
+
const details = Object.entries(normalizedInputs).map(([inputName, inputStorageKeys]) => {
|
|
42
|
+
const fileNames = inputStorageKeys.map((storageKey) => fileNamesByStorageKey.get(storageKey) ?? "unavailable attachment");
|
|
43
|
+
return `- ${safeDisplayName(inputName)}: ${fileNames.join(", ")}`;
|
|
44
|
+
});
|
|
45
|
+
return details.length > 0
|
|
46
|
+
? `Attached files:\n${details.join("\n")}`
|
|
47
|
+
: undefined;
|
|
48
|
+
}
|
|
49
|
+
export async function buildAttachmentFileInputs({ attachmentInputs, clark, inputs, services, }) {
|
|
50
|
+
if (services.features.clarkAttachmentDownloadEnabled !== true) {
|
|
51
|
+
throw new Error("Attachment inputs are disabled");
|
|
52
|
+
}
|
|
53
|
+
const context = getActiveContext(clark, services);
|
|
54
|
+
if (!context) {
|
|
55
|
+
throw new Error("Context not available");
|
|
56
|
+
}
|
|
57
|
+
const normalizedInputs = normalizeAttachmentInputs(attachmentInputs);
|
|
58
|
+
const storageKeys = Array.from(new Set(Object.values(normalizedInputs).flat()));
|
|
59
|
+
if (storageKeys.some((storageKey) => storageKey.length === 0)) {
|
|
60
|
+
throw new Error("Attachment storageKey must not be empty");
|
|
61
|
+
}
|
|
62
|
+
const attachments = new AttachmentsStore()
|
|
63
|
+
.getUploadedAttachmentsByStorageKeys(context, storageKeys)
|
|
64
|
+
.filter((attachment) => attachment.type === "uploaded" &&
|
|
65
|
+
typeof attachment.storageKey === "string" &&
|
|
66
|
+
attachment.storageKey.length > 0);
|
|
67
|
+
const attachmentsByStorageKey = new Map(attachments.map((attachment) => [attachment.storageKey.trim(), attachment]));
|
|
68
|
+
const missingStorageKeys = storageKeys.filter((storageKey) => !attachmentsByStorageKey.has(storageKey));
|
|
69
|
+
if (missingStorageKeys.length > 0) {
|
|
70
|
+
throw new Error("Attachment not found in current session");
|
|
71
|
+
}
|
|
72
|
+
const unsupported = attachments.filter((attachment) => {
|
|
73
|
+
const fileName = resolveAttachmentFileName({
|
|
74
|
+
fileName: attachment.fileName,
|
|
75
|
+
mediaType: attachment.mediaType,
|
|
76
|
+
type: "uploaded",
|
|
77
|
+
});
|
|
78
|
+
return (getTextAttachmentType({ fileName }) !== "csv" &&
|
|
79
|
+
!isXlsxAttachmentFile({ fileName, mimeType: attachment.mediaType }));
|
|
80
|
+
});
|
|
81
|
+
if (unsupported.length > 0) {
|
|
82
|
+
throw new Error("Only CSV and Excel attachments can be passed as API inputs");
|
|
83
|
+
}
|
|
84
|
+
const leasesByUrl = await resolveUploadedAttachmentLeases({
|
|
85
|
+
attachments,
|
|
86
|
+
clark,
|
|
87
|
+
services,
|
|
88
|
+
});
|
|
89
|
+
const files = [];
|
|
90
|
+
const metadataByStorageKey = new Map();
|
|
91
|
+
for (const attachment of attachments) {
|
|
92
|
+
const lease = leasesByUrl.get(getCanonicalAttachmentUrl(attachment.url));
|
|
93
|
+
if (!lease) {
|
|
94
|
+
throw new Error("A fresh attachment download URL was not returned");
|
|
95
|
+
}
|
|
96
|
+
const fileName = resolveAttachmentFileName({
|
|
97
|
+
fileName: attachment.fileName,
|
|
98
|
+
mediaType: attachment.mediaType,
|
|
99
|
+
type: "uploaded",
|
|
100
|
+
});
|
|
101
|
+
const isWorkbook = isXlsxAttachmentFile({
|
|
102
|
+
fileName,
|
|
103
|
+
mimeType: attachment.mediaType,
|
|
104
|
+
});
|
|
105
|
+
const timeoutSignal = AbortSignal.timeout(ATTACHMENT_FETCH_TIMEOUT_MS);
|
|
106
|
+
const turnSignal = clark.context.abortController?.signal;
|
|
107
|
+
const response = await fetch(lease.signedUrl, {
|
|
108
|
+
signal: turnSignal
|
|
109
|
+
? AbortSignal.any([turnSignal, timeoutSignal])
|
|
110
|
+
: timeoutSignal,
|
|
111
|
+
});
|
|
112
|
+
if (!response.ok || !response.body) {
|
|
113
|
+
throw new Error(`Failed to download attachment: HTTP ${response.status}`);
|
|
114
|
+
}
|
|
115
|
+
const reader = response.body.getReader();
|
|
116
|
+
const chunks = [];
|
|
117
|
+
let size = 0;
|
|
118
|
+
try {
|
|
119
|
+
for (;;) {
|
|
120
|
+
const { value, done } = await reader.read();
|
|
121
|
+
if (done)
|
|
122
|
+
break;
|
|
123
|
+
size += value.byteLength;
|
|
124
|
+
assertAttachmentSize({
|
|
125
|
+
fileName,
|
|
126
|
+
mimeType: isWorkbook ? attachment.mediaType : CSV_MIME_TYPE,
|
|
127
|
+
sizeBytes: size,
|
|
128
|
+
});
|
|
129
|
+
chunks.push(value);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
await reader.cancel(error);
|
|
134
|
+
throw error;
|
|
135
|
+
}
|
|
136
|
+
finally {
|
|
137
|
+
reader.releaseLock();
|
|
138
|
+
}
|
|
139
|
+
const contents = Buffer.concat(chunks, size);
|
|
140
|
+
const preparedSheets = isWorkbook
|
|
141
|
+
? await convertWorkbookToCsvSheets({ bytes: contents, fileName })
|
|
142
|
+
: null;
|
|
143
|
+
if (preparedSheets) {
|
|
144
|
+
const sheetMetadata = [];
|
|
145
|
+
// A sheet that only derives values from other sheets has no rows to
|
|
146
|
+
// load, so only the data tables become API inputs.
|
|
147
|
+
const dataSheets = preparedSheets.filter((sheet) => sheet.csv !== undefined && sheet.fileName !== undefined);
|
|
148
|
+
if (dataSheets.length === 0) {
|
|
149
|
+
throw new Error("Workbook has no data to import");
|
|
150
|
+
}
|
|
151
|
+
for (const [index, sheet] of dataSheets.entries()) {
|
|
152
|
+
const csvBytes = Buffer.from(sheet.csv, "utf8");
|
|
153
|
+
const fileId = `clark-attachment-${attachment.id}-${index + 1}`;
|
|
154
|
+
files.push({
|
|
155
|
+
buffer: csvBytes.toString("base64"),
|
|
156
|
+
encoding: "base64",
|
|
157
|
+
mimeType: CSV_MIME_TYPE,
|
|
158
|
+
originalName: fileId,
|
|
159
|
+
size: String(csvBytes.byteLength),
|
|
160
|
+
});
|
|
161
|
+
sheetMetadata.push({
|
|
162
|
+
$superblocksId: fileId,
|
|
163
|
+
encoding: "text",
|
|
164
|
+
extension: "csv",
|
|
165
|
+
name: sheet.fileName,
|
|
166
|
+
size: csvBytes.byteLength,
|
|
167
|
+
type: CSV_MIME_TYPE,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
metadataByStorageKey.set(attachment.storageKey.trim(), sheetMetadata);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
const fileId = `clark-attachment-${attachment.id}`;
|
|
174
|
+
files.push({
|
|
175
|
+
buffer: contents.toString("base64"),
|
|
176
|
+
encoding: "base64",
|
|
177
|
+
mimeType: CSV_MIME_TYPE,
|
|
178
|
+
originalName: fileId,
|
|
179
|
+
size: String(contents.byteLength),
|
|
180
|
+
});
|
|
181
|
+
metadataByStorageKey.set(attachment.storageKey.trim(), [
|
|
182
|
+
{
|
|
183
|
+
$superblocksId: fileId,
|
|
184
|
+
encoding: "text",
|
|
185
|
+
extension: path.extname(fileName).slice(1),
|
|
186
|
+
name: fileName,
|
|
187
|
+
size: contents.byteLength,
|
|
188
|
+
type: CSV_MIME_TYPE,
|
|
189
|
+
},
|
|
190
|
+
]);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
const fileInputs = Object.fromEntries(Object.entries(normalizedInputs).map(([inputName, inputStorageKeys]) => {
|
|
194
|
+
const metadata = inputStorageKeys.flatMap((storageKey) => {
|
|
195
|
+
const filesForKey = metadataByStorageKey.get(storageKey);
|
|
196
|
+
if (!filesForKey) {
|
|
197
|
+
throw new Error("Attachment could not be prepared");
|
|
198
|
+
}
|
|
199
|
+
return filesForKey;
|
|
200
|
+
});
|
|
201
|
+
return [inputName, { files: metadata }];
|
|
202
|
+
}));
|
|
203
|
+
return {
|
|
204
|
+
files,
|
|
205
|
+
inputs: { ...inputs, ...fileInputs },
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=attachment-file-inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment-file-inputs.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/attachment-file-inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ClarkStateHandlerParams } from "../../../state-machine/clark-fsm.js";
|
|
2
|
+
import { type RootDocumentationMetadata } from "./sdk-root-documentation.js";
|
|
2
3
|
/**
|
|
3
4
|
* Stay under the agent outputLimiter (DEFAULT_MAX_OUTPUT_CHARS = 25_000)
|
|
4
5
|
* with headroom for JSON wrapping. Importing middleware would create a cycle.
|
|
@@ -6,6 +7,7 @@ import type { ClarkStateHandlerParams } from "../../../state-machine/clark-fsm.j
|
|
|
6
7
|
export declare const SCOPED_SDK_DOCS_CHAR_BUDGET = 24500;
|
|
7
8
|
export type SdkApiDocsServices = {
|
|
8
9
|
integrationStore: Pick<ClarkStateHandlerParams["integrationStore"], "getHeader" | "getPluginExecutionVersion">;
|
|
10
|
+
readSdkRootReadme?: () => Promise<string>;
|
|
9
11
|
};
|
|
10
12
|
export declare const SCOPED_SDK_PATTERNS_STUB: string;
|
|
11
13
|
type SdkApiDocsResult = {
|
|
@@ -15,6 +17,7 @@ type SdkApiDocsResult = {
|
|
|
15
17
|
version?: string;
|
|
16
18
|
sdkVersion?: string;
|
|
17
19
|
}[];
|
|
20
|
+
root?: RootDocumentationMetadata;
|
|
18
21
|
};
|
|
19
22
|
/**
|
|
20
23
|
* Note appended when plugin-scoped docs are cut to stay under the
|
|
@@ -22,11 +25,13 @@ type SdkApiDocsResult = {
|
|
|
22
25
|
* getSdkApiDocs with the same integrationIds returns the omitted tail —
|
|
23
26
|
* there is no cursor/offset, so that call yields the same prefix.
|
|
24
27
|
*/
|
|
25
|
-
export declare const SCOPED_DOCS_TRUNCATION_NOTE = "\n\n... [truncated plugin-scoped SDK docs for context budget; this tool has no continuation cursor \u2014 repeating getSdkApiDocs with the same pluginIds/integrationIds returns this same prefix, and getSdkApiDocs() with no IDs returns the shared root
|
|
28
|
+
export declare const SCOPED_DOCS_TRUNCATION_NOTE = "\n\n... [truncated plugin-scoped SDK docs for context budget; this tool has no plugin-doc continuation cursor \u2014 repeating getSdkApiDocs with the same pluginIds/integrationIds returns this same prefix, and getSdkApiDocs() with no IDs returns the shared root section index, not the omitted plugin sections. To keep every plugin's docs intact, request fewer plugins per call]";
|
|
26
29
|
export declare function fitScopedDocsUnderBudget(result: SdkApiDocsResult, budget?: number, pluginStarts?: number[]): SdkApiDocsResult;
|
|
27
30
|
export declare const getSdkApiDocsToolFactory: import("../../tools2/types.js").ToolFactory<SdkApiDocsServices, import("../../tools2/types.js").Tool<{
|
|
31
|
+
section?: string | undefined;
|
|
28
32
|
integrationIds?: string[] | undefined;
|
|
29
33
|
pluginIds?: string[] | undefined;
|
|
34
|
+
continuation?: string | undefined;
|
|
30
35
|
}, SdkApiDocsResult>>;
|
|
31
36
|
export {};
|
|
32
37
|
//# sourceMappingURL=get-sdk-api-docs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-sdk-api-docs.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/get-sdk-api-docs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-sdk-api-docs.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/get-sdk-api-docs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,IAAI,CACpB,uBAAuB,CAAC,kBAAkB,CAAC,EAC3C,WAAW,GAAG,2BAA2B,CAC1C,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C,CAAC;AA6CF,eAAO,MAAM,wBAAwB,QAiBzB,CAAC;AA6Hb,KAAK,gBAAgB,GAAG;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvE,IAAI,CAAC,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,8XACgV,CAAC;AAEzX,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,EACxB,MAAM,GAAE,MAAoC,EAC5C,YAAY,GAAE,MAAM,EAAO,GAC1B,gBAAgB,CA0BlB;AAyED,eAAO,MAAM,wBAAwB;;;;;qBAmIpC,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { z } from "zod";
|
|
|
5
5
|
import { resolveIntegrationDocumentation, } from "@superblocksteam/sdk-api/dist/integrations/documentation.js";
|
|
6
6
|
import { safeJsonStringify } from "../../../../util/log-sanitizer.js";
|
|
7
7
|
import { createToolFactory, ToolCategory } from "../../tools2/types.js";
|
|
8
|
+
import { buildRootDocumentation, } from "./sdk-root-documentation.js";
|
|
8
9
|
/**
|
|
9
10
|
* Stay under the agent outputLimiter (DEFAULT_MAX_OUTPUT_CHARS = 25_000)
|
|
10
11
|
* with headroom for JSON wrapping. Importing middleware would create a cycle.
|
|
@@ -14,7 +15,7 @@ const require = createRequire(import.meta.url);
|
|
|
14
15
|
const SDK_API_PACKAGE_DIRECTORY = dirname(require.resolve("@superblocksteam/sdk-api/package.json"));
|
|
15
16
|
const SDK_API_INTEGRATIONS_DIRECTORY = resolve(SDK_API_PACKAGE_DIRECTORY, "src/integrations");
|
|
16
17
|
const SDK_API_ROOT_README_PATH = resolve(SDK_API_PACKAGE_DIRECTORY, "README.md");
|
|
17
|
-
async function
|
|
18
|
+
async function readInstalledSdkRootReadme() {
|
|
18
19
|
try {
|
|
19
20
|
return await readFile(SDK_API_ROOT_README_PATH, "utf8");
|
|
20
21
|
}
|
|
@@ -44,10 +45,9 @@ const SDK_INTEGRATIONS_KEY_GUIDANCE = [
|
|
|
44
45
|
"In `run()`, access via `ctx.integrations.<key>` (e.g. `ctx.integrations.pokemon_tracker`). Use the integration ID only in the declaration (`postgres(UUID)`), never for access.",
|
|
45
46
|
].join("\n");
|
|
46
47
|
export const SCOPED_SDK_PATTERNS_STUB = [
|
|
47
|
-
"##
|
|
48
|
+
"## Essential shared SDK patterns",
|
|
48
49
|
"",
|
|
49
|
-
"
|
|
50
|
-
"Call `getSdkApiDocs()` with no integrationIds/pluginIds if you need the complete shared SDK root guidance.",
|
|
50
|
+
"Detailed guidance is loaded from the installed SDK README on demand. Call `getSdkApiDocs()` with no IDs for the shared SDK root section index.",
|
|
51
51
|
"",
|
|
52
52
|
"### `api()`",
|
|
53
53
|
"- Every `api()` config requires `name` (unique string), `input`, `output`, and `run`.",
|
|
@@ -146,7 +146,7 @@ function pluginsCoveredByPrefix(plugins, pluginStarts, prefixLength) {
|
|
|
146
146
|
* getSdkApiDocs with the same integrationIds returns the omitted tail —
|
|
147
147
|
* there is no cursor/offset, so that call yields the same prefix.
|
|
148
148
|
*/
|
|
149
|
-
export const SCOPED_DOCS_TRUNCATION_NOTE = "\n\n... [truncated plugin-scoped SDK docs for context budget; this tool has no continuation cursor — repeating getSdkApiDocs with the same pluginIds/integrationIds returns this same prefix, and getSdkApiDocs() with no IDs returns the shared root
|
|
149
|
+
export const SCOPED_DOCS_TRUNCATION_NOTE = "\n\n... [truncated plugin-scoped SDK docs for context budget; this tool has no plugin-doc continuation cursor — repeating getSdkApiDocs with the same pluginIds/integrationIds returns this same prefix, and getSdkApiDocs() with no IDs returns the shared root section index, not the omitted plugin sections. To keep every plugin's docs intact, request fewer plugins per call]";
|
|
150
150
|
export function fitScopedDocsUnderBudget(result, budget = SCOPED_SDK_DOCS_CHAR_BUDGET, pluginStarts = []) {
|
|
151
151
|
if (safeJsonStringify(result).length <= budget) {
|
|
152
152
|
return result;
|
|
@@ -198,12 +198,29 @@ function resolveRequestedPluginIds(integrationIds, pluginIds, services) {
|
|
|
198
198
|
}
|
|
199
199
|
return requestedPluginIds;
|
|
200
200
|
}
|
|
201
|
-
async function unscopedSdkRootDocumentation() {
|
|
201
|
+
async function unscopedSdkRootDocumentation(selector, services, notice) {
|
|
202
|
+
const root = buildRootDocumentation(await (services.readSdkRootReadme?.() ?? readInstalledSdkRootReadme()), selector, SCOPED_SDK_DOCS_CHAR_BUDGET, notice, withIntegrationsKeyGuidance(SCOPED_SDK_PATTERNS_STUB));
|
|
202
203
|
return {
|
|
203
|
-
|
|
204
|
+
...root,
|
|
204
205
|
plugins: [],
|
|
205
206
|
};
|
|
206
207
|
}
|
|
208
|
+
function unresolvedDocumentationNotice(integrationIds, pluginIds) {
|
|
209
|
+
if (integrationIds.length === 0 && pluginIds.length === 0) {
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
const compact = (values) => values
|
|
213
|
+
.slice(0, 10)
|
|
214
|
+
.map((value) => value.slice(0, 80))
|
|
215
|
+
.join(", ");
|
|
216
|
+
const parts = [
|
|
217
|
+
...(integrationIds.length > 0
|
|
218
|
+
? [`integration IDs: ${compact(integrationIds)}`]
|
|
219
|
+
: []),
|
|
220
|
+
...(pluginIds.length > 0 ? [`plugin IDs: ${compact(pluginIds)}`] : []),
|
|
221
|
+
];
|
|
222
|
+
return `No version-aware plugin documentation resolved for ${parts.join("; ")}. Shared SDK root documentation is returned instead. Verify the IDs before implementing integration calls.`;
|
|
223
|
+
}
|
|
207
224
|
export const getSdkApiDocsToolFactory = createToolFactory("getSdkApiDocs", (services) => ({
|
|
208
225
|
category: ToolCategory.API,
|
|
209
226
|
readOnly: true,
|
|
@@ -211,7 +228,8 @@ export const getSdkApiDocsToolFactory = createToolFactory("getSdkApiDocs", (serv
|
|
|
211
228
|
Retrieve SDK API implementation guidance for both generic and integration-specific API development.
|
|
212
229
|
|
|
213
230
|
This tool provides:
|
|
214
|
-
-
|
|
231
|
+
- A compact index of generic SDK guidance when no integration IDs or plugin IDs are provided
|
|
232
|
+
- Root README sections selected by section ID, with advancing continuation tokens for oversized sections
|
|
215
233
|
- Integration-specific method and usage guidance when integration IDs or plugin IDs are provided
|
|
216
234
|
- Version-aware plugin documentation matched to the app's integration versions
|
|
217
235
|
- A returned list of resolved plugin IDs so you can verify coverage
|
|
@@ -230,16 +248,23 @@ ALWAYS call this tool:
|
|
|
230
248
|
.array(z.string())
|
|
231
249
|
.describe("Plugin IDs to include plugin-specific SDK documentation for. Use this when you know plugin types directly.")
|
|
232
250
|
.optional(),
|
|
251
|
+
section: z
|
|
252
|
+
.string()
|
|
253
|
+
.describe("SDK root README section ID from the unscoped index. Do not combine with continuation.")
|
|
254
|
+
.optional(),
|
|
255
|
+
continuation: z
|
|
256
|
+
.string()
|
|
257
|
+
.describe("Opaque continuation token from root.continuation. Pass it exactly and do not combine it with section.")
|
|
258
|
+
.optional(),
|
|
233
259
|
}),
|
|
234
|
-
|
|
235
|
-
execute: async ({ integrationIds = [], pluginIds = [], }) => {
|
|
260
|
+
execute: async ({ integrationIds = [], pluginIds = [], section, continuation, }) => {
|
|
236
261
|
const requestedPluginIds = resolveRequestedPluginIds(integrationIds, pluginIds, services);
|
|
237
262
|
if (requestedPluginIds.length === 0) {
|
|
238
|
-
return unscopedSdkRootDocumentation();
|
|
263
|
+
return unscopedSdkRootDocumentation({ section, continuation }, services, unresolvedDocumentationNotice(integrationIds, pluginIds));
|
|
239
264
|
}
|
|
240
265
|
const { documentation, plugins: resolvedPlugins } = await buildSdkPluginReadmeDocumentation(requestedPluginIds, services);
|
|
241
266
|
if (resolvedPlugins.length === 0) {
|
|
242
|
-
return unscopedSdkRootDocumentation();
|
|
267
|
+
return unscopedSdkRootDocumentation({ section, continuation }, services, unresolvedDocumentationNotice(integrationIds, pluginIds));
|
|
243
268
|
}
|
|
244
269
|
const plugins = resolvedPlugins.map(({ pluginId, version, sdkVersion }) => ({
|
|
245
270
|
pluginId,
|
|
@@ -253,23 +278,32 @@ ALWAYS call this tool:
|
|
|
253
278
|
const integrationIds = input.integrationIds ?? [];
|
|
254
279
|
const pluginIds = input.pluginIds ?? [];
|
|
255
280
|
const plugins = output.plugins.map((plugin) => plugin.pluginId).join(",");
|
|
256
|
-
const argParts = [];
|
|
257
281
|
const labelParts = [];
|
|
282
|
+
const refetchInput = {};
|
|
258
283
|
if (integrationIds.length > 0) {
|
|
259
|
-
|
|
284
|
+
refetchInput.integrationIds = integrationIds;
|
|
260
285
|
labelParts.push(`integrationIds=[${integrationIds.join(",")}]`);
|
|
261
286
|
}
|
|
262
287
|
if (pluginIds.length > 0) {
|
|
263
|
-
|
|
288
|
+
refetchInput.pluginIds = pluginIds;
|
|
264
289
|
labelParts.push(`pluginIds=[${pluginIds.join(",")}]`);
|
|
265
290
|
}
|
|
266
|
-
|
|
291
|
+
if (input.section) {
|
|
292
|
+
refetchInput.section = input.section;
|
|
293
|
+
labelParts.push(`section=${input.section}`);
|
|
294
|
+
}
|
|
295
|
+
if (input.continuation) {
|
|
296
|
+
refetchInput.continuation = input.continuation;
|
|
297
|
+
labelParts.push("continuation=(exact token retained)");
|
|
298
|
+
}
|
|
299
|
+
const refetchArg = JSON.stringify(refetchInput);
|
|
300
|
+
const pluginScoped = integrationIds.length > 0 || pluginIds.length > 0;
|
|
267
301
|
const inputLabel = labelParts.length > 0
|
|
268
|
-
?
|
|
269
|
-
: "unscoped SDK root
|
|
302
|
+
? `${pluginScoped ? "plugin-scoped " : ""}${labelParts.join(" ")}`
|
|
303
|
+
: "unscoped SDK root documentation index";
|
|
270
304
|
return {
|
|
271
305
|
input: inputLabel,
|
|
272
|
-
output: `plugins=[${plugins || "(none)"}]; if these docs are needed after compaction, ALWAYS refetch getSdkApiDocs(${refetchArg}) — a count-only summary is not enough`,
|
|
306
|
+
output: `plugins=[${plugins || "(none)"}]; if these docs are needed after compaction, ALWAYS refetch getSdkApiDocs(${refetchArg}) — preserve section and continuation arguments exactly; a count-only summary is not enough`,
|
|
273
307
|
protected: false,
|
|
274
308
|
};
|
|
275
309
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-sdk-api-docs.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/get-sdk-api-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,+BAA+B,GAEhC,MAAM,6DAA6D,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-sdk-api-docs.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/get-sdk-api-docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type RootDocumentationMetadata = {
|
|
2
|
+
sourceId: string;
|
|
3
|
+
section?: string;
|
|
4
|
+
range?: {
|
|
5
|
+
start: number;
|
|
6
|
+
end: number;
|
|
7
|
+
total: number;
|
|
8
|
+
};
|
|
9
|
+
continuation?: string;
|
|
10
|
+
};
|
|
11
|
+
export type RootDocumentationResult = {
|
|
12
|
+
documentation: string;
|
|
13
|
+
root: RootDocumentationMetadata;
|
|
14
|
+
};
|
|
15
|
+
export type RootDocumentationSelector = {
|
|
16
|
+
section?: string;
|
|
17
|
+
continuation?: string;
|
|
18
|
+
};
|
|
19
|
+
export declare function buildRootDocumentation(markdown: string, selector: RootDocumentationSelector, budget: number, notice?: string, orientation?: string): RootDocumentationResult;
|
|
20
|
+
//# sourceMappingURL=sdk-root-documentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-root-documentation.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/sdk-root-documentation.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,yBAAyB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAmXF,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,yBAAyB,EACnC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,uBAAuB,CA2DzB"}
|