@panorama-ai/gateway 2.26.113 → 2.26.121

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
@@ -6,11 +6,17 @@ Gateway service for connecting a team to CLI capabilities on this machine.
6
6
 
7
7
  Pair the gateway with a team using a pairing code:
8
8
 
9
+ ```bash
10
+ panorama-gateway pair <PAIRING_CODE>
11
+ ```
12
+
13
+ For local package development:
14
+
9
15
  ```bash
10
16
  PANORAMA_ENV=dev pnpm --filter @panorama-ai/gateway dev -- pair <PAIRING_CODE>
11
17
  ```
12
18
 
13
- Or pass Supabase credentials directly:
19
+ Or pass backend overrides directly:
14
20
 
15
21
  ```bash
16
22
  SUPABASE_URL="https://your-project.supabase.co" \
@@ -59,8 +65,6 @@ Optional flags:
59
65
 
60
66
  - `--device-name "My MacBook"`
61
67
  - `--verbose`, `-v` (show technical details like paths, IDs, and PIDs)
62
- - `--supabase-url "https://..."`
63
- - `--anon-key "..."`
64
68
  - `--env local|dev|test|stage|prod`
65
69
  - `--env-file /path/to/.env`
66
70
  - `--foreground` (run in the foreground)
@@ -78,13 +82,13 @@ The gateway stores credentials in `~/.panorama/gateway/gateway.json` by default.
78
82
 
79
83
  ## Environment
80
84
 
81
- The gateway expects these values (CLI flags override environment variables):
85
+ The published CLI ships with embedded production backend defaults, so end users can run `pair` without setting Supabase values.
86
+
87
+ For development or backend overrides, the gateway reads these values (CLI flags override environment variables):
82
88
 
83
89
  - `SUPABASE_URL` (or `PANORAMA_SUPABASE_URL`)
84
90
  - `SUPABASE_ANON_KEY` (or `PANORAMA_SUPABASE_ANON_KEY` / `SUPABASE_PUBLISHABLE_KEY`)
85
91
 
86
- `pair` and `start` fail fast when these values are missing. The gateway does not implicitly fall back to embedded production defaults.
87
-
88
92
  When `--env` or `PANORAMA_ENV` is provided, the gateway loads `.env.<env>` from the repo root (falls back to `.env` for `local`).
89
93
  You can always point to a specific env file with `--env-file`.
90
94
 
@@ -2294,6 +2294,133 @@ export type Database = {
2294
2294
  }
2295
2295
  ];
2296
2296
  };
2297
+ subagent_notification_deliveries: {
2298
+ Row: {
2299
+ agent_id: string;
2300
+ created_at: string;
2301
+ delivered_at: string | null;
2302
+ delivery_status: string;
2303
+ error: string | null;
2304
+ event_id: string;
2305
+ id: string;
2306
+ subscription_id: string;
2307
+ updated_at: string;
2308
+ };
2309
+ Insert: {
2310
+ agent_id: string;
2311
+ created_at?: string;
2312
+ delivered_at?: string | null;
2313
+ delivery_status: string;
2314
+ error?: string | null;
2315
+ event_id: string;
2316
+ id?: string;
2317
+ subscription_id: string;
2318
+ updated_at?: string;
2319
+ };
2320
+ Update: {
2321
+ agent_id?: string;
2322
+ created_at?: string;
2323
+ delivered_at?: string | null;
2324
+ delivery_status?: string;
2325
+ error?: string | null;
2326
+ event_id?: string;
2327
+ id?: string;
2328
+ subscription_id?: string;
2329
+ updated_at?: string;
2330
+ };
2331
+ Relationships: [
2332
+ {
2333
+ foreignKeyName: "subagent_notification_deliveries_agent_id_fkey";
2334
+ columns: ["agent_id"];
2335
+ isOneToOne: false;
2336
+ referencedRelation: "agents";
2337
+ referencedColumns: ["id"];
2338
+ },
2339
+ {
2340
+ foreignKeyName: "subagent_notification_deliveries_event_id_fkey";
2341
+ columns: ["event_id"];
2342
+ isOneToOne: false;
2343
+ referencedRelation: "subagent_notification_events";
2344
+ referencedColumns: ["id"];
2345
+ },
2346
+ {
2347
+ foreignKeyName: "subagent_notification_deliveries_subscription_id_fkey";
2348
+ columns: ["subscription_id"];
2349
+ isOneToOne: false;
2350
+ referencedRelation: "team_resource_subscriptions";
2351
+ referencedColumns: ["id"];
2352
+ }
2353
+ ];
2354
+ };
2355
+ subagent_notification_events: {
2356
+ Row: {
2357
+ affected_subscriptions: string[];
2358
+ content: string;
2359
+ created_at: string;
2360
+ error: string | null;
2361
+ event_key: string;
2362
+ event_type: string;
2363
+ id: string;
2364
+ metadata: Json;
2365
+ processed_at: string | null;
2366
+ processing_started_at: string | null;
2367
+ retry_count: number;
2368
+ status: string;
2369
+ subagent_id: string;
2370
+ summary: string | null;
2371
+ team_id: string;
2372
+ };
2373
+ Insert: {
2374
+ affected_subscriptions?: string[];
2375
+ content: string;
2376
+ created_at?: string;
2377
+ error?: string | null;
2378
+ event_key: string;
2379
+ event_type: string;
2380
+ id?: string;
2381
+ metadata?: Json;
2382
+ processed_at?: string | null;
2383
+ processing_started_at?: string | null;
2384
+ retry_count?: number;
2385
+ status?: string;
2386
+ subagent_id: string;
2387
+ summary?: string | null;
2388
+ team_id: string;
2389
+ };
2390
+ Update: {
2391
+ affected_subscriptions?: string[];
2392
+ content?: string;
2393
+ created_at?: string;
2394
+ error?: string | null;
2395
+ event_key?: string;
2396
+ event_type?: string;
2397
+ id?: string;
2398
+ metadata?: Json;
2399
+ processed_at?: string | null;
2400
+ processing_started_at?: string | null;
2401
+ retry_count?: number;
2402
+ status?: string;
2403
+ subagent_id?: string;
2404
+ summary?: string | null;
2405
+ team_id?: string;
2406
+ };
2407
+ Relationships: [
2408
+ {
2409
+ foreignKeyName: "subagent_notification_events_subagent_id_fkey";
2410
+ columns: ["subagent_id"];
2411
+ isOneToOne: false;
2412
+ referencedRelation: "subagents";
2413
+ referencedColumns: ["id"];
2414
+ },
2415
+ {
2416
+ foreignKeyName: "subagent_notification_events_team_id_fkey";
2417
+ columns: ["team_id"];
2418
+ isOneToOne: false;
2419
+ referencedRelation: "teams";
2420
+ referencedColumns: ["id"];
2421
+ }
2422
+ ];
2423
+ };
2297
2424
  subagent_run_events: {
2298
2425
  Row: {
2299
2426
  created_at: string;
@@ -4620,6 +4747,13 @@ export type Database = {
4620
4747
  };
4621
4748
  Returns: undefined;
4622
4749
  };
4750
+ enqueue_subagent_notification_event_job: {
4751
+ Args: {
4752
+ p_delay_seconds?: number;
4753
+ p_event_id: string;
4754
+ };
4755
+ Returns: undefined;
4756
+ };
4623
4757
  ensure_health_alert_resources: {
4624
4758
  Args: {
4625
4759
  p_team_id: string;
@@ -5349,6 +5483,14 @@ export type Database = {
5349
5483
  };
5350
5484
  Returns: boolean;
5351
5485
  };
5486
+ process_subagent_notification_event: {
5487
+ Args: {
5488
+ p_event_id: string;
5489
+ p_max_retries?: number;
5490
+ p_retry_delay_seconds?: number;
5491
+ };
5492
+ Returns: Json;
5493
+ };
5352
5494
  record_health_alert: {
5353
5495
  Args: {
5354
5496
  p_alert_type: string;
@@ -5404,6 +5546,14 @@ export type Database = {
5404
5546
  recovered_job_id: number;
5405
5547
  }[];
5406
5548
  };
5549
+ recover_stuck_subagent_notification_events: {
5550
+ Args: {
5551
+ p_limit?: number;
5552
+ p_max_retries?: number;
5553
+ p_stuck_minutes?: number;
5554
+ };
5555
+ Returns: Json;
5556
+ };
5407
5557
  register_ai_models: {
5408
5558
  Args: {
5409
5559
  p_models: Json;