@docusign/cli 1.0.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.
@@ -0,0 +1,331 @@
1
+ ---
2
+ name: ds-agreement-manager-workflow
3
+ description: Full Docusign Agreement Manager workflow guide — scaffold, auth, manifest, validate, upload, ingest, and test. Use when starting a new Agreement Manager project or asking how to set up AI document extraction with Docusign Agreement Manager.
4
+ ---
5
+
6
+ # Docusign Agreement Manager Workflow
7
+
8
+ Complete step-by-step guide for setting up AI-powered document extraction with Docusign Agreement Manager.
9
+
10
+ ## Quick Reference
11
+
12
+ ```bash
13
+ ds auth login -e demo # 1. Authenticate
14
+ ds agm get catalog # 2. Fetch standard catalog
15
+ # Edit agreement-manager/configs/agreement-manager-manifest.json # 3. Define types/fields
16
+ ds agm validate # 4. Validate manifest
17
+ ds agm upload -y # 5. Upload to platform
18
+ ds agm ingest --directory ./agreement-manager/files/test -y # 6. Ingest documents
19
+ ds agm test generate-test-template -y # 7. Generate test CSV
20
+ ds agm test run -y # 8. Run tests
21
+ ```
22
+
23
+ ---
24
+
25
+ ## Step 1: Authenticate
26
+
27
+ ```bash
28
+ ds auth login -e <environment>
29
+ ```
30
+
31
+ **Environments:** `demo`, `production`
32
+
33
+ Verify: `ds auth test`
34
+
35
+ ---
36
+
37
+ ## Step 2: Fetch Standard Catalog
38
+
39
+ Download standard agreement types and fields available in your account:
40
+
41
+ ```bash
42
+ ds agm get catalog
43
+ ```
44
+
45
+ Creates in `agreement-manager/files/`:
46
+
47
+ - `standard-catalog.json` — standard agreement types and fields
48
+ - `custom-catalog.json` — existing custom types in your account
49
+
50
+ Use these to reference standard field names and avoid naming conflicts.
51
+
52
+ ---
53
+
54
+ ## Step 3: Define Your Manifest
55
+
56
+ **Location:** `agreement-manager/configs/agreement-manager-manifest.json`
57
+
58
+ ### Custom Fields
59
+
60
+ ```json
61
+ {
62
+ "key": "C_TerminationDate",
63
+ "displayName": "Termination Date",
64
+ "aiDefinition": "The date on which this agreement or contract is terminated or expires.",
65
+ "category": "TerminationCategory",
66
+ "fieldType": "DateTime",
67
+ "customExtractionEnabled": true,
68
+ "examples": {
69
+ "en": [
70
+ { "exampleText": "This agreement shall terminate on December 31, 2025", "confirmedValue": "2025-12-31" },
71
+ { "exampleText": "Termination effective as of January 15, 2026", "confirmedValue": "2026-01-15" }
72
+ ]
73
+ }
74
+ }
75
+ ```
76
+
77
+ **Field rules:**
78
+
79
+ - `key` must start with `C_` (e.g., `C_TerminationDate`)
80
+ - `displayName` is the human-readable display name (referenced in agreement types)
81
+ - `aiDefinition` describes what the field represents — required when `customExtractionEnabled: true`
82
+ - `fieldType`: `String`, `Number`, `DateTime`, or `Dropdown`
83
+ - `examples` required when `customExtractionEnabled: true` (3+ recommended)
84
+
85
+ **Field categories:** `FinancialCategory`, `GeneralCategory`, `HumanResourcesCategory`, `LegalAndComplianceCategory`, `LifecycleCategory`, `PaymentCategory`, `RenewalCategory`, `TerminationCategory`, `OtherCategory`
86
+
87
+ ### Dropdown Fields
88
+
89
+ ```json
90
+ {
91
+ "key": "C_TerminationReason",
92
+ "displayName": "Termination Reason",
93
+ "aiDefinition": "The reason why this agreement is being terminated.",
94
+ "fieldType": "Dropdown",
95
+ "customExtractionEnabled": true,
96
+ "dropdownOptions": [{ "name": "Performance Issues" }, { "name": "Cost Reduction" }, { "name": "Mutual Agreement" }, { "name": "Other" }],
97
+ "examples": {
98
+ "en": [{ "exampleText": "Due to repeated quality failures", "confirmedValue": "Performance Issues" }]
99
+ }
100
+ }
101
+ ```
102
+
103
+ ### Custom Agreement Types
104
+
105
+ ```json
106
+ {
107
+ "key": "C_SupplierTermination",
108
+ "displayName": "Supplier Termination Letter",
109
+ "aiDefinition": "A letter formally terminating a supplier agreement or vendor contract.",
110
+ "category": "BusinessServices",
111
+ "customExtractionEnabled": true,
112
+ "fields": {
113
+ "additionalStandardFields": ["Effective Date", "Company Name"],
114
+ "customFields": ["Termination Date", "Termination Reason"]
115
+ },
116
+ "docs": ["supplier-term-001.pdf", "supplier-term-002.pdf"]
117
+ }
118
+ ```
119
+
120
+ **Agreement type rules:**
121
+
122
+ - `key` must start with `C_`
123
+ - `displayName` is the human-readable name
124
+ - `aiDefinition` describes the document type — required when `customExtractionEnabled: true`
125
+ - `category`: `BusinessServices`, `HumanResources`, `Miscellaneous`, `OtherDocuments`
126
+ - `customFields` references fields by `displayName`, not `key`
127
+ - `additionalStandardFields` uses the display name from the standard catalog
128
+ - `docs` are filenames only (not paths) — files must be in `agreement-manager/files/train/`
129
+
130
+ ### Extending Standard Agreement Types
131
+
132
+ ```json
133
+ {
134
+ "key": "ConsultingDocumentData",
135
+ "displayName": "Consulting Agreement",
136
+ "fields": {
137
+ "additionalStandardFields": ["Payment Terms"],
138
+ "customFields": ["Project Code", "Hourly Rate"]
139
+ }
140
+ }
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Step 4: Validate
146
+
147
+ ```bash
148
+ ds agm validate
149
+ ```
150
+
151
+ | Error | Cause | Fix |
152
+ | ----------------- | -------------------------------------------------------------------- | ---------------------------------- |
153
+ | name format | Missing `C_` prefix | Add `C_` to custom field/type keys |
154
+ | duplicate | Same `displayName` used twice | Rename one |
155
+ | unreferenced | Field not used by any type | Add to a type or remove it |
156
+ | unknown field | Type references undefined field `displayName` | Check displayName spelling |
157
+ | standard conflict | `displayName` conflicts with standard | Choose a different displayName |
158
+ | AI constraint | `customExtractionEnabled: true` but missing examples or aiDefinition | Add both |
159
+ | dropdown mismatch | confirmedValue not in dropdownOptions | Use exact option name |
160
+
161
+ ---
162
+
163
+ ## Step 5: Upload
164
+
165
+ ```bash
166
+ # Preview changes first
167
+ ds agm upload --dry-run
168
+
169
+ # Deploy to account
170
+ ds agm upload -y
171
+ ```
172
+
173
+ Upload is idempotent — re-uploading the same manifest is safe.
174
+
175
+ ---
176
+
177
+ ## Step 6: Ingest Documents
178
+
179
+ ```bash
180
+ # Single file
181
+ ds agm ingest --files ./agreement-manager/files/test/agreement.pdf -y
182
+
183
+ # Directory
184
+ ds agm ingest --directory ./agreement-manager/files/test -y
185
+
186
+ # Recursive (includes subdirectories)
187
+ ds agm ingest --directory ./agreement-manager/files/test --recursive -y
188
+
189
+ # Preview
190
+ ds agm ingest --directory ./agreement-manager/files/test --dry-run
191
+ ```
192
+
193
+ **Supported formats:** PDF, DOCX, DOC, HTML, XLSX, XLS, XLSB, PPTX, PPT, PPSX, RTF, JPG, PNG, TIF
194
+
195
+ Tracked in `agreement-manager/files/tracking.json` to prevent duplicate ingestion.
196
+
197
+ ---
198
+
199
+ ## Step 7: Generate Test Template
200
+
201
+ ```bash
202
+ # Basic template
203
+ ds agm test generate-test-template -y
204
+
205
+ # Pre-fill with AI extractions from ingested documents
206
+ ds agm test generate-test-template -y --prefill-extractions
207
+ ```
208
+
209
+ Output: `agreement-manager/tests/testing.csv`
210
+
211
+ The CSV has one row per ingested document and one column per field. Fill in your expected values to define what "correct" extraction looks like.
212
+
213
+ For AI-assisted filling, use the `/ds-testing` skill.
214
+
215
+ ---
216
+
217
+ ## Step 8: Run Extraction Tests
218
+
219
+ ```bash
220
+ # Exact match
221
+ ds agm test run -y
222
+
223
+ # Partial match (more lenient — good for long text fields)
224
+ ds agm test run -y --partial-match
225
+ ```
226
+
227
+ **Output:**
228
+
229
+ - `agreement-manager/output/{timestamp}-field-test-results.csv` — field-level accuracy
230
+ - `agreement-manager/output/{timestamp}-agreement-type-test-results.csv` — type classification accuracy
231
+
232
+ ---
233
+
234
+ ## Example: Complete Manifest
235
+
236
+ ```json
237
+ {
238
+ "version": "1.0.0",
239
+ "defaultLocale": "en",
240
+ "namespace": "com.acme.supplier-management@1.0.0",
241
+ "standardAgreementTypes": [],
242
+ "customAgreementTypes": [
243
+ {
244
+ "key": "C_SupplierTermination",
245
+ "displayName": "Supplier Termination Letter",
246
+ "aiDefinition": "A letter formally terminating a supplier agreement or vendor contract.",
247
+ "category": "BusinessServices",
248
+ "customExtractionEnabled": true,
249
+ "fields": {
250
+ "additionalStandardFields": ["Effective Date", "Company Name"],
251
+ "customFields": ["Termination Date", "Termination Reason", "Notice Period Days"]
252
+ },
253
+ "docs": ["supplier-term-001.pdf", "supplier-term-002.pdf"]
254
+ }
255
+ ],
256
+ "fields": [
257
+ {
258
+ "key": "C_TerminationDate",
259
+ "displayName": "Termination Date",
260
+ "aiDefinition": "The date on which this agreement or contract is terminated or expires.",
261
+ "category": "TerminationCategory",
262
+ "fieldType": "DateTime",
263
+ "customExtractionEnabled": true,
264
+ "examples": {
265
+ "en": [
266
+ { "exampleText": "This agreement shall terminate on December 31, 2025", "confirmedValue": "2025-12-31" },
267
+ { "exampleText": "Termination effective as of January 15, 2026", "confirmedValue": "2026-01-15" },
268
+ { "exampleText": "termination is effective immediately as of the date of this agreement", "confirmedValue": "2025-08-20" }
269
+ ]
270
+ }
271
+ },
272
+ {
273
+ "key": "C_TerminationReason",
274
+ "displayName": "Termination Reason",
275
+ "aiDefinition": "The reason why this agreement is being terminated.",
276
+ "category": "TerminationCategory",
277
+ "fieldType": "Dropdown",
278
+ "customExtractionEnabled": true,
279
+ "dropdownOptions": [
280
+ { "name": "Performance Issues" },
281
+ { "name": "Cost Reduction" },
282
+ { "name": "Contract Expiration" },
283
+ { "name": "Mutual Agreement" },
284
+ { "name": "Convenience" },
285
+ { "name": "Other" }
286
+ ],
287
+ "examples": {
288
+ "en": [
289
+ { "exampleText": "Due to consistent quality issues with delivered components", "confirmedValue": "Performance Issues" },
290
+ { "exampleText": "Pursuant to Section 4.2a, termination is effective immediately", "confirmedValue": "Convenience" }
291
+ ]
292
+ }
293
+ },
294
+ {
295
+ "key": "C_NoticePeriodDays",
296
+ "displayName": "Notice Period Days",
297
+ "aiDefinition": "The number of days of advance notice required before termination takes effect.",
298
+ "category": "TerminationCategory",
299
+ "fieldType": "Number",
300
+ "customExtractionEnabled": true,
301
+ "examples": {
302
+ "en": [
303
+ { "exampleText": "with 30 days written notice as required by the agreement", "confirmedValue": "30" },
304
+ { "exampleText": "effective immediately (0 days notice)", "confirmedValue": "0" }
305
+ ]
306
+ }
307
+ }
308
+ ],
309
+ "metadata": {
310
+ "createdAt": "2025-01-01T00:00:00Z",
311
+ "updatedAt": "2025-01-01T00:00:00Z",
312
+ "version": "1.0.0",
313
+ "author": "Your Name",
314
+ "description": "Supplier termination letter extraction",
315
+ "tags": [],
316
+ "lastManifestHash": ""
317
+ }
318
+ }
319
+ ```
320
+
321
+ ---
322
+
323
+ ## Iterating on Results
324
+
325
+ If tests show low accuracy:
326
+
327
+ 1. **Add more examples** — 5–10 per field improves accuracy significantly
328
+ 2. **Improve aiDefinition** — be specific about what the field represents
329
+ 3. **Add training docs** — more diverse training documents in `agreement-manager/files/train/`
330
+ 4. **Check confirmedValues** — ensure examples use the exact format Navigator expects (e.g., ISO dates for DateTime)
331
+ 5. Re-upload and re-ingest after manifest changes
@@ -0,0 +1,130 @@
1
+ ---
2
+ name: ds-testing
3
+ description: AI-assisted Agreement Manager testing workflow. Reads your test documents, pre-fills expected values in the test CSV, runs extraction tests, and explains results. Use when you want to test how well Agreement Manager extracts fields from your documents.
4
+ ---
5
+
6
+ # Docusign Agreement Manager Testing — AI-Assisted
7
+
8
+ This skill guides you through the Navigator testing workflow by reading your documents, pre-filling the test CSV with expected values, running extraction tests, and interpreting results.
9
+
10
+ ## What This Skill Does
11
+
12
+ 1. Checks your test documents are ingested
13
+ 2. Generates the test CSV template
14
+ 3. **Reads each document** and fills in expected field values
15
+ 4. Runs the test
16
+ 5. Explains the results and suggests improvements
17
+
18
+ ---
19
+
20
+ ## Execution Steps
21
+
22
+ ### Step 1: Verify auth
23
+
24
+ ```bash
25
+ ds auth test
26
+ ```
27
+
28
+ If auth fails, prompt user to run `ds auth login -e <demo|production>`.
29
+
30
+ ### Step 2: Verify test documents
31
+
32
+ Check `agreement-manager/files/test/` for documents. If empty, ask the user to add files (supported: PDF, DOCX, DOC, HTML, XLSX, XLS, XLSB, PPTX, PPT, PPSX, RTF, JPG, PNG, TIF).
33
+
34
+ Check `agreement-manager/files/tracking.json` to see which files are already ingested.
35
+
36
+ If documents exist but are not ingested:
37
+
38
+ ```bash
39
+ ds agm ingest --directory ./agreement-manager/files/test -y
40
+ ```
41
+
42
+ ### Step 3: Generate test template with pre-filled extractions
43
+
44
+ ```bash
45
+ ds agm test generate-test-template -y --prefill-extractions
46
+ ```
47
+
48
+ This creates `agreement-manager/tests/testing.csv` with:
49
+
50
+ - One row per ingested document
51
+ - Platform's AI extraction results pre-filled where available
52
+ - Empty cells where the platform couldn't extract a value
53
+
54
+ ### Step 4: Read the CSV and each document
55
+
56
+ Read `agreement-manager/tests/testing.csv` to understand the structure:
57
+
58
+ - Which documents are in the test
59
+ - Which fields need expected values
60
+
61
+ For each document listed in the CSV, read the document file (use the Read tool on PDF/DOCX). Extract the correct values for each field column based on the document's actual content.
62
+
63
+ ### Step 5: Fill in expected values
64
+
65
+ Update `agreement-manager/tests/testing.csv`:
66
+
67
+ - For each row (document), fill in the expected values for each field column
68
+ - Use the field's `fieldType` to format values correctly:
69
+ - `DateTime`: ISO format `YYYY-MM-DD`
70
+ - `Number`: numeric value only (e.g., `1500`, not `$1,500`)
71
+ - `String`: the exact extracted text
72
+ - `Dropdown`: must match one of the `dropdownOptions` exactly
73
+ - Leave a cell empty if the field genuinely does not appear in that document
74
+
75
+ **Important:** Read `agreement-manager/configs/agreement-manager-manifest.json` to understand each field's type and dropdown options before filling values.
76
+
77
+ ### Step 6: Run the test
78
+
79
+ ```bash
80
+ ds agm test run -y
81
+ ```
82
+
83
+ ### Step 7: Interpret results
84
+
85
+ Read the output files:
86
+
87
+ - `agreement-manager/output/{timestamp}-field-test-results.csv` — field-level results
88
+ - `agreement-manager/output/{timestamp}-agreement-type-test-results.csv` — type classification results
89
+
90
+ For each FAIL:
91
+
92
+ | Failure Type | Likely Cause | Suggestion |
93
+ | --------------------- | ----------------------------------- | ------------------------------------------------------------------ |
94
+ | Wrong value extracted | Poor examples in manifest | Add more specific examples with exact text patterns from your docs |
95
+ | Empty extraction | Field not enabled or no examples | Set `customExtractionEnabled: true` and add examples |
96
+ | Wrong agreement type | AI not trained on your doc style | Add more `docs` to the agreement type, add better `aiDefinition` |
97
+ | Dropdown value off | Extracted text doesn't match option | Add example with that exact option as `confirmedValue` |
98
+
99
+ ### Step 8: Report results to user
100
+
101
+ Summarize:
102
+
103
+ - Total tests: X passed, Y failed
104
+ - Fields with failures and suggested fixes
105
+ - Whether to re-upload manifest (`ds agm upload -y`) after changes
106
+
107
+ ---
108
+
109
+ ## CSV Format Reference
110
+
111
+ ```csv
112
+ filename,Agreement Type [Custom],Termination Date [Custom],Notice Period Days [Custom],Company Name [Standard]
113
+ supplier-term.pdf,Supplier Termination Letter,2025-12-31,30,Acme Corp
114
+ change-order.pdf,Change Order,,15,BuildCo Inc
115
+ ```
116
+
117
+ Column headers follow the pattern `{Field Label} [{Custom|Standard}]`.
118
+
119
+ Leave cells empty (not `N/A`) when a field is not present in a document.
120
+
121
+ ---
122
+
123
+ ## Tips
124
+
125
+ - Run with `--partial-match` for long text fields where exact match is too strict:
126
+ ```bash
127
+ ds agm test run -y --partial-match
128
+ ```
129
+ - Re-ingest after adding new test documents (don't use `--dry-run`)
130
+ - Multiple test runs produce timestamped result files — old results are preserved
@@ -0,0 +1,9 @@
1
+ ---
2
+ description: Docusign Agreement Manager — IAM Toolkit CLI workflow guide for AI-powered document extraction
3
+ globs: ["**/*.json", "**/*.csv", "**/agreement-manager/**"]
4
+ alwaysApply: true
5
+ ---
6
+
7
+ @file:.claude/skills/ds-agm-autopilot/SKILL.md
8
+ @file:.claude/skills/ds-agreement-manager-workflow/SKILL.md
9
+ @file:.claude/skills/ds-testing/SKILL.md
@@ -0,0 +1,9 @@
1
+ # Docusign Agreement Manager — Gemini CLI Instructions
2
+
3
+ Read the following skill files for the full workflow guide and testing instructions:
4
+
5
+ - `.claude/skills/ds-agm-autopilot/SKILL.md`
6
+ - `.claude/skills/ds-agreement-manager-workflow/SKILL.md`
7
+ - `.claude/skills/ds-testing/SKILL.md`
8
+
9
+ These files contain step-by-step guidance for the `ds agm` CLI commands, manifest authoring rules, AI-assisted testing workflows, and full autopilot operation of the Agreement Manager lifecycle.
@@ -0,0 +1,94 @@
1
+ ---
2
+ applyTo: '**'
3
+ ---
4
+
5
+ # Docusign Agreement Manager — AI Coding Instructions
6
+
7
+ This workspace uses the Docusign IAM Toolkit CLI (`ds` command) for AI-powered document extraction with Docusign Agreement Manager.
8
+
9
+ ## Available CLI Commands
10
+
11
+ ```bash
12
+ ds auth login -e <demo|production> # Authenticate
13
+ ds auth test # Verify auth
14
+ ds agm get catalog # Fetch standard types/fields
15
+ ds agm validate # Validate manifest
16
+ ds agm upload [-y|--dry-run] # Deploy manifest
17
+ ds agm ingest --directory <path> [-y|--dry-run] # Ingest documents
18
+ ds agm test generate-test-template [-y] [--prefill-extractions] # Create test CSV
19
+ ds agm test run [-y] [--partial-match] # Run extraction tests
20
+ ```
21
+
22
+ ## Workspace Structure
23
+
24
+ ```
25
+ <workspace>/
26
+ ├── .env
27
+ └── <project>/
28
+ └── agreement-manager/
29
+ ├── configs/agreement-manager-manifest.json # Define types/fields here
30
+ ├── files/
31
+ │ ├── train/ # Training documents
32
+ │ ├── test/ # Test documents
33
+ │ ├── tracking.json # Ingestion tracker
34
+ │ ├── standard-catalog.json # After 'get catalog'
35
+ │ └── custom-catalog.json
36
+ ├── tests/testing.csv # Test expectations
37
+ └── output/ # Test results
38
+ ```
39
+
40
+ ## Autopilot Mode
41
+
42
+ To drive the full Agreement Manager lifecycle interactively, invoke the `ds-agm-autopilot` skill. It guides you through auth, manifest creation, upload, ingest, metadata ingestion, testing, and config migration with visual stage feedback. Say "autopilot" for autonomous operation or answer prompts step-by-step.
43
+
44
+ ## Agreement Manager Workflow
45
+
46
+ 1. `ds auth login -e demo`
47
+ 2. `ds agm get catalog`
48
+ 3. Edit `agreement-manager/configs/agreement-manager-manifest.json`
49
+ 4. `ds agm validate`
50
+ 5. `ds agm upload -y`
51
+ 6. Add documents to `agreement-manager/files/test/`, then `ds agm ingest --directory ./agreement-manager/files/test -y`
52
+ 7. `ds agm test generate-test-template -y --prefill-extractions`
53
+ 8. Fill expected values in `agreement-manager/tests/testing.csv`
54
+ 9. `ds agm test run -y`
55
+
56
+ ## Manifest Rules
57
+
58
+ **Custom field `key`** must start with `C_` (e.g., `C_TerminationDate`). Use `displayName` for human-readable name. Add `aiDefinition` when `customExtractionEnabled: true`.
59
+
60
+ **Field types:** `String`, `Number`, `DateTime`, `Dropdown`
61
+
62
+ **Field categories:** `FinancialCategory`, `GeneralCategory`, `HumanResourcesCategory`, `LegalAndComplianceCategory`, `LifecycleCategory`, `PaymentCategory`, `RenewalCategory`, `TerminationCategory`, `OtherCategory`
63
+
64
+ **Agreement type categories:** `BusinessServices`, `HumanResources`, `Miscellaneous`, `OtherDocuments`
65
+
66
+ When `customExtractionEnabled: true`:
67
+
68
+ - `examples` array is required (3+ recommended)
69
+ - `aiDefinition` is required — describe what the field or document type represents
70
+ - `docs` in agreement types reference filenames only (not paths)
71
+ - `customFields` in agreement types reference fields by `displayName`, not `key`
72
+
73
+ ## Testing Workflow (AI-Assisted)
74
+
75
+ When helping a user run extraction tests:
76
+
77
+ 1. Check files exist in `agreement-manager/files/test/`
78
+ 2. Check `tracking.json` — ingest any un-ingested files first
79
+ 3. Run `ds agm test generate-test-template -y --prefill-extractions`
80
+ 4. Read each test document and the manifest to understand expected values
81
+ 5. Fill `agreement-manager/tests/testing.csv` — use ISO dates (`YYYY-MM-DD`), numeric-only for Number fields, exact dropdown option names
82
+ 6. Run `ds agm test run -y`
83
+ 7. Read timestamped result CSVs in `agreement-manager/output/` and explain failures
84
+
85
+ ## Common Errors
86
+
87
+ | Error | Fix |
88
+ | ----------------- | ---------------------------------------------------------------- |
89
+ | name format | Add `C_` prefix to custom field/type keys |
90
+ | duplicate | Rename one of the duplicate displayNames |
91
+ | unreferenced | Add field to a type's customFields or remove it |
92
+ | unknown field | customFields displayName doesn't match any field |
93
+ | AI constraint | Add examples and aiDefinition when customExtractionEnabled: true |
94
+ | dropdown mismatch | confirmedValue must exactly match a dropdownOptions name |
package/package.json ADDED
@@ -0,0 +1,90 @@
1
+ {
2
+ "name": "@docusign/cli",
3
+ "version": "1.0.0-rc",
4
+ "author": "Docusign",
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
+ "main": "dist/index.mjs",
7
+ "license": "MIT",
8
+ "bin": {
9
+ "docusign": "./dist/index.mjs",
10
+ "ds": "./dist/index.mjs"
11
+ },
12
+ "files": [
13
+ "dist/index.mjs",
14
+ "dist/templates/"
15
+ ],
16
+ "scripts": {
17
+ "ado:build": "npm run build",
18
+ "ado:lint": "npm run lint",
19
+ "ado:test": "npm run test:unit",
20
+ "ado:version:validate": "ts-node scripts/validateVersion.ts",
21
+ "cli": "node dist/index.mjs",
22
+ "cli:dev": "ts-node src/index.ts",
23
+ "build": "tsc -p tsconfig.build.json && node scripts/build.mjs",
24
+ "postbuild": "",
25
+ "clean": "node -e \"require('fs-extra').removeSync('dist')\" && node -e \"require('fs-extra').removeSync('.build-intermediate')\"",
26
+ "prebuild": "npm run clean",
27
+ "prepare": "husky",
28
+ "prelink": "npm run build",
29
+ "link": "npm link",
30
+ "unlink": "npm unlink -g @docusign/cli",
31
+ "lint": "eslint .",
32
+ "lint:fix": "eslint . --fix",
33
+ "format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,json,md}\"",
34
+ "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"",
35
+ "test": "npm run test:unit",
36
+ "test:watch": "jest --watch",
37
+ "test:coverage": "jest --coverage",
38
+ "test:verbose": "jest --verbose",
39
+ "test:unit": "jest",
40
+ "test:e2e": "jest --config jest.config.e2e.js",
41
+ "test:e2e:verbose": "jest --config jest.config.e2e.js --verbose"
42
+ },
43
+ "dependencies": {
44
+ "@inquirer/prompts": "^7.3.2",
45
+ "axios": "^1.7.9",
46
+ "chalk": "^4.1.2",
47
+ "commander": "^14.0.2",
48
+ "csv-parse": "^6.1.0",
49
+ "fs-extra": "^11.3.2",
50
+ "lodash": "^4.17.21",
51
+ "luxon": "^3.7.2",
52
+ "mixpanel": "^0.20.0",
53
+ "open": "^10.2.0",
54
+ "ora": "^9.3.0",
55
+ "reflect-metadata": "^0.2.2",
56
+ "semver": "^7.7.4",
57
+ "tslib": "^2.8.1",
58
+ "tsyringe": "^4.10.0",
59
+ "zod": "^4.1.12"
60
+ },
61
+ "devDependencies": {
62
+ "@eslint/js": "^9.39.1",
63
+ "@types/docusign-esign": "^5.19.9",
64
+ "@types/fs-extra": "^11.0.4",
65
+ "@types/jest": "^30.0.0",
66
+ "@types/luxon": "^3.7.1",
67
+ "@types/node": "^22.10.0",
68
+ "@types/semver": "^7.7.1",
69
+ "@typescript-eslint/eslint-plugin": "^8.46.3",
70
+ "@typescript-eslint/parser": "^8.46.3",
71
+ "docusign-esign": "^8.5.0",
72
+ "esbuild": "^0.27.3",
73
+ "eslint": "^9.39.1",
74
+ "eslint-config-prettier": "^10.1.8",
75
+ "eslint-plugin-import": "^2.32.0",
76
+ "eslint-plugin-jest": "^29.0.1",
77
+ "globals": "^16.5.0",
78
+ "husky": "^9.1.7",
79
+ "jest": "^30.2.0",
80
+ "jest-junit": "^16.0.0",
81
+ "prettier": "^3.6.2",
82
+ "ts-jest": "^29.4.5",
83
+ "ts-node": "^10.9.2",
84
+ "typescript": "^5.9.3",
85
+ "typescript-eslint": "^8.46.3"
86
+ },
87
+ "engines": {
88
+ "node": ">=22.0.0"
89
+ }
90
+ }