pyric 0.1.0-alpha.18 → 0.1.0-alpha.20

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.
Files changed (130) hide show
  1. package/README.md +14 -9
  2. package/dist/ai/broker/broker.d.ts +1 -0
  3. package/dist/ai/broker/broker.d.ts.map +1 -1
  4. package/dist/ai/broker/broker.js +67 -21
  5. package/dist/ai/broker/broker.js.map +1 -1
  6. package/dist/ai/broker/gemini-engine.d.ts +43 -0
  7. package/dist/ai/broker/gemini-engine.d.ts.map +1 -0
  8. package/dist/ai/broker/gemini-engine.js +214 -0
  9. package/dist/ai/broker/gemini-engine.js.map +1 -0
  10. package/dist/ai/broker/index.d.ts +1 -0
  11. package/dist/ai/broker/index.d.ts.map +1 -1
  12. package/dist/ai/broker/index.js +1 -0
  13. package/dist/ai/broker/index.js.map +1 -1
  14. package/dist/ai/broker/types.d.ts +5 -0
  15. package/dist/ai/broker/types.d.ts.map +1 -1
  16. package/dist/ai/instances.js +1 -1
  17. package/dist/ai/instances.js.map +1 -1
  18. package/dist/auth/instances.js +1 -1
  19. package/dist/auth/instances.js.map +1 -1
  20. package/dist/database/instances.js +1 -1
  21. package/dist/database/instances.js.map +1 -1
  22. package/dist/database/sandbox/backend.d.ts +1 -0
  23. package/dist/database/sandbox/backend.d.ts.map +1 -1
  24. package/dist/database/sandbox/backend.js +1 -0
  25. package/dist/database/sandbox/backend.js.map +1 -1
  26. package/dist/database/sandbox/rules-eval.d.ts +5 -1
  27. package/dist/database/sandbox/rules-eval.d.ts.map +1 -1
  28. package/dist/database/sandbox/rules-eval.js +14 -1
  29. package/dist/database/sandbox/rules-eval.js.map +1 -1
  30. package/dist/database/sandbox/write-plane.d.ts +1 -0
  31. package/dist/database/sandbox/write-plane.d.ts.map +1 -1
  32. package/dist/database/sandbox/write-plane.js +5 -0
  33. package/dist/database/sandbox/write-plane.js.map +1 -1
  34. package/dist/database/sandbox-namespace.d.ts +19 -1
  35. package/dist/database/sandbox-namespace.d.ts.map +1 -1
  36. package/dist/database/sandbox-namespace.js +24 -1
  37. package/dist/database/sandbox-namespace.js.map +1 -1
  38. package/dist/firestore/instances.js +1 -1
  39. package/dist/firestore/instances.js.map +1 -1
  40. package/dist/firestore/sandbox-controls.d.ts +2 -0
  41. package/dist/firestore/sandbox-controls.d.ts.map +1 -1
  42. package/dist/firestore/sandbox-controls.js +8 -0
  43. package/dist/firestore/sandbox-controls.js.map +1 -1
  44. package/dist/messaging/client.d.ts +2 -1
  45. package/dist/messaging/client.d.ts.map +1 -1
  46. package/dist/messaging/client.js +2 -2
  47. package/dist/messaging/client.js.map +1 -1
  48. package/dist/messaging/instance.d.ts +2 -2
  49. package/dist/messaging/instance.d.ts.map +1 -1
  50. package/dist/messaging/instance.js +40 -6
  51. package/dist/messaging/instance.js.map +1 -1
  52. package/dist/messaging/sw.d.ts +2 -1
  53. package/dist/messaging/sw.d.ts.map +1 -1
  54. package/dist/messaging/sw.js +2 -2
  55. package/dist/messaging/sw.js.map +1 -1
  56. package/dist/rules/internal/index.d.ts +2 -2
  57. package/dist/rules/internal/index.d.ts.map +1 -1
  58. package/dist/rules/internal/index.js +4 -5
  59. package/dist/rules/internal/index.js.map +1 -1
  60. package/dist/rules/internal/node.d.ts +1 -1
  61. package/dist/rules/internal/node.d.ts.map +1 -1
  62. package/dist/rules/internal/node.js +3 -4
  63. package/dist/rules/internal/node.js.map +1 -1
  64. package/dist/rules/modules/resolver-core.d.ts.map +1 -1
  65. package/dist/rules/modules/resolver-core.js +6 -4
  66. package/dist/rules/modules/resolver-core.js.map +1 -1
  67. package/dist/rules/rtdb/constraints/write-rules-file.d.ts +1 -1
  68. package/dist/rules/rtdb/constraints/write-rules-file.js +1 -1
  69. package/dist/rules/rtdb/grammar/RtdbExpr.ohm +5 -2
  70. package/dist/rules/rtdb/grammar/RtdbExpr.ohm.generated.d.ts +1 -1
  71. package/dist/rules/rtdb/grammar/RtdbExpr.ohm.generated.d.ts.map +1 -1
  72. package/dist/rules/rtdb/grammar/RtdbExpr.ohm.generated.js +5 -2
  73. package/dist/rules/rtdb/grammar/RtdbExpr.ohm.generated.js.map +1 -1
  74. package/dist/rules/rtdb/grammar/simulator.d.ts.map +1 -1
  75. package/dist/rules/rtdb/grammar/simulator.js +48 -2
  76. package/dist/rules/rtdb/grammar/simulator.js.map +1 -1
  77. package/dist/rules/simulator-tools-impl.d.ts +1 -1
  78. package/dist/rules/simulator-tools-impl.js +2 -2
  79. package/dist/rules/simulator-tools-impl.js.map +1 -1
  80. package/dist/rules/simulator.d.ts +1 -1
  81. package/dist/rules/simulator.js +1 -1
  82. package/dist/rules/stdlib-modules.d.ts +8 -3
  83. package/dist/rules/stdlib-modules.d.ts.map +1 -1
  84. package/dist/rules/stdlib-modules.js +124 -7
  85. package/dist/rules/stdlib-modules.js.map +1 -1
  86. package/dist/rules/stdlib-tools.d.ts +1 -1
  87. package/dist/rules/stdlib-tools.d.ts.map +1 -1
  88. package/dist/rules/stdlib-tools.js +161 -11
  89. package/dist/rules/stdlib-tools.js.map +1 -1
  90. package/dist/rules/tools.d.ts.map +1 -1
  91. package/dist/rules/tools.js +3 -2
  92. package/dist/rules/tools.js.map +1 -1
  93. package/dist/storage/persistence.d.ts.map +1 -1
  94. package/dist/storage/persistence.js +66 -14
  95. package/dist/storage/persistence.js.map +1 -1
  96. package/dist/storage/service.d.ts.map +1 -1
  97. package/dist/storage/service.js +1 -0
  98. package/dist/storage/service.js.map +1 -1
  99. package/package.json +2 -2
  100. package/src/ai/broker/broker.ts +65 -22
  101. package/src/ai/broker/gemini-engine.ts +284 -0
  102. package/src/ai/broker/index.ts +1 -0
  103. package/src/ai/broker/types.ts +2 -1
  104. package/src/ai/instances.ts +1 -1
  105. package/src/auth/instances.ts +1 -1
  106. package/src/database/instances.ts +1 -1
  107. package/src/database/sandbox/backend.ts +1 -0
  108. package/src/database/sandbox/rules-eval.ts +17 -1
  109. package/src/database/sandbox/write-plane.ts +6 -0
  110. package/src/database/sandbox-namespace.ts +28 -1
  111. package/src/firestore/instances.ts +1 -1
  112. package/src/firestore/sandbox-controls.ts +10 -0
  113. package/src/messaging/client.ts +3 -2
  114. package/src/messaging/instance.ts +44 -7
  115. package/src/messaging/sw.ts +3 -2
  116. package/src/rules/internal/index.ts +7 -6
  117. package/src/rules/internal/node.ts +3 -4
  118. package/src/rules/modules/resolver-core.ts +5 -5
  119. package/src/rules/rtdb/constraints/write-rules-file.ts +1 -1
  120. package/src/rules/rtdb/grammar/RtdbExpr.ohm +5 -2
  121. package/src/rules/rtdb/grammar/RtdbExpr.ohm.generated.ts +5 -2
  122. package/src/rules/rtdb/grammar/simulator.ts +29 -2
  123. package/src/rules/simulator-tools-impl.ts +2 -2
  124. package/src/rules/simulator.ts +1 -1
  125. package/src/rules/stdlib-modules.ts +189 -35
  126. package/src/rules/stdlib-tools.ts +181 -12
  127. package/src/rules/tools.ts +4 -3
  128. package/src/storage/persistence.ts +74 -16
  129. package/src/storage/service.ts +1 -0
  130. package/README.md.orig +0 -53
