@5ss/ai-tools 2.11.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/CHANGELOG.md +112 -0
- package/LICENSE +21 -0
- package/README.md +221 -0
- package/dist/ai-sdk/index.d.ts +15 -0
- package/dist/ai-sdk/index.d.ts.map +1 -0
- package/dist/ai-sdk/index.js +24 -0
- package/dist/ai-sdk/index.js.map +1 -0
- package/dist/artifact-D064mHfK.js +44 -0
- package/dist/artifact-D064mHfK.js.map +1 -0
- package/dist/artifacts-O8g-40Pw.js +404 -0
- package/dist/artifacts-O8g-40Pw.js.map +1 -0
- package/dist/aws-json-CecFqzqX.js +23 -0
- package/dist/aws-json-CecFqzqX.js.map +1 -0
- package/dist/aws-service-msttbPrz.js +58 -0
- package/dist/aws-service-msttbPrz.js.map +1 -0
- package/dist/batch-BMM5dXqL.d.ts +22 -0
- package/dist/batch-BMM5dXqL.d.ts.map +1 -0
- package/dist/batch-Co1ujeAW.js +67 -0
- package/dist/batch-Co1ujeAW.js.map +1 -0
- package/dist/bedrock-agentcore-browser-a_qOs-NR.js +182 -0
- package/dist/bedrock-agentcore-browser-a_qOs-NR.js.map +1 -0
- package/dist/bedrock-agentcore-code-interpreter-MWK-8RhA.js +357 -0
- package/dist/bedrock-agentcore-code-interpreter-MWK-8RhA.js.map +1 -0
- package/dist/bytes-BxpimpQx.js +45 -0
- package/dist/bytes-BxpimpQx.js.map +1 -0
- package/dist/client-CCKGsTeI.js +743 -0
- package/dist/client-CCKGsTeI.js.map +1 -0
- package/dist/cloudflare/index.d.ts +37 -0
- package/dist/cloudflare/index.d.ts.map +1 -0
- package/dist/cloudflare/index.js +41 -0
- package/dist/cloudflare/index.js.map +1 -0
- package/dist/cloudflare-browser-B6Yolpin.js +428 -0
- package/dist/cloudflare-browser-B6Yolpin.js.map +1 -0
- package/dist/cloudflare-email-Dy0KHeDf.js +197 -0
- package/dist/cloudflare-email-Dy0KHeDf.js.map +1 -0
- package/dist/cloudflare-sandbox-Dp_uNaqW.js +982 -0
- package/dist/cloudflare-sandbox-Dp_uNaqW.js.map +1 -0
- package/dist/content-type-CORxaxcv.js +49 -0
- package/dist/content-type-CORxaxcv.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.js +204 -0
- package/dist/core/index.js.map +1 -0
- package/dist/define-CvpJ_pNP.js +115 -0
- package/dist/define-CvpJ_pNP.js.map +1 -0
- package/dist/errors-DoSpNHvs.js +20 -0
- package/dist/errors-DoSpNHvs.js.map +1 -0
- package/dist/errors-aKhko9T1.d.ts +18 -0
- package/dist/errors-aKhko9T1.d.ts.map +1 -0
- package/dist/eventbridge-scheduler-Bh6GqZY2.js +349 -0
- package/dist/eventbridge-scheduler-Bh6GqZY2.js.map +1 -0
- package/dist/framework-context-DVIIY8ZO.js +24 -0
- package/dist/framework-context-DVIIY8ZO.js.map +1 -0
- package/dist/gotenberg-NuJjxyln.js +291 -0
- package/dist/gotenberg-NuJjxyln.js.map +1 -0
- package/dist/http/index.d.ts +47 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +3 -0
- package/dist/http-service-DDNCO1s4.js +254 -0
- package/dist/http-service-DDNCO1s4.js.map +1 -0
- package/dist/http-service-T7E5UjP8.d.ts +80 -0
- package/dist/http-service-T7E5UjP8.d.ts.map +1 -0
- package/dist/imessage-BSAFOI8Z.js +154 -0
- package/dist/imessage-BSAFOI8Z.js.map +1 -0
- package/dist/index-BU4gmYO8.d.ts +254 -0
- package/dist/index-BU4gmYO8.d.ts.map +1 -0
- package/dist/index-CCivzmxO.d.ts +188 -0
- package/dist/index-CCivzmxO.d.ts.map +1 -0
- package/dist/index-CLmTrcu5.d.ts +22 -0
- package/dist/index-CLmTrcu5.d.ts.map +1 -0
- package/dist/index-CZX5OeOF.d.ts +235 -0
- package/dist/index-CZX5OeOF.d.ts.map +1 -0
- package/dist/index-CdFmEfZO.d.ts +359 -0
- package/dist/index-CdFmEfZO.d.ts.map +1 -0
- package/dist/index-Cuh6eMWc.d.ts +285 -0
- package/dist/index-Cuh6eMWc.d.ts.map +1 -0
- package/dist/index-DuOGj7vc.d.ts +107 -0
- package/dist/index-DuOGj7vc.d.ts.map +1 -0
- package/dist/index-ccZ1XOHw.d.ts +69 -0
- package/dist/index-ccZ1XOHw.d.ts.map +1 -0
- package/dist/index-n8JTpNf1.d.ts +247 -0
- package/dist/index-n8JTpNf1.d.ts.map +1 -0
- package/dist/index-pwW1OsOx.d.ts +134 -0
- package/dist/index-pwW1OsOx.d.ts.map +1 -0
- package/dist/index-zK1ZwS4m.d.ts +347 -0
- package/dist/index-zK1ZwS4m.d.ts.map +1 -0
- package/dist/limits-hjrO8zUG.js +80 -0
- package/dist/limits-hjrO8zUG.js.map +1 -0
- package/dist/mastra/index.d.ts +14 -0
- package/dist/mastra/index.d.ts.map +1 -0
- package/dist/mastra/index.js +26 -0
- package/dist/mastra/index.js.map +1 -0
- package/dist/mastra-vector-Dhc6XZ8l.js +234 -0
- package/dist/mastra-vector-Dhc6XZ8l.js.map +1 -0
- package/dist/mcp/index.d.ts +80 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +97 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/modules/artifacts/index.d.ts +337 -0
- package/dist/modules/artifacts/index.d.ts.map +1 -0
- package/dist/modules/artifacts/index.js +348 -0
- package/dist/modules/artifacts/index.js.map +1 -0
- package/dist/modules/browser/index.d.ts +516 -0
- package/dist/modules/browser/index.d.ts.map +1 -0
- package/dist/modules/browser/index.js +475 -0
- package/dist/modules/browser/index.js.map +1 -0
- package/dist/modules/calendar/index.d.ts +93 -0
- package/dist/modules/calendar/index.d.ts.map +1 -0
- package/dist/modules/calendar/index.js +131 -0
- package/dist/modules/calendar/index.js.map +1 -0
- package/dist/modules/code-sandbox/index.d.ts +317 -0
- package/dist/modules/code-sandbox/index.d.ts.map +1 -0
- package/dist/modules/code-sandbox/index.js +537 -0
- package/dist/modules/code-sandbox/index.js.map +1 -0
- package/dist/modules/content-type/index.d.ts +22 -0
- package/dist/modules/content-type/index.d.ts.map +1 -0
- package/dist/modules/content-type/index.js +66 -0
- package/dist/modules/content-type/index.js.map +1 -0
- package/dist/modules/crypto/index.d.ts +115 -0
- package/dist/modules/crypto/index.d.ts.map +1 -0
- package/dist/modules/crypto/index.js +139 -0
- package/dist/modules/crypto/index.js.map +1 -0
- package/dist/modules/document/index.d.ts +575 -0
- package/dist/modules/document/index.d.ts.map +1 -0
- package/dist/modules/document/index.js +444 -0
- package/dist/modules/document/index.js.map +1 -0
- package/dist/modules/document-extract/index.d.ts +438 -0
- package/dist/modules/document-extract/index.d.ts.map +1 -0
- package/dist/modules/document-extract/index.js +127 -0
- package/dist/modules/document-extract/index.js.map +1 -0
- package/dist/modules/document-render/index.d.ts +336 -0
- package/dist/modules/document-render/index.d.ts.map +1 -0
- package/dist/modules/document-render/index.js +155 -0
- package/dist/modules/document-render/index.js.map +1 -0
- package/dist/modules/email/index.d.ts +311 -0
- package/dist/modules/email/index.d.ts.map +1 -0
- package/dist/modules/email/index.js +167 -0
- package/dist/modules/email/index.js.map +1 -0
- package/dist/modules/email-message/index.d.ts +95 -0
- package/dist/modules/email-message/index.d.ts.map +1 -0
- package/dist/modules/email-message/index.js +264 -0
- package/dist/modules/email-message/index.js.map +1 -0
- package/dist/modules/file-convert/index.d.ts +273 -0
- package/dist/modules/file-convert/index.d.ts.map +1 -0
- package/dist/modules/file-convert/index.js +103 -0
- package/dist/modules/file-convert/index.js.map +1 -0
- package/dist/modules/files/index.d.ts +452 -0
- package/dist/modules/files/index.d.ts.map +1 -0
- package/dist/modules/files/index.js +733 -0
- package/dist/modules/files/index.js.map +1 -0
- package/dist/modules/image/index.d.ts +342 -0
- package/dist/modules/image/index.d.ts.map +1 -0
- package/dist/modules/image/index.js +281 -0
- package/dist/modules/image/index.js.map +1 -0
- package/dist/modules/messaging/index.d.ts +608 -0
- package/dist/modules/messaging/index.d.ts.map +1 -0
- package/dist/modules/messaging/index.js +1067 -0
- package/dist/modules/messaging/index.js.map +1 -0
- package/dist/modules/pdf/index.d.ts +287 -0
- package/dist/modules/pdf/index.d.ts.map +1 -0
- package/dist/modules/pdf/index.js +259 -0
- package/dist/modules/pdf/index.js.map +1 -0
- package/dist/modules/presentation/index.d.ts +247 -0
- package/dist/modules/presentation/index.d.ts.map +1 -0
- package/dist/modules/presentation/index.js +12657 -0
- package/dist/modules/presentation/index.js.map +1 -0
- package/dist/modules/queue/index.d.ts +129 -0
- package/dist/modules/queue/index.d.ts.map +1 -0
- package/dist/modules/queue/index.js +131 -0
- package/dist/modules/queue/index.js.map +1 -0
- package/dist/modules/rag/index.d.ts +250 -0
- package/dist/modules/rag/index.d.ts.map +1 -0
- package/dist/modules/rag/index.js +366 -0
- package/dist/modules/rag/index.js.map +1 -0
- package/dist/modules/scheduler/index.d.ts +216 -0
- package/dist/modules/scheduler/index.d.ts.map +1 -0
- package/dist/modules/scheduler/index.js +153 -0
- package/dist/modules/scheduler/index.js.map +1 -0
- package/dist/modules/skills/index.d.ts +205 -0
- package/dist/modules/skills/index.d.ts.map +1 -0
- package/dist/modules/skills/index.js +203 -0
- package/dist/modules/skills/index.js.map +1 -0
- package/dist/modules/tasks/index.d.ts +287 -0
- package/dist/modules/tasks/index.d.ts.map +1 -0
- package/dist/modules/tasks/index.js +207 -0
- package/dist/modules/tasks/index.js.map +1 -0
- package/dist/modules/vector-store/index.d.ts +3 -0
- package/dist/modules/vector-store/index.js +3 -0
- package/dist/modules/web-fetch/index.d.ts +99 -0
- package/dist/modules/web-fetch/index.d.ts.map +1 -0
- package/dist/modules/web-fetch/index.js +242 -0
- package/dist/modules/web-fetch/index.js.map +1 -0
- package/dist/object-artifact-store-CMTzCm_G.d.ts +7 -0
- package/dist/object-artifact-store-CMTzCm_G.d.ts.map +1 -0
- package/dist/object-artifact-store-wZ2j9cto.js +28 -0
- package/dist/object-artifact-store-wZ2j9cto.js.map +1 -0
- package/dist/pinecone-umY4t6OF.js +190 -0
- package/dist/pinecone-umY4t6OF.js.map +1 -0
- package/dist/provider-CgDAlg6K.js +34 -0
- package/dist/provider-CgDAlg6K.js.map +1 -0
- package/dist/qdrant-DMp4NhKR.js +253 -0
- package/dist/qdrant-DMp4NhKR.js.map +1 -0
- package/dist/resend-BAC38_dA.js +155 -0
- package/dist/resend-BAC38_dA.js.map +1 -0
- package/dist/s3-CsOaPWMP.js +955 -0
- package/dist/s3-CsOaPWMP.js.map +1 -0
- package/dist/schemas-ChOAhdo9.js +192 -0
- package/dist/schemas-ChOAhdo9.js.map +1 -0
- package/dist/slack-Di5BBNpt.js +1455 -0
- package/dist/slack-Di5BBNpt.js.map +1 -0
- package/dist/sqs-DCwS1i2N.js +225 -0
- package/dist/sqs-DCwS1i2N.js.map +1 -0
- package/dist/supabase-vector-Dpp9mmJR.js +218 -0
- package/dist/supabase-vector-Dpp9mmJR.js.map +1 -0
- package/dist/tanstack/index.d.ts +15 -0
- package/dist/tanstack/index.d.ts.map +1 -0
- package/dist/tanstack/index.js +28 -0
- package/dist/tanstack/index.js.map +1 -0
- package/dist/teams-DYAHNb39.js +835 -0
- package/dist/teams-DYAHNb39.js.map +1 -0
- package/dist/telegram-DDXWzkfL.js +734 -0
- package/dist/telegram-DDXWzkfL.js.map +1 -0
- package/dist/textract-CPLiB22H.js +554 -0
- package/dist/textract-CPLiB22H.js.map +1 -0
- package/dist/transport-B4vn-XiQ.js +157 -0
- package/dist/transport-B4vn-XiQ.js.map +1 -0
- package/dist/transport-i96ACAI_.d.ts +46 -0
- package/dist/transport-i96ACAI_.d.ts.map +1 -0
- package/dist/types-Ccb0DXY9.d.ts +150 -0
- package/dist/types-Ccb0DXY9.d.ts.map +1 -0
- package/dist/unique-EwBH1JPB.js +19 -0
- package/dist/unique-EwBH1JPB.js.map +1 -0
- package/dist/vector-store-C3nEO80e.js +193 -0
- package/dist/vector-store-C3nEO80e.js.map +1 -0
- package/dist/vendors/amazon-sp-api/index.d.ts +526 -0
- package/dist/vendors/amazon-sp-api/index.d.ts.map +1 -0
- package/dist/vendors/amazon-sp-api/index.js +975 -0
- package/dist/vendors/amazon-sp-api/index.js.map +1 -0
- package/dist/vendors/bedrock-agentcore-browser/index.d.ts +2 -0
- package/dist/vendors/bedrock-agentcore-browser/index.js +2 -0
- package/dist/vendors/bedrock-agentcore-code-interpreter/index.d.ts +228 -0
- package/dist/vendors/bedrock-agentcore-code-interpreter/index.d.ts.map +1 -0
- package/dist/vendors/bedrock-agentcore-code-interpreter/index.js +2 -0
- package/dist/vendors/cloudflare-browser/index.d.ts +2 -0
- package/dist/vendors/cloudflare-browser/index.js +2 -0
- package/dist/vendors/cloudflare-email/index.d.ts +260 -0
- package/dist/vendors/cloudflare-email/index.d.ts.map +1 -0
- package/dist/vendors/cloudflare-email/index.js +3 -0
- package/dist/vendors/cloudflare-sandbox/index.d.ts +565 -0
- package/dist/vendors/cloudflare-sandbox/index.d.ts.map +1 -0
- package/dist/vendors/cloudflare-sandbox/index.js +2 -0
- package/dist/vendors/eventbridge-scheduler/index.d.ts +2 -0
- package/dist/vendors/eventbridge-scheduler/index.js +2 -0
- package/dist/vendors/gotenberg/index.d.ts +306 -0
- package/dist/vendors/gotenberg/index.d.ts.map +1 -0
- package/dist/vendors/gotenberg/index.js +2 -0
- package/dist/vendors/imessage/index.d.ts +420 -0
- package/dist/vendors/imessage/index.d.ts.map +1 -0
- package/dist/vendors/imessage/index.js +4 -0
- package/dist/vendors/katana/index.d.ts +1570 -0
- package/dist/vendors/katana/index.d.ts.map +1 -0
- package/dist/vendors/katana/index.js +1639 -0
- package/dist/vendors/katana/index.js.map +1 -0
- package/dist/vendors/mastra-vector/index.d.ts +120 -0
- package/dist/vendors/mastra-vector/index.d.ts.map +1 -0
- package/dist/vendors/mastra-vector/index.js +3 -0
- package/dist/vendors/pinecone/index.d.ts +75 -0
- package/dist/vendors/pinecone/index.d.ts.map +1 -0
- package/dist/vendors/pinecone/index.js +3 -0
- package/dist/vendors/qdrant/index.d.ts +75 -0
- package/dist/vendors/qdrant/index.d.ts.map +1 -0
- package/dist/vendors/qdrant/index.js +3 -0
- package/dist/vendors/resend/index.d.ts +3 -0
- package/dist/vendors/resend/index.js +3 -0
- package/dist/vendors/s3/index.d.ts +2 -0
- package/dist/vendors/s3/index.js +2 -0
- package/dist/vendors/slack/index.d.ts +576 -0
- package/dist/vendors/slack/index.d.ts.map +1 -0
- package/dist/vendors/slack/index.js +3 -0
- package/dist/vendors/sqs/index.d.ts +2 -0
- package/dist/vendors/sqs/index.js +2 -0
- package/dist/vendors/supabase-vector/index.d.ts +89 -0
- package/dist/vendors/supabase-vector/index.d.ts.map +1 -0
- package/dist/vendors/supabase-vector/index.js +3 -0
- package/dist/vendors/teams/index.d.ts +303 -0
- package/dist/vendors/teams/index.d.ts.map +1 -0
- package/dist/vendors/teams/index.js +3 -0
- package/dist/vendors/telegram/index.d.ts +319 -0
- package/dist/vendors/telegram/index.d.ts.map +1 -0
- package/dist/vendors/telegram/index.js +3 -0
- package/dist/vendors/textract/index.d.ts +2 -0
- package/dist/vendors/textract/index.js +2 -0
- package/dist/vendors/woocommerce/index.d.ts +1700 -0
- package/dist/vendors/woocommerce/index.d.ts.map +1 -0
- package/dist/vendors/woocommerce/index.js +1427 -0
- package/dist/vendors/woocommerce/index.js.map +1 -0
- package/dist/with-auth-CpKqTrGK.js +240 -0
- package/dist/with-auth-CpKqTrGK.js.map +1 -0
- package/logos/LUCIDE-ATTRIBUTION.txt +4 -0
- package/logos/README.md +89 -0
- package/logos/amazon.svg +6 -0
- package/logos/artifacts.svg +9 -0
- package/logos/browser.svg +9 -0
- package/logos/calendar.svg +15 -0
- package/logos/cloudflare-browser.svg +5 -0
- package/logos/cloudflare-email.svg +5 -0
- package/logos/cloudflare.svg +4 -0
- package/logos/code-sandbox.svg +8 -0
- package/logos/content-type.svg +10 -0
- package/logos/crypto.svg +7 -0
- package/logos/document-extract.svg +12 -0
- package/logos/document-render.svg +8 -0
- package/logos/document.svg +10 -0
- package/logos/email-message.svg +8 -0
- package/logos/email.svg +7 -0
- package/logos/file-convert.svg +9 -0
- package/logos/files.svg +6 -0
- package/logos/gotenberg.svg +340 -0
- package/logos/image.svg +8 -0
- package/logos/imessage.svg +7 -0
- package/logos/katana.svg +13 -0
- package/logos/mastra.svg +7 -0
- package/logos/messaging.svg +7 -0
- package/logos/pack-logos.json +48 -0
- package/logos/pdf.svg +10 -0
- package/logos/pinecone.svg +25 -0
- package/logos/presentation.svg +8 -0
- package/logos/qdrant.svg +4 -0
- package/logos/queue.svg +11 -0
- package/logos/rag.svg +18 -0
- package/logos/resend.svg +5 -0
- package/logos/scheduler.svg +7 -0
- package/logos/skills.svg +10 -0
- package/logos/slack.svg +14 -0
- package/logos/supabase.svg +4 -0
- package/logos/tasks.svg +10 -0
- package/logos/teams.svg +6 -0
- package/logos/telegram.svg +10 -0
- package/logos/textract.svg +5 -0
- package/logos/vector-store.svg +8 -0
- package/logos/web-fetch.svg +8 -0
- package/logos/woocommerce.svg +4 -0
- package/package.json +373 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { t as ToolError } from "../../errors-DoSpNHvs.js";
|
|
2
|
+
import { n as defineModule, r as defineTool } from "../../define-CvpJ_pNP.js";
|
|
3
|
+
import { n as requireAuth } from "../../provider-CgDAlg6K.js";
|
|
4
|
+
import { t as artifactRefSchema } from "../../artifact-D064mHfK.js";
|
|
5
|
+
import { m as s3AuthSchema } from "../../s3-CsOaPWMP.js";
|
|
6
|
+
import { t as ObjectArtifactStore } from "../../object-artifact-store-wZ2j9cto.js";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { PDFDocument, degrees } from "pdf-lib";
|
|
9
|
+
//#region src/modules/pdf/contracts.ts
|
|
10
|
+
const MAX_PDF_BYTES = 50 * 1024 * 1024;
|
|
11
|
+
const MAX_PDF_PAGES = 500;
|
|
12
|
+
const pdfAuthSchema = z.object({ storage: s3AuthSchema.describe("Object storage for source and output PDF artifacts") });
|
|
13
|
+
const source = artifactRefSchema.describe("Source PDF artifact");
|
|
14
|
+
const outputKey = z.string().min(1).max(1024).describe("Destination object key");
|
|
15
|
+
const filename = z.string().min(1).max(512).optional().describe("Display filename for the output PDF");
|
|
16
|
+
const pageNumber = z.int().min(1).max(500).describe("One-based PDF page number");
|
|
17
|
+
const pdfInspectInputSchema = z.object({ source });
|
|
18
|
+
const pdfPageInfoSchema = z.object({
|
|
19
|
+
page_number: pageNumber,
|
|
20
|
+
width: z.number().positive(),
|
|
21
|
+
height: z.number().positive(),
|
|
22
|
+
rotation_degrees: z.number()
|
|
23
|
+
});
|
|
24
|
+
const pdfMetadataSchema = z.object({
|
|
25
|
+
title: z.string().optional(),
|
|
26
|
+
author: z.string().optional(),
|
|
27
|
+
subject: z.string().optional(),
|
|
28
|
+
keywords: z.string().optional(),
|
|
29
|
+
creator: z.string().optional(),
|
|
30
|
+
producer: z.string().optional()
|
|
31
|
+
});
|
|
32
|
+
const pdfInspectOutputSchema = z.object({
|
|
33
|
+
page_count: z.int().min(0),
|
|
34
|
+
pages: z.array(pdfPageInfoSchema),
|
|
35
|
+
metadata: pdfMetadataSchema
|
|
36
|
+
});
|
|
37
|
+
const pdfMergeInputSchema = z.object({
|
|
38
|
+
sources: z.array(source).min(2).max(50).describe("PDF artifacts to concatenate in order"),
|
|
39
|
+
output_key: outputKey,
|
|
40
|
+
filename
|
|
41
|
+
});
|
|
42
|
+
const pdfWriteOutputSchema = z.object({ result: artifactRefSchema.describe("Written PDF artifact") });
|
|
43
|
+
const pdfExtractPagesInputSchema = z.object({
|
|
44
|
+
source,
|
|
45
|
+
pages: z.array(pageNumber).min(1).max(500).describe("Pages to copy in the requested order"),
|
|
46
|
+
output_key: outputKey,
|
|
47
|
+
filename
|
|
48
|
+
});
|
|
49
|
+
const pdfSplitInputSchema = z.object({
|
|
50
|
+
source,
|
|
51
|
+
output_key_prefix: z.string().min(1).max(1024).describe("Object-key prefix for one PDF per source page"),
|
|
52
|
+
filename_prefix: z.string().min(1).max(200).optional().describe("Filename prefix for page PDFs")
|
|
53
|
+
});
|
|
54
|
+
const pdfSplitOutputSchema = z.object({ results: z.array(artifactRefSchema).describe("One PDF artifact per source page") });
|
|
55
|
+
const pdfRotateInputSchema = z.object({
|
|
56
|
+
source,
|
|
57
|
+
degrees: z.union([
|
|
58
|
+
z.literal(90),
|
|
59
|
+
z.literal(180),
|
|
60
|
+
z.literal(270)
|
|
61
|
+
]).describe("Clockwise rotation to add"),
|
|
62
|
+
pages: z.array(pageNumber).min(1).max(500).optional().describe("Pages to rotate; defaults to every page"),
|
|
63
|
+
output_key: outputKey,
|
|
64
|
+
filename
|
|
65
|
+
});
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region src/modules/pdf/client.ts
|
|
68
|
+
function pageIndexes(pages, pageCount) {
|
|
69
|
+
for (const page of pages) if (page > pageCount) throw new ToolError(`PDF page ${page} does not exist`, {
|
|
70
|
+
code: "bad_input",
|
|
71
|
+
details: {
|
|
72
|
+
page,
|
|
73
|
+
page_count: pageCount
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return pages.map((page) => page - 1);
|
|
77
|
+
}
|
|
78
|
+
async function loadPdf(bytes) {
|
|
79
|
+
try {
|
|
80
|
+
return await PDFDocument.load(bytes, { updateMetadata: false });
|
|
81
|
+
} catch (error) {
|
|
82
|
+
throw new ToolError("Failed to read PDF", {
|
|
83
|
+
code: "bad_input",
|
|
84
|
+
cause: error
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
var PdfClient = class PdfClient {
|
|
89
|
+
#artifacts;
|
|
90
|
+
constructor(auth, options = {}) {
|
|
91
|
+
const parsed = pdfAuthSchema.safeParse(auth);
|
|
92
|
+
if (!parsed.success) throw new ToolError("Invalid PDF auth credentials", {
|
|
93
|
+
code: "bad_auth",
|
|
94
|
+
details: { issues: parsed.error.issues.map((issue) => issue.message) }
|
|
95
|
+
});
|
|
96
|
+
this.#artifacts = new ObjectArtifactStore(parsed.data.storage, options);
|
|
97
|
+
}
|
|
98
|
+
static fromContext(ctx) {
|
|
99
|
+
return new PdfClient(requireAuth(ctx, pdfAuthSchema), {
|
|
100
|
+
...ctx.fetch && { fetch: ctx.fetch },
|
|
101
|
+
...ctx.signal && { signal: ctx.signal }
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
static fromAuth(auth, options = {}) {
|
|
105
|
+
return new PdfClient(auth, options);
|
|
106
|
+
}
|
|
107
|
+
async inspect(input) {
|
|
108
|
+
const pdf = await this.#read(input.source);
|
|
109
|
+
const metadata = {};
|
|
110
|
+
const title = pdf.getTitle();
|
|
111
|
+
const author = pdf.getAuthor();
|
|
112
|
+
const subject = pdf.getSubject();
|
|
113
|
+
const keywords = pdf.getKeywords();
|
|
114
|
+
const creator = pdf.getCreator();
|
|
115
|
+
const producer = pdf.getProducer();
|
|
116
|
+
if (title) metadata.title = title;
|
|
117
|
+
if (author) metadata.author = author;
|
|
118
|
+
if (subject) metadata.subject = subject;
|
|
119
|
+
if (keywords) metadata.keywords = keywords;
|
|
120
|
+
if (creator) metadata.creator = creator;
|
|
121
|
+
if (producer) metadata.producer = producer;
|
|
122
|
+
return pdfInspectOutputSchema.parse({
|
|
123
|
+
page_count: pdf.getPageCount(),
|
|
124
|
+
pages: pdf.getPages().map((page, index) => ({
|
|
125
|
+
page_number: index + 1,
|
|
126
|
+
width: page.getWidth(),
|
|
127
|
+
height: page.getHeight(),
|
|
128
|
+
rotation_degrees: page.getRotation().angle
|
|
129
|
+
})),
|
|
130
|
+
metadata
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
async merge(input) {
|
|
134
|
+
const output = await PDFDocument.create();
|
|
135
|
+
for (const source of input.sources) {
|
|
136
|
+
const current = await this.#read(source);
|
|
137
|
+
const pages = await output.copyPages(current, current.getPageIndices());
|
|
138
|
+
for (const page of pages) output.addPage(page);
|
|
139
|
+
}
|
|
140
|
+
return this.#write(output, input.output_key, input.filename ?? "merged.pdf");
|
|
141
|
+
}
|
|
142
|
+
async extractPages(input) {
|
|
143
|
+
const source = await this.#read(input.source);
|
|
144
|
+
const output = await PDFDocument.create();
|
|
145
|
+
const pages = await output.copyPages(source, pageIndexes(input.pages, source.getPageCount()));
|
|
146
|
+
for (const page of pages) output.addPage(page);
|
|
147
|
+
return this.#write(output, input.output_key, input.filename ?? "extracted.pdf");
|
|
148
|
+
}
|
|
149
|
+
async split(input) {
|
|
150
|
+
const source = await this.#read(input.source);
|
|
151
|
+
const results = [];
|
|
152
|
+
for (let index = 0; index < source.getPageCount(); index += 1) {
|
|
153
|
+
const output = await PDFDocument.create();
|
|
154
|
+
const [page] = await output.copyPages(source, [index]);
|
|
155
|
+
if (!page) throw new ToolError("Failed to copy PDF page", { code: "internal" });
|
|
156
|
+
output.addPage(page);
|
|
157
|
+
const number = index + 1;
|
|
158
|
+
const key = `${input.output_key_prefix.replace(/\/$/, "")}/page-${number}.pdf`;
|
|
159
|
+
const name = `${input.filename_prefix ?? "page"}-${number}.pdf`;
|
|
160
|
+
results.push((await this.#write(output, key, name)).result);
|
|
161
|
+
}
|
|
162
|
+
return pdfSplitOutputSchema.parse({ results });
|
|
163
|
+
}
|
|
164
|
+
async rotate(input) {
|
|
165
|
+
const pdf = await this.#read(input.source);
|
|
166
|
+
const indexes = new Set(input.pages ? pageIndexes(input.pages, pdf.getPageCount()) : pdf.getPageIndices());
|
|
167
|
+
for (const [index, page] of pdf.getPages().entries()) if (indexes.has(index)) page.setRotation(degrees((page.getRotation().angle + input.degrees) % 360));
|
|
168
|
+
return this.#write(pdf, input.output_key, input.filename ?? "rotated.pdf");
|
|
169
|
+
}
|
|
170
|
+
async #read(source) {
|
|
171
|
+
return loadPdf(await this.#artifacts.read(source, MAX_PDF_BYTES));
|
|
172
|
+
}
|
|
173
|
+
async #write(pdf, key, filename) {
|
|
174
|
+
const bytes = await pdf.save();
|
|
175
|
+
const result = await this.#artifacts.write(key, bytes, "application/pdf", filename);
|
|
176
|
+
return pdfWriteOutputSchema.parse({ result });
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
//#endregion
|
|
180
|
+
//#region src/modules/pdf/module.ts
|
|
181
|
+
const pdfInspectTool = defineTool({
|
|
182
|
+
id: "pdf-inspect",
|
|
183
|
+
name: "inspectPdf",
|
|
184
|
+
description: "Inspect a PDF artifact and return page count, page dimensions, rotations, and available document metadata.",
|
|
185
|
+
inputSchema: pdfInspectInputSchema,
|
|
186
|
+
outputSchema: pdfInspectOutputSchema,
|
|
187
|
+
sideEffect: "read",
|
|
188
|
+
runtime: "both",
|
|
189
|
+
artifacts: true,
|
|
190
|
+
execute: async (input, ctx) => PdfClient.fromContext(ctx).inspect(input)
|
|
191
|
+
});
|
|
192
|
+
const pdfMergeTool = defineTool({
|
|
193
|
+
id: "pdf-merge",
|
|
194
|
+
name: "mergePdfs",
|
|
195
|
+
description: "Concatenate two or more existing PDF ArtifactRefs in order and return one final PDF ArtifactRef. Use for combining PDFs, not for creating a PDF from HTML or an office document.",
|
|
196
|
+
inputSchema: pdfMergeInputSchema,
|
|
197
|
+
outputSchema: pdfWriteOutputSchema,
|
|
198
|
+
sideEffect: "write",
|
|
199
|
+
runtime: "both",
|
|
200
|
+
artifacts: true,
|
|
201
|
+
execute: async (input, ctx) => PdfClient.fromContext(ctx).merge(input)
|
|
202
|
+
});
|
|
203
|
+
const pdfExtractPagesTool = defineTool({
|
|
204
|
+
id: "pdf-extract-pages",
|
|
205
|
+
name: "extractPdfPages",
|
|
206
|
+
description: "Copy selected one-based pages from an existing PDF ArtifactRef into a new PDF and return its ArtifactRef. Use when the requested output is one PDF containing a chosen page sequence.",
|
|
207
|
+
inputSchema: pdfExtractPagesInputSchema,
|
|
208
|
+
outputSchema: pdfWriteOutputSchema,
|
|
209
|
+
sideEffect: "write",
|
|
210
|
+
runtime: "both",
|
|
211
|
+
artifacts: true,
|
|
212
|
+
execute: async (input, ctx) => PdfClient.fromContext(ctx).extractPages(input)
|
|
213
|
+
});
|
|
214
|
+
const pdfSplitTool = defineTool({
|
|
215
|
+
id: "pdf-split",
|
|
216
|
+
name: "splitPdf",
|
|
217
|
+
description: "Split an existing PDF ArtifactRef into one output PDF ArtifactRef per page. Use only when separate page files are required; use pdf-extract-pages for one combined subset.",
|
|
218
|
+
inputSchema: pdfSplitInputSchema,
|
|
219
|
+
outputSchema: pdfSplitOutputSchema,
|
|
220
|
+
sideEffect: "write",
|
|
221
|
+
runtime: "both",
|
|
222
|
+
artifacts: true,
|
|
223
|
+
execute: async (input, ctx) => PdfClient.fromContext(ctx).split(input)
|
|
224
|
+
});
|
|
225
|
+
const pdfRotateTool = defineTool({
|
|
226
|
+
id: "pdf-rotate",
|
|
227
|
+
name: "rotatePdfPages",
|
|
228
|
+
description: "Rotate selected pages in an existing PDF ArtifactRef clockwise, or every page when no page list is supplied, and return a new PDF ArtifactRef.",
|
|
229
|
+
inputSchema: pdfRotateInputSchema,
|
|
230
|
+
outputSchema: pdfWriteOutputSchema,
|
|
231
|
+
sideEffect: "write",
|
|
232
|
+
runtime: "both",
|
|
233
|
+
artifacts: true,
|
|
234
|
+
execute: async (input, ctx) => PdfClient.fromContext(ctx).rotate(input)
|
|
235
|
+
});
|
|
236
|
+
const pdfModule = defineModule({
|
|
237
|
+
id: "pdf",
|
|
238
|
+
title: "PDF",
|
|
239
|
+
description: "Inspect, merge, extract, split, and rotate PDF artifacts.",
|
|
240
|
+
runtime: "both",
|
|
241
|
+
auth: {
|
|
242
|
+
type: "custom",
|
|
243
|
+
schema: pdfAuthSchema
|
|
244
|
+
},
|
|
245
|
+
categories: ["documents", "pdf"],
|
|
246
|
+
classification: "pii",
|
|
247
|
+
tags: ["merge", "split"],
|
|
248
|
+
tools: [
|
|
249
|
+
pdfInspectTool,
|
|
250
|
+
pdfMergeTool,
|
|
251
|
+
pdfExtractPagesTool,
|
|
252
|
+
pdfSplitTool,
|
|
253
|
+
pdfRotateTool
|
|
254
|
+
]
|
|
255
|
+
});
|
|
256
|
+
//#endregion
|
|
257
|
+
export { MAX_PDF_BYTES, MAX_PDF_PAGES, PdfClient, pdfAuthSchema, pdfExtractPagesInputSchema, pdfExtractPagesTool, pdfInspectInputSchema, pdfInspectOutputSchema, pdfInspectTool, pdfMergeInputSchema, pdfMergeTool, pdfMetadataSchema, pdfModule, pdfPageInfoSchema, pdfRotateInputSchema, pdfRotateTool, pdfSplitInputSchema, pdfSplitOutputSchema, pdfSplitTool, pdfWriteOutputSchema };
|
|
258
|
+
|
|
259
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["#artifacts","#read","#write"],"sources":["../../../src/modules/pdf/contracts.ts","../../../src/modules/pdf/client.ts","../../../src/modules/pdf/module.ts"],"sourcesContent":["import { z } from 'zod'\n\nimport { artifactRefSchema } from '../../shared/artifact'\nimport { s3AuthSchema } from '../../vendors/s3'\n\nexport const MAX_PDF_BYTES = 50 * 1024 * 1024\nexport const MAX_PDF_PAGES = 500\n\nexport const pdfAuthSchema = z.object({\n\tstorage: s3AuthSchema.describe('Object storage for source and output PDF artifacts')\n})\n\nconst source = artifactRefSchema.describe('Source PDF artifact')\nconst outputKey = z.string().min(1).max(1_024).describe('Destination object key')\nconst filename = z.string().min(1).max(512).optional().describe('Display filename for the output PDF')\nconst pageNumber = z.int().min(1).max(MAX_PDF_PAGES).describe('One-based PDF page number')\n\nexport const pdfInspectInputSchema = z.object({ source })\n\nexport const pdfPageInfoSchema = z.object({\n\tpage_number: pageNumber,\n\twidth: z.number().positive(),\n\theight: z.number().positive(),\n\trotation_degrees: z.number()\n})\n\nexport const pdfMetadataSchema = z.object({\n\ttitle: z.string().optional(),\n\tauthor: z.string().optional(),\n\tsubject: z.string().optional(),\n\tkeywords: z.string().optional(),\n\tcreator: z.string().optional(),\n\tproducer: z.string().optional()\n})\n\nexport const pdfInspectOutputSchema = z.object({\n\tpage_count: z.int().min(0),\n\tpages: z.array(pdfPageInfoSchema),\n\tmetadata: pdfMetadataSchema\n})\n\nexport const pdfMergeInputSchema = z.object({\n\tsources: z.array(source).min(2).max(50).describe('PDF artifacts to concatenate in order'),\n\toutput_key: outputKey,\n\tfilename\n})\n\nexport const pdfWriteOutputSchema = z.object({\n\tresult: artifactRefSchema.describe('Written PDF artifact')\n})\n\nexport const pdfExtractPagesInputSchema = z.object({\n\tsource,\n\tpages: z.array(pageNumber).min(1).max(MAX_PDF_PAGES).describe('Pages to copy in the requested order'),\n\toutput_key: outputKey,\n\tfilename\n})\n\nexport const pdfSplitInputSchema = z.object({\n\tsource,\n\toutput_key_prefix: z.string().min(1).max(1_024).describe('Object-key prefix for one PDF per source page'),\n\tfilename_prefix: z.string().min(1).max(200).optional().describe('Filename prefix for page PDFs')\n})\n\nexport const pdfSplitOutputSchema = z.object({\n\tresults: z.array(artifactRefSchema).describe('One PDF artifact per source page')\n})\n\nexport const pdfRotateInputSchema = z.object({\n\tsource,\n\tdegrees: z.union([z.literal(90), z.literal(180), z.literal(270)]).describe('Clockwise rotation to add'),\n\tpages: z.array(pageNumber).min(1).max(MAX_PDF_PAGES).optional().describe('Pages to rotate; defaults to every page'),\n\toutput_key: outputKey,\n\tfilename\n})\n\nexport type PdfAuth = z.infer<typeof pdfAuthSchema>\nexport type PdfInspectInput = z.infer<typeof pdfInspectInputSchema>\nexport type PdfInspectOutput = z.infer<typeof pdfInspectOutputSchema>\nexport type PdfMergeInput = z.infer<typeof pdfMergeInputSchema>\nexport type PdfExtractPagesInput = z.infer<typeof pdfExtractPagesInputSchema>\nexport type PdfSplitInput = z.infer<typeof pdfSplitInputSchema>\nexport type PdfSplitOutput = z.infer<typeof pdfSplitOutputSchema>\nexport type PdfRotateInput = z.infer<typeof pdfRotateInputSchema>\nexport type PdfWriteOutput = z.infer<typeof pdfWriteOutputSchema>\n","import { PDFDocument, degrees } from 'pdf-lib'\n\nimport { ToolError } from '../../core/errors'\nimport { requireAuth } from '../../core/provider'\nimport type { ToolContext } from '../../core/types'\nimport { ObjectArtifactStore } from '../../shared/object-artifact-store'\nimport type { ObjectArtifactStoreOptions } from '../../shared/object-artifact-store'\nimport type {\n\tPdfAuth,\n\tPdfExtractPagesInput,\n\tPdfInspectInput,\n\tPdfInspectOutput,\n\tPdfMergeInput,\n\tPdfRotateInput,\n\tPdfSplitInput,\n\tPdfSplitOutput,\n\tPdfWriteOutput\n} from './contracts'\nimport {\n\tMAX_PDF_BYTES,\n\tpdfAuthSchema,\n\tpdfInspectOutputSchema,\n\tpdfSplitOutputSchema,\n\tpdfWriteOutputSchema\n} from './contracts'\n\nexport type PdfClientOptions = ObjectArtifactStoreOptions\n\nfunction pageIndexes(pages: readonly number[], pageCount: number): number[] {\n\tfor (const page of pages) {\n\t\tif (page > pageCount) {\n\t\t\tthrow new ToolError(`PDF page ${page} does not exist`, {\n\t\t\t\tcode: 'bad_input',\n\t\t\t\tdetails: { page, page_count: pageCount }\n\t\t\t})\n\t\t}\n\t}\n\treturn pages.map((page) => page - 1)\n}\n\nasync function loadPdf(bytes: Uint8Array): Promise<PDFDocument> {\n\ttry {\n\t\treturn await PDFDocument.load(bytes, { updateMetadata: false })\n\t} catch (error) {\n\t\tthrow new ToolError('Failed to read PDF', { code: 'bad_input', cause: error })\n\t}\n}\n\nexport class PdfClient {\n\treadonly #artifacts: ObjectArtifactStore\n\n\tconstructor(auth: PdfAuth, options: PdfClientOptions = {}) {\n\t\tconst parsed = pdfAuthSchema.safeParse(auth)\n\t\tif (!parsed.success) {\n\t\t\tthrow new ToolError('Invalid PDF auth credentials', {\n\t\t\t\tcode: 'bad_auth',\n\t\t\t\tdetails: { issues: parsed.error.issues.map((issue) => issue.message) }\n\t\t\t})\n\t\t}\n\t\tthis.#artifacts = new ObjectArtifactStore(parsed.data.storage, options)\n\t}\n\n\tstatic fromContext(ctx: ToolContext): PdfClient {\n\t\treturn new PdfClient(requireAuth(ctx, pdfAuthSchema), {\n\t\t\t...(ctx.fetch && { fetch: ctx.fetch }),\n\t\t\t...(ctx.signal && { signal: ctx.signal })\n\t\t})\n\t}\n\n\tstatic fromAuth(auth: PdfAuth, options: PdfClientOptions = {}): PdfClient {\n\t\treturn new PdfClient(auth, options)\n\t}\n\n\tasync inspect(input: PdfInspectInput): Promise<PdfInspectOutput> {\n\t\tconst pdf = await this.#read(input.source)\n\t\tconst metadata: PdfInspectOutput['metadata'] = {}\n\t\tconst title = pdf.getTitle()\n\t\tconst author = pdf.getAuthor()\n\t\tconst subject = pdf.getSubject()\n\t\tconst keywords = pdf.getKeywords()\n\t\tconst creator = pdf.getCreator()\n\t\tconst producer = pdf.getProducer()\n\t\tif (title) metadata.title = title\n\t\tif (author) metadata.author = author\n\t\tif (subject) metadata.subject = subject\n\t\tif (keywords) metadata.keywords = keywords\n\t\tif (creator) metadata.creator = creator\n\t\tif (producer) metadata.producer = producer\n\t\treturn pdfInspectOutputSchema.parse({\n\t\t\tpage_count: pdf.getPageCount(),\n\t\t\tpages: pdf.getPages().map((page, index) => ({\n\t\t\t\tpage_number: index + 1,\n\t\t\t\twidth: page.getWidth(),\n\t\t\t\theight: page.getHeight(),\n\t\t\t\trotation_degrees: page.getRotation().angle\n\t\t\t})),\n\t\t\tmetadata\n\t\t})\n\t}\n\n\tasync merge(input: PdfMergeInput): Promise<PdfWriteOutput> {\n\t\tconst output = await PDFDocument.create()\n\t\tfor (const source of input.sources) {\n\t\t\tconst current = await this.#read(source)\n\t\t\tconst pages = await output.copyPages(current, current.getPageIndices())\n\t\t\tfor (const page of pages) output.addPage(page)\n\t\t}\n\t\treturn this.#write(output, input.output_key, input.filename ?? 'merged.pdf')\n\t}\n\n\tasync extractPages(input: PdfExtractPagesInput): Promise<PdfWriteOutput> {\n\t\tconst source = await this.#read(input.source)\n\t\tconst output = await PDFDocument.create()\n\t\tconst pages = await output.copyPages(source, pageIndexes(input.pages, source.getPageCount()))\n\t\tfor (const page of pages) output.addPage(page)\n\t\treturn this.#write(output, input.output_key, input.filename ?? 'extracted.pdf')\n\t}\n\n\tasync split(input: PdfSplitInput): Promise<PdfSplitOutput> {\n\t\tconst source = await this.#read(input.source)\n\t\tconst results = []\n\t\tfor (let index = 0; index < source.getPageCount(); index += 1) {\n\t\t\tconst output = await PDFDocument.create()\n\t\t\tconst [page] = await output.copyPages(source, [index])\n\t\t\tif (!page) throw new ToolError('Failed to copy PDF page', { code: 'internal' })\n\t\t\toutput.addPage(page)\n\t\t\tconst number = index + 1\n\t\t\tconst key = `${input.output_key_prefix.replace(/\\/$/, '')}/page-${number}.pdf`\n\t\t\tconst name = `${input.filename_prefix ?? 'page'}-${number}.pdf`\n\t\t\tresults.push((await this.#write(output, key, name)).result)\n\t\t}\n\t\treturn pdfSplitOutputSchema.parse({ results })\n\t}\n\n\tasync rotate(input: PdfRotateInput): Promise<PdfWriteOutput> {\n\t\tconst pdf = await this.#read(input.source)\n\t\tconst indexes = new Set(input.pages ? pageIndexes(input.pages, pdf.getPageCount()) : pdf.getPageIndices())\n\t\tfor (const [index, page] of pdf.getPages().entries()) {\n\t\t\tif (indexes.has(index)) {\n\t\t\t\tpage.setRotation(degrees((page.getRotation().angle + input.degrees) % 360))\n\t\t\t}\n\t\t}\n\t\treturn this.#write(pdf, input.output_key, input.filename ?? 'rotated.pdf')\n\t}\n\n\tasync #read(source: PdfInspectInput['source']): Promise<PDFDocument> {\n\t\treturn loadPdf(await this.#artifacts.read(source, MAX_PDF_BYTES))\n\t}\n\n\tasync #write(pdf: PDFDocument, key: string, filename: string): Promise<PdfWriteOutput> {\n\t\tconst bytes = await pdf.save()\n\t\tconst result = await this.#artifacts.write(key, bytes, 'application/pdf', filename)\n\t\treturn pdfWriteOutputSchema.parse({ result })\n\t}\n}\n","import { defineModule, defineTool } from '../../core/define'\nimport { PdfClient } from './client'\nimport {\n\tpdfAuthSchema,\n\tpdfExtractPagesInputSchema,\n\tpdfInspectInputSchema,\n\tpdfInspectOutputSchema,\n\tpdfMergeInputSchema,\n\tpdfRotateInputSchema,\n\tpdfSplitInputSchema,\n\tpdfSplitOutputSchema,\n\tpdfWriteOutputSchema\n} from './contracts'\n\nexport const pdfInspectTool = defineTool({\n\tid: 'pdf-inspect',\n\tname: 'inspectPdf',\n\tdescription:\n\t\t'Inspect a PDF artifact and return page count, page dimensions, rotations, and available document metadata.',\n\tinputSchema: pdfInspectInputSchema,\n\toutputSchema: pdfInspectOutputSchema,\n\tsideEffect: 'read',\n\truntime: 'both',\n\tartifacts: true,\n\texecute: async (input, ctx) => PdfClient.fromContext(ctx).inspect(input)\n})\n\nexport const pdfMergeTool = defineTool({\n\tid: 'pdf-merge',\n\tname: 'mergePdfs',\n\tdescription:\n\t\t'Concatenate two or more existing PDF ArtifactRefs in order and return one final PDF ArtifactRef. Use for combining PDFs, not for creating a PDF from HTML or an office document.',\n\tinputSchema: pdfMergeInputSchema,\n\toutputSchema: pdfWriteOutputSchema,\n\tsideEffect: 'write',\n\truntime: 'both',\n\tartifacts: true,\n\texecute: async (input, ctx) => PdfClient.fromContext(ctx).merge(input)\n})\n\nexport const pdfExtractPagesTool = defineTool({\n\tid: 'pdf-extract-pages',\n\tname: 'extractPdfPages',\n\tdescription:\n\t\t'Copy selected one-based pages from an existing PDF ArtifactRef into a new PDF and return its ArtifactRef. Use when the requested output is one PDF containing a chosen page sequence.',\n\tinputSchema: pdfExtractPagesInputSchema,\n\toutputSchema: pdfWriteOutputSchema,\n\tsideEffect: 'write',\n\truntime: 'both',\n\tartifacts: true,\n\texecute: async (input, ctx) => PdfClient.fromContext(ctx).extractPages(input)\n})\n\nexport const pdfSplitTool = defineTool({\n\tid: 'pdf-split',\n\tname: 'splitPdf',\n\tdescription:\n\t\t'Split an existing PDF ArtifactRef into one output PDF ArtifactRef per page. Use only when separate page files are required; use pdf-extract-pages for one combined subset.',\n\tinputSchema: pdfSplitInputSchema,\n\toutputSchema: pdfSplitOutputSchema,\n\tsideEffect: 'write',\n\truntime: 'both',\n\tartifacts: true,\n\texecute: async (input, ctx) => PdfClient.fromContext(ctx).split(input)\n})\n\nexport const pdfRotateTool = defineTool({\n\tid: 'pdf-rotate',\n\tname: 'rotatePdfPages',\n\tdescription:\n\t\t'Rotate selected pages in an existing PDF ArtifactRef clockwise, or every page when no page list is supplied, and return a new PDF ArtifactRef.',\n\tinputSchema: pdfRotateInputSchema,\n\toutputSchema: pdfWriteOutputSchema,\n\tsideEffect: 'write',\n\truntime: 'both',\n\tartifacts: true,\n\texecute: async (input, ctx) => PdfClient.fromContext(ctx).rotate(input)\n})\n\nexport const pdfModule = defineModule({\n\tid: 'pdf',\n\ttitle: 'PDF',\n\tdescription: 'Inspect, merge, extract, split, and rotate PDF artifacts.',\n\truntime: 'both',\n\tauth: { type: 'custom', schema: pdfAuthSchema },\n\tcategories: ['documents', 'pdf'],\n\tclassification: 'pii',\n\ttags: ['merge', 'split'],\n\ttools: [pdfInspectTool, pdfMergeTool, pdfExtractPagesTool, pdfSplitTool, pdfRotateTool]\n})\n"],"mappings":"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"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { a as ModuleDefinition, o as ToolContext, s as ToolDefinition } from "../../types-Ccb0DXY9.js";
|
|
2
|
+
import "../../index-CZX5OeOF.js";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
//#region src/modules/presentation/contracts.d.ts
|
|
5
|
+
declare const MAX_SLIDES = 50;
|
|
6
|
+
declare const presentationAuthSchema: z.ZodObject<{
|
|
7
|
+
storage: z.ZodObject<{
|
|
8
|
+
access_key_id: z.ZodString;
|
|
9
|
+
secret_access_key: z.ZodString;
|
|
10
|
+
region: z.ZodString;
|
|
11
|
+
bucket: z.ZodString;
|
|
12
|
+
endpoint: z.ZodOptional<z.ZodURL>;
|
|
13
|
+
session_token: z.ZodOptional<z.ZodString>;
|
|
14
|
+
key_prefix: z.ZodOptional<z.ZodString>;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
declare const presentationBuildOutputSchema: z.ZodObject<{
|
|
18
|
+
result: z.ZodObject<{
|
|
19
|
+
store: z.ZodEnum<{
|
|
20
|
+
host: "host";
|
|
21
|
+
object: "object";
|
|
22
|
+
}>;
|
|
23
|
+
key: z.ZodString;
|
|
24
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
25
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
26
|
+
byte_length: z.ZodOptional<z.ZodInt>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
}, z.core.$strip>;
|
|
29
|
+
declare const presentationSourceSchema: z.ZodObject<{
|
|
30
|
+
artifact: z.ZodOptional<z.ZodObject<{
|
|
31
|
+
store: z.ZodEnum<{
|
|
32
|
+
host: "host";
|
|
33
|
+
object: "object";
|
|
34
|
+
}>;
|
|
35
|
+
key: z.ZodString;
|
|
36
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
37
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
38
|
+
byte_length: z.ZodOptional<z.ZodInt>;
|
|
39
|
+
}, z.core.$strip>>;
|
|
40
|
+
body_base64: z.ZodOptional<z.ZodString>;
|
|
41
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
42
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
declare const presentationSlideSchema: z.ZodObject<{
|
|
45
|
+
title: z.ZodOptional<z.ZodString>;
|
|
46
|
+
bullets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
47
|
+
notes: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
declare const presentationReplacementSchema: z.ZodObject<{
|
|
50
|
+
find: z.ZodString;
|
|
51
|
+
replace: z.ZodString;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
declare const presentationReadInputSchema: z.ZodObject<{
|
|
54
|
+
source: z.ZodObject<{
|
|
55
|
+
artifact: z.ZodOptional<z.ZodObject<{
|
|
56
|
+
store: z.ZodEnum<{
|
|
57
|
+
host: "host";
|
|
58
|
+
object: "object";
|
|
59
|
+
}>;
|
|
60
|
+
key: z.ZodString;
|
|
61
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
62
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
63
|
+
byte_length: z.ZodOptional<z.ZodInt>;
|
|
64
|
+
}, z.core.$strip>>;
|
|
65
|
+
body_base64: z.ZodOptional<z.ZodString>;
|
|
66
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
67
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
68
|
+
}, z.core.$strip>;
|
|
69
|
+
}, z.core.$strip>;
|
|
70
|
+
declare const presentationReadOutputSchema: z.ZodObject<{
|
|
71
|
+
format: z.ZodLiteral<"pptx">;
|
|
72
|
+
text: z.ZodOptional<z.ZodString>;
|
|
73
|
+
slides: z.ZodArray<z.ZodObject<{
|
|
74
|
+
title: z.ZodOptional<z.ZodString>;
|
|
75
|
+
bullets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
76
|
+
notes: z.ZodOptional<z.ZodString>;
|
|
77
|
+
}, z.core.$strip>>;
|
|
78
|
+
tables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
79
|
+
name: z.ZodOptional<z.ZodString>;
|
|
80
|
+
rows: z.ZodArray<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
|
|
81
|
+
}, z.core.$strip>>>;
|
|
82
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
83
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
84
|
+
byte_length: z.ZodInt;
|
|
85
|
+
}, z.core.$strip>;
|
|
86
|
+
declare const presentationBuildInputSchema: z.ZodObject<{
|
|
87
|
+
title: z.ZodOptional<z.ZodString>;
|
|
88
|
+
slides: z.ZodArray<z.ZodObject<{
|
|
89
|
+
title: z.ZodOptional<z.ZodString>;
|
|
90
|
+
bullets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
91
|
+
notes: z.ZodOptional<z.ZodString>;
|
|
92
|
+
}, z.core.$strip>>;
|
|
93
|
+
output_key: z.ZodString;
|
|
94
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
95
|
+
}, z.core.$strip>;
|
|
96
|
+
declare const presentationEditInputSchema: z.ZodObject<{
|
|
97
|
+
source: z.ZodObject<{
|
|
98
|
+
artifact: z.ZodOptional<z.ZodObject<{
|
|
99
|
+
store: z.ZodEnum<{
|
|
100
|
+
host: "host";
|
|
101
|
+
object: "object";
|
|
102
|
+
}>;
|
|
103
|
+
key: z.ZodString;
|
|
104
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
105
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
106
|
+
byte_length: z.ZodOptional<z.ZodInt>;
|
|
107
|
+
}, z.core.$strip>>;
|
|
108
|
+
body_base64: z.ZodOptional<z.ZodString>;
|
|
109
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
110
|
+
media_type: z.ZodOptional<z.ZodString>;
|
|
111
|
+
}, z.core.$strip>;
|
|
112
|
+
replacements: z.ZodArray<z.ZodObject<{
|
|
113
|
+
find: z.ZodString;
|
|
114
|
+
replace: z.ZodString;
|
|
115
|
+
}, z.core.$strip>>;
|
|
116
|
+
output_key: z.ZodString;
|
|
117
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
118
|
+
}, z.core.$strip>;
|
|
119
|
+
type PresentationAuth = z.infer<typeof presentationAuthSchema>;
|
|
120
|
+
type PresentationSlide = z.infer<typeof presentationSlideSchema>;
|
|
121
|
+
type PresentationReplacement = z.infer<typeof presentationReplacementSchema>;
|
|
122
|
+
type PresentationReadInput = z.infer<typeof presentationReadInputSchema>;
|
|
123
|
+
type PresentationReadOutput = z.infer<typeof presentationReadOutputSchema>;
|
|
124
|
+
type PresentationBuildInput = z.infer<typeof presentationBuildInputSchema>;
|
|
125
|
+
type PresentationEditInput = z.infer<typeof presentationEditInputSchema>;
|
|
126
|
+
//#endregion
|
|
127
|
+
//#region src/modules/presentation/client.d.ts
|
|
128
|
+
type PresentationClientOptions = {
|
|
129
|
+
fetch?: ToolContext['fetch'];
|
|
130
|
+
signal?: ToolContext['signal'];
|
|
131
|
+
};
|
|
132
|
+
declare class PresentationClient {
|
|
133
|
+
#private;
|
|
134
|
+
constructor(auth: PresentationAuth, context?: PresentationClientOptions);
|
|
135
|
+
static fromContext(context: ToolContext): PresentationClient;
|
|
136
|
+
static fromAuth(auth: PresentationAuth, context?: PresentationClientOptions): PresentationClient;
|
|
137
|
+
read(input: PresentationReadInput): Promise<PresentationReadOutput>;
|
|
138
|
+
build(input: PresentationBuildInput): Promise<{
|
|
139
|
+
result: {
|
|
140
|
+
store: "host" | "object";
|
|
141
|
+
key: string;
|
|
142
|
+
media_type?: string | undefined;
|
|
143
|
+
filename?: string | undefined;
|
|
144
|
+
byte_length?: number | undefined;
|
|
145
|
+
};
|
|
146
|
+
}>;
|
|
147
|
+
edit(input: PresentationEditInput): Promise<{
|
|
148
|
+
result: {
|
|
149
|
+
store: "host" | "object";
|
|
150
|
+
key: string;
|
|
151
|
+
media_type?: string | undefined;
|
|
152
|
+
filename?: string | undefined;
|
|
153
|
+
byte_length?: number | undefined;
|
|
154
|
+
};
|
|
155
|
+
}>;
|
|
156
|
+
}
|
|
157
|
+
//#endregion
|
|
158
|
+
//#region src/modules/presentation/module.d.ts
|
|
159
|
+
declare const presentationReadTool: ToolDefinition<{
|
|
160
|
+
source: {
|
|
161
|
+
artifact?: {
|
|
162
|
+
store: "host" | "object";
|
|
163
|
+
key: string;
|
|
164
|
+
media_type?: string | undefined;
|
|
165
|
+
filename?: string | undefined;
|
|
166
|
+
byte_length?: number | undefined;
|
|
167
|
+
} | undefined;
|
|
168
|
+
body_base64?: string | undefined;
|
|
169
|
+
filename?: string | undefined;
|
|
170
|
+
media_type?: string | undefined;
|
|
171
|
+
};
|
|
172
|
+
}, {
|
|
173
|
+
format: "pptx";
|
|
174
|
+
text?: string | undefined;
|
|
175
|
+
slides: {
|
|
176
|
+
title?: string | undefined;
|
|
177
|
+
bullets?: string[] | undefined;
|
|
178
|
+
notes?: string | undefined;
|
|
179
|
+
}[];
|
|
180
|
+
tables?: {
|
|
181
|
+
name?: string | undefined;
|
|
182
|
+
rows: (string | number | boolean | null)[][];
|
|
183
|
+
}[] | undefined;
|
|
184
|
+
filename?: string | undefined;
|
|
185
|
+
media_type?: string | undefined;
|
|
186
|
+
byte_length: number;
|
|
187
|
+
}>;
|
|
188
|
+
declare const presentationBuildTool: ToolDefinition<{
|
|
189
|
+
title?: string | undefined;
|
|
190
|
+
slides: {
|
|
191
|
+
title?: string | undefined;
|
|
192
|
+
bullets?: string[] | undefined;
|
|
193
|
+
notes?: string | undefined;
|
|
194
|
+
}[];
|
|
195
|
+
output_key: string;
|
|
196
|
+
filename?: string | undefined;
|
|
197
|
+
}, {
|
|
198
|
+
result: {
|
|
199
|
+
store: "host" | "object";
|
|
200
|
+
key: string;
|
|
201
|
+
media_type?: string | undefined;
|
|
202
|
+
filename?: string | undefined;
|
|
203
|
+
byte_length?: number | undefined;
|
|
204
|
+
};
|
|
205
|
+
}>;
|
|
206
|
+
declare const presentationEditTool: ToolDefinition<{
|
|
207
|
+
source: {
|
|
208
|
+
artifact?: {
|
|
209
|
+
store: "host" | "object";
|
|
210
|
+
key: string;
|
|
211
|
+
media_type?: string | undefined;
|
|
212
|
+
filename?: string | undefined;
|
|
213
|
+
byte_length?: number | undefined;
|
|
214
|
+
} | undefined;
|
|
215
|
+
body_base64?: string | undefined;
|
|
216
|
+
filename?: string | undefined;
|
|
217
|
+
media_type?: string | undefined;
|
|
218
|
+
};
|
|
219
|
+
replacements: {
|
|
220
|
+
find: string;
|
|
221
|
+
replace: string;
|
|
222
|
+
}[];
|
|
223
|
+
output_key: string;
|
|
224
|
+
filename?: string | undefined;
|
|
225
|
+
}, {
|
|
226
|
+
result: {
|
|
227
|
+
store: "host" | "object";
|
|
228
|
+
key: string;
|
|
229
|
+
media_type?: string | undefined;
|
|
230
|
+
filename?: string | undefined;
|
|
231
|
+
byte_length?: number | undefined;
|
|
232
|
+
};
|
|
233
|
+
}>;
|
|
234
|
+
declare const presentationModule: ModuleDefinition<{
|
|
235
|
+
storage: {
|
|
236
|
+
access_key_id: string;
|
|
237
|
+
secret_access_key: string;
|
|
238
|
+
region: string;
|
|
239
|
+
bucket: string;
|
|
240
|
+
endpoint?: string | undefined;
|
|
241
|
+
session_token?: string | undefined;
|
|
242
|
+
key_prefix?: string | undefined;
|
|
243
|
+
};
|
|
244
|
+
}>;
|
|
245
|
+
//#endregion
|
|
246
|
+
export { MAX_SLIDES, type PresentationAuth, type PresentationBuildInput, PresentationClient, type PresentationClientOptions, type PresentationEditInput, type PresentationReadInput, type PresentationReadOutput, type PresentationReplacement, type PresentationSlide, presentationAuthSchema, presentationBuildInputSchema, presentationBuildOutputSchema, presentationBuildTool, presentationEditInputSchema, presentationEditTool, presentationModule, presentationReadInputSchema, presentationReadOutputSchema, presentationReadTool, presentationReplacementSchema, presentationSlideSchema, presentationSourceSchema };
|
|
247
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/modules/presentation/contracts.ts","../../../src/modules/presentation/client.ts","../../../src/modules/presentation/module.ts"],"mappings":";;;;cAea;cAEA,wBAAsB,EAAA;;;;;;;;;;GAAqB,EAAA,KAAA;cAC3C,+BAA6B,EAAA;;;;;;;;;;;GAA4B,EAAA,KAAA;cAEzD,0BAAwB,EAAA;;;;;;;;;;;;;;GAclC,EAAA,KAAA;cAEU,yBAAuB,EAAA;;;;GAIlC,EAAA,KAAA;cAEW,+BAA6B,EAAA;;;GAGxC,EAAA,KAAA;cAEW,6BAA2B,EAAA;;;;;;;;;;;;;;;;GAItC,EAAA,KAAA;cAEW,8BAA4B,EAAA;;;;;;;;;;;;;;;GAQvC,EAAA,KAAA;cAEW,8BAA4B,EAAA;;;;;;;;;GAKvC,EAAA,KAAA;cAEW,6BAA2B,EAAA;;;;;;;;;;;;;;;;;;;;;;GAWtC,EAAA,KAAA;KAEU,mBAAmB,EAAE,aAAa;KAClC,oBAAoB,EAAE,aAAa;KACnC,0BAA0B,EAAE,aAAa;KACzC,wBAAwB,EAAE,aAAa;KACvC,yBAAyB,EAAE,aAAa;KACxC,yBAAyB,EAAE,aAAa;KACxC,wBAAwB,EAAE,aAAa;;;KCtEvC;EACX,QAAQ;EACR,SAAS;;cAYG;;EAGZ,YAAY,MAAM,kBAAkB,UAAS;SAWtC,YAAY,SAAS,cAAc;SAInC,SAAS,MAAM,kBAAkB,UAAS,4BAAiC;EAI5E,KAAK,OAAO,wBAAwB,QAAQ;EAW5C,MAAM,OAAO,yBAAsB;;;;;;;;;EAQnC,KAAK,OAAO,wBAAqB;;;;;;;;;;;;cC/D3B,sBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAaA,uBAAA;;;;;;;;;;;;;;;;;;cAaA,sBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAaA,oBAAA"}
|