markform 0.1.1 → 0.1.2

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 (36) hide show
  1. package/DOCS.md +546 -0
  2. package/README.md +338 -71
  3. package/SPEC.md +2779 -0
  4. package/dist/ai-sdk.d.mts +2 -2
  5. package/dist/ai-sdk.mjs +5 -3
  6. package/dist/{apply-BQdd-fdx.mjs → apply-BfAGTHMh.mjs} +837 -730
  7. package/dist/bin.mjs +6 -3
  8. package/dist/{cli-pjOiHgCW.mjs → cli-B3NVm6zL.mjs} +1349 -422
  9. package/dist/cli.mjs +6 -3
  10. package/dist/{coreTypes--6etkcwb.d.mts → coreTypes-BXhhz9Iq.d.mts} +1946 -794
  11. package/dist/coreTypes-Dful87E0.mjs +537 -0
  12. package/dist/index.d.mts +116 -19
  13. package/dist/index.mjs +5 -3
  14. package/dist/session-Bqnwi9wp.mjs +110 -0
  15. package/dist/session-DdAtY2Ni.mjs +4 -0
  16. package/dist/shared-D7gf27Tr.mjs +3 -0
  17. package/dist/shared-N_s1M-_K.mjs +176 -0
  18. package/dist/src-BXRkGFpG.mjs +7587 -0
  19. package/examples/celebrity-deep-research/celebrity-deep-research.form.md +912 -0
  20. package/examples/earnings-analysis/earnings-analysis.form.md +6 -1
  21. package/examples/earnings-analysis/earnings-analysis.valid.ts +119 -59
  22. package/examples/movie-research/movie-research-basic.form.md +164 -0
  23. package/examples/movie-research/movie-research-deep.form.md +486 -0
  24. package/examples/movie-research/movie-research-minimal.form.md +73 -0
  25. package/examples/simple/simple-mock-filled.form.md +17 -13
  26. package/examples/simple/simple-skipped-filled.form.md +32 -9
  27. package/examples/simple/simple-with-skips.session.yaml +102 -143
  28. package/examples/simple/simple.form.md +13 -13
  29. package/examples/simple/simple.session.yaml +80 -69
  30. package/examples/startup-deep-research/startup-deep-research.form.md +60 -8
  31. package/examples/startup-research/startup-research-mock-filled.form.md +1 -1
  32. package/examples/startup-research/startup-research.form.md +1 -1
  33. package/package.json +9 -5
  34. package/dist/src-Cs4_9lWP.mjs +0 -2151
  35. package/examples/political-research/political-research.form.md +0 -233
  36. package/examples/political-research/political-research.mock.lincoln.form.md +0 -355
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  markform:
3
- markform_version: "0.1.0"
3
+ spec: MF/0.1
4
+ title: Startup Deep Research
5
+ description: Comprehensive startup intelligence gathering with company info, founders, funding, competitors, social media, and community presence.
4
6
  roles:
5
7
  - user
6
8
  - agent
@@ -18,6 +20,9 @@ markform:
18
20
  7. Include source URLs for every piece of information
19
21
  8. Leave unknown fields empty - don't guess or fabricate
20
22
  9. Keep descriptions concise (50-150 words max)
23
+ harness_config:
24
+ max_issues_per_turn: 5
25
+ max_patches_per_turn: 10
21
26
  ---
22
27
 
23
28
  {% form id="startup_deep_research" title="Startup Deep Research" %}
@@ -101,6 +106,12 @@ Source: linkedin.com/company page, crunchbase.com, or company website.
101
106
  Source: Company website About page, crunchbase.com, Wikipedia if notable.
102
107
  {% /instructions %}
103
108
 
109
+ {% string-list id="basic_info_sources" label="Company Overview Sources" %}{% /string-list %}
110
+
111
+ {% instructions ref="basic_info_sources" %}
112
+ URLs used as sources for this section. One URL per line.
113
+ {% /instructions %}
114
+
104
115
  {% /field-group %}
105
116
 
