@uipath/skills 1.196.0 → 1.197.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 (592) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +5 -2
  3. package/CODEOWNERS +22 -7
  4. package/README.md +14 -1
  5. package/assets/skill-status.json +14 -1
  6. package/assets/uip-catalog-snapshot.json +13 -2
  7. package/hooks/hooks.json +12 -0
  8. package/hooks/send-telemetry.sh +445 -0
  9. package/hooks/suggest-permissions.sh +6 -0
  10. package/package.json +1 -1
  11. package/skills/uipath-admin/SKILL.md +24 -4
  12. package/skills/uipath-admin/references/audit-commands.md +25 -21
  13. package/skills/uipath-admin/references/audit-workflow-guide.md +26 -25
  14. package/skills/uipath-admin/references/diagnose/CAPABILITY.md +74 -0
  15. package/skills/uipath-admin/references/diagnose/references/failure-modes.md +228 -0
  16. package/skills/uipath-admin/references/diagnose/references/troubleshooting-guide.md +106 -0
  17. package/skills/uipath-admin/references/identity-troubleshoot-guide.md +251 -0
  18. package/skills/uipath-agents/SKILL.md +12 -8
  19. package/skills/uipath-agents/references/coded/capabilities/context-grounding.md +2 -0
  20. package/skills/uipath-agents/references/coded/capabilities/conversational-agents.md +2 -0
  21. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +12 -7
  22. package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +141 -1
  23. package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +2 -0
  24. package/skills/uipath-agents/references/coded/capabilities/integration-service.md +19 -33
  25. package/skills/uipath-agents/references/coded/lifecycle/bindings-reference.md +54 -22
  26. package/skills/uipath-agents/references/coded/lifecycle/build.md +1 -0
  27. package/skills/uipath-agents/references/coded/lifecycle/evaluations/evaluation-sets.md +5 -1
  28. package/skills/uipath-agents/references/coded/lifecycle/setup.md +3 -1
  29. package/skills/uipath-agents/references/coded/quickstart.md +11 -10
  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-recommend.md +3 -1
  43. package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +49 -49
  44. package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +34 -14
  45. package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +1 -1
  46. package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +2 -0
  47. package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +2 -2
  48. package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +1 -1
  49. package/skills/uipath-agents/references/lowcode/critical-rules/autonomous-critical-rules.md +15 -0
  50. package/skills/uipath-agents/references/lowcode/critical-rules/conversational-critical-rules.md +19 -0
  51. package/skills/uipath-agents/references/lowcode/{critical-rules.md → critical-rules/critical-rules.md} +25 -27
  52. package/skills/uipath-agents/references/lowcode/debug.md +6 -3
  53. package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -0
  54. package/skills/uipath-agents/references/lowcode/lowcode.md +29 -6
  55. package/skills/uipath-agents/references/lowcode/model-selection-guide.md +4 -1
  56. package/skills/uipath-agents/references/lowcode/project-lifecycle.md +20 -8
  57. package/skills/uipath-agents/references/lowcode/prompting/agent-prompting-guide.md +17 -0
  58. package/skills/uipath-agents/references/lowcode/{agent-prompting-guide.md → prompting/autonomous-agent-prompting-guide.md} +9 -11
  59. package/skills/uipath-agents/references/lowcode/prompting/conversational-agent-prompting-guide.md +123 -0
  60. package/skills/uipath-agents/references/lowcode/solution-resources.md +1 -1
  61. package/skills/uipath-api-workflow/SKILL.md +32 -12
  62. package/skills/uipath-api-workflow/references/cli-reference.md +110 -22
  63. package/skills/uipath-api-workflow/references/connector-activity-discovery.md +43 -4
  64. package/skills/uipath-api-workflow/references/troubleshooting.md +23 -7
  65. package/skills/uipath-api-workflow/references/workflow-file-format.md +25 -7
  66. package/skills/uipath-coded-apps/SKILL.md +55 -12
  67. package/skills/uipath-coded-apps/assets/fixtures/governance-dashboard-starter-kit.tar.gz +0 -0
  68. package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1371 -0
  69. package/skills/uipath-coded-apps/assets/scripts/dashboards/capability-registry.json +845 -0
  70. package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/build.mjs +338 -0
  71. package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/edit.mjs +248 -0
  72. package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/template.mjs +82 -0
  73. package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/upgrade.mjs +73 -0
  74. package/skills/uipath-coded-apps/assets/scripts/dashboards/lifecycle.mjs +207 -0
  75. package/skills/uipath-coded-apps/assets/scripts/dashboards/setup-admin-folder.mjs +146 -0
  76. package/skills/uipath-coded-apps/assets/scripts/dashboards/tests/regime-eject.test.mjs +124 -0
  77. package/skills/uipath-coded-apps/assets/scripts/dashboards/tests/resolution.test.mjs +1635 -0
  78. package/skills/uipath-coded-apps/assets/templates/action-app/app-template.css +9 -0
  79. package/skills/uipath-coded-apps/assets/templates/action-app/document-tab-template.css +139 -0
  80. package/skills/uipath-coded-apps/assets/templates/action-app/form-template.css +442 -0
  81. package/skills/uipath-coded-apps/assets/templates/action-app/index-template.css +111 -0
  82. package/skills/uipath-coded-apps/assets/templates/action-app-template.md +357 -152
  83. package/skills/uipath-coded-apps/assets/templates/web-app-template.md +255 -78
  84. package/skills/uipath-coded-apps/references/create-action-app.md +284 -195
  85. package/skills/uipath-coded-apps/references/create-web-app.md +64 -26
  86. package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +179 -0
  87. package/skills/uipath-coded-apps/references/dashboards/aesthetic/charting.md +138 -0
  88. package/skills/uipath-coded-apps/references/dashboards/aesthetic/layout-patterns.md +152 -0
  89. package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +423 -0
  90. package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +322 -0
  91. package/skills/uipath-coded-apps/references/dashboards/primitives/customization.md +66 -0
  92. package/skills/uipath-coded-apps/references/dashboards/primitives/detail-views.md +64 -0
  93. package/skills/uipath-coded-apps/references/dashboards/primitives/incremental-editor.md +92 -0
  94. package/skills/uipath-coded-apps/references/dashboards/primitives/state-file.md +64 -0
  95. package/skills/uipath-coded-apps/references/dashboards/primitives/tier-resolution.md +474 -0
  96. package/skills/uipath-coded-apps/references/debug.md +15 -21
  97. package/skills/uipath-coded-apps/references/oauth-client-setup.md +5 -5
  98. package/skills/uipath-coded-apps/references/oauth-scopes.md +64 -2
  99. package/skills/uipath-coded-apps/references/pack-publish-deploy.md +12 -5
  100. package/skills/uipath-coded-apps/references/patterns.md +10 -5
  101. package/skills/uipath-coded-apps/references/sdk/action-center.md +32 -6
  102. package/skills/uipath-coded-apps/references/sdk/agents.md +241 -0
  103. package/skills/uipath-coded-apps/references/sdk/governance-traces.md +186 -0
  104. package/skills/uipath-coded-apps/references/sdk/governance.md +72 -0
  105. package/skills/uipath-coded-apps/references/sdk/imports.md +4 -0
  106. package/skills/uipath-coded-apps/references/sdk/maestro.md +114 -0
  107. package/skills/uipath-coded-apps/references/sdk/orchestrator.md +80 -4
  108. package/skills/uipath-coded-apps/references/sdk/pagination.md +2 -0
  109. package/skills/uipath-coded-apps/references/sdk/traces.md +89 -0
  110. package/skills/uipath-coded-apps/references/widgets/validation-station.md +308 -0
  111. package/skills/uipath-coded-apps/scripts/validate-action-schema.js +241 -0
  112. package/skills/uipath-connector-builder/SKILL.md +192 -0
  113. package/skills/uipath-connector-builder/references/auth.md +171 -0
  114. package/skills/uipath-connector-builder/references/configuration.md +130 -0
  115. package/skills/uipath-connector-builder/references/debugging.md +80 -0
  116. package/skills/uipath-connector-builder/references/element-json.md +148 -0
  117. package/skills/uipath-connector-builder/references/events.md +132 -0
  118. package/skills/uipath-connector-builder/references/hooks.md +198 -0
  119. package/skills/uipath-connector-builder/references/overview.md +78 -0
  120. package/skills/uipath-connector-builder/references/standard-resources.md +111 -0
  121. package/skills/uipath-connector-builder/references/system-resources.md +85 -0
  122. package/skills/uipath-feedback/SKILL.md +43 -29
  123. package/skills/{uipath-agents/references/coded/frameworks/coded-functions.md → uipath-functions/SKILL.md} +36 -23
  124. package/skills/uipath-governance/SKILL.md +49 -8
  125. package/skills/uipath-governance/references/aops-policy/aops-policy-commands.md +10 -10
  126. package/skills/uipath-governance/references/aops-policy/aops-policy-deploy-guide.md +7 -7
  127. package/skills/uipath-governance/references/auth-context.md +101 -0
  128. package/skills/uipath-governance/references/cli-cheatsheet.md +207 -0
  129. package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +79 -0
  130. package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +141 -0
  131. package/skills/uipath-governance/references/compliance-pack/disable/impl.md +39 -0
  132. package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +164 -0
  133. package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +266 -0
  134. package/skills/uipath-governance/references/compliance-pack/partial-apply/merge-overrides-guide.md +28 -0
  135. package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +82 -0
  136. package/skills/uipath-governance/references/compliance-pack/partial-apply/synthesize-formdata-guide.md +22 -0
  137. package/skills/uipath-governance/references/compliance-pack/preview-gate.md +43 -0
  138. package/skills/uipath-governance/references/compliance-pack/query/impl.md +75 -0
  139. package/skills/uipath-governance/references/diagnose/CAPABILITY.md +71 -0
  140. package/skills/uipath-governance/references/diagnose/references/failure-modes.md +201 -0
  141. package/skills/uipath-governance/references/diagnose/references/troubleshooting-guide.md +137 -0
  142. package/skills/uipath-governance/references/disambiguation-guide.md +15 -0
  143. package/skills/uipath-governance/scripts/merge-overrides.mjs +81 -0
  144. package/skills/uipath-governance/scripts/synthesize-formdata.mjs +86 -0
  145. package/skills/uipath-human-in-the-loop/SKILL.md +30 -25
  146. package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +38 -4
  147. package/skills/uipath-human-in-the-loop/references/hitl-node-coded-action-app.md +2 -3
  148. package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +92 -34
  149. package/skills/uipath-ixp/SKILL.md +120 -0
  150. package/skills/uipath-ixp/references/cli-reference.md +121 -0
  151. package/skills/uipath-ixp/references/improve-prompts-guide.md +283 -0
  152. package/skills/uipath-ixp/references/label-documents-guide.md +207 -0
  153. package/skills/uipath-ixp/references/project-setup-guide.md +90 -0
  154. package/skills/uipath-maestro-bpmn/SKILL.md +167 -68
  155. package/skills/uipath-maestro-bpmn/references/cli-conventions.md +47 -0
  156. package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +6 -6
  157. package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +3 -3
  158. package/skills/uipath-maestro-bpmn/references/registry-workflow.md +199 -0
  159. package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +500 -0
  160. package/skills/uipath-maestro-bpmn/validator/README.md +214 -0
  161. package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +2477 -0
  162. package/skills/uipath-maestro-bpmn/validator/model.mjs +419 -0
  163. package/skills/uipath-maestro-bpmn/validator/package.json +17 -0
  164. package/skills/uipath-maestro-bpmn/validator/rules.mjs +1403 -0
  165. package/skills/uipath-maestro-bpmn/validator/samples/invalid-conditional-and-variable.bpmn +25 -0
  166. package/skills/uipath-maestro-bpmn/validator/samples/valid-baseline.bpmn +52 -0
  167. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.0.bpmn +157 -0
  168. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.1.bpmn +333 -0
  169. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.1.0.bpmn +598 -0
  170. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.2.0.bpmn +1709 -0
  171. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.2.0.bpmn +564 -0
  172. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.3.0.bpmn +671 -0
  173. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.4.0.bpmn +1045 -0
  174. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.5.0.bpmn +1176 -0
  175. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.6.0.bpmn +670 -0
  176. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.7.0.bpmn +466 -0
  177. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Can_Parse_Complex_Process_With_Task_Gateway_BoundaryEvent_etc.bpmn +74 -0
  178. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExclusiveGatewayDefaultFlow.bpmn +32 -0
  179. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExternalAgentWorkflow.bpmn +62 -0
  180. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Golden_Scenario.initial.bpmn +361 -0
  181. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/InclusiveJoinRouteAwayBranch.bpmn +62 -0
  182. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_AsyncExecution_And_Create_CorrectModel.bpmn +74 -0
  183. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_ExtractionValidation_And_Create_CorrectModel.bpmn +35 -0
  184. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_FileUpload_And_Create_CorrectModel.bpmn +33 -0
  185. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_JobAttachment_And_Create_CorrectModel.bpmn +35 -0
  186. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_SubProcess_With_Multiple_Element_Types.bpmn +76 -0
  187. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartEventWithOutputs.bpmn +36 -0
  188. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartGatewayEnd.bpmn +44 -0
  189. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all elements.bpmn +516 -0
  190. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all_sequence_flow_types.bpmn +173 -0
  191. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/demo.bpmn +181 -0
  192. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-collapsed.bpmn +126 -0
  193. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-expanded.bpmn +122 -0
  194. package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-003-collapsed_deeply-nested.bpmn +438 -0
  195. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.1.0.bpmn +87 -0
  196. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.3.0.bpmn +165 -0
  197. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ApiWorkflow.bpmn +39 -0
  198. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnNestedSubProcessTests.bpmn +102 -0
  199. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnTimerBoundaryEvents.bpmn +160 -0
  200. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithCatchAllErrorEventSubProcess.bpmn +45 -0
  201. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithSpecificErrorEventSubProcess.bpmn +46 -0
  202. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/CaseManagementWithConstantIdentifier.bpmn +218 -0
  203. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorBoundary.bpmn +78 -0
  204. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorPropagationInEventSubprocess.bpmn +340 -0
  205. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/EventBasedGatewayFirstCatcherWins.bpmn +56 -0
  206. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Example-EventBasedGateway.bpmn +117 -0
  207. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewayConditional.bpmn +45 -0
  208. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewaySharedEndEvent.bpmn +45 -0
  209. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveWithParallelGateway.bpmn +68 -0
  210. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/FourScriptTasks.bpmn +84 -0
  211. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/HitlTaskOnly.bpmn +55 -0
  212. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/InclusiveGatewayForkJoin.bpmn +69 -0
  213. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_BPMN_Elements_And_Create_CorrectModel.bpmn +20 -0
  214. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_HttpRequest_ServiceTask_And_Create_Correct_Model.bpmn +34 -0
  215. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_MessageBoundaryEvent_And_Create_CorrectModel.bpmn +87 -0
  216. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Script_Task_V2_And_Create_Correct_Model.bpmn +31 -0
  217. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Sets_Containers_Properly.bpmn +129 -0
  218. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ScriptWritesVariableThenGatewayBranches.bpmn +55 -0
  219. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/boundaryevent.bpmn +30 -0
  220. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/collapsed-subprocess.bpmn +83 -0
  221. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/connectable-types.bpmn +85 -0
  222. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/extensions-orchestrator-start-job.bpmn +80 -0
  223. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/multiparticipantpool.bpmn +77 -0
  224. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/nestedsubprocess.bpmn +36 -0
  225. package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/simple.bpmn +59 -0
  226. package/skills/uipath-maestro-bpmn/validator/test/integration.test.mjs +146 -0
  227. package/skills/uipath-maestro-bpmn/validator/test/model-helpers.mjs +42 -0
  228. package/skills/uipath-maestro-bpmn/validator/test/ported-rule-tests.mjs +983 -0
  229. package/skills/uipath-maestro-bpmn/validator/test/run-tests.mjs +530 -0
  230. package/skills/uipath-maestro-bpmn/validator/uipath-moddle.v1.json +715 -0
  231. package/skills/uipath-maestro-bpmn/validator/validate-bpmn.mjs +164 -0
  232. package/skills/uipath-maestro-case/SKILL.md +5 -1
  233. package/skills/uipath-maestro-case/assets/templates/sdd-template-examples.md +10 -0
  234. package/skills/uipath-maestro-case/assets/templates/sdd-template.md +89 -17
  235. package/skills/uipath-maestro-case/references/bindings-and-expressions.md +26 -0
  236. package/skills/uipath-maestro-case/references/case-editing-operations.md +3 -0
  237. package/skills/uipath-maestro-case/references/implementation.md +11 -4
  238. package/skills/uipath-maestro-case/references/phase-0-interview.md +8 -7
  239. package/skills/uipath-maestro-case/references/phased-execution.md +2 -1
  240. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +21 -0
  241. package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +2 -0
  242. package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +15 -9
  243. package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +131 -4
  244. package/skills/uipath-maestro-case/references/sdd-generation-rules.md +94 -17
  245. package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +1 -1
  246. package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +2 -2
  247. package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +11 -11
  248. package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/planning.md +6 -6
  249. package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +4 -1
  250. package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +157 -122
  251. package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/planning.md +16 -4
  252. package/skills/uipath-maestro-flow/references/evaluate/references/commands-reference.md +8 -8
  253. package/skills/uipath-maestro-flow/references/evaluate/references/running-guide.md +3 -3
  254. package/skills/uipath-maestro-flow/references/shared/cli-commands.md +1 -1
  255. package/skills/uipath-planner/SKILL.md +19 -8
  256. package/skills/uipath-planner/assets/templates/agent-sdd-template.md +14 -0
  257. package/skills/uipath-planner/assets/templates/api-workflow-sdd-template.md +14 -0
  258. package/skills/uipath-planner/assets/templates/case-sdd-template.md +14 -0
  259. package/skills/uipath-planner/assets/templates/coded-app-sdd-template.md +14 -0
  260. package/skills/uipath-planner/assets/templates/flow-sdd-template.md +14 -0
  261. package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +40 -5
  262. package/skills/uipath-planner/references/asdd-crosswalk-guide.md +55 -0
  263. package/skills/uipath-planner/references/attended-reauth-pattern-guide.md +43 -0
  264. package/skills/uipath-planner/references/multi-skill-patterns-guide.md +4 -0
  265. package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -0
  266. package/skills/uipath-planner/references/pdd-analysis-guide.md +24 -1
  267. package/skills/uipath-planner/references/pdd-driven-lane-guide.md +6 -2
  268. package/skills/uipath-planner/references/plan-and-tasks-format.md +2 -0
  269. package/skills/uipath-planner/references/platform-availability-guide.md +43 -0
  270. package/skills/uipath-planner/references/product-selection-guide.md +20 -0
  271. package/skills/uipath-planner/references/sdd-generation-guide.md +90 -21
  272. package/skills/uipath-planner/references/tenant-library-search-guide.md +5 -1
  273. package/skills/uipath-planner/scripts/docx-extract.sh +54 -0
  274. package/skills/uipath-planner/scripts/sdd-to-docx.sh +76 -0
  275. package/skills/uipath-platform/SKILL.md +54 -7
  276. package/skills/uipath-platform/references/context-grounding/index-management.md +123 -0
  277. package/skills/uipath-platform/references/data-fabric/bulk-import.md +86 -0
  278. package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/choice-sets.md +33 -12
  279. package/skills/uipath-platform/references/data-fabric/data-fabric.md +352 -0
  280. package/skills/uipath-platform/references/data-fabric/entity-schema.md +444 -0
  281. package/skills/uipath-platform/references/data-fabric/file-attachments.md +122 -0
  282. package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/filter-platform-contract.md +3 -3
  283. package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/records-query.md +46 -10
  284. package/skills/uipath-platform/references/integration-service/http-request.md +15 -1
  285. package/skills/uipath-platform/references/integration-service/vendor-docs-registry.json +173 -0
  286. package/skills/uipath-platform/references/uip-commands.md +12 -4
  287. package/skills/uipath-review/SKILL.md +53 -12
  288. package/skills/uipath-review/references/agents/agent-common-issues.md +1 -1
  289. package/skills/uipath-review/references/agents/agent-grading-rubric.md +133 -0
  290. package/skills/uipath-review/references/agents/agent-review-checklist.md +23 -3
  291. package/skills/uipath-review/references/agents/agents-coded-rules.md +7 -0
  292. package/skills/uipath-review/references/agents/agents-lowcode-rules.md +13 -3
  293. package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +198 -0
  294. package/skills/uipath-review/references/architecture-assessment-guide.md +2 -0
  295. package/skills/uipath-review/references/review-workflow-guide.md +9 -5
  296. package/skills/uipath-review/references/rule-catalog-workflow.md +3 -3
  297. package/skills/uipath-rpa/SKILL.md +18 -6
  298. package/skills/uipath-rpa/references/cli-reference.md +57 -3
  299. package/skills/uipath-rpa/references/common-activity-card.md +1 -1
  300. package/skills/uipath-rpa/references/connector-capabilities.md +2 -0
  301. package/skills/uipath-rpa/references/data-manipulation-guide.md +311 -0
  302. package/skills/uipath-rpa/references/environment-setup.md +0 -2
  303. package/skills/uipath-rpa/references/error-handling-guide.md +381 -0
  304. package/skills/uipath-rpa/references/is-connector-xaml-guide.md +127 -11
  305. package/skills/uipath-rpa/references/reframework-guide.md +2 -0
  306. package/skills/uipath-rpa/references/testing-guide.md +19 -0
  307. package/skills/uipath-rpa/references/ui-automation-guide.md +129 -18
  308. package/skills/uipath-rpa/references/uia-configure-target-workflows.md +22 -1
  309. package/skills/uipath-rpa/references/uia-elements-interaction-guide.md +93 -0
  310. package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +41 -4
  311. package/skills/uipath-rpa/references/xaml/common-pitfalls.md +12 -3
  312. package/skills/uipath-rpa/references/xaml/flowchart-guide.md +113 -0
  313. package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +5 -9
  314. package/skills/uipath-solution/SKILL.md +11 -8
  315. package/skills/uipath-solution/references/pack-and-deploy.md +18 -1
  316. package/skills/uipath-solution/references/solution-overview.md +3 -0
  317. package/skills/uipath-test/SKILL.md +2 -1
  318. package/skills/uipath-troubleshoot/SKILL.md +24 -26
  319. package/skills/uipath-troubleshoot/agents/depth-verifier.md +24 -25
  320. package/skills/uipath-troubleshoot/agents/hypothesis-generator.md +8 -4
  321. package/skills/uipath-troubleshoot/agents/hypothesis-tester.md +85 -38
  322. package/skills/uipath-troubleshoot/agents/presenter.md +7 -7
  323. package/skills/uipath-troubleshoot/agents/scope-checker.md +3 -6
  324. package/skills/uipath-troubleshoot/agents/shared.md +26 -21
  325. package/skills/uipath-troubleshoot/agents/triage.md +117 -49
  326. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/investigation_guide.md +43 -0
  327. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/overview.md +57 -0
  328. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-action-failed-after-find.md +100 -0
  329. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-cell-targeting-failures.md +111 -0
  330. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-element-not-found.md +125 -0
  331. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-get-text-empty-or-wrong-result.md +117 -0
  332. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-invalid-descriptor.md +102 -0
  333. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-scope-setup-failures.md +136 -0
  334. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-scroll-search-failures.md +114 -0
  335. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-server-auth-throttling-network.md +95 -0
  336. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-silent-failures-and-false-results.md +124 -0
  337. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/presentation.md +8 -0
  338. package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/summary.md +15 -0
  339. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/investigation_guide.md +42 -0
  340. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/overview.md +41 -0
  341. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/connect-to-database-failures.md +104 -0
  342. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-non-query-failures.md +97 -0
  343. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-query-failures.md +134 -0
  344. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/start-transaction-failures.md +94 -0
  345. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/presentation.md +10 -0
  346. package/skills/uipath-troubleshoot/references/activity-packages/database-activities/summary.md +10 -0
  347. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/investigation_guide.md +27 -9
  348. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/overview.md +51 -10
  349. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/append-range-failures.md +146 -0
  350. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/delete-range-failures.md +126 -0
  351. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-card-failures.md +139 -0
  352. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-scope-failures.md +118 -0
  353. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/execute-macro-failures.md +149 -0
  354. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-range-failures.md +145 -0
  355. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/presentation.md +12 -7
  356. package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +6 -0
  357. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/investigation_guide.md +1 -0
  358. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/overview.md +12 -4
  359. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/connection-and-auth-failures.md +55 -0
  360. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/drive-file-not-found.md +18 -10
  361. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/get-newest-email-not-found.md +9 -8
  362. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/invalid-or-null-input.md +68 -0
  363. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/transient-and-timeout-errors.md +52 -0
  364. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/upload-storage-quota-exceeded.md +1 -1
  365. package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/summary.md +5 -2
  366. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/overview.md +28 -0
  367. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/delete-outlook-mail-failures.md +105 -0
  368. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/get-outlook-mail-failures.md +109 -0
  369. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/move-outlook-mail-failures.md +97 -0
  370. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/send-outlook-mail-failures.md +95 -0
  371. package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/summary.md +8 -0
  372. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/investigation_guide.md +23 -0
  373. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/overview.md +9 -0
  374. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/application-scope-misconfigured.md +49 -0
  375. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/authentication-token-invalid.md +53 -0
  376. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/copy-item-argument-null.md +34 -0
  377. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/create-folder-invalid-path.md +36 -0
  378. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/download-file-conversion-or-destination.md +40 -0
  379. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/drive-item-not-found.md +1 -1
  380. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/email-trigger-connection-event-failure.md +45 -0
  381. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/insufficient-graph-scope.md +44 -0
  382. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/legacy-mail-null-reference.md +43 -0
  383. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-folder-not-found.md +4 -3
  384. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-invalid-odata-query.md +43 -0
  385. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-message-not-found.md +45 -0
  386. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/request-throttled.md +45 -0
  387. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/send-mail-rejected.md +52 -0
  388. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/transient-service-error.md +48 -0
  389. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/upload-file-quota-or-size.md +47 -0
  390. package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/summary.md +15 -1
  391. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/investigation_guide.md +32 -0
  392. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/overview.md +38 -0
  393. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/invoke-method-failures.md +57 -0
  394. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/invoke-python-method-pipe-is-broken.md +44 -0
  395. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/load-script-failures.md +62 -0
  396. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-path-not-valid.md +39 -0
  397. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-architecture-version-mismatch.md +41 -0
  398. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/working-folder-relative-path.md +34 -0
  399. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/presentation.md +9 -0
  400. package/skills/uipath-troubleshoot/references/activity-packages/python-activities/summary.md +12 -0
  401. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-activity-bug-silent-failure.md +1 -1
  402. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-robot-not-authenticated.md +29 -22
  403. package/skills/uipath-troubleshoot/references/activity-packages/system-activities/summary.md +1 -1
  404. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/investigation_guide.md +30 -0
  405. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/overview.md +36 -0
  406. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-malformed-input.md +36 -0
  407. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-null-input.md +35 -0
  408. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-type-mismatch.md +40 -0
  409. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-client-null-reference.md +34 -0
  410. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-connection-failure.md +48 -0
  411. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-timeout.md +40 -0
  412. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/net-http-request-aggregate-failure.md +38 -0
  413. package/skills/uipath-troubleshoot/references/activity-packages/web-activities/summary.md +13 -0
  414. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/investigation_guide.md +55 -0
  415. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/overview.md +82 -0
  416. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/add-picture-failures.md +51 -0
  417. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/append-text-missing-container.md +31 -0
  418. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/append-text-zero-byte-file.md +32 -0
  419. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-com-hang.md +46 -0
  420. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-missing-output-dir.md +32 -0
  421. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-output-path-format.md +35 -0
  422. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-doc-format.md +30 -0
  423. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-missing-container.md +29 -0
  424. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-protected-view.md +32 -0
  425. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-com-busy.md +35 -0
  426. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-file-locked.md +33 -0
  427. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-headers-textboxes-skipped.md +30 -0
  428. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-length-limit.md +30 -0
  429. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-loop-template-overwrite.md +31 -0
  430. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-multiline-formatting.md +31 -0
  431. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-silent-no-substitution.md +32 -0
  432. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-version-mismatch.md +30 -0
  433. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-interop-failures.md +52 -0
  434. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-start-background-session0.md +50 -0
  435. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-export-pdf-com-wrong-thread.md +46 -0
  436. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-open-sharepoint-url-com-command-failed.md +45 -0
  437. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-cannot-create-unknown-type.md +30 -0
  438. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-com-not-installed.md +35 -0
  439. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-file-corrupted.md +34 -0
  440. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-file-path-not-found.md +36 -0
  441. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-hangs-background-prompt.md +34 -0
  442. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/presentation.md +11 -0
  443. package/skills/uipath-troubleshoot/references/activity-packages/word-activities/summary.md +38 -0
  444. package/skills/uipath-troubleshoot/references/products/integration-service/investigation_guide.md +9 -0
  445. package/skills/uipath-troubleshoot/references/products/integration-service/overview.md +7 -0
  446. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-invalid.md +9 -0
  447. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-aggregate-exception.md +30 -0
  448. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-general-exception.md +43 -0
  449. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-null-reference.md +36 -0
  450. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-remote-exception.md +31 -0
  451. package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-runtime-exception.md +40 -0
  452. package/skills/uipath-troubleshoot/references/products/integration-service/summary.md +5 -0
  453. package/skills/uipath-troubleshoot/references/products/maestro/investigation_guide.md +2 -1
  454. package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +105 -10
  455. package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-logon-failure.md +1 -1
  456. package/skills/uipath-troubleshoot/references/summary.md +59 -3
  457. package/skills/uipath-troubleshoot/schemas/evidence.schema.md +48 -0
  458. package/skills/uipath-troubleshoot/schemas/hypotheses.schema.md +22 -7
  459. package/skills/uipath-troubleshoot/schemas/scope-check.schema.md +1 -1
  460. package/skills/uipath-troubleshoot/schemas/state.schema.md +81 -6
  461. package/version-manifest.json +2 -2
  462. package/skills/uipath-data-fabric/SKILL.md +0 -239
  463. package/skills/uipath-data-fabric/references/bulk-import.md +0 -73
  464. package/skills/uipath-data-fabric/references/entity-schema.md +0 -391
  465. package/skills/uipath-data-fabric/references/file-attachments.md +0 -65
  466. package/skills/uipath-maestro-bpmn/.maintenance/README.md +0 -241
  467. package/skills/uipath-maestro-bpmn/.maintenance/check-all.sh +0 -41
  468. package/skills/uipath-maestro-bpmn/.maintenance/check-anchors.sh +0 -83
  469. package/skills/uipath-maestro-bpmn/.maintenance/check-depth.sh +0 -132
  470. package/skills/uipath-maestro-bpmn/.maintenance/check-link-text.sh +0 -123
  471. package/skills/uipath-maestro-bpmn/.maintenance/check-links.sh +0 -70
  472. package/skills/uipath-maestro-bpmn/.maintenance/check-orphans.sh +0 -93
  473. package/skills/uipath-maestro-bpmn/.maintenance/check-plugin-pairs.sh +0 -39
  474. package/skills/uipath-maestro-bpmn/.maintenance/check-real-pack.sh +0 -79
  475. package/skills/uipath-maestro-bpmn/.maintenance/check-template.sh +0 -42
  476. package/skills/uipath-maestro-bpmn/.maintenance/check-uip-commands.sh +0 -266
  477. package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.py +0 -1255
  478. package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.sh +0 -8
  479. package/skills/uipath-maestro-bpmn/fixtures/validation/README.md +0 -94
  480. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/agent-invocation.bpmn +0 -62
  481. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/bindings_v2.json +0 -37
  482. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/entry-points.json +0 -21
  483. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/operate.json +0 -9
  484. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/package-descriptor.json +0 -10
  485. package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/project.uiproj +0 -7
  486. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/bindings_v2.json +0 -68
  487. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/contract-variants.bpmn +0 -270
  488. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/entry-points.json +0 -25
  489. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/operate.json +0 -9
  490. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/package-descriptor.json +0 -10
  491. package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/project.uiproj +0 -7
  492. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/bindings_v2.json +0 -19
  493. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/entry-points.json +0 -25
  494. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/gateway-boundary-error.bpmn +0 -91
  495. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/operate.json +0 -9
  496. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/package-descriptor.json +0 -10
  497. package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/project.uiproj +0 -7
  498. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/bindings_v2.json +0 -4
  499. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/entry-points.json +0 -25
  500. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/imported-brownfield-preservation.bpmn +0 -63
  501. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/operate.json +0 -9
  502. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/package-descriptor.json +0 -10
  503. package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/project.uiproj +0 -7
  504. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/bindings_v2.json +0 -52
  505. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/entry-points.json +0 -21
  506. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/integration-service-enriched.bpmn +0 -65
  507. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/operate.json +0 -9
  508. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/package-descriptor.json +0 -10
  509. package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/project.uiproj +0 -7
  510. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/bindings_v2.json +0 -4
  511. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/entry-points.json +0 -25
  512. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/linear-process.bpmn +0 -55
  513. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/operate.json +0 -9
  514. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/package-descriptor.json +0 -10
  515. package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/project.uiproj +0 -7
  516. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/bindings_v2.json +0 -20
  517. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/entry-points.json +0 -17
  518. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/operate.json +0 -9
  519. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/package-descriptor.json +0 -10
  520. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/project.uiproj +0 -7
  521. package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/registry-coverage-matrix.bpmn +0 -207
  522. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/bindings_v2.json +0 -4
  523. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/entry-points.json +0 -33
  524. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/operate.json +0 -9
  525. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/package-descriptor.json +0 -10
  526. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/project.uiproj +0 -7
  527. package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/subprocess-multi-instance.bpmn +0 -94
  528. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/bindings_v2.json +0 -124
  529. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/entry-points.json +0 -25
  530. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/operate.json +0 -9
  531. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/package-descriptor.json +0 -10
  532. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/project.uiproj +0 -7
  533. package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/wrapper-family-contract.bpmn +0 -151
  534. package/skills/uipath-maestro-bpmn/references/author/CAPABILITY.md +0 -141
  535. package/skills/uipath-maestro-bpmn/references/author/references/brownfield.md +0 -48
  536. package/skills/uipath-maestro-bpmn/references/author/references/editing-operations.md +0 -75
  537. package/skills/uipath-maestro-bpmn/references/author/references/greenfield.md +0 -41
  538. package/skills/uipath-maestro-bpmn/references/author/references/planning-arch.md +0 -82
  539. package/skills/uipath-maestro-bpmn/references/author/references/planning-impl.md +0 -104
  540. package/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/impl.md +0 -34
  541. package/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/planning.md +0 -38
  542. package/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/impl.md +0 -37
  543. package/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/planning.md +0 -28
  544. package/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/impl.md +0 -36
  545. package/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/planning.md +0 -29
  546. package/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/impl.md +0 -67
  547. package/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/planning.md +0 -29
  548. package/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/impl.md +0 -29
  549. package/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/planning.md +0 -33
  550. package/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/impl.md +0 -32
  551. package/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/planning.md +0 -34
  552. package/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/impl.md +0 -42
  553. package/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/planning.md +0 -30
  554. package/skills/uipath-maestro-bpmn/references/author/references/plugins/integration-service/impl.md +0 -134
  555. package/skills/uipath-maestro-bpmn/references/author/references/plugins/integration-service/planning.md +0 -67
  556. package/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/impl.md +0 -50
  557. package/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/planning.md +0 -29
  558. package/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/impl.md +0 -29
  559. package/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/planning.md +0 -29
  560. package/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/impl.md +0 -35
  561. package/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/planning.md +0 -29
  562. package/skills/uipath-maestro-bpmn/references/author/references/plugins/script/impl.md +0 -118
  563. package/skills/uipath-maestro-bpmn/references/author/references/plugins/script/planning.md +0 -30
  564. package/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/impl.md +0 -30
  565. package/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/planning.md +0 -30
  566. package/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/impl.md +0 -33
  567. package/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/planning.md +0 -31
  568. package/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/impl.md +0 -33
  569. package/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/planning.md +0 -46
  570. package/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/impl.md +0 -59
  571. package/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/planning.md +0 -37
  572. package/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/impl.md +0 -40
  573. package/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/planning.md +0 -34
  574. package/skills/uipath-maestro-bpmn/references/author/references/supported-elements.md +0 -123
  575. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/README.md +0 -29
  576. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/agent-job.md +0 -36
  577. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/api-workflow.md +0 -29
  578. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/business-rule.md +0 -18
  579. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/call-activity.md +0 -56
  580. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/hitl.md +0 -17
  581. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/http-request.md +0 -119
  582. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/queue.md +0 -21
  583. package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/rpa-job.md +0 -23
  584. package/skills/uipath-maestro-bpmn/references/author/references/validation.md +0 -118
  585. package/skills/uipath-maestro-bpmn/references/shared/bpmn-xml-contract.md +0 -197
  586. package/skills/uipath-maestro-bpmn/references/shared/cli-conventions.md +0 -46
  587. package/skills/uipath-maestro-bpmn/references/shared/error-handling.md +0 -82
  588. package/skills/uipath-maestro-bpmn/references/shared/variables-bindings-expressions.md +0 -150
  589. package/skills/uipath-maestro-bpmn/references/shared/wrapper-shells.md +0 -554
  590. /package/skills/uipath-maestro-bpmn/references/{shared/expression-authoring.md → expression-authoring.md} +0 -0
  591. /package/skills/uipath-maestro-bpmn/references/{shared/public-safety.md → public-safety.md} +0 -0
  592. /package/{agents → skills/uipath-rpa/agents}/uipath-project-discovery-agent.md +0 -0
