diff --git a/src/defaultSkills/process-incoming-product-and-invoices.SKILL b/src/defaultSkills/process-incoming-product-and-invoices.SKILL index da20b6d..64b8276 100644 --- a/src/defaultSkills/process-incoming-product-and-invoices.SKILL +++ b/src/defaultSkills/process-incoming-product-and-invoices.SKILL @@ -11,6 +11,7 @@ if the supplier entity does not exist, confirm with the user to create it. finally call draft_delivery_manifest +- attachment: VFS path to the original PDF attachment if any (e.g. from [ATTACHMENT path=...]), else null. - manifestType: "rechnung" or "lieferschein". For "lieferschein", prices and taxes must be null. - Exclude non-product lines (shipping, handling, packacking, etc.). - Line items: Count, vpe (default: 1), liefArtNr, mwst (7 or 19), and eknetto per Item(euro cents). diff --git a/src/tools/draft-delivery-manifest.js b/src/tools/draft-delivery-manifest.js index ecd6d54..7d714a8 100644 --- a/src/tools/draft-delivery-manifest.js +++ b/src/tools/draft-delivery-manifest.js @@ -3,7 +3,7 @@ import { TOOL_DESCRIPTIONS, TOOL_PARAMETER_DESCRIPTIONS } from './prompts.js'; /** * Creates the draft_delivery_manifest tool. - * Stores extracted invoice/delivery-note data: header metadata (basedata), and product line items. + * Stores extracted invoice/delivery-note data: header metadata (basedata), product line items, and optional original PDF attachment link. */ export function createDraftDeliveryManifestTool() { const P = TOOL_PARAMETER_DESCRIPTIONS.draft_delivery_manifest; @@ -17,6 +17,10 @@ export function createDraftDeliveryManifestTool() { additionalProperties: false, required: [], properties: { + attachment: { + type: ['string', 'null'], + description: P.attachment, + }, basedata: { anyOf: [ { diff --git a/src/tools/prompts.js b/src/tools/prompts.js index d4cb29a..8165d38 100644 --- a/src/tools/prompts.js +++ b/src/tools/prompts.js @@ -110,7 +110,7 @@ export const TOOL_DESCRIPTIONS = { 'and provide these paths in the subagent instructions.', draft_delivery_manifest: - 'Stores extracted invoice/delivery-note data: header metadata (basedata), and product line items. Each component is strictly optional.', + 'Stores extracted invoice/delivery-note data: header metadata (basedata), product line items, and optional original PDF attachment link. Each component is strictly optional.', }; // #endregion @@ -275,6 +275,7 @@ export const TOOL_PARAMETER_DESCRIPTIONS = { }, draft_delivery_manifest: { + attachment: 'VFS path/link to the original PDF attachment (e.g. "attachments/invoice.pdf"), or null if none.', basedata: 'Header/metadata. Only include fields that are currently missing or changed.', date: 'Document date (ISO 8601).', lieferant_id: 'Lieferant ID.',