photon-grid-core 2.0.1 → 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.
- package/README.md +3 -3
- package/cell-selection/cell-selection-engine.d.ts.map +1 -1
- package/cell-selection/cell-selection-engine.js +11 -9
- package/cell-selection/cell-selection-engine.js.map +1 -1
- package/chart/range-chart-controller.d.ts +10 -0
- package/chart/range-chart-controller.d.ts.map +1 -1
- package/chart/range-chart-controller.js +22 -2
- package/chart/range-chart-controller.js.map +1 -1
- package/column-groups/column-group-drag-handler.d.ts.map +1 -1
- package/column-groups/column-group-drag-handler.js +64 -25
- package/column-groups/column-group-drag-handler.js.map +1 -1
- package/column-groups/column-group-header-builder.d.ts.map +1 -1
- package/column-groups/column-group-header-builder.js +7 -5
- package/column-groups/column-group-header-builder.js.map +1 -1
- package/column-groups/display-group-drag-handler.d.ts +7 -3
- package/column-groups/display-group-drag-handler.d.ts.map +1 -1
- package/column-groups/display-group-drag-handler.js +46 -7
- package/column-groups/display-group-drag-handler.js.map +1 -1
- package/column-groups/display-group-header-builder.d.ts +1 -1
- package/column-groups/display-group-header-builder.d.ts.map +1 -1
- package/column-groups/display-group-header-builder.js +9 -7
- package/column-groups/display-group-header-builder.js.map +1 -1
- package/core/column-model.d.ts +88 -5
- package/core/column-model.d.ts.map +1 -1
- package/core/column-model.js +215 -3
- package/core/column-model.js.map +1 -1
- package/core/grid-api.d.ts +10 -2
- package/core/grid-api.d.ts.map +1 -1
- package/core/grid-api.js +10 -0
- package/core/grid-api.js.map +1 -1
- package/core/grid-core.d.ts +7 -0
- package/core/grid-core.d.ts.map +1 -1
- package/core/grid-core.js +29 -8
- package/core/grid-core.js.map +1 -1
- package/core/grid-store.d.ts +5 -5
- package/core/grid-store.d.ts.map +1 -1
- package/core/pointer-utils.d.ts +59 -0
- package/core/pointer-utils.d.ts.map +1 -0
- package/core/pointer-utils.js +59 -0
- package/core/pointer-utils.js.map +1 -0
- package/drag-drop/drag-drop-engine.d.ts.map +1 -1
- package/drag-drop/drag-drop-engine.js +8 -8
- package/drag-drop/drag-drop-engine.js.map +1 -1
- package/engines/editing/cell-editor-engine.js +1 -1
- package/engines/editing/cell-editor-engine.js.map +1 -1
- package/index.d.ts +6 -3
- package/index.d.ts.map +1 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/photon-ai/index.d.ts +2 -0
- package/photon-ai/index.d.ts.map +1 -1
- package/photon-ai/index.js +2 -0
- package/photon-ai/index.js.map +1 -1
- package/photon-ai/photon-ai-panel.d.ts +40 -0
- package/photon-ai/photon-ai-panel.d.ts.map +1 -1
- package/photon-ai/photon-ai-panel.js +163 -8
- package/photon-ai/photon-ai-panel.js.map +1 -1
- package/photon-ai/photon-ai-service.d.ts +38 -1
- package/photon-ai/photon-ai-service.d.ts.map +1 -1
- package/photon-ai/photon-ai-service.js +72 -1
- package/photon-ai/photon-ai-service.js.map +1 -1
- package/photon-ai/provider/ai-provider.types.d.ts +174 -0
- package/photon-ai/provider/ai-provider.types.d.ts.map +1 -0
- package/photon-ai/provider/ai-provider.types.js +42 -0
- package/photon-ai/provider/ai-provider.types.js.map +1 -0
- package/photon-ai/provider/command-normalizer.d.ts +36 -0
- package/photon-ai/provider/command-normalizer.d.ts.map +1 -0
- package/photon-ai/provider/command-normalizer.js +120 -0
- package/photon-ai/provider/command-normalizer.js.map +1 -0
- package/photon-ai/provider/grid-context-builder.d.ts +37 -0
- package/photon-ai/provider/grid-context-builder.d.ts.map +1 -0
- package/photon-ai/provider/grid-context-builder.js +96 -0
- package/photon-ai/provider/grid-context-builder.js.map +1 -0
- package/photon-ai/provider/http-ai-provider.d.ts +42 -0
- package/photon-ai/provider/http-ai-provider.d.ts.map +1 -0
- package/photon-ai/provider/http-ai-provider.js +125 -0
- package/photon-ai/provider/http-ai-provider.js.map +1 -0
- package/photon-ai/provider/index.d.ts +30 -0
- package/photon-ai/provider/index.d.ts.map +1 -0
- package/photon-ai/provider/index.js +42 -0
- package/photon-ai/provider/index.js.map +1 -0
- package/photon-ai/provider/presets.d.ts +29 -0
- package/photon-ai/provider/presets.d.ts.map +1 -0
- package/photon-ai/provider/presets.js +110 -0
- package/photon-ai/provider/presets.js.map +1 -0
- package/photon-ai/provider/response-parsing.d.ts +22 -0
- package/photon-ai/provider/response-parsing.d.ts.map +1 -0
- package/photon-ai/provider/response-parsing.js +79 -0
- package/photon-ai/provider/response-parsing.js.map +1 -0
- package/photon-ai/provider/system-prompt.d.ts +26 -0
- package/photon-ai/provider/system-prompt.d.ts.map +1 -0
- package/photon-ai/provider/system-prompt.js +82 -0
- package/photon-ai/provider/system-prompt.js.map +1 -0
- package/photon-grid.min.js +497 -56
- package/renderer/body-renderer.d.ts.map +1 -1
- package/renderer/body-renderer.js +34 -9
- package/renderer/body-renderer.js.map +1 -1
- package/renderer/column-chooser.d.ts +82 -0
- package/renderer/column-chooser.d.ts.map +1 -0
- package/renderer/column-chooser.js +335 -0
- package/renderer/column-chooser.js.map +1 -0
- package/renderer/column-menu.d.ts.map +1 -1
- package/renderer/column-menu.js +32 -20
- package/renderer/column-menu.js.map +1 -1
- package/renderer/column-style-manager.d.ts +17 -0
- package/renderer/column-style-manager.d.ts.map +1 -1
- package/renderer/column-style-manager.js +28 -0
- package/renderer/column-style-manager.js.map +1 -1
- package/renderer/detail-row-renderer.d.ts.map +1 -1
- package/renderer/detail-row-renderer.js +8 -6
- package/renderer/detail-row-renderer.js.map +1 -1
- package/renderer/grid-renderer.d.ts +10 -0
- package/renderer/grid-renderer.d.ts.map +1 -1
- package/renderer/grid-renderer.js +45 -7
- package/renderer/grid-renderer.js.map +1 -1
- package/renderer/group-drop-zone.js +14 -14
- package/renderer/group-drop-zone.js.map +1 -1
- package/renderer/header-renderer.d.ts +65 -0
- package/renderer/header-renderer.d.ts.map +1 -1
- package/renderer/header-renderer.js +347 -49
- package/renderer/header-renderer.js.map +1 -1
- package/renderer/row-animator.js +3 -3
- package/renderer/row-drag-renderer.js +6 -6
- package/renderer/row-drag-renderer.js.map +1 -1
- package/renderer/scroll-controller.d.ts +40 -0
- package/renderer/scroll-controller.d.ts.map +1 -1
- package/renderer/scroll-controller.js +184 -0
- package/renderer/scroll-controller.js.map +1 -1
- package/styles/base/column-chooser.css.d.ts +13 -0
- package/styles/base/column-chooser.css.d.ts.map +1 -0
- package/styles/base/column-chooser.css.js +241 -0
- package/styles/base/column-chooser.css.js.map +1 -0
- package/styles/base/column-context-menu.css.d.ts +1 -1
- package/styles/base/column-context-menu.css.d.ts.map +1 -1
- package/styles/base/column-context-menu.css.js +10 -0
- package/styles/base/column-context-menu.css.js.map +1 -1
- package/styles/base/filter.css.d.ts +1 -1
- package/styles/base/filter.css.js +1 -1
- package/styles/base/header.css.d.ts +1 -1
- package/styles/base/header.css.d.ts.map +1 -1
- package/styles/base/header.css.js +19 -0
- package/styles/base/header.css.js.map +1 -1
- package/styles/base/photon-ai.css.d.ts +1 -1
- package/styles/base/photon-ai.css.d.ts.map +1 -1
- package/styles/base/photon-ai.css.js +65 -0
- package/styles/base/photon-ai.css.js.map +1 -1
- package/styles/base/scrollbars.css.d.ts +1 -1
- package/styles/base/scrollbars.css.d.ts.map +1 -1
- package/styles/base/scrollbars.css.js +50 -4
- package/styles/base/scrollbars.css.js.map +1 -1
- package/styles/base/touch.css.d.ts +23 -0
- package/styles/base/touch.css.d.ts.map +1 -0
- package/styles/base/touch.css.js +85 -0
- package/styles/base/touch.css.js.map +1 -0
- package/styles/base-styles.d.ts.map +1 -1
- package/styles/base-styles.js +4 -0
- package/styles/base-styles.js.map +1 -1
- package/styles/themes/theme-dark.d.ts +1 -1
- package/styles/themes/theme-dark.d.ts.map +1 -1
- package/styles/themes/theme-dark.js +3 -0
- package/styles/themes/theme-dark.js.map +1 -1
- package/types/column.types.d.ts +36 -0
- package/types/column.types.d.ts.map +1 -1
- package/types/grid.types.d.ts +3 -2
- package/types/grid.types.d.ts.map +1 -1
- package/types/photon-ai.types.d.ts +125 -5
- package/types/photon-ai.types.d.ts.map +1 -1
- package/types/photon-ai.types.js +18 -1
- package/types/photon-ai.types.js.map +1 -1
package/types/column.types.d.ts
CHANGED
|
@@ -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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"}
|
package/types/grid.types.d.ts
CHANGED
|
@@ -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
|
-
|
|
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":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
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 —
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
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
|
|
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"}
|
package/types/photon-ai.types.js
CHANGED
|
@@ -1,2 +1,19 @@
|
|
|
1
|
-
|
|
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"}
|