@@ -4,13 +4,15 @@ Scaffold a production-ready UiPath Coded Action App — a React form component r
4
4
 
5
5
  ## What Is a Coded Action App?
6
6
 
7
- When an automation creates a human task (via `CreateFormTask` or similar), the assigned action app is rendered in Action Center for the reviewer. The app:
8
- - Receives input data from the automation (read-only)
9
- - Collects output data from the reviewer (editable)
7
+ When an automation creates a human task (via `CreateAppTask` RPA activity/Maestro `User Task`/Agent `Escalation`/Flow `HITL node`), the assigned action app is rendered in Action Center for the reviewer. The app:
8
+ - Receives input data from the automation (inputs are read-only)
9
+ - Collects inout and output data from the reviewer (inouts are pre-populated and editable and outputs are filled in by the reviewer)
10
10
  - Submits with an outcome button (e.g., Approve, Reject)
11
11
 
12
12
  The data contract is defined in `action-schema.json`.
13
13
 
14
+ > **Document Understanding validation app?** If the user wants a human-review form for DU extraction results (correct fields, edit tables, approve a document), embed the **Validation Station widget** instead of generating a custom form. Follow [widgets/validation-station.md](widgets/validation-station.md) — it replaces the `src/components/Form.tsx` produced by Q4 below.
15
+
14
16
  ---
