@uipath/skills 1.196.0 → 1.197.0-preview.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 (534) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CODEOWNERS +17 -4
  4. package/README.md +13 -1
  5. package/assets/skill-status.json +9 -1
  6. package/assets/uip-catalog-snapshot.json +13 -2
  7. package/hooks/hooks.json +12 -0
  8. package/hooks/send-telemetry.sh +421 -0
  9. package/hooks/suggest-permissions.sh +6 -0
  10. package/hooks/validate-skill-descriptions.sh +0 -0
  11. package/package.json +1 -1
  12. package/skills/uipath-admin/SKILL.md +24 -4
  13. package/skills/uipath-admin/references/audit-commands.md +25 -21
  14. package/skills/uipath-admin/references/audit-workflow-guide.md +26 -25
  15. package/skills/uipath-admin/references/diagnose/CAPABILITY.md +74 -0
  16. package/skills/uipath-admin/references/diagnose/references/failure-modes.md +228 -0
  17. package/skills/uipath-admin/references/diagnose/references/troubleshooting-guide.md +106 -0
  18. package/skills/uipath-admin/references/identity-troubleshoot-guide.md +251 -0
  19. package/skills/uipath-agents/SKILL.md +7 -4
  20. package/skills/uipath-agents/references/coded/capabilities/context-grounding.md +2 -0
  21. package/skills/uipath-agents/references/coded/capabilities/conversational-agents.md +2 -0
  22. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +7 -4
  23. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +141 -1
  24. package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +2 -0
  25. package/skills/uipath-agents/references/coded/capabilities/integration-service.md +19 -33
  26. package/skills/uipath-agents/references/coded/lifecycle/bindings-reference.md +54 -22
  27. package/skills/uipath-agents/references/coded/lifecycle/evaluations/evaluation-sets.md +5 -1
  28. package/skills/uipath-agents/references/coded/lifecycle/setup.md +2 -0
  29. package/skills/uipath-agents/references/coded/quickstart.md +4 -4
  30. package/skills/uipath-agents/references/coded-vs-lowcode-guide.md +1 -0
  31. package/skills/uipath-agents/references/context-grounding-patterns.md +1 -1
  32. package/skills/uipath-agents/references/lowcode/agent-definition.md +97 -12
  33. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/analyze-attachments.md +2 -2
  34. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/batch-transform/impl-json.md +40 -14
  35. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/built-in-tools.md +4 -3
  36. package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/deeprag/impl-json.md +38 -6
  37. package/skills/uipath-agents/references/lowcode/capabilities/context/attachments.md +1 -1
  38. package/skills/uipath-agents/references/lowcode/capabilities/context/context.md +1 -1
  39. package/skills/uipath-agents/references/lowcode/capabilities/context/datafabric.md +1 -1
  40. package/skills/uipath-agents/references/lowcode/capabilities/context/index.md +7 -3
  41. package/skills/uipath-agents/references/lowcode/capabilities/escalation/escalation.md +49 -38
  42. package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +45 -45
  43. package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +11 -11
  44. package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +1 -1
  45. package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +2 -0
  46. package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +2 -2
  47. package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +1 -1
  48. package/skills/uipath-agents/references/lowcode/critical-rules/autonomous-critical-rules.md +15 -0
  49. package/skills/uipath-agents/references/lowcode/critical-rules/conversational-critical-rules.md +19 -0
  50. package/skills/uipath-agents/references/lowcode/{critical-rules.md → critical-rules/critical-rules.md} +25 -27
  51. package/skills/uipath-agents/references/lowcode/debug.md +6 -3
  52. package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -0
  53. package/skills/uipath-agents/references/lowcode/lowcode.md +29 -6
  54. package/skills/uipath-agents/references/lowcode/model-selection-guide.md +4 -1
  55. package/skills/uipath-agents/references/lowcode/project-lifecycle.md +11 -8
  56. package/skills/uipath-agents/references/lowcode/prompting/agent-prompting-guide.md +17 -0
  57. package/skills/uipath-agents/references/lowcode/{agent-prompting-guide.md → prompting/autonomous-agent-prompting-guide.md} +9 -11
  58. package/skills/uipath-agents/references/lowcode/prompting/conversational-agent-prompting-guide.md +123 -0
  59. package/skills/uipath-agents/references/lowcode/solution-resources.md +1 -1
  60. package/skills/uipath-api-workflow/SKILL.md +1 -1
  61. package/skills/uipath-api-workflow/references/cli-reference.md +8 -5
  62. package/skills/uipath-api-workflow/references/connector-activity-discovery.md +43 -4
  63. package/skills/uipath-api-workflow/references/troubleshooting.md +7 -2
  64. package/skills/uipath-coded-apps/SKILL.md +3 -0
  65. package/skills/uipath-coded-apps/assets/templates/action-app/app-template.css +9 -0
  66. package/skills/uipath-coded-apps/assets/templates/action-app/document-tab-template.css +139 -0
  67. package/skills/uipath-coded-apps/assets/templates/action-app/form-template.css +442 -0
  68. package/skills/uipath-coded-apps/assets/templates/action-app/index-template.css +111 -0
  69. package/skills/uipath-coded-apps/assets/templates/action-app-template.md +357 -152
  70. package/skills/uipath-coded-apps/references/create-action-app.md +284 -195
  71. package/skills/uipath-coded-apps/references/create-web-app.md +2 -0
  72. package/skills/uipath-coded-apps/references/oauth-scopes.md +20 -0
  73. package/skills/uipath-coded-apps/references/pack-publish-deploy.md +2 -0
  74. package/skills/uipath-coded-apps/references/sdk/action-center.md +32 -6
  75. package/skills/uipath-coded-apps/references/sdk/orchestrator.md +6 -2
  76. package/skills/uipath-coded-apps/references/widgets/validation-station.md +308 -0
  77. package/skills/uipath-coded-apps/scripts/validate-action-schema.js +241 -0
  78. package/skills/uipath-connector-builder/SKILL.md +192 -0
  79. package/skills/uipath-connector-builder/references/auth.md +171 -0
  80. package/skills/uipath-connector-builder/references/configuration.md +130 -0
  81. package/skills/uipath-connector-builder/references/debugging.md +80 -0
  82. package/skills/uipath-connector-builder/references/element-json.md +148 -0
  83. package/skills/uipath-connector-builder/references/events.md +132 -0
  84. package/skills/uipath-connector-builder/references/hooks.md +198 -0
  85. package/skills/uipath-connector-builder/references/overview.md +78 -0
  86. package/skills/uipath-connector-builder/references/standard-resources.md +111 -0
  87. package/skills/uipath-connector-builder/references/system-resources.md +85 -0
  88. package/skills/uipath-feedback/SKILL.md +43 -29
  89. package/skills/uipath-governance/SKILL.md +13 -1
  90. package/skills/uipath-governance/references/aops-policy/aops-policy-commands.md +10 -10
  91. package/skills/uipath-governance/references/aops-policy/aops-policy-deploy-guide.md +7 -7
  92. package/skills/uipath-governance/references/diagnose/CAPABILITY.md +71 -0
  93. package/skills/uipath-governance/references/diagnose/references/failure-modes.md +201 -0
  94. package/skills/uipath-governance/references/diagnose/references/troubleshooting-guide.md +137 -0
  95. package/skills/uipath-ixp/SKILL.md +119 -0
  96. package/skills/uipath-ixp/references/cli-reference.md +121 -0
  97. package/skills/uipath-ixp/references/improve-prompts-guide.md +283 -0
  98. package/skills/uipath-ixp/references/label-documents-guide.md +205 -0
  99. package/skills/uipath-ixp/references/project-setup-guide.md +90 -0
  100. package/skills/uipath-maestro-bpmn/SKILL.md +167 -68
  101. package/skills/uipath-maestro-bpmn/references/cli-conventions.md +47 -0
  102. package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +6 -6
  103. package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +3 -3
  104. package/skills/uipath-maestro-bpmn/references/registry-workflow.md +199 -0
  105. package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +500 -0
  106. package/skills/uipath-maestro-bpmn/validator/README.md +214 -0
  107. package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +2473 -0
  108. package/skills/uipath-maestro-bpmn/validator/model.mjs +419 -0
  109. package/skills/uipath-maestro-bpmn/validator/package.json +17 -0
  110. package/skills/uipath-maestro-bpmn/validator/rules.mjs +1403 -0
  111. package/skills/uipath-maestro-bpmn/validator/samples/invalid-conditional-and-variable.bpmn +25 -0
  112. package/skills/uipath-maestro-bpmn/validator/samples/valid-baseline.bpmn +52 -0
  113. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.0.bpmn +157 -0
  114. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.1.bpmn +333 -0
  115. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.1.0.bpmn +598 -0
  116. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.2.0.bpmn +1709 -0
  117. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.2.0.bpmn +564 -0
  118. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.3.0.bpmn +671 -0
  119. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.4.0.bpmn +1045 -0
  120. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.5.0.bpmn +1176 -0
  121. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.6.0.bpmn +670 -0
  122. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.7.0.bpmn +466 -0
  123. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Can_Parse_Complex_Process_With_Task_Gateway_BoundaryEvent_etc.bpmn +74 -0
  124. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExclusiveGatewayDefaultFlow.bpmn +32 -0
  125. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExternalAgentWorkflow.bpmn +62 -0
  126. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Golden_Scenario.initial.bpmn +361 -0
  127. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/InclusiveJoinRouteAwayBranch.bpmn +62 -0
  128. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_AsyncExecution_And_Create_CorrectModel.bpmn +74 -0
  129. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_ExtractionValidation_And_Create_CorrectModel.bpmn +35 -0
  130. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_FileUpload_And_Create_CorrectModel.bpmn +33 -0
  131. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_JobAttachment_And_Create_CorrectModel.bpmn +35 -0
  132. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_SubProcess_With_Multiple_Element_Types.bpmn +76 -0
  133. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartEventWithOutputs.bpmn +36 -0
  134. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartGatewayEnd.bpmn +44 -0
  135. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all elements.bpmn +516 -0
  136. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all_sequence_flow_types.bpmn +173 -0
  137. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/demo.bpmn +181 -0
  138. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-collapsed.bpmn +126 -0
  139. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-expanded.bpmn +122 -0
  140. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-003-collapsed_deeply-nested.bpmn +438 -0
  141. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.1.0.bpmn +87 -0
  142. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.3.0.bpmn +165 -0
  143. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ApiWorkflow.bpmn +39 -0
  144. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnNestedSubProcessTests.bpmn +102 -0
  145. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnTimerBoundaryEvents.bpmn +160 -0
  146. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithCatchAllErrorEventSubProcess.bpmn +45 -0
  147. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithSpecificErrorEventSubProcess.bpmn +46 -0
  148. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/CaseManagementWithConstantIdentifier.bpmn +218 -0
  149. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorBoundary.bpmn +78 -0
  150. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorPropagationInEventSubprocess.bpmn +340 -0
  151. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/EventBasedGatewayFirstCatcherWins.bpmn +56 -0
  152. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Example-EventBasedGateway.bpmn +117 -0
  153. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewayConditional.bpmn +45 -0
  154. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewaySharedEndEvent.bpmn +45 -0
  155. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveWithParallelGateway.bpmn +68 -0
  156. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/FourScriptTasks.bpmn +84 -0
  157. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/HitlTaskOnly.bpmn +55 -0
  158. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/InclusiveGatewayForkJoin.bpmn +69 -0
  159. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_BPMN_Elements_And_Create_CorrectModel.bpmn +20 -0
  160. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_HttpRequest_ServiceTask_And_Create_Correct_Model.bpmn +34 -0
  161. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_MessageBoundaryEvent_And_Create_CorrectModel.bpmn +87 -0
  162. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Script_Task_V2_And_Create_Correct_Model.bpmn +31 -0
  163. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Sets_Containers_Properly.bpmn +129 -0
  164. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ScriptWritesVariableThenGatewayBranches.bpmn +55 -0
  165. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/boundaryevent.bpmn +30 -0
  166. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/collapsed-subprocess.bpmn +83 -0
  167. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/connectable-types.bpmn +85 -0
  168. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/extensions-orchestrator-start-job.bpmn +80 -0
  169. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/multiparticipantpool.bpmn +77 -0
  170. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/nestedsubprocess.bpmn +36 -0
  171. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/simple.bpmn +59 -0
  172. package/skills/uipath-maestro-bpmn/validator/test/integration.test.mjs +146 -0
  173. package/skills/uipath-maestro-bpmn/validator/test/model-helpers.mjs +42 -0
  174. package/skills/uipath-maestro-bpmn/validator/test/ported-rule-tests.mjs +983 -0
  175. package/skills/uipath-maestro-bpmn/validator/test/run-tests.mjs +530 -0
  176. package/skills/uipath-maestro-bpmn/validator/uipath-moddle.v1.json +715 -0
  177. package/skills/uipath-maestro-bpmn/validator/validate-bpmn.mjs +164 -0
  178. package/skills/uipath-maestro-case/SKILL.md +5 -1
  179. package/skills/uipath-maestro-case/assets/templates/sdd-template-examples.md +10 -0
  180. package/skills/uipath-maestro-case/assets/templates/sdd-template.md +89 -17
  181. package/skills/uipath-maestro-case/references/bindings-and-expressions.md +26 -0
  182. package/skills/uipath-maestro-case/references/case-editing-operations.md +3 -0
  183. package/skills/uipath-maestro-case/references/implementation.md +11 -4
  184. package/skills/uipath-maestro-case/references/phase-0-interview.md +8 -7
  185. package/skills/uipath-maestro-case/references/phased-execution.md +2 -1
  186. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +21 -0
  187. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +2 -0
  188. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +15 -9
  189. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +131 -4
  190. package/skills/uipath-maestro-case/references/sdd-generation-rules.md +94 -17
  191. package/skills/uipath-maestro-flow/.maintenance/check-all.sh +0 -0
  192. package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +0 -0
  193. package/skills/uipath-maestro-flow/.maintenance/check-depth.sh +0 -0
  194. package/skills/uipath-maestro-flow/.maintenance/check-link-text.sh +0 -0
  195. package/skills/uipath-maestro-flow/.maintenance/check-links.sh +0 -0
  196. package/skills/uipath-maestro-flow/.maintenance/check-orphans.sh +0 -0
  197. package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +0 -0
  198. package/skills/uipath-maestro-flow/.maintenance/check-template.sh +0 -0
  199. package/skills/uipath-maestro-flow/.maintenance/check-uip-commands.sh +0 -0
  200. package/skills/uipath-maestro-flow/.maintenance/check-versions.sh +0 -0
  201. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +4 -1
  202. package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +73 -48
  203. package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/planning.md +16 -4
  204. package/skills/uipath-maestro-flow/references/evaluate/references/commands-reference.md +8 -8
  205. package/skills/uipath-maestro-flow/references/evaluate/references/running-guide.md +3 -3
  206. package/skills/uipath-planner/SKILL.md +16 -7
  207. package/skills/uipath-planner/assets/templates/agent-sdd-template.md +14 -0
  208. package/skills/uipath-planner/assets/templates/api-workflow-sdd-template.md +14 -0
  209. package/skills/uipath-planner/assets/templates/case-sdd-template.md +14 -0
  210. package/skills/uipath-planner/assets/templates/coded-app-sdd-template.md +14 -0
  211. package/skills/uipath-planner/assets/templates/flow-sdd-template.md +14 -0
  212. package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +25 -5
  213. package/skills/uipath-planner/references/multi-skill-patterns-guide.md +2 -0
  214. package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -0
  215. package/skills/uipath-planner/references/pdd-analysis-guide.md +23 -1
  216. package/skills/uipath-planner/references/pdd-driven-lane-guide.md +6 -2
  217. package/skills/uipath-planner/references/plan-and-tasks-format.md +2 -0
  218. package/skills/uipath-planner/references/platform-availability-guide.md +44 -0
  219. package/skills/uipath-planner/references/product-selection-guide.md +20 -0
  220. package/skills/uipath-planner/references/sdd-generation-guide.md +84 -21
  221. package/skills/uipath-planner/references/tenant-library-search-guide.md +5 -1
  222. package/skills/uipath-planner/scripts/docx-extract.sh +54 -0
  223. package/skills/uipath-planner/scripts/sdd-to-docx.sh +77 -0
  224. package/skills/uipath-platform/SKILL.md +54 -6
  225. package/skills/uipath-platform/references/context-grounding/index-management.md +123 -0
  226. package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/bulk-import.md +15 -4
  227. package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/choice-sets.md +27 -11
  228. package/skills/uipath-platform/references/data-fabric/data-fabric.md +303 -0
  229. package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/entity-schema.md +94 -37
  230. package/skills/uipath-platform/references/data-fabric/file-attachments.md +122 -0
  231. package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/filter-platform-contract.md +3 -3
  232. package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/records-query.md +46 -10
  233. package/skills/uipath-platform/references/integration-service/http-request.md +15 -1
  234. package/skills/uipath-platform/references/integration-service/vendor-docs-registry.json +173 -0
  235. package/skills/uipath-platform/references/uip-commands.md +12 -3
  236. package/skills/uipath-review/SKILL.md +53 -12
  237. package/skills/uipath-review/references/agents/agent-common-issues.md +1 -1
  238. package/skills/uipath-review/references/agents/agent-grading-rubric.md +133 -0
  239. package/skills/uipath-review/references/agents/agent-review-checklist.md +23 -3
  240. package/skills/uipath-review/references/agents/agents-coded-rules.md +7 -0
  241. package/skills/uipath-review/references/agents/agents-lowcode-rules.md +13 -3
  242. package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +198 -0
  243. package/skills/uipath-review/references/architecture-assessment-guide.md +2 -0
  244. package/skills/uipath-review/references/review-workflow-guide.md +9 -5
  245. package/skills/uipath-review/references/rule-catalog-workflow.md +3 -3
  246. package/skills/uipath-rpa/SKILL.md +7 -4
  247. package/skills/uipath-rpa/references/cli-reference.md +29 -1
  248. package/skills/uipath-rpa/references/connector-capabilities.md +2 -0
  249. package/skills/uipath-rpa/references/data-manipulation-guide.md +311 -0
  250. package/skills/uipath-rpa/references/environment-setup.md +0 -2
  251. package/skills/uipath-rpa/references/is-connector-xaml-guide.md +127 -11
  252. package/skills/uipath-rpa/references/ui-automation-guide.md +129 -18
  253. package/skills/uipath-rpa/references/uia-configure-target-workflows.md +22 -1
  254. package/skills/uipath-rpa/references/uia-elements-interaction-guide.md +93 -0
  255. package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +41 -4
  256. package/skills/uipath-rpa/references/xaml/common-pitfalls.md +12 -3
  257. package/skills/uipath-rpa/references/xaml/flowchart-guide.md +113 -0
  258. package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +5 -9
  259. package/skills/uipath-solution/SKILL.md +11 -8
  260. package/skills/uipath-solution/references/pack-and-deploy.md +18 -1
  261. package/skills/uipath-solution/references/solution-overview.md +3 -0
  262. package/skills/uipath-test/SKILL.md +2 -1
  263. package/skills/uipath-troubleshoot/SKILL.md +24 -26
  264. package/skills/uipath-troubleshoot/agents/depth-verifier.md +24 -25
  265. package/skills/uipath-troubleshoot/agents/hypothesis-generator.md +8 -4
  266. package/skills/uipath-troubleshoot/agents/hypothesis-tester.md +85 -38
  267. package/skills/uipath-troubleshoot/agents/presenter.md +7 -7
  268. package/skills/uipath-troubleshoot/agents/scope-checker.md +3 -6
  269. package/skills/uipath-troubleshoot/agents/shared.md +26 -21
  270. package/skills/uipath-troubleshoot/agents/triage.md +117 -49
  271. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/investigation_guide.md +43 -0
  272. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/overview.md +57 -0
  273. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-action-failed-after-find.md +100 -0
  274. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-cell-targeting-failures.md +111 -0
  275. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-element-not-found.md +125 -0
  276. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-get-text-empty-or-wrong-result.md +117 -0
  277. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-invalid-descriptor.md +102 -0
  278. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-scope-setup-failures.md +136 -0
  279. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-scroll-search-failures.md +114 -0
  280. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-server-auth-throttling-network.md +95 -0
  281. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-silent-failures-and-false-results.md +124 -0
  282. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/presentation.md +8 -0
  283. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/summary.md +15 -0
  284. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/investigation_guide.md +42 -0
  285. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/overview.md +41 -0
  286. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/connect-to-database-failures.md +104 -0
  287. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-non-query-failures.md +97 -0
  288. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-query-failures.md +134 -0
  289. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/start-transaction-failures.md +94 -0
  290. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/presentation.md +10 -0
  291. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/summary.md +10 -0
  292. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/investigation_guide.md +27 -9
  293. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/overview.md +51 -10
  294. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/append-range-failures.md +146 -0
  295. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/delete-range-failures.md +126 -0
  296. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-card-failures.md +139 -0
  297. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-scope-failures.md +118 -0
  298. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/execute-macro-failures.md +149 -0
  299. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-range-failures.md +145 -0
  300. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/presentation.md +12 -7
  301. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +6 -0
  302. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/investigation_guide.md +1 -0
  303. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/overview.md +12 -4
  304. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/connection-and-auth-failures.md +55 -0
  305. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/drive-file-not-found.md +18 -10
  306. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/get-newest-email-not-found.md +9 -8
  307. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/invalid-or-null-input.md +68 -0
  308. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/transient-and-timeout-errors.md +52 -0
  309. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/upload-storage-quota-exceeded.md +1 -1
  310. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/summary.md +5 -2
  311. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/overview.md +28 -0
  312. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/delete-outlook-mail-failures.md +105 -0
  313. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/get-outlook-mail-failures.md +109 -0
  314. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/move-outlook-mail-failures.md +97 -0
  315. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/send-outlook-mail-failures.md +95 -0
  316. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/summary.md +8 -0
  317. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/investigation_guide.md +23 -0
  318. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/overview.md +9 -0
  319. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/application-scope-misconfigured.md +49 -0
  320. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/authentication-token-invalid.md +53 -0
  321. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/copy-item-argument-null.md +34 -0
  322. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/create-folder-invalid-path.md +36 -0
  323. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/download-file-conversion-or-destination.md +40 -0
  324. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/drive-item-not-found.md +1 -1
  325. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/email-trigger-connection-event-failure.md +45 -0
  326. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/insufficient-graph-scope.md +44 -0
  327. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/legacy-mail-null-reference.md +43 -0
  328. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-folder-not-found.md +4 -3
  329. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-invalid-odata-query.md +43 -0
  330. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-message-not-found.md +45 -0
  331. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/request-throttled.md +45 -0
  332. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/send-mail-rejected.md +52 -0
  333. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/transient-service-error.md +48 -0
  334. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/upload-file-quota-or-size.md +47 -0
  335. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/summary.md +15 -1
  336. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/investigation_guide.md +32 -0
  337. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/overview.md +38 -0
  338. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/invoke-method-failures.md +57 -0
  339. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/invoke-python-method-pipe-is-broken.md +44 -0
  340. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/load-script-failures.md +62 -0
  341. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-path-not-valid.md +39 -0
  342. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-architecture-version-mismatch.md +41 -0
  343. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/working-folder-relative-path.md +34 -0
  344. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/presentation.md +9 -0
  345. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/summary.md +12 -0
  346. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-activity-bug-silent-failure.md +1 -1
  347. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-robot-not-authenticated.md +29 -22
  348. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/summary.md +1 -1
  349. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/investigation_guide.md +30 -0
  350. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/overview.md +36 -0
  351. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-malformed-input.md +36 -0
  352. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-null-input.md +35 -0
  353. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-type-mismatch.md +40 -0
  354. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-client-null-reference.md +34 -0
  355. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-connection-failure.md +48 -0
  356. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-timeout.md +40 -0
  357. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/net-http-request-aggregate-failure.md +38 -0
  358. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/summary.md +13 -0
  359. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/investigation_guide.md +55 -0
  360. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/overview.md +82 -0
  361. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/add-picture-failures.md +51 -0
  362. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/append-text-missing-container.md +31 -0
  363. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/append-text-zero-byte-file.md +32 -0
  364. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-com-hang.md +46 -0
  365. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-missing-output-dir.md +32 -0
  366. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-output-path-format.md +35 -0
  367. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-doc-format.md +30 -0
  368. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-missing-container.md +29 -0
  369. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-protected-view.md +32 -0
  370. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-com-busy.md +35 -0
  371. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-file-locked.md +33 -0
  372. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-headers-textboxes-skipped.md +30 -0
  373. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-length-limit.md +30 -0
  374. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-loop-template-overwrite.md +31 -0
  375. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-multiline-formatting.md +31 -0
  376. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-silent-no-substitution.md +32 -0
  377. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-version-mismatch.md +30 -0
  378. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-interop-failures.md +52 -0
  379. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-start-background-session0.md +50 -0
  380. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-export-pdf-com-wrong-thread.md +46 -0
  381. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-open-sharepoint-url-com-command-failed.md +45 -0
  382. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-cannot-create-unknown-type.md +30 -0
  383. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-com-not-installed.md +35 -0
  384. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-file-corrupted.md +34 -0
  385. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-file-path-not-found.md +36 -0
  386. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-hangs-background-prompt.md +34 -0
  387. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/presentation.md +11 -0
  388. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/summary.md +38 -0
  389. package/skills/uipath-troubleshoot/references/products/integration-service/investigation_guide.md +9 -0
  390. package/skills/uipath-troubleshoot/references/products/integration-service/overview.md +7 -0
  391. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-invalid.md +9 -0
  392. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-aggregate-exception.md +30 -0
  393. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-general-exception.md +43 -0
  394. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-null-reference.md +36 -0
  395. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-remote-exception.md +31 -0
  396. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-runtime-exception.md +40 -0
  397. package/skills/uipath-troubleshoot/references/products/integration-service/summary.md +5 -0
  398. package/skills/uipath-troubleshoot/references/products/maestro/investigation_guide.md +2 -1
  399. package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +105 -10
  400. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-logon-failure.md +1 -1
  401. package/skills/uipath-troubleshoot/references/summary.md +59 -3
  402. package/skills/uipath-troubleshoot/schemas/evidence.schema.md +48 -0
  403. package/skills/uipath-troubleshoot/schemas/hypotheses.schema.md +22 -7
  404. package/skills/uipath-troubleshoot/schemas/scope-check.schema.md +1 -1
  405. package/skills/uipath-troubleshoot/schemas/state.schema.md +81 -6
  406. package/version-manifest.json +2 -2
  407. package/skills/uipath-data-fabric/SKILL.md +0 -239
  408. package/skills/uipath-data-fabric/references/file-attachments.md +0 -65
  409. package/skills/uipath-maestro-bpmn/.maintenance/README.md +0 -241
  410. package/skills/uipath-maestro-bpmn/.maintenance/check-all.sh +0 -41
  411. package/skills/uipath-maestro-bpmn/.maintenance/check-anchors.sh +0 -83
  412. package/skills/uipath-maestro-bpmn/.maintenance/check-depth.sh +0 -132
  413. package/skills/uipath-maestro-bpmn/.maintenance/check-link-text.sh +0 -123
  414. package/skills/uipath-maestro-bpmn/.maintenance/check-links.sh +0 -70
  415. package/skills/uipath-maestro-bpmn/.maintenance/check-orphans.sh +0 -93
  416. package/skills/uipath-maestro-bpmn/.maintenance/check-plugin-pairs.sh +0 -39
  417. package/skills/uipath-maestro-bpmn/.maintenance/check-real-pack.sh +0 -79
  418. package/skills/uipath-maestro-bpmn/.maintenance/check-template.sh +0 -42
  419. package/skills/uipath-maestro-bpmn/.maintenance/check-uip-commands.sh +0 -266
  420. package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.py +0 -1255
  421. package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.sh +0 -8
  422. package/skills/uipath-maestro-bpmn/fixtures/validation/README.md +0 -94
  423. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/agent-invocation.bpmn +0 -62
  424. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/bindings_v2.json +0 -37
  425. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/entry-points.json +0 -21
  426. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/operate.json +0 -9
  427. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/package-descriptor.json +0 -10
  428. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/project.uiproj +0 -7
  429. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/bindings_v2.json +0 -68
  430. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/contract-variants.bpmn +0 -270
  431. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/entry-points.json +0 -25
  432. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/operate.json +0 -9
  433. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/package-descriptor.json +0 -10
  434. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/project.uiproj +0 -7
  435. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/bindings_v2.json +0 -19
  436. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/entry-points.json +0 -25
  437. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/gateway-boundary-error.bpmn +0 -91
  438. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/operate.json +0 -9
  439. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/package-descriptor.json +0 -10
  440. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/project.uiproj +0 -7
  441. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/bindings_v2.json +0 -4
  442. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/entry-points.json +0 -25
  443. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/imported-brownfield-preservation.bpmn +0 -63
  444. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/operate.json +0 -9
  445. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/package-descriptor.json +0 -10
  446. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/project.uiproj +0 -7
  447. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/bindings_v2.json +0 -52
  448. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/entry-points.json +0 -21
  449. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/integration-service-enriched.bpmn +0 -65
  450. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/operate.json +0 -9
  451. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/package-descriptor.json +0 -10
  452. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/project.uiproj +0 -7
  453. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/bindings_v2.json +0 -4
  454. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/entry-points.json +0 -25
  455. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/linear-process.bpmn +0 -55
  456. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/operate.json +0 -9
  457. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/package-descriptor.json +0 -10
  458. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/project.uiproj +0 -7
  459. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/bindings_v2.json +0 -20
  460. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/entry-points.json +0 -17
  461. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/operate.json +0 -9
  462. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/package-descriptor.json +0 -10
  463. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/project.uiproj +0 -7
  464. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/registry-coverage-matrix.bpmn +0 -207
  465. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/bindings_v2.json +0 -4
  466. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/entry-points.json +0 -33
  467. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/operate.json +0 -9
  468. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/package-descriptor.json +0 -10
  469. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/project.uiproj +0 -7
  470. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/subprocess-multi-instance.bpmn +0 -94
  471. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/bindings_v2.json +0 -124
  472. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/entry-points.json +0 -25
  473. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/operate.json +0 -9
  474. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/package-descriptor.json +0 -10
  475. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/project.uiproj +0 -7
  476. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/wrapper-family-contract.bpmn +0 -151
  477. package/skills/uipath-maestro-bpmn/references/author/CAPABILITY.md +0 -141
  478. package/skills/uipath-maestro-bpmn/references/author/references/brownfield.md +0 -48
  479. package/skills/uipath-maestro-bpmn/references/author/references/editing-operations.md +0 -75
  480. package/skills/uipath-maestro-bpmn/references/author/references/greenfield.md +0 -41
  481. package/skills/uipath-maestro-bpmn/references/author/references/planning-arch.md +0 -82
  482. package/skills/uipath-maestro-bpmn/references/author/references/planning-impl.md +0 -104
  483. package/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/impl.md +0 -34
  484. package/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/planning.md +0 -38
  485. package/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/impl.md +0 -37
  486. package/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/planning.md +0 -28
  487. package/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/impl.md +0 -36
  488. package/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/planning.md +0 -29
  489. package/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/impl.md +0 -67
  490. package/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/planning.md +0 -29
  491. package/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/impl.md +0 -29
  492. package/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/planning.md +0 -33
  493. package/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/impl.md +0 -32
  494. package/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/planning.md +0 -34
  495. package/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/impl.md +0 -42
  496. package/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/planning.md +0 -30
  497. package/skills/uipath-maestro-bpmn/references/author/references/plugins/integration-service/impl.md +0 -134
  498. package/skills/uipath-maestro-bpmn/references/author/references/plugins/integration-service/planning.md +0 -67
  499. package/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/impl.md +0 -50
  500. package/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/planning.md +0 -29
  501. package/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/impl.md +0 -29
  502. package/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/planning.md +0 -29
  503. package/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/impl.md +0 -35
  504. package/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/planning.md +0 -29
  505. package/skills/uipath-maestro-bpmn/references/author/references/plugins/script/impl.md +0 -118
  506. package/skills/uipath-maestro-bpmn/references/author/references/plugins/script/planning.md +0 -30
  507. package/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/impl.md +0 -30
  508. package/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/planning.md +0 -30
  509. package/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/impl.md +0 -33
  510. package/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/planning.md +0 -31
  511. package/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/impl.md +0 -33
  512. package/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/planning.md +0 -46
  513. package/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/impl.md +0 -59
  514. package/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/planning.md +0 -37
  515. package/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/impl.md +0 -40
  516. package/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/planning.md +0 -34
  517. package/skills/uipath-maestro-bpmn/references/author/references/supported-elements.md +0 -123
  518. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/README.md +0 -29
  519. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/agent-job.md +0 -36
  520. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/api-workflow.md +0 -29
  521. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/business-rule.md +0 -18
  522. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/call-activity.md +0 -56
  523. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/hitl.md +0 -17
  524. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/http-request.md +0 -119
  525. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/queue.md +0 -21
  526. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/rpa-job.md +0 -23
  527. package/skills/uipath-maestro-bpmn/references/author/references/validation.md +0 -118
  528. package/skills/uipath-maestro-bpmn/references/shared/bpmn-xml-contract.md +0 -197
  529. package/skills/uipath-maestro-bpmn/references/shared/cli-conventions.md +0 -46
  530. package/skills/uipath-maestro-bpmn/references/shared/error-handling.md +0 -82
  531. package/skills/uipath-maestro-bpmn/references/shared/variables-bindings-expressions.md +0 -150
  532. package/skills/uipath-maestro-bpmn/references/shared/wrapper-shells.md +0 -554
  533. /package/skills/uipath-maestro-bpmn/references/{shared/expression-authoring.md → expression-authoring.md} +0 -0
  534. /package/skills/uipath-maestro-bpmn/references/{shared/public-safety.md → public-safety.md} +0 -0
