boten-gemma 0.1.0 → 0.1.2

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
@@ -4,6 +4,7 @@ A confirmation-first personal AI assistant. Gemma is a single-process Node.js ga
4
4
 
5
5
  ## Table of Contents
6
6
 
7
+ - [Installation](#installation)
7
8
  - [Quick Start](#quick-start)
8
9
  - [Architecture](#architecture)
9
10
  - [Configuration](#configuration)
@@ -17,45 +18,76 @@ A confirmation-first personal AI assistant. Gemma is a single-process Node.js ga
17
18
  - [Automation](#automation)
18
19
  - [Web UI](#web-ui)
19
20
  - [WebSocket Protocol](#websocket-protocol)
21
+ - [CLI Reference](#cli-reference)
20
22
  - [Deployment](#deployment)
23
+ - [Updating](#updating)
21
24
  - [Project Structure](#project-structure)
22
25
 
23
26
  ---
24
27
 
25
- ## Quick Start
26
-
27
- ```bash
28
- # Install dependencies
29
- npm install
28
+ ## Installation
30
29
 
31
- # Interactive first-run setup (auth, channels, directories)
32
- npx gemma setup
30
+ ### From npm (recommended)
33
31
 
34
- # Or configure manually and start
35
- npx gemma start
36
-
37
- # Development
38
- npm run dev # Server with tsx (auto-restart)
39
- npm run dev:ui # Vite dev server on :5173 with HMR
40
- npm run build # Full production build (server + UI)
32
+ ```bash
33
+ npm install -g boten-gemma
41
34
  ```
42
35
 
36
+ This installs the `gemma` command globally. Run `gemma` to start the interactive setup wizard.
37
+
43
38
  ### Prerequisites
44
39
 
45
40
  - **Node.js 22+** (uses built-in `.env` loading, ES2023 features)
46
- - A Gemini API key or Google OAuth credentials
41
+ - A Google account (for OAuth) or a Gemini API key
47
42
  - Optional: Brave Search API key for web search
48
43
 
44
+ ### From source
45
+
46
+ ```bash
47
+ git clone https://github.com/challehallberg/gemma.git
48
+ cd gemma
49
+ npm install
50
+ npm run build
51
+ npm run dev
52
+ ```
53
+
54
+ ---
55
+
56
+ ## Quick Start
57
+
58
+ ```bash
59
+ # Install globally
60
+ npm install -g boten-gemma
61
+
62
+ # Interactive first-run setup (auth, channels, workspace)
63
+ gemma
64
+
65
+ # Or start directly with an API key
66
+ GEMINI_API_KEY=your-key gemma start
67
+
68
+ # Check everything is working
69
+ gemma doctor
70
+ ```
71
+
49
72
  ### First Run
50
73
 
51
74
  On first launch, Gemma runs an interactive setup wizard:
52
75
 
53
76
  1. **Auth** -- Choose OAuth (browser flow), API key, or skip
54
77
  2. **Channels** -- Enable Telegram (with bot token), Web UI (with optional password)
55
- 3. **Setup** -- Creates `~/.gemma/` directory structure, writes `gemma.json`, copies workspace templates
78
+ 3. **Workspace** -- Creates `~/.gemma/` directory structure, writes `gemma.json`, copies workspace templates
79
+ 4. **Background Service** -- Optionally install as a system service (launchd on macOS, systemd on Linux)
56
80
 
57
81
  After setup, Gemma starts on `http://localhost:18789`.
58
82
 
83
+ ### Development
84
+
85
+ ```bash
86
+ npm run dev # Server with tsx (auto-restart)
87
+ npm run dev:ui # Vite dev server on :5173 with HMR
88
+ npm run build # Full production build (server + UI)
89
+ ```
90
+
59
91
  ---
60
92
 
61
93
  ## Architecture
@@ -664,8 +696,55 @@ See `src/shared/ws-types.ts` for the complete type definitions.
664
696
 
665
697
  ---
666
698
 
699
+ ## CLI Reference
700
+
701
+ ```
702
+ gemma Start the gateway (runs setup on first run)
703
+ gemma start Start the gateway
704
+ gemma setup Re-run the interactive setup wizard
705
+ gemma auth --google Run Google OAuth flow
706
+ gemma auth --api-key Set a Gemini API key
707
+ gemma auth --status Show current auth mode and email
708
+ gemma auth --logout Revoke tokens and log out
709
+ gemma daemon install Install as background service (launchd/systemd)
710
+ gemma daemon uninstall Remove background service
711
+ gemma daemon start Start the background service
712
+ gemma daemon stop Stop the background service
713
+ gemma daemon restart Restart the background service
714
+ gemma daemon status Show service status
715
+ gemma update Update to latest version
716
+ gemma update --check Check for updates without installing
717
+ gemma doctor Run diagnostics (Node, auth, config, daemon, port)
718
+ gemma version Show installed version
719
+ gemma --help Show help
720
+ ```
721
+
722
+ ### Background Service
723
+
724
+ Gemma can run as a system service that starts automatically on login:
725
+
726
+ ```bash
727
+ # macOS (launchd)
728
+ gemma daemon install # Creates ~/Library/LaunchAgents/ai.gemma.gateway.plist
729
+
730
+ # Linux (systemd)
731
+ gemma daemon install # Creates ~/.config/systemd/user/gemma-gateway.service
732
+ ```
733
+
734
+ The daemon auto-detects your platform. Use `gemma daemon status` to verify it's running.
735
+
736
+ ---
737
+
667
738
  ## Deployment
668
739
 
740
+ ### npm (global install)
741
+
742
+ ```bash
743
+ npm install -g boten-gemma
744
+ gemma setup
745
+ gemma daemon install # Optional: run as background service
746
+ ```
747
+
669
748
  ### Docker
670
749
 
671
750
  ```bash
@@ -683,7 +762,6 @@ docker run -d \
683
762
 
684
763
  The Docker image:
685
764
  - Two-stage build (Node 22 -> Node 22 Alpine)
686
- - Installs Gemini CLI globally for OAuth credential extraction
687
765
  - Runs as non-root `node` user
688
766
  - Exposes port 18789
689
767
  - Persists all state in `/home/node/.gemma` volume
@@ -703,12 +781,31 @@ This sets up Gemma behind Caddy for automatic HTTPS. Edit the `Caddyfile` for yo
703
781
  ### VPS / Bare Metal
704
782
 
705
783
  ```bash
706
- npm install
707
- npm run build
708
- npx gemma start
784
+ npm install -g boten-gemma
785
+ gemma setup
786
+ gemma daemon install
709
787
  ```
710
788
 
711
- Use a process manager (systemd, PM2) for production. Set `GEMMA_BIND=0.0.0.0` to listen on all interfaces. Use a reverse proxy (nginx, Caddy) for TLS.
789
+ The daemon command installs a systemd user service with auto-restart. For headless servers, the OAuth flow prints a URL you can open on any device. Set `GEMMA_BIND=0.0.0.0` to listen on all interfaces. Use a reverse proxy (nginx, Caddy) for TLS.
790
+
791
+ ---
792
+
793
+ ## Updating
794
+
795
+ ```bash
796
+ # Check if an update is available
797
+ gemma update --check
798
+
799
+ # Update to the latest version
800
+ gemma update
801
+
802
+ # Restart the running service
803
+ gemma daemon restart
804
+ ```
805
+
806
+ Updates are published to npm. If you installed via `npm install -g boten-gemma`, the `gemma update` command handles the upgrade automatically.
807
+
808
+ For Docker deployments, rebuild the image or update the base image tag.
712
809
 
713
810
  ---
714
811
 
@@ -784,6 +881,12 @@ gemma/
784
881
  daily-log.ts # Daily log file management
785
882
  shared/
786
883
  ws-types.ts # WebSocket protocol types (38 message types)
884
+ daemon/
885
+ types.ts # ServiceConfig, ServiceStatus interfaces
886
+ service.ts # Platform-agnostic service orchestrator
887
+ launchd.ts # macOS launchd plist management
888
+ systemd.ts # Linux systemd user service management
889
+ update.ts # Self-update and version checking
787
890
  ui/ # React SPA (separate build via Vite)
788
891
  main.tsx # React entry
789
892
  App.tsx # Root component
@@ -814,6 +917,9 @@ gemma/
814
917
  *.md # Workspace templates (SOUL, INSTRUCTIONS, IDENTITY, etc.)
815
918
  docker/
816
919
  Dockerfile # Two-stage production build
920
+ .github/
921
+ workflows/
922
+ publish.yml # Auto-publish to npm on GitHub release
817
923
  ```
818
924
 
819
925
  ### NPM Scripts
@@ -857,4 +963,4 @@ These files are loaded into the system prompt on every LLM call. Edit them to cu
857
963
 
858
964
  ## License
859
965
 
860
- [Add license here]
966
+ MIT
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,WAuEtB,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,UAAU,QAA0C,CAAC;AAElE,+BAA+B;AAC/B,eAAO,MAAM,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,WAuEtB,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,UAAU,QAA0C,CAAC;AAElE,+BAA+B;AAC/B,eAAO,MAAM,eAAe,eAAe,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { resolveBindAddress } from './schema.js';
1
2
  /**
2
3
  * Default configuration values for Gemma.
3
4
  * These are applied when fields are missing from gemma.json.
@@ -9,7 +10,7 @@ export const DEFAULTS = {
9
10
  },
10
11
  gateway: {
11
12
  port: 18789,
12
- bind: '127.0.0.1',
13
+ bind: resolveBindAddress('auto'),
13
14
  },
14
15
  channels: {
15
16
  telegram: {
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACnC,KAAK,EAAE;QACL,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,kBAAkB;KAC1B;IACD,OAAO,EAAE;QACP,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,WAAW;KAClB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,EAAE;SACd;QACD,GAAG,EAAE;YACH,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,OAAO,EAAE,KAAK;SACf;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,GAAG;QACZ,WAAW,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,KAAK;SACpB;KACF;IACD,SAAS,EAAE;QACT,IAAI,EAAE,oBAAoB;KAC3B;IACD,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,WAAW;SACnB;QACD,SAAS,EAAE;YACT,QAAQ,EAAE,OAAO;SAClB;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,EAAE;KACZ;IACD,KAAK,EAAE;QACL,aAAa,EAAE,EAAE;QACjB,mBAAmB,EAAE,OAAO;QAC5B,eAAe,EAAE,OAAO;QACxB,kBAAkB,EAAE,MAAM;KAC3B;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,iBAAiB;QACtB,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,MAAM;KACvB;IACD,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,EAAE;QACnB,MAAM,EACJ,qGAAqG;KACxG;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,yBAAyB;KACjC;IACD,GAAG,EAAE;QACH,OAAO,EAAE,EAAE;KACZ;CACF,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC;AAElE,+BAA+B;AAC/B,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAgB;IACnC,KAAK,EAAE;QACL,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,kBAAkB;KAC1B;IACD,OAAO,EAAE;QACP,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;KACjC;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,EAAE;SACd;QACD,GAAG,EAAE;YACH,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,OAAO,EAAE,KAAK;SACf;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,GAAG;QACZ,WAAW,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,KAAK;SACpB;KACF;IACD,SAAS,EAAE;QACT,IAAI,EAAE,oBAAoB;KAC3B;IACD,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,WAAW;SACnB;QACD,SAAS,EAAE;YACT,QAAQ,EAAE,OAAO;SAClB;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,EAAE;KACZ;IACD,KAAK,EAAE;QACL,aAAa,EAAE,EAAE;QACjB,mBAAmB,EAAE,OAAO;QAC5B,eAAe,EAAE,OAAO;QACxB,kBAAkB,EAAE,MAAM;KAC3B;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,iBAAiB;QACtB,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,MAAM;KACvB;IACD,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,EAAE;QACnB,MAAM,EACJ,qGAAqG;KACxG;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,yBAAyB;KACjC;IACD,GAAG,EAAE;QACH,OAAO,EAAE,EAAE;KACZ;CACF,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC;AAElE,+BAA+B;AAC/B,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC"}
@@ -1,4 +1,15 @@
1
1
  import { z } from 'zod';
2
+ export type GatewayBindMode = 'auto' | 'loopback' | 'lan';
3
+ /**
4
+ * Resolve the gateway bind address from a named mode.
5
+ *
6
+ * - `loopback` → 127.0.0.1 (local dev, VPS with SSH tunnel)
7
+ * - `lan` → 0.0.0.0 (Docker, exposed to network)
8
+ * - `auto` → Detects Docker → lan, otherwise loopback
9
+ *
10
+ * Inspired by OpenClaw's GatewayBindMode system.
11
+ */
12
+ export declare function resolveBindAddress(mode: GatewayBindMode): string;
2
13
  export declare const OAuthConfigSchema: z.ZodObject<{
3
14
  clientId: z.ZodOptional<z.ZodString>;
4
15
  clientSecret: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;iBAQ5B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;iBAKtC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;iBAEjC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;iBAEjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;iBAEhC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;iBAGpC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;iBAO7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;iBAMhC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;iBAE1B,CAAC;AAIH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa5B,CAAC;AAIH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,40 @@
1
+ import { existsSync } from 'node:fs';
1
2
  import { z } from 'zod';
3
+ /**
4
+ * Resolve the gateway bind address from a named mode.
5
+ *
6
+ * - `loopback` → 127.0.0.1 (local dev, VPS with SSH tunnel)
7
+ * - `lan` → 0.0.0.0 (Docker, exposed to network)
8
+ * - `auto` → Detects Docker → lan, otherwise loopback
9
+ *
10
+ * Inspired by OpenClaw's GatewayBindMode system.
11
+ */
12
+ export function resolveBindAddress(mode) {
13
+ if (mode === 'loopback')
14
+ return '127.0.0.1';
15
+ if (mode === 'lan')
16
+ return '0.0.0.0';
17
+ // auto: detect Docker, otherwise loopback
18
+ if (isInsideDocker())
19
+ return '0.0.0.0';
20
+ return '127.0.0.1';
21
+ }
22
+ function isInsideDocker() {
23
+ // /.dockerenv exists in all Docker containers
24
+ if (existsSync('/.dockerenv'))
25
+ return true;
26
+ // Kubernetes / container runtimes often set this
27
+ if (process.env['KUBERNETES_SERVICE_HOST'])
28
+ return true;
29
+ return false;
30
+ }
31
+ /** Resolve the default bind address: GEMMA_BIND env > auto-detect */
32
+ function defaultBindAddress() {
33
+ const env = process.env['GEMMA_BIND']?.trim();
34
+ if (env)
35
+ return env;
36
+ return resolveBindAddress('auto');
37
+ }
2
38
  // --- Sub-schemas ---
3
39
  export const OAuthConfigSchema = z.object({
4
40
  clientId: z.string().optional(),
@@ -22,7 +58,7 @@ export const GatewayAuthConfigSchema = z.object({
22
58
  });
23
59
  export const GatewayConfigSchema = z.object({
24
60
  port: z.number().int().min(1).max(65535).default(process.env['GEMMA_PORT'] ? parseInt(process.env['GEMMA_PORT'], 10) : 18789),
25
- bind: z.string().default(process.env['GEMMA_BIND'] || '127.0.0.1'),
61
+ bind: z.string().default(defaultBindAddress()),
26
62
  auth: GatewayAuthConfigSchema.optional(),
27
63
  });
28
64
  export const TelegramChannelConfigSchema = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sBAAsB;AAEtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACnC,YAAY,EAAE,wBAAwB,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAC5E;IACD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC;IAClE,IAAI,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAChF,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtD,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;CACxD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC7C,WAAW,EAAE,uBAAuB,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;CAC3F,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACvE,SAAS,EAAE,yBAAyB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC;CAC7E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CACxB,qGAAqG,CACtG;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAChE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACjE,CAAC,CAAC;AAEH,6BAA6B;AAE7B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzE,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzE,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/E,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnE,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtE,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/E,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChE,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;CAC9D,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0CtD;;;;GAIG;AACH,qBAAa,OAAO;IAkBN,OAAO,CAAC,MAAM;IAjB1B,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAER,MAAM,EAAE,WAAW;IAKvC,oEAAoE;IACpE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgBpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgHtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C3B;;OAEG;YACW,UAAU;IAwCxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;OAGG;YACW,aAAa;IAyO3B;;;OAGG;YACW,aAAa;IAqE3B;;;OAGG;YACW,YAAY;IAgM1B;;;OAGG;YACW,UAAU;IAiBxB;;;OAGG;YACW,gBAAgB;IAqI9B;;;OAGG;YACW,YAAY;IA2C1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;;;OAIG;YACW,mBAAmB;IAejC;;OAEG;YACW,cAAc;IAe5B;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;YACW,kBAAkB;IA2ChC;;OAEG;YACW,iBAAiB;CA4BhC"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0CtD;;;;GAIG;AACH,qBAAa,OAAO;IAkBN,OAAO,CAAC,MAAM;IAjB1B,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAS;gBAER,MAAM,EAAE,WAAW;IAKvC,oEAAoE;IACpE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgBpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+GtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C3B;;OAEG;YACW,UAAU;IAwCxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;OAGG;YACW,aAAa;IAyO3B;;;OAGG;YACW,aAAa;IAqE3B;;;OAGG;YACW,YAAY;IAgM1B;;;OAGG;YACW,UAAU;IAiBxB;;;OAGG;YACW,gBAAgB;IAqI9B;;;OAGG;YACW,YAAY;IA2C1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;;;OAIG;YACW,mBAAmB;IAejC;;OAEG;YACW,cAAc;IAe5B;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;YACW,kBAAkB;IA2ChC;;OAEG;YACW,iBAAiB;CA4BhC"}
package/dist/gateway.js CHANGED
@@ -79,9 +79,7 @@ export class Gateway {
79
79
  if (this.running)
80
80
  return;
81
81
  this.running = true;
82
- // Environment variable overrides (useful for Docker/VPS)
83
- if (process.env['GEMMA_BIND'])
84
- this.config.gateway.bind = process.env['GEMMA_BIND'];
82
+ // Environment variable override for port (bind is handled by schema auto-detection)
85
83
  if (process.env['GEMMA_PORT'])
86
84
  this.config.gateway.port = parseInt(process.env['GEMMA_PORT'], 10);
87
85
  const { gateway } = this.config;
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/llm/auth/oauth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwDlE;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,iBAAiB,GAAG,IAAI,CAQtE;AAsED,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CA6BrF;AA+FD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IACzD,sBAAsB;IACtB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CASnF"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/llm/auth/oauth.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwDlE;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,iBAAiB,GAAG,IAAI,CAQtE;AA0FD,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CA6BrF;AA+FD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IACzD,sBAAsB;IACtB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CASnF"}
@@ -1,10 +1,11 @@
1
1
  // src/llm/auth/oauth.ts — Full Google OAuth2 authorization code flow
2
2
  import { existsSync, readFileSync, readdirSync, realpathSync } from 'node:fs';
3
+ import { createRequire } from 'node:module';
3
4
  import { delimiter, dirname, join } from 'node:path';
4
5
  import { startCallbackServer, extractCodeFromUrl, OAUTH_CALLBACK_PORT } from './oauth-callback.js';
5
6
  // OAuth client resolution order:
6
7
  // 1. Environment variables (GEMMA_OAUTH_CLIENT_ID / GEMMA_OAUTH_CLIENT_SECRET)
7
- // 2. Extract from installed Gemini CLI binary
8
+ // 2. Extract from @google/gemini-cli-core (own dependency → local node_modules → global CLI)
8
9
  // 3. Config file (gemma.json model.oauth.clientId / clientSecret)
9
10
  // 4. Fail with helpful error message
10
11
  const SCOPES = [
@@ -66,12 +67,32 @@ function findFile(dir, name, depth) {
66
67
  export function extractGeminiCliCredentials() {
67
68
  if (cachedGeminiCliCredentials)
68
69
  return cachedGeminiCliCredentials;
69
- const result = extractFromLocalNodeModules() ?? extractFromGlobalCli();
70
+ const result = extractFromOwnDependency() ?? extractFromLocalNodeModules() ?? extractFromGlobalCli();
70
71
  if (result) {
71
72
  cachedGeminiCliCredentials = result;
72
73
  }
73
74
  return result;
74
75
  }
76
+ /**
77
+ * Resolve @google/gemini-cli-core from Gemma's own dependency tree.
78
+ * Works for global npm installs, Docker, and any scenario where
79
+ * gemini-cli-core is a direct dependency of boten-gemma.
80
+ */
81
+ function extractFromOwnDependency() {
82
+ try {
83
+ const require = createRequire(import.meta.url);
84
+ const corePkg = require.resolve('@google/gemini-cli-core/package.json');
85
+ const coreDir = dirname(corePkg);
86
+ const oauth2Path = join(coreDir, 'dist', 'src', 'code_assist', 'oauth2.js');
87
+ if (existsSync(oauth2Path)) {
88
+ return parseOAuth2File(readFileSync(oauth2Path, 'utf8'));
89
+ }
90
+ }
91
+ catch {
92
+ // @google/gemini-cli-core not in our dependency tree
93
+ }
94
+ return null;
95
+ }
75
96
  /**
76
97
  * Try reading oauth2.js from the project's local node_modules.
77
98
  * Works on VPS deployments where @google/gemini-cli-core is a project dependency.
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/llm/auth/oauth.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAInG,iCAAiC;AACjC,+EAA+E;AAC/E,8CAA8C;AAC9C,kEAAkE;AAClE,qCAAqC;AAErC,MAAM,MAAM,GAAG;IACb,gDAAgD;IAChD,gDAAgD;IAChD,kDAAkD;CACnD,CAAC;AACF,MAAM,aAAa,GAAG,8CAA8C,CAAC;AACrE,MAAM,cAAc,GAAG,qCAAqC,CAAC;AAE7D,2EAA2E;AAE3E,IAAI,0BAA0B,GAA6B,IAAI,CAAC;AAEhE;;GAEG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChF,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;YAChC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY,EAAE,KAAa;IACxD,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC3C,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B;IACzC,IAAI,0BAA0B;QAAE,OAAO,0BAA0B,CAAC;IAElE,MAAM,MAAM,GAAG,2BAA2B,EAAE,IAAI,oBAAoB,EAAE,CAAC;IACvE,IAAI,MAAM,EAAE,CAAC;QACX,0BAA0B,GAAG,MAAM,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B;IAClC,IAAI,CAAC;QACH,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,CACpB,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAC3D,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,CAC1C,CAAC;QACF,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,eAAe,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB;IAC3B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAE7B,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG;YAClB,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC;YAC3G,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC;SACrG,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBACxD,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gDAAgD;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7D,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;QAC3B,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAE3E,MAAM,UAAU,cAAc,CAAC,MAAmC;IAChE,2CAA2C;IAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC;IAC9D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,EAAE,CAAC;IACtE,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;IAClE,CAAC;IAED,uCAAuC;IACvC,MAAM,SAAS,GAAG,2BAA2B,EAAE,CAAC;IAChD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0CAA0C;IAC1C,IAAI,MAAM,EAAE,QAAQ,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;QAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;IAC1E,CAAC;IAED,8BAA8B;IAC9B,MAAM,IAAI,KAAK,CACb,uCAAuC;QACvC,wDAAwD;QACxD,uBAAuB;QACvB,yCAAyC;QACzC,gCAAgC;QAChC,sEAAsE;QACtE,2EAA2E,CAC5E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,QAAgB,EAAE,WAAmB,EAAE,KAAc;IACzE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QACvB,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,aAAa,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,IAAY,EACZ,WAAmB,EACnB,MAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE;QAC3C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;QAChE,IAAI,EAAE,IAAI,eAAe,CAAC;YACxB,IAAI;YACJ,SAAS,EAAE,MAAM,CAAC,QAAQ;YAC1B,aAAa,EAAE,MAAM,CAAC,YAAY;YAClC,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,oBAAoB;SACjC,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAOlC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,iFAAiF;YACjF,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,CACjE,CAAC;YACF,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI;QAChD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK;QACL,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACjB,oDAAoD;IACpD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IACtG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,KAAK,CAAC;AACf,CAAC;AAaD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAyB;IAC1D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,IAAI,UAAU,EAAE,CAAC;IAEvD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAyB;IACrD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEpE,MAAM,WAAW,GAAG,oBAAoB,mBAAmB,WAAW,CAAC;IACvE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE3D,+BAA+B;IAC/B,IAAI,QAA4D,CAAC;IACjE,IAAI,CAAC;QACH,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,mDAAmD,CAAC,CAAC;IAC3D,CAAC;IAED,eAAe;IACf,GAAG,CAAC,6CAA6C,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACzD,GAAG,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,IAAY,CAAC;IAEjB,IAAI,QAAQ,EAAE,CAAC;QACb,wCAAwC;QACxC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QAC7D,GAAG,CAAC,wDAAwD,CAAC,CAAC;QAE9D,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,QAAQ;YAC3B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,oDAAoD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACjF,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvC,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;YAC1C,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,OAAO,CAAS,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,gCAAgC;QAEnE,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;QAC7D,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yCAAyC;QACzC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QACpE,IAAI,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,GAAG,CAAC,wBAAwB,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAyB;IACtD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEpE,MAAM,WAAW,GAAG,oBAAoB,mBAAmB,WAAW,CAAC;IACvE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE3D,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAC3D,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IACpB,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAC9D,GAAG,CAAC,mBAAmB,WAAW,WAAW,CAAC,CAAC;IAC/C,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACzD,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,sDAAsD,CAAC,CAAC;IAC5D,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,CAAC;IAER,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACpE,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,GAAG,CAAC,wBAAwB,MAAM,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/llm/auth/oauth.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boten-gemma",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "A confirmation-first personal AI assistant",
5
5
  "type": "module",
6
6
  "license": "MIT",