@open-agreements/open-agreements 0.4.0 → 0.5.0

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.
Files changed (146) hide show
  1. package/README.md +13 -1
  2. package/content/external/yc-safe-discount/metadata.yaml +1 -1
  3. package/content/external/yc-safe-mfn/metadata.yaml +1 -1
  4. package/content/external/yc-safe-pro-rata-side-letter/metadata.yaml +1 -1
  5. package/content/external/yc-safe-valuation-cap/metadata.yaml +1 -1
  6. package/content/recipes/QUALITY_TRACKER.md +35 -0
  7. package/content/recipes/nvca-certificate-of-incorporation/clean.json +14 -2
  8. package/content/recipes/nvca-certificate-of-incorporation/computed.json +78 -0
  9. package/content/recipes/nvca-certificate-of-incorporation/metadata.yaml +115 -2
  10. package/content/recipes/nvca-certificate-of-incorporation/replacements.json +50 -2
  11. package/content/recipes/nvca-certificate-of-incorporation/selections-roadmap.md +47 -0
  12. package/content/recipes/nvca-indemnification-agreement/metadata.yaml +5 -1
  13. package/content/recipes/nvca-indemnification-agreement/replacements.json +30 -5
  14. package/content/recipes/nvca-investors-rights-agreement/clean.json +9 -1
  15. package/content/recipes/nvca-investors-rights-agreement/metadata.yaml +1 -1
  16. package/content/recipes/nvca-investors-rights-agreement/replacements.json +4 -1
  17. package/content/recipes/nvca-management-rights-letter/metadata.yaml +1 -1
  18. package/content/recipes/nvca-rofr-co-sale-agreement/clean.json +11 -1
  19. package/content/recipes/nvca-rofr-co-sale-agreement/metadata.yaml +5 -1
  20. package/content/recipes/nvca-rofr-co-sale-agreement/replacements.json +62 -3
  21. package/content/recipes/nvca-stock-purchase-agreement/clean.json +8 -3
  22. package/content/recipes/nvca-stock-purchase-agreement/metadata.yaml +6 -1
  23. package/content/recipes/nvca-stock-purchase-agreement/normalize.json +0 -16
  24. package/content/recipes/nvca-stock-purchase-agreement/replacements.json +15 -12
  25. package/content/recipes/nvca-stock-purchase-agreement/selections.json +17 -0
  26. package/content/recipes/nvca-voting-agreement/clean.json +11 -1
  27. package/content/recipes/nvca-voting-agreement/metadata.yaml +1 -1
  28. package/content/recipes/nvca-voting-agreement/replacements.json +2 -1
  29. package/content/templates/bonterms-mutual-nda/metadata.yaml +1 -1
  30. package/content/templates/bonterms-professional-services-agreement/metadata.yaml +1 -1
  31. package/content/templates/closing-checklist/metadata.yaml +1 -1
  32. package/content/templates/common-paper-ai-addendum/metadata.yaml +1 -1
  33. package/content/templates/common-paper-ai-addendum-in-app/metadata.yaml +1 -1
  34. package/content/templates/common-paper-amendment/metadata.yaml +1 -1
  35. package/content/templates/common-paper-business-associate-agreement/metadata.yaml +1 -1
  36. package/content/templates/common-paper-cloud-service-agreement/metadata.yaml +1 -1
  37. package/content/templates/common-paper-csa-click-through/metadata.yaml +1 -1
  38. package/content/templates/common-paper-csa-with-ai/metadata.yaml +1 -1
  39. package/content/templates/common-paper-csa-with-sla/metadata.yaml +1 -1
  40. package/content/templates/common-paper-csa-without-sla/metadata.yaml +1 -1
  41. package/content/templates/common-paper-data-processing-agreement/metadata.yaml +1 -1
  42. package/content/templates/common-paper-design-partner-agreement/metadata.yaml +1 -1
  43. package/content/templates/common-paper-independent-contractor-agreement/metadata.yaml +1 -1
  44. package/content/templates/common-paper-letter-of-intent/metadata.yaml +1 -1
  45. package/content/templates/common-paper-mutual-nda/metadata.yaml +1 -1
  46. package/content/templates/common-paper-one-way-nda/metadata.yaml +1 -1
  47. package/content/templates/common-paper-order-form/metadata.yaml +1 -1
  48. package/content/templates/common-paper-order-form-with-sla/metadata.yaml +1 -1
  49. package/content/templates/common-paper-partnership-agreement/metadata.yaml +1 -1
  50. package/content/templates/common-paper-pilot-agreement/metadata.yaml +1 -1
  51. package/content/templates/common-paper-professional-services-agreement/metadata.yaml +1 -1
  52. package/content/templates/common-paper-software-license-agreement/metadata.yaml +1 -1
  53. package/content/templates/common-paper-statement-of-work/metadata.yaml +1 -1
  54. package/content/templates/common-paper-term-sheet/metadata.yaml +1 -1
  55. package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +1 -1
  56. package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +1 -1
  57. package/content/templates/openagreements-employment-offer-letter/metadata.yaml +1 -1
  58. package/content/templates/working-group-list/metadata.yaml +1 -1
  59. package/dist/cli/index.d.ts.map +1 -1
  60. package/dist/cli/index.js +8 -4
  61. package/dist/cli/index.js.map +1 -1
  62. package/dist/commands/fill.js +3 -3
  63. package/dist/commands/fill.js.map +1 -1
  64. package/dist/commands/list.js +19 -15
  65. package/dist/commands/list.js.map +1 -1
  66. package/dist/core/command-generation/adapters/claude.js +4 -4
  67. package/dist/core/employment/memo.js +3 -3
  68. package/dist/core/engine.js +1 -1
  69. package/dist/core/external/index.js +1 -1
  70. package/dist/core/fill-pipeline.d.ts +3 -3
  71. package/dist/core/fill-pipeline.js +6 -6
  72. package/dist/core/fill-pipeline.js.map +1 -1
  73. package/dist/core/metadata.d.ts +13 -3
  74. package/dist/core/metadata.d.ts.map +1 -1
  75. package/dist/core/metadata.js +19 -11
  76. package/dist/core/metadata.js.map +1 -1
  77. package/dist/core/recipe/bracket-normalizer.d.ts +4 -5
  78. package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
  79. package/dist/core/recipe/bracket-normalizer.js +67 -149
  80. package/dist/core/recipe/bracket-normalizer.js.map +1 -1
  81. package/dist/core/recipe/cleaner.d.ts.map +1 -1
  82. package/dist/core/recipe/cleaner.js +91 -7
  83. package/dist/core/recipe/cleaner.js.map +1 -1
  84. package/dist/core/recipe/downloader.d.ts.map +1 -1
  85. package/dist/core/recipe/downloader.js +8 -3
  86. package/dist/core/recipe/downloader.js.map +1 -1
  87. package/dist/core/recipe/index.d.ts +2 -1
  88. package/dist/core/recipe/index.d.ts.map +1 -1
  89. package/dist/core/recipe/index.js +11 -4
  90. package/dist/core/recipe/index.js.map +1 -1
  91. package/dist/core/recipe/patcher.d.ts +9 -5
  92. package/dist/core/recipe/patcher.d.ts.map +1 -1
  93. package/dist/core/recipe/patcher.js +183 -136
  94. package/dist/core/recipe/patcher.js.map +1 -1
  95. package/dist/core/recipe/replacement-keys.d.ts +2 -7
  96. package/dist/core/recipe/replacement-keys.d.ts.map +1 -1
  97. package/dist/core/recipe/replacement-keys.js +3 -20
  98. package/dist/core/recipe/replacement-keys.js.map +1 -1
  99. package/dist/core/recipe/source-drift.js +1 -1
  100. package/dist/core/recipe/source-drift.js.map +1 -1
  101. package/dist/core/recipe/verifier.d.ts +7 -1
  102. package/dist/core/recipe/verifier.d.ts.map +1 -1
  103. package/dist/core/recipe/verifier.js +69 -3
  104. package/dist/core/recipe/verifier.js.map +1 -1
  105. package/dist/core/selector.d.ts +2 -0
  106. package/dist/core/selector.d.ts.map +1 -1
  107. package/dist/core/selector.js +97 -1
  108. package/dist/core/selector.js.map +1 -1
  109. package/dist/core/template-listing.d.ts +3 -1
  110. package/dist/core/template-listing.d.ts.map +1 -1
  111. package/dist/core/template-listing.js +4 -3
  112. package/dist/core/template-listing.js.map +1 -1
  113. package/dist/core/unified-pipeline.d.ts +1 -1
  114. package/dist/core/unified-pipeline.d.ts.map +1 -1
  115. package/dist/core/unified-pipeline.js +21 -3
  116. package/dist/core/unified-pipeline.js.map +1 -1
  117. package/dist/core/validation/external.d.ts.map +1 -1
  118. package/dist/core/validation/external.js +0 -2
  119. package/dist/core/validation/external.js.map +1 -1
  120. package/dist/core/validation/recipe.d.ts.map +1 -1
  121. package/dist/core/validation/recipe.js +0 -2
  122. package/dist/core/validation/recipe.js.map +1 -1
  123. package/dist/core/validation/scan-metadata.d.ts.map +1 -1
  124. package/dist/core/validation/scan-metadata.js +17 -1
  125. package/dist/core/validation/scan-metadata.js.map +1 -1
  126. package/dist/core/validation/template.js +5 -5
  127. package/package.json +3 -2
  128. package/server.json +31 -0
  129. package/skills/client-email/SKILL.md +143 -0
  130. package/skills/cloud-service-agreement/SKILL.md +8 -99
  131. package/skills/data-privacy-agreement/SKILL.md +10 -97
  132. package/skills/delaware-franchise-tax/SKILL.md +7 -1
  133. package/skills/edit-docx-agreement/SKILL.md +10 -3
  134. package/skills/employment-contract/SKILL.md +10 -95
  135. package/skills/iso-27001-evidence-collection/SKILL.md +7 -1
  136. package/skills/iso-27001-internal-audit/SKILL.md +6 -0
  137. package/skills/nda/SKILL.md +7 -99
  138. package/skills/open-agreements/CONNECTORS.md +1 -1
  139. package/skills/open-agreements/SKILL.md +17 -104
  140. package/skills/recipe-quality-audit/SKILL.md +116 -0
  141. package/skills/safe/SKILL.md +12 -97
  142. package/skills/services-agreement/SKILL.md +8 -99
  143. package/skills/shared/template-filling-execution.md +92 -0
  144. package/skills/soc2-readiness/SKILL.md +7 -1
  145. package/skills/unit-test-philosophy/SKILL.md +12 -1
  146. package/skills/venture-financing/SKILL.md +11 -96
