@eigenpal/cli 0.17.3 → 0.17.5

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @eigenpal/cli
2
2
 
3
+ ## 0.17.5
4
+
5
+ ### Patch Changes
6
+
7
+ - e3c0246: CLI skill reference documents the new `ai.figure-crops` workflow step for cropping and captioning figures from parsed PDFs.
8
+
3
9
  ## 0.16.12
4
10
 
5
11
  ### Patch Changes
package/dist/cli.js CHANGED
@@ -7800,6 +7800,7 @@ var init_ids = __esm(() => {
7800
7800
  CLASSIFY_PAGES: "builtin/classify-pages",
7801
7801
  VISION: "builtin/vision",
7802
7802
  SEARCH_FILES: "builtin/search-files",
7803
+ FIGURE_CROPS: "builtin/figure-crops",
7803
7804
  TEMPLATE: "builtin/template",
7804
7805
  PDF_EMBEDDER: "builtin/pdf-embedder",
7805
7806
  XLSX_TO_JSON: "builtin/xlsx-to-json",
@@ -53679,7 +53680,8 @@ var init_steps = __esm(() => {
53679
53680
  "ai.classify",
53680
53681
  "ai.classify-pages",
53681
53682
  "ai.vision",
53682
- "ai.search-files"
53683
+ "ai.search-files",
53684
+ "ai.figure-crops"
53683
53685
  ];
53684
53686
  TRANSFORM_STEP_TYPES = [
53685
53687
  "transform.set",
@@ -53837,7 +53839,7 @@ function getStepSchema(stepType) {
53837
53839
  function listStepTypes() {
53838
53840
  return [...STEP_TYPES];
53839
53841
  }
53840
- var OptionalReasoningEffortSchema, AiParseConfigSchema, AiParseOutputSchema, AiExtractConfigSchema, AiExtractOutputSchema, VisionPageRangeSchema, AiVisionConfigSchema, AiVisionOutputSchema, AI_SEARCH_FILES_DEFAULT_MAX_ITERATIONS = 12, AI_SEARCH_FILES_MAX_ITERATIONS = 50, AI_SEARCH_FILES_DEFAULT_MAX_FILES = 50, AI_SEARCH_FILES_MAX_FILES = 200, AI_SEARCH_FILES_MAX_CITATION_EXCERPT_CHARS = 2000, AiSearchFilesConfigSchema, AiSearchFilesCitationSchema, AiSearchFilesOutputSchema, AiSplitConfigSchema, AiSplitSectionSchema, AiSplitOutputSchema, AiSegmentConfigSchema, AiSegmentOutputSchema, AiClassifyConfigSchema, AiClassifyOutputSchema, ClassifyPagesLabelSchema2, AiClassifyPagesConfigSchema, AiClassifyPagesOutputSchema, TransformSetConfigSchema, TransformSetOutputSchema, TransformRemoveConfigSchema, TransformRemoveOutputSchema, TransformCombineConfigSchema, TransformCombineOutputSchema, TransformSplitConfigSchema, TransformSplitOutputSchema, TransformMergeConfigSchema, TransformMergeOutputSchema, TransformTemplateConfigSchema, TransformTemplateOutputSchema, TransformPdfEmbedConfigSchema, TransformPdfEmbedOutputSchema, TransformXlsxToJsonConfigSchema, TransformXlsxToJsonOutputSchema, JsonToXlsxAuthoringRowsSchema, JsonToXlsxSheetConfigSchema, TransformJsonToXlsxConfigSchema, TransformJsonToXlsxOutputSchema, ARCHIVE_LIST_MAX_ENTRIES = 1e4, TransformArchiveListConfigSchema, TransformArchiveListEntrySchema, TransformArchiveListOutputSchema, TransformArchiveExtractConfigSchema, TransformArchiveExtractOutputSchema, TransformScriptConfigSchema, TransformScriptOutputSchema, ParsedDocPageSchema, TransformTextChunkerConfigSchema, TransformTextChunkerOutputSchema, RegexNormalizerSchema, RegexFormatSchema, REGEX_FLAGS, RegexFieldSchema, TransformRegexExtractConfigSchema, TransformRegexExtractOutputSchema, ActionHttpConfigSchema, ActionHttpOutputSchema, ActionInvokeWorkflowConfigSchema, ActionInvokeWorkflowOutputSchema, ActionWebsiteReaderConfigSchema, ActionWebsiteReaderOutputSchema, ACTION_EMAIL_MAX_ATTACHMENTS = 10, ACTION_EMAIL_MAX_ATTACHMENT_BYTES, ACTION_EMAIL_BODY_MAX_BYTES, emailBodyMaxBytes = (value) => new TextEncoder().encode(value).byteLength <= ACTION_EMAIL_BODY_MAX_BYTES, ActionEmailRecipientListSchema, ActionEmailToSchema, ActionEmailOptionalRecipientsSchema, ActionEmailAttachmentSchema, ActionEmailConfigSchema, ActionEmailOutputSchema, ControlIfConfigSchema, ControlIfOutputSchema, ControlSwitchConfigSchema, ControlSwitchOutputSchema, ControlForeachConfigSchema, ControlForeachOutputSchema, ControlParallelMapConfigSchema, ControlParallelMapOutputSchema, ControlParallelConfigSchema, ControlParallelOutputSchema, ControlWaitConfigSchema, ControlWaitOutputSchema, ControlHumanReviewConfigSchema, ControlHumanReviewOutputSchema, ControlFailConfigSchema, ControlFailOutputSchema, STEP_SCHEMAS;
53842
+ var OptionalReasoningEffortSchema, AiParseConfigSchema, AiParseOutputSchema, AiFigureCropsConfigSchema, AiFigureCropsFigureSchema, AiFigureCropsOutputSchema, AiExtractConfigSchema, AiExtractOutputSchema, VisionPageRangeSchema, AiVisionConfigSchema, AiVisionOutputSchema, AI_SEARCH_FILES_DEFAULT_MAX_ITERATIONS = 12, AI_SEARCH_FILES_MAX_ITERATIONS = 50, AI_SEARCH_FILES_DEFAULT_MAX_FILES = 50, AI_SEARCH_FILES_MAX_FILES = 200, AI_SEARCH_FILES_MAX_CITATION_EXCERPT_CHARS = 2000, AiSearchFilesConfigSchema, AiSearchFilesCitationSchema, AiSearchFilesOutputSchema, AiSplitConfigSchema, AiSplitSectionSchema, AiSplitOutputSchema, AiSegmentConfigSchema, AiSegmentOutputSchema, AiClassifyConfigSchema, AiClassifyOutputSchema, ClassifyPagesLabelSchema2, AiClassifyPagesConfigSchema, AiClassifyPagesOutputSchema, TransformSetConfigSchema, TransformSetOutputSchema, TransformRemoveConfigSchema, TransformRemoveOutputSchema, TransformCombineConfigSchema, TransformCombineOutputSchema, TransformSplitConfigSchema, TransformSplitOutputSchema, TransformMergeConfigSchema, TransformMergeOutputSchema, TransformTemplateConfigSchema, TransformTemplateOutputSchema, TransformPdfEmbedConfigSchema, TransformPdfEmbedOutputSchema, TransformXlsxToJsonConfigSchema, TransformXlsxToJsonOutputSchema, JsonToXlsxAuthoringRowsSchema, JsonToXlsxSheetConfigSchema, TransformJsonToXlsxConfigSchema, TransformJsonToXlsxOutputSchema, ARCHIVE_LIST_MAX_ENTRIES = 1e4, TransformArchiveListConfigSchema, TransformArchiveListEntrySchema, TransformArchiveListOutputSchema, TransformArchiveExtractConfigSchema, TransformArchiveExtractOutputSchema, TransformScriptConfigSchema, TransformScriptOutputSchema, ParsedDocPageSchema, TransformTextChunkerConfigSchema, TransformTextChunkerOutputSchema, RegexNormalizerSchema, RegexFormatSchema, REGEX_FLAGS, RegexFieldSchema, TransformRegexExtractConfigSchema, TransformRegexExtractOutputSchema, ActionHttpConfigSchema, ActionHttpOutputSchema, ActionInvokeWorkflowConfigSchema, ActionInvokeWorkflowOutputSchema, ActionWebsiteReaderConfigSchema, ActionWebsiteReaderOutputSchema, ACTION_EMAIL_MAX_ATTACHMENTS = 10, ACTION_EMAIL_MAX_ATTACHMENT_BYTES, ACTION_EMAIL_BODY_MAX_BYTES, emailBodyMaxBytes = (value) => new TextEncoder().encode(value).byteLength <= ACTION_EMAIL_BODY_MAX_BYTES, ActionEmailRecipientListSchema, ActionEmailToSchema, ActionEmailOptionalRecipientsSchema, ActionEmailAttachmentSchema, ActionEmailConfigSchema, ActionEmailOutputSchema, ControlIfConfigSchema, ControlIfOutputSchema, ControlSwitchConfigSchema, ControlSwitchOutputSchema, ControlForeachConfigSchema, ControlForeachOutputSchema, ControlParallelMapConfigSchema, ControlParallelMapOutputSchema, ControlParallelConfigSchema, ControlParallelOutputSchema, ControlWaitConfigSchema, ControlWaitOutputSchema, ControlHumanReviewConfigSchema, ControlHumanReviewOutputSchema, ControlFailConfigSchema, ControlFailOutputSchema, STEP_SCHEMAS;
53841
53843
  var init_step_configs = __esm(() => {
53842
53844
  init_zod();
53843
53845
  init_ai_client();
@@ -53871,6 +53873,34 @@ var init_step_configs = __esm(() => {
53871
53873
  figureInstructions: string2().optional().describe('Custom instruction for the figure-description pass, e.g. "Describe each figure; label a handwritten signature as `<figure>signature</figure>` and a stamp as `<figure>stamp</figure>`; for property photos note the room or exterior shown." Applied only when describeFigures runs.')
53872
53874
  }).superRefine(refineNativeParseModeConflicts).superRefine(refineLayoutOutputFormat);
53873
53875
  AiParseOutputSchema = ParseResultSchema.omit({ rawResponse: true });
53876
+ AiFigureCropsConfigSchema = object({
53877
+ input: string2().describe("Storage reference or template expression for the source PDF"),
53878
+ parseOutput: unknown().describe("ai.parse output object (template {{steps.<parse>.output}}); figure elements are read from its `elements` array"),
53879
+ model: string2().optional().describe("Vision model for captions (defaults to workspace model)"),
53880
+ figureInstructions: string2().optional().describe("Custom caption instruction; applied per figure crop"),
53881
+ maxFigures: number2().int().min(1).max(100).default(40).optional().describe("Cap on figures processed per document"),
53882
+ minAreaFrac: number2().min(0).max(1).default(0).optional().describe("Skip figures below this page-area fraction (logos/decorations)"),
53883
+ includeCrops: boolean2().default(false).optional().describe("Include base64 JPEG crops in output (heavy; default off — captions + bboxes only)"),
53884
+ renderScale: number2().min(1).max(4).default(1).optional().describe("Scale factor for rendering PDF pages before cropping"),
53885
+ imageQuality: number2().int().min(1).max(100).default(85).optional().describe("JPEG quality for crops"),
53886
+ llmReasoningEffort: OptionalReasoningEffortSchema
53887
+ });
53888
+ AiFigureCropsFigureSchema = object({
53889
+ id: string2(),
53890
+ page: number2(),
53891
+ bboxNorm: tuple([number2(), number2(), number2(), number2()]).nullable(),
53892
+ areaFrac: number2(),
53893
+ caption: string2().nullable(),
53894
+ cropJpegBase64: string2().optional()
53895
+ });
53896
+ AiFigureCropsOutputSchema = object({
53897
+ figures: array(AiFigureCropsFigureSchema),
53898
+ _figureCrops: object({
53899
+ pages: array(number2()),
53900
+ model: string2().optional(),
53901
+ skippedSmall: number2()
53902
+ })
53903
+ });
53874
53904
  AiExtractConfigSchema = object({
53875
53905
  input: string2().describe("Text content or template expression"),
53876
53906
  schema: object({
@@ -54596,6 +54626,15 @@ var init_step_configs = __esm(() => {
54596
54626
  outputSchema: AiSearchFilesOutputSchema,
54597
54627
  configInWith: true
54598
54628
  },
54629
+ "ai.figure-crops": {
54630
+ type: "ai.figure-crops",
54631
+ category: "ai",
54632
+ name: "Figure Crops",
54633
+ description: "Crop and caption figure elements from a parsed PDF. Renders the source document, crops each kind=figure bbox from ai.parse output, and describes the crop with a vision model. Output is captions plus normalized bboxes for evidence viewers.",
54634
+ configSchema: AiFigureCropsConfigSchema,
54635
+ outputSchema: AiFigureCropsOutputSchema,
54636
+ configInWith: true
54637
+ },
54599
54638
  "transform.set": {
54600
54639
  type: "transform.set",
54601
54640
  category: "transform",
@@ -206278,7 +206317,7 @@ import { fileURLToPath as fileURLToPath8 } from "url";
206278
206317
  // package.json
206279
206318
  var package_default = {
206280
206319
  name: "@eigenpal/cli",
206281
- version: "0.17.3",
206320
+ version: "0.17.5",
206282
206321
  description: "Eigenpal CLI — author and run document workflows from your terminal. Agent-ready.",
206283
206322
  keywords: [
206284
206323
  "eigenpal",