@uipath/skills 1.195.0 → 1.196.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 (380) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CODEOWNERS +16 -10
  4. package/README.md +39 -4
  5. package/assets/skill-status.json +189 -0
  6. package/assets/uip-catalog-snapshot.json +67 -97
  7. package/commands/install-permissions.md +46 -2
  8. package/hooks/suggest-permissions.sh +0 -0
  9. package/hooks/validate-skill-descriptions.sh +0 -0
  10. package/package.json +1 -1
  11. package/skills/uipath-admin/SKILL.md +6 -7
  12. package/skills/uipath-admin/references/audit-commands.md +32 -10
  13. package/skills/uipath-admin/references/audit-workflow-guide.md +25 -6
  14. package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +1 -1
  15. package/skills/uipath-agents/SKILL.md +5 -3
  16. package/skills/uipath-agents/references/coded/embedding-in-flows.md +6 -0
  17. package/skills/uipath-agents/references/coded/flow-integration.md +1 -0
  18. package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +2 -2
  19. package/skills/uipath-agents/references/coded/frameworks/llamaindex-integration.md +1 -1
  20. package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +5 -1
  21. package/skills/uipath-agents/references/coded/lifecycle/build.md +1 -0
  22. package/skills/uipath-agents/references/coded/lifecycle/evaluate.md +8 -6
  23. package/skills/uipath-agents/references/coded/quickstart.md +17 -12
  24. package/skills/uipath-agents/references/lowcode/agent-definition.md +17 -16
  25. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/analyze-attachments.md +2 -2
  26. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/batch-transform/impl-json.md +1 -1
  27. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/built-in-tools.md +4 -4
  28. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/deeprag/impl-json.md +1 -1
  29. package/skills/uipath-agents/references/lowcode/capabilities/context/context.md +1 -1
  30. package/skills/uipath-agents/references/lowcode/capabilities/context/datafabric.md +1 -1
  31. package/skills/uipath-agents/references/lowcode/capabilities/context/index.md +12 -12
  32. package/skills/uipath-agents/references/lowcode/capabilities/escalation/escalation.md +14 -14
  33. package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +1 -1
  34. package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +23 -20
  35. package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +27 -26
  36. package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +12 -13
  37. package/skills/uipath-agents/references/lowcode/capabilities/mcp/mcp.md +133 -0
  38. package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +9 -9
  39. package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +25 -24
  40. package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +6 -6
  41. package/skills/uipath-agents/references/lowcode/critical-rules.md +17 -17
  42. package/skills/uipath-agents/references/lowcode/debug.md +55 -0
  43. package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +6 -6
  44. package/skills/uipath-agents/references/lowcode/evaluations/evaluation-sets.md +1 -1
  45. package/skills/uipath-agents/references/lowcode/evaluations/evaluators.md +3 -3
  46. package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +8 -8
  47. package/skills/uipath-agents/references/lowcode/lowcode.md +18 -12
  48. package/skills/uipath-agents/references/lowcode/model-selection-guide.md +3 -3
  49. package/skills/uipath-agents/references/lowcode/project-lifecycle.md +53 -33
  50. package/skills/uipath-agents/references/lowcode/solution-resources.md +8 -8
  51. package/skills/uipath-api-workflow/SKILL.md +32 -83
  52. package/skills/uipath-api-workflow/references/cli-reference.md +40 -26
  53. package/skills/uipath-api-workflow/references/connector-activity-discovery.md +75 -23
  54. package/skills/uipath-api-workflow/references/troubleshooting.md +4 -12
  55. package/skills/uipath-automation-discovery/SKILL.md +234 -0
  56. package/skills/uipath-automation-discovery/references/intake-guide.md +85 -0
  57. package/skills/uipath-automation-discovery/references/mining-guide.md +156 -0
  58. package/skills/uipath-automation-discovery/references/report-template.md +95 -0
  59. package/skills/uipath-coded-apps/SKILL.md +0 -2
  60. package/skills/uipath-data-fabric/SKILL.md +0 -2
  61. package/skills/uipath-feedback/SKILL.md +1 -1
  62. package/skills/uipath-governance/SKILL.md +0 -2
  63. package/skills/uipath-human-in-the-loop/SKILL.md +2 -3
  64. package/skills/uipath-maestro-bpmn/.maintenance/check-all.sh +0 -0
  65. package/skills/uipath-maestro-bpmn/.maintenance/check-anchors.sh +0 -0
  66. package/skills/uipath-maestro-bpmn/.maintenance/check-depth.sh +0 -0
  67. package/skills/uipath-maestro-bpmn/.maintenance/check-link-text.sh +0 -0
  68. package/skills/uipath-maestro-bpmn/.maintenance/check-links.sh +0 -0
  69. package/skills/uipath-maestro-bpmn/.maintenance/check-orphans.sh +0 -0
  70. package/skills/uipath-maestro-bpmn/.maintenance/check-plugin-pairs.sh +0 -0
  71. package/skills/uipath-maestro-bpmn/.maintenance/check-template.sh +0 -0
  72. package/skills/uipath-maestro-bpmn/.maintenance/check-uip-commands.sh +0 -0
  73. package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.py +0 -0
  74. package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.sh +0 -0
  75. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/api-workflow.md +1 -1
  76. package/skills/uipath-maestro-bpmn/references/operate/references/run.md +1 -1
  77. package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +2 -2
  78. package/skills/uipath-maestro-bpmn/references/shared/wrapper-shells.md +1 -1
  79. package/skills/uipath-maestro-case/SKILL.md +22 -27
  80. package/skills/uipath-maestro-case/references/bindings-and-expressions.md +7 -1
  81. package/skills/uipath-maestro-case/references/bindings-v2-sync.md +7 -16
  82. package/skills/uipath-maestro-case/references/case-commands.md +9 -9
  83. package/skills/uipath-maestro-case/references/case-editing-operations.md +51 -67
  84. package/skills/uipath-maestro-case/references/case-schema.md +74 -138
  85. package/skills/uipath-maestro-case/references/connector-integration.md +32 -5
  86. package/skills/uipath-maestro-case/references/connector-trigger-common.md +39 -12
  87. package/skills/uipath-maestro-case/references/evals/evals.json +9 -23
  88. package/skills/uipath-maestro-case/references/implementation.md +24 -24
  89. package/skills/uipath-maestro-case/references/phased-execution.md +24 -38
  90. package/skills/uipath-maestro-case/references/placeholder-tasks.md +9 -9
  91. package/skills/uipath-maestro-case/references/planning.md +20 -79
  92. package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +15 -122
  93. package/skills/uipath-maestro-case/references/plugins/case/planning.md +3 -1
  94. package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +10 -22
  95. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +7 -5
  96. package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +2 -0
  97. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +5 -5
  98. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +1 -1
  99. package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +4 -4
  100. package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +10 -0
  101. package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +10 -42
  102. package/skills/uipath-maestro-case/references/plugins/sla/planning.md +5 -5
  103. package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +8 -79
  104. package/skills/uipath-maestro-case/references/plugins/stages/planning.md +7 -14
  105. package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +1 -1
  106. package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +3 -2
  107. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +1 -1
  108. package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +3 -2
  109. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +1 -1
  110. package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +4 -3
  111. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +2 -2
  112. package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +12 -7
  113. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +1 -1
  114. package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +2 -0
  115. package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +1 -1
  116. package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +4 -3
  117. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +1 -1
  118. package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +4 -3
  119. package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +3 -0
  120. package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +6 -7
  121. package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +4 -2
  122. package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -27
  123. package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +8 -20
  124. package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +6 -11
  125. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +15 -30
  126. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +4 -4
  127. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +8 -7
  128. package/skills/uipath-maestro-case/references/registry-discovery.md +4 -4
  129. package/skills/uipath-maestro-case/references/sdd-generation-rules.md +12 -10
  130. package/skills/uipath-maestro-case/references/troubleshooting-guide.md +1 -1
  131. package/skills/uipath-maestro-flow/.maintenance/check-all.sh +0 -0
  132. package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +0 -0
  133. package/skills/uipath-maestro-flow/.maintenance/check-depth.sh +0 -0
  134. package/skills/uipath-maestro-flow/.maintenance/check-link-text.sh +0 -0
  135. package/skills/uipath-maestro-flow/.maintenance/check-links.sh +0 -0
  136. package/skills/uipath-maestro-flow/.maintenance/check-orphans.sh +0 -0
  137. package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +0 -0
  138. package/skills/uipath-maestro-flow/.maintenance/check-template.sh +0 -0
  139. package/skills/uipath-maestro-flow/.maintenance/check-uip-commands.sh +0 -0
  140. package/skills/uipath-maestro-flow/.maintenance/check-versions.sh +0 -0
  141. package/skills/uipath-maestro-flow/SKILL.md +9 -6
  142. package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +4 -4
  143. package/skills/uipath-maestro-flow/references/author/references/brownfield.md +17 -2
  144. package/skills/uipath-maestro-flow/references/author/references/editing-operations-cli.md +1 -1
  145. package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +3 -3
  146. package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +9 -9
  147. package/skills/uipath-maestro-flow/references/author/references/greenfield.md +13 -10
  148. package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +75 -5
  149. package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +2 -1
  150. package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +14 -4
  151. package/skills/uipath-maestro-flow/references/author/references/plugins/connector-trigger/impl.md +20 -4
  152. package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +5 -5
  153. package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/planning.md +5 -5
  154. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +81 -0
  155. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +63 -0
  156. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +59 -57
  157. package/skills/uipath-maestro-flow/references/author/references/plugins/http/planning.md +8 -7
  158. package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +23 -23
  159. package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/planning.md +2 -2
  160. package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +1 -1
  161. package/skills/uipath-maestro-flow/references/diagnose/references/failure-modes.md +6 -6
  162. package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +2 -2
  163. package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +1 -1
  164. package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +8 -8
  165. package/skills/uipath-maestro-flow/references/operate/references/run.md +2 -2
  166. package/skills/uipath-maestro-flow/references/operate/references/ship.md +7 -7
  167. package/skills/uipath-maestro-flow/references/shared/cli-commands.md +19 -17
  168. package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +1 -1
  169. package/skills/uipath-maestro-flow/references/shared/file-format.md +1 -1
  170. package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +7 -7
  171. package/skills/uipath-planner/SKILL.md +110 -74
  172. package/skills/{uipath-solution → uipath-planner}/assets/templates/agent-sdd-template.md +3 -3
  173. package/skills/{uipath-solution → uipath-planner}/assets/templates/api-workflow-sdd-template.md +4 -4
  174. package/skills/{uipath-solution → uipath-planner}/assets/templates/case-sdd-template.md +4 -4
  175. package/skills/{uipath-solution → uipath-planner}/assets/templates/coded-app-sdd-template.md +3 -3
  176. package/skills/{uipath-solution → uipath-planner}/assets/templates/flow-sdd-template.md +4 -4
  177. package/skills/{uipath-solution → uipath-planner}/assets/templates/rpa-sdd-template.md +11 -11
  178. package/skills/uipath-planner/references/multi-skill-patterns-guide.md +3 -3
  179. package/skills/uipath-planner/references/non-pdd-lane-guide.md +10 -6
  180. package/skills/uipath-planner/references/pdd-driven-lane-guide.md +17 -7
  181. package/skills/uipath-planner/references/plan-and-tasks-format.md +2 -2
  182. package/skills/{uipath-solution/references/design → uipath-planner/references}/product-selection-guide.md +8 -8
  183. package/skills/{uipath-solution/references/design → uipath-planner/references}/rpa-product-guide.md +1 -1
  184. package/skills/{uipath-solution/references/design → uipath-planner/references}/sdd-generation-guide.md +26 -39
  185. package/skills/{uipath-solution/references/design → uipath-planner/references}/tenant-library-search-guide.md +7 -7
  186. package/skills/uipath-platform/SKILL.md +21 -48
  187. package/skills/uipath-platform/references/integration-service/http-request.md +5 -2
  188. package/skills/uipath-platform/references/integration-service/reference-resolution.md +19 -1
  189. package/skills/uipath-platform/references/integration-service/triggers.md +21 -5
  190. package/skills/uipath-platform/references/licensing/consumables-report.md +1 -1
  191. package/skills/uipath-platform/references/licensing/tenant-allocations.md +1 -1
  192. package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +1 -1
  193. package/skills/uipath-platform/references/{resources → orchestrator}/manage-assets.md +37 -34
  194. package/skills/uipath-platform/references/orchestrator/manage-sessions.md +1 -1
  195. package/skills/uipath-platform/references/orchestrator/orchestrator.md +4 -31
  196. package/skills/uipath-platform/references/{resources → orchestrator}/process-queues.md +61 -50
  197. package/skills/uipath-platform/references/{resources → orchestrator}/resources.md +21 -21
  198. package/skills/uipath-platform/references/orchestrator/run-jobs.md +26 -14
  199. package/skills/uipath-platform/references/orchestrator/setup-environment.md +20 -16
  200. package/skills/uipath-platform/references/orchestrator/tenant-admin.md +7 -7
  201. package/skills/uipath-platform/references/{resources → orchestrator}/triggers-and-webhooks.md +41 -37
  202. package/skills/uipath-platform/references/{resources → orchestrator}/work-with-storage.md +56 -34
  203. package/skills/uipath-platform/references/uip-commands.md +20 -19
  204. package/skills/uipath-review/SKILL.md +81 -7
  205. package/skills/uipath-review/references/agents/agent-common-issues.md +42 -0
  206. package/skills/uipath-review/references/agents/agent-review-checklist.md +79 -57
  207. package/skills/uipath-review/references/agents/agents-coded-rules.md +160 -0
  208. package/skills/uipath-review/references/agents/agents-common-rules.md +32 -0
  209. package/skills/uipath-review/references/agents/agents-lowcode-rules.md +128 -0
  210. package/skills/uipath-review/references/platform/platform-resources-checklist.md +2 -2
  211. package/skills/uipath-review/references/review-workflow-guide.md +1 -1
  212. package/skills/uipath-review/references/rpa/rpa-review-checklist.md +2 -2
  213. package/skills/uipath-review/references/rule-catalog-workflow.md +90 -0
  214. package/skills/uipath-review/references/rule-format.md +91 -0
  215. package/skills/uipath-rpa/SKILL.md +16 -6
  216. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/CreateEntityRecord.md +149 -0
  217. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/CreateMultipleEntityRecords.md +67 -0
  218. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteEntityRecord.md +44 -0
  219. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteFileFromRecordField.md +56 -0
  220. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DeleteMultipleEntityRecords.md +65 -0
  221. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/DownloadFileFromRecordField.md +115 -0
  222. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/GetEntityRecordById.md +50 -0
  223. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/QueryEntityRecords.md +69 -0
  224. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UpdateEntityRecord.md +120 -0
  225. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UpdateMultipleEntityRecords.md +67 -0
  226. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/activities/UploadFileToRecordField.md +103 -0
  227. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/guides/data-service-filter-builder-guide.md +461 -0
  228. package/skills/uipath-rpa/references/activity-docs/UiPath.DataService.Activities/overview.md +355 -0
  229. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AppendRangeX.md +1 -1
  230. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AutoFillX.md +1 -1
  231. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/AutoFitX.md +1 -1
  232. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ChangeDataRangeModification.md +1 -1
  233. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ChangePivotTableDataSourceX.md +1 -1
  234. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ClearRangeX.md +1 -1
  235. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CopyPasteRangeX.md +1 -1
  236. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CreatePivotTableXv2.md +1 -1
  237. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/CreateTableX.md +1 -1
  238. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteColumnX.md +1 -1
  239. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteRowsX.md +1 -1
  240. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DeleteSheetX.md +1 -1
  241. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/DuplicateSheetX.md +1 -1
  242. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExecuteMacroArgumentX.md +1 -1
  243. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExecuteMacroX.md +1 -1
  244. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ExportExcelToCsvX.md +1 -1
  245. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FillRangeX.md +1 -1
  246. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FilterPivotTableX.md +1 -1
  247. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FilterX.md +1 -1
  248. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FindFirstLastDataRowX.md +1 -1
  249. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FindReplaceValueX.md +1 -1
  250. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/FormatRangeX.md +2 -2
  251. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertColumnX.md +1 -1
  252. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertExcelChartX.md +1 -1
  253. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertRowsX.md +1 -1
  254. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InsertSheetX.md +1 -1
  255. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InvokeVBAArgumentX.md +1 -1
  256. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/InvokeVBAX.md +1 -1
  257. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/LookupX.md +1 -1
  258. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/PivotTableFieldX.md +1 -1
  259. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ProtectSheetX.md +1 -1
  260. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ReadCellFormulaX.md +1 -1
  261. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/ReadCellValueX.md +1 -1
  262. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RefreshPivotTableX.md +1 -1
  263. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RemoveDuplicatesX.md +1 -1
  264. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/RenameSheetX.md +1 -1
  265. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SaveAsPdfX.md +1 -1
  266. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SaveExcelFileX.md +1 -1
  267. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SortColumnX.md +1 -1
  268. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/SortX.md +1 -1
  269. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/UnprotectSheetX.md +1 -1
  270. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/UpdateChartX.md +1 -1
  271. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/VLookupX.md +1 -1
  272. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/WriteCellX.md +1 -1
  273. package/skills/uipath-rpa/references/activity-docs/UiPath.Excel.Activities/3.5/activities/overview.md +2 -2
  274. package/skills/uipath-rpa/references/activity-docs/UiPath.GSuite.Activities/3.8/activities/overview.md +2 -2
  275. package/skills/uipath-rpa/references/activity-docs/UiPath.Mail.Activities/2.8/activities/overview.md +2 -2
  276. package/skills/uipath-rpa/references/activity-docs/UiPath.MicrosoftOffice365.Activities/3.8/activities/SendMailConnections.md +1 -1
  277. package/skills/uipath-rpa/references/activity-docs/UiPath.MicrosoftOffice365.Activities/3.8/activities/overview.md +3 -3
  278. package/skills/uipath-rpa/references/activity-docs/UiPath.Presentations.Activities/2.5/activities/overview.md +2 -2
  279. package/skills/uipath-rpa/references/activity-docs/UiPath.System.Activities/25.10/activities/overview.md +1 -1
  280. package/skills/uipath-rpa/references/activity-docs/UiPath.Word.Activities/2.5/activities/overview.md +2 -2
  281. package/skills/uipath-rpa/references/cli-reference.md +108 -554
  282. package/skills/uipath-rpa/references/coded/coding-guidelines.md +1 -1
  283. package/skills/uipath-rpa/references/coded/operations-guide.md +3 -3
  284. package/skills/uipath-rpa/references/coded/third-party-packages-guide.md +1 -1
  285. package/skills/uipath-rpa/references/connector-capabilities.md +3 -2
  286. package/skills/uipath-rpa/references/debugging.md +43 -36
  287. package/skills/uipath-rpa/references/environment-setup.md +3 -3
  288. package/skills/uipath-rpa/references/is-connector-xaml-guide.md +3 -3
  289. package/skills/uipath-rpa/references/library-authoring-guide.md +226 -0
  290. package/skills/uipath-rpa/references/project-structure-guide.md +43 -0
  291. package/skills/uipath-rpa/references/publishing-guide.md +5 -5
  292. package/skills/uipath-rpa/references/tenant-library-search-guide.md +18 -14
  293. package/skills/uipath-rpa/references/testing-guide.md +6 -6
  294. package/skills/uipath-rpa/references/trigger-pattern-guide.md +2 -2
  295. package/skills/uipath-rpa/references/ui-automation-guide.md +43 -6
  296. package/skills/uipath-rpa/references/uia-configure-target-workflows.md +2 -2
  297. package/skills/uipath-rpa/references/uia-prerequisites.md +1 -1
  298. package/skills/uipath-rpa/references/validation-guide.md +4 -4
  299. package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +4 -1
  300. package/skills/uipath-rpa/references/xaml/common-pitfalls.md +18 -6
  301. package/skills/uipath-rpa/references/xaml/long-running-workflow-guide.md +304 -0
  302. package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +3 -0
  303. package/skills/uipath-solution/SKILL.md +23 -125
  304. package/skills/uipath-solution/references/{operate/activate-and-manage.md → activate-and-manage.md} +1 -1
  305. package/skills/uipath-solution/references/{operate/develop-solution.md → develop-solution.md} +43 -37
  306. package/skills/uipath-solution/references/{operate/pack-and-deploy.md → pack-and-deploy.md} +3 -3
  307. package/skills/uipath-solution/references/{operate/scenarios → scenarios}/intra-solution-references.md +2 -2
  308. package/skills/uipath-solution/references/{operate/scenarios → scenarios}/manual-edits.md +4 -4
  309. package/skills/uipath-solution/references/{operate/scenarios → scenarios}/same-name-across-folders.md +2 -2
  310. package/skills/uipath-solution/references/{operate/scenarios → scenarios}/shared-cloud-resource.md +3 -3
  311. package/skills/uipath-solution/references/{operate/scenarios → scenarios}/virtual-resource.md +4 -4
  312. package/skills/uipath-solution/references/{operate/scenarios.md → scenarios.md} +5 -5
  313. package/skills/uipath-solution/references/{operate/solution-overview.md → solution-overview.md} +3 -3
  314. package/skills/uipath-tasks/SKILL.md +0 -2
  315. package/skills/uipath-test/SKILL.md +26 -7
  316. package/skills/uipath-troubleshoot/agents/triage.md +6 -4
  317. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/overview.md +55 -0
  318. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/add-queue-item-failed.md +58 -0
  319. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/application-launch-failed.md +56 -0
  320. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/browser-open-or-attach-failed.md +59 -0
  321. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/file-operation-failed.md +60 -0
  322. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/foreach-row-failed.md +56 -0
  323. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/image-target-not-found.md +56 -0
  324. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-code-failed.md +54 -0
  325. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/invoke-workflow-failed.md +58 -0
  326. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/kill-process-failed.md +49 -0
  327. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-activity-configuration-error.md +80 -0
  328. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-activity-timeout.md +61 -0
  329. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-element-interaction-failed.md +61 -0
  330. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/playbooks/ui-element-not-found.md +64 -0
  331. package/skills/uipath-troubleshoot/references/activity-packages/classic-activities/summary.md +24 -0
  332. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-file-locked.md +142 -0
  333. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-file-not-found.md +140 -0
  334. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-null-reference.md +119 -0
  335. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/read-range-sheet-not-found.md +146 -0
  336. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-cell-failures.md +131 -0
  337. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +5 -0
  338. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/investigation_guide.md +1 -0
  339. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/overview.md +16 -0
  340. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/activity-configuration-error.md +42 -0
  341. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/ambiguous-selector.md +131 -0
  342. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-not-found.md +84 -0
  343. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/application-open-failed.md +46 -0
  344. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/browser-navigation-failed.md +45 -0
  345. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/click-coordinate-off-screen.md +120 -0
  346. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/disabled-element.md +0 -2
  347. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/element-found-not-actionable.md +43 -0
  348. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/healing-agent-no-license.md +12 -12
  349. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/healing-agent-orch-issues.md +108 -0
  350. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/inject-js-failed.md +41 -0
  351. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/scope-container-wrong-page.md +7 -0
  352. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/select-item-no-items.md +37 -0
  353. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/selector-failure-manual.md +2 -0
  354. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/timeout-issue.md +2 -2
  355. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/verify-execution-failure.md +120 -0
  356. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/playbooks/wrong-target-application.md +41 -0
  357. package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/summary.md +12 -0
  358. package/skills/uipath-troubleshoot/references/products/agents/playbooks/guardrail-violation.md +111 -0
  359. package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-connection-disabled.md +90 -0
  360. package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-credentials.md +123 -0
  361. package/skills/uipath-troubleshoot/references/products/agents/playbooks/is-invalid-element-instance.md +96 -0
  362. package/skills/uipath-troubleshoot/references/products/agents/playbooks/llm-insufficient-information.md +1 -1
  363. package/skills/uipath-troubleshoot/references/products/agents/summary.md +4 -0
  364. package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +7 -7
  365. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-no-host.md +3 -1
  366. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-pending-stale-dispatch.md +2 -0
  367. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-stopped-exit-code-0x40010004.md +104 -0
  368. package/skills/uipath-troubleshoot/references/products/orchestrator/summary.md +1 -0
  369. package/skills/uipath-troubleshoot/references/summary.md +10 -1
  370. package/version-manifest.json +2 -2
  371. package/skills/uipath-ixp/SKILL.md +0 -84
  372. package/skills/uipath-ixp/references/cli-reference.md +0 -113
  373. package/skills/uipath-ixp/references/improve-prompts-guide.md +0 -283
  374. package/skills/uipath-ixp/references/label-documents-guide.md +0 -175
  375. package/skills/uipath-ixp/references/project-setup-guide.md +0 -90
  376. package/skills/uipath-maestro-case/references/plugins/edges/impl-json.md +0 -152
  377. package/skills/uipath-maestro-case/references/plugins/edges/planning.md +0 -93
  378. /package/skills/{uipath-solution/references/design → uipath-planner/references}/package-selection-guide.md +0 -0
  379. /package/skills/{uipath-solution/references/design → uipath-planner/references}/pdd-analysis-guide.md +0 -0
  380. /package/skills/uipath-solution/references/{operate/scenarios → scenarios}/failure-modes.md +0 -0
