| Server IP : 3.147.158.171 / Your IP : 216.73.216.216 Web Server : Apache/2.4.67 (Amazon Linux) OpenSSL/3.5.5 System : Linux ip-172-31-2-178.us-east-2.compute.internal 6.1.172-216.329.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Wed May 20 06:31:34 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.21 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /tsai/repo/builder/backend/configs/ |
Upload File : |
{
"name": "Build Angular Apps",
"description": "Build all Angular apps (creator, player, sas, banner) for the specified configuration",
"parameters": [
{
"name": "PARAM_CONFIG_TYPE",
"label": "Build Configuration",
"type": "text",
"required": true
}
],
"steps": [
{
"name": "Build tsai library (development only)",
"step_type": "shell",
"command": "if [ \"${PARAM_CONFIG_TYPE}\" = \"development\" ]; then npx -p @angular/cli ng build tsai; else echo 'Skipping tsai library build for non-development config'; fi",
"working_dir": "${BASE_DIR}chatbot",
"timeout": 120
},
{
"name": "Write build info for creator",
"step_type": "shell",
"command": "python ${BASE_DIR}builder/backend/scripts/write_build_info.py creator ${BASE_DIR}chatbot",
"timeout": 30
},
{
"name": "Build creator with i18n",
"step_type": "shell",
"command": "npx -p @angular/cli ng build creator --configuration=${PARAM_CONFIG_TYPE} --delete-output-path=true --localize --output-path ./dist/${PARAM_CONFIG_TYPE}/creator --base-href /",
"working_dir": "${BASE_DIR}chatbot",
"timeout": 300
},
{
"name": "Write .htaccess files for creator",
"step_type": "shell",
"command": "python ${BASE_DIR}builder/backend/scripts/write_htaccess.py ${BASE_DIR}chatbot/dist/${PARAM_CONFIG_TYPE}/creator/browser \"\"",
"timeout": 30
},
{
"name": "Build player (standalone)",
"step_type": "shell",
"command": "npx -p @angular/cli ng build player --configuration=${PARAM_CONFIG_TYPE} --delete-output-path=true --output-path ./dist/${PARAM_CONFIG_TYPE}/player --base-href /",
"working_dir": "${BASE_DIR}chatbot",
"timeout": 180
},
{
"name": "Build player (WordPress)",
"step_type": "shell",
"command": "npx -p @angular/cli ng build player --configuration=${PARAM_CONFIG_TYPE} --delete-output-path=true --output-path ./dist/${PARAM_CONFIG_TYPE}/wp-shared/player --base-href /wp-content/uploads/tsai/player/browser/",
"working_dir": "${BASE_DIR}chatbot",
"timeout": 180
},
{
"name": "Write SPA .htaccess for player (WordPress)",
"step_type": "shell",
"command": "python ${BASE_DIR}builder/backend/scripts/write_spa_htaccess.py ${BASE_DIR}chatbot/dist/${PARAM_CONFIG_TYPE}/wp-shared/player/browser /wp-content/uploads/tsai/player/browser/",
"timeout": 30
},
{
"name": "Build sas (standalone)",
"step_type": "shell",
"command": "npx -p @angular/cli ng build sas --configuration=${PARAM_CONFIG_TYPE} --delete-output-path=true --output-path ./dist/${PARAM_CONFIG_TYPE}/sas --base-href /",
"working_dir": "${BASE_DIR}chatbot",
"timeout": 180
},
{
"name": "Build sas (WordPress)",
"step_type": "shell",
"command": "npx -p @angular/cli ng build sas --configuration=${PARAM_CONFIG_TYPE} --delete-output-path=true --output-path ./dist/${PARAM_CONFIG_TYPE}/wp-shared/sas --base-href /wp-content/uploads/tsai/sas/browser/",
"working_dir": "${BASE_DIR}chatbot",
"timeout": 180
},
{
"name": "Write SPA .htaccess for sas (WordPress)",
"step_type": "shell",
"command": "python ${BASE_DIR}builder/backend/scripts/write_spa_htaccess.py ${BASE_DIR}chatbot/dist/${PARAM_CONFIG_TYPE}/wp-shared/sas/browser /wp-content/uploads/tsai/sas/browser/",
"timeout": 30
},
{
"name": "Build banner (standalone)",
"step_type": "shell",
"command": "npx -p @angular/cli ng build banner --configuration=${PARAM_CONFIG_TYPE} --delete-output-path=true --output-path ./dist/${PARAM_CONFIG_TYPE}/banner --base-href /",
"working_dir": "${BASE_DIR}chatbot",
"timeout": 180
},
{
"name": "Build banner (WordPress)",
"step_type": "shell",
"command": "npx -p @angular/cli ng build banner --configuration=${PARAM_CONFIG_TYPE} --delete-output-path=true --output-path ./dist/${PARAM_CONFIG_TYPE}/wp-shared/banner --base-href /wp-content/uploads/tsai/banner/browser/",
"working_dir": "${BASE_DIR}chatbot",
"timeout": 180
},
{
"name": "Symlink WP apps in all local WP sites",
"step_type": "shell",
"command": "for site in autosave demo.tsai.ai dev johnturman.net news sandbox tsai.ai tsai2; do mkdir -p ${BASE_DIR}sites/$site/wp-content/uploads/tsai && for app in banner sas player; do rm -rf ${BASE_DIR}sites/$site/wp-content/uploads/tsai/$app && ln -sfn ../../../../../chatbot/dist/${PARAM_CONFIG_TYPE}/wp-shared/$app ${BASE_DIR}sites/$site/wp-content/uploads/tsai/$app; done; done",
"timeout": 120
},
{
"name": "Symlink tsai-plugin in all local WP sites",
"step_type": "shell",
"command": "for site in autosave demo.tsai.ai dev johnturman.net news sandbox tsai.ai tsai2; do rm -rf ${BASE_DIR}sites/$site/wp-content/plugins/tsai-plugin && ln -sfn ../../../../plugins/tsai-plugin ${BASE_DIR}sites/$site/wp-content/plugins/tsai-plugin; done",
"timeout": 120
}
],
"stop_on_failure": true
}