Commit Graph

100 Commits

Author SHA1 Message Date
bcd3036bb5 docs: add Jason Vauger agent profile and update AGENTS.md 2026-06-01 06:26:40 +02:00
Chris Christiansen
5706b69ed8 fix: serve main.py with static files in Cloud Run container 2026-05-31 13:14:44 +00:00
Chris Christiansen
bceca94f8a docs(session): log completion of phase 6 2026-05-30 21:11:15 +00:00
Chris Christiansen
8eb6edf23c fix(docker): copy fra riktig source-path 2026-05-30 21:03:03 +00:00
Chris Christiansen
64fb0fc2b1 fix(deps): pin all dependencies 2026-05-30 20:44:46 +00:00
Chris Christiansen
7e0bf6f911 fix(deps): pin dependencies to last known good versions 2026-05-30 20:39:17 +00:00
Chris Christiansen
a98e3fcdbf feat(iap): configure IAP for osvauco-agent 2026-05-30 19:44:04 +00:00
Chris Christiansen
772951ef01 feat: Cloud Billing API, FCM push, OAuth, AWS billing, historikk, eksport, PWA 2026-05-30 01:20:21 +00:00
Chris Christiansen
b8ac8dda9d fix: move google-auth-oauthlib to Dockerfile.base and rebuild base image 2026-05-27 23:27:01 +00:00
Chris Christiansen
0062a46931 fix: add google-auth-oauthlib to base image 2026-05-27 23:17:44 +00:00
Chris Christiansen
a6c0c65ddb fix: add google-auth-oauthlib to requirements 2026-05-27 23:08:05 +00:00
Chris Christiansen
28823f5fbb fix: build from root, start main:app 2026-05-27 22:49:15 +00:00
Chris Christiansen
25ee2d495a feat: opax-mcp modul-struktur, acceptance-test og preflight-check scripts 2026-05-26 13:36:59 +00:00
Chris Christiansen
05030edf61 fix: Set executable bit on shell and python scripts
Per the task in `docs/TODO.md`, this change runs `git update-index --chmod=+x` on all relevant `.sh` and `.py` files in the repository.

This prevents intermittent 'Permission denied' errors when scripts are run in CI/CD environments or after being edited via the GitHub web interface, which can strip file permissions.
2026-05-26 13:23:18 +00:00
Chris Christiansen
11845adae0 feat(ml2): feedback_loop, hypertuner, heavy_predictor 2026-05-26 12:40:27 +00:00
7585a485e0 fix(models): gemini-2.5-flash (light) + gemini-2.5-pro (heavy), LOCATION=global for modellkall 2026-05-26 01:37:28 +02:00
f711f7be74 fix: gemini-2.0-flash-001 for light mode, fang ValueError i /run authorize_mode 2026-05-26 01:30:01 +02:00
5e1bb4e7ab refactor(mode): rename A/A+ → light/heavy gjennomgående + ML-spor i MASTERPLAN 2026-05-26 01:20:53 +02:00
2fc957f4c2 revert: sett agent.py default-modeller tilbake til gemini-2.0-flash 2026-05-25 21:18:50 +02:00
23377d2575 fix: bruk gemini-2.0-flash-001 som default modell (versjonert GA-navn) 2026-05-25 19:45:29 +02:00
e5270e8790 chore: commit modified infra, RAG and session log files 2026-05-25 12:50:52 +00:00
9cd43572b0 chore: add untracked RAG, infra and session files 2026-05-25 12:49:52 +00:00
68ac4fde35 fix(rag): correct corpus payload to vectorDbConfig.ragManagedDb; verify engine config actually switched before creating
- RagCorpus REST body uses vectorDbConfig.ragManagedDb (not ragManagedDbConfig)
- RagManagedDb has no tier field - empty object {} = serverless
- Add GET+verify step after PATCH to confirm spanner key is gone before proceeding
- Print actual engine config state so failures are immediately visible
2026-05-24 19:26:10 +02:00
db3807bff9 fix(rag): use ragManagedDbConfig.basic in corpus body; fix engine config PATCH with scaled→basic switch
The v1beta1 API uses ragManagedDbConfig (not vectorDbConfig) on the RagCorpus
resource itself. Omitting it causes the engine to default to Spanner. Also the
engine config PATCH must use {"ragManagedDbConfig":{"basic":{}}} with the
correct field name matching v1beta1 schema.
2026-05-24 19:23:30 +02:00
2838534296 fix(rag): always patch ragEngineConfig in us-central1; drop vectorDbConfig from corpus creation
Two root causes fixed:
1. ragEngineConfig is a project-level control-plane endpoint that only exists in
   us-central1. Patching it against europe-west1 (or any other region) returns
   'Invalid endpoint name'. We now always use us-central1 for the config PATCH
   regardless of RAG_LOCATION.
2. Including vectorDbConfig.ragManagedDb in the corpus creation payload explicitly
   requests Spanner mode, which is allowlist-restricted for new projects. Omitting
   vectorDbConfig entirely lets the engine honour the project-level 'basic' config
   and use serverless mode — the correct approach per Google docs."