@@ -7,11 +7,70 @@
7
7
  "[AMENDED AND RESTATED]": "{amended_restated_upper}",
8
8
  "[Amended and Restated]": "{amended_restated}",
9
9
  "[judicial district]": "{judicial_district}",
10
- "[state]": "{state_lower}",
11
10
  "[description of business]": "{business_description}",
12
11
  "[Signature Page Follows]": "{signature_page_marker}",
13
12
  "[_____ __, 20___]": "{effective_date}",
14
13
  "[specify percentage]": "{specify_percentage}",
15
- "[45]": "{rofr_response_days}",
16
- "[Key Holders]": "{key_holders_label}"
14
+ "[Key Holders]": "{key_holders_label}",
15
+ "[________], 20[__]": "{effective_date}",
16
+ "among [____________], a Delaware": "among {company_name}, a Delaware",
17
+ "U.S. District Court for the District of [_____]": "U.S. District Court for the {judicial_district}",
18
+ "Depositions shall be conducted in accordance with the > [state]": "{state_lower}",
19
+ "submit to the jurisdiction of the state courts of > [state]": "{state_lower}",
20
+ "except in the state courts of > [state]": "{state_lower}",
21
+ "or any state court of > [state]": "{state_lower}",
22
+ "not later than > [45]": "{rofr_response_days}",
23
+ "(ii) > [45]": "{rofr_response_days}",
24
+ "Series > [___]": "{optional_blank_value}",
25
+ "Section 2 of Article Fourth, Part B": "Section Two of Article Fourth, Part B{optional_blank_value}",
26
+ ". In order to enforce the foregoing covenant": "In order to enforce the foregoing covenant{optional_blank_value}",
27
+ ". Unless and only to the extent otherwise superseded by an underwriting agreement entered into in connection with the underwritten Public Offering": "Unless and only to the extent otherwise superseded by an underwriting agreement entered into in connection with the underwritten Public Offering{optional_blank_value}",
28
+ "Email: ": "Email:{optional_blank_value}",
29
+ "clause[(s)]": "clause{optional_blank_value}",
30
+ "clauses (a)": "clause (a){optional_blank_value}",
31
+ "clause (a) or (c) above": "clause (a) above{optional_blank_value}",
32
+ "(a)[, (c), (d) or (e)]": "(a){optional_blank_value}",
33
+ "[WHEREAS, the Company, [certain of]": "{optional_blank_value}",
34
+ "[, the Existing Investors]": "{optional_blank_value}",
35
+ "[amending and restating the Prior Agreement in its entirety and]": "{optional_blank_value}",
36
+ "[but excluding any shares of Common Stock issued upon Conversion of Preferred Stock pursuant to a Special Mandatory Conversion (as defined in the Restated Certificate)]": "{optional_blank_value}",
37
+ "[Additionally, in no event shall [____]": "{optional_blank_value}",
38
+ "[“DPA” means Section 721 of the Defense Production Act, as amended, including all implementing regulations thereof.": "{optional_blank_value}",
39
+ "“DPA Triggering Rights” means (i) “control” (as defined in the DPA);": "{optional_blank_value}",
40
+ "“Entity Transfer” means any sale, assignment, derivative transaction, issuance, encumbrance, hypothecation, pledge, conveyance in trust, gift, transfer by request, devise or descent, or other transfer or disposition of any kind, including, but not limited to, transfers to receivers, levying creditors, trustees or receivers in bankruptcy proceedings or general assignees for the benefit of creditors, whether voluntary or by operation of law, directly or indirectly of any ownership or economic interest in such entity.": "{optional_blank_value}",
41
+ "[“Foreign Person” means either (i) a Person or government that is a “foreign person” within the meaning of the DPA or (ii) a Person through whose investment a “foreign person” within the meaning of the DPA would obtain any DPA Triggering Rights.]": "{optional_blank_value}",
42
+ "[; provided, however, that any such person shall cease to be considered an Investor for purposes of this Agreement at any time such person and his, her or its Affiliates collectively hold fewer than [____________]": "{optional_blank_value}",
43
+ "[and Series [_]": "{optional_blank_value}",
44
+ "[“Qualified Direct Listing” has the meaning ascribed to it in the Restated Certificate.]": "{optional_blank_value}",
45
+ "[full-time]": "{optional_blank_value}",
46
+ "[or consultant (excluding service solely as member of the Board)]": "{optional_blank_value}",
47
+ "[, European Union, or United Kingdom]": "{optional_blank_value}",
48
+ "[, the Consolidated List of Persons, Groups, and Entities Subject to EU Financial Sanctions, and the UK’s Consolidated Sanctions List]": "{optional_blank_value}",
49
+ "[In the event of a conflict between this Agreement and any other agreement that may have been entered into by a Key Holder with the Company that contains a preexisting right of first refusal, the Company and the Key Holder acknowledge and agree that the terms of this Agreement shall control and the preexisting right of first refusal shall be deemed satisfied by compliance with Section 2.1(a) and this Section 2.1(b).]": "{optional_blank_value}",
50
+ "[In the event of a conflict between this Agreement and the Company’s Bylaws containing a preexisting right of first refusal, the terms of the Bylaws will control and compliance with the Bylaws shall be deemed compliance with this Section 2.1(a) and (b) in full.]": "{optional_blank_value}",
51
+ "[Forfeiture of Rights. Notwithstanding the foregoing, if the total number of shares of Transfer Stock that the Company and the Investors have agreed to purchase in the Company Notice, Investor Notices and Undersubscription Notices is less than the total number of shares of Transfer Stock, then the Company and the Investors shall be deemed to have forfeited any right to purchase such Transfer Stock, and the selling Key Holder shall be free to sell all, but not less than all, of the Transfer Stock to the Prospective Transferee on terms and conditions substantially similar to (and in no event more favorable than) the terms and conditions set forth in the Proposed Transfer Notice, it being understood and agreed that (i) any such sale or transfer shall be subject to the other terms and restrictions of this Agreement, including, without limitation, the terms and restrictions set forth in Sections 2.2 and 6.9(b); (ii) any future Proposed Key Holder Transfer shall remain subject to the terms and conditions of this Agreement, including this Section 2; and (iii) such sale shall be consummated within 45 days after receipt of the Proposed Transfer Notice by the Company and, if such sale is not consummated within such 45 day period, such sale shall again become subject to the Right of First Refusal and Secondary Refusal Right on the terms set forth herein.]": "{optional_blank_value}",
52
+ "[(including any shares that such Participating Investor has agreed to purchase pursuant to the Secondary Refusal Right)]": "{optional_blank_value}",
53
+ "[(including any shares that all Participating Investors have collectively agreed to purchase pursuant to the Secondary Refusal Right)]": "{optional_blank_value}",
54
+ "[selling Key Holder]": "{optional_blank_value}",
55
+ "[To the extent one or more of the Participating Investors exercise such right of participation in accordance with the terms and conditions set forth herein, the number of shares of Transfer Stock that the selling Key Holder may sell in the Proposed Key Holder Transfer shall be correspondingly reduced.]": "{optional_blank_value}",
56
+ "[Limitation on Foreign Person Investors": "{optional_blank_value}",
57
+ ". Notwithstanding the covenants set forth in this Section 2, no Investor that is a Foreign Person shall be permitted to obtain greater than 9.9% of the outstanding voting shares of the Company.]": "{optional_blank_value}",
58
+ "[Entity Transfers. No Key Holder that is a trust, corporation, partnership, limited liability company or other entity shall engage or permit any Entity Transfer without complying with this Agreement mutatis mutandis as if such Entity Transfer were a direct Transfer of Transfer Stock by the Key Holder.]": "{optional_blank_value}",
59
+ "[; (d) to a pledge of Transfer Stock that creates a mere security interest in the pledged Transfer Stock, provided that the pledgee thereof agrees in writing in advance to be bound by and comply with all applicable provisions of this Agreement to the same extent as if it were the Key Holder making such pledge;]": "{optional_blank_value}",
60
+ "[or (e) to the sale by the Key Holder of up to [__]": "{optional_blank_value}",
61
+ "[(d) Foreign Person that pursuant to any such transfer would acquire any DPA Triggering Rights, unless otherwise approved by the majority of the disinterested members of the]": "{optional_blank_value}",
62
+ "[or Qualified Direct Listing, as applicable]": "{optional_blank_value}",
63
+ "[in which the consideration received by the Investors in such Deemed Liquidation Event is in the form of cash and/or publicly traded securities, or if the Investors receive substantially similar rights]": "{optional_blank_value}",
64
+ "[The parties (i) hereby irrevocably and unconditionally submit to the jurisdiction of the state courts of [state]": "{optional_blank_value}",
65
+ "[Upon the effectiveness of this Agreement, the Prior Agreement shall be deemed amended and restated and superseded and replaced in its entirety by this Agreement, and shall be of no further force or effect.]": "{optional_blank_value}",
66
+ "[Qualified]": "{optional_blank_value}",
67
+ "[provided that such consent shall not be required if the Key Holders do not then own shares of Capital Stock representing at least [__]": "{optional_blank_value}",
68
+ "[Notwithstanding Section 6.8(a) above, (i) this Agreement may not be amended, modified or terminated and the observance of any term hereunder may not be waived with respect to any Investor or Key Holder without the written consent of such Investor or Key Holder unless such amendment, modification, termination or waiver applies to all Investors and Key Holders, respectively, in the same fashion [(it being agreed that a waiver of the provisions of Section 2 with respect to a particular transaction shall be deemed to apply to all Investors in the same fashion if such waiver does so by its terms, notwithstanding the fact that certain Investors may nonetheless, by agreement with the Company, purchase or sell securities in such transaction; [provided, however, if, after giving effect to any waiver of Section 2 with respect to a particular transaction, a waiving Investor in fact purchases or sells securities in such transaction (a “Participating Investor”), the aforementioned waiver shall be deemed to apply to any Investor only if that Investor has been provided the opportunity to purchase or sell a proportional number of the securities in such transaction based on relative participation of all Participating Investors)]": "{optional_blank_value}",
69
+ "[__________]": "{optional_blank_value}",
70
+ "[Each party will bear its own costs in respect of any disputes arising under this Agreement.]": "{optional_blank_value}",
71
+ "[The prevailing party shall be entitled to reasonable attorney’s fees, costs, and necessary disbursements in addition to any other relief to which such party may be entitled.]": "{optional_blank_value}",
72
+ "[Key Holder Name": "{optional_blank_value}",
73
+ "Personal Address": "{optional_blank_value}",
74
+ "Personal Email]": "{optional_blank_value}",
75
+ "[Signature Page to [Amended and Restated]": "{optional_blank_value}"
17
76
  }