@@ -4,6 +4,8 @@ Add guardrails to a Python coded agent (LangChain/LangGraph) in two styles: **mi
4
4
 
5
5
  > **The user tells you which guardrail to add. You derive the full list of available guardrails and their configuration from the official documentation — fetch it at the start of every task.**
6
6
 
7
+ > **Validating or fixing an EXISTING guardrail? Start elsewhere.** If the task is to check / diagnose whether a guardrail is configured correctly, or to fix a misplaced / misconfigured one (even if you will also edit code), follow [guardrails-recommend.md § Validate Mode](guardrails-recommend.md) FIRST — that workflow is mandatory for diagnosis. This page covers adding a **new** guardrail.
8
+
7
9
  ---
8
10
 
9
11
  ## Step 0 — Fetch Official Documentation
@@ -22,6 +24,15 @@ Add guardrails to a Python coded agent (LangChain/LangGraph) in two styles: **mi
22
24
  - Entity type names or their allowed values
23
25
  - Import paths
24
26
 
27
+ When available, the `langchain/guardrails/` page documents three actions — **`LogAction`**, **`BlockAction`**, and
28
+ **`EscalateAction`** (human-in-the-loop). Treat the fetched page as the source of truth for `EscalateAction`'s
29
+ parameters, supported scopes, and stages; the operational wiring it doesn't cover (the suspend->resume UX, the
30
+ Action-App prerequisite, `bindings.json`, recipient routing) is in [Escalation action (HITL)](#escalation-action-human-in-the-loop) below.
31
+
32
+ If the fetched SDK docs do **not** expose `EscalateAction` or its constructor parameters, stop and report that the
33
+ installed/published SDK documentation does not currently support HITL guardrail escalation. Do not generate
34
+ `EscalateAction` code from memory or from this operational section alone.
35
+
25
36
  ---
26
37
 
27
38
  ## Check Tenant Availability (mandatory for built-in AI validators)
@@ -87,13 +98,16 @@ Before writing the import line, identify the framework by reading the agent code
87
98
  ```python
88
99
  from uipath_langchain.guardrails import (
89
100
  guardrail,
90
- BlockAction, LogAction,
101
+ BlockAction, LogAction, EscalateAction,
91
102
  PIIValidator, PIIDetectionEntity, PIIDetectionEntityType,
92
103
  HarmfulContentValidator, HarmfulContentEntity, HarmfulContentEntityType,
93
104
  UserPromptAttacksValidator,
94
105
  GuardrailExecutionStage,
95
106
  # ...only the names you actually use
96
107
  )
108
+ from uipath.core.guardrails import GuardrailScope
109
+ # Only when routing an EscalateAction task to a specific reviewer:
110
+ from uipath.platform.action_center.tasks import TaskRecipient, TaskRecipientType
97
111
  ```
98
112
 
99
113
  ❌ `from uipath.platform.guardrails import guardrail, PIIValidator, ...` in a LangChain agent — type-checks but the LangChain adapter never registers; guardrails silently no-op.
@@ -140,6 +154,49 @@ When the fetched docs show a middleware supports TOOL scope, it requires passing
140
154
  ),