106
117
  {% field-group id="founders_section" title="Founders & Key People" %}
@@ -134,6 +145,12 @@ Brief background: prior companies, notable roles, education.
134
145
  {% string-field id="founder_4_linkedin" label="Founder 4 LinkedIn URL" %}{% /string-field %}
135
146
  {% string-field id="founder_4_background" label="Founder 4 Background" maxLength=500 %}{% /string-field %}
136
147
 
148
+ {% string-list id="founders_sources" label="Founders Sources" %}{% /string-list %}
149
+
150
+ {% instructions ref="founders_sources" %}
151
+ URLs used as sources for this section. One URL per line.
152
+ {% /instructions %}
153
+
137
154
  {% /field-group %}
138
155
 
139
156
  {% field-group id="funding_section" title="Funding History" %}
@@ -161,6 +178,12 @@ Example: "Series B | 2023-06 | $50M | Sequoia Capital | https://techcrunch.com/.
161
178
  Source: crunchbase.com funding rounds, pitchbook.com, techcrunch.com, company press releases.
162
179
  {% /instructions %}
163
180
 
181
+ {% string-list id="funding_sources" label="Funding Sources" %}{% /string-list %}
182
+
183
+ {% instructions ref="funding_sources" %}
184
+ URLs used as sources for this section. One URL per line.
185
+ {% /instructions %}
186
+
164
187
  {% /field-group %}
165
188
 
166
189
  {% field-group id="competitors_section" title="Competitors & Market Position" %}
@@ -188,6 +211,12 @@ How does this company differentiate? Key advantages/disadvantages vs competitors
188
211
  Source: Company website, product pages, press interviews, g2.com reviews.
189
212
  {% /instructions %}
190
213
 
214
+ {% string-list id="competitors_sources" label="Competitors Sources" %}{% /string-list %}
215
+
216
+ {% instructions ref="competitors_sources" %}
217
+ URLs used as sources for this section. One URL per line.
218
+ {% /instructions %}
219
+
191
220
  {% /field-group %}
192
221
 
193
222
  {% field-group id="social_media_section" title="Social Media Presence" %}
@@ -256,6 +285,12 @@ Also note if there are significant discussions in related subreddits.
256
285
  Source: Search reddit.com for company name, check for official subreddit.
257
286
  {% /instructions %}
258
287
 
288
+ {% string-list id="social_media_sources" label="Social Media Sources" %}{% /string-list %}
289
+
290
+ {% instructions ref="social_media_sources" %}
291
+ URLs used as sources for this section. One URL per line.
292
+ {% /instructions %}
293
+
259
294
  {% /field-group %}
260
295
 
261
296
  {% field-group id="hacker_news_section" title="Hacker News Presence" %}
@@ -269,6 +304,12 @@ Include: Show HN launches, funding announcements, major discussions about the co
269
304
  Source: Search hn.algolia.com for company name, product name, and founder names.
270
305
  {% /instructions %}
271
306
 
307
+ {% string-list id="hacker_news_sources" label="Hacker News Sources" %}{% /string-list %}
308
+
309
+ {% instructions ref="hacker_news_sources" %}
310
+ URLs used as sources for this section. One URL per line.
311
+ {% /instructions %}
312
+
272
313
  {% /field-group %}
273
314
 
274
315
  {% field-group id="product_hunt_section" title="Product Hunt Presence" %}
@@ -282,6 +323,12 @@ Note any badges: Product of the Day/Week/Month, Golden Kitty, etc.
282
323
  Source: Search producthunt.com for company name and product names.
283
324
  {% /instructions %}
284
325
 
326
+ {% string-list id="product_hunt_sources" label="Product Hunt Sources" %}{% /string-list %}
327
+
328
+ {% instructions ref="product_hunt_sources" %}
329
+ URLs used as sources for this section. One URL per line.
330
+ {% /instructions %}
331
+
285
332
  {% /field-group %}
286
333
 
287
334
  {% field-group id="deep_intel_section" title="Deep Intelligence Sources" %}
