@open-agreements/open-agreements 0.4.0 → 0.6.2

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 (152) hide show
  1. package/README.md +15 -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 +99 -0
  9. package/content/recipes/nvca-certificate-of-incorporation/metadata.yaml +133 -2
  10. package/content/recipes/nvca-certificate-of-incorporation/replacements.json +95 -2
  11. package/content/recipes/nvca-certificate-of-incorporation/selections-roadmap.md +44 -0
  12. package/content/recipes/nvca-certificate-of-incorporation/selections.json +95 -0
  13. package/content/recipes/nvca-indemnification-agreement/metadata.yaml +9 -1
  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 +4 -1
  21. package/content/recipes/nvca-stock-purchase-agreement/clean.json +8 -3
  22. package/content/recipes/nvca-stock-purchase-agreement/computed.json +30 -0
  23. package/content/recipes/nvca-stock-purchase-agreement/metadata.yaml +25 -17
  24. package/content/recipes/nvca-stock-purchase-agreement/normalize.json +0 -16
  25. package/content/recipes/nvca-stock-purchase-agreement/replacements.json +22 -19
  26. package/content/recipes/nvca-stock-purchase-agreement/selections.json +60 -0
  27. package/content/recipes/nvca-voting-agreement/clean.json +11 -1
  28. package/content/recipes/nvca-voting-agreement/metadata.yaml +1 -1
  29. package/content/recipes/nvca-voting-agreement/replacements.json +2 -1
  30. package/content/templates/bonterms-mutual-nda/metadata.yaml +1 -1
  31. package/content/templates/bonterms-professional-services-agreement/metadata.yaml +1 -1
  32. package/content/templates/closing-checklist/metadata.yaml +1 -1
  33. package/content/templates/common-paper-ai-addendum/metadata.yaml +1 -1
  34. package/content/templates/common-paper-ai-addendum-in-app/metadata.yaml +1 -1
  35. package/content/templates/common-paper-amendment/metadata.yaml +1 -1
  36. package/content/templates/common-paper-business-associate-agreement/metadata.yaml +1 -1
  37. package/content/templates/common-paper-cloud-service-agreement/metadata.yaml +1 -1
  38. package/content/templates/common-paper-csa-click-through/metadata.yaml +1 -1
  39. package/content/templates/common-paper-csa-with-ai/metadata.yaml +1 -1
  40. package/content/templates/common-paper-csa-with-sla/metadata.yaml +1 -1
  41. package/content/templates/common-paper-csa-without-sla/metadata.yaml +1 -1
  42. package/content/templates/common-paper-data-processing-agreement/metadata.yaml +1 -1
  43. package/content/templates/common-paper-design-partner-agreement/metadata.yaml +1 -1
  44. package/content/templates/common-paper-independent-contractor-agreement/metadata.yaml +1 -1
  45. package/content/templates/common-paper-letter-of-intent/metadata.yaml +1 -1
  46. package/content/templates/common-paper-mutual-nda/metadata.yaml +1 -1
  47. package/content/templates/common-paper-one-way-nda/metadata.yaml +1 -1
  48. package/content/templates/common-paper-order-form/metadata.yaml +1 -1
  49. package/content/templates/common-paper-order-form-with-sla/metadata.yaml +1 -1
  50. package/content/templates/common-paper-partnership-agreement/metadata.yaml +1 -1
  51. package/content/templates/common-paper-pilot-agreement/metadata.yaml +1 -1
  52. package/content/templates/common-paper-professional-services-agreement/metadata.yaml +1 -1
  53. package/content/templates/common-paper-software-license-agreement/metadata.yaml +1 -1
  54. package/content/templates/common-paper-statement-of-work/metadata.yaml +1 -1
  55. package/content/templates/common-paper-term-sheet/metadata.yaml +1 -1
  56. package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +1 -1
  57. package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +1 -1
  58. package/content/templates/openagreements-employment-offer-letter/metadata.yaml +1 -1
  59. package/content/templates/working-group-list/metadata.yaml +1 -1
  60. package/dist/cli/index.d.ts.map +1 -1
  61. package/dist/cli/index.js +8 -4
  62. package/dist/cli/index.js.map +1 -1
  63. package/dist/commands/fill.js +3 -3
  64. package/dist/commands/fill.js.map +1 -1
  65. package/dist/commands/list.js +19 -15
  66. package/dist/commands/list.js.map +1 -1
  67. package/dist/core/command-generation/adapters/claude.js +4 -4
  68. package/dist/core/employment/memo.js +3 -3
  69. package/dist/core/engine.js +1 -1
  70. package/dist/core/external/index.js +1 -1
  71. package/dist/core/fill-pipeline.d.ts +3 -3
  72. package/dist/core/fill-pipeline.js +6 -6
  73. package/dist/core/fill-pipeline.js.map +1 -1
  74. package/dist/core/metadata.d.ts +13 -3
  75. package/dist/core/metadata.d.ts.map +1 -1
  76. package/dist/core/metadata.js +19 -11
  77. package/dist/core/metadata.js.map +1 -1
  78. package/dist/core/recipe/bracket-normalizer.d.ts +4 -5
  79. package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
  80. package/dist/core/recipe/bracket-normalizer.js +67 -149
  81. package/dist/core/recipe/bracket-normalizer.js.map +1 -1
  82. package/dist/core/recipe/cleaner.d.ts.map +1 -1
  83. package/dist/core/recipe/cleaner.js +91 -7
  84. package/dist/core/recipe/cleaner.js.map +1 -1
  85. package/dist/core/recipe/computed.d.ts +1 -0
  86. package/dist/core/recipe/computed.d.ts.map +1 -1
  87. package/dist/core/recipe/computed.js +8 -0
  88. package/dist/core/recipe/computed.js.map +1 -1
  89. package/dist/core/recipe/downloader.d.ts.map +1 -1
  90. package/dist/core/recipe/downloader.js +8 -3
  91. package/dist/core/recipe/downloader.js.map +1 -1
  92. package/dist/core/recipe/index.d.ts +2 -1
  93. package/dist/core/recipe/index.d.ts.map +1 -1
  94. package/dist/core/recipe/index.js +13 -5
  95. package/dist/core/recipe/index.js.map +1 -1
  96. package/dist/core/recipe/patcher.d.ts +10 -5
  97. package/dist/core/recipe/patcher.d.ts.map +1 -1
  98. package/dist/core/recipe/patcher.js +186 -138
  99. package/dist/core/recipe/patcher.js.map +1 -1
  100. package/dist/core/recipe/replacement-keys.d.ts +9 -7
  101. package/dist/core/recipe/replacement-keys.d.ts.map +1 -1
  102. package/dist/core/recipe/replacement-keys.js +7 -20
  103. package/dist/core/recipe/replacement-keys.js.map +1 -1
  104. package/dist/core/recipe/source-drift.js +1 -1
  105. package/dist/core/recipe/source-drift.js.map +1 -1
  106. package/dist/core/recipe/verifier.d.ts +8 -1
  107. package/dist/core/recipe/verifier.d.ts.map +1 -1
  108. package/dist/core/recipe/verifier.js +69 -3
  109. package/dist/core/recipe/verifier.js.map +1 -1
  110. package/dist/core/selector.d.ts +4 -0
  111. package/dist/core/selector.d.ts.map +1 -1
  112. package/dist/core/selector.js +278 -7
  113. package/dist/core/selector.js.map +1 -1
  114. package/dist/core/template-listing.d.ts +3 -1
  115. package/dist/core/template-listing.d.ts.map +1 -1
  116. package/dist/core/template-listing.js +4 -3
  117. package/dist/core/template-listing.js.map +1 -1
  118. package/dist/core/unified-pipeline.d.ts +5 -2
  119. package/dist/core/unified-pipeline.d.ts.map +1 -1
  120. package/dist/core/unified-pipeline.js +71 -3
  121. package/dist/core/unified-pipeline.js.map +1 -1
  122. package/dist/core/validation/external.d.ts.map +1 -1
  123. package/dist/core/validation/external.js +0 -2
  124. package/dist/core/validation/external.js.map +1 -1
  125. package/dist/core/validation/recipe.d.ts.map +1 -1
  126. package/dist/core/validation/recipe.js +34 -6
  127. package/dist/core/validation/recipe.js.map +1 -1
  128. package/dist/core/validation/scan-metadata.d.ts +2 -1
  129. package/dist/core/validation/scan-metadata.d.ts.map +1 -1
  130. package/dist/core/validation/scan-metadata.js +20 -3
  131. package/dist/core/validation/scan-metadata.js.map +1 -1
  132. package/dist/core/validation/template.js +5 -5
  133. package/package.json +5 -4
  134. package/server.json +31 -0
  135. package/skills/client-email/SKILL.md +143 -0
  136. package/skills/cloud-service-agreement/SKILL.md +8 -99
  137. package/skills/data-privacy-agreement/SKILL.md +10 -97
  138. package/skills/delaware-franchise-tax/SKILL.md +7 -1
  139. package/skills/edit-docx-agreement/SKILL.md +10 -3
  140. package/skills/employment-contract/SKILL.md +10 -95
  141. package/skills/iso-27001-evidence-collection/SKILL.md +7 -1
  142. package/skills/iso-27001-internal-audit/SKILL.md +6 -0
  143. package/skills/nda/SKILL.md +7 -99
  144. package/skills/open-agreements/CONNECTORS.md +1 -1
  145. package/skills/open-agreements/SKILL.md +17 -104
  146. package/skills/recipe-quality-audit/SKILL.md +116 -0
  147. package/skills/safe/SKILL.md +12 -97
  148. package/skills/services-agreement/SKILL.md +8 -99
  149. package/skills/shared/template-filling-execution.md +92 -0
  150. package/skills/soc2-readiness/SKILL.md +7 -1
  151. package/skills/unit-test-philosophy/SKILL.md +12 -1
  152. package/skills/venture-financing/SKILL.md +11 -96