@@ -1,13 +1,18 @@
1
1
  {
2
2
  "removeFootnotes": true,
3
3
  "removeParagraphPatterns": [
4
- "^This sample document is the work product of a national coalition of attorneys",
5
- "^For those who will redline this against prior NVCA versions",
6
4
  "^The Stock Purchase Agreement sets forth the basic terms of the purchase and sale of the preferred stock",
7
5
  "^Note to Drafter:",
8
6
  "^Preliminary Note\\b",
9
7
  "^Alternative 1:",
10
8
  "^Alternative 2:",
11
- "^\\[Alternative"
9
+ "^\\[Alternative",
10
+ "^Last [Uu]pdated"
11
+ ],
12
+ "removeRanges": [
13
+ {
14
+ "start": "^This sample document is the work product",
15
+ "end": "are flagged as .Revised."
16
+ }
12
17
  ]
13
18
  }
@@ -76,6 +76,11 @@ fields:
76
76
  type: string
77
77
  description: Titlecase word used for single-closing phrasing
78
78
  default: Initial
79
+ - name: closing_type
80
+ type: enum
81
+ description: Single closing or additional closings
82
+ options: [single, additional]
83
+ default: single
79
84
  - name: dispute_resolution_mode
80
85
  type: enum
81
86
  description: Dispute resolution alternative in SPA (Alternative 1 arbitration or Alternative 2 courts)
