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.
- package/README.md +44 -12
- package/dist/ai-sdk.d.mts +1 -1
- package/dist/ai-sdk.mjs +2 -2
- package/dist/{apply-DIvm1b1s.mjs → apply-C7mO7VkZ.mjs} +158 -95
- package/dist/apply-C7mO7VkZ.mjs.map +1 -0
- package/dist/bin.mjs +1 -1
- package/dist/{cli-FFMoEhFS.mjs → cli-C8F9yDsv.mjs} +102 -1225
- package/dist/cli-C8F9yDsv.mjs.map +1 -0
- package/dist/cli.mjs +1 -1
- package/dist/{coreTypes-CkxML8g2.d.mts → coreTypes-BlsJkU1w.d.mts} +28 -2
- package/dist/{coreTypes-CPKXf2dc.mjs → coreTypes-CTLr-NGd.mjs} +24 -3
- package/dist/coreTypes-CTLr-NGd.mjs.map +1 -0
- package/dist/fillRecord-DTl5lnK0.d.mts +345 -0
- package/dist/fillRecordRenderer-CruJrLkj.mjs +1256 -0
- package/dist/fillRecordRenderer-CruJrLkj.mjs.map +1 -0
- package/dist/index.d.mts +22 -342
- package/dist/index.mjs +5 -5
- package/dist/render.d.mts +74 -0
- package/dist/render.mjs +4 -0
- package/dist/{session-CK0x28RO.mjs → session-BCcltrLA.mjs} +2 -2
- package/dist/{session-CK0x28RO.mjs.map → session-BCcltrLA.mjs.map} +1 -1
- package/dist/{session-ZHBi3LVQ.mjs → session-VeSkVrck.mjs} +1 -1
- package/dist/{shared-DwdyWmvE.mjs → shared-CsdT2T7k.mjs} +1 -1
- package/dist/{shared-DwdyWmvE.mjs.map → shared-CsdT2T7k.mjs.map} +1 -1
- package/dist/{shared-BTR35aMz.mjs → shared-fb0nkzQi.mjs} +1 -1
- package/dist/{src-wR7GoftB.mjs → src-CbRnGzMK.mjs} +205 -138
- package/dist/src-CbRnGzMK.mjs.map +1 -0
- package/dist/urlFormat-lls7CsEP.mjs +71 -0
- package/dist/urlFormat-lls7CsEP.mjs.map +1 -0
- package/docs/markform-apis.md +53 -0
- package/examples/movie-research/movie-deep-research-mock-filled.form.md +320 -343
- package/examples/movie-research/movie-deep-research.form.md +273 -308
- package/examples/movie-research/movie-research-demo.form.md +27 -41
- package/examples/parallel/parallel-research.form.md +33 -29
- package/examples/parallel/parallel-research.mock.filled.form.md +88 -0
- package/examples/rejection-test/rejection-test-mock-filled.form.md +21 -16
- package/examples/rejection-test/rejection-test-mock-filled.schema.json +1 -1
- package/examples/rejection-test/rejection-test.form.md +17 -15
- package/examples/rejection-test/rejection-test.session.yaml +88 -60
- package/examples/simple/simple-mock-filled.form.md +113 -126
- package/examples/simple/simple-mock-filled.schema.json +2 -3
- package/examples/simple/simple-skipped-filled.form.md +112 -129
- package/examples/simple/simple-skipped-filled.report.md +8 -8
- package/examples/simple/simple-skipped-filled.schema.json +2 -3
- package/examples/simple/simple-tags-syntax.form.md +32 -0
- package/examples/simple/simple-with-skips.session.yaml +663 -627
- package/examples/simple/simple.form.md +97 -113
- package/examples/simple/simple.schema.json +2 -3
- package/examples/simple/simple.session.yaml +663 -627
- package/examples/startup-deep-research/startup-deep-research.form.md +191 -235
- package/examples/startup-research/startup-research-mock-filled.form.md +128 -147
- package/examples/startup-research/startup-research.form.md +90 -129
- package/examples/twitter-thread/twitter-thread.form.md +373 -0
- package/package.json +5 -1
- package/dist/apply-DIvm1b1s.mjs.map +0 -1
- package/dist/cli-FFMoEhFS.mjs.map +0 -1
- package/dist/coreTypes-CPKXf2dc.mjs.map +0 -1
- package/dist/src-wR7GoftB.mjs.map +0 -1
|
@@ -2,194 +2,178 @@
|
|
|
2
2
|
markform:
|
|
3
3
|
spec: MF/0.1
|
|
4
4
|
title: Simple Test Form
|
|
5
|
-
description:
|
|
5
|
+
description: Fully interactive demo - no LLM required. Demonstrates all Markform field types.
|
|
6
6
|
run_mode: interactive
|
|
7
7
|
roles:
|
|
8
8
|
- user
|
|
9
9
|
role_instructions:
|
|
10
|
-
user:
|
|
10
|
+
user: Fill in all fields in this form.
|
|
11
11
|
---
|
|
12
|
-
{% form id="simple_test" title="Simple Test Form" %}
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
<!-- form id="simple_test" title="Simple Test Form" -->
|
|
14
|
+
|
|
15
|
+
<!-- description ref="simple_test" -->
|
|
15
16
|
A fully interactive form demonstrating all Markform v0.1 field types.
|
|
16
17
|
Fill all fields using interactive prompts - no LLM API key needed.
|
|
17
|
-
|
|
18
|
+
<!-- /description -->
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
<!-- group id="basic_fields" title="Basic Fields" -->
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
<!-- field kind="string" id="name" role="user" examples=["John Smith", "Jane Doe"] label="Name" maxLength=50 minLength=2 placeholder="Enter your name" required=true --><!-- /field -->
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
<!-- instructions ref="name" -->
|
|
24
25
|
Enter your full name (2-50 characters).
|
|
25
|
-
|
|
26
|
+
<!-- /instructions -->
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
<!-- field kind="string" id="email" role="user" examples=["alice@company.com", "bob@example.org"] label="Email" pattern="^[^@]+@[^@]+\\.[^@]+$" placeholder="email@example.com" required=true --><!-- /field -->
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
<!-- field kind="number" id="age" role="user" examples=["18", "30", "45"] integer=true label="Age" max=150 min=0 placeholder="25" required=true --><!-- /field -->
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
<!-- field kind="number" id="score" role="user" examples=["75.0", "90.5", "100.0"] label="Score" max=100 min=0 placeholder="85.5" --><!-- /field -->
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
<!-- instructions ref="score" -->
|
|
34
35
|
Enter a score between 0 and 100 (optional).
|
|
35
|
-
|
|
36
|
+
<!-- /instructions -->
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
<!-- /group -->
|
|
38
39
|
|
|
39
|
-
|
|
40
|
+
<!-- group id="list_fields" title="List Fields" -->
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
<!-- field kind="string_list" id="tags" role="user" itemMinLength=2 label="Tags" maxItems=5 minItems=1 required=true uniqueItems=true --><!-- /field -->
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
<!-- instructions ref="tags" -->
|
|
44
45
|
Add 1-5 unique tags (each at least 2 characters).
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{% /group %}
|
|
48
|
-
|
|
49
|
-
{% group id="selection_fields" title="Selection Fields" %}
|
|
50
|
-
|
|
51
|
-
{% field kind="single_select" id="priority" label="Priority" role="user" required=true %}
|
|
52
|
-
|
|
53
|
-
- [ ] Low {% #low %}
|
|
54
|
-
- [ ] Medium {% #medium %}
|
|
55
|
-
- [ ] High {% #high %}
|
|
46
|
+
<!-- /instructions -->
|
|
56
47
|
|
|
57
|
-
|
|
48
|
+
<!-- /group -->
|
|
58
49
|
|
|
59
|
-
|
|
50
|
+
<!-- group id="selection_fields" title="Selection Fields" -->
|
|
60
51
|
|
|
61
|
-
|
|
62
|
-
- [ ]
|
|
63
|
-
- [ ]
|
|
64
|
-
- [ ]
|
|
52
|
+
<!-- field kind="single_select" id="priority" role="user" label="Priority" required=true -->
|
|
53
|
+
- [ ] Low <!-- #low -->
|
|
54
|
+
- [ ] Medium <!-- #medium -->
|
|
55
|
+
- [ ] High <!-- #high -->
|
|
56
|
+
<!-- /field -->
|
|
65
57
|
|
|
66
|
-
|
|
58
|
+
<!-- field kind="multi_select" id="categories" role="user" label="Categories" maxSelections=3 minSelections=1 required=true -->
|
|
59
|
+
- [ ] Frontend <!-- #frontend -->
|
|
60
|
+
- [ ] Backend <!-- #backend -->
|
|
61
|
+
- [ ] Database <!-- #database -->
|
|
62
|
+
- [ ] DevOps <!-- #devops -->
|
|
63
|
+
<!-- /field -->
|
|
67
64
|
|
|
68
|
-
|
|
65
|
+
<!-- /group -->
|
|
69
66
|
|
|
70
|
-
|
|
67
|
+
<!-- group id="checkbox_fields" title="Checkbox Fields" -->
|
|
71
68
|
|
|
72
|
-
|
|
69
|
+
<!-- field kind="checkboxes" id="tasks_multi" role="user" label="Tasks (Multi Mode)" required=true -->
|
|
70
|
+
- [ ] Research <!-- #research -->
|
|
71
|
+
- [ ] Design <!-- #design -->
|
|
72
|
+
- [ ] Implement <!-- #implement -->
|
|
73
|
+
- [ ] Test <!-- #test -->
|
|
74
|
+
<!-- /field -->
|
|
73
75
|
|
|
74
|
-
|
|
75
|
-
- [ ] Design {% #design %}
|
|
76
|
-
- [ ] Implement {% #implement %}
|
|
77
|
-
- [ ] Test {% #test %}
|
|
78
|
-
|
|
79
|
-
{% /field %}
|
|
80
|
-
|
|
81
|
-
{% instructions ref="tasks_multi" %}
|
|
76
|
+
<!-- instructions ref="tasks_multi" -->
|
|
82
77
|
Track task progress.
|
|
83
78
|
All must reach done or na state to complete.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
{% field kind="checkboxes" id="tasks_simple" label="Agreements (Simple Mode)" role="user" checkboxMode="simple" required=true %}
|
|
87
|
-
|
|
88
|
-
- [ ] I have read the guidelines {% #read_guidelines %}
|
|
89
|
-
- [ ] I agree to the terms {% #agree_terms %}
|
|
79
|
+
<!-- /instructions -->
|
|
90
80
|
|
|
91
|
-
|
|
81
|
+
<!-- field kind="checkboxes" id="tasks_simple" role="user" checkboxMode="simple" label="Agreements (Simple Mode)" required=true -->
|
|
82
|
+
- [ ] I have read the guidelines <!-- #read_guidelines -->
|
|
83
|
+
- [ ] I agree to the terms <!-- #agree_terms -->
|
|
84
|
+
<!-- /field -->
|
|
92
85
|
|
|
93
|
-
|
|
86
|
+
<!-- field kind="checkboxes" id="confirmations" role="user" checkboxMode="explicit" label="Confirmations (Explicit Mode)" required=true -->
|
|
87
|
+
- [ ] Data has been backed up <!-- #backed_up -->
|
|
88
|
+
- [ ] Stakeholders notified <!-- #notified -->
|
|
89
|
+
<!-- /field -->
|
|
94
90
|
|
|
95
|
-
|
|
96
|
-
- [ ] Stakeholders notified {% #notified %}
|
|
97
|
-
|
|
98
|
-
{% /field %}
|
|
99
|
-
|
|
100
|
-
{% instructions ref="confirmations" %}
|
|
91
|
+
<!-- instructions ref="confirmations" -->
|
|
101
92
|
Answer yes or no for each confirmation.
|
|
102
93
|
All must be explicitly answered.
|
|
103
|
-
|
|
94
|
+
<!-- /instructions -->
|
|
104
95
|
|
|
105
|
-
|
|
96
|
+
<!-- /group -->
|
|
106
97
|
|
|
107
|
-
|
|
98
|
+
<!-- group id="url_fields" title="URL Fields" -->
|
|
108
99
|
|
|
109
|
-
|
|
100
|
+
<!-- field kind="url" id="website" role="user" examples=["https://github.com/user/repo", "https://company.com"] label="Website" placeholder="https://example.com" required=true --><!-- /field -->
|
|
110
101
|
|
|
111
|
-
|
|
102
|
+
<!-- instructions ref="website" -->
|
|
112
103
|
Enter your website URL (must be http or https).
|
|
113
|
-
|
|
104
|
+
<!-- /instructions -->
|
|
114
105
|
|
|
115
|
-
|
|
106
|
+
<!-- field kind="url_list" id="references" role="user" examples=["https://wikipedia.org/wiki/Example", "https://docs.github.com/en"] label="References" maxItems=5 minItems=1 placeholder="https://docs.example.com" uniqueItems=true --><!-- /field -->
|
|
116
107
|
|
|
117
|
-
|
|
108
|
+
<!-- instructions ref="references" -->
|
|
118
109
|
Add 1-5 unique reference URLs for sources or documentation.
|
|
119
|
-
|
|
110
|
+
<!-- /instructions -->
|
|
120
111
|
|
|
121
|
-
|
|
112
|
+
<!-- /group -->
|
|
122
113
|
|
|
123
|
-
|
|
114
|
+
<!-- group id="date_fields" title="Date and Year Fields" -->
|
|
124
115
|
|
|
125
|
-
|
|
116
|
+
<!-- field kind="date" id="event_date" role="user" label="Event Date" max="2030-12-31" min="2020-01-01" required=true --><!-- /field -->
|
|
126
117
|
|
|
127
|
-
|
|
118
|
+
<!-- instructions ref="event_date" -->
|
|
128
119
|
Enter the event date (YYYY-MM-DD format, between 2020 and 2030).
|
|
129
|
-
|
|
120
|
+
<!-- /instructions -->
|
|
130
121
|
|
|
131
|
-
|
|
122
|
+
<!-- field kind="year" id="founded_year" role="user" label="Founded Year" max=2030 min=1900 required=true --><!-- /field -->
|
|
132
123
|
|
|
133
|
-
|
|
124
|
+
<!-- instructions ref="founded_year" -->
|
|
134
125
|
Enter the year the company was founded (1900-2030).
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
{% /group %}
|
|
126
|
+
<!-- /instructions -->
|
|
138
127
|
|
|
139
|
-
|
|
128
|
+
<!-- /group -->
|
|
140
129
|
|
|
141
|
-
|
|
130
|
+
<!-- group id="table_fields" title="Table Fields" -->
|
|
142
131
|
|
|
143
|
-
|
|
144
|
-
|------|------|------------|
|
|
132
|
+
<!-- field kind="table" id="team_members" role="user" columnIds=["name", "role", "start_date"] columnLabels=["Name", "Role", "Start Date"] columnTypes=[{type: "string", required: true}, "string", "date"] label="Team Members" maxRows=5 minRows=0 --><!-- /field -->
|
|
145
133
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
{% instructions ref="team_members" %}
|
|
134
|
+
<!-- instructions ref="team_members" -->
|
|
149
135
|
Add team members with their name (required), role, and start date.
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
{% field kind="table" id="project_tasks" label="Project Tasks" role="user" minRows=0 maxRows=10 columnIds=["task", "estimate_hrs", "link"] columnTypes=[{type: "string", required: true}, "number", "url"] %}
|
|
136
|
+
<!-- /instructions -->
|
|
153
137
|
|
|
154
|
-
|
|
155
|
-
|------|----------------|------|
|
|
138
|
+
<!-- field kind="table" id="project_tasks" role="user" columnIds=["task", "estimate_hrs", "link"] columnLabels=["Task", "Estimate (hrs)", "Link"] columnTypes=[{type: "string", required: true}, "number", "url"] label="Project Tasks" maxRows=10 minRows=0 --><!-- /field -->
|
|
156
139
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
{% instructions ref="project_tasks" %}
|
|
140
|
+
<!-- instructions ref="project_tasks" -->
|
|
160
141
|
Optionally add project tasks with estimated hours and reference links.
|
|
161
|
-
|
|
142
|
+
<!-- /instructions -->
|
|
162
143
|
|
|
163
|
-
|
|
144
|
+
<!-- /group -->
|
|
164
145
|
|
|
165
|
-
|
|
146
|
+
<!-- group id="optional_fields" title="Optional Fields" -->
|
|
166
147
|
|
|
167
|
-
|
|
148
|
+
<!-- field kind="string" id="notes" role="user" label="Notes" --><!-- /field -->
|
|
168
149
|
|
|
169
|
-
|
|
150
|
+
<!-- instructions ref="notes" -->
|
|
170
151
|
Add any relevant notes or observations (optional).
|
|
171
|
-
|
|
152
|
+
<!-- /instructions -->
|
|
172
153
|
|
|
173
|
-
|
|
154
|
+
<!-- field kind="number" id="optional_number" role="user" label="Optional Number" --><!-- /field -->
|
|
174
155
|
|
|
175
|
-
|
|
156
|
+
<!-- field kind="url" id="related_url" role="user" label="Related URL" --><!-- /field -->
|
|
176
157
|
|
|
177
|
-
|
|
158
|
+
<!-- instructions ref="related_url" -->
|
|
178
159
|
Optionally add a URL to related documentation or resources.
|
|
179
|
-
|
|
160
|
+
<!-- /instructions -->
|
|
180
161
|
|
|
181
|
-
|
|
162
|
+
<!-- field kind="date" id="optional_date" role="user" label="Optional Date" --><!-- /field -->
|
|
182
163
|
|
|
183
|
-
|
|
164
|
+
<!-- instructions ref="optional_date" -->
|
|
184
165
|
Optionally add a date (YYYY-MM-DD format).
|
|
185
|
-
|
|
166
|
+
<!-- /instructions -->
|
|
186
167
|
|
|
187
|
-
|
|
168
|
+
<!-- field kind="year" id="optional_year" role="user" label="Optional Year" --><!-- /field -->
|
|
188
169
|
|
|
189
|
-
|
|
170
|
+
<!-- instructions ref="optional_year" -->
|
|
190
171
|
Optionally add a year.
|
|
191
|
-
|
|
172
|
+
<!-- /instructions -->
|
|
173
|
+
|
|
174
|
+
<!-- /group -->
|
|
175
|
+
|
|
176
|
+
<!-- /form -->
|
|
177
|
+
|
|
192
178
|
|
|
193
|
-
{% /group %}
|
|
194
179
|
|
|
195
|
-
{% /form %}
|
|
@@ -387,10 +387,9 @@
|
|
|
387
387
|
],
|
|
388
388
|
"x-markform": {
|
|
389
389
|
"spec": "MF/0.1",
|
|
390
|
-
"roles": ["user"
|
|
390
|
+
"roles": ["user"],
|
|
391
391
|
"roleInstructions": {
|
|
392
|
-
"user": "Fill in
|
|
393
|
-
"agent": "Complete the remaining fields based on the provided context."
|
|
392
|
+
"user": "Fill in all fields in this form."
|
|
394
393
|
},
|
|
395
394
|
"groups": [
|
|
396
395
|
{
|