@@ -2,24 +2,12 @@
2
2
 
3
3
  Structural reference for the case definition JSON. Shared across all node types. Per-task-type and per-condition-type field shapes live in each plugin's `impl-json.md`.
4
4
 
5
- > **Bilingual.** Top-level shape differs between v19 (default) and v20 (opt-in per SKILL.md Rule 18). Per-node and per-edge internal shapes are **identical** across schemas — only the wrapper changes. See § Top-level shape (v19) and § Top-level shape (v20) below.
6
-
7
- ## Top-level shape (v19 — default)
8
-
9
- ```json
10
- {
11
- "root": { ... },
12
- "nodes": [ ... ],
13
- "edges": [ ... ]
14
- }
15
- ```
16
-
17
- ## Top-level shape (v20 — opt-in)
5
+ ## Top-level shape
18
6
 
19
7
  ```json
20
8
  {
21
9
  "id": "case-aBcDeFgHiJ",
22
- "version": "20.0.0",
10
+ "version": "23.0.0",
23
11
  "name": "<case name>",
24
12
  "description": "<optional>",
25
13
  "metadata": {
@@ -28,6 +16,7 @@ Structural reference for the case definition JSON. Shared across all node types.
28
16
  "caseAppEnabled": false,
29
17
  "publishVersion": 2,
30
18
  "caseUnifiedSchemaEnabled": true,
19
+ "caseDirectlyPassTaskOutputs": true,
31
20
  "intsvcActivityConfig": "v2",
32
21
  "slaRules": [ ... ],
33
22
  "caseExitRules": [ ... ]
@@ -35,44 +24,16 @@ Structural reference for the case definition JSON. Shared across all node types.
35
24
  "bindings": [ ... ],
36
25
  "variables": { "inputs": [], "outputs": [], "inputOutputs": [] },
37
26
  "nodes": [ ... ],
38
- "edges": [ ... ],
27
+ "edges": [],
39
28
  "layout": {}
40
29
  }
41
30
  ```
