@qpfai/pf-gate-cli 1.0.34-linux-arm64 → 1.0.34-win32-arm64

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @qpfai/pf-gate-cli (linux-arm64)
1
+ # @qpfai/pf-gate-cli (win32-arm64)
2
2
 
3
3
  Platform runtime payload for PF Gate CLI.
4
4
 
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@qpfai/pf-gate-cli",
3
- "version": "1.0.34-linux-arm64",
4
- "description": "PF Gate runtime payload for linux arm64.",
3
+ "version": "1.0.34-win32-arm64",
4
+ "description": "PF Gate runtime payload for win32 arm64.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "os": [
8
- "linux"
8
+ "win32"
9
9
  ],
10
10
  "cpu": [
11
11
  "arm64"
@@ -0,0 +1,121 @@
1
+ @echo off
2
+ setlocal EnableExtensions EnableDelayedExpansion
3
+
4
+ set "SCRIPT_DIR=%~dp0"
5
+ set "BUNDLED_WHEEL=%SCRIPT_DIR%..\python\persons_field-1.0.0-py3-none-any.whl"
6
+ set "RUNTIME_HOME=%PF_GATE_RUNTIME_HOME%"
7
+ if "%RUNTIME_HOME%"=="" set "RUNTIME_HOME=%USERPROFILE%\.pf-gate\runtime"
8
+ set "WHEEL_STAMP_FILE="
9
+ if not "%RUNTIME_HOME%"=="" set "WHEEL_STAMP_FILE=%RUNTIME_HOME%\.bundled-wheel.sha256"
10
+
11
+ set "PYTHON_BIN=%PF_GATE_PYTHON%"
12
+ if "%PYTHON_BIN%"=="" (
13
+ set "SYSTEM_PYTHON="
14
+ where python >nul 2>nul
15
+ if not errorlevel 1 (
16
+ set "SYSTEM_PYTHON=python"
17
+ ) else (
18
+ where py >nul 2>nul
19
+ if not errorlevel 1 (
20
+ set "SYSTEM_PYTHON=py -3"
21
+ )
22
+ )
23
+
24
+ if "%SYSTEM_PYTHON%"=="" (
25
+ echo PF Gate runtime error: Python 3.13+ not found. Install Python or set PF_GATE_PYTHON. 1>&2
26
+ exit /b 1
27
+ )
28
+
29
+ set "VENV_DIR=%RUNTIME_HOME%\.venv"
30
+ set "PYTHON_BIN=%VENV_DIR%\Scripts\python.exe"
31
+
32
+ if not exist "%PYTHON_BIN%" (
33
+ echo PF Gate runtime: creating runtime environment at %VENV_DIR% 1>&2
34
+ if not exist "%RUNTIME_HOME%" mkdir "%RUNTIME_HOME%"
35
+ call %SYSTEM_PYTHON% -m venv "%VENV_DIR%"
36
+ if errorlevel 1 (
37
+ echo PF Gate runtime error: failed to create runtime environment at %VENV_DIR% 1>&2
38
+ exit /b 1
39
+ )
40
+ )
41
+ )
42
+
43
+ set "PIP_TARGET=%PF_GATE_PIP_SPEC%"
44
+ if "%PIP_TARGET%"=="" set "PIP_TARGET=%BUNDLED_WHEEL%"
45
+ if "%PF_GATE_PIP_SPEC%"=="" (
46
+ if not exist "%BUNDLED_WHEEL%" (
47
+ echo PF Gate runtime error: missing bundled wheel at %BUNDLED_WHEEL% 1>&2
48
+ exit /b 1
49
+ )
50
+ )
51
+
52
+ set "BUNDLED_HASH="
53
+ if "%PF_GATE_PIP_SPEC%"=="" (
54
+ for /f "skip=1 tokens=* delims=" %%H in ('certutil -hashfile "%BUNDLED_WHEEL%" SHA256 ^| findstr /R /V /C:"hash of file" /C:"CertUtil"') do (
55
+ set "line=%%H"
56
+ set "line=!line: =!"
57
+ if not "!line!"=="" (
58
+ set "BUNDLED_HASH=!line!"
59
+ goto :hash_done
60
+ )
61
+ )
62
+ )
63
+ :hash_done
64
+
65
+ set "NEEDS_INSTALL=0"
66
+ set "FORCE_REINSTALL=0"
67
+ set "INSTALL_REASON=persons_field is missing"
68
+
69
+ call %PYTHON_BIN% -c "import persons_field.terminal.launcher" >nul 2>nul
70
+ if errorlevel 1 (
71
+ set "NEEDS_INSTALL=1"
72
+ ) else (
73
+ if "%PF_GATE_PIP_SPEC%"=="" if defined BUNDLED_HASH (
74
+ set "STORED_HASH="
75
+ if defined WHEEL_STAMP_FILE if exist "%WHEEL_STAMP_FILE%" (
76
+ set /p STORED_HASH=<"%WHEEL_STAMP_FILE%"
77
+ set "STORED_HASH=!STORED_HASH: =!"
78
+ )
79
+ if /I not "!STORED_HASH!"=="!BUNDLED_HASH!" (
80
+ set "NEEDS_INSTALL=1"
81
+ set "FORCE_REINSTALL=1"
82
+ set "INSTALL_REASON=bundled runtime payload changed"
83
+ )
84
+ )
85
+ )
86
+
87
+ if "%NEEDS_INSTALL%"=="1" (
88
+ echo PF Gate runtime: !INSTALL_REASON!; installing %PIP_TARGET%... 1>&2
89
+ call %PYTHON_BIN% -m pip --version >nul 2>nul
90
+ if errorlevel 1 (
91
+ call %PYTHON_BIN% -m ensurepip --upgrade >nul 2>nul
92
+ )
93
+
94
+ if "%FORCE_REINSTALL%"=="1" (
95
+ call %PYTHON_BIN% -m pip install --upgrade --force-reinstall --disable-pip-version-check "%PIP_TARGET%"
96
+ if errorlevel 1 (
97
+ call %PYTHON_BIN% -m pip install --user --upgrade --force-reinstall --disable-pip-version-check "%PIP_TARGET%"
98
+ if errorlevel 1 (
99
+ echo PF Gate runtime error: failed to install %PIP_TARGET%. Set PF_GATE_PYTHON and PF_GATE_PIP_SPEC, then retry. 1>&2
100
+ exit /b 1
101
+ )
102
+ )
103
+ ) else (
104
+ call %PYTHON_BIN% -m pip install --upgrade --disable-pip-version-check "%PIP_TARGET%"
105
+ if errorlevel 1 (
106
+ call %PYTHON_BIN% -m pip install --user --upgrade --disable-pip-version-check "%PIP_TARGET%"
107
+ if errorlevel 1 (
108
+ echo PF Gate runtime error: failed to install %PIP_TARGET%. Set PF_GATE_PYTHON and PF_GATE_PIP_SPEC, then retry. 1>&2
109
+ exit /b 1
110
+ )
111
+ )
112
+ )
113
+ )
114
+
115
+ if "%PF_GATE_PIP_SPEC%"=="" if defined BUNDLED_HASH if defined WHEEL_STAMP_FILE (
116
+ if not exist "%RUNTIME_HOME%" mkdir "%RUNTIME_HOME%"
117
+ >"%WHEEL_STAMP_FILE%" echo %BUNDLED_HASH%
118
+ )
119
+
120
+ call %PYTHON_BIN% -m persons_field.terminal.launcher %*
121
+ exit /b %ERRORLEVEL%
@@ -1,141 +0,0 @@
1
- #!/usr/bin/env sh
2
- set -eu
3
-
4
- SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)"
5
- BUNDLED_WHEEL="$SCRIPT_DIR/../python/persons_field-1.0.0-py3-none-any.whl"
6
- USER_HOME="${HOME:-}"
7
- RUNTIME_HOME="${PF_GATE_RUNTIME_HOME:-}"
8
- if [ -z "$RUNTIME_HOME" ] && [ -n "$USER_HOME" ]; then
9
- RUNTIME_HOME="$USER_HOME/.pf-gate/runtime"
10
- fi
11
- WHEEL_STAMP_FILE=""
12
- if [ -n "$RUNTIME_HOME" ]; then
13
- WHEEL_STAMP_FILE="$RUNTIME_HOME/.bundled-wheel.sha256"
14
- fi
15
-
16
- resolve_system_python() {
17
- if command -v python3 >/dev/null 2>&1; then
18
- printf '%s' "python3"
19
- return 0
20
- fi
21
- if command -v python >/dev/null 2>&1; then
22
- printf '%s' "python"
23
- return 0
24
- fi
25
- return 1
26
- }
27
-
28
- sha256_file() {
29
- file_path="$1"
30
- if command -v shasum >/dev/null 2>&1; then
31
- shasum -a 256 "$file_path" | awk '{print $1}'
32
- return 0
33
- fi
34
- if command -v sha256sum >/dev/null 2>&1; then
35
- sha256sum "$file_path" | awk '{print $1}'
36
- return 0
37
- fi
38
- if command -v openssl >/dev/null 2>&1; then
39
- openssl dgst -sha256 "$file_path" | awk '{print $NF}'
40
- return 0
41
- fi
42
- return 1
43
- }
44
-
45
- read_wheel_stamp() {
46
- if [ -z "$WHEEL_STAMP_FILE" ] || [ ! -f "$WHEEL_STAMP_FILE" ]; then
47
- return 0
48
- fi
49
- head -n 1 "$WHEEL_STAMP_FILE" 2>/dev/null || true
50
- }
51
-
52
- write_wheel_stamp() {
53
- wheel_hash="$1"
54
- if [ -z "$WHEEL_STAMP_FILE" ] || [ -z "$wheel_hash" ]; then
55
- return 0
56
- fi
57
- mkdir -p "$(dirname "$WHEEL_STAMP_FILE")"
58
- printf '%s\n' "$wheel_hash" >"$WHEEL_STAMP_FILE" || true
59
- }
60
-
61
- PYTHON_BIN="${PF_GATE_PYTHON:-}"
62
- if [ -z "$PYTHON_BIN" ]; then
63
- SYSTEM_PYTHON="$(resolve_system_python || true)"
64
- if [ -z "$SYSTEM_PYTHON" ]; then
65
- echo "PF Gate runtime error: Python 3.13+ not found. Install Python or set PF_GATE_PYTHON." >&2
66
- exit 1
67
- fi
68
-
69
- if [ -z "$USER_HOME" ] && [ -z "${PF_GATE_RUNTIME_HOME:-}" ]; then
70
- echo "PF Gate runtime error: HOME is not set. Set PF_GATE_RUNTIME_HOME or PF_GATE_PYTHON." >&2
71
- exit 1
72
- fi
73
-
74
- if [ -z "$RUNTIME_HOME" ]; then
75
- RUNTIME_HOME="$USER_HOME/.pf-gate/runtime"
76
- fi
77
- VENV_DIR="$RUNTIME_HOME/.venv"
78
- PYTHON_BIN="$VENV_DIR/bin/python"
79
-
80
- if [ ! -x "$PYTHON_BIN" ]; then
81
- echo "PF Gate runtime: creating runtime environment at $VENV_DIR" >&2
82
- mkdir -p "$RUNTIME_HOME"
83
- if ! "$SYSTEM_PYTHON" -m venv "$VENV_DIR"; then
84
- echo "PF Gate runtime error: failed to create runtime environment at $VENV_DIR" >&2
85
- exit 1
86
- fi
87
- fi
88
- fi
89
-
90
- PIP_TARGET="${PF_GATE_PIP_SPEC:-$BUNDLED_WHEEL}"
91
- if [ -z "${PF_GATE_PIP_SPEC:-}" ] && [ ! -f "$BUNDLED_WHEEL" ]; then
92
- echo "PF Gate runtime error: missing bundled wheel at $BUNDLED_WHEEL" >&2
93
- exit 1
94
- fi
95
-
96
- BUNDLED_HASH=""
97
- if [ -z "${PF_GATE_PIP_SPEC:-}" ] && [ -f "$BUNDLED_WHEEL" ]; then
98
- BUNDLED_HASH="$(sha256_file "$BUNDLED_WHEEL" 2>/dev/null || true)"
99
- fi
100
-
101
- NEEDS_INSTALL=0
102
- FORCE_REINSTALL=0
103
- INSTALL_REASON="persons_field is missing"
104
- if ! "$PYTHON_BIN" -c "import persons_field.terminal.launcher" >/dev/null 2>&1; then
105
- NEEDS_INSTALL=1
106
- elif [ -z "${PF_GATE_PIP_SPEC:-}" ] && [ -n "$BUNDLED_HASH" ]; then
107
- STORED_HASH="$(read_wheel_stamp)"
108
- if [ "$STORED_HASH" != "$BUNDLED_HASH" ]; then
109
- NEEDS_INSTALL=1
110
- FORCE_REINSTALL=1
111
- INSTALL_REASON="bundled runtime payload changed"
112
- fi
113
- fi
114
-
115
- if [ "$NEEDS_INSTALL" -eq 1 ]; then
116
- echo "PF Gate runtime: ${INSTALL_REASON}; installing ${PIP_TARGET}..." >&2
117
- if ! "$PYTHON_BIN" -m pip --version >/dev/null 2>&1; then
118
- "$PYTHON_BIN" -m ensurepip --upgrade >/dev/null 2>&1 || true
119
- fi
120
- if [ "$FORCE_REINSTALL" -eq 1 ]; then
121
- if ! "$PYTHON_BIN" -m pip install --upgrade --force-reinstall --disable-pip-version-check "$PIP_TARGET"; then
122
- if ! "$PYTHON_BIN" -m pip install --user --upgrade --force-reinstall --disable-pip-version-check "$PIP_TARGET"; then
123
- echo "PF Gate runtime error: failed to install ${PIP_TARGET}. Set PF_GATE_PYTHON and PF_GATE_PIP_SPEC, then retry." >&2
124
- exit 1
125
- fi
126
- fi
127
- else
128
- if ! "$PYTHON_BIN" -m pip install --upgrade --disable-pip-version-check "$PIP_TARGET"; then
129
- if ! "$PYTHON_BIN" -m pip install --user --upgrade --disable-pip-version-check "$PIP_TARGET"; then
130
- echo "PF Gate runtime error: failed to install ${PIP_TARGET}. Set PF_GATE_PYTHON and PF_GATE_PIP_SPEC, then retry." >&2
131
- exit 1
132
- fi
133
- fi
134
- fi
135
- fi
136
-
137
- if [ -z "${PF_GATE_PIP_SPEC:-}" ] && [ -n "$BUNDLED_HASH" ]; then
138
- write_wheel_stamp "$BUNDLED_HASH"
139
- fi
140
-
141
- exec "$PYTHON_BIN" -m persons_field.terminal.launcher "$@"