photon-grid-core 2.0.0 → 2.0.4

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 (175) hide show
  1. package/README.md +3 -3
  2. package/cell-selection/cell-selection-engine.d.ts.map +1 -1
  3. package/cell-selection/cell-selection-engine.js +11 -9
  4. package/cell-selection/cell-selection-engine.js.map +1 -1
  5. package/chart/range-chart-controller.d.ts +10 -0
  6. package/chart/range-chart-controller.d.ts.map +1 -1
  7. package/chart/range-chart-controller.js +22 -2
  8. package/chart/range-chart-controller.js.map +1 -1
  9. package/column-groups/column-group-drag-handler.d.ts.map +1 -1
  10. package/column-groups/column-group-drag-handler.js +64 -25
  11. package/column-groups/column-group-drag-handler.js.map +1 -1
  12. package/column-groups/column-group-header-builder.d.ts.map +1 -1
  13. package/column-groups/column-group-header-builder.js +7 -5
  14. package/column-groups/column-group-header-builder.js.map +1 -1
  15. package/column-groups/display-group-drag-handler.d.ts +7 -3
  16. package/column-groups/display-group-drag-handler.d.ts.map +1 -1
  17. package/column-groups/display-group-drag-handler.js +46 -7
  18. package/column-groups/display-group-drag-handler.js.map +1 -1
  19. package/column-groups/display-group-header-builder.d.ts +1 -1
  20. package/column-groups/display-group-header-builder.d.ts.map +1 -1
  21. package/column-groups/display-group-header-builder.js +9 -7
  22. package/column-groups/display-group-header-builder.js.map +1 -1
  23. package/core/column-model.d.ts +88 -5
  24. package/core/column-model.d.ts.map +1 -1
  25. package/core/column-model.js +215 -3
  26. package/core/column-model.js.map +1 -1
  27. package/core/create-grid.d.ts +54 -0
  28. package/core/create-grid.d.ts.map +1 -0
  29. package/core/create-grid.js +70 -0
  30. package/core/create-grid.js.map +1 -0
  31. package/core/grid-api.d.ts +10 -2
  32. package/core/grid-api.d.ts.map +1 -1
  33. package/core/grid-api.js +10 -0
  34. package/core/grid-api.js.map +1 -1
  35. package/core/grid-core.d.ts +7 -0
  36. package/core/grid-core.d.ts.map +1 -1
  37. package/core/grid-core.js +29 -8
  38. package/core/grid-core.js.map +1 -1
  39. package/core/grid-store.d.ts +5 -5
  40. package/core/grid-store.d.ts.map +1 -1
  41. package/core/pointer-utils.d.ts +59 -0
  42. package/core/pointer-utils.d.ts.map +1 -0
  43. package/core/pointer-utils.js +59 -0
  44. package/core/pointer-utils.js.map +1 -0
  45. package/drag-drop/drag-drop-engine.d.ts.map +1 -1
  46. package/drag-drop/drag-drop-engine.js +8 -8
  47. package/drag-drop/drag-drop-engine.js.map +1 -1
  48. package/engines/editing/cell-editor-engine.js +1 -1
  49. package/engines/editing/cell-editor-engine.js.map +1 -1
  50. package/index.d.ts +8 -3
  51. package/index.d.ts.map +1 -1
  52. package/index.js +4 -1
  53. package/index.js.map +1 -1
  54. package/package.json +1 -1
  55. package/photon-ai/index.d.ts +2 -0
  56. package/photon-ai/index.d.ts.map +1 -1
  57. package/photon-ai/index.js +2 -0
  58. package/photon-ai/index.js.map +1 -1
  59. package/photon-ai/photon-ai-panel.d.ts +40 -0
  60. package/photon-ai/photon-ai-panel.d.ts.map +1 -1
  61. package/photon-ai/photon-ai-panel.js +163 -8
  62. package/photon-ai/photon-ai-panel.js.map +1 -1
  63. package/photon-ai/photon-ai-service.d.ts +38 -1
  64. package/photon-ai/photon-ai-service.d.ts.map +1 -1
  65. package/photon-ai/photon-ai-service.js +72 -1
  66. package/photon-ai/photon-ai-service.js.map +1 -1
  67. package/photon-ai/provider/ai-provider.types.d.ts +174 -0
  68. package/photon-ai/provider/ai-provider.types.d.ts.map +1 -0
  69. package/photon-ai/provider/ai-provider.types.js +42 -0
  70. package/photon-ai/provider/ai-provider.types.js.map +1 -0
  71. package/photon-ai/provider/command-normalizer.d.ts +36 -0
  72. package/photon-ai/provider/command-normalizer.d.ts.map +1 -0
  73. package/photon-ai/provider/command-normalizer.js +120 -0
  74. package/photon-ai/provider/command-normalizer.js.map +1 -0
  75. package/photon-ai/provider/grid-context-builder.d.ts +37 -0
  76. package/photon-ai/provider/grid-context-builder.d.ts.map +1 -0
  77. package/photon-ai/provider/grid-context-builder.js +96 -0
  78. package/photon-ai/provider/grid-context-builder.js.map +1 -0
  79. package/photon-ai/provider/http-ai-provider.d.ts +42 -0
  80. package/photon-ai/provider/http-ai-provider.d.ts.map +1 -0
  81. package/photon-ai/provider/http-ai-provider.js +125 -0
  82. package/photon-ai/provider/http-ai-provider.js.map +1 -0
  83. package/photon-ai/provider/index.d.ts +30 -0
  84. package/photon-ai/provider/index.d.ts.map +1 -0
  85. package/photon-ai/provider/index.js +42 -0
  86. package/photon-ai/provider/index.js.map +1 -0
  87. package/photon-ai/provider/presets.d.ts +29 -0
  88. package/photon-ai/provider/presets.d.ts.map +1 -0
  89. package/photon-ai/provider/presets.js +110 -0
  90. package/photon-ai/provider/presets.js.map +1 -0
  91. package/photon-ai/provider/response-parsing.d.ts +22 -0
  92. package/photon-ai/provider/response-parsing.d.ts.map +1 -0
  93. package/photon-ai/provider/response-parsing.js +79 -0
  94. package/photon-ai/provider/response-parsing.js.map +1 -0
  95. package/photon-ai/provider/system-prompt.d.ts +26 -0
  96. package/photon-ai/provider/system-prompt.d.ts.map +1 -0
  97. package/photon-ai/provider/system-prompt.js +82 -0
  98. package/photon-ai/provider/system-prompt.js.map +1 -0
  99. package/photon-grid.min.js +497 -56
  100. package/renderer/body-renderer.d.ts +23 -0
  101. package/renderer/body-renderer.d.ts.map +1 -1
  102. package/renderer/body-renderer.js +102 -24
  103. package/renderer/body-renderer.js.map +1 -1
  104. package/renderer/column-chooser.d.ts +82 -0
  105. package/renderer/column-chooser.d.ts.map +1 -0
  106. package/renderer/column-chooser.js +335 -0
  107. package/renderer/column-chooser.js.map +1 -0
  108. package/renderer/column-menu.d.ts.map +1 -1
  109. package/renderer/column-menu.js +32 -20
  110. package/renderer/column-menu.js.map +1 -1
  111. package/renderer/column-style-manager.d.ts +27 -0
  112. package/renderer/column-style-manager.d.ts.map +1 -1
  113. package/renderer/column-style-manager.js +47 -0
  114. package/renderer/column-style-manager.js.map +1 -1
  115. package/renderer/detail-row-renderer.d.ts.map +1 -1
  116. package/renderer/detail-row-renderer.js +8 -6
  117. package/renderer/detail-row-renderer.js.map +1 -1
  118. package/renderer/grid-renderer.d.ts +10 -0
  119. package/renderer/grid-renderer.d.ts.map +1 -1
  120. package/renderer/grid-renderer.js +64 -20
  121. package/renderer/grid-renderer.js.map +1 -1
  122. package/renderer/group-drop-zone.js +14 -14
  123. package/renderer/group-drop-zone.js.map +1 -1
  124. package/renderer/header-renderer.d.ts +65 -0
  125. package/renderer/header-renderer.d.ts.map +1 -1
  126. package/renderer/header-renderer.js +347 -44
  127. package/renderer/header-renderer.js.map +1 -1
  128. package/renderer/row-animator.js +3 -3
  129. package/renderer/row-drag-renderer.js +6 -6
  130. package/renderer/row-drag-renderer.js.map +1 -1
  131. package/renderer/scroll-controller.d.ts +40 -0
  132. package/renderer/scroll-controller.d.ts.map +1 -1
  133. package/renderer/scroll-controller.js +184 -0
  134. package/renderer/scroll-controller.js.map +1 -1
  135. package/styles/base/column-chooser.css.d.ts +13 -0
  136. package/styles/base/column-chooser.css.d.ts.map +1 -0
  137. package/styles/base/column-chooser.css.js +241 -0
  138. package/styles/base/column-chooser.css.js.map +1 -0
  139. package/styles/base/column-context-menu.css.d.ts +1 -1
  140. package/styles/base/column-context-menu.css.d.ts.map +1 -1
  141. package/styles/base/column-context-menu.css.js +10 -0
  142. package/styles/base/column-context-menu.css.js.map +1 -1
  143. package/styles/base/filter.css.d.ts +1 -1
  144. package/styles/base/filter.css.js +1 -1
  145. package/styles/base/header.css.d.ts +1 -1
  146. package/styles/base/header.css.d.ts.map +1 -1
  147. package/styles/base/header.css.js +19 -0
  148. package/styles/base/header.css.js.map +1 -1
  149. package/styles/base/photon-ai.css.d.ts +1 -1
  150. package/styles/base/photon-ai.css.d.ts.map +1 -1
  151. package/styles/base/photon-ai.css.js +65 -0
  152. package/styles/base/photon-ai.css.js.map +1 -1
  153. package/styles/base/scrollbars.css.d.ts +1 -1
  154. package/styles/base/scrollbars.css.d.ts.map +1 -1
  155. package/styles/base/scrollbars.css.js +50 -4
  156. package/styles/base/scrollbars.css.js.map +1 -1
  157. package/styles/base/touch.css.d.ts +23 -0
  158. package/styles/base/touch.css.d.ts.map +1 -0
  159. package/styles/base/touch.css.js +85 -0
  160. package/styles/base/touch.css.js.map +1 -0
  161. package/styles/base-styles.d.ts.map +1 -1
  162. package/styles/base-styles.js +4 -0
  163. package/styles/base-styles.js.map +1 -1
  164. package/styles/themes/theme-dark.d.ts +1 -1
  165. package/styles/themes/theme-dark.d.ts.map +1 -1
  166. package/styles/themes/theme-dark.js +3 -0
  167. package/styles/themes/theme-dark.js.map +1 -1
  168. package/types/column.types.d.ts +36 -0
  169. package/types/column.types.d.ts.map +1 -1
  170. package/types/grid.types.d.ts +3 -2
  171. package/types/grid.types.d.ts.map +1 -1
  172. package/types/photon-ai.types.d.ts +125 -5
  173. package/types/photon-ai.types.d.ts.map +1 -1
  174. package/types/photon-ai.types.js +18 -1
  175. package/types/photon-ai.types.js.map +1 -1
