markform 0.1.20 → 0.1.22

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 (58) hide show
  1. package/README.md +44 -12
  2. package/dist/ai-sdk.d.mts +1 -1
  3. package/dist/ai-sdk.mjs +2 -2
  4. package/dist/{apply-DIvm1b1s.mjs → apply-C7mO7VkZ.mjs} +158 -95
  5. package/dist/apply-C7mO7VkZ.mjs.map +1 -0
  6. package/dist/bin.mjs +1 -1
  7. package/dist/{cli-FFMoEhFS.mjs → cli-C8F9yDsv.mjs} +102 -1225
  8. package/dist/cli-C8F9yDsv.mjs.map +1 -0
  9. package/dist/cli.mjs +1 -1
  10. package/dist/{coreTypes-CkxML8g2.d.mts → coreTypes-BlsJkU1w.d.mts} +28 -2
  11. package/dist/{coreTypes-CPKXf2dc.mjs → coreTypes-CTLr-NGd.mjs} +24 -3
  12. package/dist/coreTypes-CTLr-NGd.mjs.map +1 -0
  13. package/dist/fillRecord-DTl5lnK0.d.mts +345 -0
  14. package/dist/fillRecordRenderer-CruJrLkj.mjs +1256 -0
  15. package/dist/fillRecordRenderer-CruJrLkj.mjs.map +1 -0
  16. package/dist/index.d.mts +22 -342
  17. package/dist/index.mjs +5 -5
  18. package/dist/render.d.mts +74 -0
  19. package/dist/render.mjs +4 -0
  20. package/dist/{session-CK0x28RO.mjs → session-BCcltrLA.mjs} +2 -2
  21. package/dist/{session-CK0x28RO.mjs.map → session-BCcltrLA.mjs.map} +1 -1
  22. package/dist/{session-ZHBi3LVQ.mjs → session-VeSkVrck.mjs} +1 -1
  23. package/dist/{shared-DwdyWmvE.mjs → shared-CsdT2T7k.mjs} +1 -1
  24. package/dist/{shared-DwdyWmvE.mjs.map → shared-CsdT2T7k.mjs.map} +1 -1
  25. package/dist/{shared-BTR35aMz.mjs → shared-fb0nkzQi.mjs} +1 -1
  26. package/dist/{src-wR7GoftB.mjs → src-CbRnGzMK.mjs} +205 -138
  27. package/dist/src-CbRnGzMK.mjs.map +1 -0
  28. package/dist/urlFormat-lls7CsEP.mjs +71 -0
  29. package/dist/urlFormat-lls7CsEP.mjs.map +1 -0
  30. package/docs/markform-apis.md +53 -0
  31. package/examples/movie-research/movie-deep-research-mock-filled.form.md +320 -343
  32. package/examples/movie-research/movie-deep-research.form.md +273 -308
  33. package/examples/movie-research/movie-research-demo.form.md +27 -41
  34. package/examples/parallel/parallel-research.form.md +33 -29
  35. package/examples/parallel/parallel-research.mock.filled.form.md +88 -0
  36. package/examples/rejection-test/rejection-test-mock-filled.form.md +21 -16
  37. package/examples/rejection-test/rejection-test-mock-filled.schema.json +1 -1
  38. package/examples/rejection-test/rejection-test.form.md +17 -15
  39. package/examples/rejection-test/rejection-test.session.yaml +88 -60
  40. package/examples/simple/simple-mock-filled.form.md +113 -126
  41. package/examples/simple/simple-mock-filled.schema.json +2 -3
  42. package/examples/simple/simple-skipped-filled.form.md +112 -129
  43. package/examples/simple/simple-skipped-filled.report.md +8 -8
  44. package/examples/simple/simple-skipped-filled.schema.json +2 -3
  45. package/examples/simple/simple-tags-syntax.form.md +32 -0
  46. package/examples/simple/simple-with-skips.session.yaml +663 -627
  47. package/examples/simple/simple.form.md +97 -113
  48. package/examples/simple/simple.schema.json +2 -3
  49. package/examples/simple/simple.session.yaml +663 -627
  50. package/examples/startup-deep-research/startup-deep-research.form.md +191 -235
  51. package/examples/startup-research/startup-research-mock-filled.form.md +128 -147
  52. package/examples/startup-research/startup-research.form.md +90 -129
  53. package/examples/twitter-thread/twitter-thread.form.md +373 -0
  54. package/package.json +5 -1
  55. package/dist/apply-DIvm1b1s.mjs.map +0 -1
  56. package/dist/cli-FFMoEhFS.mjs.map +0 -1
  57. package/dist/coreTypes-CPKXf2dc.mjs.map +0 -1
  58. package/dist/src-wR7GoftB.mjs.map +0 -1