@@ -121,7 +126,7 @@ fields:
121
126
  - name: applicable_purchasers
122
127
  type: string
123
128
  description: Names of the applicable purchasers
124
- required_fields:
129
+ priority_fields:
125
130
  - company_name
126
131
  - investor_name
127
132
  - company_counsel
@@ -12,22 +12,6 @@
12
12
  "trim_unmatched_trailing_bracket": true,
13
13
  "expected_min_matches": 1
14
14
  },
15
- {
16
- "id": "fill-initial-closing-minimum-shares",
17
- "section_heading": "Conditions of the Purchasers’ Obligations at Closing",
18
- "section_heading_any": [
19
- "Proceedings and Documents",
20
- "Voting Agreement"
21
- ],
22
- "paragraph_contains": "A minimum of",
23
- "paragraph_end_contains": "Shares must be sold at the [Initial] Closing.]",
24
- "replacements": {
25
- "[_________]": "{minimum_shares_initial_closing}",
26
- "[_______]": "{minimum_shares_initial_closing}"
27
- },
28
- "trim_unmatched_trailing_bracket": true,
29
- "expected_min_matches": 1
30
- },
31
15
  {
32
16
  "id": "fill-company-counsel-name",
33
17
  "section_heading": "Conditions of the Purchasers’ Obligations at Closing",
@@ -8,20 +8,17 @@
8
8
  "[name of Investor's counsel]": "{investor_counsel}",
9
9
  "[insert name of Company counsel]": "{company_counsel_name}",
10
10
  "[name of lead Purchaser]": "{lead_purchaser_name}",
11
- "[___]#1": "{series_designation}",
12
- "[___]#2": "{series_designation}",
13
- "[___]#3": "{series_designation}",
14
- "[___]#4": "{series_designation}",
15
- "[___]#6": "{series_designation}",
16
- "[________]#1": "{agreement_date_month_day}",
17
- "[__]#1": "{agreement_year_two_digits}",
18
- "[__]#2": "{par_value_per_share}",
19
- "[__]#3": "{purchase_price_per_share}",
20
- "[__]#4": "{series_designation}",
11
+ "SERIES > [___]": "{series_designation}",
12
+ "Series > [___]": "{series_designation}",
13
+ "is made as of > [________]": "{agreement_date_month_day}",
14
+ ", 20 > [__]": "{agreement_year_two_digits}",
15
+ "Stock, $ > [__]": "{par_value_per_share}",
16
+ "purchase price of $ > [__]": "{purchase_price_per_share}",
17
+ "such Series > [__]": "{series_designation}",
21
18
  "[applicable]": "{applicable_word}",
22
19
  "[with respect to such Closing]": "{optional_closing_reference}",
23
20
  "[or, as applicable, a purchase price of $[___] per share with respect to the shares of Series [____] Preferred Stock being issued [in the Initial Closing] pursuant to any cancellation or conversion of Convertible Securities (as defined below) as set forth in Section 1.3 below]": "{optional_clause_text}",
24
- "[s]#1": "{optional_plural_suffix}",
21
+ "Closing > [s]": "{optional_plural_suffix}",
25
22
  "[Initial Closing.]": "{closing_heading}",
26
23
  "[initial]": "{initial_word_lower}",
27
24
  "[Initial]": "{initial_word_title}",
@@ -37,5 +34,11 @@
37
34
  "[specify percentage]": "{specify_percentage}",
38
35
  "[monthly]": "{financial_reporting_period}",
39
36
  "[list the individual director names]": "{director_names}",
40
- "[name the applicable Purchasers]": "{applicable_purchasers}"
37
+ "[name the applicable Purchasers]": "{applicable_purchasers}",
38
+ "A minimum of > [_________]": "{minimum_shares_initial_closing}",
39
+ "A minimum of > [_______]": "{minimum_shares_initial_closing}",
40
+ "expenses of > [_______]": "{investor_counsel}",
41
+ "U.S. District Court for the District of [_____]": "U.S. District Court for the {judicial_district}",
42
+ "\u201cSeries > [___]": "{series_designation}",
43
+ "\"Series > [___]": "{series_designation}"
41
44
  }