15
17
 
16
18
  ## Pre-flight: Collect Required Information
@@ -18,95 +20,186 @@ The data contract is defined in `action-schema.json`.
18
20
  Ask these questions **one at a time, in order**. Do not start writing files until all answers are collected.
19
21
 
20
22
  ### Q1 — App name
21
- > "What is the name of your action app? This will be the project folder name (e.g., `loan-review-app`)."
23
+ > "What is the name of your action app? This will be the project folder name and app url (e.g., `loan-review-app`)."
22
24
 
23
25
  Convert to lowercase kebab-case. Store as `<app-name>`.
24
26
 
25
- ### Q2 — Routing name
26
- > "What routing name should this app use in Action Center? This becomes the URL path (e.g., `loan-review`). Lowercase letters, digits, and hyphens only. 4–32 characters."
27
+ ### Q2 — Use case
27
28
 
28
- Auto-convert spaces/underscores to hyphens and uppercase to lowercase. Validate the pattern and length. Confirm the final value. Store as `<routing-name>`.
29
+ Ask:
30
+ > "What do you want this action app to do? Describe the use case — what the reviewer sees, what data it works with, and where that data comes from."
29
31
 
30
- ### Q3 — SDK services (optional)
32
+ Store the description. **Do not deduce services yet** — that happens in Q4, after the action schema is defined. The schema (especially how documents/files are modelled) determines which services the app needs, so define the contract first.
31
33
 