package/README.md CHANGED
@@ -26,17 +26,22 @@ Antigravity CLI and OpenCode use the standalone skill installer:
26
26
 
27
27
  ```bash
28
28
  # Antigravity CLI
29
- npx skills add https://github.com/davideast/pyric/tree/main/pyric-plugin/skills/pyric-start --agent antigravity-cli
29
+ npx skills add https://github.com/davideast/pyric/tree/main/pyric-plugin/skills/pyric --agent antigravity-cli
30
30
 
31
31
  # OpenCode
32
- npx skills add https://github.com/davideast/pyric/tree/main/pyric-plugin/skills/pyric-start --agent opencode
32
+ npx skills add https://github.com/davideast/pyric/tree/main/pyric-plugin/skills/pyric --agent opencode
33
33
  ```
34
34
 
35
- Then ask your agent:
35
+ Then invoke the skill:
36
36
 
37
- ```text
38
- Use the pyric-start skill to set up and run Pyric in this project.
39
- ```
37
+ | Agent | Enter |
38
+ |---|---|
39
+ | Codex | `$pyric` |
40
+ | Claude Code | `/pyric:pyric` |
41
+ | Antigravity CLI | `/pyric` |
42
+ | OpenCode | `/pyric` |
43
+
44
+ The leading `$` or `/` is part of the command.
40
45
 
