@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
@@ -0,0 +1,73 @@
1
+ // Use-case flow: project-wide UPGRADE — refresh the disposable scaffold framework
2
+ // over a project, migrate intent, regenerate every widget from durable state, and
3
+ // re-validate. Extracted from build-dashboard.mjs; shared primitives are imported
4
+ // back from it (benign cycle — used only at call time).
5
+
6
+ import { execSync } from 'child_process'
7
+ import { join, dirname } from 'path'
8
+ import { existsSync, readFileSync } from 'fs'
9
+ import { runIntentMigrations, runPrewarm, buildVersions, checkSdkVersion, readScaffoldVersion } from '../lifecycle.mjs'
10
+ import {
11
+ log, fail, emit, writeAtomic, setWidgetsDir, assertScaffoldExtracted,
12
+ rebuildAllWidgets, generateDashboardFiles, injectAppRoutes, collectKeyedViews,
13
+ runMetricsTypecheck, STATE_SCHEMA_VERSION,
14
+ } from '../build-dashboard.mjs'
15
+
16
+ /**
17
+ * Upgrade an existing dashboard to the current scaffold: refresh the disposable
18
+ * framework, migrate intent.json, regenerate widgets/views from durable intent +
19
+ * on-disk metric modules, re-validate, and re-stamp versions. The durable set
20
+ * (intent.json, src/metrics, .dashboard, and uipath.json — the SDK config) is
21
+ * preserved. The framework refresh extracts the starter-kit archive with the OS tar (see CAPABILITY.md).
22
+ * @param {string} P resolved project dir
23
+ * @param {object} state parsed state.json
24
+ * @param {string} intentPath edit-intent path (for the migrations dir + retry signal)
25
+ */
26
+ export async function runUpgrade(P, state, intentPath) {
27
+ // Best-effort dirty-tree warning — upgrade regenerates disposable files.
28
+ try {
29
+ const dirty = execSync(`git -C "${P}" status --porcelain`, { stdio: 'pipe' }).toString().trim()
30
+ if (dirty) log('⚠ Project has uncommitted changes — upgrade regenerates disposable files (your intent.json + src/metrics are preserved).')
31
+ } catch { /* not a git repo — nothing to check */ }
32
+
33
+ // 1. Refresh the disposable scaffold framework: the agent re-extracts the
34
+ // latest starter-kit archive over the project before --upgrade (preserving
35
+ // src/metrics, intent.json, and uipath.json — the SDK config the plugin
36
+ // injects). Verify the fresh kit is present and point at its templates.
37
+ assertScaffoldExtracted(P)
38
+ setWidgetsDir(join(P, '_gen', 'widgets'))
39
+
40
+ // 2. Migrate intent.json if present (no-op today — empty registry).
41
+ const intentJsonPath = join(P, 'intent.json')
42
+ if (existsSync(intentJsonPath)) {
43
+ const migrated = await runIntentMigrations(
44
+ JSON.parse(readFileSync(intentJsonPath, 'utf8')),
45
+ join(dirname(intentPath), 'migrations'),
46
+ )
47
+ writeAtomic(intentJsonPath, JSON.stringify(migrated, null, 2))
48
+ }
49
+
50
+ // 3. Ensure deps, then regenerate from durable intent + on-disk metric modules.
51
+ const LOCK_SIGNAL = join(P, 'node_modules', '.package-lock.json')
52
+ if (!existsSync(LOCK_SIGNAL)) { log('⚙ Installing dependencies…'); await runPrewarm(P) }
53
+ rebuildAllWidgets(P, state, state.timeRange ?? '30d')
54
+ const widgetMeta = Object.entries(state.widgets ?? {}).map(([name, info]) => ({ componentName: name, template: info.template ?? 'ranked-table' }))
55
+ generateDashboardFiles(P, widgetMeta, state.app?.name ?? 'Dashboard', state.app?.description ?? '')
56
+ injectAppRoutes(
57
+ P,
58
+ Object.keys(state.widgets ?? {}).filter(n => existsSync(join(P, 'src', 'dashboard', 'views', `${n}View.tsx`))),
59
+ collectKeyedViews(P, state),
60
+ )
61
+
62
+ // 4. Validate: Stage A (metric modules in isolation) then the full app.
63
+ const stageA = runMetricsTypecheck(P)
64
+ if (!stageA.ok) { emit('METRICS_RETRY', { files: stageA.files, errors: stageA.errors, intentPath }); process.exit(2) }
65
+ try { execSync('npx tsc --noEmit', { cwd: P, stdio: 'pipe' }) }
66
+ catch (e) { emit('TSC_FAIL', { errors: (e.stdout?.toString() || '').slice(0, 1000) }); fail('Upgrade produced TypeScript errors') }
67
+
68
+ // 5. Re-stamp + persist.
69
+ state.schemaVersion = STATE_SCHEMA_VERSION
70
+ state.versions = buildVersions(checkSdkVersion(P).version, readScaffoldVersion(P))
71
+ writeAtomic(join(P, '.dashboard', 'state.json'), JSON.stringify(state, null, 2))
72
+ emit('UPGRADE_DONE', { to: readScaffoldVersion(P), widgets: Object.keys(state.widgets ?? {}) })
73
+ }
@@ -0,0 +1,207 @@
1
+ // Project-lifecycle utilities for the dashboard build pipeline — versioning,
2
+ // dependency pre-warm, SDK-version check, and dev-server teardown. Extracted from
3
+ // build-dashboard.mjs to keep that file focused on generation + orchestration.
4
+ //
5
+ // These functions depend only on small primitives (emit/log/writeAtomic) and a few
6
+ // constants from build-dashboard.mjs; they never call the widget/view generators, so
7
+ // there is no tight coupling. (The import from build-dashboard.mjs forms a benign
8
+ // runtime cycle — every cross-reference is used inside a function body, never at
9
+ // module-evaluation time, so the live bindings are resolved by call time.)
10
+
11
+ import { readFileSync, existsSync, unlinkSync } from 'fs'
12
+ import { join } from 'path'
13
+ import { pathToFileURL } from 'url'
14
+ import { execSync } from 'child_process'
15
+ import { createConnection } from 'net'
16
+ import { emit, log, writeAtomic, SKILL_VERSION, INTENT_SCHEMA_VERSION, MIN_SDK_VERSION, DASHBOARD_PORT } from './build-dashboard.mjs'
17
+
18
+ /**
19
+ * Read the scaffold version from the EXTRACTED starter kit — `_gen/starter-kit.json`
20
+ * inside the project. The version ships INSIDE the archive (single fixture artifact);
21
+ * there is no separate `.version` file. Returns '0.0.0' if the marker is absent.
22
+ * @param {string} projectDir
23
+ */
24
+ export function readScaffoldVersion(projectDir) {
25
+ try {
26
+ return JSON.parse(readFileSync(join(projectDir, '_gen', 'starter-kit.json'), 'utf8')).version || '0.0.0'
27
+ } catch { return '0.0.0' }
28
+ }
29
+
30
+ /**
31
+ * The version block stamped into state.json so a dashboard knows what it was
32
+ * built against (drives offer-on-detect upgrade + future migrations).
33
+ * @param {string|null} [sdkVersion]
34
+ * @param {string} [scaffoldVersion] - the extracted scaffold's version (readScaffoldVersion(projectDir))
35
+ */
36
+ export function buildVersions(sdkVersion = null, scaffoldVersion = '0.0.0') {
37
+ return { skill: SKILL_VERSION, scaffold: scaffoldVersion, intentSchema: INTENT_SCHEMA_VERSION, sdk: sdkVersion }
38
+ }
39
+
40
+ /**
41
+ * Compare a project's stamped scaffold version to the shipped one. Returns
42
+ * { from, to } when they differ (including a pre-versioning project with no
43
+ * versions block), or null when current. Forward-only — any mismatch means
44
+ * "a newer scaffold is available".
45
+ * @param {object} state - parsed .dashboard/state.json
46
+ * @param {string} scaffoldVersion - current shipped scaffold version (from the extracted kit)
47
+ */
48
+ export function scaffoldDrift(state, scaffoldVersion) {
49
+ const stamped = state?.versions?.scaffold ?? null
50
+ return stamped === scaffoldVersion ? null : { from: stamped, to: scaffoldVersion }
51
+ }
52
+
53
+ /**
54
+ * Apply intent-schema migrations in sequence from intent.schemaVersion up to target.
55
+ * Registry: assets/scripts/migrations/intent-v<N>-to-v<N+1>.mjs (empty today — framework
56
+ * so a future schema bump is a drop-in file, not a refactor). Pure migrate(intent) functions.
57
+ * @param {object} intent
58
+ * @param {string} migrationsDir
59
+ * @param {number} [targetVersion=INTENT_SCHEMA_VERSION]
60
+ */
61
+ export async function runIntentMigrations(intent, migrationsDir, targetVersion = INTENT_SCHEMA_VERSION) {
62
+ let v = intent.schemaVersion ?? 1
63
+ while (v < targetVersion) {
64
+ const file = join(migrationsDir, `intent-v${v}-to-v${v + 1}.mjs`)
65
+ if (!existsSync(file)) break
66
+ const { migrate } = await import(pathToFileURL(file).href)
67
+ intent = migrate(intent)
68
+ v++
69
+ }
70
+ intent.schemaVersion = Math.max(intent.schemaVersion ?? 1, v)
71
+ return intent
72
+ }
73
+
74
+ /**
75
+ * Check the installed @uipath/uipath-typescript version in a project.
76
+ * @param {string} projectPath
77
+ * @returns {{ ok: boolean, version: string|null }}
78
+ */
79
+ export function checkSdkVersion(projectPath) {
80
+ const pkgPath = join(projectPath, 'node_modules', '@uipath', 'uipath-typescript', 'package.json')
81
+ if (!existsSync(pkgPath)) return { ok: false, version: null }
82
+ let version
83
+ try { version = JSON.parse(readFileSync(pkgPath, 'utf8')).version } catch { return { ok: false, version: null } }
84
+ const [maj = 0, min = 0, pat = 0] = String(version).split('.').map(Number)
85
+ const [rMaj, rMin, rPat] = MIN_SDK_VERSION.split('.').map(Number)
86
+ const ok = maj > rMaj || (maj === rMaj && (min > rMin || (min === rMin && pat >= rPat)))
87
+ return { ok, version }
88
+ }
89
+
90
+ /**
91
+ * Install dependencies in a project. Emits PREWARM_START/DONE/FAILED.
92
+ *
93
+ * Escalates on failure: `npm ci --prefer-offline` → `npm ci` → `npm install`.
94
+ * `npm ci` is fast + reproducible but STRICT — it aborts when package.json and
95
+ * package-lock.json are out of sync, which a lockfile generated by a different
96
+ * npm version can trigger ("Missing <pkg> from lock file" / "Invalid: lock file's
97
+ * <pkg> does not satisfy <pkg>"). The `npm install` fallback reconciles the lockfile
98
+ * and installs anyway, so a lockfile/npm-version drift can't block a build. For a
99
+ * local dev-preview build, resilience beats strict reproducibility.
100
+ * @param {string} projectPath - Absolute path to project directory
101
+ * @returns {Promise<void>}
102
+ */
103
+ export async function runPrewarm(projectPath) {
104
+ emit('PREWARM_START')
105
+ const prewarmLock = join(projectPath, '.prewarm.lock')
106
+ writeAtomic(prewarmLock, String(Date.now()))
107
+ const npmCmd = process.platform === 'win32' ? 'npm.cmd' : 'npm'
108
+ const attempts = [`${npmCmd} ci --prefer-offline`, `${npmCmd} ci`, `${npmCmd} install`]
109
+
110
+ let lastErr = null
111
+ for (const cmd of attempts) {
112
+ try {
113
+ execSync(cmd, { cwd: projectPath, stdio: 'pipe' })
114
+ lastErr = null
115
+ break
116
+ } catch (e) {
117
+ lastErr = e
118
+ // After the last `npm ci` attempt fails, announce the `npm install` fallback.
119
+ if (cmd === `${npmCmd} ci`) {
120
+ log('⚠ npm ci rejected the lockfile (likely a lockfile/npm-version drift) — retrying with npm install…')
121
+ }
122
+ }
123
+ }
124
+ if (lastErr) {
125
+ const stderr = (lastErr.stderr?.toString() ?? String(lastErr)).slice(0, 500)
126
+ emit('PREWARM_FAILED', { exitCode: lastErr.status ?? 1, stderr })
127
+ try { unlinkSync(prewarmLock) } catch { /* ignore */ }
128
+ throw new Error(`dependency install failed: ${stderr}`)
129
+ }
130
+ try { unlinkSync(prewarmLock) } catch { /* ignore */ }
131
+ emit('PREWARM_DONE')
132
+ }
133
+
134
+ /**
135
+ * Block until node_modules/.package-lock.json appears (written by npm ci).
136
+ * Used when pre-warm was started in the background during plan review.
137
+ * Emits PREWARM_DONE or PREWARM_FAILED.
138
+ * @param {string} projectPath
139
+ * @param {number} [timeoutMs=300000]
140
+ */
141
+ export function waitForPrewarm(projectPath, timeoutMs = 300_000) {
142
+ const signal = join(projectPath, 'node_modules', '.package-lock.json')
143
+ const deadline = Date.now() + timeoutMs
144
+ const startedAt = Date.now()
145
+ let lastLogAt = 0
146
+
147
+ while (!existsSync(signal)) {
148
+ const elapsed = Date.now() - startedAt
149
+
150
+ if (Date.now() > deadline) {
151
+ emit('PREWARM_FAILED', { exitCode: -1, stderr: `Timed out after ${Math.round(timeoutMs / 1000)}s` })
152
+ throw new Error(`Pre-warm timed out after ${Math.round(timeoutMs / 1000)}s`)
153
+ }
154
+
155
+ // Log progress every 20 seconds so the build output shows life
156
+ if (elapsed - lastLogAt >= 20_000) {
157
+ log(`⏳ Installing dependencies… (${Math.round(elapsed / 1000)}s)`)
158
+ lastLogAt = elapsed
159
+ }
160
+
161
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 500)
162
+ }
163
+
164
+ emit('PREWARM_DONE')
165
+ }
166
+
167
+ /**
168
+ * Kill a previously-started dev server using the PID stored in a file.
169
+ * Cross-platform: taskkill /T on Windows (kills process tree), SIGTERM on Unix.
170
+ * Waits up to 1500ms for the port to become free after killing.
171
+ * @param {string} pidFile - Absolute path to the .pid file
172
+ * @returns {Promise<void>}
173
+ */
174
+ export async function killPreviousDevServer(pidFile) {
175
+ if (!existsSync(pidFile)) return
176
+
177
+ let pid
178
+ try {
179
+ pid = parseInt(readFileSync(pidFile, 'utf8').trim(), 10)
180
+ } catch { return }
181
+
182
+ if (!pid || isNaN(pid)) return
183
+
184
+ try {
185
+ if (process.platform === 'win32') {
186
+ // /T kills the entire process tree (npm → node → Vite); /F forces termination
187
+ execSync(`taskkill /PID ${pid} /T /F`, { stdio: 'pipe' })
188
+ } else {
189
+ process.kill(pid, 'SIGTERM')
190
+ }
191
+ } catch { /* process already dead — ignore */ }
192
+
193
+ // Wait for port to become free (up to 1500ms)
194
+ const deadline = Date.now() + 1500
195
+ while (Date.now() < deadline) {
196
+ const stillOpen = await new Promise(resolve => {
197
+ const socket = createConnection({ port: DASHBOARD_PORT, host: 'localhost' })
198
+ socket.once('connect', () => { socket.destroy(); resolve(true) })
199
+ socket.once('error', () => resolve(false))
200
+ socket.setTimeout(300, () => { socket.destroy(); resolve(false) })
201
+ })
202
+ if (!stillOpen) break
203
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 200)
204
+ }
205
+
206
+ try { unlinkSync(pidFile) } catch { /* ignore */ }
207
+ }
@@ -0,0 +1,146 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * setup-admin-folder.mjs — Idempotent AdminDashboards folder provisioning
4
+ *
5
+ * Creates the named folder and assigns Folder Administrator to the
6
+ * Administrators group. Skips steps already done.
7
+ *
8
+ * Usage:
9
+ * node setup-admin-folder.mjs <FOLDER_NAME> [PROJECT_DIR]
10
+ *
11
+ * If PROJECT_DIR is provided, reads folderKey from .dashboard/state.json
12
+ * first and exits immediately if already provisioned.
13
+ */
14
+
15
+ import { execFileSync } from 'child_process'
16
+ import { existsSync, readFileSync, writeFileSync, renameSync } from 'fs'
17
+ import { join, resolve } from 'path'
18
+
19
+ const FOLDER_NAME = process.argv[2]
20
+ const PROJECT_DIR = process.argv[3] ? resolve(process.argv[3]) : null
21
+
22
+ if (!FOLDER_NAME) {
23
+ process.stderr.write('Usage: node setup-admin-folder.mjs <FOLDER_NAME> [PROJECT_DIR]\n')
24
+ process.exit(1)
25
+ }
26
+
27
+ // Pass argv as an array (NOT a shell string) so values like FOLDER_NAME can never
28
+ // inject shell commands — execFileSync does not spawn a shell.
29
+ function uip(args) {
30
+ return JSON.parse(execFileSync('uip', [...args, '--output', 'json'], { encoding: 'utf8' }))
31
+ }
32
+
33
+ function log(msg) { process.stdout.write(msg + '\n') }
34
+ function fail(msg) { process.stderr.write(`ERROR: ${msg}\n`); process.exit(1) }
35
+
36
+ function updateState(projectDir, folderKey, folderName) {
37
+ const fp = join(projectDir, '.dashboard', 'state.json')
38
+ if (!existsSync(fp)) return
39
+ const state = JSON.parse(readFileSync(fp, 'utf8'))
40
+ state.deployment = state.deployment ?? {}
41
+ state.deployment.folderKey = folderKey
42
+ state.deployment.folderName = folderName
43
+ const tmp = fp + '.tmp'
44
+ writeFileSync(tmp, JSON.stringify(state, null, 2))
45
+ renameSync(tmp, fp)
46
+ }
47
+
48
+ async function main() {
49
+ // Fast-path: already provisioned
50
+ if (PROJECT_DIR) {
51
+ const statePath = join(PROJECT_DIR, '.dashboard', 'state.json')
52
+ if (existsSync(statePath)) {
53
+ const state = JSON.parse(readFileSync(statePath, 'utf8'))
54
+ if (state.deployment?.folderKey) {
55
+ log(`✓ Already provisioned (folderKey: ${state.deployment.folderKey})`)
56
+ process.exit(0)
57
+ }
58
+ }
59
+ }
60
+
61
+ log(`\n[Phase 1] Looking up role, group, and folder in parallel…`)
62
+
63
+ const [rolesResult, usersResult, foldersResult] = await Promise.all([
64
+ Promise.resolve(uip(['or','roles','list','--sort-by','Id asc','--limit','500'])),
65
+ Promise.resolve(uip(['or','users','list','--username','Administrators'])),
66
+ Promise.resolve(uip(['or','folders','list','--all','--name',FOLDER_NAME])),
67
+ ]).catch(e => fail(e.message))
68
+
69
+ // Extract Folder Administrator role key
70
+ const adminRole = rolesResult.Data?.find(r => r.Name === 'Folder Administrator')
71
+ if (!adminRole) fail('"Folder Administrator" role not found. Check: uip or roles list --output json')
72
+ const roleKey = adminRole.Key
73
+ log(` ✓ Folder Administrator role: ${roleKey}`)
74
+
75
+ // Extract Administrators group key (case-insensitive)
76
+ const group = usersResult.Data?.find(u => {
77
+ const name = (u.UserName ?? u.Name ?? '').toLowerCase()
78
+ const type = (u.Type ?? u.type ?? '').toLowerCase()
79
+ return name === 'administrators' && (type.includes('group') || type === '')
80
+ })
81
+ if (!group) {
82
+ const available = (usersResult.Data ?? [])
83
+ .filter(u => (u.Type ?? '').toLowerCase().includes('group'))
84
+ .map(u => u.UserName ?? u.Name).join(', ')
85
+ fail(`"Administrators" group not found. Available groups: ${available || '(none)'}`)
86
+ }
87
+ const groupKey = group.Key
88
+ log(` ✓ Administrators group: ${groupKey}`)
89
+
90
+ // Create folder if missing
91
+ let folderKey = foldersResult.Data?.find(f => f.Name === FOLDER_NAME)?.Key
92
+ let folderJustCreated = false
93
+
94
+ if (folderKey) {
95
+ log(` ✓ Folder "${FOLDER_NAME}" already exists: ${folderKey}`)
96
+ } else {
97
+ log(`\n[Phase 2] Creating folder "${FOLDER_NAME}"…`)
98
+ const created = uip(['or','folders','create',FOLDER_NAME])
99
+ folderKey = created.Data?.Key ?? created.Key
100
+ if (!folderKey) fail('Could not extract folder key from create response')
101
+ folderJustCreated = true
102
+ log(` ✓ Folder created: ${folderKey}`)
103
+ }
104
+
105
+ // Check if role already assigned (skip if folder was just created)
106
+ if (!folderJustCreated) {
107
+ log(`\n[Phase 3] Checking existing role assignment…`)
108
+ const userRoles = uip(['or','roles','user-roles','list','Administrators','--type','Group'])
109
+ const alreadyAssigned = userRoles.Data?.some(
110
+ r => (r.FolderPath ?? '').toLowerCase() === FOLDER_NAME.toLowerCase()
111
+ && (r.Role ?? '').toLowerCase() === 'folder administrator'
112
+ )
113
+ if (alreadyAssigned) {
114
+ log(` ✓ Folder Administrator already assigned — nothing to do.`)
115
+ if (PROJECT_DIR) updateState(PROJECT_DIR, folderKey, FOLDER_NAME)
116
+ log(`\n✓ ${FOLDER_NAME} ready (key: ${folderKey})`)
117
+ return
118
+ }
119
+ log(` Role not yet assigned — proceeding.`)
120
+ }
121
+
122
+ // Assign role — read existing roles first to avoid replacing them
123
+ log(`\n[Phase 4] Assigning Folder Administrator to Administrators…`)
124
+ log(` ⚠ roles assign replaces existing roles. Reading current assignments first.`)
125
+
126
+ let existingRoleKeys = []
127
+ try {
128
+ const existingAssignments = uip(['or','roles','user-roles','list','Administrators','--type','Group'])
129
+ const folderRoles = existingAssignments.Data?.filter(
130
+ r => (r.FolderPath ?? '').toLowerCase() === FOLDER_NAME.toLowerCase()
131
+ )
132
+ existingRoleKeys = folderRoles?.map(r => r.RoleId ?? r.roleId).filter(Boolean) ?? []
133
+ } catch { /* ignore — folder is new or no existing assignments */ }
134
+
135
+ // Include new role key in the union
136
+ const allRoleKeys = [...new Set([...existingRoleKeys, roleKey])].join(',')
137
+ uip(['or','roles','assign','--user-key',groupKey,'--role-keys',allRoleKeys,'--folder-key',folderKey])
138
+ log(` ✓ Role assigned.`)
139
+
140
+ if (PROJECT_DIR) updateState(PROJECT_DIR, folderKey, FOLDER_NAME)
141
+
142
+ log(`\n✓ ${FOLDER_NAME} is ready (key: ${folderKey})`)
143
+ log(` Administrators group has Folder Administrator access.`)
144
+ }
145
+
146
+ main().catch(e => { process.stderr.write(`ERROR: ${e.message}\n`); process.exit(1) })
@@ -0,0 +1,124 @@
1
+ import { test } from 'node:test'
2
+ import assert from 'node:assert/strict'
3
+ import { mkdtempSync, writeFileSync, mkdirSync, existsSync, readFileSync } from 'node:fs'
4
+ import { resolve, dirname, join } from 'node:path'
5
+ import { fileURLToPath } from 'node:url'
6
+ import { tmpdir } from 'node:os'
7
+ import { execFileSync } from 'node:child_process'
8
+ import { packTemplate, VALID_EDIT_OPS, classifyEditIntent, parseEvent } from '../build-dashboard.mjs'
9
+
10
+ const __dirname = dirname(fileURLToPath(import.meta.url))
11
+ const SCRIPT = resolve(__dirname, '../build-dashboard.mjs')
12
+
13
+ function tmp(prefix) {
14
+ return mkdtempSync(join(tmpdir(), prefix))
15
+ }
16
+
17
+ // ── EJECT is a recognized edit op ───────────────────────────────────────────────
18
+ test('VALID_EDIT_OPS includes EJECT', () => {
19
+ assert.ok(VALID_EDIT_OPS.includes('EJECT'))
20
+ })
21
+
22
+ test('classifyEditIntent accepts a lone EJECT op', () => {
23
+ const r = classifyEditIntent({ projectDir: '/x', op: 'EJECT' })
24
+ assert.equal(r.ops.length, 1)
25
+ assert.equal(r.ops[0].op, 'EJECT')
26
+ })
27
+
28
+ // ── new lifecycle events are registered (parseEvent recognizes them) ────────────
29
+ test('parseEvent recognizes the regime/template events', () => {
30
+ for (const ev of ['TEMPLATE_BUILD', 'EJECTED', 'EJECTED_PROJECT', 'TEMPLATE_PACKED']) {
31
+ const r = parseEvent(`${ev}:{"projectDir":"/x"}`)
32
+ assert.ok(r && r.type === ev, `${ev} should parse`)
33
+ }
34
+ })
35
+
36
+ // ── packTemplate stages a tenant-neutral modify-face + manifest ─────────────────
37
+ test('packTemplate stages source + template.json, strips tenant identity', () => {
38
+ const P = tmp('packtmpl-')
39
+ mkdirSync(join(P, '.dashboard'), { recursive: true })
40
+ mkdirSync(join(P, 'src', 'metrics'), { recursive: true })
41
+ mkdirSync(join(P, 'dist'), { recursive: true })
42
+ mkdirSync(join(P, 'node_modules'), { recursive: true })
43
+ writeFileSync(join(P, '.dashboard', 'state.json'), JSON.stringify({
44
+ schemaVersion: 2, regime: 'ejected',
45
+ app: { name: 'Sales Template', routingName: 'sales-template-a1b2', semver: '2.1.0' },
46
+ }))
47
+ writeFileSync(join(P, 'intent.json'), '{ "schemaVersion": 2, "metrics": [] }')
48
+ writeFileSync(join(P, 'package.json'), '{ "name": "x" }')
49
+ writeFileSync(join(P, 'uipath.json'), JSON.stringify({
50
+ name: 'x',
51
+ scope: 'OR.Folders Insights',
52
+ clientId: 'SECRET-CLIENT-ID',
53
+ orgName: 'acme-org',
54
+ tenantName: 'acme-tenant',
55
+ baseUrl: 'https://acme.api.uipath.com',
56
+ redirectUri: 'http://localhost:25173',
57
+ }))
58
+ writeFileSync(join(P, 'src', 'metrics', 'm.ts'), 'export const fetchData = async () => []')
59
+ writeFileSync(join(P, 'dist', 'index.html'), '<html></html>')
60
+ writeFileSync(join(P, 'node_modules', 'junk.js'), 'junk')
61
+
62
+ packTemplate(P)
63
+
64
+ const S = join(P, 'dist', '_source')
65
+ // staged modify-face
66
+ assert.ok(existsSync(join(S, 'intent.json')), 'intent.json staged')
67
+ assert.ok(existsSync(join(S, 'src', 'metrics', 'm.ts')), 'src/ staged recursively')
68
+ assert.ok(existsSync(join(S, 'package.json')), 'package.json staged')
69
+ // uipath.json staged tenant-neutral: all tenant identity blanked, scope retained
70
+ const stagedCfg = JSON.parse(readFileSync(join(S, 'uipath.json'), 'utf8'))
71
+ assert.equal(stagedCfg.clientId, '', 'clientId blanked')
72
+ assert.equal(stagedCfg.orgName, '', 'orgName blanked')
73
+ assert.equal(stagedCfg.tenantName, '', 'tenantName blanked')
74
+ assert.equal(stagedCfg.baseUrl, '', 'baseUrl blanked')
75
+ assert.equal(stagedCfg.scope, 'OR.Folders Insights', 'scope retained')
76
+ assert.ok(!existsSync(join(S, 'node_modules')), 'node_modules excluded')
77
+ // manifest
78
+ const manifest = JSON.parse(readFileSync(join(S, 'template.json'), 'utf8'))
79
+ assert.equal(manifest.ejected, true)
80
+ assert.equal(manifest.regime, 'ejected')
81
+ assert.equal(manifest.routingName, 'sales-template-a1b2')
82
+ assert.equal(manifest.dashboardName, 'Sales Template')
83
+ assert.ok(manifest.sdkFloor && manifest.requiredScopes.includes('Insights'))
84
+ })
85
+
86
+ // ── EJECT flips regime; the edit-script then refuses ────────────────────────────
87
+ test('EJECT op flips regime to ejected, then structured edits are refused', () => {
88
+ const P = tmp('eject-')
89
+ mkdirSync(join(P, '.dashboard'), { recursive: true })
90
+ writeFileSync(join(P, '.dashboard', 'state.json'), JSON.stringify({
91
+ schemaVersion: 2, regime: 'compiler-managed',
92
+ app: { name: 'X', routingName: 'x-1', semver: '1.0.0' }, widgets: {}, timeRange: '30d',
93
+ }))
94
+ const ejectIntent = join(P, 'eject-intent.json')
95
+ writeFileSync(ejectIntent, JSON.stringify({ op: 'EJECT', projectDir: P }))
96
+
97
+ const out = execFileSync('node', [SCRIPT, ejectIntent], { encoding: 'utf8' })
98
+ assert.match(out, /EJECTED:/)
99
+ const state = JSON.parse(readFileSync(join(P, '.dashboard', 'state.json'), 'utf8'))
100
+ assert.equal(state.regime, 'ejected')
101
+
102
+ // A structured edit on the now-ejected project must be refused (non-zero exit).
103
+ const rmIntent = join(P, 'rm-intent.json')
104
+ writeFileSync(rmIntent, JSON.stringify({ op: 'REMOVE', target: 'Foo', projectDir: P }))
105
+ let threw = false
106
+ try {
107
+ execFileSync('node', [SCRIPT, rmIntent], { encoding: 'utf8', stdio: 'pipe' })
108
+ } catch (e) {
109
+ threw = true
110
+ const combined = `${e.stdout ?? ''}${e.stderr ?? ''}`
111
+ assert.match(combined, /ejected|EJECTED_PROJECT/i)
112
+ }
113
+ assert.ok(threw, 'edit-script should exit non-zero on an ejected project')
114
+ })
115
+
116
+ // ── A template build records the ejected regime in state.json ──────────────────
117
+ // (Build-side flag; the full build is exercised by the e2e task. Here we assert
118
+ // the regime computation only, via the documented default semantics.)
119
+ test('absent regime is treated as compiler-managed (legacy state)', () => {
120
+ // classifyEditIntent + the runtime gate key off state.regime; legacy state with
121
+ // no regime must NOT be treated as ejected (would wrongly disable editing).
122
+ const legacy = { schemaVersion: 2, app: { name: 'L', routingName: 'l-1' } }
123
+ assert.notEqual(legacy.regime, 'ejected')
124
+ })