32
- From the user's **request**, determine whether the app needs to call UiPath platform services (Data Fabric, Orchestrator, Buckets, etc.). Do **not** ask the user to pick from a list.
34
+ ### Q3 — Action schema
33
35
 
34
- If services are needed: read [oauth-scopes.md](oauth-scopes.md) to determine the required scopes, then proceed to Q3a.
36
+ Collect the data contract for this app. Ask field-by-field. Do not generate files until the schema is confirmed.
35
37
 
36
- If no platform services are apparent from the request: skip to Q4. No SDK setup needed beyond `@uipath/coded-action-app`.
38
+ #### Field types reference
37
39
 
38
- After deducing scopes, present them to the user:
39
- > "Based on your request, the required OAuth scopes are: `<scopes>`. Reply ok to use these, or tell me what to change."
40
+ The **authoritative** list of supported types/formats and structural rules lives in one place — the validator script [scripts/validate-action-schema.js](../scripts/validate-action-schema.js), which mirrors the UiPath CLI's own schema validator. Run `node scripts/validate-action-schema.js --show-types` for the current type list. The table below is a quick authoring summary; the validator is the source of truth.
40
41
 
41
- ### Q3a — Environment (only if SDK needed)
42
+ | Type | Notes |
43
+ |------|-------|
44
+ | `string` | Optional `format: "uuid"` or `format: "date"` (`format` is allowed on `string` only) |
45
+ | `number` | Floating-point |
46
+ | `integer` | Whole numbers only |
47
+ | `boolean` | `true` / `false` |
48
+ | `array` | Must specify `items` (element type). Nested arrays not supported |
49
+ | `object` | Must specify nested `properties` (record of further fields, each following the same rules) |
50
+ | `file` | A file reference from the automation. In task data the field's value is an **object whose root member is `ID`** (the attachment id), i.e. `formData.<field>.ID`. Fetch the file with the TypeScript SDK `AttachmentsService.getById(formData.<field>.ID)` |
42
51
 
