Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c4eacb48a | ||
|
|
1dc134d0e7 | ||
|
|
76d21704c8 | ||
|
|
af5eedef72 | ||
|
|
8a14d61810 | ||
|
|
420848f675 |
Executable → Regular
Executable → Regular
Executable → Regular
Executable → Regular
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
Executable → Regular
+13
-293
@@ -1,7 +1,19 @@
|
|||||||
{
|
{
|
||||||
"schema_version": 1,
|
"schema_version": 1,
|
||||||
"generated_at": "2026-10-16T17:34:23+08:00",
|
"generated_at": "2026-10-19T13:12:56+08:00",
|
||||||
"files": [
|
"files": [
|
||||||
|
{
|
||||||
|
"date": "20261019",
|
||||||
|
"path": "data/20261019.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"date": "20261018",
|
||||||
|
"path": "data/20261018.json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"date": "20261017",
|
||||||
|
"path": "data/20261017.json"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"date": "20261016",
|
"date": "20261016",
|
||||||
"path": "data/20261016.json"
|
"path": "data/20261016.json"
|
||||||
@@ -17,298 +29,6 @@
|
|||||||
{
|
{
|
||||||
"date": "20261013",
|
"date": "20261013",
|
||||||
"path": "data/20261013.json"
|
"path": "data/20261013.json"
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261012",
|
|
||||||
"path": "data/20261012.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261011",
|
|
||||||
"path": "data/20261011.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261010",
|
|
||||||
"path": "data/20261010.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261009",
|
|
||||||
"path": "data/20261009.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261008",
|
|
||||||
"path": "data/20261008.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261007",
|
|
||||||
"path": "data/20261007.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261006",
|
|
||||||
"path": "data/20261006.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261005",
|
|
||||||
"path": "data/20261005.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261004",
|
|
||||||
"path": "data/20261004.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261003",
|
|
||||||
"path": "data/20261003.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261002",
|
|
||||||
"path": "data/20261002.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20261001",
|
|
||||||
"path": "data/20261001.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260930",
|
|
||||||
"path": "data/20260930.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260929",
|
|
||||||
"path": "data/20260929.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260928",
|
|
||||||
"path": "data/20260928.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260927",
|
|
||||||
"path": "data/20260927.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260926",
|
|
||||||
"path": "data/20260926.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260925",
|
|
||||||
"path": "data/20260925.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260924",
|
|
||||||
"path": "data/20260924.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260923",
|
|
||||||
"path": "data/20260923.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260922",
|
|
||||||
"path": "data/20260922.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260921",
|
|
||||||
"path": "data/20260921.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260920",
|
|
||||||
"path": "data/20260920.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260919",
|
|
||||||
"path": "data/20260919.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260918",
|
|
||||||
"path": "data/20260918.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260917",
|
|
||||||
"path": "data/20260917.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260916",
|
|
||||||
"path": "data/20260916.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260915",
|
|
||||||
"path": "data/20260915.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260914",
|
|
||||||
"path": "data/20260914.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260913",
|
|
||||||
"path": "data/20260913.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260912",
|
|
||||||
"path": "data/20260912.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260911",
|
|
||||||
"path": "data/20260911.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260910",
|
|
||||||
"path": "data/20260910.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260909",
|
|
||||||
"path": "data/20260909.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260908",
|
|
||||||
"path": "data/20260908.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260907",
|
|
||||||
"path": "data/20260907.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260906",
|
|
||||||
"path": "data/20260906.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260905",
|
|
||||||
"path": "data/20260905.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260904",
|
|
||||||
"path": "data/20260904.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260903",
|
|
||||||
"path": "data/20260903.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260902",
|
|
||||||
"path": "data/20260902.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260901",
|
|
||||||
"path": "data/20260901.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260831",
|
|
||||||
"path": "data/20260831.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260830",
|
|
||||||
"path": "data/20260830.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260829",
|
|
||||||
"path": "data/20260829.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260828",
|
|
||||||
"path": "data/20260828.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260827",
|
|
||||||
"path": "data/20260827.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260826",
|
|
||||||
"path": "data/20260826.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260825",
|
|
||||||
"path": "data/20260825.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260824",
|
|
||||||
"path": "data/20260824.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260823",
|
|
||||||
"path": "data/20260823.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260822",
|
|
||||||
"path": "data/20260822.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260821",
|
|
||||||
"path": "data/20260821.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260820",
|
|
||||||
"path": "data/20260820.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260819",
|
|
||||||
"path": "data/20260819.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260818",
|
|
||||||
"path": "data/20260818.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260817",
|
|
||||||
"path": "data/20260817.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260816",
|
|
||||||
"path": "data/20260816.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260815",
|
|
||||||
"path": "data/20260815.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260814",
|
|
||||||
"path": "data/20260814.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260813",
|
|
||||||
"path": "data/20260813.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260812",
|
|
||||||
"path": "data/20260812.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260811",
|
|
||||||
"path": "data/20260811.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260810",
|
|
||||||
"path": "data/20260810.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260809",
|
|
||||||
"path": "data/20260809.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260808",
|
|
||||||
"path": "data/20260808.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260807",
|
|
||||||
"path": "data/20260807.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260806",
|
|
||||||
"path": "data/20260806.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260805",
|
|
||||||
"path": "data/20260805.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260804",
|
|
||||||
"path": "data/20260804.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260803",
|
|
||||||
"path": "data/20260803.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260802",
|
|
||||||
"path": "data/20260802.json"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"date": "20260801",
|
|
||||||
"path": "data/20260801.json"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
+32
-3
@@ -3,7 +3,8 @@
|
|||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
||||||
PROJECT_ROOT=${PROJECT_ROOT:-$(CDPATH= cd -- "$SCRIPT_DIR/.." && pwd)}
|
PROJECT_ROOT=$(CDPATH= cd -- "$SCRIPT_DIR/.." && pwd)
|
||||||
|
# ENV_FILE is an explicit override; by default it is the sibling dashboard .env.
|
||||||
ENV_FILE=${ENV_FILE:-$(CDPATH= cd -- "$PROJECT_ROOT/../direct-report-dashboard" && pwd)/.env}
|
ENV_FILE=${ENV_FILE:-$(CDPATH= cd -- "$PROJECT_ROOT/../direct-report-dashboard" && pwd)/.env}
|
||||||
PYTHON_BIN=${PYTHON_BIN:-python3}
|
PYTHON_BIN=${PYTHON_BIN:-python3}
|
||||||
|
|
||||||
@@ -30,12 +31,40 @@ dotenv_value() {
|
|||||||
|
|
||||||
AGENTSTAGE_USER=$(dotenv_value AGENTSTAGE_USER)
|
AGENTSTAGE_USER=$(dotenv_value AGENTSTAGE_USER)
|
||||||
AGENTSTAGE_TOKEN=$(dotenv_value AGENTSTAGE_TOKEN)
|
AGENTSTAGE_TOKEN=$(dotenv_value AGENTSTAGE_TOKEN)
|
||||||
if [ -z "$AGENTSTAGE_USER" ] || [ -z "$AGENTSTAGE_TOKEN" ]; then
|
missing=''
|
||||||
printf '%s\n' "AGENTSTAGE_USER and AGENTSTAGE_TOKEN are required in $ENV_FILE" >&2
|
[ -n "$AGENTSTAGE_USER" ] || missing="$missing AGENTSTAGE_USER"
|
||||||
|
[ -n "$AGENTSTAGE_TOKEN" ] || missing="$missing AGENTSTAGE_TOKEN"
|
||||||
|
if [ -n "$missing" ]; then
|
||||||
|
printf 'Missing required .env variable(s):%s\n' "$missing" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "$AGENTSTAGE_USER" != "liuji" ]; then
|
||||||
|
printf '%s\n' "AGENTSTAGE_USER must be liuji" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
export AGENTSTAGE_USER AGENTSTAGE_TOKEN
|
export AGENTSTAGE_USER AGENTSTAGE_TOKEN
|
||||||
|
|
||||||
|
# Override Git only for this process tree: never read osxkeychain and never alter .git/config.
|
||||||
|
REMOTE_URL=$(git -C "$PROJECT_ROOT" config --get remote.origin.url || true)
|
||||||
|
case "$REMOTE_URL" in
|
||||||
|
https://*)
|
||||||
|
REMOTE_TARGET=${REMOTE_URL#https://}
|
||||||
|
REMOTE_TARGET=${REMOTE_TARGET#*@}
|
||||||
|
REMOTE_URL="https://liuji@$REMOTE_TARGET"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
printf '%s\n' "remote.origin.url must use HTTPS" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
export GIT_CONFIG_COUNT=3
|
||||||
|
export GIT_CONFIG_KEY_0=credential.helper
|
||||||
|
export GIT_CONFIG_VALUE_0=
|
||||||
|
export GIT_CONFIG_KEY_1=remote.origin.url
|
||||||
|
export GIT_CONFIG_VALUE_1="$REMOTE_URL"
|
||||||
|
export GIT_CONFIG_KEY_2=remote.origin.pushurl
|
||||||
|
export GIT_CONFIG_VALUE_2="$REMOTE_URL"
|
||||||
|
|
||||||
umask 077
|
umask 077
|
||||||
ASKPASS=$(mktemp "${TMPDIR:-/tmp}/af-click-gap-askpass.XXXXXX")
|
ASKPASS=$(mktemp "${TMPDIR:-/tmp}/af-click-gap-askpass.XXXXXX")
|
||||||
cleanup() {
|
cleanup() {
|
||||||
|
|||||||
Reference in New Issue
Block a user