42
31
 
43
- ### v19 → v20 field mapping
44
-
45
- | v19 path | v20 path |
46
- |---|---|
47
- | `root.id` (literal `"root"`) | top-level `id` (`case-<10>` generated) |
48
- | `root.name` | top-level `name` |
49
- | `root.description` | top-level `description` |
50
- | `root.caseIdentifier` | `metadata.caseIdentifier` |
51
- | `root.caseIdentifierType` | `metadata.caseIdentifierType` |
52
- | `root.caseAppEnabled` | `metadata.caseAppEnabled` |
53
- | `root.publishVersion` | `metadata.publishVersion` |
54
- | `root.caseUnifiedSchemaEnabled` | `metadata.caseUnifiedSchemaEnabled` |
55
- | `root.caseAppConfig` | `metadata.caseAppConfig` |
56
- | `root.allowAdhocOptionalStageTasks` | `metadata.allowAdhocOptionalStageTasks` |
57
- | `root.caseExecutionIncludesDebugVariables` | `metadata.caseExecutionIncludesDebugVariables` |
58
- | `root.caseExecutionUsesSyncCaseTasks` | `metadata.caseExecutionUsesSyncCaseTasks` |
59
- | `root.caseBpmnUseNewGlobalVariables` | `metadata.caseBpmnUseNewGlobalVariables` |
60
- | `root.waitForHumanSelectNextStageDFConnector` | `metadata.waitForHumanSelectNextStageDFConnector` |
61
- | `root.version` (`"v19"`) | top-level `version` (`"20.0.0"`) |
62
- | `root.data.slaRules` | `metadata.slaRules` |
63
- | `root.data.uipath.bindings` | top-level `bindings` |
64
- | `root.data.uipath.variables` | top-level `variables` |
65
- | `root.caseExitConditions` | `metadata.caseExitRules` *(field renamed)* |
66
- | `root.data.intsvcActivityConfig` | `metadata.intsvcActivityConfig` |
67
- | `nodes` | `nodes` *(unchanged shape — see § 2 below)* |
68
- | `edges` | `edges` *(unchanged shape — see § 3 below)* |
69
- | — | `layout: {}` *(new top-level — see § 7 below)* |
70
-
71
- ### v20 layout-strip (Rule 19)
72
-
73
- In v20, node-level layout fields move to a top-level `layout` block. The frontend transformer `transformCaseInMemoryJsonToDiskJson.ts` does this stripping when round-tripping through canvas; skill emits clean nodes from the start.
74
-
75
- **Stripped from each node** (skill MUST NOT emit in v20):
32
+ ### Layout-strip (Rule 18)
33
+
34
+ Node-level layout fields move to a top-level `layout` block. The frontend transformer `transformCaseInMemoryJsonToDiskJson.ts` does this stripping when round-tripping through canvas; skill emits clean nodes from the start.
35
+
36
+ **Stripped from each node** (skill MUST NOT emit):
76
37
  - `position`
