markform 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +97 -42
  2. package/dist/ai-sdk.d.mts +2 -2
  3. package/dist/ai-sdk.mjs +5 -5
  4. package/dist/{apply-BfAGTHMh.mjs → apply-C54EMAJ1.mjs} +383 -26
  5. package/dist/bin.mjs +6 -6
  6. package/dist/{cli-B3NVm6zL.mjs → cli-BhWhn6L9.mjs} +456 -141
  7. package/dist/cli.mjs +6 -6
  8. package/dist/{coreTypes-BXhhz9Iq.d.mts → coreTypes-cbNTYAcb.d.mts} +1878 -325
  9. package/dist/{coreTypes-Dful87E0.mjs → coreTypes-pyctKRgc.mjs} +79 -5
  10. package/dist/index.d.mts +146 -9
  11. package/dist/index.mjs +5 -5
  12. package/dist/session-B_stoXQn.mjs +4 -0
  13. package/dist/{session-Bqnwi9wp.mjs → session-uF0e6m6k.mjs} +9 -5
  14. package/dist/{shared-N_s1M-_K.mjs → shared-BqPnYXrn.mjs} +82 -1
  15. package/dist/shared-CZsyShck.mjs +3 -0
  16. package/dist/{src-BXRkGFpG.mjs → src-BNh7Cx9P.mjs} +801 -121
  17. package/docs/markform-apis.md +194 -0
  18. package/{DOCS.md → docs/markform-reference.md} +111 -50
  19. package/{SPEC.md → docs/markform-spec.md} +342 -91
  20. package/examples/celebrity-deep-research/celebrity-deep-research.form.md +196 -141
  21. package/examples/earnings-analysis/earnings-analysis.form.md +236 -226
  22. package/examples/movie-research/movie-research-basic.form.md +25 -21
  23. package/examples/movie-research/movie-research-deep.form.md +74 -62
  24. package/examples/movie-research/movie-research-minimal.form.md +29 -34
  25. package/examples/simple/simple-mock-filled.form.md +93 -29
  26. package/examples/simple/simple-skipped-filled.form.md +91 -29
  27. package/examples/simple/simple-with-skips.session.yaml +93 -25
  28. package/examples/simple/simple.form.md +74 -20
  29. package/examples/simple/simple.session.yaml +98 -25
  30. package/examples/startup-deep-research/startup-deep-research.form.md +108 -81
  31. package/examples/startup-research/startup-research-mock-filled.form.md +43 -43
  32. package/examples/startup-research/startup-research.form.md +24 -24
  33. package/package.json +18 -27
  34. package/dist/session-DdAtY2Ni.mjs +0 -4
  35. package/dist/shared-D7gf27Tr.mjs +0 -3
@@ -43,61 +43,61 @@ The user provides the company name, and the agent researches and fills all remai
43
43
 
44
44
  {% field-group id="basic_info" title="Company Information" %}
45
45
 
46
- {% string-field id="company_name" label="Company Name" role="user" required=true minLength=2 maxLength=200 %}
46
+ {% field kind="string" id="company_name" label="Company Name" role="user" required=true minLength=2 maxLength=200 %}
47
47
  ```value
48
48
  Anthropic
49
49
  ```
50
- {% /string-field %}
50
+ {% /field %}
51
51
 
52
52
  {% instructions ref="company_name" %}
53
53
  Enter the official name of the startup company you want to research (e.g., "Stripe", "OpenAI").
54
54
  {% /instructions %}
55
55
 
56
- {% url-field id="company_website" label="Company Website" required=true %}
56
+ {% field kind="url" id="company_website" label="Company Website" required=true %}
57
57
  ```value
58
58
  https://www.anthropic.com
59
59
  ```
60
- {% /url-field %}
60
+ {% /field %}
61
61
 
62
62
  {% instructions ref="company_website" %}
63
63
  The official company website URL.
64
64
  {% /instructions %}
65
65
 
66
- {% url-field id="linkedin_page" label="LinkedIn Company Page" %}
66
+ {% field kind="url" id="linkedin_page" label="LinkedIn Company Page" %}
67
67
  ```value
68
68
  https://www.linkedin.com/company/anthropic
69
69
  ```
70
- {% /url-field %}
70
+ {% /field %}
71
71
 
72
72
  {% instructions ref="linkedin_page" %}
73
73
  LinkedIn company page URL if available.
