@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
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: uipath-admin
3
- description: "UiPath Admin via `uip admin` — Identity Server (users, groups, robot accounts, external OAuth2 apps, secrets), Authorization (custom roles, role assignments, permission catalog, effective-access via check-access PDP), OMS (org read/update, tenant lifecycle, service provisioning, regions, async operation polling), IP Restriction (allowlist, enforcement switch, bypass rules, lockout safety), Audit (event sources, paginated queries, ZIP or single-CSV exports — login history, compliance dumps, who-did-what-when-where on a resource). For Orchestrator-specific roles/permissions/folders/jobs→uipath-platform. For RPA workflows→uipath-rpa."
3
+ description: "UiPath Admin via `uip admin` — Identity Server (users, groups, robot accounts, external OAuth2 apps, secrets), Authorization (custom roles, role assignments, permission catalog, effective-access via check-access PDP), OMS (org read/update, tenant lifecycle, service provisioning, regions, async operation polling), IP Restriction (allowlist, enforcement switch, bypass rules, lockout safety), Audit (event sources, paginated queries, day-wise-JSON-folder or single-CSV exports — login history, compliance dumps, who-did-what-when-where on a resource). Troubleshoot: diagnose access-denied, investigate login failures, role misconfiguration, IP lockout, PAT/app auth issues. For Orchestrator-specific roles/permissions/folders/jobs→uipath-platform. For RPA workflows→uipath-rpa."
4
4
  allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
5
5
  ---
6
6
 
@@ -49,9 +49,9 @@ Administrative operations on UiPath via `uip admin` — Identity Server, Authori
49
49
 
50
50
  Activate on both **explicit audit requests** and **natural-language investigation intent** — users rarely say "audit events" by name.
51
51
 
52
- - **Explicit** — `uip admin audit` commands; list sources / targets / types; query, filter, paginate, or export events; CSV/ZIP dump of audit history for a window.
52
+ - **Explicit** — `uip admin audit` commands; list sources / targets / types; query, filter, paginate, or export events; CSV or per-day-JSON dump of audit history for a window.
53
53
  - **Query audit events** — list event sources, filter events by source / target / type / user / status / time window at org or tenant scope
54
- - **Export audit events** — chunked download from the long-term store (one call per UTC day, atomic abort on any chunk failure) as a ZIP of day-wise JSON files (default) or a single merged CSV via `--file-format csv`
54
+ - **Export audit events** — chunked download from the long-term store (one call per UTC day, atomic abort on any chunk failure) as a folder of day-wise JSON files (default) or a single merged CSV via `--file-format csv`
55
55
  - **Membership / license phrasings** — "who joined / left the organization", "who was made an admin", "license changes", "cross-tenant audit"
56
56
  - **Sign-in / authentication phrasings** — "failed/successful logins", "login history for user X", "who's been signing in"
57
57
  - **Tenant-activity phrasings** — "what happened on tenant X", "asset/queue/folder edits", "queue items processed", "job failures", "Action Center task changes", "Apps / AgentHub / Document Understanding / Integration Service / Test Manager activity"
@@ -60,6 +60,22 @@ Activate on both **explicit audit requests** and **natural-language investigatio
60
60
 
