open-agreements 0.7.6 → 0.8.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 (879) hide show
  1. package/LICENSE +201 -21
  2. package/README.de.md +16 -29
  3. package/README.es.md +16 -29
  4. package/README.md +45 -54
  5. package/README.pt-br.md +16 -29
  6. package/README.template.md +19 -25
  7. package/README.zh.md +16 -29
  8. package/content/recipes/nvca-certificate-of-incorporation/fields/acquisition_exception_shares.json +36 -0
  9. package/content/recipes/nvca-certificate-of-incorporation/fields/adjustment_notice_days.json +22 -0
  10. package/content/recipes/nvca-certificate-of-incorporation/fields/common_shares_authorized.json +22 -0
  11. package/content/recipes/nvca-certificate-of-incorporation/fields/company_name.json +29 -0
  12. package/content/recipes/nvca-certificate-of-incorporation/fields/conversion_notice_days.json +22 -0
  13. package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_formula_alt.json +22 -0
  14. package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_rate_per_share.json +22 -0
  15. package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_rate_percent.json +22 -0
  16. package/content/recipes/nvca-certificate-of-incorporation/fields/effective_date.json +22 -0
  17. package/content/recipes/nvca-certificate-of-incorporation/fields/number_of_classes.json +29 -0
  18. package/content/recipes/nvca-certificate-of-incorporation/fields/original_issue_price.json +22 -0
  19. package/content/recipes/nvca-certificate-of-incorporation/fields/par_value.json +36 -0
  20. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_director_seats.json +22 -0
  21. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_authorized.json +22 -0
  22. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_designated_portion.json +29 -0
  23. package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_outstanding_threshold.json +29 -0
  24. package/content/recipes/nvca-certificate-of-incorporation/fields/qualified_financing_notice_days.json +22 -0
  25. package/content/recipes/nvca-certificate-of-incorporation/fields/redemption_interest_rate.json +22 -0
  26. package/content/recipes/nvca-certificate-of-incorporation/fields/redemption_start_date.json +22 -0
  27. package/content/recipes/nvca-certificate-of-incorporation/fields/registered_agent_address.json +22 -0
  28. package/content/recipes/nvca-certificate-of-incorporation/fields/registered_agent_name.json +22 -0
  29. package/content/recipes/nvca-certificate-of-incorporation/fields/series_designation.json +22 -0
  30. package/content/recipes/nvca-certificate-of-incorporation/fields/signature_page_marker.json +22 -0
  31. package/content/recipes/nvca-certificate-of-incorporation/fields/specify_percentage.json +22 -0
  32. package/content/recipes/nvca-certificate-of-incorporation/fields/strategic_partnership_exception_shares.json +22 -0
  33. package/content/recipes/nvca-certificate-of-incorporation/fields/time_zone.json +22 -0
  34. package/content/recipes/nvca-certificate-of-incorporation/fields/total_authorized_shares.json +22 -0
  35. package/content/recipes/nvca-certificate-of-incorporation/template-manifest.json +77 -0
  36. package/content/recipes/nvca-stock-purchase-agreement/fields/agreement_date_month_day.json +27 -0
  37. package/content/recipes/nvca-stock-purchase-agreement/fields/agreement_year_two_digits.json +27 -0
  38. package/content/recipes/nvca-stock-purchase-agreement/fields/company_name.json +25 -0
  39. package/content/recipes/nvca-stock-purchase-agreement/fields/investor_counsel.json +27 -0
  40. package/content/recipes/nvca-stock-purchase-agreement/fields/minimum_shares_initial_closing.json +39 -0
  41. package/content/recipes/nvca-stock-purchase-agreement/fields/optional_plural_suffix.json +27 -0
  42. package/content/recipes/nvca-stock-purchase-agreement/fields/par_value_per_share.json +28 -0
  43. package/content/recipes/nvca-stock-purchase-agreement/fields/purchase_price_per_share.json +28 -0
  44. package/content/recipes/nvca-stock-purchase-agreement/fields/series_designation.json +159 -0
  45. package/content/recipes/nvca-stock-purchase-agreement/metadata.yaml +1 -1
  46. package/content/recipes/nvca-stock-purchase-agreement/template-manifest.json +24 -0
  47. package/content/templates/bonterms-mutual-nda/template.docx +0 -0
  48. package/content/templates/openagreements-board-consent-safe/.template.generated.json +0 -1
  49. package/content/templates/openagreements-due-diligence-request-list/template.docx +0 -0
  50. package/content/templates/openagreements-due-diligence-request-list/template.md +1 -1
  51. package/content/templates/openagreements-employee-ip-inventions-assignment/.template.generated.json +9 -5
  52. package/content/templates/openagreements-employee-ip-inventions-assignment/README.md +2 -0
  53. package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +8 -9
  54. package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
  55. package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +3 -4
  56. package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +0 -9
  57. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
  58. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.json +0 -1
  59. package/content/templates/openagreements-employment-offer-letter/.template.generated.json +9 -5
  60. package/content/templates/openagreements-employment-offer-letter/README.md +17 -5
  61. package/content/templates/openagreements-employment-offer-letter/metadata.yaml +8 -9
  62. package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
  63. package/content/templates/openagreements-employment-offer-letter/template.md +3 -4
  64. package/content/templates/openagreements-restrictive-covenant-florida/.template.generated.json +9 -5
  65. package/content/templates/openagreements-restrictive-covenant-florida/README.md +2 -2
  66. package/content/templates/openagreements-restrictive-covenant-florida/metadata.yaml +10 -12
  67. package/content/templates/openagreements-restrictive-covenant-florida/template.docx +0 -0
  68. package/content/templates/openagreements-restrictive-covenant-florida/template.md +3 -4
  69. package/content/templates/openagreements-restrictive-covenant-wyoming/.template.generated.json +9 -5
  70. package/content/templates/openagreements-restrictive-covenant-wyoming/metadata.yaml +10 -12
  71. package/content/templates/openagreements-restrictive-covenant-wyoming/template.docx +0 -0
  72. package/content/templates/openagreements-restrictive-covenant-wyoming/template.md +3 -4
  73. package/content/templates/openagreements-stockholder-consent-safe/.template.generated.json +0 -1
  74. package/dist/core/checklist/format-checklist-docx.d.ts.map +1 -1
  75. package/dist/core/checklist/format-checklist-docx.js +4 -1
  76. package/dist/core/checklist/format-checklist-docx.js.map +1 -1
  77. package/dist/core/engine.d.ts.map +1 -1
  78. package/dist/core/engine.js +2 -40
  79. package/dist/core/engine.js.map +1 -1
  80. package/dist/core/fill-pipeline.d.ts +0 -8
  81. package/dist/core/fill-pipeline.d.ts.map +1 -1
  82. package/dist/core/fill-pipeline.js +54 -38
  83. package/dist/core/fill-pipeline.js.map +1 -1
  84. package/dist/core/humanize-docx.d.ts.map +1 -1
  85. package/dist/core/humanize-docx.js +16 -6
  86. package/dist/core/humanize-docx.js.map +1 -1
  87. package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
  88. package/dist/core/recipe/bracket-normalizer.js +3 -7
  89. package/dist/core/recipe/bracket-normalizer.js.map +1 -1
  90. package/dist/core/recipe/cleaner.js +5 -5
  91. package/dist/core/recipe/cleaner.js.map +1 -1
  92. package/dist/core/recipe/index.d.ts +1 -1
  93. package/dist/core/recipe/index.d.ts.map +1 -1
  94. package/dist/core/recipe/index.js +57 -4
  95. package/dist/core/recipe/index.js.map +1 -1
  96. package/dist/core/recipe/ooxml-parts.d.ts +11 -0
  97. package/dist/core/recipe/ooxml-parts.d.ts.map +1 -1
  98. package/dist/core/recipe/ooxml-parts.js +22 -0
  99. package/dist/core/recipe/ooxml-parts.js.map +1 -1
  100. package/dist/core/recipe/patcher.d.ts.map +1 -1
  101. package/dist/core/recipe/patcher.js +2 -5
  102. package/dist/core/recipe/patcher.js.map +1 -1
  103. package/dist/core/recipe/source-drift.d.ts +19 -0
  104. package/dist/core/recipe/source-drift.d.ts.map +1 -1
  105. package/dist/core/recipe/source-drift.js +32 -2
  106. package/dist/core/recipe/source-drift.js.map +1 -1
  107. package/dist/core/selector.d.ts.map +1 -1
  108. package/dist/core/selector.js +49 -4
  109. package/dist/core/selector.js.map +1 -1
  110. package/dist/core/selectors/index.d.ts +40 -0
  111. package/dist/core/selectors/index.d.ts.map +1 -0
  112. package/dist/core/selectors/index.js +64 -0
  113. package/dist/core/selectors/index.js.map +1 -0
  114. package/dist/core/selectors/loader.d.ts +16 -0
  115. package/dist/core/selectors/loader.d.ts.map +1 -0
  116. package/dist/core/selectors/loader.js +80 -0
  117. package/dist/core/selectors/loader.js.map +1 -0
  118. package/dist/core/selectors/manifest-schema.d.ts +123 -0
  119. package/dist/core/selectors/manifest-schema.d.ts.map +1 -0
  120. package/dist/core/selectors/manifest-schema.js +93 -0
  121. package/dist/core/selectors/manifest-schema.js.map +1 -0
  122. package/dist/core/selectors/patch.d.ts +24 -0
  123. package/dist/core/selectors/patch.d.ts.map +1 -0
  124. package/dist/core/selectors/patch.js +68 -0
  125. package/dist/core/selectors/patch.js.map +1 -0
  126. package/dist/core/selectors/postconditions.d.ts +24 -0
  127. package/dist/core/selectors/postconditions.d.ts.map +1 -0
  128. package/dist/core/selectors/postconditions.js +50 -0
  129. package/dist/core/selectors/postconditions.js.map +1 -0
  130. package/dist/core/selectors/resolve.d.ts +32 -0
  131. package/dist/core/selectors/resolve.d.ts.map +1 -0
  132. package/dist/core/selectors/resolve.js +36 -0
  133. package/dist/core/selectors/resolve.js.map +1 -0
  134. package/dist/core/unified-pipeline.d.ts +3 -1
  135. package/dist/core/unified-pipeline.d.ts.map +1 -1
  136. package/dist/core/unified-pipeline.js +23 -11
  137. package/dist/core/unified-pipeline.js.map +1 -1
  138. package/gemini-extension.json +1 -1
  139. package/node_modules/@usejunior/docx-core/LICENSE +202 -21
  140. package/node_modules/@usejunior/docx-core/NOTICE +2 -0
  141. package/node_modules/@usejunior/docx-core/README.md +2 -2
  142. package/node_modules/@usejunior/docx-core/dist/.tsbuildinfo +1 -1
  143. package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts +55 -0
  144. package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts.map +1 -1
  145. package/node_modules/@usejunior/docx-core/dist/atomizer.js +139 -14
  146. package/node_modules/@usejunior/docx-core/dist/atomizer.js.map +1 -1
  147. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.d.ts +99 -0
  148. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.d.ts.map +1 -0
  149. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.js +415 -0
  150. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.js.map +1 -0
  151. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -1
  152. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js +403 -113
  153. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
  154. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.d.ts +99 -0
  155. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.d.ts.map +1 -0
  156. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.js +449 -0
  157. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.js.map +1 -0
  158. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts +37 -0
  159. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts.map +1 -0
  160. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.js +189 -0
  161. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.js.map +1 -0
  162. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.d.ts +74 -0
  163. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.d.ts.map +1 -0
  164. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.js +171 -0
  165. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.js.map +1 -0
  166. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts +88 -0
  167. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts.map +1 -0
  168. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.js +326 -0
  169. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.js.map +1 -0
  170. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts +85 -0
  171. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts.map +1 -0
  172. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.js +402 -0
  173. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.js.map +1 -0
  174. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts +39 -0
  175. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts.map +1 -0
  176. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.js +265 -0
  177. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.js.map +1 -0
  178. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.d.ts +62 -0
  179. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.d.ts.map +1 -0
  180. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.js +139 -0
  181. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.js.map +1 -0
  182. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts +198 -0
  183. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts.map +1 -0
  184. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.js +475 -0
  185. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.js.map +1 -0
  186. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts +6 -290
  187. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -1
  188. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js +23 -1828
  189. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js.map +1 -1
  190. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts +36 -2
  191. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts.map +1 -1
  192. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js +456 -224
  193. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js.map +1 -1
  194. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -1
  195. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.js +199 -173
  196. package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -1
  197. package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +1 -1
  198. package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.js +7 -0
  199. package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.js.map +1 -1
  200. package/node_modules/@usejunior/docx-core/dist/cli/compare-two.d.ts.map +1 -1
  201. package/node_modules/@usejunior/docx-core/dist/cli/compare-two.js +3 -1
  202. package/node_modules/@usejunior/docx-core/dist/cli/compare-two.js.map +1 -1
  203. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.d.ts +3 -0
  204. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.d.ts.map +1 -0
  205. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.js +93 -0
  206. package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.js.map +1 -0
  207. package/node_modules/@usejunior/docx-core/dist/cli/index.d.ts.map +1 -1
  208. package/node_modules/@usejunior/docx-core/dist/cli/index.js +5 -1
  209. package/node_modules/@usejunior/docx-core/dist/cli/index.js.map +1 -1
  210. package/node_modules/@usejunior/docx-core/dist/compare-types.d.ts +197 -0
  211. package/node_modules/@usejunior/docx-core/dist/compare-types.d.ts.map +1 -0
  212. package/node_modules/@usejunior/docx-core/dist/compare-types.js +2 -0
  213. package/node_modules/@usejunior/docx-core/dist/compare-types.js.map +1 -0
  214. package/node_modules/@usejunior/docx-core/dist/core-types.d.ts +5 -1
  215. package/node_modules/@usejunior/docx-core/dist/core-types.d.ts.map +1 -1
  216. package/node_modules/@usejunior/docx-core/dist/core-types.js +5 -1
  217. package/node_modules/@usejunior/docx-core/dist/core-types.js.map +1 -1
  218. package/node_modules/@usejunior/docx-core/dist/footnotes.d.ts +8 -3
  219. package/node_modules/@usejunior/docx-core/dist/footnotes.d.ts.map +1 -1
  220. package/node_modules/@usejunior/docx-core/dist/footnotes.js +8 -3
  221. package/node_modules/@usejunior/docx-core/dist/footnotes.js.map +1 -1
  222. package/node_modules/@usejunior/docx-core/dist/generation/compile.d.ts +22 -0
  223. package/node_modules/@usejunior/docx-core/dist/generation/compile.d.ts.map +1 -0
  224. package/node_modules/@usejunior/docx-core/dist/generation/compile.js +58 -0
  225. package/node_modules/@usejunior/docx-core/dist/generation/compile.js.map +1 -0
  226. package/node_modules/@usejunior/docx-core/dist/generation/context.d.ts +42 -0
  227. package/node_modules/@usejunior/docx-core/dist/generation/context.d.ts.map +1 -0
  228. package/node_modules/@usejunior/docx-core/dist/generation/context.js +65 -0
  229. package/node_modules/@usejunior/docx-core/dist/generation/context.js.map +1 -0
  230. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.d.ts +36 -0
  231. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.d.ts.map +1 -0
  232. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.js +116 -0
  233. package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.js.map +1 -0
  234. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.d.ts +24 -0
  235. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.d.ts.map +1 -0
  236. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.js +60 -0
  237. package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.js.map +1 -0
  238. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.d.ts +28 -0
  239. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.d.ts.map +1 -0
  240. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.js +19 -0
  241. package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.js.map +1 -0
  242. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.d.ts +16 -0
  243. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.d.ts.map +1 -0
  244. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.js +74 -0
  245. package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.js.map +1 -0
  246. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.d.ts +23 -0
  247. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.d.ts.map +1 -0
  248. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.js +57 -0
  249. package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.js.map +1 -0
  250. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.d.ts +29 -0
  251. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.d.ts.map +1 -0
  252. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.js +102 -0
  253. package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.js.map +1 -0
  254. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.d.ts +24 -0
  255. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.d.ts.map +1 -0
  256. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.js +121 -0
  257. package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.js.map +1 -0
  258. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.d.ts +24 -0
  259. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.d.ts.map +1 -0
  260. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.js +63 -0
  261. package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.js.map +1 -0
  262. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.d.ts +36 -0
  263. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.d.ts.map +1 -0
  264. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.js +157 -0
  265. package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.js.map +1 -0
  266. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.d.ts +16 -0
  267. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.d.ts.map +1 -0
  268. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.js +71 -0
  269. package/node_modules/@usejunior/docx-core/dist/generation/emit/run.js.map +1 -0
  270. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.d.ts +29 -0
  271. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.d.ts.map +1 -0
  272. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.js +117 -0
  273. package/node_modules/@usejunior/docx-core/dist/generation/emit/section.js.map +1 -0
  274. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.d.ts +13 -0
  275. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.d.ts.map +1 -0
  276. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.js +68 -0
  277. package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.js.map +1 -0
  278. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.d.ts +16 -0
  279. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.d.ts.map +1 -0
  280. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.js +82 -0
  281. package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.js.map +1 -0
  282. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.d.ts +26 -0
  283. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.d.ts.map +1 -0
  284. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.js +209 -0
  285. package/node_modules/@usejunior/docx-core/dist/generation/emit/table.js.map +1 -0
  286. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.d.ts +21 -0
  287. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.d.ts.map +1 -0
  288. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.js +151 -0
  289. package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.js.map +1 -0
  290. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.d.ts +12 -0
  291. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.d.ts.map +1 -0
  292. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.js +19 -0
  293. package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.js.map +1 -0
  294. package/node_modules/@usejunior/docx-core/dist/generation/errors.d.ts +22 -0
  295. package/node_modules/@usejunior/docx-core/dist/generation/errors.d.ts.map +1 -0
  296. package/node_modules/@usejunior/docx-core/dist/generation/errors.js +29 -0
  297. package/node_modules/@usejunior/docx-core/dist/generation/errors.js.map +1 -0
  298. package/node_modules/@usejunior/docx-core/dist/generation/index.d.ts +13 -0
  299. package/node_modules/@usejunior/docx-core/dist/generation/index.d.ts.map +1 -0
  300. package/node_modules/@usejunior/docx-core/dist/generation/index.js +12 -0
  301. package/node_modules/@usejunior/docx-core/dist/generation/index.js.map +1 -0
  302. package/node_modules/@usejunior/docx-core/dist/generation/ordering.d.ts +46 -0
  303. package/node_modules/@usejunior/docx-core/dist/generation/ordering.d.ts.map +1 -0
  304. package/node_modules/@usejunior/docx-core/dist/generation/ordering.js +119 -0
  305. package/node_modules/@usejunior/docx-core/dist/generation/ordering.js.map +1 -0
  306. package/node_modules/@usejunior/docx-core/dist/generation/recipes.d.ts +87 -0
  307. package/node_modules/@usejunior/docx-core/dist/generation/recipes.d.ts.map +1 -0
  308. package/node_modules/@usejunior/docx-core/dist/generation/recipes.js +232 -0
  309. package/node_modules/@usejunior/docx-core/dist/generation/recipes.js.map +1 -0
  310. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.d.ts +24 -0
  311. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.d.ts.map +1 -0
  312. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.js +318 -0
  313. package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.js.map +1 -0
  314. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.d.ts +4 -0
  315. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.d.ts.map +1 -0
  316. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.js +18 -0
  317. package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.js.map +1 -0
  318. package/node_modules/@usejunior/docx-core/dist/generation/types.d.ts +266 -0
  319. package/node_modules/@usejunior/docx-core/dist/generation/types.d.ts.map +1 -0
  320. package/node_modules/@usejunior/docx-core/dist/generation/types.js +63 -0
  321. package/node_modules/@usejunior/docx-core/dist/generation/types.js.map +1 -0
  322. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.d.ts +27 -0
  323. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.d.ts.map +1 -0
  324. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.js +363 -0
  325. package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.js.map +1 -0
  326. package/node_modules/@usejunior/docx-core/dist/index.d.ts +9 -150
  327. package/node_modules/@usejunior/docx-core/dist/index.d.ts.map +1 -1
  328. package/node_modules/@usejunior/docx-core/dist/index.js +14 -0
  329. package/node_modules/@usejunior/docx-core/dist/index.js.map +1 -1
  330. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.d.ts +15 -0
  331. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.d.ts.map +1 -0
  332. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.js +84 -0
  333. package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.js.map +1 -0
  334. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.d.ts +49 -0
  335. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.d.ts.map +1 -0
  336. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.js +290 -0
  337. package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.js.map +1 -0
  338. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.d.ts +134 -0
  339. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.d.ts.map +1 -0
  340. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.js +298 -0
  341. package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.js.map +1 -0
  342. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.d.ts +4 -3
  343. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.d.ts.map +1 -1
  344. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.js +163 -77
  345. package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.js.map +1 -1
  346. package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts +12 -3
  347. package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts.map +1 -1
  348. package/node_modules/@usejunior/docx-core/dist/primitives/comments.js +374 -97
  349. package/node_modules/@usejunior/docx-core/dist/primitives/comments.js.map +1 -1
  350. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.d.ts +29 -0
  351. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.d.ts.map +1 -0
  352. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.js +63 -0
  353. package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.js.map +1 -0
  354. package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts +94 -15
  355. package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts.map +1 -1
  356. package/node_modules/@usejunior/docx-core/dist/primitives/document.js +377 -234
  357. package/node_modules/@usejunior/docx-core/dist/primitives/document.js.map +1 -1
  358. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.d.ts +18 -0
  359. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.d.ts.map +1 -0
  360. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.js +160 -0
  361. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.js.map +1 -0
  362. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.d.ts +45 -0
  363. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.d.ts.map +1 -0
  364. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.js +247 -0
  365. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.js.map +1 -0
  366. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.d.ts +11 -0
  367. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.d.ts.map +1 -0
  368. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.js +104 -0
  369. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.js.map +1 -0
  370. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.d.ts +37 -0
  371. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.d.ts.map +1 -0
  372. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.js +199 -0
  373. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.js.map +1 -0
  374. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.d.ts +165 -0
  375. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.d.ts.map +1 -0
  376. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.js +2 -0
  377. package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.js.map +1 -0
  378. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts +50 -101
  379. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts.map +1 -1
  380. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js +287 -326
  381. package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js.map +1 -1
  382. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts +9 -0
  383. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts.map +1 -1
  384. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js +10 -1
  385. package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js.map +1 -1
  386. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.d.ts +4 -3
  387. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.d.ts.map +1 -1
  388. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.js +232 -44
  389. package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.js.map +1 -1
  390. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.d.ts +7 -0
  391. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.d.ts.map +1 -1
  392. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.js +22 -11
  393. package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.js.map +1 -1
  394. package/node_modules/@usejunior/docx-core/dist/primitives/index.d.ts +12 -0
  395. package/node_modules/@usejunior/docx-core/dist/primitives/index.d.ts.map +1 -1
  396. package/node_modules/@usejunior/docx-core/dist/primitives/index.js +11 -0
  397. package/node_modules/@usejunior/docx-core/dist/primitives/index.js.map +1 -1
  398. package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts +4 -3
  399. package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts.map +1 -1
  400. package/node_modules/@usejunior/docx-core/dist/primitives/layout.js +45 -3
  401. package/node_modules/@usejunior/docx-core/dist/primitives/layout.js.map +1 -1
  402. package/node_modules/@usejunior/docx-core/dist/primitives/locator.d.ts +76 -0
  403. package/node_modules/@usejunior/docx-core/dist/primitives/locator.d.ts.map +1 -0
  404. package/node_modules/@usejunior/docx-core/dist/primitives/locator.js +223 -0
  405. package/node_modules/@usejunior/docx-core/dist/primitives/locator.js.map +1 -0
  406. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.d.ts +21 -3
  407. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.d.ts.map +1 -1
  408. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.js +32 -10
  409. package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.js.map +1 -1
  410. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.d.ts +38 -0
  411. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.d.ts.map +1 -0
  412. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.js +323 -0
  413. package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.js.map +1 -0
  414. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.d.ts +53 -0
  415. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.d.ts.map +1 -1
  416. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.js +59 -0
  417. package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.js.map +1 -1
  418. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.d.ts +6 -4
  419. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.d.ts.map +1 -1
  420. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.js +187 -91
  421. package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.js.map +1 -1
  422. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.d.ts +7 -0
  423. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.d.ts.map +1 -0
  424. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.js +27 -0
  425. package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.js.map +1 -0
  426. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.d.ts +7 -0
  427. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.d.ts.map +1 -0
  428. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.js +39 -0
  429. package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.js.map +1 -0
  430. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.d.ts +19 -0
  431. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.d.ts.map +1 -0
  432. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.js +29 -0
  433. package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.js.map +1 -0
  434. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.d.ts +19 -0
  435. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.d.ts.map +1 -0
  436. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.js +165 -0
  437. package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.js.map +1 -0
  438. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.d.ts +7 -0
  439. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.d.ts.map +1 -1
  440. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.js +23 -4
  441. package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.js.map +1 -1
  442. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.d.ts +37 -0
  443. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.d.ts.map +1 -0
  444. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.js +395 -0
  445. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.js.map +1 -0
  446. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.d.ts +16 -0
  447. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.d.ts.map +1 -0
  448. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.js +300 -0
  449. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.js.map +1 -0
  450. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.d.ts +15 -0
  451. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.d.ts.map +1 -0
  452. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.js +154 -0
  453. package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.js.map +1 -0
  454. package/node_modules/@usejunior/docx-core/dist/primitives/styles.d.ts +15 -0
  455. package/node_modules/@usejunior/docx-core/dist/primitives/styles.d.ts.map +1 -1
  456. package/node_modules/@usejunior/docx-core/dist/primitives/styles.js +33 -22
  457. package/node_modules/@usejunior/docx-core/dist/primitives/styles.js.map +1 -1
  458. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.d.ts +19 -0
  459. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.d.ts.map +1 -0
  460. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.js +189 -0
  461. package/node_modules/@usejunior/docx-core/dist/primitives/table_context.js.map +1 -0
  462. package/node_modules/@usejunior/docx-core/dist/primitives/tables.d.ts.map +1 -1
  463. package/node_modules/@usejunior/docx-core/dist/primitives/tables.js +13 -3
  464. package/node_modules/@usejunior/docx-core/dist/primitives/tables.js.map +1 -1
  465. package/node_modules/@usejunior/docx-core/dist/primitives/text.d.ts +2 -1
  466. package/node_modules/@usejunior/docx-core/dist/primitives/text.d.ts.map +1 -1
  467. package/node_modules/@usejunior/docx-core/dist/primitives/text.js +116 -12
  468. package/node_modules/@usejunior/docx-core/dist/primitives/text.js.map +1 -1
  469. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.d.ts +148 -0
  470. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.d.ts.map +1 -0
  471. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.js +291 -0
  472. package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.js.map +1 -0
  473. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.d.ts +35 -0
  474. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.d.ts.map +1 -0
  475. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.js +323 -0
  476. package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.js.map +1 -0
  477. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.d.ts +29 -0
  478. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.d.ts.map +1 -0
  479. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.js +35 -0
  480. package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.js.map +1 -0
  481. package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts +5 -0
  482. package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts.map +1 -1
  483. package/node_modules/@usejunior/docx-core/dist/primitives/xml.js +5 -0
  484. package/node_modules/@usejunior/docx-core/dist/primitives/xml.js.map +1 -1
  485. package/node_modules/@usejunior/docx-core/dist/primitives/zip.d.ts +1 -0
  486. package/node_modules/@usejunior/docx-core/dist/primitives/zip.d.ts.map +1 -1
  487. package/node_modules/@usejunior/docx-core/dist/primitives/zip.js +21 -3
  488. package/node_modules/@usejunior/docx-core/dist/primitives/zip.js.map +1 -1
  489. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.d.ts +14 -0
  490. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.d.ts.map +1 -0
  491. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.js +166 -0
  492. package/node_modules/@usejunior/docx-core/dist/shared/field-structure.js.map +1 -0
  493. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.d.ts +4 -1
  494. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.d.ts.map +1 -1
  495. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.js +4 -1
  496. package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.js.map +1 -1
  497. package/node_modules/@usejunior/docx-core/package.json +13 -9
  498. package/node_modules/@xmldom/xmldom/CHANGELOG.md +1055 -0
  499. package/node_modules/@xmldom/xmldom/LICENSE +8 -0
  500. package/node_modules/@xmldom/xmldom/SECURITY.md +50 -0
  501. package/node_modules/@xmldom/xmldom/index.d.ts +1789 -0
  502. package/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +3 -0
  503. package/node_modules/@xmldom/xmldom/lib/conventions.js +429 -0
  504. package/node_modules/@xmldom/xmldom/lib/dom-parser.js +586 -0
  505. package/node_modules/@xmldom/xmldom/lib/dom.js +3554 -0
  506. package/node_modules/@xmldom/xmldom/lib/entities.js +2171 -0
  507. package/node_modules/@xmldom/xmldom/lib/errors.js +202 -0
  508. package/node_modules/@xmldom/xmldom/lib/grammar.js +547 -0
  509. package/node_modules/@xmldom/xmldom/lib/index.js +41 -0
  510. package/node_modules/@xmldom/xmldom/lib/sax.js +929 -0
  511. package/node_modules/@xmldom/xmldom/package.json +77 -0
  512. package/node_modules/@xmldom/xmldom/readme.md +364 -0
  513. package/node_modules/core-util-is/LICENSE +19 -0
  514. package/node_modules/core-util-is/README.md +3 -0
  515. package/node_modules/core-util-is/lib/util.js +107 -0
  516. package/node_modules/core-util-is/package.json +38 -0
  517. package/node_modules/immediate/LICENSE.txt +20 -0
  518. package/node_modules/immediate/README.md +93 -0
  519. package/node_modules/immediate/dist/immediate.js +75 -0
  520. package/node_modules/immediate/dist/immediate.min.js +1 -0
  521. package/node_modules/immediate/lib/browser.js +69 -0
  522. package/node_modules/immediate/lib/index.js +73 -0
  523. package/node_modules/immediate/package.json +42 -0
  524. package/node_modules/inherits/LICENSE +16 -0
  525. package/node_modules/inherits/README.md +42 -0
  526. package/node_modules/inherits/inherits.js +9 -0
  527. package/node_modules/inherits/inherits_browser.js +27 -0
  528. package/node_modules/inherits/package.json +29 -0
  529. package/node_modules/isarray/.npmignore +1 -0
  530. package/node_modules/isarray/.travis.yml +4 -0
  531. package/node_modules/isarray/Makefile +6 -0
  532. package/node_modules/isarray/README.md +60 -0
  533. package/node_modules/isarray/component.json +19 -0
  534. package/node_modules/isarray/index.js +5 -0
  535. package/node_modules/isarray/package.json +45 -0
  536. package/node_modules/isarray/test.js +20 -0
  537. package/node_modules/jszip/.codeclimate.yml +16 -0
  538. package/node_modules/jszip/.editorconfig +8 -0
  539. package/node_modules/jszip/.eslintrc.js +43 -0
  540. package/node_modules/jszip/.github/workflows/pr.yaml +58 -0
  541. package/node_modules/jszip/.jekyll-metadata +0 -0
  542. package/node_modules/jszip/.travis.yml +17 -0
  543. package/node_modules/jszip/CHANGES.md +204 -0
  544. package/node_modules/jszip/LICENSE.markdown +651 -0
  545. package/node_modules/jszip/README.markdown +33 -0
  546. package/node_modules/jszip/deps.js +37 -0
  547. package/node_modules/jszip/dist/jszip.js +11577 -0
  548. package/node_modules/jszip/dist/jszip.min.js +13 -0
  549. package/node_modules/jszip/graph.svg +601 -0
  550. package/node_modules/jszip/index.d.ts +330 -0
  551. package/node_modules/jszip/lib/base64.js +106 -0
  552. package/node_modules/jszip/lib/compressedObject.js +74 -0
  553. package/node_modules/jszip/lib/compressions.js +14 -0
  554. package/node_modules/jszip/lib/crc32.js +77 -0
  555. package/node_modules/jszip/lib/defaults.js +11 -0
  556. package/node_modules/jszip/lib/external.js +18 -0
  557. package/node_modules/jszip/lib/flate.js +85 -0
  558. package/node_modules/jszip/lib/generate/ZipFileWorker.js +539 -0
  559. package/node_modules/jszip/lib/generate/index.js +57 -0
  560. package/node_modules/jszip/lib/index.js +55 -0
  561. package/node_modules/jszip/lib/license_header.js +11 -0
  562. package/node_modules/jszip/lib/load.js +88 -0
  563. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +74 -0
  564. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +42 -0
  565. package/node_modules/jszip/lib/nodejsUtils.js +57 -0
  566. package/node_modules/jszip/lib/object.js +384 -0
  567. package/node_modules/jszip/lib/readable-stream-browser.js +10 -0
  568. package/node_modules/jszip/lib/reader/ArrayReader.js +57 -0
  569. package/node_modules/jszip/lib/reader/DataReader.js +116 -0
  570. package/node_modules/jszip/lib/reader/NodeBufferReader.js +19 -0
  571. package/node_modules/jszip/lib/reader/StringReader.js +38 -0
  572. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +22 -0
  573. package/node_modules/jszip/lib/reader/readerFor.js +28 -0
  574. package/node_modules/jszip/lib/signature.js +7 -0
  575. package/node_modules/jszip/lib/stream/ConvertWorker.js +26 -0
  576. package/node_modules/jszip/lib/stream/Crc32Probe.js +24 -0
  577. package/node_modules/jszip/lib/stream/DataLengthProbe.js +29 -0
  578. package/node_modules/jszip/lib/stream/DataWorker.js +116 -0
  579. package/node_modules/jszip/lib/stream/GenericWorker.js +263 -0
  580. package/node_modules/jszip/lib/stream/StreamHelper.js +214 -0
  581. package/node_modules/jszip/lib/support.js +38 -0
  582. package/node_modules/jszip/lib/utf8.js +275 -0
  583. package/node_modules/jszip/lib/utils.js +501 -0
  584. package/node_modules/jszip/lib/zipEntries.js +261 -0
  585. package/node_modules/jszip/lib/zipEntry.js +293 -0
  586. package/node_modules/jszip/lib/zipObject.js +133 -0
  587. package/node_modules/jszip/package.json +67 -0
  588. package/node_modules/jszip/sponsors.md +21 -0
  589. package/node_modules/jszip/tsconfig.json +101 -0
  590. package/node_modules/jszip/vendor/FileSaver.js +247 -0
  591. package/node_modules/lie/README.md +62 -0
  592. package/node_modules/lie/dist/lie.js +350 -0
  593. package/node_modules/lie/dist/lie.min.js +1 -0
  594. package/node_modules/lie/dist/lie.polyfill.js +358 -0
  595. package/node_modules/lie/dist/lie.polyfill.min.js +1 -0
  596. package/node_modules/lie/lib/browser.js +273 -0
  597. package/node_modules/lie/lib/index.js +298 -0
  598. package/node_modules/lie/license.md +7 -0
  599. package/node_modules/lie/lie.d.ts +244 -0
  600. package/node_modules/lie/package.json +69 -0
  601. package/node_modules/lie/polyfill.js +4 -0
  602. package/node_modules/pako/LICENSE +21 -0
  603. package/node_modules/pako/README.md +191 -0
  604. package/node_modules/pako/dist/pako.js +6818 -0
  605. package/node_modules/pako/dist/pako.min.js +1 -0
  606. package/node_modules/pako/dist/pako_deflate.js +3997 -0
  607. package/node_modules/pako/dist/pako_deflate.min.js +1 -0
  608. package/node_modules/pako/dist/pako_inflate.js +3300 -0
  609. package/node_modules/pako/dist/pako_inflate.min.js +1 -0
  610. package/node_modules/pako/index.js +14 -0
  611. package/node_modules/pako/lib/deflate.js +400 -0
  612. package/node_modules/pako/lib/inflate.js +423 -0
  613. package/node_modules/pako/lib/utils/common.js +105 -0
  614. package/node_modules/pako/lib/utils/strings.js +187 -0
  615. package/node_modules/pako/lib/zlib/README +59 -0
  616. package/node_modules/pako/lib/zlib/adler32.js +51 -0
  617. package/node_modules/pako/lib/zlib/constants.js +68 -0
  618. package/node_modules/pako/lib/zlib/crc32.js +59 -0
  619. package/node_modules/pako/lib/zlib/deflate.js +1874 -0
  620. package/node_modules/pako/lib/zlib/gzheader.js +58 -0
  621. package/node_modules/pako/lib/zlib/inffast.js +345 -0
  622. package/node_modules/pako/lib/zlib/inflate.js +1556 -0
  623. package/node_modules/pako/lib/zlib/inftrees.js +343 -0
  624. package/node_modules/pako/lib/zlib/messages.js +32 -0
  625. package/node_modules/pako/lib/zlib/trees.js +1222 -0
  626. package/node_modules/pako/lib/zlib/zstream.js +47 -0
  627. package/node_modules/pako/package.json +44 -0
  628. package/node_modules/process-nextick-args/index.js +45 -0
  629. package/node_modules/process-nextick-args/license.md +19 -0
  630. package/node_modules/process-nextick-args/package.json +25 -0
  631. package/node_modules/process-nextick-args/readme.md +18 -0
  632. package/node_modules/readable-stream/.travis.yml +34 -0
  633. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  634. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  635. package/node_modules/readable-stream/LICENSE +47 -0
  636. package/node_modules/readable-stream/README.md +58 -0
  637. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  638. package/node_modules/readable-stream/duplex-browser.js +1 -0
  639. package/node_modules/readable-stream/duplex.js +1 -0
  640. package/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  641. package/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  642. package/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  643. package/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  644. package/node_modules/readable-stream/lib/_stream_writable.js +685 -0
  645. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
  646. package/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
  647. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  648. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  649. package/node_modules/readable-stream/package.json +52 -0
  650. package/node_modules/readable-stream/passthrough.js +1 -0
  651. package/node_modules/readable-stream/readable-browser.js +7 -0
  652. package/node_modules/readable-stream/readable.js +19 -0
  653. package/node_modules/readable-stream/transform.js +1 -0
  654. package/node_modules/readable-stream/writable-browser.js +1 -0
  655. package/node_modules/readable-stream/writable.js +8 -0
  656. package/node_modules/safe-buffer/LICENSE +21 -0
  657. package/node_modules/safe-buffer/README.md +584 -0
  658. package/node_modules/safe-buffer/index.d.ts +187 -0
  659. package/node_modules/safe-buffer/index.js +62 -0
  660. package/node_modules/safe-buffer/package.json +37 -0
  661. package/node_modules/setimmediate/LICENSE.txt +20 -0
  662. package/node_modules/setimmediate/package.json +30 -0
  663. package/node_modules/setimmediate/setImmediate.js +186 -0
  664. package/node_modules/string_decoder/.travis.yml +50 -0
  665. package/node_modules/string_decoder/LICENSE +48 -0
  666. package/node_modules/string_decoder/README.md +47 -0
  667. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  668. package/node_modules/string_decoder/package.json +31 -0
  669. package/node_modules/util-deprecate/History.md +16 -0
  670. package/node_modules/util-deprecate/LICENSE +24 -0
  671. package/node_modules/util-deprecate/README.md +53 -0
  672. package/node_modules/util-deprecate/browser.js +67 -0
  673. package/node_modules/util-deprecate/node.js +6 -0
  674. package/node_modules/util-deprecate/package.json +27 -0
  675. package/package.json +7 -7
  676. package/server.json +3 -3
  677. package/skills/{cloud-service-agreement → agreements/cloud-service-agreement}/SKILL.md +2 -2
  678. package/skills/{nda → agreements/cloud-service-agreement}/template-filling-execution.md +2 -2
  679. package/skills/{data-privacy-agreement → agreements/data-privacy-agreement}/SKILL.md +15 -4
  680. package/skills/{open-agreements → agreements/data-privacy-agreement}/template-filling-execution.md +12 -6
  681. package/skills/{employment-contract → agreements/employment-contract}/SKILL.md +25 -8
  682. package/skills/{cloud-service-agreement → agreements/employment-contract}/template-filling-execution.md +12 -6
  683. package/skills/{nda → agreements/nda}/SKILL.md +2 -2
  684. package/skills/{safe → agreements/nda}/template-filling-execution.md +12 -6
  685. package/skills/{open-agreements → agreements/open-agreements}/SKILL.md +13 -30
  686. package/skills/agreements/open-agreements/template-filling-execution.md +98 -0
  687. package/skills/{safe → agreements/safe}/SKILL.md +2 -2
  688. package/skills/agreements/safe/template-filling-execution.md +98 -0
  689. package/skills/{services-agreement → agreements/services-agreement}/SKILL.md +3 -3
  690. package/skills/agreements/services-agreement/template-filling-execution.md +98 -0
  691. package/skills/{venture-financing → agreements/venture-financing}/SKILL.md +3 -3
  692. package/skills/agreements/venture-financing/template-filling-execution.md +98 -0
  693. package/skills/{client-email → client-workflows/client-email}/SKILL.md +9 -7
  694. package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/SKILL.md +1 -1
  695. package/skills/{edit-docx-agreement → client-workflows/edit-docx-agreement}/SKILL.md +1 -1
  696. package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/SKILL.md +1 -1
  697. package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/SKILL.md +1 -1
  698. package/skills/{soc2-readiness → compliance/soc2-readiness}/SKILL.md +1 -1
  699. package/skills/{canonical-markdown-authoring → internal/canonical-markdown-authoring}/SKILL.md +2 -3
  700. package/skills/{recipe-quality-audit → internal/recipe-quality-audit}/SKILL.md +2 -1
  701. package/skills/{unit-test-philosophy → internal/unit-test-philosophy}/SKILL.md +2 -0
  702. package/skills/legal-explainers/data-privacy-law-explainer/CONTRIBUTING.md +7 -0
  703. package/skills/legal-explainers/data-privacy-law-explainer/LICENSE +269 -0
  704. package/skills/legal-explainers/data-privacy-law-explainer/NOTICE +7 -0
  705. package/skills/legal-explainers/data-privacy-law-explainer/SKILL.md +113 -0
  706. package/skills/legal-explainers/data-privacy-law-explainer/content/alabama.md +211 -0
  707. package/skills/legal-explainers/data-privacy-law-explainer/content/alaska.md +155 -0
  708. package/skills/legal-explainers/data-privacy-law-explainer/content/arizona.md +181 -0
  709. package/skills/legal-explainers/data-privacy-law-explainer/content/arkansas.md +219 -0
  710. package/skills/legal-explainers/data-privacy-law-explainer/content/california.md +107 -0
  711. package/skills/legal-explainers/data-privacy-law-explainer/content/colorado.md +87 -0
  712. package/skills/legal-explainers/data-privacy-law-explainer/content/connecticut.md +83 -0
  713. package/skills/legal-explainers/data-privacy-law-explainer/content/delaware.md +85 -0
  714. package/skills/legal-explainers/data-privacy-law-explainer/content/district-of-columbia.md +153 -0
  715. package/skills/legal-explainers/data-privacy-law-explainer/content/florida.md +234 -0
  716. package/skills/legal-explainers/data-privacy-law-explainer/content/georgia.md +149 -0
  717. package/skills/legal-explainers/data-privacy-law-explainer/content/hawaii.md +167 -0
  718. package/skills/legal-explainers/data-privacy-law-explainer/content/idaho.md +149 -0
  719. package/skills/legal-explainers/data-privacy-law-explainer/content/illinois.md +238 -0
  720. package/skills/legal-explainers/data-privacy-law-explainer/content/indiana.md +93 -0
  721. package/skills/legal-explainers/data-privacy-law-explainer/content/iowa.md +99 -0
  722. package/skills/legal-explainers/data-privacy-law-explainer/content/kansas.md +155 -0
  723. package/skills/legal-explainers/data-privacy-law-explainer/content/kentucky.md +87 -0
  724. package/skills/legal-explainers/data-privacy-law-explainer/content/louisiana.md +209 -0
  725. package/skills/legal-explainers/data-privacy-law-explainer/content/maine.md +163 -0
  726. package/skills/legal-explainers/data-privacy-law-explainer/content/maryland.md +85 -0
  727. package/skills/legal-explainers/data-privacy-law-explainer/content/massachusetts.md +260 -0
  728. package/skills/legal-explainers/data-privacy-law-explainer/content/michigan.md +175 -0
  729. package/skills/legal-explainers/data-privacy-law-explainer/content/minnesota.md +93 -0
  730. package/skills/legal-explainers/data-privacy-law-explainer/content/mississippi.md +132 -0
  731. package/skills/legal-explainers/data-privacy-law-explainer/content/missouri.md +179 -0
  732. package/skills/legal-explainers/data-privacy-law-explainer/content/montana.md +105 -0
  733. package/skills/legal-explainers/data-privacy-law-explainer/content/nebraska.md +83 -0
  734. package/skills/legal-explainers/data-privacy-law-explainer/content/nevada.md +212 -0
  735. package/skills/legal-explainers/data-privacy-law-explainer/content/new-hampshire.md +91 -0
  736. package/skills/legal-explainers/data-privacy-law-explainer/content/new-jersey.md +95 -0
  737. package/skills/legal-explainers/data-privacy-law-explainer/content/new-mexico.md +174 -0
  738. package/skills/legal-explainers/data-privacy-law-explainer/content/new-york.md +195 -0
  739. package/skills/legal-explainers/data-privacy-law-explainer/content/north-carolina.md +205 -0
  740. package/skills/legal-explainers/data-privacy-law-explainer/content/north-dakota.md +169 -0
  741. package/skills/legal-explainers/data-privacy-law-explainer/content/ohio.md +171 -0
  742. package/skills/legal-explainers/data-privacy-law-explainer/content/oklahoma.md +168 -0
  743. package/skills/legal-explainers/data-privacy-law-explainer/content/oregon.md +103 -0
  744. package/skills/legal-explainers/data-privacy-law-explainer/content/pennsylvania.md +99 -0
  745. package/skills/legal-explainers/data-privacy-law-explainer/content/rhode-island.md +93 -0
  746. package/skills/legal-explainers/data-privacy-law-explainer/content/south-carolina.md +175 -0
  747. package/skills/legal-explainers/data-privacy-law-explainer/content/south-dakota.md +176 -0
  748. package/skills/legal-explainers/data-privacy-law-explainer/content/tennessee.md +89 -0
  749. package/skills/legal-explainers/data-privacy-law-explainer/content/texas.md +89 -0
  750. package/skills/legal-explainers/data-privacy-law-explainer/content/utah.md +83 -0
  751. package/skills/legal-explainers/data-privacy-law-explainer/content/vermont.md +267 -0
  752. package/skills/legal-explainers/data-privacy-law-explainer/content/virginia.md +85 -0
  753. package/skills/legal-explainers/data-privacy-law-explainer/content/washington.md +247 -0
  754. package/skills/legal-explainers/data-privacy-law-explainer/content/west-virginia.md +141 -0
  755. package/skills/legal-explainers/data-privacy-law-explainer/content/wisconsin.md +156 -0
  756. package/skills/legal-explainers/data-privacy-law-explainer/content/wyoming.md +185 -0
  757. package/skills/legal-explainers/data-privacy-law-explainer/manifest.json +519 -0
  758. package/skills/legal-explainers/non-compete-contract-explainer/CONTRIBUTING.md +7 -0
  759. package/skills/legal-explainers/non-compete-contract-explainer/LICENSE +269 -0
  760. package/skills/legal-explainers/non-compete-contract-explainer/NOTICE +7 -0
  761. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/SKILL.md +1 -1
  762. package/skills/legal-explainers/non-compete-contract-explainer/content/alabama.md +251 -0
  763. package/skills/legal-explainers/non-compete-contract-explainer/content/alaska.md +160 -0
  764. package/skills/legal-explainers/non-compete-contract-explainer/content/american-samoa.md +187 -0
  765. package/skills/legal-explainers/non-compete-contract-explainer/content/arizona.md +295 -0
  766. package/skills/legal-explainers/non-compete-contract-explainer/content/arkansas.md +235 -0
  767. package/skills/legal-explainers/non-compete-contract-explainer/content/au.md +208 -0
  768. package/skills/legal-explainers/non-compete-contract-explainer/content/australian-capital-territory.md +220 -0
  769. package/skills/legal-explainers/non-compete-contract-explainer/content/california.md +270 -0
  770. package/skills/legal-explainers/non-compete-contract-explainer/content/cnmi.md +168 -0
  771. package/skills/legal-explainers/non-compete-contract-explainer/content/colorado.md +277 -0
  772. package/skills/legal-explainers/non-compete-contract-explainer/content/connecticut.md +220 -0
  773. package/skills/legal-explainers/non-compete-contract-explainer/content/delaware.md +222 -0
  774. package/skills/legal-explainers/non-compete-contract-explainer/content/district-of-columbia.md +263 -0
  775. package/skills/legal-explainers/non-compete-contract-explainer/content/florida.md +267 -0
  776. package/skills/legal-explainers/non-compete-contract-explainer/content/georgia.md +323 -0
  777. package/skills/legal-explainers/non-compete-contract-explainer/content/guam.md +180 -0
  778. package/skills/legal-explainers/non-compete-contract-explainer/content/hawaii.md +236 -0
  779. package/skills/legal-explainers/non-compete-contract-explainer/content/idaho.md +258 -0
  780. package/skills/legal-explainers/non-compete-contract-explainer/content/illinois.md +266 -0
  781. package/skills/legal-explainers/non-compete-contract-explainer/content/in.md +269 -0
  782. package/skills/legal-explainers/non-compete-contract-explainer/content/indiana.md +253 -0
  783. package/skills/legal-explainers/non-compete-contract-explainer/content/iowa.md +232 -0
  784. package/skills/legal-explainers/non-compete-contract-explainer/content/kansas.md +227 -0
  785. package/skills/legal-explainers/non-compete-contract-explainer/content/kentucky.md +201 -0
  786. package/skills/legal-explainers/non-compete-contract-explainer/content/louisiana.md +272 -0
  787. package/skills/legal-explainers/non-compete-contract-explainer/content/maine.md +178 -0
  788. package/skills/legal-explainers/non-compete-contract-explainer/content/maryland.md +244 -0
  789. package/skills/legal-explainers/non-compete-contract-explainer/content/massachusetts.md +272 -0
  790. package/skills/legal-explainers/non-compete-contract-explainer/content/michigan.md +222 -0
  791. package/skills/legal-explainers/non-compete-contract-explainer/content/minnesota.md +171 -0
  792. package/skills/legal-explainers/non-compete-contract-explainer/content/mississippi.md +237 -0
  793. package/skills/legal-explainers/non-compete-contract-explainer/content/missouri.md +219 -0
  794. package/skills/legal-explainers/non-compete-contract-explainer/content/montana.md +202 -0
  795. package/skills/legal-explainers/non-compete-contract-explainer/content/nebraska.md +206 -0
  796. package/skills/legal-explainers/non-compete-contract-explainer/content/nevada.md +278 -0
  797. package/skills/legal-explainers/non-compete-contract-explainer/content/new-hampshire.md +233 -0
  798. package/skills/legal-explainers/non-compete-contract-explainer/content/new-jersey.md +277 -0
  799. package/skills/legal-explainers/non-compete-contract-explainer/content/new-mexico.md +244 -0
  800. package/skills/legal-explainers/non-compete-contract-explainer/content/new-south-wales.md +218 -0
  801. package/skills/legal-explainers/non-compete-contract-explainer/content/new-york.md +226 -0
  802. package/skills/legal-explainers/non-compete-contract-explainer/content/north-carolina.md +346 -0
  803. package/skills/legal-explainers/non-compete-contract-explainer/content/north-dakota.md +187 -0
  804. package/skills/legal-explainers/non-compete-contract-explainer/content/northern-territory.md +214 -0
  805. package/skills/legal-explainers/non-compete-contract-explainer/content/ohio.md +207 -0
  806. package/skills/legal-explainers/non-compete-contract-explainer/content/oklahoma.md +196 -0
  807. package/skills/legal-explainers/non-compete-contract-explainer/content/oregon.md +359 -0
  808. package/skills/legal-explainers/non-compete-contract-explainer/content/pennsylvania.md +254 -0
  809. package/skills/legal-explainers/non-compete-contract-explainer/content/ph.md +211 -0
  810. package/skills/legal-explainers/non-compete-contract-explainer/content/puerto-rico.md +163 -0
  811. package/skills/legal-explainers/non-compete-contract-explainer/content/queensland.md +206 -0
  812. package/skills/legal-explainers/non-compete-contract-explainer/content/rhode-island.md +171 -0
  813. package/skills/legal-explainers/non-compete-contract-explainer/content/sg.md +229 -0
  814. package/skills/legal-explainers/non-compete-contract-explainer/content/south-australia.md +236 -0
  815. package/skills/legal-explainers/non-compete-contract-explainer/content/south-carolina.md +226 -0
  816. package/skills/legal-explainers/non-compete-contract-explainer/content/south-dakota.md +222 -0
  817. package/skills/legal-explainers/non-compete-contract-explainer/content/tasmania.md +224 -0
  818. package/skills/legal-explainers/non-compete-contract-explainer/content/tennessee.md +251 -0
  819. package/skills/legal-explainers/non-compete-contract-explainer/content/texas.md +297 -0
  820. package/skills/legal-explainers/non-compete-contract-explainer/content/utah.md +250 -0
  821. package/skills/legal-explainers/non-compete-contract-explainer/content/vermont.md +211 -0
  822. package/skills/legal-explainers/non-compete-contract-explainer/content/victoria.md +218 -0
  823. package/skills/legal-explainers/non-compete-contract-explainer/content/virgin-islands.md +193 -0
  824. package/skills/legal-explainers/non-compete-contract-explainer/content/virginia.md +213 -0
  825. package/skills/legal-explainers/non-compete-contract-explainer/content/washington.md +296 -0
  826. package/skills/legal-explainers/non-compete-contract-explainer/content/west-virginia.md +187 -0
  827. package/skills/legal-explainers/non-compete-contract-explainer/content/western-australia.md +224 -0
  828. package/skills/legal-explainers/non-compete-contract-explainer/content/wisconsin.md +293 -0
  829. package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/wyoming.md +69 -55
  830. package/skills/legal-explainers/non-compete-contract-explainer/manifest.json +689 -0
  831. package/content/templates/bonterms-mutual-nda/signing.yaml +0 -35
  832. package/dist/core/signing-config.d.ts +0 -46
  833. package/dist/core/signing-config.d.ts.map +0 -1
  834. package/dist/core/signing-config.js +0 -67
  835. package/dist/core/signing-config.js.map +0 -1
  836. package/skills/non-compete-contract-explainer/manifest.json +0 -18
  837. package/skills/services-agreement/template-filling-execution.md +0 -81
  838. package/skills/shared/template-filling-execution.md +0 -92
  839. /package/skills/{cloud-service-agreement → agreements/cloud-service-agreement}/CONNECTORS.md +0 -0
  840. /package/skills/{data-privacy-agreement → agreements/data-privacy-agreement}/CONNECTORS.md +0 -0
  841. /package/skills/{employment-contract → agreements/employment-contract}/CONNECTORS.md +0 -0
  842. /package/skills/{nda → agreements/nda}/CONNECTORS.md +0 -0
  843. /package/skills/{open-agreements → agreements/open-agreements}/CONNECTORS.md +0 -0
  844. /package/skills/{safe → agreements/safe}/CONNECTORS.md +0 -0
  845. /package/skills/{services-agreement → agreements/services-agreement}/CONNECTORS.md +0 -0
  846. /package/skills/{venture-financing → agreements/venture-financing}/CONNECTORS.md +0 -0
  847. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/CONNECTORS.md +0 -0
  848. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/ecorp-portal-playwright-notes.md +0 -0
  849. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/faq.md +0 -0
  850. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/filing-instructions.md +0 -0
  851. /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/tax-calculation.md +0 -0
  852. /package/skills/{edit-docx-agreement → client-workflows/edit-docx-agreement}/CONNECTORS.md +0 -0
  853. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/CONNECTORS.md +0 -0
  854. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/api-exports.md +0 -0
  855. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/evidence-types.md +0 -0
  856. /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/screenshot-guide.md +0 -0
  857. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/CONNECTORS.md +0 -0
  858. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/access-control.md +0 -0
  859. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/business-continuity.md +0 -0
  860. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/change-management.md +0 -0
  861. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/encryption.md +0 -0
  862. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/incident-response.md +0 -0
  863. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/isms-management.md +0 -0
  864. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/logging-monitoring.md +0 -0
  865. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/people-controls.md +0 -0
  866. /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/supplier-management.md +0 -0
  867. /package/skills/{soc2-readiness → compliance/soc2-readiness}/CONNECTORS.md +0 -0
  868. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/change-vendor-management.md +0 -0
  869. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/communication-info.md +0 -0
  870. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/control-activities.md +0 -0
  871. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/control-environment.md +0 -0
  872. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/logical-access.md +0 -0
  873. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/monitoring-activities.md +0 -0
  874. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/optional-categories.md +0 -0
  875. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/privacy-criteria.md +0 -0
  876. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/risk-assessment.md +0 -0
  877. /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/system-operations.md +0 -0
  878. /package/skills/{canonical-markdown-authoring → internal/canonical-markdown-authoring}/CONNECTORS.md +0 -0
  879. /package/skills/{unit-test-philosophy → internal/unit-test-philosophy}/references/allure-test-spec-writing-guide.md +0 -0