2026-05-24 19:19:12 +02:00
a2790be421 fix: create corpus via REST API directly, bypassing SDK backend_config bug
SDK 1.153.1 always defaults to Spanner when backend_config is omitted,
and crashes when it's provided. Use REST POST directly with
vectorDbConfig.ragManagedDb set to force serverless.
2026-05-24 19:11:25 +02:00
2beb6a359d fix: drop backend_config from create_corpus — rely on pre-flight PATCH alone
SDK 1.153.1 has a bug in set_backend_config where it calls .CopyFrom()
on RagManagedDb which is not a real protobuf message.
The project-level ragEngineConfig PATCH already sets basic tier,
so passing backend_config is unnecessary and breaks corpus creation.
2026-05-24 19:04:31 +02:00
46b3c52607 fix: RagManagedDb() takes no arguments in SDK 1.153.1 2026-05-24 19:02:43 +02:00
582967a994 fix: use vector_db=RagManagedDb(tier=1) — correct field names for SDK 1.153.1
RagVectorDbConfig takes vector_db= not rag_managed_db=.
The db type is RagManagedDb, not RagManagedDbConfig.
2026-05-24 18:58:00 +02:00
ad8597f434 fix: use tier=1 int instead of RagManagedDbConfig.Tier.BASIC enum
The Tier enum is not available in the installed SDK version.
Use integer value 1 (BASIC) directly instead.
2026-05-24 18:44:22 +02:00
814dd89ca6 fix: explicitly set serverless RAG backend + improve error handling
- Pass RagVectorDbConfig with RagManagedDbConfig basic tier explicitly
  to avoid Spanner allowlist errors on new projects
- Add pre-flight ensure_serverless_engine_config() via REST PATCH
- Cleaner error messages with actionable hints
- Idempotent: skips creation if corpus already exists
2026-05-24 18:11:27 +02:00
d0512f5ced chore: add base Docker image to speed up deploys
- Add agents/core-logic/Dockerfile.base with heavy deps pre-baked
- Update agents/core-logic/Dockerfile to build FROM base image
- Update cloudbuild.yaml with step to build/push base (manual only)
- Typical deploy time reduction: ~3 min → ~30 sec
2026-05-24 17:04:42 +02:00
1cba5166db fix: ADK 1.x Runner pattern + gemini-3.5-flash for A+ reasoning 2026-05-24 16:44:04 +02:00
497509370e feat: add A/A+ mode routing to agent.py (OPAX) 2026-05-24 16:34:34 +02:00
60c7aff04d fix: remove backend_config — Serverless is default in us-central1 2026-05-24 16:15:32 +02:00
a5fd5f58e8 fix: switch RAG corpus to Serverless mode (RagManagedDb) in us-central1 2026-05-24 16:13:24 +02:00
09dcb4d1a2 feat: OPAX heavy mode + LLM-ruting oppdatert + RAG serverless fix\n\n- MASTERPLAN.md: ny LLM-RUTINGSSTRATEGI-seksjon med OPAX Heavy Mode\n- masterplan-summary.md: oppdatert med heavy mode-referanser\n- setup_corpus.py: fjernet backend_config (Serverless mode, ingen Spanner)\n- sesjon-logg: 2026-05-24_opax-heavy-mode-llm-ruting-rag.md 2026-05-24 14:07:26 +00:00
0248081b83 fix: agent.py — bruk riktig import-path for VertexAiRagRetrieval (ADK 1.x) 2026-05-24 15:12:08 +02:00
2681d85ef4
feat: enforce Norwegian (Bokmål) response language in agent system instruction 2026-05-24 06:24:21 +02:00
69eab2c113 docs: oppdater README, IAM-docs, legg til rag/memory/eval mapper og cost-guard 2026-05-23 20:54:05 +00:00
ffe4ec1c63 fix: await get_session and create_session (async ADK 1.x API) 2026-05-23 21:09:59 +02:00
4ef0683c7c fix: use try/except to create session if get_session raises in ADK 1.x 2026-05-23 20:45:50 +02:00
7e1af38474 fix: auto-create session if not found in /run endpoint 2026-05-23 20:33:39 +02:00
1122af66d0 fix: point uvicorn entrypoint to app:app (not main:app) 2026-05-23 20:16:24 +02:00
6521a4c101 fix: replace adk deploy cloud_run with gcloud run deploy (compatible with ADK 1.x + Cloud Shell) 2026-05-23 19:55:16 +02:00
c411a8af88 fix: pin google-adk to 1.x to be compatible with google-cloud-aiplatform[adk,agent_engines] 2026-05-23 19:53:51 +02:00
c8e51135ac fix: remove conflicting vertexai pin — bundled in google-cloud-aiplatform>=1.112.0 2026-05-23 08:52:03 +02:00
4814447da4
feat: add agents/core-logic/app.py — FastAPI Cloud Run entrypoint 2026-05-23 02:46:41 +02:00
ce28d34f3d
feat: add agents/tests/unit/test_agent.py — 8 pytest unit tests
Add unit tests for ADK orchestrator agent functionality, including environment variable checks and import validations.
2026-05-23 02:45:50 +02:00
34ba75a4a2 feat: push all remaining files — agents/, docs/, architecture/, cloudbuild.yaml, README 2026-05-23 02:37:39 +02:00