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
@@ -2,11 +2,8 @@
2
2
  markform:
3
3
  spec: MF/0.1
4
4
  run_mode: research
5
- roles:
6
- - user
7
- - agent
8
5
  role_instructions:
9
- user: "Enter the name of the startup company you want to research."
6
+ user: Enter the name of the startup company you want to research.
10
7
  agent: |
11
8
  Research and fill in all company information for the specified startup.
12
9
  Guidelines:
@@ -18,203 +15,167 @@ markform:
18
15
  6. Leave unknown fields empty - Don't guess or fabricate information
19
16
  7. Keep descriptions concise - Aim for 100-200 words max
20
17
  ---
21
- {% form id="startup_research" title="Startup Research Form" %}
22
18
 
23
- {% description ref="startup_research" %}
19
+ <!-- form id="startup_research" title="Startup Research Form" -->
20
+
21
+ <!-- description ref="startup_research" -->
24
22
  A comprehensive research form for startup companies.
25
23
  This form demonstrates URL field types for capturing company websites, funding sources,
26
24
  press coverage, and other web references.
27
25
  The user provides the company name, and the agent researches and fills all remaining
28
26
  fields.
29
- {% /description %}
30
-
31
- {% documentation ref="startup_research" %}
32
- **Workflow:**
33
- 1. User enters the startup company name
34
- 2. Agent researches and fills company information
35
- 3. Agent includes all relevant URLs (website, LinkedIn, press, funding sources)
36
- 4. Agent provides source citations
37
-
38
- **Data Sources:**
39
- - Crunchbase profiles
40
- - Company websites
41
- - Press releases
42
- - LinkedIn company pages
43
- - Tech news publications
27
+ <!-- /description -->
44
28
 
45
- {% /documentation %}
29
+ <!-- group id="basic_info" title="Company Information" -->
46
30
 
47
- {% group id="basic_info" title="Company Information" %}
31
+ <!-- field kind="string" id="company_name" role="user" label="Company Name" maxLength=200 minLength=2 required=true --><!-- /field -->
48
32
 
49
- {% field kind="string" id="company_name" label="Company Name" role="user" required=true minLength=2 maxLength=200 %}{% /field %}
50
-
51
- {% instructions ref="company_name" %}
33
+ <!-- instructions ref="company_name" -->
52
34
  Enter the official name of the startup company you want to research (e.g., “Stripe”,
53
35
  “OpenAI”).
54
- {% /instructions %}
36
+ <!-- /instructions -->
55
37
 
56
- {% field kind="url" id="company_website" label="Company Website" required=true %}{% /field %}
38
+ <!-- field kind="url" id="company_website" label="Company Website" required=true --><!-- /field -->
57
39
 
58
- {% instructions ref="company_website" %}
40
+ <!-- instructions ref="company_website" -->
59
41
  The official company website URL.
60
- {% /instructions %}
42
+ <!-- /instructions -->
61
43
 
62
- {% field kind="url" id="linkedin_page" label="LinkedIn Company Page" %}{% /field %}
44
+ <!-- field kind="url" id="linkedin_page" label="LinkedIn Company Page" --><!-- /field -->
63
45
 
64
- {% instructions ref="linkedin_page" %}
46
+ <!-- instructions ref="linkedin_page" -->
65
47
  LinkedIn company page URL if available.
66
- {% /instructions %}
48
+ <!-- /instructions -->
67
49
 
68
- {% field kind="string" id="founded_date" label="Founded Date" pattern="^\\d{4}(-\\d{2}(-\\d{2})?)?$" %}{% /field %}
50
+ <!-- field kind="string" id="founded_date" label="Founded Date" pattern="^\\d{4}(-\\d{2}(-\\d{2})?)?$" --><!-- /field -->
69
51
 
70
- {% instructions ref="founded_date" %}
52
+ <!-- instructions ref="founded_date" -->
71
53
  Format: YYYY, YYYY-MM, or YYYY-MM-DD (e.g., 2010, 2010-06, 2010-06-15)