74
74
  {% /instructions %}
75
75
 
76
- {% string-field id="founded_date" label="Founded Date" pattern="^\\d{4}(-\\d{2}(-\\d{2})?)?$" %}
76
+ {% field kind="string" id="founded_date" label="Founded Date" pattern="^\\d{4}(-\\d{2}(-\\d{2})?)?$" %}
77
77
  ```value
78
78
  2021
79
79
  ```
80
- {% /string-field %}
80
+ {% /field %}
81
81
 
82
82
  {% instructions ref="founded_date" %}
83
83
  Format: YYYY, YYYY-MM, or YYYY-MM-DD (e.g., 2010, 2010-06, 2010-06-15)
84
84
  {% /instructions %}
85
85
 
86
- {% string-field id="headquarters" label="Headquarters Location" %}
86
+ {% field kind="string" id="headquarters" label="Headquarters Location" %}
87
87
  ```value
88
88
  San Francisco, California
89
89
  ```
90
- {% /string-field %}
90
+ {% /field %}
91
91
 
92
92
  {% instructions ref="headquarters" %}
93
93
  Format: City, State/Country (e.g., "San Francisco, California")
94
94
  {% /instructions %}
95
95
 
96
- {% string-field id="company_description" label="Company Description" multiline=true maxLength=1000 %}
96
+ {% field kind="string" id="company_description" label="Company Description" multiline=true maxLength=1000 %}
97
97
  ```value
98
98
  Anthropic is an AI safety company focused on building reliable, interpretable, and steerable AI systems. Founded by former members of OpenAI, the company develops large language models with an emphasis on safety research and alignment. Their flagship product is Claude, an AI assistant designed to be helpful, harmless, and honest.
99
99
  ```
100
- {% /string-field %}
100
+ {% /field %}
101
101
 
102
102
  {% instructions ref="company_description" %}
103
103
  Brief description of what the company does. 100-200 words max.
@@ -107,27 +107,27 @@ Brief description of what the company does. 100-200 words max.
107
107
 
108
108
  {% field-group id="funding_info" title="Funding Information" %}
109
109
 
110
- {% string-field id="total_funding" label="Total Funding Raised" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}
110
+ {% field kind="string" id="total_funding" label="Total Funding Raised" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}
111
111
  ```value
112
112
  $7.6B
113
113
  ```
114
- {% /string-field %}
114
+ {% /field %}
115
115
 
116
116
  {% instructions ref="total_funding" %}
117
117
  Format: $X.XB, $XXM, or $XXK (e.g., "$1.5B", "$50M", "$500K")
118
118
  {% /instructions %}
119
119
 
120
- {% string-field id="latest_valuation" label="Latest Valuation" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}
120
+ {% field kind="string" id="latest_valuation" label="Latest Valuation" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}
121
121
  ```value
122
122
  $18.4B
123
123
  ```
124
- {% /string-field %}
124
+ {% /field %}
125
125
 
126
126
  {% instructions ref="latest_valuation" %}
127
127
  Format: $X.XB, $XXM, or $XXK (e.g., "$10B")
128
128
  {% /instructions %}
129
129
 
