maplibre-gl-geoagent 0.1.0

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 (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +189 -0
  3. package/dist/GeoAgentControl-CmfTQTkJ.cjs +47680 -0
  4. package/dist/GeoAgentControl-CmfTQTkJ.cjs.map +1 -0
  5. package/dist/GeoAgentControl-c10MBYNG.js +47681 -0
  6. package/dist/GeoAgentControl-c10MBYNG.js.map +1 -0
  7. package/dist/anthropic-C7kTy6A0.js +6505 -0
  8. package/dist/anthropic-C7kTy6A0.js.map +1 -0
  9. package/dist/anthropic-Y4byflsD.cjs +6505 -0
  10. package/dist/anthropic-Y4byflsD.cjs.map +1 -0
  11. package/dist/index-CX7FTecz.js +18878 -0
  12. package/dist/index-CX7FTecz.js.map +1 -0
  13. package/dist/index-CzhifCGI.cjs +254 -0
  14. package/dist/index-CzhifCGI.cjs.map +1 -0
  15. package/dist/index-DC2fUaFo.cjs +9727 -0
  16. package/dist/index-DC2fUaFo.cjs.map +1 -0
  17. package/dist/index-DRJ1yR1n.js +9727 -0
  18. package/dist/index-DRJ1yR1n.js.map +1 -0
  19. package/dist/index-Dta4g9Ff.js +254 -0
  20. package/dist/index-Dta4g9Ff.js.map +1 -0
  21. package/dist/index-m-aZEiVB.cjs +18878 -0
  22. package/dist/index-m-aZEiVB.cjs.map +1 -0
  23. package/dist/index.cjs +12 -0
  24. package/dist/index.cjs.map +1 -0
  25. package/dist/index.mjs +12 -0
  26. package/dist/index.mjs.map +1 -0
  27. package/dist/maplibre-gl-geoagent.css +1664 -0
  28. package/dist/react.cjs +94 -0
  29. package/dist/react.cjs.map +1 -0
  30. package/dist/react.mjs +94 -0
  31. package/dist/react.mjs.map +1 -0
  32. package/dist/types/index.d.ts +4 -0
  33. package/dist/types/index.d.ts.map +1 -0
  34. package/dist/types/lib/core/GeoAgentControl.d.ts +79 -0
  35. package/dist/types/lib/core/GeoAgentControl.d.ts.map +1 -0
  36. package/dist/types/lib/core/GeoAgentControlReact.d.ts +3 -0
  37. package/dist/types/lib/core/GeoAgentControlReact.d.ts.map +1 -0
  38. package/dist/types/lib/core/maplibre-tools.d.ts +66 -0
  39. package/dist/types/lib/core/maplibre-tools.d.ts.map +1 -0
  40. package/dist/types/lib/core/types.d.ts +101 -0
  41. package/dist/types/lib/core/types.d.ts.map +1 -0
  42. package/dist/types/lib/hooks/index.d.ts +2 -0
  43. package/dist/types/lib/hooks/index.d.ts.map +1 -0
  44. package/dist/types/lib/hooks/useGeoAgentState.d.ts +13 -0
  45. package/dist/types/lib/hooks/useGeoAgentState.d.ts.map +1 -0
  46. package/dist/types/lib/utils/helpers.d.ts +86 -0
  47. package/dist/types/lib/utils/helpers.d.ts.map +1 -0
  48. package/dist/types/lib/utils/index.d.ts +2 -0
  49. package/dist/types/lib/utils/index.d.ts.map +1 -0
  50. package/dist/types/react.d.ts +4 -0
  51. package/dist/types/react.d.ts.map +1 -0
  52. package/package.json +111 -0
package/dist/react.cjs ADDED
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react = require("react");
4
+ const GeoAgentControl = require("./GeoAgentControl-CmfTQTkJ.cjs");
5
+ function GeoAgentControlReact({
6
+ map,
7
+ onStateChange,
8
+ ...options
9
+ }) {
10
+ const controlRef = react.useRef(null);
11
+ react.useEffect(() => {
12
+ if (!map) return;
13
+ const control = new GeoAgentControl.GeoAgentControl(options);
14
+ controlRef.current = control;
15
+ if (onStateChange) {
16
+ control.on("statechange", (event) => {
17
+ onStateChange(event.state);
18
+ });
19
+ }
20
+ map.addControl(control, options.position || "top-right");
21
+ return () => {
22
+ if (map.hasControl(control)) {
23
+ map.removeControl(control);
24
+ }
25
+ controlRef.current = null;
26
+ };
27
+ }, [map]);
28
+ react.useEffect(() => {
29
+ if (!controlRef.current) {
30
+ return;
31
+ }
32
+ const currentState = controlRef.current.getState();
33
+ if (options.collapsed !== void 0 && options.collapsed !== currentState.collapsed) {
34
+ if (options.collapsed) {
35
+ controlRef.current.collapse();
36
+ } else {
37
+ controlRef.current.expand();
38
+ }
39
+ }
40
+ }, [options.collapsed]);
41
+ return null;
42
+ }
43
+ const DEFAULT_STATE = {
44
+ collapsed: true,
45
+ panelWidth: 390,
46
+ busy: false,
47
+ providerId: "openai-responses",
48
+ modelId: "gpt-5.5",
49
+ bedrockRegion: "us-west-2",
50
+ allowCodeExecution: true,
51
+ allowDestructiveTools: true,
52
+ data: {}
53
+ };
54
+ function useGeoAgentState(initialState) {
55
+ const [state, setState] = react.useState({
56
+ ...DEFAULT_STATE,
57
+ ...initialState
58
+ });
59
+ const setCollapsed = react.useCallback((collapsed) => {
60
+ setState((previous) => ({ ...previous, collapsed }));
61
+ }, []);
62
+ const setPanelWidth = react.useCallback((panelWidth) => {
63
+ setState((previous) => ({ ...previous, panelWidth }));
64
+ }, []);
65
+ const setProviderId = react.useCallback((providerId) => {
66
+ setState((previous) => ({ ...previous, providerId }));
67
+ }, []);
68
+ const setModelId = react.useCallback((modelId) => {
69
+ setState((previous) => ({ ...previous, modelId }));
70
+ }, []);
71
+ const setData = react.useCallback((data) => {
72
+ setState((previous) => ({ ...previous, data: { ...previous.data, ...data } }));
73
+ }, []);
74
+ const reset = react.useCallback(() => {
75
+ setState({ ...DEFAULT_STATE, ...initialState });
76
+ }, [initialState]);
77
+ const toggle = react.useCallback(() => {
78
+ setState((previous) => ({ ...previous, collapsed: !previous.collapsed }));
79
+ }, []);
80
+ return {
81
+ state,
82
+ setState,
83
+ setCollapsed,
84
+ setPanelWidth,
85
+ setProviderId,
86
+ setModelId,
87
+ setData,
88
+ reset,
89
+ toggle
90
+ };
91
+ }
92
+ exports.GeoAgentControlReact = GeoAgentControlReact;
93
+ exports.useGeoAgentState = useGeoAgentState;
94
+ //# sourceMappingURL=react.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.cjs","sources":["../src/lib/core/GeoAgentControlReact.tsx","../src/lib/hooks/useGeoAgentState.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { GeoAgentControl } from './GeoAgentControl';\nimport type { GeoAgentControlReactProps } from './types';\n\nexport function GeoAgentControlReact({\n map,\n onStateChange,\n ...options\n}: GeoAgentControlReactProps): null {\n const controlRef = useRef<GeoAgentControl | null>(null);\n\n useEffect(() => {\n if (!map) return;\n\n const control = new GeoAgentControl(options);\n controlRef.current = control;\n\n if (onStateChange) {\n control.on('statechange', (event) => {\n onStateChange(event.state);\n });\n }\n\n map.addControl(control, options.position || 'top-right');\n\n return () => {\n if (map.hasControl(control)) {\n map.removeControl(control);\n }\n controlRef.current = null;\n };\n }, [map]);\n\n useEffect(() => {\n if (!controlRef.current) {\n return;\n }\n const currentState = controlRef.current.getState();\n if (options.collapsed !== undefined && options.collapsed !== currentState.collapsed) {\n if (options.collapsed) {\n controlRef.current.collapse();\n } else {\n controlRef.current.expand();\n }\n }\n }, [options.collapsed]);\n\n return null;\n}\n","import { useCallback, useState } from 'react';\nimport type { GeoAgentProviderId, GeoAgentState } from '../core/types';\n\nconst DEFAULT_STATE: GeoAgentState = {\n collapsed: true,\n panelWidth: 390,\n busy: false,\n providerId: 'openai-responses',\n modelId: 'gpt-5.5',\n bedrockRegion: 'us-west-2',\n allowCodeExecution: true,\n allowDestructiveTools: true,\n data: {},\n};\n\nexport function useGeoAgentState(initialState?: Partial<GeoAgentState>) {\n const [state, setState] = useState<GeoAgentState>({\n ...DEFAULT_STATE,\n ...initialState,\n });\n\n const setCollapsed = useCallback((collapsed: boolean) => {\n setState((previous) => ({ ...previous, collapsed }));\n }, []);\n\n const setPanelWidth = useCallback((panelWidth: number) => {\n setState((previous) => ({ ...previous, panelWidth }));\n }, []);\n\n const setProviderId = useCallback((providerId: GeoAgentProviderId) => {\n setState((previous) => ({ ...previous, providerId }));\n }, []);\n\n const setModelId = useCallback((modelId: string) => {\n setState((previous) => ({ ...previous, modelId }));\n }, []);\n\n const setData = useCallback((data: Record<string, unknown>) => {\n setState((previous) => ({ ...previous, data: { ...previous.data, ...data } }));\n }, []);\n\n const reset = useCallback(() => {\n setState({ ...DEFAULT_STATE, ...initialState });\n }, [initialState]);\n\n const toggle = useCallback(() => {\n setState((previous) => ({ ...previous, collapsed: !previous.collapsed }));\n }, []);\n\n return {\n state,\n setState,\n setCollapsed,\n setPanelWidth,\n setProviderId,\n setModelId,\n setData,\n reset,\n toggle,\n };\n}\n"],"names":["useRef","useEffect","GeoAgentControl","useState","useCallback"],"mappings":";;;;AAIO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,aAAaA,MAAAA,OAA+B,IAAI;AAEtDC,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,IAAK;AAEV,UAAM,UAAU,IAAIC,gBAAAA,gBAAgB,OAAO;AAC3C,eAAW,UAAU;AAErB,QAAI,eAAe;AACjB,cAAQ,GAAG,eAAe,CAAC,UAAU;AACnC,sBAAc,MAAM,KAAK;AAAA,MAC3B,CAAC;AAAA,IACH;AAEA,QAAI,WAAW,SAAS,QAAQ,YAAY,WAAW;AAEvD,WAAO,MAAM;AACX,UAAI,IAAI,WAAW,OAAO,GAAG;AAC3B,YAAI,cAAc,OAAO;AAAA,MAC3B;AACA,iBAAW,UAAU;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AAERD,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,WAAW,SAAS;AACvB;AAAA,IACF;AACA,UAAM,eAAe,WAAW,QAAQ,SAAA;AACxC,QAAI,QAAQ,cAAc,UAAa,QAAQ,cAAc,aAAa,WAAW;AACnF,UAAI,QAAQ,WAAW;AACrB,mBAAW,QAAQ,SAAA;AAAA,MACrB,OAAO;AACL,mBAAW,QAAQ,OAAA;AAAA,MACrB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,SAAS,CAAC;AAEtB,SAAO;AACT;AC7CA,MAAM,gBAA+B;AAAA,EACnC,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,MAAM,CAAA;AACR;AAEO,SAAS,iBAAiB,cAAuC;AACtE,QAAM,CAAC,OAAO,QAAQ,IAAIE,eAAwB;AAAA,IAChD,GAAG;AAAA,IACH,GAAG;AAAA,EAAA,CACJ;AAED,QAAM,eAAeC,kBAAY,CAAC,cAAuB;AACvD,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,YAAY;AAAA,EACrD,GAAG,CAAA,CAAE;AAEL,QAAM,gBAAgBA,kBAAY,CAAC,eAAuB;AACxD,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,aAAa;AAAA,EACtD,GAAG,CAAA,CAAE;AAEL,QAAM,gBAAgBA,kBAAY,CAAC,eAAmC;AACpE,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,aAAa;AAAA,EACtD,GAAG,CAAA,CAAE;AAEL,QAAM,aAAaA,kBAAY,CAAC,YAAoB;AAClD,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,UAAU;AAAA,EACnD,GAAG,CAAA,CAAE;AAEL,QAAM,UAAUA,kBAAY,CAAC,SAAkC;AAC7D,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,MAAM,EAAE,GAAG,SAAS,MAAM,GAAG,KAAA,IAAS;AAAA,EAC/E,GAAG,CAAA,CAAE;AAEL,QAAM,QAAQA,MAAAA,YAAY,MAAM;AAC9B,aAAS,EAAE,GAAG,eAAe,GAAG,cAAc;AAAA,EAChD,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,SAASA,MAAAA,YAAY,MAAM;AAC/B,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,WAAW,CAAC,SAAS,UAAA,EAAY;AAAA,EAC1E,GAAG,CAAA,CAAE;AAEL,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;;;"}
package/dist/react.mjs ADDED
@@ -0,0 +1,94 @@
1
+ import { useRef, useEffect, useState, useCallback } from "react";
2
+ import { G as GeoAgentControl } from "./GeoAgentControl-c10MBYNG.js";
3
+ function GeoAgentControlReact({
4
+ map,
5
+ onStateChange,
6
+ ...options
7
+ }) {
8
+ const controlRef = useRef(null);
9
+ useEffect(() => {
10
+ if (!map) return;
11
+ const control = new GeoAgentControl(options);
12
+ controlRef.current = control;
13
+ if (onStateChange) {
14
+ control.on("statechange", (event) => {
15
+ onStateChange(event.state);
16
+ });
17
+ }
18
+ map.addControl(control, options.position || "top-right");
19
+ return () => {
20
+ if (map.hasControl(control)) {
21
+ map.removeControl(control);
22
+ }
23
+ controlRef.current = null;
24
+ };
25
+ }, [map]);
26
+ useEffect(() => {
27
+ if (!controlRef.current) {
28
+ return;
29
+ }
30
+ const currentState = controlRef.current.getState();
31
+ if (options.collapsed !== void 0 && options.collapsed !== currentState.collapsed) {
32
+ if (options.collapsed) {
33
+ controlRef.current.collapse();
34
+ } else {
35
+ controlRef.current.expand();
36
+ }
37
+ }
38
+ }, [options.collapsed]);
39
+ return null;
40
+ }
41
+ const DEFAULT_STATE = {
42
+ collapsed: true,
43
+ panelWidth: 390,
44
+ busy: false,
45
+ providerId: "openai-responses",
46
+ modelId: "gpt-5.5",
47
+ bedrockRegion: "us-west-2",
48
+ allowCodeExecution: true,
49
+ allowDestructiveTools: true,
50
+ data: {}
51
+ };
52
+ function useGeoAgentState(initialState) {
53
+ const [state, setState] = useState({
54
+ ...DEFAULT_STATE,
55
+ ...initialState
56
+ });
57
+ const setCollapsed = useCallback((collapsed) => {
58
+ setState((previous) => ({ ...previous, collapsed }));
59
+ }, []);
60
+ const setPanelWidth = useCallback((panelWidth) => {
61
+ setState((previous) => ({ ...previous, panelWidth }));
62
+ }, []);
63
+ const setProviderId = useCallback((providerId) => {
64
+ setState((previous) => ({ ...previous, providerId }));
65
+ }, []);
66
+ const setModelId = useCallback((modelId) => {
67
+ setState((previous) => ({ ...previous, modelId }));
68
+ }, []);
69
+ const setData = useCallback((data) => {
70
+ setState((previous) => ({ ...previous, data: { ...previous.data, ...data } }));
71
+ }, []);
72
+ const reset = useCallback(() => {
73
+ setState({ ...DEFAULT_STATE, ...initialState });
74
+ }, [initialState]);
75
+ const toggle = useCallback(() => {
76
+ setState((previous) => ({ ...previous, collapsed: !previous.collapsed }));
77
+ }, []);
78
+ return {
79
+ state,
80
+ setState,
81
+ setCollapsed,
82
+ setPanelWidth,
83
+ setProviderId,
84
+ setModelId,
85
+ setData,
86
+ reset,
87
+ toggle
88
+ };
89
+ }
90
+ export {
91
+ GeoAgentControlReact,
92
+ useGeoAgentState
93
+ };
94
+ //# sourceMappingURL=react.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.mjs","sources":["../src/lib/core/GeoAgentControlReact.tsx","../src/lib/hooks/useGeoAgentState.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { GeoAgentControl } from './GeoAgentControl';\nimport type { GeoAgentControlReactProps } from './types';\n\nexport function GeoAgentControlReact({\n map,\n onStateChange,\n ...options\n}: GeoAgentControlReactProps): null {\n const controlRef = useRef<GeoAgentControl | null>(null);\n\n useEffect(() => {\n if (!map) return;\n\n const control = new GeoAgentControl(options);\n controlRef.current = control;\n\n if (onStateChange) {\n control.on('statechange', (event) => {\n onStateChange(event.state);\n });\n }\n\n map.addControl(control, options.position || 'top-right');\n\n return () => {\n if (map.hasControl(control)) {\n map.removeControl(control);\n }\n controlRef.current = null;\n };\n }, [map]);\n\n useEffect(() => {\n if (!controlRef.current) {\n return;\n }\n const currentState = controlRef.current.getState();\n if (options.collapsed !== undefined && options.collapsed !== currentState.collapsed) {\n if (options.collapsed) {\n controlRef.current.collapse();\n } else {\n controlRef.current.expand();\n }\n }\n }, [options.collapsed]);\n\n return null;\n}\n","import { useCallback, useState } from 'react';\nimport type { GeoAgentProviderId, GeoAgentState } from '../core/types';\n\nconst DEFAULT_STATE: GeoAgentState = {\n collapsed: true,\n panelWidth: 390,\n busy: false,\n providerId: 'openai-responses',\n modelId: 'gpt-5.5',\n bedrockRegion: 'us-west-2',\n allowCodeExecution: true,\n allowDestructiveTools: true,\n data: {},\n};\n\nexport function useGeoAgentState(initialState?: Partial<GeoAgentState>) {\n const [state, setState] = useState<GeoAgentState>({\n ...DEFAULT_STATE,\n ...initialState,\n });\n\n const setCollapsed = useCallback((collapsed: boolean) => {\n setState((previous) => ({ ...previous, collapsed }));\n }, []);\n\n const setPanelWidth = useCallback((panelWidth: number) => {\n setState((previous) => ({ ...previous, panelWidth }));\n }, []);\n\n const setProviderId = useCallback((providerId: GeoAgentProviderId) => {\n setState((previous) => ({ ...previous, providerId }));\n }, []);\n\n const setModelId = useCallback((modelId: string) => {\n setState((previous) => ({ ...previous, modelId }));\n }, []);\n\n const setData = useCallback((data: Record<string, unknown>) => {\n setState((previous) => ({ ...previous, data: { ...previous.data, ...data } }));\n }, []);\n\n const reset = useCallback(() => {\n setState({ ...DEFAULT_STATE, ...initialState });\n }, [initialState]);\n\n const toggle = useCallback(() => {\n setState((previous) => ({ ...previous, collapsed: !previous.collapsed }));\n }, []);\n\n return {\n state,\n setState,\n setCollapsed,\n setPanelWidth,\n setProviderId,\n setModelId,\n setData,\n reset,\n toggle,\n };\n}\n"],"names":[],"mappings":";;AAIO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoC;AAClC,QAAM,aAAa,OAA+B,IAAI;AAEtD,YAAU,MAAM;AACd,QAAI,CAAC,IAAK;AAEV,UAAM,UAAU,IAAI,gBAAgB,OAAO;AAC3C,eAAW,UAAU;AAErB,QAAI,eAAe;AACjB,cAAQ,GAAG,eAAe,CAAC,UAAU;AACnC,sBAAc,MAAM,KAAK;AAAA,MAC3B,CAAC;AAAA,IACH;AAEA,QAAI,WAAW,SAAS,QAAQ,YAAY,WAAW;AAEvD,WAAO,MAAM;AACX,UAAI,IAAI,WAAW,OAAO,GAAG;AAC3B,YAAI,cAAc,OAAO;AAAA,MAC3B;AACA,iBAAW,UAAU;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AAER,YAAU,MAAM;AACd,QAAI,CAAC,WAAW,SAAS;AACvB;AAAA,IACF;AACA,UAAM,eAAe,WAAW,QAAQ,SAAA;AACxC,QAAI,QAAQ,cAAc,UAAa,QAAQ,cAAc,aAAa,WAAW;AACnF,UAAI,QAAQ,WAAW;AACrB,mBAAW,QAAQ,SAAA;AAAA,MACrB,OAAO;AACL,mBAAW,QAAQ,OAAA;AAAA,MACrB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,SAAS,CAAC;AAEtB,SAAO;AACT;AC7CA,MAAM,gBAA+B;AAAA,EACnC,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,MAAM,CAAA;AACR;AAEO,SAAS,iBAAiB,cAAuC;AACtE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAwB;AAAA,IAChD,GAAG;AAAA,IACH,GAAG;AAAA,EAAA,CACJ;AAED,QAAM,eAAe,YAAY,CAAC,cAAuB;AACvD,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,YAAY;AAAA,EACrD,GAAG,CAAA,CAAE;AAEL,QAAM,gBAAgB,YAAY,CAAC,eAAuB;AACxD,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,aAAa;AAAA,EACtD,GAAG,CAAA,CAAE;AAEL,QAAM,gBAAgB,YAAY,CAAC,eAAmC;AACpE,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,aAAa;AAAA,EACtD,GAAG,CAAA,CAAE;AAEL,QAAM,aAAa,YAAY,CAAC,YAAoB;AAClD,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,UAAU;AAAA,EACnD,GAAG,CAAA,CAAE;AAEL,QAAM,UAAU,YAAY,CAAC,SAAkC;AAC7D,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,MAAM,EAAE,GAAG,SAAS,MAAM,GAAG,KAAA,IAAS;AAAA,EAC/E,GAAG,CAAA,CAAE;AAEL,QAAM,QAAQ,YAAY,MAAM;AAC9B,aAAS,EAAE,GAAG,eAAe,GAAG,cAAc;AAAA,EAChD,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,SAAS,YAAY,MAAM;AAC/B,aAAS,CAAC,cAAc,EAAE,GAAG,UAAU,WAAW,CAAC,SAAS,UAAA,EAAY;AAAA,EAC1E,GAAG,CAAA,CAAE;AAEL,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
@@ -0,0 +1,4 @@
1
+ export { GeoAgentControl } from './lib/core/GeoAgentControl';
2
+ export { DEFAULT_BASEMAPS, geoJsonBounds, geoJsonGeometryTypes, geojsonLayerDefs, geojsonLayerPaint, slug, toJsonValue, type BBox, type JsonObject, } from './lib/core/maplibre-tools';
3
+ export type { GeoAgentControlEvent, GeoAgentControlEventHandler, GeoAgentControlOptions, GeoAgentControlReactProps, GeoAgentProviderConfig, GeoAgentProviderId, GeoAgentState, } from './lib/core/types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,mCAAmC,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,IAAI,EACJ,WAAW,EACX,KAAK,IAAI,EACT,KAAK,UAAU,GAChB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { IControl, Map as MapLibreMap } from 'maplibre-gl';
2
+ import { GeoAgentControlEvent, GeoAgentControlEventHandler, GeoAgentControlOptions, GeoAgentState } from './types';
3
+ export declare class GeoAgentControl implements IControl {
4
+ private readonly options;
5
+ private map?;
6
+ private mapContainer?;
7
+ private container?;
8
+ private panel?;
9
+ private ui?;
10
+ private tools?;
11
+ private agent;
12
+ private agentSignature;
13
+ private streamingAssistantTextEl;
14
+ private streamingAssistantText;
15
+ private promptHistory;
16
+ private promptHistoryIndex;
17
+ private promptHistoryDraft;
18
+ private state;
19
+ private eventHandlers;
20
+ private resizeHandler;
21
+ private mapResizeHandler;
22
+ private clickOutsideHandler;
23
+ private panelResizeMoveHandler;
24
+ private panelResizeUpHandler;
25
+ constructor(options?: GeoAgentControlOptions);
26
+ onAdd(map: MapLibreMap): HTMLElement;
27
+ onRemove(): void;
28
+ getState(): GeoAgentState;
29
+ setState(newState: Partial<GeoAgentState>): void;
30
+ toggle(): void;
31
+ expand(): void;
32
+ collapse(): void;
33
+ on(event: GeoAgentControlEvent, handler: GeoAgentControlEventHandler): void;
34
+ off(event: GeoAgentControlEvent, handler: GeoAgentControlEventHandler): void;
35
+ getMap(): MapLibreMap | undefined;
36
+ getContainer(): HTMLElement | undefined;
37
+ getPanel(): HTMLElement | undefined;
38
+ private emit;
39
+ private providerConfigs;
40
+ private providerConfig;
41
+ private initialProviderId;
42
+ private initialModelId;
43
+ private modelStorageKey;
44
+ private bedrockRegionStorageKey;
45
+ private initialBedrockRegion;
46
+ private createContainer;
47
+ private createPanel;
48
+ private requiredElement;
49
+ private populateProviderOptions;
50
+ private wireUiEvents;
51
+ private setupEventListeners;
52
+ private rememberPrompt;
53
+ private applyPromptHistoryValue;
54
+ private handlePromptHistoryKey;
55
+ private constrainPanelWidth;
56
+ private startPanelResize;
57
+ private stopPanelResize;
58
+ private syncUiFromState;
59
+ private currentProviderId;
60
+ private currentProviderConfig;
61
+ private loadProviderSettings;
62
+ private setStatus;
63
+ private appendLog;
64
+ private renderAssistantMarkdown;
65
+ private appendAssistantLog;
66
+ private conversationMarkdown;
67
+ private copyConversationAsMarkdown;
68
+ private updateControls;
69
+ private invalidateAgent;
70
+ private createProviderModel;
71
+ private getAgent;
72
+ private appendAssistantDelta;
73
+ private getStreamingAssistantElement;
74
+ private handleAgentStreamEvent;
75
+ private sendPrompt;
76
+ private getControlPosition;
77
+ private updatePanelPosition;
78
+ }
79
+ //# sourceMappingURL=GeoAgentControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeoAgentControl.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/GeoAgentControl.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AAKhE,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EAGtB,aAAa,EACd,MAAM,SAAS,CAAC;AA2HjB,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGoC;IAC5D,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,EAAE,CAAC,CAAa;IACxB,OAAO,CAAC,KAAK,CAAC,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,wBAAwB,CAA+B;IAC/D,OAAO,CAAC,sBAAsB,CAAM;IACpC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,kBAAkB,CAAM;IAChC,OAAO,CAAC,kBAAkB,CAAM;IAChC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,mBAAmB,CAA0C;IACrE,OAAO,CAAC,sBAAsB,CAA0C;IACxE,OAAO,CAAC,oBAAoB,CAA6B;gBAE7C,OAAO,GAAE,sBAA2B;IA+BhD,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW;IA0BpC,QAAQ,IAAI,IAAI;IAkChB,QAAQ,IAAI,aAAa;IAOzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IA+BhD,MAAM,IAAI,IAAI;IAId,MAAM,IAAI,IAAI;IAMd,QAAQ,IAAI,IAAI;IAMhB,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI;IAO3E,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI;IAI5E,MAAM,IAAI,WAAW,GAAG,SAAS;IAIjC,YAAY,IAAI,WAAW,GAAG,SAAS;IAIvC,QAAQ,IAAI,WAAW,GAAG,SAAS;IAInC,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,WAAW;IAqHnB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,YAAY;IAyFpB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,oBAAoB;YAoBd,0BAA0B;IAyBxC,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,eAAe;YAKT,mBAAmB;YA6CnB,QAAQ;IA6CtB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,4BAA4B;IAIpC,OAAO,CAAC,sBAAsB;YAwBhB,UAAU;IA6CxB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,mBAAmB;CAyC5B"}
@@ -0,0 +1,3 @@
1
+ import { GeoAgentControlReactProps } from './types';
2
+ export declare function GeoAgentControlReact({ map, onStateChange, ...options }: GeoAgentControlReactProps): null;
3
+ //# sourceMappingURL=GeoAgentControlReact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeoAgentControlReact.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/GeoAgentControlReact.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,aAAa,EACb,GAAG,OAAO,EACX,EAAE,yBAAyB,GAAG,IAAI,CAwClC"}
@@ -0,0 +1,66 @@
1
+ import { JSONValue, Tool } from '@strands-agents/sdk';
2
+ import { Map as MapLibreMap, StyleSpecification } from 'maplibre-gl';
3
+ export type JsonObject = Record<string, unknown>;
4
+ export type BBox = [number, number, number, number];
5
+ interface GeoJsonLayerDefinition {
6
+ id: string;
7
+ suffix: string;
8
+ type: 'fill' | 'line' | 'circle';
9
+ filter: unknown[];
10
+ paint: JsonObject;
11
+ }
12
+ export declare const DEFAULT_BASEMAPS: Record<string, string | StyleSpecification>;
13
+ export declare function numberArg(args: JsonObject, key: string): number;
14
+ export declare function stringArg(args: JsonObject, key: string, fallback?: string): string;
15
+ export declare function objectArg(args: JsonObject, key: string): JsonObject;
16
+ export declare function slug(value: unknown): string;
17
+ export declare function extendBounds(bounds: BBox | null, coordinate: unknown): BBox | null;
18
+ export declare function extendGeometryBounds(bounds: BBox | null, geometry: GeoJSON.Geometry | null | undefined): BBox | null;
19
+ export declare function geoJsonBounds(geojson: GeoJSON.GeoJSON | undefined): BBox | null;
20
+ export declare function geoJsonGeometryTypes(geojson: GeoJSON.GeoJSON | undefined): Set<GeoJSON.GeoJsonGeometryTypes>;
21
+ export declare function geojsonLayerPaint(style: JsonObject): {
22
+ fill: JsonObject;
23
+ line: JsonObject;
24
+ circle: JsonObject;
25
+ };
26
+ export declare function geojsonLayerDefs(baseId: string, paint: ReturnType<typeof geojsonLayerPaint>, geojson: GeoJSON.GeoJSON | undefined): GeoJsonLayerDefinition[];
27
+ export declare function toJsonValue(value: unknown): JSONValue;
28
+ export interface MapLibreAgentToolsOptions {
29
+ basemaps?: Record<string, string | StyleSpecification>;
30
+ allowCodeExecution: () => boolean;
31
+ allowDestructiveTools: () => boolean;
32
+ }
33
+ export declare class MapLibreAgentTools {
34
+ private readonly map;
35
+ private readonly basemaps;
36
+ private readonly allowCodeExecution;
37
+ private readonly allowDestructiveTools;
38
+ private readonly overlays;
39
+ private layerControl;
40
+ private pendingLayerControlInstallHandler;
41
+ constructor(map: MapLibreMap, options: MapLibreAgentToolsOptions);
42
+ destroy(): void;
43
+ installDefaultLayerControl(): void;
44
+ createTools(): Tool[];
45
+ runCommand(command: string, args?: unknown): Promise<JSONValue>;
46
+ private executeCommand;
47
+ private waitForMapIdle;
48
+ private uniqueSourceId;
49
+ private uniqueLayerBaseId;
50
+ private isOverlayLayerId;
51
+ private removeOverlay;
52
+ private clearOverlays;
53
+ private serializableFeature;
54
+ private fetchGeoJson;
55
+ private zoomToGeoJsonBounds;
56
+ private addGeoJsonOverlay;
57
+ private addRasterOverlay;
58
+ private addMarkerOverlay;
59
+ private runMapLibreScript;
60
+ private restoreOverlaysAfterStyleChange;
61
+ private installLayerControl;
62
+ private removeLayerControl;
63
+ private requireDestructiveApproval;
64
+ }
65
+ export {};
66
+ //# sourceMappingURL=maplibre-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maplibre-tools.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/maplibre-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ import { Map, StyleSpecification } from 'maplibre-gl';
2
+ export type GeoAgentProviderId = 'openai-responses' | 'openai-chat' | 'anthropic' | 'google' | 'bedrock';
3
+ export interface GeoAgentProviderConfig {
4
+ id: GeoAgentProviderId;
5
+ label: string;
6
+ keyLabel: string;
7
+ keyPlaceholder: string;
8
+ storageKey: string;
9
+ defaultModel: string;
10
+ defaultRegion?: string;
11
+ }
12
+ export interface GeoAgentControlOptions {
13
+ /**
14
+ * Whether the panel should start collapsed.
15
+ * @default true
16
+ */
17
+ collapsed?: boolean;
18
+ /**
19
+ * Position of the control button on the map.
20
+ * @default 'top-right'
21
+ */
22
+ position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
23
+ /**
24
+ * Title displayed in the control header.
25
+ * @default 'GeoAgent'
26
+ */
27
+ title?: string;
28
+ /**
29
+ * Width of the floating panel in pixels.
30
+ * @default 390
31
+ */
32
+ panelWidth?: number;
33
+ /**
34
+ * Minimum resizable panel width in pixels.
35
+ * @default 320
36
+ */
37
+ panelMinWidth?: number;
38
+ /**
39
+ * Maximum resizable panel width in pixels.
40
+ * @default 720
41
+ */
42
+ panelMaxWidth?: number;
43
+ /**
44
+ * Custom CSS class name for the control button container.
45
+ */
46
+ className?: string;
47
+ /**
48
+ * Initial provider when there is no stored provider preference.
49
+ * @default 'openai-responses'
50
+ */
51
+ defaultProvider?: GeoAgentProviderId;
52
+ /**
53
+ * Override the default model for all providers or selected providers.
54
+ */
55
+ defaultModel?: string | Partial<Record<GeoAgentProviderId, string>>;
56
+ /**
57
+ * Prefix for sessionStorage keys.
58
+ * @default 'geoagent.maplibre'
59
+ */
60
+ storagePrefix?: string;
61
+ /**
62
+ * Whether the optional MapLibre JavaScript execution tool starts enabled.
63
+ * @default true
64
+ */
65
+ allowCodeExecutionDefault?: boolean;
66
+ /**
67
+ * Whether destructive layer removal tools start enabled.
68
+ * @default true
69
+ */
70
+ allowDestructiveToolsDefault?: boolean;
71
+ /**
72
+ * Whether to show the permission toggles in the panel.
73
+ * @default false
74
+ */
75
+ showPermissionToggles?: boolean;
76
+ /**
77
+ * Known basemap style IDs available to the agent.
78
+ */
79
+ basemaps?: Record<string, string | StyleSpecification>;
80
+ }
81
+ export interface GeoAgentState {
82
+ collapsed: boolean;
83
+ panelWidth: number;
84
+ busy: boolean;
85
+ providerId: GeoAgentProviderId;
86
+ modelId: string;
87
+ bedrockRegion: string;
88
+ allowCodeExecution: boolean;
89
+ allowDestructiveTools: boolean;
90
+ data?: Record<string, unknown>;
91
+ }
92
+ export interface GeoAgentControlReactProps extends GeoAgentControlOptions {
93
+ map: Map;
94
+ onStateChange?: (state: GeoAgentState) => void;
95
+ }
96
+ export type GeoAgentControlEvent = 'collapse' | 'expand' | 'statechange';
97
+ export type GeoAgentControlEventHandler = (event: {
98
+ type: GeoAgentControlEvent;
99
+ state: GeoAgentState;
100
+ }) => void;
101
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,aAAa,GACb,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,kBAAkB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IAErE;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,eAAe,CAAC,EAAE,kBAAkB,CAAC;IAErC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpE;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;OAGG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACvE,GAAG,EAAE,GAAG,CAAC;IACT,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAChD;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEzE,MAAM,MAAM,2BAA2B,GAAG,CAAC,KAAK,EAAE;IAChD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;CACtB,KAAK,IAAI,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { useGeoAgentState } from './useGeoAgentState';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { GeoAgentProviderId, GeoAgentState } from '../core/types';
2
+ export declare function useGeoAgentState(initialState?: Partial<GeoAgentState>): {
3
+ state: GeoAgentState;
4
+ setState: import('react').Dispatch<import('react').SetStateAction<GeoAgentState>>;
5
+ setCollapsed: (collapsed: boolean) => void;
6
+ setPanelWidth: (panelWidth: number) => void;
7
+ setProviderId: (providerId: GeoAgentProviderId) => void;
8
+ setModelId: (modelId: string) => void;
9
+ setData: (data: Record<string, unknown>) => void;
10
+ reset: () => void;
11
+ toggle: () => void;
12
+ };
13
+ //# sourceMappingURL=useGeoAgentState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGeoAgentState.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/useGeoAgentState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAcvE,wBAAgB,gBAAgB,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;;;8BAMvB,OAAO;gCAIL,MAAM;gCAIN,kBAAkB;0BAIxB,MAAM;oBAIZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;EAuB3D"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Clamps a value between a minimum and maximum.
3
+ *
4
+ * @param value - The value to clamp
5
+ * @param min - The minimum allowed value
6
+ * @param max - The maximum allowed value
7
+ * @returns The clamped value
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * clamp(5, 0, 10); // returns 5
12
+ * clamp(-5, 0, 10); // returns 0
13
+ * clamp(15, 0, 10); // returns 10
14
+ * ```
15
+ */
16
+ export declare function clamp(value: number, min: number, max: number): number;
17
+ /**
18
+ * Formats a numeric value with appropriate decimal places based on step size.
19
+ *
20
+ * @param value - The value to format
21
+ * @param step - The step size to determine decimal places
22
+ * @returns The formatted value as a string
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * formatNumericValue(5, 1); // returns "5"
27
+ * formatNumericValue(0.5, 0.1); // returns "0.5"
28
+ * formatNumericValue(0.55, 0.01); // returns "0.55"
29
+ * ```
30
+ */
31
+ export declare function formatNumericValue(value: number, step: number): string;
32
+ /**
33
+ * Generates a unique ID string.
34
+ *
35
+ * @param prefix - Optional prefix for the ID
36
+ * @returns A unique ID string
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * generateId('control'); // returns "control-abc123"
41
+ * generateId(); // returns "abc123"
42
+ * ```
43
+ */
44
+ export declare function generateId(prefix?: string): string;
45
+ /**
46
+ * Debounces a function call.
47
+ *
48
+ * @param fn - The function to debounce
49
+ * @param delay - The delay in milliseconds
50
+ * @returns A debounced version of the function
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const debouncedUpdate = debounce(() => updateMap(), 100);
55
+ * window.addEventListener('resize', debouncedUpdate);
56
+ * ```
57
+ */
58
+ export declare function debounce<T extends (...args: unknown[]) => void>(fn: T, delay: number): (...args: Parameters<T>) => void;
59
+ /**
60
+ * Throttles a function call.
61
+ *
62
+ * @param fn - The function to throttle
63
+ * @param limit - The minimum time between calls in milliseconds
64
+ * @returns A throttled version of the function
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * const throttledScroll = throttle(() => handleScroll(), 100);
69
+ * window.addEventListener('scroll', throttledScroll);
70
+ * ```
71
+ */
72
+ export declare function throttle<T extends (...args: unknown[]) => void>(fn: T, limit: number): (...args: Parameters<T>) => void;
73
+ /**
74
+ * Creates a CSS class string from an object of class names.
75
+ *
76
+ * @param classes - Object with class names as keys and boolean values
77
+ * @returns A space-separated string of class names
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * classNames({ active: true, disabled: false, visible: true });
82
+ * // returns "active visible"
83
+ * ```
84
+ */
85
+ export declare function classNames(classes: Record<string, boolean>): string;
86
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAItE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAC7D,EAAE,EAAE,CAAC,EACL,KAAK,EAAE,MAAM,GACZ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAYlC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAC7D,EAAE,EAAE,CAAC,EACL,KAAK,EAAE,MAAM,GACZ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAYlC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAKnE"}
@@ -0,0 +1,2 @@
1
+ export { clamp, formatNumericValue, generateId, debounce, throttle, classNames, } from './helpers';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,MAAM,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { GeoAgentControlReact } from './lib/core/GeoAgentControlReact';
2
+ export { useGeoAgentState } from './lib/hooks';
3
+ export type { GeoAgentControlEvent, GeoAgentControlEventHandler, GeoAgentControlOptions, GeoAgentControlReactProps, GeoAgentProviderConfig, GeoAgentProviderId, GeoAgentState, } from './lib/core/types';
4
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,YAAY,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,aAAa,GACd,MAAM,kBAAkB,CAAC"}