@@ -0,0 +1,218 @@
1
+ ---
2
+ jurisdiction: "New South Wales, Australia"
3
+ slug: new-south-wales
4
+ countryCode: AU
5
+ snapshotAsOf: "2026-06-19"
6
+ lastReviewed: "2026-06-10"
7
+ canonicalUrl: https://openagreements.org/practice-guides/non-compete/au/new-south-wales
8
+ license: CC BY 4.0
9
+ stale: false
10
+ ---
11
+
12
+ > [!IMPORTANT]
13
+ > **Informational only — not legal advice.** This is a snapshot of an OpenAgreements practice note,
14
+ > provided for general information. It is not legal advice, does not create an attorney-client
15
+ > relationship, and is not a substitute for a licensed attorney in the relevant jurisdiction.
16
+ > Laws change; verify against the canonical version before relying on it.
17
+ >
18
+ > **Canonical:** https://openagreements.org/practice-guides/non-compete/au/new-south-wales · **Snapshot as of:** 2026-06-19 · License: CC BY 4.0 · © openagreements.org
19
+
20
+ # Non-Compete Enforceability in New South Wales[^about]
21
+
22
+ In New South Wales a post-employment non-compete is presumptively void as a restraint of trade and binds a former employee only to the extent it is reasonable, but the Restraints of Trade Act 1976 (NSW) gives the Supreme Court a statutory power to enforce an overbroad clause to a reasonable extent rather than striking it down entirely.
23
+
24
+
25
+ ## At a glance
26
+
27
+ | Question | New South Wales, Australia |
28
+ | --- | --- |
29
+ | **Are non-competes enforceable?** | Allowed if reasonable |
30
+ | **Bottom line** | A NSW non-compete is presumptively void and binds a former employee only to the extent it is reasonable to protect a legitimate interest, but the Restraints of Trade Act 1976 (NSW) lets the Supreme Court enforce an overbroad clause to a reasonable extent instead of voiding it outright. |
31
+ | **Main law or case** | Restraints of Trade Act 1976 (NSW) s 4; common-law restraint of trade |
32
+ | **Main exceptions** | Sale-of-business covenants are judged more leniently; a proposed federal ban would cover most employees earning under the Fair Work Act high-income threshold but would exclude sale-of-business and above-threshold restraints. |
33
+ | **Can a court narrow it?** | Only strikes wording |
34
+ | **Applies to contractors?** | Yes |
35
+ | **Restriction extended during a breach?** | Untested; courts treat rolling or indefinite restraints with suspicion and prefer damages over extending an injunction. |
36
+ | **Maximum length set by law** | No statutory cap; periods beyond about 12 months in employment are heavily scrutinised. |
37
+
38
+ ## Are employee non-competes enforceable in New South Wales? {#enforceability}
39
+
40
+ **Short answer.** Only to the extent they are reasonable. A post-employment non-compete is treated as a restraint of trade, which the courts presume is void and contrary to public policy unless the employer shows it goes no further than is reasonably necessary to protect a legitimate business interest [^lindner-prima-facie-void]. What makes New South Wales distinctive is that, even when a clause is drafted too broadly, the [Restraints of Trade Act 1976 (NSW)](https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1976-067) lets the Supreme Court enforce the clause to a reasonable extent rather than striking it down outright [^rota-s4-1].
41
+
42
+ New South Wales is not a per se ban jurisdiction, and it has no statute that sets fixed numeric limits on duration or area. It is a reasonableness jurisdiction built on the common-law restraint-of-trade doctrine, modified by one important statute. The starting point is that every post-employment covenant is presumptively unenforceable, and the burden is on the employer to justify it as reasonable in the interests of both the parties and the public [^olson-justifiable-reasonable].
43
+
44
+ "Any contractual restraint of trade is prima facie unlawful and invalid."[^lindner-prima-facie-void]
45
+
46
+ Courts apply the doctrine more strictly to employment covenants than to covenants in commercial deals, on the view that an employee usually has less bargaining power than a business seller [^olson-stricter-employment]. The sections that follow work through the statutory read-down power, what counts as a legitimate interest, how reasonableness of scope is judged, and the open question of whether a breach can extend the restraint.
47
+
48
+ ## Can a New South Wales court narrow an overbroad non-compete? {#court-narrowing}
49
+
50
+ **Short answer.** Yes — more readily than in most common-law jurisdictions, but only by enforcing the clause to a reasonable extent, not by re-drafting it. At common law an overbroad restraint was simply void, and a court could only delete severable words under the blue-pencil rule [^olson-common-law-no-severance]. Section 4(1) of the [Restraints of Trade Act 1976 (NSW)](https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1976-067) changed that for New South Wales [^olson-s4-overturned]: a court may now enforce a covenant to the extent the restraint is reasonable, even though the clause as written is too wide [^olson-s4-ignore-excess].
51
+
52
+ This statutory power is stronger than the blue-pencil rule, but it is not a power to rewrite the bargain. The distinction matters in practice. A court applying s 4(1) looks at the actual or threatened breach and asks whether enforcing the clause against that conduct would be contrary to public policy; if not, it can grant a narrower injunction that falls inside the contractual words. It cannot reconstruct the clause into something the parties did not write [^olson-amputation].
53
+
54
+ "Section 4(1) allows the court to ignore the fact that the restraint goes beyond what is reasonable, provided the restraint can be enforced to an extent that is reasonable."[^olson-s4-ignore-excess]
55
+
56
+ *Woolworths Ltd v Olson* shows the power in action. The Court of Appeal accepted that a 12-month, Australia-and-New-Zealand restraint on a senior executive was expressed too broadly, but used s 4(1) to enforce a narrower, six-month restraint against the executive joining a named supermarket competitor in Australia. The reasoning is explicit that s 4(1) is a capacity to enforce a reasonable restraint within an over-wide clause, not a licence to remake the contract [^olson-no-remake].
57
+
58
+ "The court may not rewrite the covenant while exercising the power under s4(1)."[^olson-no-remake]
59
+
60
+ The read-down power also has a safety valve that runs the other way. Section 4(3) lets a person who is subject to a restraint apply to the Supreme Court, and where the restraint is against public policy partly because of a manifest failure to attempt to make it a reasonable restraint, the Court may — notwithstanding s 4(1) — order the restraint to be altogether invalid or valid only to a lesser extent [^rota-s4-3]. In other words, an employer who draws a grossly overbroad clause with no genuine attempt at reasonableness cannot always count on s 4(1) to rescue it; that is one reason a cascading clause, which is evidence of an attempt to confine the restraint to reasonable bounds, matters.
61
+
62
+ > [!CAUTION]
63
+ > **Drafting note.**
64
+ >
65
+ > The s 4(1) read-down power is not a reason to draft aggressively. The court can enforce a wide clause only to a reasonable extent and cannot add or substitute words to save it, so a covenant that can be narrowed only by re-drafting still fails. Draft scope, area, and duration to the minimum the legitimate interest requires, so the clause is defensible as written rather than dependent on the court trimming it [^olson-amputation].
66
+
67
+ ## Are cascading or ladder restraint clauses valid in New South Wales? {#cascading-clauses}
68
+
69
+ **Short answer.** They can be, and they remain common in New South Wales drafting. A cascading clause sets out a menu of progressively narrower combinations of period and area, each expressed as a separate, severable restraint. In *Hanna v OAMPS Insurance Brokers Ltd*, the Court of Appeal held that a nine-rung cascading restraint was not void for uncertainty, because each rung was an independent covenant that could be understood and obeyed on its own [^hanna-nine-restraints]. The restraints in *Hanna* were client non-solicitation and non-dealing covenants — restrictions on canvassing, soliciting, or dealing with named clients — rather than a blanket bar on competing, but the certainty and read-down reasoning applies equally to a cascading non-compete.
70
+
71
+ The certainty objection to cascading clauses is that the employee cannot tell which rung binds them. The Court of Appeal rejected that argument where the clause makes each combination a separate and independent covenant: every rung binds, and complying with the widest necessarily complies with the narrower ones, so no selection mechanism or hierarchy is required [^hanna-no-mechanism].
72
+
73
+ "Neither their operation nor any principle of law concerned with certainty of contract requires a mechanism or hierarchy of order of operation."[^hanna-no-mechanism]
74
+
75
+ The decision also explains why these clauses persist. Because the common law allows a court to delete severable words but not to read a clause down, employers draft multiple severable restraints so that, if the widest is unreasonable, a narrower one can still stand [^hanna-why-cascading]. The Court left open whether a sufficiently complex, repetitive cascading structure might be against public policy under s 4(1), but held that this particular deed was not [^hanna-not-against-policy].
76
+
77
+ > [!CAUTION]
78
+ > **Drafting note.**
79
+ >
80
+ > A cascading clause is not a guaranteed safety net. The Court of Appeal reserved the question whether an overly complex, multi-layered cascade could be against public policy under s 4(1), so each rung should still represent a genuinely reasonable restraint rather than a mechanical ladder of every possible permutation [^hanna-not-against-policy]. The flip side also matters: under s 4(3) a restrained person can ask the Court to strike a clause down where there has been a manifest failure to attempt a reasonable restraint, so a cascade should read as a genuine attempt to confine the restraint, not as an aggressive maximal grab [^rota-s4-3-cascade].
81
+
82
+ ## What legitimate interest must an employer show to enforce a NSW non-compete? {#legitimate-interest}
83
+
84
+ **Short answer.** A protectable business interest — not a mere wish to avoid competition. An employer cannot restrain a former employee just because the new employer is a rival [^lindner-not-competition-per-se]. The recognised interests are the employer's trade connection with its customers and the goodwill of the business, together with trade secrets and confidential information [^lindner-trade-connection], and, increasingly, the maintenance of a stable trained workforce, usually protected through a non-solicitation clause rather than a blanket non-compete.
85
+
86
+ The dividing line drawn in *Lindner v Murdock's Garage* is between protecting an asset and suppressing a rival. An employee's own general skill, experience, and know-how are the employee's to use; what the law protects is the employer's customer connection and confidential information [^lindner-trade-connection]. A covenant aimed at competition by itself, rather than at a recognised interest, is invalid [^lindner-not-competition-per-se].
87
+
88
+ "An employer must be prepared to face the competition of a former employee if it comes."[^lindner-not-competition-per-se]
89
+
90
+ Two further cases sharpen the confidential-information limb. In *Buckley v Tutty* (1971) 125 CLR 353, the High Court confirmed the modern reasonableness framework that NSW courts apply, and in *Wright v Gasweld Pty Ltd* (1991) 22 NSWLR 317 the NSW Court of Appeal mapped the spectrum between genuine trade secrets, which can support a restraint, and the general know-how an employee is free to carry away, which cannot. The practical point for drafters is that the interest has to be identified and real; an employer who cannot point to a protectable interest cannot enforce the clause whatever its scope.
91
+
92
+ > [!CAUTION]
93
+ > **Drafting note.**
94
+ >
95
+ > A clause that simply bars a former employee from joining or starting a competing business, without tying the restraint to a specific protectable interest, is the weakest position. Identify the actual interest — the customer connection, the trade secrets, or the workforce — and draft the restraint around it, because a restraint aimed only at competition by a former employee is not enforceable [^lindner-not-competition-per-se].
96
+
97
+ ## How long and how wide can a New South Wales non-compete be? {#reasonableness-factors}
98
+
99
+ **Short answer.** There is no statutory limit; reasonableness is decided case by case on the activity restrained, the geographic area, the duration, and the employee's seniority and actual customer influence. Reasonableness is tested as at the date the contract was made, not by hindsight [^olson-tested-at-contract]. A geographic area wider than the employer's business reaches, or a period longer than is needed to protect the interest, is likely to be unreasonable [^lindner-area-too-wide].
100
+
101
+ Because the limits are judge-made, there is no fixed ceiling to anchor a covenant, and the analysis cuts both ways. In *Lindner v Murdock's Garage* the High Court held an area covenant void because the area it covered was wider than the employer's business reasonably required [^lindner-area-too-wide]. By contrast, in *Woolworths Ltd v Olson* the Court of Appeal enforced a six-month restraint against a senior executive joining a named supermarket competitor, treating that scope as reasonable in light of the executive's access to a valuable confidential project [^olson-tested-at-contract].
102
+
103
+ On duration, NSW courts ask what period is reasonably necessary to protect the interest — for a customer-connection interest, commonly how long it takes for the former employee's influence over clients to fade or for the employer to cement its own connection. *Hanna v OAMPS Insurance Brokers Ltd* makes clear there is no single mandatory test for the reasonable length of a restraint [^hanna-no-required-test]; the court chooses the approach that fits the facts [^hanna-test-depends-on-facts]. In that case a 12-month client non-solicitation and non-dealing restraint on a senior insurance broker — not a 12-month general non-compete — was held reasonable, the period being tied to the annual policy-renewal cycle over which the broker's client influence would persist. As a general matter, periods beyond about 12 months in the employment context attract close scrutiny.
104
+
105
+ "The use of one test or another depends on the facts and the evaluation of the approach that is reasonable."[^hanna-test-depends-on-facts]
106
+
107
+ ## Do paid restraints, garden leave, and fresh consideration help in New South Wales? {#garden-leave}
108
+
109
+ **Short answer.** They can strengthen an employer's position, but they do not displace the reasonableness requirement. A restraint that the employee is paid to observe is more likely to be enforced, because it weighs against the argument that the clause stops the employee from earning a living [^olson-negotiated-weight]. Garden leave, where the employee stays employed and paid through the notice period, is assessed more flexibly than a post-termination restraint because the employee remains bound by duties of fidelity.
110
+
111
+ In *Woolworths Ltd v Olson* the restraint was coupled with a contractual restraint payment equal to the executive's pay for the restraint period, and the Court of Appeal treated that payment as one of the circumstances supporting enforcement of a six-month restraint. A court gives weight to what the parties negotiated, though the parties' own statement that a clause is reasonable is not conclusive [^olson-negotiated-weight].
112
+
113
+ For mid-employment restraints — covenants introduced after the employee is already on foot — the practical concern is consideration and reasonableness assessed at the time the new clause is agreed. New South Wales courts test validity as at the date the restraint is made [^hanna-assessed-at-contract], so a restraint bolted on later is judged on the circumstances then, not on the original hiring.
114
+
115
+ On garden leave for senior people, *Pearson v HRX Holdings Pty Ltd* [2012] FCAFC 111 illustrates that a generously remunerated, fixed-term garden-leave arrangement for a key executive can be enforced, but it remains subject to the same underlying reasonableness scrutiny rather than being automatically valid.
116
+
117
+ ## What if the employer wrongfully dismissed the employee? {#employer-breach}
118
+
119
+ **Short answer.** The restraint may fall away. The employer carries the onus of proving the restraint is reasonable in the first place [^lindner-onus-reasonable], so an employer seeking an injunction starts from a position where it must justify the covenant. Beyond that, the long-standing common-law principle associated with *General Billposting Co Ltd v Atkinson* [1909] AC 118 is that an employer who wrongfully dismisses an employee — for example by repudiating the contract through a dismissal without the notice the contract requires — generally cannot afterwards enforce a post-employment restraint against that employee. The staged New South Wales authorities here do not themselves decide that point, so it is best treated as a general principle a court may apply rather than a settled NSW rule.
120
+
121
+ The reasonableness analysis assumes a clause an employer is entitled to rely on, and the employer bears the onus of establishing that reasonableness [^lindner-onus-reasonable]. Where the employer is the party in serious breach, a court may, applying the general common-law principle, treat the employee as released from the covenant, and in any event the equitable remedies an employer needs — chiefly an injunction — are discretionary and sensitive to the employer's own conduct.
122
+
123
+ > [!NOTE]
124
+ > **Practice note.**
125
+ >
126
+ > The employer already bears the onus of proving the restraint reasonable before any question of its own breach arises [^lindner-onus-reasonable]. On top of that, an employer that terminates abruptly — without giving contractual notice or paying in lieu — may risk losing the very non-compete it wants to rely on, because under the general common-law principle a repudiatory breach by the employer can release the employee from the restraint. That repudiation point is not settled by the NSW authorities discussed here, so treat it as a risk rather than a certainty: before suing to enforce a covenant, confirm that the termination itself complied with the contract.
127
+
128
+ ## Does a New South Wales non-compete pause or extend if the employee breaches? {#tolling}
129
+
130
+ **Short answer.** This is an open question, and an employer should not assume the clock stops. No settled New South Wales authority holds that a restraint period tolls — pauses and then resumes — while a former employee is in breach or while litigation runs. Australian courts treat rolling or indefinite restraints with suspicion and generally prefer to address a breach through damages or a tailored injunction rather than by extending the restraint period [^lindner-prima-facie-void-tolling].
131
+
132
+ The reasonableness of a restraint is judged as at the date the contract was made [^olson-tested-at-contract-tolling], which sits uneasily with a clause that purports to lengthen the restraint automatically depending on the employee's later conduct. A drafting device that extends the period by the length of any breach pushes the effective duration beyond what was assessed as reasonable at the outset, and there is no clear NSW authority validating it. The safer assumption is that the stated period is the maximum the employer can rely on.
133
+
134
+ > [!CAUTION]
135
+ > **Drafting note.**
136
+ >
137
+ > Do not rely on a clause that purports to extend the non-compete by the length of any breach. No clear New South Wales authority validates tolling of the restraint period, and because reasonableness is tested as at the date of the contract, an automatic extension risks being treated as unreasonable. Treat the stated duration as the maximum and address an actual breach through an injunction or a damages claim instead [^olson-tested-at-contract-tolling].
138
+
139
+ ## Do New South Wales restraint rules differ for contractors and business sales? {#contractors-and-sale}
140
+
141
+ **Short answer.** Yes, in opposite directions. Restraints on independent contractors are assessed under the same restraint-of-trade doctrine as employee covenants, and courts may give a contractor slightly more latitude because the relationship is treated as more commercial than a pure employment relationship. Restraints given by the seller of a business are judged much more leniently, because a buyer is entitled to protect the goodwill it paid for and the parties bargain on more equal terms [^lindner-sale-distinction].
142
+
143
+ The sale-of-business leniency is long-standing. A restraint in a sale agreement is more easily upheld than the same restraint in an employment contract [^lindner-sale-more-easily], because the policy concerns that make employment covenants suspect — unequal bargaining power and the risk of locking a person out of their livelihood — are weaker when a vendor sells a business for value and promises not to immediately compete away the goodwill just sold. A multi-year restraint can be reasonable in that setting.
144
+
145
+ For contractors, the key question is the same one that governs employees: is there a legitimate interest, and is the scope no wider than necessary to protect it. The label matters less than the substance of the relationship and the interest at stake.
146
+
147
+ ## Is a federal ban on non-competes coming to Australia? {#federal-reform}
148
+
149
+ **Short answer.** A ban has been proposed but is not yet law, and as of June 2026 the common-law and Restraints of Trade Act framework above still governs in New South Wales [^rota-s4-1-reform]. According to Australian Government Treasury material and law-firm commentary, the Government announced in the 2025–26 Federal Budget that it intends to ban post-employment non-competes for workers earning under the Fair Work Act high-income threshold (reported at around AUD $183,100), with Treasury running a consultation on the design, and the reform expected to be legislated during 2026 and to take effect from 2027, operating prospectively. Those figures and dates come from that secondary material — Treasury announcements and commentary — not from the Restraints of Trade Act, which does not address the proposed federal scheme. Until any ban is enacted, the existing statutory and common-law framework continues to govern [^rota-s4-1-reform].
150
+
151
+ The proposal, as described in current Treasury material and law-firm commentary rather than in any enacted statute, would cover most employees earning below the high-income threshold while excluding sale-of-business covenants and restraints on higher earners and contractors. Non-solicitation, no-poach, and wage-fixing arrangements are also reported to be under consideration. None of this is in force, and the precise scope, threshold, and commencement could change before any legislation passes; the threshold figure and the 2026/2027 timeline in particular are drawn from secondary reporting and should be re-checked against the enacted text when it appears.
152
+
153
+ Because this is a future legislative matter, employers should treat the timeline and detail as provisional rather than settled. A covenant entered into now is governed by existing law; whether and how a future ban would affect existing or new agreements will depend on the enacted text and its transitional provisions.
154
+
155
+ > [!NOTE]
156
+ > **Practice note.**
157
+ >
158
+ > Do not draft to a federal ban that does not yet exist. As of June 2026 no Commonwealth statute bans employee non-competes, so enforceability in New South Wales still turns on the common-law reasonableness test and the Restraints of Trade Act 1976 (NSW). Track the proposal through to enacted legislation before changing practice, because its threshold, scope, and commencement remain proposals subject to change [^rota-s4-1-reform].
159
+
160
+ [^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org). Last reviewed 2026-06-10. License: CC BY 4.0. Steven Obiajulu, J.D. is not admitted to practise law in New South Wales, Australia. This article summarizes publicly available New South Wales, Australia legal sources for general information only — it is not legal advice and does not create a lawyer–client relationship. It may not reflect the most recent legal developments and is provided without warranty as to accuracy or completeness; verify against the primary sources cited and consult a locally qualified lawyer before relying on it.
161
+
162
+ [^lindner-prima-facie-void]: **Lindner v Murdock's Garage** — "Any contractual restraint of trade is prima facie unlawful and invalid." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Kitto J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
163
+
164
+ [^rota-s4-1]: **Restraints of Trade Act 1976 (NSW) s 4(1)** — "A restraint of trade is valid to the extent to which it is not against public policy, whether it is in severable terms or not." *Restraints of Trade Act 1976 (NSW) s 4(1).* <https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1976-067>
165
+
166
+ [^olson-justifiable-reasonable]: **Woolworths Ltd v Olson** — "A restraint of trade is justifiable only if the restriction is reasonable in reference to the interests of the parties and of the public" *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
167
+
168
+ [^olson-stricter-employment]: **Woolworths Ltd v Olson** — "The courts in general take a stricter and less favourable view of covenants in restraint of trade entered into between employer and employee than of similar covenants in commercial agreements" *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
169
+
170
+ [^olson-common-law-no-severance]: **Woolworths Ltd v Olson** — "The common law did not countenance the severance of an excessive and therefore unreasonable restraint." *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
171
+
172
+ [^olson-s4-overturned]: **Woolworths Ltd v Olson** — "Section 4(1) of the Restraints of Trade Act 1976 overturned this." *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
173
+
174
+ [^olson-s4-ignore-excess]: **Woolworths Ltd v Olson** — "Section 4(1) allows the court to ignore the fact that the restraint goes beyond what is reasonable, provided the restraint can be enforced to an extent that is reasonable." *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
175
+
176
+ [^olson-amputation]: **Woolworths Ltd v Olson** — "a restraint validated by the section must fall wholly within the scope of the contractual provision. Amputation is directed but reconstruction is not." *Woolworths Ltd v Olson [2004] NSWCA 372, quoting ICT Pty Ltd v Sea Containers Ltd (1995) 39 NSWLR 640.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
177
+
178
+ [^olson-no-remake]: **Woolworths Ltd v Olson** — "The court may not rewrite the covenant while exercising the power under s4(1)." *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
179
+
180
+ [^rota-s4-3]: **Restraints of Trade Act 1976 (NSW) s 4(3)** — "a manifest failure by a person who created or joined in creating the restraint to attempt to make the restraint a reasonable restraint" *Restraints of Trade Act 1976 (NSW) s 4(3).* <https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1976-067>
181
+
182
+ [^hanna-nine-restraints]: **Hanna v OAMPS Insurance Brokers Ltd** — "Thus there were nine restraints, from the widest (15 months in Australia) to the narrowest (12 months, in Mr Hanna's case, in the metropolitan area of Sydney)." *Hanna v OAMPS Insurance Brokers Ltd [2010] NSWCA 267.* <https://www.caselaw.nsw.gov.au/decision/549ff3313004262463c5979a>
183
+
184
+ [^hanna-no-mechanism]: **Hanna v OAMPS Insurance Brokers Ltd** — "Neither their operation nor any principle of law concerned with certainty of contract requires a mechanism or hierarchy of order of operation." *Hanna v OAMPS Insurance Brokers Ltd [2010] NSWCA 267.* <https://www.caselaw.nsw.gov.au/decision/549ff3313004262463c5979a>
185
+
186
+ [^hanna-why-cascading]: **Hanna v OAMPS Insurance Brokers Ltd** — "Given the common law rules and, in particular, those concerning severance and the so-called ‘blue-pencil’ test, it is understandable why commercial parties seek to employ multiple severable clauses." *Hanna v OAMPS Insurance Brokers Ltd [2010] NSWCA 267.* <https://www.caselaw.nsw.gov.au/decision/549ff3313004262463c5979a>
187
+
188
+ [^hanna-not-against-policy]: **Hanna v OAMPS Insurance Brokers Ltd** — "The restraint deed is not against public policy by reason of the multiple and several operation of cll 2 and 4." *Hanna v OAMPS Insurance Brokers Ltd [2010] NSWCA 267.* <https://www.caselaw.nsw.gov.au/decision/549ff3313004262463c5979a>
189
+
190
+ [^rota-s4-3-cascade]: **Restraints of Trade Act 1976 (NSW) s 4(3)** — "a manifest failure by a person who created or joined in creating the restraint to attempt to make the restraint a reasonable restraint" *Restraints of Trade Act 1976 (NSW) s 4(3).* <https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1976-067>
191
+
192
+ [^lindner-not-competition-per-se]: **Lindner v Murdock's Garage** — "An employer must be prepared to face the competition of a former employee if it comes." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
193
+
194
+ [^lindner-trade-connection]: **Lindner v Murdock's Garage** — "The knowledge which, because its use may deprive the employer of the business connection which he is entitled to preserve as his own, he may require his employee to abstain from using, is objective knowledge of customers, their peculiarities, their credit and so forth" *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Kitto J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
195
+
196
+ [^olson-tested-at-contract]: **Woolworths Ltd v Olson** — "The validity of the restraint is to be tested at the time of entering into the contract" *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
197
+
198
+ [^lindner-area-too-wide]: **Lindner v Murdock's Garage** — "I think it must be held that the area was unreasonably wide." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
199
+
200
+ [^hanna-no-required-test]: **Hanna v OAMPS Insurance Brokers Ltd** — "There is no legally required test in these circumstances." *Hanna v OAMPS Insurance Brokers Ltd [2010] NSWCA 267.* <https://www.caselaw.nsw.gov.au/decision/549ff3313004262463c5979a>
201
+
202
+ [^hanna-test-depends-on-facts]: **Hanna v OAMPS Insurance Brokers Ltd** — "The use of one test or another depends on the facts and the evaluation of the approach that is reasonable." *Hanna v OAMPS Insurance Brokers Ltd [2010] NSWCA 267.* <https://www.caselaw.nsw.gov.au/decision/549ff3313004262463c5979a>
203
+
204
+ [^olson-negotiated-weight]: **Woolworths Ltd v Olson** — "The court gives considerable weight to what parties have negotiated and embodied in their contracts, but a contractual consensus cannot be regarded as conclusive" *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
205
+
206
+ [^hanna-assessed-at-contract]: **Hanna v OAMPS Insurance Brokers Ltd** — "it was common ground that the reasonableness and validity of the restraint clause should be assessed at the time of entry into the contract" *Hanna v OAMPS Insurance Brokers Ltd [2010] NSWCA 267.* <https://www.caselaw.nsw.gov.au/decision/549ff3313004262463c5979a>
207
+
208
+ [^lindner-onus-reasonable]: **Lindner v Murdock's Garage** — "The onus was on the plaintiff firm to prove circumstances showing that the restriction on the defendant's freedom to work was reasonable." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per McTiernan J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
209
+
210
+ [^lindner-prima-facie-void-tolling]: **Lindner v Murdock's Garage** — "Any contractual restraint of trade is prima facie unlawful and invalid." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Kitto J).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
211
+
212
+ [^olson-tested-at-contract-tolling]: **Woolworths Ltd v Olson** — "The validity of the restraint is to be tested at the time of entering into the contract" *Woolworths Ltd v Olson [2004] NSWCA 372.* <https://www.caselaw.nsw.gov.au/decision/549fb2db3004262463b8633d>
213
+
214
+ [^lindner-sale-distinction]: **Lindner v Murdock's Garage** — "A distinction is drawn between a restraint upon trade included in an agreement for the sale of a business and a restraint included in an agreement with an employee." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Latham CJ).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
215
+
216
+ [^lindner-sale-more-easily]: **Lindner v Murdock's Garage** — "The restraint is more easily upheld in the former than in the latter case." *Lindner v Murdock's Garage [1950] HCA 48; (1950) 83 CLR 628 (per Latham CJ).* <https://www.hcourt.gov.au/sites/default/files/eresources/1950/HCA/48.pdf>
217
+
218
+ [^rota-s4-1-reform]: **Restraints of Trade Act 1976 (NSW) s 4(1)** — "A restraint of trade is valid to the extent to which it is not against public policy, whether it is in severable terms or not." *Restraints of Trade Act 1976 (NSW) s 4(1).* <https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1976-067>
@@ -0,0 +1,226 @@
1
+ ---
2
+ jurisdiction: "New York"
3
+ slug: new-york
4
+ countryCode: US
5
+ snapshotAsOf: "2026-06-19"
6
+ lastReviewed: "2026-06-03"
7
+ canonicalUrl: https://openagreements.org/practice-guides/non-compete/us/new-york
8
+ license: CC BY 4.0
9
+ stale: false
10
+ ---
11
+
12
+ > [!IMPORTANT]
13
+ > **Informational only — not legal advice.** This is a snapshot of an OpenAgreements practice note,
14
+ > provided for general information. It is not legal advice, does not create an attorney-client
15
+ > relationship, and is not a substitute for a licensed attorney in the relevant jurisdiction.
16
+ > Laws change; verify against the canonical version before relying on it.
17
+ >
18
+ > **Canonical:** https://openagreements.org/practice-guides/non-compete/us/new-york · **Snapshot as of:** 2026-06-19 · License: CC BY 4.0 · © openagreements.org
19
+
20
+ # Non-Competes in New York[^about]
21
+
22
+ New York has no general non-compete statute; employee non-competes are enforceable only to the extent they are reasonable under the common-law BDO Seidman test.
23
+
24
+
25
+ ## At a glance
26
+
27
+ | Question | New York |
28
+ | --- | --- |
29
+ | **Are non-competes enforceable?** | Allowed if reasonable |
30
+ | **Bottom line** | New York has no general non-compete statute; employee non-competes are enforceable only to the extent reasonable under the common-law BDO Seidman three-part test, with a statutory ban only for broadcast-industry employees. |
31
+ | **Main law or case** | BDO Seidman v. Hirshberg, 93 N.Y.2d 382 (1999) |
32
+ | **Main exceptions** | Broadcast-employee ban (N.Y. Labor Law § 202-k); sale-of-business/goodwill more favorable |
33
+ | **Can a court narrow it?** | Yes — rewrites to reasonable |
34
+ | **Applies to contractors?** | Unclear |
35
+ | **Restriction extended during a breach?** | Open question — no controlling authority |
36
+ | **Maximum length set by law** | No statutory limit |
37
+
38
+ ## Are employee non-compete agreements enforceable in New York? {#enforceability}
39
+
40
+ **Short answer.** Yes, sometimes. New York has no general statute governing non-competes, so enforceability is decided under common law: an employee non-compete is enforceable only to the extent it is reasonable [^bdo-reasonableness-standard][^natural-organics-three-prong-test].
41
+
42
+ The controlling standard comes from the Court of Appeals decision in *BDO Seidman v. Hirshberg*. A restraint is reasonable only if it: (1) is no greater than required to protect the employer's legitimate interest, (2) does not impose undue hardship on the employee, and (3) is not injurious to the public [^natural-organics-three-prong-test]. A violation of any prong invalidates the covenant, so a New York non-compete is enforced only when the employer can satisfy all three [^bdo-reasonableness-standard].
43
+
44
+ The New York Attorney General's public guidance describes the same framework, adding that a covenant must also be reasonable in time period and geographic scope [^ag-faq-four-part-test]. Trial courts apply the test to non-competes and to closely related restraints such as customer and employee non-solicitation clauses [^otg-enforceability-standard].
45
+
46
+ "‘A restraint is reasonable only if it: (1) is no greater than is required for the protection of the legitimate interest of the employer, (2) does not impose undue hardship on the employee, and (3) is not injurious to the public’"[^natural-organics-three-prong-test]
47
+
48
+ > [!NOTE]
49
+ > **Practice note.**
50
+ >
51
+ > Do not treat a New York non-compete as presumptively valid. The covenant must satisfy every prong of the reasonableness test, and one that flunks any prong is unenforceable [^bdo-reasonableness-standard][^otg-enforceability-standard].
52
+
53
+ ## What legitimate business interests can support a New York non-compete? {#protectable-interests}
54
+
55
+ **Short answer.** The protectable interests are narrow: a New York covenant must guard against misappropriation of trade secrets or confidential customer information, or against competition by a former employee whose services were unique or extraordinary, or protect client goodwill the employer's resources helped the employee build [^gallagher-limited-interests][^bdo-goodwill-interest].
56
+
57
+ These limits trace to *Reed, Roberts Associates v. Strauman*, which held that an employee's knowledge of an employer's ordinary, internal operations is not protectable absent a trade secret or a breach of trust [^reed-roberts-routine-knowledge]. A covenant aimed only at ordinary competition fails, because there is no protectable interest behind it [^natural-organics-no-interest].
58
+
59
+ The *unique or extraordinary services* category is demanding. It is not enough that the employee excels or is valuable; the services must be special enough that the employee's loss would cause irreparable injury or be effectively irreplaceable [^weitz-unique-services-standard][^ticor-unique-services]. The inquiry turns on the employee's particular relationship to the business and is decided case by case [^ticor-case-by-case].
60
+
61
+ "Where the knowledge does not qualify for protection as a trade secret and there has been no conspiracy or breach of trust resulting in commercial piracy we see no reason to inhibit the employee’s ability to realize his potential both professionally and financially by availing himself of opportunity."[^reed-roberts-routine-knowledge]
62
+
63
+ > [!CAUTION]
64
+ > **Drafting note.**
65
+ >
66
+ > Do not draft a New York non-compete to block ordinary competition. Tie the restraint to a specific protectable interest — identified trade secrets, confidential customer information, employer-built client goodwill, or genuinely unique services — because a covenant unconnected to one of those interests is unenforceable regardless of how reasonable its time and geography look [^gallagher-limited-interests][^natural-organics-no-interest].
67
+
68
+ ## Will a New York court narrow (blue-pencil) an overbroad non-compete? {#court-narrowing}
69
+
70
+ **Short answer.** Sometimes, but partial enforcement is discretionary, not automatic. New York rejects a per se rule voiding every overbroad covenant, yet a court will rewrite one to a reasonable scope only when the employer acted in good faith and did not overreach [^bdo-rejects-per-se][^bdo-partial-enforcement-standard].
71
+
72
+ The decisive factor is the employer's conduct. If the employer shows an absence of overreaching, coercive use of bargaining power, or other anti-competitive misconduct, and sought in good faith to protect a legitimate interest, partial enforcement may be justified [^bdo-partial-enforcement-standard]. The Attorney General's guidance describes the same possibility — a court may enforce some parts of a covenant for a shorter time or smaller area while disregarding unreasonable portions [^ag-faq-partial-enforcement]. For a clause-by-clause pass over a specific agreement under these drafting constraints, the [New York non-compete review checklist](/checklists/non-compete/us/new-york) walks the full covenant suite item by item with each requirement's force level.
73
+
74
+ But there is no severance to perform when the covenant protects no legitimate interest at all; in that case the agreement is simply unenforceable [^natural-organics-no-severance].
75
+
76
+ > [!CAUTION]
77
+ > **Drafting note.**
78
+ >
79
+ > Do not rely on a New York court to save an overbroad covenant. Because partial enforcement is withheld where the employer overreached, draft duration, geography, and activity scope to the minimum the protectable interest actually requires — an aggressive covenant is more likely to be struck whole than trimmed [^bdo-partial-enforcement-standard][^natural-organics-no-severance].
80
+
81
+ ## Is continued employment enough consideration for a New York non-compete signed after hire? {#consideration}
82
+
83
+ **Short answer.** It can be. New York treats at-will employment as a relationship that will support a restrictive covenant, and an employer's forbearance from discharging an at-will worker can supply consideration — but only if the employment then continues for a substantial period [^zellner-at-will-supports-covenant][^zellner-substantial-period].
84
+
85
+ Like any contract term, a promise not to compete must be supported by adequate consideration [^zellner-consideration-required]. In the at-will setting, the employer's right to discharge without cause means that forbearing to exercise that right is a legal detriment that can stand as consideration [^zellner-forbearance]. The catch is duration: if the worker is fired shortly after signing, the forbearance is illusory and the consideration fails, whereas a relationship that continues for a substantial period validates it [^zellner-substantial-period].
86
+
87
+ > [!NOTE]
88
+ > **Practice note.**
89
+ >
90
+ > Do not assume a mid-employment non-compete is supported merely because the worker kept their job. If New York at-will employment ends soon after the covenant is signed, a court may find the promised forbearance illusory and the consideration inadequate; fresh consideration (a raise, promotion, or bonus) reduces that risk [^zellner-substantial-period][^zellner-forbearance].
91
+
92
+ ## How does New York treat customer and employee non-solicitation covenants? {#nonsolicitation}
93
+
94
+ **Short answer.** They are still measured for reasonableness, but employee non-recruitment clauses are treated as less restrictive than a full non-compete and may be enforceable when reasonable; a customer non-solicitation clause must be tied to the clients the employee actually served [^otg-nonrecruitment-less-restrictive][^brown-brown-overbroad-customers].
95
+
96
+ In *OTG Management v. Konstantinidis*, the court denied a non-compete injunction but enforced a non-recruitment clause, finding it reasonable in scope and not a meaningful burden on the worker [^otg-nonrecruitment-enforced]. *OTG*, a New York trial court following lower-court and federal authority, treated no-recruit clauses as inherently more reasonable than non-competes because they restrict less [^otg-nonrecruitment-less-restrictive].
97
+
98
+ Customer non-solicitation fares differently when it sweeps too broadly. In *Brown & Brown v. Johnson*, applying New York law, the Court of Appeals found the former employee's customer non-solicitation provision overbroad to the extent it reached customers she never serviced — even customers she had never met, did not know about, and did no work for. The Court applied New York reasonableness law and remitted, leaving partial enforcement to be decided below [^brown-brown-overbroad-customers].
99
+
100
+ > [!CAUTION]
101
+ > **Drafting note.**
102
+ >
103
+ > Do not draft a customer non-solicit that reaches customers the employee never met, did not know about, and did no work for. Tie the restraint to customer relationships the employee actually developed or serviced through work for the employer, and preserve any request for partial enforcement under *BDO Seidman* [^brown-brown-overbroad-customers][^q5-bdo-partial-enforcement].
104
+
105
+ ## How are sale-of-business and goodwill non-competes treated in New York? {#sale-of-business}
106
+
107
+ **Short answer.** More favorably than employee covenants. When someone sells a business and its goodwill, New York implies a covenant barring the seller from soliciting the former customers — a duty the Court of Appeals describes as permanent and narrower than an express non-compete [^bessemer-implied-covenant][^mohawk-permanent-duty].
108
+
109
+ In *Bessemer Trust v. Branin*, the Court of Appeals confirmed that the implied covenant bars a seller of goodwill from improperly soliciting former clients [^bessemer-implied-covenant]. The seller may still accept business that comes without active solicitation, but remains under a permanent duty not to solicit [^mohawk-permanent-duty]. That implied duty is narrower than an express covenant because it restricts solicitation rather than competition generally [^mohawk-narrower-duty].
110
+
111
+ If S4641A becomes law, it would expressly preserve sale-of-business non-competes for owners holding at least a 15% interest, leaving this category intact even under a statutory ban [^s4641a-sale-of-business].
112
+
113
+ ## Can an out-of-state choice-of-law clause avoid New York non-compete rules? {#choice-of-law}
114
+
115
+ **Short answer.** Not when the chosen law is *truly obnoxious* to New York policy. In *Brown & Brown v. Johnson*, the Court of Appeals refused to apply a Florida choice-of-law clause to a non-solicitation dispute involving a New York employee, holding that doing so would violate New York public policy [^brown-brown-choice-of-law].
116
+
117
+ New York generally honors a contractual choice of law, but reserves a public-policy exception for foreign laws that are truly obnoxious to the state's own policy — and it found Florida's employer-favorable restrictive-covenant law to meet that bar [^brown-brown-choice-of-law]. Looking ahead, S4641A would go further by voiding any choice-of-law or venue clause used to avoid the statute for workers who reside or work in New York [^s4641a-choice-of-law-antiavoidance].
118
+
119
+ > [!CAUTION]
120
+ > **Drafting note.**
121
+ >
122
+ > Do not assume a non-New York choice-of-law clause will rescue an employer-favorable covenant against a New York-based worker. Under *Brown & Brown*, a court can disregard the chosen law and apply New York reasonableness limits where the foreign law is truly obnoxious to New York policy [^brown-brown-choice-of-law].
123
+
124
+ ## Does a New York non-compete's restricted period pause (toll) during a breach or litigation? {#tolling-extension}
125
+
126
+ **Short answer.** Treat it as an open question. New York measures a covenant's duration as part of the reasonableness test, and no controlling New York decision establishes that the restricted period automatically tolls — pauses and extends — while a former employee is violating the covenant or while litigation is pending [^tolling-time-reasonableness].
127
+
128
+ The uncertainty matters because duration is itself part of what a court must find reasonable. A contractual clause that extends the restricted period during a breach lengthens that very term, so an open-ended or automatic extension can push an otherwise reasonable covenant into unreasonable territory [^tolling-time-reasonableness]. An employer that wants the clock to pause during a breach should therefore say so expressly rather than assume a court will extend the period. Pending legislation points the same direction: S4641A would cap any permissible non-compete at a one-year term, which an extension-on-breach clause could exceed [^s4641a-one-year-cap].
129
+
130
+ > [!CAUTION]
131
+ > **Drafting note.**
132
+ >
133
+ > Do not rely on an automatic tolling or extension-on-breach clause to lengthen a New York non-compete. Because no controlling New York rule blesses judicial tolling and duration drives reasonableness, draft any extension narrowly and time-limited; if S4641A becomes law, an extension that pushes the restriction past one year would conflict with the statutory cap [^tolling-time-reasonableness][^s4641a-one-year-cap].
134
+
135
+ ## What special non-compete rule applies to broadcast-industry employees in New York? {#broadcast-industry}
136
+
137
+ **Short answer.** Broadcast employees have a statutory shield. New York Labor Law § 202-k bars a broadcasting-industry employer from requiring, as a condition of employment, that a broadcast employee refrain from working in a geographic area, for a period of time, or for a competitor after employment ends [^lab-202k-ban].
138
+
139
+ This is the one place New York has a statutory non-compete prohibition rather than a common-law standard. The ban applies to post-employment restraints; it does not reach a covenant operating during the term of an employment contract [^lab-202k-in-term-carveout]. An employer who violates the section is civilly liable to the broadcast employee for damages, attorneys' fees, and costs [^lab-202k-ban].
140
+
141
+ ## What are the key recent developments in New York non-compete law? {#recent-developments}
142
+
143
+ **Short answer.** New York has not banned non-competes, despite repeated attempts. A near-total statutory ban was vetoed at the end of 2023, a narrower successor bill is pending in 2026, and the federal FTC non-compete rule has been vacated — so common law still controls [^s3100a-vetoed-ban][^s4641a-pending-ban][^ftc-rule-vacated].
144
+
145
+ -
146
+ -
147
+ -
148
+
149
+ > [!NOTE]
150
+ > **Practice note.**
151
+ >
152
+ > Do not advise clients that New York has *banned* non-competes. As of this review, no statewide ban is in effect — S3100A was vetoed and S4641A has not passed the Assembly — so the common-law reasonableness test still governs. Re-check the status of S4641A before relying on the current rule [^s3100a-vetoed-ban][^s4641a-pending-ban].
153
+
154
+ [^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org). Last reviewed 2026-06-03. License: CC BY 4.0. Steven Obiajulu, J.D. is admitted in New York. This article synthesizes New York primary law and is not legal advice. This article is for informational purposes only and does not create an attorney-client relationship.
155
+
156
+ [^bdo-reasonableness-standard]: **BDO Seidman v. Hirshberg** — "The modern, prevailing common-law standard of reasonableness for employee agreements not to compete applies a three-pronged test." *BDO Seidman v. Hirshberg, 93 N.Y.2d 382, 388 (1999).* <https://www.courtlistener.com/opinion/2117265/bdo-seidman-v-hirshberg/#:~:text=The%20modern%2C%20prevailing%20common%2Dlaw%20standard,compete%20applies%20a%20three%2Dpronged%20test.>
157
+
158
+ [^natural-organics-three-prong-test]: **Natural Organics, Inc. v. Kirkendall** — "‘A restraint is reasonable only if it: (1) is no greater than is required for the protection of the legitimate interest of the employer, (2) does not impose undue hardship on the employee, and (3) is not injurious to the public’" *Natural Organics, Inc. v. Kirkendall, 52 A.D.3d 488 (2d Dep't 2008).* <https://www.courtlistener.com/opinion/5897806/natural-organics-inc-v-kirkendall/#:~:text=%22A%20restraint%20is%20reasonable%20only,not%20injurious%20to%20the%20public%22>
159
+
160
+ [^ag-faq-four-part-test]: **N.Y. Attorney General, Non-Compete Agreements in New York State: FAQ** — "A non-compete is only allowed and enforceable to the extent it (1) is necessary to protect the employer’s legitimate interests, (2) does not impose an undue hardship on the employee, (3) does not harm the public, and (4) is reasonable in time period and geographic scope." *N.Y. Att'y Gen., Non-Compete Agreements in New York State: Frequently Asked Questions (2022).* <https://ag.ny.gov/sites/default/files/non-competes.pdf>
161
+
162
+ [^otg-enforceability-standard]: **OTG Management, LLC v. Konstantinidis** — "In order to be enforceable, an anticompetitive covenant ancillary to an employment agreement must be reasonable in time and area, necessary to protect the employer’s legitimate interests, not harmful to the public, and not unreasonably burdensome to the employee." *OTG Mgt., LLC v. Konstantinidis, 40 Misc. 3d 617 (Sup. Ct. N.Y. County 2013).* <https://www.courtlistener.com/opinion/6314442/otg-management-llc-v-konstantinidis/#:~:text=In%20order%20to%20be%20enforceable%2C,unreasonably%20burdensome%20to%20the%20employee.>
163
+
164
+ [^gallagher-limited-interests]: **Arthur J. Gallagher & Co. v. Marchese** — "An employer’s interests justifying a restrictive covenant are limited ‘to the protection against misappropriation of the employer’s trade secrets or of confidential customer lists, or protection from competition by a former employee whose services are unique or extraordinary’" *Arthur J. Gallagher & Co. v. Marchese, 96 A.D.3d 791 (2d Dep't 2012).* <https://www.courtlistener.com/opinion/5999301/arthur-j-gallagher-co-v-marchese/#:~:text=An%20employer%E2%80%99s%20interests%20justifying%20a,services%20are%20unique%20or%20extraordinary%E2%80%9D>
165
+
166
+ [^bdo-goodwill-interest]: **BDO Seidman v. Hirshberg** — "The employer has a legitimate interest in preventing former employees from exploiting or appropriating the goodwill of a client or customer, which had been created and maintained at the employer’s expense, to the employer’s competitive detriment" *BDO Seidman v. Hirshberg, 93 N.Y.2d 382, 392 (1999).* <https://www.courtlistener.com/opinion/2117265/bdo-seidman-v-hirshberg/#:~:text=The%20employer%20has%20a%20legitimate,to%20the%20employer%E2%80%99s%20competitive%20detriment>
167
+
168
+ [^reed-roberts-routine-knowledge]: **Reed, Roberts Associates, Inc. v. Strauman** — "Where the knowledge does not qualify for protection as a trade secret and there has been no conspiracy or breach of trust resulting in commercial piracy we see no reason to inhibit the employee’s ability to realize his potential both professionally and financially by availing himself of opportunity." *Reed, Roberts Assocs., Inc. v. Strauman, 40 N.Y.2d 303 (1976).* <https://www.courtlistener.com/opinion/5682269/reed-roberts-associates-inc-v-strauman/#:~:text=Where%20the%20knowledge%20does%20not,by%20availing%20himself%20of%20opportunity.>
169
+
170
+ [^natural-organics-no-interest]: **Natural Organics, Inc. v. Kirkendall** — "Since there is no legitimate employer interest to protect, the noncompete agreement is unenforceable and the issue of partial enforcement does not arise" *Natural Organics, Inc. v. Kirkendall, 52 A.D.3d 488 (2d Dep't 2008).* <https://www.courtlistener.com/opinion/5897806/natural-organics-inc-v-kirkendall/#:~:text=Since%20there%20is%20no%20legitimate,partial%20enforcement%20does%20not%20arise>
171
+
172
+ [^weitz-unique-services-standard]: **Purchasing Associates, Inc. v. Weitz** — "More must, of course, be shown to establish such a quality than that the employee excels at his work or that his performance is of high value to his employer." *Purchasing Assocs., Inc. v. Weitz, 13 N.Y.2d 267 (1963).* <https://www.courtlistener.com/opinion/5673277/purchasing-associates-inc-v-weitz/#:~:text=More%20must%2C%20of%20course%2C%20be,high%20value%20to%20his%20employer.>
173
+
174
+ [^ticor-unique-services]: **Ticor Title Insurance Co. v. Cohen** — "Services that are not simply of value to the employer, but that may also truly be said to be special, unique or extraordinary may entitle an employer to injunctive relief." *Ticor Title Ins. Co. v. Cohen, 173 F.3d 63 (2d Cir. 1999).* <https://www.courtlistener.com/opinion/763095/ticor-title-insurance-co-chicago-title-insurance-co-v-kenneth-c-cohen/#:~:text=Services%20that%20are%20not%20simply,an%20employer%20to%20injunctive%20relief.>
175
+
176
+ [^ticor-case-by-case]: **Ticor Title Insurance Co. v. Cohen** — "Instead, now the inquiry is more focused on the employee’s relationship to the employer’s business to ascertain whether his or her services and value to that operation may be said to be unique, special or extraordinary; that inquiry, because individual circumstances differ so widely, must of necessity be on a case-by-case basis." *Ticor Title Ins. Co. v. Cohen, 173 F.3d 63 (2d Cir. 1999).* <https://www.courtlistener.com/opinion/763095/ticor-title-insurance-co-chicago-title-insurance-co-v-kenneth-c-cohen/#:~:text=Instead%2C%20now%20the%20inquiry%20is,be%20on%20a%20case%2Dby%2Dcase%20basis.>
177
+
178
+ [^bdo-rejects-per-se]: **BDO Seidman v. Hirshberg** — "The prevailing, modern view rejects a per se rule that invalidates entirely any overbroad employee agreement not to compete." *BDO Seidman v. Hirshberg, 93 N.Y.2d 382, 394 (1999).* <https://www.courtlistener.com/opinion/2117265/bdo-seidman-v-hirshberg/#:~:text=The%20prevailing%2C%20modern%20view%20rejects,employee%20agreement%20not%20to%20compete.>
179
+
180
+ [^bdo-partial-enforcement-standard]: **BDO Seidman v. Hirshberg** — "Under this approach, if the employer demonstrates an absence of overreaching, coercive use of dominant bargaining power, or other anti-competitive misconduct, but has in good faith sought to protect a legitimate business interest, consistent with reasonable standards of fair dealing, partial enforcement may be justified" *BDO Seidman v. Hirshberg, 93 N.Y.2d 382, 394 (1999).* <https://www.courtlistener.com/opinion/2117265/bdo-seidman-v-hirshberg/#:~:text=Under%20this%20approach%2C%20if%20the,partial%20enforcement%20may%20be%20justified>
181
+
182
+ [^ag-faq-partial-enforcement]: **N.Y. Attorney General, Non-Compete Agreements in New York State: FAQ** — "A court may require an employee to comply with some parts of a non-compete agreement, even if other portions of the agreement are unreasonable, such as length of time or geographic scope." *N.Y. Att'y Gen., Non-Compete Agreements in New York State: Frequently Asked Questions (2022).* <https://ag.ny.gov/sites/default/files/non-competes.pdf>
183
+
184
+ [^natural-organics-no-severance]: **Natural Organics, Inc. v. Kirkendall** — "Since there is no legitimate employer interest to protect, the noncompete agreement is unenforceable and the issue of partial enforcement does not arise" *Natural Organics, Inc. v. Kirkendall, 52 A.D.3d 488 (2d Dep't 2008).* <https://www.courtlistener.com/opinion/5897806/natural-organics-inc-v-kirkendall/#:~:text=Since%20there%20is%20no%20legitimate,partial%20enforcement%20does%20not%20arise>
185
+
186
+ [^zellner-at-will-supports-covenant]: **Zellner v. Stephen D. Conrad, M.D., P.C.** — "We believe, however, that at-will employment qualifies as a relationship which will support a restrictive covenant." *Zellner v. Stephen D. Conrad, M.D., P.C., 183 A.D.2d 250 (2d Dep't 1992).* <https://www.courtlistener.com/opinion/6084767/zellner-v-stephen-d-conrad-md-p-c/#:~:text=We%20believe%2C%20however%2C%20that%20at%2Dwill,will%20support%20a%20restrictive%20covenant.>
187
+
188
+ [^zellner-substantial-period]: **Zellner v. Stephen D. Conrad, M.D., P.C.** — "However, where, as here, a relationship continues for a substantial period after the covenant is given, the forbearance is real, not illusory, and the consideration given for the promise is validated." *Zellner v. Stephen D. Conrad, M.D., P.C., 183 A.D.2d 250 (2d Dep't 1992).* <https://www.courtlistener.com/opinion/6084767/zellner-v-stephen-d-conrad-md-p-c/#:~:text=However%2C%20where%2C%20as%20here%2C%20a,for%20the%20promise%20is%20validated.>
189
+
190
+ [^zellner-consideration-required]: **Zellner v. Stephen D. Conrad, M.D., P.C.** — "As with any contract, the promise not to compete must be supported by adequate consideration on the part of the promisee." *Zellner v. Stephen D. Conrad, M.D., P.C., 183 A.D.2d 250 (2d Dep't 1992).* <https://www.courtlistener.com/opinion/6084767/zellner-v-stephen-d-conrad-md-p-c/#:~:text=As%20with%20any%20contract%2C%20the,the%20part%20of%20the%20promisee.>
191
+
192
+ [^zellner-forbearance]: **Zellner v. Stephen D. Conrad, M.D., P.C.** — "Because in at-will employment the employer has the right to discharge the employee (or, as here, an independent contractor providing services under a similar arrangement), without cause, and without being subject to inquiry as to his or her motives (Sabetay v Sterling Drug, supra), forbearance of that right is a legal detriment which can stand as consideration for a restrictive covenant." *Zellner v. Stephen D. Conrad, M.D., P.C., 183 A.D.2d 250 (2d Dep't 1992).* <https://www.courtlistener.com/opinion/6084767/zellner-v-stephen-d-conrad-md-p-c/#:~:text=Because%20in%20at%2Dwill%20employment%20the,consideration%20for%20a%20restrictive%20covenant.>
193
+
194
+ [^otg-nonrecruitment-less-restrictive]: **OTG Management, LLC v. Konstantinidis** — "While both Renaissance Nutrition and Lazer recognized that non-recruitment clauses are subject to reasonableness scrutiny because they are anti-competitive in nature, non-recruitment clauses are ‘inherently more reasonable and less restrictive’ than noncompete clauses." *OTG Mgt., LLC v. Konstantinidis, 40 Misc. 3d 617 (Sup. Ct. N.Y. County 2013).* <https://www.courtlistener.com/opinion/6314442/otg-management-llc-v-konstantinidis/#:~:text=While%20both%20Renaissance%20Nutrition%20and,less%20restrictive%E2%80%9D%20than%20noncompete%20clauses.>
195
+
196
+ [^brown-brown-overbroad-customers]: **Brown & Brown, Inc. v. Johnson** — "even those Johnson had never met, did not know about and for whom she had done no work" *Brown & Brown, Inc. v. Johnson, 25 N.Y.3d 364 (2015).* <https://www.courtlistener.com/opinion/2807346/brown-brown-v-theresa-a-johnson/#:~:text=even%20those%20Johnson%20had%20never,she%20had%20done%20no%20work>
197
+
198
+ [^otg-nonrecruitment-enforced]: **OTG Management, LLC v. Konstantinidis** — "Here, the court finds that the non-recruitment clause is enforceable because it is reasonable in scope and imposes no meaningful burden on Konstantinidis." *OTG Mgt., LLC v. Konstantinidis, 40 Misc. 3d 617 (Sup. Ct. N.Y. County 2013).* <https://www.courtlistener.com/opinion/6314442/otg-management-llc-v-konstantinidis/#:~:text=Here%2C%20the%20court%20finds%20that,no%20meaningful%20burden%20on%20Konstantinidis.>
199
+
200
+ [^q5-bdo-partial-enforcement]: **BDO Seidman v. Hirshberg** — "Under this approach, if the employer demonstrates an absence of overreaching, coercive use of dominant bargaining power, or other anti-competitive misconduct, but has in good faith sought to protect a legitimate business interest, consistent with reasonable standards of fair dealing, partial enforcement may be justified" *BDO Seidman v. Hirshberg, 93 N.Y.2d 382, 394 (1999).* <https://www.courtlistener.com/opinion/2117265/bdo-seidman-v-hirshberg/#:~:text=Under%20this%20approach%2C%20if%20the,partial%20enforcement%20may%20be%20justified>
201
+
202
+ [^bessemer-implied-covenant]: **Bessemer Trust Co., N.A. v. Branin** — "In answering the certified question, we continue to apply our precedents in Von Bremen and Mohawk and hold that the ‘implied covenant’ bars a seller of ‘good will’ from improperly soliciting his former clients." *Bessemer Trust Co., N.A. v. Branin, 16 N.Y.3d 549 (2011).* <https://www.courtlistener.com/opinion/2526164/bessemer-trust-co-na-v-branin/#:~:text=In%20answering%20the%20certified%20question%2C,improperly%20soliciting%20his%20former%20clients.>
203
+
204
+ [^mohawk-permanent-duty]: **Mohawk Maintenance Co. v. Kessler** — "Although defendants may accept the patronage of those customers who were actively dealing with Mohawk on the date of the sale if such customers choose to leave Mohawk without prompting from defendants, the defendants remain under a positive and permanent duty to refrain from interfering with the rights acquired by plaintiff as a result of its acquisition of Mohawk’s ‘good will’." *Mohawk Maintenance Co. v. Kessler, 52 N.Y.2d 276 (1981).* <https://www.courtlistener.com/opinion/5684701/mohawk-maintenance-co-v-kessler/#:~:text=Although%20defendants%20may%20accept%20the,acquisition%20of%20Mohawk%E2%80%99s%20%E2%80%9Cgood%20will%E2%80%9D.>
205
+
206
+ [^mohawk-narrower-duty]: **Mohawk Maintenance Co. v. Kessler** — "As such, the ‘implied covenant’ imposes a much narrower duty than do express covenants purporting to restrict the seller’s right to compete in a particular geographical area or field of endeavor." *Mohawk Maintenance Co. v. Kessler, 52 N.Y.2d 276 (1981).* <https://www.courtlistener.com/opinion/5684701/mohawk-maintenance-co-v-kessler/#:~:text=As%20such%2C%20the%20%E2%80%9Cimplied%20covenant%E2%80%9D,area%20or%20field%20of%20endeavor.>
207
+
208
+ [^s4641a-sale-of-business]: **N.Y. Senate Bill 2025-S4641A (pending)** — "NOTHING IN THIS SECTION SHALL PROHIBIT THE INCLUSION AND ENFORCEMENT OF NON-COMPETE AGREEMENTS OR OTHER SIMILAR COVENANTS IN THE SALE OF THE GOODWILL OF A BUSINESS OR THE SALE OR DISPOSITION OF A MAJORITY OF AN OWNERSHIP INTEREST IN A BUSINESS BY A PARTNER OF A PARTNERSHIP, A MEMBER OF A LIMITED LIABILITY COMPANY, OR AN ENTITY" *N.Y. S.B. S4641A, § 191-d(6) (2025-2026 Reg. Sess.) (pending).* <https://www.nysenate.gov/legislation/bills/2025/S4641/amendment/A>
209
+
210
+ [^brown-brown-choice-of-law]: **Brown & Brown, Inc. v. Johnson** — "On this appeal, we hold that applying Florida law on restrictive covenants related to the non-solicitation of customers by a former employee would violate the public policy of this state." *Brown & Brown, Inc. v. Johnson, 25 N.Y.3d 364 (2015).* <https://www.courtlistener.com/opinion/2807346/brown-brown-v-theresa-a-johnson/#:~:text=On%20this%20appeal%2C%20we%20hold,public%20policy%20of%20this%20state.>
211
+
212
+ [^s4641a-choice-of-law-antiavoidance]: **N.Y. Senate Bill 2025-S4641A (pending)** — "NO CHOICE OF LAW PROVISION OR CHOICE OF VENUE PROVISION THAT WOULD HAVE THE EFFECT OF AVOIDING OR LIMITING THE REQUIREMENTS OF THIS SECTION SHALL BE ENFORCEABLE IF THE COVERED INDIVIDUAL IS AND HAS BEEN, FOR AT LEAST THIRTY DAYS IMMEDIATELY PRECEDING THE COVERED INDIVIDUAL'S CESSATION OF EMPLOYMENT, A RESIDENT OF NEW YORK OR EMPLOYED IN NEW YORK" *N.Y. S.B. S4641A, § 191-d(8) (2025-2026 Reg. Sess.) (pending).* <https://www.nysenate.gov/legislation/bills/2025/S4641/amendment/A>
213
+
214
+ [^tolling-time-reasonableness]: **OTG Management, LLC v. Konstantinidis** — "In order to be enforceable, an anticompetitive covenant ancillary to an employment agreement must be reasonable in time and area, necessary to protect the employer’s legitimate interests, not harmful to the public, and not unreasonably burdensome to the employee." *OTG Mgt., LLC v. Konstantinidis, 40 Misc. 3d 617 (Sup. Ct. N.Y. County 2013).* <https://www.courtlistener.com/opinion/6314442/otg-management-llc-v-konstantinidis/#:~:text=In%20order%20to%20be%20enforceable%2C,unreasonably%20burdensome%20to%20the%20employee.>
215
+
216
+ [^s4641a-one-year-cap]: **N.Y. Senate Bill 2025-S4641A (pending)** — "A NON-COMPETE AGREEMENT THAT IS REASONABLE IN TIME PURSUANT TO SUBPARAGRAPH (I) OF THIS PARAGRAPH SHALL NOT CONTAIN A TERM OF RESTRICTION GREATER THAN ONE YEAR" *N.Y. S.B. S4641A, § 191-d(7)(a) (2025-2026 Reg. Sess.) (pending).* <https://www.nysenate.gov/legislation/bills/2025/S4641/amendment/A>
217
+
218
+ [^lab-202k-ban]: **N.Y. Labor Law § 202-k** — "A broadcasting industry employer shall not require as a condition of employment, whether in an employment contract or otherwise, that a broadcast employee or prospective broadcast employee refrain from obtaining employment: (a) in any specified geographic area; (b) for a specific period of time; or (c) with any particular employer or in any particular industry; after the conclusion of employment with such broadcasting industry employer." *N.Y. Lab. Law § 202-k(2).* <https://www.nysenate.gov/legislation/laws/LAB/202-K>
219
+
220
+ [^lab-202k-in-term-carveout]: **N.Y. Labor Law § 202-k** — "This section shall not apply to preventing the enforcement of such a covenant during the term of an employment contract." *N.Y. Lab. Law § 202-k(2).* <https://www.nysenate.gov/legislation/laws/LAB/202-K>
221
+
222
+ [^s3100a-vetoed-ban]: **N.Y. Senate Bill 2023-S3100A (vetoed)** — "NO EMPLOYER OR ITS AGENT, OR THE OFFICER OR AGENT OF ANY CORPORATION, PARTNERSHIP, LIMITED LIABILITY COMPANY, OR OTHER ENTITY, SHALL SEEK, REQUIRE, DEMAND OR ACCEPT A NON-COMPETE AGREEMENT FROM ANY COVERED INDIVIDUAL." *N.Y. S.B. S3100A, § 191-d(2) (2023-2024 Reg. Sess.) (vetoed Dec. 22, 2023).* <https://www.nysenate.gov/legislation/bills/2023/S3100/amendment/A>
223
+
224
+ [^s4641a-pending-ban]: **N.Y. Senate Bill 2025-S4641A (pending)** — "ANY NON-COMPETE AGREEMENT SOUGHT, REQUIRED, DEMANDED OR ACCEPTED AFTER THE EFFECTIVE DATE OF THIS SECTION SHALL BE NULL, VOID, AND UNENFORCEABLE." *N.Y. S.B. S4641A, § 191-d(2) (2025-2026 Reg. Sess.) (pending).* <https://www.nysenate.gov/legislation/bills/2025/S4641/amendment/A>
225
+
226
+ [^ftc-rule-vacated]: **FTC, Press Release: FTC Files to Accede to Vacatur of Non-Compete Clause Rule** — "Today the Federal Trade Commission took steps to dismiss its appeals in Ryan, LLC v. FTC, No. 24-10951 (5th Cir.), and Properties of the Villages v. FTC, No. 24-13102 (11th Cir.), and to accede to the vacatur of the Non-Compete Clause Rule." *FTC, Press Release, FTC Files to Accede to Vacatur of Non-Compete Clause Rule (Sept. 5, 2025).* <https://www.ftc.gov/news-events/news/press-releases/2025/09/federal-trade-commission-files-accede-vacatur-non-compete-clause-rule>