markform 0.1.23 → 0.1.25
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 +69 -29
- package/dist/ai-sdk.d.mts +1 -1
- package/dist/ai-sdk.mjs +48 -6
- package/dist/ai-sdk.mjs.map +1 -1
- package/dist/bin.mjs +1 -1
- package/dist/{cli-ZcOC47KK.mjs → cli-B1T8kMFt.mjs} +709 -125
- package/dist/cli-B1T8kMFt.mjs.map +1 -0
- package/dist/cli.d.mts +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/{coreTypes-BlsJkU1w.d.mts → coreTypes-CxpqKpBA.d.mts} +181 -4
- package/dist/{coreTypes-CTLr-NGd.mjs → coreTypes-DIv9Aabl.mjs} +56 -6
- package/dist/coreTypes-DIv9Aabl.mjs.map +1 -0
- package/dist/{fillRecord-DTl5lnK0.d.mts → fillRecord-V3vlyobd.d.mts} +29 -1
- package/dist/{fillRecordRenderer-VBQ2vwPV.mjs → fillRecordRenderer-BqRPHPmE.mjs} +47 -15
- package/dist/fillRecordRenderer-BqRPHPmE.mjs.map +1 -0
- package/dist/index.d.mts +34 -30
- package/dist/index.mjs +4 -4
- package/dist/{apply-KzQztrDV.mjs → prompts-DaPKumGY.mjs} +1081 -17
- package/dist/prompts-DaPKumGY.mjs.map +1 -0
- package/dist/render.d.mts +2 -2
- package/dist/render.mjs +1 -1
- package/dist/{session-BCcltrLA.mjs → session-BW9jtYNV.mjs} +2 -2
- package/dist/{session-BCcltrLA.mjs.map → session-BW9jtYNV.mjs.map} +1 -1
- package/dist/{session-VeSkVrck.mjs → session-DHyTMP67.mjs} +1 -1
- package/dist/{shared-fb0nkzQi.mjs → shared-BLh342F5.mjs} +1 -1
- package/dist/{shared-CsdT2T7k.mjs → shared-BszoSkAO.mjs} +10 -10
- package/dist/shared-BszoSkAO.mjs.map +1 -0
- package/dist/{src-B2uFvGli.mjs → src-DrXmaOWl.mjs} +179 -840
- package/dist/src-DrXmaOWl.mjs.map +1 -0
- package/docs/markform-apis.md +25 -7
- package/docs/markform-reference.md +273 -179
- package/docs/markform-spec.md +92 -36
- package/docs/skill/SKILL.md +161 -0
- package/examples/markform-demo-playbook.md +342 -0
- package/examples/parallel/parallel-research.form.md +2 -6
- package/examples/rejection-test/rejection-test.session.yaml +52 -0
- package/examples/simple/simple-mock-filled.report.md +2 -2
- package/examples/simple/simple-skipped-filled.report.md +2 -2
- package/examples/simple/simple-with-skips.session.yaml +78 -0
- package/examples/simple/simple.session.yaml +78 -0
- package/examples/twitter-thread/twitter-thread.form.md +5 -5
- package/package.json +2 -2
- package/dist/apply-KzQztrDV.mjs.map +0 -1
- package/dist/cli-ZcOC47KK.mjs.map +0 -1
- package/dist/coreTypes-CTLr-NGd.mjs.map +0 -1
- package/dist/fillRecordRenderer-VBQ2vwPV.mjs.map +0 -1
- package/dist/shared-CsdT2T7k.mjs.map +0 -1
- package/dist/src-B2uFvGli.mjs.map +0 -1
- package/examples/startup-research/startup-research-mock-filled.form.md +0 -297
- package/examples/startup-research/startup-research.form.md +0 -181
|
@@ -152,6 +152,19 @@ turns:
|
|
|
152
152
|
| checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
|
|
153
153
|
| table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
|
|
154
154
|
|
|
155
|
+
## Incremental Operations (for collections)
|
|
156
|
+
|
|
157
|
+
Use these to add/remove items without replacing the entire collection:
|
|
158
|
+
|
|
159
|
+
| Type | Example |
|
|
160
|
+
|------|---------|
|
|
161
|
+
| append_table | `{ op: "append_table", fieldId: "team", value: [{ "name": "Bob", "role": "PM" }] }` |
|
|
162
|
+
| append_string_list | `{ op: "append_string_list", fieldId: "tags", value: ["new_tag"] }` |
|
|
163
|
+
| append_url_list | `{ op: "append_url_list", fieldId: "sources", value: ["https://new.com"] }` |
|
|
164
|
+
| delete_table | `{ op: "delete_table", fieldId: "team", value: 0 }` (0-based row index) |
|
|
165
|
+
| delete_string_list | `{ op: "delete_string_list", fieldId: "tags", value: 0 }` (0-based item index) |
|
|
166
|
+
| delete_url_list | `{ op: "delete_url_list", fieldId: "sources", value: 0 }` (0-based item index) |
|
|
167
|
+
|
|
155
168
|
## Important: checkboxes vs multi_select
|
|
156
169
|
|
|
157
170
|
These two types look similar but have DIFFERENT value formats:
|
|
@@ -478,6 +491,19 @@ turns:
|
|
|
478
491
|
| checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
|
|
479
492
|
| table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
|
|
480
493
|
|
|
494
|
+
## Incremental Operations (for collections)
|
|
495
|
+
|
|
496
|
+
Use these to add/remove items without replacing the entire collection:
|
|
497
|
+
|
|
498
|
+
| Type | Example |
|
|
499
|
+
|------|---------|
|
|
500
|
+
| append_table | `{ op: "append_table", fieldId: "team", value: [{ "name": "Bob", "role": "PM" }] }` |
|
|
501
|
+
| append_string_list | `{ op: "append_string_list", fieldId: "tags", value: ["new_tag"] }` |
|
|
502
|
+
| append_url_list | `{ op: "append_url_list", fieldId: "sources", value: ["https://new.com"] }` |
|
|
503
|
+
| delete_table | `{ op: "delete_table", fieldId: "team", value: 0 }` (0-based row index) |
|
|
504
|
+
| delete_string_list | `{ op: "delete_string_list", fieldId: "tags", value: 0 }` (0-based item index) |
|
|
505
|
+
| delete_url_list | `{ op: "delete_url_list", fieldId: "sources", value: 0 }` (0-based item index) |
|
|
506
|
+
|
|
481
507
|
## Important: checkboxes vs multi_select
|
|
482
508
|
|
|
483
509
|
These two types look similar but have DIFFERENT value formats:
|
|
@@ -980,6 +1006,19 @@ turns:
|
|
|
980
1006
|
| checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
|
|
981
1007
|
| table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
|
|
982
1008
|
|
|
1009
|
+
## Incremental Operations (for collections)
|
|
1010
|
+
|
|
1011
|
+
Use these to add/remove items without replacing the entire collection:
|
|
1012
|
+
|
|
1013
|
+
| Type | Example |
|
|
1014
|
+
|------|---------|
|
|
1015
|
+
| append_table | `{ op: "append_table", fieldId: "team", value: [{ "name": "Bob", "role": "PM" }] }` |
|
|
1016
|
+
| append_string_list | `{ op: "append_string_list", fieldId: "tags", value: ["new_tag"] }` |
|
|
1017
|
+
| append_url_list | `{ op: "append_url_list", fieldId: "sources", value: ["https://new.com"] }` |
|
|
1018
|
+
| delete_table | `{ op: "delete_table", fieldId: "team", value: 0 }` (0-based row index) |
|
|
1019
|
+
| delete_string_list | `{ op: "delete_string_list", fieldId: "tags", value: 0 }` (0-based item index) |
|
|
1020
|
+
| delete_url_list | `{ op: "delete_url_list", fieldId: "sources", value: 0 }` (0-based item index) |
|
|
1021
|
+
|
|
983
1022
|
## Important: checkboxes vs multi_select
|
|
984
1023
|
|
|
985
1024
|
These two types look similar but have DIFFERENT value formats:
|
|
@@ -1330,6 +1369,19 @@ turns:
|
|
|
1330
1369
|
| checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
|
|
1331
1370
|
| table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
|
|
1332
1371
|
|
|
1372
|
+
## Incremental Operations (for collections)
|
|
1373
|
+
|
|
1374
|
+
Use these to add/remove items without replacing the entire collection:
|
|
1375
|
+
|
|
1376
|
+
| Type | Example |
|
|
1377
|
+
|------|---------|
|
|
1378
|
+
| append_table | `{ op: "append_table", fieldId: "team", value: [{ "name": "Bob", "role": "PM" }] }` |
|
|
1379
|
+
| append_string_list | `{ op: "append_string_list", fieldId: "tags", value: ["new_tag"] }` |
|
|
1380
|
+
| append_url_list | `{ op: "append_url_list", fieldId: "sources", value: ["https://new.com"] }` |
|
|
1381
|
+
| delete_table | `{ op: "delete_table", fieldId: "team", value: 0 }` (0-based row index) |
|
|
1382
|
+
| delete_string_list | `{ op: "delete_string_list", fieldId: "tags", value: 0 }` (0-based item index) |
|
|
1383
|
+
| delete_url_list | `{ op: "delete_url_list", fieldId: "sources", value: 0 }` (0-based item index) |
|
|
1384
|
+
|
|
1333
1385
|
## Important: checkboxes vs multi_select
|
|
1334
1386
|
|
|
1335
1387
|
These two types look similar but have DIFFERENT value formats:
|
|
@@ -1770,6 +1822,19 @@ turns:
|
|
|
1770
1822
|
| checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
|
|
1771
1823
|
| table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
|
|
1772
1824
|
|
|
1825
|
+
## Incremental Operations (for collections)
|
|
1826
|
+
|
|
1827
|
+
Use these to add/remove items without replacing the entire collection:
|
|
1828
|
+
|
|
1829
|
+
| Type | Example |
|
|
1830
|
+
|------|---------|
|
|
1831
|
+
| append_table | `{ op: "append_table", fieldId: "team", value: [{ "name": "Bob", "role": "PM" }] }` |
|
|
1832
|
+
| append_string_list | `{ op: "append_string_list", fieldId: "tags", value: ["new_tag"] }` |
|
|
1833
|
+
| append_url_list | `{ op: "append_url_list", fieldId: "sources", value: ["https://new.com"] }` |
|
|
1834
|
+
| delete_table | `{ op: "delete_table", fieldId: "team", value: 0 }` (0-based row index) |
|
|
1835
|
+
| delete_string_list | `{ op: "delete_string_list", fieldId: "tags", value: 0 }` (0-based item index) |
|
|
1836
|
+
| delete_url_list | `{ op: "delete_url_list", fieldId: "sources", value: 0 }` (0-based item index) |
|
|
1837
|
+
|
|
1773
1838
|
## Important: checkboxes vs multi_select
|
|
1774
1839
|
|
|
1775
1840
|
These two types look similar but have DIFFERENT value formats:
|
|
@@ -2095,6 +2160,19 @@ turns:
|
|
|
2095
2160
|
| checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
|
|
2096
2161
|
| table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
|
|
2097
2162
|
|
|
2163
|
+
## Incremental Operations (for collections)
|
|
2164
|
+
|
|
2165
|
+
Use these to add/remove items without replacing the entire collection:
|
|
2166
|
+
|
|
2167
|
+
| Type | Example |
|
|
2168
|
+
|------|---------|
|
|
2169
|
+
| append_table | `{ op: "append_table", fieldId: "team", value: [{ "name": "Bob", "role": "PM" }] }` |
|
|
2170
|
+
| append_string_list | `{ op: "append_string_list", fieldId: "tags", value: ["new_tag"] }` |
|
|
2171
|
+
| append_url_list | `{ op: "append_url_list", fieldId: "sources", value: ["https://new.com"] }` |
|
|
2172
|
+
| delete_table | `{ op: "delete_table", fieldId: "team", value: 0 }` (0-based row index) |
|
|
2173
|
+
| delete_string_list | `{ op: "delete_string_list", fieldId: "tags", value: 0 }` (0-based item index) |
|
|
2174
|
+
| delete_url_list | `{ op: "delete_url_list", fieldId: "sources", value: 0 }` (0-based item index) |
|
|
2175
|
+
|
|
2098
2176
|
## Important: checkboxes vs multi_select
|
|
2099
2177
|
|
|
2100
2178
|
These two types look similar but have DIFFERENT value formats:
|
|
@@ -154,7 +154,7 @@ Extract every insight, claim, or idea worth sharing.
|
|
|
154
154
|
<!-- field kind="table" id="insights_table" label="Insights" role="agent" required=true
|
|
155
155
|
columnIds=["insight", "why_matters", "type"]
|
|
156
156
|
columnLabels=["Insight/Claim", "Why It Matters", "Type"]
|
|
157
|
-
columnTypes=["string", "string", "string"]
|
|
157
|
+
columnTypes=["string", "string", {"type": "string", "enum": ["thesis", "supporting", "example", "context", "contrarian", "actionable"]}]
|
|
158
158
|
minRows=5 maxRows=20 -->
|
|
159
159
|
|
|
160
160
|
| Insight/Claim | Why It Matters | Type |
|
|
@@ -188,7 +188,7 @@ Not every insight makes the thread. Rank by impact and assign roles.
|
|
|
188
188
|
<!-- field kind="table" id="priority_table" label="Ranked Insights" role="agent" required=true
|
|
189
189
|
columnIds=["rank", "insight_summary", "role", "include"]
|
|
190
190
|
columnLabels=["Rank", "Insight (summary)", "Thread Role", "Include?"]
|
|
191
|
-
columnTypes=["number", "string", "string", "string"]
|
|
191
|
+
columnTypes=[{"type": "number", "min": 1, "integer": true}, "string", {"type": "string", "enum": ["hook", "context", "main_point", "example", "pivot", "summary", "cta"]}, {"type": "string", "enum": ["yes", "no"]}]
|
|
192
192
|
minRows=5 maxRows=15 -->
|
|
193
193
|
|
|
194
194
|
| Rank | Insight (summary) | Thread Role | Include? |
|
|
@@ -237,7 +237,7 @@ Map the prioritized insights into a tweet-by-tweet structure.
|
|
|
237
237
|
<!-- field kind="table" id="structure_table" label="Thread Structure" role="agent" required=true
|
|
238
238
|
columnIds=["tweet_num", "role", "content_plan", "source_insight"]
|
|
239
239
|
columnLabels=["#", "Role", "Content Plan", "From Insight"]
|
|
240
|
-
columnTypes=["number", "string", "string", "string"]
|
|
240
|
+
columnTypes=[{"type": "number", "min": 1, "integer": true}, {"type": "string", "enum": ["hook", "context", "main_point", "example", "pivot", "summary", "cta"]}, "string", "string"]
|
|
241
241
|
minRows=5 maxRows=20 -->
|
|
242
242
|
|
|
243
243
|
| # | Role | Content Plan | From Insight |
|
|
@@ -266,7 +266,7 @@ Write each tweet following the structure plan.
|
|
|
266
266
|
<!-- field kind="table" id="drafts_table" label="Tweet Drafts" role="agent" required=true
|
|
267
267
|
columnIds=["tweet_num", "draft_content", "char_count", "issues"]
|
|
268
268
|
columnLabels=["#", "Draft Content", "Chars", "Issues"]
|
|
269
|
-
columnTypes=["number", "string", "number", "string"]
|
|
269
|
+
columnTypes=[{"type": "number", "min": 1, "integer": true}, {"type": "string", "maxLength": 280}, {"type": "number", "min": 1, "max": 280, "integer": true}, "string"]
|
|
270
270
|
minRows=5 maxRows=20 -->
|
|
271
271
|
|
|
272
272
|
| # | Draft Content | Chars | Issues |
|
|
@@ -299,7 +299,7 @@ Verify each tweet against quality criteria.
|
|
|
299
299
|
<!-- field kind="table" id="review_table" label="Tweet Review" role="agent" required=true
|
|
300
300
|
columnIds=["tweet_num", "under_280", "clear", "flows", "standalone", "revision_needed"]
|
|
301
301
|
columnLabels=["#", "≤280?", "Clear?", "Flows?", "Standalone?", "Revision"]
|
|
302
|
-
columnTypes=["number", "string", "string", "string", "string", "string"]
|
|
302
|
+
columnTypes=[{"type": "number", "min": 1, "integer": true}, {"type": "string", "enum": ["yes", "no"]}, {"type": "string", "enum": ["yes", "no"]}, {"type": "string", "enum": ["yes", "no", "na"]}, {"type": "string", "enum": ["yes", "no"]}, "string"]
|
|
303
303
|
minRows=5 maxRows=20 -->
|
|
304
304
|
|
|
305
305
|
| # | ≤280? | Clear? | Flows? | Standalone? | Revision |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markform",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
4
4
|
"description": "Markdown forms for token-friendly workflows",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"author": "Joshua Levy",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"vitest": "^4.0.18"
|
|
93
93
|
},
|
|
94
94
|
"scripts": {
|
|
95
|
-
"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/",
|
|
95
|
+
"copy-docs": "cp ../../README.md . && mkdir -p docs docs/skill && cp ../../docs/markform-spec.md docs/ && cp ../../docs/markform-reference.md docs/ && cp ../../docs/markform-apis.md docs/ && cp ../../docs/skill/SKILL.md docs/skill/",
|
|
96
96
|
"build": "pnpm run copy-docs && tsdown",
|
|
97
97
|
"dev": "tsdown --watch",
|
|
98
98
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|