72
- {% /instructions %}
54
+ <!-- /instructions -->
73
55
 
74
- {% field kind="string" id="headquarters" label="Headquarters Location" %}{% /field %}
56
+ <!-- field kind="string" id="headquarters" label="Headquarters Location" --><!-- /field -->
75
57
 
76
- {% instructions ref="headquarters" %}
58
+ <!-- instructions ref="headquarters" -->
77
59
  Format: City, State/Country (e.g., “San Francisco, California”)
78
- {% /instructions %}
60
+ <!-- /instructions -->
79
61
 
80
- {% field kind="string" id="company_description" label="Company Description" multiline=true maxLength=1000 %}{% /field %}
62
+ <!-- field kind="string" id="company_description" label="Company Description" maxLength=1000 multiline=true --><!-- /field -->
81
63
 
82
- {% instructions ref="company_description" %}
64
+ <!-- instructions ref="company_description" -->
83
65
  Brief description of what the company does.
84
66
  100-200 words max.
85
- {% /instructions %}
67
+ <!-- /instructions -->
86
68
 
87
- {% /group %}
69
+ <!-- /group -->
88
70
 
89
- {% group id="funding_info" title="Funding Information" %}
71
+ <!-- group id="funding_info" title="Funding Information" -->
90
72
 
91
- {% field kind="string" id="total_funding" label="Total Funding Raised" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}{% /field %}
73
+ <!-- field kind="string" id="total_funding" label="Total Funding Raised" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" --><!-- /field -->
92
74
 
93
- {% instructions ref="total_funding" %}
75
+ <!-- instructions ref="total_funding" -->
94
76
  Format: $X.XB, $XXM, or $XXK (e.g., “$1.5B”, “$50M”, “$500K”)
95
- {% /instructions %}
77
+ <!-- /instructions -->
96
78
 