@@ -0,0 +1,17 @@
1
+ {
2
+ "groups": [
3
+ {
4
+ "id": "additional_closings",
5
+ "type": "checkbox",
6
+ "standalone": true,
7
+ "markerless": true,
8
+ "options": [
9
+ {
10
+ "marker": "Additional Closings",
11
+ "trigger": { "field": "closing_type", "equals": "additional" },
12
+ "replaceWith": "[Reserved]"
13
+ }
14
+ ]
15
+ }
16
+ ]
17
+ }
@@ -2,6 +2,16 @@
2
2
  "removeFootnotes": true,
3
3
  "removeParagraphPatterns": [
4
4
  "^Note to Drafter:",
5
- "^Preliminary Note\\b"
5
+ "^Preliminary Note\\b",
6
+ "^\\[?Alternative 1:",
7
+ "^\\[?Alternative 2:",
8
+ "^\\[Alternative",
9
+ "^Last [Uu]pdated"
10
+ ],
11
+ "removeRanges": [
12
+ {
13
+ "start": "^This sample document is the work product",
14
+ "end": "are flagged as .Revised."
15
+ }
6
16
  ]
7
17
  }
@@ -55,7 +55,7 @@ fields:
55
55
  type: string
56
56
  description: Signature page marker text
57
57
  default: Signature Page Follows