43
- Ask:
44
- > "Which UiPath environment are you targeting? `cloud` (production), `staging`, or `alpha`?"
52
+ Every field also supports an optional `description` string.
45
53
 
46
- Map the answer to the cloud host:
54
+ For each field collect: **name** (camelCase), **type**, **required** (yes/no), optional **description**, optional **format** (if type=`string`), the **items type** if type=`array`, and the nested **properties** if type=`object`.
47
55
 
48
- | Environment | Cloud Host |
49
- |---|---|
50
- | cloud | `https://cloud.uipath.com` |
51
- | staging | `https://staging.uipath.com` |
52
- | alpha | `https://alpha.uipath.com` |
56
+ #### Q3-doc — Document / file handling (whenever the use case involves a file, document, or storage bucket)
53
57
 
54
- Store the cloud host as `<cloud-host>`. This value is used to build the redirect URI in Q3b — **do not** skip this step and default to `https://cloud.uipath.com`, or staging/alpha users will register a redirect URI that never matches at runtime.
58
+ If the use case (Q2) involves **any** file, document, or attachment — displaying it, downloading it, or otherwise handling it — **ask explicitly how the file reaches the app — do not assume.**
55
59
 
56
- ### Q3b — Client ID (only if SDK needed)
60
+ > **Critical — "from a storage bucket" is NOT a decision.** A request like *"load a PDF from a storage bucket"* does **not** mean the user chose the bucket-reference path. **Both** options below use storage buckets internally — a direct **file input** uses an *internal* storage bucket that is hidden from the user (the SDK manages it via Attachments), while a **filePath input** points at an *existing* file in a bucket the user manages. Because the phrasing is ambiguous, you MUST clarify every time; never let the words "storage bucket" short-circuit the question.
57
61
 
58
62
  Ask:
