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.
- package/LICENSE +201 -21
- package/README.de.md +16 -29
- package/README.es.md +16 -29
- package/README.md +45 -54
- package/README.pt-br.md +16 -29
- package/README.template.md +19 -25
- package/README.zh.md +16 -29
- package/content/recipes/nvca-certificate-of-incorporation/fields/acquisition_exception_shares.json +36 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/adjustment_notice_days.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/common_shares_authorized.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/company_name.json +29 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/conversion_notice_days.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_formula_alt.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_rate_per_share.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/dividend_rate_percent.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/effective_date.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/number_of_classes.json +29 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/original_issue_price.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/par_value.json +36 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_director_seats.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_authorized.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_designated_portion.json +29 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/preferred_shares_outstanding_threshold.json +29 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/qualified_financing_notice_days.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/redemption_interest_rate.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/redemption_start_date.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/registered_agent_address.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/registered_agent_name.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/series_designation.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/signature_page_marker.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/specify_percentage.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/strategic_partnership_exception_shares.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/time_zone.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/fields/total_authorized_shares.json +22 -0
- package/content/recipes/nvca-certificate-of-incorporation/template-manifest.json +77 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/agreement_date_month_day.json +27 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/agreement_year_two_digits.json +27 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/company_name.json +25 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/investor_counsel.json +27 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/minimum_shares_initial_closing.json +39 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/optional_plural_suffix.json +27 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/par_value_per_share.json +28 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/purchase_price_per_share.json +28 -0
- package/content/recipes/nvca-stock-purchase-agreement/fields/series_designation.json +159 -0
- package/content/recipes/nvca-stock-purchase-agreement/metadata.yaml +1 -1
- package/content/recipes/nvca-stock-purchase-agreement/template-manifest.json +24 -0
- package/content/templates/bonterms-mutual-nda/template.docx +0 -0
- package/content/templates/openagreements-board-consent-safe/.template.generated.json +0 -1
- package/content/templates/openagreements-due-diligence-request-list/template.docx +0 -0
- package/content/templates/openagreements-due-diligence-request-list/template.md +1 -1
- package/content/templates/openagreements-employee-ip-inventions-assignment/.template.generated.json +9 -5
- package/content/templates/openagreements-employee-ip-inventions-assignment/README.md +2 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +8 -9
- package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +3 -4
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +0 -9
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.json +0 -1
- package/content/templates/openagreements-employment-offer-letter/.template.generated.json +9 -5
- package/content/templates/openagreements-employment-offer-letter/README.md +17 -5
- package/content/templates/openagreements-employment-offer-letter/metadata.yaml +8 -9
- package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
- package/content/templates/openagreements-employment-offer-letter/template.md +3 -4
- package/content/templates/openagreements-restrictive-covenant-florida/.template.generated.json +9 -5
- package/content/templates/openagreements-restrictive-covenant-florida/README.md +2 -2
- package/content/templates/openagreements-restrictive-covenant-florida/metadata.yaml +10 -12
- package/content/templates/openagreements-restrictive-covenant-florida/template.docx +0 -0
- package/content/templates/openagreements-restrictive-covenant-florida/template.md +3 -4
- package/content/templates/openagreements-restrictive-covenant-wyoming/.template.generated.json +9 -5
- package/content/templates/openagreements-restrictive-covenant-wyoming/metadata.yaml +10 -12
- package/content/templates/openagreements-restrictive-covenant-wyoming/template.docx +0 -0
- package/content/templates/openagreements-restrictive-covenant-wyoming/template.md +3 -4
- package/content/templates/openagreements-stockholder-consent-safe/.template.generated.json +0 -1
- package/dist/core/checklist/format-checklist-docx.d.ts.map +1 -1
- package/dist/core/checklist/format-checklist-docx.js +4 -1
- package/dist/core/checklist/format-checklist-docx.js.map +1 -1
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +2 -40
- package/dist/core/engine.js.map +1 -1
- package/dist/core/fill-pipeline.d.ts +0 -8
- package/dist/core/fill-pipeline.d.ts.map +1 -1
- package/dist/core/fill-pipeline.js +54 -38
- package/dist/core/fill-pipeline.js.map +1 -1
- package/dist/core/humanize-docx.d.ts.map +1 -1
- package/dist/core/humanize-docx.js +16 -6
- package/dist/core/humanize-docx.js.map +1 -1
- package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
- package/dist/core/recipe/bracket-normalizer.js +3 -7
- package/dist/core/recipe/bracket-normalizer.js.map +1 -1
- package/dist/core/recipe/cleaner.js +5 -5
- package/dist/core/recipe/cleaner.js.map +1 -1
- package/dist/core/recipe/index.d.ts +1 -1
- package/dist/core/recipe/index.d.ts.map +1 -1
- package/dist/core/recipe/index.js +57 -4
- package/dist/core/recipe/index.js.map +1 -1
- package/dist/core/recipe/ooxml-parts.d.ts +11 -0
- package/dist/core/recipe/ooxml-parts.d.ts.map +1 -1
- package/dist/core/recipe/ooxml-parts.js +22 -0
- package/dist/core/recipe/ooxml-parts.js.map +1 -1
- package/dist/core/recipe/patcher.d.ts.map +1 -1
- package/dist/core/recipe/patcher.js +2 -5
- package/dist/core/recipe/patcher.js.map +1 -1
- package/dist/core/recipe/source-drift.d.ts +19 -0
- package/dist/core/recipe/source-drift.d.ts.map +1 -1
- package/dist/core/recipe/source-drift.js +32 -2
- package/dist/core/recipe/source-drift.js.map +1 -1
- package/dist/core/selector.d.ts.map +1 -1
- package/dist/core/selector.js +49 -4
- package/dist/core/selector.js.map +1 -1
- package/dist/core/selectors/index.d.ts +40 -0
- package/dist/core/selectors/index.d.ts.map +1 -0
- package/dist/core/selectors/index.js +64 -0
- package/dist/core/selectors/index.js.map +1 -0
- package/dist/core/selectors/loader.d.ts +16 -0
- package/dist/core/selectors/loader.d.ts.map +1 -0
- package/dist/core/selectors/loader.js +80 -0
- package/dist/core/selectors/loader.js.map +1 -0
- package/dist/core/selectors/manifest-schema.d.ts +123 -0
- package/dist/core/selectors/manifest-schema.d.ts.map +1 -0
- package/dist/core/selectors/manifest-schema.js +93 -0
- package/dist/core/selectors/manifest-schema.js.map +1 -0
- package/dist/core/selectors/patch.d.ts +24 -0
- package/dist/core/selectors/patch.d.ts.map +1 -0
- package/dist/core/selectors/patch.js +68 -0
- package/dist/core/selectors/patch.js.map +1 -0
- package/dist/core/selectors/postconditions.d.ts +24 -0
- package/dist/core/selectors/postconditions.d.ts.map +1 -0
- package/dist/core/selectors/postconditions.js +50 -0
- package/dist/core/selectors/postconditions.js.map +1 -0
- package/dist/core/selectors/resolve.d.ts +32 -0
- package/dist/core/selectors/resolve.d.ts.map +1 -0
- package/dist/core/selectors/resolve.js +36 -0
- package/dist/core/selectors/resolve.js.map +1 -0
- package/dist/core/unified-pipeline.d.ts +3 -1
- package/dist/core/unified-pipeline.d.ts.map +1 -1
- package/dist/core/unified-pipeline.js +23 -11
- package/dist/core/unified-pipeline.js.map +1 -1
- package/gemini-extension.json +1 -1
- package/node_modules/@usejunior/docx-core/LICENSE +202 -21
- package/node_modules/@usejunior/docx-core/NOTICE +2 -0
- package/node_modules/@usejunior/docx-core/README.md +2 -2
- package/node_modules/@usejunior/docx-core/dist/.tsbuildinfo +1 -1
- package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts +55 -0
- package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/atomizer.js +139 -14
- package/node_modules/@usejunior/docx-core/dist/atomizer.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.d.ts +99 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.js +415 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/auxiliaryIdCollision.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js +403 -113
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.d.ts +99 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.js +449 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/formattingFidelity.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts +37 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.js +189 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-bookmarks.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.d.ts +74 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.js +171 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-containers.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts +88 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.js +326 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-deletion.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts +85 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.js +402 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-postprocess.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts +39 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.js +265 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-presplit.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.d.ts +62 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.js +139 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-shared.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts +198 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.js +475 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier-wrappers.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts +6 -290
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js +23 -1828
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts +36 -2
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js +456 -224
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.js +199 -173
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.js +7 -0
- package/node_modules/@usejunior/docx-core/dist/baselines/wmlcomparer/DotnetCli.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/cli/compare-two.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/cli/compare-two.js +3 -1
- package/node_modules/@usejunior/docx-core/dist/cli/compare-two.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.d.ts +3 -0
- package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.js +93 -0
- package/node_modules/@usejunior/docx-core/dist/cli/conformance-adapter.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/cli/index.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/cli/index.js +5 -1
- package/node_modules/@usejunior/docx-core/dist/cli/index.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/compare-types.d.ts +197 -0
- package/node_modules/@usejunior/docx-core/dist/compare-types.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/compare-types.js +2 -0
- package/node_modules/@usejunior/docx-core/dist/compare-types.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/core-types.d.ts +5 -1
- package/node_modules/@usejunior/docx-core/dist/core-types.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/core-types.js +5 -1
- package/node_modules/@usejunior/docx-core/dist/core-types.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/footnotes.d.ts +8 -3
- package/node_modules/@usejunior/docx-core/dist/footnotes.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/footnotes.js +8 -3
- package/node_modules/@usejunior/docx-core/dist/footnotes.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/generation/compile.d.ts +22 -0
- package/node_modules/@usejunior/docx-core/dist/generation/compile.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/compile.js +58 -0
- package/node_modules/@usejunior/docx-core/dist/generation/compile.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/context.d.ts +42 -0
- package/node_modules/@usejunior/docx-core/dist/generation/context.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/context.js +65 -0
- package/node_modules/@usejunior/docx-core/dist/generation/context.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.d.ts +36 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.js +116 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/comments-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.d.ts +24 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.js +60 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/document-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.d.ts +28 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.js +19 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/emit-context.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.d.ts +16 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.js +74 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/font-table-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.d.ts +23 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.js +57 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/header-footer-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.d.ts +29 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.js +102 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/numbering-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.d.ts +24 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.js +121 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/package-parts.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.d.ts +24 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.js +63 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/paragraph.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.d.ts +36 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.js +157 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/properties.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/run.d.ts +16 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/run.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/run.js +71 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/run.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/section.d.ts +29 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/section.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/section.js +117 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/section.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.d.ts +13 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.js +68 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/settings-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.d.ts +16 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.js +82 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/styles-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/table.d.ts +26 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/table.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/table.js +209 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/table.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.d.ts +21 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.js +151 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/theme-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.d.ts +12 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.js +19 -0
- package/node_modules/@usejunior/docx-core/dist/generation/emit/web-settings-part.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/errors.d.ts +22 -0
- package/node_modules/@usejunior/docx-core/dist/generation/errors.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/errors.js +29 -0
- package/node_modules/@usejunior/docx-core/dist/generation/errors.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/index.d.ts +13 -0
- package/node_modules/@usejunior/docx-core/dist/generation/index.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/index.js +12 -0
- package/node_modules/@usejunior/docx-core/dist/generation/index.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/ordering.d.ts +46 -0
- package/node_modules/@usejunior/docx-core/dist/generation/ordering.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/ordering.js +119 -0
- package/node_modules/@usejunior/docx-core/dist/generation/ordering.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/recipes.d.ts +87 -0
- package/node_modules/@usejunior/docx-core/dist/generation/recipes.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/recipes.js +232 -0
- package/node_modules/@usejunior/docx-core/dist/generation/recipes.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.d.ts +24 -0
- package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.js +318 -0
- package/node_modules/@usejunior/docx-core/dist/generation/structural-checks.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.d.ts +4 -0
- package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.js +18 -0
- package/node_modules/@usejunior/docx-core/dist/generation/theme-colors.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/types.d.ts +266 -0
- package/node_modules/@usejunior/docx-core/dist/generation/types.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/types.js +63 -0
- package/node_modules/@usejunior/docx-core/dist/generation/types.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.d.ts +27 -0
- package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.js +363 -0
- package/node_modules/@usejunior/docx-core/dist/generation/validate-spec.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/index.d.ts +9 -150
- package/node_modules/@usejunior/docx-core/dist/index.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/index.js +14 -0
- package/node_modules/@usejunior/docx-core/dist/index.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.d.ts +15 -0
- package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.js +84 -0
- package/node_modules/@usejunior/docx-core/dist/integration/generation-probes.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.d.ts +49 -0
- package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.js +290 -0
- package/node_modules/@usejunior/docx-core/dist/integration/libreoffice-oracle.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.d.ts +134 -0
- package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.js +298 -0
- package/node_modules/@usejunior/docx-core/dist/integration/synthetic-docx-fixture.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.d.ts +4 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.js +163 -77
- package/node_modules/@usejunior/docx-core/dist/primitives/accept_changes.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts +12 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.js +374 -97
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.d.ts +29 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.js +63 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/content_fingerprint.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts +94 -15
- package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/document.js +377 -234
- package/node_modules/@usejunior/docx-core/dist/primitives/document.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.d.ts +18 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.js +160 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-comments.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.d.ts +45 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.js +247 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-headings.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.d.ts +11 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.js +104 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-styles.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.d.ts +37 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.js +199 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-toon.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.d.ts +165 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.js +2 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view-types.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts +50 -101
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js +287 -326
- package/node_modules/@usejunior/docx-core/dist/primitives/document_view.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts +9 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js +10 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.d.ts +4 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.js +232 -44
- package/node_modules/@usejunior/docx-core/dist/primitives/footnotes.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.d.ts +7 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.js +22 -11
- package/node_modules/@usejunior/docx-core/dist/primitives/formatting_tags.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/index.d.ts +12 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/index.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/index.js +11 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/index.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts +4 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.js +45 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/locator.d.ts +76 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/locator.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/locator.js +223 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/locator.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.d.ts +21 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.js +32 -10
- package/node_modules/@usejunior/docx-core/dist/primitives/merge_runs.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.d.ts +38 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.js +323 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/minimal_save.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.d.ts +53 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.js +59 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/namespaces.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.d.ts +6 -4
- package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.js +187 -91
- package/node_modules/@usejunior/docx-core/dist/primitives/reject_changes.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.d.ts +7 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.js +27 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-parts.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.d.ts +7 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.js +39 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/revision-vocabulary.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.d.ts +19 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.js +29 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/schema-corpus-capture.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.d.ts +19 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.js +165 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/sectPrAudit.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.d.ts +7 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.js +23 -4
- package/node_modules/@usejunior/docx-core/dist/primitives/semantic_tags.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.d.ts +37 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.js +395 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_html.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.d.ts +16 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.js +300 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_markdown.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.d.ts +15 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.js +154 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/serialize_plaintext.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/styles.d.ts +15 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/styles.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/styles.js +33 -22
- package/node_modules/@usejunior/docx-core/dist/primitives/styles.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/table_context.d.ts +19 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/table_context.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/table_context.js +189 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/table_context.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/tables.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/tables.js +13 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/tables.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/text.d.ts +2 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/text.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/text.js +116 -12
- package/node_modules/@usejunior/docx-core/dist/primitives/text.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.d.ts +148 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.js +291 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/track-changes-emitter.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.d.ts +35 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.js +323 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/validate_ai_revisions.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.d.ts +29 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.js +35 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml-helpers.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts +5 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.js +5 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/zip.d.ts +1 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/zip.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/zip.js +21 -3
- package/node_modules/@usejunior/docx-core/dist/primitives/zip.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/shared/field-structure.d.ts +14 -0
- package/node_modules/@usejunior/docx-core/dist/shared/field-structure.d.ts.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/shared/field-structure.js +166 -0
- package/node_modules/@usejunior/docx-core/dist/shared/field-structure.js.map +1 -0
- package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.d.ts +4 -1
- package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.js +4 -1
- package/node_modules/@usejunior/docx-core/dist/shared/ooxml/namespaces.js.map +1 -1
- package/node_modules/@usejunior/docx-core/package.json +13 -9
- package/node_modules/@xmldom/xmldom/CHANGELOG.md +1055 -0
- package/node_modules/@xmldom/xmldom/LICENSE +8 -0
- package/node_modules/@xmldom/xmldom/SECURITY.md +50 -0
- package/node_modules/@xmldom/xmldom/index.d.ts +1789 -0
- package/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +3 -0
- package/node_modules/@xmldom/xmldom/lib/conventions.js +429 -0
- package/node_modules/@xmldom/xmldom/lib/dom-parser.js +586 -0
- package/node_modules/@xmldom/xmldom/lib/dom.js +3554 -0
- package/node_modules/@xmldom/xmldom/lib/entities.js +2171 -0
- package/node_modules/@xmldom/xmldom/lib/errors.js +202 -0
- package/node_modules/@xmldom/xmldom/lib/grammar.js +547 -0
- package/node_modules/@xmldom/xmldom/lib/index.js +41 -0
- package/node_modules/@xmldom/xmldom/lib/sax.js +929 -0
- package/node_modules/@xmldom/xmldom/package.json +77 -0
- package/node_modules/@xmldom/xmldom/readme.md +364 -0
- package/node_modules/core-util-is/LICENSE +19 -0
- package/node_modules/core-util-is/README.md +3 -0
- package/node_modules/core-util-is/lib/util.js +107 -0
- package/node_modules/core-util-is/package.json +38 -0
- package/node_modules/immediate/LICENSE.txt +20 -0
- package/node_modules/immediate/README.md +93 -0
- package/node_modules/immediate/dist/immediate.js +75 -0
- package/node_modules/immediate/dist/immediate.min.js +1 -0
- package/node_modules/immediate/lib/browser.js +69 -0
- package/node_modules/immediate/lib/index.js +73 -0
- package/node_modules/immediate/package.json +42 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +29 -0
- package/node_modules/isarray/.npmignore +1 -0
- package/node_modules/isarray/.travis.yml +4 -0
- package/node_modules/isarray/Makefile +6 -0
- package/node_modules/isarray/README.md +60 -0
- package/node_modules/isarray/component.json +19 -0
- package/node_modules/isarray/index.js +5 -0
- package/node_modules/isarray/package.json +45 -0
- package/node_modules/isarray/test.js +20 -0
- package/node_modules/jszip/.codeclimate.yml +16 -0
- package/node_modules/jszip/.editorconfig +8 -0
- package/node_modules/jszip/.eslintrc.js +43 -0
- package/node_modules/jszip/.github/workflows/pr.yaml +58 -0
- package/node_modules/jszip/.jekyll-metadata +0 -0
- package/node_modules/jszip/.travis.yml +17 -0
- package/node_modules/jszip/CHANGES.md +204 -0
- package/node_modules/jszip/LICENSE.markdown +651 -0
- package/node_modules/jszip/README.markdown +33 -0
- package/node_modules/jszip/deps.js +37 -0
- package/node_modules/jszip/dist/jszip.js +11577 -0
- package/node_modules/jszip/dist/jszip.min.js +13 -0
- package/node_modules/jszip/graph.svg +601 -0
- package/node_modules/jszip/index.d.ts +330 -0
- package/node_modules/jszip/lib/base64.js +106 -0
- package/node_modules/jszip/lib/compressedObject.js +74 -0
- package/node_modules/jszip/lib/compressions.js +14 -0
- package/node_modules/jszip/lib/crc32.js +77 -0
- package/node_modules/jszip/lib/defaults.js +11 -0
- package/node_modules/jszip/lib/external.js +18 -0
- package/node_modules/jszip/lib/flate.js +85 -0
- package/node_modules/jszip/lib/generate/ZipFileWorker.js +539 -0
- package/node_modules/jszip/lib/generate/index.js +57 -0
- package/node_modules/jszip/lib/index.js +55 -0
- package/node_modules/jszip/lib/license_header.js +11 -0
- package/node_modules/jszip/lib/load.js +88 -0
- package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +74 -0
- package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +42 -0
- package/node_modules/jszip/lib/nodejsUtils.js +57 -0
- package/node_modules/jszip/lib/object.js +384 -0
- package/node_modules/jszip/lib/readable-stream-browser.js +10 -0
- package/node_modules/jszip/lib/reader/ArrayReader.js +57 -0
- package/node_modules/jszip/lib/reader/DataReader.js +116 -0
- package/node_modules/jszip/lib/reader/NodeBufferReader.js +19 -0
- package/node_modules/jszip/lib/reader/StringReader.js +38 -0
- package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +22 -0
- package/node_modules/jszip/lib/reader/readerFor.js +28 -0
- package/node_modules/jszip/lib/signature.js +7 -0
- package/node_modules/jszip/lib/stream/ConvertWorker.js +26 -0
- package/node_modules/jszip/lib/stream/Crc32Probe.js +24 -0
- package/node_modules/jszip/lib/stream/DataLengthProbe.js +29 -0
- package/node_modules/jszip/lib/stream/DataWorker.js +116 -0
- package/node_modules/jszip/lib/stream/GenericWorker.js +263 -0
- package/node_modules/jszip/lib/stream/StreamHelper.js +214 -0
- package/node_modules/jszip/lib/support.js +38 -0
- package/node_modules/jszip/lib/utf8.js +275 -0
- package/node_modules/jszip/lib/utils.js +501 -0
- package/node_modules/jszip/lib/zipEntries.js +261 -0
- package/node_modules/jszip/lib/zipEntry.js +293 -0
- package/node_modules/jszip/lib/zipObject.js +133 -0
- package/node_modules/jszip/package.json +67 -0
- package/node_modules/jszip/sponsors.md +21 -0
- package/node_modules/jszip/tsconfig.json +101 -0
- package/node_modules/jszip/vendor/FileSaver.js +247 -0
- package/node_modules/lie/README.md +62 -0
- package/node_modules/lie/dist/lie.js +350 -0
- package/node_modules/lie/dist/lie.min.js +1 -0
- package/node_modules/lie/dist/lie.polyfill.js +358 -0
- package/node_modules/lie/dist/lie.polyfill.min.js +1 -0
- package/node_modules/lie/lib/browser.js +273 -0
- package/node_modules/lie/lib/index.js +298 -0
- package/node_modules/lie/license.md +7 -0
- package/node_modules/lie/lie.d.ts +244 -0
- package/node_modules/lie/package.json +69 -0
- package/node_modules/lie/polyfill.js +4 -0
- package/node_modules/pako/LICENSE +21 -0
- package/node_modules/pako/README.md +191 -0
- package/node_modules/pako/dist/pako.js +6818 -0
- package/node_modules/pako/dist/pako.min.js +1 -0
- package/node_modules/pako/dist/pako_deflate.js +3997 -0
- package/node_modules/pako/dist/pako_deflate.min.js +1 -0
- package/node_modules/pako/dist/pako_inflate.js +3300 -0
- package/node_modules/pako/dist/pako_inflate.min.js +1 -0
- package/node_modules/pako/index.js +14 -0
- package/node_modules/pako/lib/deflate.js +400 -0
- package/node_modules/pako/lib/inflate.js +423 -0
- package/node_modules/pako/lib/utils/common.js +105 -0
- package/node_modules/pako/lib/utils/strings.js +187 -0
- package/node_modules/pako/lib/zlib/README +59 -0
- package/node_modules/pako/lib/zlib/adler32.js +51 -0
- package/node_modules/pako/lib/zlib/constants.js +68 -0
- package/node_modules/pako/lib/zlib/crc32.js +59 -0
- package/node_modules/pako/lib/zlib/deflate.js +1874 -0
- package/node_modules/pako/lib/zlib/gzheader.js +58 -0
- package/node_modules/pako/lib/zlib/inffast.js +345 -0
- package/node_modules/pako/lib/zlib/inflate.js +1556 -0
- package/node_modules/pako/lib/zlib/inftrees.js +343 -0
- package/node_modules/pako/lib/zlib/messages.js +32 -0
- package/node_modules/pako/lib/zlib/trees.js +1222 -0
- package/node_modules/pako/lib/zlib/zstream.js +47 -0
- package/node_modules/pako/package.json +44 -0
- package/node_modules/process-nextick-args/index.js +45 -0
- package/node_modules/process-nextick-args/license.md +19 -0
- package/node_modules/process-nextick-args/package.json +25 -0
- package/node_modules/process-nextick-args/readme.md +18 -0
- package/node_modules/readable-stream/.travis.yml +34 -0
- package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
- package/node_modules/readable-stream/GOVERNANCE.md +136 -0
- package/node_modules/readable-stream/LICENSE +47 -0
- package/node_modules/readable-stream/README.md +58 -0
- package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
- package/node_modules/readable-stream/duplex-browser.js +1 -0
- package/node_modules/readable-stream/duplex.js +1 -0
- package/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
- package/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
- package/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
- package/node_modules/readable-stream/lib/_stream_transform.js +214 -0
- package/node_modules/readable-stream/lib/_stream_writable.js +685 -0
- package/node_modules/readable-stream/lib/internal/streams/BufferList.js +78 -0
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +84 -0
- package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
- package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
- package/node_modules/readable-stream/package.json +52 -0
- package/node_modules/readable-stream/passthrough.js +1 -0
- package/node_modules/readable-stream/readable-browser.js +7 -0
- package/node_modules/readable-stream/readable.js +19 -0
- package/node_modules/readable-stream/transform.js +1 -0
- package/node_modules/readable-stream/writable-browser.js +1 -0
- package/node_modules/readable-stream/writable.js +8 -0
- package/node_modules/safe-buffer/LICENSE +21 -0
- package/node_modules/safe-buffer/README.md +584 -0
- package/node_modules/safe-buffer/index.d.ts +187 -0
- package/node_modules/safe-buffer/index.js +62 -0
- package/node_modules/safe-buffer/package.json +37 -0
- package/node_modules/setimmediate/LICENSE.txt +20 -0
- package/node_modules/setimmediate/package.json +30 -0
- package/node_modules/setimmediate/setImmediate.js +186 -0
- package/node_modules/string_decoder/.travis.yml +50 -0
- package/node_modules/string_decoder/LICENSE +48 -0
- package/node_modules/string_decoder/README.md +47 -0
- package/node_modules/string_decoder/lib/string_decoder.js +296 -0
- package/node_modules/string_decoder/package.json +31 -0
- package/node_modules/util-deprecate/History.md +16 -0
- package/node_modules/util-deprecate/LICENSE +24 -0
- package/node_modules/util-deprecate/README.md +53 -0
- package/node_modules/util-deprecate/browser.js +67 -0
- package/node_modules/util-deprecate/node.js +6 -0
- package/node_modules/util-deprecate/package.json +27 -0
- package/package.json +7 -7
- package/server.json +3 -3
- package/skills/{cloud-service-agreement → agreements/cloud-service-agreement}/SKILL.md +2 -2
- package/skills/{nda → agreements/cloud-service-agreement}/template-filling-execution.md +2 -2
- package/skills/{data-privacy-agreement → agreements/data-privacy-agreement}/SKILL.md +15 -4
- package/skills/{open-agreements → agreements/data-privacy-agreement}/template-filling-execution.md +12 -6
- package/skills/{employment-contract → agreements/employment-contract}/SKILL.md +25 -8
- package/skills/{cloud-service-agreement → agreements/employment-contract}/template-filling-execution.md +12 -6
- package/skills/{nda → agreements/nda}/SKILL.md +2 -2
- package/skills/{safe → agreements/nda}/template-filling-execution.md +12 -6
- package/skills/{open-agreements → agreements/open-agreements}/SKILL.md +13 -30
- package/skills/agreements/open-agreements/template-filling-execution.md +98 -0
- package/skills/{safe → agreements/safe}/SKILL.md +2 -2
- package/skills/agreements/safe/template-filling-execution.md +98 -0
- package/skills/{services-agreement → agreements/services-agreement}/SKILL.md +3 -3
- package/skills/agreements/services-agreement/template-filling-execution.md +98 -0
- package/skills/{venture-financing → agreements/venture-financing}/SKILL.md +3 -3
- package/skills/agreements/venture-financing/template-filling-execution.md +98 -0
- package/skills/{client-email → client-workflows/client-email}/SKILL.md +9 -7
- package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/SKILL.md +1 -1
- package/skills/{edit-docx-agreement → client-workflows/edit-docx-agreement}/SKILL.md +1 -1
- package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/SKILL.md +1 -1
- package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/SKILL.md +1 -1
- package/skills/{soc2-readiness → compliance/soc2-readiness}/SKILL.md +1 -1
- package/skills/{canonical-markdown-authoring → internal/canonical-markdown-authoring}/SKILL.md +2 -3
- package/skills/{recipe-quality-audit → internal/recipe-quality-audit}/SKILL.md +2 -1
- package/skills/{unit-test-philosophy → internal/unit-test-philosophy}/SKILL.md +2 -0
- package/skills/legal-explainers/data-privacy-law-explainer/CONTRIBUTING.md +7 -0
- package/skills/legal-explainers/data-privacy-law-explainer/LICENSE +269 -0
- package/skills/legal-explainers/data-privacy-law-explainer/NOTICE +7 -0
- package/skills/legal-explainers/data-privacy-law-explainer/SKILL.md +113 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/alabama.md +211 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/alaska.md +155 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/arizona.md +181 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/arkansas.md +219 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/california.md +107 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/colorado.md +87 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/connecticut.md +83 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/delaware.md +85 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/district-of-columbia.md +153 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/florida.md +234 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/georgia.md +149 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/hawaii.md +167 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/idaho.md +149 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/illinois.md +238 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/indiana.md +93 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/iowa.md +99 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/kansas.md +155 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/kentucky.md +87 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/louisiana.md +209 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/maine.md +163 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/maryland.md +85 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/massachusetts.md +260 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/michigan.md +175 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/minnesota.md +93 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/mississippi.md +132 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/missouri.md +179 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/montana.md +105 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/nebraska.md +83 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/nevada.md +212 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/new-hampshire.md +91 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/new-jersey.md +95 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/new-mexico.md +174 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/new-york.md +195 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/north-carolina.md +205 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/north-dakota.md +169 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/ohio.md +171 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/oklahoma.md +168 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/oregon.md +103 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/pennsylvania.md +99 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/rhode-island.md +93 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/south-carolina.md +175 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/south-dakota.md +176 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/tennessee.md +89 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/texas.md +89 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/utah.md +83 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/vermont.md +267 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/virginia.md +85 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/washington.md +247 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/west-virginia.md +141 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/wisconsin.md +156 -0
- package/skills/legal-explainers/data-privacy-law-explainer/content/wyoming.md +185 -0
- package/skills/legal-explainers/data-privacy-law-explainer/manifest.json +519 -0
- package/skills/legal-explainers/non-compete-contract-explainer/CONTRIBUTING.md +7 -0
- package/skills/legal-explainers/non-compete-contract-explainer/LICENSE +269 -0
- package/skills/legal-explainers/non-compete-contract-explainer/NOTICE +7 -0
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/SKILL.md +1 -1
- package/skills/legal-explainers/non-compete-contract-explainer/content/alabama.md +251 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/alaska.md +160 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/american-samoa.md +187 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/arizona.md +295 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/arkansas.md +235 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/au.md +208 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/australian-capital-territory.md +220 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/california.md +270 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/cnmi.md +168 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/colorado.md +277 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/connecticut.md +220 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/delaware.md +222 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/district-of-columbia.md +263 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/florida.md +267 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/georgia.md +323 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/guam.md +180 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/hawaii.md +236 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/idaho.md +258 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/illinois.md +266 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/in.md +269 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/indiana.md +253 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/iowa.md +232 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/kansas.md +227 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/kentucky.md +201 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/louisiana.md +272 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/maine.md +178 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/maryland.md +244 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/massachusetts.md +272 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/michigan.md +222 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/minnesota.md +171 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/mississippi.md +237 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/missouri.md +219 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/montana.md +202 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/nebraska.md +206 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/nevada.md +278 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/new-hampshire.md +233 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/new-jersey.md +277 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/new-mexico.md +244 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/new-south-wales.md +218 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/new-york.md +226 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/north-carolina.md +346 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/north-dakota.md +187 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/northern-territory.md +214 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/ohio.md +207 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/oklahoma.md +196 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/oregon.md +359 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/pennsylvania.md +254 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/ph.md +211 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/puerto-rico.md +163 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/queensland.md +206 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/rhode-island.md +171 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/sg.md +229 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/south-australia.md +236 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/south-carolina.md +226 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/south-dakota.md +222 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/tasmania.md +224 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/tennessee.md +251 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/texas.md +297 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/utah.md +250 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/vermont.md +211 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/victoria.md +218 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/virgin-islands.md +193 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/virginia.md +213 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/washington.md +296 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/west-virginia.md +187 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/western-australia.md +224 -0
- package/skills/legal-explainers/non-compete-contract-explainer/content/wisconsin.md +293 -0
- package/skills/{non-compete-contract-explainer → legal-explainers/non-compete-contract-explainer}/content/wyoming.md +69 -55
- package/skills/legal-explainers/non-compete-contract-explainer/manifest.json +689 -0
- package/content/templates/bonterms-mutual-nda/signing.yaml +0 -35
- package/dist/core/signing-config.d.ts +0 -46
- package/dist/core/signing-config.d.ts.map +0 -1
- package/dist/core/signing-config.js +0 -67
- package/dist/core/signing-config.js.map +0 -1
- package/skills/non-compete-contract-explainer/manifest.json +0 -18
- package/skills/services-agreement/template-filling-execution.md +0 -81
- package/skills/shared/template-filling-execution.md +0 -92
- /package/skills/{cloud-service-agreement → agreements/cloud-service-agreement}/CONNECTORS.md +0 -0
- /package/skills/{data-privacy-agreement → agreements/data-privacy-agreement}/CONNECTORS.md +0 -0
- /package/skills/{employment-contract → agreements/employment-contract}/CONNECTORS.md +0 -0
- /package/skills/{nda → agreements/nda}/CONNECTORS.md +0 -0
- /package/skills/{open-agreements → agreements/open-agreements}/CONNECTORS.md +0 -0
- /package/skills/{safe → agreements/safe}/CONNECTORS.md +0 -0
- /package/skills/{services-agreement → agreements/services-agreement}/CONNECTORS.md +0 -0
- /package/skills/{venture-financing → agreements/venture-financing}/CONNECTORS.md +0 -0
- /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/CONNECTORS.md +0 -0
- /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/ecorp-portal-playwright-notes.md +0 -0
- /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/faq.md +0 -0
- /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/filing-instructions.md +0 -0
- /package/skills/{delaware-franchise-tax → client-workflows/delaware-franchise-tax}/reference/tax-calculation.md +0 -0
- /package/skills/{edit-docx-agreement → client-workflows/edit-docx-agreement}/CONNECTORS.md +0 -0
- /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/CONNECTORS.md +0 -0
- /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/api-exports.md +0 -0
- /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/evidence-types.md +0 -0
- /package/skills/{iso-27001-evidence-collection → compliance/iso-27001-evidence-collection}/rules/screenshot-guide.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/CONNECTORS.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/access-control.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/business-continuity.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/change-management.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/encryption.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/incident-response.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/isms-management.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/logging-monitoring.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/people-controls.md +0 -0
- /package/skills/{iso-27001-internal-audit → compliance/iso-27001-internal-audit}/rules/supplier-management.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/CONNECTORS.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/change-vendor-management.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/communication-info.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/control-activities.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/control-environment.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/logical-access.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/monitoring-activities.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/optional-categories.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/privacy-criteria.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/risk-assessment.md +0 -0
- /package/skills/{soc2-readiness → compliance/soc2-readiness}/rules/system-operations.md +0 -0
- /package/skills/{canonical-markdown-authoring → internal/canonical-markdown-authoring}/CONNECTORS.md +0 -0
- /package/skills/{unit-test-philosophy → internal/unit-test-philosophy}/references/allure-test-spec-writing-guide.md +0 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
jurisdiction: "Rhode Island"
|
|
3
|
+
slug: rhode-island
|
|
4
|
+
countryCode: US
|
|
5
|
+
snapshotAsOf: "2026-06-19"
|
|
6
|
+
lastReviewed: "2026-06-02"
|
|
7
|
+
canonicalUrl: https://openagreements.org/practice-guides/non-compete/us/rhode-island
|
|
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/rhode-island · **Snapshot as of:** 2026-06-19 · License: CC BY 4.0 · © openagreements.org
|
|
19
|
+
|
|
20
|
+
# Non-Competes in Rhode Island[^about]
|
|
21
|
+
|
|
22
|
+
Rhode Island bans non-competes for several worker categories and regulated professions, while other restrictive covenants remain governed by strict common-law reasonableness limits and trade-secret law.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## At a glance
|
|
26
|
+
|
|
27
|
+
| Question | Rhode Island |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| **Are non-competes enforceable?** | Allowed above a pay level |
|
|
30
|
+
| **Bottom line** | Rhode Island applies common-law reasonableness to most workers but bans non-competes for low-wage and several other worker categories (FLSA-nonexempt, student interns, age 18 or younger) and for physicians and APRNs. |
|
|
31
|
+
| **Main law or case** | R.I. Gen. Laws § 28-59-3 (Rhode Island Noncompetition Agreement Act) |
|
|
32
|
+
| **Main exceptions** | Worker-category bans (low-wage, FLSA-nonexempt, interns, ≤18); physician (§ 5-37-33) and APRN (§ 5-34-50) bans with a 5-year sale-of-practice exception; non-solicits/NDAs/sale excluded from definition |
|
|
33
|
+
| **When the ban took effect** | Physician/APRN bans eff. June 17, 2024 (worker-category ban date not stated in note) |
|
|
34
|
+
| **Can a court narrow it?** | Yes — rewrites to reasonable |
|
|
35
|
+
| **Applies to contractors?** | No |
|
|
36
|
+
| **Restriction extended during a breach?** | Not addressed |
|
|
37
|
+
| **Maximum length set by law** | No general statutory length limit; physician/APRN sale-of-practice exception capped at 5 years |
|
|
38
|
+
|
|
39
|
+
## Are employee non-compete agreements enforceable in Rhode Island? {#employee-noncompetes}
|
|
40
|
+
|
|
41
|
+
**Short answer.** Often no for covered workers. The Rhode Island Noncompetition Agreement Act makes a non-compete unenforceable against FLSA-nonexempt employees, student interns, workers age 18 or younger, and low-wage employees [^rinaa-covered-workers].
|
|
42
|
+
|
|
43
|
+
The statutory ban is targeted rather than universal. It applies to covered employees within Chapter 28-59, and the statute defines an employee to exclude independent contractors [^rinaa-employee-definition]. For workers outside the banned categories, Rhode Island common law still requires a valid relationship, consideration, a legitimate interest, and a reasonable restraint.
|
|
44
|
+
|
|
45
|
+
The low-wage category is indexed to the federal poverty level. The statute defines it as an employee whose average annual earnings are not more than 250 percent of the federal poverty level for individuals [^rinaa-low-wage-definition].
|
|
46
|
+
|
|
47
|
+
> [!NOTE]
|
|
48
|
+
> **Practice note.**
|
|
49
|
+
>
|
|
50
|
+
> Do not treat Rhode Island as a total-ban state. Chapter 28-59 bars non-competes only for the worker categories listed in the statute, while other workers and other restrictive covenants still require separate analysis [^rinaa-covered-workers][^durapin-reasonableness-baseline].
|
|
51
|
+
|
|
52
|
+
## What Rhode Island restrictions are excluded from the statutory non-compete definition? {#excluded-covenants}
|
|
53
|
+
|
|
54
|
+
**Short answer.** Rhode Island excludes several common restraints from the Chapter 28-59 definition of a noncompetition agreement, including employee non-solicits, customer non-solicits, confidentiality agreements, and sale-of-business covenants [^rinaa-noncompete-definition].
|
|
55
|
+
|
|
56
|
+
That does not make those covenants automatically enforceable. It means the RINAA ban does not decide the issue. Customer non-solicits, employee non-solicits, NDAs, confidentiality clauses, sale covenants, and qualifying separation agreements fall back to common law, trade-secret law, or the separate statute that governs the profession or industry.
|
|
57
|
+
|
|
58
|
+
"‘Noncompetition agreement’ means an agreement between an employer and an employee, or otherwise arising out of an existing or anticipated employment relationship, under which the employee or expected employee agrees that he or she will not engage in certain specified activities competitive with his or her employer after the employment relationship has ended."[^rinaa-noncompete-definition]
|
|
59
|
+
|
|
60
|
+
For drafting, the most important consequence is precision. A customer non-solicit should be written as a customer restraint, a confidentiality clause as a confidentiality clause, and a sale covenant as a sale covenant, because calling every restraint a non-compete can blur the statutory analysis.
|
|
61
|
+
|
|
62
|
+
## What common-law test applies to Rhode Island restrictive covenants not banned by statute? {#common-law-reasonableness}
|
|
63
|
+
|
|
64
|
+
**Short answer.** Rhode Island applies strict reasonableness review. The party seeking enforcement must show a valid underlying relationship, adequate consideration, a legitimate interest, and a restraint no broader than reasonably necessary [^durapin-enforcement-elements][^cranston-strict-scrutiny].
|
|
65
|
+
|
|
66
|
+
*Durapin* supplies the core framework. Rhode Island recognizes that non-competes can serve legitimate purposes, but treats them as disfavored restraints. The key practical point is that ordinary competition is not enough. The promisee needs a legitimate interest such as confidential customer relationships, goodwill, trade secrets, or another protectable interest.
|
|
67
|
+
|
|
68
|
+
*Cranston Print Works* reinforces the same standard and calls for strict judicial scrutiny. It also warns that covenants lacking both time and geographic limits may still be enforceable in some settings, but only to the extent necessary to protect legitimate interests [^cranston-necessity-limit].
|
|
69
|
+
|
|
70
|
+
## Does continued employment support a Rhode Island restrictive covenant? {#continued-employment-termination}
|
|
71
|
+
|
|
72
|
+
**Short answer.** It can. In *Walls*, the Rhode Island Supreme Court treated continued at-will employment, plus training and licensure support, as part of a lawful exchange supporting a 24-month customer restriction [^walls-continued-employment].
|
|
73
|
+
|
|
74
|
+
*Walls* matters because the agreement was signed during employment, not only at initial hire. The court also rejected the argument that involuntary termination prevented enforcement; the covenant applied on termination from employment without limiting language tied to the reason for departure [^walls-involuntary-termination].
|
|
75
|
+
|
|
76
|
+
The restraint in *Walls* was customer-focused. It barred solicitation and pest-control work for current and former company customers for 24 months, and the court emphasized that it did not use a geographic territory [^walls-customer-scope]. That makes the case useful for customer non-solicits and customer-service restrictions, not for broad bans on working in the same industry.
|
|
77
|
+
|
|
78
|
+
> [!NOTE]
|
|
79
|
+
> **Practice note.**
|
|
80
|
+
>
|
|
81
|
+
> Read *Walls* for what it is. The Rhode Island Supreme Court affirmed a *preliminary* injunction under deferential abuse-of-discretion review, not a final judgment on the covenant's validity [^walls-pi-posture]. It is a strong signal on consideration and customer-scope drafting, but a defendant can still develop a fuller record on reasonableness and legitimate interest at trial.
|
|
82
|
+
|
|
83
|
+
## Will Rhode Island courts narrow an overbroad non-compete? {#court-narrowing}
|
|
84
|
+
|
|
85
|
+
**Short answer.** Usually yes if equitable. *Durapin* adopted partial enforcement rather than an all-or-nothing or mechanical blue-pencil rule, absent bad faith or deliberate overreaching [^durapin-partial-enforcement].
|
|
86
|
+
|
|
87
|
+
Partial enforcement is not a drafting strategy. Even under *Durapin*, the court should go no further than reasonably necessary to protect the promisee's legitimate interests [^durapin-no-further-than-necessary]. Overbreadth still creates litigation risk and may leave the employer without meaningful relief if the employee did not jeopardize a protectable interest. For a clause-by-clause pass over a specific agreement against these limits, the [Rhode Island non-compete review checklist](/checklists/non-compete/us/rhode-island) walks the full covenant suite item by item with each requirement's force level.
|
|
88
|
+
|
|
89
|
+
RINAA also has a severability rule for contracts containing a non-compete that is unenforceable under § 28-59-3. That rule preserves the remainder of the contract and allows a court to impose a non-compete restriction as a remedy for breach of another agreement or duty [^rinaa-severability-remedy].
|
|
90
|
+
|
|
91
|
+
> [!CAUTION]
|
|
92
|
+
> **Drafting note.**
|
|
93
|
+
>
|
|
94
|
+
> Do not confuse statutory severability with automatic enforcement. Rhode Island may preserve the rest of the contract, but common-law reformation still depends on reasonableness, legitimate interests, and equitable limits [^durapin-partial-enforcement][^rinaa-severability-remedy].
|
|
95
|
+
|
|
96
|
+
## Which Rhode Island professions have special non-compete bans? {#profession-specific-bans}
|
|
97
|
+
|
|
98
|
+
**Short answer.** Rhode Island has separate statutory bans for physicians and advanced practice registered nurses, each with a sale-of-practice exception for covenants lasting no more than five years [^physician-restrictive-covenants][^aprn-restrictive-covenants].
|
|
99
|
+
|
|
100
|
+
The physician statute voids restrictions on the right to practice medicine, including geographic practice limits and limits on treating, consulting with, or soliciting current patients. The APRN statute uses parallel language for APRNs licensed under Rhode Island nursing law.
|
|
101
|
+
|
|
102
|
+
Both statutes share the same shape: a categorical ban on practice restrictions, paired with a sale-of-practice exception capped at five years. Outside these regulated professions, Rhode Island has no other occupation-specific non-compete ban, so most workers fall under Chapter 28-59 and common law.
|
|
103
|
+
|
|
104
|
+
## How do Rhode Island trade-secret rules affect non-compete drafting? {#trade-secrets}
|
|
105
|
+
|
|
106
|
+
**Short answer.** Rhode Island trade-secret law is the main confidentiality alternative to a non-compete. RIUTSA protects qualifying information and authorizes injunctions for actual or threatened misappropriation [^riutsa-trade-secret-definition][^riutsa-injunctive-relief].
|
|
107
|
+
|
|
108
|
+
RINAA itself preserves agreements not to share trade-secret information after employment [^rinaa-trade-secret-preserved]. That makes trade-secret and confidentiality drafting especially important when a worker falls within a non-compete ban or when a broad activity restraint would be difficult to justify.
|
|
109
|
+
|
|
110
|
+
"Nothing in this section shall preclude an employer from entering into an agreement with an employee not to share any information, including after the employee is no longer employed by the employer, regarding the employer or the employment that is a trade secret."[^rinaa-trade-secret-preserved]
|
|
111
|
+
|
|
112
|
+
RIUTSA also preserves contractual remedies, so a well-drafted NDA can operate alongside statutory trade-secret claims. The safer approach is to define confidential information carefully, reserve trade-secret protection for information that meets the statutory definition, and avoid writing an NDA so broadly that it functions like a hidden non-compete.
|
|
113
|
+
|
|
114
|
+
## What recent Rhode Island and federal developments should employers monitor? {#recent-developments}
|
|
115
|
+
|
|
116
|
+
**Short answer.** As of June 2, 2026, Rhode Island's enacted baseline remains Chapter 28-59 plus profession-specific statutes and common law. Recent proposals and federal activity matter for monitoring, but they should not be treated as the current Rhode Island rule unless enacted or effective [^rinaa-current-baseline][^aprn-current-baseline].
|
|
117
|
+
|
|
118
|
+
The 2024 Rhode Island broad-ban bill, H8059/S2436, passed both houses but was vetoed by Governor McKee in June 2024. The 2025 S0302 proposal would have added a $125,000 earnings threshold, but monitor the official General Assembly record before relying on any pending or prior-session bill as law.
|
|
119
|
+
|
|
120
|
+
The federal FTC Non-Compete Rule is also background rather than an operative Rhode Island rule. The rule was challenged, blocked, and later treated by the FTC as not enforceable, so Rhode Island analysis still starts with state statutes, profession-specific statutes, common law, and trade-secret law.
|
|
121
|
+
|
|
122
|
+
> [!NOTE]
|
|
123
|
+
> **Practice note.**
|
|
124
|
+
>
|
|
125
|
+
> Rhode Island non-compete law may change through future legislation, but un-enacted bills do not replace the enacted worker-category statute. Check Chapter 28-59 and any active bill text before reusing a Rhode Island form [^rinaa-current-baseline].
|
|
126
|
+
|
|
127
|
+
[^about]: By Steven Obiajulu, J.D. Published by [openagreements.org](https://openagreements.org). Last reviewed 2026-06-02. License: CC BY 4.0. Steven Obiajulu, J.D. is admitted in New York, not Rhode Island. This article synthesizes Rhode Island primary law and is not legal advice from a Rhode Island-admitted attorney. This article is for informational purposes only and does not create an attorney-client relationship.
|
|
128
|
+
|
|
129
|
+
[^rinaa-covered-workers]: **R.I. Gen. Laws § 28-59-3** — "A noncompetition agreement shall not be enforceable against the following types of workers:" *R.I. Gen. Laws § 28-59-3(a).* <https://webserver.rilegislature.gov/Statutes/TITLE28/28-59/28-59-3.htm>
|
|
130
|
+
|
|
131
|
+
[^rinaa-employee-definition]: **R.I. Gen. Laws § 28-59-2** — "‘Employee’ means an individual who works for hire, including an individual employed in a supervisory, managerial, or confidential position, but shall not include an independent contractor." *R.I. Gen. Laws § 28-59-2(3).* <https://webserver.rilegislature.gov/Statutes/TITLE28/28-59/28-59-2.htm>
|
|
132
|
+
|
|
133
|
+
[^rinaa-low-wage-definition]: **R.I. Gen. Laws § 28-59-2** — "‘Low-wage employee’ means an employee whose average annual earnings, as defined in subsection (2), are not more than two hundred fifty percent (250%) of the federal poverty level for individuals as established by the United States Department of Health and Human Services federal poverty guidelines." *R.I. Gen. Laws § 28-59-2(7).* <https://webserver.rilegislature.gov/Statutes/TITLE28/28-59/28-59-2.htm>
|
|
134
|
+
|
|
135
|
+
[^durapin-reasonableness-baseline]: **Durapin, Inc. v. American Products, Inc.** — "However, since such provisions are not favored, they are subject to judicial scrutiny and will be enforced as written only if the contract is reasonable and does not extend beyond what is apparently necessary for the protection of those in whose favor it runs." *Durapin, Inc. v. Am. Prods., Inc., 559 A.2d 1051, 1053 (R.I. 1989).* <https://www.courtlistener.com/opinion/2334248/durapin-inc-v-american-products-inc/#:~:text=However%2C%20since%20such%20provisions%20are,in%20whose%20favor%20it%20runs.>
|
|
136
|
+
|
|
137
|
+
[^rinaa-noncompete-definition]: **R.I. Gen. Laws § 28-59-2** — "‘Noncompetition agreement’ means an agreement between an employer and an employee, or otherwise arising out of an existing or anticipated employment relationship, under which the employee or expected employee agrees that he or she will not engage in certain specified activities competitive with his or her employer after the employment relationship has ended." *R.I. Gen. Laws § 28-59-2(8).* <https://webserver.rilegislature.gov/Statutes/TITLE28/28-59/28-59-2.htm>
|
|
138
|
+
|
|
139
|
+
[^durapin-enforcement-elements]: **Durapin, Inc. v. American Products, Inc.** — "Before a court reaches this question, however, the party seeking to enforce a noncompetition provision must show that (1) the provision is ancillary to an otherwise valid transaction or relationship, such as an employment contract or a contract for the purchase and sale of a business, Restatement (Second)" *Durapin, Inc. v. Am. Prods., Inc., 559 A.2d 1051, 1053 (R.I. 1989).* <https://www.courtlistener.com/opinion/2334248/durapin-inc-v-american-products-inc/#:~:text=Before%20a%20court%20reaches%20this,of%20a%20business%2C%20Restatement%20(Second)>
|
|
140
|
+
|
|
141
|
+
[^cranston-strict-scrutiny]: **Cranston Print Works Co. v. Pothier** — "It is well settled that covenants not to compete are disfavored and subject to strict judicial scrutiny." *Cranston Print Works Co. v. Pothier, 848 A.2d 213, 219 (R.I. 2004).* <https://www.courtlistener.com/opinion/2195476/cranston-print-works-co-v-pothier/#:~:text=It%20is%20well%20settled%20that,subject%20to%20strict%20judicial%20scrutiny.>
|
|
142
|
+
|
|
143
|
+
[^cranston-necessity-limit]: **Cranston Print Works Co. v. Pothier** — "courts should uphold them only to the extent they are necessary to protect the promisee’s legitimate interests." *Cranston Print Works Co. v. Pothier, 848 A.2d 213, 220 (R.I. 2004).* <https://www.courtlistener.com/opinion/2195476/cranston-print-works-co-v-pothier/#:~:text=courts%20should%20uphold%20them%20only,protect%20the%20promisee%E2%80%99s%20legitimate%20interests.>
|
|
144
|
+
|
|
145
|
+
[^walls-continued-employment]: **Griggs & Browne Pest Control Co. v. Walls** — "employment relationship with plaintiff: In consideration for continued employment" *Griggs & Browne Pest Control Co. v. Walls, 313 A.3d 616, 625 (R.I. 2024).* <https://www.courtlistener.com/opinion/9457984/griggs-browne-pest-control-co-inc-v-brian-walls/#:~:text=employment%20relationship%20with%20plaintiff%3A%20In%20consideration%20for%20continued%20employment>
|
|
146
|
+
|
|
147
|
+
[^walls-involuntary-termination]: **Griggs & Browne Pest Control Co. v. Walls** — "Walls’s argument that an involuntary termination would preclude enforcement of" *Griggs & Browne Pest Control Co. v. Walls, 313 A.3d 616, 627 (R.I. 2024).* <https://www.courtlistener.com/opinion/9457984/griggs-browne-pest-control-co-inc-v-brian-walls/#:~:text=Walls%E2%80%99s%20argument%20that%20an%20involuntary,termination%20would%20preclude%20enforcement%20of>
|
|
148
|
+
|
|
149
|
+
[^walls-customer-scope]: **Griggs & Browne Pest Control Co. v. Walls** — "month period, and extends only to plaintiff’s current and previous clients, rather than" *Griggs & Browne Pest Control Co. v. Walls, 313 A.3d 616, 626 (R.I. 2024).* <https://www.courtlistener.com/opinion/9457984/griggs-browne-pest-control-co-inc-v-brian-walls/#:~:text=month%20period%2C%20and%20extends%20only,and%20previous%20clients%2C%20rather%20than>
|
|
150
|
+
|
|
151
|
+
[^walls-pi-posture]: **Griggs & Browne Pest Control Co. v. Walls** — "This Court reviews a trial justice’s decision to grant a preliminary injunction for an abuse of discretion." *Griggs & Browne Pest Control Co. v. Walls, 313 A.3d 616, 623 (R.I. 2024).* <https://www.courtlistener.com/opinion/9457984/griggs-browne-pest-control-co-inc-v-brian-walls/#:~:text=This%20Court%20reviews%20a%20trial,for%20an%20abuse%20of%20discretion.>
|
|
152
|
+
|
|
153
|
+
[^durapin-partial-enforcement]: **Durapin, Inc. v. American Products, Inc.** — "We believe this is the appropriate time to choose the route that permits unreasonable restraints to be modified and enforced, whether or not their terms are divisible, unless the circumstances indicate bad faith or deliberate overreaching on the part of the promisee." *Durapin, Inc. v. Am. Prods., Inc., 559 A.2d 1051, 1058-59 (R.I. 1989).* <https://www.courtlistener.com/opinion/2334248/durapin-inc-v-american-products-inc/#:~:text=We%20believe%20this%20is%20the,the%20part%20of%20the%20promisee.>
|
|
154
|
+
|
|
155
|
+
[^durapin-no-further-than-necessary]: **Durapin, Inc. v. American Products, Inc.** — "Even under this approach a court will go no further in granting relief than is reasonably necessary to protect a promisee’s legitimate interests." *Durapin, Inc. v. Am. Prods., Inc., 559 A.2d 1051, 1059 (R.I. 1989).* <https://www.courtlistener.com/opinion/2334248/durapin-inc-v-american-products-inc/#:~:text=Even%20under%20this%20approach%20a,protect%20a%20promisee%E2%80%99s%20legitimate%20interests.>
|
|
156
|
+
|
|
157
|
+
[^rinaa-severability-remedy]: **R.I. Gen. Laws § 28-59-3** — "This section does not render void or unenforceable the remainder of a contract or agreement containing the unenforceable noncompetition agreement, nor does it preclude the imposition of a noncompetition restriction by a court, whether through preliminary or permanent injunctive relief or otherwise, as a remedy for a breach of another agreement or of a statutory or common law duty." *R.I. Gen. Laws § 28-59-3(b).* <https://webserver.rilegislature.gov/Statutes/TITLE28/28-59/28-59-3.htm>
|
|
158
|
+
|
|
159
|
+
[^physician-restrictive-covenants]: **R.I. Gen. Laws § 5-37-33** — "Any contract or agreement that creates or establishes the terms of a partnership, employment, or any other form of professional relationship with a physician licensed to practice medicine pursuant to this chapter that includes any restriction of the right of such physician to practice medicine shall be void and unenforceable with respect to said restriction; provided, however, that nothing herein shall render void or unenforceable the remaining provisions of any such contract or agreement." *R.I. Gen. Laws § 5-37-33(a).* <https://webserver.rilegislature.gov/Statutes/TITLE5/5-37/5-37-33.htm>
|
|
160
|
+
|
|
161
|
+
[^aprn-restrictive-covenants]: **R.I. Gen. Laws § 5-34-50** — "Any contract or agreement that creates or establishes the terms of a partnership, employment, or any other form of professional relationship with an advanced practice registered nurse (‘APRN’) licensed to practice pursuant to § 5-34-45 that includes any restriction of the right of the APRN to practice shall be void and unenforceable with respect to said restriction; provided, however, that nothing herein shall render void or unenforceable the remaining provisions of any such contract or agreement." *R.I. Gen. Laws § 5-34-50(a).* <https://webserver.rilegislature.gov/Statutes/TITLE5/5-34/5-34-50.htm>
|
|
162
|
+
|
|
163
|
+
[^riutsa-trade-secret-definition]: **R.I. Gen. Laws § 6-41-1** — "‘Trade secret’ means information, including a formula, pattern, compilation, program, device, method, technique, or process, that:" *R.I. Gen. Laws § 6-41-1(4).* <https://webserver.rilegislature.gov/Statutes/TITLE6/6-41/6-41-1.htm>
|
|
164
|
+
|
|
165
|
+
[^riutsa-injunctive-relief]: **R.I. Gen. Laws § 6-41-2** — "Actual or threatened misappropriation may be enjoined." *R.I. Gen. Laws § 6-41-2(a).* <https://webserver.rilegislature.gov/Statutes/TITLE6/6-41/6-41-2.htm>
|
|
166
|
+
|
|
167
|
+
[^rinaa-trade-secret-preserved]: **R.I. Gen. Laws § 28-59-3** — "Nothing in this section shall preclude an employer from entering into an agreement with an employee not to share any information, including after the employee is no longer employed by the employer, regarding the employer or the employment that is a trade secret." *R.I. Gen. Laws § 28-59-3(c).* <https://webserver.rilegislature.gov/Statutes/TITLE28/28-59/28-59-3.htm>
|
|
168
|
+
|
|
169
|
+
[^rinaa-current-baseline]: **R.I. Gen. Laws §§ 28-59-1 to 28-59-3** — "This chapter shall be known and may be cited as the ‘Rhode Island Noncompetition Agreement Act.’" *R.I. Gen. Laws § 28-59-1.* <https://webserver.rilegislature.gov/Statutes/TITLE28/28-59/28-59-1.htm>
|
|
170
|
+
|
|
171
|
+
[^aprn-current-baseline]: **R.I. Gen. Laws § 5-34-50** — "P.L. 2024, ch. 118, § 1, effective June 17, 2024; P.L. 2024, ch. 128, § 1, effective June 17, 2024." *R.I. Gen. Laws § 5-34-50, history.* <https://webserver.rilegislature.gov/Statutes/TITLE5/5-34/5-34-50.htm>
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
jurisdiction: "Singapore"
|
|
3
|
+
slug: sg
|
|
4
|
+
countryCode: SG
|
|
5
|
+
snapshotAsOf: "2026-06-19"
|
|
6
|
+
lastReviewed: "2026-06-03"
|
|
7
|
+
canonicalUrl: https://openagreements.org/practice-guides/non-compete/sg
|
|
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/sg · **Snapshot as of:** 2026-06-19 · License: CC BY 4.0 · © openagreements.org
|
|
19
|
+
|
|
20
|
+
# Non-Competes in Singapore[^about]
|
|
21
|
+
|
|
22
|
+
Singapore has no non-compete statute; a post-employment restraint is presumptively void as a restraint of trade and binds a former employee only if the employer proves a legitimate proprietary interest and that the clause is reasonable between the parties and in the public interest, and a court may strike out but never rewrite an overbroad clause.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## At a glance
|
|
26
|
+
|
|
27
|
+
| Question | Singapore |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| **Are non-competes enforceable?** | Allowed if reasonable |
|
|
30
|
+
| **Bottom line** | Singapore has no non-compete statute; a post-employment restraint is presumptively void and binds a former employee only if the employer proves a legitimate proprietary interest and shows the clause is reasonable between the parties and in the public interest. |
|
|
31
|
+
| **Main law or case** | Man Financial (S) Pte Ltd v Wong Bark Chuan David [2007] SGCA 53 |
|
|
32
|
+
| **Main exceptions** | No statutory industry carve-outs; sale-of-business covenants are judged more leniently (CLAAS Medical Centre [2010] SGCA 3). The confidentiality over-and-above trap (Stratech [2005] SGCA 17) often defeats employment non-competes. |
|
|
33
|
+
| **Can a court narrow it?** | Only strikes wording |
|
|
34
|
+
| **Applies to contractors?** | Unclear |
|
|
35
|
+
| **Restriction extended during a breach?** | Not addressed |
|
|
36
|
+
| **Maximum length set by law** | No statutory limit |
|
|
37
|
+
|
|
38
|
+
## Are employee non-competes enforceable in Singapore? {#employee-noncompetes}
|
|
39
|
+
|
|
40
|
+
**Short answer.** Only if the employer can justify them. Singapore has no statute that governs non-competes. A post-employment restraint is treated as a restraint of trade, which the courts presume is *void* and contrary to public policy [^mf-prima-facie-void]. To displace that presumption the employer must show the restraint protects a legitimate proprietary interest — not a mere wish to avoid competition [^mf-interest-required] — and that the clause is reasonable both between the parties and in the interests of the public [^mf-parties-public].
|
|
41
|
+
|
|
42
|
+
Singapore is not a per se ban jurisdiction like California or North Dakota, where the covenant is void no matter how narrow. Nor is it a statutory-reasonableness jurisdiction with fixed numeric limits. It is a pure common-law restraint-of-trade jurisdiction: the starting point is that every post-employment covenant — non-compete, customer non-solicitation, employee non-solicitation, or non-dealing — is presumptively unenforceable, and the employer must earn enforcement clause by clause.
|
|
43
|
+
|
|
44
|
+
"All interference with individual liberty of action in trading, and all restraints of trade of themselves, if there is nothing more, are contrary to public policy, and therefore void."[^mf-prima-facie-void]
|
|
45
|
+
|
|
46
|
+
The Court of Appeal's decision in *Man Financial (S) Pte Ltd v Wong Bark Chuan David* is the controlling modern authority and supplies the analytical framework used throughout this note. It requires an employer to clear three cumulative hurdles, examined in the sections that follow: a legitimate proprietary interest, reasonableness between the parties, and reasonableness in the public interest.
|
|
47
|
+
|
|
48
|
+
## What must an employer prove to enforce a non-compete? {#legitimate-interest}
|
|
49
|
+
|
|
50
|
+
**Short answer.** A legitimate proprietary interest worth protecting. A desire to avoid competition is never enough — a court will not enforce a covenant taken merely to shield the employer from a former employee's competition [^stratech-no-competition]. The employer must point to a recognised interest such as trade secrets and confidential information, the employer's trade connection with its customers, or the maintenance of a stable, trained workforce — the last usually protected through an employee non-solicitation clause rather than a blanket bar on the employee joining a competitor [^mf-trade-connection].
|
|
51
|
+
|
|
52
|
+
The distinction is between protecting an asset and suppressing a rival. An employer has no protectable interest in stopping a departing employee from working for a competitor simply because the new employer competes [^mf-no-competition]. What the law protects instead is the employer's investment: secret information the employee was trusted with, the customer relationships the employee was placed to influence, and the integrity of the workforce the employee might poach. The employee's own general skill, experience, and know-how are not the employer's property and cannot be locked up.
|
|
53
|
+
|
|
54
|
+
"But an employer has no legitimate interest in preventing an employee, after leaving his service, from entering the service of a competitor merely on the ground that the new employer is a competitor."[^mf-no-competition]
|
|
55
|
+
|
|
56
|
+
How real this requirement is was shown in 2025. In *FirstCom Academy Pte Ltd v Oom Academy Pte Ltd*, the High Court dismissed an employer's suit on its restraint and non-solicitation clauses because the employer never established any legitimate proprietary interest in the first place — so the court did not even reach the question of whether the clause's scope was reasonable [^firstcom-no-lpi].
|
|
57
|
+
|
|
58
|
+
"The Restraint of Trade Clauses in Mr Chew's and Ms Leong's LOAs are unenforceable on account of FCA failing to prove that it has a legitimate proprietary interest which ought to be protected by way of a restraint of trade clause."[^firstcom-no-lpi]
|
|
59
|
+
|
|
60
|
+
> [!CAUTION]
|
|
61
|
+
> **Drafting note.**
|
|
62
|
+
>
|
|
63
|
+
> 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 possible position. Identify the actual interest — the confidential information, the customer connection, or the workforce — and draft the restraint around it, because an employer who cannot prove a legitimate proprietary interest loses before reasonableness is even considered [^firstcom-no-lpi].
|
|
64
|
+
|
|
65
|
+
## Can a non-compete protect information an NDA already covers? {#confidentiality-overlap}
|
|
66
|
+
|
|
67
|
+
**Short answer.** Usually not, without more. If the confidential information is already protected by a separate confidentiality clause, the employer must show the non-compete protects a legitimate interest *over and above* that information — otherwise the court treats the non-compete as a bare attempt to stifle competition and strikes it down [^shopee-over-and-above].
|
|
68
|
+
|
|
69
|
+
This is the single most important trap in Singapore non-compete drafting. The reasoning, which traces back to *Stratech Systems Ltd v Nyam Chiu Shin* and was reaffirmed in *Man Financial*, is that if a confidentiality clause already does the protective work, a non-compete adds nothing legitimate unless the employer can identify a distinct interest *over and above* that confidentiality protection — otherwise its real purpose must be to prevent competition, which is not a protectable interest.
|
|
70
|
+
|
|
71
|
+
"Where the protection of confidential information or trade secrets is already covered by another contractual clause, the covenantee will have to demonstrate that the restraint of trade clause in question covers a legitimate proprietary interest over and above the protection of confidential information or trade secrets."[^shopee-over-and-above]
|
|
72
|
+
|
|
73
|
+
Two High Court decisions in 2024 applied this directly against employers. In *Shopee Singapore Pte Ltd v Lim Teck Yong*, the court found serious doubt that the employer could rely on the protection of confidential information to validate a non-compete when an employment confidentiality agreement already covered that very interest [^shopee-serious-doubts]. In *MoneySmart Singapore Pte Ltd v Artem Musienko*, the court made the same observation — any confidentiality concern was already addressed and protected by the contract's separate confidentiality clause [^ms-confidentiality]. The lesson reinforces a related point from *Stratech*: an employer must *particularise* the confidential information it claims to protect, not gesture at it in the abstract [^stratech-particularise].
|
|
74
|
+
|
|
75
|
+
## How long and how wide can a Singapore non-compete be? {#reasonableness}
|
|
76
|
+
|
|
77
|
+
**Short answer.** There is no fixed limit. Reasonableness is decided case by case on the activity restrained, the geographic area, the duration, and the employee's seniority and actual influence. A restraint of *indefinite* duration is void [^smile-indefinite], but a bounded restraint tied to a real interest can be upheld even across multiple countries [^tky-reasonable].
|
|
78
|
+
|
|
79
|
+
Because the limits are judge-made rather than set by a code section, there is no statutory ceiling on duration or geography to anchor a covenant. The analysis is fact-specific in both directions. In *Tan Kok Yong Steve v Itochu Singapore Pte Ltd*, the High Court enforced a roughly two-year non-compete covering markets including Vietnam, Bangladesh, and the Philippines against a specialist trader who had genuine knowledge of and influence over the employer's customers in those markets, finding the activity, geographic, and temporal scope all reasonable [^tky-reasonable].
|
|
80
|
+
|
|
81
|
+
"In summary, I find that the activity scope, geographical scope and temporal scope of the Non-Competition Undertaking to be reasonable as between the parties and is not against the public interest."[^tky-reasonable]
|
|
82
|
+
|
|
83
|
+
At the other extreme, breadth is fatal. A restraint with no end date is void absent the most exceptional circumstances [^smile-indefinite], and a restraint whose scope has only a tenuous connection to what the employee actually did will fail as overbroad. In *MoneySmart Singapore Pte Ltd v Artem Musienko*, the court refused to enforce a non-compete that barred the employee from any rival business regardless of role similarity, and criticised the clause's cascading, step-down structure as giving the employer multiple bites of the cherry on duration [^ms-cascading].
|
|
84
|
+
|
|
85
|
+
"It appears that the claimant will have multiple bites of the cherry in relation to determining the duration of the Non-Compete Clause."[^ms-cascading]
|
|
86
|
+
|
|
87
|
+
## Can a Singapore court narrow an overbroad non-compete? {#court-narrowing}
|
|
88
|
+
|
|
89
|
+
**Short answer.** Only by deletion, never by rewriting. A Singapore court may apply the *blue pencil* — striking out offending words if what remains still makes grammatical sense and the bargain is unchanged — but it will not redraft a clause or read it down to a reasonable scope. The court will not rewrite the contract for the parties [^mf-blue-pencil].
|
|
90
|
+
|
|
91
|
+
This is a sharp difference from jurisdictions that allow judicial reformation or notional severance. Singapore has not adopted the practice of reading an overly wide restraint down to whatever the court thinks reasonable; the most an employer can hope for is that genuinely severable, offending words can be excised while a coherent, narrower clause survives on its own terms.
|
|
92
|
+
|
|
93
|
+
"In other words, the court will not rewrite the contract for the parties."[^mf-blue-pencil]
|
|
94
|
+
|
|
95
|
+
The practical consequence is that an employer cannot draft an aggressive clause and rely on a court to trim it to size. If the only way to save the covenant is to add words, substitute words, or reinterpret it more narrowly, the court will strike it down entirely. A cascading clause that offers the court a menu of progressively shorter durations does not solve this; as *MoneySmart* shows, that structure is itself treated as a red flag rather than a safe harbour [^ms-cascading-narrow].
|
|
96
|
+
|
|
97
|
+
> [!CAUTION]
|
|
98
|
+
> **Drafting note.**
|
|
99
|
+
>
|
|
100
|
+
> Do not rely on a Singapore court to narrow an overbroad non-compete. Draft each restriction at a scope you can defend as reasonable on its own, because the court can delete severable words but will not rewrite the clause or read it down, and an unreasonably wide covenant simply fails [^mf-blue-pencil].
|
|
101
|
+
|
|
102
|
+
## Are non-competes from a business sale treated differently? {#sale-of-business}
|
|
103
|
+
|
|
104
|
+
**Short answer.** Yes — more leniently. When a covenant is given by the seller of a business to protect the goodwill the buyer paid for, Singapore courts take a more liberal approach than in the employment context, because the parties bargain on more equal terms [^claas-liberal]. A multi-year restraint can be reasonable in that setting [^claas-three-year].
|
|
105
|
+
|
|
106
|
+
The leniency is comparative, not unlimited. Even a sale-of-business restraint must go no further than necessary to protect the interest involved [^claas-no-further]. But the rationale that makes employment covenants suspect — unequal bargaining power and the risk of locking up a person's livelihood — is far weaker when a vendor sells a business for value and promises not to immediately compete away the goodwill just sold.
|
|
107
|
+
|
|
108
|
+
"These being the general principles applicable in this area of the law, we would, however, hasten to add that the courts take a more liberal approach when considering restrictive covenants in the context of a sale of business as compared to the situation where such a clause is contained in a contract of employment."[^claas-liberal]
|
|
109
|
+
|
|
110
|
+
In *CLAAS Medical Centre Pte Ltd v Ng Boon Ching*, the Court of Appeal upheld a three-year restraint given by the seller of an aesthetics-medicine practice [^claas-three-year]. The same decision confirms that a liquidated-damages clause attached to such a covenant is enforceable if it is a genuine pre-estimate of loss rather than a penalty [^claas-liquidated].
|
|
111
|
+
|
|
112
|
+
## What if the employer wrongfully dismissed the employee? {#employer-breach}
|
|
113
|
+
|
|
114
|
+
**Short answer.** The restraint may fall away. Under the principle in *General Billposting*, an employer who repudiates the contract — for example by dismissing the employee without the required notice — cannot then enforce the post-employment restraint, and the wrongfully dismissed employee is no longer bound by it [^hengxin-repudiation].
|
|
115
|
+
|
|
116
|
+
The High Court applied this in *Hengxin Technology Ltd v Jiang Wei*, where an employer that had wrongfully terminated the employee without the required notice — a repudiatory breach — was held not entitled to enforce the restrictive covenant against him. The doctrine ties enforcement of the covenant to the employer's own performance: a party that has torn up the contract cannot selectively hold the other side to one of its clauses.
|
|
117
|
+
|
|
118
|
+
"the House of Lords had held that a manager who was wrongfully dismissed without notice was entitled to treat the dismissal as a repudiation of the contract, sue for damages for breach and he was no longer bound by the covenant on restriction of trade."[^hengxin-repudiation]
|
|
119
|
+
|
|
120
|
+
> [!NOTE]
|
|
121
|
+
> **Practice note.**
|
|
122
|
+
>
|
|
123
|
+
> An employer that terminates abruptly — without giving contractual notice or paying in lieu — risks losing the very non-compete it is relying on. Before suing to enforce a restraint, confirm the termination was itself lawful, because a repudiatory breach by the employer can release the employee from the covenant [^hengxin-repudiation].
|
|
124
|
+
|
|
125
|
+
## Is garden leave treated the same as a non-compete? {#garden-leave}
|
|
126
|
+
|
|
127
|
+
**Short answer.** No. Garden leave is a restriction *during* employment, backed by the employee's continuing duty of fidelity, and a court assesses it more flexibly than a post-termination restraint. A non-compete that bites *after* employment ends is not assessed with the same flexibility as a garden-leave provision [^mano-garden-leave].
|
|
128
|
+
|
|
129
|
+
In *Mano Vikrant Singh v Cargill TSF Asia Pte Ltd*, the Court of Appeal kept the two doctrines distinct. During the notice period the employee remains employed, still paid, and still bound by fidelity duties, so a negative covenant operating then rests on a different footing. Once employment ends, the restraint-of-trade doctrine applies in full force and the employer must satisfy the legitimate-interest and reasonableness requirements covered above.
|
|
130
|
+
|
|
131
|
+
"Post termination employment restraints are thus not assessed with the same level of flexibility as garden leave provisions."[^mano-garden-leave]
|
|
132
|
+
|
|
133
|
+
## Does a Singapore non-compete pause or extend if the employee breaches? {#tolling}
|
|
134
|
+
|
|
135
|
+
**Short answer.** Singapore law has not addressed it. No Singapore decision holds that the restraint period tolls — pauses and then resumes — while a former employee is in breach or while litigation runs, so an automatic extension-on-breach clause is untested. What Singapore does offer instead is the *springboard* injunction, a separate equitable remedy that neutralises an unfair head-start rather than extending the covenant [^springboard-goh].
|
|
136
|
+
|
|
137
|
+
This is an open question, and the practical answer is that an employer should not assume the clock stops while the employee competes. The covenant runs from the agreed start point. If the concern is that a departing employee has already used confidential information to gain an unfair advantage, the targeted remedy is not a longer non-compete but a *springboard* injunction.
|
|
138
|
+
|
|
139
|
+
The *springboard* injunction, set out in *Goh Seng Heng v RSP Investments Pte Ltd*, restrains a competitor only for as long as needed to erase an advantage it unfairly obtained through misuse of confidential information [^springboard-goh]. It is temporal and remedial, aimed at the head-start, and it is not a device for tolling or lengthening the contractual restraint period.
|
|
140
|
+
|
|
141
|
+
"The facts showed that the AM group had more than made out a prima facie case that confidential information had been misused by Dr Goh and Michelle to give an unfair advantage to Quikglow."[^springboard-goh]
|
|
142
|
+
|
|
143
|
+
> [!CAUTION]
|
|
144
|
+
> **Drafting note.**
|
|
145
|
+
>
|
|
146
|
+
> Do not rely on a clause that purports to extend the non-compete by the length of any breach. No Singapore authority validates tolling of the restraint period, so treat the stated duration as the maximum, and pursue a springboard injunction if the real problem is an unfair head-start from misused confidential information [^springboard-goh].
|
|
147
|
+
|
|
148
|
+
## How is a Singapore non-compete enforced? {#enforcement-remedies}
|
|
149
|
+
|
|
150
|
+
**Short answer.** Mainly by injunction — but only to enforce a covenant that is itself valid. The applicant must first show a serious question that the restraint is valid and enforceable, and that it has been or will be breached [^shopee-validity]; a signed non-compete does not get automatic interim enforcement merely because breach is alleged. Once validity is in view, a prohibitory injunction to restrain breach of a negative covenant is granted comparatively readily [^rga-injunction]. Money damages are also available in principle, but in practice they are hard to win because the employer must prove the loss its breach caused [^tky-damages].
|
|
151
|
+
|
|
152
|
+
The primary remedy is an interim or final prohibitory injunction stopping the former employee from competing in breach of a valid covenant. For a negative covenant, an injunction is granted comparatively readily [^rga-injunction]. Where the real harm is an unfair head-start from misused confidential information, the employer can seek the *springboard* injunction discussed above, which lasts only as long as the unfair advantage persists [^q10-springboard].
|
|
153
|
+
|
|
154
|
+
"When a defendant is about to breach, or has already breached, a negative covenant in a contract, an interim prohibitory injunction will readily be granted to restrain a prospective breach or a further breach, as the case may be."[^rga-injunction]
|
|
155
|
+
|
|
156
|
+
Damages are the weaker tool. Even where an injunction issues, a claim for damages can fail for want of proof: in *Tan Kok Yong*, the employer recovered no damages because it could not show the link between the employee's breach and any loss it suffered [^tky-damages].
|
|
157
|
+
|
|
158
|
+
## Are new MOM guidelines on non-competes coming? {#upcoming-guidance}
|
|
159
|
+
|
|
160
|
+
**Short answer.** They are being discussed, but none is in force yet. In its March 2026 Committee of Supply statement, the Ministry of Manpower confirmed it was still discussing with its tripartite partners how and when restraint-of-trade clauses should be used, and that any guidelines will be based on principles the courts have already articulated [^mom-cos]. The Ministry first signalled this in January 2025 [^mom-pq], and as of June 2026 no guideline has been published. Until one is issued, the common-law framework set out above governs.
|
|
161
|
+
|
|
162
|
+
The Ministry of Manpower, the National Trades Union Congress, and the Singapore National Employers Federation have signalled that tripartite guidelines are coming — likely addressing the use of restraints for lower-wage workers and in retrenchment scenarios — but the guidance has not been published and would, in any event, restate principles the courts already apply rather than override them.
|
|
163
|
+
|
|
164
|
+
"The Ministry of Manpower is discussing with its tripartite partners – the National Trades Union Congress and the Singapore National Employers Federation – on how and when restrictive clauses in employment contracts can and should be used, based on established principles that the Courts have articulated."[^mom-pq]
|
|
165
|
+
|
|
166
|
+
> [!NOTE]
|
|
167
|
+
> **Practice note.**
|
|
168
|
+
>
|
|
169
|
+
> Do not draft to an anticipated tripartite guideline that does not yet exist. No MOM restraint-of-trade guideline is in force as of June 2026, so the enforceability of a Singapore non-compete still turns entirely on the common-law restraint-of-trade test, and any future guideline is expected to build on those same court-articulated principles [^mom-pq].
|
|
170
|
+
|
|
171
|
+
[^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 not admitted to practise law in Singapore. This article summarizes publicly available Singapore 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.
|
|
172
|
+
|
|
173
|
+
[^mf-prima-facie-void]: **Man Financial (S) Pte Ltd v Wong Bark Chuan David** — "All interference with individual liberty of action in trading, and all restraints of trade of themselves, if there is nothing more, are contrary to public policy, and therefore void." *Man Financial (S) Pte Ltd v Wong Bark Chuan David [2007] SGCA 53; [2008] 1 SLR(R) 663.* <https://www.elitigation.sg/gdviewer/s/2007_SGCA_53>
|
|
174
|
+
|
|
175
|
+
[^mf-interest-required]: **Man Financial (S) Pte Ltd v Wong Bark Chuan David** — "There must always – and this is a fundamental legal proposition in this particular area of the law – be a legitimate proprietary interest which the court will then seek to protect by way of the doctrine of restraint of trade" *Man Financial (S) Pte Ltd v Wong Bark Chuan David [2007] SGCA 53; [2008] 1 SLR(R) 663.* <https://www.elitigation.sg/gdviewer/s/2007_SGCA_53>
|
|
176
|
+
|
|
177
|
+
[^mf-parties-public]: **Man Financial (S) Pte Ltd v Wong Bark Chuan David** — "To recapitulate, Clause C.1 must be reasonable not only as between the parties, but also in the interests of the public as well before it will be upheld by the court." *Man Financial (S) Pte Ltd v Wong Bark Chuan David [2007] SGCA 53; [2008] 1 SLR(R) 663.* <https://www.elitigation.sg/gdviewer/s/2007_SGCA_53>
|
|
178
|
+
|
|
179
|
+
[^stratech-no-competition]: **Stratech Systems Ltd v Nyam Chiu Shin** — "The court will never uphold a covenant taken by an employer merely to protect himself from competition by a former employee." *Stratech Systems Ltd v Nyam Chiu Shin (alias Yan Qiuxin) [2005] SGCA 17; [2005] 2 SLR(R) 579.* <https://www.elitigation.sg/gd/s/2005_SGCA_17>
|
|
180
|
+
|
|
181
|
+
[^mf-trade-connection]: **Man Financial (S) Pte Ltd v Wong Bark Chuan David** — "The second proprietary interest that is traditionally recognised as well as protected by the courts in the employment context is that of trade connection." *Man Financial (S) Pte Ltd v Wong Bark Chuan David [2007] SGCA 53; [2008] 1 SLR(R) 663.* <https://www.elitigation.sg/gdviewer/s/2007_SGCA_53>
|
|
182
|
+
|
|
183
|
+
[^mf-no-competition]: **Man Financial (S) Pte Ltd v Wong Bark Chuan David** — "But an employer has no legitimate interest in preventing an employee, after leaving his service, from entering the service of a competitor merely on the ground that the new employer is a competitor." *Man Financial (S) Pte Ltd v Wong Bark Chuan David [2007] SGCA 53; [2008] 1 SLR(R) 663.* <https://www.elitigation.sg/gdviewer/s/2007_SGCA_53>
|
|
184
|
+
|
|
185
|
+
[^firstcom-no-lpi]: **FirstCom Academy Pte Ltd v Oom Academy Pte Ltd** — "The Restraint of Trade Clauses in Mr Chew's and Ms Leong's LOAs are unenforceable on account of FCA failing to prove that it has a legitimate proprietary interest which ought to be protected by way of a restraint of trade clause." *FirstCom Academy Pte Ltd v Oom Academy Pte Ltd [2025] SGHC 266.* <https://www.elitigation.sg/gd/s/2025_SGHC_266>
|
|
186
|
+
|
|
187
|
+
[^shopee-over-and-above]: **Shopee Singapore Pte Ltd v Lim Teck Yong** — "Where the protection of confidential information or trade secrets is already covered by another contractual clause, the covenantee will have to demonstrate that the restraint of trade clause in question covers a legitimate proprietary interest over and above the protection of confidential information or trade secrets." *Shopee Singapore Pte Ltd v Lim Teck Yong [2024] SGHC 29.* <https://www.elitigation.sg/gd/s/2024_SGHC_29>
|
|
188
|
+
|
|
189
|
+
[^shopee-serious-doubts]: **Shopee Singapore Pte Ltd v Lim Teck Yong** — "As set out above, given that such an interest in the protection of confidential information is already protected elsewhere by the ECA, there are serious doubts that Shopee would be able to rely on such an interest in asserting the validity of the Non-Competition Restriction." *Shopee Singapore Pte Ltd v Lim Teck Yong [2024] SGHC 29.* <https://www.elitigation.sg/gd/s/2024_SGHC_29>
|
|
190
|
+
|
|
191
|
+
[^ms-confidentiality]: **MoneySmart Singapore Pte Ltd v Artem Musienko** — "Further, any issue of confidentiality is already addressed and protected by the Confidentiality Clause." *MoneySmart Singapore Pte Ltd v Artem Musienko [2024] SGHC 94.* <https://www.elitigation.sg/gd/s/2024_SGHC_94>
|
|
192
|
+
|
|
193
|
+
[^stratech-particularise]: **Stratech Systems Ltd v Nyam Chiu Shin** — "It follows from the foregoing that an employer must particularize the confidential information which he seeks to protect." *Stratech Systems Ltd v Nyam Chiu Shin (alias Yan Qiuxin) [2005] SGCA 17; [2005] 2 SLR(R) 579.* <https://www.elitigation.sg/gd/s/2005_SGCA_17>
|
|
194
|
+
|
|
195
|
+
[^smile-indefinite]: **Smile Inc Dental Surgeons Pte Ltd v Lui Andrew Stewart** — "A restraint of trade that operates for an indefinite period of time is (absent the most exceptional circumstances, which are not present in this case) necessarily void and unenforceable." *Smile Inc Dental Surgeons Pte Ltd v Lui Andrew Stewart [2012] SGCA 39; [2012] 4 SLR 308.* <https://www.elitigation.sg/gd/s/2012_SGCA_39>
|
|
196
|
+
|
|
197
|
+
[^tky-reasonable]: **Tan Kok Yong Steve v Itochu Singapore Pte Ltd** — "In summary, I find that the activity scope, geographical scope and temporal scope of the Non-Competition Undertaking to be reasonable as between the parties and is not against the public interest." *Tan Kok Yong Steve v Itochu Singapore Pte Ltd [2018] SGHC 85.* <https://www.elitigation.sg/gd/s/2018_SGHC_85>
|
|
198
|
+
|
|
199
|
+
[^ms-cascading]: **MoneySmart Singapore Pte Ltd v Artem Musienko** — "It appears that the claimant will have multiple bites of the cherry in relation to determining the duration of the Non-Compete Clause." *MoneySmart Singapore Pte Ltd v Artem Musienko [2024] SGHC 94.* <https://www.elitigation.sg/gd/s/2024_SGHC_94>
|
|
200
|
+
|
|
201
|
+
[^mf-blue-pencil]: **Man Financial (S) Pte Ltd v Wong Bark Chuan David** — "In other words, the court will not rewrite the contract for the parties." *Man Financial (S) Pte Ltd v Wong Bark Chuan David [2007] SGCA 53; [2008] 1 SLR(R) 663.* <https://www.elitigation.sg/gdviewer/s/2007_SGCA_53>
|
|
202
|
+
|
|
203
|
+
[^ms-cascading-narrow]: **MoneySmart Singapore Pte Ltd v Artem Musienko** — "It appears that the claimant will have multiple bites of the cherry in relation to determining the duration of the Non-Compete Clause." *MoneySmart Singapore Pte Ltd v Artem Musienko [2024] SGHC 94.* <https://www.elitigation.sg/gd/s/2024_SGHC_94>
|
|
204
|
+
|
|
205
|
+
[^claas-liberal]: **CLAAS Medical Centre Pte Ltd v Ng Boon Ching** — "These being the general principles applicable in this area of the law, we would, however, hasten to add that the courts take a more liberal approach when considering restrictive covenants in the context of a sale of business as compared to the situation where such a clause is contained in a contract of employment." *CLAAS Medical Centre Pte Ltd v Ng Boon Ching [2010] SGCA 3; [2010] 2 SLR 386.* <https://www.elitigation.sg/gd/s/2010_SGCA_3>
|
|
206
|
+
|
|
207
|
+
[^claas-three-year]: **CLAAS Medical Centre Pte Ltd v Ng Boon Ching** — "These aforesaid considerations must be borne in mind when considering the reasonableness of the three-year period of restraint, which we find, with respect to the Judge, was not unreasonable." *CLAAS Medical Centre Pte Ltd v Ng Boon Ching [2010] SGCA 3; [2010] 2 SLR 386.* <https://www.elitigation.sg/gd/s/2010_SGCA_3>
|
|
208
|
+
|
|
209
|
+
[^claas-no-further]: **CLAAS Medical Centre Pte Ltd v Ng Boon Ching** — "Moreover, even where a legitimate proprietary interest is shown, the court will ensure that the covenant in restraint of trade goes no further than what is necessary to protect the interest concerned." *CLAAS Medical Centre Pte Ltd v Ng Boon Ching [2010] SGCA 3; [2010] 2 SLR 386.* <https://www.elitigation.sg/gd/s/2010_SGCA_3>
|
|
210
|
+
|
|
211
|
+
[^claas-liquidated]: **CLAAS Medical Centre Pte Ltd v Ng Boon Ching** — "Where parties stipulate in a contract the sum to be paid in the event of a breach, the contract sum is enforceable if it is a genuine pre-estimate of loss but not if it constitutes a penalty." *CLAAS Medical Centre Pte Ltd v Ng Boon Ching [2010] SGCA 3; [2010] 2 SLR 386.* <https://www.elitigation.sg/gd/s/2010_SGCA_3>
|
|
212
|
+
|
|
213
|
+
[^hengxin-repudiation]: **Hengxin Technology Ltd v Jiang Wei** — "the House of Lords had held that a manager who was wrongfully dismissed without notice was entitled to treat the dismissal as a repudiation of the contract, sue for damages for breach and he was no longer bound by the covenant on restriction of trade." *Hengxin Technology Ltd v Jiang Wei [2009] SGHC 259.* <https://www.elitigation.sg/gd/s/2009_SGHC_259>
|
|
214
|
+
|
|
215
|
+
[^mano-garden-leave]: **Mano Vikrant Singh v Cargill TSF Asia Pte Ltd** — "Post termination employment restraints are thus not assessed with the same level of flexibility as garden leave provisions." *Mano Vikrant Singh v Cargill TSF Asia Pte Ltd [2012] SGCA 42.* <https://www.elitigation.sg/gd/s/2012_SGCA_42>
|
|
216
|
+
|
|
217
|
+
[^springboard-goh]: **Goh Seng Heng v RSP Investments Pte Ltd** — "The facts showed that the AM group had more than made out a prima facie case that confidential information had been misused by Dr Goh and Michelle to give an unfair advantage to Quikglow." *Goh Seng Heng v RSP Investments Pte Ltd [2016] SGHC 275; [2017] 3 SLR 657.* <https://www.elitigation.sg/gd/s/2016_SGHC_275>
|
|
218
|
+
|
|
219
|
+
[^shopee-validity]: **Shopee Singapore Pte Ltd v Lim Teck Yong** — "In the context of a restraint of trade clause, the applicant must first show that the restraint of trade clause is valid and enforceable, in that it protects a legitimate interest of the applicant and in addition is reasonable in the interests of the parties and the public." *Shopee Singapore Pte Ltd v Lim Teck Yong [2024] SGHC 29.* <https://www.elitigation.sg/gd/s/2024_SGHC_29>
|
|
220
|
+
|
|
221
|
+
[^rga-injunction]: **RGA Holdings International Inc v Loh Choon Phing Robin** — "When a defendant is about to breach, or has already breached, a negative covenant in a contract, an interim prohibitory injunction will readily be granted to restrain a prospective breach or a further breach, as the case may be." *RGA Holdings International Inc v Loh Choon Phing Robin [2017] SGCA 55.* <https://www.elitigation.sg/gd/s/2017_SGCA_55>
|
|
222
|
+
|
|
223
|
+
[^tky-damages]: **Tan Kok Yong Steve v Itochu Singapore Pte Ltd** — "The Defendant has failed to produce any evidence to show the nexus between the Plaintiff's breach of the Non-Competition Undertaking and the loss, if any, suffered by the Defendant." *Tan Kok Yong Steve v Itochu Singapore Pte Ltd [2018] SGHC 85.* <https://www.elitigation.sg/gd/s/2018_SGHC_85>
|
|
224
|
+
|
|
225
|
+
[^q10-springboard]: **Goh Seng Heng v RSP Investments Pte Ltd** — "There was also no doubt that Quikglow still enjoyed the unfair advantage which it had obtained as a result of these wrongs." *Goh Seng Heng v RSP Investments Pte Ltd [2016] SGHC 275; [2017] 3 SLR 657.* <https://www.elitigation.sg/gd/s/2016_SGHC_275>
|
|
226
|
+
|
|
227
|
+
[^mom-cos]: **MOM SMS Speech at Committee of Supply 2026** — "We are discussing with tripartite partners on how and when restrictive clauses in employment contracts can and should be used, and the guidelines will be based on established principles that the Courts have articulated." *MOM, Speech by SMS for Manpower at the Committee of Supply 2026 (3 Mar 2026).* <https://www.mom.gov.sg/newsroom/speeches/2026/0303-sms-speech-for-cos-2026>
|
|
228
|
+
|
|
229
|
+
[^mom-pq]: **MOM Written Answer to PQ on Tripartite Guidelines on Restraint of Trade Clauses** — "The Ministry of Manpower is discussing with its tripartite partners – the National Trades Union Congress and the Singapore National Employers Federation – on how and when restrictive clauses in employment contracts can and should be used, based on established principles that the Courts have articulated." *MOM, Written Answer to PQ on Tripartite Guidelines on Restraint of Trade Clauses in Employment Contracts (7 Jan 2025).* <https://www.mom.gov.sg/newsroom/parliament-questions-and-replies/2025/0107-written-answer-to-pq-on-tripartite-guidelines-on-restraint-of-trade-clauses>
|