58
- required_fields:
58
+ priority_fields:
59
59
  - company_name
60
60
  - investor_name
61
61
  - key_holder_name
@@ -14,5 +14,6 @@
14
14
  "[judicial district]": "{judicial_district}",
15
15
  "[state]": "{state_of_incorporation_lower}",
16
16
  "[specify percentage]": "{specify_percentage}",
17
- "[Signature Page Follows]": "{signature_page_marker}"
17
+ "[Signature Page Follows]": "{signature_page_marker}",
18
+ "U.S. District Court for the District of [_____]": "U.S. District Court for the {judicial_district}"
18
19
  }
@@ -47,7 +47,7 @@ fields:
47
47
  description: Courts with jurisdiction over disputes
48
48
  default: courts located in San Francisco, California
49
49
  section: Legal
50
- required_fields:
50
+ priority_fields:
51
51
  - party_1_name
52
52
  - party_2_name
53
53
  - effective_date
@@ -37,7 +37,7 @@ fields:
37
37
  description: 'Type of rights in deliverables: "licensed" or "assigned"'
38
38
  default: licensed
39
39
  section: Terms
40
- required_fields:
40
+ priority_fields:
41
41
  - customer_name
42
42
  - provider_name
43
43
  - effective_date
@@ -27,6 +27,6 @@ fields:
27
27
  - name: open_issues
28
28
  type: array
29
29
  description: Unlinked issues (issue_id, title, status, summary)
30
- required_fields:
30
+ priority_fields:
31
31
  - deal_name
32
32
  - updated_at
@@ -162,6 +162,6 @@ fields:
162
162
  type: string
163
163
  description: Notice email address for the Customer
164
164
  section: Signature Block
165
- required_fields:
165
+ priority_fields:
166
166
  - company_name
167
167
  - agreement_description
@@ -106,4 +106,4 @@ fields:
106
106
  type: boolean
107
107
  description: Customer AI-specific Covered Claims apply
