@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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +5 -2
- package/CODEOWNERS +22 -7
- package/README.md +14 -1
- package/assets/skill-status.json +14 -1
- package/assets/uip-catalog-snapshot.json +13 -2
- package/hooks/hooks.json +12 -0
- package/hooks/send-telemetry.sh +445 -0
- package/hooks/suggest-permissions.sh +6 -0
- package/package.json +1 -1
- package/skills/uipath-admin/SKILL.md +24 -4
- package/skills/uipath-admin/references/audit-commands.md +25 -21
- package/skills/uipath-admin/references/audit-workflow-guide.md +26 -25
- package/skills/uipath-admin/references/diagnose/CAPABILITY.md +74 -0
- package/skills/uipath-admin/references/diagnose/references/failure-modes.md +228 -0
- package/skills/uipath-admin/references/diagnose/references/troubleshooting-guide.md +106 -0
- package/skills/uipath-admin/references/identity-troubleshoot-guide.md +251 -0
- package/skills/uipath-agents/SKILL.md +12 -8
- package/skills/uipath-agents/references/coded/capabilities/context-grounding.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/conversational-agents.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +12 -7
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +141 -1
- package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/integration-service.md +19 -33
- package/skills/uipath-agents/references/coded/lifecycle/bindings-reference.md +54 -22
- package/skills/uipath-agents/references/coded/lifecycle/build.md +1 -0
- package/skills/uipath-agents/references/coded/lifecycle/evaluations/evaluation-sets.md +5 -1
- package/skills/uipath-agents/references/coded/lifecycle/setup.md +3 -1
- package/skills/uipath-agents/references/coded/quickstart.md +11 -10
- package/skills/uipath-agents/references/coded-vs-lowcode-guide.md +1 -0
- package/skills/uipath-agents/references/context-grounding-patterns.md +1 -1
- package/skills/uipath-agents/references/lowcode/agent-definition.md +97 -12
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/analyze-attachments.md +2 -2
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/batch-transform/impl-json.md +40 -14
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/built-in-tools.md +4 -3
- package/skills/uipath-agents/references/lowcode/capabilities/built-in-tools/deeprag/impl-json.md +38 -6
- package/skills/uipath-agents/references/lowcode/capabilities/context/attachments.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/context.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/datafabric.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/context/index.md +7 -3
- package/skills/uipath-agents/references/lowcode/capabilities/escalation/escalation.md +49 -38
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails-recommend.md +3 -1
- package/skills/uipath-agents/references/lowcode/capabilities/guardrails/guardrails.md +49 -49
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +34 -14
- package/skills/uipath-agents/references/lowcode/capabilities/integration-service/integration-service.md +1 -1
- package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +2 -0
- package/skills/uipath-agents/references/lowcode/capabilities/process/process.md +2 -2
- package/skills/uipath-agents/references/lowcode/capabilities/process/solution-files.md +1 -1
- package/skills/uipath-agents/references/lowcode/critical-rules/autonomous-critical-rules.md +15 -0
- package/skills/uipath-agents/references/lowcode/critical-rules/conversational-critical-rules.md +19 -0
- package/skills/uipath-agents/references/lowcode/{critical-rules.md → critical-rules/critical-rules.md} +25 -27
- package/skills/uipath-agents/references/lowcode/debug.md +6 -3
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -0
- package/skills/uipath-agents/references/lowcode/lowcode.md +29 -6
- package/skills/uipath-agents/references/lowcode/model-selection-guide.md +4 -1
- package/skills/uipath-agents/references/lowcode/project-lifecycle.md +20 -8
- package/skills/uipath-agents/references/lowcode/prompting/agent-prompting-guide.md +17 -0
- package/skills/uipath-agents/references/lowcode/{agent-prompting-guide.md → prompting/autonomous-agent-prompting-guide.md} +9 -11
- package/skills/uipath-agents/references/lowcode/prompting/conversational-agent-prompting-guide.md +123 -0
- package/skills/uipath-agents/references/lowcode/solution-resources.md +1 -1
- package/skills/uipath-api-workflow/SKILL.md +32 -12
- package/skills/uipath-api-workflow/references/cli-reference.md +110 -22
- package/skills/uipath-api-workflow/references/connector-activity-discovery.md +43 -4
- package/skills/uipath-api-workflow/references/troubleshooting.md +23 -7
- package/skills/uipath-api-workflow/references/workflow-file-format.md +25 -7
- package/skills/uipath-coded-apps/SKILL.md +55 -12
- package/skills/uipath-coded-apps/assets/fixtures/governance-dashboard-starter-kit.tar.gz +0 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1371 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/capability-registry.json +845 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/build.mjs +338 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/edit.mjs +248 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/template.mjs +82 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/flows/upgrade.mjs +73 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/lifecycle.mjs +207 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/setup-admin-folder.mjs +146 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/tests/regime-eject.test.mjs +124 -0
- package/skills/uipath-coded-apps/assets/scripts/dashboards/tests/resolution.test.mjs +1635 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/app-template.css +9 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/document-tab-template.css +139 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/form-template.css +442 -0
- package/skills/uipath-coded-apps/assets/templates/action-app/index-template.css +111 -0
- package/skills/uipath-coded-apps/assets/templates/action-app-template.md +357 -152
- package/skills/uipath-coded-apps/assets/templates/web-app-template.md +255 -78
- package/skills/uipath-coded-apps/references/create-action-app.md +284 -195
- package/skills/uipath-coded-apps/references/create-web-app.md +64 -26
- package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +179 -0
- package/skills/uipath-coded-apps/references/dashboards/aesthetic/charting.md +138 -0
- package/skills/uipath-coded-apps/references/dashboards/aesthetic/layout-patterns.md +152 -0
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +423 -0
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +322 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/customization.md +66 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/detail-views.md +64 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/incremental-editor.md +92 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/state-file.md +64 -0
- package/skills/uipath-coded-apps/references/dashboards/primitives/tier-resolution.md +474 -0
- package/skills/uipath-coded-apps/references/debug.md +15 -21
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +5 -5
- package/skills/uipath-coded-apps/references/oauth-scopes.md +64 -2
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +12 -5
- package/skills/uipath-coded-apps/references/patterns.md +10 -5
- package/skills/uipath-coded-apps/references/sdk/action-center.md +32 -6
- package/skills/uipath-coded-apps/references/sdk/agents.md +241 -0
- package/skills/uipath-coded-apps/references/sdk/governance-traces.md +186 -0
- package/skills/uipath-coded-apps/references/sdk/governance.md +72 -0
- package/skills/uipath-coded-apps/references/sdk/imports.md +4 -0
- package/skills/uipath-coded-apps/references/sdk/maestro.md +114 -0
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +80 -4
- package/skills/uipath-coded-apps/references/sdk/pagination.md +2 -0
- package/skills/uipath-coded-apps/references/sdk/traces.md +89 -0
- package/skills/uipath-coded-apps/references/widgets/validation-station.md +308 -0
- package/skills/uipath-coded-apps/scripts/validate-action-schema.js +241 -0
- package/skills/uipath-connector-builder/SKILL.md +192 -0
- package/skills/uipath-connector-builder/references/auth.md +171 -0
- package/skills/uipath-connector-builder/references/configuration.md +130 -0
- package/skills/uipath-connector-builder/references/debugging.md +80 -0
- package/skills/uipath-connector-builder/references/element-json.md +148 -0
- package/skills/uipath-connector-builder/references/events.md +132 -0
- package/skills/uipath-connector-builder/references/hooks.md +198 -0
- package/skills/uipath-connector-builder/references/overview.md +78 -0
- package/skills/uipath-connector-builder/references/standard-resources.md +111 -0
- package/skills/uipath-connector-builder/references/system-resources.md +85 -0
- package/skills/uipath-feedback/SKILL.md +43 -29
- package/skills/{uipath-agents/references/coded/frameworks/coded-functions.md → uipath-functions/SKILL.md} +36 -23
- package/skills/uipath-governance/SKILL.md +49 -8
- package/skills/uipath-governance/references/aops-policy/aops-policy-commands.md +10 -10
- package/skills/uipath-governance/references/aops-policy/aops-policy-deploy-guide.md +7 -7
- package/skills/uipath-governance/references/auth-context.md +101 -0
- package/skills/uipath-governance/references/cli-cheatsheet.md +207 -0
- package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +79 -0
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +141 -0
- package/skills/uipath-governance/references/compliance-pack/disable/impl.md +39 -0
- package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +164 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +266 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/merge-overrides-guide.md +28 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +82 -0
- package/skills/uipath-governance/references/compliance-pack/partial-apply/synthesize-formdata-guide.md +22 -0
- package/skills/uipath-governance/references/compliance-pack/preview-gate.md +43 -0
- package/skills/uipath-governance/references/compliance-pack/query/impl.md +75 -0
- package/skills/uipath-governance/references/diagnose/CAPABILITY.md +71 -0
- package/skills/uipath-governance/references/diagnose/references/failure-modes.md +201 -0
- package/skills/uipath-governance/references/diagnose/references/troubleshooting-guide.md +137 -0
- package/skills/uipath-governance/references/disambiguation-guide.md +15 -0
- package/skills/uipath-governance/scripts/merge-overrides.mjs +81 -0
- package/skills/uipath-governance/scripts/synthesize-formdata.mjs +86 -0
- package/skills/uipath-human-in-the-loop/SKILL.md +30 -25
- package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +38 -4
- package/skills/uipath-human-in-the-loop/references/hitl-node-coded-action-app.md +2 -3
- package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +92 -34
- package/skills/uipath-ixp/SKILL.md +120 -0
- package/skills/uipath-ixp/references/cli-reference.md +121 -0
- package/skills/uipath-ixp/references/improve-prompts-guide.md +283 -0
- package/skills/uipath-ixp/references/label-documents-guide.md +207 -0
- package/skills/uipath-ixp/references/project-setup-guide.md +90 -0
- package/skills/uipath-maestro-bpmn/SKILL.md +167 -68
- package/skills/uipath-maestro-bpmn/references/cli-conventions.md +47 -0
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +6 -6
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +3 -3
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +199 -0
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +500 -0
- package/skills/uipath-maestro-bpmn/validator/README.md +214 -0
- package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +2477 -0
- package/skills/uipath-maestro-bpmn/validator/model.mjs +419 -0
- package/skills/uipath-maestro-bpmn/validator/package.json +17 -0
- package/skills/uipath-maestro-bpmn/validator/rules.mjs +1403 -0
- package/skills/uipath-maestro-bpmn/validator/samples/invalid-conditional-and-variable.bpmn +25 -0
- package/skills/uipath-maestro-bpmn/validator/samples/valid-baseline.bpmn +52 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.0.bpmn +157 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/A.2.1.bpmn +333 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.1.0.bpmn +598 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/B.2.0.bpmn +1709 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.2.0.bpmn +564 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.3.0.bpmn +671 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.4.0.bpmn +1045 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.5.0.bpmn +1176 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.6.0.bpmn +670 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/C.7.0.bpmn +466 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Can_Parse_Complex_Process_With_Task_Gateway_BoundaryEvent_etc.bpmn +74 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExclusiveGatewayDefaultFlow.bpmn +32 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/ExternalAgentWorkflow.bpmn +62 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Golden_Scenario.initial.bpmn +361 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/InclusiveJoinRouteAwayBranch.bpmn +62 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_AsyncExecution_And_Create_CorrectModel.bpmn +74 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_ExtractionValidation_And_Create_CorrectModel.bpmn +35 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_FileUpload_And_Create_CorrectModel.bpmn +33 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_IXP_Extraction_JobAttachment_And_Create_CorrectModel.bpmn +35 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/Parse_SubProcess_With_Multiple_Element_Types.bpmn +76 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartEventWithOutputs.bpmn +36 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/StartGatewayEnd.bpmn +44 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all elements.bpmn +516 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/all_sequence_flow_types.bpmn +173 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/demo.bpmn +181 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-collapsed.bpmn +126 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-001-expanded.bpmn +122 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/expected-findings/subprocess-example-003-collapsed_deeply-nested.bpmn +438 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.1.0.bpmn +87 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/A.3.0.bpmn +165 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ApiWorkflow.bpmn +39 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnNestedSubProcessTests.bpmn +102 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnTimerBoundaryEvents.bpmn +160 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithCatchAllErrorEventSubProcess.bpmn +45 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/BpmnXmlWithSpecificErrorEventSubProcess.bpmn +46 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/CaseManagementWithConstantIdentifier.bpmn +218 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorBoundary.bpmn +78 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ErrorPropagationInEventSubprocess.bpmn +340 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/EventBasedGatewayFirstCatcherWins.bpmn +56 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Example-EventBasedGateway.bpmn +117 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewayConditional.bpmn +45 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveGatewaySharedEndEvent.bpmn +45 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ExclusiveWithParallelGateway.bpmn +68 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/FourScriptTasks.bpmn +84 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/HitlTaskOnly.bpmn +55 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/InclusiveGatewayForkJoin.bpmn +69 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_BPMN_Elements_And_Create_CorrectModel.bpmn +20 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_HttpRequest_ServiceTask_And_Create_Correct_Model.bpmn +34 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_MessageBoundaryEvent_And_Create_CorrectModel.bpmn +87 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Script_Task_V2_And_Create_Correct_Model.bpmn +31 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/Parse_Sets_Containers_Properly.bpmn +129 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/ScriptWritesVariableThenGatewayBranches.bpmn +55 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/boundaryevent.bpmn +30 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/collapsed-subprocess.bpmn +83 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/connectable-types.bpmn +85 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/extensions-orchestrator-start-job.bpmn +80 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/multiparticipantpool.bpmn +77 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/nestedsubprocess.bpmn +36 -0
- package/skills/uipath-maestro-bpmn/validator/test/fixtures/known-good/simple.bpmn +59 -0
- package/skills/uipath-maestro-bpmn/validator/test/integration.test.mjs +146 -0
- package/skills/uipath-maestro-bpmn/validator/test/model-helpers.mjs +42 -0
- package/skills/uipath-maestro-bpmn/validator/test/ported-rule-tests.mjs +983 -0
- package/skills/uipath-maestro-bpmn/validator/test/run-tests.mjs +530 -0
- package/skills/uipath-maestro-bpmn/validator/uipath-moddle.v1.json +715 -0
- package/skills/uipath-maestro-bpmn/validator/validate-bpmn.mjs +164 -0
- package/skills/uipath-maestro-case/SKILL.md +5 -1
- package/skills/uipath-maestro-case/assets/templates/sdd-template-examples.md +10 -0
- package/skills/uipath-maestro-case/assets/templates/sdd-template.md +89 -17
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +26 -0
- package/skills/uipath-maestro-case/references/case-editing-operations.md +3 -0
- package/skills/uipath-maestro-case/references/implementation.md +11 -4
- package/skills/uipath-maestro-case/references/phase-0-interview.md +8 -7
- package/skills/uipath-maestro-case/references/phased-execution.md +2 -1
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +21 -0
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +2 -0
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +15 -9
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +131 -4
- package/skills/uipath-maestro-case/references/sdd-generation-rules.md +94 -17
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +1 -1
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +2 -2
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +11 -11
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/planning.md +6 -6
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-connector.md +4 -1
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md +157 -122
- package/skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/planning.md +16 -4
- package/skills/uipath-maestro-flow/references/evaluate/references/commands-reference.md +8 -8
- package/skills/uipath-maestro-flow/references/evaluate/references/running-guide.md +3 -3
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +1 -1
- package/skills/uipath-planner/SKILL.md +19 -8
- package/skills/uipath-planner/assets/templates/agent-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/api-workflow-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/case-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/coded-app-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/flow-sdd-template.md +14 -0
- package/skills/uipath-planner/assets/templates/rpa-sdd-template.md +40 -5
- package/skills/uipath-planner/references/asdd-crosswalk-guide.md +55 -0
- package/skills/uipath-planner/references/attended-reauth-pattern-guide.md +43 -0
- package/skills/uipath-planner/references/multi-skill-patterns-guide.md +4 -0
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -0
- package/skills/uipath-planner/references/pdd-analysis-guide.md +24 -1
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +6 -2
- package/skills/uipath-planner/references/plan-and-tasks-format.md +2 -0
- package/skills/uipath-planner/references/platform-availability-guide.md +43 -0
- package/skills/uipath-planner/references/product-selection-guide.md +20 -0
- package/skills/uipath-planner/references/sdd-generation-guide.md +90 -21
- package/skills/uipath-planner/references/tenant-library-search-guide.md +5 -1
- package/skills/uipath-planner/scripts/docx-extract.sh +54 -0
- package/skills/uipath-planner/scripts/sdd-to-docx.sh +76 -0
- package/skills/uipath-platform/SKILL.md +54 -7
- package/skills/uipath-platform/references/context-grounding/index-management.md +123 -0
- package/skills/uipath-platform/references/data-fabric/bulk-import.md +86 -0
- package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/choice-sets.md +33 -12
- package/skills/uipath-platform/references/data-fabric/data-fabric.md +352 -0
- package/skills/uipath-platform/references/data-fabric/entity-schema.md +444 -0
- package/skills/uipath-platform/references/data-fabric/file-attachments.md +122 -0
- package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/filter-platform-contract.md +3 -3
- package/skills/{uipath-data-fabric/references → uipath-platform/references/data-fabric}/records-query.md +46 -10
- package/skills/uipath-platform/references/integration-service/http-request.md +15 -1
- package/skills/uipath-platform/references/integration-service/vendor-docs-registry.json +173 -0
- package/skills/uipath-platform/references/uip-commands.md +12 -4
- package/skills/uipath-review/SKILL.md +53 -12
- package/skills/uipath-review/references/agents/agent-common-issues.md +1 -1
- package/skills/uipath-review/references/agents/agent-grading-rubric.md +133 -0
- package/skills/uipath-review/references/agents/agent-review-checklist.md +23 -3
- package/skills/uipath-review/references/agents/agents-coded-rules.md +7 -0
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +13 -3
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +198 -0
- package/skills/uipath-review/references/architecture-assessment-guide.md +2 -0
- package/skills/uipath-review/references/review-workflow-guide.md +9 -5
- package/skills/uipath-review/references/rule-catalog-workflow.md +3 -3
- package/skills/uipath-rpa/SKILL.md +18 -6
- package/skills/uipath-rpa/references/cli-reference.md +57 -3
- package/skills/uipath-rpa/references/common-activity-card.md +1 -1
- package/skills/uipath-rpa/references/connector-capabilities.md +2 -0
- package/skills/uipath-rpa/references/data-manipulation-guide.md +311 -0
- package/skills/uipath-rpa/references/environment-setup.md +0 -2
- package/skills/uipath-rpa/references/error-handling-guide.md +381 -0
- package/skills/uipath-rpa/references/is-connector-xaml-guide.md +127 -11
- package/skills/uipath-rpa/references/reframework-guide.md +2 -0
- package/skills/uipath-rpa/references/testing-guide.md +19 -0
- package/skills/uipath-rpa/references/ui-automation-guide.md +129 -18
- package/skills/uipath-rpa/references/uia-configure-target-workflows.md +22 -1
- package/skills/uipath-rpa/references/uia-elements-interaction-guide.md +93 -0
- package/skills/uipath-rpa/references/xaml/canvas-layout-guide.md +41 -4
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +12 -3
- package/skills/uipath-rpa/references/xaml/flowchart-guide.md +113 -0
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +5 -9
- package/skills/uipath-solution/SKILL.md +11 -8
- package/skills/uipath-solution/references/pack-and-deploy.md +18 -1
- package/skills/uipath-solution/references/solution-overview.md +3 -0
- package/skills/uipath-test/SKILL.md +2 -1
- package/skills/uipath-troubleshoot/SKILL.md +24 -26
- package/skills/uipath-troubleshoot/agents/depth-verifier.md +24 -25
- package/skills/uipath-troubleshoot/agents/hypothesis-generator.md +8 -4
- package/skills/uipath-troubleshoot/agents/hypothesis-tester.md +85 -38
- package/skills/uipath-troubleshoot/agents/presenter.md +7 -7
- package/skills/uipath-troubleshoot/agents/scope-checker.md +3 -6
- package/skills/uipath-troubleshoot/agents/shared.md +26 -21
- package/skills/uipath-troubleshoot/agents/triage.md +117 -49
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/investigation_guide.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/overview.md +57 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-action-failed-after-find.md +100 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-cell-targeting-failures.md +111 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-element-not-found.md +125 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-get-text-empty-or-wrong-result.md +117 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-invalid-descriptor.md +102 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-scope-setup-failures.md +136 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-scroll-search-failures.md +114 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-server-auth-throttling-network.md +95 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/playbooks/cv-silent-failures-and-false-results.md +124 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/presentation.md +8 -0
- package/skills/uipath-troubleshoot/references/activity-packages/cv-activities/summary.md +15 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/investigation_guide.md +42 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/overview.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/connect-to-database-failures.md +104 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-non-query-failures.md +97 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/execute-query-failures.md +134 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/playbooks/start-transaction-failures.md +94 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/presentation.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/database-activities/summary.md +10 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/investigation_guide.md +27 -9
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/overview.md +51 -10
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/append-range-failures.md +146 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/delete-range-failures.md +126 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-card-failures.md +139 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/excel-application-scope-failures.md +118 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/execute-macro-failures.md +149 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/playbooks/write-range-failures.md +145 -0
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/presentation.md +12 -7
- package/skills/uipath-troubleshoot/references/activity-packages/excel-activities/summary.md +6 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/investigation_guide.md +1 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/overview.md +12 -4
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/connection-and-auth-failures.md +55 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/drive-file-not-found.md +18 -10
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/get-newest-email-not-found.md +9 -8
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/invalid-or-null-input.md +68 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/transient-and-timeout-errors.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/playbooks/upload-storage-quota-exceeded.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/gsuite-activities/summary.md +5 -2
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/overview.md +28 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/delete-outlook-mail-failures.md +105 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/get-outlook-mail-failures.md +109 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/move-outlook-mail-failures.md +97 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/playbooks/send-outlook-mail-failures.md +95 -0
- package/skills/uipath-troubleshoot/references/activity-packages/mail-activities/summary.md +8 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/investigation_guide.md +23 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/overview.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/application-scope-misconfigured.md +49 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/authentication-token-invalid.md +53 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/copy-item-argument-null.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/create-folder-invalid-path.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/download-file-conversion-or-destination.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/drive-item-not-found.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/email-trigger-connection-event-failure.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/insufficient-graph-scope.md +44 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/legacy-mail-null-reference.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-folder-not-found.md +4 -3
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-invalid-odata-query.md +43 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/mail-message-not-found.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/request-throttled.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/send-mail-rejected.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/transient-service-error.md +48 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/playbooks/upload-file-quota-or-size.md +47 -0
- package/skills/uipath-troubleshoot/references/activity-packages/o365-activities/summary.md +15 -1
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/investigation_guide.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/overview.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/invoke-method-failures.md +57 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/invoke-python-method-pipe-is-broken.md +44 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/load-script-failures.md +62 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-path-not-valid.md +39 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/python-scope-architecture-version-mismatch.md +41 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/playbooks/working-folder-relative-path.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/presentation.md +9 -0
- package/skills/uipath-troubleshoot/references/activity-packages/python-activities/summary.md +12 -0
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-activity-bug-silent-failure.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/playbooks/get-asset-robot-not-authenticated.md +29 -22
- package/skills/uipath-troubleshoot/references/activity-packages/system-activities/summary.md +1 -1
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/investigation_guide.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/overview.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-malformed-input.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-null-input.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/deserialize-type-mismatch.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-client-null-reference.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-connection-failure.md +48 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/http-request-timeout.md +40 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/playbooks/net-http-request-aggregate-failure.md +38 -0
- package/skills/uipath-troubleshoot/references/activity-packages/web-activities/summary.md +13 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/investigation_guide.md +55 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/overview.md +82 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/add-picture-failures.md +51 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/append-text-missing-container.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/append-text-zero-byte-file.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-com-hang.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-missing-output-dir.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/export-pdf-output-path-format.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-doc-format.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-missing-container.md +29 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/read-text-protected-view.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-com-busy.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-file-locked.md +33 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-headers-textboxes-skipped.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-length-limit.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-loop-template-overwrite.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-multiline-formatting.md +31 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-silent-no-substitution.md +32 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/replace-text-version-mismatch.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-interop-failures.md +52 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-com-start-background-session0.md +50 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-export-pdf-com-wrong-thread.md +46 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-open-sharepoint-url-com-command-failed.md +45 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-cannot-create-unknown-type.md +30 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-com-not-installed.md +35 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-file-corrupted.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-file-path-not-found.md +36 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/playbooks/word-scope-hangs-background-prompt.md +34 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/presentation.md +11 -0
- package/skills/uipath-troubleshoot/references/activity-packages/word-activities/summary.md +38 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/investigation_guide.md +9 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/overview.md +7 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connection-invalid.md +9 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-aggregate-exception.md +30 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-general-exception.md +43 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-null-reference.md +36 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-remote-exception.md +31 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/playbooks/connector-runtime-exception.md +40 -0
- package/skills/uipath-troubleshoot/references/products/integration-service/summary.md +5 -0
- package/skills/uipath-troubleshoot/references/products/maestro/investigation_guide.md +2 -1
- package/skills/uipath-troubleshoot/references/products/orchestrator/investigation_guide.md +105 -10
- package/skills/uipath-troubleshoot/references/products/orchestrator/playbooks/job-faulted-logon-failure.md +1 -1
- package/skills/uipath-troubleshoot/references/summary.md +59 -3
- package/skills/uipath-troubleshoot/schemas/evidence.schema.md +48 -0
- package/skills/uipath-troubleshoot/schemas/hypotheses.schema.md +22 -7
- package/skills/uipath-troubleshoot/schemas/scope-check.schema.md +1 -1
- package/skills/uipath-troubleshoot/schemas/state.schema.md +81 -6
- package/version-manifest.json +2 -2
- package/skills/uipath-data-fabric/SKILL.md +0 -239
- package/skills/uipath-data-fabric/references/bulk-import.md +0 -73
- package/skills/uipath-data-fabric/references/entity-schema.md +0 -391
- package/skills/uipath-data-fabric/references/file-attachments.md +0 -65
- package/skills/uipath-maestro-bpmn/.maintenance/README.md +0 -241
- package/skills/uipath-maestro-bpmn/.maintenance/check-all.sh +0 -41
- package/skills/uipath-maestro-bpmn/.maintenance/check-anchors.sh +0 -83
- package/skills/uipath-maestro-bpmn/.maintenance/check-depth.sh +0 -132
- package/skills/uipath-maestro-bpmn/.maintenance/check-link-text.sh +0 -123
- package/skills/uipath-maestro-bpmn/.maintenance/check-links.sh +0 -70
- package/skills/uipath-maestro-bpmn/.maintenance/check-orphans.sh +0 -93
- package/skills/uipath-maestro-bpmn/.maintenance/check-plugin-pairs.sh +0 -39
- package/skills/uipath-maestro-bpmn/.maintenance/check-real-pack.sh +0 -79
- package/skills/uipath-maestro-bpmn/.maintenance/check-template.sh +0 -42
- package/skills/uipath-maestro-bpmn/.maintenance/check-uip-commands.sh +0 -266
- package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.py +0 -1255
- package/skills/uipath-maestro-bpmn/.maintenance/check-validation-fixtures.sh +0 -8
- package/skills/uipath-maestro-bpmn/fixtures/validation/README.md +0 -94
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/agent-invocation.bpmn +0 -62
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/bindings_v2.json +0 -37
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/entry-points.json +0 -21
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/agent-invocation/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/bindings_v2.json +0 -68
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/contract-variants.bpmn +0 -270
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/contract-variants/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/bindings_v2.json +0 -19
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/gateway-boundary-error.bpmn +0 -91
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/gateway-boundary-error/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/bindings_v2.json +0 -4
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/imported-brownfield-preservation.bpmn +0 -63
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/imported-brownfield-preservation/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/bindings_v2.json +0 -52
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/entry-points.json +0 -21
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/integration-service-enriched.bpmn +0 -65
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/integration-service-enriched/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/bindings_v2.json +0 -4
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/linear-process.bpmn +0 -55
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/linear-process/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/bindings_v2.json +0 -20
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/entry-points.json +0 -17
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/registry-coverage-matrix/registry-coverage-matrix.bpmn +0 -207
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/bindings_v2.json +0 -4
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/entry-points.json +0 -33
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/subprocess-multi-instance/subprocess-multi-instance.bpmn +0 -94
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/bindings_v2.json +0 -124
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/entry-points.json +0 -25
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/operate.json +0 -9
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/package-descriptor.json +0 -10
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/project.uiproj +0 -7
- package/skills/uipath-maestro-bpmn/fixtures/validation/wrapper-family-contract/wrapper-family-contract.bpmn +0 -151
- package/skills/uipath-maestro-bpmn/references/author/CAPABILITY.md +0 -141
- package/skills/uipath-maestro-bpmn/references/author/references/brownfield.md +0 -48
- package/skills/uipath-maestro-bpmn/references/author/references/editing-operations.md +0 -75
- package/skills/uipath-maestro-bpmn/references/author/references/greenfield.md +0 -41
- package/skills/uipath-maestro-bpmn/references/author/references/planning-arch.md +0 -82
- package/skills/uipath-maestro-bpmn/references/author/references/planning-impl.md +0 -104
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/impl.md +0 -34
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/agents/planning.md +0 -38
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/impl.md +0 -37
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/api-workflows/planning.md +0 -28
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/impl.md +0 -36
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/business-rules/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/impl.md +0 -67
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/call-activity-subprocess/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/impl.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/connectors/planning.md +0 -33
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/impl.md +0 -32
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/gateways/planning.md +0 -34
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/impl.md +0 -42
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/hitl/planning.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/integration-service/impl.md +0 -134
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/integration-service/planning.md +0 -67
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/impl.md +0 -50
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/multi-instance/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/impl.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/queues/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/impl.md +0 -35
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/rpa-jobs/planning.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/script/impl.md +0 -118
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/script/planning.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/impl.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/sequence-flows/planning.md +0 -30
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/impl.md +0 -33
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/service-tasks/planning.md +0 -31
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/impl.md +0 -33
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/signals/planning.md +0 -46
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/impl.md +0 -59
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/start-end-events/planning.md +0 -37
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/impl.md +0 -40
- package/skills/uipath-maestro-bpmn/references/author/references/plugins/waits-triggers/planning.md +0 -34
- package/skills/uipath-maestro-bpmn/references/author/references/supported-elements.md +0 -123
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/README.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/agent-job.md +0 -36
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/api-workflow.md +0 -29
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/business-rule.md +0 -18
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/call-activity.md +0 -56
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/hitl.md +0 -17
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/http-request.md +0 -119
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/queue.md +0 -21
- package/skills/uipath-maestro-bpmn/references/author/references/task-recipes/rpa-job.md +0 -23
- package/skills/uipath-maestro-bpmn/references/author/references/validation.md +0 -118
- package/skills/uipath-maestro-bpmn/references/shared/bpmn-xml-contract.md +0 -197
- package/skills/uipath-maestro-bpmn/references/shared/cli-conventions.md +0 -46
- package/skills/uipath-maestro-bpmn/references/shared/error-handling.md +0 -82
- package/skills/uipath-maestro-bpmn/references/shared/variables-bindings-expressions.md +0 -150
- package/skills/uipath-maestro-bpmn/references/shared/wrapper-shells.md +0 -554
- /package/skills/uipath-maestro-bpmn/references/{shared/expression-authoring.md → expression-authoring.md} +0 -0
- /package/skills/uipath-maestro-bpmn/references/{shared/public-safety.md → public-safety.md} +0 -0
- /package/{agents → skills/uipath-rpa/agents}/uipath-project-discovery-agent.md +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# element.json Reference
|
|
2
|
+
|
|
3
|
+
The core connector definition at `app/element/element.json`. Udon reads it to know how
|
|
4
|
+
to authenticate, call vendor APIs, map parameters, and apply hooks.
|
|
5
|
+
|
|
6
|
+
**How it's edited.** Use the orchestrator verbs — `init` (creates the shell; seeds the
|
|
7
|
+
connector-level fields and `base.url`), `auth set` (the whole authentication block +
|
|
8
|
+
config keys), `activity create` (`resources[]` + the SR), `auth system create` (system
|
|
9
|
+
`resources[]` entries). Edit a long-tail field no verb exposes (`displayOrder`,
|
|
10
|
+
`extended`, `typeOauth`, `cloneable`, a single param) surgically with `state patch`. The
|
|
11
|
+
command map and workflows live in SKILL.md — don't re-derive them here.
|
|
12
|
+
|
|
13
|
+
## Top-Level Fields
|
|
14
|
+
|
|
15
|
+
| Field | Type | Description |
|
|
16
|
+
|-------|------|-------------|
|
|
17
|
+
| `key` | string | Element key. For a design connector: `design-{org}-{slug}` (derived by `init` from `--name` + `--organization`). |
|
|
18
|
+
| `name` / `description` | string | Catalog display values (`init --name` / `--description`). |
|
|
19
|
+
| `hub` | string | Legacy/obsolete. Paths work with or without the hub prefix. Don't set on new connectors. |
|
|
20
|
+
| `authentication` | object | `{ "type": "oauth2" }` — primary auth type. Multi-auth uses an `authentication.type` COMBO config with groupControl. Owned by `auth set`. |
|
|
21
|
+
| `typeOauth` | boolean | `true` if primary auth is any OAuth/JWT variant. Set by `auth set`. |
|
|
22
|
+
| `configuration` | array | Config entries (auth creds, base URL, pagination, events). See [configuration.md](configuration.md). |
|
|
23
|
+
| `resources` | array | One entry per HTTP method per endpoint. |
|
|
24
|
+
| `parameters` | array | Global parameters (headers, auth mappings). Same schema as resource parameters. Add a header with `init --header VendorName=value`; remove with `init header delete <VendorName>`. |
|
|
25
|
+
| `hooks` | array | Global hooks applied to ALL requests (`activity hook create --global`). See [hooks.md](hooks.md). |
|
|
26
|
+
| `paginatorVersion` | int/string | Paginator engine: `2` standard, `"V3"` newer. |
|
|
27
|
+
| `publishStatus` | string | `"draft"` or `"published"`. |
|
|
28
|
+
| `protocolType` | string | Almost always `"http"`. |
|
|
29
|
+
| `cloneable` / `extended` / `transformationsEnabled` | boolean | Usually true / false / true. |
|
|
30
|
+
| `elementMetadata` | object | Embedded object INSIDE element.json (`key`, `name`, `authenticationTypes[]`, `discovery`, `api`, `bulk`, `pollingResources`) — distinct from the separate `element-metadata.json` file, which holds catalog flags (`hasEvents`, `hasHttpRequest`, categories, and `latestVersion` — `init` seeds it to `"1.0.0"`). |
|
|
31
|
+
|
|
32
|
+
## resources[]
|
|
33
|
+
|
|
34
|
+
Each entry = ONE HTTP method for ONE endpoint. An "accounts" resource created with
|
|
35
|
+
GET/GETBYID/POST/PATCH/DELETE has 5 entries (one `activity create` call writes them all).
|
|
36
|
+
|
|
37
|
+
| Field | Required | Description |
|
|
38
|
+
|-------|----------|-------------|
|
|
39
|
+
| `method` | yes | Udon method: GET, GETBYID, POST, PATCH, PUT, DELETE. |
|
|
40
|
+
| `path` | yes | Udon path / IS slug (e.g. `/accounts`). Hub prefix is legacy/optional. |
|
|
41
|
+
| `vendorPath` | yes | Vendor API path. May differ from `path` (`--vendor-path`, per-method `--method-vendor-path`). |
|
|
42
|
+
| `vendorMethod` | yes | Vendor HTTP method (usually same as `method`). |
|
|
43
|
+
| `type` | yes | Resource type — see below (`--resource-type`). |
|
|
44
|
+
| `standardResourceName` | no | Canonical link to the SR file. Absent on system resources. |
|
|
45
|
+
| `rootKey` | no | JSON path to the list array (`--root-key`, e.g. `"value"`, `"data.items"`). |
|
|
46
|
+
| `nextPageKey` | no | Non-standard next-page token location (`--next-page-key`). |
|
|
47
|
+
| query-param vendor names | no | On a LIST GET, the CEQL filter + pagination query params default to vendor names `where`/`pageSize`. Override to the vendor's real names with `--filter-param` (e.g. `sysparm_query`), `--page-size-param` (e.g. `sysparm_limit`, `per_page`), and `--offset-param` (e.g. `sysparm_offset`, `page`) — the offset param is ADDED only when named. These set `vendorName` while the activity-input `name` stays canonical, and never apply to by-id reads. |
|
|
48
|
+
| `parameters` | no | Per-resource parameter mappings (`activity param create`; see below). |
|
|
49
|
+
| `hooks` | no | Hook refs for this resource+method (`activity hook create`). |
|
|
50
|
+
| `expressions` | no | `requestBodyRoot` / `responseBodyRoot` for JSON-path wrap/unwrap. |
|
|
51
|
+
|
|
52
|
+
For by-id methods (`GETBYID`/`PATCH`/`PUT`/`DELETE`) `activity create` auto-adds the
|
|
53
|
+
`/{primaryKey}` path param — ALWAYS for `GETBYID`, and for the write methods only on a CRUD
|
|
54
|
+
activity (one that also has `GET`/`GETBYID`); a write-only activity keeps its base path.
|
|
55
|
+
Details in [standard-resources.md](standard-resources.md) §"by-id methods".
|
|
56
|
+
|
|
57
|
+
### Resource types
|
|
58
|
+
`api` (discoverable, in CRUD dropdowns), `apiNoDocumentation` (hidden but callable),
|
|
59
|
+
`apiElementRequest` (routes back through Udon; still appears in CRUD unless `isHidden`),
|
|
60
|
+
plus the 13 **system types** (no SR file) created via `auth system create`:
|
|
61
|
+
`onProvision`, `onDelete`, `onRefresh`, `provisionAuthValidation`, `oauthOnAuthroizeUrl`
|
|
62
|
+
(historical typo — keep it), `oauthOnTokenExchange`, `oauthOnTokenRefresh`,
|
|
63
|
+
`oauthOnTokenRevoke`, `oauth1OnTokenRequest`, `oauth2ClientCredentials`,
|
|
64
|
+
`onProvisionWebhook`, `onDeleteWebhook`, `onProvisionCacheVendorDataAsync`.
|
|
65
|
+
[system-resources.md](system-resources.md) is the authoritative list with override paths.
|
|
66
|
+
|
|
67
|
+
## parameters[] (global and per-resource)
|
|
68
|
+
|
|
69
|
+
Same schema at both levels. element.json is the **source of truth** for contract fields
|
|
70
|
+
(`name`, `vendorName`, `type`, `vendorType`, `dataType`, `vendorDataType`, `required`,
|
|
71
|
+
`description`, `source`); linked SR params auto-reconcile on every write. SR-only UI
|
|
72
|
+
fields (`displayName`, `requestCurated`, `sortOrder`, `design`) are preserved. Add with
|
|
73
|
+
`activity param create --resource <name> --method <VERB> --name <p> --type <type>` (`--type`
|
|
74
|
+
e.g. `path`/`query`/`header`/`body` — the full accepted enum is listed below).
|
|
75
|
+
|
|
76
|
+
| Field | Required | Description |
|
|
77
|
+
|-------|----------|-------------|
|
|
78
|
+
| `name` | yes | Udon-side name. For `type:"value"`, this IS the literal value. |
|
|
79
|
+
| `vendorName` | yes | Vendor-side name. |
|
|
80
|
+
| `type` | yes | WHERE the value comes from (source). |
|
|
81
|
+
| `vendorType` | yes | WHERE it goes in the vendor request (destination). |
|
|
82
|
+
| `dataType` / `source` / `required` / `design` | no | Hints, request/response, requiredness, UI. |
|
|
83
|
+
|
|
84
|
+
`type`/`vendorType` values: `configuration`, `header`, `path`, `query`, `file`, `form`,
|
|
85
|
+
`multipart`, `value`, `customValue`, `body`, `bodyField`, `prevBody`, `prevBodyField`,
|
|
86
|
+
`bodyToken`, `no-op`.
|
|
87
|
+
|
|
88
|
+
Common patterns:
|
|
89
|
+
```json
|
|
90
|
+
{"name": "application/json", "vendorName": "Accept", "type": "value", "vendorType": "header"}
|
|
91
|
+
{"name": "id", "vendorName": "customerId", "type": "path", "vendorType": "path"}
|
|
92
|
+
{"name": "oauth.user.token", "vendorName": "Authorization", "type": "configuration", "vendorType": "header"}
|
|
93
|
+
{"name": "pageSize", "vendorName": "limit", "type": "query", "vendorType": "query"}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Static / constant query parameters — use `type:"value"`, NOT a query string
|
|
97
|
+
|
|
98
|
+
A **constant** query param the connector must always send (an API version, a fixed
|
|
99
|
+
`format=json`, a feature flag) MUST be modelled as a `value` param whose `name` holds the
|
|
100
|
+
literal value and whose `vendorType` is `query`:
|
|
101
|
+
```json
|
|
102
|
+
{"name": "2023-07-31", "vendorName": "api-version", "type": "value", "vendorType": "query"}
|
|
103
|
+
```
|
|
104
|
+
This sends `?api-version=2023-07-31` exactly as written and never prompts the connection
|
|
105
|
+
user. **Do NOT leave the constant in the vendor path as a query string** (e.g.
|
|
106
|
+
`vendorPath: "/info?api-version=2023-07-31"`): on import the server parses that `?k=v`
|
|
107
|
+
into a `type:"query"` param that is *required user input with no value*, so every runtime
|
|
108
|
+
call (and `provisionAuthValidation` / connection test) fails with "value for 'api-version'
|
|
109
|
+
not passed". This applies everywhere a vendor path is set — activity resources AND the
|
|
110
|
+
auth-validation path (`auth set --validation-vendor-path`). The CLI `activity`/`auth`
|
|
111
|
+
verbs now auto-extract a trailing `?k=v` into a `value` param for you, so prefer passing a
|
|
112
|
+
clean base path; if you ever hand-edit `element.json`, follow the rule yourself. A `value`
|
|
113
|
+
param is stored in **plaintext** — only for non-secret constants; a secret belongs in an
|
|
114
|
+
encrypted `configuration` entry referenced via `type:"configuration"`, never a literal.
|
|
115
|
+
|
|
116
|
+
### Value interpolation (`${...}`)
|
|
117
|
+
For `type:"value"` params, Udon substitutes `${<namespace>.<key>}` in the `name` field at
|
|
118
|
+
request time. Namespaces: `configuration`, `header`, `body`. Special tokens (no prefix):
|
|
119
|
+
`${webhookCallbackUrl}`, `${elementWebhookCallbackUrl}`, `${encodedId}`, `${date}`,
|
|
120
|
+
`${date:FORMAT}` / `${gmtDate:FORMAT}` / `${dateTimeZone:TZ:FORMAT}` (event-poller only — see [events.md](events.md)).
|
|
121
|
+
This is how a prefix like `Bearer <token>` is applied without a hook:
|
|
122
|
+
```json
|
|
123
|
+
{"name": "Bearer ${configuration.oauth.user.token}", "vendorName": "Authorization", "type": "value", "vendorType": "header"}
|
|
124
|
+
```
|
|
125
|
+
Unresolved tokens are left verbatim (silent failure) — validate spellings against
|
|
126
|
+
`configuration[]`. No escape for a literal `{`. Prefer `type:"configuration"` for a 1:1
|
|
127
|
+
map; use `type:"value"` + interpolation when you need a prefix/suffix/composition.
|
|
128
|
+
|
|
129
|
+
## Editing surgically with `state patch`
|
|
130
|
+
The no-merge round-trip rule (query → edit → patch the COMPLETE object back) is SKILL.md
|
|
131
|
+
Rule 5. element.json-specific pointer detail: resource pointers URL-encode the path
|
|
132
|
+
(`/contacts` → `%2Fcontacts`, e.g. `element.json/resources/GET/%2Fcontacts`);
|
|
133
|
+
`element-metadata.json` has no addressable sub-paths (round-trip the whole file); `--op remove`
|
|
134
|
+
deletes one addressed item (e.g. a parameter by index); `state query --help` prints the grammar.
|
|
135
|
+
|
|
136
|
+
## Hook execution order
|
|
137
|
+
Global hooks wrap resource hooks around the vendor call. Canonical order, context vars,
|
|
138
|
+
naming, and the token-derived base-URL pattern: [hooks.md](hooks.md).
|
|
139
|
+
|
|
140
|
+
## Expressions
|
|
141
|
+
`requestBodyRoot` wraps the body (`"contact"` → `{"contact": ...}`); `responseBodyRoot`
|
|
142
|
+
unwraps the response (`"data.items"`). Both are real element.json fields but have NO builder
|
|
143
|
+
flag — author them by `state patch` of the whole resource entry (`"expressions": {...}`), then
|
|
144
|
+
`validate`. For a plain list unwrap prefer `rootKey` (`--root-key`), which the CLI does expose.
|
|
145
|
+
|
|
146
|
+
## See also
|
|
147
|
+
- [configuration.md](configuration.md), [standard-resources.md](standard-resources.md),
|
|
148
|
+
[hooks.md](hooks.md), [system-resources.md](system-resources.md), [auth.md](auth.md)
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Events Reference
|
|
2
|
+
|
|
3
|
+
Events detect vendor-side changes (CREATED / UPDATED / DELETED). Two mechanisms:
|
|
4
|
+
**polling** (periodic API calls) and **webhooks** (vendor pushes notifications). An event
|
|
5
|
+
source is always an existing activity — wire it AFTER the activity exists.
|
|
6
|
+
|
|
7
|
+
## How events are configured NOW
|
|
8
|
+
|
|
9
|
+
`uip is connectors builder trigger create` is the single entry point, and it **authors a
|
|
10
|
+
polling trigger** — it always wires the polling loop and always writes a polling-shaped SR
|
|
11
|
+
`metadata.events` (`eventMode: ["polling"]`), regardless of `--event-kind`. One call seeds the
|
|
12
|
+
event config bundle, writes the per-resource poller config, sets the SR `metadata.events`, and
|
|
13
|
+
flips `hasEvents`. The activity must already exist — `trigger create` HARD-FAILS if its SR is
|
|
14
|
+
missing. Runnable workflow: SKILL.md → "Add a polling trigger".
|
|
15
|
+
|
|
16
|
+
**Webhook caveat.** `--event-kind webhook | all` only adds the webhook CONFIG KEYS (below) to
|
|
17
|
+
the bundle; it does NOT implement webhook delivery and does NOT change the polling-shaped SR
|
|
18
|
+
metadata. A working webhook still needs `onProvisionWebhook`/`onDeleteWebhook` system resources
|
|
19
|
+
plus a post hook (see [system-resources.md](system-resources.md), [hooks.md](hooks.md)). And
|
|
20
|
+
`--updated-date-field` is REQUIRED even for `webhook`/`all`.
|
|
21
|
+
|
|
22
|
+
Key flags (`trigger create`):
|
|
23
|
+
- `--resource-name <name>` — existing activity/standard-resource to wire (required).
|
|
24
|
+
- `--event-kind polling | webhook | all` — which config bundle to seed (default `polling`).
|
|
25
|
+
- `--updated-date-field <field>` — vendor last-modified field, e.g. `LastModifiedDate` (REQUIRED for every `--event-kind`).
|
|
26
|
+
- `--created-date-field <field>` — defaults to `--updated-date-field`.
|
|
27
|
+
- `--id-field <field>` — primary key (defaults to `Id`).
|
|
28
|
+
- `--date-format <mask>` / `--created-date-format <mask>` — timestamp mask (created defaults to updated).
|
|
29
|
+
- `--event-types <csv>` — defaults to `CREATED,UPDATED,DELETED`.
|
|
30
|
+
- `--polling-url <url>` — explicit; auto-generated from the GET path when omitted.
|
|
31
|
+
- `--date-timezone <tz>` — default `GMT`.
|
|
32
|
+
- `--polling-resource-label <label>` — label in `elementMetadata.pollingResources`.
|
|
33
|
+
- `--override <key>=<value>` — per-entry defaultValue override for the event preset (repeatable).
|
|
34
|
+
|
|
35
|
+
These are the flags with non-obvious defaults/semantics; `trigger create --help` is the
|
|
36
|
+
always-current full list.
|
|
37
|
+
|
|
38
|
+
## What gets written
|
|
39
|
+
|
|
40
|
+
1. `element-metadata.json → hasEvents: true` (without it, events never fire).
|
|
41
|
+
2. `element.json → configuration[]` — the event config keys (the preset bundle).
|
|
42
|
+
3. `standard-resources/<name>.json → metadata.events` — per-resource event metadata.
|
|
43
|
+
4. `element.json/configuration/event.poller.configuration` — the polling JSON blob below.
|
|
44
|
+
|
|
45
|
+
## Polling config keys (the bundle)
|
|
46
|
+
|
|
47
|
+
`event.notification.enabled` (master switch), `event.vendor.type` (`polling` / `webhook`),
|
|
48
|
+
`event.poller.refresh_interval` (minutes, default 15), `event.poller.configuration`
|
|
49
|
+
(JSON blob below), `event.notification.callback.url`, `event.raw.enabled`.
|
|
50
|
+
|
|
51
|
+
## event.poller.configuration JSON
|
|
52
|
+
|
|
53
|
+
Each resource is keyed by its **normalized resource name** — `trigger create` derives the key
|
|
54
|
+
as `resourceName` with `/` and `::` replaced by `_` (so `accounts` → `accounts`, `crm/leads`
|
|
55
|
+
→ `crm_leads`). It is NEVER literally `"events"`.
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"accounts": {
|
|
59
|
+
"url": "/accounts?where=LastModifiedDate>'${gmtDate:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'}'",
|
|
60
|
+
"idField": "Id",
|
|
61
|
+
"datesConfiguration": {
|
|
62
|
+
"updatedDateField": "LastModifiedDate",
|
|
63
|
+
"updatedDateFormat": "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
|
|
64
|
+
"updatedDateTimezone": "GMT",
|
|
65
|
+
"createdDateField": "CreatedDate",
|
|
66
|
+
"createdDateFormat": "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
|
|
67
|
+
},
|
|
68
|
+
"createdCheckTolerance": 10
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
Per-resource fields: `url` (required — IS slug path with the generated `${gmtDate:FORMAT}` /
|
|
73
|
+
`${dateTimeZone:TZ:FORMAT}` poll-time placeholder; see the placeholder note below),
|
|
74
|
+
`idField` (required — unique key), `datesConfiguration` (required),
|
|
75
|
+
`createdCheckTolerance` (sec, default 10), `filterByUpdatedDate`, `filterByCurrentDate`,
|
|
76
|
+
`pageSize`, `pollDelay`, `batchSize`, `postHooks`, `postHookPipelines`, `useLastPollDate`,
|
|
77
|
+
`useHydrationBeforePostHooks`, `objectName`, `parameters`.
|
|
78
|
+
|
|
79
|
+
`datesConfiguration`: `updatedDateField`, `updatedDateFormat` (Java SimpleDateFormat),
|
|
80
|
+
`updatedDateTimezone` (default GMT), `createdDateField`, `createdDateFormat`
|
|
81
|
+
(defaults to updated), `createdDateTimezone`.
|
|
82
|
+
|
|
83
|
+
`trigger create` GENERATES the poll-time placeholder from `--date-timezone`: the default `GMT`
|
|
84
|
+
yields `${gmtDate:FORMAT}`; any other timezone yields `${dateTimeZone:<TZ>:FORMAT}`. (`${date:FORMAT}`,
|
|
85
|
+
local time, is also a valid runtime token if you hand-author a URL.) Each is replaced at runtime
|
|
86
|
+
with the last poll time; the FORMAT must match what the vendor accepts (e.g. Salesforce
|
|
87
|
+
`yyyy-MM-dd'T'HH:mm:ss.SSSZ`, most REST `yyyy-MM-dd'T'HH:mm:ss'Z'`, ISO `yyyy-MM-dd'T'HH:mm:ssXXX`,
|
|
88
|
+
or epoch millis).
|
|
89
|
+
|
|
90
|
+
To tweak one key after `trigger create`, `state query` the entry then `state patch` the
|
|
91
|
+
complete object back (patch REPLACES — see [debugging.md](debugging.md)).
|
|
92
|
+
|
|
93
|
+
## Webhook config keys (`--event-kind webhook` or `all`)
|
|
94
|
+
|
|
95
|
+
`event.notification.callback.headers`, `event.notification.signature.key` (HMAC),
|
|
96
|
+
`event.notification.basic.username`, `event.notification.basic.password`,
|
|
97
|
+
`event.notification.instance.finder`. Webhooks usually need `onProvisionWebhook` /
|
|
98
|
+
`onDeleteWebhook` system resources + a post hook (see
|
|
99
|
+
[system-resources.md](system-resources.md), [hooks.md](hooks.md)).
|
|
100
|
+
|
|
101
|
+
## SR-level event metadata (`metadata.events`)
|
|
102
|
+
|
|
103
|
+
`trigger create` writes this — DON'T hand-author it. The shape periodic requires (a flat
|
|
104
|
+
`{type:"polling", …}` is silently IGNORED — `event-operations` comes back empty and the trigger
|
|
105
|
+
never fires):
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
"events": {
|
|
109
|
+
"eventMode": ["polling"],
|
|
110
|
+
"polling": {
|
|
111
|
+
"configuration": {
|
|
112
|
+
"datesConfiguration": { "updatedDateField": "...", "updatedDateFormat": "...",
|
|
113
|
+
"updatedDateTimezone": "GMT", "createdDateField": "...", "createdDateFormat": "..." },
|
|
114
|
+
"idField": "id",
|
|
115
|
+
"url": "/tickets?where=modifiedTime>'${gmtDate:...}'",
|
|
116
|
+
"useLastPollDate": true
|
|
117
|
+
},
|
|
118
|
+
"eventTypes": [
|
|
119
|
+
{ "operation": "CREATED", "displayName": "Record Created", "description": "..." },
|
|
120
|
+
{ "operation": "UPDATED", "displayName": "Record Updated", "description": "..." }
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Each `eventTypes[]` entry: `operation` (CREATED / UPDATED / DELETED / a curated op like
|
|
127
|
+
TICKET_CLOSED), `displayName`, `description`, optional `objectName`. Top-level `eventMode` is the
|
|
128
|
+
array `["polling"]` (or `["webhooks"]` / `["fps"]`). Confirm a published trigger surfaced with
|
|
129
|
+
`uip is connectors event-operations <custom-key>` — a non-empty list means it's wired.
|
|
130
|
+
|
|
131
|
+
## See also
|
|
132
|
+
- [configuration.md](configuration.md), [debugging.md](debugging.md), [standard-resources.md](standard-resources.md)
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# Hooks Reference
|
|
2
|
+
|
|
3
|
+
Hooks are JavaScript files that transform requests before they hit the vendor
|
|
4
|
+
(`preRequest`) or transform responses before returning to the caller (`postRequest`).
|
|
5
|
+
|
|
6
|
+
## Decide first: hook or built-in?
|
|
7
|
+
|
|
8
|
+
A hook is JS you maintain forever, run in a sandboxed JS engine. **Reach for one only when no
|
|
9
|
+
declarative feature does the job** — across shipped connectors the largest category of hooks
|
|
10
|
+
(static headers, constant query params, one-line response unwraps) is avoidable. Check this
|
|
11
|
+
table first:
|
|
12
|
+
|
|
13
|
+
| You want to… | Use this built-in (NO hook) | Write a hook ONLY when… |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| Add a constant/credential header (`Authorization: Bearer`, `Accept`) | `type:"value"` param + `${configuration.<key>}`, or `type:"configuration"` for a 1:1 map — [element-json.md](element-json.md) §"Value interpolation" | the value is *computed* (a signature, JWT-derived id, conditional on input) |
|
|
16
|
+
| Send a constant query param (`api-version`, `format=json`) | `type:"value"` query param — [element-json.md](element-json.md) §"Static / constant query parameters" | the param's presence/value depends on input |
|
|
17
|
+
| Per-connection host / region / instance in a URL | `{placeholder}` in the URL + auto-seeded config — [configuration.md](configuration.md) §"Templated (per-instance / per-region / per-workspace) hosts" | the host must be *derived* from a token/response and validated |
|
|
18
|
+
| Return the inner list from a wrapper (`{data:[…]}`, `{value:[…]}`) | `rootKey` (`activity create --root-key`) — [element-json.md](element-json.md) §resources[] | the reshape flattens, computes, or joins fields |
|
|
19
|
+
| Wrap the request body (`{…}` → `{"contact":…}`) | `requestBodyRoot` — no builder flag; see [element-json.md](element-json.md) §Expressions | the body is restructured by input value |
|
|
20
|
+
| Rename a list/filter/page param (or any param) to the vendor's name | `--filter-param` / `--page-size-param` / `--offset-param` (generated list params), else `activity param create --vendor-name` — [element-json.md](element-json.md) §resources[] | the value must be transformed, not just renamed |
|
|
21
|
+
| Standard offset / cursor / page pagination | pagination preset ([configuration.md](configuration.md) §"Pagination keys") + `activity create --pagination-type` / `--next-page-key` (`paginatorVersion` is top-level — [element-json.md](element-json.md)) | the cursor is derived from the payload with stateful logic |
|
|
22
|
+
| Verify credentials at connect time | `provisionAuthValidation` system resource — [system-resources.md](system-resources.md) §provisionAuthValidation | only to ADD a postRequest hook for a *computed* `connection_identity` or a custom vendor-error message — never to replace the check |
|
|
23
|
+
| Show a connection's display name from a plain response/config field | `connection.identity.lookup.key` config = the field's path (in the base preset; add via `state patch` if absent) — no hook | the identity must be *computed/combined* from several values |
|
|
24
|
+
|
|
25
|
+
If the third column applies — or your need is in the next list — a hook is the correct tool.
|
|
26
|
+
|
|
27
|
+
## Hooks that earn their keep
|
|
28
|
+
|
|
29
|
+
These genuinely need JS — no declarative feature expresses them (request-side → `preRequest`,
|
|
30
|
+
response-side → `postRequest`). Each is a real shipped pattern:
|
|
31
|
+
|
|
32
|
+
- **Delimited-string ↔ JSON** — CSV recipients → `[{emailAddress}]`, `name:value;` pairs → arrays, a comma list → a typed object (often with input validation).
|
|
33
|
+
- **Query-language assembly** — build JQL / SOQL / CEQL / OData `$filter` (or dialect SQL) from several typed params.
|
|
34
|
+
- **Conditional body reshape by value** — enum label → vendor code, `field` → `field@odata.bind`, flat fields → nested arrays.
|
|
35
|
+
- **Multipart / upload-session / MIME assembly** — create-upload-session then hand off the URL; file-vs-`urlSource` dual mode.
|
|
36
|
+
- **Multi-call orchestration** — a secondary call via `require('axios')`, a thread→run→poll state machine, read-modify-write. Chains via `request_previous_response`.
|
|
37
|
+
- **Object-discovery metadata synthesis** — vendor field schema → typed UiPath field metadata (`type`/`format`/`mask`/`enum`) at runtime.
|
|
38
|
+
- **Connection facts derived from a token/response** — instance/base URL, org/cloud/tenant id (JWT decode), validated and persisted. Recipe below.
|
|
39
|
+
- **`connection_identity` (computed)** — `done({connection_identity: name})` when the display name must be built/combined; a plain field uses the `connection.identity.lookup.key` config (no hook).
|
|
40
|
+
- **Context-dependent error rewriting** — a raw 4xx → actionable guidance ("wrong region — verify .com/.in/.eu"), or eventual-consistency → retry. (NOT a bare pass-through.)
|
|
41
|
+
- **Conditional status-code mapping** — 304→empty 200, 409→200, a 202 async callback.
|
|
42
|
+
- **Stateful polling cursors** — per-entity token maps, delta-link self-healing, last-id cursors. Beyond the pagination preset.
|
|
43
|
+
- **Vendor quirks no flag covers** — empty-body / strip `Content-Type`, path `decodeURIComponent`, custom date formats, dynamic signatures (RS256 JWT), deeply-nested array→object hoist (find-by-attribute), chunked/streamed response reassembly.
|
|
44
|
+
|
|
45
|
+
## Recognizing an avoidable hook
|
|
46
|
+
|
|
47
|
+
Patterns shipped connectors hand-wrote when a built-in (table above) would do — delete or never add:
|
|
48
|
+
|
|
49
|
+
- **Anything in the decision table's left column** — plain response unwrap (`response_body.value`/`.data`, the biggest cluster), static/credential header, constant query param, host templating, body wrap, param rename.
|
|
50
|
+
- **Constant body fields** (`enableAutoReply:false`) → a `type:"value"` param with `vendorType:"bodyField"`.
|
|
51
|
+
- **Bare error pass-through** (`if(response_iserror){done();return;}` with nothing after) — delete it; the runtime already surfaces vendor errors.
|
|
52
|
+
- **The same response transform copied across resources** (e.g. de-prefixing Graph `@odata.*` keys — itself hook-only: the builder has no declarative response-key rename) — make it one `--global` hook (see §Naming).
|
|
53
|
+
|
|
54
|
+
## Authoring a hook
|
|
55
|
+
|
|
56
|
+
Use `uip is connectors builder activity hook create` (NOT a standalone `hook create`). It writes
|
|
57
|
+
the `.js` under `hooks/` and registers it in element.json unless `--no-auto-register`.
|
|
58
|
+
|
|
59
|
+
**You write the hook body; the CLI just places and registers it** — there are no per-shape
|
|
60
|
+
scaffold flags. Author the `.js` (the decision table above + `activity hook create --help`, which
|
|
61
|
+
lists the in-scope vars and the `done()` contract, give you everything), then attach it:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# resource hook from an agent-written JS file
|
|
65
|
+
uip is connectors builder activity hook create --resource-name accounts --method GET \
|
|
66
|
+
--hook-type postRequest --custom-code-file ./accounts-postRequest.js
|
|
67
|
+
|
|
68
|
+
# global hook
|
|
69
|
+
uip is connectors builder activity hook create --hook-type preRequest --global \
|
|
70
|
+
--custom-code-file ./global-pre.js
|
|
71
|
+
```
|
|
72
|
+
Scope with `--resource-name` + `--method`, or `--global`; `--hook-type preRequest|postRequest`;
|
|
73
|
+
supply the body with `--custom-code-file <path>` (or `--custom-code <js>`). With no body it writes
|
|
74
|
+
a minimal editable stub. Run `activity hook create --help` for the rest (`--context-params`, `--no-auto-register`).
|
|
75
|
+
|
|
76
|
+
## Where they live
|
|
77
|
+
|
|
78
|
+
Files in `app/element/hooks/*.js`; registered in element.json `resources[].hooks[]`
|
|
79
|
+
(resource-level) or the top-level `hooks[]` (`--global`).
|
|
80
|
+
|
|
81
|
+
## Execution order
|
|
82
|
+
|
|
83
|
+
1. Global preRequest → 2. Resource preRequest → [vendor call] → 3. Resource postRequest
|
|
84
|
+
→ 4. Global postRequest. Global hooks always run, even when resource hooks exist.
|
|
85
|
+
|
|
86
|
+
## Hook reference object
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
{"mimeType": "application/javascript", "type": "preRequest", "bodyOrRef": true, "ref": "resource-accounts-GET-preRequest.js", "contextParams": "request_vendor_body,configuration"}
|
|
90
|
+
```
|
|
91
|
+
`mimeType` (always `application/javascript`), `type` (`preRequest` / `postRequest`),
|
|
92
|
+
`bodyOrRef` (always `true` — the hook body lives in the referenced file, not inline), `ref`
|
|
93
|
+
(filename in `hooks/` — the canonical link), `contextParams` (comma-separated context vars).
|
|
94
|
+
|
|
95
|
+
**`contextParams` is the runtime binding allow-list** — a variable is injected only if it is listed,
|
|
96
|
+
so a wrong list means the vars your code reads come back `undefined` (a silent break). **You don't
|
|
97
|
+
manage it:** `activity hook create` derives it from your hook body, binding exactly the variables the
|
|
98
|
+
code references. Pass `--context-params` only as an escape hatch — to add `multipart_hook_context_items`
|
|
99
|
+
(opt-in; never auto-injected) or to deliberately override the derived set.
|
|
100
|
+
|
|
101
|
+
## Naming
|
|
102
|
+
|
|
103
|
+
`activity hook create` derives the filename. Resource:
|
|
104
|
+
`resource-{Resource}-{METHOD}-{preRequest|postRequest}.js`; global:
|
|
105
|
+
`global-preRequest.js` / `global-postRequest.js`. Each resource+method+phase maps to its own
|
|
106
|
+
file — you cannot point two resources at one shared file, so when two resources need the same
|
|
107
|
+
logic you copy it. When ONE transform should apply to every request/response (and is safe to run
|
|
108
|
+
on all of them — else guard it inside the hook), write it once as a `--global` hook instead of copying.
|
|
109
|
+
|
|
110
|
+
## JS engine (Denali)
|
|
111
|
+
|
|
112
|
+
Hooks run in Udon's **Denali** engine, which supports modern JS — shipped hooks freely use
|
|
113
|
+
optional chaining (`?.`), nullish coalescing (`??`), `async`/`await`, and `require()` for a small
|
|
114
|
+
module set: `axios` (secondary HTTP calls — the basis of multi-call orchestration), `crypto`, `url`,
|
|
115
|
+
`querystring`, `util`, `buffer`, `zlib`, `lodash`, `jmespath`, `moment` (the full menu prints in
|
|
116
|
+
`activity hook create --help`). Match the surrounding connector's style. **Every code path MUST end
|
|
117
|
+
with an explicit `done()`** (or `done({...})`) — a hook returns through that call, not via `return`.
|
|
118
|
+
|
|
119
|
+
## Context vars (what's in scope)
|
|
120
|
+
|
|
121
|
+
A hook reads a fixed set of variables and returns via `done({...})` — never `return`, on **every**
|
|
122
|
+
path. *read* = readable input; *read/write* = readable AND returnable via `done()`; *done()-only* =
|
|
123
|
+
NOT injected (you can't read it; it only has meaning when returned, and needs no `contextParams`
|
|
124
|
+
entry). The full per-variable contract is in `activity hook create --help`; the commonly used set:
|
|
125
|
+
|
|
126
|
+
**preRequest**
|
|
127
|
+
|
|
128
|
+
| var | use | notes |
|
|
129
|
+
|---|---|---|
|
|
130
|
+
| `request_body_map` | read | the curated request body **as a map** — read fields directly (`request_body_map.group`), no `input[0]` wrapper |
|
|
131
|
+
| `request_parameters`, `request_headers`, `request_path_variables` | read | the incoming call |
|
|
132
|
+
| `request_expression` | read | CEQL `where` → `[{attribute,value,operator}]` |
|
|
133
|
+
| `request_previous_response` | read | predecessor's response in a chained resource |
|
|
134
|
+
| `configuration` | read | instance config map — **read-only in preRequest** |
|
|
135
|
+
| `request_vendor_body` | read/write | what's sent to the vendor (string on read; list\|map\|string on write) |
|
|
136
|
+
| `request_vendor_parameters`, `request_vendor_headers`, `request_vendor_method` | read/write | what's sent to the vendor |
|
|
137
|
+
| `request_vendor_path` | read/write | what's sent; **a value starting with `http` becomes the full request URL** |
|
|
138
|
+
| `request_root_key`, `multipart_hook_context_items` | read/write | nest the body / multipart items |
|
|
139
|
+
| `continue: false` | done()-only | skip the vendor call — **the postRequest hook still runs** |
|
|
140
|
+
| `response_body` / `response_status_code` / `response_error_message` | done()-only | short-circuit a response without calling the vendor |
|
|
141
|
+
|
|
142
|
+
**postRequest**
|
|
143
|
+
|
|
144
|
+
| var | use | notes |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| `response_body` | read/write | the parsed vendor response — **read it here**, and return it to reshape |
|
|
147
|
+
| `response_iserror` | read | `true` unless HTTP **200–207**; read-only (returning it does nothing) |
|
|
148
|
+
| `response_body_raw`, `response_headers`, `response_status_code`, `response_root_key` | read/write | |
|
|
149
|
+
| `request_*`, `request_previous_response` | read | values as sent to the vendor |
|
|
150
|
+
| `configuration` | read/write | **writable here** — persist derived per-connection values (recipe below) |
|
|
151
|
+
| `multipart_hook_context_items` | read/write | |
|
|
152
|
+
| `response_error_message` | done()-only | converts the call to an error (status from `response_status_code`, else 400) |
|
|
153
|
+
| `connection_identity` | done()-only | set the connection's display name (honored in **both** phases) |
|
|
154
|
+
| `metadata_merge` / `merge_objects` | done()-only | object-discovery resources only |
|
|
155
|
+
|
|
156
|
+
`configuration` is the one var whose write-ability differs by phase (read-only pre, writable post): a
|
|
157
|
+
preRequest `configuration` write has no effect — persist derived per-connection values in a
|
|
158
|
+
postRequest hook (recipe below).
|
|
159
|
+
|
|
160
|
+
## Pattern: base URL (or any per-connection value) derived from a token response
|
|
161
|
+
|
|
162
|
+
Some vendors return the instance/base URL only in the token response (Salesforce
|
|
163
|
+
`instance_url`). There is NO vendor-specific base-url flag — `init --base-url` is static.
|
|
164
|
+
The default OAuth exchange isn't directly hookable, so author a system resource to hang the
|
|
165
|
+
hook on (`auth system create`): an `oauthOnTokenExchange` override (for a field in the token
|
|
166
|
+
response) or an `onProvision` resource (for a value fetched by a follow-up authenticated call) —
|
|
167
|
+
see [system-resources.md](system-resources.md). Its postRequest hook reads the value, VALIDATES
|
|
168
|
+
it (https + allowlisted host), then persists it into THIS connection's config with
|
|
169
|
+
`done({ configuration: {…} })` — the write-back shipped connectors use for tokens. Do **NOT**
|
|
170
|
+
`state patch` it: that edits the connector's static default at authoring time and bakes one
|
|
171
|
+
org's URL into every connection. NEVER log the token.
|
|
172
|
+
|
|
173
|
+
```javascript
|
|
174
|
+
// postRequest on the token exchange — extract + validate instance_url, never log response_body (holds the token)
|
|
175
|
+
var url = response_body && response_body.instance_url;
|
|
176
|
+
var ok = false;
|
|
177
|
+
if (typeof url === 'string' && url.indexOf('https://') === 0) { // require https
|
|
178
|
+
var host = url.replace('https://', '').split('/')[0].split(':')[0].toLowerCase();
|
|
179
|
+
var allowed = ['.my.salesforce.com', '.force.com']; // SUFFIX allowlist
|
|
180
|
+
for (var i = 0; i < allowed.length; i++) {
|
|
181
|
+
// anchor to the END of the host so 'my.salesforce.com.evil.com' can't pass
|
|
182
|
+
if (host.length > allowed[i].length &&
|
|
183
|
+
host.lastIndexOf(allowed[i]) === host.length - allowed[i].length) { ok = true; break; }
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (!ok) { done({ response_status_code: 400, response_error_message: 'invalid instance_url' }); return; }
|
|
187
|
+
done({ configuration: { 'base.url': url } }); // persists to THIS connection only
|
|
188
|
+
```
|
|
189
|
+
Keep secrets out of logs, output, and example commands (SKILL.md Rule 9).
|
|
190
|
+
|
|
191
|
+
## Hook hygiene
|
|
192
|
+
|
|
193
|
+
- **No `console.log`** — Denali has no logger and stray output leaks into responses. Remove it before validating.
|
|
194
|
+
- **No dead hooks** — delete 0-byte / no-op hook files; an unused `ref` is a `validate` and review smell.
|
|
195
|
+
- **No time-bomb logic** — never hard-code an expiring credential or a "remove in 3 weeks" branch; fix the auth config instead.
|
|
196
|
+
|
|
197
|
+
## See also
|
|
198
|
+
- [element-json.md](element-json.md), [debugging.md](debugging.md), [system-resources.md](system-resources.md)
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Connector Overview — the mental model
|
|
2
|
+
|
|
3
|
+
A connector wraps a vendor's REST API into UiPath Studio activities and triggers.
|
|
4
|
+
**Udon** (the Integration Service runtime) sits between Studio and the vendor API,
|
|
5
|
+
standardising pagination, authentication, parameter mapping, and error handling.
|
|
6
|
+
For the commands that build all of this, see [SKILL.md](../SKILL.md) — this file is
|
|
7
|
+
depth only (no command map, no workflows).
|
|
8
|
+
|
|
9
|
+
**Glossary** (used throughout these references): **Udon** = the runtime executor that
|
|
10
|
+
renders the connection form, runs the auth flow, calls the vendor, and applies hooks at
|
|
11
|
+
request time. **periodic** = the build/template tooling that validates and packages the
|
|
12
|
+
connector on disk. **IS** = Integration Service (the UiPath product); an **IS slug** is the
|
|
13
|
+
IS-side resource path `/<object>` (vs the vendor path). When a doc says "the server", read it
|
|
14
|
+
as Udon at runtime. The CLI noun for an endpoint is **activity** (an element.json resource
|
|
15
|
+
entry + its standard-resource file).
|
|
16
|
+
|
|
17
|
+
## The 5 CRUD activities + curated + HTTP Request
|
|
18
|
+
|
|
19
|
+
Every connector automatically gets 5 CRUD activities, each a dropdown listing every
|
|
20
|
+
standard resource that implements that method:
|
|
21
|
+
|
|
22
|
+
| Activity | Method | Description |
|
|
23
|
+
|----------|----------|------------------------------------------|
|
|
24
|
+
| List | GET | Filtered list. Supports CEQL query. |
|
|
25
|
+
| Get | GETBYID | Retrieve a single record by ID. |
|
|
26
|
+
| Create | POST | Insert a new record. |
|
|
27
|
+
| Update | PATCH/PUT| Modify an existing record. |
|
|
28
|
+
| Delete | DELETE | Remove a record by ID. |
|
|
29
|
+
|
|
30
|
+
A **curated activity** is a standalone activity shown alongside the 5 CRUDs (e.g.
|
|
31
|
+
"Get Support Request"), produced from a `metadata.method.{METHOD}.curated` block in the
|
|
32
|
+
SR file. `activity create` auto-curates every method by default. Field visibility
|
|
33
|
+
(`requestCurated`/`responseCurated`) and `design.position`:
|
|
34
|
+
[standard-resources.md](standard-resources.md). Every connector also gets a free
|
|
35
|
+
**HTTP Request** activity (hide it via `hasHttpRequest` in element-metadata.json).
|
|
36
|
+
|
|
37
|
+
## File layout (periodic-{elementKey}/)
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
app/element/
|
|
41
|
+
├── element.json # Core definition: auth, configuration[], resources[], parameters[], hooks[]
|
|
42
|
+
├── element-metadata.json # Catalog entry: name, categories, capability flags, latestVersion
|
|
43
|
+
├── image.svg # Icon
|
|
44
|
+
├── hooks/*.js # JS pre/post request transformers (extracted from element.json by scripts/build)
|
|
45
|
+
├── standard-resources/*.json # Per-object metadata: fields, methods, curated, events
|
|
46
|
+
└── event-hook/ # Event/polling hook definitions
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## How the files link
|
|
50
|
+
|
|
51
|
+
element.json tells Udon HOW to call the vendor (vendorPath, parameters, hooks).
|
|
52
|
+
Standard resources tell Udon WHAT the data looks like (fields, types, method config).
|
|
53
|
+
|
|
54
|
+
1. **resource entry → SR file**: `standardResourceName` is the canonical link
|
|
55
|
+
(`"accounts"` → `standard-resources/accounts.json`). Linkage rule + the older path-match
|
|
56
|
+
fallback: [standard-resources.md](standard-resources.md).
|
|
57
|
+
2. **resource entry → hook files**: each `resources[].hooks[].ref` names a file in `hooks/`.
|
|
58
|
+
3. **global hooks**: top-level `hooks[]`, same `ref` field; always run for every request.
|
|
59
|
+
4. **system resources**: element.json resource entries with NO SR file and no
|
|
60
|
+
`standardResourceName` → never appear as activities. Internal only (onProvision,
|
|
61
|
+
oauthOnTokenRefresh, provisionAuthValidation). Override a built-in by matching its path.
|
|
62
|
+
|
|
63
|
+
## Connector key format
|
|
64
|
+
|
|
65
|
+
- Official UiPath: `uipath-{vendor}-{product}` (e.g. `uipath-salesforce-sfdc`).
|
|
66
|
+
- Custom / design: `design-{org}-{slug}` — `init --organization <ORG>` derives it from the
|
|
67
|
+
org slug + `--name`. Repo name = `periodic-` + key (e.g. `periodic-design-myorg-acme`).
|
|
68
|
+
|
|
69
|
+
## Scope
|
|
70
|
+
|
|
71
|
+
In scope: RESTful JSON APIs, a single base URL, polling/webhook triggers, JS hooks. Out of
|
|
72
|
+
scope: GraphQL, SOAP/XML, SDKs, multiple base URLs. The builder authors connectors by hand
|
|
73
|
+
from the vendor's API docs; it has no OpenAPI/Postman import command.
|
|
74
|
+
|
|
75
|
+
## See also
|
|
76
|
+
- [element-json.md](element-json.md) — element.json internals
|
|
77
|
+
- [configuration.md](configuration.md) — config + auth keys
|
|
78
|
+
- [standard-resources.md](standard-resources.md) — SR / field shape
|