141
155
  ```
142
156
 
157
+ ### LLM- / Agent-scoped middleware
158
+
159
+ Pass `scopes=[GuardrailScope.LLM]` or `[GuardrailScope.AGENT]`. No `tools=`.
160
+
161
+ ```python
162
+ *SomeMiddlewareClass(
163
+ name="...",
164
+ scopes=[GuardrailScope.LLM], # or GuardrailScope.AGENT
165
+ action=...,
166
+ ),
167
+ ```
168
+
169
+ `scopes` is required on most middleware. Exceptions: LLM-only validators (`UiPathUserPromptAttacksMiddleware`, `UiPathPromptInjectionMiddleware`) make `scopes` optional — it defaults to LLM. Passing `scopes=[GuardrailScope.LLM]` and omitting it are equivalent; AGENT/TOOL are rejected.
170
+
171
+ ### Stage is fixed by the validator — no `stage=` on middleware
172
+
173
+ Middleware classes take **no `stage` argument**. Each validator's stage is fixed: input validators (`user_prompt_attacks`, `prompt_injection`, input PII) run PRE; `intellectual_property` runs POST (output-only). Adding `stage=GuardrailExecutionStage....` to a middleware call raises `TypeError`. Only the **decorator** (`@guardrail`) accepts `stage=`.
174
+
175
+ ### Intellectual property (output-only) middleware
176
+
177
+ > **`scopes=` is REQUIRED** on `UiPathIntellectualPropertyMiddleware` (and on PII / harmful-content middleware). It has no default — omitting it raises `TypeError: missing 1 required positional argument: 'scopes'`. Always pass `scopes=[GuardrailScope.LLM]` or `[GuardrailScope.AGENT]` (Tool not supported).
178
+
179
+ ```python
180
+ from uipath_langchain.guardrails import (
181
+ BlockAction,
182
+ UiPathIntellectualPropertyMiddleware,
183
+ IntellectualPropertyEntityType,
184
+ )
185
+ from uipath.core.guardrails import GuardrailScope
186
+
187
+ *UiPathIntellectualPropertyMiddleware(
188
+ name="Intellectual property",
189
+ scopes=[GuardrailScope.LLM], # REQUIRED — LLM or AGENT; Tool not supported
190
+ action=BlockAction(),
191
+ entities=[
192
+ IntellectualPropertyEntityType.TEXT,
193
+ IntellectualPropertyEntityType.CODE,
194
+ ],
195
+ ),
196
+ ```
197
+
198
+ Runs at POST (checks the LLM's output) — fixed by the validator, not a parameter.
199
+
143
200
  ---
144
201
 
145
202
  ## Decorator Style — Code Patterns
@@ -203,6 +260,83 @@ If `create_agent()` is called directly at module level (not in a function), wrap
203
260
 
204
261
  ---
205
262
 
263
+ ## Escalation action (human-in-the-loop)
264
+
265
+ `EscalateAction` is a third action (beside `LogAction` / `BlockAction`) that turns a violation into a **human
266
+ review step**: it suspends the run via `interrupt(CreateEscalation(...))`, creates a review task in a UiPath
267
+ **Action App**, and resumes when a human **Approves** (optionally editing the flagged content — the reviewer's
268
+ `ReviewedInputs` at PRE / `ReviewedOutputs` at POST is substituted back) or **Rejects** (raises → terminates,
269
+ like `BlockAction`). Get the exact parameters / supported scopes / stages from the fetched
270
+ `langchain/guardrails/` page; this section is the operational wiring that page doesn't cover.
271
+
272
+ **The same `EscalateAction` works in both styles** — pass it as the `action`:
273
+
274
+ ```python
275
+ # Middleware (no stage= — fixed by the validator)
276
+ *UiPathPIIDetectionMiddleware(
277
+ name="PII escalation",
278
+ scopes=[GuardrailScope.AGENT],
279
+ action=EscalateAction(
280
+ app_name="Guardrail.Escalation.Action.App",
281
+ app_folder_path="Shared",
282
+ # optional — route the task; default assignment otherwise
283
+ recipient=TaskRecipient(type=TaskRecipientType.EMAIL, value="reviewer@example.com"),
284
+ ),
285
+ entities=[PIIDetectionEntity(PIIDetectionEntityType.EMAIL, 0.5)],
286
+ ),
287
+
288
+ # Decorator — identical action, on a @tool / LLM factory / agent factory
289
+ @guardrail(
290
+ validator=PIIValidator(entities=[PIIDetectionEntity(PIIDetectionEntityType.EMAIL, 0.5)]),
291
+ action=EscalateAction(app_name="Guardrail.Escalation.Action.App", app_folder_path="Shared"),
292
+ name="PII escalation",
293
+ stage=GuardrailExecutionStage.PRE,
294
+ )
295
+ def create_my_agent(): ...
296
+ ```
297
+
298
+ `EscalateAction` is **action-only** — it works with any validator, including deterministic
299
+ `CustomValidator(...)` rules (no AI-validator / tenant dependency for the validator itself).
300
+
301
+ ### Prerequisite — the Action App must exist and be declared in `bindings.json`
302
+
303
+ Unlike Block/Log, escalation needs a **deployed Action App** in the tenant, referenced by `app_name` +
304
+ `app_folder_path`. This is the **correct design** (not env vars):
305
+
306
+ 1. Discover the deployed app: `uip solution resources list --kind App --search "<app-name>" --output json`
307
+ (filter `"Type": "Workflow Action"`); note its `Name` and `Folder`. If it isn't deployed, tell the user — the
308
+ escalation fails at runtime otherwise. If multiple deployed Workflow Action apps share the same `Name` in
309
+ different folders, ask which folder to use.
310
+ 2. Pass those literal values to `EscalateAction(app_name=..., app_folder_path=...)`.
311
+ 3. Verify the app exposes the guardrail escalation action-schema contract before claiming it is runtime-ready:
312
+ inputs `GuardrailName`, `GuardrailDescription`, `TenantName`, `AgentTrace`, `Tool`, `ExecutionStage`,
313
+ `ToolInputs`, `ToolOutputs`; outputs `ReviewedInputs`, `ReviewedOutputs`, `Reason`; outcomes `Approve`,
314
+ `Reject`. If tenant/API access is unavailable in a local smoke task, author the structural code only when the
315
+ user supplied the exact app name/folder, and report that the deployed app schema was not verified.
316
+ 4. Sync the project's **`bindings.json`** with the code using
317
+ [../../lifecycle/bindings-reference.md](../../lifecycle/bindings-reference.md). Coded-agent bindings are derived
318
+ from resource-bearing code and must not be hand-authored ad hoc. The result must include a `resource: "app"`
319
+ entry so Studio/deploy can resolve and override the Action App (locally the literals are used). Canonical
320
+ examples: `samples/joke-agent/` (middleware) and `samples/joke-agent-decorator/` (decorator) in the
321
+ uipath-langchain repo — each ships a `bindings.json` with the escalation app and the literal
322
+ `app_name`/`app_folder_path` in code.
323
+
324
+ ### Escalation Action UX
325
+
326
+ `EscalateAction` does **not** raise on violation (unlike `BlockAction`) — it **suspends** the run. Under local
327
+ `uip codedagent run` a violation prints a `CreateEscalation` interrupt and the run pauses (no traceback); resume after
328
+ acting on the task in Action Center:
329
+
330
+ ```bash
331
+ uip codedagent run <ENTRYPOINT> --resume
332
+ ```
333
+
334
+ On resume: **Approve** continues (with the reviewer's optional edit applied); **Reject** raises
335
+ `AgentRuntimeError` and terminates the run. This is expected — distinct from `BlockAction` (immediate raise) and
336
+ `LogAction` (logs, no control-flow change).
337
+
338
+ ---
339
+
206
340
  ## Verify Guardrails Are Actually Wired (mandatory after writing)
207
341
 
208
342
  **Syntactically valid ≠ active.** Because importing from the wrong module bypasses the framework adapter and makes guardrails silently no-op (see [Imports Pattern](#imports-pattern)), `ast.parse` passing tells you nothing about whether a single guardrail will ever fire. After writing, prove the wiring at runtime.
@@ -224,6 +358,8 @@ If either check fails, the most likely cause is importing guardrail symbols from
224
358
  For non-LangChain frameworks, there is no published adapter yet, so the decorator/middleware mechanism does not produce a `_Guarded*` wrap. Verify by invoking the validator directly on a known-violating input and confirming it raises / logs.
225
359
 
226
360
  > A smoke run that deliberately triggers a violation (e.g. feed a PII-bearing input and confirm it blocks) is the strongest verification when the environment is authenticated against the tenant.
361
+ >
362
+ > **For an `EscalateAction` guardrail the outcome differs:** a violating input **suspends** the run with a `CreateEscalation` interrupt — it does not block. Verify by confirming the run suspends and a review task is created, then that `uip codedagent run <ENTRYPOINT> --resume` continues after Approve / terminates after Reject. Don't expect a block/traceback.
227
363
 
228
364
  ---
229
365
 
@@ -248,3 +384,7 @@ For non-LangChain frameworks, there is no published adapter yet, so the decorato
248
384
  11. **Deterministic guardrails run locally** — no backend API call, no tenant availability check needed.
249
385
  12. **Do not duplicate existing guardrails** — read the agent code first and skip if the same guardrail is already configured.
250
386
  13. **Do not delegate the import-source decision (or guardrail authoring) to a subagent.** A dispatched subagent does not carry this skill's context and will report the module where the symbols physically live (`uipath.platform.guardrails`) — the no-op path for LangChain agents (Rule 8). It looks authoritative and silently overrides the correct `uipath_langchain.guardrails` choice. Fetch the docs and write the imports inline, where this skill's import rule still applies.
387
+ 14. **`EscalateAction` must come from the fetched SDK docs** — if the docs do not expose the class or constructor parameters, stop and report that HITL guardrail escalation is not available in the current SDK docs/runtime. Never invent the class, import path, or arguments.
388
+ 15. **`EscalateAction` requires a deployed Action App** referenced by `app_name` + `app_folder_path` and declared as an `app` resource in **`bindings.json`** — discover it with `uip solution resources list --kind App`, resolve duplicate names by folder, pass the literal name/folder in code (not env vars), and sync bindings with [../../lifecycle/bindings-reference.md](../../lifecycle/bindings-reference.md). Route the task with `TaskRecipient` when the user names a reviewer. See [Escalation action (HITL)](#escalation-action-human-in-the-loop).
389
+ 16. **Verify the escalation app schema when tenant access is available** — the app must expose the guardrail review inputs/outputs/outcomes listed in the prerequisite section. If the schema cannot be verified in a local smoke task, say that runtime readiness is unverified.
390
+ 17. **A HITL guardrail suspends, it doesn't block.** On violation `EscalateAction` suspends via `interrupt(CreateEscalation(...))`; it terminates **only on Reject** (Approve resumes). Verify by confirming the run suspends + a task is created — never expect a "block" for an escalation guardrail (Rule for the [verification step](#verify-guardrails-are-actually-wired-mandatory-after-writing)).
@@ -2,6 +2,8 @@
2
2
 
3
3
  Pause agent execution for human approval, external processes, or job monitoring.
4
4
 
5
+ > **Guardrail-triggered escalation is separate.** If the human review should fire automatically on a *guardrail violation* (e.g. PII/harmful-content detected → send to a reviewer), use `EscalateAction` as a guardrail action — see [guardrails § Escalation action (HITL)](guardrails/guardrails.md#escalation-action-human-in-the-loop). This page covers **manual** pause points you place in agent code via `interrupt(...)`.
6
+
5
7
  ## Pause Patterns
6
8
 
7
9
  **HITL pattern selection MUST be an interactive question unless the user named a specific pattern.** "Human in the loop", "approval", "confirmation", "review", "escalation" alone do NOT name a pattern.
@@ -34,7 +34,7 @@ Then, as needed:
34
34
  Coded-specific layers:
35
35
 
36
36
  1. **Reuse before discover** — grep cwd for existing `ActivityMetadata` constants before re-running describe.
37
- 2. **Present concrete options, then echo every pick.** At each stop point call `AskUserQuestion` with the actual candidates as selectable options (one per candidate: short label + one-line description, per the option-label format in the `uipath-platform` skill's `connectors.md`). Recommend the safest default; let the user choose. Never ask open-ended — derive options from the discovery output. After the pick, echo the chosen option back before the next call. Ambiguous answer or "other" → follow up to narrow; do not infer.
37
+ 2. **Present concrete options, then echo every pick.** At each stop point ask the user, presenting the actual candidates as concrete options (one per candidate: short label + one-line description, per the option-label format in the `uipath-platform` skill's `connectors.md`). Recommend the safest default; let the user choose. Never ask open-ended — derive options from the discovery output. After the pick, echo the chosen option back before the next step. Ambiguous answer or "other" → follow up to narrow; do not infer.
38
38
  - **Stop points:** connector (multi-hit on `connectors list --filter`), curated-vs-raw object, ambiguous operation verb (`Update` vs `Replace`), parent-field `-f` values, custom-field-by-name with >1 candidate.
39
39
  - Silent inference produces wrong-connector / wrong-form / wrong-customfield writes.
40
40
 
@@ -139,10 +139,10 @@ from uipath.platform.connections import ActivityMetadata, ActivityParameterLocat
139
139
 
140
140
  def post_to_slack(channel: str, message: str) -> dict:
141
141
  sdk = UiPath()
142
- # Binding key, NOT a UUID. Locally this 400s unless resourceOverwrites
143
- # is set — see § Local runtime binding. Do NOT add a try/except or a
144
- # state health-check around it; gate any deployed-only probe on env.
145
- connection = sdk.connections.retrieve("slack-triage")
142
+ # The connection id (the `Id` from `uip is connections list`) — the same
143
+ # value as bindings.json `ConnectionId.defaultValue`. Let it raise; don't
144
+ # wrap in try/except.
145
+ connection = sdk.connections.retrieve("<connection_id>")
146
146
  return sdk.connections.invoke_activity(
147
147
  activity_metadata=SLACK_SEND_MESSAGE,
148
148
  connection_id=connection.id,
@@ -151,7 +151,7 @@ def post_to_slack(channel: str, message: str) -> dict:
151
151
  ```
