open-agreements 0.7.4 → 0.7.6

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 (391) hide show
  1. package/README.de.md +300 -255
  2. package/README.es.md +301 -254
  3. package/README.md +391 -90
  4. package/README.pt-br.md +301 -254
  5. package/README.template.md +333 -0
  6. package/README.zh.md +300 -253
  7. package/SECURITY.md +34 -0
  8. package/content/recipes/nvca-stock-purchase-agreement/README.md +39 -0
  9. package/content/recipes/nvca-voting-agreement/README.md +43 -0
  10. package/content/templates/bonterms-mutual-nda/README.md +2 -2
  11. package/content/templates/bonterms-mutual-nda/metadata.yaml +5 -11
  12. package/content/templates/bonterms-professional-services-agreement/README.md +2 -2
  13. package/content/templates/bonterms-professional-services-agreement/metadata.yaml +2 -2
  14. package/content/templates/closing-checklist/template.docx +0 -0
  15. package/content/templates/closing-checklist/template.md +30 -0
  16. package/content/templates/common-paper-ai-addendum/template.docx +0 -0
  17. package/content/templates/common-paper-ai-addendum-in-app/template.docx +0 -0
  18. package/content/templates/common-paper-csa-with-ai/template.docx +0 -0
  19. package/content/templates/common-paper-independent-contractor-agreement/template.docx +0 -0
  20. package/content/templates/common-paper-mutual-nda/README.md +28 -0
  21. package/content/templates/common-paper-one-way-nda/metadata.yaml +1 -1
  22. package/content/templates/common-paper-term-sheet/template.docx +0 -0
  23. package/content/templates/openagreements-board-consent-safe/.template.generated.json +74 -0
  24. package/content/templates/openagreements-board-consent-safe/README.md +61 -0
  25. package/content/templates/openagreements-board-consent-safe/metadata.yaml +53 -0
  26. package/content/templates/openagreements-board-consent-safe/reference-source.docx +0 -0
  27. package/content/templates/openagreements-board-consent-safe/template.docx +0 -0
  28. package/content/templates/openagreements-board-consent-safe/template.md +66 -0
  29. package/content/templates/openagreements-due-diligence-request-list/README.md +68 -0
  30. package/content/templates/openagreements-due-diligence-request-list/metadata.yaml +300 -0
  31. package/content/templates/openagreements-due-diligence-request-list/template.docx +0 -0
  32. package/content/templates/openagreements-due-diligence-request-list/template.md +318 -0
  33. package/content/templates/openagreements-employee-ip-inventions-assignment/.template.generated.json +230 -0
  34. package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +1 -1
  35. package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
  36. package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +96 -35
  37. package/content/templates/openagreements-employment-confidentiality-acknowledgement/README.md +1 -1
  38. package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +2 -2
  39. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
  40. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.json +75 -0
  41. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.md +8 -4
  42. package/content/templates/openagreements-employment-offer-letter/.template.generated.json +224 -0
  43. package/content/templates/openagreements-employment-offer-letter/README.md +65 -1
  44. package/content/templates/openagreements-employment-offer-letter/metadata.yaml +1 -1
  45. package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
  46. package/content/templates/openagreements-employment-offer-letter/template.md +70 -30
  47. package/content/templates/openagreements-restrictive-covenant-florida/.template.generated.json +456 -0
  48. package/content/templates/openagreements-restrictive-covenant-florida/README.md +141 -0
  49. package/content/templates/openagreements-restrictive-covenant-florida/metadata.yaml +419 -0
  50. package/content/templates/openagreements-restrictive-covenant-florida/template.docx +0 -0
  51. package/content/templates/openagreements-restrictive-covenant-florida/template.md +233 -0
  52. package/content/templates/openagreements-restrictive-covenant-wyoming/.template.generated.json +399 -0
  53. package/content/templates/openagreements-restrictive-covenant-wyoming/metadata.yaml +69 -12
  54. package/content/templates/openagreements-restrictive-covenant-wyoming/template.docx +0 -0
  55. package/content/templates/openagreements-restrictive-covenant-wyoming/template.md +110 -59
  56. package/content/templates/openagreements-stockholder-consent-safe/.template.generated.json +74 -0
  57. package/content/templates/openagreements-stockholder-consent-safe/README.md +62 -0
  58. package/content/templates/openagreements-stockholder-consent-safe/metadata.yaml +53 -0
  59. package/content/templates/openagreements-stockholder-consent-safe/reference-source.docx +0 -0
  60. package/content/templates/openagreements-stockholder-consent-safe/template.docx +0 -0
  61. package/content/templates/openagreements-stockholder-consent-safe/template.md +62 -0
  62. package/content/templates/working-group-list/template.docx +0 -0
  63. package/content/templates/working-group-list/template.md +18 -0
  64. package/dist/cli/index.js.map +1 -1
  65. package/dist/commands/fill.d.ts +1 -1
  66. package/dist/commands/fill.d.ts.map +1 -1
  67. package/dist/commands/fill.js +4 -1
  68. package/dist/commands/fill.js.map +1 -1
  69. package/dist/commands/list.js +11 -1
  70. package/dist/commands/list.js.map +1 -1
  71. package/dist/commands/recipe.js.map +1 -1
  72. package/dist/core/checklist/docx-import.d.ts.map +1 -1
  73. package/dist/core/employment/jurisdiction-rules.js +2 -2
  74. package/dist/core/employment/jurisdiction-rules.js.map +1 -1
  75. package/dist/core/employment/memo.d.ts +1 -1
  76. package/dist/core/employment/memo.d.ts.map +1 -1
  77. package/dist/core/employment/memo.js +14 -6
  78. package/dist/core/employment/memo.js.map +1 -1
  79. package/dist/core/engine.d.ts.map +1 -1
  80. package/dist/core/engine.js +28 -0
  81. package/dist/core/engine.js.map +1 -1
  82. package/dist/core/fill-pipeline.d.ts +30 -5
  83. package/dist/core/fill-pipeline.d.ts.map +1 -1
  84. package/dist/core/fill-pipeline.js +173 -9
  85. package/dist/core/fill-pipeline.js.map +1 -1
  86. package/dist/core/humanize-docx.d.ts +21 -0
  87. package/dist/core/humanize-docx.d.ts.map +1 -0
  88. package/dist/core/humanize-docx.js +492 -0
  89. package/dist/core/humanize-docx.js.map +1 -0
  90. package/dist/core/metadata.d.ts +119 -65
  91. package/dist/core/metadata.d.ts.map +1 -1
  92. package/dist/core/metadata.js +269 -13
  93. package/dist/core/metadata.js.map +1 -1
  94. package/dist/core/recipe/bracket-normalizer.d.ts +1 -1
  95. package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
  96. package/dist/core/recipe/bracket-normalizer.js +3 -0
  97. package/dist/core/recipe/bracket-normalizer.js.map +1 -1
  98. package/dist/core/recipe/computed.d.ts +1 -1
  99. package/dist/core/recipe/computed.d.ts.map +1 -1
  100. package/dist/core/recipe/index.d.ts.map +1 -1
  101. package/dist/core/recipe/index.js +22 -4
  102. package/dist/core/recipe/index.js.map +1 -1
  103. package/dist/core/recipe/patcher.js +0 -24
  104. package/dist/core/recipe/patcher.js.map +1 -1
  105. package/dist/core/recipe/types.d.ts +1 -1
  106. package/dist/core/recipe/types.d.ts.map +1 -1
  107. package/dist/core/recipe/verifier.js.map +1 -1
  108. package/dist/core/selector.js +0 -1
  109. package/dist/core/selector.js.map +1 -1
  110. package/dist/core/template-listing.d.ts +6 -8
  111. package/dist/core/template-listing.d.ts.map +1 -1
  112. package/dist/core/template-listing.js +24 -0
  113. package/dist/core/template-listing.js.map +1 -1
  114. package/dist/core/template-search.d.ts +36 -0
  115. package/dist/core/template-search.d.ts.map +1 -0
  116. package/dist/core/template-search.js +84 -0
  117. package/dist/core/template-search.js.map +1 -0
  118. package/dist/core/unified-pipeline.d.ts +2 -0
  119. package/dist/core/unified-pipeline.d.ts.map +1 -1
  120. package/dist/core/unified-pipeline.js +19 -1
  121. package/dist/core/unified-pipeline.js.map +1 -1
  122. package/dist/core/validation/template.d.ts +32 -0
  123. package/dist/core/validation/template.d.ts.map +1 -1
  124. package/dist/core/validation/template.js +163 -3
  125. package/dist/core/validation/template.js.map +1 -1
  126. package/dist/index.d.ts +1 -0
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +2 -0
  129. package/dist/index.js.map +1 -1
  130. package/gemini-extension.json +1 -1
  131. package/node_modules/@usejunior/docx-core/dist/.tsbuildinfo +1 -1
  132. package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts.map +1 -1
  133. package/node_modules/@usejunior/docx-core/dist/atomizer.js +12 -4
  134. package/node_modules/@usejunior/docx-core/dist/atomizer.js.map +1 -1
  135. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/atomLcs.d.ts +0 -14
  136. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/atomLcs.d.ts.map +1 -1
  137. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/atomLcs.js +31 -2
  138. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/atomLcs.js.map +1 -1
  139. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.d.ts +11 -0
  140. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -1
  141. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js +180 -6
  142. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
  143. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/hierarchicalLcs.d.ts +14 -4
  144. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/hierarchicalLcs.d.ts.map +1 -1
  145. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/hierarchicalLcs.js +344 -60
  146. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/hierarchicalLcs.js.map +1 -1
  147. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts +35 -1
  148. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -1
  149. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js +186 -12
  150. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js.map +1 -1
  151. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts.map +1 -1
  152. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js +31 -13
  153. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js.map +1 -1
  154. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/xmlToWmlElement.d.ts.map +1 -1
  155. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/xmlToWmlElement.js +3 -2
  156. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/xmlToWmlElement.js.map +1 -1
  157. package/node_modules/@usejunior/docx-core/dist/format-detection.d.ts.map +1 -1
  158. package/node_modules/@usejunior/docx-core/dist/format-detection.js +2 -1
  159. package/node_modules/@usejunior/docx-core/dist/format-detection.js.map +1 -1
  160. package/node_modules/@usejunior/docx-core/dist/move-detection.d.ts.map +1 -1
  161. package/node_modules/@usejunior/docx-core/dist/move-detection.js +3 -4
  162. package/node_modules/@usejunior/docx-core/dist/move-detection.js.map +1 -1
  163. package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts +2 -2
  164. package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts.map +1 -1
  165. package/node_modules/@usejunior/docx-core/dist/primitives/comments.js +7 -2
  166. package/node_modules/@usejunior/docx-core/dist/primitives/comments.js.map +1 -1
  167. package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts +2 -2
  168. package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts.map +1 -1
  169. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts +1 -5
  170. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts.map +1 -1
  171. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js +12 -25
  172. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js.map +1 -1
  173. package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts.map +1 -1
  174. package/node_modules/@usejunior/docx-core/dist/primitives/layout.js +4 -6
  175. package/node_modules/@usejunior/docx-core/dist/primitives/layout.js.map +1 -1
  176. package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts.map +1 -1
  177. package/node_modules/@usejunior/docx-core/dist/primitives/xml.js +2 -0
  178. package/node_modules/@usejunior/docx-core/dist/primitives/xml.js.map +1 -1
  179. package/node_modules/@usejunior/docx-core/package.json +3 -3
  180. package/package.json +29 -15
  181. package/skills/canonical-markdown-authoring/CONNECTORS.md +67 -0
  182. package/skills/canonical-markdown-authoring/SKILL.md +565 -0
  183. package/skills/client-email/SKILL.md +2 -0
  184. package/skills/cloud-service-agreement/CONNECTORS.md +2 -2
  185. package/skills/cloud-service-agreement/SKILL.md +39 -2
  186. package/skills/cloud-service-agreement/template-filling-execution.md +92 -0
  187. package/skills/data-privacy-agreement/CONNECTORS.md +2 -2
  188. package/skills/data-privacy-agreement/SKILL.md +2 -0
  189. package/skills/delaware-franchise-tax/SKILL.md +2 -0
  190. package/skills/edit-docx-agreement/SKILL.md +2 -0
  191. package/skills/employment-contract/CONNECTORS.md +2 -2
  192. package/skills/employment-contract/SKILL.md +2 -0
  193. package/skills/iso-27001-evidence-collection/SKILL.md +2 -0
  194. package/skills/iso-27001-internal-audit/SKILL.md +2 -0
  195. package/skills/nda/CONNECTORS.md +2 -2
  196. package/skills/nda/SKILL.md +46 -2
  197. package/skills/nda/template-filling-execution.md +98 -0
  198. package/skills/non-compete-contract-explainer/SKILL.md +107 -0
  199. package/skills/non-compete-contract-explainer/content/wyoming.md +286 -0
  200. package/skills/non-compete-contract-explainer/manifest.json +18 -0
  201. package/skills/open-agreements/CONNECTORS.md +2 -2
  202. package/skills/open-agreements/SKILL.md +165 -67
  203. package/skills/open-agreements/template-filling-execution.md +92 -0
  204. package/skills/recipe-quality-audit/SKILL.md +2 -0
  205. package/skills/safe/CONNECTORS.md +2 -2
  206. package/skills/safe/SKILL.md +39 -2
  207. package/skills/safe/template-filling-execution.md +92 -0
  208. package/skills/services-agreement/CONNECTORS.md +2 -2
  209. package/skills/services-agreement/SKILL.md +40 -1
  210. package/skills/services-agreement/template-filling-execution.md +81 -0
  211. package/skills/shared/template-filling-execution.md +2 -2
  212. package/skills/soc2-readiness/SKILL.md +2 -0
  213. package/skills/unit-test-philosophy/SKILL.md +3 -0
  214. package/skills/venture-financing/CONNECTORS.md +2 -2
  215. package/skills/venture-financing/SKILL.md +2 -0
  216. package/content/templates/openagreements-restrictive-covenant-wyoming/practice-note.md +0 -103
  217. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/CHANGELOG.md +0 -468
  218. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/LICENSE +0 -8
  219. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/SECURITY.md +0 -50
  220. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/index.d.ts +0 -43
  221. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +0 -2
  222. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/conventions.js +0 -203
  223. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/dom-parser.js +0 -322
  224. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/dom.js +0 -1879
  225. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/entities.js +0 -2166
  226. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/index.js +0 -4
  227. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/sax.js +0 -662
  228. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/package.json +0 -71
  229. package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/readme.md +0 -356
  230. package/node_modules/core-util-is/LICENSE +0 -19
  231. package/node_modules/core-util-is/README.md +0 -3
  232. package/node_modules/core-util-is/lib/util.js +0 -107
  233. package/node_modules/core-util-is/package.json +0 -38
  234. package/node_modules/immediate/LICENSE.txt +0 -20
  235. package/node_modules/immediate/README.md +0 -93
  236. package/node_modules/immediate/dist/immediate.js +0 -75
  237. package/node_modules/immediate/dist/immediate.min.js +0 -1
  238. package/node_modules/immediate/lib/browser.js +0 -69
  239. package/node_modules/immediate/lib/index.js +0 -73
  240. package/node_modules/immediate/package.json +0 -42
  241. package/node_modules/inherits/LICENSE +0 -16
  242. package/node_modules/inherits/README.md +0 -42
  243. package/node_modules/inherits/inherits.js +0 -9
  244. package/node_modules/inherits/inherits_browser.js +0 -27
  245. package/node_modules/inherits/package.json +0 -29
  246. package/node_modules/isarray/.npmignore +0 -1
  247. package/node_modules/isarray/.travis.yml +0 -4
  248. package/node_modules/isarray/Makefile +0 -6
  249. package/node_modules/isarray/README.md +0 -60
  250. package/node_modules/isarray/component.json +0 -19
  251. package/node_modules/isarray/index.js +0 -5
  252. package/node_modules/isarray/package.json +0 -45
  253. package/node_modules/isarray/test.js +0 -20
  254. package/node_modules/jszip/.codeclimate.yml +0 -16
  255. package/node_modules/jszip/.editorconfig +0 -8
  256. package/node_modules/jszip/.eslintrc.js +0 -43
  257. package/node_modules/jszip/.github/workflows/pr.yaml +0 -58
  258. package/node_modules/jszip/.jekyll-metadata +0 -0
  259. package/node_modules/jszip/.travis.yml +0 -17
  260. package/node_modules/jszip/CHANGES.md +0 -204
  261. package/node_modules/jszip/LICENSE.markdown +0 -651
  262. package/node_modules/jszip/README.markdown +0 -33
  263. package/node_modules/jszip/deps.js +0 -37
  264. package/node_modules/jszip/dist/jszip.js +0 -11577
  265. package/node_modules/jszip/dist/jszip.min.js +0 -13
  266. package/node_modules/jszip/graph.svg +0 -601
  267. package/node_modules/jszip/index.d.ts +0 -330
  268. package/node_modules/jszip/lib/base64.js +0 -106
  269. package/node_modules/jszip/lib/compressedObject.js +0 -74
  270. package/node_modules/jszip/lib/compressions.js +0 -14
  271. package/node_modules/jszip/lib/crc32.js +0 -77
  272. package/node_modules/jszip/lib/defaults.js +0 -11
  273. package/node_modules/jszip/lib/external.js +0 -18
  274. package/node_modules/jszip/lib/flate.js +0 -85
  275. package/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -539
  276. package/node_modules/jszip/lib/generate/index.js +0 -57
  277. package/node_modules/jszip/lib/index.js +0 -55
  278. package/node_modules/jszip/lib/license_header.js +0 -11
  279. package/node_modules/jszip/lib/load.js +0 -88
  280. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  281. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  282. package/node_modules/jszip/lib/nodejsUtils.js +0 -57
  283. package/node_modules/jszip/lib/object.js +0 -384
  284. package/node_modules/jszip/lib/readable-stream-browser.js +0 -10
  285. package/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  286. package/node_modules/jszip/lib/reader/DataReader.js +0 -116
  287. package/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  288. package/node_modules/jszip/lib/reader/StringReader.js +0 -38
  289. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  290. package/node_modules/jszip/lib/reader/readerFor.js +0 -28
  291. package/node_modules/jszip/lib/signature.js +0 -7
  292. package/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  293. package/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  294. package/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  295. package/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  296. package/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  297. package/node_modules/jszip/lib/stream/StreamHelper.js +0 -214
  298. package/node_modules/jszip/lib/support.js +0 -38
  299. package/node_modules/jszip/lib/utf8.js +0 -275
  300. package/node_modules/jszip/lib/utils.js +0 -501
  301. package/node_modules/jszip/lib/zipEntries.js +0 -261
  302. package/node_modules/jszip/lib/zipEntry.js +0 -293
  303. package/node_modules/jszip/lib/zipObject.js +0 -133
  304. package/node_modules/jszip/package.json +0 -67
  305. package/node_modules/jszip/sponsors.md +0 -21
  306. package/node_modules/jszip/tsconfig.json +0 -101
  307. package/node_modules/jszip/vendor/FileSaver.js +0 -247
  308. package/node_modules/lie/README.md +0 -62
  309. package/node_modules/lie/dist/lie.js +0 -350
  310. package/node_modules/lie/dist/lie.min.js +0 -1
  311. package/node_modules/lie/dist/lie.polyfill.js +0 -358
  312. package/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  313. package/node_modules/lie/lib/browser.js +0 -273
  314. package/node_modules/lie/lib/index.js +0 -298
  315. package/node_modules/lie/license.md +0 -7
  316. package/node_modules/lie/lie.d.ts +0 -244
  317. package/node_modules/lie/package.json +0 -69
  318. package/node_modules/lie/polyfill.js +0 -4
  319. package/node_modules/pako/LICENSE +0 -21
  320. package/node_modules/pako/README.md +0 -191
  321. package/node_modules/pako/dist/pako.js +0 -6818
  322. package/node_modules/pako/dist/pako.min.js +0 -1
  323. package/node_modules/pako/dist/pako_deflate.js +0 -3997
  324. package/node_modules/pako/dist/pako_deflate.min.js +0 -1
  325. package/node_modules/pako/dist/pako_inflate.js +0 -3300
  326. package/node_modules/pako/dist/pako_inflate.min.js +0 -1
  327. package/node_modules/pako/index.js +0 -14
  328. package/node_modules/pako/lib/deflate.js +0 -400
  329. package/node_modules/pako/lib/inflate.js +0 -423
  330. package/node_modules/pako/lib/utils/common.js +0 -105
  331. package/node_modules/pako/lib/utils/strings.js +0 -187
  332. package/node_modules/pako/lib/zlib/README +0 -59
  333. package/node_modules/pako/lib/zlib/adler32.js +0 -51
  334. package/node_modules/pako/lib/zlib/constants.js +0 -68
  335. package/node_modules/pako/lib/zlib/crc32.js +0 -59
  336. package/node_modules/pako/lib/zlib/deflate.js +0 -1874
  337. package/node_modules/pako/lib/zlib/gzheader.js +0 -58
  338. package/node_modules/pako/lib/zlib/inffast.js +0 -345
  339. package/node_modules/pako/lib/zlib/inflate.js +0 -1556
  340. package/node_modules/pako/lib/zlib/inftrees.js +0 -343
  341. package/node_modules/pako/lib/zlib/messages.js +0 -32
  342. package/node_modules/pako/lib/zlib/trees.js +0 -1222
  343. package/node_modules/pako/lib/zlib/zstream.js +0 -47
  344. package/node_modules/pako/package.json +0 -44
  345. package/node_modules/process-nextick-args/index.js +0 -45
  346. package/node_modules/process-nextick-args/license.md +0 -19
  347. package/node_modules/process-nextick-args/package.json +0 -25
  348. package/node_modules/process-nextick-args/readme.md +0 -18
  349. package/node_modules/readable-stream/.travis.yml +0 -34
  350. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  351. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  352. package/node_modules/readable-stream/LICENSE +0 -47
  353. package/node_modules/readable-stream/README.md +0 -58
  354. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  355. package/node_modules/readable-stream/duplex-browser.js +0 -1
  356. package/node_modules/readable-stream/duplex.js +0 -1
  357. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  358. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  359. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  360. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  361. package/node_modules/readable-stream/lib/_stream_writable.js +0 -685
  362. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
  363. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
  364. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  365. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  366. package/node_modules/readable-stream/package.json +0 -52
  367. package/node_modules/readable-stream/passthrough.js +0 -1
  368. package/node_modules/readable-stream/readable-browser.js +0 -7
  369. package/node_modules/readable-stream/readable.js +0 -19
  370. package/node_modules/readable-stream/transform.js +0 -1
  371. package/node_modules/readable-stream/writable-browser.js +0 -1
  372. package/node_modules/readable-stream/writable.js +0 -8
  373. package/node_modules/safe-buffer/LICENSE +0 -21
  374. package/node_modules/safe-buffer/README.md +0 -584
  375. package/node_modules/safe-buffer/index.d.ts +0 -187
  376. package/node_modules/safe-buffer/index.js +0 -62
  377. package/node_modules/safe-buffer/package.json +0 -37
  378. package/node_modules/setimmediate/LICENSE.txt +0 -20
  379. package/node_modules/setimmediate/package.json +0 -30
  380. package/node_modules/setimmediate/setImmediate.js +0 -186
  381. package/node_modules/string_decoder/.travis.yml +0 -50
  382. package/node_modules/string_decoder/LICENSE +0 -48
  383. package/node_modules/string_decoder/README.md +0 -47
  384. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  385. package/node_modules/string_decoder/package.json +0 -31
  386. package/node_modules/util-deprecate/History.md +0 -16
  387. package/node_modules/util-deprecate/LICENSE +0 -24
  388. package/node_modules/util-deprecate/README.md +0 -53
  389. package/node_modules/util-deprecate/browser.js +0 -67
  390. package/node_modules/util-deprecate/node.js +0 -6
  391. package/node_modules/util-deprecate/package.json +0 -27
