@eigenpal/cli 0.20.40 → 0.20.41
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/cli.js +104 -69
- package/dist/docs-bundle.json +28 -14
- package/dist/skill/reference/step-types.md +155 -4
- package/dist/skill/reference/workflow-yaml.md +3 -2
- package/package.json +2 -2
|
@@ -317,7 +317,7 @@ the combined shape:
|
|
|
317
317
|
```yaml
|
|
318
318
|
steps:
|
|
319
319
|
- name: parse
|
|
320
|
-
type: ai.parse
|
|
320
|
+
type: ai.parse-v2
|
|
321
321
|
with: { ... }
|
|
322
322
|
- name: extract
|
|
323
323
|
type: ai.extract
|
|
@@ -434,7 +434,7 @@ process.
|
|
|
434
434
|
|
|
435
435
|
```yaml
|
|
436
436
|
- name: parse
|
|
437
|
-
type: ai.parse
|
|
437
|
+
type: ai.parse-v2
|
|
438
438
|
with:
|
|
439
439
|
input: '{{ input.document }}'
|
|
440
440
|
|
|
@@ -1726,9 +1726,9 @@ Output schema:
|
|
|
1726
1726
|
```
|
|
1727
1727
|
|
|
1728
1728
|
|
|
1729
|
-
#### `ai.parse` — Parse Document
|
|
1729
|
+
#### `ai.parse` — Parse Document v1
|
|
1730
1730
|
|
|
1731
|
-
|
|
1731
|
+
Parse Document v1, the retired parser, kept only so existing workflows run unchanged. Do not add it to workflows: use ai.parse-v2 (Parse Document), which picks native text, OCR or vision per page.
|
|
1732
1732
|
|
|
1733
1733
|
**Behavior and examples:** `eigenpal docs read steps/ai/parse`
|
|
1734
1734
|
|
|
@@ -6992,6 +6992,157 @@ Output schema:
|
|
|
6992
6992
|
```
|
|
6993
6993
|
|
|
6994
6994
|
|
|
6995
|
+
#### `transform.merge-documents` — Merge Documents
|
|
6996
|
+
|
|
6997
|
+
Concatenate several files into one PDF run output, in order. Accepts PDFs, images (multi-page TIFF included) and Word, PowerPoint, OpenDocument or RTF documents. Use it when one logical document arrives as several uploads: pass {{ steps.merge.output.file }} into Parse so page labels, page ranges and vision page indices stay continuous across every source. Output sources[] maps each input file to its merged page range.
|
|
6998
|
+
|
|
6999
|
+
**Behavior and examples:** `eigenpal docs read steps/transform/merge-documents`
|
|
7000
|
+
|
|
7001
|
+
**Durable retry:** Transforms, including those that write files, are not durably retried.
|
|
7002
|
+
|
|
7003
|
+
**Config** (in `step.with`):
|
|
7004
|
+
|
|
7005
|
+
| Field | Type | Required | Default | Description |
|
|
7006
|
+
| --- | --- | --- | --- | --- |
|
|
7007
|
+
| `files` | string | yes | | Template expression resolving to the files to merge, in order: a file list input such as {{ input.documents }}, or a single file. PDF, images (JPEG, PNG, TIFF, WebP, GIF) and Word, PowerPoint, OpenDocument or RTF documents. |
|
|
7008
|
+
| `filename` | string | no | | Filename of the merged PDF. Defaults to merged.pdf; .pdf is appended when missing. |
|
|
7009
|
+
|
|
7010
|
+
**Output:** `object`
|
|
7011
|
+
|
|
7012
|
+
| Field | Type | Required | Default | Description |
|
|
7013
|
+
| --- | --- | --- | --- | --- |
|
|
7014
|
+
| `file` | object | yes | | The merged PDF. Pass {{ steps.<step>.output.file }} to Parse, Vision or any other file input. |
|
|
7015
|
+
| `pageCount` | integer | yes | | Total pages in the merged PDF |
|
|
7016
|
+
| `sources` | array<object> | yes | | One entry per input file, in merge order, with the merged page range it occupies. Use it to map a merged page index back to its source file. |
|
|
7017
|
+
|
|
7018
|
+
##### Complete machine-readable schemas
|
|
7019
|
+
|
|
7020
|
+
Config schema:
|
|
7021
|
+
|
|
7022
|
+
```json
|
|
7023
|
+
{
|
|
7024
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
7025
|
+
"type": "object",
|
|
7026
|
+
"properties": {
|
|
7027
|
+
"files": {
|
|
7028
|
+
"type": "string",
|
|
7029
|
+
"minLength": 1,
|
|
7030
|
+
"description": "Template expression resolving to the files to merge, in order: a file list input such as {{ input.documents }}, or a single file. PDF, images (JPEG, PNG, TIFF, WebP, GIF) and Word, PowerPoint, OpenDocument or RTF documents."
|
|
7031
|
+
},
|
|
7032
|
+
"filename": {
|
|
7033
|
+
"description": "Filename of the merged PDF. Defaults to merged.pdf; .pdf is appended when missing.",
|
|
7034
|
+
"type": "string"
|
|
7035
|
+
}
|
|
7036
|
+
},
|
|
7037
|
+
"required": [
|
|
7038
|
+
"files"
|
|
7039
|
+
],
|
|
7040
|
+
"additionalProperties": false
|
|
7041
|
+
}
|
|
7042
|
+
```
|
|
7043
|
+
|
|
7044
|
+
|
|
7045
|
+
Output schema:
|
|
7046
|
+
|
|
7047
|
+
```json
|
|
7048
|
+
{
|
|
7049
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
7050
|
+
"type": "object",
|
|
7051
|
+
"properties": {
|
|
7052
|
+
"file": {
|
|
7053
|
+
"type": "object",
|
|
7054
|
+
"properties": {
|
|
7055
|
+
"fileId": {
|
|
7056
|
+
"type": "string",
|
|
7057
|
+
"description": "File ID of the merged PDF"
|
|
7058
|
+
},
|
|
7059
|
+
"filename": {
|
|
7060
|
+
"type": "string",
|
|
7061
|
+
"description": "Filename of the merged PDF"
|
|
7062
|
+
},
|
|
7063
|
+
"mimeType": {
|
|
7064
|
+
"type": "string",
|
|
7065
|
+
"description": "Always application/pdf"
|
|
7066
|
+
},
|
|
7067
|
+
"size": {
|
|
7068
|
+
"type": "integer",
|
|
7069
|
+
"minimum": 0,
|
|
7070
|
+
"maximum": 9007199254740991,
|
|
7071
|
+
"description": "Size of the merged PDF in bytes"
|
|
7072
|
+
}
|
|
7073
|
+
},
|
|
7074
|
+
"required": [
|
|
7075
|
+
"fileId",
|
|
7076
|
+
"filename",
|
|
7077
|
+
"mimeType",
|
|
7078
|
+
"size"
|
|
7079
|
+
],
|
|
7080
|
+
"additionalProperties": false,
|
|
7081
|
+
"description": "The merged PDF. Pass {{ steps.<step>.output.file }} to Parse, Vision or any other file input."
|
|
7082
|
+
},
|
|
7083
|
+
"pageCount": {
|
|
7084
|
+
"type": "integer",
|
|
7085
|
+
"minimum": 0,
|
|
7086
|
+
"maximum": 9007199254740991,
|
|
7087
|
+
"description": "Total pages in the merged PDF"
|
|
7088
|
+
},
|
|
7089
|
+
"sources": {
|
|
7090
|
+
"type": "array",
|
|
7091
|
+
"items": {
|
|
7092
|
+
"type": "object",
|
|
7093
|
+
"properties": {
|
|
7094
|
+
"filename": {
|
|
7095
|
+
"type": "string",
|
|
7096
|
+
"description": "Filename of the source file"
|
|
7097
|
+
},
|
|
7098
|
+
"mimeType": {
|
|
7099
|
+
"type": "string",
|
|
7100
|
+
"description": "MIME type of the source file"
|
|
7101
|
+
},
|
|
7102
|
+
"pageCount": {
|
|
7103
|
+
"type": "integer",
|
|
7104
|
+
"minimum": 0,
|
|
7105
|
+
"maximum": 9007199254740991,
|
|
7106
|
+
"description": "Pages this source contributed"
|
|
7107
|
+
},
|
|
7108
|
+
"pageRange": {
|
|
7109
|
+
"type": "array",
|
|
7110
|
+
"items": [
|
|
7111
|
+
{
|
|
7112
|
+
"type": "integer",
|
|
7113
|
+
"minimum": -9007199254740991,
|
|
7114
|
+
"maximum": 9007199254740991
|
|
7115
|
+
},
|
|
7116
|
+
{
|
|
7117
|
+
"type": "integer",
|
|
7118
|
+
"minimum": -9007199254740991,
|
|
7119
|
+
"maximum": 9007199254740991
|
|
7120
|
+
}
|
|
7121
|
+
],
|
|
7122
|
+
"description": "[startIndex, endIndex] inclusive, 0-based page indices in the merged PDF"
|
|
7123
|
+
}
|
|
7124
|
+
},
|
|
7125
|
+
"required": [
|
|
7126
|
+
"filename",
|
|
7127
|
+
"mimeType",
|
|
7128
|
+
"pageCount",
|
|
7129
|
+
"pageRange"
|
|
7130
|
+
],
|
|
7131
|
+
"additionalProperties": false
|
|
7132
|
+
},
|
|
7133
|
+
"description": "One entry per input file, in merge order, with the merged page range it occupies. Use it to map a merged page index back to its source file."
|
|
7134
|
+
}
|
|
7135
|
+
},
|
|
7136
|
+
"required": [
|
|
7137
|
+
"file",
|
|
7138
|
+
"pageCount",
|
|
7139
|
+
"sources"
|
|
7140
|
+
],
|
|
7141
|
+
"additionalProperties": false
|
|
7142
|
+
}
|
|
7143
|
+
```
|
|
7144
|
+
|
|
7145
|
+
|
|
6995
7146
|
### Action steps — external side effects
|
|
6996
7147
|
|
|
6997
7148
|
#### `action.http` — HTTP Request
|
|
@@ -377,7 +377,7 @@ Description-writing tips (mirrors Reducto's guidance):
|
|
|
377
377
|
|
|
378
378
|
```yaml
|
|
379
379
|
- name: parse
|
|
380
|
-
type: ai.parse
|
|
380
|
+
type: ai.parse-v2
|
|
381
381
|
with:
|
|
382
382
|
input: '{{ input.document }}'
|
|
383
383
|
|
|
@@ -1122,7 +1122,8 @@ This JSON Schema is generated from the same Zod schema used to parse workflow YA
|
|
|
1122
1122
|
"transform.text-chunker",
|
|
1123
1123
|
"transform.regex-extract",
|
|
1124
1124
|
"transform.archive-list",
|
|
1125
|
-
"transform.archive-extract"
|
|
1125
|
+
"transform.archive-extract",
|
|
1126
|
+
"transform.merge-documents"
|
|
1126
1127
|
]
|
|
1127
1128
|
},
|
|
1128
1129
|
"name": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eigenpal/cli",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.41",
|
|
4
4
|
"description": "Eigenpal CLI — author and run document workflows from your terminal. Agent-ready.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eigenpal",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"generate:cli-docs:check": "bun scripts/generate-cli-docs.ts --check",
|
|
51
51
|
"generate:logo": "bun scripts/render-logo-ascii.ts --cells 20",
|
|
52
52
|
"test": "bun test src/ scripts/",
|
|
53
|
-
"typecheck": "
|
|
53
|
+
"typecheck": "bun check"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {},
|
|
56
56
|
"devDependencies": {
|