152
152
 
153
153
  - **`activity_input` is the single bucket** for query, path, header, multipart, and body values. SDK routes by `parameter_location_info`. No `query=`/`path=`/`header=` kwarg exists.
154
- - **`invoke_activity` calls `retrieve()` internally** (`_connections_service.py:675`), so `connection_id` can be a UUID or a binding-key string — the `@resource_override` decorator on `retrieve` resolves it. The pattern above (explicit retrieve, then pass `connection.id`) is preferred because it gives the agent a typed `Connection` for `metadata()` / `retrieve_token()`; one-shots can use `invoke_activity(connection_id="slack-triage", ...)` directly.
154
+ - **`invoke_activity` calls `retrieve()` internally** (`_connections_service.py:675`). The pattern above (explicit retrieve, then pass `connection.id`) is preferred because it gives the agent a typed `Connection` for `metadata()` / `retrieve_token()`; one-shots can pass the connection id straight to `invoke_activity(connection_id="<connection_id>", ...)`.
155
155
  - **Return value** is `response.json()` — keys mirror `responseFields[].name`. Flat connectors return top-level; some wrap in `Data` / `result`. Auto-traced via `@traced`; see [tracing.md](tracing.md).
156
156
  - **Silent drops** — `None` values and any key not in `parameter_location_info` are skipped (`_connections_service.py:753-770`). Mistyped keys never surface as errors; echo-check writes per Error Handling § "Silent rename / typo".
