@tomtom-org/maps-sdk-plugin-agent-toolkit 0.2.12 → 0.3.1
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/LICENSE.txt +78 -80
- package/README.md +27 -92
- package/dist/index.d.ts +22159 -22
- package/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/package.json +8 -8
package/LICENSE.txt
CHANGED
|
@@ -1,164 +1,162 @@
|
|
|
1
1
|
TOMTOM MAPS SDK FOR JAVASCRIPT LICENSE AGREEMENT (“AGREEMENT”)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Last update: 29 May 2026
|
|
4
4
|
|
|
5
|
-
By downloading, accessing this the “TomTom Maps SDK for JavaScript”, you are entering into a binding agreement with TomTom Global Content B.V. (“TomTom”). The 'TomTom Maps SDK for JavaScript' includes all software, binaries, and source code made available by TomTom, whether through the TomTom developer portal or public code repositories (e.g., GitHub)." Your agreement with TomTom includes the following terms and conditions and the Privacy Policy (https://www.tomtom.com/privacy/). You should not use the TomTom Maps SDK for JavaScript if you cannot agree to this Agreement and the Privacy Policy.
|
|
6
5
|
|
|
7
|
-
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
By downloading, accessing the “TomTom Maps SDK for JavaScript”, you are entering into a binding agreement with TomTom Global Content B.V. (“TomTom”). The 'TomTom Maps SDK for JavaScript' includes all software, binaries, and source code made available by TomTom, whether through the TomTom developer portal or public code repositories (e.g., GitHub)." Your agreement with TomTom includes the following terms and conditions and the Privacy Policy (Data Processing Schedule | TomTom). You should not use the TomTom Maps SDK for JavaScript if you cannot agree to this Agreement and the Privacy Policy.
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
You may not use the TomTom Maps SDK for JavaScript and may not accept the Agreement if you are a person barred from receiving the TomTom Maps SDK for JavaScript under the laws of the European Union or other countries, including the country in which you are resident or from which you use the TomTom Maps SDK for JavaScript. If you agree to be bound by the Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to the Agreement. If you do not have the requisite authority, you may not accept the Agreement or use the TomTom Maps SDK for JavaScript on behalf of your employer or other entity.
|
|
12
10
|
|
|
13
|
-
1. GRANT OF LICENSE: Subject to and conditional upon your compliance at all times with this Agreement, TomTom grants to you a limited, non-exclusive, non-transferable and non-sublicensable, revocable, royalty-free license during the Term (as defined in Clause 9) to use the TomTom Maps SDK for JavaScript in connection with the development of web based applications or mobile applications to be used in connection with the TomTom Maps APIs and, in addition, third party online APIs (“Permitted Applications”). For the avoidance of doubt, you must use the TomTom Maps APIs in connection with the TomTom Maps SDK for JavaScript. Any such Permitted Application and use of the TomTom Maps APIs shall be subject to TomTom’s standard terms of use applicable to the TomTom Maps APIs as made available on the TomTom developer portal or any other specific written agreement that you and TomTom have executed regarding the use of the TomTom Maps APIs.
|
|
14
11
|
|
|
15
|
-
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
1. GRANT OF LICENSE: Subject to and conditional upon your compliance at all times with this Agreement, TomTom grants to you a limited, non-exclusive, non-transferable and non-sublicensable, revocable, royalty-free license during the Term (as defined in Clause 9) to use the TomTom Maps SDK for JavaScript in connection with the development of web based applications or mobile applications to be used in connection with the TomTom APIs and, in addition, third party online APIs (“Permitted Applications”). For the avoidance of doubt, you must use the TomTom APIs in connection with the TomTom Maps SDK for JavaScript. Any such Permitted Application and use of the TomTom APIs shall be subject to TomTom’s standard terms of use applicable to the TomTom APIs as made available on the TomTom developer portal or any other specific written agreement that you and TomTom have executed regarding the use of the TomTom APIs.
|
|
18
14
|
|
|
19
|
-
|
|
20
15
|
|
|
21
|
-
3. YOUR FURTHER OBLIGATIONS:
|
|
22
16
|
|
|
23
|
-
|
|
17
|
+
2. UPDATES AND CHANGES TO THE TOMTOM MAPS SDK FOR JAVASCRIPT AND THIS AGREEMENT: TomTom reserves the right, with or without notice and at its sole discretion, to discontinue, update, modify, upgrade and supplement any of the TomTom Maps SDK for JavaScript or any features within the TomTom Maps SDK for JavaScript and to modify this Agreement. You agree that future versions of the TomTom Maps SDK for JavaScript may be incompatible with applications that were developed on previous versions of the TomTom Maps SDK for JavaScript.
|
|
24
18
|
|
|
25
|
-
3.1. You agree to use the TomTom Maps SDK for JavaScript only for purposes that are permitted by (a) this Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
|
|
26
19
|
|
|
27
|
-
|
|
28
20
|
|
|
29
|
-
3.
|
|
21
|
+
3. YOUR FURTHER OBLIGATIONS:
|
|
30
22
|
|
|
31
|
-
|
|
32
23
|
|
|
33
|
-
3.3. You may not use the TomTom Maps SDK for JavaScript in connection with any illegal, fraudulent, dishonest or unethical activity or behaviour, specially to create, develop, or help others create or develop a product, service, or library that competes, directly or indirectly, with the TomTom Maps SDK or the TomTom Maps APIs.
|
|
34
24
|
|
|
35
|
-
|
|
25
|
+
3.1. You agree to use the TomTom Maps SDK for JavaScript only for purposes that are permitted by (a) this Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
|
|
36
26
|
|
|
37
|
-
3.4. You shall be permitted to display TomTom Maps APIs results (“Results”) on third party content or map data provided that nothing shall entitle you to add or incorporate Results into the OSM or any other open source database. You shall also be permitted to display Results from third party content or map data on a TomTom map as a separate layer.
|
|
38
27
|
|
|
39
|
-
|
|
40
28
|
|
|
41
|
-
3.
|
|
29
|
+
3.2. Other than as permitted by applicable legislation, you are prohibited from copying (except for backup purposes), modifying, adapting, (re)distributing, renting, lending, publicly presenting, decompiling, reverse engineering, disassembling, or creating derivative works of the TomTom Maps SDK for JavaScript or any part of the TomTom Maps SDK for JavaScript. Notwithstanding the foregoing, if the TomTom Maps SDK is hosted on a public repository (e.g. GitHub, which allows forking under its terms of service), you may: (i) fork the repository solely for the purpose of submitting a Pull Request to TomTom, provided that such fork remains hosted within the platform and may not be used as a basis for a separate or competing product or service; and (ii) download a local copy of the source code solely for the purpose of debugging your Permitted Application, provided that such copy is not shared or redistributed. The availability of the source code in a public repository, and any rights granted by that platform's terms of service with respect to viewing or forking within the platform, do not constitute — and shall not be construed as — a grant of rights to modify, fork, or redistribute.
|
|
42
30
|
|
|
43
|
-
|
|
44
31
|
|
|
45
|
-
|
|
46
32
|
|
|
47
|
-
|
|
33
|
+
3.3. You may not use the TomTom Maps SDK for JavaScript in connection with any illegal, fraudulent, dishonest or unethical activity or behaviour, specially to create, develop, or help others create or develop a product, service, or library that competes, directly or indirectly, with the TomTom Maps SDK or the TomTom APIs.
|
|
48
34
|
|
|
49
|
-
|
|
50
35
|
|
|
51
|
-
5. INTELLECTUAL PROPERTY RIGHTS AND COPYRIGHT NOTICES:
|
|
52
36
|
|
|
53
|
-
|
|
37
|
+
3.4. You shall be permitted to display TomTom APIs results (“Results”) on third party content or map data provided that nothing shall entitle you to add or incorporate Results into the OSM or any other open source database. You shall also be permitted to display Results from third party content or map data on a TomTom map as a separate layer.
|
|
54
38
|
|
|
55
|
-
5.1. All intellectual property rights related to the TomTom Maps SDK for JavaScript and to the TomTom Maps APIs are owned by TomTom and/or its licensors and suppliers. However, TomTom agrees that it obtains no intellectual property rights under this Agreement in or to any Permitted Application that you develop using the TomTom Maps SDK for JavaScript and the TomTom Maps APIs.
|
|
56
39
|
|
|
57
|
-
|
|
58
40
|
|
|
59
|
-
5.
|
|
41
|
+
3.5. The TomTom Maps SDK for JavaScript may include data which TomTom licenses from third parties or open-source software. You shall comply with all requirements and restrictions which such third parties may require TomTom to impose on you (and as may be updated and amended by TomTom from time to time). It shall be your responsibility to check, review and comply with any updated or amended terms that would apply to the TomTom Maps SDK for JavaScript licensed to you under this Agreement. For the avoidance of doubt, any such software is made available to you under the terms and conditions of the applicable licenses. In the event of a conflict between this Agreement and an Open-Source license governing a specific dependency, the Open Source license shall prevail solely with respect to that dependency.
|
|
60
42
|
|
|
61
|
-
|
|
62
43
|
|
|
63
|
-
|
|
64
44
|
|
|
65
|
-
|
|
45
|
+
4. PRIVACY: In order to improve the TomTom Developer Portal and TomTom Maps SDK for JavaScript, TomTom may collect certain usage related information from the software including but not limited to the general SDK and product identifiers, version numbers, and information on which tools and/or services in the TomTom Maps SDK for JavaScript are being used and how they are being used by you. In addition, TomTom may collect your unique identifier and associated IP address for legitimate business reasons (such as without limitation the processing of invoices). This data will be retained for a maximum period of 120 days. The information collected is maintained in accordance with our Privacy Policy.
|
|
66
46
|
|
|
67
|
-
|
|
68
47
|
|
|
69
|
-
6.1. YOU ACKNOWLEDGE THAT THE TOMTOM MAPS SDK FOR JAVASCRIPT HAS NOT BEEN DEVELOPED TO MEET YOUR INDIVIDUAL REQUIREMENTS AND THAT IT IS THEREFORE YOUR RESPONSIBILITY TO ENSURE THAT THE FACILITIES AND FUNCTIONS OF THE TOMTOM MAPS SDK FOR JAVASCRIPT MEET YOUR REQUIREMENTS. TOMTOM DOES NOT AND CANNOT WARRANT THAT THE TOMTOM MAPS SDK FOR JAVASCRIPT OPERATES UNINTERRUPTED OR ERROR-FREE. TOMTOM DOES NOT WARRANT THAT THE TOMTOM MAPS SDK FOR JAVASCRIPT IS CAPABLE OF INTEROPERATING WITH ANY OTHER SYSTEM, DEVICE OR PRODUCT (EITHER SOFTWARE OR HARDWARE).
|
|
70
48
|
|
|
71
|
-
|
|
49
|
+
5. INTELLECTUAL PROPERTY RIGHTS AND COPYRIGHT NOTICES:
|
|
72
50
|
|
|
73
|
-
6.2. YOUR USE OF THE TOMTOM MAPS SDK FOR JAVASCRIPT AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE TOMTOM MAPS SDK FOR JAVASCRIPT IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICES OR ANY LOSS OF DATA THAT RESULTS FROM SUCH USE.
|
|
74
51
|
|
|
75
|
-
|
|
76
52
|
|
|
77
|
-
|
|
53
|
+
5.1. All intellectual property rights related to the TomTom Maps SDK for JavaScript and to the TomTom APIs are owned by TomTom and/or its licensors and suppliers. However, TomTom agrees that it obtains no intellectual property rights under this Agreement in or to any Permitted Application that you develop using the TomTom Maps SDK for JavaScript and the TomTom APIs.
|
|
78
54
|
|
|
79
|
-
|
|
80
55
|
|
|
81
|
-
6.4. THE PROVISIONS OF THIS CLAUSE DO NOT AFFECT ANY OF YOUR LEGAL RIGHTS UNDER APPLICABLE MANDATORY NATIONAL LEGISLATION, INCLUDING BUT NOT LIMITED TO ANY MANDATORY STATUTORY WARRANTIES. IF ANY PART OF THIS LIMITED WARRANTY IS HELD TO BE INVALID OR UNENFORCEABLE, THE REMAINDER OF THE LIMITED WARRANTY SHALL NONETHELESS REMAIN IN FULL FORCE AND EFFECT.
|
|
82
56
|
|
|
83
|
-
|
|
57
|
+
5.2. Your use of any trade names, logos, trademarks, service marks and other marks of TomTom is subject to TomTom’s prior written approval. Any goodwill arising out of the use thereof shall inure to the benefit of TomTom. In addition, you agree not to remove, obscure, mask or change any logo and/or copyright notice placed on or automatically generated by the TomTom Maps SDK for JavaScript or the TomTom APIs.
|
|
84
58
|
|
|
85
|
-
|
|
86
59
|
|
|
87
|
-
7. LIMITATION OF LIABILITY:
|
|
88
60
|
|
|
89
|
-
|
|
90
61
|
|
|
91
|
-
7.1. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NEITHER TOMTOM NOR ITS LICENSORS, SUPPLIERS, OFFICERS, DIRECTORS OR EMPLOYEES SHALL BE LIABLE TO YOU OR TO ANY THIRD PARTY FOR ANY DAMAGES, WHETHER DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL (INCLUDING BUT NOT LIMITED TO DAMAGES FOR THE INABILITY TO USE OR ACCESS THE TOMTOM MAPS SDK FOR JAVASCRIPT OR TOMTOM MAPS APIS, LOSS OF DATA, LOSS OF BUSINESS, LOSS OF PROFITS, BUSINESS INTERRUPTION OR THE LIKE) ARISING OUT OF OR RELATED TO THE USE OF, THE INABILITY TO USE OR ACCESS, OR OTHERWISE THE PERFORMANCE OF THE TOMTOM MAPS SDK FOR JAVASCRIPT, EVEN IF TOMTOM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
92
62
|
|
|
93
|
-
|
|
63
|
+
6. WARRANTIES:
|
|
94
64
|
|
|
95
|
-
7.2. TO THE EXTENT TOMTOM IS NOT PERMITTED UNDER APPLICABLE LAW TO EXCLUDE ITS LIABILITY PURSUANT TO CLAUSE 7.1 ABOVE, TOMTOM’S TOTAL AGGREGATE LIABILITY TO YOU SHALL BE LIMITED TO THE AMOUNT OF EUR100.00.
|
|
96
65
|
|
|
97
|
-
|
|
98
66
|
|
|
99
|
-
|
|
67
|
+
6.1. YOU ACKNOWLEDGE THAT THE TOMTOM MAPS SDK FOR JAVASCRIPT HAS NOT BEEN DEVELOPED TO MEET YOUR INDIVIDUAL REQUIREMENTS AND THAT IT IS THEREFORE YOUR RESPONSIBILITY TO ENSURE THAT THE FACILITIES AND FUNCTIONS OF THE TOMTOM MAPS SDK FOR JAVASCRIPT MEET YOUR REQUIREMENTS. TOMTOM DOES NOT AND CANNOT WARRANT THAT THE TOMTOM MAPS SDK FOR JAVASCRIPT OPERATES UNINTERRUPTED OR ERROR-FREE. TOMTOM DOES NOT WARRANT THAT THE TOMTOM MAPS SDK FOR JAVASCRIPT IS CAPABLE OF INTEROPERATING WITH ANY OTHER SYSTEM, DEVICE OR PRODUCT (EITHER SOFTWARE OR HARDWARE).
|
|
100
68
|
|
|
101
|
-
|
|
102
69
|
|
|
103
|
-
|
|
104
70
|
|
|
105
|
-
|
|
71
|
+
6.2. YOUR USE OF THE TOMTOM MAPS SDK FOR JAVASCRIPT AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE TOMTOM MAPS SDK FOR JAVASCRIPT IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICES OR ANY LOSS OF DATA THAT RESULTS FROM SUCH USE.
|
|
106
72
|
|
|
107
|
-
|
|
108
73
|
|
|
109
|
-
9. TERM AND TERMINATION AND DIRECT ENFORCEMENT:
|
|
110
74
|
|
|
111
|
-
|
|
75
|
+
6.3. WITHOUT LIMITING CLAUSES 6.1 AND 6.2 ABOVE, THE TOMTOM MAPS SDK FOR JAVASCRIPT IS PROVIDED ON AN “AS IS” AND WITH “ALL FAULTS BASIS” AND TOMTOM EXPRESSLY DISCLAIMS ALL OTHER WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, SATISFACTORY QUALITY, ACCURACY, TITLE AND FITNESS FOR A PARTICULAR PURPOSE.
|
|
112
76
|
|
|
113
|
-
9.1. This Agreement begins on either (a) the date you demonstrate your acceptance of the terms and conditions of this Agreement or (b) when you first use the TomTom Maps SDK for JavaScript and shall continue until terminated (jointly the “Term”) by either TomTom or you subject to and in accordance with this Agreement. The provisions of this Agreement, which by their nature are intended to survive termination, will remain in effect after termination of this Agreement. Furthermore, you agree that TomTom may directly enforce these provisions against you.
|
|
114
77
|
|
|
115
|
-
|
|
116
78
|
|
|
117
|
-
|
|
79
|
+
6.4. THE PROVISIONS OF THIS CLAUSE DO NOT AFFECT ANY OF YOUR LEGAL RIGHTS UNDER APPLICABLE MANDATORY NATIONAL LEGISLATION, INCLUDING BUT NOT LIMITED TO ANY MANDATORY STATUTORY WARRANTIES. IF ANY PART OF THIS LIMITED WARRANTY IS HELD TO BE INVALID OR UNENFORCEABLE, THE REMAINDER OF THE LIMITED WARRANTY SHALL NONETHELESS REMAIN IN FULL FORCE AND EFFECT.
|
|
118
80
|
|
|
119
|
-
|
|
120
81
|
|
|
121
|
-
9.3. You may terminate this Agreement by ceasing your use of the TomTom Maps SDK for JavaScript at any time.
|
|
122
82
|
|
|
123
|
-
|
|
124
83
|
|
|
125
|
-
|
|
126
84
|
|
|
127
|
-
|
|
85
|
+
7. LIMITATION OF LIABILITY:
|
|
128
86
|
|
|
129
|
-
|
|
130
87
|
|
|
131
|
-
10.1. If you, your employer or the entity on whose behalf you act is incorporated in the European Union then this Agreement and any dispute arising under or in connection with it, including any non-contractual claims and disputes, shall be governed by and construed in accordance with the laws of the Netherlands. The applicability of the United Nations Convention on Contracts for the International Sale of Goods is explicitly excluded. You and TomTom hereby irrevocably submit to the exclusive jurisdiction of the courts of Amsterdam, the Netherlands in respect of any dispute arising under or in connection with this Agreement, including any non-contractual claims or disputes.
|
|
132
88
|
|
|
133
|
-
|
|
89
|
+
7.1. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NEITHER TOMTOM NOR ITS LICENSORS, SUPPLIERS, OFFICERS, DIRECTORS OR EMPLOYEES SHALL BE LIABLE TO YOU OR TO ANY THIRD PARTY FOR ANY DAMAGES, WHETHER DIRECT, SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL (INCLUDING BUT NOT LIMITED TO DAMAGES FOR THE INABILITY TO USE OR ACCESS THE TOMTOM MAPS SDK FOR JAVASCRIPT OR TOMTOM APIS, LOSS OF DATA, LOSS OF BUSINESS, LOSS OF PROFITS, BUSINESS INTERRUPTION OR THE LIKE) ARISING OUT OF OR RELATED TO THE USE OF, THE INABILITY TO USE OR ACCESS, OR OTHERWISE THE PERFORMANCE OF THE TOMTOM MAPS SDK FOR JAVASCRIPT, EVEN IF TOMTOM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
134
90
|
|
|
135
|
-
10.2. If you, your employer or the entity on whose behalf you act is incorporated outside of European Union, then this Agreement and any dispute arising under or in connection with it, including any non-contractual claims and disputes, shall be governed by and construed in accordance with the laws of the Netherlands. All disputes arising in connection with the Agreement, including any non-contractual claims or disputes, shall be settled in accordance with the Arbitration Rules of the Netherlands Arbitration Institute. The arbitral tribunal shall be composed of three (3) arbitrators. The place or arbitration shall be Amsterdam and the language of the arbitration shall be English. Consolidation of the arbitral proceedings with other arbitral proceedings, as provided for in Article 1046 of the Dutch Code of Civil Procedure and Article 39 of the Arbitration Rules of the Netherlands Arbitration Institute, is excluded.
|
|
136
91
|
|
|
137
|
-
|
|
138
92
|
|
|
139
|
-
|
|
93
|
+
7.2. TO THE EXTENT TOMTOM IS NOT PERMITTED UNDER APPLICABLE LAW TO EXCLUDE ITS LIABILITY PURSUANT TO CLAUSE 7.1 ABOVE, TOMTOM’S TOTAL AGGREGATE LIABILITY TO YOU SHALL BE LIMITED TO THE AMOUNT OF EUR100.00.
|
|
140
94
|
|
|
141
|
-
--
|
|
142
95
|
|
|
143
|
-
|
|
144
96
|
|
|
145
|
-
|
|
97
|
+
7.3. THE ABOVE LIMITATIONS OF LIABILITY UNDER THIS CLAUSE 7 DO NOT: (I) AFFECT YOUR RIGHTS UNDER ANY APPLICABLE MANDATORY NATIONAL LEGISLATION; (II) EXCLUDE OR LIMIT ANY LIABILITY THAT CANNOT BE EXCLUDED OR LIMITED UNDER APPLICABLE LAW.
|
|
146
98
|
|
|
147
|
-
|
|
148
99
|
|
|
149
|
-
11.1. No failure or delay by TomTom to exercise any right or remedy provided under this Agreement or by law shall constitute a waiver of that or any other right or remedy, nor shall it preclude or restrict the further exercise of that or any other right or remedy. No single or partial exercise of such right or remedy shall preclude or restrict the further exercise of that or any other right or remedy.
|
|
150
100
|
|
|
151
|
-
|
|
152
101
|
|
|
153
|
-
11.2. Should for any reason, or to any extent, any provision of this Agreement be held invalid or unenforceable, such invalidity or enforceability shall not affect or render invalid or unenforceable the remaining provisions of this Agreement and the application of that provision shall be enforced to the extent permitted by law.
|
|
154
102
|
|
|
155
|
-
|
|
103
|
+
8. IPR INDMENITY: To the maximum extent permitted by law, you agree to defend, indemnify and hold TomTom and its respective directors, officers, employees, affiliates, agents and suppliers harmless from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorney’s fees) arising out of or accruing from (a) your use of the TomTom Maps SDK for JavaScript, (b) any application you develop on the TomTom Maps SDK for JavaScript that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this Agreement.
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
9. TERM AND TERMINATION AND DIRECT ENFORCEMENT:
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
9.1. This Agreement begins on either (a) the date you demonstrate your acceptance of the terms and conditions of this Agreement or (b) when you first use the TomTom Maps SDK for JavaScript and shall continue until terminated (jointly the “Term”) by either TomTom or you subject to and in accordance with this Agreement. The provisions of this Agreement, which by their nature are intended to survive termination, will remain in effect after termination of this Agreement. Furthermore, you agree that TomTom may directly enforce these provisions against you.
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
9.2. Without prejudice to any other rights, TomTom may immediately terminate this Agreement if (i) you fail to comply with any of its terms and conditions, or (ii) the agreement governing the use of TomTom APIs between you and TomTom you has terminated, or (iii) TomTom decides to no longer provide the TomTom Maps SDK for JavaScript or certain parts of the TomTom Maps SDK for JavaScript either entirely or in certain territories related to your use.
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
9.3. You may terminate this Agreement by ceasing your use of the TomTom Maps SDK for JavaScript at any time.
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
10. GOVERNING LAW AND DISPUTE RESOLUTION:
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
10.1. If you, your employer or the entity on whose behalf you act is incorporated in the European Union then this Agreement and any dispute arising under or in connection with it, including any non-contractual claims and disputes, shall be governed by and construed in accordance with the laws of the Netherlands. The applicability of the United Nations Convention on Contracts for the International Sale of Goods is explicitly excluded. You and TomTom hereby irrevocably submit to the exclusive jurisdiction of the courts of Amsterdam, the Netherlands in respect of any dispute arising under or in connection with this Agreement, including any non-contractual claims or disputes.
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
10.2. If you, your employer or the entity on whose behalf you act is incorporated outside of European Union, then this Agreement and any dispute arising under or in connection with it, including any non-contractual claims and disputes, shall be governed by and construed in accordance with the laws of the Netherlands. All disputes arising in connection with the Agreement, including any non-contractual claims or disputes, shall be settled in accordance with the Arbitration Rules of the Netherlands Arbitration Institute. The arbitral tribunal shall be composed of three (3) arbitrators. The place or arbitration shall be Amsterdam, and the language of the arbitration shall be English. Consolidation of the arbitral proceedings with other arbitral proceedings, as provided for in Article 1046 of the Dutch Code of Civil Procedure and Article 39 of the Arbitration Rules of the Netherlands Arbitration Institute, is excluded.
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
10.3. Notwithstanding this, TomTom shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
11. OTHER LEGAL TERMS:
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
11.1. No failure or delay by TomTom to exercise any right or remedy provided under this Agreement or by law shall constitute a waiver of that or any other right or remedy, nor shall it preclude or restrict the further exercise of that or any other right or remedy. No single or partial exercise of such right or remedy shall preclude or restrict the further exercise of that or any other right or remedy.
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
11.2. Should for any reason, or to any extent, any provision of this Agreement be held invalid or unenforceable, such invalidity or enforceability shall not affect or render invalid or unenforceable the remaining provisions of this Agreement and the application of that provision shall be enforced to the extent permitted by law.
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
11.3. The rights granted to you in this Agreement may not be assigned or transferred by you without TomTom’s prior written approval.
|
|
156
156
|
|
|
157
|
-
11.3. The rights granted to you in this Agreement may not be assigned or transferred by you without TomTom’s prior written approval.
|
|
158
157
|
|
|
159
|
-
|
|
160
158
|
|
|
161
|
-
11.4. The TomTom
|
|
159
|
+
11.4. The TomTom APIs and TomTom Maps SDK for JavaScript are provided as “Commercial Computer Software” or “restricted computer software”. Use, duplication, or disclosure by the U.S. Government or U.S. Government subcontractor is subject to the restrictions set forth in 48.C.F.R. Section 12.212 or 48 C.F.R.227.2702, as applicable or successor provisions. In respect of the Map API and Search API, the manufacturer is TomTom Global Content B.V.
|
|
162
160
|
|
|
163
161
|
|
|
164
162
|
|
package/README.md
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
# TomTom Maps SDK - Agent Toolkit Plugin
|
|
2
2
|
|
|
3
|
-
A headless conversational agent that gives Large Language Models tool-based control over a [TomTom Map](https://
|
|
3
|
+
A headless conversational agent that gives Large Language Models tool-based control over a [TomTom Map](https://docs.tomtom.com/maps-sdk-js/guides/map/tomtom-map) and TomTom location services, powered by [Vercel AI SDK v6](https://ai-sdk.dev/).
|
|
4
4
|
|
|
5
5
|
No UI is included — bring your own chat interface. No LLM provider is bundled — supply any AI SDK-compatible model.
|
|
6
6
|
|
|
7
7
|
> **Full documentation** — guides, architecture diagrams, and tutorials are available at [docs.tomtom.com](https://docs.tomtom.com/maps-sdk-js/guides/plugins/agent-toolkit/overview).
|
|
8
8
|
|
|
9
|
+
## Design principles
|
|
10
|
+
|
|
11
|
+
1. **Client-side only** — uses AI SDK's `DirectChatTransport` + `ToolLoopAgent`. The consumer provides the model; no server infrastructure is required.
|
|
12
|
+
2. **No bundled LLM provider** — supply any AI SDK-compatible `LanguageModel`. Keeps the package provider-agnostic.
|
|
13
|
+
3. **Token-efficient** — all service responses are summarized before reaching the LLM. Full GeoJSON stays in `ToolState`.
|
|
14
|
+
4. **Lazy module initialization** — map modules are instantiated on first use and cached in state.
|
|
15
|
+
5. **Coordinate convention** — always `[longitude, latitude]` per GeoJSON standard, enforced throughout.
|
|
16
|
+
6. **Task-oriented tools** — tool boundaries follow user tasks, not SDK API surface, so a single prompt maps to a single tool call.
|
|
17
|
+
|
|
9
18
|
## Installation
|
|
10
19
|
|
|
11
20
|
```bash
|
|
12
|
-
pnpm add @tomtom-org/maps-sdk @tomtom-org/maps-sdk-plugin-agent-toolkit ai zod maplibre-gl
|
|
21
|
+
pnpm add @tomtom-org/maps-sdk @tomtom-org/maps-sdk-plugin-agent-toolkit ai zod maplibre-gl @turf/turf chart.js h3-js
|
|
13
22
|
```
|
|
14
23
|
|
|
15
24
|
Install at least one AI SDK provider:
|
|
@@ -49,7 +58,8 @@ console.log(result.text);
|
|
|
49
58
|
### With React (`useChat`)
|
|
50
59
|
|
|
51
60
|
```typescript
|
|
52
|
-
import { DirectChatTransport
|
|
61
|
+
import { DirectChatTransport } from 'ai';
|
|
62
|
+
import { useChat } from '@ai-sdk/react';
|
|
53
63
|
|
|
54
64
|
const agent = createMapAgent(map, { model: openai('gpt-4o') });
|
|
55
65
|
|
|
@@ -69,7 +79,7 @@ function ChatPanel() {
|
|
|
69
79
|
}
|
|
70
80
|
```
|
|
71
81
|
|
|
72
|
-
See [`examples/map-chat-agent`](../../examples/map-chat-agent) for a full working example.
|
|
82
|
+
See [`examples/map-chat-agent-react`](../../examples/map-chat-agent-react) for a full working example.
|
|
73
83
|
|
|
74
84
|
## Tools reference
|
|
75
85
|
|
|
@@ -115,8 +125,9 @@ The plugin ships a `DEFAULT_TOOLS` registry covering search, routing, traffic, r
|
|
|
115
125
|
|
|
116
126
|
| Tool | Description |
|
|
117
127
|
|---|---|
|
|
118
|
-
| `
|
|
128
|
+
| `addByodSource` | Ingest a customer-authored GeoJSON source (URL or inline `FeatureCollection`) and profile its shape; the entry has no layers and renders nothing until the agent sets them via `setByodLayers` |
|
|
119
129
|
| `recallByod` | List BYOD entries, or retrieve a single entry's full `FeatureCollection` by id |
|
|
130
|
+
| `setByodLayers` | Restyle a BYOD entry — replace its MapLibre layers (type + data-driven paint) using the entry's data `profile` |
|
|
120
131
|
| `updateByodDisplay` | Show, hide, or clear BYOD layers on the map |
|
|
121
132
|
|
|
122
133
|
> See the [Bring your own data](https://docs.tomtom.com/maps-sdk-js/guides/plugins/agent-toolkit/byod) guide for ingestion patterns, visibility lifecycle, and how BYOD entries feed into `analyseData` / `processData`.
|
|
@@ -476,96 +487,21 @@ agent.destroy(); // Reset all state slices (call on unmount)
|
|
|
476
487
|
|
|
477
488
|
## Public API exports
|
|
478
489
|
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
// Tool registry and composition
|
|
484
|
-
export {
|
|
485
|
-
DEFAULT_TOOLS,
|
|
486
|
-
getDefaultToolPrompts,
|
|
487
|
-
resolveTools,
|
|
488
|
-
TOOL_NAMES,
|
|
489
|
-
type ToolName,
|
|
490
|
-
} from '@tomtom-org/maps-sdk-plugin-agent-toolkit';
|
|
491
|
-
|
|
492
|
-
// System prompt
|
|
493
|
-
export { BASE_SYSTEM_PROMPT } from '@tomtom-org/maps-sdk-plugin-agent-toolkit';
|
|
494
|
-
|
|
495
|
-
// Data-entry & entry-mode introspection
|
|
496
|
-
export {
|
|
497
|
-
DATA_ENTRY_KIND_TO_SLICE,
|
|
498
|
-
ENTRY_MODE_SLICE_NAMES,
|
|
499
|
-
TOOLS_BY_DATA_ENTRY_KIND,
|
|
500
|
-
type DataEntryConfig,
|
|
501
|
-
type DataEntryKind,
|
|
502
|
-
type EntryDataKind,
|
|
503
|
-
type EntryMode,
|
|
504
|
-
type EntryModeSlice,
|
|
505
|
-
type EntryModeSliceName,
|
|
506
|
-
} from '@tomtom-org/maps-sdk-plugin-agent-toolkit';
|
|
507
|
-
|
|
508
|
-
// Geometries id schema (tagged `{ kind, id }` accepted by analyseData/processData)
|
|
509
|
-
export {
|
|
510
|
-
geometriesIdSchema,
|
|
511
|
-
type GeometriesId,
|
|
512
|
-
type GeometriesIdKind,
|
|
513
|
-
} from '@tomtom-org/maps-sdk-plugin-agent-toolkit';
|
|
514
|
-
|
|
515
|
-
// State digest (for dev panels / debug UIs)
|
|
516
|
-
export {
|
|
517
|
-
formatStateDigestDiff,
|
|
518
|
-
getStateDigest,
|
|
519
|
-
type StateDigest,
|
|
520
|
-
} from '@tomtom-org/maps-sdk-plugin-agent-toolkit';
|
|
521
|
-
|
|
522
|
-
// Classifier
|
|
523
|
-
export {
|
|
524
|
-
classifyUserIntent,
|
|
525
|
-
createDefaultClassifier,
|
|
526
|
-
extractLastUserText,
|
|
527
|
-
type ClassificationResult,
|
|
528
|
-
type Classifier,
|
|
529
|
-
type ClassifierContext,
|
|
530
|
-
type ClassifierOptions,
|
|
531
|
-
} from '@tomtom-org/maps-sdk-plugin-agent-toolkit';
|
|
532
|
-
|
|
533
|
-
// Traffic-incidents monitor types
|
|
534
|
-
export type {
|
|
535
|
-
IncidentSnapshot,
|
|
536
|
-
MonitoredArea,
|
|
537
|
-
PollingStatus,
|
|
538
|
-
} from '@tomtom-org/maps-sdk-plugin-agent-toolkit';
|
|
539
|
-
|
|
540
|
-
// Core types — `StateSlice`, `ToolState`, `MapAgentOptions`, `MapAgentInstance`,
|
|
541
|
-
// `ToolEntry`, `ToolEntryBuilder`, `ToolDefinition`, `ToolBuildOptions`,
|
|
542
|
-
// `ToolMetadata`, `ToolName`, `ToolNameHint`, `FeatureFlags`, entry/analysis
|
|
543
|
-
// types (`PlacesEntry`, `PlacesAnalysis`, `RoutesEntry`, `RoutesAnalysis`,
|
|
544
|
-
// `BYODEntry`, `BYODSource`, `CustomGeometriesEntry`, `CustomGeometriesAnalysis`,
|
|
545
|
-
// `GeometryProvenance`, `RangesEntry`, `ReachableRange`, `RouteParams`,
|
|
546
|
-
// `TrafficAreaAnalyticsEntry`, `TrafficAreaAnalyticsAnalysis`,
|
|
547
|
-
// `TrafficAreaAnalyticsParams`, `TrafficIncidentsEntry`, `IncidentsAnalysis`),
|
|
548
|
-
// and more.
|
|
549
|
-
export type * from '@tomtom-org/maps-sdk-plugin-agent-toolkit';
|
|
550
|
-
```
|
|
490
|
+
The main entry point is `createMapAgent`; `DEFAULT_TOOLS` and `BASE_SYSTEM_PROMPT` cover the most common customizations (see the examples above).
|
|
491
|
+
|
|
492
|
+
For the complete, always-current list of exports — factories, tool-registry helpers, state introspection, the classifier, and all types — see the [API reference](https://docs.tomtom.com/maps-sdk-js/reference).
|
|
551
493
|
|
|
552
494
|
## Dependencies
|
|
553
495
|
|
|
554
496
|
| Type | Package | Purpose |
|
|
555
497
|
|---|---|---|
|
|
556
498
|
| Peer | `@tomtom-org/maps-sdk` | TomTom Maps SDK (types, services, map modules) |
|
|
557
|
-
| Peer | `ai@^6
|
|
558
|
-
| Peer | `zod@^
|
|
559
|
-
| Peer | `maplibre-gl@^5
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
1. **Client-side only** — uses AI SDK's `DirectChatTransport` + `ToolLoopAgent`. The consumer provides the model; no server infrastructure is required.
|
|
564
|
-
2. **No bundled LLM provider** — supply any AI SDK-compatible `LanguageModel`. Keeps the package provider-agnostic.
|
|
565
|
-
3. **Token-efficient** — all service responses are summarized before reaching the LLM. Full GeoJSON stays in `ToolState`.
|
|
566
|
-
4. **Lazy module initialization** — map modules are instantiated on first use and cached in state.
|
|
567
|
-
5. **Coordinate convention** — always `[longitude, latitude]` per GeoJSON standard, enforced throughout.
|
|
568
|
-
6. **Task-oriented tools** — tool boundaries follow user tasks, not SDK API surface. See [ENGINEERING-GUIDELINES.md](./ENGINEERING-GUIDELINES.md).
|
|
499
|
+
| Peer | `ai@^6` | Vercel AI SDK (ToolLoopAgent, tool types) |
|
|
500
|
+
| Peer | `zod@^4` | Schema validation |
|
|
501
|
+
| Peer | `maplibre-gl@^5` | Map rendering engine |
|
|
502
|
+
| Peer | `@turf/turf@^7` | Geospatial math (distance, bbox, bearing) used by the data tools |
|
|
503
|
+
| Peer | `chart.js@^4` | Chart rendering for `analyseData` outputs |
|
|
504
|
+
| Peer | `h3-js@^4` | H3 hexagonal grid for `processData` coverage / hexgrid visualizations |
|
|
569
505
|
|
|
570
506
|
## References
|
|
571
507
|
|
|
@@ -578,6 +514,5 @@ export type * from '@tomtom-org/maps-sdk-plugin-agent-toolkit';
|
|
|
578
514
|
- [Scope-aware data tools](https://docs.tomtom.com/maps-sdk-js/guides/plugins/agent-toolkit/scope-aware-data-tools) — per-turn scope mechanism
|
|
579
515
|
- [Bring your own data](https://docs.tomtom.com/maps-sdk-js/guides/plugins/agent-toolkit/byod) — ingest customer GeoJSON layers
|
|
580
516
|
- [AI SDK v6 documentation](https://ai-sdk.dev/)
|
|
581
|
-
- [TomTom Maps SDK documentation](https://
|
|
582
|
-
- [
|
|
583
|
-
- [Example application](../../examples/map-chat-agent) — full chat interface implementation
|
|
517
|
+
- [TomTom Maps SDK documentation](https://docs.tomtom.com/maps-sdk-js)
|
|
518
|
+
- [Example application](../../examples/map-chat-agent-react) — full chat interface implementation
|