@@ -1,11 +1,8 @@
1
1
  ---
2
2
  markform:
3
- spec: "MF/0.1"
4
- roles:
5
- - user
6
- - agent
3
+ spec: MF/0.1
7
4
  role_instructions:
8
- user: "Enter the name of the startup company you want to research."
5
+ user: Enter the name of the startup company you want to research.
9
6
  agent: |
10
7
  Research and fill in all company information for the specified startup.
11
8
  Guidelines:
@@ -17,133 +14,116 @@ markform:
17
14
  6. Leave unknown fields empty - Don't guess or fabricate information
18
15
  7. Keep descriptions concise - Aim for 100-200 words max
19
16
  ---
20
- {% form id="startup_research" title="Startup Research Form" %}
21
17
 
22
- {% description ref="startup_research" %}
18
+ <!-- form id="startup_research" title="Startup Research Form" -->
19
+
20
+ <!-- description ref="startup_research" -->
23
21
  A comprehensive research form for startup companies.
24
22
  This form demonstrates URL field types for capturing company websites, funding sources,
25
23
  press coverage, and other web references.
26
24
  The user provides the company name, and the agent researches and fills all remaining
27
25
  fields.
28
- {% /description %}
29
-
30
- {% documentation ref="startup_research" %}
31
- **Workflow:**
32
- 1. User enters the startup company name
33
- 2. Agent researches and fills company information
34
- 3. Agent includes all relevant URLs (website, LinkedIn, press, funding sources)
35
- 4. Agent provides source citations
36
-
37
- **Data Sources:**
38
- - Crunchbase profiles
39
- - Company websites
40
- - Press releases
41
- - LinkedIn company pages
42
- - Tech news publications
26
+ <!-- /description -->
43
27
 
44
- {% /documentation %}
28
+ <!-- group id="basic_info" title="Company Information" -->
45
29
 
46
- {% group id="basic_info" title="Company Information" %}
47
-
48
- {% field kind="string" id="company_name" label="Company Name" role="user" required=true minLength=2 maxLength=200 %}
30
+ <!-- field kind="string" id="company_name" role="user" label="Company Name" maxLength=200 minLength=2 required=true -->
49
31
  ```value
50
32
  Anthropic
51
33
  ```
52
- {% /field %}
34
+ <!-- /field -->
53
35
 
54
- {% instructions ref="company_name" %}
36
+ <!-- instructions ref="company_name" -->
55
37
  Enter the official name of the startup company you want to research (e.g., “Stripe”,
56
38
  “OpenAI”).
57
- {% /instructions %}
39
+ <!-- /instructions -->
58
40
 
59
- {% field kind="url" id="company_website" label="Company Website" required=true %}
41
+ <!-- field kind="url" id="company_website" label="Company Website" required=true -->
60
42
  ```value
61
43
  https://www.anthropic.com
62
44
  ```
63
- {% /field %}
45
+ <!-- /field -->
64
46
 
65
- {% instructions ref="company_website" %}
47
+ <!-- instructions ref="company_website" -->
66
48
  The official company website URL.
67
- {% /instructions %}
49
+ <!-- /instructions -->
68
50
 
