@uipath/skills 1.203.0-preview.886 → 1.203.0-preview.889
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hooks/send-telemetry.ps1 +17 -13
- package/hooks/send-telemetry.sh +18 -11
- package/package.json +1 -1
- package/version-manifest.json +1 -1
package/hooks/send-telemetry.ps1
CHANGED
|
@@ -66,14 +66,16 @@
|
|
|
66
66
|
# values ever leave the machine.
|
|
67
67
|
#
|
|
68
68
|
# Non-blocking by contract: registered as an async hook in hooks.json
|
|
69
|
-
# ("async": true) on every event EXCEPT SessionEnd, so
|
|
70
|
-
#
|
|
71
|
-
#
|
|
72
|
-
#
|
|
73
|
-
#
|
|
74
|
-
#
|
|
75
|
-
#
|
|
76
|
-
#
|
|
69
|
+
# ("async": true) on every event EXCEPT SessionEnd, so the agent runs it in the
|
|
70
|
+
# background and never waits for it. SessionEnd is registered SYNCHRONOUSLY
|
|
71
|
+
# (30s timeout): async hooks still running at session teardown are killed after
|
|
72
|
+
# a short grace window — shorter than this hook's PowerShell + `uip track`
|
|
73
|
+
# startup — which would silently drop the session-end event. The hand-off
|
|
74
|
+
# therefore runs INLINE on every event: the HOST owns non-blocking dispatch, and
|
|
75
|
+
# detaching it here would defeat the synchronous SessionEnd registration by
|
|
76
|
+
# letting the hook return before `uip track` has flushed. Always exits 0 and
|
|
77
|
+
# swallows every error. Runs under Windows PowerShell 5.1 and PowerShell 7+
|
|
78
|
+
# (pwsh) on Windows, macOS, and Linux — no jq, node, or python.
|
|
77
79
|
#
|
|
78
80
|
# Structure: pure helpers (below), driven by Main (bottom). Configuration is
|
|
79
81
|
# env only:
|
|
@@ -455,11 +457,13 @@ function Main {
|
|
|
455
457
|
# disappears). Send no envelope, no `source` (the CLI overrides it), and no
|
|
456
458
|
# session id (the CLI resolves its own and drops a payload one).
|
|
457
459
|
#
|
|
458
|
-
#
|
|
459
|
-
#
|
|
460
|
-
#
|
|
461
|
-
#
|
|
462
|
-
#
|
|
460
|
+
# INLINE, never detached: hooks.json registers this hook async on every event
|
|
461
|
+
# except SessionEnd (see header), so the host — not this script — owns
|
|
462
|
+
# non-blocking dispatch. A detached hand-off would return before `uip track`
|
|
463
|
+
# flushed, silently dropping the very session-end event the synchronous
|
|
464
|
+
# SessionEnd registration exists to protect. `uip track` is never-fail (exits
|
|
465
|
+
# 0, emits nothing when telemetry is opted out); piping to it is harmless even
|
|
466
|
+
# if the CLI is absent (the catch swallows the command-not-found error).
|
|
463
467
|
try { $json | & uip track *> $null } catch { }
|
|
464
468
|
|
|
465
469
|
exit 0
|
package/hooks/send-telemetry.sh
CHANGED
|
@@ -67,13 +67,16 @@
|
|
|
67
67
|
# bash/PowerShell polyglot command.
|
|
68
68
|
#
|
|
69
69
|
# Non-blocking by contract: registered as an async hook in hooks.json
|
|
70
|
-
# ("async": true) on every event EXCEPT SessionEnd, so
|
|
71
|
-
#
|
|
72
|
-
#
|
|
73
|
-
#
|
|
74
|
-
# session-end event.
|
|
75
|
-
#
|
|
76
|
-
#
|
|
70
|
+
# ("async": true) on every event EXCEPT SessionEnd, so the agent runs it in the
|
|
71
|
+
# background and never waits for it. SessionEnd is registered SYNCHRONOUSLY
|
|
72
|
+
# (30s timeout): async hooks still running at session teardown are killed after
|
|
73
|
+
# a short grace window — shorter than `uip track` startup — which would silently
|
|
74
|
+
# drop the session-end event. The hand-off therefore runs INLINE on every event:
|
|
75
|
+
# the HOST owns non-blocking dispatch, and detaching it here would defeat the
|
|
76
|
+
# synchronous SessionEnd registration by letting the hook return before
|
|
77
|
+
# `uip track` has flushed. Always exits 0 and swallows every error.
|
|
78
|
+
# Cross-platform (macOS, Linux, Windows via Git Bash / MSYS). Pure bash +
|
|
79
|
+
# grep/sed/awk — no jq, node, or python.
|
|
77
80
|
#
|
|
78
81
|
# Structure: pure helpers + side-effecting procedures (below), driven by main()
|
|
79
82
|
# (bottom). Configuration is env only:
|
|
@@ -529,10 +532,14 @@ main() {
|
|
|
529
532
|
# disappears). Send no envelope, no `source` (the CLI overrides it), and no
|
|
530
533
|
# session id (the CLI resolves its own and drops a payload one).
|
|
531
534
|
#
|
|
532
|
-
#
|
|
533
|
-
#
|
|
534
|
-
#
|
|
535
|
-
|
|
535
|
+
# INLINE, never detached: hooks.json registers this hook async on every event
|
|
536
|
+
# except SessionEnd (see header), so the host — not this script — owns
|
|
537
|
+
# non-blocking dispatch. A detached hand-off would return before `uip track`
|
|
538
|
+
# flushed, silently dropping the very session-end event the synchronous
|
|
539
|
+
# SessionEnd registration exists to protect. `uip track` is never-fail (exits
|
|
540
|
+
# 0, emits nothing when telemetry is opted out); piping to it is harmless even
|
|
541
|
+
# if the CLI is absent.
|
|
542
|
+
printf '%s' "$(build_event_json)" | uip track >/dev/null 2>&1
|
|
536
543
|
|
|
537
544
|
exit 0
|
|
538
545
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uipath/skills",
|
|
3
|
-
"version": "1.203.0-preview.
|
|
3
|
+
"version": "1.203.0-preview.889",
|
|
4
4
|
"description": "UiPath agent skills for Claude Code, Codex, Cursor, Copilot, Gemini and OpenCode — RPA, UI automation, UI testing, coded agents/apps/workflows, and troubleshooting. Distributed as the UiPath Claude Code plugin.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "UiPath"
|
package/version-manifest.json
CHANGED