77
38
  - `style`
78
39
  - `measured`
@@ -80,13 +41,11 @@ In v20, node-level layout fields move to a top-level `layout` block. The fronten
80
41
  - `height`
81
42
  - `zIndex`
82
43
 
83
- **Stripped from each edge** (skill MUST NOT emit in v20):
44
+ **Stripped from each edge** (skill MUST NOT emit):
84
45
  - `data.waypoints`
85
46
 
86
47
  **Lifted to** `layout.nodes[<nodeId>] = { position, style, measured, width, height }` and `layout.edges[<edgeId>] = { waypoints }` — but skill emits empty `layout: {}` because FE auto-layouts on canvas load. Skill is not a layout authority.
87
48
 
88
- **v19 mode preserves all current render-field rules** — see [`case-editing-operations.md`](case-editing-operations.md) Pre-flight Checklist Items 3, 4.
89
-
90
49
  ---
91
50
 
92
51
  **ID format (cross-cutting).** All generated IDs follow the CLI's `prefixedId(prefix, count)` scheme: a fixed prefix followed by `count` random characters from `[A-Za-z0-9]`. Direct-JSON-write must use the same format — the frontend's `generateNextId(prefix, count)` depends on it.
@@ -95,7 +54,6 @@ In v20, node-level layout fields move to a top-level `layout` block. The fronten
95
54
  |---|---|---|---|
96
55
  | Stage (regular + exception) | `Stage_` | 6 | `Stage_aB3kL9` |
97
56
  | Trigger (added after initial) | `trigger_` | 6 | `trigger_xY2mNp` |
98
- | Edge | `edge_` | 6 | `edge_Qz7hVr` |
99
57
  | Task | `t` | 8 | `t8GQTYo8O` |
100
58
  | Task entry condition | `c` | 8 | `c4fGhJ2Mn` |
101
59
  | Task entry rule | `r` | 8 | `rK9xQw3Lp` |
@@ -107,57 +65,54 @@ In v20, node-level layout fields move to a top-level `layout` block. The fronten
107
65
 
108
66
  ---
109
67
 
110
- ## 1. root (v19) / top-level + metadata (v20)
68
+ ## 1. Top-level + metadata
111
69
 
112
- Metadata and configuration for the case definition. **v19** wraps everything under `root`; **v20** flattens to top-level + `metadata` block per the field-mapping table above. Field semantics are identical — only locations change.
70
+ Metadata and configuration for the case definition. Top-level fields (`id`, `version`, `name`, `description`) sit alongside the `metadata` block.
113
71
 
114
72
  ```json
115
73
  {
116
- "id": "<shortId>",
74
+ "id": "case-aBcDeFgHiJ",
75
+ "version": "23.0.0",
117
76
  "name": "Loan Approval",
118
- "type": "case-management:root",
119
- "caseIdentifier": "LOAN",
120
- "caseAppEnabled": false,
121
- "caseIdentifierType": "constant",
122
- "version": "v19",
123
- "publishVersion": 2,
124
- "data": {
77
+ "description": "case description",
78
+ "metadata": {
79
+ "caseIdentifier": "LOAN",
80
+ "caseIdentifierType": "constant",
81
+ "caseAppEnabled": false,
82
+ "publishVersion": 2,
83
+ "caseUnifiedSchemaEnabled": true,
84
+ "caseDirectlyPassTaskOutputs": true,
85
+ "intsvcActivityConfig": "v2",
125
86
  "slaRules": [
126
87
  { "expression": "=js:true", "count": 5, "unit": "d" }
127
88
  ],
128
- "intsvcActivityConfig": "v2",
129
- "uipath": {
130
- "bindings": [],
131
- "variables": { "inputs": [], "outputs": [], "inputOutputs": [] }
132
- }
133
- },
134
- "caseExitConditions": [],
135
- "description": "case description"
89
+ "caseExitRules": []
90
+ }
136
91
  }
137
92
  ```
138
93
 
139
94
  | Field | Type | Description |
140
95
  |-------|------|-------------|
141
- | `id` | string | Unique ID (auto-generated) |
96
+ | `id` | string | Unique ID, `case-` + 10 random chars (auto-generated) |
97
+ | `version` | string | Schema version — `"23.0.0"`. Emitted by the `case` plugin at T01. |
142
98
  | `name` | string | Human-readable name |
143
- | `type` | `"case-management:root"` | Literal — do not change |
144
- | `caseIdentifier` | string | Runtime identifier. `constant` → literal prefix. `external` → `=`-prefixed expression. See § Case identifier below. |
145
- | `caseIdentifierType` | `"constant"` \| `"external"` | Selects how `caseIdentifier` is read. Default `constant`. |
146
- | `caseAppEnabled` | boolean | Whether the Case App UI is enabled |
147
- | `version` | string | Schema version — `"v19"` for current schema. Emitted by the `case` plugin at T01. |
148
- | `publishVersion` | number? | Publish version — `2` for current schema |
149
- | `data.slaRules` | SlaRuleEntry[]? | Conditional + default SLA rules for the case. Default SLA lives here as the trailing entry with `expression: "=js:true"`. Escalations attach inside each rule's `escalationRule[]`. See §6. |
150
- | `data.intsvcActivityConfig` | string? | Integration-service activity configuration payload |
151
- | `data.uipath` | object? | Variable and binding declarations |
152
- | `caseExitConditions` | CaseExitCondition[]? | Conditions that mark the case as complete |
153
99
  | `description` | string? | Case description |
100
+ | `metadata.caseIdentifier` | string | Runtime identifier. `constant` → literal prefix. `external` → `=`-prefixed expression. See § Case identifier below. |
101
+ | `metadata.caseIdentifierType` | `"constant"` \| `"external"` | Selects how `caseIdentifier` is read. Default `constant`. |
102
+ | `metadata.caseAppEnabled` | boolean | Whether the Case App UI is enabled |
103
+ | `metadata.publishVersion` | number? | Publish version — `2` for current schema |
104
+ | `metadata.caseUnifiedSchemaEnabled` | boolean? | Unified-schema flag (`true`) |
105
+ | `metadata.caseDirectlyPassTaskOutputs` | boolean? | Passes task outputs directly through messages instead of shared variables, fixing race conditions on task outputs in cases with parallel tasks. Schema-optional, defaults `true` when absent; skill emits the T01 `directly-pass-task-outputs` value (`true` unless sdd.md requested `false`). |
106
+ | `metadata.intsvcActivityConfig` | string? | Integration-service activity configuration payload |
107
+ | `metadata.slaRules` | SlaRuleEntry[]? | Conditional + default SLA rules for the case. Default SLA lives here as the trailing entry with `expression: "=js:true"`. Escalations attach inside each rule's `escalationRule[]`. See §6. |
108
+ | `metadata.caseExitRules` | CaseExitCondition[]? | Conditions that mark the case as complete |
154
109
 
155
110
  ### Case identifier (constant vs external)
156
111
 
157
112
  `caseIdentifierType` picks how `caseIdentifier` resolves at runtime:
158
113
 
159
114
  - **`constant`** (default) — `caseIdentifier` is a literal 2-4 char prefix (`"LOAN"`). Runtime emits the case external id as `<prefix>-<generated>`.
