Spaces:
Running
Running
Download source/teaql-ts/scripts/verify-examples.sh from teaql/browser-sqlite-playground: direct link, hf CLI and curl.
- Browser
- Download file 5.35 kB
-
https://huggingface.co/spaces/teaql/browser-sqlite-playground/resolve/main/source/teaql-ts/scripts/verify-examples.sh
- Command line
-
hf download hf://spaces/teaql/browser-sqlite-playground/source/teaql-ts/scripts/verify-examples.sh
-
curl -L -o verify-examples.sh https://huggingface.co/spaces/teaql/browser-sqlite-playground/resolve/main/source/teaql-ts/scripts/verify-examples.sh
5.35 kB
| set -euo pipefail | |
| repo="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" | |
| # file: dependencies resolve the package's dist entry points, not TypeScript source. | |
| # Rebuild here so examples can never silently validate stale checked-in output. | |
| (cd "$repo" && npm run build) | |
| bash "$repo/examples/object-storage/verify.sh" | |
| (cd "$repo" && npm test -- --runInBand tests/sql-relation-membership.test.ts) | |
| mkdir -p "$repo/.local" | |
| expected=(browser-sqlite conformance ensure-schema-bootstrap facet-trace object-storage order-management school-management task-board trace-chain) | |
| mapfile -t actual < <(find "$repo/examples" -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | sort) | |
| if [[ "${actual[*]}" != "${expected[*]}" ]]; then | |
| echo "example inventory changed; update scripts/verify-examples.sh: ${actual[*]}" >&2 | |
| exit 1 | |
| fi | |
| if rg -n --glob '*.ts' --glob '!**/node_modules/**' --glob '!**/dist/**' \ | |
| '\b(executeForPage|ExecuteForPage|execute_for_page)\b' "$repo/examples"; then | |
| echo 'FAIL: an example still exposes or calls a retired page terminal; regenerate its library' >&2 | |
| exit 1 | |
| fi | |
| for example in conformance ensure-schema-bootstrap school-management; do | |
| ( | |
| cd "$repo/examples/$example" | |
| npm install | |
| npm run build | |
| if [[ "$example" == school-management ]]; then | |
| npx ts-node app.ts | |
| else | |
| npm start | |
| fi | |
| ) | |
| done | |
| (cd "$repo/examples/order-management" && npm install && npm run build && npm start) | |
| (cd "$repo/examples/task-board" && npm install && npm run build) | |
| (cd "$repo/examples/browser-sqlite" && npm install && npm run build && npm run smoke && npm run smoke:orders) | |
| ( | |
| cd "$repo/examples/trace-chain" | |
| npm install | |
| npm run build | |
| for attempt in 1 2; do | |
| graph_log="$(mktemp -t teaql-ts-graph.XXXXXX.log)" | |
| npm start | tee "$graph_log" | |
| rg -Fxq 'PASS TypeScript graph identity controls: duplicate, missing and equal-ID type collapse rejected' "$graph_log" | |
| rg -Fq 'GRAPH IDENTITY EVIDENCE ' "$graph_log" | |
| rg -Fxq 'PASS TypeScript generated trace-chain example: 7 checks' "$graph_log" | |
| [[ "$(rg -c '^PRIVATE_LINEAGE_OBSERVED ' "$graph_log")" == 8 ]] | |
| [[ "$(rg -c '^PASS TypeScript complete private lineage:' "$graph_log")" == 8 ]] | |
| done | |
| env -u TEAQL_TELEMETRY_ENABLED -u TEAQL_TELEMETRY_SERVICE_NAME -u TEAQL_TELEMETRY_OTLP_ENDPOINT npm run test:standard-telemetry | |
| env -u TEAQL_TELEMETRY_ENABLED -u TEAQL_TELEMETRY_SERVICE_NAME -u TEAQL_TELEMETRY_OTLP_ENDPOINT npm run test:standard-telemetry | |
| env -u TEAQL_TELEMETRY_ENABLED -u TEAQL_TELEMETRY_SERVICE_NAME -u TEAQL_TELEMETRY_OTLP_ENDPOINT npm run test:standard-telemetry-graph | |
| env -u TEAQL_TELEMETRY_ENABLED -u TEAQL_TELEMETRY_SERVICE_NAME -u TEAQL_TELEMETRY_OTLP_ENDPOINT npm run test:standard-telemetry-graph | |
| response_directory="$(mktemp -d -t teaql-ts-response-example.XXXXXXXX)" | |
| for attempt in 1 2; do | |
| response_log="$response_directory/round-$attempt.log" | |
| env -u TEAQL_TELEMETRY_ENABLED -u TEAQL_TELEMETRY_SERVICE_NAME -u TEAQL_TELEMETRY_OTLP_ENDPOINT \ | |
| TEAQL_STANDARD_RESPONSE_DB="$response_directory/graphs.sqlite" \ | |
| node node_modules/ts-node/dist/bin.js standard-export-responses.ts | tee "$response_log" | |
| rg -Fxq 'PASS TypeScript standard response graph: create, rollback, retry, update, delete, Q/E, committed audit' "$response_log" | |
| rg -Fq "\"firstSeedAudits\":$((2-attempt)),\"repeatSeedAudits\":0" "$response_log" | |
| done | |
| env -u TEAQL_TRACE_CHAIN_SCENARIO npm run test:shared-reference | |
| env -u TEAQL_TRACE_CHAIN_SCENARIO npm run test:shared-reference | |
| npm run test:page | |
| npm run test:page | |
| npm run test:stream-capture | |
| npm run test:stream-capture | |
| ) | |
| for attempt in 1 2; do | |
| aggregate_log="$(mktemp -t teaql-ts-aggregate.XXXXXX.log)" | |
| (cd "$repo/examples/trace-chain" && npm run test:relation-aggregate) | tee "$aggregate_log" | |
| rg -Fq 'FORWARD_NOTLOADED_OBSERVED {"logging":true' "$aggregate_log" | |
| rg -Fq 'FORWARD_NOTLOADED_OBSERVED {"logging":false' "$aggregate_log" | |
| done | |
| bash "$repo/scripts/verify-current-aggregate.sh" | |
| for attempt in 1 2; do | |
| checker_log="$(mktemp -t teaql-ts-checker.XXXXXX.log)" | |
| TEAQL_TRACE_CHAIN_CHECKER_RUN="verify-examples-$attempt" \ | |
| bash "$repo/scripts/run-checker-overlap.sh" "$checker_log" | |
| done | |
| for attempt in 1 2; do | |
| plan_log="$(mktemp -t teaql-ts-plan-items.XXXXXX.log)" | |
| (cd "$repo/examples/trace-chain" && timeout --kill-after=5s 90s npm run test:plan-item-lineage) | tee "$plan_log" | |
| rg -Fxq 'PASS TypeScript generated plan item lineage: 4 scenarios; one plan, ordered same-type items, sibling privacy, independent next request' "$plan_log" | |
| done | |
| bash "$repo/examples/facet-trace/verify.sh" | |
| bootstrap_directory="$(mktemp -d -t teaql-ts-bootstrap.XXXXXXXX)" | |
| for attempt in 1 2; do | |
| bootstrap_log="$bootstrap_directory/round-$attempt.log" | |
| (cd "$repo/examples/trace-chain" && TEAQL_TRACE_CHAIN_BOOTSTRAP_DB="$bootstrap_directory/bootstrap.sqlite" \ | |
| timeout --kill-after=5s 90s npm run test:bootstrap-intent) | tee "$bootstrap_log" | |
| rg -Fxq 'PASS TypeScript generated bootstrap intent: logging off/on, committed audit, repeat no writes, unchanged generated library' "$bootstrap_log" | |
| for logging in false true; do | |
| rg -Fq "\"path\":\"generated default bootstrap\",\"logging\":$logging,\"firstWrites\":$((2-attempt)),\"repeatWrites\":0" "$bootstrap_log" | |
| done | |
| done | |
| echo "PASS: all TypeScript examples" | |