59
- > "Do you have an existing OAuth External Application client ID?
60
- > It needs these scopes: `<deduced-scopes>` and this redirect URI: `<cloud-host>/<orgName>/<tenantName>/actions_`
61
- >
62
- > - If yes, paste it
63
- > - If no, say **"create one"** and I'll set it up via browser automation"
64
-
65
- **If the user says "create one":** Follow [oauth-client-setup.md Step 2 (Setup B)](oauth-client-setup.md#step-2-ensure-playwright-is-available) to install Playwright into `~/.uipath-skills/playwright/`. Do **not** install into the user's app (`npm install -D playwright` adds ~300MB to devDependencies for a tool that runs once or twice).
66
63
 
67
- Then read [oauth-client-setup.md](oauth-client-setup.md) and follow it to create the External Application with the scopes above and redirect URI `<cloud-host>/<orgName>/<tenantName>/actions_` — pass `<cloud-host>` as `--cloud-host` to the script.
64
+ > "How does the file reach this app — both use storage buckets under the hood, so I need to know which:
65
+ > 1. **Direct file input** — the automation hands the file input to the task.
66
+ > 2. **File path (string) input** — you pass the path/name of a file that already lives in a Storage Bucket you manage, and the app reads it from there.
67
+ > 3. **Data Fabric attachment** — the file is an attachment on a Data Fabric entity record."
68
68
 
69
- Store the resulting client ID as `<client-id>`.
69
+ Construct the schema field according to the answer:
70
70
 
71
- ### Q4 — Action schema
71
+ | Answer | Schema field(s) | Services implied (feed Q4) | How the file is fetched |
72
+ |--------|-----------------|----------------------------|-------------------------|
73
+ | Direct file input | one `type: "file"` field — a file reference from the automation (has an ID in task data) | Attachments | `AttachmentsService.getById()` (TypeScript SDK) |
74
+ | File path (string) input | one `type: "string"` field for the file path (plus a `string` for bucket name if not fixed) | Buckets | `bucketService.getReadUri()` — see the PDF viewer step |
75
+ | Data Fabric attachment | a `type: "file"` field, or a `string` attachment id per the entity field | Entities (Data Fabric) + Attachments | Data Fabric entity record → attachment |
72
76
 
73
- Collect the data contract for this app. Ask field-by-field.
77
+ Record the implied services — they are inputs to the Q4 deduction.
74
78
 
75
- #### Q4a — Input fields
79
+ #### Q3a — Input fields
76
80
  > "How many INPUT fields does this form have? (Read-only data passed in from the automation — e.g., applicant name, loan amount.) Enter 0 if none."
77
81
 
78
- For each input field, collect: **name** (camelCase), **type** (`string` / `number` / `integer` / `boolean` / `array` / `object`), **required** (yes/no), optional **description**, and if type is `array` the items type.
79
-
80
- #### Q4b — Output fields
82
+ For each input field ask:
83
+ > "Input field [N]:
84
+ > - Name (camelCase):
85
+ > - Type (`string` / `number` / `integer` / `boolean` / `array` / `object` / `file`):
86
+ > - Required? (`yes` / `no`):
87
+ > - Description (optional, press Enter to skip):
88
+ > - *(if type=`string`)* Format? (`uuid` / `date` / none):
89
+ > - *(if type=`array`)* Items type (cannot be `array`):
90
+ > - *(if type=`object`)* Define nested properties now? (describe them one by one):"
91
+
92
+ #### Q3b — Output fields
81
93
  > "How many OUTPUT fields does this form have? (Fields the reviewer fills in — e.g., review notes, risk rating.) Enter 0 if none."
82
94
 
83
- Same sub-questions as Q4a.
95
+ Same sub-questions as Q3a.
84
96
 
85
- #### Q4c — InOut fields
97
+ #### Q3c — InOut fields
86
98
  > "How many INOUT fields does this form have? (Pre-populated but editable by the reviewer.) Enter 0 if none."
87
99
 
88
- Same sub-questions.
100
+ Same sub-questions as Q3a.
89
101
 
90
- #### Q4d — Outcomes
102
+ #### Q3d — Outcomes
91
103
  > "What are the outcome buttons for this task? Enter comma-separated names (e.g., `Approve, Reject, Escalate`)."
92
104
 
93
- #### Q4e — Hidden fields (optional)
105
+ Each outcome becomes a `string`-typed property in the `outcomes` section.
106
+
107
+ #### Q3e — Hidden fields
94
108
  > "Are there any fields that should NOT be shown as form inputs (e.g., internal IDs passed silently)? If yes, list names comma-separated. Press Enter to skip."
95
109
 
96
- Hidden fields are included in `action-schema.json` and in the `FormData` interface but omitted from the JSX.
110
+ Hidden fields are included in `action-schema.json` and in the `FormData` interface but omitted from the JSX which is rendered.
111
+
112
+ #### Validate the schema (required before proposing it)
113
+
114
+ Before showing the schema to the user, **validate it** with the schema validator — the single source of truth for what is and isn't supported:
115
+
116
+ ```bash
117
+ node <skill-dir>/scripts/validate-action-schema.js <path-to-action-schema.json>
118
+ # or pipe it: echo '<schema-json>' | node <skill-dir>/scripts/validate-action-schema.js -
119
+ ```
120
+
121
+ Exit `0` = valid. On exit `1`, fix every reported `path: message` (it flags unsupported types, `format` on non-`string`, missing `items` on arrays, nested arrays, missing/malformed sections) and re-run until it passes. Never propose or write an `action-schema.json` that has not passed the validator.
97
122
 
98
123
  #### Confirm the schema
99
- Show the complete `action-schema.json` to the user and ask:
100
- > "Does this look correct? Reply ok to generate the project, or tell me what to change."
124
+ Once it validates, show the complete `action-schema.json` and explain the structure:
125
+ - All four sections (`inputs`, `outputs`, `inOuts`, `outcomes`) always present — use `"properties": {}` for empty sections.
126
+ - Each section has `"type": "object"` and a `properties` map.
127
+ - `array` fields include an `items` object with its own `type`.
128
+ - `object` fields include a `properties` map of nested fields.
129
+ - `format` and `description` appear only when provided.
130
+
131
+ Ask:
132
+ > "Does this look correct? Reply ok to continue, or tell me what to change."
133
+
134
+ ### Q4 — UiPath services & authentication
135
+
136
+ Now deduce whether the app needs UiPath platform services, using **both** the use case (Q2) **and** the confirmed action schema (Q3) — especially the document-handling choice. Do **not** ask the user to pick from a list — infer.
137
+
138
+ Treat the app as needing UiPath services if it references anything covered by the SDK reference files in this folder — e.g. Data Fabric / Entities / ChoiceSets, Storage Buckets, Orchestrator (Assets, Queues, Processes, Tasks), Maestro Processes / Instances / Incidents, Cases, or Conversational Agent. Reading or writing files, querying entity records, starting processes, fetching assets/queue items, or AI chat all imply SDK services. In addition, from Q3-doc:
139
+ - a `file`-typed field implies the **Attachments** service
140
+ - a storage-bucket file path implies **Buckets**
141
+ - a Data Fabric attachment implies **Entities + Attachments**
142
+
143
+ If the deduction surfaces **Storage Buckets** and Q3-doc was not already asked for that file, go back and ask the file-input-vs-bucket-reference question now — never assume a bucket reference without confirming.
144
+
145
+ **If you deduce one or more services:**
146
+ 1. Read [oauth-scopes.md](oauth-scopes.md) to map the deduced services to their required scopes.
147
+ 2. Confirm the services with the user before proceeding:
148
+ > "Based on your use case and schema, this app needs these UiPath services: `<services>`, which require OAuth scopes: `<scopes>`. Reply ok to use these, or tell me what to change."
149
+ 3. After confirmation, proceed to Q4a.
150
+
151
+ **If you cannot deduce any UiPath service**, confirm and skip to Q5:
152
+ > "I don't see any UiPath platform services needed here, so no External Application client ID is required. The app will use only `@uipath/coded-action-app`. Reply ok, or tell me if it does need to call a UiPath service."
101
153
 
102
- ### Q5 — Form layout (optional)
103
- > "Describe the form's layout and style — purpose, visual arrangement, colour preferences. Press Enter for a clean default layout."
154
+ #### Q4a — Environment (only if SDK needed)
155
+
156
+ Ask:
157
+ > "Which UiPath environment are you targeting? `cloud` (production), `staging`, or `alpha`?"
158
+
159
+ Map the answer to the cloud host:
160
+
161
+ | Environment | Cloud Host |
162
+ |---|---|
163
+ | cloud | `https://cloud.uipath.com` |
164
+ | staging | `https://staging.uipath.com` |
165
+ | alpha | `https://alpha.uipath.com` |
166
+
167
+ Store the cloud host as `<cloud-host>`. It tells the External-App creation step (Q4b) which org/environment portal to target — **do not** skip it and default to `https://cloud.uipath.com`, or staging/alpha users will create the External App in the wrong environment. It is also passed as the redirect URI in Q4b: the create form requires one, but an action app never performs a browser OAuth redirect, so the value is inert at runtime — it only needs to satisfy the mandatory field, not match anything.
168
+
169
+ #### Q4b — Client ID (only if SDK needed)
170
+
171
+ Ask:
172
+ > "Do you have an existing OAuth External Application client ID?
173
+ > It needs these scopes: `<deduced-scopes>`
174
+ >
175
+ > - If yes, paste it
176
+ > - If no, say **"create one"** and I'll set it up via browser automation"
177
+
178
+ **If the user says "create one":** Follow [oauth-client-setup.md Step 2 (Setup B)](oauth-client-setup.md#step-2-ensure-playwright-is-available) to install Playwright into `~/.uipath-skills/playwright/`. Do **not** install into the user's app (`npm install -D playwright` adds ~300MB to devDependencies for a tool that runs once or twice).
179
+
180
+ Then read [oauth-client-setup.md](oauth-client-setup.md) and follow it to create the External Application with the scopes above — pass `<cloud-host>` as `--cloud-host` **and** as `--redirects <cloud-host>`. The portal's create form requires at least one redirect URI, so pass `<cloud-host>` to satisfy it; the value is harmless and unused — an action app runs inside Action Center's iframe with a host-injected session and never performs a browser OAuth redirect (Critical Rule 17). The External App is needed only for its client ID and scopes (written to `uipath.json`).
181
+
182
+ Store the resulting client ID as `<client-id>`.
183
+
184
+ ### Q5 — Form layout
185
+ > "Describe any layout or style preferences — visual arrangement, colour/brand, copy. Press Enter to use the polished default layout (gradient header, sectioned cards, sticky action footer, light/dark theme)."
186
+
187
+ Whatever the user provides here is layered **on top of** the default template layout and overrides it. If they press Enter, use the template as-is (adapted to the schema).
104
188
 
105
189
  ---
106
190
 
107
191
  ## Project Scaffolding
108
192
 
109
- After collecting all answers, scaffold the project. Use the file templates in [assets/templates/action-app-template.md](../assets/templates/action-app-template.md) as starting points for all generated files.
193
+ After collecting all answers, scaffold the project. **[assets/templates/action-app-template.md](../assets/templates/action-app-template.md) is the default inspiring layout** — build from it. It provides the complete baseline: the `src/index.css` design system (light/dark tokens, fonts, blue gradient accent), `src/App.tsx` + `src/App.css` (`app-shell`), `src/main.tsx`, `vite.config.ts`, `src/uipath.ts`, and a `Form.tsx` / `Form.css` with an animated gradient header, sectioned cards, and a sticky outcome footer.
194
+
195
+ > **Default layout rules:**
196
+ > 1. **Default `Form` is form-only — no document/PDF tab.** Only add the optional `DocumentTab` (PDF viewer step) when the use case requires showing a document.
197
+ > 2. **Adapt the schema-specific parts** — `FormData`, defaults, labels, sections, formatting, outcome buttons — to the confirmed `action-schema.json`.
198
+ > 3. **Customer instructions (Q5) always win.** Layer the user's requested colours, layout, copy, and structure on top of this baseline; fall back to the baseline only where they gave no direction.
199
+ > 4. **CSS ships as files — copy, don't retype.** The four stylesheets live as real files under [assets/templates/action-app/](../assets/templates/action-app/). Copy them byte-for-byte into the project; never regenerate them from memory. Byte-exact copying is what makes the default UI identical across every scaffold.
200
+ > 5. **Customization is token-first.** Satisfy colour/brand/font/radius requests by editing the design tokens in `src/index.css` (`:root` / `body.dark`) **only** — leave the component stylesheets untouched. Edit `Form.css` / `DocumentTab.css` only for **structural** changes the tokens can't express.
201
+
202
+ The sections below describe the schema-driven adaptations; copy the CSS files verbatim (per rules 4–5) and copy the small TS scaffolding (`main.tsx`, `vite.config.ts`, `App.tsx`) from the template for the parts they don't override.
110
203
 
111
204
  ```bash
112
205
  npm create vite@latest <app-name> -- --template react-ts
@@ -119,25 +212,31 @@ If SDK services are needed:
119
212
  ```bash
120
213
  npm install @uipath/uipath-typescript --@uipath:registry=https://registry.npmjs.org
121
214
  ```
122
-
123
- > **Why the registry flag?** Users may have `@uipath` scoped to GitHub Packages in their `.npmrc`, which requires authentication and causes a 401. The flag forces these packages to install from the public npm registry.
124
-
125
215
  ---
126
216
 
127
217
  ## Generated Files
128
218
 
129
219
  ### `action-schema.json`
130
220
 
131
- Write to the project root. All four sections are always present — use `"properties": {}` for empty sections.
221
+ Write the confirmed schema (the one that passed [scripts/validate-action-schema.js](../scripts/validate-action-schema.js) in Q3) to the project root. Re-run the validator on the written file as a final check. Example:
132
222
 
133
223
  ```json
134
224
  {
135
225
  "inputs": {
136
226
  "type": "object",
137
227
  "properties": {
138
- "applicantName": { "type": "string", "required": true, "description": "Full name" },
139
- "loanAmount": { "type": "number", "required": false },
140
- "documentIds": { "type": "array", "required": false, "items": { "type": "string" } }
228
+ "applicantName": { "type": "string", "required": true, "description": "Full name" },
229
+ "loanAmount": { "type": "number", "required": false },
230
+ "applicationId": { "type": "string", "required": true, "format": "uuid" },
231
+ "submittedAt": { "type": "string", "required": false, "format": "date" },
232
+ "documentIds": { "type": "array", "required": false, "items": { "type": "string" } },
233
+ "contract": { "type": "file", "required": false, "description": "Loan contract document" },
234
+ "metadata": {
235
+ "type": "object", "required": false,
236
+ "properties": {
237
+ "source": { "type": "string", "required": false }
238
+ }
239
+ }
141
240
  }
142
241
  },
143
242
  "outputs": {
@@ -160,8 +259,48 @@ Write to the project root. All four sections are always present — use `"proper
160
259
  }
161
260
  }
162
261
  ```
262
+ ---
263
+
264
+ ### `src/uipath.ts`
265
+
266
+ Copy the without-/with-SDK setup verbatim from the template's [`src/uipath.ts` section](../assets/templates/action-app-template.md). For the "with SDK services" variant, uncomment only the service exports the app uses (e.g. `Entities`, `Attachments`).
267
+
268
+ > **NEVER call `sdk.initialize()` in an action app** (Critical Rule 17). Construct `new UiPath()` (no args, no `.env`) and use it directly — Action Center's iframe injects the session at runtime. `sdk.initialize()` starts a PKCE OAuth redirect that only works in a standalone web app and breaks inside the iframe.
269
+
270
+ ---
271
+
272
+ ### `uipath.json` (only if SDK services are needed)
273
+
274
+ Write to the project root **only when SDK services are needed** (Q4 deduced one or more services). Project-root config consumed by the `uip codedapp` CLI for deployment. Substitute `<scopes>` (confirmed in Q4) and `<client-id>` (from Q4b). Keep it in sync if scopes or client ID change later.
275
+
276
+ ```json
277
+ {
278
+ "scope": "<scopes>",
279
+ "clientId": "<client-id>"
280
+ }
281
+ ```
282
+
283
+ Without SDK services there is no OAuth client, so **do not** write `uipath.json` — the app uses only `@uipath/coded-action-app` and needs no scopes or client ID.
284
+
285
+ ---
286
+
287
+ ### `src/index.css`, `src/App.css`, `src/main.tsx`
163
288
 
164
- **TypeScript ↔ JSON schema type mapping:**
289
+ - `src/index.css` — copy [assets/templates/action-app/index-template.css](../assets/templates/action-app/index-template.css) byte-for-byte. Carries the design system (light/dark tokens, fonts, accent palette). For brand/colour/font requests, edit the `:root` / `body.dark` token values **here** (token-first rule) — do not touch component CSS.
290
+ - `src/App.css` — copy [assets/templates/action-app/app-template.css](../assets/templates/action-app/app-template.css) byte-for-byte (`app-shell` wrapper; no changes).
291
+ - `src/main.tsx` — copy verbatim from the template's `src/main.tsx` section (Vite entry that imports `index.css`).
292
+
293
+ ### `src/App.tsx`
294
+
295
+ Copy verbatim from the template's [`src/App.tsx` section](../assets/templates/action-app-template.md) — no schema-driven changes. It owns dark/light theme state and the `app-shell` wrapper: the task theme seeds it once via `onInitTheme`, the user flips it with the header toggle via `onToggleTheme`, and a single effect keeps `<body>` in sync for both paths.
296
+
297
+ ---
298
+
299
+ ### `src/components/Form.tsx`
300
+
301
+ Start from the template's `Form.tsx` (gradient header, sectioned cards, sticky footer, form-only by default) and adapt it to the schema using these rules:
302
+
303
+ **TypeScript `FormData` interface** — one property per field across all inputs, outputs, and inouts. Map schema types to TypeScript as follows:
165
304
 
166
305
  | Schema type | TypeScript type | Initial value |
167
306
  |-------------|-----------------|---------------|
@@ -169,176 +308,126 @@ Write to the project root. All four sections are always present — use `"proper
169
308
  | `number` | `number` | `0` |
170
309
  | `integer` | `number` | `0` |
171
310
  | `boolean` | `boolean` | `false` |
172
- | `array` | `ItemType[]` | `[]` |
173
- | `object` | `Record<string, unknown>` | `{}` |
311
+ | `array` | `<itemsType>[]` (e.g. `string[]`) | `[]` |
312
+ | `object` | a named nested interface, or `Record<string, unknown>` | `{}` |
313
+ | `file` | `{ ID: string }` (the root `ID` member is the attachment id) | `{ ID: '' }` |
174
314
 
175
- ---
315
+ > For a `file` field, read the attachment id from the root `ID` member — `formData.<field>.ID` — and pass it to `AttachmentsService.getById()` to fetch the bytes. Do not treat the field value as a plain string or URL.
176
316
 
177
- ### `src/uipath.ts`
317
+ Collect these initial values into a `const defaultFormData: FormData = { ... }` (as in the template) — the task-initialisation merge below reuses it.
178
318
 
179
- Without SDK services:
180
- ```typescript
181
- import { CodedActionAppService } from '@uipath/coded-action-app';
319
+ **Imports:**
320
+ - Without SDK services: `import { codedActionAppService } from '../uipath';`
321
+ - With SDK services: `import { codedActionAppService, <serviceInstance> } from '../uipath';` (add the named service exports the component uses, e.g. `entities`, `buckets`)
322
+ - Always: `import { Theme } from '@uipath/coded-action-app';` (`MessageSeverity` is also exported from this package)
182
323
 
183
- export const codedActionAppService = new CodedActionAppService();
324
+ **Service accessor:** call `codedActionAppService.getTask()`, `.completeTask()`, `.setTaskData()`, `.showMessage()` directly. Call any SDK services via their named imports (e.g. `bucketService.getAll(...)`).
325
+
326
+ **Theme helper** (always include):
327
+ ```typescript
328
+ const isDarkTheme = (theme: Theme): boolean =>
329
+ theme === Theme.Dark || theme === Theme.DarkHighContrast;
184
330
  ```
185
331
 
186
- With SDK services:
332
+ **Theme toggle (always include).** `Form` takes `darkTheme: boolean` and `onToggleTheme: () => void` props from `App`. Render a `.theme-toggle` button in the header's top-right (inside `.review-header__actions`, alongside the read-only badge) that calls `onToggleTheme` and swaps a sun/moon icon based on `darkTheme`. The task theme seeds the initial mode via `onInitTheme(isDarkTheme(task.theme))`; the toggle lets the reviewer override it. Copy the button + CSS from the template.
333
+
334
+ **Task initialisation** (always include):
335
+
336
+ > **`getTask().data` only contains `inputs` and `inOuts` the first time — NOT `outputs`.** Outputs are blank until the reviewer fills them in, so they are absent from the initial payload. Do **not** assume every schema field is present. **Merge `task.data` over the fully-initialized `FormData` defaults** (`{ ...defaultFormData, ...task.data }`) so output fields keep their initial values instead of becoming `undefined` — binding an input to an `undefined` value triggers React's controlled/uncontrolled warning and can crash on `.length`/`.ID` access.
337
+
187
338
  ```typescript
188
- import { UiPath } from '@uipath/uipath-typescript/core';
189
- import { Entities } from '@uipath/uipath-typescript/entities'; // example
190
- import { CodedActionAppService } from '@uipath/coded-action-app';
339
+ const [isReadOnly, setIsReadOnly] = useState(false);
340
+
341
+ useEffect(() => {
342
+ codedActionAppService.getTask().then((task) => {
343
+ // Merge over defaults — task.data has inputs + inOuts only, never outputs on first load.
344
+ const merged = task.data
345
+ ? { ...defaultFormData, ...(task.data as Partial<FormData>) }
346
+ : defaultFormData;
347
+ setFormData(merged);
348
+ setIsReadOnly(task.isReadOnly);
349
+ onInitTheme(isDarkTheme(task.theme));
350
+ });
351
+ }, [onInitTheme]);
352
+ ```
353
+
354
+ Merge over the explicit `defaultFormData` object (not over `prev`) so output fields keep their initial values and the merge never depends on stale batched state. This matches the template's `Form.tsx`.
355
+
356
+ > **`folderId` — capture only when an SDK service needs it.** Folder-scoped Orchestrator services (Buckets, Assets, Queues, Processes, Jobs) and Data Fabric/Entities (optionally) require the task's `folderId` passed in the call. **Only if** the app calls one of those, add `const [folderId, setFolderId] = useState<number | null>(null);` and `setFolderId(task.folderId);` inside the `.then()`. Attachments are not folder-scoped — omit `folderId` entirely when the app uses only those or no SDK services (the form-only template omits it).
357
+
358
+ **Change handlers** — see the template's `Form.tsx` for the implementation. Two non-obvious rules:
359
+ 1. **Every edit must call `codedActionAppService.setTaskData(updated)`** after `setFormData` so Action Center persists in-progress data — not a generic React pattern.
360
+ 2. **Parse `number`/`integer` fields to a number** (`Number(value)`, guarding `''`/`NaN`); never bind them to a string-only handler, or the value stays a string and breaks `Number.isFinite`/numeric validation and any arithmetic.
191
361
 
192
- const sdk = new UiPath();
193
- export const codedActionAppService = new CodedActionAppService();
194
- export const entities = new Entities(sdk); // example
362
+ **Outcome handlers** — one `async` function per outcome:
363
+ ```typescript
364
+ const handle<OutcomeName> = async () => {
365
+ await codedActionAppService.completeTask('<OutcomeName>', formData);
366
+ };
195
367
  ```
196
368
 
369
+ **JSX rendering rules:**
370
+ | Field type | Renders as |
371
+ |------------|------------|
372
+ | `inputs` field | `<input readOnly value={formData.<name>} />` — never editable |
373
+ | `inOuts` / `outputs` field (`string`) | `<input value={formData.<name>} onChange={handleTextChange} readOnly={isReadOnly} />` |
374
+ | `inOuts` / `outputs` field (`number` / `integer`) | `<input type="number" value={formData.<name>} onChange={handleNumberChange} readOnly={isReadOnly} />` |
375
+ | Outcome button | `<button onClick={handle<Name>} disabled={!isFormValid}>` |
376
+
377
+ **Hidden fields** — any field whose name appears in the hidden-fields list (Q3e) must be **omitted entirely from the JSX**. Do not render a label or input element for it. The field must still be present in the `FormData` interface, the initial state object, and submitted via `setTaskData`/`completeTask` — it is only invisible in the UI.
378
+
379
+ `isFormValid` must be `false` when `isReadOnly` is `true` or when any required output/inout field (that is **not** hidden) is empty.
380
+
197
381
  ---
198
382
 
199
- ### `src/App.tsx`
383
+ ### `src/components/Form.css`
200
384
 
201
- ```typescript
202
- import { useState, useCallback } from 'react';
203
- import Form from './components/Form';
204
-
205
- function App() {
206
- const [darkTheme, setDarkTheme] = useState(false);
207
-
208
- const handleInitTheme = useCallback((isDark: boolean) => {
209
- setDarkTheme(isDark);
210
- document.body.className = isDark ? 'dark' : 'light';
211
- }, []);
212
-
213
- return (
214
- <div className={darkTheme ? 'dark' : 'light'}>
215
- <Form onInitTheme={handleInitTheme} />
216
- </div>
217
- );
218
- }
385
+ Copy [assets/templates/action-app/form-template.css](../assets/templates/action-app/form-template.css) byte-for-byte to `src/components/Form.css`. It styles the gradient header (`.review-header`), section cards (`.form-section`, `.form-title`), the responsive `.form-grid`, inputs (incl. read-only/dashed treatment), the sticky `.form-buttons` footer with primary/secondary `.outcome-btn`, and the entrance/header animations, all on the `index.css` design-system tokens.
219
386
 
220
- export default App;
221
- ```
387
+ Edit `Form.css` only for **structural** Q5 changes the tokens can't express — drop classes for sections you removed, add classes for new ones, apply a two-column grid or a top summary card. Colour/brand/font changes go in the `index.css` tokens (token-first rule), **not** here. Customer styling instructions override the baseline.
222
388
 
223
389
  ---
224
390
 
225
- ### `src/components/Form.tsx`
391
+ ### PDF viewer (when displaying PDF documents)
226
392
 
227
- Generate based on the collected schema. Key patterns:
393
+ **When to use this step:** Any time the app needs to display a PDF — whether from a Storage Bucket, a blob, a direct URL, or a file reference. This applies both when building from scratch and when reviewing existing code.
228
394
 
229
- ```typescript
230
- import { useState, useEffect, ChangeEvent } from 'react';
231
- import { Theme } from '@uipath/coded-action-app';
232
- import { codedActionAppService } from '../uipath';
233
- import './Form.css';
234
-
235
- // Generate from schema — one property per field across all sections
236
- interface FormData {
237
- applicantName: string; // input
238
- loanAmount: number; // input
239
- reviewerNotes: string; // output
240
- riskScore: number; // output
241
- }
395
+ The document source was already settled in **Q3-doc** (direct file input → Attachments, file path (string) input → Buckets, Data Fabric attachment → Entities + Attachments). If it was not — e.g. the user only said "load a PDF from a storage bucket" — go back and ask Q3-doc first; that phrasing does not pick a path. Fetching the bytes for any of those is straightforward — get the file from the service, build a blob URL (`URL.createObjectURL(blob)`), and pass it to the viewer below as `fileUrl`. The part agents get wrong is the **rendering** inside Action Center's sandboxed iframe — that is what the example below exists to get right.
242
396
 
243
- const isDarkTheme = (theme: Theme) =>
244
- theme === Theme.Dark || theme === Theme.DarkHighContrast;
397
+ #### Anti-pattern warning — ALWAYS enforce
245
398
 
246
- interface FormProps {
247
- onInitTheme: (isDark: boolean) => void;
248
- }
399
+ > **If the user's code or plan uses `<embed>`, `<object>`, `<iframe src="...">`, or any browser-native PDF embedding tag to display PDFs, stop and warn them:**
400
+ >
401
+ > "`<embed>`, `<object>`, and `<iframe>` PDF rendering will not work inside UiPath Action Center. Action Center loads coded apps inside a sandboxed iframe with strict CSP/sandbox attributes that block browser-native PDF plugins entirely. You must use an open-source JavaScript PDF renderer instead. Please review the implementation below."
402
+ >
403
+ > Then present the pattern from this section and ask the user to confirm before generating.
249
404
 
250
- function Form({ onInitTheme }: FormProps) {
251
- const [formData, setFormData] = useState<FormData>({
252
- applicantName: '', loanAmount: 0,
253
- reviewerNotes: '', riskScore: 0,
254
- });
255
- const [isReadOnly, setIsReadOnly] = useState(false);
256
-
257
- useEffect(() => {
258
- codedActionAppService.getTask().then((task) => {
259
- if (task.data) setFormData(task.data as FormData);
260
- setIsReadOnly(task.isReadOnly);
261
- onInitTheme(isDarkTheme(task.theme));
262
- });
263
- }, [onInitTheme]);
264
-
265
- const handleChange = (e: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
266
- if (isReadOnly) return;
267
- const { name, value } = e.target;
268
- const updated = { ...formData, [name]: value };
269
- setFormData(updated);
270
- codedActionAppService.setTaskData(updated);
271
- };
272
-
273
- // isFormValid: false when read-only OR when required output/inout fields are empty
274
- const isFormValid = !isReadOnly && Boolean(formData.riskScore);
275
-
276
- // One async handler per outcome
277
- const handleApprove = async () =>
278
- codedActionAppService.completeTask('Approve', formData);
279
- const handleReject = async () =>
280
- codedActionAppService.completeTask('Reject', formData);
281
-
282
- return (
283
- <form className="action-form">
284
- {/* Input fields — always readOnly */}
285
- <label>Applicant Name
286
- <input readOnly value={formData.applicantName} />
287
- </label>
288
-
289
- {/* Output fields — editable unless isReadOnly */}
290
- <label>Review Notes
291
- <textarea
292
- name="reviewerNotes"
293
- value={formData.reviewerNotes}
294
- onChange={handleChange}
295
- readOnly={isReadOnly}
296
- />
297
- </label>
298
-
299
- {/* Outcome buttons — disabled when form is invalid */}
300
- <div className="actions">
301
- <button type="button" onClick={handleApprove} disabled={!isFormValid}>Approve</button>
302
- <button type="button" onClick={handleReject} disabled={!isFormValid}>Reject</button>
303
- </div>
304
- </form>
305
- );
306
- }
405
+ #### Required package
406
+
407
+ Add `react-pdf` to `dependencies` in `package.json` and install it:
307
408
 
308
- export default Form;
409
+ ```bash
410
+ npm install react-pdf
309
411
  ```
310
412
 
311
- **Rendering rules:**
312
- - `inputs` fields → `readOnly` always
313
- - `outputs` fields → editable, `readOnly={isReadOnly}`
314
- - `inOuts` fields → editable, `readOnly={isReadOnly}`
315
- - Hidden fields (from Q4e) → omit from JSX entirely, but keep in `FormData` interface and initial state
413
+ `react-pdf` bundles `pdfjs-dist` as a peer dependency; the worker URL is set at module level via the unpkg CDN (no extra webpack/vite config needed).
316
414
 
317
- ---
415
+ #### Component & styles — copy from the template
318
416
 
319
- ### `vite.config.ts`
417
+ Copy `src/components/DocumentTab.tsx` verbatim from the template's [DocumentTab section](../assets/templates/action-app-template.md), and copy [assets/templates/action-app/document-tab-template.css](../assets/templates/action-app/document-tab-template.css) byte-for-byte to `src/components/DocumentTab.css`. The component is a generic PDF viewer: it takes a ready-to-render `fileUrl` (a `blob:` URL or direct URL) and owns paging, zoom, download, and the pdf.js worker setup. **The parent fetches the bytes** from whatever source Q3-doc settled on (Attachments / Buckets / Data Fabric), builds the URL with `URL.createObjectURL(blob)`, and passes it in as `fileUrl`. No schema-driven changes are needed inside the component.
320
418
 
321
- `base: './'` is **always required** — the platform handles URL routing at runtime:
419
+ ---
322
420
 
323
- ```typescript
324
- import { defineConfig } from 'vite';
325
- import react from '@vitejs/plugin-react';
421
+ ### `vite.config.ts`
326
422
 
327
- export default defineConfig({
328
- plugins: [react()],
329
- base: './',
330
- });
331
- ```
423
+ `base: './'` is **always required** — the platform handles URL routing at runtime. Copy verbatim from the template's `vite.config.ts` section; no changes needed.
332
424
 
333
425
  ---
334
426
 
335
427
  ## Deploy Action App
336
428
 
337
- ```bash
338
- npm run build
339
- uip codedapp pack dist -n <app-name> -v 1.0.0
340
- uip codedapp publish -t Action # -t Action is required
341
- uip codedapp deploy
342
- ```
429
+ If the app uses SDK services, confirm `uipath.json` exists at the project root with `scope` and `clientId` populated before packing — the `uip codedapp` CLI reads it during pack.
430
+
431
+ Full pack/publish/deploy pipeline, options, folder-key resolution, and troubleshooting live in **[pack-publish-deploy.md](pack-publish-deploy.md)**. Follow it for deployment — with one mandatory override below.
343
432
 
344
- See [pack-publish-deploy.md](pack-publish-deploy.md) for full deployment options.
433
+ > **Critical — always publish action apps with `--type Action`.** `uip codedapp publish` defaults to `--type Web`. An action app published without `--type Action` registers as a Web app and will **not** bind to Action Center tasks. Pass `--type Action` on **every** publish of this app — first deploy and every version update. Never omit it, never rely on the default.