97
- {% field kind="string" id="latest_valuation" label="Latest Valuation" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" %}{% /field %}
79
+ <!-- field kind="string" id="latest_valuation" label="Latest Valuation" pattern="^\\$[0-9]+(\\.[0-9]+)?(K|M|B)?$" --><!-- /field -->
98
80
 
99
- {% instructions ref="latest_valuation" %}
81
+ <!-- instructions ref="latest_valuation" -->
100
82
  Format: $X.XB, $XXM, or $XXK (e.g., “$10B”)
101
- {% /instructions %}
102
-
103
- {% field kind="single_select" id="funding_stage" label="Funding Stage" %}
83
+ <!-- /instructions -->
104
84
 
105
- - [ ] Pre-seed {% #pre_seed %}
106
- - [ ] Seed {% #seed %}
107
- - [ ] Series A {% #series_a %}
108
- - [ ] Series B {% #series_b %}
109
- - [ ] Series C {% #series_c %}
110
- - [ ] Series D+ {% #series_d_plus %}
111
- - [ ] Public {% #public %}
85
+ <!-- field kind="single_select" id="funding_stage" label="Funding Stage" -->
86
+ - [ ] Pre-seed <!-- #pre_seed -->
87
+ - [ ] Seed <!-- #seed -->
88
+ - [ ] Series A <!-- #series_a -->
89
+ - [ ] Series B <!-- #series_b -->
90
+ - [ ] Series C <!-- #series_c -->
91
+ - [ ] Series D+ <!-- #series_d_plus -->
92
+ - [ ] Public <!-- #public -->
93
+ <!-- /field -->
112
94
 
113
- {% /field %}
95
+ <!-- field kind="table" id="funding_rounds" columnIds=["round_type", "date", "amount", "lead_investors", "source_url"] columnLabels=["Round Type", "Date", "Amount", "Lead Investor(s)", "Source URL"] columnTypes=["string", "string", "string", "string", "url"] label="Funding Rounds" maxRows=10 minRows=0 --><!-- /field -->
114
96
 
115
- {% field kind="table" id="funding_rounds" label="Funding Rounds" columnIds=["round_type", "date", "amount", "lead_investors", "source_url"] columnTypes=["string", "string", "string", "string", "url"] minRows=0 maxRows=10 %}
116
-
117
- | Round Type | Date | Amount | Lead Investor(s) | Source URL |
118
- |------------|------|--------|------------------|------------|
119
-
120
- {% /field %}
121
-
122
- {% instructions ref="funding_rounds" %}
97
+ <!-- instructions ref="funding_rounds" -->
123
98
  List funding rounds, most recent first.
124
99
  Date format: YYYY-MM. Example: Series B | 2023-06 | $50M | Sequoia Capital |
125
100
  https://techcrunch.com/...
126
- {% /instructions %}
127
-
128
- {% /group %}
129
-
130
- {% group id="people" title="Key People" %}
101
+ <!-- /instructions -->
131
102
 
132
- {% field kind="table" id="founders" label="Founders" columnIds=["name", "title", "linkedin"] columnTypes=["string", "string", "url"] minRows=1 maxRows=5 %}
103
+ <!-- /group -->
133
104
 
134
- | Name | Title | LinkedIn URL |
135
- |------|-------|--------------|
105
+ <!-- group id="people" title="Key People" -->
136
106
 
137
- {% /field %}
107
+ <!-- field kind="table" id="founders" columnIds=["name", "title", "linkedin"] columnLabels=["Name", "Title", "LinkedIn URL"] columnTypes=["string", "string", "url"] label="Founders" maxRows=5 minRows=1 --><!-- /field -->
138
108
 
139
- {% instructions ref="founders" %}
109
+ <!-- instructions ref="founders" -->
140
110
  List founders and co-founders.
141
111
  Include name, current title, and LinkedIn profile URL.
142
- {% /instructions %}
112
+ <!-- /instructions -->
143
113
 
144
- {% field kind="number" id="employee_count" label="Employee Count" min=1 integer=true %}{% /field %}
114
+ <!-- field kind="number" id="employee_count" integer=true label="Employee Count" min=1 --><!-- /field -->
145
115
 
146
- {% instructions ref="employee_count" %}
116
+ <!-- instructions ref="employee_count" -->
147
117
  Approximate number of employees.
148
- {% /instructions %}
118
+ <!-- /instructions -->
149
119
 
150
- {% /group %}
120
+ <!-- /group -->
151
121
 
152
- {% group id="market_info" title="Market & Industry" %}
122
+ <!-- group id="market_info" title="Market & Industry" -->
153
123
 
154
- {% field kind="multi_select" id="industry_sectors" label="Industry Sectors" minSelections=1 maxSelections=5 %}
124
+ <!-- field kind="multi_select" id="industry_sectors" label="Industry Sectors" maxSelections=5 minSelections=1 -->
125
+ - [ ] AI/ML <!-- #ai_ml -->
126
+ - [ ] FinTech <!-- #fintech -->
127
+ - [ ] HealthTech <!-- #healthtech -->
128
+ - [ ] EdTech <!-- #edtech -->
129
+ - [ ] SaaS <!-- #saas -->
130
+ - [ ] E-commerce <!-- #ecommerce -->
131
+ - [ ] Security <!-- #security -->
132
+ - [ ] Developer Tools <!-- #devtools -->
133
+ - [ ] Climate Tech <!-- #climatetech -->
134
+ - [ ] Other <!-- #other -->
135
+ <!-- /field -->
155
136
 
156
- - [ ] AI/ML {% #ai_ml %}
157
- - [ ] FinTech {% #fintech %}
158
- - [ ] HealthTech {% #healthtech %}
159
- - [ ] EdTech {% #edtech %}
160
- - [ ] SaaS {% #saas %}
161
- - [ ] E-commerce {% #ecommerce %}
162
- - [ ] Security {% #security %}
163
- - [ ] Developer Tools {% #devtools %}
164
- - [ ] Climate Tech {% #climatetech %}
165
- - [ ] Other {% #other %}
137
+ <!-- field kind="table" id="competitors" columnIds=["company_name", "website", "one_liner"] columnLabels=["Company Name", "Website", "One-liner"] columnTypes=["string", "url", "string"] label="Key Competitors" maxRows=5 minRows=0 --><!-- /field -->
166
138
 
167
- {% /field %}
168
-
169
- {% field kind="table" id="competitors" label="Key Competitors" columnIds=["company_name", "website", "one_liner"] columnTypes=["string", "url", "string"] minRows=0 maxRows=5 %}
170
-
171
- | Company Name | Website | One-liner |
172
- |--------------|---------|-----------|
173
-
174
- {% /field %}
175
-
176
- {% instructions ref="competitors" %}
139
+ <!-- instructions ref="competitors" -->
177
140
  List main competitors with their website and a brief description.
178
- {% /instructions %}
179
-
180
- {% /group %}
141
+ <!-- /instructions -->
181
142
 
182
- {% group id="press_coverage" title="Press & Coverage" %}
143
+ <!-- /group -->
183
144
 
184
- {% field kind="table" id="press_articles" label="Press Coverage" columnIds=["title", "publication", "date", "url"] columnTypes=["string", "string", "date", "url"] minRows=1 maxRows=10 %}
145
+ <!-- group id="press_coverage" title="Press & Coverage" -->
185
146
 
186
- | Title | Publication | Date | URL |
187
- |-------|-------------|------|-----|
147
+ <!-- field kind="table" id="press_articles" columnIds=["title", "publication", "date", "url"] columnLabels=["Title", "Publication", "Date", "URL"] columnTypes=["string", "string", "date", "url"] label="Press Coverage" maxRows=10 minRows=1 --><!-- /field -->
188
148
 
189
- {% /field %}
190
-
191
- {% instructions ref="press_articles" %}
149
+ <!-- instructions ref="press_articles" -->
192
150
  Notable press articles, reviews, or coverage about the company.
193
- {% /instructions %}
151
+ <!-- /instructions -->
194
152
 
195
- {% field kind="url" id="crunchbase_url" label="Crunchbase Profile" %}{% /field %}
153
+ <!-- field kind="url" id="crunchbase_url" label="Crunchbase Profile" --><!-- /field -->
196
154
 
197
- {% instructions ref="crunchbase_url" %}
155
+ <!-- instructions ref="crunchbase_url" -->
198
156
  Crunchbase company profile URL.
199
- {% /instructions %}
157
+ <!-- /instructions -->
200
158
 
201
- {% field kind="url" id="pitchbook_url" label="PitchBook Profile" %}{% /field %}
159
+ <!-- field kind="url" id="pitchbook_url" label="PitchBook Profile" --><!-- /field -->
202
160
 
203
- {% instructions ref="pitchbook_url" %}
161
+ <!-- instructions ref="pitchbook_url" -->
204
162
  PitchBook company profile URL if available.
205
- {% /instructions %}
163
+ <!-- /instructions -->
206
164
 
207
- {% /group %}
165
+ <!-- /group -->
208
166
 
209
- {% group id="sources_section" title="Research Sources" %}
167
+ <!-- group id="sources_section" title="Research Sources" -->
210
168
 
211
- {% field kind="url_list" id="sources" label="Source URLs" minItems=1 uniqueItems=true %}{% /field %}
169
+ <!-- field kind="url_list" id="sources" label="Source URLs" minItems=1 uniqueItems=true --><!-- /field -->
212
170
 
213
- {% instructions ref="sources" %}
171
+ <!-- instructions ref="sources" -->
214
172
  List all source URLs used for this research.
215
173
  Include Crunchbase, company website, and any additional sources consulted.
216
- {% /instructions %}
174
+ <!-- /instructions -->
175
+
176
+ <!-- /group -->
177
+
178
+ <!-- /form -->
179
+
217
180
 
218
- {% /group %}
219
181
 
220
- {% /form %}