157
157
 
@@ -198,7 +198,7 @@ Wrap `invoke_activity_async` in the framework's tool primitive — runtime body
198
198
 
199
199
  ## Connection Resolution — `bindings.json`
200
200
 
201
- Invocation URL is `/elements_/v3/element/instances/<UUID>/…`, so the SDK ultimately needs a UUID. To let admins rebind per environment, write code against a binding key string; `@resource_override("connection", resource_identifier="key")` (`_connections_service.py:51`) on `retrieve` maps it to the deployed UUID. `uip codedagent init` writes `resources: []` — author the connection entry after picking the connection.
201
+ Write the connection's id (the `Id` from `uip is connections list`, a GUID) as the `retrieve()` argument in code AND as `ConnectionId.defaultValue` in `bindings.json` — the two must match. That way it resolves locally (no override) and `bindings.json` lets users rebind the resource per environment when deployed. `uip codedagent init` writes `resources: []` — author the connection entry after picking the connection.
202
202
 
203
203
  Minimal connection entry (`uip codedagent init` writes `resources: []`; add this). The entry-type field is **`resource`** (NOT `type`) — the CLI bindings schema is `{ resource, key, value, metadata }`:
204
204
 
@@ -220,42 +220,28 @@ Full JSON schema lives in [`../lifecycle/bindings-reference.md`](../lifecycle/bi
220
220
 
221
221
  - Entry type field is `resource` (`"resource": "connection"`), never `type` — matches every other binding entry.
222
222
  - `key` is just `<CONNECTION_KEY>` (no `<NAME>.<FOLDER>` dot suffix used by other resources). Same string passed positionally to `retrieve()`.
223
- - `value.ConnectionId.defaultValue` is the binding key string, NOT a UUID. Capital-C `ConnectionId` (other resources use `name`); no `folderPath`.
223
+ - `value.ConnectionId.defaultValue` is the connection id — the same value passed to `retrieve()` in code (and the binding `key`). Capital-C `ConnectionId` (other resources use `name`); no `folderPath`.
224
224
  - `metadata.UseConnectionService: "True"` is mandatory; `Connector: ""` (empty); `BindingsVersion: "2.2"` is the per-resource rev and is independent of the top-level envelope `version: "2.0"`.
225
225
  - `uip codedagent deploy` repackages as `content/bindings_v2.json` — never hand-author that path.
226
226
 
227
- ### Required artifact — `__uipath/uipath.json` (local-run binding)
227
+ ### Connection value: code and bindings must match
228
228
 
229
- Every coded IS agent MUST write `__uipath/uipath.json`. It is the file `uipath run` reads for connection overwrites: `cli_run.py` → `read_resource_overwrites_from_file(ctx.runtime_dir)`, `runtime_dir` defaults to `__uipath` (`runtime/context.py`), config name `uipath.json` (`UIPATH_CONFIG_FILE`). Without it, local `retrieve("<KEY>")` 400s with `CNS1026 The value '<KEY>' is not valid` — `bindings.json` is deploy-time only (packed into `content/bindings_v2.json`) and ignored by local run. This is distinct from `./uipath.json` (pack/deploy config). Write both:
229
+ Write the **same connection id** in code and in `bindings.json`:
230
230
 
231
- ```jsonc
232
- {
233
- "functions": { "main": "main.py:main" },
234
- "runtime": {
235
- "internalArguments": {
236
- "resourceOverwrites": {
237
- "connection.slack-triage": {
238
- "connectionId": "<Id from `uip is connections list`>",
239
- "folderKey": "<FolderKey from `uip is connections list`>"
240
- }
241
- }
242
- }
243
- }
244
- }
245
- ```
231
+ - In code, pass it to `retrieve()` — `sdk.connections.retrieve("<connection_id>")`.
232
+ - In `bindings.json`, use it as the connection's `ConnectionId.defaultValue` (and the binding `key`).
246
233
 
247
- `ConnectionResourceOverwrite` (`uipath/platform/common/_bindings.py:100`, **NOT** `uipath/_utils/_bindings.py`) requires exactly two fields — `connectionId` (alias accepts `ConnectionId`) and `folderKey` — and has `extra="ignore"`, so `elementInstanceId` and any other extras are silently dropped (see anti-pattern #1). Key format is `connection.<BINDING_KEY>` matching the `bindings.json` `key`. After override, `Connection.element_instance_id` (for `sdk.connections.metadata()` calls) comes from the live IS API response — never write it locally.
234
+ Because they match, the agent resolves the connection both **locally** (run uses the code value directly, no override) and **when deployed** (`bindings.json` lets Studio Web / Orchestrator override the resource per environment). Get the connection id from the `Id` field of `uip is connections list --output json` (a GUID).
248
235
 
249
- **Required outputs — every coded IS agent ships all four:**
236
+ `Connection.element_instance_id` (needed for `sdk.connections.metadata()` calls) comes from the live IS API response after `retrieve()` — never hardcode it.
237
+
238
+ **Required outputs — every coded IS agent ships these three:**
250
239
 
251
240
  | File | Read by | Must contain |
252
241
  |---|---|---|
253
- | `main.py` | runtime | lazy `UiPath()` (not module-scope), inline `ActivityMetadata` literal, `retrieve(<KEY>)` + `invoke_activity` |
254
- | `bindings.json` | `uip codedagent deploy` | connection resource, `key`, `ConnectionId.defaultValue`=binding key, `UseConnectionService: "True"` |
242
+ | `main.py` | runtime | lazy `UiPath()` (not module-scope), inline `ActivityMetadata` literal, `retrieve("<connection_id>")` + `invoke_activity` |
243
+ | `bindings.json` | `uip codedagent deploy` | connection resource, `key` + `ConnectionId.defaultValue` = the same connection id, `UseConnectionService: "True"` |
255
244
  | `uipath.json` | `uip` pack/deploy | `functions`, `packOptions` |
256
- | `__uipath/uipath.json` | `uipath run` (local) | `runtime.internalArguments.resourceOverwrites["connection.<KEY>"]` = `connectionId` + `folderKey` |
257
-
258
- Omitting `__uipath/uipath.json` means the agent cannot run locally — incomplete, not optional. Personal-workspace connections also need `UIPATH_FOLDER_KEY=<KEY>` (`FolderKey` from `uip is connections list`) in the environment at local run.
259
245
 
260
246
  ## Error Handling
261
247
 
@@ -274,7 +260,7 @@ Network / 5xx are retried with exponential backoff by `BaseService.request`; onl
274
260
 
275
261
  These six are the ones the SDK / IS / vendor will NOT tell you about. Positive guidance for everything else lives in the relevant section above; do not pad this list.
276
262
 
277
- 1. **Adding `elementInstanceId` to `resourceOverwrites`.** `ConnectionResourceOverwrite` (`_bindings.py:100`) defines only `connectionId` + `folderKey` with `extra="ignore"` — extras are silently dropped. The `element_instance_id` you need for `sdk.connections.metadata()` comes from the live `Connection.element_instance_id` after `retrieve()`, never from local config.
263
+ 1. **Hardcoding `element_instance_id`.** The `element_instance_id` needed for `sdk.connections.metadata()` comes from the live `Connection.element_instance_id` after `retrieve()` — never hardcode it.
278
264
  2. **Hand-authoring `object_path` / `method_name` / `body_fields`.** Curated activities rename fields silently between connector versions. Always source from `uip is resources describe` and re-run after upgrades. Sidecar-JSON literals also drift — keep `ActivityMetadata` literals inline in a `.py` file; `pack` bundles them and mypy / pyright catch shape errors at edit time.
279
265
  3. **Typos and unknown keys in `activity_input`.** Anything not in `parameter_location_info` is silently dropped (`_connections_service.py:753-770`); the request goes out missing the field, vendor returns 2xx, the data is just gone. Echo-check writes by reading back the created object (see Error Handling § "Silent rename / typo").
280
266
  4. **`invoke_activity` for trigger payloads.** IS-triggered jobs receive `EventArguments` as input — unwrap with `sdk.connections.retrieve_event_payload(event_args)` (`_connections_service.py:421`). Calling `invoke_activity` to "receive" anything is a category error.
@@ -51,11 +51,12 @@ Bindable resource types:
51
51
  | `.context_grounding.*` (all methods: `retrieve`, `search`, `add_to_index`, `create_index`, etc.) | `(name="name", folder_path="folder")` | `index` | `name` or `index_name` |
52
52
  | `.connections.retrieve` / `.retrieve_async` | `("connection_key")` | `connection` | `key` (positional) |
53
53
  | `.mcp.retrieve` / `.retrieve_async` | `(slug="slug", folder_path="folder")` | `mcpServer` | `slug` |
54
+ | `EscalateAction(...)` (guardrail HITL action) | `(app_name="name", app_folder_path="folder", recipient=...)` | `app` | `app_name` |
54
55
  | `interrupt(InvokeProcess(...))` (LangGraph HITL) | `(name="name", process_folder_path="folder", input_arguments={...})` | `process` | `name` |
55
56
  | `interrupt(CreateTask(...))` (LangGraph HITL) | `(app_name="name", app_folder_path="folder", title="...", data={...})` | `app` | `app_name` |
56
57
  | `interrupt(CreateEscalation(...))` (LangGraph HITL) | `(app_name="name", app_folder_path="folder", title="...", data={...})` | `app` | `app_name` |
57
58
 
58
- > **Interrupt-based patterns also produce bindings.** LangGraph agents pause and delegate work via `interrupt(InvokeProcess|CreateTask|CreateEscalation(...))` imported from `uipath.platform.common`. These produce the **same binding entries** as their `sdk.processes.invoke` / `sdk.tasks.create` counterparts — same `resource` type, same key format, same `ActivityName`. Scan for the class names (`InvokeProcess`, `CreateTask`, `CreateEscalation`) in addition to the `sdk.*` method calls. Note: `InvokeProcess` uses `process_folder_path` (not `folder_path`).
59
+ > **Guardrail and interrupt-based patterns also produce bindings.** Guardrail HITL escalation uses `EscalateAction(app_name=..., app_folder_path=...)`; LangGraph agents pause and delegate work via `interrupt(InvokeProcess|CreateTask|CreateEscalation(...))` imported from `uipath.platform.common`. These produce the **same binding entries** as their `sdk.processes.invoke` / `sdk.tasks.create` counterparts — same `resource` type, same key format, same `ActivityName`. Scan for the class/action names (`EscalateAction`, `InvokeProcess`, `CreateTask`, `CreateEscalation`) in addition to the `sdk.*` method calls. Note: `InvokeProcess` uses `process_folder_path` (not `folder_path`).
59
60
 
60
61
  Use Grep to find calls matching these patterns across all project Python files. Then read the surrounding code to extract the literal string values for resource name and folder path.
61
62
 
@@ -65,7 +66,7 @@ Use Grep to find calls matching these patterns across all project Python files.
65
66
 
66
67
  First check the project's pinned `uipath` version (see **SubType Metadata → Version-detection rule**). If `uipath < 2.10.58`, **skip SubType entirely** — emit no `SubType` for any binding, including `retrieve_credential*`.
67
68
 
68
- If `uipath >= 2.10.58`, then for `retrieve_credential` / `retrieve_credential_async` calls always emit `"SubType": "credentialAsset"` — the method name is definitive. For all other calls, follow the full lookup procedure in the **SubType Metadata** section below: fetch metadata → filter by kind → disambiguate from code → fall back to `AskUserQuestion` → omit `SubType` if the user skips. Omitting `SubType` is always safe — `uipath push` still creates a virtual placeholder for supported kinds, just with the base `kind` only.
69
+ If `uipath >= 2.10.58`, then for `retrieve_credential` / `retrieve_credential_async` calls always emit `"SubType": "credentialAsset"` — the method name is definitive. For all other calls, follow the full lookup procedure in the **SubType Metadata** section below: fetch metadata → filter by kind → disambiguate from code → ask the user → omit `SubType` if the user skips or can't be asked. Omitting `SubType` is always safe — `uip codedagent push` still creates a virtual placeholder for supported kinds, just with the base `kind` only.
69
70
 
70
71
  ### Step 3: Compare with Existing Bindings
71
72
 
@@ -89,7 +90,7 @@ Each resource can optionally be linked to an entrypoint from `entry-points.json`
89
90
 
90
91
  **Workflow:**
91
92
  1. **Single entrypoint** — If `entry-points.json` contains exactly one entrypoint, automatically bind all resources to it. Add `EntryPointUniqueId` (preferred) or `EntryPointPath` (fallback). No need to ask the user.
92
- 2. **Multiple entrypoints** — Call `AskUserQuestion` once with all detected resources and the entrypoint choices. Exact phrasing:
93
+ 2. **Multiple entrypoints** — Ask the user once, presenting all detected resources and the entrypoint choices. Suggested phrasing:
93
94
 
94
95
  > Which entrypoint should each of these resources be bound to? Choose one per resource, or `None` to leave it unbound.
95
96
  > Resources: `<list: name + type>`
@@ -114,7 +115,7 @@ For the exact JSON structure of each resource type, see § bindings.json Referen
114
115
  - Each resource entry has `resource`, `key`, `value`, and `metadata` fields
115
116
  - The `key` is `<name>.<folder_path>` for most types, just `<connection_key>` for connections. When `folder_path` is empty, omit the dot separator — the key is just `<name>`
116
117
  - `ActivityName` in metadata always uses the `_async` variant name
117
- - Connection entries use a `ConnectionId` field in their binding `value` (other resource types use `name`) and have no `folderPath`. The `ConnectionId`'s `defaultValue` is the connection key — the same string passed as the positional argument to `sdk.connections.retrieve()` / `retrieve_async()`.
118
+ - Connection entries use a `ConnectionId` field in their binding `value` (other resource types use `name`) and have no `folderPath`. The `ConnectionId`'s `defaultValue` is the connection's **id**.
118
119
  - The `app` resource type uses the app name as `DisplayLabel`; all others use `"FullName"`
119
120
  - `SubType` is an optional metadata field — see the **SubType Metadata** section for the full lookup procedure and the `retrieve_credential*` shortcut.
120
121
  - Entrypoint fields (`EntryPointUniqueId`, `EntryPointPath`) are optional in any resource's `value` block, but when present must include a `displayName` set to the entrypoint's `filePath` from `entry-points.json`
@@ -149,8 +150,8 @@ After writing the updated `bindings.json`:
149
150
  | Duplicate key in resources array | Same resource scanned from multiple code paths | Deduplicate — keep one entry per unique key |
150
151
  | Missing project root | No `pyproject.toml` or `uipath.json` found | Verify the working directory is a UiPath agent project |
151
152
  | Stale entries after refactor | Old resource calls removed but bindings.json not updated | Run the full sync workflow to detect and remove orphaned entries |
152
- | Push creates wrong asset type as virtual resource | Missing `SubType` in metadata for a `retrieve_credential*` call | Add `"SubType": "credentialAsset"` to the asset's metadata and re-run `uipath push` |
153
- | Push warns "was not found" for connection/mcpServer/index | These kinds do not support virtual-resource fallback | Create the resource in Orchestrator / Integration Service before running `uipath push` |
153
+ | Push creates wrong asset type as virtual resource | Missing `SubType` in metadata for a `retrieve_credential*` call | Add `"SubType": "credentialAsset"` to the asset's metadata and re-run `uip codedagent push` |
154
+ | Push warns "was not found" for connection/mcpServer/index | These kinds do not support virtual-resource fallback | Create the resource in Orchestrator / Integration Service before running `uip codedagent push` |
154
155
 
155
156
  ## Additional Instructions
156
157
 
@@ -253,7 +254,7 @@ When the SDK call is `retrieve_credential` or `retrieve_credential_async`, add `
253
254
  }
254
255
  ```
255
256
 
256
- This SubType is required for `uipath push` to create a credential-asset placeholder (rather than a plain string asset) when the asset doesn't yet exist in Orchestrator.
257
+ This SubType is required for `uip codedagent push` to create a credential-asset placeholder (rather than a plain string asset) when the asset doesn't yet exist in Orchestrator.
257
258
 
258
259
  ---
259
260
 
@@ -456,7 +457,27 @@ task = sdk.tasks.create(title="...", data={...}, app_name="app_name", app_folder
456
457
  - `app_name` — keyword argument `app_name=`
457
458
  - `app_folder_path` — keyword argument `app_folder_path=`
458
459
 
459
- **Note:** The `DisplayLabel` in metadata uses the literal app name value, not `"FullName"`. Both Action Center tasks and escalations use this resource type — `CreateEscalation` extends `CreateTask` with the same `app_name`/`app_folder_path` fields.
460
+ **Note:** The `DisplayLabel` in metadata uses the literal app name value, not `"FullName"`. Action Center tasks, manual escalations, and guardrail `EscalateAction` use this resource type — `CreateEscalation` extends `CreateTask` with the same `app_name`/`app_folder_path` fields, and `EscalateAction` references the same deployed Action App.
461
+
462
+ **Guardrail-action variant — `EscalateAction(...)`:**
463
+
464
+ Guardrail HITL escalation references an Action Center app directly from the guardrail action:
465
+
466
+ ```python
467
+ from uipath_langchain.guardrails import EscalateAction
468
+
469
+ action = EscalateAction(
470
+ app_name="Guardrail.Escalation.Action.App",
471
+ app_folder_path="Shared",
472
+ recipient=recipient,
473
+ )
474
+ ```
475
+
476
+ Binding entry is **identical** to `sdk.tasks.create` — same `resource: "app"`, same `key` (`<app_name>.<app_folder_path>`), same `ActivityName: "create_async"`, same `DisplayLabel: <app_name>`.
477
+
478
+ **Parameter extraction:**
479
+ - `app_name` — keyword argument `app_name=` to `EscalateAction(...)`
480
+ - `app_folder_path` — keyword argument `app_folder_path=`
460
481
 
461
482
  **Interrupt-based variant — `interrupt(CreateTask(...))` / `interrupt(CreateEscalation(...))`:**
462
483
 
@@ -569,7 +590,7 @@ connection = sdk.connections.retrieve("connection_key")
569
590
  **Key construction:** Just `<connection_key>` (no folder path, no dot).
570
591
 
571
592
  **Parameter extraction:**
572
- - `connection_key` — first positional argument to `retrieve_async()` / `retrieve()`
593
+ - The connection id is the first positional argument to `retrieve_async()` / `retrieve()`, and the same value is used as the binding `key` and `ConnectionId.defaultValue` — all three match.
573
594
 
574
595
  **Differences from other resource types:**
575
596
  - No `folderPath` in `value`
@@ -625,15 +646,15 @@ server = sdk.mcp.retrieve(slug="mcp_server_slug", folder_path="folder_path")
625
646
 
626
647
  ## SubType Metadata
627
648
 
628
- The `SubType` field in a resource's `metadata` block specifies a sub-classification of the resource `kind`. It is **optional** but should be emitted when determinable, so `uipath push` can create the correct virtual-resource placeholder when the resource isn't found in the catalog (see `Virtual Resource Fallback on uipath push` below).
649
+ The `SubType` field in a resource's `metadata` block specifies a sub-classification of the resource `kind`. It is **optional** but should be emitted when determinable, so `uip codedagent push` can create the correct virtual-resource placeholder when the resource isn't found in the catalog (see `Virtual Resource Fallback on uip codedagent push` below).
629
650
 
630
- > **Minimum `uipath` version: 2.10.58 ([PyPI](https://pypi.org/project/uipath/)).** Below that version, **omit `SubType` entirely** — older `uipath push` releases ignore the field, so emitting it gives no benefit and just adds noise to `bindings.json`.
651
+ > **Minimum `uipath` version: 2.10.58 ([PyPI](https://pypi.org/project/uipath/)).** Below that version, **omit `SubType` entirely** — older `uip codedagent push` releases ignore the field, so emitting it gives no benefit and just adds noise to `bindings.json`.
631
652
  >
632
653
  > **Version-detection rule (run before the lookup procedure):**
633
654
  >
634
655
  > 1. Read the project's `pyproject.toml` (or `requirements.txt` / `uv.lock`) and extract the resolved `uipath` version.
635
656
  > 2. If the version is **`>= 2.10.58`**, follow the full lookup procedure.
636
- > 3. If the version is **`< 2.10.58`** (or unspecified / unresolvable), **ask the user** before falling back. Do **not** run the upgrade command yourself. Call `AskUserQuestion` with the warning prefix and two options:
657
+ > 3. If the version is **`< 2.10.58`** (or unspecified / unresolvable), **ask the user** before falling back. Do **not** run the upgrade command yourself. Ask with the warning prefix and two options:
637
658
  >
638
659
  > - **Question:** `⚠️ uipath is pinned to <version>. SubType support requires uipath >= 2.10.58 — without it every binding will be written with no SubType. Do you want to upgrade?`
639
660
  > - **Option A — Yes, upgrade `uipath`** — print the upgrade command for the user to run themselves and stop the workflow. Tell them to re-run the bindings task after the upgrade lands. Suggested commands (do **not** execute them):
@@ -642,7 +663,7 @@ The `SubType` field in a resource's `metadata` block specifies a sub-classificat
642
663
  > # Poetry: poetry add 'uipath@^2.10.58'
643
664
  > # pip: pip install --upgrade 'uipath>=2.10.58'
644
665
  > ```
645
- > - **Option B — No, continue with current version** — skip the entire SubType lookup, do **not** call `AskUserQuestion` for sub-types, and write every binding with no `SubType` in `metadata` (including `retrieve_credential*`). Tell the user once: *"`uipath` is pinned to `<version>`; SubType emission is disabled."*
666
+ > - **Option B — No, continue with current version** — skip the entire SubType lookup, do **not** ask about sub-types, and write every binding with no `SubType` in `metadata` (including `retrieve_credential*`). Tell the user once: *"`uipath` is pinned to `<version>`; SubType emission is disabled."*
646
667
 
647
668
  ### Authoritative source for valid SubType values
648
669
 
@@ -701,10 +722,7 @@ For each binding, follow these steps:
701
722
  4. **Choose a SubType:**
702
723
  - **No candidates** (all entries lack `type`) → omit `SubType`.
703
724
  - **One candidate** → emit it as `SubType`.
704
- - **Multiple candidates** → try code-based disambiguation first (see rules below). If no rule matches, ask the user. Use the path that fits the candidate count:
705
- - **≤ 3 candidates** → call `AskUserQuestion` with each candidate as an `option` (`label` = the `type` string). `AskUserQuestion`'s `options` array is capped at 4 entries, and one slot is reserved for the trailing `skip`. The harness presents a picker UI and returns the chosen `label` directly — no numbered list needed in the prompt body.
706
- - **≥ 4 candidates** → emit a plain-text **numbered list** (one per line, `N. <type>`) ending with a final numbered `skip` line. The user replies with just the number; map it back to the `type` string. Do not use `AskUserQuestion` here — the list won't fit.
707
- Either way, include the resource name and folder in the prompt for context. If the user picks `skip` (or its number), omit `SubType`.
725
+ - **Multiple candidates** → try code-based disambiguation first (see rules below). If no rule matches, ask the user — present each candidate `type` as a concrete option plus a `skip` option. Include the resource name and folder for context. If the user picks `skip` or cannot be asked (non-interactive), omit `SubType`.
708
726
 
709
727
  **Numbered-list rules** (plain-text path only):
710
728
  - One candidate per line, prefixed with `N. ` (1-indexed).
@@ -728,7 +746,7 @@ curl -s -H "Authorization: Bearer <TOKEN>" \
728
746
 
729
747
  ### Known code-based disambiguation rules
730
748
 
731
- Apply these rules in order. Only fall through to the `AskUserQuestion` prompt if none of them produces a confident match.
749
+ Apply these rules in order. Only fall through to asking the user if none of them produces a confident match.
732
750
 
733
751
  | Kind | Rule | SubType | Confidence |
734
752
  |------|------|---------|------------|
@@ -747,7 +765,7 @@ Apply these rules in order. Only fall through to the `AskUserQuestion` prompt if
747
765
  - Used in arithmetic, compared numerically → `integerAsset`.
748
766
  - Used in `if x:` as a truth check where Orchestrator stores it as boolean → `booleanAsset`.
749
767
  4. Check the variable name and surrounding context against sensitive patterns (`password`, `pwd`, `api_key`, `secret`, `token`, `credential`). If a match is found, prompt the user to choose between `credentialAsset` and `secretAsset` (they differ in how Orchestrator exposes the value).
750
- 5. If the heuristic is inconclusive or produces only medium confidence, fall through to the `AskUserQuestion` prompt with the heuristic's best guess pre-highlighted.
768
+ 5. If the heuristic is inconclusive or produces only medium confidence, fall through to asking the user with the heuristic's best guess pre-highlighted.
751
769
 
752
770
  ### Asking the user (example prompts)
753
771
 
@@ -821,9 +839,23 @@ Always include a final `skip` option — it means "I don't know, emit no SubType
821
839
 
822
840
  ---
823
841
 
824
- ## Virtual Resource Fallback on uipath push
842
+ ## What `uip codedagent push` does with bindings
843
+
844
+ `uip codedagent push` uploads the source files, then (unless `--ignore-resources`) resolves every `bindings.json` entry against the Resource Catalog. It searches by the binding's identity: most kinds by **`name` + `folderPath`** (both must match an existing resource in that folder — a wrong/missing `folderPath` causes a miss), `connection` by its **`ConnectionId`** (the connection id) — a value that doesn't match a real connection is a common miss.
845
+
846
+ Each binding: **found** → imported as a reference; **not found, virtual-capable kind** → placeholder created, project still deploys; **not found, non-virtual kind** (`connection`, `mcpServer`, `index`) → warned and **skipped entirely**.
847
+
848
+ > ⚠️ **A "was not found" warning is NEVER "expected".** For a non-virtual kind the binding is dropped from the deployed project. The agent may still run (it can resolve to in-code defaults), but the resource is **not overridable from Studio Web** — so the solution cannot be cleanly promoted/deployed to another tenant. Treat every "not found" as a defect to resolve before reporting push successful.
849
+
850
+ ### When push reports a resource was not found
851
+
852
+ 1. **Diagnose the miss** — the binding's identity matched no catalog resource. Check: wrong `folderPath` (resource exists in another folder), wrong `name`/`ConnectionId` (typo or stale value), or resource genuinely doesn't exist.
853
+ 2. **Resolve, then re-push** — fix the binding's `name`/`folderPath`/`ConnectionId`, or have the user create the missing resource, then re-run `uip codedagent push` and confirm the warning is gone.
854
+ 3. **If unresolvable, state it plainly** — e.g. *"Code uploaded, but connection `<key>` was not imported (no IS connection with that key/folder; connections cannot be auto-created), so it cannot be overridden in Studio Web."* Do not report push as done.
855
+
856
+ ## Virtual Resource Fallback on uip codedagent push
825
857
 
826
- Starting with `uipath` 2.10.52, `uipath push` creates a virtual resource placeholder when a binding's resource isn't found in the Resource Catalog — the project can be deployed before its dependencies exist. The fallback only works for a subset of kinds.
858
+ Starting with `uipath` 2.10.52, `uip codedagent push` creates a virtual resource placeholder when a binding's resource isn't found in the Resource Catalog — the project can be deployed before its dependencies exist. The fallback only works for a subset of kinds.
827
859
 
828
860
  The push command fetches the supported-kinds list from `/studio_/backend/api/resourcebuilder/metadata` at push time. The static fallback (used when that endpoint is unreachable) is `app, asset, bucket, process, queue, taskCatalog, trigger`.
829
861
 
@@ -836,7 +868,7 @@ The push command fetches the supported-kinds list from `/studio_/backend/api/res
836
868
  ### Implications for binding generation
837
869
 
838
870
  1. **Emit `SubType` only when `uipath >= 2.10.58`.** Below that version, omit `SubType` from every binding — see **SubType Metadata → Version-detection rule**. When the version gate is met, always emit `"SubType": "credentialAsset"` for `retrieve_credential*` asset calls; without it the virtual-resource fallback creates a plain string asset placeholder, causing runtime failures when the agent expects a credential.
839
- 2. **Warn the user about non-fallback kinds.** For `connection`, `mcpServer`, and `index` bindings, the referenced resource must exist in Orchestrator before `uipath push`. If it doesn't, the binding is skipped with a warning and the agent will fail at runtime. Flag this to the user when generating such bindings.
871
+ 2. **Warn the user about non-fallback kinds.** For `connection`, `mcpServer`, and `index` bindings, the referenced resource must exist in Orchestrator before `uip codedagent push`. If it doesn't, the binding is skipped with a warning and the agent will fail at runtime. Flag this to the user when generating such bindings.
840
872
  3. **Optional `SubType` for bucket.** The bucket's backing storage is not inferable from code. Consider asking the user which storage type their buckets use, so virtual-resource fallback creates the correct kind.
841
873
 
842
874
  ---
@@ -126,7 +126,7 @@ evaluations/eval-sets/
126
126
  ```json
127
127
  "mockingStrategy": {
128
128
  "type": "mockito",
129
- "behaviors": [
129
+ "config": [
130
130
  {
131
131
  "function": "external_api_call",
132
132
  "arguments": {
@@ -144,6 +144,10 @@ evaluations/eval-sets/
144
144
  }
145
145
  ```
146
146
 
147
+ - Behaviors key is `config` (SDK alias; `behaviors` also accepted).
148
+ - `function` matches the `@mockable`-decorated function's `__name__` (bare name, not qualified). Decorate the target in `main.py` with `@mockable` for the mock to bind.
149
+ - `arguments` optional — omit to match any call.
150
+
147
151
  **Mock Behavior Types:**
148
152
  - `type: "return"` - Return a value
149
153
  - `type: "raise"` - Throw an exception
@@ -44,6 +44,8 @@ uip codedagent init
44
44
 
45
45
  `uipath-dev` is added to the dev dependency group during scaffold so `uip codedagent dev` works later without a second install pass. Skipping it causes `uip codedagent dev` to fail with *"The 'uipath-dev' package is required to use the dev command"*.
46
46
 
47
+ **What `uip codedagent setup` does:** locates a Python that has `uipath` installed and caches its path, so later commands (`init`/`run`/`eval`/`pack`) can invoke the Python SDK. It searches PATH (`python3.x`, `python3`, `python`) and uses your `.venv` only when activated. So when using uv, always `uv sync` then activate the venv before the `setup` command.
48
+
47
49
  ## Coded Function Agents
48
50
 
49
51
  `uipath.json` carries the entrypoint mapping:
@@ -78,7 +78,7 @@ When the user asks to create and deploy an agent end-to-end, follow these steps
78
78
 
79
79
  **IMPORTANT: Do NOT stop between steps to ask "would you like me to continue?" or list next steps. Execute the entire flow automatically.** Pause only when (a) you hit an **architectural fork** — a step with multiple valid implementations (framework choice, HITL pattern, evaluator type, deploy target, conversational vs not, etc.) — or (b) you need data only the user has (credentials, project ID). At a fork, apply **infer-or-ask**: if the prompt or context names the choice, infer it and continue; otherwise output ONLY the choice question as your entire response, then STOP and wait. For missing data, output ONLY the data request. After getting the answer, resume immediately. Forks for each step are documented in that step's referenced file — read the reference when you reach the step; do not guess.
80
80
 
81
- Steps 8 and 9 are mandatory stops **for greenfield**: always ask, even if the user only said "build". Use `AskUserQuestion` (or platform equivalent); fall back to plain text only when no UI tool exists. They are **automatically resolved** for `local-workspace` (auto-sync) and for `existing-coded` with `has_project_id == true` (push) — see steps 8 and 9 for the branch logic.
81
+ Steps 8 and 9 are mandatory stops **for greenfield**: always ask the user, even if the user only said "build". They are **automatically resolved** for `local-workspace` (auto-sync) and for `existing-coded` with `has_project_id == true` (push) — see steps 8 and 9 for the branch logic.
82
82
 
83
83
  1. **Framework** — **Skip if `framework != none`** (already chosen — verify the right `<framework>.json` is present and continue). Else select per the [Framework Selection](#framework-selection) section below.
84
84
  2. **Setup** — Idempotent by `project_state` and `has_venv`:
@@ -165,7 +165,7 @@ Then STOP and wait. On reply, run the matching one-shot login from [../authentic
165
165
  **Finally**, run `uip codedagent eval <ENTRYPOINT> evaluations/eval-sets/smoke-test.json --no-report` (use the entrypoint name from `entry-points.json`).
166
166
  8. **Delivery target.** Single branch point. **Evaluate branches in order — Local Workspace projects also have `UIPATH_PROJECT_ID` set in `.env`, so the `local-workspace` check MUST come before the `has_project_id` check, or Local Workspace will incorrectly fall into the push branch:**
167
167
 
168
- - **(1) `project_state == local-workspace`** → Studio Web auto-syncs saves to the remote SW project, so options A and B (manual push / solution upload) are skipped — they would be redundant or break sync identity. The user may still want a local dev console. Stop and ask via `AskUserQuestion` (header `"Delivery"`, `multiSelect: false`):
168
+ - **(1) `project_state == local-workspace`** → Studio Web auto-syncs saves to the remote SW project, so options A and B (manual push / solution upload) are skipped — they would be redundant or break sync identity. The user may still want a local dev console. Stop and ask the user (single choice, "Delivery"):
169
169
 
170
170
  **Question:** *Studio Web is auto-syncing this workspace. Do you want a local dev console too?*
171
171
 
@@ -180,7 +180,7 @@ Then STOP and wait. On reply, run the matching one-shot login from [../authentic
180
180
 
181
181
  Do **not** run `uip codedagent push` for this branch (that's recovery only — see [lifecycle/local-workspace.md](lifecycle/local-workspace.md) § Studio-Web-Auto-Sync). Do **not** present options A or B.
182
182
  - **(2) `has_project_id == true` (cloud workspace, project ID already set)** → Run `uip codedagent push` to upload local edits, then continue to step 9. No fork question — the delivery choice was made in a prior session.
183
- - **(3) Else (greenfield / cloud workspace not yet wired)** → Stop and ask via `AskUserQuestion` (header `"Delivery"`, `multiSelect: false`).
183
+ - **(3) Else (greenfield / cloud workspace not yet wired)** → Stop and ask the user (single choice, "Delivery").
184
184
 
185
185
  **Question:** *How do you want to use the agent next?*
186
186
 
@@ -206,7 +206,7 @@ Then STOP and wait. On reply, run the matching one-shot login from [../authentic
206
206
  - **C** → run `uip codedagent dev` in the background; surface the URL (default `http://localhost:8080`). Prereq: `uipath-dev` (added during scaffold). **STOP — do NOT proceed to step 9.** Local dev is a terminal choice.
207
207
  - **Skip** → continue to step 9.
208
208
 
209
- 9. **Deploy.** Reachable from any `project_state` after option **Skip** at step 8 (greenfield or local-workspace), after the auto-push in branch (2), or after options **A** / **B** in greenfield. After option **C** at step 8, the run ends — do not ask. Stop and ask via `AskUserQuestion` (header `"Deploy target"`, `multiSelect: false`).
209
+ 9. **Deploy.** Reachable from any `project_state` after option **Skip** at step 8 (greenfield or local-workspace), after the auto-push in branch (2), or after options **A** / **B** in greenfield. After option **C** at step 8, the run ends — do not ask. Stop and ask the user (single choice, "Deploy target").
210
210
 
211
211
  **Question:** *Do you want to deploy the agent? If yes, which target?*
212
212
 
@@ -19,6 +19,7 @@ Reference for comparing **coded** (Python) and **low-code** (agent.json) agents.
19
19
  | Full runtime control over LLM prompts | ❌ | ✅ |
20
20
  | Multi-model / multi-framework strategies | ❌ | ✅ |
21
21
  | Fastest path to first working agent | ✅ | ❌ |
22
+ | Conversational (chat-style, multi-turn) use-cases | ✅ | currently not recommended for production, use low-code |
22
23
  | Embed inline in a flow project | ✅ | ❌ |
23
24
  | Embed as sibling project in same solution | ✅ | ✅ |
24
25
  | Invoke as published agent node in a flow | ✅ | ✅ |
@@ -27,7 +27,7 @@ Route by file type first, signal second:
27
27
  |---|---|---|---|
28
28
  | `.csv` | "add columns" / "classify every row" / "enrich vendor addresses" / "MCC categorization" / "1000 rows of structured output" | **BatchTransform** | Coded: [coded/capabilities/batch-transform/planning.md](coded/capabilities/batch-transform/planning.md). Low-code: [lowcode/capabilities/built-in-tools/batch-transform/planning.md](lowcode/capabilities/built-in-tools/batch-transform/planning.md). |
29
29
  | `.pdf` / `.txt` | "summarize" / "research across these docs" / "one narrative answer" | **DeepRAG** | Coded: [coded/capabilities/deeprag/planning.md](coded/capabilities/deeprag/planning.md). Low-code: [lowcode/capabilities/built-in-tools/deeprag/planning.md](lowcode/capabilities/built-in-tools/deeprag/planning.md). |
30
- | pre-built index, no file upload | "search the policy KB" / "look up X in our docs" | **Index search** | `sdk.context_grounding.unified_search_async` or low-code Context tool — see [coded/capabilities/context-grounding.md](coded/capabilities/context-grounding.md). |
30
+ | pre-built index, no file upload | "search the policy KB" / "look up X in our docs" | **Index search** | Consume: `sdk.context_grounding.unified_search_async` or low-code Context tool — see [coded/capabilities/context-grounding.md](coded/capabilities/context-grounding.md). Create / ingest / inspect the index from the CLI: [uipath-platform/references/context-grounding/index-management.md](../../uipath-platform/references/context-grounding/index-management.md). |
31
31
 
32
32
  ## Surface Selection
33
33