160
- - **`external`** — `caseIdentifier` is a `=`-prefixed expression (bare `=vars.<id>` or `=js:<expr>`). Runtime evaluates it; the result becomes the case external id verbatim (no prefix). Same `=vars.<id>` / `=js:` convention as [bindings-and-expressions.md](bindings-and-expressions.md) — no other engine. v20: field lives under `metadata` (see field-mapping table). Authoring forms + variable eligibility: [`plugins/case/planning.md` § External identifier value](plugins/case/planning.md).
115
+ - **`external`** — `caseIdentifier` is a `=`-prefixed expression (bare `=vars.<id>` or `=js:<expr>`). Runtime evaluates it; the result becomes the case external id verbatim (no prefix). Same `=vars.<id>` / `=js:` convention as [bindings-and-expressions.md](bindings-and-expressions.md) — no other engine. Field lives under `metadata`. Authoring forms + variable eligibility: [`plugins/case/planning.md` § External identifier value](plugins/case/planning.md).
161
116
 
162
117
  ### CaseExitCondition
163
118
 
@@ -184,7 +139,6 @@ Entry point. Written by the triggers plugin at T02. Exactly one per case (single
184
139
  {
185
140
  "id": "trigger_xY2mNp",
186
141
  "type": "case-management:Trigger",
187
- "position": { "x": 200, "y": 0 },
188
142
  "data": {
189
143
  "label": "Start",
190
144
  "uipath": { "serviceType": "None" }
@@ -192,9 +146,7 @@ Entry point. Written by the triggers plugin at T02. Exactly one per case (single
192
146
  }
193
147
  ```
194
148
 
195
- `position` is fixed at `{ x: 200, y: 0 }` — not stateful like Stage.
196
-
197
- No `style`, `measured`, `width`, `zIndex`, or `parentElement` on Trigger nodes (unlike Stage).
149
+ No `position`, `style`, `measured`, `width`, `zIndex`, or `parentElement` on Trigger nodes (Rule 18 layout-strip).
198
150
 
199
151
  `serviceType` values: `"None"`, `"Intsvc.EventTrigger"`, `"Intsvc.TimerTrigger"`. The specific binding/config shape for each trigger kind lives in the corresponding trigger plugin's `impl-json.md`.
200
152
 
@@ -208,11 +160,6 @@ Standard workflow stage. Contains tasks.
208
160
  {
209
161
  "id": "Stage_aB3kL9",
210
162
  "type": "case-management:Stage",
211
- "position": { "x": 100, "y": 200 },
212
- "style": { "width": 304, "opacity": 0.8 },
213
- "measured": { "width": 304, "height": 128 },
214
- "width": 304,
215
- "zIndex": 1001,
216
163
  "data": {
217
164
  "label": "Review Application",
218
165
  "description": "...",
@@ -228,15 +175,7 @@ Standard workflow stage. Contains tasks.
228
175
  }
229
176
  ```
230
177
 
231
- **Top-level node fields:**
232
-
233
- | Field | Type | Description |
234
- |-------|------|-------------|
235
- | `position` | `{x,y}` | Auto-computed by CLI as `{ x: 100 + existingStageCount * 500, y: 200 }`. Direct-JSON-write must count existing stages before writing. |
236
- | `style` | object | Hard-coded `{ width: 304, opacity: 0.8 }`. |
237
- | `measured` | object | Hard-coded `{ width: 304, height: 128 }`. |
238
- | `width` | number | Hard-coded `304` (separate from `style.width` and `measured.width`). |
239
- | `zIndex` | number | Hard-coded `1001`. |
178
+ No `position`, `style`, `measured`, `width`, `height`, or `zIndex` at the node level (Rule 18 layout-strip).
240
179
 
241
180
  **`StageNodeData` fields:**
242
181
 
@@ -245,7 +184,7 @@ Standard workflow stage. Contains tasks.
245
184
  | `label` | string? | Display label |
246
185
  | `description` | string? | Stage description |
247
186
  | `isRequired` | boolean? | Whether the stage must complete before case exit (used by case-exit rule `required-stages-completed`) |
248
- | `parentElement` | `{id,type}` | Always `{ id: "root", type: schema.root.type }` |
187
+ | `parentElement` | `{id,type}` | Always `{ id: "root", type: "case-management:root" }`. The literal `"root"` is canvas-side — there is no `"root"` node on disk. |
249
188
  | `isInvalidDropTarget` | boolean | Always `false` (UI drag-drop flag) |
250
189
  | `isPendingParent` | boolean | Always `false` (UI drag-drop flag) |
251
190
  | `tasks` | Task[][] | 2D array: `tasks[lane][index]`. Default: one task per lane (`tasks[0][0]`, `tasks[1][0]`, …) so the FE lays them out in separate columns; lane is layout-only, sequencing comes from task-entry conditions. Exception: tasks in a `runs-sequentially` group that should execute in parallel share the same lane — there, shared lane carries execution semantics (parallel siblings inside the sequential group). Empty array `[]` when no tasks yet. |
@@ -254,7 +193,7 @@ Standard workflow stage. Contains tasks.
254
193
  | `exitConditions` | ExitCondition[]? | See §3. Not initialized on regular Stage creation — added later by the conditions plugins. |
255
194
  | `instanceIdPrefix` | string? | Prefix for instance IDs |
256
195
 
257
- > **Regular `Stage` is created without `entryConditions`/`exitConditions`.** Match this by not emitting empty arrays for those fields when writing a regular stage. They are added later by the condition plugins when entry/exit conditions are written. See §3 for the condition shapes and §2b for how edge transitions reference the source stage's `exitConditions`.
196
+ > **Regular `Stage` is created without `entryConditions`/`exitConditions`.** Match this by not emitting empty arrays for those fields when writing a regular stage. They are added later by the condition plugins when entry/exit conditions are written. See §3 for the condition shapes. Transitions are driven entirely by these conditions — edges are retired and `edges` stays `[]` (§4).
258
197
 
259
198
  ### c) Exception Stage Node — `"case-management:ExceptionStage"`
260
199
 
@@ -328,12 +267,14 @@ All conditions share the same shape but attach at different levels. Per-level fi
328
267
 
329
268
  ### CaseExitCondition (case-level)
330
269
 
331
- See `root.caseExitConditions` (v19) / `metadata.caseExitRules` (v20) in §1.
270
+ See `metadata.caseExitRules` in §1.
332
271
 
333
272
  ---
334
273
 
335
274
  ## 4. edges (two types, discriminated on `type`)
336
275
 
276
+ > **The skill does not author edges — `edges` stays `[]`.** Stage transitions derive entirely from `entryConditions` / `exitConditions` (§3); the case start derives from the first stage's `case-entered` entry condition, not a `TriggerEdge`. The structures below are **reference-only** — the empty `edges[]` array remains in the schema for frontend compatibility, and the FE auto-derives canvas connectors from the conditions. The two edge shapes are documented here only so a canvas-round-tripped file (where the FE may have materialized edges) is still readable.
277
+
337
278
  ### a) TriggerEdge — `"case-management:TriggerEdge"`
338
279
 
339
280
  Connects Trigger → Stage. No rules.
@@ -388,7 +329,7 @@ Rules = Rule[][]
388
329
 
389
330
  | `rule` | Additional fields | Description |
390
331
  |--------|-------------------|-------------|
391
- | `wait-for-connector` | `id?`, `uipath?` (connector configuration — required for Studio Web validity; bare form is a valid deferred/placeholder state), `conditionExpression?` | Wait for an external connector event — see § Connector-bound rule below |
332
+ | `wait-for-connector` | `id?`, `uipath` (connector config — **required**; absent → `connector activity missing`. Unresolved → **stub** placeholder, not bare — see § Placeholder fallback), `conditionExpression?` | Wait for an external connector event — see § Connector-bound rule below |
392
333
  | `case-entered` | `id?`, `conditionExpression?` | Fires when the case is first entered |
393
334
  | `selected-stage-completed` | `id?`, `selectedStageId?`, `conditionExpression?` | A specific stage has completed |
394
335
  | `selected-stage-exited` | `id?`, `selectedStageId?`, `conditionExpression?` | A specific stage has been exited |
@@ -419,7 +360,7 @@ A `wait-for-connector` rule binds an IS connector trigger under **`uipath`** —
419
360
  "id": "<ruleId>",
420
361
  "uipath": {
421
362
  "serviceType": "Intsvc.WaitForEvent",
422
- "context": [ { "name": "connectorKey", "value": "<key>", "type": "string" }, { "name": "connection", "value": "=bindings.<id>", "type": "string" }, { "name": "folderKey", "value": "=bindings.<id>", "type": "string" }, { "name": "resourceKey", "value": "<connection-id>", "type": "string" }, { "name": "objectName", "value": "<object>", "type": "string" }, { "name": "metadata", "type": "json", "body": { } } ],
363
+ "context": [ { "name": "connectorKey", "value": "<key>", "type": "string" }, { "name": "connection", "value": "=bindings.<id>", "type": "string" }, { "name": "resourceKey", "value": "<connection-id>", "type": "string" }, { "name": "folderKey", "value": "=bindings.<id>", "type": "string" }, { "name": "method", "value": "<httpMethod>", "type": "string" }, { "name": "path", "value": "<path>", "type": "string" }, { "name": "objectName", "value": "<object>", "type": "string" }, { "name": "operation", "value": "<eventOperation>", "type": "string" }, { "name": "metadata", "type": "json", "body": { } } ],
423
364
  "inputs": [ ],
424
365
  "outputs": [ ],
425
366
  "bindings": []
@@ -428,7 +369,7 @@ A `wait-for-connector` rule binds an IS connector trigger under **`uipath`** —
428
369
  }
429
370
  ```
430
371
 
431
- > CLI `validate` does NOT check `rule.uipath` — the case-tool connector validator is task-only (reads `task.data`). Confirm connector rules via Studio Web.
372
+ > Full `validate` requires `rule.uipath` + `context` (absent → `connector activity missing`); the check is satisfied by `context` entries named `connectorKey` + `operation`, and does not inspect internals (a wrong `serviceType` passes). Confirm the connector resolves via Studio Web. The exact `context` field set is CLI-emitted and varies by connector — splice it verbatim from `case spec`; the 9 fields above are illustrative of an HTTP-event connector, not a fixed schema.
432
373
 
433
374
  ---
434
375
 
@@ -441,7 +382,7 @@ All SLA data on a target (root or stage) lives in a single `slaRules[]` array. T
441
382
  {
442
383
  "expression": "=js:vars.priority === 'Urgent'",
443
384
  "count": 30,
444
- "unit": "m",
385
+ "unit": "min",
445
386
  "escalationRule": [
446
387
  {
447
388
  "id": "esc_aB3kL9",
@@ -506,13 +447,23 @@ All tasks inside a stage share this envelope. Per-type `data` fields live in eac
506
447
  | `displayName` | string? | Human-readable label shown in the UI |
507
448
  | `type` | string | Task type — see task plugins under `plugins/tasks/` |
508
449
  | `data` | object | Type-specific configuration — see corresponding plugin's `impl-json.md`. For connector tasks, `data.bindings` references the root-level bindings array. |
509
- | `skipCondition` | string? | Expression — skip the task when truthy |
450
+ | `skipCondition` | string? | `=js:` expression — skip the task when truthy. Use strict equality ([`bindings-and-expressions.md`](bindings-and-expressions.md#equality-operators)). |
510
451
  | `entryConditions` | TaskEntryCondition[]? | See §3. Written by the task-entry-conditions plugin from the SDD's authored Entry Condition rows — applied uniformly across task types (no auto-injection by task type). |
511
452
  | `shouldRunOnlyOnce` | boolean? | Run the task at most once per case, even if the stage is re-entered |
512
453
  | `shouldRunOnReEntry` | boolean? | *(deprecated — use `shouldRunOnlyOnce`)* Re-run when stage is re-entered |
513
454
  | `isRequired` | boolean? | Whether the task must complete for the stage to complete |
514
455
  | `description` | string? | Task description |
515
456
 
457
+ > **Envelope fields are top-level, not `data`.** Every field above except `data` lives directly on the task object — `skipCondition`, `entryConditions`, `shouldRunOnlyOnce`, `isRequired`, etc. are siblings of `data`, never nested inside it. `data` holds only the type-specific config defined by the task's plugin. An envelope field misplaced inside `data` passes `validate` silently (extra `data` keys aren't rejected) but is dead config the platform never reads.
458
+ >
459
+ > ```json
460
+ > // WRONG — skipCondition nested in data, never applied:
461
+ > { "displayName": "Hold", "data": { "timerType": "timeDuration", "timeDuration": "PT1H", "skipCondition": "=js:vars.skip === true" } }
462
+ >
463
+ > // RIGHT — skipCondition is a sibling of data:
464
+ > { "displayName": "Hold", "skipCondition": "=js:vars.skip === true", "data": { "timerType": "timeDuration", "timeDuration": "PT1H" } }
465
+ > ```
466
+
516
467
  **Positioning:** tasks have no `x`/`y`. They live in `stageNode.data.tasks[laneIndex][]` — a 2D array where the outer index is the lane (rendering column) and the inner index is the order within the lane. Default convention: one task per lane. Exception: within a `runs-sequentially` group, tasks that should run in parallel share the same lane (shared lane = parallel siblings, carries execution semantics).
517
468
 
518
469
  **Task type catalog** (full shape in each plugin's `impl-json.md`):
@@ -529,44 +480,37 @@ All tasks inside a stage share this envelope. Per-type `data` fields live in eac
529
480
  | `wait-for-connector` | `plugins/tasks/connector-trigger/` |
530
481
  | `wait-for-timer` | `plugins/tasks/wait-for-timer/` |
531
482
 
483
+ > **Not supported yet — do NOT author.** `external-agent`, `external-workflow`, `document-extraction`, `flow-process`. None of these are valid in `caseplan.json` (SKILL.md Rule 16).
484
+
532
485
  ---
533
486
 
534
487
  ## 8. Minimal example
535
488
 
536
489
  ```json
537
490
  {
538
- "root": {
539
- "id": "root",
540
- "name": "Simple Case",
541
- "type": "case-management:root",
491
+ "id": "case-aBcDeFgHiJ",
492
+ "version": "23.0.0",
493
+ "name": "Simple Case",
494
+ "metadata": {
542
495
  "caseIdentifier": "Simple Case",
543
- "caseAppEnabled": false,
544
496
  "caseIdentifierType": "constant",
545
- "version": "v19",
497
+ "caseAppEnabled": false,
546
498
  "publishVersion": 2,
547
- "data": {
548
- "intsvcActivityConfig": "v2",
549
- "uipath": {
550
- "variables": {},
551
- "bindings": []
552
- }
553
- }
499
+ "caseUnifiedSchemaEnabled": true,
500
+ "caseDirectlyPassTaskOutputs": true,
501
+ "intsvcActivityConfig": "v2"
554
502
  },
503
+ "bindings": [],
504
+ "variables": { "inputs": [], "outputs": [], "inputOutputs": [] },
555
505
  "nodes": [
556
506
  {
557
507
  "id": "trigger_xY2mNp",
558
508
  "type": "case-management:Trigger",
559
- "position": { "x": 200, "y": 0 },
560
509
  "data": { "label": "Start" }
561
510
  },
562
511
  {
563
512
  "id": "Stage_aB3kL9",
564
513
  "type": "case-management:Stage",
565
- "position": { "x": 100, "y": 200 },
566
- "style": { "width": 304, "opacity": 0.8 },
567
- "measured": { "width": 304, "height": 128 },
568
- "width": 304,
569
- "zIndex": 1001,
570
514
  "data": {
571
515
  "label": "Process",
572
516
  "parentElement": { "id": "root", "type": "case-management:root" },
@@ -576,16 +520,8 @@ All tasks inside a stage share this envelope. Per-type `data` fields live in eac
576
520
  }
577
521
  }
578
522
  ],
579
- "edges": [
580
- {
581
- "id": "edge_Qz7hVr",
582
- "type": "case-management:TriggerEdge",
583
- "source": "trigger_xY2mNp",
584
- "target": "Stage_aB3kL9",
585
- "sourceHandle": "trigger_xY2mNp____source____right",
586
- "targetHandle": "Stage_aB3kL9____target____left",
587
- "data": {}
588
- }
589
- ]
523
+ "edges": []
590
524
  }
591
525
  ```
526
+
527
+ `edges` is empty: the skill authors no edges. The case starts because `Stage_aB3kL9` carries a `case-entered` entry condition (added by the stage-entry-conditions plugin), not because a `TriggerEdge` connects the trigger to it.
@@ -14,14 +14,16 @@ Consult this reference when planning or implementing any of:
14
14
 
15
15
  1. `uip login` — tenant-scoped connectors are only visible after authentication.
16
16
  2. `uip maestro case registry pull` — populates `typecache-activities-index.json` and `typecache-triggers-index.json` at `~/.uip/case-resources/`.
17
- 3. A healthy Integration Service connection must exist for the connector. If `Connections` is empty after `get-connection`, the user must create one in IS before proceeding.
17
+ 3. A healthy Integration Service connection for the connector. If `Connections` is empty after `get-connection`, offer to create one (Step 2) rather than failing — see [§ Creating a Connection](#creating-a-connection).
18
18
 
19
- Connection selection rules (default-preference, `--refresh` retry, multi-connection disambiguation, ping verification, BYOA workflow): see [/uipath:uipath-platform — connections.md](../../uipath-platform/references/integration-service/connections.md).
19
+ Connection selection mechanics (`--refresh` retry, ping verification, BYOA workflow, connection creation): see [/uipath:uipath-platform — connections.md](../../uipath-platform/references/integration-service/connections.md).
20
20
 
21
21
  ## Resolution Pipeline
22
22
 
23
23
  For every connector task or event trigger, run these CLI metadata fetches in order. Each call feeds the next; the populated `caseShape` from `case spec` is written directly into `caseplan.json` per the plugin's `impl-json.md` — there is no `tasks add-connector` mutation step.
24
24
 
25
+ > **Empty `Connections[]` is not terminal.** When `get-connection` returns no connections, Step 2 offers to create one (`uip is connections create`) before falling back to `<UNRESOLVED>` — see [§ Creating a Connection](#creating-a-connection).
26
+
25
27
  ### Step 1 — Find the activity-type-id
26
28
 
27
29
  Read the relevant TypeCache index file directly (CLI `registry search` has known gaps — see [registry-discovery.md](registry-discovery.md)).
@@ -50,9 +52,34 @@ Output: `{ Entry, Config, Connections }` where:
50
52
  **Selection rules (in priority order):**
51
53
 
52
54
  1. If the sdd.md names a specific connection, match by `name`. Use that `id`.
53
- 2. If the sdd.md is silent and exactly one connection exists, use it.
54
- 3. If multiple connections exist and sdd.md is silent, use **AskUserQuestion** with a bounded list of connection names + "Something else".
55
- 4. If `Connections` is empty, mark the task `<UNRESOLVED: no IS connection for <connectorKey>>` in `tasks.md` and omit `input-values:`. Execution writes a placeholder connector task — `type` + `displayName` + `data: {}`, no `data.typeId` / `data.connectionId` keys. Tell the user in the completion report to create the connection in the IS portal before the task can run. See [placeholder-tasks.md](placeholder-tasks.md).
55
+ 2. If the sdd.md is silent, **always present the choice via AskUserQuestion — do not auto-select**, even when exactly one connection exists:
56
+ - **`Connections` non-empty** → list connections by `name` **plus a "Create a new connection" option** (an existing connection may not fit the intent).
57
+ - **`Connections` empty** → offer **Create a new connection** / **Skip (defer)**.
58
+ 3. **Create chosen** → create the connection, then continue to Step 3 with the returned `ConnectionId`. Procedure — background `is connections create`, capture `ConnectionId`, headless fallback: [§ Creating a Connection](#creating-a-connection).
59
+ 4. **Skip / create declined or failed / non-interactive run** → mark the task `<UNRESOLVED: no IS connection for <connectorKey>>` in `tasks.md` and omit `input-values:`. Execution writes a placeholder connector task — `type` + `displayName` + `data: {}`, no `data.typeId` / `data.connectionId` keys. Note it in the completion report. See [placeholder-tasks.md](placeholder-tasks.md). A failed `is connections create` MUST route here after surfacing the error (§ Creating a Connection step 4) — **planning continues to a placeholder, it never stalls.**
60
+
61
+ #### Creating a Connection
62
+
63
+ Reached when the user picks "Create a new connection" or no usable connection exists. Create one via the OAuth flow:
64
+
65
+ ```bash
66
+ uip is connections create "<connector-key>" --output json
67
+ # → Data: { ConnectionId, ConnectionName, Connector, State, Owner, Folder, FolderKey }
68
+ ```
69
+
70
+ `<connector-key>` is a positional argument — use `Config.connectorKey` from `get-connection` (present even when `Connections` is empty). The command auto-opens the browser for OAuth and **blocks until the user finishes authorizing**, then returns the new connection.
71
+
72
+ 1. **Run it in the background.** OAuth completion is human-paced and routinely exceeds a foreground command timeout — run detached so it survives across turns; read the result when it exits.
73
+ 2. **Capture `Data.ConnectionId`** and use it directly as `--connection-id` for `case spec` (Step 3). **Do NOT re-run `get-connection`** to re-discover it — the IS connection cache may be stale immediately after create, and the create output already carries the authoritative id.
74
+ 3. **Ping to verify** (optional): `uip is connections ping "<ConnectionId>" --output json`.
75
+ 4. **On failure — surface and re-prompt, never stall.** The create failed if the command **exits non-zero**, the JSON `Result` is `"Failure"`, or no `Data.ConnectionId` is returned (e.g. OAuth denied/failed, browser closed, connector misconfigured). On auth failure the command **exits** (verified: exit 1) — it does not hang. Do NOT silently proceed and do NOT leave planning incomplete:
76
+ 1. Show the user the failure `Message` (and `Instructions` if present) verbatim — do not invent a cause. Example: `{ "Result": "Failure", "Message": "Authentication failed", "Instructions": "Check credentials and try again." }`.
77
+ 2. Re-prompt via **AskUserQuestion**: **Retry create** (re-run `is connections create`) / **Skip (defer)**.
78
+ 3. On **Skip**, or after a repeated failure, fall to Selection rule 4 — mark `<UNRESOLVED>`, emit the placeholder, and **finish writing `tasks.md`** so planning completes.
79
+
80
+ **Headless / no-browser fallback** (CI, remote sandbox, no display) — the agent cannot complete browser OAuth. Either ask the user to run `! uip is connections create "<connector-key>" --output json` in their own terminal and paste back the `ConnectionId`, or run with `--no-wait` to get the pending authorization URL, surface it, and poll until `State: Enabled`.
81
+
82
+ > If you must re-discover via `is connections list` after create, pass `--refresh` to bypass the cache — but capturing `ConnectionId` from the create output is preferred.
56
83
 
57
84
  ### Step 3 — Discover the operation contract via `case spec`
58
85
 
@@ -15,8 +15,12 @@ All three use the same TypeCache (`typecache-triggers-index.json`), same single-
15
15
 
16
16
  ### 1. Find the trigger in TypeCache
17
17
 
18
+ If `~/.uip/case-resources/typecache-triggers-index.json` does not exist, run `uip maestro case registry pull` first (missing file is a precondition failure, not a 0-match — Rule 17 gate does not apply). If still absent after pull, the tenant has no connector triggers — mark `<UNRESOLVED>` and fall through to § Placeholder fallback.
19
+
18
20
  Read `~/.uip/case-resources/typecache-triggers-index.json` directly. Match on `displayName`, `connectorKey`, or `eventOperation` from sdd.md. Record `uiPathActivityTypeId`.
19
21
 
22
+ **No match (Scenario A — connector not found).** A 0-match inside the existing cache is gated by Rule 17 — run the [registry-discovery.md § MUST Confirm Before Placeholder Fallback](registry-discovery.md#must-confirm-before-placeholder-fallback) AskUserQuestion (`Force pull` / `Skip and use placeholders`) for the lookup batch before any fallback. Only after the user picks `Skip`: mark `type-id` **and** `connector-key` `<UNRESOLVED: no typecache trigger for <query>>` and skip § 2 entirely — with no `activity-type-id` there is nothing to pass to `get-connection`. Fall through to § Placeholder fallback (event trigger → placeholder node; connector-trigger task → `data: {}`; condition rule → stub `uipath`). Continue planning — do not halt ([planning.md § 3.4](planning.md)).
23
+
20
24
  ### 2. Resolve the connection
21
25
 
22
26
  ```bash
@@ -25,15 +29,16 @@ uip maestro case registry get-connection \
25
29
  --activity-type-id "<uiPathActivityTypeId>" --output json
26
30
  ```
27
31
 
28
- Returns `Entry`, `Config`, and `Connections`.
32
+ Returns `Entry`, `Config`, and `Connections`. If the sdd.md names a connection, match it by `name` and use it directly. Otherwise **always present the choice via AskUserQuestion — do not auto-select**, even when one connection exists:
29
33
 
30
- - **Single connection** → use it.
31
- - **Multiple connections** → **AskUserQuestion** with connection names + "Something else".
32
- - **Empty `Connections`** → mark `<UNRESOLVED>`. Both plugins emit placeholders at execution time (different shapes per plugin) — see [placeholder-tasks.md](placeholder-tasks.md) for connector-task placeholders and [`plugins/triggers/event/impl-json.md` § Placeholder fallback](plugins/triggers/event/impl-json.md) for event-trigger placeholders.
34
+ - **`Connections` non-empty** → list connections by `name` **plus a "Create a new connection" option**.
35
+ - **`Connections` empty** → offer **Create a new connection** / **Skip (defer)**.
36
+ - **Create chosen** → create it (background `is connections create`, capture `ConnectionId`), then continue with the new id. Procedure: [connector-integration.md § Creating a Connection](connector-integration.md#creating-a-connection).
37
+ - **Skip / create fails** → mark `<UNRESOLVED>`. Both plugins emit placeholders at execution time (different shapes per plugin) — see [placeholder-tasks.md](placeholder-tasks.md) for connector-task placeholders and [`plugins/triggers/event/impl-json.md` § Placeholder fallback](plugins/triggers/event/impl-json.md) for event-trigger placeholders.
33
38
 
34
- Record `connection-id`, `connector-key`, `object-name`, `eventOperation` from the response.
39
+ Record `connection-id`, `connector-key`, `object-name`, `eventOperation` from the response (or from the create output).
35
40
 
36
- Connection selection rules (default-preference, `--refresh` retry, multi-connection disambiguation, ping verification, BYOA workflow): see [/uipath:uipath-platform — connections.md](../../uipath-platform/references/integration-service/connections.md).
41
+ Connection selection mechanics (`--refresh` retry, ping verification, BYOA workflow, connection creation): see [/uipath:uipath-platform — connections.md](../../uipath-platform/references/integration-service/connections.md).
37
42
 
38
43
  > **Entity-typed Curated triggers** (e.g. UiPath Data Service `Record Created (Preview)`) carry a placeholder `objectName` in the typecache (`{tenantEntityName|folderEntityName}`). Pick a real entity via `uip is triggers objects <connector-key> <eventOperation>` and pass it as `--object-name` on the `case spec` call in Step 3.
39
44
 
@@ -336,7 +341,7 @@ Conventions (shared with activity):
336
341
  - `id` = same as `var`
337
342
  - `elementId` = the task's elementId (in-stage `wait-for-connector` task), the trigger node's id (case-level event trigger), or `<ownerNodeId>-<ruleId>` (connector-bound condition rule — see [§ Target: connector-bound condition rule](#target-connector-bound-condition-rule))
338
343
 
339
- For **outputs** apply the dedup rule: collect existing output `var` values across every task / trigger / **connector-bound condition rule** already in `caseplan.json`; if a `var` already exists (e.g. `response`, `error` collide across multiple connector tasks / triggers / rules), append a counter starting at 2 (`response2`, `error2`). Update `var`, `id`, `value`, `target` (when present); keep `name`, `displayName`, `source` unchanged. **Rule outputs participate in the same global pool** — the dedup must walk condition `rules[][].uipath.outputs[]` across all 4 condition scopes (stage-entry / stage-exit / case-exit / task-entry, plus root `caseExitConditions` v19 / `metadata.caseExitRules` v20) in **both directions**: when a rule mints outputs, dedupe against tasks + triggers + rules; when a task / trigger mints outputs, dedupe against existing rule outputs. See [global-vars/impl-json.md § Uniqueness Rule](plugins/variables/global-vars/impl-json.md#uniqueness-rule) for the full enumeration.
344
+ For **outputs** apply the dedup rule: collect existing output `var` values across every task / trigger / **connector-bound condition rule** already in `caseplan.json`; if a `var` already exists (e.g. `response`, `error` collide across multiple connector tasks / triggers / rules), append a counter starting at 2 (`response2`, `error2`). Update `var`, `id`, `value`, `target` (when present); keep `name`, `displayName`, `source` unchanged. **Rule outputs participate in the same global pool** — the dedup must walk condition `rules[][].uipath.outputs[]` across all 4 condition scopes (stage-entry / stage-exit / case-exit / task-entry, case-exit rules living under `metadata.caseExitRules`) in **both directions**: when a rule mints outputs, dedupe against tasks + triggers + rules; when a task / trigger mints outputs, dedupe against existing rule outputs. See [global-vars/impl-json.md § Uniqueness Rule](plugins/variables/global-vars/impl-json.md#uniqueness-rule) for the full enumeration.
340
345
 
341
346
  > **Trigger-NODE inputs only:** the case-level event-**trigger node** gets no `elementId` on its inputs (different from in-stage task inputs). This does **NOT** apply to connector-bound **condition rules** — a rule's inputs AND outputs BOTH get `elementId = <ownerNodeId>-<ruleId>` (= `root-<ruleId>` for case-exit). See [§ Target: connector-bound condition rule](#target-connector-bound-condition-rule), and each plugin's `impl-json.md` for the target-specific shape.
342
347
 
@@ -395,7 +400,7 @@ A `wait-for-connector` rule inside a condition (`…conditions[].rules[i][j]`) b
395
400
  | Task-level fields (`type`, `displayName`, `isRequired`, `shouldRunOnlyOnce`) | yes | none — it's a rule, not a node |
396
401
  | `conditionExpression` | n/a | optional extra `=js:` gate on **case state** (`vars.X` / `metadata`) — NOT the event payload (no `event` namespace) |
397
402
 
398
- `<ownerNodeId>` = the **stage id** for stage-entry / stage-exit / task-entry rules (all stage-scoped); **`root`** for case-exit rules (v19 `root.caseExitConditions` / v20 `metadata.caseExitRules`).
403
+ `<ownerNodeId>` = the **stage id** for stage-entry / stage-exit / task-entry rules (all stage-scoped); **`root`** for case-exit rules (which live under `metadata.caseExitRules`).
399
404
 
400
405
  ### Procedure (Phase 3)
401
406
 
@@ -420,7 +425,7 @@ A `wait-for-connector` rule inside a condition (`…conditions[].rules[i][j]`) b
420
425
  }
421
426
  ```
422
427
 
423
- 5b. If the T-entry has `outputs:`, dispatch `rule.uipath.outputs[]` per [io-binding/impl-json.md § Output Binding Shapes for Connector Condition Rules](plugins/variables/io-binding/impl-json.md#output-binding-shapes-for-connector-condition-rules) — rewrite each already-minted output entry per its `->` / `=` operator. Skip when `uipath` is absent.
428
+ 5b. If the T-entry has `outputs:`, dispatch `rule.uipath.outputs[]` per [io-binding/impl-json.md § Output Binding Shapes for Connector Condition Rules](plugins/variables/io-binding/impl-json.md#output-binding-shapes-for-connector-condition-rules) — rewrite each already-minted output entry per its `->` / `=` operator. Skip when the rule has no `uipath.outputs[]` (stub placeholder — the stub always emits `uipath`, but with empty `outputs[]`).
424
429
 
425
430
  6. Append root bindings (ConnectionId + FolderKey) and run the deferred `bindings_v2` sync — identical to the task ([§ Root-level bindings](#root-level-bindings)).
426
431
 
@@ -451,11 +456,33 @@ Rule `id`s are opaque to the FE (no format validation on import) — `Rule_xxxxx
451
456
  ### Caveats
452
457
 
453
458
  - **Not a case-start trigger.** A connector rule compiles to an in-flight wait (ReceiveTask / event subprocess), so it gets **no entry-points.json entry** and **no rule-specific registration key** — FE `PackagingUtil` trigger registration is gated on `Intsvc.EventTrigger` start events only, which a rule is not. If the `case spec` caseShape carries a `metadata.body.bindings[Property]` registration entry (event-parameter connectors), substitute it exactly as the task does (Step 3 / Step 4); there is nothing rule-specific.
454
- - **CLI `validate` does NOT check `rule.uipath`.** The case-tool connector validator is task-only (reads `task.data`). A passing Phase-4 validate does **not** confirm a connector rule is valid — Studio Web (or an FE round-trip) is the real check. Emit the `uipath` block correctly; do not rely on validate to catch omissions.
459
+ - **Full `validate` requires `rule.uipath` + `context`** — absent → `connector activity missing`. It does NOT check the `uipath` *internals* (a wrong `serviceType` passes), so a clean validate confirms the block is *present*, not that the connector *resolves* — confirm in Studio Web. Unresolved → stub placeholder (§ Placeholder fallback). `--skeleton` (Phase 2) skips condition rules.
455
460
 
456
461
  ### Placeholder fallback
457
462
 
458
- On `case spec` failure or `<UNRESOLVED>` `type-id` / `connection-id` / `connector-key`, emit the rule **without** its `uipath` block — `{ id, rule: "wait-for-connector", conditionExpression? }`. The rule itself is not a placeholder; only the connector configuration (the `uipath` payload) is deferred until the registry resolves, exactly like task connector data deferred via `data:{}`. Absence of `uipath` naturally skips the dependent subsystems: io-binding has no `outputs[]` to wire, root bindings has no Connection/Folder pair to add, IS-cache has no entry to register, global var-id dedup has no outputs to consider, and the Step-10 `bindings_v2` sync has nothing to regenerate for this rule. Stamp the `tasks.md` entry with `<UNRESOLVED>` markers per Rule 8 and log per [logging/impl-json.md](plugins/logging/impl-json.md). Upgrade by re-running the [§ Procedure](#procedure-phase-3) once the connector resolves; same upgrade flow as `placeholder-tasks.md § Upgrade Procedure` for connector tasks.
463
+ Two entry paths reach this fallback: **Scenario A** — connector not found in TypeCache (§ 1 No-match, after the Rule 17 gate); **Scenario B** — connector found but connection unresolved, only after the [§ 2 create offer](#2-resolve-the-connection) is **declined** or fails. When `Connections` is empty, offer to create one first — do not jump straight to the placeholder.
464
+
465
+ On `case spec` failure or `<UNRESOLVED>` `type-id` / `connection-id` / `connector-key`, emit the rule with a **stub `uipath`**. A *bare* rule (no `uipath`) is NOT a valid placeholder — full `validate` errors `connector activity missing` and Studio Web rejects it. The stub is the **minimum that clears `validate`**: `serviceType` plus the two `context` entries the validator checks for — named `connectorKey` + `operation`, each the literal `"placeholder"` — with empty `inputs` / `outputs` / `bindings`. Do NOT pad it with the other resolved context fields (`connection`, `objectName`, …): Studio Web flags the unresolved connector regardless of how complete the stub is, so extra placeholders buy nothing until the connector is real. The full attach checklist lives in the `tasks.md` `<UNRESOLVED>` markers and the completion report, not in the stub.
466
+
467
+ ```json
468
+ {
469
+ "id": "<ruleId>",
470
+ "rule": "wait-for-connector",
471
+ "uipath": {
472
+ "serviceType": "Intsvc.WaitForEvent",
473
+ "context": [
474
+ { "name": "connectorKey", "value": "placeholder", "type": "string" },
475
+ { "name": "operation", "value": "placeholder", "type": "string" }
476
+ ],
477
+ "inputs": [],
478
+ "outputs": [],
479
+ "bindings": []
480
+ },
481
+ "conditionExpression": "<carry from the T-entry if present>"
482
+ }
483
+ ```
484
+
485
+ This stub is a **deliberate mock** — it clears `validate` only. Studio Web flags the unresolved connector, and the rule **fails at debug/run until resolved** (it cannot wait on a `"placeholder"` connector). It still skips the dependent subsystems: io-binding has no real `outputs[]` to wire, no Connection/Folder bindings, no IS-cache entry, no `bindings_v2` regen for this rule. Stamp the `tasks.md` entry with `<UNRESOLVED>` markers per Rule 8, log per [logging/impl-json.md](plugins/logging/impl-json.md), and list it in the completion report as **"replace the `placeholder` connector values before debug / publish-to-run."** Upgrade by re-running the [§ Procedure](#procedure-phase-3) once the connector resolves; same upgrade flow as `placeholder-tasks.md § Upgrade Procedure` for connector tasks.
459
486
 
460
487
  ---
461
488
 
@@ -474,4 +501,4 @@ On `case spec` failure or `<UNRESOLVED>` `type-id` / `connection-id` / `connecto
474
501
 
475
502
  ## Known Limitation (shared)
476
503
 
477
- The CLI-produced `essentialConfiguration` uses `essentialConfiguration` only (not `optionalConfiguration`). Triggers work at **runtime** but the FE editor may not render certain fields until the user re-configures the trigger in the UI. DAP repopulates these on form open. Documented in `~/Documents/knowledge/Skill_CLI/connector/case-spec-fe-discrepancies.md` (CLI-side).
504
+ The CLI-produced `essentialConfiguration` uses `essentialConfiguration` only (not `optionalConfiguration`). Triggers work at **runtime** but the FE editor may not render certain fields until the user re-configures the trigger in the UI. DAP repopulates these on form open.