@cotrrackpro-dev/sdk 0.1.0

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.
Files changed (233) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/LICENSE +21 -0
  3. package/README.md +111 -0
  4. package/dist/assistant/compliance.d.ts +24 -0
  5. package/dist/assistant/compliance.js +60 -0
  6. package/dist/assistant/compliance.js.map +1 -0
  7. package/dist/assistant/crisis.d.ts +31 -0
  8. package/dist/assistant/crisis.js +62 -0
  9. package/dist/assistant/crisis.js.map +1 -0
  10. package/dist/assistant/index.d.ts +15 -0
  11. package/dist/assistant/index.js +16 -0
  12. package/dist/assistant/index.js.map +1 -0
  13. package/dist/assistant/levels.d.ts +43 -0
  14. package/dist/assistant/levels.js +102 -0
  15. package/dist/assistant/levels.js.map +1 -0
  16. package/dist/assistant/prompt.d.ts +20 -0
  17. package/dist/assistant/prompt.js +96 -0
  18. package/dist/assistant/prompt.js.map +1 -0
  19. package/dist/assistant/rbac.d.ts +45 -0
  20. package/dist/assistant/rbac.js +75 -0
  21. package/dist/assistant/rbac.js.map +1 -0
  22. package/dist/assistant/readability.d.ts +28 -0
  23. package/dist/assistant/readability.js +70 -0
  24. package/dist/assistant/readability.js.map +1 -0
  25. package/dist/auth/broker.d.ts +32 -0
  26. package/dist/auth/broker.js +48 -0
  27. package/dist/auth/broker.js.map +1 -0
  28. package/dist/auth/deviceFlow.d.ts +26 -0
  29. package/dist/auth/deviceFlow.js +65 -0
  30. package/dist/auth/deviceFlow.js.map +1 -0
  31. package/dist/auth/provider.d.ts +32 -0
  32. package/dist/auth/provider.js +29 -0
  33. package/dist/auth/provider.js.map +1 -0
  34. package/dist/community/badges.d.ts +19 -0
  35. package/dist/community/badges.js +19 -0
  36. package/dist/community/badges.js.map +1 -0
  37. package/dist/community/events.d.ts +30 -0
  38. package/dist/community/events.js +31 -0
  39. package/dist/community/events.js.map +1 -0
  40. package/dist/community/identity.d.ts +28 -0
  41. package/dist/community/identity.js +2 -0
  42. package/dist/community/identity.js.map +1 -0
  43. package/dist/community/index.d.ts +7 -0
  44. package/dist/community/index.js +8 -0
  45. package/dist/community/index.js.map +1 -0
  46. package/dist/community/org.d.ts +46 -0
  47. package/dist/community/org.js +32 -0
  48. package/dist/community/org.js.map +1 -0
  49. package/dist/community/tiers.d.ts +8 -0
  50. package/dist/community/tiers.js +40 -0
  51. package/dist/community/tiers.js.map +1 -0
  52. package/dist/community/types.d.ts +26 -0
  53. package/dist/community/types.js +2 -0
  54. package/dist/community/types.js.map +1 -0
  55. package/dist/core/config.d.ts +22 -0
  56. package/dist/core/config.js +27 -0
  57. package/dist/core/config.js.map +1 -0
  58. package/dist/core/errors.d.ts +29 -0
  59. package/dist/core/errors.js +20 -0
  60. package/dist/core/errors.js.map +1 -0
  61. package/dist/core/transport.d.ts +45 -0
  62. package/dist/core/transport.js +109 -0
  63. package/dist/core/transport.js.map +1 -0
  64. package/dist/diagram/core.d.ts +11 -0
  65. package/dist/diagram/core.js +12 -0
  66. package/dist/diagram/core.js.map +1 -0
  67. package/dist/diagram/extract.d.ts +17 -0
  68. package/dist/diagram/extract.js +213 -0
  69. package/dist/diagram/extract.js.map +1 -0
  70. package/dist/diagram/index.d.ts +2 -0
  71. package/dist/diagram/index.js +3 -0
  72. package/dist/diagram/index.js.map +1 -0
  73. package/dist/diagram/mermaid.d.ts +10 -0
  74. package/dist/diagram/mermaid.js +50 -0
  75. package/dist/diagram/mermaid.js.map +1 -0
  76. package/dist/diagram/prompt.d.ts +4 -0
  77. package/dist/diagram/prompt.js +16 -0
  78. package/dist/diagram/prompt.js.map +1 -0
  79. package/dist/diagram/types.d.ts +33 -0
  80. package/dist/diagram/types.js +2 -0
  81. package/dist/diagram/types.js.map +1 -0
  82. package/dist/diagram/validate.d.ts +13 -0
  83. package/dist/diagram/validate.js +48 -0
  84. package/dist/diagram/validate.js.map +1 -0
  85. package/dist/guide/compose.d.ts +10 -0
  86. package/dist/guide/compose.js +31 -0
  87. package/dist/guide/compose.js.map +1 -0
  88. package/dist/guide/core.d.ts +10 -0
  89. package/dist/guide/core.js +11 -0
  90. package/dist/guide/core.js.map +1 -0
  91. package/dist/guide/index.d.ts +2 -0
  92. package/dist/guide/index.js +3 -0
  93. package/dist/guide/index.js.map +1 -0
  94. package/dist/guide/prompt.d.ts +8 -0
  95. package/dist/guide/prompt.js +20 -0
  96. package/dist/guide/prompt.js.map +1 -0
  97. package/dist/guide/render.d.ts +9 -0
  98. package/dist/guide/render.js +180 -0
  99. package/dist/guide/render.js.map +1 -0
  100. package/dist/guide/types.d.ts +67 -0
  101. package/dist/guide/types.js +2 -0
  102. package/dist/guide/types.js.map +1 -0
  103. package/dist/index.d.ts +18 -0
  104. package/dist/index.js +19 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/mcp/artifacts.generated.d.ts +19 -0
  107. package/dist/mcp/artifacts.generated.js +140 -0
  108. package/dist/mcp/artifacts.generated.js.map +1 -0
  109. package/dist/mcp/format.d.ts +10 -0
  110. package/dist/mcp/format.js +17 -0
  111. package/dist/mcp/format.js.map +1 -0
  112. package/dist/mcp/index.d.ts +12 -0
  113. package/dist/mcp/index.js +18 -0
  114. package/dist/mcp/index.js.map +1 -0
  115. package/dist/mcp/knowledge.generated.d.ts +11 -0
  116. package/dist/mcp/knowledge.generated.js +12 -0
  117. package/dist/mcp/knowledge.generated.js.map +1 -0
  118. package/dist/mcp/prompt-modules.generated.d.ts +12 -0
  119. package/dist/mcp/prompt-modules.generated.js +19 -0
  120. package/dist/mcp/prompt-modules.generated.js.map +1 -0
  121. package/dist/mcp/roles.generated.d.ts +15 -0
  122. package/dist/mcp/roles.generated.js +25 -0
  123. package/dist/mcp/roles.generated.js.map +1 -0
  124. package/dist/mcp/safety.d.ts +35 -0
  125. package/dist/mcp/safety.js +76 -0
  126. package/dist/mcp/safety.js.map +1 -0
  127. package/dist/mcp/scenarios.generated.d.ts +13 -0
  128. package/dist/mcp/scenarios.generated.js +16 -0
  129. package/dist/mcp/scenarios.generated.js.map +1 -0
  130. package/dist/mcp/search.d.ts +13 -0
  131. package/dist/mcp/search.js +33 -0
  132. package/dist/mcp/search.js.map +1 -0
  133. package/dist/mcp/skills.generated.d.ts +17 -0
  134. package/dist/mcp/skills.generated.js +40 -0
  135. package/dist/mcp/skills.generated.js.map +1 -0
  136. package/dist/mcp/toolset.d.ts +31 -0
  137. package/dist/mcp/toolset.js +54 -0
  138. package/dist/mcp/toolset.js.map +1 -0
  139. package/dist/mcp/types.d.ts +96 -0
  140. package/dist/mcp/types.js +9 -0
  141. package/dist/mcp/types.js.map +1 -0
  142. package/dist/mcp/workflows.generated.d.ts +17 -0
  143. package/dist/mcp/workflows.generated.js +12 -0
  144. package/dist/mcp/workflows.generated.js.map +1 -0
  145. package/dist/nocode/core.d.ts +12 -0
  146. package/dist/nocode/core.js +13 -0
  147. package/dist/nocode/core.js.map +1 -0
  148. package/dist/nocode/examples.d.ts +28 -0
  149. package/dist/nocode/examples.js +218 -0
  150. package/dist/nocode/examples.js.map +1 -0
  151. package/dist/nocode/index.d.ts +2 -0
  152. package/dist/nocode/index.js +3 -0
  153. package/dist/nocode/index.js.map +1 -0
  154. package/dist/nocode/mermaid.d.ts +9 -0
  155. package/dist/nocode/mermaid.js +33 -0
  156. package/dist/nocode/mermaid.js.map +1 -0
  157. package/dist/nocode/prompt.d.ts +8 -0
  158. package/dist/nocode/prompt.js +46 -0
  159. package/dist/nocode/prompt.js.map +1 -0
  160. package/dist/nocode/runtime.d.ts +28 -0
  161. package/dist/nocode/runtime.js +113 -0
  162. package/dist/nocode/runtime.js.map +1 -0
  163. package/dist/nocode/simpleOps.d.ts +16 -0
  164. package/dist/nocode/simpleOps.js +137 -0
  165. package/dist/nocode/simpleOps.js.map +1 -0
  166. package/dist/nocode/types.d.ts +72 -0
  167. package/dist/nocode/types.js +12 -0
  168. package/dist/nocode/types.js.map +1 -0
  169. package/dist/nocode/validate.d.ts +17 -0
  170. package/dist/nocode/validate.js +136 -0
  171. package/dist/nocode/validate.js.map +1 -0
  172. package/dist/params/codegen.d.ts +8 -0
  173. package/dist/params/codegen.js +12 -0
  174. package/dist/params/codegen.js.map +1 -0
  175. package/dist/params/convert.d.ts +7 -0
  176. package/dist/params/convert.js +123 -0
  177. package/dist/params/convert.js.map +1 -0
  178. package/dist/params/core.d.ts +11 -0
  179. package/dist/params/core.js +12 -0
  180. package/dist/params/core.js.map +1 -0
  181. package/dist/params/fieldTypes.d.ts +26 -0
  182. package/dist/params/fieldTypes.js +29 -0
  183. package/dist/params/fieldTypes.js.map +1 -0
  184. package/dist/params/index.d.ts +3 -0
  185. package/dist/params/index.js +4 -0
  186. package/dist/params/index.js.map +1 -0
  187. package/dist/params/prompt.d.ts +4 -0
  188. package/dist/params/prompt.js +16 -0
  189. package/dist/params/prompt.js.map +1 -0
  190. package/dist/params/render.d.ts +5 -0
  191. package/dist/params/render.js +25 -0
  192. package/dist/params/render.js.map +1 -0
  193. package/dist/params/types.d.ts +76 -0
  194. package/dist/params/types.js +16 -0
  195. package/dist/params/types.js.map +1 -0
  196. package/dist/params/validate.d.ts +5 -0
  197. package/dist/params/validate.js +104 -0
  198. package/dist/params/validate.js.map +1 -0
  199. package/dist/resources/client.d.ts +58 -0
  200. package/dist/resources/client.js +79 -0
  201. package/dist/resources/client.js.map +1 -0
  202. package/dist/resources/types.d.ts +72 -0
  203. package/dist/resources/types.js +9 -0
  204. package/dist/resources/types.js.map +1 -0
  205. package/dist/workflow/assets.d.ts +8 -0
  206. package/dist/workflow/assets.js +16 -0
  207. package/dist/workflow/assets.js.map +1 -0
  208. package/dist/workflow/commands.d.ts +10 -0
  209. package/dist/workflow/commands.js +21 -0
  210. package/dist/workflow/commands.js.map +1 -0
  211. package/dist/workflow/core.d.ts +15 -0
  212. package/dist/workflow/core.js +16 -0
  213. package/dist/workflow/core.js.map +1 -0
  214. package/dist/workflow/index.d.ts +2 -0
  215. package/dist/workflow/index.js +3 -0
  216. package/dist/workflow/index.js.map +1 -0
  217. package/dist/workflow/stack.d.ts +11 -0
  218. package/dist/workflow/stack.js +40 -0
  219. package/dist/workflow/stack.js.map +1 -0
  220. package/dist/workflow/templates.d.ts +17 -0
  221. package/dist/workflow/templates.js +223 -0
  222. package/dist/workflow/templates.js.map +1 -0
  223. package/dist/workflow/types.d.ts +27 -0
  224. package/dist/workflow/types.js +2 -0
  225. package/dist/workflow/types.js.map +1 -0
  226. package/package.json +77 -0
  227. package/schemas/artifacts.index.json +1211 -0
  228. package/schemas/knowledge.index.json +49 -0
  229. package/schemas/prompt-modules.index.json +105 -0
  230. package/schemas/roles.index.json +431 -0
  231. package/schemas/scenarios.index.json +15 -0
  232. package/schemas/skills.index.json +670 -0
  233. package/schemas/workflows.index.json +462 -0