108
108
  section: AI Liability
109
- required_fields: []
109
+ priority_fields: []
@@ -90,7 +90,7 @@ fields:
90
90
  type: string
91
91
  description: Notice email address for the second party
92
92
  section: Signature Block
93
- required_fields:
93
+ priority_fields:
94
94
  - company_name
95
95
  - party_1
96
96
  - party_2
@@ -158,7 +158,7 @@ fields:
158
158
  type: string
159
159
  description: Notice email address for the Company
160
160
  section: Signature Block
161
- required_fields:
161
+ priority_fields:
162
162
  - company_name
163
163
  - party_role
164
164
  - principal_agreement
@@ -390,7 +390,7 @@ fields:
390
390
  type: string
391
391
  description: Notice email address for the Customer
392
392
  section: Signature Block
393
- required_fields:
393
+ priority_fields:
394
394
  - provider_name
395
395
  - customer_name
396
396
  - provider_legal_name
@@ -66,7 +66,7 @@ fields:
66
66
  type: string
67
67
  description: Reference to pricing page
68
68
  section: Payment
69
- required_fields:
69
+ priority_fields:
70
70
  - provider_name
71
71
  - cloud_service
72
72
  - governing_law
@@ -592,7 +592,7 @@ fields:
592
592
  type: string
593
593
  description: Notice email address for the Customer
594
594
  section: Signature Block
595
- required_fields:
595
+ priority_fields:
596
596
  - company_name
597
597
  - provider_name
598
598
  - customer_name
@@ -533,7 +533,7 @@ fields:
533
533
  type: string
534
534
  description: Notice email address for the Customer
535
535
  section: Signature Block
536
- required_fields:
536
+ priority_fields:
537
537
  - company_name
538
538
  - provider_name
539
539
  - customer_name
@@ -502,7 +502,7 @@ fields:
502
502
  type: string
503
503
  description: Notice email address for the Customer
504
504
  section: Signature Block
505
- required_fields:
505
+ priority_fields:
506
506
  - company_name
507
507
  - provider_name
508
508
  - customer_name
@@ -512,7 +512,7 @@ fields:
512
512
  type: string
513
513
  description: Company name for the Customer signatory (entity only)
514
514
  section: Signature Block
515
- required_fields:
515
+ priority_fields:
516
516
  - company_name
517
517
  - product_name
518
518
  - underlying_agreement
@@ -148,7 +148,7 @@ fields:
148
148
  type: string
149
149
  description: Notice email address for the Partner
150
150
  section: Signature Block
151
- required_fields:
151
+ priority_fields:
152
152
  - company_name
153
153
  - product_description
154
154
  - governing_law
@@ -96,7 +96,7 @@ fields:
96
96
  type: string
97
97
  description: Notice email address for the Contractor
98
98
  section: Signature Block
99
- required_fields:
99
+ priority_fields:
100
100
  - company_name_and_address
101
101
  - contractor_name_and_address
102
102
  - services_description
@@ -82,7 +82,7 @@ fields:
82
82
  type: string
83
83
  description: Notice email address for the Customer
84
84
  section: Signature Block
85
- required_fields:
85
+ priority_fields:
86
86
  - company_name
87
87
  - product_name
88
88
  - product_description
@@ -97,7 +97,7 @@ fields:
97
97
  type: string
98
98
  description: Notice email address for the second party
99
99
  section: Signature Block
100
- required_fields:
100
+ priority_fields:
101
101
  - purpose
102
102
  - effective_date
103
103
  - mnda_term
@@ -73,7 +73,7 @@ fields:
73
73
  type: string
74
74
  description: Notice email address for the Recipient
75
75
  section: Signature Block
76
- required_fields:
76
+ priority_fields:
77
77
  - discloser_name_and_address
78
78
  - effective_date
79
79
  - purpose
@@ -190,7 +190,7 @@ fields:
190
190
  type: string
191
191
  description: Notice email address for the Customer
192
192
  section: Signature Block
193
- required_fields:
193
+ priority_fields:
194
194
  - company_name
195
195
  - provider_name
196
196
  - customer_name
@@ -248,7 +248,7 @@ fields:
248
248
  type: string
249
249
  description: Notice email address for the Customer
250
250
  section: Signature Block
251
- required_fields:
251
+ priority_fields:
252
252
  - company_name
253
253
  - provider_name
254
254
  - customer_name
@@ -361,7 +361,7 @@ fields:
361
361
  type: string
362
362
  description: Notice email address for the Partner
363
363
  section: Signature Block
364
- required_fields:
364
+ priority_fields:
365
365
  - company_name
366
366
  - governing_law
367
367
  - jurisdiction
@@ -140,7 +140,7 @@ fields:
140
140
  type: string
141
141
  description: Notice email address for the Customer
142
142
  section: Signature Block
143
- required_fields:
143
+ priority_fields:
144
144
  - company_name
145
145
  - product_description
146
146
  - pilot_period
@@ -447,7 +447,7 @@ fields:
447
447
  type: string
448
448
  description: Notice email address for the Customer
449
449
  section: Signature Block