package/SECURITY.md ADDED
@@ -0,0 +1,34 @@
1
+ # Security Policy
2
+
3
+ ## Supported versions
4
+
5
+ Security fixes are supported for the current minor version of the `open-agreements` npm package only.
6
+
7
+ | Package version | Supported |
8
+ | --- | --- |
9
+ | `0.7.x` | Yes |
10
+ | `< 0.7` | No |
11
+
12
+ ## Reporting a vulnerability
13
+
14
+ Please report suspected vulnerabilities through GitHub's private vulnerability advisory flow:
15
+
16
+ https://github.com/open-agreements/open-agreements/security/advisories/new
17
+
18
+ If GitHub advisories are not available to you, email steven@usejunior.com with a concise description, affected versions, reproduction steps, and any relevant proof of concept. We acknowledge reports as soon as we can and coordinate fixes through the private advisory when appropriate.
19
+
20
+ Please do not open a public GitHub issue for a suspected vulnerability until the issue has been assessed and any needed fix is available.
21
+
22
+ ## In scope
23
+
24
+ - The `open-agreements` npm package.
25
+ - MCP server code under `packages/contract-templates-mcp/` and `packages/contracts-workspace-mcp/`.
26
+ - The template-fill pipeline.
27
+ - Signing utilities.
28
+
29
+ ## Out of scope
30
+
31
+ - Template content quality or legal accuracy.
32
+ - Third-party AI providers.
33
+ - Vulnerabilities in user-supplied data.
34
+ - Upstream template sources, including Common Paper, Bonterms, Y Combinator, NVCA, and similar publishers.
@@ -0,0 +1,39 @@
1
+ # NVCA Model Stock Purchase Agreement
2
+
3
+ Recipe for the NVCA Model Stock Purchase Agreement (version 10-28-2025).
4
+
5
+ ## Source
6
+
7
+ The source document is freely downloadable from [NVCA](https://nvca.org) but is
8
+ not redistributable. This recipe contains only transformation instructions.
9
+
10
+ ## Interaction Audit Coverage
11
+
12
+ The NVCA SPA test suite includes interaction-focused coverage that asserts
13
+ multi-condition derived outputs and traceability, including Dispute Resolution
14
+ and Governing Law dependencies.
15
+
16
+ When computed inputs select courts rather than arbitration and include a forum
17
+ state, computed outputs indicate the selected dispute-resolution track, include
18
+ forum versus governing-law alignment status, derive judicial district defaults
19
+ when courts are selected and judicial district is omitted, and expose the
20
+ dependency chain in the exported trace.
21
+
22
+ ## Preview Rendering
23
+
24
+ The system supports rendering NVCA SPA template output as PNG evidence pages for
25
+ human review. When NVCA template prerequisites are available, rendered pages are
26
+ attached as PNG evidence for human review.
27
+
28
+ ## Behavioral Scenarios
29
+
30
+ ### [OA-FIL-002] Dispute resolution interaction produces required computed outputs
31
+ - **WHEN** NVCA SPA computed inputs select courts vs arbitration and include a forum state
32
+ - **THEN** computed outputs indicate the selected dispute-resolution track
33
+ - **AND** computed outputs include forum vs governing-law alignment status
34
+ - **AND** when courts are selected and judicial district is omitted, computed outputs derive judicial district defaults
35
+ - **AND** the exported trace shows the dependency chain
36
+
37
+ ### [OA-FIL-022] NVCA rendered preview evidence
38
+ - **WHEN** NVCA template prerequisites are available
39
+ - **THEN** rendered pages are attached as PNG evidence for human review
@@ -51,3 +51,46 @@ Create a JSON file with the field values:
51
51
  2. **Patch**: Replaces 33 bracketed placeholders with template tags, handling Word's split-run XML
52
52
  3. **Fill**: Renders template tags with your values using docx-templates
53
53
  4. **Verify**: Confirms all values appear, no leftover placeholders or unrendered tags remain
54
+
55
+ ## Option Vesting Policy Computation
56
+
57
+ The NVCA voting agreement recipe includes option-vesting policy computation
58
+ coverage for deterministic derived values. When option-vesting inputs select a
59
+ policy profile, computed outputs reflect the selected vesting treatment and the
60
+ exported trace records the rule path used to derive those outputs.
61
+
62
+ The NVCA option resolution engine applies clause-level policies including
63
+ costs-of-enforcement and dispute-resolution, defaulting venue and district
64
+ values. Costs-of-enforcement policy retains only the each-party clause. When
65
+ dispute-resolution selects arbitration, venue defaults are applied. When courts
66
+ are selected, district defaults by state with alignment flags. When no explicit
67
+ clause policy is defined for an in-line legal alternative, the alternative text
68
+ is preserved unresolved until a policy is added.
69
+
70
+ ## Assumption Validation
71
+
72
+ Template assumption validation confirms that required NVCA recipe assumptions
73
+ are explicit and machine-checkable. When bundled NVCA recipe assumptions are
74
+ validated, missing or inconsistent assumptions fail validation with actionable
75
+ messages rather than silently producing a filled document.
76
+
77
+ NVCA template processing preserves bracket-prefixed headings while removing
78
+ bracketed alternatives during clean, and normalizes heading-leading brackets
79
+ during the normalize step.
80
+
81
+ ## Behavioral Scenarios
82
+
83
+ ### [OA-FIL-018] NVCA clause policy resolution
84
+ - **WHEN** costs-of-enforcement policy is applied
85
+ - **THEN** only the each-party clause is retained
86
+ - **AND** when dispute-resolution selects arbitration, venue defaults are applied
87
+ - **AND** when courts are selected, district defaults by state with alignment flags
88
+
89
+ ### [OA-FIL-019] Unresolved legal alternatives preserved
90
+ - **WHEN** no explicit clause policy is defined for an in-line legal alternative
91
+ - **THEN** the alternative text is preserved unresolved until a policy is added
92
+
93
+ ### [OA-TMP-018] NVCA clean and normalize assumptions
94
+ - **WHEN** the clean step processes bracket-prefixed headings and bracketed alternatives
95
+ - **THEN** bracket-prefixed headings are preserved while bracketed alternatives are removed
96
+ - **AND** declarative normalize strips heading-leading brackets and trims unmatched trailing brackets
@@ -4,7 +4,7 @@ Cover page for the [Bonterms Mutual NDA](https://bonterms.com/forms/bonterms-mut
4
4
 
5
5
  ## Source
6
6
 
7
- - **URL**: https://github.com/Bonterms/Mutual-NDA
7
+ - **URL**: https://bonterms.com/resources/mutual-nda-cover-page-example
8
8
  - **Version**: 1.0
9
9
  - **License**: CC0 1.0
10
10
 
@@ -23,5 +23,5 @@ Cover page for the [Bonterms Mutual NDA](https://bonterms.com/forms/bonterms-mut
23
23
 
24
24
  ## Attribution
25
25
 
26
- Based on the Bonterms Mutual NDA Cover Page, available at https://bonterms.com/forms/bonterms-mutual-nda-v1/.
26
+ Based on the Bonterms Mutual NDA Cover Page, available at https://bonterms.com/resources/mutual-nda-cover-page-example.
27
27
  Made available under CC0 1.0.
@@ -3,13 +3,13 @@ category: confidentiality
3
3
  description: >-
4
4
  Cover page for the Bonterms Mutual NDA (Version 1.0). The standard terms are incorporated by reference from
5
5
  bonterms.com.
6
- source_url: https://github.com/Bonterms/Mutual-NDA
6
+ source_url: https://bonterms.com/resources/mutual-nda-cover-page-example
7
7
  version: '1.0'
8
8
  license: CC0-1.0
9
9
  allow_derivatives: true
10
10
  attribution_text: >-
11
- Based on the Bonterms Mutual NDA Cover Page, available at https://bonterms.com/forms/bonterms-mutual-nda-v1/. Made
12
- available under CC0 1.0.
11
+ Based on the Bonterms Mutual NDA Cover Page, available at
12
+ https://bonterms.com/resources/mutual-nda-cover-page-example. Made available under CC0 1.0.
13
13
  fields:
14
14
  - name: party_1_name
15
15
  type: string
@@ -41,12 +41,12 @@ fields:
41
41
  - name: governing_law
42
42
  type: string
43
43
  description: State or jurisdiction whose laws govern the agreement
44
- default: California
44
+ default: Delaware
45
45
  section: Legal
46
46
  - name: courts
47
47
  type: string
48
48
  description: Courts with jurisdiction over disputes
49
- default: courts located in San Francisco, California
49
+ default: courts located in New Castle County, Delaware
50
50
  section: Legal
51
51
  - name: party_1_signatory_type
52
52
  type: enum
@@ -103,32 +103,26 @@ fields:
103
103
  - name: party_1_signatory_name_and_title
104
104
  type: string
105
105
  description: Computed display field (Name, Title)
106
- required: false
107
106
  section: Signatures
108
107
  - name: party_2_signatory_name_and_title
109
108
  type: string
110
109
  description: Computed display field (Name, Title)
111
- required: false
112
110
  section: Signatures
113
111
  - name: party_1_notice_email_check
114
112
  type: string
115
113
  description: Computed checkbox glyph for email notice
116
- required: false
117
114
  section: Signatures
118
115
  - name: party_1_notice_postal_check
119
116
  type: string
120
117
  description: Computed checkbox glyph for postal notice
121
- required: false
122
118
  section: Signatures
123
119
  - name: party_2_notice_email_check
124
120
  type: string
125
121
  description: Computed checkbox glyph for email notice
126
- required: false
127
122
  section: Signatures
128
123
  - name: party_2_notice_postal_check
129
124
  type: string
130
125
  description: Computed checkbox glyph for postal notice
131
- required: false
132
126
  section: Signatures
133
127
  priority_fields:
134
128
  - party_1_name
@@ -4,7 +4,7 @@ Cover page for the [Bonterms Professional Services Agreement](https://bonterms.c
4
4
 
5
5
  ## Source
6
6
 
7
- - **URL**: https://github.com/Bonterms/Professional-Services-Agreement
7
+ - **URL**: https://bonterms.com/resources/psa-cover-page-example
8
8
  - **Version**: 1.2
9
9
  - **License**: CC0 1.0
10
10
 
@@ -20,5 +20,5 @@ Cover page for the [Bonterms Professional Services Agreement](https://bonterms.c
20
20
 
21
21
  ## Attribution
22
22
 
23
- Based on the Bonterms Professional Services Agreement Cover Page, available at https://bonterms.com/forms/professional-services-agreement-v1.2/.
23
+ Based on the Bonterms Professional Services Agreement Cover Page, available at https://bonterms.com/resources/psa-cover-page-example.
24
24
  Made available under CC0 1.0.
@@ -3,13 +3,13 @@ category: professional-services
3
3
  description: >-
4
4
  Cover page for the Bonterms Professional Services Agreement (Version 1.2). The standard terms are incorporated by
5
5
  reference from bonterms.com.
6
- source_url: https://github.com/Bonterms/Professional-Services-Agreement
6
+ source_url: https://bonterms.com/resources/psa-cover-page-example
7
7
  version: '1.2'
8
8
  license: CC0-1.0
9
9
  allow_derivatives: true
10
10
  attribution_text: >-
11
11
  Based on the Bonterms Professional Services Agreement Cover Page, available at
12
- https://bonterms.com/forms/professional-services-agreement-v1.2/. Made available under CC0 1.0.
12
+ https://bonterms.com/resources/psa-cover-page-example. Made available under CC0 1.0.
13
13
  fields:
14
14
  - name: customer_name
15
15
  type: string
@@ -0,0 +1,30 @@
1
+ ---
2
+ template_id: closing-checklist
3
+ title: Closing Checklist
4
+ document:
5
+ title: Closing Checklist
6
+ version: "2.1"
7
+ license: CC0-1.0
8
+ ---
9
+
10
+ # {deal_name} — Closing Checklist
11
+
12
+ Updated: {updated_at}
13
+
14
+ ## Documents
15
+
16
+ | ID | Title | Link | Status | Responsible |
17
+ | --- | --- | --- | --- | --- |
18
+ | {FOR d IN documents}{$d.entry_id} | {$d.title} | {$d.link} | {$d.status} | {$d.responsible}{END-FOR d} |
19
+
20
+ ## Action Items
21
+
22
+ | ID | Description | Status | Assigned To | Due Date |
23
+ | --- | --- | --- | --- | --- |
24
+ | {FOR a IN action_items}{$a.item_id} | {$a.description} | {$a.status} | {$a.assigned_to} | {$a.due_date}{END-FOR a} |
25
+
26
+ ## Open Issues
27
+
28
+ | ID | Title | Status | Summary | Citation |
29
+ | --- | --- | --- | --- | --- |
30
+ | {FOR i IN open_issues}{$i.issue_id} | {$i.title} | {$i.status} | {$i.summary} | {$i.citation}{END-FOR i} |
@@ -45,6 +45,34 @@ A mutual non-disclosure agreement based on [Common Paper's](https://commonpaper.
45
45
 
46
46
  > **Note:** `party_N_title` and `party_N_company` are only rendered when `party_N_type` is `entity` (default). When set to `individual`, those cells are left blank even if values are provided.
47
47
 
48
+ ## Selection Semantics
49
+
50
+ The fill flow preserves only selected option text for checkbox-style Mutual NDA
51
+ term and confidentiality-term choices, while marking selected choices with
52
+ `[ x ]`.
53
+
54
+ - Fixed-duration `mnda_term` and fixed-term `confidentiality_term` choices mark
55
+ the fixed-term options with `[ x ]` and remove conflicting alternatives such
56
+ as "until terminated" or "in perpetuity".
57
+ - `until terminated` and `In perpetuity` choices mark those selected options
58
+ with `[ x ]` and remove non-selected fixed-term alternatives.
59
+
60
+ ## Behavioral Scenarios
61
+
62
+ ### [OA-TMP-007] Fixed term selection removes non-selected options
63
+ - **GIVEN** the user sets `mnda_term` to a fixed duration
64
+ - **AND** sets `confidentiality_term` to fixed-term language
65
+ - **WHEN** the template is filled
66
+ - **THEN** fixed-term options are marked with `[ x ]`
67
+ - **AND** conflicting alternatives (for example "until terminated" or "in perpetuity") are removed
68
+
69
+ ### [OA-TMP-008] Perpetual selection marks selected options
70
+ - **GIVEN** the user sets `mnda_term` to `until terminated`
71
+ - **AND** sets `confidentiality_term` to `In perpetuity`
72
+ - **WHEN** the template is filled
73
+ - **THEN** the selected until-terminated and perpetuity options are marked with `[ x ]`
74
+ - **AND** non-selected fixed-term alternatives are removed
75
+
48
76
  ## Attribution
49
77
 
50
78
  Based on the Common Paper Mutual NDA, available at https://commonpaper.com.
@@ -4,7 +4,7 @@ description: >-
4
4
  A one-way (unilateral) non-disclosure agreement cover page based on Common Paper's standard terms. The Discloser
5
5
  shares confidential information with the Receiver, but not vice versa. References the Standard Terms posted at
6
6
  commonpaper.com.
7
- source_url: https://commonpaper.com/standards/one-way-nda/1.0
7
+ source_url: https://commonpaper.com/standards/one-way-nda
8
8
  version: '1.0'
9
9
  license: CC-BY-4.0
10
10
  allow_derivatives: true
@@ -0,0 +1,74 @@
1
+ {
2
+ "template_id": "openagreements-board-consent-safe",
3
+ "layout_id": "traditional-consent-v1",
4
+ "style_id": "openagreements-default-v1",
5
+ "output_docx_path": "content/templates/openagreements-board-consent-safe/template.docx",
6
+ "document": {
7
+ "title": "ACTION BY UNANIMOUS WRITTEN CONSENT OF THE BOARD OF DIRECTORS OF {company_name}",
8
+ "label": "OpenAgreements Board Consent for SAFE Financing",
9
+ "version": "1.2",
10
+ "license": "Free to use under CC BY 4.0",
11
+ "include_cloud_doc_line": false,
12
+ "defined_term_highlight_mode": "none",
13
+ "opening_note": "Note: The following resolutions do not cover all matters that may need to be addressed in connection with the SAFE financing. For example, if the Company is concurrently amending its certificate of incorporation, converting outstanding convertible notes, or granting pro rata or information rights pursuant to a side letter, additional resolutions will be needed. Always consult with counsel prior to using this consent.",
14
+ "opening_recital": "The undersigned, constituting all of the members of the Board of Directors (the \"Board\") of {company_name}, a Delaware corporation (the \"Company\"), pursuant to Section 141(f) of the Delaware General Corporation Law, hereby adopt the following resolutions by written consent:"
15
+ },
16
+ "sections": {
17
+ "recitals": {
18
+ "heading_title": "Recitals",
19
+ "body": "**WHEREAS**, the Board believes it is in the best interests of the Company to enter into one or more Simple Agreements for Future Equity (each, a \"SAFE\", and together, the \"SAFEs\"), providing for the sale of rights to future shares of the Company's capital stock for an aggregate purchase amount of up to ${purchase_amount}, in accordance with terms set forth therein."
20
+ },
21
+ "standard_terms": {
22
+ "section_label": "Resolutions",
23
+ "heading_title": "Resolutions",
24
+ "clauses": [
25
+ {
26
+ "id": "approval-of-safe-financing",
27
+ "heading": "Approval of SAFE Financing",
28
+ "body": "**RESOLVED**, that each SAFE, in substantially the form presented to the Board, be, and it hereby is, approved in all respects;\n\n**RESOLVED FURTHER**, that the officers of the Company be, and each of them hereby is, authorized and directed, for and on behalf of the Company, to execute and deliver each SAFE, and any and all other agreements, certificates or documents required or contemplated by any SAFE or deemed necessary or appropriate in connection therewith, and to take all actions deemed necessary or appropriate to cause the Company's obligations thereunder to be performed;\n\n**RESOLVED FURTHER**, that the officers of the Company be, and each of them hereby is, authorized and directed, for and on behalf of the Company, to negotiate or otherwise cause such additions, modifications, amendments or deletions to be made to any SAFE, and such other agreements, certificates or documents, as any such officer may approve, and the execution and delivery thereof by such officer shall be deemed conclusive evidence of the approval of any such addition, modification, amendment or deletion;\n\n**RESOLVED FURTHER**, that shares of the Company's capital stock issuable upon conversion of each SAFE be, and they hereby are, reserved for issuance upon conversion of such SAFE in accordance with its terms;\n\n**RESOLVED FURTHER**, that when shares of the Company's capital stock are issued upon conversion of any SAFE in accordance with its terms, such shares shall be duly and validly issued, fully paid and nonassessable; and\n\n**RESOLVED FURTHER**, that each SAFE shall be offered and sold in reliance on any applicable exemption from registration provided by the Securities Act of 1933, as amended, and any applicable exemption under applicable state blue sky laws, and that the officers of the Company be, and each of them hereby is, authorized and directed, for and on behalf of the Company, to execute and file any forms, certificates, notices or other documents that are necessary or appropriate pursuant to federal or state securities laws."
29
+ },
30
+ {
31
+ "id": "general-authorizing-resolution",
32
+ "heading": "General Authorizing Resolution",
33
+ "body": "**RESOLVED**, that the officers of the Company be, and each of them hereby is, authorized and directed, for and on behalf of the Company, to take such further actions and execute such documents as may be necessary or appropriate in order to implement the foregoing resolutions."
34
+ }
35
+ ]
36
+ },
37
+ "signature": {
38
+ "mode": "signers",
39
+ "arrangement": "stacked",
40
+ "section_label": "Signature Page",
41
+ "heading_title": "Signatures",
42
+ "preamble": "This Action by Written Consent shall be filed with the minutes of the proceedings of the Board of Directors of the Company.\n\nThe undersigned have executed this Action by Written Consent as of the date set forth under his or her name below. Any copy, facsimile, .PDF or other reliable reproduction of this Action by Written Consent may be substituted or used in lieu of the original writing for any and all purposes for which the original writing could be used, provided that such copy, facsimile, .PDF or other reproduction be a complete reproduction of the entire original writing.",
43
+ "signers": [
44
+ {
45
+ "id": "director",
46
+ "label": "Director",
47
+ "kind": "individual",
48
+ "capacity": "personal",
49
+ "rows": [
50
+ {
51
+ "id": "signature",
52
+ "label": "Signature",
53
+ "value": ""
54
+ },
55
+ {
56
+ "id": "print-name",
57
+ "label": "Print Name",
58
+ "value": "{$member.name}"
59
+ },
60
+ {
61
+ "id": "date",
62
+ "label": "Date",
63
+ "value": "{effective_date}"
64
+ }
65
+ ]
66
+ }
67
+ ],
68
+ "repeat": {
69
+ "collection_field": "board_members",
70
+ "item_name": "member"
71
+ }
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,61 @@
1
+ # OpenAgreements Board Consent for SAFE Financing
2
+
3
+ Board consent template for approving the issuance of one or more Simple
4
+ Agreements for Future Equity (SAFEs) by a Delaware corporation.
5
+
6
+ ## Source
7
+
8
+ - **URL**: https://github.com/open-agreements/open-agreements/tree/main/content/templates/openagreements-board-consent-safe
9
+ - **Version**: 1.2
10
+ - **License**: CC BY 4.0
11
+
12
+ ## Fields
13
+
14
+ | Field | Type | Required | Description |
15
+ |-------|------|----------|-------------|
16
+ | `company_name` | string | yes | Full legal name of the company |
17
+ | `effective_date` | date | yes | Date the consent is effective |
18
+ | `purchase_amount` | string | yes | Aggregate SAFE purchase amount |
19
+ | `board_members` | array | yes | Directors signing the consent |
20
+
21
+ ## Canonical Markdown Authoring
22
+
23
+ The board consent is authored canonically in
24
+ `content/templates/openagreements-board-consent-safe/template.md`, with the
25
+ generated JSON spec and rendered DOCX derived from that source.
26
+
27
+ Compiled, rendered, and filled outputs preserve the board consent legal text,
28
+ resolution flow, placeholders, and professional formatting. The signature
29
+ section expands `board_members` into the exact number of signer blocks without
30
+ leaving loop markers in the filled output.
31
+
32
+ The SAFE board consent supports a separate `recitals` body section so WHEREAS
33
+ clauses can be authored separately from operative resolutions. The canonical
34
+ source declares `<!-- oa:section type=recitals -->` before `## Recitals` and
35
+ `<!-- oa:section type=standard_terms -->` before `## Resolutions`; rendering
36
+ preserves recital text, resolution text, ordering, and signature behavior.
37
+
38
+ ## Behavioral Scenarios
39
+
40
+ ### [OA-TMP-059] SAFE board consent canonical source preserves source fidelity
41
+ - **WHEN** the SAFE board consent canonical source is compiled, rendered, and
42
+ filled
43
+ - **THEN** the generated outputs preserve the board consent legal text,
44
+ resolution flow, placeholders, and professional formatting
45
+ - **AND** the signature section expands `board_members` into the exact number
46
+ of signer blocks without leaving loop markers in the filled output
47
+
48
+ ### [OA-TMP-056] SAFE consents separate WHEREAS and RESOLVED content
49
+ - **WHEN** a SAFE board or stockholder consent canonical source declares
50
+ `<!-- oa:section type=recitals -->` before `## Recitals` and
51
+ `<!-- oa:section type=standard_terms -->` before `## Resolutions`
52
+ - **THEN** WHEREAS clauses compile into the `recitals` section
53
+ - **AND** RESOLVED clauses compile into the operative section
54
+ - **AND** the rendered traditional consent output preserves the recital text,
55
+ resolution text, ordering, and signature behavior
56
+
57
+ ## Attribution
58
+
59
+ Authored by OpenAgreements contributors. Drafting structure informed by
60
+ publicly available Series Seed SAFE board consent materials. Licensed under
61
+ CC BY 4.0.
@@ -0,0 +1,53 @@
1
+ name: Board Consent for SAFE Financing
2
+ category: corporate-governance
3
+ description: >-
4
+ Action by unanimous written consent of the board of directors of a Delaware
5
+ corporation approving the issuance of one or more Simple Agreements for
6
+ Future Equity (SAFEs).
7
+ source_url: https://github.com/open-agreements/open-agreements/tree/main/content/templates/openagreements-board-consent-safe
8
+ version: '1.2'
9
+ license: CC-BY-4.0
10
+ allow_derivatives: true
11
+ attribution_text: >-
12
+ Authored by OpenAgreements contributors. Drafting structure informed by
13
+ publicly available Series Seed SAFE board consent materials. Licensed under
14
+ CC BY 4.0.
15
+ fields:
16
+ - name: company_name
17
+ type: string
18
+ description: Full legal name of the company
19
+ section: Parties
20
+ - name: effective_date
21
+ type: date
22
+ description: Date the consent is effective
23
+ section: Terms
24
+ - name: purchase_amount
25
+ type: string
26
+ description: Aggregate SAFE purchase amount (for example, "500,000")
27
+ section: Deal Terms
28
+ - name: board_members
29
+ type: array
30
+ description: Directors signing the consent
31
+ section: Signatures
32
+ items:
33
+ - name: name
34
+ type: string
35
+ description: Full name of a director signing the consent
36
+ priority_fields:
37
+ - company_name
38
+ - effective_date
39
+ - purchase_amount
40
+ - board_members
41
+ previewSampleValues:
42
+ company_name: Acme Labs, Inc.
43
+ effective_date: April 15, 2026
44
+ purchase_amount: '500,000'
45
+ board_members:
46
+ - name: Alex Director
47
+ - name: Blair Director
48
+ - name: Casey Director
49
+ credits:
50
+ - name: Joey Tsang
51
+ role: drafting_editor
52
+ profile_url: https://www.linkedin.com/in/joey-t-b90912b1/
53
+ derived_from: Publicly available Series Seed SAFE board consent materials
@@ -0,0 +1,66 @@
1
+ ---
2
+ template_id: openagreements-board-consent-safe
3
+ layout_id: traditional-consent-v1
4
+ style_id: openagreements-default-v1
5
+ outputs:
6
+ docx: content/templates/openagreements-board-consent-safe/template.docx
7
+ document:
8
+ title: ACTION BY UNANIMOUS WRITTEN CONSENT OF THE BOARD OF DIRECTORS OF {company_name}
9
+ label: OpenAgreements Board Consent for SAFE Financing
10
+ version: "1.2"
11
+ license: Free to use under CC BY 4.0
12
+ defined_term_highlight_mode: none
13
+ opening_note: "Note: The following resolutions do not cover all matters that may need to be addressed in connection with the SAFE financing. For example, if the Company is concurrently amending its certificate of incorporation, converting outstanding convertible notes, or granting pro rata or information rights pursuant to a side letter, additional resolutions will be needed. Always consult with counsel prior to using this consent."
14
+ opening_recital: "The undersigned, constituting all of the members of the Board of Directors (the \"Board\") of {company_name}, a Delaware corporation (the \"Company\"), pursuant to Section 141(f) of the Delaware General Corporation Law, hereby adopt the following resolutions by written consent:"
15
+ sections:
16
+ standard_terms:
17
+ section_label: Resolutions
18
+ heading_title: Resolutions
19
+ signature:
20
+ section_label: Signature Page
21
+ heading_title: Signatures
22
+ ---
23
+
24
+ # Board Consent for SAFE Financing
25
+
26
+ <!-- oa:section type=recitals -->
27
+ ## Recitals
28
+
29
+ **WHEREAS**, the Board believes it is in the best interests of the Company to enter into one or more Simple Agreements for Future Equity (each, a "SAFE", and together, the "SAFEs"), providing for the sale of rights to future shares of the Company's capital stock for an aggregate purchase amount of up to ${purchase_amount}, in accordance with terms set forth therein.
30
+
31
+ <!-- oa:section type=standard_terms -->
32
+ ## Resolutions
33
+
34
+ <!-- oa:clause id=approval-of-safe-financing -->
35
+ ### Approval of SAFE Financing
36
+
37
+ **RESOLVED**, that each SAFE, in substantially the form presented to the Board, be, and it hereby is, approved in all respects;
38
+
39
+ **RESOLVED FURTHER**, that the officers of the Company be, and each of them hereby is, authorized and directed, for and on behalf of the Company, to execute and deliver each SAFE, and any and all other agreements, certificates or documents required or contemplated by any SAFE or deemed necessary or appropriate in connection therewith, and to take all actions deemed necessary or appropriate to cause the Company's obligations thereunder to be performed;
40
+
41
+ **RESOLVED FURTHER**, that the officers of the Company be, and each of them hereby is, authorized and directed, for and on behalf of the Company, to negotiate or otherwise cause such additions, modifications, amendments or deletions to be made to any SAFE, and such other agreements, certificates or documents, as any such officer may approve, and the execution and delivery thereof by such officer shall be deemed conclusive evidence of the approval of any such addition, modification, amendment or deletion;
42
+
43
+ **RESOLVED FURTHER**, that shares of the Company's capital stock issuable upon conversion of each SAFE be, and they hereby are, reserved for issuance upon conversion of such SAFE in accordance with its terms;
44
+
45
+ **RESOLVED FURTHER**, that when shares of the Company's capital stock are issued upon conversion of any SAFE in accordance with its terms, such shares shall be duly and validly issued, fully paid and nonassessable; and
46
+
47
+ **RESOLVED FURTHER**, that each SAFE shall be offered and sold in reliance on any applicable exemption from registration provided by the Securities Act of 1933, as amended, and any applicable exemption under applicable state blue sky laws, and that the officers of the Company be, and each of them hereby is, authorized and directed, for and on behalf of the Company, to execute and file any forms, certificates, notices or other documents that are necessary or appropriate pursuant to federal or state securities laws.
48
+
49
+ <!-- oa:clause id=general-authorizing-resolution -->
50
+ ### General Authorizing Resolution
51
+
52
+ **RESOLVED**, that the officers of the Company be, and each of them hereby is, authorized and directed, for and on behalf of the Company, to take such further actions and execute such documents as may be necessary or appropriate in order to implement the foregoing resolutions.
53
+
54
+ <!-- oa:section type=signature -->
55
+ ## Signatures
56
+
57
+ <!-- oa:signature-mode arrangement=stacked repeat=board_members item=member -->
58
+
59
+ This Action by Written Consent shall be filed with the minutes of the proceedings of the Board of Directors of the Company.
60
+
61
+ The undersigned have executed this Action by Written Consent as of the date set forth under his or her name below. Any copy, facsimile, .PDF or other reliable reproduction of this Action by Written Consent may be substituted or used in lieu of the original writing for any and all purposes for which the original writing could be used, provided that such copy, facsimile, .PDF or other reproduction be a complete reproduction of the entire original writing.
62
+
63
+ <!-- oa:signer id=director kind=individual capacity=personal label="Director" -->
64
+ Signature: _______________
65
+ Print Name: {member.name}
66
+ Date: {effective_date}