minutework 0.1.45 → 0.1.47
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/assets/claude-local/CLAUDE.md.template +10 -0
- package/assets/claude-local/skills/README.md +1 -0
- package/assets/claude-local/skills/ai-capability-defaults/SKILL.md +2 -0
- package/assets/claude-local/skills/cross-server-subscriptions/SKILL.md +135 -0
- package/assets/claude-local/skills/dataset-subscriber-flow/SKILL.md +186 -0
- package/assets/claude-local/skills/event-bus/SKILL.md +70 -0
- package/assets/claude-local/skills/project-overview-and-strategy/SKILL.md +3 -0
- package/assets/claude-local/skills/runtime-capability-inventory/SKILL.md +74 -15
- package/assets/claude-local/skills/runtime-capability-inventory/primitive-catalog.json +392 -0
- package/assets/claude-local/skills/runtime-primitive-interim-paths/SKILL.md +96 -0
- package/dist/cli-json.d.ts +1 -1
- package/dist/cli-json.js.map +1 -1
- package/dist/developer-client.d.ts +29 -0
- package/dist/developer-client.js +35 -0
- package/dist/developer-client.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/workspace.d.ts +3 -0
- package/dist/workspace.js +115 -2
- package/dist/workspace.js.map +1 -1
- package/package.json +2 -2
- package/vendor/workspace-mcp/context.d.ts +7 -1
- package/vendor/workspace-mcp/context.js +8 -0
- package/vendor/workspace-mcp/context.js.map +1 -1
- package/vendor/workspace-mcp/discovery-status.d.ts +16 -0
- package/vendor/workspace-mcp/discovery-status.js +259 -0
- package/vendor/workspace-mcp/discovery-status.js.map +1 -0
- package/vendor/workspace-mcp/index.d.ts +3 -1
- package/vendor/workspace-mcp/index.js +2 -0
- package/vendor/workspace-mcp/index.js.map +1 -1
- package/vendor/workspace-mcp/primitive-status.d.ts +7 -0
- package/vendor/workspace-mcp/primitive-status.js +380 -0
- package/vendor/workspace-mcp/primitive-status.js.map +1 -0
- package/vendor/workspace-mcp/server.d.ts +1 -0
- package/vendor/workspace-mcp/server.js +17 -1
- package/vendor/workspace-mcp/server.js.map +1 -1
- package/vendor/workspace-mcp/types.d.ts +184 -0
- package/vendor/workspace-mcp/types.js +62 -0
- package/vendor/workspace-mcp/types.js.map +1 -1
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
{
|
|
2
|
+
"catalog_version": "1.1.0",
|
|
3
|
+
"live_status_contract": {
|
|
4
|
+
"note": "Live-status fields are hand-maintained claims validated against the in-process registries by apps/runtime_builder/tests/test_primitive_live_status.py (fail-closed: a claim without registry evidence fails CI). Catalog membership, executor wiring, and agent exposure are three separate layers.",
|
|
5
|
+
"executor_ready_values": ["live", "partial", "none"],
|
|
6
|
+
"agent_exposure_path_values": ["native_tool", "app_pack_action", "none"],
|
|
7
|
+
"approval_required_null_means": "no registry-evidenced approval seam exists for this primitive: either no executor is wired, or approval is decided per target capability/definition (the workflow.run_action envelope)",
|
|
8
|
+
"executor_ref_schemes": ["tool:<registered agent tool name>", "capability:<registered action capability id>", "service:<module>:<attr>"]
|
|
9
|
+
},
|
|
10
|
+
"primitives": [
|
|
11
|
+
{
|
|
12
|
+
"primitive_id": "records.query",
|
|
13
|
+
"family": "records",
|
|
14
|
+
"display_name": "Query Records",
|
|
15
|
+
"description": "Query dynamic entities by schema, filters, and paging.",
|
|
16
|
+
"runtime_app": "runtime_app_host",
|
|
17
|
+
"dispatch_path": "",
|
|
18
|
+
"status": "active",
|
|
19
|
+
"requires_integration": false,
|
|
20
|
+
"requires_secret": false,
|
|
21
|
+
"metered": false,
|
|
22
|
+
"executor_ready": "live",
|
|
23
|
+
"executor_ref": "tool:records.query",
|
|
24
|
+
"executor_notes": "Native agent tool in the default READ_RING: enabled for the provisioning-default agent without any grant.",
|
|
25
|
+
"agent_exposable": true,
|
|
26
|
+
"agent_exposure_path": "native_tool",
|
|
27
|
+
"approval_required": false,
|
|
28
|
+
"interim_path": ""
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"primitive_id": "records.upsert",
|
|
32
|
+
"family": "records",
|
|
33
|
+
"display_name": "Upsert Record",
|
|
34
|
+
"description": "Create or update a dynamic entity against a registered schema.",
|
|
35
|
+
"runtime_app": "runtime_app_host",
|
|
36
|
+
"dispatch_path": "",
|
|
37
|
+
"status": "active",
|
|
38
|
+
"requires_integration": false,
|
|
39
|
+
"requires_secret": false,
|
|
40
|
+
"metered": false,
|
|
41
|
+
"executor_ready": "live",
|
|
42
|
+
"executor_ref": "tool:records.upsert",
|
|
43
|
+
"executor_notes": "Effectful; outside the default READ_RING, granted per agent via enable_agent_tools (OPERATOR_RING member).",
|
|
44
|
+
"agent_exposable": true,
|
|
45
|
+
"agent_exposure_path": "native_tool",
|
|
46
|
+
"approval_required": false,
|
|
47
|
+
"interim_path": ""
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"primitive_id": "workflow.run_action",
|
|
51
|
+
"family": "workflow",
|
|
52
|
+
"display_name": "Run Action",
|
|
53
|
+
"description": "Execute a typed action through the action-execution contract.",
|
|
54
|
+
"runtime_app": "runtime_app_host",
|
|
55
|
+
"dispatch_path": "",
|
|
56
|
+
"status": "active",
|
|
57
|
+
"requires_integration": false,
|
|
58
|
+
"requires_secret": false,
|
|
59
|
+
"metered": true,
|
|
60
|
+
"executor_ready": "live",
|
|
61
|
+
"executor_ref": "service:apps.runtime_app_host.services:execute_action_run",
|
|
62
|
+
"executor_notes": "Agents reach this envelope through the app_pack.action tool over manifest-declared agent_exposed action surfaces; approval is decided per target capability/definition.",
|
|
63
|
+
"agent_exposable": true,
|
|
64
|
+
"agent_exposure_path": "app_pack_action",
|
|
65
|
+
"approval_required": null,
|
|
66
|
+
"interim_path": ""
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"primitive_id": "workflow.schedule_timer",
|
|
70
|
+
"family": "workflow",
|
|
71
|
+
"display_name": "Schedule Timer",
|
|
72
|
+
"description": "Schedule a durable timer, reminder, or milestone.",
|
|
73
|
+
"runtime_app": "runtime_jobs",
|
|
74
|
+
"dispatch_path": "",
|
|
75
|
+
"status": "active",
|
|
76
|
+
"requires_integration": false,
|
|
77
|
+
"requires_secret": false,
|
|
78
|
+
"metered": false,
|
|
79
|
+
"executor_ready": "live",
|
|
80
|
+
"executor_ref": "service:apps.runtime_app_host.services:schedule_workflow_timer",
|
|
81
|
+
"executor_notes": "Workflow-internal machinery (WORKFLOW_TIMER jobs); not an agent-callable tool.",
|
|
82
|
+
"agent_exposable": false,
|
|
83
|
+
"agent_exposure_path": "none",
|
|
84
|
+
"approval_required": false,
|
|
85
|
+
"interim_path": ""
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"primitive_id": "workflow.resume_checkpoint",
|
|
89
|
+
"family": "workflow",
|
|
90
|
+
"display_name": "Resume Checkpoint",
|
|
91
|
+
"description": "Resume a paused workflow at a human-approval or wait checkpoint.",
|
|
92
|
+
"runtime_app": "runtime_app_host",
|
|
93
|
+
"dispatch_path": "",
|
|
94
|
+
"status": "active",
|
|
95
|
+
"requires_integration": false,
|
|
96
|
+
"requires_secret": false,
|
|
97
|
+
"metered": false,
|
|
98
|
+
"executor_ready": "live",
|
|
99
|
+
"executor_ref": "service:apps.runtime_app_host.services:resume_workflow_checkpoint",
|
|
100
|
+
"executor_notes": "Workflow-internal machinery driven by the jobs worker; not an agent-callable tool.",
|
|
101
|
+
"agent_exposable": false,
|
|
102
|
+
"agent_exposure_path": "none",
|
|
103
|
+
"approval_required": false,
|
|
104
|
+
"interim_path": ""
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"primitive_id": "workflow.cancel_on_thread_activity",
|
|
108
|
+
"family": "workflow",
|
|
109
|
+
"display_name": "Cancel On Thread Activity",
|
|
110
|
+
"description": "Arm a workflow run to cancel when its thread sees inbound activity (e.g. a reply or unsubscribe).",
|
|
111
|
+
"runtime_app": "runtime_app_host",
|
|
112
|
+
"dispatch_path": "",
|
|
113
|
+
"status": "active",
|
|
114
|
+
"requires_integration": false,
|
|
115
|
+
"requires_secret": false,
|
|
116
|
+
"metered": false,
|
|
117
|
+
"executor_ready": "live",
|
|
118
|
+
"executor_ref": "service:apps.runtime_app_host.services:arm_workflow_cancel_on_thread_activity",
|
|
119
|
+
"executor_notes": "Workflow-internal machinery; not an agent-callable tool.",
|
|
120
|
+
"agent_exposable": false,
|
|
121
|
+
"agent_exposure_path": "none",
|
|
122
|
+
"approval_required": false,
|
|
123
|
+
"interim_path": ""
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"primitive_id": "projection.publish_receipt",
|
|
127
|
+
"family": "projection",
|
|
128
|
+
"display_name": "Publish Receipt",
|
|
129
|
+
"description": "Emit a receipt to Core through the runtime bridge.",
|
|
130
|
+
"runtime_app": "runtime_bridge",
|
|
131
|
+
"dispatch_path": "",
|
|
132
|
+
"status": "active",
|
|
133
|
+
"requires_integration": false,
|
|
134
|
+
"requires_secret": false,
|
|
135
|
+
"metered": false,
|
|
136
|
+
"executor_ready": "none",
|
|
137
|
+
"executor_ref": "",
|
|
138
|
+
"executor_notes": "Catalogued only: no generic executor is wired for this primitive id.",
|
|
139
|
+
"agent_exposable": false,
|
|
140
|
+
"agent_exposure_path": "none",
|
|
141
|
+
"approval_required": null,
|
|
142
|
+
"interim_path": "Owning services emit receipts through the runtime bridge directly (e.g. command_exec posts its own run receipts); do not build a bespoke generic receipt executor."
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"primitive_id": "integrations.query_provider",
|
|
146
|
+
"family": "integrations",
|
|
147
|
+
"display_name": "Query Provider",
|
|
148
|
+
"description": "Query an external provider through a managed integration connection.",
|
|
149
|
+
"runtime_app": "runtime_integrations",
|
|
150
|
+
"dispatch_path": "",
|
|
151
|
+
"status": "active",
|
|
152
|
+
"requires_integration": true,
|
|
153
|
+
"requires_secret": true,
|
|
154
|
+
"metered": true,
|
|
155
|
+
"executor_ready": "live",
|
|
156
|
+
"executor_ref": "capability:integrations.query_provider",
|
|
157
|
+
"executor_notes": "Read-only provider query; preflight fail-closes on connection/secret availability.",
|
|
158
|
+
"agent_exposable": true,
|
|
159
|
+
"agent_exposure_path": "app_pack_action",
|
|
160
|
+
"approval_required": false,
|
|
161
|
+
"interim_path": ""
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"primitive_id": "integrations.execute_automation",
|
|
165
|
+
"family": "integrations",
|
|
166
|
+
"display_name": "Execute Automation",
|
|
167
|
+
"description": "Run a browser-automation or portal-execution job.",
|
|
168
|
+
"runtime_app": "runtime_integrations",
|
|
169
|
+
"dispatch_path": "",
|
|
170
|
+
"status": "active",
|
|
171
|
+
"requires_integration": true,
|
|
172
|
+
"requires_secret": true,
|
|
173
|
+
"metered": true,
|
|
174
|
+
"executor_ready": "live",
|
|
175
|
+
"executor_ref": "capability:integrations.execute_automation",
|
|
176
|
+
"executor_notes": "Approval is definition-forced in mw.core.agent_actions (a definition can force approval, never relax it).",
|
|
177
|
+
"agent_exposable": true,
|
|
178
|
+
"agent_exposure_path": "app_pack_action",
|
|
179
|
+
"approval_required": true,
|
|
180
|
+
"interim_path": ""
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"primitive_id": "communication.send_email",
|
|
184
|
+
"family": "communication",
|
|
185
|
+
"display_name": "Send Email",
|
|
186
|
+
"description": "Send an outbound email through a configured provider.",
|
|
187
|
+
"runtime_app": "runtime_communication",
|
|
188
|
+
"dispatch_path": "",
|
|
189
|
+
"status": "active",
|
|
190
|
+
"requires_integration": true,
|
|
191
|
+
"requires_secret": true,
|
|
192
|
+
"metered": true,
|
|
193
|
+
"executor_ready": "live",
|
|
194
|
+
"executor_ref": "capability:communication.send_email",
|
|
195
|
+
"executor_notes": "Real provider send (Resend) registered as a metered action capability; preflight fail-closes on connection/secret availability, and the delivery row is idempotent on the ActionRun id with a SENT short-circuit. Not agent-exposed yet: exposure is a separate per-definition mw.core.agent_actions flip.",
|
|
196
|
+
"agent_exposable": false,
|
|
197
|
+
"agent_exposure_path": "none",
|
|
198
|
+
"approval_required": false,
|
|
199
|
+
"interim_path": ""
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"primitive_id": "communication.send_sms",
|
|
203
|
+
"family": "communication",
|
|
204
|
+
"display_name": "Send SMS",
|
|
205
|
+
"description": "Send an outbound SMS through a configured provider.",
|
|
206
|
+
"runtime_app": "runtime_communication",
|
|
207
|
+
"dispatch_path": "",
|
|
208
|
+
"status": "active",
|
|
209
|
+
"requires_integration": true,
|
|
210
|
+
"requires_secret": true,
|
|
211
|
+
"metered": true,
|
|
212
|
+
"executor_ready": "live",
|
|
213
|
+
"executor_ref": "capability:communication.send_sms",
|
|
214
|
+
"executor_notes": "Real provider send (Twilio) registered as a metered action capability; preflight fail-closes on connection/secret availability, and the delivery row is idempotent on the ActionRun id with a SENT short-circuit. Not agent-exposed yet: exposure is a separate per-definition mw.core.agent_actions flip.",
|
|
215
|
+
"agent_exposable": false,
|
|
216
|
+
"agent_exposure_path": "none",
|
|
217
|
+
"approval_required": false,
|
|
218
|
+
"interim_path": ""
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"primitive_id": "consent.check_channel",
|
|
222
|
+
"family": "consent",
|
|
223
|
+
"display_name": "Check Channel Consent",
|
|
224
|
+
"description": "Preflight a recipient/channel for suppression, contact preferences, marketing consent, quiet hours, and rate limits before sending.",
|
|
225
|
+
"runtime_app": "runtime_communication",
|
|
226
|
+
"dispatch_path": "",
|
|
227
|
+
"status": "active",
|
|
228
|
+
"requires_integration": false,
|
|
229
|
+
"requires_secret": false,
|
|
230
|
+
"metered": false,
|
|
231
|
+
"executor_ready": "live",
|
|
232
|
+
"executor_ref": "service:apps.runtime_communication.services:check_channel",
|
|
233
|
+
"executor_notes": "Service seam consumed by other executors and sidecars as a preflight; not an agent-callable tool.",
|
|
234
|
+
"agent_exposable": false,
|
|
235
|
+
"agent_exposure_path": "none",
|
|
236
|
+
"approval_required": false,
|
|
237
|
+
"interim_path": ""
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"primitive_id": "scheduling.book_appointment",
|
|
241
|
+
"family": "scheduling",
|
|
242
|
+
"display_name": "Book Appointment",
|
|
243
|
+
"description": "Book a scheduling appointment through a configured provider (Cal.com/Calendly). MVP: the agent shares a correlation-tokened booking link and the provider webhook confirms the booking; the direct executor is provider-gated.",
|
|
244
|
+
"runtime_app": "runtime_integrations",
|
|
245
|
+
"dispatch_path": "",
|
|
246
|
+
"status": "active",
|
|
247
|
+
"requires_integration": true,
|
|
248
|
+
"requires_secret": true,
|
|
249
|
+
"metered": false,
|
|
250
|
+
"executor_ready": "partial",
|
|
251
|
+
"executor_ref": "capability:scheduling.book_appointment",
|
|
252
|
+
"executor_notes": "Capability is registered but the direct booking executor is MVP-deferred; preflight truthfully reports provider_unavailable.",
|
|
253
|
+
"agent_exposable": false,
|
|
254
|
+
"agent_exposure_path": "none",
|
|
255
|
+
"approval_required": false,
|
|
256
|
+
"interim_path": "Target the workflow.run_action link+webhook envelope: share a correlation-tokened booking link (consent-guarded), and the provider webhook POST /api/v1/ingress/booking confirms the booking. Only the preflight changes when the direct executor lands."
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"primitive_id": "discovery.request_proposal",
|
|
260
|
+
"family": "discovery",
|
|
261
|
+
"display_name": "Request Discovery Proposal",
|
|
262
|
+
"description": "Bridge a thread into the Vuilder discovery engine: create a discovery lead/session (resume optional), link it to the thread, and poll the gateway until the proposal is ready, then post the build-direction cards member-only. Discovery stays authoritative in public-dj.",
|
|
263
|
+
"runtime_app": "runtime_agents",
|
|
264
|
+
"dispatch_path": "",
|
|
265
|
+
"status": "active",
|
|
266
|
+
"requires_integration": false,
|
|
267
|
+
"requires_secret": true,
|
|
268
|
+
"metered": false,
|
|
269
|
+
"executor_ready": "live",
|
|
270
|
+
"executor_ref": "tool:discovery.request_proposal",
|
|
271
|
+
"executor_notes": "Effectful; outside the default READ_RING, granted per agent via enable_agent_tools (BUILDER_DELEGATION_RING member).",
|
|
272
|
+
"agent_exposable": true,
|
|
273
|
+
"agent_exposure_path": "native_tool",
|
|
274
|
+
"approval_required": false,
|
|
275
|
+
"interim_path": ""
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"primitive_id": "ontology.resolve_local",
|
|
279
|
+
"family": "ontology",
|
|
280
|
+
"display_name": "Resolve Local Ontology",
|
|
281
|
+
"description": "Resolve a local record against the shared ontology: its fields' Core URN anchors, with app-pack kind mappings as fallback candidates.",
|
|
282
|
+
"runtime_app": "runtime_ontology",
|
|
283
|
+
"dispatch_path": "",
|
|
284
|
+
"status": "active",
|
|
285
|
+
"requires_integration": false,
|
|
286
|
+
"requires_secret": false,
|
|
287
|
+
"metered": false,
|
|
288
|
+
"executor_ready": "live",
|
|
289
|
+
"executor_ref": "tool:ontology.resolve_local",
|
|
290
|
+
"executor_notes": "Read-only native tool over URNAnchor/LocalOntologyMapping; not in the default READ_RING, granted per agent via enable_agent_tools.",
|
|
291
|
+
"agent_exposable": true,
|
|
292
|
+
"agent_exposure_path": "native_tool",
|
|
293
|
+
"approval_required": false,
|
|
294
|
+
"interim_path": ""
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"primitive_id": "ontology.propose_candidate",
|
|
298
|
+
"family": "ontology",
|
|
299
|
+
"display_name": "Propose Ontology Candidate",
|
|
300
|
+
"description": "Stage a promotion candidate proposing a local entity/person/location for shared ontology acceptance.",
|
|
301
|
+
"runtime_app": "runtime_ontology",
|
|
302
|
+
"dispatch_path": "",
|
|
303
|
+
"status": "active",
|
|
304
|
+
"requires_integration": false,
|
|
305
|
+
"requires_secret": false,
|
|
306
|
+
"metered": false,
|
|
307
|
+
"executor_ready": "partial",
|
|
308
|
+
"executor_ref": "tool:ontology.propose_candidate",
|
|
309
|
+
"executor_notes": "Staging leg only: records a PENDING PromotionCandidate locally (idempotent on origin_ref+candidate_kind). The cross-plane submission to Core (PENDING -> SUBMITTED -> resolved with a minted core_urn) is a deferred, bridge-owned leg; the promotion service stays platform-owned. Effectful; outside the default READ_RING, granted per agent via enable_agent_tools.",
|
|
310
|
+
"agent_exposable": true,
|
|
311
|
+
"agent_exposure_path": "native_tool",
|
|
312
|
+
"approval_required": false,
|
|
313
|
+
"interim_path": ""
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
"primitive_id": "command_exec.run_template",
|
|
317
|
+
"family": "command_exec",
|
|
318
|
+
"display_name": "Run Command Template",
|
|
319
|
+
"description": "Execute a named command template with validated arguments.",
|
|
320
|
+
"runtime_app": "runtime_command_exec",
|
|
321
|
+
"dispatch_path": "",
|
|
322
|
+
"status": "active",
|
|
323
|
+
"requires_integration": false,
|
|
324
|
+
"requires_secret": false,
|
|
325
|
+
"metered": false,
|
|
326
|
+
"executor_ready": "live",
|
|
327
|
+
"executor_ref": "service:apps.runtime_command_exec.services:launch_command_execution",
|
|
328
|
+
"executor_notes": "Operator/platform-dispatch surface; not an agent-callable tool.",
|
|
329
|
+
"agent_exposable": false,
|
|
330
|
+
"agent_exposure_path": "none",
|
|
331
|
+
"approval_required": false,
|
|
332
|
+
"interim_path": ""
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"primitive_id": "voice.initiate_call",
|
|
336
|
+
"family": "voice",
|
|
337
|
+
"display_name": "Initiate Call",
|
|
338
|
+
"description": "Place an outbound voice call to a contact and join an AI on the line. Runs through execute_action_run: preflight enforces consent (do_not_call), TCPA calling windows/quiet hours, and telephony-provider availability, then drives a VoiceSession (direction=outbound). The actual Twilio dial + realtime media worker are platform-owned (v3_voice_replacement Phase 4); outbound calls default to human approval.",
|
|
339
|
+
"runtime_app": "runtime_agents",
|
|
340
|
+
"dispatch_path": "",
|
|
341
|
+
"status": "active",
|
|
342
|
+
"requires_integration": true,
|
|
343
|
+
"requires_secret": true,
|
|
344
|
+
"metered": true,
|
|
345
|
+
"executor_ready": "partial",
|
|
346
|
+
"executor_ref": "capability:voice.initiate_call",
|
|
347
|
+
"executor_notes": "Pre-dial stack is live (consent + TCPA preflight, approval parking, VoiceSession lifecycle); the Twilio dial + realtime media worker are platform-owned Phase 4.",
|
|
348
|
+
"agent_exposable": true,
|
|
349
|
+
"agent_exposure_path": "app_pack_action",
|
|
350
|
+
"approval_required": true,
|
|
351
|
+
"interim_path": "Build the pre-dial stack now (preflight matrix, APPROVAL_PENDING parking, VoiceSession lifecycle, mock transcripts, hangup/get_call_status); dial, media worker, and inbound telephony are platform-owned Phase 4."
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"primitive_id": "voice.hangup_call",
|
|
355
|
+
"family": "voice",
|
|
356
|
+
"display_name": "Hang Up Call",
|
|
357
|
+
"description": "Finalize an in-progress voice call: finalize the VoiceSession (terminal status + duration) and request provider hangup. Provider hangup is platform-owned (v3_voice_replacement Phase 4).",
|
|
358
|
+
"runtime_app": "runtime_agents",
|
|
359
|
+
"dispatch_path": "",
|
|
360
|
+
"status": "active",
|
|
361
|
+
"requires_integration": true,
|
|
362
|
+
"requires_secret": true,
|
|
363
|
+
"metered": false,
|
|
364
|
+
"executor_ready": "live",
|
|
365
|
+
"executor_ref": "capability:voice.hangup_call",
|
|
366
|
+
"executor_notes": "VoiceSession finalization is live; the provider-side hangup leg is platform-owned Phase 4. Not an agent-callable tool.",
|
|
367
|
+
"agent_exposable": false,
|
|
368
|
+
"agent_exposure_path": "none",
|
|
369
|
+
"approval_required": false,
|
|
370
|
+
"interim_path": ""
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"primitive_id": "voice.get_call_status",
|
|
374
|
+
"family": "voice",
|
|
375
|
+
"display_name": "Get Call Status",
|
|
376
|
+
"description": "Read the current status, duration, and transcript summary for a VoiceSession. Read-only; no provider call.",
|
|
377
|
+
"runtime_app": "runtime_agents",
|
|
378
|
+
"dispatch_path": "",
|
|
379
|
+
"status": "active",
|
|
380
|
+
"requires_integration": true,
|
|
381
|
+
"requires_secret": true,
|
|
382
|
+
"metered": false,
|
|
383
|
+
"executor_ready": "live",
|
|
384
|
+
"executor_ref": "capability:voice.get_call_status",
|
|
385
|
+
"executor_notes": "Read-only session status lookup. Not an agent-callable tool.",
|
|
386
|
+
"agent_exposable": false,
|
|
387
|
+
"agent_exposure_path": "none",
|
|
388
|
+
"approval_required": false,
|
|
389
|
+
"interim_path": ""
|
|
390
|
+
}
|
|
391
|
+
]
|
|
392
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: runtime-primitive-interim-paths
|
|
3
|
+
description: "Sanctioned interim build paths for catalogued runtime primitives that are not fully executable or agent-exposed yet: outbound comms, booking, ontology, voice, exposure ops, sandbox parity."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Runtime Primitive Interim Paths
|
|
7
|
+
|
|
8
|
+
Use this skill when a build targets a runtime primitive that is catalogued but
|
|
9
|
+
not fully executable or agent-exposed yet, and the workspace needs a sanctioned
|
|
10
|
+
interim path instead of bespoke substrate.
|
|
11
|
+
|
|
12
|
+
Catalog membership never implies executability or agent exposure. Check the
|
|
13
|
+
live-status block in `skills/runtime-capability-inventory/SKILL.md` and the
|
|
14
|
+
`minutework_runtime_primitive_status` workspace MCP tool first; the paths below
|
|
15
|
+
are the sanctioned interim shapes for the known gaps.
|
|
16
|
+
|
|
17
|
+
## Outbound Email / SMS (`communication.send_email` / `communication.send_sms`)
|
|
18
|
+
|
|
19
|
+
Status: catalogued, no executor.
|
|
20
|
+
|
|
21
|
+
- Build outbound delivery as a sidecar bridge mirroring the
|
|
22
|
+
`runtime_bridge`/integrations transport seam.
|
|
23
|
+
- Always preflight with `consent.check_channel` (suppression, contact
|
|
24
|
+
preferences, marketing consent, quiet hours, rate limits).
|
|
25
|
+
- Route sends through the runtime's `send_notification` seam, which queues a
|
|
26
|
+
`SCHEDULED_SEND` job. Never send inline in runtime request paths.
|
|
27
|
+
- The end-state is a governed action capability like `voice.initiate_call`.
|
|
28
|
+
File a `BuilderCapabilityRequest` gap (see
|
|
29
|
+
`skills/capability-gap-reporting/SKILL.md`) rather than hard-wiring a
|
|
30
|
+
provider SDK into runtime.
|
|
31
|
+
|
|
32
|
+
## Booking (`scheduling.book_appointment`)
|
|
33
|
+
|
|
34
|
+
Status: partial -- capability registered; preflight truthfully reports
|
|
35
|
+
`provider_unavailable`.
|
|
36
|
+
|
|
37
|
+
- Target the `workflow.run_action` envelope now: share a correlation-tokened
|
|
38
|
+
Cal.com/Calendly booking link through a consent-guarded notification.
|
|
39
|
+
- The provider webhook `POST /api/v1/ingress/booking` (this route exists on
|
|
40
|
+
the platform gateway and the runtime ingress dispatcher) confirms the
|
|
41
|
+
booking.
|
|
42
|
+
- When the direct executor lands, only the preflight outcome changes. Author
|
|
43
|
+
flows against the envelope, not the provider.
|
|
44
|
+
|
|
45
|
+
## Ontology (`ontology.resolve_local` / `ontology.propose_candidate`)
|
|
46
|
+
|
|
47
|
+
Status: catalogued, no executor; `URNAnchor` and `PromotionCandidate` models
|
|
48
|
+
exist in `runtime_ontology`.
|
|
49
|
+
|
|
50
|
+
- Seed `URNAnchor` rows at install; treat `resolve_local` as a read-only
|
|
51
|
+
lookup over seeded anchors.
|
|
52
|
+
- Treat `propose_candidate` as staging `PromotionCandidate` rows for manual
|
|
53
|
+
review. The promotion service is platform-owned -- do not build it
|
|
54
|
+
tenant-side.
|
|
55
|
+
|
|
56
|
+
## Voice (`voice.initiate_call`)
|
|
57
|
+
|
|
58
|
+
Status: partial; `hangup_call` / `get_call_status` are live.
|
|
59
|
+
|
|
60
|
+
- The workspace can build the full pre-dial stack: the preflight matrix
|
|
61
|
+
(consent `do_not_call` -> TCPA calling window 08:00-21:00 callee-local ->
|
|
62
|
+
provider availability), `APPROVAL_PENDING` parking on the `ActionRun`,
|
|
63
|
+
`VoiceSession` lifecycle, mock transcripts, and `hangup_call` /
|
|
64
|
+
`get_call_status` handling.
|
|
65
|
+
- The actual dial, the realtime media worker, and inbound telephony are
|
|
66
|
+
platform-owned (`v3_voice_replacement` Phase 4). Never implement Twilio
|
|
67
|
+
internals in a workspace.
|
|
68
|
+
|
|
69
|
+
## Exposure Ops
|
|
70
|
+
|
|
71
|
+
- Per-agent tool grants happen only via the operator-run `enable_agent_tools`
|
|
72
|
+
management command (registry-validated names; `@read` / `@operator` /
|
|
73
|
+
`@builder_delegation` ring tokens).
|
|
74
|
+
- Manifest-declared exposure (D1) is live: app-pack manifests declare
|
|
75
|
+
`agentExposed` per action/query (truthy-only, plus approval metadata on
|
|
76
|
+
capability-bound actions), and those surfaces are reached through the
|
|
77
|
+
`app_pack.action` / `app_pack.query` tools -- which still require the
|
|
78
|
+
per-agent grant above.
|
|
79
|
+
- `app_pack.action` exposure is process-gated on the A1-A3 human-approval
|
|
80
|
+
surface being live for the tenant plane; `integrations.execute_automation`
|
|
81
|
+
and `voice.initiate_call` park on approval.
|
|
82
|
+
|
|
83
|
+
## Sandbox Tier Parity
|
|
84
|
+
|
|
85
|
+
- Sandbox runtimes run identical wiring and gating to primary -- a faithful
|
|
86
|
+
dry-run. There is no permissive sandbox mode; anything blocked on primary is
|
|
87
|
+
blocked in sandbox.
|
|
88
|
+
|
|
89
|
+
## Before Authoring
|
|
90
|
+
|
|
91
|
+
- Check the live-status block in
|
|
92
|
+
`skills/runtime-capability-inventory/SKILL.md` and the
|
|
93
|
+
`minutework_runtime_primitive_status` workspace MCP tool before authoring
|
|
94
|
+
against any primitive.
|
|
95
|
+
- File gaps via `skills/capability-gap-reporting/SKILL.md` for the comms
|
|
96
|
+
executor and the ontology services.
|
package/dist/cli-json.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const CLI_JSON_VERSION: 1;
|
|
2
|
-
export type CliJsonCommand = "validate" | "compile" | "codegen" | "deploy" | "publish" | "gaps" | "sandbox";
|
|
2
|
+
export type CliJsonCommand = "validate" | "compile" | "codegen" | "deploy" | "publish" | "gaps" | "sandbox" | "workspace";
|
|
3
3
|
export type CliJsonEnvelope = {
|
|
4
4
|
cliJsonVersion: typeof CLI_JSON_VERSION;
|
|
5
5
|
command: CliJsonCommand;
|
package/dist/cli-json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-json.js","sourceRoot":"","sources":["../src/cli-json.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-json.js","sourceRoot":"","sources":["../src/cli-json.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAU,CAAC;AAqB3C;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAMrC;IACC,MAAM,OAAO,GAAoB;QAC/B,cAAc,EAAE,gBAAgB;QAChC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;QAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI;KAC9B,CAAC;IACF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC"}
|
|
@@ -217,6 +217,34 @@ export type AgentEventsResponse = {
|
|
|
217
217
|
next_after_sequence: number;
|
|
218
218
|
thread_id: string;
|
|
219
219
|
};
|
|
220
|
+
/**
|
|
221
|
+
* One subscribable dataset publication row from the platform discovery read
|
|
222
|
+
* (`/api/v1/cross-server-events/discovery/publications/`). The keys mirror
|
|
223
|
+
* the platform's reviewed cross-tenant field whitelist exactly, and the row
|
|
224
|
+
* shape is normalized to match the workspace MCP discovery tool
|
|
225
|
+
* (`minutework_discover_dataset_publications`) so both readers of the
|
|
226
|
+
* endpoint share one effective contract: own-tenant-only fields (`status`,
|
|
227
|
+
* `descriptor_digest`) are explicit `null` on cross-tenant rows, never
|
|
228
|
+
* absent keys. Discovery is read-only posture: nothing on this surface can
|
|
229
|
+
* create or activate a cross-server subscription.
|
|
230
|
+
*/
|
|
231
|
+
export type DeveloperDiscoverableDatasetPublication = {
|
|
232
|
+
descriptor_digest: string | null;
|
|
233
|
+
event_family: string;
|
|
234
|
+
event_types: string[];
|
|
235
|
+
publication_ref: string;
|
|
236
|
+
publisher: {
|
|
237
|
+
display_name: string;
|
|
238
|
+
is_self: boolean;
|
|
239
|
+
};
|
|
240
|
+
registered_at: string;
|
|
241
|
+
residency_classification: string;
|
|
242
|
+
status: string | null;
|
|
243
|
+
subject_key: string;
|
|
244
|
+
};
|
|
245
|
+
export type DeveloperDatasetPublicationDiscoveryResponse = {
|
|
246
|
+
publications: DeveloperDiscoverableDatasetPublication[];
|
|
247
|
+
};
|
|
220
248
|
export type DeveloperClientDependencies = {
|
|
221
249
|
fetchImpl?: typeof fetch;
|
|
222
250
|
};
|
|
@@ -310,6 +338,7 @@ export declare function createDeveloperClient(options: {
|
|
|
310
338
|
sourceKind?: string;
|
|
311
339
|
status?: string;
|
|
312
340
|
}): Promise<DeveloperBuilderCapabilityRequestListResponse>;
|
|
341
|
+
listDiscoverableDatasetPublications(): Promise<DeveloperDatasetPublicationDiscoveryResponse>;
|
|
313
342
|
attachAgent(): Promise<AgentAttachResponse>;
|
|
314
343
|
resumeAgent(): Promise<AgentAttachResponse>;
|
|
315
344
|
getAgentStatus(): Promise<AgentStatusResponse>;
|
package/dist/developer-client.js
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
function runtimeTierQuery(tier) {
|
|
2
2
|
return tier ? `?tier=${encodeURIComponent(tier)}` : "";
|
|
3
3
|
}
|
|
4
|
+
/**
|
|
5
|
+
* Client-side gate on the discovery wire row: pick exactly the reviewed
|
|
6
|
+
* whitelist fields (so unknown keys from a widened or misbehaving platform
|
|
7
|
+
* response never ride into CLI output) and null-fill the own-tenant-only
|
|
8
|
+
* fields, mirroring the workspace MCP collector's normalization.
|
|
9
|
+
*/
|
|
10
|
+
function mapDiscoverableDatasetPublication(row) {
|
|
11
|
+
return {
|
|
12
|
+
descriptor_digest: row.descriptor_digest ?? null,
|
|
13
|
+
event_family: row.event_family,
|
|
14
|
+
event_types: [...row.event_types],
|
|
15
|
+
publication_ref: row.publication_ref,
|
|
16
|
+
publisher: {
|
|
17
|
+
display_name: row.publisher.display_name,
|
|
18
|
+
is_self: row.publisher.is_self,
|
|
19
|
+
},
|
|
20
|
+
registered_at: row.registered_at,
|
|
21
|
+
residency_classification: row.residency_classification,
|
|
22
|
+
status: row.status ?? null,
|
|
23
|
+
subject_key: row.subject_key,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
4
26
|
export class DeveloperApiRequestError extends Error {
|
|
5
27
|
status;
|
|
6
28
|
constructor(message, status) {
|
|
@@ -143,6 +165,19 @@ export function createDeveloperClient(options) {
|
|
|
143
165
|
}
|
|
144
166
|
return requestJson(`/api/v1/developer/builder/capability-requests/?${search.toString()}`, { method: "GET" }, "list builder capability requests");
|
|
145
167
|
},
|
|
168
|
+
async listDiscoverableDatasetPublications() {
|
|
169
|
+
// The listing tenant is always the developer token's bound tenant, so
|
|
170
|
+
// no tenant selector query param is sent (a mismatch is an HTTP 400).
|
|
171
|
+
const wire = await requestJson("/api/v1/cross-server-events/discovery/publications/", { method: "GET" }, "discover dataset publications");
|
|
172
|
+
if (!Array.isArray(wire.publications)) {
|
|
173
|
+
throw new Error("The platform dataset publication discovery response is malformed (no publications list).");
|
|
174
|
+
}
|
|
175
|
+
// Rebuild the response from the reviewed whitelist only: unknown
|
|
176
|
+
// top-level or per-row keys never pass through to CLI consumers.
|
|
177
|
+
return {
|
|
178
|
+
publications: wire.publications.map(mapDiscoverableDatasetPublication),
|
|
179
|
+
};
|
|
180
|
+
},
|
|
146
181
|
attachAgent() {
|
|
147
182
|
return requestJson("/api/v1/developer/agent/attach/", { method: "POST", body: JSON.stringify({}) }, "attach to hosted agent");
|
|
148
183
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developer-client.js","sourceRoot":"","sources":["../src/developer-client.ts"],"names":[],"mappings":"AA+IA,SAAS,gBAAgB,CAAC,IAA2B;IACnD,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;
|
|
1
|
+
{"version":3,"file":"developer-client.js","sourceRoot":"","sources":["../src/developer-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { type OrchestratorDependencies } from "./orchestrator.js";
|
|
|
7
7
|
import { type BugReportDependencies } from "./reporting.js";
|
|
8
8
|
import { type LocalRuntimeDependencies, type SandboxDependencies } from "./sandbox.js";
|
|
9
9
|
import { type TokensDependencies } from "./tokens.js";
|
|
10
|
+
import { type WorkspaceDependencies } from "./workspace.js";
|
|
10
11
|
export type CliIo = {
|
|
11
12
|
stdout: (message: string) => void;
|
|
12
13
|
stderr: (message: string) => void;
|
|
@@ -31,6 +32,7 @@ export type RunCliOptions = {
|
|
|
31
32
|
}) => Promise<number>;
|
|
32
33
|
platform?: PlatformName;
|
|
33
34
|
tokensDependencies?: TokensDependencies;
|
|
35
|
+
workspaceDependencies?: WorkspaceDependencies;
|
|
34
36
|
};
|
|
35
37
|
export declare function runCli(argv: string[], options?: RunCliOptions, io?: CliIo): Promise<number>;
|
|
36
38
|
export { resolveCliStatePaths };
|