@docusign/cli 1.0.1-rc → 1.2.0-rc

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.
@@ -403,7 +403,7 @@ I need values for <N> documents. Which fields do you want to populate?
403
403
  (Tip: you don't need to fill all columns — just what matters for your use case)
404
404
 
405
405
  Common metadata fields to fill:
406
- • Salesforce ID (or other external system ID)
406
+ • Salesforce or other external-system linked records
407
407
  • Any fields that can't be AI-extracted from the document content
408
408
 
409
409
  Options:
@@ -417,6 +417,15 @@ Options:
417
417
  Which approach?
418
418
  ```
419
419
 
420
+ For linked external records, use the exact `linked_data` column generated after `Filename`. Put the complete API array in one cell; do not create indexed columns such as `linked_data[0]` or `linked_data[0].application_name`. Leave the cell blank when the document has no linked records.
421
+
422
+ ```csv
423
+ Filename,linked_data
424
+ agreement.pdf,"[{""application_name"":""Salesforce"",""object_name"":""Opportunity"",""record_id"":""006xx000001abc""}]"
425
+ ```
426
+
427
+ Multiple linked records belong in the same JSON array. Preserve the exact snake_case property names `application_name`, `object_name`, and `record_id`.
428
+
420
429
  **If A — inline collection:**
421
430
 
422
431
  ```
@@ -424,7 +433,9 @@ Enter values for each document.
424
433
  Format: one line per field, or a full row, or a paste from a spreadsheet.
425
434
 
426
435
  film_deal_001.html
427
- Salesforce ID : _______________
436
+ Linked application name : _______________
437
+ Linked object name : _______________
438
+ Linked record ID : _______________
428
439
  [other fields the user chose]
429
440
 
430
441
  film_deal_002.html
@@ -188,12 +188,23 @@ ds agm ingest --directory ./agreement-manager/files/test --recursive -y
188
188
 
189
189
  # Preview
190
190
  ds agm ingest --directory ./agreement-manager/files/test --dry-run
191
+
192
+ # Generate and then ingest with metadata
193
+ ds agm ingest --directory ./agreement-manager/files/test --generate-metadata-template
194
+ ds agm ingest --directory ./agreement-manager/files/test --with-metadata -y
191
195
  ```
192
196
 
193
197
  **Supported formats:** PDF, DOCX, DOC, HTML, XLSX, XLS, XLSB, PPTX, PPT, PPSX, RTF, JPG, PNG, TIF
194
198
 
195
199
  Tracked in `agreement-manager/files/tracking.json` to prevent duplicate ingestion.
196
200
 
201
+ The generated `agreement-manager/metadata/metadata.csv` includes an optional `linked_data` column. Enter the complete Agreement Manager API array as JSON in that cell; do not use indexed headers such as `linked_data[0]`:
202
+
203
+ ```csv
204
+ Filename,linked_data
205
+ agreement.pdf,"[{""application_name"":""Salesforce"",""object_name"":""Opportunity"",""record_id"":""006xx000001abc""}]"
206
+ ```
207
+
197
208
  ---
198
209
 
199
210
  ## Step 7: Generate Test Template
@@ -15,6 +15,8 @@ ds agm get catalog # Fetch standard types/fi
15
15
  ds agm validate # Validate manifest
16
16
  ds agm upload [-y|--dry-run] # Deploy manifest
17
17
  ds agm ingest --directory <path> [-y|--dry-run] # Ingest documents
18
+ ds agm ingest --directory <path> --generate-metadata-template # Create metadata.csv
19
+ ds agm ingest --directory <path> --with-metadata -y # Validate and ingest metadata
18
20
  ds agm test generate-test-template [-y] [--prefill-extractions] # Create test CSV
19
21
  ds agm test run [-y] [--partial-match] # Run extraction tests
20
22
  ```
@@ -33,6 +35,7 @@ ds agm test run [-y] [--partial-match] # Run extraction tests
33
35
  │ ├── tracking.json # Ingestion tracker
34
36
  │ ├── standard-catalog.json # After 'get catalog'
35
37
  │ └── custom-catalog.json
38
+ ├── metadata/metadata.csv # Optional ingest metadata
36
39
  ├── tests/testing.csv # Test expectations
37
40
  └── output/ # Test results
38
41
  ```
@@ -53,6 +56,17 @@ To drive the full Agreement Manager lifecycle interactively, invoke the `ds-agm-
53
56
  8. Fill expected values in `agreement-manager/tests/testing.csv`
54
57
  9. `ds agm test run -y`
55
58
 
59
+ ## Linked Data Metadata
60
+
61
+ The generated `agreement-manager/metadata/metadata.csv` includes the exact reserved column `linked_data`. Put the complete API array in one CSV cell and leave it blank when no linked records apply:
62
+
63
+ ```csv
64
+ Filename,linked_data
65
+ agreement.pdf,"[{""application_name"":""Salesforce"",""object_name"":""Opportunity"",""record_id"":""006xx000001abc""}]"
66
+ ```
67
+
68
+ Do not use indexed columns such as `linked_data[0]` or `linked_data[0].application_name`. Multiple linked records belong in the same array. Use the exact snake_case keys `application_name`, `object_name`, and `record_id`.
69
+
56
70
  ## Manifest Rules
57
71
 
58
72
  **Custom field `key`** must start with `C_` (e.g., `C_TerminationDate`). Use `displayName` for human-readable name. Add `aiDefinition` when `customExtractionEnabled: true`.
@@ -0,0 +1,25 @@
1
+ # Package Feature
2
+
3
+ This directory contains files for managing DocuSign packages in this project.
4
+
5
+ ## Directory Structure
6
+
7
+ - **files/**: Package content files to include in your packages
8
+
9
+ ## Getting Started
10
+
11
+ ### Create a package
12
+
13
+ ```bash
14
+ ds package create --name=my-package
15
+ ```
16
+
17
+ ### Get help
18
+
19
+ ```bash
20
+ ds package -h
21
+ ```
22
+
23
+ ## About Packages
24
+
25
+ Packages allow you to bundle and distribute your DocuSign configurations and assets. Each package has a unique ID assigned by the server. Names do not need to be unique — use descriptive names to identify packages by purpose.
@@ -0,0 +1,59 @@
1
+ # Packages Feature
2
+
3
+ This directory contains the Packages feature for managing and distributing packages.
4
+
5
+ ## Directory Structure
6
+
7
+ ```
8
+ packages/
9
+ ├── configs/ # Package configuration files
10
+ ├── files/
11
+ │ ├── train/ # Training/example package files
12
+ │ └── test/ # Test package files
13
+ ├── tests/ # Package tests and validation scripts
14
+ └── README.md
15
+ ```
16
+
17
+ ## Getting Started
18
+
19
+ ### 1. Configure Your Packages
20
+
21
+ Create package configuration files in `configs/`. These define:
22
+
23
+ - Package metadata (name, version, description)
24
+ - Package dependencies
25
+ - Package contents and structure
26
+ - Distribution settings
27
+
28
+ ### 2. Add Package Files
29
+
30
+ Organize your package files in `files/`:
31
+
32
+ - **files/train/**: Example or template package files
33
+ - **files/test/**: Test packages for validation
34
+
35
+ ### 3. Define Tests
36
+
37
+ Add test scripts and validation rules to `tests/` to ensure package quality and correctness.
38
+
39
+ ## Workflow
40
+
41
+ 1. **Create** package configurations in `configs/`
42
+ 2. **Organize** package files in `files/`
43
+ 3. **Define** validation tests in `tests/`
44
+ 4. **Validate** packages using the appropriate commands
45
+ 5. **Distribute** packages as needed
46
+
47
+ ## Tips
48
+
49
+ - Keep package configurations modular and reusable
50
+ - Use semantic versioning for package versions
51
+ - Include clear documentation in package metadata
52
+ - Test packages thoroughly before distribution
53
+ - Version control your configurations for tracking changes
54
+
55
+ ## Next Steps
56
+
57
+ - Configure your first package in `configs/`
58
+ - Add example files to `files/train/`
59
+ - Create validation tests in `tests/`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusign/cli",
3
- "version": "1.0.1-rc",
3
+ "version": "1.2.0-rc",
4
4
  "author": "Docusign",
5
5
  "description": "The Docusign CLI simplifies the implementation of Docusign Agreement Manager. With this CLI, you can bulk configure Agreement Manager with custom fields and types, map fields to types, provide AI training sets for custom extractions, programmatically test extraction accuracy, and export/import your setup across accounts. This offering is currently in beta.",
6
6
  "main": "dist/index.mjs",