69
- {% field kind="url" id="linkedin_page" label="LinkedIn Company Page" %}
51
+ <!-- field kind="url" id="linkedin_page" label="LinkedIn Company Page" -->
70
52
  ```value
71
53
  https://www.linkedin.com/company/anthropic
72
54
  ```
73
- {% /field %}
55
+ <!-- /field -->
74
56
 
75
- {% instructions ref="linkedin_page" %}
57
+ <!-- instructions ref="linkedin_page" -->
76
58
  LinkedIn company page URL if available.
77
- {% /instructions %}
59
+ <!-- /instructions -->
78
60
 
79
- {% field kind="string" id="founded_date" label="Founded Date" pattern="^\\d{4}(-\\d{2}(-\\d{2})?)?$" %}
61
+ <!-- field kind="string" id="founded_date" label="Founded Date" pattern="^\\d{4}(-\\d{2}(-\\d{2})?)?$" -->
80
62
  ```value
81
63
  2021
82
64
  ```
83
- {% /field %}
65
+ <!-- /field -->
84
66
 
85
- {% instructions ref="founded_date" %}
67
+ <!-- instructions ref="founded_date" -->
86
68
  Format: YYYY, YYYY-MM, or YYYY-MM-DD (e.g., 2010, 2010-06, 2010-06-15)
87
- {% /instructions %}
69
+ <!-- /instructions -->
88
70
 
89
- {% field kind="string" id="headquarters" label="Headquarters Location" %}
71
+ <!-- field kind="string" id="headquarters" label="Headquarters Location" -->
90
72
  ```value
91
73
  San Francisco, California
92
74
  ```
93
- {% /field %}
75
+ <!-- /field -->
94
76
 
95
- {% instructions ref="headquarters" %}
77
+ <!-- instructions ref="headquarters" -->
96
78
  Format: City, State/Country (e.g., “San Francisco, California”)
97
- {% /instructions %}
79
+ <!-- /instructions -->
98
80
 
99
- {% field kind="string" id="company_description" label="Company Description" multiline=true maxLength=1000 %}
81
+ <!-- field kind="string" id="company_description" label="Company Description" maxLength=1000 multiline=true -->
100
82
  ```value
101
83
  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.
102
84
  ```
103
- {% /field %}
85
+ <!-- /field -->
104
86
 
105
- {% instructions ref="company_description" %}
87
+ <!-- instructions ref="company_description" -->
106
88
  Brief description of what the company does.
107
89
  100-200 words max.
108
- {% /instructions %}
90
+ <!-- /instructions -->
109
91
 
110
- {% /group %}
92
+ <!-- /group -->
111
93
 
112
- {% group id="funding_info" title="Funding Information" %}
94
+ <!-- group id="funding_info" title="Funding Information" -->
113
95
 
114
- {% field kind="string" id="total_funding" label="Total Funding Raised" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}
96
+ <!-- field kind="string" id="total_funding" label="Total Funding Raised" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" -->
115
97
  ```value
116
98
  $7.6B
117
99
  ```
118
- {% /field %}
100
+ <!-- /field -->
119
101
 
120
- {% instructions ref="total_funding" %}
102
+ <!-- instructions ref="total_funding" -->
121
103
  Format: $X.XB, $XXM, or $XXK (e.g., “$1.5B”, “$50M”, “$500K”)
122
- {% /instructions %}
104
+ <!-- /instructions -->
123
105
 
124
- {% field kind="string" id="latest_valuation" label="Latest Valuation" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}
106
+ <!-- field kind="string" id="latest_valuation" label="Latest Valuation" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" -->
125
107
  ```value
126
108
  $18.4B
127
109
  ```
128
- {% /field %}
110
+ <!-- /field -->
129
111
 
130
- {% instructions ref="latest_valuation" %}
112
+ <!-- instructions ref="latest_valuation" -->
131
113
  Format: $X.XB, $XXM, or $XXK (e.g., “$10B”)