41
46
  The skill chooses the project launcher, starts one local sandbox bridge, opens the application, and confirms that the browser sandbox is connected.
42
47
 
@@ -79,9 +84,9 @@ npm run dev
79
84
 
80
85
  During `vite dev`, the plugin swaps supported `firebase/*` modules at resolution time. The backend runs in a SharedWorker, so tabs on the same development origin use one local backend. Browser-local persistence uses IndexedDB.
81
86
 
82
- Pyric Studio is available on the Vite origin at `/__pyric/ui/`. It opens the same backend used by the application.
87
+ Pyric Studio is available on the Vite origin at `/__pyric/ui/studio`. It opens the same backend used by the application.
83
88
 
84
- For a static application or a Node process, `pyric dev` provides the same development-only package swap without the Vite plugin. The [CLI reference](packages/cli/docs/reference/cli.md) documents those paths and every command.
89
+ For a static application or a Node process, `pyric sandbox` provides the same development-only package swap without the Vite plugin. The [CLI reference](packages/site-docs/src/content/reference/cli.md) documents those paths and every command.
85
90
 
86
91
  ## Keep using official Firebase SDKs
87
92
 
@@ -109,7 +114,7 @@ Pyric documents the parts that differ locally, including supported behavior, Sec
109
114
 
110
115
  ## Monitor the local environment in Pyric Studio
111
116
 
112
- Pyric Studio shows local data, requests, authentication state, Security Rules verdicts, and denied operations. Open `/__pyric/ui/` on the development server and reproduce the failure. A denied request includes the path and verdict needed to correct the rule or the application code.
117
+ Pyric Studio shows local data, requests, authentication state, Security Rules verdicts, and denied operations. Open `/__pyric/ui/studio` on the development server and reproduce the failure. A denied request includes the path and verdict needed to correct the rule or the application code.
113
118
 
114
119
  <img width="1512" height="947" alt="image" src="https://github.com/user-attachments/assets/cb4a219c-c5f0-4fb7-8904-996416c0a79c" />
115
120
 