450
- required_fields:
450
+ priority_fields:
451
451
  - company_name
452
452
  - provider_name
453
453
  - customer_name
@@ -10,4 +10,4 @@ attribution_text: >-
10
10
  Based on the Common Paper Software License Agreement, available at https://commonpaper.com. Licensed under CC BY 4.0.
11
11
  Copyright Common Paper, Inc.
12
12
  fields: []
13
- required_fields: []
13
+ priority_fields: []
@@ -170,7 +170,7 @@ fields:
170
170
  type: string
171
171
  description: Notice email address for the Customer
172
172
  section: Signature Block
173
- required_fields:
173
+ priority_fields:
174
174
  - company_name
175
175
  - provider_name
176
176
  - customer_name
@@ -70,7 +70,7 @@ fields:
70
70
  type: string
71
71
  description: Notice email address for the second party
72
72
  section: Signature Block
73
- required_fields:
73
+ priority_fields:
74
74
  - company_name
75
75
  - topic
76
76
  - topic_details
@@ -68,4 +68,4 @@ fields:
68
68
  description: Internal computed footer text for document-system traceability
69
69
  default: ''
70
70
  section: Document Management
71
- required_fields: []
71
+ priority_fields: []
@@ -57,4 +57,4 @@ fields:
57
57
  description: Internal computed footer text for document-system traceability
58
58
  default: ''
59
59
  section: Document Management
60
- required_fields: []
60
+ priority_fields: []
@@ -72,4 +72,4 @@ fields:
72
72
  description: Internal computed footer text for document-system traceability
73
73
  default: ''
74
74
  section: Document Management
75
- required_fields: []
75
+ priority_fields: []
@@ -18,5 +18,5 @@ fields:
18
18
  - name: working_group
19
19
  type: array
20
20
  description: Array of working group members (name, organization, role, email)
21
- required_fields:
21
+ priority_fields:
22
22
  - deal_name
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,wBAAgB,aAAa,IAAI,OAAO,CAsPvC;AA8CD,wBAAsB,MAAM,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,wBAAgB,aAAa,IAAI,OAAO,CA2PvC;AA8CD,wBAAsB,MAAM,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D"}
package/dist/cli/index.js CHANGED
@@ -24,6 +24,7 @@ export function createProgram() {
24
24
  .argument('<template>', 'Template name to fill')
25
25
  .option('-o, --output <path>', 'Output file path')
26
26
  .option('-d, --data <json-file>', 'JSON file with field values')
27
+ .option('--values <json-file>', 'Alias for --data')
27
28
  .option('--set <key=value...>', 'Set a field value (repeatable)')
28
29
  .option('--memo [format]', 'Generate memo artifact(s): json, markdown, or both (default: both)')
29
30
  .option('--memo-json <path>', 'Output path for memo JSON')
@@ -32,8 +33,9 @@ export function createProgram() {
32
33
  .option('--memo-baseline <template-id>', 'Baseline template id for deterministic variance checks')
33
34
  .action(async (template, opts) => {
34
35
  let values = {};
35
- if (opts.data) {
36
- values = JSON.parse(readFileSync(opts.data, 'utf-8'));
36
+ const dataPath = opts.data ?? opts.values;
37
+ if (dataPath) {
38
+ values = JSON.parse(readFileSync(dataPath, 'utf-8'));
37
39
  }
38
40
  for (const pair of opts.set ?? []) {
39
41
  const eq = pair.indexOf('=');
@@ -76,6 +78,7 @@ export function createProgram() {
76
78
  .option('-i, --input <path>', 'Source DOCX file (auto-downloads if omitted)')
77
79
  .option('-o, --output <path>', 'Output file path')
78
80
  .option('-d, --data <json-file>', 'JSON file with field values')
81
+ .option('--values <json-file>', 'Alias for --data')
79
82
  .option('--keep-intermediate', 'Preserve intermediate files')
80
83
  .option('--computed-out <path>', 'Write computed interaction artifact JSON')
81
84
  .option('--no-normalize-brackets', 'Disable post-fill bracket artifact normalization')
@@ -84,7 +87,7 @@ export function createProgram() {
84
87
  recipeId,
85
88
  input: opts.input,
86
89
  output: opts.output,
87
- data: opts.data,
90
+ data: opts.data ?? opts.values,
88
91
  keepIntermediate: opts.keepIntermediate,
89
92
  computedOut: opts.computedOut,
90
93
  normalizeBrackets: opts.normalizeBrackets,
@@ -124,8 +127,9 @@ export function createProgram() {
124
127
  .description('Initialize a new checklist in the state directory')
125
128
  .argument('<deal-name>', 'Deal name for the checklist')
126
129
  .option('-d, --data <json-file>', 'JSON file with initial checklist data (brownfield)')
130
+ .option('--values <json-file>', 'Alias for --data')
127
131
  .action(async (dealName, opts) => {
128
- await runChecklistCreate({ dealName, data: opts.data });
132
+ await runChecklistCreate({ dealName, data: opts.data ?? opts.values });
129
133
  });
130
134
  checklistCmd
131
135
  .command('list')