132
- {% /instructions %}
133
-
134
- {% field kind="single_select" id="funding_stage" label="Funding Stage" %}
135
-
136
- - [ ] Pre-seed {% #pre_seed %}
137
- - [ ] Seed {% #seed %}
138
- - [ ] Series A {% #series_a %}
139
- - [ ] Series B {% #series_b %}
140
- - [ ] Series C {% #series_c %}
141
- - [x] Series D+ {% #series_d_plus %}
142
- - [ ] Public {% #public %}
143
-
144
- {% /field %}
145
-
146
- {% field kind="string_list" id="key_investors" label="Key Investors" maxItems=10 %}
114
+ <!-- /instructions -->
115
+
116
+ <!-- field kind="single_select" id="funding_stage" label="Funding Stage" -->
117
+ - [ ] Pre-seed <!-- #pre_seed -->
118
+ - [ ] Seed <!-- #seed -->
119
+ - [ ] Series A <!-- #series_a -->
120
+ - [ ] Series B <!-- #series_b -->
121
+ - [ ] Series C <!-- #series_c -->
122
+ - [x] Series D+ <!-- #series_d_plus -->
123
+ - [ ] Public <!-- #public -->
124
+ <!-- /field -->
125
+
126
+ <!-- field kind="string_list" id="key_investors" label="Key Investors" maxItems=10 -->
147
127
  ```value
148
128
  Google
149
129
  Spark Capital
@@ -151,48 +131,48 @@ Salesforce Ventures
151
131
  Amazon
152
132
  Sound Ventures
153
133
  ```
154
- {% /field %}
134
+ <!-- /field -->
155
135
 
156
- {% instructions ref="key_investors" %}
136
+ <!-- instructions ref="key_investors" -->
157
137
  List notable investors (VCs, angels), one per line.
158
- {% /instructions %}
138
+ <!-- /instructions -->
159
139
 
160
- {% field kind="url_list" id="funding_announcements" label="Funding Announcement URLs" maxItems=5 uniqueItems=true %}
140
+ <!-- field kind="url_list" id="funding_announcements" label="Funding Announcement URLs" maxItems=5 uniqueItems=true -->
161
141
  ```value
162
142
  https://www.anthropic.com/news/anthropic-raises-series-c
163
143
  https://techcrunch.com/2023/09/25/amazon-to-invest-up-to-4-billion-in-anthropic/
164
144
  ```
165
- {% /field %}
145
+ <!-- /field -->
166
146
 
167
- {% instructions ref="funding_announcements" %}
147
+ <!-- instructions ref="funding_announcements" -->
168
148
  URLs to press releases or articles about funding rounds.
169
- {% /instructions %}
149
+ <!-- /instructions -->
170
150
 
171
- {% /group %}
151
+ <!-- /group -->
172
152
 
173
- {% group id="people" title="Key People" %}
153
+ <!-- group id="people" title="Key People" -->
174
154
 
175
- {% field kind="string" id="ceo" label="CEO / Founder" %}
155
+ <!-- field kind="string" id="ceo" label="CEO / Founder" -->
176
156
  ```value
177
157
  Dario Amodei
178
158
  ```
179
- {% /field %}
159
+ <!-- /field -->
180
160
 
181
- {% instructions ref="ceo" %}
161
+ <!-- instructions ref="ceo" -->
182
162
  Name of CEO or primary founder.
183
- {% /instructions %}
163
+ <!-- /instructions -->
184
164
 
185
- {% field kind="url" id="ceo_linkedin" label="CEO LinkedIn" %}
165
+ <!-- field kind="url" id="ceo_linkedin" label="CEO LinkedIn" -->
186
166
  ```value
187
167
  https://www.linkedin.com/in/dario-amodei
188
168
  ```
189
- {% /field %}
169
+ <!-- /field -->
190
170
 
191
- {% instructions ref="ceo_linkedin" %}
171
+ <!-- instructions ref="ceo_linkedin" -->
192
172
  LinkedIn profile URL of the CEO/founder.
193
- {% /instructions %}
173
+ <!-- /instructions -->
194
174
 
195
- {% field kind="string_list" id="founders" label="Founders" maxItems=5 %}
175
+ <!-- field kind="string_list" id="founders" label="Founders" maxItems=5 -->
196
176
  ```value
197
177
  Dario Amodei
198
178
  Daniela Amodei
@@ -200,117 +180,118 @@ Tom Brown
200
180
  Chris Olah
201
181
  Sam McCandlish
202
182
  ```
203
- {% /field %}
183
+ <!-- /field -->
204
184
 
205
- {% instructions ref="founders" %}
185
+ <!-- instructions ref="founders" -->
206
186
  List all founders, one per line.
207
- {% /instructions %}
187
+ <!-- /instructions -->
208
188
 
209
- {% field kind="number" id="employee_count" label="Employee Count" min=1 integer=true %}
189
+ <!-- field kind="number" id="employee_count" integer=true label="Employee Count" min=1 -->
210
190
  ```value
211
191
  1000
212
192
  ```
213
- {% /field %}
193
+ <!-- /field -->
214
194
 
215
- {% instructions ref="employee_count" %}
195
+ <!-- instructions ref="employee_count" -->
216
196
  Approximate number of employees.
217
- {% /instructions %}
218
-
219
- {% /group %}
220
-
221
- {% group id="market_info" title="Market & Industry" %}
222
-
223
- {% field kind="multi_select" id="industry_sectors" label="Industry Sectors" minSelections=1 maxSelections=5 %}
224
-
225
- - [x] AI/ML {% #ai_ml %}
226
- - [ ] FinTech {% #fintech %}
227
- - [ ] HealthTech {% #healthtech %}
228
- - [ ] EdTech {% #edtech %}
229
- - [x] SaaS {% #saas %}
230
- - [ ] E-commerce {% #ecommerce %}
231
- - [x] Security {% #security %}
232
- - [x] Developer Tools {% #devtools %}
233
- - [ ] Climate Tech {% #climatetech %}
234
- - [ ] Other {% #other %}
235
-
236
- {% /field %}
237
-
238
- {% field kind="string_list" id="competitors" label="Competitors" maxItems=5 %}
197
+ <!-- /instructions -->
198
+
199
+ <!-- /group -->
200
+
201
+ <!-- group id="market_info" title="Market & Industry" -->
202
+
203
+ <!-- field kind="multi_select" id="industry_sectors" label="Industry Sectors" maxSelections=5 minSelections=1 -->
204
+ - [x] AI/ML <!-- #ai_ml -->
205
+ - [ ] FinTech <!-- #fintech -->
206
+ - [ ] HealthTech <!-- #healthtech -->
207
+ - [ ] EdTech <!-- #edtech -->
208
+ - [x] SaaS <!-- #saas -->
209
+ - [ ] E-commerce <!-- #ecommerce -->
210
+ - [x] Security <!-- #security -->
211
+ - [x] Developer Tools <!-- #devtools -->
212
+ - [ ] Climate Tech <!-- #climatetech -->
213
+ - [ ] Other <!-- #other -->
214
+ <!-- /field -->
215
+
216
+ <!-- field kind="string_list" id="competitors" label="Competitors" maxItems=5 -->
239
217
  ```value
240
218
  OpenAI
241
219
  Google DeepMind
242
220
  Cohere
243
221
  Mistral AI
244
222
  ```
245
- {% /field %}
223
+ <!-- /field -->
246
224
 
247
- {% instructions ref="competitors" %}
225
+ <!-- instructions ref="competitors" -->
248
226
  List main competitors, one per line.
249
- {% /instructions %}
227
+ <!-- /instructions -->
250
228
 
251
- {% field kind="url_list" id="competitor_urls" label="Competitor Website URLs" maxItems=5 uniqueItems=true %}
229
+ <!-- field kind="url_list" id="competitor_urls" label="Competitor Website URLs" maxItems=5 uniqueItems=true -->
252
230
  ```value
253
231
  https://openai.com
254
232
  https://deepmind.google
255
233
  https://cohere.com
256
234
  https://mistral.ai
257
235
  ```
258
- {% /field %}
236
+ <!-- /field -->
259
237
 
260
- {% instructions ref="competitor_urls" %}
238
+ <!-- instructions ref="competitor_urls" -->
261
239
  Website URLs of main competitors.
262
- {% /instructions %}
240
+ <!-- /instructions -->
263
241
 
264
- {% /group %}
242
+ <!-- /group -->
265
243
 
266
- {% group id="press_coverage" title="Press & Coverage" %}
244
+ <!-- group id="press_coverage" title="Press & Coverage" -->
267
245
 
268
- {% field kind="url_list" id="press_articles" label="Press Coverage URLs" minItems=1 maxItems=10 uniqueItems=true %}
246
+ <!-- field kind="url_list" id="press_articles" label="Press Coverage URLs" maxItems=10 minItems=1 uniqueItems=true -->
269
247
  ```value
270
248
  https://www.wired.com/story/anthropic-ai-claude-chatgpt-rival/
271
249
  https://www.nytimes.com/2023/03/14/technology/anthropic-ai-chatbot.html
272
250
  https://www.forbes.com/sites/alexkonrad/2023/09/25/anthropic-ai-amazon-investment/
273
251
  ```
274
- {% /field %}
252
+ <!-- /field -->
275
253
 
276
- {% instructions ref="press_articles" %}
254
+ <!-- instructions ref="press_articles" -->
277
255
  URLs to major press articles, reviews, or coverage about the company.
278
- {% /instructions %}
256
+ <!-- /instructions -->
279
257
 
280
- {% field kind="url" id="crunchbase_url" label="Crunchbase Profile" %}
258
+ <!-- field kind="url" id="crunchbase_url" label="Crunchbase Profile" -->
281
259
  ```value
282
260
  https://www.crunchbase.com/organization/anthropic
283
261
  ```
284
- {% /field %}
262
+ <!-- /field -->
285
263
 
286
- {% instructions ref="crunchbase_url" %}
264
+ <!-- instructions ref="crunchbase_url" -->
287
265
  Crunchbase company profile URL.
288
- {% /instructions %}
266
+ <!-- /instructions -->
289
267
 
290
- {% field kind="url" id="pitchbook_url" label="PitchBook Profile" %}{% /field %}
268
+ <!-- field kind="url" id="pitchbook_url" label="PitchBook Profile" --><!-- /field -->
291
269
 
292
- {% instructions ref="pitchbook_url" %}
270
+ <!-- instructions ref="pitchbook_url" -->
293
271
  PitchBook company profile URL if available.
294
- {% /instructions %}
272
+ <!-- /instructions -->
295
273
 
296
- {% /group %}
274
+ <!-- /group -->
297
275
 
298
- {% group id="sources_section" title="Research Sources" %}
276
+ <!-- group id="sources_section" title="Research Sources" -->
299
277
 
300
- {% field kind="url_list" id="sources" label="Source URLs" minItems=1 uniqueItems=true %}
278
+ <!-- field kind="url_list" id="sources" label="Source URLs" minItems=1 uniqueItems=true -->
301
279
  ```value
302
280
  https://www.crunchbase.com/organization/anthropic
303
281
  https://www.anthropic.com
304
282
  https://www.linkedin.com/company/anthropic
305
283
  https://en.wikipedia.org/wiki/Anthropic
306
284
  ```
307
- {% /field %}
285
+ <!-- /field -->
308
286
 
309
- {% instructions ref="sources" %}
287
+ <!-- instructions ref="sources" -->
310
288
  List all source URLs used for this research.
311
289
  Include Crunchbase, company website, and any additional sources consulted.
312
- {% /instructions %}
290
+ <!-- /instructions -->
291
+
292
+ <!-- /group -->
293
+
294
+ <!-- /form -->
295
+
313
296
 
314
- {% /group %}
315
297
 
316
- {% /form %}