@@ -363,6 +410,12 @@ Example: "2019: Originally 'PaymentsAPI' focused on SMB; 2021: Rebranded, pivote
363
410
  Source: web.archive.org - search for company domain, review snapshots from different years.
364
411
  {% /instructions %}
365
412
 
413
+ {% string-list id="deep_intel_sources" label="Deep Intel Sources" %}{% /string-list %}
414
+
415
+ {% instructions ref="deep_intel_sources" %}
416
+ URLs used as sources for this section. One URL per line.
417
+ {% /instructions %}
418
+
366
419
  {% /field-group %}
367
420
 
368
421
  {% field-group id="press_section" title="Notable Press Coverage" %}
@@ -376,16 +429,15 @@ Focus on: funding announcements, major product launches, company profiles, notab
376
429
  Source: techcrunch.com, theinformation.com, bloomberg.com, forbes.com, wired.com, venturebeat.com, company Press page.
377
430
  {% /instructions %}
378
431
 
379
- {% /field-group %}
432
+ {% string-list id="press_sources" label="Press Coverage Sources" %}{% /string-list %}
380
433
 
381
- {% field-group id="sources_section" title="Research Metadata" %}
434
+ {% instructions ref="press_sources" %}
435
+ URLs used as sources for this section. One URL per line.
436
+ {% /instructions %}
382
437
 
383
- {% string-list id="all_sources" label="All Sources Consulted" %}{% /string-list %}
438
+ {% /field-group %}
384
439
 
385
- {% instructions ref="all_sources" %}
386
- List all URLs and sources used for this research, one per line.
387
- Group by type: Company site, Crunchbase, LinkedIn, Social media, HN/PH, Reviews, Press, Other.
388
- {% /instructions %}
440
+ {% field-group id="sources_section" title="Research Metadata" %}
389
441
 
390
442
  {% string-field id="research_date" label="Research Date" required=true pattern="^\\d{4}-\\d{2}-\\d{2}$" %}{% /string-field %}
391
443
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  markform:
3
- markform_version: "0.1.0"
3
+ spec: "MF/0.1"
4
4
  roles:
5
5
  - user
6
6
  - agent
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  markform:
3
- markform_version: "0.1.0"
3
+ spec: MF/0.1
4
4
  roles:
5
5
  - user
6
6
  - agent
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "markform",
3
- "version": "0.1.1",
4
- "description": "Agent-friendly, human-readable, editable forms stored as .form.md files",
3
+ "version": "0.1.2",
4
+ "description": "Markdown forms for token-friendly workflows",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "author": "Joshua Levy",
7
7
  "repository": {
@@ -48,10 +48,12 @@
48
48
  "files": [
49
49
  "dist",
50
50
  "examples",
51
- "README.md"
51
+ "DOCS.md",
52
+ "README.md",
53
+ "SPEC.md"
52
54
  ],
53
55
  "engines": {
54
- "node": ">=24"
56
+ "node": ">=20"
55
57
  },
56
58
  "dependencies": {
57
59
  "@ai-sdk/deepseek": "^2.0.1",
@@ -88,13 +90,15 @@
88
90
  "vitest": "^3.0.0"
89
91
  },
90
92
  "scripts": {
91
- "build": "tsdown",
93
+ "copy-docs": "cp ../../README.md . && cp ../../SPEC.md .",
94
+ "build": "pnpm run copy-docs && tsdown",
92
95
  "dev": "tsdown --watch",
93
96
  "typecheck": "tsc -p tsconfig.json --noEmit",
94
97
  "test": "vitest run",
95
98
  "test:watch": "vitest",
96
99
  "test:unit": "vitest run tests/unit",
97
100
  "test:golden": "vitest run tests/golden",
101
+ "test:golden:regen": "npx tsx scripts/regen-golden-sessions.ts",
98
102
  "test:coverage": "vitest run --coverage",
99
103
  "test:coverage:html": "vitest run --coverage && open coverage/index.html",
100
104
  "publint": "publint"