open-agreements 0.7.3 → 0.7.5
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/README.md +96 -294
- package/dist/commands/list.js +1 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/core/checklist/docx-import.d.ts.map +1 -1
- package/dist/core/metadata.d.ts +1 -0
- package/dist/core/metadata.d.ts.map +1 -1
- package/dist/core/metadata.js +1 -0
- package/dist/core/metadata.js.map +1 -1
- package/dist/core/recipe/patcher.js +0 -24
- package/dist/core/recipe/patcher.js.map +1 -1
- package/dist/core/recipe/verifier.js.map +1 -1
- package/dist/core/selector.js +0 -1
- package/dist/core/selector.js.map +1 -1
- package/dist/core/template-search.d.ts +36 -0
- package/dist/core/template-search.d.ts.map +1 -0
- package/dist/core/template-search.js +84 -0
- package/dist/core/template-search.js.map +1 -0
- package/gemini-extension.json +1 -1
- package/node_modules/@usejunior/docx-core/dist/.tsbuildinfo +1 -1
- package/node_modules/@usejunior/docx-core/dist/atomizer.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/atomizer.js +12 -4
- package/node_modules/@usejunior/docx-core/dist/atomizer.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/atomLcs.d.ts +0 -14
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/atomLcs.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/atomLcs.js +31 -2
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/atomLcs.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.d.ts +11 -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 +180 -6
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/documentReconstructor.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/hierarchicalLcs.d.ts +14 -4
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/hierarchicalLcs.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/hierarchicalLcs.js +344 -60
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/hierarchicalLcs.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/inPlaceModifier.d.ts +35 -1
- 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 +186 -12
- 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.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js +31 -13
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/pipeline.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/xmlToWmlElement.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/xmlToWmlElement.js +3 -2
- package/node_modules/@usejunior/docx-core/dist/baselines/atomizer/xmlToWmlElement.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/format-detection.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/format-detection.js +2 -1
- package/node_modules/@usejunior/docx-core/dist/format-detection.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/move-detection.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/move-detection.js +3 -4
- package/node_modules/@usejunior/docx-core/dist/move-detection.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts +2 -2
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.js +7 -2
- package/node_modules/@usejunior/docx-core/dist/primitives/comments.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts +2 -2
- package/node_modules/@usejunior/docx-core/dist/primitives/document.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.d.ts +1 -5
- 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 +12 -25
- package/node_modules/@usejunior/docx-core/dist/primitives/dom-helpers.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.js +4 -6
- package/node_modules/@usejunior/docx-core/dist/primitives/layout.js.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.d.ts.map +1 -1
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.js +2 -0
- package/node_modules/@usejunior/docx-core/dist/primitives/xml.js.map +1 -1
- package/node_modules/@usejunior/docx-core/package.json +3 -3
- package/node_modules/@xmldom/xmldom/CHANGELOG.md +939 -0
- package/node_modules/{@usejunior/docx-core/node_modules/@xmldom → @xmldom}/xmldom/SECURITY.md +8 -8
- package/node_modules/@xmldom/xmldom/index.d.ts +1664 -0
- package/node_modules/{@usejunior/docx-core/node_modules/@xmldom → @xmldom}/xmldom/lib/.eslintrc.yml +1 -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 +3192 -0
- package/node_modules/{@usejunior/docx-core/node_modules/@xmldom → @xmldom}/xmldom/lib/entities.js +14 -9
- package/node_modules/@xmldom/xmldom/lib/errors.js +202 -0
- package/node_modules/@xmldom/xmldom/lib/grammar.js +533 -0
- package/node_modules/@xmldom/xmldom/lib/index.js +41 -0
- package/node_modules/@xmldom/xmldom/lib/sax.js +929 -0
- package/node_modules/{@usejunior/docx-core/node_modules/@xmldom → @xmldom}/xmldom/package.json +24 -21
- package/node_modules/{@usejunior/docx-core/node_modules/@xmldom → @xmldom}/xmldom/readme.md +56 -48
- package/package.json +4 -4
- package/skills/cloud-service-agreement/SKILL.md +1 -1
- package/skills/cloud-service-agreement/template-filling-execution.md +92 -0
- package/skills/nda/SKILL.md +1 -1
- package/skills/nda/template-filling-execution.md +92 -0
- package/skills/open-agreements/SKILL.md +1 -1
- package/skills/open-agreements/template-filling-execution.md +92 -0
- package/skills/safe/SKILL.md +1 -1
- package/skills/safe/template-filling-execution.md +92 -0
- package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/CHANGELOG.md +0 -468
- package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/index.d.ts +0 -43
- package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/conventions.js +0 -203
- package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/dom-parser.js +0 -322
- package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/dom.js +0 -1879
- package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/index.js +0 -4
- package/node_modules/@usejunior/docx-core/node_modules/@xmldom/xmldom/lib/sax.js +0 -662
- /package/node_modules/{@usejunior/docx-core/node_modules/@xmldom → @xmldom}/xmldom/LICENSE +0 -0
package/README.md
CHANGED
|
@@ -3,186 +3,139 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/open-agreements)
|
|
4
4
|
[](https://npmjs.org/package/open-agreements)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
|
-
[](https://skills.sh)
|
|
7
6
|
[](https://github.com/open-agreements/open-agreements/actions/workflows/ci.yml)
|
|
8
|
-
[](https://openagreements.openstatus.dev/)
|
|
9
7
|
[](https://app.codecov.io/gh/open-agreements/open-agreements)
|
|
10
|
-
[](https://github.com/open-agreements/open-agreements/stargazers)
|
|
11
|
-
[](https://vitest.dev/)
|
|
12
|
-
[](./scripts/validate_openspec_coverage.mjs)
|
|
13
8
|
[](https://socket.dev/npm/package/open-agreements)
|
|
9
|
+
[](https://github.com/open-agreements/open-agreements/stargazers)
|
|
10
|
+
[](https://skills.sh)
|
|
11
|
+
[](https://openagreements.openstatus.dev/)
|
|
14
12
|
[](https://packagephobia.com/result?p=open-agreements)
|
|
15
13
|
|
|
16
14
|
[English](./README.md) | [Español](./README.es.md) | [简体中文](./README.zh.md) | [Português (Brasil)](./README.pt-br.md) | [Deutsch](./README.de.md)
|
|
17
15
|
|
|
18
|
-
<!-- TODO: Add OpenSSF Scorecard badge once repo is indexed at securityscorecards.dev -->
|
|
19
|
-
<!-- TODO: Add OpenSSF Best Practices badge after registration at bestpractices.dev -->
|
|
20
|
-
<!-- TODO: Re-evaluate Snyk badge — Advisor migrated to security.snyk.io (July 2024) -->
|
|
21
|
-
|
|
22
16
|
<p align="center">
|
|
23
|
-
<img src="docs/assets/demo-fill-nda.gif" alt="Fill a Mutual NDA in Claude Code — prompt, answer questions, get a signed-ready DOCX" width="720">
|
|
17
|
+
<img src="https://raw.githubusercontent.com/open-agreements/open-agreements/main/docs/assets/demo-fill-nda.gif" alt="Fill a Mutual NDA in Claude Code — prompt, answer questions, get a signed-ready DOCX" width="720">
|
|
24
18
|
</p>
|
|
25
19
|
|
|
26
20
|
> *Demo: Claude fills a Common Paper Mutual NDA in under 2 minutes. Sped up for brevity.*
|
|
27
21
|
|
|
28
|
-
Fill standard legal agreement templates and
|
|
29
|
-
|
|
30
|
-
**Open Agreements** by [UseJunior](https://usejunior.com) — part of the [UseJunior developer tools](https://usejunior.com/developer-tools/open-agreements). In production at Am Law 100 firms.
|
|
31
|
-
|
|
32
|
-
## Quality and Trust Signals
|
|
33
|
-
|
|
34
|
-
- CI runs on pull requests and pushes to `main`.
|
|
35
|
-
- Live service health is published via OpenStatus at `openagreements.openstatus.dev`.
|
|
36
|
-
- Coverage is published to Codecov with repository-defined patch/project gates in `codecov.yml`.
|
|
37
|
-
- The active JS test framework is Vitest, with JUnit test results uploaded for Codecov test analytics.
|
|
38
|
-
- OpenSpec scenario traceability is enforced via `npm run check:spec-coverage`. For a local matrix export, run `npm run check:spec-coverage -- --write-matrix integration-tests/OPENSPEC_TRACEABILITY.md`.
|
|
39
|
-
- Recipe source drift canary (`npm run check:source-drift`) verifies expected source hash plus structural replacement/normalize anchors.
|
|
40
|
-
- Assumption-level regressions are tracked in `docs/assumptions.md` and validated via targeted regression tests + CI gates.
|
|
41
|
-
- LibreOffice-powered DOCX visual rendering uses a pinned build config on macOS (`config/libreoffice-headless.json`); run `npm run check:libreoffice` before visual Allure evidence tests.
|
|
42
|
-
- Maintainer: [Steven Obiajulu](https://www.linkedin.com/in/steven-obiajulu/) (MIT-trained mechanical engineer; Harvard Law trained lawyer).
|
|
43
|
-
|
|
44
|
-
## How It Works
|
|
45
|
-
|
|
46
|
-
1. Step 1: Choose a template (36 standard agreements)
|
|
47
|
-
2. Step 2: Fill in your details (interactive prompts or MCP)
|
|
48
|
-
3. Step 3: Get a professionally formatted DOCX
|
|
49
|
-
|
|
50
|
-
OpenAgreements supports two execution modes with different trust boundaries:
|
|
51
|
-
|
|
52
|
-
- Hosted remote MCP connector (`https://openagreements.org/api/mcp`) for fast setup in Claude.
|
|
53
|
-
- Fully local package execution (`npx`, global install, or local stdio MCP package) for machine-local workflows.
|
|
54
|
-
|
|
55
|
-
There is no global default mode recommendation. Choose based on document sensitivity, internal policy, and workflow speed needs. See `docs/trust-checklist.md` for a 60-second data-flow summary.
|
|
56
|
-
|
|
57
|
-
### Quick Decision
|
|
22
|
+
Fill standard legal agreement templates and get signable DOCX files. 41 templates covering NDAs, cloud service agreements, employment docs, contractor agreements, SAFEs, and NVCA financing documents.
|
|
58
23
|
|
|
59
|
-
|
|
60
|
-
- If you prioritize convenience, use the hosted remote MCP connector.
|
|
24
|
+
Works with Claude Code, Gemini CLI, and Cursor.
|
|
61
25
|
|
|
62
|
-
##
|
|
63
|
-
|
|
64
|
-
OpenAgreements works as a [Claude Code plugin](https://docs.anthropic.com/en/docs/claude-code/plugins) and [Agent Skill](https://agentskills.io). No pre-installation required — Claude downloads and runs the CLI on demand via `npx`.
|
|
65
|
-
|
|
66
|
-
### Option 1: Agent Skill (recommended)
|
|
26
|
+
## Install
|
|
67
27
|
|
|
68
28
|
```bash
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
Then ask Claude to draft an agreement:
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
> Draft an NDA between Acme Corp and Beta Inc
|
|
29
|
+
npm install -g open-agreements
|
|
76
30
|
```
|
|
77
31
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
### Option 2: Gemini CLI Extension
|
|
32
|
+
Or run directly with zero install:
|
|
81
33
|
|
|
82
34
|
```bash
|
|
83
|
-
|
|
35
|
+
npx -y open-agreements@latest list
|
|
84
36
|
```
|
|
85
37
|
|
|
86
|
-
|
|
38
|
+
## Quick Start
|
|
87
39
|
|
|
88
|
-
###
|
|
40
|
+
### With Claude Code (zero install)
|
|
89
41
|
|
|
90
|
-
|
|
42
|
+
Just ask Claude:
|
|
91
43
|
|
|
92
44
|
```
|
|
93
45
|
> Fill the Common Paper mutual NDA for my company
|
|
94
46
|
```
|
|
95
47
|
|
|
96
|
-
Claude
|
|
48
|
+
Claude discovers templates, interviews you for field values, and renders a signed-ready DOCX. No install needed — Claude runs `npx` on demand.
|
|
97
49
|
|
|
98
|
-
###
|
|
50
|
+
### With Gemini CLI
|
|
99
51
|
|
|
100
52
|
```bash
|
|
101
|
-
|
|
102
|
-
npm install -g open-agreements
|
|
103
|
-
|
|
104
|
-
# List available templates
|
|
105
|
-
open-agreements list
|
|
106
|
-
|
|
107
|
-
# Fill a template
|
|
108
|
-
open-agreements fill common-paper-mutual-nda -d values.json -o my-nda.docx
|
|
53
|
+
gemini extensions install https://github.com/open-agreements/open-agreements
|
|
109
54
|
```
|
|
110
55
|
|
|
111
|
-
|
|
56
|
+
Then ask Gemini to draft an agreement.
|
|
112
57
|
|
|
113
|
-
|
|
114
|
-
2. Claude interviews you for field values (grouped by section, up to 4 questions per round)
|
|
115
|
-
3. Claude runs `fill <template>` to render a DOCX preserving all original formatting
|
|
116
|
-
4. You review and sign the output document
|
|
58
|
+
### With the CLI
|
|
117
59
|
|
|
118
|
-
|
|
60
|
+
```bash
|
|
61
|
+
# See all available templates
|
|
62
|
+
open-agreements list
|
|
119
63
|
|
|
120
|
-
|
|
64
|
+
# Fill a template from a JSON data file
|
|
65
|
+
open-agreements fill common-paper-mutual-nda -d values.json -o my-nda.docx
|
|
121
66
|
|
|
122
|
-
|
|
123
|
-
-
|
|
124
|
-
|
|
67
|
+
# Fill with inline values
|
|
68
|
+
open-agreements fill common-paper-mutual-nda --set party_1_name="Acme Corp" --set governing_law="Delaware"
|
|
69
|
+
```
|
|
125
70
|
|
|
126
|
-
|
|
71
|
+
### Example Prompts
|
|
127
72
|
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
73
|
+
- "Draft an NDA for our construction subcontractor"
|
|
74
|
+
- "Create a consulting agreement for our insurance agency"
|
|
75
|
+
- "Fill the independent contractor agreement for a freelance designer"
|
|
76
|
+
- "Generate a SAFE with a $5M valuation cap"
|
|
131
77
|
|
|
132
|
-
|
|
78
|
+
### What Happens
|
|
133
79
|
|
|
134
|
-
|
|
80
|
+
1. The agent runs `list --json` to discover templates and their fields
|
|
81
|
+
2. It interviews you for field values (grouped by section, a few at a time)
|
|
82
|
+
3. It runs `fill <template>` to render a DOCX preserving all original formatting
|
|
83
|
+
4. You review and sign the output document
|
|
135
84
|
|
|
136
85
|
## Templates
|
|
137
86
|
|
|
138
|
-
|
|
87
|
+
41 templates across 7 categories. Run `open-agreements list` for the full inventory.
|
|
139
88
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
89
|
+
- **NDAs** — Mutual and one-way (Common Paper, Bonterms)
|
|
90
|
+
- **Cloud & SaaS** — Cloud service agreements, order forms, SLAs, pilot agreements, software licenses
|
|
91
|
+
- **Services & Contractors** — Professional services, independent contractor, SOW (Common Paper, Bonterms)
|
|
92
|
+
- **Employment** — Offer letter, IP assignment, confidentiality acknowledgement, restrictive covenant
|
|
93
|
+
- **Data Privacy** — DPA, BAA, AI addendum (Common Paper)
|
|
94
|
+
- **SAFEs** — Valuation cap, discount, MFN, pro rata side letter (Y Combinator)
|
|
95
|
+
- **Venture Financing** — Stock purchase, certificate of incorporation, investors' rights, voting, ROFR, indemnification, management rights letter (NVCA)
|
|
145
96
|
|
|
146
|
-
|
|
97
|
+
Internal templates are CC BY 4.0. YC SAFEs are CC BY-ND 4.0 (vendored unchanged). NVCA documents are downloaded on demand from nvca.org (not bundled).
|
|
147
98
|
|
|
148
|
-
|
|
99
|
+
## What Gets Installed
|
|
149
100
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
101
|
+
```
|
|
102
|
+
open-agreements/
|
|
103
|
+
bin/ # CLI entry point
|
|
104
|
+
dist/ # Compiled TypeScript
|
|
105
|
+
content/
|
|
106
|
+
templates/ # Fillable DOCX templates with {tag} placeholders
|
|
107
|
+
external/ # YC SAFE templates (vendored unchanged)
|
|
108
|
+
skills/ # Agent skill definitions (Claude Code, Gemini, Cursor)
|
|
109
|
+
server.json # MCP server manifest
|
|
110
|
+
gemini-extension.json # Gemini CLI extension config
|
|
111
|
+
README.md, LICENSE
|
|
112
|
+
```
|
|
153
113
|
|
|
154
|
-
|
|
114
|
+
NVCA recipe templates (7) are downloaded at runtime — not bundled in the package.
|
|
155
115
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
--recipe nvca-indemnification-agreement \
|
|
159
|
-
--extract-guidance guidance.json
|
|
160
|
-
```
|
|
116
|
+
<details>
|
|
117
|
+
<summary><strong>CLI Reference</strong></summary>
|
|
161
118
|
|
|
162
|
-
|
|
119
|
+
### `list`
|
|
163
120
|
|
|
164
|
-
|
|
121
|
+
Show available templates with license info and field counts.
|
|
165
122
|
|
|
166
|
-
|
|
123
|
+
```bash
|
|
124
|
+
open-agreements list
|
|
167
125
|
|
|
126
|
+
# Machine-readable JSON (for agent skills and automation)
|
|
127
|
+
open-agreements list --json
|
|
168
128
|
```
|
|
169
|
-
content/templates/<name>/
|
|
170
|
-
├── template.docx # DOCX with {tag} placeholders
|
|
171
|
-
├── metadata.yaml # Fields, license, source, attribution
|
|
172
|
-
└── README.md # Template-specific documentation
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
## CLI Commands
|
|
176
129
|
|
|
177
130
|
### `fill <template>`
|
|
178
131
|
|
|
179
132
|
Render a filled DOCX from a template.
|
|
180
133
|
|
|
181
134
|
```bash
|
|
182
|
-
#
|
|
135
|
+
# From a JSON data file
|
|
183
136
|
open-agreements fill common-paper-mutual-nda -d data.json -o output.docx
|
|
184
137
|
|
|
185
|
-
#
|
|
138
|
+
# With inline --set flags
|
|
186
139
|
open-agreements fill common-paper-mutual-nda --set party_1_name="Acme Corp" --set governing_law="Delaware"
|
|
187
140
|
```
|
|
188
141
|
|
|
@@ -195,217 +148,66 @@ open-agreements validate # All templates
|
|
|
195
148
|
open-agreements validate common-paper-mutual-nda # One template
|
|
196
149
|
```
|
|
197
150
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
Show available templates with license info and field counts.
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
open-agreements list
|
|
204
|
-
|
|
205
|
-
# Machine-readable JSON output (for agent skills and automation)
|
|
206
|
-
open-agreements list --json
|
|
207
|
-
```
|
|
151
|
+
</details>
|
|
208
152
|
|
|
209
|
-
|
|
153
|
+
<details>
|
|
154
|
+
<summary><strong>Agent Setup Details</strong></summary>
|
|
210
155
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
- Package: `@open-agreements/contracts-workspace`
|
|
214
|
-
- Binary: `open-agreements-workspace`
|
|
215
|
-
- Docs: `docs/contracts-workspace.md`
|
|
216
|
-
|
|
217
|
-
This package is intentionally separate from `open-agreements` so teams can adopt:
|
|
218
|
-
|
|
219
|
-
- template filling only
|
|
220
|
-
- workspace management only
|
|
221
|
-
- or both together
|
|
222
|
-
|
|
223
|
-
Core workspace features:
|
|
224
|
-
|
|
225
|
-
- topic-first `init` planning (minimal suggested structure with top-level domains)
|
|
226
|
-
- forms catalog with URL + SHA-256 validation
|
|
227
|
-
- YAML status indexing and linting with filename-driven `_executed` status
|
|
228
|
-
|
|
229
|
-
The v1 model is filesystem-only and works in locally synced cloud-drive folders (for example, Google Drive sync). No Drive API/OAuth integration is required.
|
|
230
|
-
|
|
231
|
-
## Local MCP for Workspace Demo
|
|
232
|
-
|
|
233
|
-
For local connector demos, there is a local stdio MCP package:
|
|
234
|
-
|
|
235
|
-
- Package: `@open-agreements/contracts-workspace-mcp`
|
|
236
|
-
- Binary: `open-agreements-workspace-mcp`
|
|
237
|
-
- Docs: `docs/contracts-workspace.md`
|
|
238
|
-
|
|
239
|
-
Quick start:
|
|
156
|
+
### Claude Code — Agent Skill
|
|
240
157
|
|
|
241
158
|
```bash
|
|
242
|
-
|
|
243
|
-
node packages/contracts-workspace-mcp/bin/open-agreements-workspace-mcp.js
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
## Local MCP for Template Drafting
|
|
247
|
-
|
|
248
|
-
For local Gemini/Cursor template drafting flows, use:
|
|
249
|
-
|
|
250
|
-
- Package: `@open-agreements/contract-templates-mcp`
|
|
251
|
-
- Binary: `open-agreements-contract-templates-mcp`
|
|
252
|
-
|
|
253
|
-
Quick start:
|
|
254
|
-
|
|
255
|
-
```bash
|
|
256
|
-
npm run build:contract-templates-mcp
|
|
257
|
-
node packages/contract-templates-mcp/bin/open-agreements-contract-templates-mcp.js
|
|
159
|
+
npx skills add open-agreements/open-agreements
|
|
258
160
|
```
|
|
259
161
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
A static marketing site is generated from `site/` with Eleventy.
|
|
263
|
-
|
|
264
|
-
- Entry points: `site/index.njk`, `site/templates.njk`, `site/template-detail.njk`
|
|
265
|
-
- Styles: `site/styles.css`
|
|
266
|
-
- Demo media: `site/assets/demo-fill-nda.gif`
|
|
267
|
-
- Deployment config: `vercel.json`
|
|
268
|
-
- Discovery outputs (generated during `npm run build:site`): `_site/llms.txt`, `_site/llms-full.txt`, `_site/sitemap.xml`, `_site/robots.txt`
|
|
162
|
+
Then ask Claude to draft an agreement. Claude discovers available templates, interviews you for field values, and renders a signed-ready DOCX.
|
|
269
163
|
|
|
270
|
-
|
|
164
|
+
### Gemini CLI — Extension
|
|
271
165
|
|
|
272
166
|
```bash
|
|
273
|
-
|
|
274
|
-
python3 -m http.server 8080 --directory _site
|
|
167
|
+
gemini extensions install https://github.com/open-agreements/open-agreements
|
|
275
168
|
```
|
|
276
169
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
Vercel deploy notes:
|
|
170
|
+
The extension provides MCP tools, context files, and skills for template discovery and filling.
|
|
280
171
|
|
|
281
|
-
|
|
282
|
-
- Keep project root as repo root
|
|
283
|
-
- The included `vercel.json` deploys `_site/` as static output
|
|
172
|
+
### Cursor — Plugin
|
|
284
173
|
|
|
285
|
-
|
|
174
|
+
This repository includes a Cursor plugin manifest at `.cursor-plugin/plugin.json` with MCP wiring in `mcp.json`.
|
|
286
175
|
|
|
287
|
-
|
|
176
|
+
### Local vs. Hosted Execution
|
|
288
177
|
|
|
289
|
-
|
|
178
|
+
OpenAgreements supports two execution modes:
|
|
290
179
|
|
|
291
|
-
|
|
180
|
+
- **Local** (`npx`, global install, or stdio MCP): all processing happens on your machine. No document content leaves your machine.
|
|
181
|
+
- **Hosted** (`https://openagreements.org/api/mcp`): template filling runs server-side for fast setup. No filled documents are stored after the response.
|
|
292
182
|
|
|
293
|
-
|
|
294
|
-
npx skills add open-agreements/open-agreements --skill iso-27001-evidence-collection
|
|
295
|
-
```
|
|
183
|
+
Choose based on document sensitivity and workflow needs. See [docs/trust-checklist.md](docs/trust-checklist.md) for a 60-second data-flow summary.
|
|
296
184
|
|
|
297
|
-
|
|
185
|
+
</details>
|
|
298
186
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
```bash
|
|
302
|
-
npx skills add open-agreements/open-agreements --skill iso-27001-internal-audit
|
|
303
|
-
```
|
|
304
|
-
|
|
305
|
-
### SOC 2 Readiness
|
|
306
|
-
|
|
307
|
-
Assess SOC 2 Type II readiness. Map Trust Services Criteria to controls, identify gaps, and build a prioritized remediation plan with NIST SP 800-53 cross-mapping.
|
|
308
|
-
|
|
309
|
-
```bash
|
|
310
|
-
npx skills add open-agreements/open-agreements --skill soc2-readiness
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
All three skills use NIST SP 800-53 (public domain) as their canonical reference. Browse the full skill catalog at [skills.sh/open-agreements](https://skills.sh/open-agreements).
|
|
314
|
-
|
|
315
|
-
## Optional Content Roots (Future-Proofing)
|
|
187
|
+
## Privacy
|
|
316
188
|
|
|
317
|
-
|
|
189
|
+
- **Local mode** (`npx`, global install, stdio MCP): all processing happens on your machine. No document content is sent externally.
|
|
190
|
+
- **Hosted mode** (`https://openagreements.org/api/mcp`): template filling runs server-side. No filled documents are stored after the response is returned.
|
|
318
191
|
|
|
319
|
-
|
|
320
|
-
- format: path-delimited list of absolute/relative directories (for example, `dirA:dirB` on macOS/Linux)
|
|
321
|
-
- expected structure under each root: `templates/`, `external/`, and/or `recipes/` (or nested under `content/`)
|
|
192
|
+
See our [Privacy Policy](https://usejunior.com/privacy_policy) for details.
|
|
322
193
|
|
|
323
|
-
|
|
194
|
+
## Built With OpenAgreements
|
|
324
195
|
|
|
325
|
-
|
|
326
|
-
2. bundled package content (default fallback)
|
|
196
|
+
- [Safe Clause](https://safeclause.deltaxy.ai) — AI-powered contract platform for startups. [#1 on vibecode.law, March 2026](https://vibecode.law/showcase/safe-clause-317416).
|
|
327
197
|
|
|
328
|
-
|
|
198
|
+
*Building on OpenAgreements? Open a PR to add your project.*
|
|
329
199
|
|
|
330
200
|
## See Also
|
|
331
201
|
|
|
332
202
|
- [safe-docx](https://github.com/UseJunior/safe-docx) — surgical editing of existing Word documents with coding agents (MCP server)
|
|
333
|
-
- [UseJunior Developer Tools](https://usejunior.com/developer-tools/open-agreements) — product page with install options and template catalog
|
|
334
203
|
|
|
335
204
|
## Contributing
|
|
336
205
|
|
|
337
|
-
See [CONTRIBUTING.md](CONTRIBUTING.md) for how to add templates, recipes, and other improvements.
|
|
338
|
-
|
|
339
|
-
- [Adding templates](docs/adding-templates.md) (CC BY 4.0 / CC0 sources)
|
|
340
|
-
- [Adding recipes](docs/adding-recipes.md) (non-redistributable sources)
|
|
341
|
-
- [Employment source policy](docs/employment-source-policy.md) (trust and terms classifications)
|
|
342
|
-
- [Code of Conduct](CODE_OF_CONDUCT.md) (community expectations and enforcement)
|
|
343
|
-
|
|
344
|
-
## Releasing
|
|
345
|
-
|
|
346
|
-
Releases are automated through GitHub Actions using npm trusted publishing (OIDC) with provenance enabled.
|
|
347
|
-
|
|
348
|
-
1. Update versions in root package + publishable MCP packages.
|
|
349
|
-
2. Push commit + tag with `git push origin main --tags`
|
|
350
|
-
3. Run the local Gemini extension gate (copy/symlink into `~/.gemini/extensions/open-agreements` and verify both local MCP servers start/respond).
|
|
351
|
-
4. The `Release` workflow publishes from the tag after running build, validation, tests, isolated runtime smoke, and package checks.
|
|
352
|
-
|
|
353
|
-
Workflow guardrails:
|
|
354
|
-
|
|
355
|
-
- tag must match root + publishable package versions
|
|
356
|
-
- release commit must be contained in `origin/main`
|
|
357
|
-
- publish fails if any target npm version already exists
|
|
358
|
-
|
|
359
|
-
## Architecture
|
|
360
206
|
|
|
361
|
-
|
|
362
|
-
- **DOCX Engine**: [docx-templates](https://www.npmjs.com/package/docx-templates) (MIT)
|
|
363
|
-
- **CLI**: [Commander.js](https://www.npmjs.com/package/commander)
|
|
364
|
-
- **Validation**: [Zod](https://www.npmjs.com/package/zod) schemas
|
|
365
|
-
- **Skill Pattern**: Agent-agnostic `ToolCommandAdapter` interface
|
|
366
|
-
|
|
367
|
-
```
|
|
368
|
-
content/ # All content directories
|
|
369
|
-
├── templates/ # Internal templates (CC BY 4.0)
|
|
370
|
-
├── external/ # External templates (CC BY-ND 4.0)
|
|
371
|
-
└── recipes/ # Recipes (downloaded at runtime)
|
|
372
|
-
|
|
373
|
-
src/ # TypeScript source + collocated unit tests
|
|
374
|
-
├── cli/ # Commander.js CLI
|
|
375
|
-
├── commands/ # fill, validate, list, recipe, scan
|
|
376
|
-
├── core/
|
|
377
|
-
│ ├── engine.ts # docx-templates wrapper
|
|
378
|
-
│ ├── metadata.ts # Zod schemas + loader
|
|
379
|
-
│ ├── recipe/ # Recipe pipeline (clean → patch → fill → verify)
|
|
380
|
-
│ ├── external/ # External template support
|
|
381
|
-
│ ├── validation/ # template, license, output, recipe
|
|
382
|
-
│ └── command-generation/
|
|
383
|
-
│ ├── types.ts # ToolCommandAdapter interface
|
|
384
|
-
│ └── adapters/ # Claude Code adapter
|
|
385
|
-
└── index.ts # Public API
|
|
386
|
-
|
|
387
|
-
integration-tests/ # Integration and end-to-end tests
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
## Resources
|
|
391
|
-
|
|
392
|
-
- [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code)
|
|
393
|
-
- [Claude Code Plugins Guide](https://docs.anthropic.com/en/docs/claude-code/plugins)
|
|
394
|
-
- [Agent Skills Specification](https://agentskills.io)
|
|
207
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for how to add templates, recipes, and other improvements.
|
|
395
208
|
|
|
396
209
|
## License
|
|
397
210
|
|
|
398
|
-
MIT
|
|
399
|
-
|
|
400
|
-
Template content is licensed by their respective authors — CC BY 4.0 (Common Paper, Bonterms), CC BY-ND 4.0 (Y Combinator), or proprietary (NVCA, downloaded at runtime). See each template's `metadata.yaml` for details.
|
|
401
|
-
|
|
402
|
-
## Privacy
|
|
403
|
-
|
|
404
|
-
- **Local mode** (`npx`, global install, stdio MCP): all processing happens on your machine. No document content is sent externally.
|
|
405
|
-
- **Hosted mode** (`https://openagreements.org/api/mcp`): template filling runs server-side. No filled documents are stored after the response is returned.
|
|
406
|
-
|
|
407
|
-
See our [Privacy Policy](https://usejunior.com/privacy_policy) for details.
|
|
408
|
-
|
|
409
|
-
## Disclaimer
|
|
211
|
+
MIT. Template content is licensed by their respective authors — CC BY 4.0 (Common Paper, Bonterms), CC BY-ND 4.0 (Y Combinator), or proprietary (NVCA, downloaded at runtime). See each template's `metadata.yaml` for details.
|
|
410
212
|
|
|
411
|
-
This tool generates documents from standard templates. It does not provide legal advice.
|
|
213
|
+
This tool generates documents from standard templates. It does not provide legal advice. Consult an attorney for legal guidance.
|
package/dist/commands/list.js
CHANGED
|
@@ -100,7 +100,7 @@ function runListJson(opts) {
|
|
|
100
100
|
};
|
|
101
101
|
console.log(JSON.stringify(envelope, null, 2));
|
|
102
102
|
}
|
|
103
|
-
function listAgreementsWithOptions(
|
|
103
|
+
function listAgreementsWithOptions(_opts) {
|
|
104
104
|
const rows = [];
|
|
105
105
|
for (const entry of listTemplateEntries()) {
|
|
106
106
|
const id = entry.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docx-import.d.ts","sourceRoot":"","sources":["../../../src/core/checklist/docx-import.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"docx-import.d.ts","sourceRoot":"","sources":["../../../src/core/checklist/docx-import.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAA2B,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAc1F,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,eAAe,GACf,qBAAqB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,mBAAmB,CAAC;AAExB,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,KAAK,CAAC;IACV,UAAU,EAAE,mBAAmB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAgjBrE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CAiHrF"}
|
package/dist/core/metadata.d.ts
CHANGED
|
@@ -156,6 +156,7 @@ export declare const GuidanceOutputSchema: z.ZodObject<{
|
|
|
156
156
|
export type GuidanceOutput = z.infer<typeof GuidanceOutputSchema>;
|
|
157
157
|
export declare const RecipeMetadataSchema: z.ZodObject<{
|
|
158
158
|
name: z.ZodString;
|
|
159
|
+
category: z.ZodOptional<z.ZodString>;
|
|
159
160
|
description: z.ZodOptional<z.ZodString>;
|
|
160
161
|
source_url: z.ZodString;
|
|
161
162
|
source_version: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/core/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW;;;;EAAmD,CAAC;AAC5E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAElD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;iBAmBjC,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AA2CpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,iBAAiB;;;;;;;;;iBAS5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,uCAAuC;;;;;;;;;;iBAUlD,CAAC;AACH,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC,CAAC;AAExG,eAAO,MAAM,qBAAqB;;;;;;;;;;;;iBAEhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAM9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;iBAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAQlE,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/core/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW;;;;EAAmD,CAAC;AAC5E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAElD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;iBAmBjC,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AA2CpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,iBAAiB;;;;;;;;;iBAS5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,uCAAuC;;;;;;;;;;iBAUlD,CAAC;AACH,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uCAAuC,CAAC,CAAC;AAExG,eAAO,MAAM,qBAAqB;;;;;;;;;;;;iBAEhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAM9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;iBAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAQlE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAc/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAKlE;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAe1F;AAID,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAK1E;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAelG;AAID,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAKpE;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAO9D;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAOtE;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAe9F"}
|
package/dist/core/metadata.js
CHANGED
|
@@ -109,6 +109,7 @@ const MarketDataCitationSchema = z.object({
|
|
|
109
109
|
});
|
|
110
110
|
export const RecipeMetadataSchema = z.object({
|
|
111
111
|
name: z.string(),
|
|
112
|
+
category: z.string().optional(),
|
|
112
113
|
description: z.string().optional(),
|
|
113
114
|
source_url: z.string().url(),
|
|
114
115
|
source_version: z.string(),
|