130
- {% single-select id="funding_stage" label="Funding Stage" %}
130
+ {% field kind="single_select" id="funding_stage" label="Funding Stage" %}
131
131
  - [ ] Pre-seed {% #pre_seed %}
132
132
  - [ ] Seed {% #seed %}
133
133
  - [ ] Series A {% #series_a %}
@@ -135,9 +135,9 @@ Format: $X.XB, $XXM, or $XXK (e.g., "$10B")
135
135
  - [ ] Series C {% #series_c %}
136
136
  - [x] Series D+ {% #series_d_plus %}
137
137
  - [ ] Public {% #public %}
138
- {% /single-select %}
138
+ {% /field %}
139
139
 
140
- {% string-list id="key_investors" label="Key Investors" maxItems=10 %}
140
+ {% field kind="string_list" id="key_investors" label="Key Investors" maxItems=10 %}
141
141
  ```value
142
142
  Google
143
143
  Spark Capital
@@ -145,18 +145,18 @@ Salesforce Ventures
145
145
  Amazon
146
146
  Sound Ventures
147
147
  ```
148
- {% /string-list %}
148
+ {% /field %}
149
149
 
150
150
  {% instructions ref="key_investors" %}
151
151
  List notable investors (VCs, angels), one per line.
152
152
  {% /instructions %}
153
153
 
154
- {% url-list id="funding_announcements" label="Funding Announcement URLs" maxItems=5 uniqueItems=true %}
154
+ {% field kind="url_list" id="funding_announcements" label="Funding Announcement URLs" maxItems=5 uniqueItems=true %}
155
155
  ```value
156
156
  https://www.anthropic.com/news/anthropic-raises-series-c
157
157
  https://techcrunch.com/2023/09/25/amazon-to-invest-up-to-4-billion-in-anthropic/
158
158
  ```
159
- {% /url-list %}
159
+ {% /field %}
160
160
 
161
161
  {% instructions ref="funding_announcements" %}
162
162
  URLs to press releases or articles about funding rounds.
@@ -166,27 +166,27 @@ URLs to press releases or articles about funding rounds.
166
166
 
167
167
  {% field-group id="people" title="Key People" %}
168
168
 
169
- {% string-field id="ceo" label="CEO / Founder" %}
169
+ {% field kind="string" id="ceo" label="CEO / Founder" %}
170
170
  ```value
171
171
  Dario Amodei
172
172
  ```
173
- {% /string-field %}
173
+ {% /field %}
174
174
 
175
175
  {% instructions ref="ceo" %}
176
176
  Name of CEO or primary founder.
177
177
  {% /instructions %}
178
178
 
179
- {% url-field id="ceo_linkedin" label="CEO LinkedIn" %}
179
+ {% field kind="url" id="ceo_linkedin" label="CEO LinkedIn" %}
180
180
  ```value
181
181
  https://www.linkedin.com/in/dario-amodei
182
182
  ```
183
- {% /url-field %}
183
+ {% /field %}
184
184
 
185
185
  {% instructions ref="ceo_linkedin" %}
186
186
  LinkedIn profile URL of the CEO/founder.
187
187
  {% /instructions %}
188
188
 
189
- {% string-list id="founders" label="Founders" maxItems=5 %}
189
+ {% field kind="string_list" id="founders" label="Founders" maxItems=5 %}
190
190
  ```value
191
191
  Dario Amodei
192
192
  Daniela Amodei
@@ -194,17 +194,17 @@ Tom Brown
194
194
  Chris Olah
195
195
  Sam McCandlish
196
196
  ```
197
- {% /string-list %}
197
+ {% /field %}
198
198
 
199
199
  {% instructions ref="founders" %}
200
200
  List all founders, one per line.
201
201
  {% /instructions %}
202
202
 
203
- {% number-field id="employee_count" label="Employee Count" min=1 integer=true %}
203
+ {% field kind="number" id="employee_count" label="Employee Count" min=1 integer=true %}
204
204
  ```value
205
205
  1000
206
206
  ```
207
- {% /number-field %}
207
+ {% /field %}
208
208
 
209
209
  {% instructions ref="employee_count" %}
210
210
  Approximate number of employees.
@@ -214,7 +214,7 @@ Approximate number of employees.
214
214
 
215
215
  {% field-group id="market_info" title="Market & Industry" %}
216
216
 
217
- {% multi-select id="industry_sectors" label="Industry Sectors" minSelections=1 maxSelections=5 %}
217
+ {% field kind="multi_select" id="industry_sectors" label="Industry Sectors" minSelections=1 maxSelections=5 %}
218
218
  - [x] AI/ML {% #ai_ml %}
219
219
  - [ ] FinTech {% #fintech %}
220
220
  - [ ] HealthTech {% #healthtech %}
@@ -225,29 +225,29 @@ Approximate number of employees.
225
225
  - [x] Developer Tools {% #devtools %}
226
226
  - [ ] Climate Tech {% #climatetech %}
227
227
  - [ ] Other {% #other %}
228
- {% /multi-select %}
228
+ {% /field %}
229
229
 
230
- {% string-list id="competitors" label="Competitors" maxItems=5 %}
230
+ {% field kind="string_list" id="competitors" label="Competitors" maxItems=5 %}
231
231
  ```value
232
232
  OpenAI
233
233
  Google DeepMind
234
234
  Cohere
235
235
  Mistral AI
236
236
  ```
237
- {% /string-list %}
237
+ {% /field %}
238
238
 
239
239
  {% instructions ref="competitors" %}
240
240
  List main competitors, one per line.
241
241
  {% /instructions %}
242
242
 
243
- {% url-list id="competitor_urls" label="Competitor Website URLs" maxItems=5 uniqueItems=true %}
243
+ {% field kind="url_list" id="competitor_urls" label="Competitor Website URLs" maxItems=5 uniqueItems=true %}
244
244
  ```value
245
245
  https://openai.com
246
246
  https://deepmind.google
247
247
  https://cohere.com
248
248
  https://mistral.ai
249
249
  ```
250
- {% /url-list %}
250
+ {% /field %}
251
251
 
252
252
  {% instructions ref="competitor_urls" %}
253
253
  Website URLs of main competitors.
@@ -257,29 +257,29 @@ Website URLs of main competitors.
257
257
 
258
258
  {% field-group id="press_coverage" title="Press & Coverage" %}
259
259
 
260
- {% url-list id="press_articles" label="Press Coverage URLs" minItems=1 maxItems=10 uniqueItems=true %}
260
+ {% field kind="url_list" id="press_articles" label="Press Coverage URLs" minItems=1 maxItems=10 uniqueItems=true %}
261
261
  ```value
262
262
  https://www.wired.com/story/anthropic-ai-claude-chatgpt-rival/
263
263
  https://www.nytimes.com/2023/03/14/technology/anthropic-ai-chatbot.html
264
264
  https://www.forbes.com/sites/alexkonrad/2023/09/25/anthropic-ai-amazon-investment/
265
265
  ```
266
- {% /url-list %}
266
+ {% /field %}
267
267
 
268
268
  {% instructions ref="press_articles" %}
269
269
  URLs to major press articles, reviews, or coverage about the company.
270
270
  {% /instructions %}
271
271
 
272
- {% url-field id="crunchbase_url" label="Crunchbase Profile" %}
272
+ {% field kind="url" id="crunchbase_url" label="Crunchbase Profile" %}
273
273
  ```value
274
274
  https://www.crunchbase.com/organization/anthropic
275
275
  ```
276
- {% /url-field %}
276
+ {% /field %}
277
277
 
278
278
  {% instructions ref="crunchbase_url" %}
279
279
  Crunchbase company profile URL.
280
280
  {% /instructions %}
281
281
 
282
- {% url-field id="pitchbook_url" label="PitchBook Profile" %}{% /url-field %}
282
+ {% field kind="url" id="pitchbook_url" label="PitchBook Profile" %}{% /field %}
283
283
 
284
284
  {% instructions ref="pitchbook_url" %}
285
285
  PitchBook company profile URL if available.
@@ -289,14 +289,14 @@ PitchBook company profile URL if available.
289
289
 
290
290
  {% field-group id="sources_section" title="Research Sources" %}
291
291
 
292
- {% url-list id="sources" label="Source URLs" minItems=1 uniqueItems=true %}
292
+ {% field kind="url_list" id="sources" label="Source URLs" minItems=1 uniqueItems=true %}
293
293
  ```value
294
294
  https://www.crunchbase.com/organization/anthropic
295
295
  https://www.anthropic.com
296
296
  https://www.linkedin.com/company/anthropic
297
297
  https://en.wikipedia.org/wiki/Anthropic
298
298
  ```
299
- {% /url-list %}
299
+ {% /field %}
300
300
 
301
301
  {% instructions ref="sources" %}
302
302
  List all source URLs used for this research. Include Crunchbase, company website, and any additional sources consulted.
@@ -43,37 +43,37 @@ The user provides the company name, and the agent researches and fills all remai
43
43
 
44
44
  {% field-group id="basic_info" title="Company Information" %}
45
45
 
46
- {% string-field id="company_name" label="Company Name" role="user" required=true minLength=2 maxLength=200 %}{% /string-field %}
46
+ {% field kind="string" id="company_name" label="Company Name" role="user" required=true minLength=2 maxLength=200 %}{% /field %}
47
47
 
48
48
  {% instructions ref="company_name" %}
49
49
  Enter the official name of the startup company you want to research (e.g., "Stripe", "OpenAI").
50
50
  {% /instructions %}
51
51
 
52
- {% url-field id="company_website" label="Company Website" required=true %}{% /url-field %}
52
+ {% field kind="url" id="company_website" label="Company Website" required=true %}{% /field %}
53
53
 
54
54
  {% instructions ref="company_website" %}
55
55
  The official company website URL.
56
56
  {% /instructions %}
57
57
 
58
- {% url-field id="linkedin_page" label="LinkedIn Company Page" %}{% /url-field %}
58
+ {% field kind="url" id="linkedin_page" label="LinkedIn Company Page" %}{% /field %}
59
59
 
60
60
  {% instructions ref="linkedin_page" %}
61
61
  LinkedIn company page URL if available.
62
62
  {% /instructions %}
63
63
 
64
- {% string-field id="founded_date" label="Founded Date" pattern="^\\d{4}(-\\d{2}(-\\d{2})?)?$" %}{% /string-field %}
64
+ {% field kind="string" id="founded_date" label="Founded Date" pattern="^\\d{4}(-\\d{2}(-\\d{2})?)?$" %}{% /field %}
65
65
 
66
66
  {% instructions ref="founded_date" %}
67
67
  Format: YYYY, YYYY-MM, or YYYY-MM-DD (e.g., 2010, 2010-06, 2010-06-15)
68
68
  {% /instructions %}
69
69
 
70
- {% string-field id="headquarters" label="Headquarters Location" %}{% /string-field %}
70
+ {% field kind="string" id="headquarters" label="Headquarters Location" %}{% /field %}
71
71
 
72
72
  {% instructions ref="headquarters" %}
73
73
  Format: City, State/Country (e.g., "San Francisco, California")
74
74
  {% /instructions %}
75
75
 
76
- {% string-field id="company_description" label="Company Description" multiline=true maxLength=1000 %}{% /string-field %}
76
+ {% field kind="string" id="company_description" label="Company Description" multiline=true maxLength=1000 %}{% /field %}
77
77
 
78
78
  {% instructions ref="company_description" %}
79
79
  Brief description of what the company does. 100-200 words max.
@@ -83,19 +83,19 @@ Brief description of what the company does. 100-200 words max.
83
83
 
84
84
  {% field-group id="funding_info" title="Funding Information" %}
85
85
 
86
- {% string-field id="total_funding" label="Total Funding Raised" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}{% /string-field %}
86
+ {% field kind="string" id="total_funding" label="Total Funding Raised" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}{% /field %}
87
87
 
88
88
  {% instructions ref="total_funding" %}
89
89
  Format: $X.XB, $XXM, or $XXK (e.g., "$1.5B", "$50M", "$500K")
90
90
  {% /instructions %}
91
91
 
92
- {% string-field id="latest_valuation" label="Latest Valuation" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}{% /string-field %}
92
+ {% field kind="string" id="latest_valuation" label="Latest Valuation" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}{% /field %}
93
93
 
94
94
  {% instructions ref="latest_valuation" %}
95
95
  Format: $X.XB, $XXM, or $XXK (e.g., "$10B")
96
96
  {% /instructions %}
97
97
 
98
- {% single-select id="funding_stage" label="Funding Stage" %}
98
+ {% field kind="single_select" id="funding_stage" label="Funding Stage" %}
99
99
  - [ ] Pre-seed {% #pre_seed %}
100
100
  - [ ] Seed {% #seed %}
101
101
  - [ ] Series A {% #series_a %}
@@ -103,15 +103,15 @@ Format: $X.XB, $XXM, or $XXK (e.g., "$10B")
103
103
  - [ ] Series C {% #series_c %}
104
104
  - [ ] Series D+ {% #series_d_plus %}
105
105
  - [ ] Public {% #public %}
106
- {% /single-select %}
106
+ {% /field %}
107
107
 
108
- {% string-list id="key_investors" label="Key Investors" maxItems=10 %}{% /string-list %}
108
+ {% field kind="string_list" id="key_investors" label="Key Investors" maxItems=10 %}{% /field %}
109
109
 
110
110
  {% instructions ref="key_investors" %}
111
111
  List notable investors (VCs, angels), one per line.
112
112
  {% /instructions %}
113
113
 
114
- {% url-list id="funding_announcements" label="Funding Announcement URLs" maxItems=5 uniqueItems=true %}{% /url-list %}
114
+ {% field kind="url_list" id="funding_announcements" label="Funding Announcement URLs" maxItems=5 uniqueItems=true %}{% /field %}
115
115
 
116
116
  {% instructions ref="funding_announcements" %}
117
117
  URLs to press releases or articles about funding rounds.
@@ -121,25 +121,25 @@ URLs to press releases or articles about funding rounds.
121
121
 
122
122
  {% field-group id="people" title="Key People" %}
123
123
 
124
- {% string-field id="ceo" label="CEO / Founder" %}{% /string-field %}
124
+ {% field kind="string" id="ceo" label="CEO / Founder" %}{% /field %}
125
125
 
126
126
  {% instructions ref="ceo" %}
127
127
  Name of CEO or primary founder.
128
128
  {% /instructions %}
129
129
 
130
- {% url-field id="ceo_linkedin" label="CEO LinkedIn" %}{% /url-field %}
130
+ {% field kind="url" id="ceo_linkedin" label="CEO LinkedIn" %}{% /field %}
131
131
 
132
132
  {% instructions ref="ceo_linkedin" %}
133
133
  LinkedIn profile URL of the CEO/founder.
134
134
  {% /instructions %}
135
135
 
136
- {% string-list id="founders" label="Founders" maxItems=5 %}{% /string-list %}
136
+ {% field kind="string_list" id="founders" label="Founders" maxItems=5 %}{% /field %}
137
137
 
138
138
  {% instructions ref="founders" %}
139
139
  List all founders, one per line.
140
140
  {% /instructions %}
141
141
 
142
- {% number-field id="employee_count" label="Employee Count" min=1 integer=true %}{% /number-field %}
142
+ {% field kind="number" id="employee_count" label="Employee Count" min=1 integer=true %}{% /field %}
143
143
 
144
144
  {% instructions ref="employee_count" %}
145
145
  Approximate number of employees.
@@ -149,7 +149,7 @@ Approximate number of employees.
149
149
 
150
150
  {% field-group id="market_info" title="Market & Industry" %}
151
151
 
152
- {% multi-select id="industry_sectors" label="Industry Sectors" minSelections=1 maxSelections=5 %}
152
+ {% field kind="multi_select" id="industry_sectors" label="Industry Sectors" minSelections=1 maxSelections=5 %}
153
153
  - [ ] AI/ML {% #ai_ml %}
154
154
  - [ ] FinTech {% #fintech %}
155
155
  - [ ] HealthTech {% #healthtech %}
@@ -160,15 +160,15 @@ Approximate number of employees.
160
160
  - [ ] Developer Tools {% #devtools %}
161
161
  - [ ] Climate Tech {% #climatetech %}
162
162
  - [ ] Other {% #other %}
163
- {% /multi-select %}
163
+ {% /field %}
164
164
 
165
- {% string-list id="competitors" label="Competitors" maxItems=5 %}{% /string-list %}
165
+ {% field kind="string_list" id="competitors" label="Competitors" maxItems=5 %}{% /field %}
166
166
 
167
167
  {% instructions ref="competitors" %}
168
168
  List main competitors, one per line.
169
169
  {% /instructions %}
170
170
 
171
- {% url-list id="competitor_urls" label="Competitor Website URLs" maxItems=5 uniqueItems=true %}{% /url-list %}
171
+ {% field kind="url_list" id="competitor_urls" label="Competitor Website URLs" maxItems=5 uniqueItems=true %}{% /field %}
172
172
 
173
173
  {% instructions ref="competitor_urls" %}
174
174
  Website URLs of main competitors.
@@ -178,19 +178,19 @@ Website URLs of main competitors.
178
178
 
179
179
  {% field-group id="press_coverage" title="Press & Coverage" %}
180
180
 
181
- {% url-list id="press_articles" label="Press Coverage URLs" minItems=1 maxItems=10 uniqueItems=true %}{% /url-list %}
181
+ {% field kind="url_list" id="press_articles" label="Press Coverage URLs" minItems=1 maxItems=10 uniqueItems=true %}{% /field %}
182
182
 
183
183
  {% instructions ref="press_articles" %}
184
184
  URLs to major press articles, reviews, or coverage about the company.
185
185
  {% /instructions %}
186
186
 
187
- {% url-field id="crunchbase_url" label="Crunchbase Profile" %}{% /url-field %}
187
+ {% field kind="url" id="crunchbase_url" label="Crunchbase Profile" %}{% /field %}
188
188
 
189
189
  {% instructions ref="crunchbase_url" %}
190
190
  Crunchbase company profile URL.
191
191
  {% /instructions %}
192
192
 
193
- {% url-field id="pitchbook_url" label="PitchBook Profile" %}{% /url-field %}
193
+ {% field kind="url" id="pitchbook_url" label="PitchBook Profile" %}{% /field %}
194
194
 
195
195
  {% instructions ref="pitchbook_url" %}
196
196
  PitchBook company profile URL if available.
@@ -200,7 +200,7 @@ PitchBook company profile URL if available.
200
200
 
201
201
  {% field-group id="sources_section" title="Research Sources" %}
202
202
 
203
- {% url-list id="sources" label="Source URLs" minItems=1 uniqueItems=true %}{% /url-list %}
203
+ {% field kind="url_list" id="sources" label="Source URLs" minItems=1 uniqueItems=true %}{% /field %}
204
204
 
205
205
  {% instructions ref="sources" %}
206
206
  List all source URLs used for this research. Include Crunchbase, company website, and any additional sources consulted.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "markform",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Markdown forms for token-friendly workflows",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "author": "Joshua Levy",
@@ -47,10 +47,9 @@
47
47
  },
48
48
  "files": [
49
49
  "dist",
50
+ "docs",
50
51
  "examples",
51
- "DOCS.md",
52
- "README.md",
53
- "SPEC.md"
52
+ "README.md"
54
53
  ],
55
54
  "engines": {
56
55
  "node": ">=20"
@@ -60,37 +59,29 @@
60
59
  "@ai-sdk/google": "^3.0.1",
61
60
  "@ai-sdk/openai": "^3.0.1",
62
61
  "@ai-sdk/xai": "^3.0.1",
63
- "@clack/prompts": "^0.9.0",
64
- "@markdoc/markdoc": "^0.5.0",
65
- "atomically": "^2.0.0",
66
- "commander": "^13.0.0",
62
+ "@clack/prompts": "^0.9.1",
63
+ "@markdoc/markdoc": "^0.5.4",
64
+ "ai": "^6.0.3",
65
+ "atomically": "^2.1.0",
66
+ "commander": "^13.1.0",
67
67
  "dotenv": "^17.2.3",
68
- "jiti": "^2.4.0",
68
+ "jiti": "^2.6.1",
69
69
  "js-sha256": "^0.11.1",
70
- "picocolors": "^1.1.0",
71
- "yaml": "^2.7.0",
72
- "zod": "^3.24.0"
73
- },
74
- "peerDependencies": {
75
- "ai": "^6.0.0"
76
- },
77
- "peerDependenciesMeta": {
78
- "ai": {
79
- "optional": true
80
- }
70
+ "picocolors": "^1.1.1",
71
+ "yaml": "^2.8.2",
72
+ "zod": "^3.25.76"
81
73
  },
82
74
  "devDependencies": {
83
75
  "@ai-sdk/anthropic": "^3.0.1",
84
- "@types/node": "^24.0.0",
76
+ "@types/node": "^24.10.4",
85
77
  "@vitest/coverage-v8": "^3.2.4",
86
- "ai": "^6.0.3",
87
- "publint": "^0.3.0",
88
- "tsdown": "^0.16.0",
89
- "typescript": "^5.0.0",
90
- "vitest": "^3.0.0"
78
+ "publint": "^0.3.16",
79
+ "tsdown": "^0.16.8",
80
+ "typescript": "^5.9.3",
81
+ "vitest": "^3.2.4"
91
82
  },
92
83
  "scripts": {
93
- "copy-docs": "cp ../../README.md . && cp ../../SPEC.md .",
84
+ "copy-docs": "cp ../../README.md . && mkdir -p docs && cp ../../docs/markform-spec.md docs/ && cp ../../docs/markform-reference.md docs/ && cp ../../docs/markform-apis.md docs/",
94
85
  "build": "pnpm run copy-docs && tsdown",
95
86
  "dev": "tsdown --watch",
96
87
  "typecheck": "tsc -p tsconfig.json --noEmit",
@@ -1,4 +0,0 @@
1
- import "./coreTypes-Dful87E0.mjs";
2
- import { n as serializeSession, t as parseSession } from "./session-Bqnwi9wp.mjs";
3
-
4
- export { serializeSession };
@@ -1,3 +0,0 @@
1
- import { a as getCommandContext, c as logInfo, d as logVerbose, f as logWarn, h as writeFile, i as formatPath, l as logSuccess, m as shouldUseColors, n as ensureFormsDir, o as logDryRun, p as readFile, r as formatOutput, s as logError, t as OUTPUT_FORMATS, u as logTiming } from "./shared-N_s1M-_K.mjs";
2
-
3
- export { writeFile };