@@ -0,0 +1,95 @@
1
+ {
2
+ "groups": [
3
+ {
4
+ "id": "dividends",
5
+ "type": "radio",
6
+ "markerless": true,
7
+ "subClauseStopPatterns": ["^Liquidation"],
8
+ "options": [
9
+ {
10
+ "marker": "highest Preferred Stock dividend for the applicable series",
11
+ "trigger": "default"
12
+ },
13
+ {
14
+ "marker": "The holders of then outstanding shares of Preferred Stock shall be entitled to receive, only when, as and if declared",
15
+ "trigger": { "field": "dividend_type", "equals": "non_cumulative_fixed" }
16
+ },
17
+ {
18
+ "marker": "From and after the date of the issuance of any shares of Preferred Stock, dividends at the rate per annum",
19
+ "trigger": { "field": "dividend_type", "equals": "cumulative" }
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "id": "liquidation_section_2_1",
25
+ "type": "radio",
26
+ "markerless": true,
27
+ "subClauseStopPatterns": ["^2\\.1Preferential", "^Payments to Holders of Common Stock", "^2\\.2Distribution", "^Deemed Liquidation Events"],
28
+ "options": [
29
+ {
30
+ "marker": "such amount per share as would have been payable had all shares",
31
+ "trigger": "default"
32
+ },
33
+ {
34
+ "marker": "2.1Preferential Payments",
35
+ "trigger": { "field": "liquidation_participation", "equals": "participating" }
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "id": "liquidation_section_2_2",
41
+ "type": "radio",
42
+ "markerless": true,
43
+ "subClauseStopPatterns": ["^Deemed Liquidation Events"],
44
+ "options": [
45
+ {
46
+ "marker": "Payments to Holders of Common Stock",
47
+ "trigger": "default"
48
+ },
49
+ {
50
+ "marker": "Distribution of Remaining Assets",
51
+ "trigger": { "field": "liquidation_participation", "equals": "participating" }
52
+ }
53
+ ]
54
+ },
55
+ {
56
+ "id": "anti_dilution",
57
+ "type": "radio",
58
+ "markerless": true,
59
+ "subClauseStopPatterns": ["^Determination of Consideration"],
60
+ "options": [
61
+ {
62
+ "marker": "determined in accordance with the following formula",
63
+ "trigger": "default"
64
+ },
65
+ {
66
+ "marker": "4.4.4Adjustment of Conversion Price",
67
+ "trigger": { "field": "anti_dilution_type", "equals": "full_ratchet" }
68
+ }
69
+ ]
70
+ },
71
+ {
72
+ "id": "pay_to_play",
73
+ "type": "checkbox",
74
+ "markerless": true,
75
+ "subClauseStopPatterns": ["^Redemption"],
76
+ "options": [
77
+ {
78
+ "marker": "Special Mandatory Conversion.,",
79
+ "trigger": { "field": "include_pay_to_play" }
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "id": "redemption_provisions",
85
+ "type": "checkbox",
86
+ "markerless": true,
87
+ "options": [
88
+ {
89
+ "marker": "General. Unless prohibited by Delaware law",
90
+ "trigger": { "field": "include_redemption" }
91
+ }
92
+ ]
93
+ }
94
+ ]
95
+ }
@@ -19,6 +19,9 @@ fields:
19
19
  - name: company_name
20
20
  type: string
21
21
  description: Name of the corporation providing indemnification
22
+ - name: agreement_effective_date
23
+ type: string
24
+ description: Effective date in the opening clause (e.g., March 20, 2026)
22
25
  - name: fund_sponsor_name
23
26
  type: string
24
27
  description: Name of the sponsoring fund or entity appointing the indemnitee
@@ -58,6 +61,10 @@ fields:
58
61
  type: string
59
62
  description: Optional additional party text or empty string
60
63
  default: ''
64
+ - name: appointing_stockholder_ipo_termination_clause
65
+ type: string
66
+ description: Optional clause text that terminates Appointing Stockholder rights at IPO closing
67
+ default: ''
61
68
  - name: indemnification_section_letter
62
69
  type: string
63
70
  description: Section reference letter for indemnification provisions in the certificate
@@ -66,10 +73,11 @@ fields:
66
73
  type: string
67
74
  description: Signature page marker text
68
75
  default: Signature Page Follows
69
- required_fields:
76
+ priority_fields:
70
77
  - indemnitee_name
71
78
  - indemnitee_address
72
79
  - company_name
80
+ - agreement_effective_date
73
81
  - indemnitee_role
74
82
  - indemnitee_role_plural
75
83
  - indemnitee_pronoun_possessive
@@ -1,12 +1,20 @@
1
1
  {
2
2
  "removeFootnotes": true,
3
3
  "removeParagraphPatterns": [
4
+ "^An Investors['\u2019] Rights Agreement can cover many different subjects",
4
5
  "^Note to Drafter:",
5
6
  "^Preliminary Note\\b",
6
7
  "^Alternative 1:",
7
8
  "^Alternative 2:",
8
9
  "^Alternative:",
9
10
  "^\\[Alternative",
10
- "^Annex 2"
11
+ "^Annex 2",
12
+ "^Last [Uu]pdated"
13
+ ],
14
+ "removeRanges": [
15
+ {
16
+ "start": "^This sample document is the work product",
17
+ "end": "are flagged as .Revised."
18
+ }
11
19
  ]
12
20
  }
@@ -59,7 +59,7 @@ fields:
59
59
  - name: checklist_delivery_date
60
60
  type: string
61
61
  description: Date the compliance checklist is being delivered
62
- required_fields:
62
+ priority_fields:
63
63
  - company_name
64
64
  - company_name_short
65
65
  - investor_name
@@ -14,5 +14,8 @@
14
14
  "[description of business]": "{business_description}",
15
15
  "[Signature Page Follows]": "{signature_page_marker}",
16
16
  "[_________ __, 20__]": "{effective_date}",
17
- "[Date checklist is being delivered]": "{checklist_delivery_date}"
17
+ "[Date checklist is being delivered]": "{checklist_delivery_date}",
18
+ "[________], 20[__]": "{effective_date}",
19
+ "among [____________], a Delaware": "among {company_name}, a Delaware",
20
+ "U.S. District Court for the District of [_____]": "U.S. District Court for the {judicial_district}"
18
21
  }
@@ -37,7 +37,7 @@ fields:
37
37
  type: string
38
38
  description: Signature page marker text
39
39
  default: Signature Page Follows
40
- required_fields:
40
+ priority_fields:
41
41
  - company_name_upper
42
42
  - investor_name
43
43
  - investor_name_upper
@@ -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
  }
@@ -26,6 +26,10 @@ fields:
26
26
  type: string
27
27
  description: Additional counsel to CC on notices, or empty string if none
28
28
  default: ''
29
+ - name: optional_blank_value
30
+ type: string
31
+ description: Empty-value replacement used to clear optional bracketed drafting text and formatting artifacts
32
+ default: ''
29
33
  - name: amended_restated_upper
30
34
  type: string
31
35
  description: Uppercase prefix if amending a prior agreement (e.g. AMENDED AND RESTATED) or empty string
@@ -63,7 +67,7 @@ fields:
63
67
  type: string
64
68
  description: Label for the key holders group (e.g. Key Holders or Founders)
65
69
  default: Key Holders
66
- required_fields:
70
+ priority_fields:
67
71
  - company_name
68
72
  - investor_name
69
73
  - key_holder_name
@@ -13,5 +13,8 @@
13
13
  "[_____ __, 20___]": "{effective_date}",
14
14
  "[specify percentage]": "{specify_percentage}",
15
15
  "[45]": "{rofr_response_days}",
16
- "[Key Holders]": "{key_holders_label}"
16
+ "[Key Holders]": "{key_holders_label}",
17
+ "[________], 20[__]": "{effective_date}",
18
+ "among [____________], a Delaware": "among {company_name}, a Delaware",
19
+ "U.S. District Court for the District of [_____]": "U.S. District Court for the {judicial_district}"
17
20
  }
@@ -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
  }
@@ -1,6 +1,13 @@
1
1
  {
2
2
  "version": "1.0",
3
3
  "max_passes": 4,
4
+ "defaults": {
5
+ "initial_word_lower": "",
6
+ "initial_word_title": "",
7
+ "closing_heading": "Closing.",
8
+ "optional_plural_suffix": "",
9
+ "purchaser_scope": "all"
10
+ },
4
11
  "rules": [
5
12
  {
6
13
  "id": "derive-dispute-resolution-track-arbitration",
@@ -70,6 +77,29 @@
70
77
  "judicial_district": "District of Delaware"
71
78
  }
72
79
  },
80
+ {
81
+ "id": "derive-purchaser-scope-narrow",
82
+ "description": "Narrow consent: each purchaser binds only their own convertible securities.",
83
+ "when_all": [
84
+ { "field": "bind_all_convertible_holders_to_convert", "op": "eq", "value": "false" }
85
+ ],
86
+ "set_fill": {
87
+ "purchaser_scope": "such"
88
+ }
89
+ },
90
+ {
91
+ "id": "derive-closing-type-additional",
92
+ "description": "When closing_type is additional, populate Initial qualifier fields.",
93
+ "when_all": [
94
+ { "field": "closing_type", "op": "eq", "value": "additional" }
95
+ ],
96
+ "set_fill": {
97
+ "initial_word_lower": "initial ",
98
+ "initial_word_title": "Initial ",
99
+ "closing_heading": "Initial Closing.",
100
+ "optional_plural_suffix": "s"
101
+ }
102
+ },
73
103
  {
74
104
  "id": "derive-governing-law-baseline",
75
105
  "description": "NVCA SPA governing law clause is fixed to Delaware.",
@@ -52,30 +52,38 @@ fields:
52
52
  type: string
53
53
  description: Optional word inserted before Closing in bracketed templates
54
54
  default: ""
55
- - name: optional_closing_reference
56
- type: string
57
- description: Optional bracket fragment after Exhibit A in opening purchase clause
58
- default: ""
59
- - name: optional_clause_text
60
- type: string
61
- description: Optional alternate purchase-price clause text for conversion scenarios
62
- default: ""
55
+ - name: include_convertible_securities
56
+ type: boolean
57
+ description: Include convertible securities conversion clause in Section 1.1(b)
58
+ default: "false"
59
+ - name: include_closing_reference
60
+ type: boolean
61
+ description: Include "with respect to such Closing" bracket in purchase clause
62
+ default: "false"
63
+ - name: purchaser_scope
64
+ type: string
65
+ description: Convertible securities consent scope word — set by computed.json from bind_all_convertible_holders_to_convert
63
66
  - name: optional_plural_suffix
64
67
  type: string
65
- description: Optional plural suffix used in bracketed labels like Closing[s]
66
- default: ""
68
+ description: Optional plural suffix set by computed.json defaults
67
69
  - name: closing_heading
68
70
  type: string
69
- description: Heading text used for single-closing default
70
- default: Initial Closing.
71
+ description: Heading text set by computed.json defaults
71
72
  - name: initial_word_lower
72
73
  type: string
73
- description: Lowercase word used for single-closing phrasing
74
- default: initial
74
+ description: Lowercase qualifier set by computed.json defaults and rules
75
75
  - name: initial_word_title
76
76
  type: string
77
- description: Titlecase word used for single-closing phrasing
78
- default: Initial
77
+ description: Titlecase qualifier set by computed.json defaults and rules
78
+ - name: bind_all_convertible_holders_to_convert
79
+ type: boolean
80
+ description: Purchasers agree on behalf of all convertible security holders to convert (not just their own)
81
+ default: "true"
82
+ - name: closing_type
83
+ type: enum
84
+ description: Single closing or additional closings
85
+ options: [single, additional]
86
+ default: single
79
87
  - name: dispute_resolution_mode
80
88
  type: enum
81
89
  description: Dispute resolution alternative in SPA (Alternative 1 arbitration or Alternative 2 courts)
@@ -121,7 +129,7 @@ fields:
121
129
  - name: applicable_purchasers
122
130
  type: string
123
131
  description: Names of the applicable purchasers
124
- required_fields:
132
+ priority_fields:
125
133
  - company_name
126
134
  - investor_name
127
135
  - 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,25 +8,22 @@
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
- "[with respect to such Closing]": "{optional_closing_reference}",
23
- "[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}",
25
- "[Initial Closing.]": "{closing_heading}",
26
- "[initial]": "{initial_word_lower}",
27
- "[Initial]": "{initial_word_title}",
28
- "[Initial/applicable]": "{initial_word_title}",
29
- "[applicable/Initial]": "{initial_word_title}",
19
+ "[such/all]": "{purchaser_scope}",
20
+ "Closing > [s]": "{optional_plural_suffix}",
21
+ "[Initial Closing.]": { "value": "{closing_heading}", "format": { "underline": true } },
22
+ "[initial] ": "{initial_word_lower}",
23
+ "[Initial] ": "{initial_word_title}",
24
+ "[Initial/applicable] ": "{initial_word_title}",
25
+ "[applicable/Initial] ": "{initial_word_title}",
26
+ "[Initial][applicable] ": "{initial_word_title}",
30
27
  "[location]": "{arbitration_location}",
31
28
  "[judicial district]": "{judicial_district}",
32
29
  "[Balance Sheet Date]": "{balance_sheet_date}",
@@ -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,60 @@
1
+ {
2
+ "groups": [
3
+ {
4
+ "id": "additional_closings",
5
+ "type": "checkbox",
6
+ "standalone": true,
7
+ "markerless": true,
8
+ "subClauseStopPatterns": ["^Closing Deliverables", "^Defined Terms"],
9
+ "options": [
10
+ {
11
+ "marker": "Additional Closings",
12
+ "trigger": { "field": "closing_type", "equals": "additional" },
13
+ "replaceWith": "[Reserved]"
14
+ }
15
+ ]
16
+ },
17
+ {
18
+ "id": "tranche_closing_clause",
19
+ "type": "checkbox",
20
+ "standalone": true,
21
+ "markerless": true,
22
+ "inline": true,
23
+ "options": [
24
+ {
25
+ "marker": ", [Each Purchaser at the Initial Closing shall be obligated to purchase that number of Tranche Closing Shares (as defined below) as is set forth opposite such Purchaser's name on Exhibit A under the heading \"Tranche Closing Shares\" (as to any Purchaser, its \"Tranche Closing Shares\"), as provided in Section [1.2(c)] below.]",
26
+ "trigger": { "field": "include_tranche_closing", "equals": true },
27
+ "replaceWith": ""
28
+ }
29
+ ]
30
+ },
31
+ {
32
+ "id": "convertible_securities_clause",
33
+ "type": "checkbox",
34
+ "standalone": true,
35
+ "markerless": true,
36
+ "inline": true,
37
+ "options": [
38
+ {
39
+ "marker": "[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]",
40
+ "trigger": { "field": "include_convertible_securities", "equals": true },
41
+ "replaceWith": ""
42
+ }
43
+ ]
44
+ },
45
+ {
46
+ "id": "closing_reference_bracket",
47
+ "type": "checkbox",
48
+ "standalone": true,
49
+ "markerless": true,
50
+ "inline": true,
51
+ "options": [
52
+ {
53
+ "marker": "[with respect to such Closing]",
54
+ "trigger": { "field": "include_closing_reference", "equals": true },
55
+ "replaceWith": ""
56
+ }
57
+ ]
58
+ }
59
+ ]
60
+ }
@@ -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