61
61
  > **Scope routing** (which phrasing → `org` vs `tenant`, and why) lives in [audit-workflow-guide.md → Audit scope disambiguation](references/audit-workflow-guide.md#audit-scope-disambiguation--route-by-user-phrasing). Critical Rule 23 governs the stop-and-ask requirement when scope is ambiguous.
62
62
 
63
+ ### Troubleshoot
64
+
65
+ Activate on **access/auth/identity troubleshooting** — users report symptoms, not audit verbs.
66
+
67
+ - **Diagnose access denied** — "user can't access X", "403 on API", "new hire has no permissions" → resolve principal, check-access, inspect role assignments. Playbook: [identity-troubleshoot-guide.md → Playbook 1](references/identity-troubleshoot-guide.md#playbook-1--user-cant-access-resource-x)
68
+ - **Investigate login failures** — "failed login attempts", "account compromised?", "suspicious sign-ins" → org-scoped audit login-history investigation. Playbook: [identity-troubleshoot-guide.md → Playbook 2](references/identity-troubleshoot-guide.md#playbook-2--suspicious-login-activity)
69
+ - **Diagnose role misconfiguration** — "custom role doesn't work", "user has role but can't do X" → inspect role actions, verify scope alignment. Playbook: [identity-troubleshoot-guide.md → Playbook 3](references/identity-troubleshoot-guide.md#playbook-3--role-misconfiguration)
70
+ - **Diagnose IP restriction lockout** — "can't access platform from new office", "all users blocked" → my-ip + ip-ranges list + enforcement get. Playbook: [identity-troubleshoot-guide.md → Playbook 4](references/identity-troubleshoot-guide.md#playbook-4--ip-restriction-lockout)
71
+ - **Diagnose PAT / external app failures** — "API returns 401", "PAT stopped working", "external app can't authenticate" → check expiry, scopes, audit for revocation. Playbook: [identity-troubleshoot-guide.md → Playbook 5](references/identity-troubleshoot-guide.md#playbook-5--pat-or-external-app-not-working)
72
+ - **Diagnose SMTP email delivery failures** — "invitations not sending", "SMTP broken" → smtp get + smtp test
73
+ - **Investigate stuck tenant operations** — "tenant create not completing", "operation stuck" → poll operation status
74
+ - **Identify service provisioning no-ops** — "service still enabled after remove" → platform-pinned services
75
+ - **Triage robot account authentication issues** — "robot not authenticating" → identity vs credential model confusion
76
+
77
+ > **Structured diagnose capability index** with failure-mode lookup and diagnostic priority ladder: [diagnose/CAPABILITY.md](references/diagnose/CAPABILITY.md). Quick investigation playbooks: [identity-troubleshoot-guide.md](references/identity-troubleshoot-guide.md).
78
+
63
79
  ## Critical Rules
64
80
 
65
81
  Each rule is the agent contract. Per-area detail is in the linked reference files.
@@ -107,7 +123,7 @@ Each rule is the agent contract. Per-area detail is in the linked reference file
107
123
  27. **Bound the time window, ISO 8601 in UTC.** Don't call `audit <scope> events` without `--from-date` and `--to-date` on a noisy tenant. Accepted formats: date-only (`2026-04-01`) or with time (`2026-04-01T14:30:00Z`). **`--to-date` is inclusive of the exact instant** — to capture a full final day, pass the start of the next day or `T23:59:59.999Z`.
108
124
  28. **`--tenant-id` is silently ignored on `org`-scoped audit commands.** If you find yourself reaching for it on `audit org events`, switch to `audit tenant` instead.
109
125
  29. **On 401 from audit, do NOT retry.** The token is missing the `Audit.Read` scope; tell the user to `uip logout && uip login`.
110
- 30. **`audit <scope> export` writes a ZIP (default) or a single merged CSV from the long-term store.** `--from-date`, `--to-date`, and `--output-file` are all required; dates per Rule 27. **`--file-format <zip|csv>`** selects the shape: `zip` (default) is one JSON file per UTC day; `csv` merges every event into one CSV — pick `csv` when the user wants a flat spreadsheet/Excel-friendly dump and `zip` for archival or per-day JSON. Match the `--output-file` extension to the format (`.zip` / `.csv`). **Never overwrite a path the user did not explicitly approve** — surface the resolved `--output-file` and confirm before running.
126
+ 30. **`audit <scope> export` writes into a base directory (`--output-path`): a uniquely-named folder of day-wise JSON files (default) or a single merged CSV.** `--from-date`, `--to-date`, and `--output-path` are all required; dates per Rule 27. `--output-path` is a **base directory** (created if missing) — **pass a directory only, never a filename or extension**; the CLI creates a uniquely-named `audit_<from>_<to>_<generated-at>` output inside it (folder for `json`, `.csv` for `csv`), so repeated exports of the same window never collide. **Do not hand-craft the per-export name.** **`--file-format <json|csv>`** selects the shape: `json` (default) = a folder of `<YYYY-MM-DD>.json` files; `csv` = one merged CSV — pick `csv` for a flat spreadsheet/Excel-friendly dump, `json` for per-day files. **Confirm the base directory with the user before running**, then report the generated `Path` (and `GeneratedAt`) from the result.
111
127
 
112
128
  ### IP Restriction
113
129
 
@@ -214,3 +230,7 @@ For per-area full checklists, follow the table's inline links: Identity → [ide
214
230
  | Audit CLI reference | [references/audit-commands.md](references/audit-commands.md) |
215
231
  | Audit investigation workflows (scope disambiguation, who-did-X, login history, date-range dump, overview) | [references/audit-workflow-guide.md](references/audit-workflow-guide.md) |
216
232
  | Paginate audit events beyond 200 | [references/audit-commands.md](references/audit-commands.md) + Rule 25 |
233
+ | Troubleshoot access denied, login failures, role misconfig, IP lockout, PAT/app auth | [references/identity-troubleshoot-guide.md](references/identity-troubleshoot-guide.md) |
234
+ | Diagnose capability index (structured) | [references/diagnose/CAPABILITY.md](references/diagnose/CAPABILITY.md) |
235
+ | Failure mode lookup (12 named patterns) | [references/diagnose/references/failure-modes.md](references/diagnose/references/failure-modes.md) |
236
+ | Diagnostic priority ladder (sequential triage) | [references/diagnose/references/troubleshooting-guide.md](references/diagnose/references/troubleshooting-guide.md) |
@@ -26,7 +26,7 @@ uip admin audit
26
26
  |---|---|
27
27
  | `audit <scope> sources` | array of `AuditEventSourceDto` |
28
28
  | `audit <scope> events` | object `{auditEvents, next, previous}` |
29
- | `audit <scope> export` | object `{Path, Bytes, Format, Days, NonEmptyDays}` (+ `Events` when `--file-format csv`) |
29
+ | `audit <scope> export` | object `{Path, Format, Bytes, Days, NonEmptyDays}` (+ `Files` for `json`, + `Events` for `--file-format csv`) |
30
30
 
31
31
  `events` is the one verb that legitimately returns an object — pagination cursors live alongside the rows. Full shape detail per verb in the sections below.
32
32
 
@@ -138,22 +138,22 @@ uip admin audit tenant events --from-date 2026-04-22T00:00:00Z --to-date 2026-04
138
138
 
139
139
  ## uip admin audit `<scope>` export
140
140
 
141
- Export the long-term audit store covering `[--from-date, --to-date]` — as a ZIP of day-wise JSON files (default) or a single merged CSV.
141
+ Export the long-term audit store covering `[--from-date, --to-date]` into a **base directory** (`--output-path`). Each run creates a uniquely-named output inside it — a folder of day-wise JSON files (default) or a single merged CSV — named `audit_<from>_<to>_<generated-at>` (generated-at to the second) so repeated exports of the same window never collide.
142
142
 
143
143
  ```bash
144
- # Default — ZIP of one JSON file per UTC day
144
+ # Default (json) — creates ./audit-exports/audit_2026-01-01_2026-02-01_<generatedAt>/ with one JSON file per UTC day
145
145
  uip admin audit tenant export \
146
146
  --from-date 2026-01-01 \
147
147
  --to-date 2026-02-01 \
148
- --output-file ./audit-jan.zip \
148
+ --output-path ./audit-exports \
149
149
  --output json
150
150
 
151
- # Single merged CSV of every event
151
+ # Single merged CSV — creates ./audit-exports/audit_2026-01-01_2026-02-01_<generatedAt>.csv
152
152
  uip admin audit tenant export \
153
153
  --from-date 2026-01-01 \
154
154
  --to-date 2026-02-01 \
155
155
  --file-format csv \
156
- --output-file ./audit-jan.csv \
156
+ --output-path ./audit-exports \
157
157
  --output json
158
158
  ```
159
159
 
@@ -161,45 +161,49 @@ uip admin audit tenant export \
161
161
 
162
162
  | Flag | Required | Description |
163
163
  |---|---|---|
164
- | `--output-file <path>` | **yes** | Where to write the export. Parent dir is created if missing; existing file is overwritten. Resolved to absolute internally. Match the extension to `--file-format` (`.zip` / `.csv`). |
164
+ | `--output-path <dir>` | **yes** | **Base directory** for the export (created if missing). **Pass a directory only — never a filename or extension**; the CLI generates the per-export name. A uniquely-named output is created inside it — a folder of day-wise JSON files (`json`) or a single `.csv` (`csv`), named `audit_<from>_<to>_<generated-at>` (generated-at to the second) so repeated exports never collide. Resolved to absolute internally. |
165
+ | `--output-file <dir>` | no | **Deprecated** alias for `--output-path` (kept for backward compatibility; treated as a base directory, not a file). Prefer `--output-path` — using `--output-file` emits a deprecation warning. |
165
166
  | `--from-date <iso>` | **yes** | Start of time interval. Both bounds are required by Commander before any HTTP call. |
166
167
  | `--to-date <iso>` | **yes** | End of time interval. |
167
- | `--file-format <zip\|csv>` | no | Output shape. `zip` (default) = one JSON file per UTC day inside a ZIP. `csv` = every event merged into a single RFC 4180 CSV under a shared header. Invalid values fail before any HTTP call with `Invalid --file-format '<v>'. Use 'zip' or 'csv'.` |
168
+ | `--file-format <json\|csv>` | no | Output shape. `json` (default) = a folder holding one `<YYYY-MM-DD>.json` file per UTC day. `csv` = every event merged into a single RFC 4180 CSV under a shared header. Invalid values fail before any HTTP call with `Invalid --file-format '<v>'. Use 'json' or 'csv'.` |
168
169
  | `--login-validity <minutes>` | no | Token-refresh hint. |
169
170
  | `--tenant-id <guid>` | no | **Tenant scope only.** Override the active tenant. |
170
171
 
171
172
  **Output `Code`:** `AuditOrgExport` / `AuditTenantExport`.
172
173
 
173
- **Output `Data`:** `Format` echoes the chosen `--file-format`. The CSV path adds `Events` (total rows written, excluding the header); the ZIP path omits it.
174
+ **Output `Data`:** `Format` echoes the chosen `--file-format`. `Path` is the **generated** output created under `--output-path` (the `audit_<from>_<to>_<generatedAt>` folder for `json`, or the `.csv` file for `csv`), and `GeneratedAt` is its ISO generation timestamp. The `json` path also reports `Files` (number of day-wise files written); the `csv` path reports `Events` (total rows, excluding the header).
174
175
 
175
176
  ```json
176
- // --file-format zip (default)
177
+ // --file-format json (default) — Path is the generated folder under the base dir
177
178
  {
178
- "Path": "C:\\absolute\\path\\to\\audit-jan.zip",
179
+ "Path": "C:\\absolute\\path\\to\\audit-exports\\audit_2026-01-01_2026-02-01_20260617T112630",
180
+ "Format": "json",
181
+ "Files": 27,
179
182
  "Bytes": 1841,
180
- "Format": "zip",
181
183
  "Days": 31,
182
- "NonEmptyDays": 27
184
+ "NonEmptyDays": 27,
185
+ "GeneratedAt": "2026-06-17T11:26:30.000Z"
183
186
  }
184
187
 
185
- // --file-format csv
188
+ // --file-format csv — Path is the generated .csv under the base dir
186
189
  {
187
- "Path": "C:\\absolute\\path\\to\\audit-jan.csv",
188
- "Bytes": 98765,
190
+ "Path": "C:\\absolute\\path\\to\\audit-exports\\audit_2026-01-01_2026-02-01_20260617T112630.csv",
189
191
  "Format": "csv",
192
+ "Bytes": 98765,
190
193
  "Days": 31,
191
194
  "NonEmptyDays": 27,
192
- "Events": 1234
195
+ "Events": 1234,
196
+ "GeneratedAt": "2026-06-17T11:26:30.000Z"
193
197
  }
194
198
  ```
195
199
 
196
200
  **Implementation notes (worth knowing for diagnostic conversations):**
197
201
 
198
202
  - Both formats share the same fetch: the CLI issues **one HTTP call per UTC day** inside `[from, to]` and aggregates the per-day responses. Mirrors the `audit-dowload-from-longterm-store.sh` pattern in the AuditService repo.
199
- - **ZIP (default):** per-day entries land at the **root of the output ZIP** named `<YYYY-MM-DD>.txt` (no folder prefix). Each `.txt` is a JSON array of events with PascalCase keys (`Id`, `CreatedOn`, `EventType`, …).
203
+ - **JSON (default):** a uniquely-named `audit_<from>_<to>_<generated-at>` **folder** is created under `--output-path`, holding one file per UTC day named `<YYYY-MM-DD>.json` (nested-ZIP entries from the server are flattened to `<inner>_<outer>.json`; same-name collisions get an iso-day suffix). The server names the per-day payloads `.txt`; the CLI writes them with a `.json` extension since each is a JSON array of events with PascalCase keys (`Id`, `CreatedOn`, `EventType`, …). Entry names are validated as safe basenames and confirmed to resolve inside the folder before any write (no path traversal / Zip-Slip).
200
204
  - **CSV:** the same per-day JSON arrays are parsed and merged into **one** RFC 4180 CSV (CRLF line endings, header row first). Columns follow the long-term-store field order — `Id, CreatedOn, OrganizationId, TenantId, ActorId, ActorName, ActorEmail, ActorDetails, EventType, EventSource, EventTarget, EventDetails, Status, ClientInfo` — with any extra server fields appended (union across events) so no data is dropped. `Status` is the numeric enum (`0`=Success, `1`=Failure); nested objects (e.g. `ClientInfo`) are JSON-stringified into the cell. String cells beginning with `= + - @` (or TAB/CR) are prefixed with a single quote to neutralize spreadsheet formula injection.
201
- - On any single-day HTTP failure (or, for CSV, a day whose payload is not valid JSON), **no file is written** and the error message identifies which day failed. Earlier successful chunks are not preserved (atomic export).
202
- - `Days` reports the total number of UTC days requested; `NonEmptyDays` reports how many actually had data. A long export with `NonEmptyDays: 0` means the window was entirely idle, not that the export failed. For CSV, `Events: 0` yields a header-only file.
205
+ - On any single-day HTTP failure (or, for CSV, a day whose payload is not valid JSON), **nothing is written** — for `json` the output folder isn't even created — and the error message identifies which day failed. Earlier successful chunks are not preserved (atomic export).
206
+ - `Days` reports the total number of UTC days requested; `NonEmptyDays` reports how many actually had data. A long export with `NonEmptyDays: 0` means the window was entirely idle, not that the export failed. For `json`, `Files` counts the day-wise files written; for `csv`, `Events: 0` yields a header-only file.
203
207
 
204
208
  ---
205
209
 
@@ -209,7 +213,7 @@ These appear on every command (not just audit) — set at the program level by t
209
213
 
210
214
  | Flag | Description |
211
215
  |---|---|
212
- | `--output <table\|json\|yaml\|plain>` | Format of the success/failure envelope on stdout. Defaults to `json`. The export file body (ZIP or CSV) is unaffected — `--output` only controls the metadata envelope, NOT `--file-format`. |
216
+ | `--output <table\|json\|yaml\|plain>` | Format of the success/failure envelope on stdout. Defaults to `json`. The exported files (the per-day JSON folder, or the CSV) are unaffected — `--output` only controls the metadata envelope, NOT `--file-format`. |
213
217
  | `--output-filter <jmespath>` | JMESPath query applied to the envelope before printing. Useful for `events`/`sources`. Less useful for `export` (envelope is small). |
214
218
  | `--log-level <debug\|info\|warn\|error>` | Logger threshold. Logs go to stderr. |
215
219
  | `--log-file <path>` | Redirect logs from stderr to a file. |
@@ -172,9 +172,9 @@ For each event:
172
172
 
173
173
  ## Investigation 3 — "Give me an audit dump for January"
174
174
 
175
- **User asks:** "Export everything for compliance for Q4." / "I need the full audit log for January for the security review." / "Pull last month's events for tenant X as a ZIP."
175
+ **User asks:** "Export everything for compliance for Q4." / "I need the full audit log for January for the security review." / "Pull last month's events for tenant X as JSON files."
176
176
 
177
- **Approach:** `export` straight to a file. Default is a ZIP of day-wise JSON files; add `--file-format csv` for a single merged CSV when the user wants a flat, spreadsheet/Excel-friendly dump. No need to query `events` first unless the user wants a preview. Match the `--output-file` extension to the format (`.zip` / `.csv`).
177
+ **Approach:** `export` straight to disk. Default (`json`) writes a **folder** of day-wise JSON files; add `--file-format csv` for a single merged CSV when the user wants a flat, spreadsheet/Excel-friendly dump. No need to query `events` first unless the user wants a preview. Pass `--output-path` a **base directory** — the CLI creates a uniquely-named `audit_<from>_<to>_<generated-at>` folder (`json`) or `.csv` (`csv`) inside it; don't hand-craft the per-export name.
178
178
 
179
179
  ### Step 1 — Confirm scope and window
180
180
 
@@ -183,11 +183,11 @@ If the user is ambiguous about scope, ask once. For compliance reviews, **both**
183
183
  ### Step 2 — Export
184
184
 
185
185
  ```bash
186
- # Tenant scope — most events (default ZIP of day-wise JSON files)
186
+ # Tenant scope — most events (default json: a uniquely-named folder of day-wise JSON files under the base dir)
187
187
  uip admin audit tenant export \
188
188
  --from-date 2026-01-01 \
189
189
  --to-date 2026-02-01 \
190
- --output-file ./audit-tenant-2026-01.zip \
190
+ --output-path ./audit-exports \
191
191
  --output json
192
192
 
193
193
  # Tenant scope as a single merged CSV (flat, Excel-friendly)
@@ -195,52 +195,53 @@ uip admin audit tenant export \
195
195
  --from-date 2026-01-01 \
196
196
  --to-date 2026-02-01 \
197
197
  --file-format csv \
198
- --output-file ./audit-tenant-2026-01.csv \
198
+ --output-path ./audit-exports \
199
199
  --output json
200
200
 
201
201
  # Org scope — admin events (memberships, license, tenant lifecycle)
202
202
  uip admin audit org export \
203
203
  --from-date 2026-01-01 \
204
204
  --to-date 2026-02-01 \
205
- --output-file ./audit-org-2026-01.zip \
205
+ --output-path ./audit-exports \
206
206
  --output json
207
207
  ```
208
208
 
209
- The CLI issues one HTTP call per UTC day under the hood. ZIP aggregates the daily responses into a flat ZIP; CSV parses the same daily JSON and merges every event into one CSV. `Days` and `NonEmptyDays` in the result tell you how many calendar days had data; for CSV, `Events` reports the total row count.
209
+ The CLI issues one HTTP call per UTC day under the hood, then creates a uniquely-named `audit_<from>_<to>_<generated-at>` output under `--output-path`: `json` writes a folder of one JSON file per UTC day; `csv` parses the same daily JSON and merges every event into one `.csv`. The result's `Path` is the generated folder/file (and `GeneratedAt` its timestamp); `Days`/`NonEmptyDays` say how many calendar days had data; `json` reports `Files`, `csv` reports `Events`.
210
210
 
211
211
  ### Step 3 — Verify the export
212
212
 
213
- **ZIP** — list the per-day entries:
213
+ **JSON (default)** — the export created a generated folder under the base dir; list its per-day files:
214
214
 
215
215
  ```bash
216
- unzip -l ./audit-tenant-2026-01.zip
216
+ ls ./audit-exports/*/ # the generated audit_<from>_<to>_<generatedAt>/ folder
217
217
  ```
218
218
 
219
- Typical layout (one entry per UTC day with events):
219
+ Typical layout (the base dir holds one generated folder; one file per UTC day with events):
220
220
 
221
221
  ```
222
- audit-tenant-2026-01.zip
223
- ├── 2026-01-01.txt
224
- ├── 2026-01-02.txt
225
- ├── ...
226
- └── 2026-01-31.txt
222
+ audit-exports/
223
+ └── audit_2026-01-01_2026-02-01_20260617T112630/
224
+ ├── 2026-01-01.json
225
+ ├── ...
226
+ └── 2026-01-31.json
227
227
  ```
228
228
 
229
- Each `.txt` is a JSON array of audit events with **PascalCase** keys (`Id`, `CreatedOn`, `OrganizationId`, `ActorId`, `ActorName`, `EventType`, …) — different from the camelCase shape returned by the live `events` endpoint. Note this in the user's hand-off if they're going to feed the dump into other tooling.
229
+ Each `.json` file is a JSON array of audit events with **PascalCase** keys (`Id`, `CreatedOn`, `OrganizationId`, `ActorId`, `ActorName`, `EventType`, …) — different from the camelCase shape returned by the live `events` endpoint. Note this in the user's hand-off if they're going to feed the dump into other tooling.
230
230
 
231
- **CSV** — inspect the header and row count:
231
+ **CSV** — find the generated file, then inspect the header and row count:
232
232
 
233
233
  ```bash
234
- head -1 ./audit-tenant-2026-01.csv # shared header (PascalCase columns)
235
- python3 -c "import csv; print(sum(1 for _ in csv.reader(open('./audit-tenant-2026-01.csv'))) - 1, 'rows')"
234
+ csv=$(ls ./audit-exports/audit_*.csv | head -1) # the generated audit_<from>_<to>_<generatedAt>.csv
235
+ head -1 "$csv" # shared header (PascalCase columns)
236
+ python3 -c "import csv,sys; print(sum(1 for _ in csv.reader(open(sys.argv[1]))) - 1, 'rows')" "$csv"
236
237
  ```
237
238
 
238
- One header row, then every event across all days as a data row (same PascalCase column names as the ZIP's JSON keys). The row count should match `Events` in the result envelope.
239
+ One header row, then every event across all days as a data row (same PascalCase column names as the JSON files' keys). The row count should match `Events` in the result envelope.
239
240
 
240
241
  Edge cases the CLI handles automatically — surface in your hand-off only if they appear:
241
242
 
242
- - **Nested ZIPs**: when a single day's response is itself a ZIP-of-ZIPs, inner files are renamed `<inner>_<outer>.txt` rather than collapsed.
243
- - **Same-name collisions**: duplicate basenames across days get an `_<YYYY-MM-DD>` suffix (and `_<YYYY-MM-DD>_2`, `_3`, … if needed) to keep entries unique.
243
+ - **Nested ZIPs**: when a single day's server response is itself a ZIP-of-ZIPs, inner files are flattened into the folder as `<inner>_<outer>.json` rather than collapsed.
244
+ - **Same-name collisions**: duplicate basenames across days get an `_<YYYY-MM-DD>` suffix (and `_<YYYY-MM-DD>_2`, `_3`, … if needed) to keep filenames unique.
244
245
 
245
246
  ### Step 4 — Hand off
246
247
 
@@ -291,7 +292,7 @@ If the user wants more depth on any one event type, drill in with Investigation
291
292
  |---|---|
292
293
  | "who" / "did" + a verb on a resource | **1** — Who did X to Y |
293
294
  | "logged in" / "login" / "authenticated" / a user's email | **2** — Login history |
294
- | "export" / "dump" / "ZIP" / "CSV" / a date range | **3** — Date-range dump |
295
+ | "export" / "dump" / "JSON" / "CSV" / a date range | **3** — Date-range dump |
295
296
  | "overview" / "what's happening" / "recent activity" / "audit summary" | **4** — Overview |
296
297
 
297
298
  Two or more signals? Run them in sequence and stitch the results in the final report. Don't make the user re-ask.
@@ -301,14 +302,14 @@ Two or more signals? Run them in sequence and stitch the results in the final re
301
302
  - **`tenant` events without an active tenant fail loudly.** If `uip login` has no tenant selected, every tenant-scoped command throws. Either re-`uip login` and pick a tenant, or pass `--tenant-id <guid>` on every call.
302
303
  - **`events` cursor pagination is chronologically reversed from intuition.** `next` = newer (often null), `previous` = older (the typical "load more"). The CLI tool follows `previous` automatically when you bump `--limit > 200` — don't re-implement this in the agent.
303
304
  - **Date-only ISO strings are interpreted as UTC midnight.** `--from-date 2026-01-01` means `2026-01-01T00:00:00Z`. To capture the full final day in `--to-date`, use `2026-02-01` (exclusive next day) or `2026-01-31T23:59:59.999Z`.
304
- - **Export format depends on `--file-format`.** The default `zip` holds one **JSON** file per UTC day (not CSV) with **PascalCase** keys; `--file-format csv` produces a single merged **CSV** whose header uses those same PascalCase field names. Both differ from the camelCase live `events` endpoint — don't paste an export into a parser expecting the live shape. In the CSV, `Status` is numeric (`0`/`1`) and `ClientInfo` is a JSON-stringified cell.
305
+ - **Export format depends on `--file-format`.** The default `json` writes one **JSON** file per UTC day (named `<YYYY-MM-DD>.json`) into a generated subfolder under `--output-path`, with **PascalCase** keys; `--file-format csv` produces a single merged **CSV** whose header uses those same PascalCase field names. Both differ from the camelCase live `events` endpoint — don't paste an export into a parser expecting the live shape. In the CSV, `Status` is numeric (`0`/`1`) and `ClientInfo` is a JSON-stringified cell.
305
306
  - **Org sources and tenant sources are different sets.** Don't reuse a GUID from `org sources` in a `tenant events` query — the filter will silently match nothing.
306
307
 
307
308
  ## Output Etiquette — after an audit query or export
308
309
 
309
310
  After every `events` or `export` call, surface the following before waiting for the user's next-step choice. Do not chain mutations.
310
311
 
311
- 1. **Operation & result** — e.g. `Found 47 audit events on tenant T in the last 7 days`, `Wrote 123,456 bytes to /path/to/audit.zip (3 days, 2 non-empty)`, or for CSV `Wrote 98,765 bytes to /path/to/audit.csv (1,234 events across 3 days, 2 non-empty)`.
312
+ 1. **Operation & result** — e.g. `Found 47 audit events on tenant T in the last 7 days`, `Wrote 27 JSON files (123,456 bytes) to /path/to/audit-jan/ (31 days, 27 non-empty)`, or for CSV `Wrote 98,765 bytes to /path/to/audit.csv (1,234 events across 31 days, 27 non-empty)`.
312
313
  2. **Scope used** (`org` or `tenant`) and any `--tenant-id` override.
313
314
  3. **Time window** — explicit ISO bounds, even if they came from a relative phrase ("last 7 days").
314
315
  4. **Filters applied** — sources, types, users, status.
@@ -0,0 +1,74 @@
1
+ # Diagnose — Investigate Identity, Authorization & Platform Failures
2
+
3
+ Capability index for diagnosing identity/auth failures, permission denials, IP restriction lockouts, and tenant operation issues via `uip admin`.
4
+
5
+ > **Where you came from / where to go next.** Diagnose is downstream of Operate (a user, app, or tenant operation failed
6
+ > or behaved unexpectedly). Source fixes — role changes, user provisioning, config updates — are Operate actions requiring
7
+ > explicit user consent after root cause analysis.
8
+ >
9
+ > **Inherits universal rules from [SKILL.md](../../SKILL.md).** Use `uip admin ... --output json` for all diagnostic reads.
10
+
11
+ ## When to use this capability
12
+
13
+ - Investigate login failures (user can't sign in, auth errors).
14
+ - Diagnose external app OAuth2 flow failures (scope mismatch, expired secret, wrong grant type).
15
+ - Triage robot account authentication confusion (identity vs credential model).
16
+ - Investigate PAT rejection (expired, revoked, insufficient scopes).
17
+ - Diagnose SMTP email delivery failures (invitations not sending).
18
+ - Investigate HTTP 403 / permission denied errors (missing role, wrong scope).
19
+ - Triage role assignments not taking effect (ownerServiceName/scope-path mismatch).
20
+ - Diagnose IP restriction lockout or unexpected enforcement behavior.
21
+ - Investigate stuck or failed tenant lifecycle operations.
22
+ - Identify service provisioning no-ops (platform-pinned services).
23
+
24
+ ## Critical rules
25
+
26
+ 1. **Diagnose reads; Operate mutates.** Do not create/delete users, assign roles, or toggle enforcement while diagnosing — present findings and let the user decide the fix.
27
+ 2. **Use the CLI as the diagnostic interface.** Run `uip admin ... --output json` for all reads.
28
+ 3. **Resolve principals before investigating.** Use `users list --search`, `groups list`, `robot-accounts list`, or `external-apps get` to resolve names to IDs before deeper queries.
29
+ 4. **Route to audit for historical investigation.** Login events are org-scoped (`audit org events`); tenant activity is tenant-scoped (`audit tenant events`). See [audit-workflow-guide.md](../audit-workflow-guide.md).
30
+ 5. **Use check-access as the primary authorization diagnostic.** The PDP (`check-access`) is the source of truth for effective permissions — it folds in server-side rules that `roles assignments list` alone may not reflect. See [check-access.md](../authorization/check-access.md).
31
+ 6. **Do not expose private data.** Redact tenant URLs, secrets, tokens, and user credentials in summaries.
32
+
33
+ ## Workflow
34
+
35
+ | Journey | Read |
36
+ |---------|------|
37
+ | Triage an identity/auth failure (sequential ladder) | [references/troubleshooting-guide.md](references/troubleshooting-guide.md) |
38
+ | Recognize a known failure pattern (lookup) | [references/failure-modes.md](references/failure-modes.md) |
39
+
40
+ ## Common tasks
41
+
42
+ | I need to... | Read |
43
+ |---|---|
44
+ | Investigate why a user can't log in | [troubleshooting guide → Step 1](references/troubleshooting-guide.md#step-1-identify-the-failure-domain) |
45
+ | Diagnose HTTP 403 / permission denied | [troubleshooting guide → Step 3](references/troubleshooting-guide.md#step-3-check-effective-access) |
46
+ | Check why a role assignment isn't working | [failure modes → Role assignment not taking effect](references/failure-modes.md#role-assignment-not-taking-effect) |
47
+ | Diagnose an external app OAuth2 failure | [failure modes → External app OAuth2 failing](references/failure-modes.md#external-app-oauth2-flow-failing) |
48
+ | Investigate PAT rejection | [failure modes → PAT rejected](references/failure-modes.md#pat-rejected) |
49
+ | Diagnose SMTP delivery failure | [failure modes → SMTP not delivering](references/failure-modes.md#smtp-emails-not-delivering) |
50
+ | Recover from IP restriction lockout | [failure modes → IP restriction lockout](references/failure-modes.md#ip-restriction-lockout) |
51
+ | Investigate a stuck tenant operation | [failure modes → Tenant operation stuck](references/failure-modes.md#tenant-operation-stuck-or-failed) |
52
+
53
+ ## Anti-patterns
54
+
55
+ - **Never assign/revoke roles while diagnosing.** Present findings first; let the user authorize mutations.
56
+ - **Never retry auth failures.** On 401, the token is missing required scopes — tell user to `uip logout && uip login`.
57
+ - **Never assume audit scope.** Login events are org-scoped; resource events are tenant-scoped. Ask if ambiguous (Rule 23).
58
+ - **Never guess principal IDs.** Always resolve via `users list --search` or equivalent before high-risk operations.
59
+ - **Never start with traces when check-access can answer the question.** The PDP is faster and more authoritative.
60
+
61
+ ## References
62
+
63
+ ### Diagnose-scoped
64
+
65
+ - [troubleshooting-guide.md](references/troubleshooting-guide.md) — diagnostic priority ladder
66
+ - [failure-modes.md](references/failure-modes.md) — recurring failure patterns
67
+
68
+ ### Cross-capability
69
+
70
+ - [authorization/check-access.md](../authorization/check-access.md) — effective access PDP
71
+ - [audit-workflow-guide.md](../audit-workflow-guide.md) — audit investigation playbooks
72
+ - [identity-commands.md](../identity-commands.md) — CLI reference for identity operations
73
+ - [ip-restriction/enforcement-management.md](../ip-restriction/enforcement-management.md) — enforcement toggle + lockout safety
74
+ - [tenants-commands.md](../tenants-commands.md) — tenant lifecycle + async operations
@@ -0,0 +1,228 @@
1
+ # Failure Modes — Identity, Authorization & Platform
2
+
3
+ Named failure patterns with symptom → cause → investigation → fix. Match the user's symptom to a pattern, then follow the investigation steps.
4
+
5
+ ---
6
+
7
+ ## User Cannot Log In
8
+
9
+ **Symptom:** User reports login failure — `uip login` returns error, Portal/UI login redirects or rejects.
10
+
11
+ **Causes:**
12
+ 1. User not provisioned (never invited or deleted)
13
+ 2. Bad credentials (password expired or incorrect)
14
+ 3. IP restriction blocking the user's IP
15
+ 4. Account locked (too many failed attempts)
16
+ 5. No org access (user exists in identity but not assigned to org)
17
+
18
+ **Investigation:**
19
+ 1. Verify user exists: `uip admin users list --search "<USER_EMAIL>" --output json`
20
+ 2. If found, check login history at **org** scope:
21
+ ```bash
22
+ uip admin audit org events --user-id "<USER_ID>" --status "Failure" \
23
+ --from-date "<7_DAYS_AGO>" --to-date "<TODAY>" --output json
24
+ ```
25
+ 3. Check IP restriction: `uip admin ip-restriction enforcement get --output json`
26
+
27
+ **Fix:** Cause 1 → invite user. Cause 2 → user resets password via Portal. Cause 3 → add IP to allowlist. Cause 4 → wait or admin unlock via Portal. Cause 5 → re-invite.
28
+
29
+ ---
30
+
31
+ ## External App OAuth2 Flow Failing
32
+
33
+ **Symptom:** CI/CD pipeline or integration returns auth errors using external app Client ID.
34
+
35
+ **Causes:**
36
+ 1. Grant type / scope mismatch — `client_credentials` with `--user-scope` (or vice versa)
37
+ 2. Secret expired or never generated
38
+ 3. Redirect URI mismatch (authorization_code flow)
39
+ 4. Non-confidential app used with `--app-scope` (rejected)
40
+ 5. Scopes don't cover the required API
41
+
42
+ **Investigation:**
43
+ 1. Inspect app config: `uip admin external-apps get "<CLIENT_ID>" --output json`
44
+ 2. Check `resources` list for scope registration vs grant type
45
+ 3. For `authorization_code` flow, verify redirect URI matches exactly
46
+
47
+ **Fix:** Cause 1 → recreate with correct scope type. Cause 2 → `external-apps generate-secret "<CLIENT_ID>" --output json` (secret shown only once). Cause 3 → `external-apps update --redirect-uri`. Cause 4 → use confidential app for app-only scopes. Cause 5 → update scopes (note: `--app-scope` on update **replaces** all scopes).
48
+
49
+ ---
50
+
51
+ ## Robot Account Not Authenticating
52
+
53
+ **Symptom:** Automation fails with "robot not authenticated" or similar credential errors.
54
+
55
+ **Causes:**
56
+ 1. Robot account does not exist
57
+ 2. Confusion between robot account (identity) and robot credentials (Orchestrator)
58
+ 3. Robot account not in the correct groups
59
+
60
+ **Investigation:**
61
+ 1. Verify robot exists: `uip admin robot-accounts list --search "<ROBOT_NAME>" --output json`
62
+ 2. Check group membership: `uip admin groups list --output json`, then `groups members list "<GROUP_ID>" --output json`
63
+
64
+ **Fix:** Cause 1 → create robot account. Cause 2 → robot accounts are **identities only** — they don't carry API credentials (Client ID + Secret). For API access, create an **external app** instead. For unattended execution, Orchestrator provisions credentials via machine connection. Cause 3 → add to appropriate group.
65
+
66
+ ---
67
+
68
+ ## PAT Rejected
69
+
70
+ **Symptom:** API call with a personal access token returns 401 or 403.
71
+
72
+ **Causes:**
73
+ 1. Token expired
74
+ 2. Token revoked
75
+ 3. Scope mismatch (token scopes don't cover the API)
76
+ 4. Per-user token limit reached (new token couldn't be created)
77
+
78
+ **Investigation:**
79
+ 1. List tokens: `uip admin pat list --output json`
80
+ 2. Check `expiration` — if past today, token is expired
81
+ 3. If the token is **absent from the list**, it was revoked (revocation is a hard delete — there is no `isRevoked` flag)
82
+ 4. Compare `scopes` against the API being called
83
+
84
+ **Fix:** Cause 1 → regenerate: `pat regenerate "<PAT_ID>" --output json`. Cause 2 → create new token (revoked tokens are deleted, not recoverable). Cause 3 → create new token with correct scopes. Cause 4 → revoke unused tokens first: `pat revoke "<PAT_ID>" --output json`.
85
+
86
+ ---
87
+
88
+ ## SMTP Emails Not Delivering
89
+
90
+ **Symptom:** Platform invitation emails, password resets, or notifications not received.
91
+
92
+ **Causes:**
93
+ 1. SMTP not configured (never set up or deleted)
94
+ 2. Connection refused (wrong host/port or firewall)
95
+ 3. Authentication failure (wrong credentials)
96
+ 4. SSL/TLS mismatch
97
+ 5. DNS resolution failure
98
+
99
+ **Investigation:**
100
+ 1. Check config: `uip admin smtp get --output json`
101
+ 2. Test delivery: `uip admin smtp test --recipient "<TEST_EMAIL>" --output json`
102
+ 3. Branch on test result error message
103
+
104
+ **Fix:** Update config with correct values: `uip admin smtp update --host "<HOST>" --port <PORT> --secure <true|false> --user "<USER>" --password "<PASS>" --output json`. Re-test after each change.
105
+
106
+ ---
107
+
108
+ ## User Gets HTTP 403 (Permission Denied)
109
+
110
+ **Symptom:** User or integration receives 403 when calling a platform API or performing a UI action.
111
+
112
+ **Causes:**
113
+ 1. No role at all for the required service
114
+ 2. Role exists but at wrong scope (org vs tenant vs folder)
115
+ 3. Role missing the specific permission action
116
+ 4. Cross-service confusion (Orchestrator role ≠ DU access)
117
+
118
+ **Investigation:**
119
+ 1. Resolve user: `uip admin users list --search "<USER_EMAIL>" --output json`
120
+ 2. Check effective access: `uip admin authorization check-access "<USER_ID>" --output json`
121
+ 3. Narrow to service: `uip admin authorization check-access "<USER_ID>" --service <SERVICE> --output json`
122
+ 4. Compare against required permission: `uip admin authorization permissions list --service <SERVICE> --output json`
123
+ 5. Label each result as `direct` or `inherited from <Group>` — see [check-access.md](../../authorization/check-access.md)
124
+
125
+ **Fix:** Cause 1 → assign a role for the service. Cause 2 → re-assign at correct scope. Cause 3 → update custom role actions or assign additional role. Cause 4 → assign role owned by the correct service.
126
+
127
+ ---
128
+
129
+ ## Role Assignment Not Taking Effect
130
+
131
+ **Symptom:** Admin assigned a role but the principal still cannot perform the expected action.
132
+
133
+ **Causes:**
134
+ 1. `ownerServiceName` / scope-path mismatch (Rule 17) — most common
135
+ 2. Role assigned at wrong scope level (TenantGlobal vs Tenant vs Folder)
136
+ 3. Role missing the needed permission action
137
+ 4. Assignment at wrong tenant
138
+
139
+ **Investigation:**
140
+ 1. Verify assignment exists: `uip admin authorization roles assignments list --filter "<PRINCIPAL_NAME>" --output json`
141
+ 2. Inspect role: `uip admin authorization roles get "<ROLE_ID>" --output json` — check `ownerServiceName` and `scopeType`
142
+ 3. Validate Rule 17: `CentralizedAccess` → no service segment in scope-path; any other value → path must include `lowercase(ownerServiceName)`
143
+ 4. Verify via PDP: `uip admin authorization check-access "<PRINCIPAL_ID>" --output json`
144
+
145
+ **Fix:** Cause 1 → re-create assignment with correct scope-path matching ownerServiceName. Cause 2 → re-assign at correct scope. Cause 3 → update role actions. Cause 4 → re-assign at correct tenant.
146
+
147
+ ---
148
+
149
+ ## Cross-Service Permission Confusion
150
+
151
+ **Symptom:** "I have a role in Orchestrator but can't access DU projects" or "CentralizedAccess role doesn't grant service-specific permissions."
152
+
153
+ **Cause:** Permissions are service-scoped — an Orchestrator role does NOT grant DU, IXP, or other service access.
154
+
155
+ **Investigation:**
156
+ 1. Check without service filter: `uip admin authorization check-access "<USER_ID>" --output json`
157
+ 2. Check with service filter: `uip admin authorization check-access "<USER_ID>" --service documentunderstanding --output json`
158
+ 3. Compare — the missing service's permissions will be absent
159
+ 4. Check role's `ownerServiceName` to confirm it belongs to the wrong service
160
+
161
+ **Fix:** Assign a role owned by the correct service, or create a new custom role scoped to that service.
162
+
163
+ ---
164
+
165
+ ## IP Restriction Lockout
166
+
167
+ **Symptom:** User or admin locked out of org after enabling IP restriction enforcement.
168
+
169
+ **Causes:**
170
+ 1. Caller's IP not in allowlist when enforcement was enabled
171
+ 2. Allowlist entry expired or was deleted
172
+
173
+ **Investigation:**
174
+ 1. Attempt: `uip admin ip-restriction enforcement get --output json`
175
+ 2. If succeeds → caller is not locked out; other users are. Check: `ip-ranges list --output json` and compare IPs
176
+ 3. If fails → caller IS locked out. Recovery: access from an in-allowlist IP, or Portal recovery flow
177
+
178
+ **Fix:** Once recovered: `enforcement disable --output json`, fix allowlist, then re-enable with pre-flight safety check (Rule 31).
179
+
180
+ ---
181
+
182
+ ## Enforcement Not Blocking as Expected
183
+
184
+ **Symptom:** IP restriction is supposedly enabled but unwanted IPs can still access the org.
185
+
186
+ **Causes:**
187
+ 1. Enforcement not actually enabled
188
+ 2. Overly permissive CIDR entry (e.g., `0.0.0.0/0`)
189
+ 3. Bypass rule too broad (regex matches all traffic)
190
+
191
+ **Investigation:**
192
+ 1. `uip admin ip-restriction enforcement get --output json`
193
+ 2. `uip admin ip-restriction ip-ranges list --output json` — check for broad CIDRs
194
+ 3. `uip admin ip-restriction bypass-rules list --output json` — check regex patterns
195
+
196
+ **Fix:** Cause 1 → enable enforcement. Cause 2 → narrow or remove overly permissive entries. Cause 3 → tighten bypass rule regex.
197
+
198
+ ---
199
+
200
+ ## Tenant Operation Stuck or Failed
201
+
202
+ **Symptom:** `tenants create/update/delete/enable/disable` returned `operationId` but operation hasn't completed.
203
+
204
+ **Causes:**
205
+ 1. Region unavailable or at capacity
206
+ 2. Required services not available in region
207
+ 3. Backend timeout (transient)
208
+ 4. Quota exceeded
209
+
210
+ **Investigation:**
211
+ 1. Poll: `uip admin organizations operation get "<OPERATION_ID>" --output json`
212
+ 2. Interpret status: `Pending`/`Queued`/`Creating`/`Updating`/`Enabling`/`Disabling`/`Deleting`/`InProgress` → still in progress (auto-poll 3× at 5s, Rule 18). `Failed` → inspect `Data.error` / `Data.message`. Terminal success statuses are verb-specific: `Created`/`Updated`/`Enabled`/`Disabled`/`Deleted`/`Done` → verify with `tenants get "<TENANT_ID>" --output json`
213
+
214
+ **Fix:** Cause 1 → try different region: `organizations regions list --output json`. Cause 2 → check catalog: `tenants services list-available --region "<REGION>" --output json`. Cause 3 → retry. Cause 4 → contact support. Do NOT auto-retry failed mutations.
215
+
216
+ ---
217
+
218
+ ## Service Provisioning No-Op
219
+
220
+ **Symptom:** `tenants services disable` or `remove` returned Success but service still shows Enabled.
221
+
222
+ **Cause:** Always-provisioned services return Success on `disable`/`remove` but the state never changes. The always-provision list is configuration-driven and varies by deployment — always re-list after mutating to confirm the actual state changed.
223
+
224
+ **Investigation:**
225
+ 1. Verify state: `uip admin tenants services list --tenant-id "<TENANT_ID>" --output json`
226
+ 2. Compare state before and after the mutation — if unchanged, the service is always-provisioned
227
+
228
+ **Fix:** CLI cannot disable/remove always-provisioned services. Redirect to UiPath Portal. Always re-list after any service mutation (Rule 22).