@wenathlan/devthink 1.1.16 → 2.0.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.
- package/CHANGELOG.md +1288 -0
- package/README.md +6 -0
- package/bridge.d.ts +698 -0
- package/bridge.d.ts.map +1 -0
- package/bridge.js +1877 -0
- package/bun.d.ts +8 -0
- package/bun.d.ts.map +1 -0
- package/bun.js +52329 -0
- package/caps/background.json +712 -0
- package/caps/cli.json +360 -0
- package/caps/library.json +3611 -0
- package/caps/mcp.json +126 -0
- package/caps/pagebridge.json +377 -0
- package/caps/popup.json +51 -0
- package/caps/sidepanel.json +522 -0
- package/checksums.txt +142 -0
- package/cli.d.ts +187 -0
- package/cli.d.ts.map +1 -0
- package/cli.js +18197 -0
- package/companion.d.ts +19 -0
- package/companion.d.ts.map +1 -0
- package/companion.js +389 -0
- package/crossbrowser.d.ts +277 -0
- package/crossbrowser.d.ts.map +1 -0
- package/crossbrowser.js +1191 -0
- package/dashdone.d.ts +273 -0
- package/dashdone.d.ts.map +1 -0
- package/dashdone.js +368 -0
- package/deno.d.ts +11 -0
- package/deno.d.ts.map +1 -0
- package/deno.js +52325 -0
- package/devthink.umd.js +52346 -0
- package/fixtures/bun.ts +7 -0
- package/fixtures/cjs.js +6 -0
- package/fixtures/deno.ts +6 -0
- package/fixtures/example-org-pagestate.json +22 -0
- package/fixtures/importers/automa-workflow.json +18 -0
- package/fixtures/importers/selenium-side.json +20 -0
- package/fixtures/importers/tabular-plan.csv +7 -0
- package/fixtures/importers/uivision-macro.json +10 -0
- package/fixtures/importers/v1-plan.json +13 -0
- package/fixtures/mcp-client.mjs +14 -0
- package/fixtures/pages/checkout.html +192 -0
- package/fixtures/pages/dashboard.html +110 -0
- package/fixtures/pages/feed.html +113 -0
- package/fixtures/pages/product-grid.html +150 -0
- package/fixtures/plans/form-inventory-plan.json +11 -0
- package/fixtures/plans/release-notes-plan.json +11 -0
- package/fixtures/recipes/agentscompete.json +11 -0
- package/fixtures/recipes/agentsforms.json +11 -0
- package/fixtures/recipes/agentsmonitor.json +11 -0
- package/fixtures/recipes/agentsreview.json +29 -0
- package/fixtures/recipes/agentswarm.json +11 -0
- package/fixtures/recipes/fillcalendar.json +12 -0
- package/fixtures/recipes/fillcheckout.json +13 -0
- package/fixtures/recipes/filldependentdropdowns.json +12 -0
- package/fixtures/recipes/fillfromcsv.json +13 -0
- package/fixtures/recipes/fillloginform.json +12 -0
- package/fixtures/recipes/fillmultistepwizard.json +13 -0
- package/fixtures/recipes/fillregistration.json +12 -0
- package/fixtures/recipes/fillsearchfilters.json +12 -0
- package/fixtures/recipes/filltypeahead.json +11 -0
- package/fixtures/recipes/monitoralerts.json +12 -0
- package/fixtures/recipes/monitoravailability.json +11 -0
- package/fixtures/recipes/monitornetworkquiet.json +12 -0
- package/fixtures/recipes/monitorpagechanges.json +11 -0
- package/fixtures/recipes/monitorpricechange.json +11 -0
- package/fixtures/recipes/monitorschedule.json +12 -0
- package/fixtures/recipes/scrapedynamicprices.json +13 -0
- package/fixtures/recipes/scrapeimagegallery.json +12 -0
- package/fixtures/recipes/scrapeinfinitefeed.json +13 -0
- package/fixtures/recipes/scrapenestedlists.json +12 -0
- package/fixtures/recipes/scrapeproductgrid.json +12 -0
- package/fixtures/recipes/scrapereviews.json +12 -0
- package/fixtures/recipes/scrapesearchresults.json +12 -0
- package/fixtures/recipes/scrapetablepagination.json +12 -0
- package/fixtures/recipes/testaccessibility.json +34 -0
- package/fixtures/recipes/testconsoleerrors.json +12 -0
- package/fixtures/recipes/testdeeplinks.json +12 -0
- package/fixtures/recipes/testformvalidation.json +13 -0
- package/fixtures/recipes/testlayoutshift.json +12 -0
- package/fixtures/recipes/testlinkcheck.json +12 -0
- package/fixtures/recipes/testloadtiming.json +12 -0
- package/fixtures/recipes/testvisualdiff.json +12 -0
- package/fixtures/workflows/changelog-digest-workflow.json +13 -0
- package/fixtures/workflows/form-survey-workflow.json +13 -0
- package/gallery.json +706 -0
- package/hardening.d.ts +81 -0
- package/hardening.d.ts.map +1 -0
- package/hardening.js +188 -0
- package/headless.d.ts +114 -0
- package/headless.d.ts.map +1 -0
- package/headless.js +11522 -0
- package/http.d.ts +636 -0
- package/http.d.ts.map +1 -0
- package/http.js +2165 -0
- package/index.cjs +54682 -0
- package/index.d.ts +40 -0
- package/index.d.ts.map +1 -0
- package/index.js +52310 -0
- package/index.neutral.js +46343 -0
- package/manifest.json +199 -0
- package/mcp.d.ts +501 -0
- package/mcp.d.ts.map +1 -0
- package/mcp.js +20515 -0
- package/memory.d.ts +2397 -0
- package/memory.d.ts.map +1 -0
- package/memory.js +5782 -0
- package/nativehost.template.json +10 -0
- package/node.cjs +54686 -0
- package/node.d.ts +8 -0
- package/node.d.ts.map +1 -0
- package/pack.d.ts +211 -0
- package/pack.d.ts.map +1 -0
- package/pack.js +805 -0
- package/package.json +101 -51
- package/policy.d.ts +1854 -0
- package/policy.d.ts.map +1 -0
- package/policy.js +12580 -0
- package/progress.d.ts +390 -0
- package/progress.d.ts.map +1 -0
- package/progress.js +645 -0
- package/protocol.d.ts +2336 -0
- package/protocol.d.ts.map +1 -0
- package/protocol.js +8334 -0
- package/schemas/audit.schema.json +226 -0
- package/schemas/capability.schema.json +113 -0
- package/schemas/envelope.schema.json +162 -0
- package/schemas/memory.schema.json +51 -0
- package/schemas/observation.schema.json +113 -0
- package/schemas/plan.schema.json +208 -0
- package/schemas/progress.schema.json +126 -0
- package/schemas/proposal.schema.json +68 -0
- package/schemas/session.schema.json +82 -0
- package/schemas/tool.schema.json +94 -0
- package/server.d.ts +435 -0
- package/server.d.ts.map +1 -0
- package/server.js +28872 -0
- package/umd-example.html +18 -0
- package/umd.d.ts +6 -0
- package/umd.d.ts.map +1 -0
- package/build.ts +0 -41
- package/check-secrets.ts +0 -52
- package/compatibility.ts +0 -37
- package/config.ts +0 -246
- package/devthink.ts +0 -397
- package/identity.ts +0 -156
- package/ids.ts +0 -22
- package/memory.ts +0 -95
- package/modes.ts +0 -43
- package/plugin.ts +0 -68
- package/providers.ts +0 -179
- package/server.ts +0 -264
- package/session.ts +0 -155
- package/storage.ts +0 -82
- package/stream.ts +0 -130
- package/sync.ts +0 -27
- package/terminal-ui.tsx +0 -155
- package/ui.ts +0 -143
- package/workspace.ts +0 -20
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "devthink/protocolv2/plan.schema.json",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"title": "the frozen plan, step and option contract of the api freeze",
|
|
5
|
+
"description": "freezes the plan, the step and the option grammar shapes: the plan carries its objective, origin and reviewed steps while every step carries its id, its frozen action kind, its target, value and reviewed json options; the review surface documents the approve and reject decisions with the plan states and no hard cap on the step count, because the plan grammar bounds nothing the review did not bound.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"plan": {
|
|
8
|
+
"description": "the frozen agent plan fields",
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "the plan id"
|
|
14
|
+
},
|
|
15
|
+
"objective": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "the plain language objective"
|
|
18
|
+
},
|
|
19
|
+
"origin": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "the exact origin the plan runs inside"
|
|
22
|
+
},
|
|
23
|
+
"steps": {
|
|
24
|
+
"type": "array",
|
|
25
|
+
"description": "the reviewed steps in execution order with no hard cap on the count",
|
|
26
|
+
"items": {
|
|
27
|
+
"type": "object"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"createdat": {
|
|
31
|
+
"type": "number",
|
|
32
|
+
"description": "the epoch milliseconds the plan was created"
|
|
33
|
+
},
|
|
34
|
+
"expiresat": {
|
|
35
|
+
"type": "number",
|
|
36
|
+
"description": "the epoch milliseconds the plan expires"
|
|
37
|
+
},
|
|
38
|
+
"state": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "the plan state of the frozen review surface",
|
|
41
|
+
"enum": [
|
|
42
|
+
"draft",
|
|
43
|
+
"pending",
|
|
44
|
+
"approved",
|
|
45
|
+
"rejected",
|
|
46
|
+
"expired",
|
|
47
|
+
"completed",
|
|
48
|
+
"cancelled"
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"approvedat": {
|
|
52
|
+
"type": "number",
|
|
53
|
+
"description": "the epoch milliseconds the human approved the plan"
|
|
54
|
+
},
|
|
55
|
+
"completedat": {
|
|
56
|
+
"type": "number",
|
|
57
|
+
"description": "the epoch milliseconds the plan completed"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": [
|
|
61
|
+
"id",
|
|
62
|
+
"objective",
|
|
63
|
+
"origin",
|
|
64
|
+
"steps",
|
|
65
|
+
"createdat",
|
|
66
|
+
"expiresat",
|
|
67
|
+
"state"
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
"step": {
|
|
71
|
+
"description": "the frozen tool step fields",
|
|
72
|
+
"type": "object",
|
|
73
|
+
"properties": {
|
|
74
|
+
"id": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"description": "the step id"
|
|
77
|
+
},
|
|
78
|
+
"kind": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"description": "the frozen action kind identifier of the immutable vocabulary"
|
|
81
|
+
},
|
|
82
|
+
"target": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "the reviewed css selector the step addresses"
|
|
85
|
+
},
|
|
86
|
+
"value": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"description": "the reviewed literal value the step carries"
|
|
89
|
+
},
|
|
90
|
+
"options": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "the reviewed json options of the option grammar"
|
|
93
|
+
},
|
|
94
|
+
"summary": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"description": "the human readable summary the review reads"
|
|
97
|
+
},
|
|
98
|
+
"risk": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "the derived risk class",
|
|
101
|
+
"enum": [
|
|
102
|
+
"read",
|
|
103
|
+
"interaction",
|
|
104
|
+
"sensitive"
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"idempotencykey": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"description": "the deterministic key replays deduplicate on"
|
|
110
|
+
},
|
|
111
|
+
"environment": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"description": "the execution environment the step names",
|
|
114
|
+
"enum": [
|
|
115
|
+
"pagecontext",
|
|
116
|
+
"isolatedworld",
|
|
117
|
+
"offscreenworker",
|
|
118
|
+
"sandboxframe"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
"agentid": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"description": "the fleet agent the step attributes to"
|
|
124
|
+
},
|
|
125
|
+
"intenthint": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"description": "the plain language navigation intent label"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"required": [
|
|
131
|
+
"id",
|
|
132
|
+
"kind",
|
|
133
|
+
"summary",
|
|
134
|
+
"risk"
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
"options": {
|
|
138
|
+
"description": "the frozen option grammar field families of the reviewed step options",
|
|
139
|
+
"type": "object",
|
|
140
|
+
"properties": {
|
|
141
|
+
"targetref": {
|
|
142
|
+
"type": "object",
|
|
143
|
+
"description": "the reviewed element reference the page bridge resolves"
|
|
144
|
+
},
|
|
145
|
+
"modifiers": {
|
|
146
|
+
"type": "array",
|
|
147
|
+
"description": "the reviewed key modifiers of key steps",
|
|
148
|
+
"items": {
|
|
149
|
+
"type": "string"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"pipeline": {
|
|
153
|
+
"type": "string",
|
|
154
|
+
"description": "the extractpipeline reference of the extract steps"
|
|
155
|
+
},
|
|
156
|
+
"pollrequest": {
|
|
157
|
+
"type": "object",
|
|
158
|
+
"description": "the longpoll request grammar of a transport step"
|
|
159
|
+
},
|
|
160
|
+
"graphql": {
|
|
161
|
+
"type": "object",
|
|
162
|
+
"description": "the graphql subscription grammar of a channel step"
|
|
163
|
+
},
|
|
164
|
+
"correlation": {
|
|
165
|
+
"type": "object",
|
|
166
|
+
"description": "the per run request correlation map"
|
|
167
|
+
},
|
|
168
|
+
"ocr": {
|
|
169
|
+
"type": "boolean",
|
|
170
|
+
"description": "the flag that runs recognition on the stored capture bytes"
|
|
171
|
+
},
|
|
172
|
+
"vision": {
|
|
173
|
+
"type": "object",
|
|
174
|
+
"description": "the reviewed vision prompt block of a capture step"
|
|
175
|
+
},
|
|
176
|
+
"ocrregion": {
|
|
177
|
+
"type": "object",
|
|
178
|
+
"description": "the region grammar of a regionocr reading"
|
|
179
|
+
},
|
|
180
|
+
"naming": {
|
|
181
|
+
"type": "string",
|
|
182
|
+
"description": "the lowercase capture filename pattern"
|
|
183
|
+
},
|
|
184
|
+
"pair": {
|
|
185
|
+
"type": "string",
|
|
186
|
+
"description": "the beforeafter capture mode around a step"
|
|
187
|
+
},
|
|
188
|
+
"diff": {
|
|
189
|
+
"type": "boolean",
|
|
190
|
+
"description": "the flag that runs the diffshot comparison after a sensitive step"
|
|
191
|
+
},
|
|
192
|
+
"snapshot": {
|
|
193
|
+
"type": "object",
|
|
194
|
+
"description": "the session snapshot plan of a capturesession step"
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"reviewsurface": {
|
|
199
|
+
"description": "the frozen review surface of the plan: the human approves or rejects a pending plan, the approve and reject runtime messages travel the background surface, and the review carries no hard cap on the step count, the expiry window or the option grammar depth because every bound the review honors stays a user choice",
|
|
200
|
+
"type": "object",
|
|
201
|
+
"messages": [
|
|
202
|
+
"approve",
|
|
203
|
+
"reject",
|
|
204
|
+
"preview",
|
|
205
|
+
"execute"
|
|
206
|
+
]
|
|
207
|
+
}
|
|
208
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "devthink/protocolv2/progress.schema.json",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"title": "the frozen progress event contract of the api freeze",
|
|
5
|
+
"description": "freezes the progress event names and the progress record shape: the plan progress carries its completed steps, its outcomes, its task tabs and its per step environment, turnaround, gate wait, perf and delta records while the step outcome carries its ok flag, summary, details and environment; the event names of the record families join the frozen contract.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"eventnames": {
|
|
8
|
+
"description": "the frozen progress event name families of the progress record",
|
|
9
|
+
"values": [
|
|
10
|
+
"recordstep",
|
|
11
|
+
"recordoutcome",
|
|
12
|
+
"recordenvironment",
|
|
13
|
+
"recordturnaround",
|
|
14
|
+
"recordgatewait",
|
|
15
|
+
"recordperf",
|
|
16
|
+
"recorddeltas"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"planprogress": {
|
|
20
|
+
"description": "the frozen plan progress fields",
|
|
21
|
+
"type": "object",
|
|
22
|
+
"properties": {
|
|
23
|
+
"planid": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "the plan the progress tracks"
|
|
26
|
+
},
|
|
27
|
+
"runid": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "the run record the progress links to"
|
|
30
|
+
},
|
|
31
|
+
"completedsteps": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"description": "the executed step ids in order",
|
|
34
|
+
"items": {
|
|
35
|
+
"type": "string"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"outcomes": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"description": "the step outcomes of the completed steps",
|
|
41
|
+
"items": {
|
|
42
|
+
"type": "object"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"tasktabs": {
|
|
46
|
+
"type": "array",
|
|
47
|
+
"description": "the tabs assigned to the running task",
|
|
48
|
+
"items": {
|
|
49
|
+
"type": "number"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"environments": {
|
|
53
|
+
"type": "object",
|
|
54
|
+
"description": "the execution environment of every completed step by step id"
|
|
55
|
+
},
|
|
56
|
+
"turnarounds": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"description": "the worker turnaround of every offloaded step by step id"
|
|
59
|
+
},
|
|
60
|
+
"gatewaits": {
|
|
61
|
+
"type": "object",
|
|
62
|
+
"description": "the gate wait evidence of every gated step by step id"
|
|
63
|
+
},
|
|
64
|
+
"perf": {
|
|
65
|
+
"type": "object",
|
|
66
|
+
"description": "the perf record of every executed step by step id"
|
|
67
|
+
},
|
|
68
|
+
"deltas": {
|
|
69
|
+
"type": "object",
|
|
70
|
+
"description": "the snapshot change set of every executed step by step id"
|
|
71
|
+
},
|
|
72
|
+
"prior": {
|
|
73
|
+
"type": "array",
|
|
74
|
+
"description": "the prior progress snapshots preserved across plan replacements",
|
|
75
|
+
"items": {
|
|
76
|
+
"type": "object"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"updatedat": {
|
|
80
|
+
"type": "number",
|
|
81
|
+
"description": "the epoch milliseconds of the last update"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"required": [
|
|
85
|
+
"planid",
|
|
86
|
+
"completedsteps",
|
|
87
|
+
"updatedat"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"stepoutcome": {
|
|
91
|
+
"description": "the frozen step outcome fields",
|
|
92
|
+
"type": "object",
|
|
93
|
+
"properties": {
|
|
94
|
+
"stepid": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"description": "the step the outcome reports"
|
|
97
|
+
},
|
|
98
|
+
"ok": {
|
|
99
|
+
"type": "boolean",
|
|
100
|
+
"description": "the success flag of the outcome"
|
|
101
|
+
},
|
|
102
|
+
"summary": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"description": "the plain language summary of the outcome"
|
|
105
|
+
},
|
|
106
|
+
"details": {
|
|
107
|
+
"type": "object",
|
|
108
|
+
"description": "the structured payload of the outcome"
|
|
109
|
+
},
|
|
110
|
+
"environment": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"description": "the execution environment the step ran in"
|
|
113
|
+
},
|
|
114
|
+
"at": {
|
|
115
|
+
"type": "number",
|
|
116
|
+
"description": "the epoch milliseconds of the outcome"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"required": [
|
|
120
|
+
"stepid",
|
|
121
|
+
"ok",
|
|
122
|
+
"summary",
|
|
123
|
+
"at"
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "devthink/protocolv2/proposal.schema.json",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"title": "the frozen proposal request and response contract of the api freeze",
|
|
5
|
+
"description": "freezes the proposal request the endpoint receives and the plan proposal the protocol parses: the request carries the objective, the session record, the observation and the capability report while the response carries the versioned envelope, the plan and the optional resume, lock and agent markers; the response refuses every version outside the frozen protocol version.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"proposalrequest": {
|
|
8
|
+
"description": "the frozen proposal request fields",
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"objective": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "the plain language objective the user reviews"
|
|
14
|
+
},
|
|
15
|
+
"session": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"description": "the session record of the requesting session as the session schema freezes it"
|
|
18
|
+
},
|
|
19
|
+
"observation": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"description": "the observation payload as the observation schema freezes it"
|
|
22
|
+
},
|
|
23
|
+
"capabilities": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"description": "the capability report as the capability schema freezes it"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"required": [
|
|
29
|
+
"objective",
|
|
30
|
+
"session",
|
|
31
|
+
"observation",
|
|
32
|
+
"capabilities"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"proposalresponse": {
|
|
36
|
+
"description": "the frozen plan proposal fields of the versioned envelope",
|
|
37
|
+
"type": "object",
|
|
38
|
+
"properties": {
|
|
39
|
+
"version": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "the frozen protocol version of the versioned envelope"
|
|
42
|
+
},
|
|
43
|
+
"plan": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"description": "the agent plan as the plan schema freezes it"
|
|
46
|
+
},
|
|
47
|
+
"resumedfrom": {
|
|
48
|
+
"type": "array",
|
|
49
|
+
"description": "the checkpointed step ids a resumed proposal marks",
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"lockid": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"description": "the sessionlock the replay preserves"
|
|
57
|
+
},
|
|
58
|
+
"agentid": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"description": "the fleet agent that requested the plan"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"required": [
|
|
64
|
+
"version",
|
|
65
|
+
"plan"
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "devthink/protocolv2/session.schema.json",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"title": "the frozen session lifecycle contract of the api freeze",
|
|
5
|
+
"description": "freezes the session lifecycle messages and the session record shape of protocolv2: the startsession, pausesession and resumesession runtime messages travel the background surface while the session record rides every versioned envelope the proposal request carries; the lifecycle stays consent first because a paused or expired session refuses every action and preview.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"lifecycle": {
|
|
8
|
+
"description": "the frozen session lifecycle message names of the background surface",
|
|
9
|
+
"messages": [
|
|
10
|
+
"startsession",
|
|
11
|
+
"pausesession",
|
|
12
|
+
"resumesession"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"sessionrecord": {
|
|
16
|
+
"description": "the frozen session record fields",
|
|
17
|
+
"type": "object",
|
|
18
|
+
"properties": {
|
|
19
|
+
"id": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "the session id"
|
|
22
|
+
},
|
|
23
|
+
"tabid": {
|
|
24
|
+
"type": "number",
|
|
25
|
+
"description": "the tab the session binds"
|
|
26
|
+
},
|
|
27
|
+
"origin": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "the exact origin the session runs inside"
|
|
30
|
+
},
|
|
31
|
+
"startedat": {
|
|
32
|
+
"type": "number",
|
|
33
|
+
"description": "the epoch milliseconds the session started"
|
|
34
|
+
},
|
|
35
|
+
"expiresat": {
|
|
36
|
+
"type": "number",
|
|
37
|
+
"description": "the epoch milliseconds the session expires; an expired session refuses every action"
|
|
38
|
+
},
|
|
39
|
+
"stoppedat": {
|
|
40
|
+
"type": "number",
|
|
41
|
+
"description": "the epoch milliseconds the user stopped the session"
|
|
42
|
+
},
|
|
43
|
+
"pausedat": {
|
|
44
|
+
"type": "number",
|
|
45
|
+
"description": "the epoch milliseconds the user paused the session; a paused session refuses every action and preview"
|
|
46
|
+
},
|
|
47
|
+
"grants": {
|
|
48
|
+
"type": "array",
|
|
49
|
+
"description": "the additional exact origins granted to the session",
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"environmentgrants": {
|
|
55
|
+
"type": "array",
|
|
56
|
+
"description": "the execution environments granted beside the origin grants",
|
|
57
|
+
"items": {
|
|
58
|
+
"type": "string"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"lockid": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "the sessionlock the running run acquired"
|
|
64
|
+
},
|
|
65
|
+
"agentid": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "the fleet agent bound to the session"
|
|
68
|
+
},
|
|
69
|
+
"jarid": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "the cookie jar the session cookie state stays scoped to"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"required": [
|
|
75
|
+
"id",
|
|
76
|
+
"tabid",
|
|
77
|
+
"origin",
|
|
78
|
+
"startedat",
|
|
79
|
+
"expiresat"
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "devthink/protocolv2/tool.schema.json",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"title": "the frozen tool catalog entry contract of the api freeze",
|
|
5
|
+
"description": "freezes the tool catalog entry shape with the per tool versions the freeze pins: every tooldef carries its namespaced name, its version for compatibility checks, its plain language description with the openapi style field layout, its json schema inputs, its frozen action kind, its risk grade and the consent metadata of the tools with side effects; the four namespaces stay browser, workflow, memory and system while the catalog kinds join the frozen contract.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"namespaces": {
|
|
8
|
+
"description": "the frozen tool namespaces",
|
|
9
|
+
"values": [
|
|
10
|
+
"browser",
|
|
11
|
+
"workflow",
|
|
12
|
+
"memory",
|
|
13
|
+
"system"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"tooldef": {
|
|
17
|
+
"description": "the frozen tool catalog entry fields",
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"name": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "the namespaced tool name"
|
|
23
|
+
},
|
|
24
|
+
"version": {
|
|
25
|
+
"type": "number",
|
|
26
|
+
"description": "the per tool version frozen from this release on; every entry carries its own version for compatibility checks"
|
|
27
|
+
},
|
|
28
|
+
"description": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "the plain language description that states the consent class and side effects with the openapi style field layout"
|
|
31
|
+
},
|
|
32
|
+
"inputschema": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"description": "the json schema of the tool inputs with typed properties, required markers and reviewed defaults"
|
|
35
|
+
},
|
|
36
|
+
"kind": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "the frozen action kind the tool wraps",
|
|
39
|
+
"enum": [
|
|
40
|
+
"a11ytree",
|
|
41
|
+
"back",
|
|
42
|
+
"click",
|
|
43
|
+
"composeworkflow",
|
|
44
|
+
"dryrun",
|
|
45
|
+
"eventrule",
|
|
46
|
+
"extract",
|
|
47
|
+
"extractvars",
|
|
48
|
+
"forward",
|
|
49
|
+
"listruns",
|
|
50
|
+
"navigate",
|
|
51
|
+
"observe",
|
|
52
|
+
"presskey",
|
|
53
|
+
"readlinks",
|
|
54
|
+
"readmeta",
|
|
55
|
+
"readtable",
|
|
56
|
+
"readtext",
|
|
57
|
+
"reload",
|
|
58
|
+
"runworkflow",
|
|
59
|
+
"tabactivate",
|
|
60
|
+
"tabclose",
|
|
61
|
+
"tabcreate",
|
|
62
|
+
"tablist",
|
|
63
|
+
"trailaudit",
|
|
64
|
+
"type",
|
|
65
|
+
"windowclose",
|
|
66
|
+
"windowcreate",
|
|
67
|
+
"windowlist",
|
|
68
|
+
"windowresize"
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
"risk": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"description": "the risk grade of the wrapped kind",
|
|
74
|
+
"enum": [
|
|
75
|
+
"read",
|
|
76
|
+
"interaction",
|
|
77
|
+
"sensitive"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
"consentmeta": {
|
|
81
|
+
"type": "object",
|
|
82
|
+
"description": "the consent metadata of a tool with side effects: the review requirement, the risk class, the approval gate requirement and the session origin scope"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"required": [
|
|
86
|
+
"name",
|
|
87
|
+
"version",
|
|
88
|
+
"description",
|
|
89
|
+
"inputschema",
|
|
90
|
+
"kind",
|
|
91
|
+
"risk"
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
}
|