@@ -43,6 +43,7 @@ export declare class AiBroker {
43
43
  private describeEngine;
44
44
  /** Additive detail fields every emitted event carries so Studio can show the engine. */
45
45
  private engineDetail;
46
+ private emitRejectionIfBrokerError;
46
47
  generateContent(req: GenerateContentRequest, model: string): Promise<WireResponse>;
47
48
  /**
48
49
  * Chunk objects with the captured framing SEMANTICS (finishReason last
@@ -1 +1 @@
1
- {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/ai/broker/broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAM7C,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EACtB,WAAW,EACX,SAAS,EACT,YAAY,EACb,MAAM,YAAY,CAAC;AAuBpB,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACrC,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,qBAAa,QAAQ;IACnB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;gBAEvC,OAAO,GAAE,eAAoB;IAkBzC,0EAA0E;IAC1E,OAAO,CAAC,cAAc;IAUtB,wFAAwF;IACxF,OAAO,CAAC,YAAY;IASd,eAAe,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAYxF;;;;;OAKG;IACH,qBAAqB,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC;IAkBrF,WAAW,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IASvF,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,gBAAgB;IAaxB,8EAA8E;IAC9E,OAAO,CAAC,MAAM;IAWd;;;;OAIG;IACH,OAAO,CAAC,IAAI;CAkBb;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAYrE"}
1
+ {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/ai/broker/broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAO7C,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EACtB,WAAW,EACX,SAAS,EACT,YAAY,EACb,MAAM,YAAY,CAAC;AAuBpB,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACrC,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD,qBAAa,QAAQ;IACnB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;gBAEvC,OAAO,GAAE,eAAoB;IAsBzC,0EAA0E;IAC1E,OAAO,CAAC,cAAc;IAgBtB,wFAAwF;IACxF,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,0BAA0B;IAS5B,eAAe,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAiBxF;;;;;OAKG;IACH,qBAAqB,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC;IAwBrF,WAAW,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAcvF,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,gBAAgB;IAaxB,8EAA8E;IAC9E,OAAO,CAAC,MAAM;IAWd;;;;OAIG;IACH,OAAO,CAAC,IAAI;CAkBb;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAYrE"}
@@ -28,6 +28,7 @@ import { emitSandboxEvent, makeServiceMutationEvent } from 'pyric/sandbox/intern
28
28
  import { AiBrokerError, Synthesizer, badRole, emptyContents, missingThoughtSignature } from './synthesizer.js';
29
29
  import { ScriptedEngine } from './scripted-engine.js';
30
30
  import { OpenAiEngine } from './openai-engine.js';
31
+ import { GeminiEngine } from './gemini-engine.js';
31
32
  /**
32
33
  * Roles production accepts, from the captured rejection text
33
34
  * (`ai-error-bad-role`): "Please use a valid role: SYSTEM, SYSTEM_1, USER,
@@ -68,6 +69,11 @@ export class AiBroker {
68
69
  this.engine = new ScriptedEngine(engine.script ?? [], new Synthesizer());
69
70
  this.engineKind = 'scripted';
70
71
  }
72
+ else if (engine.kind === 'gemini') {
73
+ this.engine = new GeminiEngine(engine);
74
+ this.engineKind = 'gemini';
75
+ this.engineBaseUrl = engine.baseUrl;
76
+ }
71
77
  else {
72
78
  this.engine = new OpenAiEngine(engine);
73
79
  this.engineKind = 'openai';
@@ -78,33 +84,60 @@ export class AiBroker {
78
84
  }
79
85
  /** One-line construction-time summary of what this broker resolved to. */
80
86
  describeEngine() {
81
- if (this.engineKind === 'openai') {
87
+ const isOpenAiEngine = this.engineKind === 'openai';
88
+ if (isOpenAiEngine) {
82
89
  return `[pyric/ai] engine resolved: openai (model=${this.engineModel ?? 'passthrough'}, upstream=${this.engineBaseUrl})`;
83
90
  }
84
- if (this.engineKind === 'custom') {
91
+ const isGeminiEngine = this.engineKind === 'gemini';
92
+ if (isGeminiEngine) {
93
+ return `[pyric/ai] engine resolved: gemini (upstream=${this.engineBaseUrl ?? 'https://generativelanguage.googleapis.com'})`;
94
+ }
95
+ const isCustomEngine = this.engineKind === 'custom';
96
+ if (isCustomEngine) {
85
97
  return '[pyric/ai] engine resolved: custom AnswerEngine';
86
98
  }
87
99
  return '[pyric/ai] engine resolved: scripted (zero-config unless a script is queued)';
88
100
  }
89
101
  /** Additive detail fields every emitted event carries so Studio can show the engine. */
90
102
  engineDetail() {
91
- return {
103
+ const detail = {
92
104
  engine: this.engineKind,
93
- ...(this.engineKind === 'openai'
94
- ? { model: this.engineModel, baseUrl: this.engineBaseUrl }
95
- : {}),
96
105
  };
106
+ const isOpenAiEngine = this.engineKind === 'openai';
107
+ if (isOpenAiEngine) {
108
+ detail.model = this.engineModel;
109
+ detail.baseUrl = this.engineBaseUrl;
110
+ }
111
+ const isGeminiEngine = this.engineKind === 'gemini';
112
+ if (isGeminiEngine) {
113
+ detail.baseUrl = this.engineBaseUrl ?? 'https://generativelanguage.googleapis.com';
114
+ }
115
+ return detail;
116
+ }
117
+ emitRejectionIfBrokerError(model, err) {
118
+ const code = err instanceof AiBrokerError ? err.envelope.error.code : 500;
119
+ const status = err instanceof AiBrokerError ? err.envelope.error.status : 'INTERNAL';
120
+ const message = err instanceof AiBrokerError
121
+ ? err.envelope.error.message
122
+ : err instanceof Error ? err.message : String(err);
123
+ this.emit('request_rejected', model, { code, status, message });
97
124
  }
98
125
  async generateContent(req, model) {
99
126
  this.validate(req, model);
100
- const response = await this.engine.generateContent(req, model);
101
- this.emit('generate_content', model, {
102
- contentCount: req.contents.length,
103
- finishReason: response.candidates?.[0]?.finishReason,
104
- totalTokenCount: response.usageMetadata?.totalTokenCount,
105
- responseId: response.responseId,
106
- });
107
- return response;
127
+ try {
128
+ const response = await this.engine.generateContent(req, model);
129
+ this.emit('generate_content', model, {
130
+ contentCount: req.contents.length,
131
+ finishReason: response.candidates?.[0]?.finishReason,
132
+ totalTokenCount: response.usageMetadata?.totalTokenCount,
133
+ responseId: response.responseId,
134
+ });
135
+ return response;
136
+ }
137
+ catch (err) {
138
+ this.emitRejectionIfBrokerError(model, err);
139
+ throw err;
140
+ }
108
141
  }
109
142
  /**
110
143
  * Chunk objects with the captured framing SEMANTICS (finishReason last
@@ -119,20 +152,33 @@ export class AiBroker {
119
152
  contentCount: req.contents.length,
120
153
  chunkCount,
121
154
  });
155
+ const emitRejection = (err) => this.emitRejectionIfBrokerError(model, err);
122
156
  return (async function* wrapped() {
123
157
  let chunkCount = 0;
124
- for await (const chunk of inner) {
125
- chunkCount++;
126
- yield chunk;
158
+ try {
159
+ for await (const chunk of inner) {
160
+ chunkCount++;
161
+ yield chunk;
162
+ }
163
+ emit(chunkCount);
164
+ }
165
+ catch (err) {
166
+ emitRejection(err);
167
+ throw err;
127
168
  }
128
- emit(chunkCount);
129
169
  })();
130
170
  }
131
171
  async countTokens(req, model) {
132
172
  this.validateContents(req, model);
133
- const response = await this.engine.countTokens(req, model);
134
- this.emit('count_tokens', model, { totalTokens: response.totalTokens });
135
- return response;
173
+ try {
174
+ const response = await this.engine.countTokens(req, model);
175
+ this.emit('count_tokens', model, { totalTokens: response.totalTokens });
176
+ return response;
177
+ }
178
+ catch (err) {
179
+ this.emitRejectionIfBrokerError(model, err);
180
+ throw err;
181
+ }
136
182
  }
137
183
  // ── Production-shaped validation ──────────────────────────────────────────
138
184
  validate(req, model) {
@@ -1 +1 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../src/ai/broker/broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../src/ai/broker/broker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The Gemini AnswerEngine: Gemini wire in, Google AI Studio / Vertex AI REST API
3
+ * out, Gemini wire back.
4
+ *
5
+ * Unlike the browser-side `@firebase/ai` SDK (which calls Vertex AI directly
6
+ * from the browser and fails with HTTP 401 for sandboxed mock auth users),
7
+ * `GeminiEngine` runs on Pyric's backend server, authenticating via a local
8
+ * API key (`GEMINI_API_KEY` / `GOOGLE_GENAI_API_KEY` / `VITE_GEMINI_API_KEY`)
9
+ * or Google Cloud Application Default Credentials (`gcloud auth application-default login`)
10
+ * without exposing secrets to the browser.
11
+ */
12
+ import type { AnswerEngine, CountTokensRequest, CountTokensResponse, GenerateContentRequest, WireChunk, WireResponse } from './types.js';
13
+ export interface GeminiEngineOptions {
14
+ /** Explicit API key. Absent ⇒ resolved from environment variables or ADC. */
15
+ apiKey?: string;
16
+ /** Explicit base URL override (default: https://generativelanguage.googleapis.com). */
17
+ baseUrl?: string;
18
+ /** Explicit fetch seam for testing or custom transport. */
19
+ fetch?: typeof fetch;
20
+ }
21
+ export declare class GeminiEngine implements AnswerEngine {
22
+ private readonly baseUrl;
23
+ private readonly fetchImpl;
24
+ private readonly explicitKey?;
25
+ constructor(options?: GeminiEngineOptions);
26
+ /**
27
+ * Resolves authentication credentials sequentially, checking static options,
28
+ * environment variables, and finally Google Cloud Application Default
29
+ * Credentials (`gcloud auth application-default print-access-token`).
30
+ */
31
+ private resolveAuthToken;
32
+ private normalizeModel;
33
+ /**
34
+ * Formats upstream REST endpoint URLs and request headers for either Google
35
+ * AI Studio (`generativelanguage.googleapis.com`) or Vertex AI regional APIs.
36
+ */
37
+ private formatUpstreamRequest;
38
+ private fetchUpstream;
39
+ generateContent(req: GenerateContentRequest, model: string): Promise<WireResponse>;
40
+ streamGenerateContent(req: GenerateContentRequest, model: string): AsyncIterable<WireChunk>;
41
+ countTokens(req: CountTokensRequest, model: string): Promise<CountTokensResponse>;
42
+ }
43
+ //# sourceMappingURL=gemini-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-engine.d.ts","sourceRoot":"","sources":["../../../src/ai/broker/gemini-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,EACT,YAAY,EACb,MAAM,YAAY,CAAC;AAyBpB,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,qBAAa,YAAa,YAAW,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsE;IAChG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;gBAE1B,OAAO,CAAC,EAAE,mBAAmB;IAMzC;;;;OAIG;YACW,gBAAgB;IA8C9B,OAAO,CAAC,cAAc;IAWtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;YA2Bf,aAAa;IAkCrB,eAAe,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQjF,qBAAqB,CAC1B,GAAG,EAAE,sBAAsB,EAC3B,KAAK,EAAE,MAAM,GACZ,aAAa,CAAC,SAAS,CAAC;IAyErB,WAAW,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAOxF"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * The Gemini AnswerEngine: Gemini wire in, Google AI Studio / Vertex AI REST API
3
+ * out, Gemini wire back.
4
+ *
5
+ * Unlike the browser-side `@firebase/ai` SDK (which calls Vertex AI directly
6
+ * from the browser and fails with HTTP 401 for sandboxed mock auth users),
7
+ * `GeminiEngine` runs on Pyric's backend server, authenticating via a local
8
+ * API key (`GEMINI_API_KEY` / `GOOGLE_GENAI_API_KEY` / `VITE_GEMINI_API_KEY`)
9
+ * or Google Cloud Application Default Credentials (`gcloud auth application-default login`)
10
+ * without exposing secrets to the browser.
11
+ */
12
+ import { AiBrokerError, errorEnvelope } from './synthesizer.js';
13
+ const DEFAULT_BASE_URL = 'https://generativelanguage.googleapis.com';
14
+ /**
15
+ * BROWSER-CLEAN: acquires `node:child_process` lazily via `process.getBuiltinModule`
16
+ * so no static node import exists for browser bundlers to resolve.
17
+ */
18
+ function getExecSync() {
19
+ const get = globalThis.process
20
+ ?.getBuiltinModule;
21
+ const hasGetBuiltinModule = typeof get === 'function';
22
+ if (!hasGetBuiltinModule) {
23
+ return null;
24
+ }
25
+ const cp = get.call(process, 'node:child_process');
26
+ const hasExecSync = cp !== undefined && typeof cp.execSync === 'function';
27
+ if (!hasExecSync) {
28
+ return null;
29
+ }
30
+ return cp.execSync;
31
+ }
32
+ export class GeminiEngine {
33
+ baseUrl;
34
+ fetchImpl;
35
+ explicitKey;
36
+ constructor(options) {
37
+ this.baseUrl = (options?.baseUrl ?? DEFAULT_BASE_URL).replace(/\/$/, '');
38
+ this.fetchImpl = options?.fetch ?? ((input, init) => fetch(input, init));
39
+ this.explicitKey = options?.apiKey;
40
+ }
41
+ /**
42
+ * Resolves authentication credentials sequentially, checking static options,
43
+ * environment variables, and finally Google Cloud Application Default
44
+ * Credentials (`gcloud auth application-default print-access-token`).
45
+ */
46
+ async resolveAuthToken() {
47
+ let key = this.explicitKey;
48
+ if (key === undefined) {
49
+ key = process.env.GEMINI_API_KEY;
50
+ }
51
+ if (key === undefined) {
52
+ key = process.env.GOOGLE_GENAI_API_KEY;
53
+ }
54
+ if (key === undefined) {
55
+ key = process.env.VITE_GEMINI_API_KEY;
56
+ }
57
+ if (key !== undefined) {
58
+ const trimmedKey = key.trim();
59
+ const hasStaticKey = trimmedKey !== '';
60
+ if (hasStaticKey) {
61
+ return { token: trimmedKey, isBearer: false };
62
+ }
63
+ }
64
+ try {
65
+ const execSyncFn = getExecSync();
66
+ const hasExecSyncFn = execSyncFn !== null;
67
+ if (hasExecSyncFn) {
68
+ const adcToken = execSyncFn('gcloud auth application-default print-access-token', {
69
+ encoding: 'utf8',
70
+ stdio: ['ignore', 'pipe', 'ignore'],
71
+ }).trim();
72
+ const hasAdcToken = adcToken !== '';
73
+ if (hasAdcToken) {
74
+ return { token: adcToken, isBearer: true };
75
+ }
76
+ }
77
+ }
78
+ catch {
79
+ // Best-effort attempt to recover ADC credentials when env keys are absent
80
+ }
81
+ throw new AiBrokerError(errorEnvelope(401, 'Pyric AI production passthrough mode requires GEMINI_API_KEY, GOOGLE_GENAI_API_KEY, or VITE_GEMINI_API_KEY in your server environment (or Application Default Credentials via `gcloud auth application-default login`).', 'UNAUTHENTICATED'));
82
+ }
83
+ normalizeModel(model) {
84
+ const stripped = model.replace(/^models\//, '');
85
+ const isExperimentalFlashLite = stripped === 'gemini-3.5-flash-lite' ||
86
+ stripped === 'gemini-2.5-flash' ||
87
+ stripped === 'gemini-2.5-flash-lite' ||
88
+ stripped === 'gemini-1.5-flash';
89
+ const resolved = isExperimentalFlashLite ? 'gemini-flash-lite-latest' : stripped;
90
+ return `models/${resolved}`;
91
+ }
92
+ /**
93
+ * Formats upstream REST endpoint URLs and request headers for either Google
94
+ * AI Studio (`generativelanguage.googleapis.com`) or Vertex AI regional APIs.
95
+ */
96
+ formatUpstreamRequest(resource, action, auth) {
97
+ const isVertexUrl = this.baseUrl.includes('firebasevertexai.googleapis.com') ||
98
+ this.baseUrl.includes('aiplatform.googleapis.com');
99
+ const shouldUseBearerAuth = auth.isBearer || isVertexUrl;
100
+ const headers = {
101
+ 'Content-Type': 'application/json',
102
+ };
103
+ if (shouldUseBearerAuth) {
104
+ headers['Authorization'] = `Bearer ${auth.token}`;
105
+ return {
106
+ url: `${this.baseUrl}/v1beta/${resource}:${action}`,
107
+ headers,
108
+ };
109
+ }
110
+ return {
111
+ url: `${this.baseUrl}/v1beta/${resource}:${action}?key=${encodeURIComponent(auth.token)}`,
112
+ headers,
113
+ };
114
+ }
115
+ async fetchUpstream(url, headers, body) {
116
+ let response;
117
+ try {
118
+ response = await this.fetchImpl(url, {
119
+ method: 'POST',
120
+ headers,
121
+ body: JSON.stringify(body),
122
+ });
123
+ }
124
+ catch (err) {
125
+ const message = err instanceof Error ? err.message : String(err);
126
+ throw new AiBrokerError(errorEnvelope(502, `Failed to connect to Gemini API at ${url}: ${message}`, 'UNAVAILABLE'));
127
+ }
128
+ const isSuccess = response.ok;
129
+ if (!isSuccess) {
130
+ const errorText = await response.text().catch(() => '');
131
+ throw new AiBrokerError(errorEnvelope(response.status, `Gemini API returned status ${response.status}: ${errorText}`, 'INTERNAL'));
132
+ }
133
+ return response;
134
+ }
135
+ async generateContent(req, model) {
136
+ const auth = await this.resolveAuthToken();
137
+ const resource = this.normalizeModel(model);
138
+ const { url, headers } = this.formatUpstreamRequest(resource, 'generateContent', auth);
139
+ const response = await this.fetchUpstream(url, headers, req);
140
+ return (await response.json());
141
+ }
142
+ async *streamGenerateContent(req, model) {
143
+ const auth = await this.resolveAuthToken();
144
+ const resource = this.normalizeModel(model);
145
+ const { url, headers } = this.formatUpstreamRequest(resource, 'streamGenerateContent?alt=sse', auth);
146
+ const response = await this.fetchUpstream(url, headers, req);
147
+ const hasBody = response.body !== null && response.body !== undefined;
148
+ if (!hasBody) {
149
+ throw new AiBrokerError(errorEnvelope(500, 'Gemini API returned an empty stream response.', 'INTERNAL'));
150
+ }
151
+ const reader = response.body.getReader();
152
+ const decoder = new TextDecoder();
153
+ let buffer = '';
154
+ try {
155
+ while (true) {
156
+ const { done, value } = await reader.read();
157
+ const isDone = done === true;
158
+ if (isDone) {
159
+ break;
160
+ }
161
+ buffer += decoder.decode(value, { stream: true });
162
+ const lines = buffer.split(/\r?\n/);
163
+ buffer = lines.pop() ?? '';
164
+ for (const line of lines) {
165
+ const isDataLine = line.startsWith('data: ');
166
+ if (!isDataLine) {
167
+ continue;
168
+ }
169
+ const dataStr = line.slice(6).trim();
170
+ const isEmptyOrDone = dataStr === '' || dataStr === '[DONE]';
171
+ if (isEmptyOrDone) {
172
+ continue;
173
+ }
174
+ try {
175
+ const chunk = JSON.parse(dataStr);
176
+ yield chunk;
177
+ }
178
+ catch {
179
+ // Ignore malformed SSE chunk in stream
180
+ }
181
+ }
182
+ }
183
+ const hasTrailingBuffer = buffer.trim().length > 0;
184
+ if (hasTrailingBuffer) {
185
+ const line = buffer.trim();
186
+ const isDataLine = line.startsWith('data: ');
187
+ if (isDataLine) {
188
+ const dataStr = line.slice(6).trim();
189
+ const isNotEmptyOrDone = dataStr !== '' && dataStr !== '[DONE]';
190
+ if (isNotEmptyOrDone) {
191
+ try {
192
+ const chunk = JSON.parse(dataStr);
193
+ yield chunk;
194
+ }
195
+ catch {
196
+ // Ignore malformed SSE chunk in stream
197
+ }
198
+ }
199
+ }
200
+ }
201
+ }
202
+ finally {
203
+ reader.releaseLock();
204
+ }
205
+ }
206
+ async countTokens(req, model) {
207
+ const auth = await this.resolveAuthToken();
208
+ const resource = this.normalizeModel(model);
209
+ const { url, headers } = this.formatUpstreamRequest(resource, 'countTokens', auth);
210
+ const response = await this.fetchUpstream(url, headers, req);
211
+ return (await response.json());
212
+ }
213
+ }
214
+ //# sourceMappingURL=gemini-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-engine.js","sourceRoot":"","sources":["../../../src/ai/broker/gemini-engine.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  export { AiBroker, loadObservationEnvelope, type AiBrokerOptions } from './broker.js';
8
8
  export { ScriptedEngine, lastUserText, promptTextOf } from './scripted-engine.js';
9
+ export { GeminiEngine, type GeminiEngineOptions } from './gemini-engine.js';
9
10
  export { OpenAiEngine, ToolCallBuffer, SseParser, DONE_SENTINEL, geminiToOpenAIRequest, normalizeSchema, mapFinishReason, openAIToGeminiResponse, openAIChunkToParts, type OpenAiEngineOptions, type OpenAIRequest, type OpenAIResponse, type OpenAIStreamChunk, type OpenAIMessage, type OpenAIToolCall, } from './openai-engine.js';
10
11
  export { AiBrokerError, Synthesizer, errorEnvelope, unknownModel, badRole, emptyContents, missingThoughtSignature, resolveModelVersion, estimateTokens, mintThoughtSignature, mintFunctionCallId, type SynthesizeOptions, } from './synthesizer.js';
11
12
  export type { AnswerEngine, CountTokensRequest, CountTokensResponse, EngineConfig, GenerateContentRequest, RawEnvelope, ScriptEntry, ScriptMatcher, ScriptRespond, ScriptShorthand, WireCandidate, WireChunk, WireContent, WireErrorEnvelope, WirePart, WireResponse, WireUsageMetadata, } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai/broker/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,OAAO,EACP,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai/broker/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,OAAO,EACP,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  export { AiBroker, loadObservationEnvelope } from './broker.js';
8
8
  export { ScriptedEngine, lastUserText, promptTextOf } from './scripted-engine.js';
9
+ export { GeminiEngine } from './gemini-engine.js';
9
10
  export { OpenAiEngine, ToolCallBuffer, SseParser, DONE_SENTINEL, geminiToOpenAIRequest, normalizeSchema, mapFinishReason, openAIToGeminiResponse, openAIChunkToParts, } from './openai-engine.js';
10
11
  export { AiBrokerError, Synthesizer, errorEnvelope, unknownModel, badRole, emptyContents, missingThoughtSignature, resolveModelVersion, estimateTokens, mintThoughtSignature, mintFunctionCallId, } from './synthesizer.js';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/broker/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAwB,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,kBAAkB,GAOnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,OAAO,EACP,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/broker/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAwB,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,kBAAkB,GAOnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,OAAO,EACP,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,kBAAkB,CAAC"}
@@ -212,5 +212,10 @@ export type EngineConfig = {
212
212
  modelMap?: Record<string, string>;
213
213
  /** Injectable fetch for tests; defaults to globalThis.fetch. */
214
214
  fetch?: typeof fetch;
215
+ } | {
216
+ kind: 'gemini';
217
+ baseUrl?: string;
218
+ apiKey?: string;
219
+ fetch?: typeof fetch;
215
220
  };
216
221
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai/broker/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai/broker/types.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ export function getAI(target, options) {
63
63
  if (isSandbox(target)) {
64
64
  return sandboxAI(target, options);
65
65
  }
66
- throw new TypeError('pyric/ai is a sandbox-only mirror. Package resolution must leave firebase/ai unchanged for production; activate pyric dev or @pyric/cli/register before importing to select the sandbox.');
66
+ throw new TypeError('pyric/ai is a sandbox-only mirror. Package resolution must leave firebase/ai unchanged for production; activate pyric sandbox or @pyric/cli/register before importing to select the sandbox.');
67
67
  }
68
68
  function sandboxAI(sandbox, options, app) {
69
69
  const backend = options?.backend ?? new GoogleAIBackend();
@@ -1 +1 @@
1
- {"version":3,"file":"instances.js","sourceRoot":"","sources":["../../src/ai/instances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instances.js","sourceRoot":"","sources":["../../src/ai/instances.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export function getAuth(target) {
60
60
  sandboxHandles.set(target, handle);
61
61
  return handle;
62
62
  }
63
- throw new TypeError('pyric/auth is a sandbox-only mirror. Package resolution must leave firebase/auth unchanged for production; activate pyric dev or @pyric/cli/register before importing to select the sandbox.');
63
+ throw new TypeError('pyric/auth is a sandbox-only mirror. Package resolution must leave firebase/auth unchanged for production; activate pyric sandbox or @pyric/cli/register before importing to select the sandbox.');
64
64
  }
65
65
  export function initializeAuth(app, deps) {
66
66
  void deps;