@@ -71,6 +71,11 @@ export interface ColumnDef {
71
71
  resizable?: boolean;
72
72
  draggable?: boolean;
73
73
  editable?: boolean;
74
+ /**
75
+ * When `true`, the column is "locked": its cells cannot be edited regardless
76
+ * of {@link ColumnDef.editable}. Toggled by the column menu's "Lock Column".
77
+ */
78
+ locked?: boolean;
74
79
  groupable?: boolean;
75
80
  rowDrag?: boolean;
76
81
  alwaysVisible?: boolean;
@@ -178,6 +183,37 @@ export interface ColumnDef {
178
183
  sortOrder?: 'asc' | 'desc' | null;
179
184
  filterActive?: boolean;
180
185
  }
186
+ /**
187
+ * A fully-normalized column as held internally by the grid after
188
+ * {@link ColumnDef} defaults are applied. `colId`, `header` and `type` are
189
+ * always present (defaulted from `field` / `'string'` when omitted on input),
190
+ * so internal code never has to null-check them. Consumers reading columns from
191
+ * the store or `ColumnModel` receive this type.
192
+ */
193
+ export interface Column extends ColumnDef {
194
+ colId: string;
195
+ header: string;
196
+ type: ColumnDataType;
197
+ }
198
+ /**
199
+ * The public, author-friendly column definition. Only {@link ColumnDef.field}
200
+ * is required; `colId`, `header` and `type` (and everything else) are optional
201
+ * and filled in with defaults during normalization:
202
+ *
203
+ * - `colId` → `col_<field>_<index>`
204
+ * - `header` → the `field` rendered in Title Case
205
+ * - `type` → `'string'`
206
+ *
207
+ * This is what `GridOptions.columns` and {@link GridApi.setColumns} accept.
208
+ * Internally the grid works with the fully-normalized {@link ColumnDef}.
209
+ */
210
+ export interface ColumnDefInput extends Omit<ColumnDef, 'colId' | 'header' | 'type' | 'children'> {
211
+ colId?: string;
212
+ header?: string;
213
+ type?: ColumnDataType;
214
+ /** Nested child columns (also author-friendly). Presence makes this a group. */
215
+ children?: ColumnDefInput[];
216
+ }
181
217
  export interface ColumnState {
182
218
  colId: string;
183
219
  width: number;
@@ -1 +1 @@
1
- {"version":3,"file":"column.types.d.ts","sourceRoot":"","sources":["../../src/types/column.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column.types.d.ts","sourceRoot":"","sources":["../../src/types/column.types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ColumnDef, ColumnState } from './column.types';
1
+ import type { ColumnDef, ColumnDefInput, ColumnState } from './column.types';
2
2
  import type { RowNode } from './row.types';
3
3
  import type { FilterModel, QuickFilterConfig } from './filter.types';
4
4
  import type { BuiltInThemeName } from './theme.types';
@@ -131,7 +131,8 @@ export interface ColumnGroupConfig {
131
131
  suppressOpenByDefault?: boolean;
132
132
  }
133
133
  export interface GridOptions {
134
- columns: ColumnDef[];
134
+ /** Column definitions. Only `field` is required per column — see {@link ColumnDefInput}. */
135
+ columns: ColumnDefInput[];
135
136
  data?: Record<string, unknown>[];
136
137
  theme?: BuiltInThemeName | string;
137
138
  rowHeight?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"grid.types.d.ts","sourceRoot":"","sources":["../../src/types/grid.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid.types.d.ts","sourceRoot":"","sources":["../../src/types/grid.types.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,20 @@
1
+ import type { PhotonAIRequest, PhotonAIResponse } from '../photon-ai/provider/ai-provider.types';
1
2
  /**
2
- * Configuration for Photon AI — a deterministic natural-language command bar
3
- * for the grid. Photon AI is **not** an LLM: it is a rule-based interpreter
4
- * that normalizes text, matches it against a registry of known intents, and
5
- * translates the result into calls against the existing {@link GridApi} — no
6
- * network calls, no external AI services.
3
+ * Configuration for Photon AI — the grid's natural-language command bar.
4
+ *
5
+ * Photon AI runs in one of two interchangeable modes, chosen entirely by this
6
+ * config:
7
+ *
8
+ * - **Deterministic** (default) — a zero-dependency, offline rule-based
9
+ * interpreter that normalizes text, matches it against a registry of known
10
+ * intents, and translates the result into calls against the existing
11
+ * {@link GridApi}. No network calls, no external AI services.
12
+ * - **Generative** — when a {@link PhotonAIProviderConfig} is supplied (via
13
+ * {@link provider}), the same grid context (columns, capabilities, current
14
+ * state) is sent to a large-language-model provider, whose structured JSON
15
+ * response is executed through the *identical* command pipeline. The public
16
+ * API, intent registry, and command executor are shared between both modes,
17
+ * so switching backends never changes how consumers call Photon AI.
7
18
  *
8
19
  * @see {@link PhotonAIService} in `src/photon-ai/photon-ai-service.ts` for the
9
20
  * runtime pipeline this config drives.
@@ -15,5 +26,114 @@ export interface PhotonAIConfig {
15
26
  placeholder?: string;
16
27
  /** Whether the panel starts open on grid mount. @default false */
17
28
  defaultOpen?: boolean;
29
+ /**
30
+ * Opt-in generative back-end. When present **and** usable (a valid API key
31
+ * for a hosted provider, or a full {@link PhotonAIProviderType.Custom}
32
+ * setup), Photon AI routes prompts through the configured large-language-
33
+ * model provider instead of the built-in deterministic interpreter. Omit it
34
+ * to keep the fully-offline deterministic behaviour — nothing else changes.
35
+ */
36
+ provider?: PhotonAIProviderConfig;
37
+ }
38
+ /**
39
+ * Identifies which generative back-end Photon AI should use. Each hosted
40
+ * provider ships with a built-in preset (default endpoint, model, auth scheme,
41
+ * and request/response transformers), so the consumer typically only supplies
42
+ * an {@link PhotonAIProviderConfig.apiKey}. Use {@link Custom} to point Photon
43
+ * AI at any other JSON HTTP endpoint via transformers.
44
+ */
45
+ export declare enum PhotonAIProviderType {
46
+ /** Google Gemini via the public Generative Language REST API. */
47
+ Gemini = "gemini",
48
+ /** OpenAI (or OpenAI-compatible) Chat Completions API. */
49
+ OpenAI = "openai",
50
+ /** Anthropic Claude Messages API. */
51
+ Anthropic = "anthropic",
52
+ /** Any other HTTP JSON endpoint — requires {@link PhotonAIProviderConfig.apiUrl} plus both transformers. */
53
+ Custom = "custom"
54
+ }
55
+ /**
56
+ * Connection + behaviour settings for a generative Photon AI back-end,
57
+ * supplied entirely by the consumer app. This is the single source of the API
58
+ * key and endpoint — Photon AI never hard-codes either, and reads them from
59
+ * here at request time.
60
+ *
61
+ * The whole point of this shape is that **the AI is configured completely from
62
+ * the consumer app**: pick a hosted {@link PhotonAIProviderType} and get
63
+ * sensible defaults for every required field (endpoint, model, wire format),
64
+ * or override any of them — including the full request/response wire format via
65
+ * {@link requestTransformer}/{@link responseTransformer} — to talk to any model
66
+ * you like.
67
+ *
68
+ * @remarks
69
+ * For hosted providers the key is sent from the browser, so it must be one you
70
+ * are comfortable exposing client-side (e.g. restricted by allowed origins /
71
+ * referrer). For stricter secrecy, proxy requests through your own backend and
72
+ * point {@link apiUrl} at that proxy (optionally with {@link PhotonAIProviderType.Custom}).
73
+ */
74
+ export interface PhotonAIProviderConfig {
75
+ /**
76
+ * Which provider preset to use. Selects the default endpoint, model, auth
77
+ * scheme, and wire transformers. @default {@link PhotonAIProviderType.Gemini}
78
+ */
79
+ type?: PhotonAIProviderType;
80
+ /**
81
+ * The provider API key, read from this config at request time and applied
82
+ * using the provider's auth scheme (Gemini: `?key=`; OpenAI:
83
+ * `Authorization: Bearer`; Anthropic: `x-api-key`). Never logged or persisted
84
+ * by Photon AI. Optional for {@link PhotonAIProviderType.Custom} setups that
85
+ * authenticate via {@link headers} instead.
86
+ */
87
+ apiKey?: string;
88
+ /**
89
+ * Model identifier to invoke. Defaults to the selected provider's
90
+ * recommended fast model when omitted.
91
+ *
92
+ * @default "gemini-2.5-flash" (Gemini) · "gpt-4o-mini" (OpenAI) · "claude-haiku-4-5-20251001" (Anthropic)
93
+ */
94
+ model?: string;
95
+ /**
96
+ * Override the provider's REST endpoint. Defaults to the selected provider's
97
+ * public endpoint. **Required** for {@link PhotonAIProviderType.Custom}. May
98
+ * contain a `{model}` placeholder (substituted with {@link model}) — used by
99
+ * the Gemini preset.
100
+ */
101
+ apiUrl?: string;
102
+ /**
103
+ * Extra HTTP headers merged into every request (after the provider's own
104
+ * auth headers, so these win on conflict). Use for a proxy token, org id,
105
+ * or custom auth in a {@link PhotonAIProviderType.Custom} setup.
106
+ */
107
+ headers?: Record<string, string>;
108
+ /**
109
+ * Extra domain guidance appended to Photon AI's built-in system instruction
110
+ * — e.g. house rules or product vocabulary. The core instruction (output
111
+ * contract, capability catalog) is always sent regardless.
112
+ */
113
+ systemInstruction?: string;
114
+ /**
115
+ * Sampling temperature. Lower is more deterministic — recommended for
116
+ * command interpretation. @default 0
117
+ */
118
+ temperature?: number;
119
+ /**
120
+ * Abort the request if the provider has not responded within this many
121
+ * milliseconds. @default 30000
122
+ */
123
+ requestTimeoutMs?: number;
124
+ /**
125
+ * Fully override how Photon AI builds the request body from the neutral
126
+ * {@link PhotonAIRequest}. Return the exact JSON value POSTed to
127
+ * {@link apiUrl}. When omitted, the selected provider's built-in transformer
128
+ * is used. **Required** for {@link PhotonAIProviderType.Custom}.
129
+ */
130
+ requestTransformer?: (request: PhotonAIRequest) => unknown;
131
+ /**
132
+ * Fully override how Photon AI parses the provider's raw JSON response into
133
+ * the structured {@link PhotonAIResponse} (actions + reply). When omitted,
134
+ * the selected provider's built-in transformer is used. **Required** for
135
+ * {@link PhotonAIProviderType.Custom}.
136
+ */
137
+ responseTransformer?: (response: unknown) => PhotonAIResponse;
18
138
  }
19
139
  //# sourceMappingURL=photon-ai.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"photon-ai.types.d.ts","sourceRoot":"","sources":["../../src/types/photon-ai.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,OAAO,EAAE,OAAO,CAAC;IAEjB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
1
+ {"version":3,"file":"photon-ai.types.d.ts","sourceRoot":"","sources":["../../src/types/photon-ai.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAEjG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,OAAO,EAAE,OAAO,CAAC;IAEjB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC;AAED;;;;;;GAMG;AACH,oBAAY,oBAAoB;IAC9B,iEAAiE;IACjE,MAAM,WAAW;IACjB,0DAA0D;IAC1D,MAAM,WAAW;IACjB,qCAAqC;IACrC,SAAS,cAAc;IACvB,4GAA4G;IAC5G,MAAM,WAAW;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAE5B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC;IAE3D;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,gBAAgB,CAAC;CAC/D"}
@@ -1,2 +1,19 @@
1
- export {};
1
+ /**
2
+ * Identifies which generative back-end Photon AI should use. Each hosted
3
+ * provider ships with a built-in preset (default endpoint, model, auth scheme,
4
+ * and request/response transformers), so the consumer typically only supplies
5
+ * an {@link PhotonAIProviderConfig.apiKey}. Use {@link Custom} to point Photon
6
+ * AI at any other JSON HTTP endpoint via transformers.
7
+ */
8
+ export var PhotonAIProviderType;
9
+ (function (PhotonAIProviderType) {
10
+ /** Google Gemini via the public Generative Language REST API. */
11
+ PhotonAIProviderType["Gemini"] = "gemini";
12
+ /** OpenAI (or OpenAI-compatible) Chat Completions API. */
13
+ PhotonAIProviderType["OpenAI"] = "openai";
14
+ /** Anthropic Claude Messages API. */
15
+ PhotonAIProviderType["Anthropic"] = "anthropic";
16
+ /** Any other HTTP JSON endpoint — requires {@link PhotonAIProviderConfig.apiUrl} plus both transformers. */
17
+ PhotonAIProviderType["Custom"] = "custom";
18
+ })(PhotonAIProviderType || (PhotonAIProviderType = {}));
2
19
  //# sourceMappingURL=photon-ai.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"photon-ai.types.js","sourceRoot":"","sources":["../../src/types/photon-ai.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"photon-ai.types.js","sourceRoot":"","sources":["../../src/types/photon-ai.types.ts"],"names":[],"mappings":"AA0CA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,oBASX;AATD,WAAY,oBAAoB;IAC9B,iEAAiE;IACjE,yCAAiB,CAAA;IACjB,0DAA0D;IAC1D,yCAAiB,CAAA;IACjB,qCAAqC;IACrC,+CAAuB,CAAA;IACvB,4GAA4G;IAC5G,yCAAiB,CAAA;AACnB,CAAC,EATW,oBAAoB,KAApB,oBAAoB,QAS/B"}