diff --git a/samples/coded-action-apps/action-app-with-data-fabric-entity/.gitignore b/samples/coded-action-apps/action-app-with-data-fabric-entity/.gitignore
new file mode 100644
index 000000000..e627eec15
--- /dev/null
+++ b/samples/coded-action-apps/action-app-with-data-fabric-entity/.gitignore
@@ -0,0 +1,21 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+
+# Build outputs
+node_modules
+dist
+dist-ssr
+.uipath
+
+# OS / editor
+.DS_Store
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/samples/coded-action-apps/action-app-with-data-fabric-entity/index.html b/samples/coded-action-apps/action-app-with-data-fabric-entity/index.html
index 15b758267..df95a6f1e 100644
--- a/samples/coded-action-apps/action-app-with-data-fabric-entity/index.html
+++ b/samples/coded-action-apps/action-app-with-data-fabric-entity/index.html
@@ -3,6 +3,7 @@
+
UiPath Action Center Form
diff --git a/samples/coded-action-apps/action-app-with-data-fabric-entity/package-lock.json b/samples/coded-action-apps/action-app-with-data-fabric-entity/package-lock.json
index 15f1a20f1..a424b49a7 100644
--- a/samples/coded-action-apps/action-app-with-data-fabric-entity/package-lock.json
+++ b/samples/coded-action-apps/action-app-with-data-fabric-entity/package-lock.json
@@ -798,9 +798,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -818,9 +815,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -838,9 +832,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -858,9 +849,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -878,9 +866,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -898,9 +883,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -2302,9 +2284,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2326,9 +2305,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2350,9 +2326,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2374,9 +2347,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
diff --git a/samples/coded-action-apps/action-app-with-data-fabric-entity/src/assets/favicon.png b/samples/coded-action-apps/action-app-with-data-fabric-entity/src/assets/favicon.png
new file mode 100644
index 000000000..e6ed2a94b
Binary files /dev/null and b/samples/coded-action-apps/action-app-with-data-fabric-entity/src/assets/favicon.png differ
diff --git a/samples/coded-action-apps/action-app-with-data-fabric-entity/uipath.json.example b/samples/coded-action-apps/action-app-with-data-fabric-entity/uipath.json.example
new file mode 100644
index 000000000..ead5c36ac
--- /dev/null
+++ b/samples/coded-action-apps/action-app-with-data-fabric-entity/uipath.json.example
@@ -0,0 +1,8 @@
+{
+ "clientId": "",
+ "scope": "DataFabric.Schema.Read DataFabric.Data.Read DataFabric.Data.Write",
+ "orgName": "",
+ "tenantName": "",
+ "baseUrl": "https://api.uipath.com",
+ "redirectUri": "http://localhost:5173"
+}
diff --git a/samples/coded-action-apps/action-app-with-document/.gitignore b/samples/coded-action-apps/action-app-with-document/.gitignore
new file mode 100644
index 000000000..e627eec15
--- /dev/null
+++ b/samples/coded-action-apps/action-app-with-document/.gitignore
@@ -0,0 +1,21 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+
+# Build outputs
+node_modules
+dist
+dist-ssr
+.uipath
+
+# OS / editor
+.DS_Store
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/samples/coded-action-apps/action-app-with-document/index.html b/samples/coded-action-apps/action-app-with-document/index.html
index 15b758267..df95a6f1e 100644
--- a/samples/coded-action-apps/action-app-with-document/index.html
+++ b/samples/coded-action-apps/action-app-with-document/index.html
@@ -3,6 +3,7 @@
+
UiPath Action Center Form
diff --git a/samples/coded-action-apps/action-app-with-document/package-lock.json b/samples/coded-action-apps/action-app-with-document/package-lock.json
index 0e8ec030c..93d093c34 100644
--- a/samples/coded-action-apps/action-app-with-document/package-lock.json
+++ b/samples/coded-action-apps/action-app-with-document/package-lock.json
@@ -798,9 +798,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -818,9 +815,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -838,9 +832,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -858,9 +849,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -878,9 +866,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -898,9 +883,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -2302,9 +2284,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2326,9 +2305,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2350,9 +2326,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2374,9 +2347,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
diff --git a/samples/coded-action-apps/action-app-with-document/src/assets/favicon.png b/samples/coded-action-apps/action-app-with-document/src/assets/favicon.png
new file mode 100644
index 000000000..e6ed2a94b
Binary files /dev/null and b/samples/coded-action-apps/action-app-with-document/src/assets/favicon.png differ
diff --git a/samples/coded-action-apps/action-app-with-document/uipath.json.example b/samples/coded-action-apps/action-app-with-document/uipath.json.example
new file mode 100644
index 000000000..ef047e920
--- /dev/null
+++ b/samples/coded-action-apps/action-app-with-document/uipath.json.example
@@ -0,0 +1,8 @@
+{
+ "clientId": "",
+ "scope": "OR.Execution OR.Tasks OR.Folders",
+ "orgName": "",
+ "tenantName": "",
+ "baseUrl": "https://api.uipath.com",
+ "redirectUri": "http://localhost:5173"
+}
diff --git a/samples/coded-action-apps/action-app-with-file-attachment-document/.gitignore b/samples/coded-action-apps/action-app-with-file-attachment-document/.gitignore
new file mode 100644
index 000000000..e627eec15
--- /dev/null
+++ b/samples/coded-action-apps/action-app-with-file-attachment-document/.gitignore
@@ -0,0 +1,21 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+
+# Build outputs
+node_modules
+dist
+dist-ssr
+.uipath
+
+# OS / editor
+.DS_Store
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/samples/coded-action-apps/action-app-with-file-attachment-document/index.html b/samples/coded-action-apps/action-app-with-file-attachment-document/index.html
index 15b758267..df95a6f1e 100644
--- a/samples/coded-action-apps/action-app-with-file-attachment-document/index.html
+++ b/samples/coded-action-apps/action-app-with-file-attachment-document/index.html
@@ -3,6 +3,7 @@
+
UiPath Action Center Form
diff --git a/samples/coded-action-apps/action-app-with-file-attachment-document/package-lock.json b/samples/coded-action-apps/action-app-with-file-attachment-document/package-lock.json
index 7be78c44f..5b143d6d4 100644
--- a/samples/coded-action-apps/action-app-with-file-attachment-document/package-lock.json
+++ b/samples/coded-action-apps/action-app-with-file-attachment-document/package-lock.json
@@ -798,9 +798,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -818,9 +815,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -838,9 +832,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -858,9 +849,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -878,9 +866,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -898,9 +883,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -2302,9 +2284,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2326,9 +2305,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2350,9 +2326,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2374,9 +2347,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
diff --git a/samples/coded-action-apps/action-app-with-file-attachment-document/src/assets/favicon.png b/samples/coded-action-apps/action-app-with-file-attachment-document/src/assets/favicon.png
new file mode 100644
index 000000000..e6ed2a94b
Binary files /dev/null and b/samples/coded-action-apps/action-app-with-file-attachment-document/src/assets/favicon.png differ
diff --git a/samples/coded-action-apps/action-app-with-file-attachment-document/uipath.json.example b/samples/coded-action-apps/action-app-with-file-attachment-document/uipath.json.example
new file mode 100644
index 000000000..b7ae138f0
--- /dev/null
+++ b/samples/coded-action-apps/action-app-with-file-attachment-document/uipath.json.example
@@ -0,0 +1,8 @@
+{
+ "clientId": "",
+ "scope": "OR.Folders.Read",
+ "orgName": "",
+ "tenantName": "",
+ "baseUrl": "https://api.uipath.com",
+ "redirectUri": "http://localhost:5173"
+}
diff --git a/samples/coded-action-apps/action-app-with-image/.gitignore b/samples/coded-action-apps/action-app-with-image/.gitignore
new file mode 100644
index 000000000..e627eec15
--- /dev/null
+++ b/samples/coded-action-apps/action-app-with-image/.gitignore
@@ -0,0 +1,21 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+
+# Build outputs
+node_modules
+dist
+dist-ssr
+.uipath
+
+# OS / editor
+.DS_Store
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/samples/coded-action-apps/action-app-with-image/index.html b/samples/coded-action-apps/action-app-with-image/index.html
index 15b758267..df95a6f1e 100644
--- a/samples/coded-action-apps/action-app-with-image/index.html
+++ b/samples/coded-action-apps/action-app-with-image/index.html
@@ -3,6 +3,7 @@
+
UiPath Action Center Form
diff --git a/samples/coded-action-apps/action-app-with-image/src/assets/favicon.png b/samples/coded-action-apps/action-app-with-image/src/assets/favicon.png
new file mode 100644
index 000000000..e6ed2a94b
Binary files /dev/null and b/samples/coded-action-apps/action-app-with-image/src/assets/favicon.png differ
diff --git a/samples/coded-action-apps/action-app-with-image/uipath.json.example b/samples/coded-action-apps/action-app-with-image/uipath.json.example
new file mode 100644
index 000000000..ef047e920
--- /dev/null
+++ b/samples/coded-action-apps/action-app-with-image/uipath.json.example
@@ -0,0 +1,8 @@
+{
+ "clientId": "",
+ "scope": "OR.Execution OR.Tasks OR.Folders",
+ "orgName": "",
+ "tenantName": "",
+ "baseUrl": "https://api.uipath.com",
+ "redirectUri": "http://localhost:5173"
+}
diff --git a/samples/coded-action-apps/action-app-with-storage-bucket-document/.gitignore b/samples/coded-action-apps/action-app-with-storage-bucket-document/.gitignore
new file mode 100644
index 000000000..e627eec15
--- /dev/null
+++ b/samples/coded-action-apps/action-app-with-storage-bucket-document/.gitignore
@@ -0,0 +1,21 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+
+# Build outputs
+node_modules
+dist
+dist-ssr
+.uipath
+
+# OS / editor
+.DS_Store
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/samples/coded-action-apps/action-app-with-storage-bucket-document/index.html b/samples/coded-action-apps/action-app-with-storage-bucket-document/index.html
index 15b758267..df95a6f1e 100644
--- a/samples/coded-action-apps/action-app-with-storage-bucket-document/index.html
+++ b/samples/coded-action-apps/action-app-with-storage-bucket-document/index.html
@@ -3,6 +3,7 @@
+
UiPath Action Center Form
diff --git a/samples/coded-action-apps/action-app-with-storage-bucket-document/package-lock.json b/samples/coded-action-apps/action-app-with-storage-bucket-document/package-lock.json
index 4a8164844..c068414f6 100644
--- a/samples/coded-action-apps/action-app-with-storage-bucket-document/package-lock.json
+++ b/samples/coded-action-apps/action-app-with-storage-bucket-document/package-lock.json
@@ -798,9 +798,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -818,9 +815,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -838,9 +832,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -858,9 +849,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -878,9 +866,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -898,9 +883,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -2302,9 +2284,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2326,9 +2305,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2350,9 +2326,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -2374,9 +2347,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MPL-2.0",
"optional": true,
"os": [
diff --git a/samples/coded-action-apps/action-app-with-storage-bucket-document/src/assets/favicon.png b/samples/coded-action-apps/action-app-with-storage-bucket-document/src/assets/favicon.png
new file mode 100644
index 000000000..e6ed2a94b
Binary files /dev/null and b/samples/coded-action-apps/action-app-with-storage-bucket-document/src/assets/favicon.png differ
diff --git a/samples/coded-action-apps/action-app-with-storage-bucket-document/uipath.json.example b/samples/coded-action-apps/action-app-with-storage-bucket-document/uipath.json.example
new file mode 100644
index 000000000..e37474f47
--- /dev/null
+++ b/samples/coded-action-apps/action-app-with-storage-bucket-document/uipath.json.example
@@ -0,0 +1,8 @@
+{
+ "clientId": "",
+ "scope": "OR.Buckets.Read",
+ "orgName": "",
+ "tenantName": "",
+ "baseUrl": "https://api.uipath.com",
+ "redirectUri": "http://localhost:5173"
+}
diff --git a/samples/conversational-agent-app/.env.example b/samples/conversational-agent-app/.env.example
deleted file mode 100644
index d344ef3c7..000000000
--- a/samples/conversational-agent-app/.env.example
+++ /dev/null
@@ -1,8 +0,0 @@
-# UiPath OAuth Configuration
-# Get these values from your UiPath Cloud Admin Tab
-
-VITE_UIPATH_CLIENT_ID=your-oauth-client-id
-VITE_UIPATH_ORG_NAME=your-organization-name
-VITE_UIPATH_TENANT_NAME=your-tenant-name
-VITE_UIPATH_BASE_URL=https://api.uipath.com
-VITE_UIPATH_SCOPE=OR.Execution OR.Folders OR.Jobs ConversationalAgents Traces.Api
diff --git a/samples/conversational-agent-app/.gitignore b/samples/conversational-agent-app/.gitignore
new file mode 100644
index 000000000..e627eec15
--- /dev/null
+++ b/samples/conversational-agent-app/.gitignore
@@ -0,0 +1,21 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+
+# Build outputs
+node_modules
+dist
+dist-ssr
+.uipath
+
+# OS / editor
+.DS_Store
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/samples/conversational-agent-app/README.md b/samples/conversational-agent-app/README.md
index ea75eb9d2..4494c89e8 100644
--- a/samples/conversational-agent-app/README.md
+++ b/samples/conversational-agent-app/README.md
@@ -2,6 +2,10 @@
A sample React TypeScript application for interacting with UiPath Conversational Agents. Features real-time streaming responses over WebSocket, conversation management, file attachments, tool call visualization, and feedback.
+## Preview
+
+
+
## Installation
```bash
diff --git a/samples/conversational-agent-app/package-lock.json b/samples/conversational-agent-app/package-lock.json
index a6c62aaf9..779b86ad9 100644
--- a/samples/conversational-agent-app/package-lock.json
+++ b/samples/conversational-agent-app/package-lock.json
@@ -8,6 +8,7 @@
"name": "conversational-agent-app",
"version": "0.0.0",
"dependencies": {
+ "@uipath/uipath-typescript": "^1.1.0",
"katex": "^0.16.22",
"react": "^19.0.0",
"react-dom": "^19.0.0",
@@ -18,6 +19,7 @@
"@eslint/js": "^9.17.0",
"@types/react": "^19.0.2",
"@types/react-dom": "^19.0.2",
+ "@uipath/coded-apps-dev": "^1.0.0-beta.1",
"@vitejs/plugin-react": "^4.3.4",
"autoprefixer": "^10.4.20",
"eslint": "^9.17.0",
@@ -552,6 +554,84 @@
"node": ">= 8"
}
},
+ "node_modules/@opentelemetry/api": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz",
+ "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@opentelemetry/api-logs": {
+ "version": "0.204.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.204.0.tgz",
+ "integrity": "sha512-DqxY8yoAaiBPivoJD4UtgrMS8gEmzZ5lnaxzPojzLVHBGqPxgWm4zcuvcUHZiqQ6kRX2Klel2r9y8cA2HAtqpw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/api": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/@opentelemetry/core": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.1.0.tgz",
+ "integrity": "sha512-RMEtHsxJs/GiHHxYT58IY57UXAQTuUnZVco6ymDEqTNlJKTimM4qPUPVe8InNFyBjhHBEAx4k3Q8LtNayBsbUQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/semantic-conventions": "^1.29.0"
+ },
+ "engines": {
+ "node": "^18.19.0 || >=20.6.0"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.0.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/resources": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.1.0.tgz",
+ "integrity": "sha512-1CJjf3LCvoefUOgegxi8h6r4B/wLSzInyhGP2UmIBYNlo4Qk5CZ73e1eEyWmfXvFtm1ybkmfb2DqWvspsYLrWw==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/core": "2.1.0",
+ "@opentelemetry/semantic-conventions": "^1.29.0"
+ },
+ "engines": {
+ "node": "^18.19.0 || >=20.6.0"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.3.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/sdk-logs": {
+ "version": "0.204.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.204.0.tgz",
+ "integrity": "sha512-y32iNNmpMUVFWSqbNrXE8xY/6EMge+HX3PXsMnCDV4cXT4SNT+W/3NgyMDf80KJL0fUK17/a0NmfXcrBhkFWrg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/api-logs": "0.204.0",
+ "@opentelemetry/core": "2.1.0",
+ "@opentelemetry/resources": "2.1.0"
+ },
+ "engines": {
+ "node": "^18.19.0 || >=20.6.0"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.4.0 <1.10.0"
+ }
+ },
+ "node_modules/@opentelemetry/semantic-conventions": {
+ "version": "1.43.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.43.0.tgz",
+ "integrity": "sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/@rolldown/pluginutils": {
"version": "1.0.0-beta.27",
"dev": true,
@@ -569,6 +649,12 @@
"darwin"
]
},
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
+ "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
+ "license": "MIT"
+ },
"node_modules/@types/babel__core": {
"version": "7.20.5",
"dev": true,
@@ -918,6 +1004,64 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@uipath/coded-apps-dev": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/@uipath/coded-apps-dev/-/coded-apps-dev-1.0.0-beta.1.tgz",
+ "integrity": "sha512-vZzf5+lMToP/LS3QuXv+7wwqkQ2tuUGaNqGx7x1zWtcTe44XSo3r8q4L9xcnKyH0Zamh0g2XwE9SRmIBvv7wcA==",
+ "dev": true,
+ "dependencies": {
+ "unplugin": "^2.3.4"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "@uipath/uipath-typescript": ">=1.0.0-0",
+ "esbuild": ">=0.17.0",
+ "rollup": ">=3.0.0",
+ "vite": ">=4.0.0",
+ "webpack": ">=5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@uipath/uipath-typescript": {
+ "optional": false
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "rollup": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ },
+ "webpack": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@uipath/core-telemetry": {
+ "version": "1.0.0-beta.3",
+ "resolved": "https://registry.npmjs.org/@uipath/core-telemetry/-/core-telemetry-1.0.0-beta.3.tgz",
+ "integrity": "sha512-e/IHHJ77tygw/LvFRSEQ/bxFlmTivrk0ApeRIsPqTpwxXNEryGxLzSjWCRflAKs3EYj+jiwEYRWINpodMjmrqw==",
+ "license": "MIT",
+ "dependencies": {
+ "@opentelemetry/sdk-logs": "^0.204.0"
+ }
+ },
+ "node_modules/@uipath/uipath-typescript": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/@uipath/uipath-typescript/-/uipath-typescript-1.5.3.tgz",
+ "integrity": "sha512-Se/hEE2QoUtiU9HvMJWeYAy7u/x5k0D2SIHNjYa3KPGPjsLZPLKW7pZSl7dRg+nQvubfIsayGuhgsmkYzccA1g==",
+ "license": "MIT",
+ "dependencies": {
+ "@uipath/core-telemetry": "^1.0.0-beta.3",
+ "socket.io-client": "^4.8.1"
+ },
+ "peerDependencies": {
+ "zod": "^4.2.1"
+ }
+ },
"node_modules/@ungap/structured-clone": {
"version": "1.3.0",
"license": "ISC"
@@ -1392,6 +1536,28 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/engine.io-client": {
+ "version": "6.6.6",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.6.tgz",
+ "integrity": "sha512-iY6QdftLQ9pyiPoX082bpf/u1UewnOaJrtJIF9T0++QB34lZrj0uP+Q/bj8AlUsAxqhnkTV2BS8SBZSxOmoV5Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.4.1",
+ "engine.io-parser": "~5.2.1",
+ "ws": "~8.21.0",
+ "xmlhttprequest-ssl": "~2.1.1"
+ }
+ },
+ "node_modules/engine.io-parser": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
+ "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
"node_modules/esbuild": {
"version": "0.25.12",
"dev": true,
@@ -3573,6 +3739,34 @@
"node": ">=8"
}
},
+ "node_modules/socket.io-client": {
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.3.tgz",
+ "integrity": "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==",
+ "license": "MIT",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.4.1",
+ "engine.io-client": "~6.6.1",
+ "socket.io-parser": "~4.2.4"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-parser": {
+ "version": "4.2.6",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.6.tgz",
+ "integrity": "sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==",
+ "license": "MIT",
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.4.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
"node_modules/source-map-js": {
"version": "1.2.1",
"dev": true,
@@ -3937,6 +4131,35 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/unplugin": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz",
+ "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.5",
+ "acorn": "^8.15.0",
+ "picomatch": "^4.0.3",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": ">=18.12.0"
+ }
+ },
+ "node_modules/unplugin/node_modules/picomatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
+ "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/update-browserslist-db": {
"version": "1.2.3",
"dev": true,
@@ -4103,6 +4326,13 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/which": {
"version": "2.0.2",
"dev": true,
@@ -4125,6 +4355,35 @@
"node": ">=0.10.0"
}
},
+ "node_modules/ws": {
+ "version": "8.21.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
+ "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xmlhttprequest-ssl": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz",
+ "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/yallist": {
"version": "3.1.1",
"dev": true,
@@ -4141,6 +4400,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/zod": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz",
+ "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==",
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
"node_modules/zwitch": {
"version": "2.0.4",
"license": "MIT",
diff --git a/samples/conversational-agent-app/package.json b/samples/conversational-agent-app/package.json
index 3d50c1138..2bba32271 100644
--- a/samples/conversational-agent-app/package.json
+++ b/samples/conversational-agent-app/package.json
@@ -21,6 +21,7 @@
"@eslint/js": "^9.17.0",
"@types/react": "^19.0.2",
"@types/react-dom": "^19.0.2",
+ "@uipath/coded-apps-dev": "^1.0.0-beta.1",
"@vitejs/plugin-react": "^4.3.4",
"autoprefixer": "^10.4.20",
"eslint": "^9.17.0",
diff --git a/samples/conversational-agent-app/screenshots/preview.gif b/samples/conversational-agent-app/screenshots/preview.gif
new file mode 100644
index 000000000..daf6cc887
Binary files /dev/null and b/samples/conversational-agent-app/screenshots/preview.gif differ
diff --git a/samples/conversational-agent-app/src/App.tsx b/samples/conversational-agent-app/src/App.tsx
index bccd71c8b..d1e4f8fbf 100644
--- a/samples/conversational-agent-app/src/App.tsx
+++ b/samples/conversational-agent-app/src/App.tsx
@@ -3,16 +3,6 @@ import { AuthProvider, useAuth } from './context/AuthContext'
import { ChatLayout } from './components/ChatLayout'
import { LoginScreen } from './components/LoginScreen'
import { Spinner } from './components/Spinner'
-import type { UiPathSDKConfig } from '@uipath/uipath-typescript/core'
-
-const authConfig: UiPathSDKConfig = {
- clientId: import.meta.env.VITE_UIPATH_CLIENT_ID || 'your-client-id',
- orgName: import.meta.env.VITE_UIPATH_ORG_NAME || 'your-organization',
- tenantName: import.meta.env.VITE_UIPATH_TENANT_NAME || 'your-tenant',
- baseUrl: import.meta.env.VITE_UIPATH_BASE_URL,
- redirectUri: window.location.origin + window.location.pathname,
- scope: import.meta.env.VITE_UIPATH_SCOPE,
-}
function AppContent() {
const { isAuthenticated, isLoading } = useAuth()
@@ -41,7 +31,7 @@ function AppContent() {
function App() {
return (
-
+
)
diff --git a/samples/conversational-agent-app/src/assets/favicon.png b/samples/conversational-agent-app/src/assets/favicon.png
index 99f7129b1..e6ed2a94b 100644
Binary files a/samples/conversational-agent-app/src/assets/favicon.png and b/samples/conversational-agent-app/src/assets/favicon.png differ
diff --git a/samples/conversational-agent-app/src/context/AuthContext.tsx b/samples/conversational-agent-app/src/context/AuthContext.tsx
index 589bad2cc..21592b89e 100644
--- a/samples/conversational-agent-app/src/context/AuthContext.tsx
+++ b/samples/conversational-agent-app/src/context/AuthContext.tsx
@@ -4,7 +4,6 @@
import { useState, useEffect, useMemo, useCallback, createContext, useContext, type ReactNode } from 'react'
import { UiPath } from '@uipath/uipath-typescript/core'
-import type { UiPathSDKConfig } from '@uipath/uipath-typescript/core'
interface AuthContextType {
isAuthenticated: boolean
@@ -17,11 +16,19 @@ interface AuthContextType {
const AuthContext = createContext(undefined)
-export function AuthProvider({ children, config }: { children: ReactNode; config: UiPathSDKConfig }) {
+/**
+ * Provides the authenticated UiPath SDK instance to the app.
+ *
+ * Coded App pattern: `new UiPath()` (no config) picks up `clientId`,
+ * `orgName`, `tenantName`, `baseUrl`, `scope`, and `redirectUri` from the
+ * `` tags injected by `@uipath/coded-apps-dev`
+ * (locally, from `uipath.json`) or by the UiPath platform (in production).
+ */
+export function AuthProvider({ children }: { children: ReactNode }) {
const [isAuthenticated, setIsAuthenticated] = useState(false)
const [isLoading, setIsLoading] = useState(true)
const [error, setError] = useState(null)
- const [uipathSDK, setUipathSDK] = useState(() => new UiPath(config))
+ const [uipathSDK, setUipathSDK] = useState(() => new UiPath())
useEffect(() => {
const initializeAuth = async () => {
@@ -67,8 +74,8 @@ export function AuthProvider({ children, config }: { children: ReactNode; config
setIsAuthenticated(false)
setError(null)
// Create new SDK instance for next login
- setUipathSDK(new UiPath(config))
- }, [config])
+ setUipathSDK(new UiPath())
+ }, [])
const contextValue = useMemo(() => ({
isAuthenticated, isLoading, uipathSDK, login, logout, error
diff --git a/samples/conversational-agent-app/src/vite-env.d.ts b/samples/conversational-agent-app/src/vite-env.d.ts
index 9b45313d1..11f02fe2a 100644
--- a/samples/conversational-agent-app/src/vite-env.d.ts
+++ b/samples/conversational-agent-app/src/vite-env.d.ts
@@ -1,14 +1 @@
///
-
-interface ImportMetaEnv {
- readonly VITE_UIPATH_BASE_URL: string
- readonly VITE_UIPATH_CLIENT_ID: string
- readonly VITE_UIPATH_REDIRECT_URI: string
- readonly VITE_UIPATH_SCOPE: string
- readonly VITE_UIPATH_ORG_NAME: string
- readonly VITE_UIPATH_TENANT_NAME: string
-}
-
-interface ImportMeta {
- readonly env: ImportMetaEnv
-}
diff --git a/samples/conversational-agent-app/uipath.json.example b/samples/conversational-agent-app/uipath.json.example
new file mode 100644
index 000000000..422062255
--- /dev/null
+++ b/samples/conversational-agent-app/uipath.json.example
@@ -0,0 +1,8 @@
+{
+ "clientId": "",
+ "scope": "OR.Execution OR.Folders OR.Jobs ConversationalAgents Traces.Api",
+ "orgName": "",
+ "tenantName": "",
+ "baseUrl": "https://api.uipath.com",
+ "redirectUri": "http://localhost:5173"
+}
diff --git a/samples/conversational-agent-app/vite.config.ts b/samples/conversational-agent-app/vite.config.ts
index 19861a90c..f923d11df 100644
--- a/samples/conversational-agent-app/vite.config.ts
+++ b/samples/conversational-agent-app/vite.config.ts
@@ -1,8 +1,15 @@
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
+import { uipathCodedApps } from '@uipath/coded-apps-dev/vite'
export default defineConfig({
- plugins: [react()],
+ plugins: [
+ react(),
+ // Reads uipath.json and injects tags into
+ // index.html during local dev. At deploy time the platform injects
+ // production values, so the same SDK init code works in both places.
+ uipathCodedApps(),
+ ],
build: {
rollupOptions: {
output: {
diff --git a/samples/dashboards/agent-runtime-compliance/src/assets/favicon.png b/samples/dashboards/agent-runtime-compliance/src/assets/favicon.png
index c8dbcf418..e6ed2a94b 100644
Binary files a/samples/dashboards/agent-runtime-compliance/src/assets/favicon.png and b/samples/dashboards/agent-runtime-compliance/src/assets/favicon.png differ
diff --git a/samples/data-fabric-app-angular/.gitignore b/samples/data-fabric-app-angular/.gitignore
index 4e2d4e576..04940279f 100644
--- a/samples/data-fabric-app-angular/.gitignore
+++ b/samples/data-fabric-app-angular/.gitignore
@@ -10,6 +10,7 @@ out-tsc/
# Tenant-specific credentials — copy uipath.json.example instead
uipath.json
+.uipath
# Misc
.DS_Store
diff --git a/samples/data-fabric-app-angular/public/favicon.png b/samples/data-fabric-app-angular/public/favicon.png
index 99f7129b1..e6ed2a94b 100644
Binary files a/samples/data-fabric-app-angular/public/favicon.png and b/samples/data-fabric-app-angular/public/favicon.png differ
diff --git a/samples/data-fabric-app/README.md b/samples/data-fabric-app/README.md
index 8a89d3b2a..39499c557 100644
--- a/samples/data-fabric-app/README.md
+++ b/samples/data-fabric-app/README.md
@@ -2,6 +2,10 @@
A sample React + TypeScript application for browsing and managing **UiPath Data Fabric** entities, records, and choice sets via the UiPath TypeScript SDK. Deploys as a UiPath Coded App.
+## Preview
+
+
+
## SDK Usage
### Importing the SDK
diff --git a/samples/data-fabric-app/screenshots/preview.gif b/samples/data-fabric-app/screenshots/preview.gif
new file mode 100644
index 000000000..d490adffe
Binary files /dev/null and b/samples/data-fabric-app/screenshots/preview.gif differ
diff --git a/samples/data-fabric-app/src/assets/favicon.png b/samples/data-fabric-app/src/assets/favicon.png
index 99f7129b1..e6ed2a94b 100644
Binary files a/samples/data-fabric-app/src/assets/favicon.png and b/samples/data-fabric-app/src/assets/favicon.png differ
diff --git a/samples/document-validation-app/README.md b/samples/document-validation-app/README.md
index 4bc4586ca..2ec9c4ec1 100644
--- a/samples/document-validation-app/README.md
+++ b/samples/document-validation-app/README.md
@@ -2,6 +2,10 @@
A sample React + TypeScript + Vite application that demonstrates building a human-in-the-loop document validation inbox on top of UiPath Action Center. It lists Document Validation tasks from Orchestrator, grouped into **Pending**, **Unassigned**, and **Completed** tabs, renders the document and extracted fields in UiPath's validation station web component, and lets a reviewer save, submit, or report an exception on a task back to Action Center.
+## Preview
+
+
+
## What this sample demonstrates
- OAuth 2.0 authorization code + PKCE login against UiPath Cloud using the `@uipath/uipath-typescript` SDK
diff --git a/samples/document-validation-app/index.html b/samples/document-validation-app/index.html
index 5c8e107ce..15eab1dda 100644
--- a/samples/document-validation-app/index.html
+++ b/samples/document-validation-app/index.html
@@ -2,7 +2,7 @@
-
+
document-validation-app
diff --git a/samples/document-validation-app/public/favicon.png b/samples/document-validation-app/public/favicon.png
new file mode 100644
index 000000000..e6ed2a94b
Binary files /dev/null and b/samples/document-validation-app/public/favicon.png differ
diff --git a/samples/document-validation-app/public/favicon.svg b/samples/document-validation-app/public/favicon.svg
deleted file mode 100644
index 6893eb132..000000000
--- a/samples/document-validation-app/public/favicon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/samples/document-validation-app/screenshots/preview.gif b/samples/document-validation-app/screenshots/preview.gif
new file mode 100644
index 000000000..6d4581dc3
Binary files /dev/null and b/samples/document-validation-app/screenshots/preview.gif differ
diff --git a/samples/document-validation-app/uipath.example.json b/samples/document-validation-app/uipath.json.example
similarity index 100%
rename from samples/document-validation-app/uipath.example.json
rename to samples/document-validation-app/uipath.json.example
diff --git a/samples/process-app-v0/.env.example b/samples/process-app-v0/.env.example
index 41877e05a..47dbb3255 100644
--- a/samples/process-app-v0/.env.example
+++ b/samples/process-app-v0/.env.example
@@ -1,11 +1,4 @@
-# UiPath OAuth Configuration
-# Get these values from your UiPath Cloud Admin Tab
-
-VITE_UIPATH_CLIENT_ID=your-oauth-client-id
-VITE_UIPATH_ORG_NAME=your-organization-name
-VITE_UIPATH_TENANT_NAME=your-tenant-name
-VITE_UIPATH_BASE_URL=https://api.uipath.com
-VITE_UIPATH_SCOPE=PIMS DataFabric.Schema.Read DataFabric.Data.Read DataFabric.Data.Write OR.Execution.Read
-# Entity ID for attachments and data retrieval
-# Replace with your specific entity ID from Data Service to fetch any relevant data
-VITE_UIPATH_ENTITY_ID=your-entity-id-here
\ No newline at end of file
+# OAuth config (client, org, tenant, base URL) lives in uipath.json.
+# The only app-specific value is the Data Fabric entity used for attachments:
+# replace with your entity ID from Data Service to fetch related records.
+VITE_UIPATH_ENTITY_ID=your-entity-id-here
diff --git a/samples/process-app-v0/README.md b/samples/process-app-v0/README.md
index 11caec460..918748ef5 100644
--- a/samples/process-app-v0/README.md
+++ b/samples/process-app-v0/README.md
@@ -2,6 +2,10 @@
A sample React TypeScript application for managing UiPath Maestro processes with OAuth authentication.
+## Preview
+
+
+
## Installation
To install the sdk do
diff --git a/samples/process-app-v0/package-lock.json b/samples/process-app-v0/package-lock.json
index f0bd3b74c..b29ef50ca 100644
--- a/samples/process-app-v0/package-lock.json
+++ b/samples/process-app-v0/package-lock.json
@@ -8,15 +8,17 @@
"name": "process-app-task",
"version": "0.0.0",
"dependencies": {
- "@uipath/uipath-typescript": "^1.1.1",
+ "@uipath/uipath-typescript": "^1.3.1",
"path-browserify": "^1.0.1",
"react": "^19.1.1",
"react-dom": "^19.1.1"
},
"devDependencies": {
"@eslint/js": "^9.36.0",
+ "@tailwindcss/postcss": "^4.3.2",
"@types/react": "^19.1.13",
"@types/react-dom": "^19.1.9",
+ "@uipath/coded-apps-dev": "^1.0.0-beta.1",
"@vitejs/plugin-react": "^5.2.0",
"autoprefixer": "^10.4.21",
"eslint": "^9.36.0",
@@ -30,6 +32,19 @@
"vite": "^8.1.0"
}
},
+ "node_modules/@alloc/quick-lru": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@babel/code-frame": {
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
@@ -579,9 +594,9 @@
}
},
"node_modules/@opentelemetry/api": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
- "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz",
+ "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==",
"license": "Apache-2.0",
"engines": {
"node": ">=8.0.0"
@@ -648,9 +663,9 @@
}
},
"node_modules/@opentelemetry/semantic-conventions": {
- "version": "1.39.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.39.0.tgz",
- "integrity": "sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg==",
+ "version": "1.43.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.43.0.tgz",
+ "integrity": "sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==",
"license": "Apache-2.0",
"engines": {
"node": ">=14"
@@ -759,9 +774,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -779,9 +791,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -799,9 +808,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -819,9 +825,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -839,9 +842,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -859,9 +859,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -954,6 +951,277 @@
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
"license": "MIT"
},
+ "node_modules/@tailwindcss/node": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.2.tgz",
+ "integrity": "sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.5",
+ "enhanced-resolve": "5.21.6",
+ "jiti": "^2.7.0",
+ "lightningcss": "1.32.0",
+ "magic-string": "^0.30.21",
+ "source-map-js": "^1.2.1",
+ "tailwindcss": "4.3.2"
+ }
+ },
+ "node_modules/@tailwindcss/oxide": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.2.tgz",
+ "integrity": "sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 20"
+ },
+ "optionalDependencies": {
+ "@tailwindcss/oxide-android-arm64": "4.3.2",
+ "@tailwindcss/oxide-darwin-arm64": "4.3.2",
+ "@tailwindcss/oxide-darwin-x64": "4.3.2",
+ "@tailwindcss/oxide-freebsd-x64": "4.3.2",
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.2",
+ "@tailwindcss/oxide-linux-arm64-gnu": "4.3.2",
+ "@tailwindcss/oxide-linux-arm64-musl": "4.3.2",
+ "@tailwindcss/oxide-linux-x64-gnu": "4.3.2",
+ "@tailwindcss/oxide-linux-x64-musl": "4.3.2",
+ "@tailwindcss/oxide-wasm32-wasi": "4.3.2",
+ "@tailwindcss/oxide-win32-arm64-msvc": "4.3.2",
+ "@tailwindcss/oxide-win32-x64-msvc": "4.3.2"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-android-arm64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.2.tgz",
+ "integrity": "sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-arm64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.2.tgz",
+ "integrity": "sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-x64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.2.tgz",
+ "integrity": "sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-freebsd-x64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.2.tgz",
+ "integrity": "sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.2.tgz",
+ "integrity": "sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.2.tgz",
+ "integrity": "sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.2.tgz",
+ "integrity": "sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.2.tgz",
+ "integrity": "sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-musl": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.2.tgz",
+ "integrity": "sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-wasm32-wasi": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.2.tgz",
+ "integrity": "sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==",
+ "bundleDependencies": [
+ "@napi-rs/wasm-runtime",
+ "@emnapi/core",
+ "@emnapi/runtime",
+ "@tybys/wasm-util",
+ "@emnapi/wasi-threads",
+ "tslib"
+ ],
+ "cpu": [
+ "wasm32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/core": "^1.11.1",
+ "@emnapi/runtime": "^1.11.1",
+ "@emnapi/wasi-threads": "^1.2.2",
+ "@napi-rs/wasm-runtime": "^1.1.4",
+ "@tybys/wasm-util": "^0.10.2",
+ "tslib": "^2.8.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.2.tgz",
+ "integrity": "sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.2.tgz",
+ "integrity": "sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/postcss": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.3.2.tgz",
+ "integrity": "sha512-rjVWYCa7Ngbi5AarT6k8TkxUG3Wl1QKzHdIZVsjZSzf36Jmo2IKZt/NHRAwly8oDkbBOH0YTu+CHuf9jPxMc+g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
+ "@tailwindcss/node": "4.3.2",
+ "@tailwindcss/oxide": "4.3.2",
+ "postcss": "^8.5.15",
+ "tailwindcss": "4.3.2"
+ }
+ },
"node_modules/@tybys/wasm-util": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz",
@@ -1273,13 +1541,58 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@uipath/coded-apps-dev": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/@uipath/coded-apps-dev/-/coded-apps-dev-1.0.0-beta.1.tgz",
+ "integrity": "sha512-vZzf5+lMToP/LS3QuXv+7wwqkQ2tuUGaNqGx7x1zWtcTe44XSo3r8q4L9xcnKyH0Zamh0g2XwE9SRmIBvv7wcA==",
+ "dev": true,
+ "dependencies": {
+ "unplugin": "^2.3.4"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "@uipath/uipath-typescript": ">=1.0.0-0",
+ "esbuild": ">=0.17.0",
+ "rollup": ">=3.0.0",
+ "vite": ">=4.0.0",
+ "webpack": ">=5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@uipath/uipath-typescript": {
+ "optional": false
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "rollup": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ },
+ "webpack": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@uipath/core-telemetry": {
+ "version": "1.0.0-beta.3",
+ "resolved": "https://registry.npmjs.org/@uipath/core-telemetry/-/core-telemetry-1.0.0-beta.3.tgz",
+ "integrity": "sha512-e/IHHJ77tygw/LvFRSEQ/bxFlmTivrk0ApeRIsPqTpwxXNEryGxLzSjWCRflAKs3EYj+jiwEYRWINpodMjmrqw==",
+ "license": "MIT",
+ "dependencies": {
+ "@opentelemetry/sdk-logs": "^0.204.0"
+ }
+ },
"node_modules/@uipath/uipath-typescript": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@uipath/uipath-typescript/-/uipath-typescript-1.1.1.tgz",
- "integrity": "sha512-b758LoVwqGX2+7MNrDYscj0P5mEWNtNMcxmUkCiCVT3G7JkT5ehWU+Nyt0uuVPTIbzcoGUZc7lIZkXjSsRk8zg==",
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/@uipath/uipath-typescript/-/uipath-typescript-1.5.3.tgz",
+ "integrity": "sha512-Se/hEE2QoUtiU9HvMJWeYAy7u/x5k0D2SIHNjYa3KPGPjsLZPLKW7pZSl7dRg+nQvubfIsayGuhgsmkYzccA1g==",
"license": "MIT",
"dependencies": {
- "@opentelemetry/sdk-logs": "^0.204.0",
+ "@uipath/core-telemetry": "^1.0.0-beta.3",
"socket.io-client": "^4.8.1"
},
"peerDependencies": {
@@ -1596,6 +1909,20 @@
"node": ">=10.0.0"
}
},
+ "node_modules/enhanced-resolve": {
+ "version": "5.21.6",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz",
+ "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/escalade": {
"version": "3.2.0",
"dev": true,
@@ -1886,6 +2213,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/has-flag": {
"version": "4.0.0",
"dev": true,
@@ -1949,6 +2283,16 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/jiti": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
+ "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
+ }
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -2328,6 +2672,16 @@
"yallist": "^3.0.2"
}
},
+ "node_modules/magic-string": {
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.5"
+ }
+ },
"node_modules/minimatch": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
@@ -2454,6 +2808,19 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/picomatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
+ "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/postcss": {
"version": "8.5.15",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz",
@@ -2670,12 +3037,26 @@
}
},
"node_modules/tailwindcss": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.1.tgz",
- "integrity": "sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.2.tgz",
+ "integrity": "sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==",
"dev": true,
"license": "MIT"
},
+ "node_modules/tapable": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz",
+ "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
"node_modules/tinyglobby": {
"version": "0.2.17",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
@@ -2709,19 +3090,6 @@
}
}
},
- "node_modules/tinyglobby/node_modules/picomatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
- "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/ts-api-utils": {
"version": "2.4.0",
"dev": true,
@@ -2786,6 +3154,22 @@
"typescript": ">=4.8.4 <6.0.0"
}
},
+ "node_modules/unplugin": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz",
+ "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.5",
+ "acorn": "^8.15.0",
+ "picomatch": "^4.0.3",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": ">=18.12.0"
+ }
+ },
"node_modules/update-browserslist-db": {
"version": "1.2.3",
"dev": true,
@@ -2901,18 +3285,12 @@
}
}
},
- "node_modules/vite/node_modules/picomatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
- "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
+ "license": "MIT"
},
"node_modules/which": {
"version": "2.0.2",
diff --git a/samples/process-app-v0/package.json b/samples/process-app-v0/package.json
index c92d0c56b..e632008bf 100644
--- a/samples/process-app-v0/package.json
+++ b/samples/process-app-v0/package.json
@@ -10,15 +10,17 @@
"preview": "vite preview"
},
"dependencies": {
- "@uipath/uipath-typescript": "^1.1.1",
+ "@uipath/uipath-typescript": "^1.3.1",
"path-browserify": "^1.0.1",
"react": "^19.1.1",
"react-dom": "^19.1.1"
},
"devDependencies": {
"@eslint/js": "^9.36.0",
+ "@tailwindcss/postcss": "^4.3.2",
"@types/react": "^19.1.13",
"@types/react-dom": "^19.1.9",
+ "@uipath/coded-apps-dev": "^1.0.0-beta.1",
"@vitejs/plugin-react": "^5.2.0",
"autoprefixer": "^10.4.21",
"eslint": "^9.36.0",
diff --git a/samples/process-app-v0/postcss.config.js b/samples/process-app-v0/postcss.config.js
index e99ebc2c0..af9d8dc35 100644
--- a/samples/process-app-v0/postcss.config.js
+++ b/samples/process-app-v0/postcss.config.js
@@ -1,6 +1,6 @@
export default {
plugins: {
- tailwindcss: {},
+ '@tailwindcss/postcss': {},
autoprefixer: {},
},
}
\ No newline at end of file
diff --git a/samples/process-app-v0/screenshots/preview.gif b/samples/process-app-v0/screenshots/preview.gif
new file mode 100644
index 000000000..fddbaea2d
Binary files /dev/null and b/samples/process-app-v0/screenshots/preview.gif differ
diff --git a/samples/process-app-v0/src/App.tsx b/samples/process-app-v0/src/App.tsx
index 4198f7700..140597c00 100644
--- a/samples/process-app-v0/src/App.tsx
+++ b/samples/process-app-v0/src/App.tsx
@@ -6,16 +6,6 @@ import { Navigation } from './components/Navigation';
import { LoginScreen } from './components/LoginScreen';
import { ProcessList } from './components/ProcessList';
import { ProcessInstances } from './components/ProcessInstances';
-import type { UiPathSDKConfig } from '@uipath/uipath-typescript';
-
-const authConfig: UiPathSDKConfig = {
- clientId: import.meta.env.VITE_UIPATH_CLIENT_ID || 'your-client-id',
- orgName: import.meta.env.VITE_UIPATH_ORG_NAME || 'your-organization',
- tenantName: import.meta.env.VITE_UIPATH_TENANT_NAME || 'your-tenant',
- baseUrl: import.meta.env.VITE_UIPATH_BASE_URL,
- redirectUri: window.location.origin + window.location.pathname,
- scope: import.meta.env.VITE_UIPATH_SCOPE
-};
function AppContent() {
const { isAuthenticated, isLoading } = useAuth();
@@ -59,7 +49,7 @@ function AppContent() {
function App() {
return (
-
+
);
diff --git a/samples/process-app-v0/src/assets/favicon.png b/samples/process-app-v0/src/assets/favicon.png
index 99f7129b1..e6ed2a94b 100644
Binary files a/samples/process-app-v0/src/assets/favicon.png and b/samples/process-app-v0/src/assets/favicon.png differ
diff --git a/samples/process-app-v0/src/components/InstanceDetails.tsx b/samples/process-app-v0/src/components/InstanceDetails.tsx
index ef5e6de6b..d50987f69 100644
--- a/samples/process-app-v0/src/components/InstanceDetails.tsx
+++ b/samples/process-app-v0/src/components/InstanceDetails.tsx
@@ -1,6 +1,7 @@
import { useState } from 'react';
import type { ProcessInstanceGetResponse } from '@uipath/uipath-typescript';
import { getStatusColor, formatDuration, formatProcessName, getEmbedTaskUrl } from '../utils/formatters';
+import { useAuth } from '../hooks/useAuth';
interface InstanceDetailsProps {
selectedInstance: ProcessInstanceGetResponse | null;
@@ -19,6 +20,8 @@ interface InstanceDetailsProps {
export const InstanceDetails = ({ selectedInstance, instanceDetails, onRefreshData }: InstanceDetailsProps) => {
const [isTaskPopupOpen, setIsTaskPopupOpen] = useState(false);
+ // orgName/tenantName/baseUrl come from the SDK config (uipath.json), not env
+ const { sdk } = useAuth();
if (!selectedInstance) {
return (
@@ -387,7 +390,7 @@ export const InstanceDetails = ({ selectedInstance, instanceDetails, onRefreshDa
{
}
try {
- executionHistory = await sdk.maestro.processes.instances.getExecutionHistory(instance.instanceId);
+ executionHistory = await sdk.maestro.processes.instances.getExecutionHistory(instance.instanceId, instance.folderKey);
} catch (err) {
console.error('Error fetching execution history:', err);
// Continue without execution history
diff --git a/samples/process-app-v0/src/hooks/useAuth.tsx b/samples/process-app-v0/src/hooks/useAuth.tsx
index a5c3c3cff..20e5ccce8 100644
--- a/samples/process-app-v0/src/hooks/useAuth.tsx
+++ b/samples/process-app-v0/src/hooks/useAuth.tsx
@@ -1,10 +1,9 @@
import React, { useState, useEffect, createContext, useContext } from 'react';
import type { ReactNode } from 'react';
-import {
+import {
UiPath,
UiPathError
} from '@uipath/uipath-typescript';
-import type { UiPathSDKConfig } from '@uipath/uipath-typescript';
interface AuthContextType {
isAuthenticated: boolean;
isLoading: boolean;
@@ -16,11 +15,15 @@ interface AuthContextType {
const AuthContext = createContext(undefined);
-export const AuthProvider: React.FC<{ children: ReactNode; config: UiPathSDKConfig }> = ({ children, config }) => {
+// Coded App pattern: `new UiPath()` (no config) picks up `clientId`,
+// `orgName`, `tenantName`, `baseUrl`, `scope`, and `redirectUri` from the
+// `` tags injected by `@uipath/coded-apps-dev`
+// (locally, from `uipath.json`) or by the UiPath platform (in production).
+export const AuthProvider: React.FC<{ children: ReactNode }> = ({ children }) => {
const [isAuthenticated, setIsAuthenticated] = useState(false);
const [isLoading, setIsLoading] = useState(true);
const [error, setError] = useState(null);
- const [sdk] = useState(() => new UiPath(config));
+ const [sdk] = useState(() => new UiPath());
useEffect(() => {
const initializeAuth = async () => {
diff --git a/samples/process-app-v0/src/index.css b/samples/process-app-v0/src/index.css
index 46e294cd6..8fb5f7d46 100644
--- a/samples/process-app-v0/src/index.css
+++ b/samples/process-app-v0/src/index.css
@@ -1,6 +1,4 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
+@import "tailwindcss";
body {
margin: 0;
diff --git a/samples/process-app-v0/uipath.json.example b/samples/process-app-v0/uipath.json.example
new file mode 100644
index 000000000..794d7c3ab
--- /dev/null
+++ b/samples/process-app-v0/uipath.json.example
@@ -0,0 +1,8 @@
+{
+ "clientId": "",
+ "scope": "PIMS DataFabric.Schema.Read DataFabric.Data.Read DataFabric.Data.Write OR.Execution.Read",
+ "orgName": "",
+ "tenantName": "",
+ "baseUrl": "https://api.uipath.com",
+ "redirectUri": "http://localhost:5173"
+}
diff --git a/samples/process-app-v0/vite.config.ts b/samples/process-app-v0/vite.config.ts
index 657258f32..c2b70aad5 100644
--- a/samples/process-app-v0/vite.config.ts
+++ b/samples/process-app-v0/vite.config.ts
@@ -1,9 +1,20 @@
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
+import { uipathCodedApps } from '@uipath/coded-apps-dev/vite'
// https://vite.dev/config/
export default defineConfig({
- plugins: [react()],
+ // Coded App requirement: assets must use relative paths so they resolve
+ // correctly under the the platform injects
+ // at deploy time.
+ base: './',
+ plugins: [
+ react(),
+ // Reads uipath.json and injects tags into
+ // index.html during local dev. At deploy time the platform injects
+ // production values, so the same SDK init code works in both places.
+ uipathCodedApps(),
+ ],
define: {
global: 'globalThis',
},
@@ -15,5 +26,4 @@ export default defineConfig({
optimizeDeps: {
include: ['@uipath/uipath-typescript'],
},
- base: './',
})
diff --git a/samples/process-app-v1/.env.example b/samples/process-app-v1/.env.example
index 41877e05a..47dbb3255 100644
--- a/samples/process-app-v1/.env.example
+++ b/samples/process-app-v1/.env.example
@@ -1,11 +1,4 @@
-# UiPath OAuth Configuration
-# Get these values from your UiPath Cloud Admin Tab
-
-VITE_UIPATH_CLIENT_ID=your-oauth-client-id
-VITE_UIPATH_ORG_NAME=your-organization-name
-VITE_UIPATH_TENANT_NAME=your-tenant-name
-VITE_UIPATH_BASE_URL=https://api.uipath.com
-VITE_UIPATH_SCOPE=PIMS DataFabric.Schema.Read DataFabric.Data.Read DataFabric.Data.Write OR.Execution.Read
-# Entity ID for attachments and data retrieval
-# Replace with your specific entity ID from Data Service to fetch any relevant data
-VITE_UIPATH_ENTITY_ID=your-entity-id-here
\ No newline at end of file
+# OAuth config (client, org, tenant, base URL) lives in uipath.json.
+# The only app-specific value is the Data Fabric entity used for attachments:
+# replace with your entity ID from Data Service to fetch related records.
+VITE_UIPATH_ENTITY_ID=your-entity-id-here
diff --git a/samples/process-app-v1/README.md b/samples/process-app-v1/README.md
index 1d25b1cd1..34591156c 100644
--- a/samples/process-app-v1/README.md
+++ b/samples/process-app-v1/README.md
@@ -4,6 +4,10 @@ A sample React TypeScript application for managing UiPath Maestro processes with
> This app uses the recommended modular import pattern for better performance and smaller bundle sizes. For the single-package import pattern, see [process-app-v0](../process-app-v0).
+## Preview
+
+
+
## SDK Usage
### Importing the SDK
diff --git a/samples/process-app-v1/package-lock.json b/samples/process-app-v1/package-lock.json
index dad0adfd8..a63c92ba8 100644
--- a/samples/process-app-v1/package-lock.json
+++ b/samples/process-app-v1/package-lock.json
@@ -8,15 +8,17 @@
"name": "process-app-modular",
"version": "0.0.0",
"dependencies": {
- "@uipath/uipath-typescript": "^1.1.1",
+ "@uipath/uipath-typescript": "^1.3.1",
"path-browserify": "^1.0.1",
"react": "^19.1.1",
"react-dom": "^19.1.1"
},
"devDependencies": {
"@eslint/js": "^9.36.0",
+ "@tailwindcss/postcss": "^4.3.2",
"@types/react": "^19.1.13",
"@types/react-dom": "^19.1.9",
+ "@uipath/coded-apps-dev": "^1.0.0-beta.1",
"@vitejs/plugin-react": "^5.2.0",
"autoprefixer": "^10.4.21",
"eslint": "^9.36.0",
@@ -30,6 +32,19 @@
"vite": "^8.1.0"
}
},
+ "node_modules/@alloc/quick-lru": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
+ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/@babel/code-frame": {
"version": "7.29.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
@@ -579,9 +594,9 @@
}
},
"node_modules/@opentelemetry/api": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz",
- "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz",
+ "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==",
"license": "Apache-2.0",
"engines": {
"node": ">=8.0.0"
@@ -648,9 +663,9 @@
}
},
"node_modules/@opentelemetry/semantic-conventions": {
- "version": "1.39.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.39.0.tgz",
- "integrity": "sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg==",
+ "version": "1.43.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.43.0.tgz",
+ "integrity": "sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==",
"license": "Apache-2.0",
"engines": {
"node": ">=14"
@@ -759,9 +774,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -779,9 +791,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -799,9 +808,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -819,9 +825,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -839,9 +842,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -859,9 +859,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -954,6 +951,277 @@
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
"license": "MIT"
},
+ "node_modules/@tailwindcss/node": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.2.tgz",
+ "integrity": "sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.5",
+ "enhanced-resolve": "5.21.6",
+ "jiti": "^2.7.0",
+ "lightningcss": "1.32.0",
+ "magic-string": "^0.30.21",
+ "source-map-js": "^1.2.1",
+ "tailwindcss": "4.3.2"
+ }
+ },
+ "node_modules/@tailwindcss/oxide": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.2.tgz",
+ "integrity": "sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 20"
+ },
+ "optionalDependencies": {
+ "@tailwindcss/oxide-android-arm64": "4.3.2",
+ "@tailwindcss/oxide-darwin-arm64": "4.3.2",
+ "@tailwindcss/oxide-darwin-x64": "4.3.2",
+ "@tailwindcss/oxide-freebsd-x64": "4.3.2",
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.2",
+ "@tailwindcss/oxide-linux-arm64-gnu": "4.3.2",
+ "@tailwindcss/oxide-linux-arm64-musl": "4.3.2",
+ "@tailwindcss/oxide-linux-x64-gnu": "4.3.2",
+ "@tailwindcss/oxide-linux-x64-musl": "4.3.2",
+ "@tailwindcss/oxide-wasm32-wasi": "4.3.2",
+ "@tailwindcss/oxide-win32-arm64-msvc": "4.3.2",
+ "@tailwindcss/oxide-win32-x64-msvc": "4.3.2"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-android-arm64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.2.tgz",
+ "integrity": "sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-arm64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.2.tgz",
+ "integrity": "sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-x64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.2.tgz",
+ "integrity": "sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-freebsd-x64": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.2.tgz",
+ "integrity": "sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.2.tgz",
+ "integrity": "sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.2.tgz",
+ "integrity": "sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.2.tgz",
+ "integrity": "sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.2.tgz",
+ "integrity": "sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-musl": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.2.tgz",
+ "integrity": "sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-wasm32-wasi": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.2.tgz",
+ "integrity": "sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==",
+ "bundleDependencies": [
+ "@napi-rs/wasm-runtime",
+ "@emnapi/core",
+ "@emnapi/runtime",
+ "@tybys/wasm-util",
+ "@emnapi/wasi-threads",
+ "tslib"
+ ],
+ "cpu": [
+ "wasm32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/core": "^1.11.1",
+ "@emnapi/runtime": "^1.11.1",
+ "@emnapi/wasi-threads": "^1.2.2",
+ "@napi-rs/wasm-runtime": "^1.1.4",
+ "@tybys/wasm-util": "^0.10.2",
+ "tslib": "^2.8.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.2.tgz",
+ "integrity": "sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.2.tgz",
+ "integrity": "sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@tailwindcss/postcss": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.3.2.tgz",
+ "integrity": "sha512-rjVWYCa7Ngbi5AarT6k8TkxUG3Wl1QKzHdIZVsjZSzf36Jmo2IKZt/NHRAwly8oDkbBOH0YTu+CHuf9jPxMc+g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
+ "@tailwindcss/node": "4.3.2",
+ "@tailwindcss/oxide": "4.3.2",
+ "postcss": "^8.5.15",
+ "tailwindcss": "4.3.2"
+ }
+ },
"node_modules/@tybys/wasm-util": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz",
@@ -1273,13 +1541,58 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@uipath/coded-apps-dev": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/@uipath/coded-apps-dev/-/coded-apps-dev-1.0.0-beta.1.tgz",
+ "integrity": "sha512-vZzf5+lMToP/LS3QuXv+7wwqkQ2tuUGaNqGx7x1zWtcTe44XSo3r8q4L9xcnKyH0Zamh0g2XwE9SRmIBvv7wcA==",
+ "dev": true,
+ "dependencies": {
+ "unplugin": "^2.3.4"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "@uipath/uipath-typescript": ">=1.0.0-0",
+ "esbuild": ">=0.17.0",
+ "rollup": ">=3.0.0",
+ "vite": ">=4.0.0",
+ "webpack": ">=5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@uipath/uipath-typescript": {
+ "optional": false
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "rollup": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ },
+ "webpack": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@uipath/core-telemetry": {
+ "version": "1.0.0-beta.3",
+ "resolved": "https://registry.npmjs.org/@uipath/core-telemetry/-/core-telemetry-1.0.0-beta.3.tgz",
+ "integrity": "sha512-e/IHHJ77tygw/LvFRSEQ/bxFlmTivrk0ApeRIsPqTpwxXNEryGxLzSjWCRflAKs3EYj+jiwEYRWINpodMjmrqw==",
+ "license": "MIT",
+ "dependencies": {
+ "@opentelemetry/sdk-logs": "^0.204.0"
+ }
+ },
"node_modules/@uipath/uipath-typescript": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@uipath/uipath-typescript/-/uipath-typescript-1.1.1.tgz",
- "integrity": "sha512-b758LoVwqGX2+7MNrDYscj0P5mEWNtNMcxmUkCiCVT3G7JkT5ehWU+Nyt0uuVPTIbzcoGUZc7lIZkXjSsRk8zg==",
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/@uipath/uipath-typescript/-/uipath-typescript-1.5.3.tgz",
+ "integrity": "sha512-Se/hEE2QoUtiU9HvMJWeYAy7u/x5k0D2SIHNjYa3KPGPjsLZPLKW7pZSl7dRg+nQvubfIsayGuhgsmkYzccA1g==",
"license": "MIT",
"dependencies": {
- "@opentelemetry/sdk-logs": "^0.204.0",
+ "@uipath/core-telemetry": "^1.0.0-beta.3",
"socket.io-client": "^4.8.1"
},
"peerDependencies": {
@@ -1596,6 +1909,20 @@
"node": ">=10.0.0"
}
},
+ "node_modules/enhanced-resolve": {
+ "version": "5.21.6",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz",
+ "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/escalade": {
"version": "3.2.0",
"dev": true,
@@ -1886,6 +2213,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/has-flag": {
"version": "4.0.0",
"dev": true,
@@ -1949,6 +2283,16 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/jiti": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
+ "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
+ }
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -2328,6 +2672,16 @@
"yallist": "^3.0.2"
}
},
+ "node_modules/magic-string": {
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.5"
+ }
+ },
"node_modules/minimatch": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
@@ -2454,6 +2808,19 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/picomatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
+ "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/postcss": {
"version": "8.5.15",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz",
@@ -2670,12 +3037,26 @@
}
},
"node_modules/tailwindcss": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.1.tgz",
- "integrity": "sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.2.tgz",
+ "integrity": "sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==",
"dev": true,
"license": "MIT"
},
+ "node_modules/tapable": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz",
+ "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
"node_modules/tinyglobby": {
"version": "0.2.17",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
@@ -2709,19 +3090,6 @@
}
}
},
- "node_modules/tinyglobby/node_modules/picomatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
- "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/ts-api-utils": {
"version": "2.4.0",
"dev": true,
@@ -2786,6 +3154,22 @@
"typescript": ">=4.8.4 <6.0.0"
}
},
+ "node_modules/unplugin": {
+ "version": "2.3.11",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz",
+ "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/remapping": "^2.3.5",
+ "acorn": "^8.15.0",
+ "picomatch": "^4.0.3",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": ">=18.12.0"
+ }
+ },
"node_modules/update-browserslist-db": {
"version": "1.2.3",
"dev": true,
@@ -2901,18 +3285,12 @@
}
}
},
- "node_modules/vite/node_modules/picomatch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
- "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
+ "license": "MIT"
},
"node_modules/which": {
"version": "2.0.2",
diff --git a/samples/process-app-v1/package.json b/samples/process-app-v1/package.json
index 04848e42c..fe0e4b010 100644
--- a/samples/process-app-v1/package.json
+++ b/samples/process-app-v1/package.json
@@ -11,15 +11,17 @@
"preview": "vite preview"
},
"dependencies": {
- "@uipath/uipath-typescript": "^1.1.1",
+ "@uipath/uipath-typescript": "^1.3.1",
"path-browserify": "^1.0.1",
"react": "^19.1.1",
"react-dom": "^19.1.1"
},
"devDependencies": {
"@eslint/js": "^9.36.0",
+ "@tailwindcss/postcss": "^4.3.2",
"@types/react": "^19.1.13",
"@types/react-dom": "^19.1.9",
+ "@uipath/coded-apps-dev": "^1.0.0-beta.1",
"@vitejs/plugin-react": "^5.2.0",
"autoprefixer": "^10.4.21",
"eslint": "^9.36.0",
diff --git a/samples/process-app-v1/postcss.config.js b/samples/process-app-v1/postcss.config.js
index e99ebc2c0..af9d8dc35 100644
--- a/samples/process-app-v1/postcss.config.js
+++ b/samples/process-app-v1/postcss.config.js
@@ -1,6 +1,6 @@
export default {
plugins: {
- tailwindcss: {},
+ '@tailwindcss/postcss': {},
autoprefixer: {},
},
}
\ No newline at end of file
diff --git a/samples/process-app-v1/screenshots/preview.gif b/samples/process-app-v1/screenshots/preview.gif
new file mode 100644
index 000000000..ab326f6e6
Binary files /dev/null and b/samples/process-app-v1/screenshots/preview.gif differ
diff --git a/samples/process-app-v1/src/App.tsx b/samples/process-app-v1/src/App.tsx
index ec37ee179..140597c00 100644
--- a/samples/process-app-v1/src/App.tsx
+++ b/samples/process-app-v1/src/App.tsx
@@ -6,16 +6,6 @@ import { Navigation } from './components/Navigation';
import { LoginScreen } from './components/LoginScreen';
import { ProcessList } from './components/ProcessList';
import { ProcessInstances } from './components/ProcessInstances';
-import type { UiPathSDKConfig } from '@uipath/uipath-typescript/core';
-
-const authConfig: UiPathSDKConfig = {
- clientId: import.meta.env.VITE_UIPATH_CLIENT_ID || 'your-client-id',
- orgName: import.meta.env.VITE_UIPATH_ORG_NAME || 'your-organization',
- tenantName: import.meta.env.VITE_UIPATH_TENANT_NAME || 'your-tenant',
- baseUrl: import.meta.env.VITE_UIPATH_BASE_URL,
- redirectUri: window.location.origin + window.location.pathname,
- scope: import.meta.env.VITE_UIPATH_SCOPE
-};
function AppContent() {
const { isAuthenticated, isLoading } = useAuth();
@@ -59,7 +49,7 @@ function AppContent() {
function App() {
return (
-
+
);
diff --git a/samples/process-app-v1/src/assets/favicon.png b/samples/process-app-v1/src/assets/favicon.png
index 99f7129b1..e6ed2a94b 100644
Binary files a/samples/process-app-v1/src/assets/favicon.png and b/samples/process-app-v1/src/assets/favicon.png differ
diff --git a/samples/process-app-v1/src/components/InstanceDetails.tsx b/samples/process-app-v1/src/components/InstanceDetails.tsx
index 8aed454be..75bc6c6c8 100644
--- a/samples/process-app-v1/src/components/InstanceDetails.tsx
+++ b/samples/process-app-v1/src/components/InstanceDetails.tsx
@@ -2,6 +2,7 @@ import { useState } from 'react';
// Modular import - import types from maestro-processes module
import type { ProcessInstanceGetResponse } from '@uipath/uipath-typescript/maestro-processes';
import { getStatusColor, formatDuration, formatProcessName, getEmbedTaskUrl } from '../utils/formatters';
+import { useAuth } from '../hooks/useAuth';
interface InstanceDetailsProps {
selectedInstance: ProcessInstanceGetResponse | null;
@@ -20,6 +21,8 @@ interface InstanceDetailsProps {
export const InstanceDetails = ({ selectedInstance, instanceDetails, onRefreshData }: InstanceDetailsProps) => {
const [isTaskPopupOpen, setIsTaskPopupOpen] = useState(false);
+ // orgName/tenantName/baseUrl come from the SDK config (uipath.json), not env
+ const { sdk } = useAuth();
if (!selectedInstance) {
return (
@@ -388,7 +391,7 @@ export const InstanceDetails = ({ selectedInstance, instanceDetails, onRefreshDa
{
try {
// Use modular ProcessInstances service directly
- executionHistory = await processInstances.getExecutionHistory(instance.instanceId);
+ executionHistory = await processInstances.getExecutionHistory(instance.instanceId, instance.folderKey);
} catch (err) {
console.error('Error fetching execution history:', err);
// Continue without execution history
diff --git a/samples/process-app-v1/src/hooks/useAuth.tsx b/samples/process-app-v1/src/hooks/useAuth.tsx
index bbb2cf0c3..b1620f6b7 100644
--- a/samples/process-app-v1/src/hooks/useAuth.tsx
+++ b/samples/process-app-v1/src/hooks/useAuth.tsx
@@ -1,7 +1,6 @@
import React, { useState, useEffect, createContext, useContext } from 'react';
import type { ReactNode } from 'react';
import { UiPath, UiPathError } from '@uipath/uipath-typescript/core';
-import type { UiPathSDKConfig } from '@uipath/uipath-typescript/core';
interface AuthContextType {
isAuthenticated: boolean;
isLoading: boolean;
@@ -13,11 +12,19 @@ interface AuthContextType {
const AuthContext = createContext(undefined);
-export const AuthProvider: React.FC<{ children: ReactNode; config: UiPathSDKConfig }> = ({ children, config }) => {
+/**
+ * Provides the authenticated UiPath SDK instance to the app.
+ *
+ * Coded App pattern: `new UiPath()` (no config) picks up `clientId`,
+ * `orgName`, `tenantName`, `baseUrl`, `scope`, and `redirectUri` from the
+ * `` tags injected by `@uipath/coded-apps-dev`
+ * (locally, from `uipath.json`) or by the UiPath platform (in production).
+ */
+export const AuthProvider: React.FC<{ children: ReactNode }> = ({ children }) => {
const [isAuthenticated, setIsAuthenticated] = useState(false);
const [isLoading, setIsLoading] = useState(true);
const [error, setError] = useState(null);
- const [sdk] = useState(() => new UiPath(config));
+ const [sdk] = useState(() => new UiPath());
useEffect(() => {
const initializeAuth = async () => {
diff --git a/samples/process-app-v1/src/index.css b/samples/process-app-v1/src/index.css
index 46e294cd6..8fb5f7d46 100644
--- a/samples/process-app-v1/src/index.css
+++ b/samples/process-app-v1/src/index.css
@@ -1,6 +1,4 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
+@import "tailwindcss";
body {
margin: 0;
diff --git a/samples/process-app-v1/uipath.json.example b/samples/process-app-v1/uipath.json.example
new file mode 100644
index 000000000..794d7c3ab
--- /dev/null
+++ b/samples/process-app-v1/uipath.json.example
@@ -0,0 +1,8 @@
+{
+ "clientId": "",
+ "scope": "PIMS DataFabric.Schema.Read DataFabric.Data.Read DataFabric.Data.Write OR.Execution.Read",
+ "orgName": "",
+ "tenantName": "",
+ "baseUrl": "https://api.uipath.com",
+ "redirectUri": "http://localhost:5173"
+}
diff --git a/samples/process-app-v1/vite.config.ts b/samples/process-app-v1/vite.config.ts
index 657258f32..c2b70aad5 100644
--- a/samples/process-app-v1/vite.config.ts
+++ b/samples/process-app-v1/vite.config.ts
@@ -1,9 +1,20 @@
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
+import { uipathCodedApps } from '@uipath/coded-apps-dev/vite'
// https://vite.dev/config/
export default defineConfig({
- plugins: [react()],
+ // Coded App requirement: assets must use relative paths so they resolve
+ // correctly under the the platform injects
+ // at deploy time.
+ base: './',
+ plugins: [
+ react(),
+ // Reads uipath.json and injects tags into
+ // index.html during local dev. At deploy time the platform injects
+ // production values, so the same SDK init code works in both places.
+ uipathCodedApps(),
+ ],
define: {
global: 'globalThis',
},
@@ -15,5 +26,4 @@ export default defineConfig({
optimizeDeps: {
include: ['@uipath/uipath-typescript'],
},
- base: './',
})