@@ -0,0 +1,462 @@
1
+ {
2
+ "_comment": "Snapshot of CoTrackPro workflows, synced via sdk/scripts/sync-antigravity.ts from cotrackpro-antigravity/workflows/*.yaml. Run `npm run codegen` to regenerate src/mcp/workflows.generated.ts.",
3
+ "source": "cotrackpro-antigravity :: workflows/*.yaml",
4
+ "workflows": [
5
+ {
6
+ "id": "court-packet-assembly",
7
+ "name": "court-packet-assembly",
8
+ "description": "Assembles all session artifacts into a court-ready PDF packet.",
9
+ "version": "1.0",
10
+ "trigger": "user_requests_court_packet",
11
+ "condition": null,
12
+ "safety_level": "standard",
13
+ "step_count": 7,
14
+ "steps": [
15
+ {
16
+ "id": "inventory",
17
+ "action": "list_artifacts",
18
+ "skill": null,
19
+ "roles": [],
20
+ "output": "available_artifacts",
21
+ "next": "select",
22
+ "trueNext": null,
23
+ "falseNext": null,
24
+ "condition": null
25
+ },
26
+ {
27
+ "id": "select",
28
+ "action": "ask",
29
+ "skill": null,
30
+ "roles": [],
31
+ "output": null,
32
+ "next": "organize",
33
+ "trueNext": null,
34
+ "falseNext": null,
35
+ "condition": null
36
+ },
37
+ {
38
+ "id": "organize",
39
+ "action": "call_skill",
40
+ "skill": "evidence-organization",
41
+ "roles": [],
42
+ "output": "organized_packet",
43
+ "next": "format",
44
+ "trueNext": null,
45
+ "falseNext": null,
46
+ "condition": null
47
+ },
48
+ {
49
+ "id": "format",
50
+ "action": "call_skill",
51
+ "skill": "legal-document-formatter",
52
+ "roles": [],
53
+ "output": "formatted_packet",
54
+ "next": "pii_check",
55
+ "trueNext": null,
56
+ "falseNext": null,
57
+ "condition": null
58
+ },
59
+ {
60
+ "id": "pii_check",
61
+ "action": "hook",
62
+ "skill": null,
63
+ "roles": [],
64
+ "output": null,
65
+ "next": "provenance_disclosure",
66
+ "trueNext": null,
67
+ "falseNext": null,
68
+ "condition": null
69
+ },
70
+ {
71
+ "id": "provenance_disclosure",
72
+ "action": "call_skill",
73
+ "skill": "ai-provenance-integrity",
74
+ "roles": [],
75
+ "output": "provenance_page",
76
+ "next": "export",
77
+ "trueNext": null,
78
+ "falseNext": null,
79
+ "condition": null
80
+ },
81
+ {
82
+ "id": "export",
83
+ "action": "export",
84
+ "skill": null,
85
+ "roles": [],
86
+ "output": null,
87
+ "next": null,
88
+ "trueNext": null,
89
+ "falseNext": null,
90
+ "condition": null
91
+ }
92
+ ]
93
+ },
94
+ {
95
+ "id": "custody-violation-response",
96
+ "name": "custody-violation-response",
97
+ "description": "End-to-end response workflow for documented custody violations. Walks the user-as-parent through incident documentation, evidence preservation, timeline construction, and (with attorney engagement) legal assessment and court-packet assembly. Honors the safety_gate pattern from session-lifecycle.yaml — content routed here has already cleared the global safety check.",
98
+ "version": "1.1",
99
+ "trigger": "trigger_detected",
100
+ "condition": "trigger_name == \"Child Custody Violation\"",
101
+ "safety_level": "elevated",
102
+ "step_count": 9,
103
+ "steps": [
104
+ {
105
+ "id": "document_incident",
106
+ "action": "call_skill",
107
+ "skill": "incident-documentation",
108
+ "roles": [
109
+ "Parent"
110
+ ],
111
+ "output": "incident_log",
112
+ "next": "preserve_evidence",
113
+ "trueNext": null,
114
+ "falseNext": null,
115
+ "condition": null
116
+ },
117
+ {
118
+ "id": "preserve_evidence",
119
+ "action": "call_skill",
120
+ "skill": "evidence-organization",
121
+ "roles": [
122
+ "Parent"
123
+ ],
124
+ "output": "evidence_index",
125
+ "next": "build_timeline",
126
+ "trueNext": null,
127
+ "falseNext": null,
128
+ "condition": null
129
+ },
130
+ {
131
+ "id": "build_timeline",
132
+ "action": "call_skill",
133
+ "skill": "timeline-builder",
134
+ "roles": [
135
+ "Parent",
136
+ "Attorney"
137
+ ],
138
+ "output": "timeline",
139
+ "next": "attorney_engagement_gate",
140
+ "trueNext": null,
141
+ "falseNext": null,
142
+ "condition": null
143
+ },
144
+ {
145
+ "id": "attorney_engagement_gate",
146
+ "action": "branch",
147
+ "skill": null,
148
+ "roles": [],
149
+ "output": null,
150
+ "next": null,
151
+ "trueNext": "legal_assessment",
152
+ "falseNext": "surface_pro_se_options",
153
+ "condition": "{{user_has_attorney}} == true"
154
+ },
155
+ {
156
+ "id": "surface_pro_se_options",
157
+ "action": "call_skill",
158
+ "skill": "legal-document-formatter",
159
+ "roles": [
160
+ "Parent"
161
+ ],
162
+ "output": "pro_se_packet",
163
+ "next": "pii_check",
164
+ "trueNext": null,
165
+ "falseNext": null,
166
+ "condition": null
167
+ },
168
+ {
169
+ "id": "legal_assessment",
170
+ "action": "call_skill",
171
+ "skill": "legal-document-formatter",
172
+ "roles": [
173
+ "Attorney"
174
+ ],
175
+ "output": "legal_packet",
176
+ "next": "assemble_court_packet",
177
+ "trueNext": null,
178
+ "falseNext": null,
179
+ "condition": null
180
+ },
181
+ {
182
+ "id": "assemble_court_packet",
183
+ "action": "invoke_workflow",
184
+ "skill": null,
185
+ "roles": [],
186
+ "output": "court_packet",
187
+ "next": "pii_check",
188
+ "trueNext": null,
189
+ "falseNext": null,
190
+ "condition": null
191
+ },
192
+ {
193
+ "id": "pii_check",
194
+ "action": "hook",
195
+ "skill": null,
196
+ "roles": [],
197
+ "output": null,
198
+ "next": "export",
199
+ "trueNext": null,
200
+ "falseNext": null,
201
+ "condition": null
202
+ },
203
+ {
204
+ "id": "export",
205
+ "action": "export",
206
+ "skill": null,
207
+ "roles": [],
208
+ "output": null,
209
+ "next": null,
210
+ "trueNext": null,
211
+ "falseNext": null,
212
+ "condition": null
213
+ }
214
+ ]
215
+ },
216
+ {
217
+ "id": "first-session-onboarding",
218
+ "name": "first-session-onboarding",
219
+ "description": "Guides new users through their first CoTrackPro experience.",
220
+ "version": "1.0",
221
+ "trigger": "new_user_session",
222
+ "condition": null,
223
+ "safety_level": "standard",
224
+ "step_count": 5,
225
+ "steps": [
226
+ {
227
+ "id": "welcome",
228
+ "action": "surface",
229
+ "skill": null,
230
+ "roles": [],
231
+ "output": null,
232
+ "next": "intent",
233
+ "trueNext": null,
234
+ "falseNext": null,
235
+ "condition": null
236
+ },
237
+ {
238
+ "id": "intent",
239
+ "action": "ask",
240
+ "skill": null,
241
+ "roles": [],
242
+ "output": null,
243
+ "next": "{{selected_route}}",
244
+ "trueNext": null,
245
+ "falseNext": null,
246
+ "condition": null
247
+ },
248
+ {
249
+ "id": "role_select",
250
+ "action": "ask",
251
+ "skill": null,
252
+ "roles": [],
253
+ "output": null,
254
+ "next": "first_action",
255
+ "trueNext": null,
256
+ "falseNext": null,
257
+ "condition": null
258
+ },
259
+ {
260
+ "id": "first_action",
261
+ "action": "route_to_skill",
262
+ "skill": "{{selected_skill}}",
263
+ "roles": [],
264
+ "output": null,
265
+ "next": "next_steps",
266
+ "trueNext": null,
267
+ "falseNext": null,
268
+ "condition": null
269
+ },
270
+ {
271
+ "id": "next_steps",
272
+ "action": "surface",
273
+ "skill": null,
274
+ "roles": [],
275
+ "output": null,
276
+ "next": null,
277
+ "trueNext": null,
278
+ "falseNext": null,
279
+ "condition": null
280
+ }
281
+ ]
282
+ },
283
+ {
284
+ "id": "mandatory-reporting-assist",
285
+ "name": "mandatory-reporting-assist",
286
+ "description": "Assists mandatory reporters in documenting disclosures and filing reports.",
287
+ "version": "1.0",
288
+ "trigger": "trigger_detected",
289
+ "condition": "tag == \"Mandatory Reporting\"",
290
+ "safety_level": "maximum",
291
+ "step_count": 5,
292
+ "steps": [
293
+ {
294
+ "id": "confirm_obligation",
295
+ "action": "surface",
296
+ "skill": null,
297
+ "roles": [],
298
+ "output": null,
299
+ "next": "jurisdiction",
300
+ "trueNext": null,
301
+ "falseNext": null,
302
+ "condition": null
303
+ },
304
+ {
305
+ "id": "jurisdiction",
306
+ "action": "ask",
307
+ "skill": null,
308
+ "roles": [],
309
+ "output": null,
310
+ "next": "document",
311
+ "trueNext": null,
312
+ "falseNext": null,
313
+ "condition": null
314
+ },
315
+ {
316
+ "id": "document",
317
+ "action": "call_skill",
318
+ "skill": "incident-documentation",
319
+ "roles": [],
320
+ "output": null,
321
+ "next": "contacts",
322
+ "trueNext": null,
323
+ "falseNext": null,
324
+ "condition": null
325
+ },
326
+ {
327
+ "id": "contacts",
328
+ "action": "lookup",
329
+ "skill": null,
330
+ "roles": [],
331
+ "output": "agency_name, phone, online_url, hours",
332
+ "next": "track",
333
+ "trueNext": null,
334
+ "falseNext": null,
335
+ "condition": null
336
+ },
337
+ {
338
+ "id": "track",
339
+ "action": "log",
340
+ "skill": null,
341
+ "roles": [],
342
+ "output": null,
343
+ "next": null,
344
+ "trueNext": null,
345
+ "falseNext": null,
346
+ "condition": null
347
+ }
348
+ ]
349
+ },
350
+ {
351
+ "id": "session-lifecycle",
352
+ "name": "session-lifecycle",
353
+ "description": "Full session lifecycle from user input to artifact export.",
354
+ "version": "1.0",
355
+ "trigger": "user_input_received",
356
+ "condition": null,
357
+ "safety_level": "standard",
358
+ "step_count": 9,
359
+ "steps": [
360
+ {
361
+ "id": "init",
362
+ "action": "create_session",
363
+ "skill": null,
364
+ "roles": [],
365
+ "output": "session_id, user_context",
366
+ "next": "triage",
367
+ "trueNext": null,
368
+ "falseNext": null,
369
+ "condition": null
370
+ },
371
+ {
372
+ "id": "triage",
373
+ "action": "call_skill",
374
+ "skill": "omni-build",
375
+ "roles": [],
376
+ "output": "triggers, risk_level, safety_flag",
377
+ "next": "safety_gate",
378
+ "trueNext": null,
379
+ "falseNext": null,
380
+ "condition": null
381
+ },
382
+ {
383
+ "id": "safety_gate",
384
+ "action": "branch",
385
+ "skill": null,
386
+ "roles": [],
387
+ "output": null,
388
+ "next": null,
389
+ "trueNext": "safety_escalation",
390
+ "falseNext": "route",
391
+ "condition": "{{safety_flag}} == true"
392
+ },
393
+ {
394
+ "id": "safety_escalation",
395
+ "action": "surface_safety_prompt",
396
+ "skill": null,
397
+ "roles": [],
398
+ "output": null,
399
+ "next": "route",
400
+ "trueNext": null,
401
+ "falseNext": null,
402
+ "condition": null
403
+ },
404
+ {
405
+ "id": "route",
406
+ "action": "call_skill",
407
+ "skill": "omni-build",
408
+ "roles": [],
409
+ "output": "role_assignments",
410
+ "next": "execute",
411
+ "trueNext": null,
412
+ "falseNext": null,
413
+ "condition": null
414
+ },
415
+ {
416
+ "id": "execute",
417
+ "action": "spawn_subagents",
418
+ "skill": null,
419
+ "roles": [],
420
+ "output": "artifacts",
421
+ "next": "review",
422
+ "trueNext": null,
423
+ "falseNext": null,
424
+ "condition": null
425
+ },
426
+ {
427
+ "id": "review",
428
+ "action": "quality_gate",
429
+ "skill": null,
430
+ "roles": [],
431
+ "output": null,
432
+ "next": "export",
433
+ "trueNext": null,
434
+ "falseNext": null,
435
+ "condition": null
436
+ },
437
+ {
438
+ "id": "export",
439
+ "action": "package_artifacts",
440
+ "skill": null,
441
+ "roles": [],
442
+ "output": null,
443
+ "next": "close",
444
+ "trueNext": null,
445
+ "falseNext": null,
446
+ "condition": null
447
+ },
448
+ {
449
+ "id": "close",
450
+ "action": "archive_session",
451
+ "skill": null,
452
+ "roles": [],
453
+ "output": null,
454
+ "next": null,
455
+ "trueNext": null,
456
+ "falseNext": null,
457
+ "condition": null
458
+ }
459
+ ]
460
+ }
461
+ ]
462
+ }