agnostic-prompt-aps 1.1.1__py3-none-any.whl
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.
- agnostic_prompt_aps-1.1.1.dist-info/METADATA +57 -0
- agnostic_prompt_aps-1.1.1.dist-info/RECORD +42 -0
- agnostic_prompt_aps-1.1.1.dist-info/WHEEL +5 -0
- agnostic_prompt_aps-1.1.1.dist-info/entry_points.txt +2 -0
- agnostic_prompt_aps-1.1.1.dist-info/licenses/LICENSE +190 -0
- agnostic_prompt_aps-1.1.1.dist-info/top_level.txt +1 -0
- aps_cli/__init__.py +3 -0
- aps_cli/cli.py +250 -0
- aps_cli/core.py +157 -0
- aps_cli/payload/agnostic-prompt-standard/SKILL.md +73 -0
- aps_cli/payload/agnostic-prompt-standard/assets/agents/vscode-agent-v1.0.0.agent.md +187 -0
- aps_cli/payload/agnostic-prompt-standard/assets/constants/constants-json-block-v1.0.0.example.md +15 -0
- aps_cli/payload/agnostic-prompt-standard/assets/constants/constants-text-block-v1.0.0.example.md +15 -0
- aps_cli/payload/agnostic-prompt-standard/assets/formats/format-code-changes-full-v1.0.0.example.md +21 -0
- aps_cli/payload/agnostic-prompt-standard/assets/formats/format-code-map-v1.0.0.example.md +18 -0
- aps_cli/payload/agnostic-prompt-standard/assets/formats/format-error-v1.0.0.example.md +9 -0
- aps_cli/payload/agnostic-prompt-standard/assets/formats/format-hierarchical-outline-v1.0.0.example.md +17 -0
- aps_cli/payload/agnostic-prompt-standard/assets/formats/format-ideation-list-v1.0.0.example.md +20 -0
- aps_cli/payload/agnostic-prompt-standard/assets/formats/format-markdown-table-v1.0.0.example.md +17 -0
- aps_cli/payload/agnostic-prompt-standard/assets/formats/format-table-api-coverage-v1.0.0.example.md +13 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/README.md +39 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/_schemas/platform-manifest.schema.json +84 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/_schemas/tools-registry.schema.json +148 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/_template/README.md +10 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/_template/manifest.json +25 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/_template/tools-registry.json +12 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/README.md +100 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/frontmatter/agent-frontmatter.md +24 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/frontmatter/instructions-frontmatter.md +12 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/frontmatter/prompt-frontmatter.md +18 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/frontmatter/skill-frontmatter.md +10 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/manifest.json +40 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/templates/AGENTS.md +7 -0
- aps_cli/payload/agnostic-prompt-standard/platforms/vscode-copilot/tools-registry.json +509 -0
- aps_cli/payload/agnostic-prompt-standard/references/00-structure.md +123 -0
- aps_cli/payload/agnostic-prompt-standard/references/01-vocabulary.md +124 -0
- aps_cli/payload/agnostic-prompt-standard/references/02-linting-and-formatting.md +122 -0
- aps_cli/payload/agnostic-prompt-standard/references/03-agentic-control.md +192 -0
- aps_cli/payload/agnostic-prompt-standard/references/04-schemas-and-types.md +137 -0
- aps_cli/payload/agnostic-prompt-standard/references/05-grammar.md +99 -0
- aps_cli/payload/agnostic-prompt-standard/references/06-logging-and-privacy.md +32 -0
- aps_cli/payload/agnostic-prompt-standard/references/07-error-taxonomy.md +62 -0
|
@@ -0,0 +1,509 @@
|
|
|
1
|
+
{
|
|
2
|
+
"platformId": "vscode-copilot",
|
|
3
|
+
"adapterVersion": "1.1.0",
|
|
4
|
+
"lastUpdated": "2026-01-15",
|
|
5
|
+
"toolNaming": {
|
|
6
|
+
"chatMentions": "Tools are mentioned in chat with # (for example: #codebase, #problems).",
|
|
7
|
+
"frontmatterTools": "In YAML frontmatter (tools: [...]), list tool names without #. Some names are qualified (for example: search/codebase, read/problems, web/fetch).",
|
|
8
|
+
"rule": "Prefer the exact tool name shown by VS Code's tools picker. If diagnostics report a rename, update your frontmatter to the new name."
|
|
9
|
+
},
|
|
10
|
+
"toolSets": [
|
|
11
|
+
{
|
|
12
|
+
"id": "search",
|
|
13
|
+
"mention": "#search",
|
|
14
|
+
"preferredName": "search",
|
|
15
|
+
"legacyName": "search",
|
|
16
|
+
"description": "Tool set: searching the workspace (codebase, changes, usages, text/file search).",
|
|
17
|
+
"tools": [
|
|
18
|
+
"search/codebase",
|
|
19
|
+
"search/fileSearch",
|
|
20
|
+
"search/textSearch",
|
|
21
|
+
"search/searchResults",
|
|
22
|
+
"search/changes",
|
|
23
|
+
"search/usages"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "read",
|
|
28
|
+
"mention": "#read",
|
|
29
|
+
"preferredName": "read",
|
|
30
|
+
"legacyName": null,
|
|
31
|
+
"description": "Tool set: reading workspace context (files, problems, terminal selection).",
|
|
32
|
+
"tools": [
|
|
33
|
+
"read/readFile",
|
|
34
|
+
"selection",
|
|
35
|
+
"read/problems",
|
|
36
|
+
"read/terminalLastCommand",
|
|
37
|
+
"read/terminalSelection"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "edit",
|
|
42
|
+
"mention": "#edit",
|
|
43
|
+
"preferredName": "edit",
|
|
44
|
+
"legacyName": "edit",
|
|
45
|
+
"description": "Tool set: editing and creating files in the workspace.",
|
|
46
|
+
"tools": [
|
|
47
|
+
"edit/createDirectory",
|
|
48
|
+
"edit/createFile",
|
|
49
|
+
"edit/editFiles",
|
|
50
|
+
"edit/editNotebook"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "execute",
|
|
55
|
+
"mention": "#execute",
|
|
56
|
+
"preferredName": "execute",
|
|
57
|
+
"legacyName": null,
|
|
58
|
+
"description": "Tool set: running commands and tasks (terminal + tasks output).",
|
|
59
|
+
"tools": [
|
|
60
|
+
"execute/runInTerminal",
|
|
61
|
+
"execute/getTerminalOutput",
|
|
62
|
+
"execute/runTask",
|
|
63
|
+
"execute/createAndRunTask",
|
|
64
|
+
"execute/getTaskOutput"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "web",
|
|
69
|
+
"mention": "#web",
|
|
70
|
+
"preferredName": "web",
|
|
71
|
+
"legacyName": null,
|
|
72
|
+
"description": "Tool set: fetching external information.",
|
|
73
|
+
"tools": [
|
|
74
|
+
"web/fetch",
|
|
75
|
+
"githubRepo"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "vscode",
|
|
80
|
+
"mention": "#vscode",
|
|
81
|
+
"preferredName": "vscode",
|
|
82
|
+
"legacyName": null,
|
|
83
|
+
"description": "Tool set: VS Code IDE helpers (commands, extensions, setup info).",
|
|
84
|
+
"tools": [
|
|
85
|
+
"vscode/runCommand",
|
|
86
|
+
"vscode/extensions",
|
|
87
|
+
"vscode/installExtension",
|
|
88
|
+
"vscode/getProjectSetupInfo",
|
|
89
|
+
"vscode/openSimpleBrowser",
|
|
90
|
+
"vscode/newWorkspace",
|
|
91
|
+
"vscode/vscodeAPI"
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"tools": [
|
|
96
|
+
{
|
|
97
|
+
"id": "search/codebase",
|
|
98
|
+
"mention": "#codebase",
|
|
99
|
+
"preferredName": "search/codebase",
|
|
100
|
+
"legacyName": "codebase",
|
|
101
|
+
"description": "Search the current workspace to automatically find relevant context for the chat prompt.",
|
|
102
|
+
"risk": "low",
|
|
103
|
+
"sideEffects": "reads",
|
|
104
|
+
"capabilities": [
|
|
105
|
+
"search.codebase"
|
|
106
|
+
],
|
|
107
|
+
"notes": "Commonly used in prompt files (tools: ['search/codebase'])."
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": "search/changes",
|
|
111
|
+
"mention": "#changes",
|
|
112
|
+
"preferredName": "search/changes",
|
|
113
|
+
"legacyName": "changes",
|
|
114
|
+
"description": "List and query source control changes.",
|
|
115
|
+
"risk": "low",
|
|
116
|
+
"sideEffects": "reads",
|
|
117
|
+
"capabilities": [
|
|
118
|
+
"scm.diff"
|
|
119
|
+
],
|
|
120
|
+
"notes": "VS Code diagnostics may recommend 'search/changes' over 'changes'."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "search/usages",
|
|
124
|
+
"mention": "#usages",
|
|
125
|
+
"preferredName": "search/usages",
|
|
126
|
+
"legacyName": "usages",
|
|
127
|
+
"description": "Find references / implementations / definitions for symbols.",
|
|
128
|
+
"risk": "low",
|
|
129
|
+
"sideEffects": "reads",
|
|
130
|
+
"capabilities": [
|
|
131
|
+
"code.usages"
|
|
132
|
+
],
|
|
133
|
+
"notes": "VS Code diagnostics may recommend 'search/usages' over 'usages'."
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"id": "search/fileSearch",
|
|
137
|
+
"mention": "#fileSearch",
|
|
138
|
+
"preferredName": "search/fileSearch",
|
|
139
|
+
"legacyName": "fileSearch",
|
|
140
|
+
"description": "Search for files in the workspace using glob patterns and return their paths.",
|
|
141
|
+
"risk": "low",
|
|
142
|
+
"sideEffects": "reads",
|
|
143
|
+
"capabilities": [
|
|
144
|
+
"search.files"
|
|
145
|
+
],
|
|
146
|
+
"notes": ""
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "search/textSearch",
|
|
150
|
+
"mention": "#textSearch",
|
|
151
|
+
"preferredName": "search/textSearch",
|
|
152
|
+
"legacyName": "textSearch",
|
|
153
|
+
"description": "Find text in files.",
|
|
154
|
+
"risk": "low",
|
|
155
|
+
"sideEffects": "reads",
|
|
156
|
+
"capabilities": [
|
|
157
|
+
"search.text"
|
|
158
|
+
],
|
|
159
|
+
"notes": ""
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"id": "search/searchResults",
|
|
163
|
+
"mention": "#searchResults",
|
|
164
|
+
"preferredName": "search/searchResults",
|
|
165
|
+
"legacyName": "searchResults",
|
|
166
|
+
"description": "Read results from the Search view.",
|
|
167
|
+
"risk": "low",
|
|
168
|
+
"sideEffects": "reads",
|
|
169
|
+
"capabilities": [
|
|
170
|
+
"search.results"
|
|
171
|
+
],
|
|
172
|
+
"notes": ""
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"id": "read/problems",
|
|
176
|
+
"mention": "#problems",
|
|
177
|
+
"preferredName": "read/problems",
|
|
178
|
+
"legacyName": "problems",
|
|
179
|
+
"description": "Add workspace issues and problems from the Problems panel as context.",
|
|
180
|
+
"risk": "low",
|
|
181
|
+
"sideEffects": "reads",
|
|
182
|
+
"capabilities": [
|
|
183
|
+
"diagnostics.read"
|
|
184
|
+
],
|
|
185
|
+
"notes": "VS Code diagnostics may recommend 'read/problems' over 'problems'."
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"id": "read/readFile",
|
|
189
|
+
"mention": "#readFile",
|
|
190
|
+
"preferredName": "read/readFile",
|
|
191
|
+
"legacyName": "readFile",
|
|
192
|
+
"description": "Read the content of a file in the workspace.",
|
|
193
|
+
"risk": "low",
|
|
194
|
+
"sideEffects": "reads",
|
|
195
|
+
"capabilities": [
|
|
196
|
+
"fs.read"
|
|
197
|
+
],
|
|
198
|
+
"notes": ""
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"id": "selection",
|
|
202
|
+
"mention": "#selection",
|
|
203
|
+
"preferredName": "selection",
|
|
204
|
+
"legacyName": "selection",
|
|
205
|
+
"description": "Get the current editor selection (only available when text is selected).",
|
|
206
|
+
"risk": "low",
|
|
207
|
+
"sideEffects": "reads",
|
|
208
|
+
"capabilities": [
|
|
209
|
+
"editor.selection"
|
|
210
|
+
],
|
|
211
|
+
"notes": ""
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"id": "read/terminalLastCommand",
|
|
215
|
+
"mention": "#terminalLastCommand",
|
|
216
|
+
"preferredName": "read/terminalLastCommand",
|
|
217
|
+
"legacyName": "terminalLastCommand",
|
|
218
|
+
"description": "Get the last run terminal command and its output.",
|
|
219
|
+
"risk": "low",
|
|
220
|
+
"sideEffects": "reads",
|
|
221
|
+
"capabilities": [
|
|
222
|
+
"terminal.last"
|
|
223
|
+
],
|
|
224
|
+
"notes": "VS Code diagnostics may recommend 'read/terminalLastCommand'."
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"id": "read/terminalSelection",
|
|
228
|
+
"mention": "#terminalSelection",
|
|
229
|
+
"preferredName": "read/terminalSelection",
|
|
230
|
+
"legacyName": "terminalSelection",
|
|
231
|
+
"description": "Get the current terminal selection.",
|
|
232
|
+
"risk": "low",
|
|
233
|
+
"sideEffects": "reads",
|
|
234
|
+
"capabilities": [
|
|
235
|
+
"terminal.selection"
|
|
236
|
+
],
|
|
237
|
+
"notes": "VS Code diagnostics may recommend 'read/terminalSelection'."
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"id": "edit/createDirectory",
|
|
241
|
+
"mention": "#createDirectory",
|
|
242
|
+
"preferredName": "edit/createDirectory",
|
|
243
|
+
"legacyName": "createDirectory",
|
|
244
|
+
"description": "Create a new directory in the workspace.",
|
|
245
|
+
"risk": "medium",
|
|
246
|
+
"sideEffects": "writes",
|
|
247
|
+
"capabilities": [
|
|
248
|
+
"fs.mkdir"
|
|
249
|
+
],
|
|
250
|
+
"notes": "May require manual approval depending on VS Code settings."
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"id": "edit/createFile",
|
|
254
|
+
"mention": "#createFile",
|
|
255
|
+
"preferredName": "edit/createFile",
|
|
256
|
+
"legacyName": "createFile",
|
|
257
|
+
"description": "Create a new file in the workspace.",
|
|
258
|
+
"risk": "medium",
|
|
259
|
+
"sideEffects": "writes",
|
|
260
|
+
"capabilities": [
|
|
261
|
+
"fs.write"
|
|
262
|
+
],
|
|
263
|
+
"notes": "May require manual approval depending on VS Code settings."
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"id": "edit/editFiles",
|
|
267
|
+
"mention": "#editFiles",
|
|
268
|
+
"preferredName": "edit/editFiles",
|
|
269
|
+
"legacyName": "editFiles",
|
|
270
|
+
"description": "Apply edits to files in the workspace.",
|
|
271
|
+
"risk": "high",
|
|
272
|
+
"sideEffects": "writes",
|
|
273
|
+
"capabilities": [
|
|
274
|
+
"fs.patch"
|
|
275
|
+
],
|
|
276
|
+
"notes": "May require manual approval depending on VS Code settings."
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"id": "edit/editNotebook",
|
|
280
|
+
"mention": "#editNotebook",
|
|
281
|
+
"preferredName": "edit/editNotebook",
|
|
282
|
+
"legacyName": "editNotebook",
|
|
283
|
+
"description": "Make edits to a notebook.",
|
|
284
|
+
"risk": "high",
|
|
285
|
+
"sideEffects": "writes",
|
|
286
|
+
"capabilities": [
|
|
287
|
+
"notebook.patch"
|
|
288
|
+
],
|
|
289
|
+
"notes": ""
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
"id": "execute/runInTerminal",
|
|
293
|
+
"mention": "#runInTerminal",
|
|
294
|
+
"preferredName": "execute/runInTerminal",
|
|
295
|
+
"legacyName": "runInTerminal",
|
|
296
|
+
"description": "Run a shell command in the integrated terminal.",
|
|
297
|
+
"risk": "high",
|
|
298
|
+
"sideEffects": "executes",
|
|
299
|
+
"capabilities": [
|
|
300
|
+
"terminal.exec"
|
|
301
|
+
],
|
|
302
|
+
"notes": "VS Code diagnostics may recommend 'execute/runInTerminal'."
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"id": "execute/getTerminalOutput",
|
|
306
|
+
"mention": "#getTerminalOutput",
|
|
307
|
+
"preferredName": "execute/getTerminalOutput",
|
|
308
|
+
"legacyName": "getTerminalOutput",
|
|
309
|
+
"description": "Get the output from running a terminal command.",
|
|
310
|
+
"risk": "low",
|
|
311
|
+
"sideEffects": "reads",
|
|
312
|
+
"capabilities": [
|
|
313
|
+
"terminal.output"
|
|
314
|
+
],
|
|
315
|
+
"notes": ""
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"id": "execute/runTask",
|
|
319
|
+
"mention": "#runTask",
|
|
320
|
+
"preferredName": "execute/runTask",
|
|
321
|
+
"legacyName": "runTask",
|
|
322
|
+
"description": "Run an existing task in the workspace.",
|
|
323
|
+
"risk": "high",
|
|
324
|
+
"sideEffects": "executes",
|
|
325
|
+
"capabilities": [
|
|
326
|
+
"tasks.run"
|
|
327
|
+
],
|
|
328
|
+
"notes": "VS Code diagnostics may recommend 'execute/runTask'."
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"id": "execute/createAndRunTask",
|
|
332
|
+
"mention": "#createAndRunTask",
|
|
333
|
+
"preferredName": "execute/createAndRunTask",
|
|
334
|
+
"legacyName": "createAndRunTask",
|
|
335
|
+
"description": "Create and run a new task in the workspace.",
|
|
336
|
+
"risk": "medium",
|
|
337
|
+
"sideEffects": "executes",
|
|
338
|
+
"capabilities": [
|
|
339
|
+
"tasks.create",
|
|
340
|
+
"tasks.run"
|
|
341
|
+
],
|
|
342
|
+
"notes": ""
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"id": "execute/getTaskOutput",
|
|
346
|
+
"mention": "#getTaskOutput",
|
|
347
|
+
"preferredName": "execute/getTaskOutput",
|
|
348
|
+
"legacyName": "getTaskOutput",
|
|
349
|
+
"description": "Get the output from running a task.",
|
|
350
|
+
"risk": "low",
|
|
351
|
+
"sideEffects": "reads",
|
|
352
|
+
"capabilities": [
|
|
353
|
+
"tasks.output"
|
|
354
|
+
],
|
|
355
|
+
"notes": ""
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"id": "web/fetch",
|
|
359
|
+
"mention": "#fetch",
|
|
360
|
+
"preferredName": "web/fetch",
|
|
361
|
+
"legacyName": "fetch",
|
|
362
|
+
"description": "Fetch the content from a given web page.",
|
|
363
|
+
"risk": "medium",
|
|
364
|
+
"sideEffects": "network",
|
|
365
|
+
"capabilities": [
|
|
366
|
+
"web.fetch"
|
|
367
|
+
],
|
|
368
|
+
"notes": "Subject to URL approval in VS Code. VS Code diagnostics may recommend 'web/fetch'."
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"id": "githubRepo",
|
|
372
|
+
"mention": "#githubRepo",
|
|
373
|
+
"preferredName": "githubRepo",
|
|
374
|
+
"legacyName": "githubRepo",
|
|
375
|
+
"description": "Perform a code search in a GitHub repository.",
|
|
376
|
+
"risk": "medium",
|
|
377
|
+
"sideEffects": "network",
|
|
378
|
+
"capabilities": [
|
|
379
|
+
"github.search"
|
|
380
|
+
],
|
|
381
|
+
"notes": "Requires repo argument (e.g. microsoft/vscode)."
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"id": "todo",
|
|
385
|
+
"mention": "#todo",
|
|
386
|
+
"preferredName": "todo",
|
|
387
|
+
"legacyName": "todos",
|
|
388
|
+
"description": "Track implementation and progress of a request with a TODO list.",
|
|
389
|
+
"risk": "low",
|
|
390
|
+
"sideEffects": "none",
|
|
391
|
+
"capabilities": [
|
|
392
|
+
"planning.todos"
|
|
393
|
+
],
|
|
394
|
+
"notes": "VS Code diagnostics may recommend 'todo' over 'todos'."
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"id": "vscode/runCommand",
|
|
398
|
+
"mention": "#runVscodeCommand",
|
|
399
|
+
"preferredName": "vscode/runCommand",
|
|
400
|
+
"legacyName": "runVscodeCommand",
|
|
401
|
+
"description": "Run a VS Code command.",
|
|
402
|
+
"risk": "high",
|
|
403
|
+
"sideEffects": "mixed",
|
|
404
|
+
"capabilities": [
|
|
405
|
+
"vscode.command"
|
|
406
|
+
],
|
|
407
|
+
"notes": "Can change UI/settings; review the command."
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"id": "vscode/extensions",
|
|
411
|
+
"mention": "#extensions",
|
|
412
|
+
"preferredName": "vscode/extensions",
|
|
413
|
+
"legacyName": "extensions",
|
|
414
|
+
"description": "Search for and ask about VS Code extensions.",
|
|
415
|
+
"risk": "low",
|
|
416
|
+
"sideEffects": "network",
|
|
417
|
+
"capabilities": [
|
|
418
|
+
"extensions.search"
|
|
419
|
+
],
|
|
420
|
+
"notes": "May contact marketplace/online sources."
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"id": "vscode/installExtension",
|
|
424
|
+
"mention": "#installExtension",
|
|
425
|
+
"preferredName": "vscode/installExtension",
|
|
426
|
+
"legacyName": "installExtension",
|
|
427
|
+
"description": "Install a VS Code extension.",
|
|
428
|
+
"risk": "high",
|
|
429
|
+
"sideEffects": "writes",
|
|
430
|
+
"capabilities": [
|
|
431
|
+
"extensions.install"
|
|
432
|
+
],
|
|
433
|
+
"notes": "Installs software into the IDE; approval recommended."
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"id": "vscode/getProjectSetupInfo",
|
|
437
|
+
"mention": "#getProjectSetupInfo",
|
|
438
|
+
"preferredName": "vscode/getProjectSetupInfo",
|
|
439
|
+
"legacyName": "getProjectSetupInfo",
|
|
440
|
+
"description": "Provide instructions and configuration for scaffolding different types of projects.",
|
|
441
|
+
"risk": "low",
|
|
442
|
+
"sideEffects": "none",
|
|
443
|
+
"capabilities": [
|
|
444
|
+
"project.scaffold.info"
|
|
445
|
+
],
|
|
446
|
+
"notes": ""
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"id": "vscode/openSimpleBrowser",
|
|
450
|
+
"mention": "#openSimpleBrowser",
|
|
451
|
+
"preferredName": "vscode/openSimpleBrowser",
|
|
452
|
+
"legacyName": "openSimpleBrowser",
|
|
453
|
+
"description": "Open the built-in Simple Browser and preview a locally-deployed web app.",
|
|
454
|
+
"risk": "medium",
|
|
455
|
+
"sideEffects": "none",
|
|
456
|
+
"capabilities": [
|
|
457
|
+
"ui.browser"
|
|
458
|
+
],
|
|
459
|
+
"notes": ""
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
"id": "vscode/newWorkspace",
|
|
463
|
+
"mention": "#newWorkspace",
|
|
464
|
+
"preferredName": "vscode/newWorkspace",
|
|
465
|
+
"legacyName": "newWorkspace",
|
|
466
|
+
"description": "Create a new workspace.",
|
|
467
|
+
"risk": "high",
|
|
468
|
+
"sideEffects": "writes",
|
|
469
|
+
"capabilities": [
|
|
470
|
+
"workspace.create"
|
|
471
|
+
],
|
|
472
|
+
"notes": "Creates files; review results."
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
"id": "vscode/vscodeAPI",
|
|
476
|
+
"mention": "#VSCodeAPI",
|
|
477
|
+
"preferredName": "vscode/vscodeAPI",
|
|
478
|
+
"legacyName": "VSCodeAPI",
|
|
479
|
+
"description": "Ask about VS Code functionality and extension development.",
|
|
480
|
+
"risk": "low",
|
|
481
|
+
"sideEffects": "none",
|
|
482
|
+
"capabilities": [
|
|
483
|
+
"docs.vscode"
|
|
484
|
+
],
|
|
485
|
+
"notes": ""
|
|
486
|
+
}
|
|
487
|
+
],
|
|
488
|
+
"recommended": {
|
|
489
|
+
"aps": {
|
|
490
|
+
"planner": [
|
|
491
|
+
"search",
|
|
492
|
+
"read/problems",
|
|
493
|
+
"search/changes",
|
|
494
|
+
"search/usages",
|
|
495
|
+
"todo",
|
|
496
|
+
"web/fetch"
|
|
497
|
+
],
|
|
498
|
+
"implementer": [
|
|
499
|
+
"search",
|
|
500
|
+
"read",
|
|
501
|
+
"edit",
|
|
502
|
+
"execute",
|
|
503
|
+
"read/problems",
|
|
504
|
+
"todo",
|
|
505
|
+
"web/fetch"
|
|
506
|
+
]
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# 00 Structure
|
|
2
|
+
|
|
3
|
+
This document defines the **required top-level prompt envelope** and the structural rules for
|
|
4
|
+
`<triggers>` and `<processes>`.
|
|
5
|
+
|
|
6
|
+
## Top-level sections
|
|
7
|
+
|
|
8
|
+
A conforming prompt MUST be composed of the following top-level sections in this exact order:
|
|
9
|
+
|
|
10
|
+
1. `<instructions>…</instructions>`
|
|
11
|
+
2. `<constants>…</constants>`
|
|
12
|
+
3. `<formats>…</formats>`
|
|
13
|
+
4. `<runtime>…</runtime>`
|
|
14
|
+
5. `<triggers>…</triggers>`
|
|
15
|
+
6. `<processes>…</processes>`
|
|
16
|
+
7. `<input>…</input>`
|
|
17
|
+
|
|
18
|
+
Normative structural config (informative to engines, but requirements above are authoritative):
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
prompt_sections:
|
|
22
|
+
order: [instructions, constants, formats, runtime, triggers, processes, input]
|
|
23
|
+
tags:
|
|
24
|
+
- <instructions>…</instructions>
|
|
25
|
+
- <constants>…</constants>
|
|
26
|
+
- <formats>…</formats>
|
|
27
|
+
- <runtime>…</runtime>
|
|
28
|
+
- <triggers>…</triggers>
|
|
29
|
+
- <processes>…</processes>
|
|
30
|
+
- <input>…</input>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### General rules
|
|
34
|
+
|
|
35
|
+
- Each top-level section MUST appear **at most once**.
|
|
36
|
+
- The `<triggers>` and `<processes>` sections are **executable**. Comments are forbidden inside
|
|
37
|
+
these sections (see **02 Linting and formatting**).
|
|
38
|
+
- `<constants>` are **read-only** and MUST be resolved before any tool invocation.
|
|
39
|
+
- `<constants>` take precedence over `<runtime>` if the same symbol is defined in both.
|
|
40
|
+
|
|
41
|
+
## `<constants>` section
|
|
42
|
+
|
|
43
|
+
The `<constants>` block MAY include read-only constant bindings.
|
|
44
|
+
|
|
45
|
+
Constants MUST use one of the following forms:
|
|
46
|
+
|
|
47
|
+
1. Inline constant: `SYMBOL: VALUE` where `VALUE` is `String | Number | Boolean | JSON`.
|
|
48
|
+
2. Block constant: `SYMBOL: <BLOCK_TYPE><<` then BODY lines then a closing delimiter line `>>`.
|
|
49
|
+
|
|
50
|
+
`<BLOCK_TYPE>` MUST be one of: `JSON`, `TEXT`.
|
|
51
|
+
|
|
52
|
+
Block constant opening lines MUST:
|
|
53
|
+
|
|
54
|
+
- Use exactly one ASCII space after `:`
|
|
55
|
+
- Contain no spaces before `<<`
|
|
56
|
+
|
|
57
|
+
Valid openers:
|
|
58
|
+
|
|
59
|
+
- `SYMBOL: JSON<<`
|
|
60
|
+
- `SYMBOL: TEXT<<`
|
|
61
|
+
|
|
62
|
+
Block constant closing delimiter MUST be a line whose content is exactly `>>` starting at column 1
|
|
63
|
+
(no leading/trailing whitespace).
|
|
64
|
+
|
|
65
|
+
### JSON block constants
|
|
66
|
+
|
|
67
|
+
- BODY MUST parse as `JsonValue` per **05 Grammar**.
|
|
68
|
+
- Any `UpperSym` that appears inside a JSON block constant BODY MUST resolve from `<constants>`
|
|
69
|
+
before execution; unresolved → `AG-006`.
|
|
70
|
+
- Engines MUST compile JSON block constants to canonical JSON that conforms to `json_spacing` and
|
|
71
|
+
lexicographic key order (see **02 Linting and formatting**).
|
|
72
|
+
|
|
73
|
+
### TEXT block constants
|
|
74
|
+
|
|
75
|
+
- BODY is a literal String; engines MUST preserve BODY verbatim after newline normalization
|
|
76
|
+
(CRLF→LF).
|
|
77
|
+
- BODY is the exact text between the newline after the opening line and the newline before the
|
|
78
|
+
closing delimiter line.
|
|
79
|
+
- Leading/trailing whitespace inside BODY is significant.
|
|
80
|
+
|
|
81
|
+
## `<processes>` section
|
|
82
|
+
|
|
83
|
+
The `<processes>` block MUST contain one or more `<process>` tags.
|
|
84
|
+
|
|
85
|
+
### `<process>` tag
|
|
86
|
+
|
|
87
|
+
Tag syntax:
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
<process id="PROCESS_ID" [name="..."] [args="ARG: TYPE, ..."]>
|
|
91
|
+
…
|
|
92
|
+
</process>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Example:
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
<process id="calc_tax" args="amount: Number, region: String">
|
|
99
|
+
…
|
|
100
|
+
</process>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Rules:
|
|
104
|
+
|
|
105
|
+
- The content of `<process>` MUST conform to **05 Grammar**.
|
|
106
|
+
- Variables defined via `SET` inside a process are local to that process unless explicitly
|
|
107
|
+
`RETURN`ed.
|
|
108
|
+
- The engine/LSP MUST raise `AG-044` if a `RUN` statement fails to provide arguments matching the
|
|
109
|
+
signature.
|
|
110
|
+
|
|
111
|
+
## `<triggers>` section
|
|
112
|
+
|
|
113
|
+
Purpose: maps external events to the execution of a specific `process_id`.
|
|
114
|
+
|
|
115
|
+
Trigger syntax:
|
|
116
|
+
|
|
117
|
+
```text
|
|
118
|
+
<trigger event="EVENT_TYPE" [pattern="REGEX"] target="PROCESS_ID" />
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Validation:
|
|
122
|
+
|
|
123
|
+
- `target` MUST resolve to a valid `<process id="…">` (`AG-004`).
|