@get-technology-inc/jamf-docs-mcp-server 4.3.6 → 5.0.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 (63) hide show
  1. package/README.md +3 -3
  2. package/dist/core/constants/doc-types.d.ts +13 -4
  3. package/dist/core/constants/doc-types.d.ts.map +1 -1
  4. package/dist/core/constants/doc-types.js +13 -4
  5. package/dist/core/constants/doc-types.js.map +1 -1
  6. package/dist/core/constants/products.d.ts +2 -2
  7. package/dist/core/constants/products.d.ts.map +1 -1
  8. package/dist/core/constants/products.js +10 -2
  9. package/dist/core/constants/products.js.map +1 -1
  10. package/dist/core/index.d.ts +2 -0
  11. package/dist/core/index.d.ts.map +1 -1
  12. package/dist/core/index.js +4 -0
  13. package/dist/core/index.js.map +1 -1
  14. package/dist/core/schemas/index.d.ts.map +1 -1
  15. package/dist/core/schemas/index.js +16 -4
  16. package/dist/core/schemas/index.js.map +1 -1
  17. package/dist/core/services/article-service.d.ts.map +1 -1
  18. package/dist/core/services/article-service.js +4 -3
  19. package/dist/core/services/article-service.js.map +1 -1
  20. package/dist/core/services/cache-key.d.ts +116 -0
  21. package/dist/core/services/cache-key.d.ts.map +1 -0
  22. package/dist/core/services/cache-key.js +100 -0
  23. package/dist/core/services/cache-key.js.map +1 -0
  24. package/dist/core/services/ft-internal-link.d.ts.map +1 -1
  25. package/dist/core/services/ft-internal-link.js +4 -6
  26. package/dist/core/services/ft-internal-link.js.map +1 -1
  27. package/dist/core/services/glossary.d.ts.map +1 -1
  28. package/dist/core/services/glossary.js +11 -10
  29. package/dist/core/services/glossary.js.map +1 -1
  30. package/dist/core/services/interfaces/cache.d.ts +20 -3
  31. package/dist/core/services/interfaces/cache.d.ts.map +1 -1
  32. package/dist/core/services/interfaces/index.d.ts +2 -0
  33. package/dist/core/services/interfaces/index.d.ts.map +1 -1
  34. package/dist/core/services/interfaces/index.js +1 -1
  35. package/dist/core/services/interfaces/index.js.map +1 -1
  36. package/dist/core/services/maps-registry.d.ts.map +1 -1
  37. package/dist/core/services/maps-registry.js +2 -1
  38. package/dist/core/services/maps-registry.js.map +1 -1
  39. package/dist/core/services/metadata.d.ts.map +1 -1
  40. package/dist/core/services/metadata.js +8 -7
  41. package/dist/core/services/metadata.js.map +1 -1
  42. package/dist/core/services/search-service.d.ts +44 -2
  43. package/dist/core/services/search-service.d.ts.map +1 -1
  44. package/dist/core/services/search-service.js +171 -48
  45. package/dist/core/services/search-service.js.map +1 -1
  46. package/dist/core/services/toc-service.d.ts +2 -1
  47. package/dist/core/services/toc-service.d.ts.map +1 -1
  48. package/dist/core/services/toc-service.js +6 -4
  49. package/dist/core/services/toc-service.js.map +1 -1
  50. package/dist/core/services/topic-resolver.d.ts.map +1 -1
  51. package/dist/core/services/topic-resolver.js +6 -5
  52. package/dist/core/services/topic-resolver.js.map +1 -1
  53. package/dist/core/tools/search.d.ts.map +1 -1
  54. package/dist/core/tools/search.js +11 -2
  55. package/dist/core/tools/search.js.map +1 -1
  56. package/dist/core/types.d.ts +0 -1
  57. package/dist/core/types.d.ts.map +1 -1
  58. package/dist/core/types.js.map +1 -1
  59. package/dist/transport/http-types.d.ts +1 -1
  60. package/dist/transport/http-types.d.ts.map +1 -1
  61. package/dist/transport/http-types.js +12 -9
  62. package/dist/transport/http-types.js.map +1 -1
  63. package/package.json +1 -1
package/README.md CHANGED
@@ -139,7 +139,7 @@ Searches across all Jamf product documentation.
139
139
  | `query` | string (2–200 chars) | required | Search keywords |
140
140
  | `product` | string | — | Filter by product ID (e.g., `jamf-pro`) |
141
141
  | `topic` | string | — | Filter by topic category (e.g., `enrollment`, `security`) |
142
- | `docType` | string | — | Filter by document type: `documentation`, `release-notes`, `install-guide`, `technical-paper`, `configuration-guide`, `training` |
142
+ | `docType` | string | — | Filter by document type: `documentation`, `release-notes`, `training`, `solution-guide`, `glossary`, `getting-started` |
143
143
  | `version` | string | — | Filter by version (e.g., `"11.5.0"`) |
144
144
  | `language` | string | `en-US` | Documentation language/locale |
145
145
  | `limit` | number (1–50) | `10` | Results per page |
@@ -264,7 +264,7 @@ Instructs the AI to compare table-of-contents structures and key articles betwee
264
264
  | `jamf-rapididentity` | RapidIdentity | Identity and access management platform |
265
265
  | `jamf-trust` | Jamf Trust | Zero-trust network access for Apple devices |
266
266
  | `jamf-routines` | Jamf Routines | Automated workflow orchestration for device management |
267
- | `self-service-plus` | Self Service+ | Next-generation self-service portal for macOS |
267
+ | `self-service-plus` | Self Service+ | Next-generation self-service portal for macOS and mobile |
268
268
  | `jamf-app-catalog` | Jamf App Catalog | Curated application catalog for managed deployments |
269
269
 
270
270
  ## Key Features
@@ -275,7 +275,7 @@ Instructs the AI to compare table-of-contents structures and key articles betwee
275
275
  - **Batch Fetching**: Use `jamf_docs_batch_get_articles` to fetch up to 10 articles in one call with concurrent requests
276
276
  - **Glossary Lookup**: Use `jamf_docs_glossary_lookup` to look up Jamf terminology with fuzzy matching
277
277
  - **Multi-language**: All tools accept a `language` parameter for localized documentation (e.g., `ja-JP`, `de-DE`)
278
- - **Document Type Filter**: Use `docType` on `jamf_docs_search` to narrow results to `release-notes`, `install-guide`, `technical-paper`, `configuration-guide`, or `training`
278
+ - **Document Type Filter**: Use `docType` on `jamf_docs_search` to narrow results to `documentation`, `release-notes`, `training`, `solution-guide`, `glossary`, or `getting-started`
279
279
  - **Version Query**: Use the `version` parameter to query documentation for a specific product version
280
280
  - **Pagination**: Search results support `page` and `limit`; table of contents supports `page`; product lists are not paginated
281
281
  - **Search Suggestions**: Receive helpful suggestions when a search returns no results
@@ -60,10 +60,19 @@ export declare const DOC_TYPE_PRECEDENCE: readonly DocTypeId[];
60
60
  /**
61
61
  * Forward mapping: docType -> Fluid Topics `jamf:contentType` metadata value.
62
62
  *
63
- * Used only to narrow the upstream FT query. The FT API uses 'Technical
64
- * Documentation' for multiple doc types (documentation, training,
65
- * solution-guide, getting-started), so this direction is many-to-one and
66
- * cannot be reversed use {@link LABEL_KEY_DOC_TYPE_MAP} to go the other way.
63
+ * **Do not use this to filter a search.** The values are English, and
64
+ * `jamf:contentType` is one of the few FT metadata keys whose *values* are
65
+ * translated per locale: the topics that carry 'Release Notes' under en-US
66
+ * carry '版本資訊' under zh-TW, 'リリースノート' under ja-JP,
67
+ * 'Versionshinweise' under de-DE, and so on. Sending the English string as an
68
+ * upstream filter matched 1323 topics under en-US and exactly 0 under every
69
+ * other locale this server supports. {@link DOC_TYPE_LABEL_MAP}'s `content-*`
70
+ * vocabulary is locale-invariant and is what `buildSearchFilters` uses.
71
+ *
72
+ * Kept because it is a published export and still describes a real FT field,
73
+ * but it is not a query-building map. The mapping is also many-to-one
74
+ * ('Technical Documentation' covers four docTypes) and so cannot be reversed —
75
+ * use {@link LABEL_KEY_DOC_TYPE_MAP} to go the other way.
67
76
  */
68
77
  export declare const DOC_TYPE_CONTENT_TYPE_MAP: Record<string, string>;
69
78
  export declare const DOC_TYPE_IDS: [string, ...string[]];
@@ -1 +1 @@
1
- {"version":3,"file":"doc-types.d.ts","sourceRoot":"","sources":["../../../src/core/constants/doc-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,SAAS,CAAC;AAG/C,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAE3B,CAAC;AAE/B;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAE/B,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,SAAS,EAOnD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAO5D,CAAC;AAGF,eAAO,MAAM,YAAY,EAA6B,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"doc-types.d.ts","sourceRoot":"","sources":["../../../src/core/constants/doc-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BZ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,SAAS,CAAC;AAG/C,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAE3B,CAAC;AAE/B;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAE/B,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,SAAS,EAOnD,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAO5D,CAAC;AAGF,eAAO,MAAM,YAAY,EAA6B,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC"}
@@ -69,10 +69,19 @@ export const DOC_TYPE_PRECEDENCE = [
69
69
  /**
70
70
  * Forward mapping: docType -> Fluid Topics `jamf:contentType` metadata value.
71
71
  *
72
- * Used only to narrow the upstream FT query. The FT API uses 'Technical
73
- * Documentation' for multiple doc types (documentation, training,
74
- * solution-guide, getting-started), so this direction is many-to-one and
75
- * cannot be reversed use {@link LABEL_KEY_DOC_TYPE_MAP} to go the other way.
72
+ * **Do not use this to filter a search.** The values are English, and
73
+ * `jamf:contentType` is one of the few FT metadata keys whose *values* are
74
+ * translated per locale: the topics that carry 'Release Notes' under en-US
75
+ * carry '版本資訊' under zh-TW, 'リリースノート' under ja-JP,
76
+ * 'Versionshinweise' under de-DE, and so on. Sending the English string as an
77
+ * upstream filter matched 1323 topics under en-US and exactly 0 under every
78
+ * other locale this server supports. {@link DOC_TYPE_LABEL_MAP}'s `content-*`
79
+ * vocabulary is locale-invariant and is what `buildSearchFilters` uses.
80
+ *
81
+ * Kept because it is a published export and still describes a real FT field,
82
+ * but it is not a query-building map. The mapping is also many-to-one
83
+ * ('Technical Documentation' covers four docTypes) and so cannot be reversed —
84
+ * use {@link LABEL_KEY_DOC_TYPE_MAP} to go the other way.
76
85
  */
77
86
  export const DOC_TYPE_CONTENT_TYPE_MAP = {
78
87
  'documentation': 'Technical Documentation',
@@ -1 +1 @@
1
- {"version":3,"file":"doc-types.js","sourceRoot":"","sources":["../../../src/core/constants/doc-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kEAAkE;AAClE,gFAAgF;AAChF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,eAAe,EAAE;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,4BAA4B;QACzC,QAAQ,EAAE,kBAAkB;KAC7B;IACD,eAAe,EAAE;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,sBAAsB;KACjC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE,kBAAkB;KAC7B;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,uBAAuB;KAClC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,kBAAkB;KAC7B;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,wBAAwB;KACnC;CACO,CAAC;AAIX,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAA8B,MAAM,CAAC,WAAW,CAC7E,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAClC,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA8B,MAAM,CAAC,WAAW,CACjF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAClC,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAyB;IACvD,eAAe;IACf,UAAU;IACV,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,eAAe,EAAE,yBAAyB;IAC1C,eAAe,EAAE,eAAe;IAChC,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,yBAAyB;IACrC,gBAAgB,EAAE,yBAAyB;IAC3C,iBAAiB,EAAE,yBAAyB;CAC7C,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAA0B,CAAC"}
1
+ {"version":3,"file":"doc-types.js","sourceRoot":"","sources":["../../../src/core/constants/doc-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,kEAAkE;AAClE,gFAAgF;AAChF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,eAAe,EAAE;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,4BAA4B;QACzC,QAAQ,EAAE,kBAAkB;KAC7B;IACD,eAAe,EAAE;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sCAAsC;QACnD,QAAQ,EAAE,sBAAsB;KACjC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,qCAAqC;QAClD,QAAQ,EAAE,kBAAkB;KAC7B;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,uBAAuB;KAClC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,kBAAkB;KAC7B;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,wBAAwB;KACnC;CACO,CAAC;AAIX,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAA8B,MAAM,CAAC,WAAW,CAC7E,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAClC,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA8B,MAAM,CAAC,WAAW,CACjF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAClC,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAyB;IACvD,eAAe;IACf,UAAU;IACV,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA2B;IAC/D,eAAe,EAAE,yBAAyB;IAC1C,eAAe,EAAE,eAAe;IAChC,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,yBAAyB;IACrC,gBAAgB,EAAE,yBAAyB;IAC3C,iBAAiB,EAAE,yBAAyB;CAC7C,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAA0B,CAAC"}
@@ -106,9 +106,9 @@ export declare const JAMF_PRODUCTS: {
106
106
  readonly 'self-service-plus': {
107
107
  readonly id: "self-service-plus";
108
108
  readonly name: "Self Service+";
109
- readonly description: "Next-generation self-service portal for macOS";
109
+ readonly description: "Next-generation self-service portal for macOS and mobile";
110
110
  readonly bundleId: "self-service-plus-documentation";
111
- readonly searchLabel: "product-self-service";
111
+ readonly searchLabel: "product-selfservice";
112
112
  readonly latestVersion: "current";
113
113
  readonly versions: readonly ["current"];
114
114
  };
@@ -1 +1 @@
1
- {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/core/constants/products.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,WAAW,+RAA+R,CAAC;AAGxT,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAEtD,eAAO,MAAM,WAAW,2BAAgB,CAAC;AAEzC;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAElF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAGD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHhB,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,aAAa,CAAC;AAGnD,eAAO,MAAM,WAAW,EAAiC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,QAAyB,CAAC"}
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/core/constants/products.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,WAAW,+RAA+R,CAAC;AAGxT,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAEtD,eAAO,MAAM,WAAW,2BAAgB,CAAC;AAEzC;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAElF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAGD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0HhB,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,aAAa,CAAC;AAGnD,eAAO,MAAM,WAAW,EAAiC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,QAAyB,CAAC"}
@@ -119,9 +119,17 @@ export const JAMF_PRODUCTS = {
119
119
  'self-service-plus': {
120
120
  id: 'self-service-plus',
121
121
  name: 'Self Service+',
122
- description: 'Next-generation self-service portal for macOS',
122
+ description: 'Next-generation self-service portal for macOS and mobile',
123
123
  bundleId: 'self-service-plus-documentation',
124
- searchLabel: 'product-self-service',
124
+ // NOT `product-self-service`. Both labels exist in Jamf's zoominmetadata
125
+ // vocabulary, and the hyphenated one belongs to the retired iOS Self
126
+ // Service app: it matched 16 topics, every one of them from "Jamf Self
127
+ // Service for iOS Release Notes". `product-selfservice` is the Self
128
+ // Service+ label — 69 topics across "Self Service+ for macOS Deployment
129
+ // Guide" (55) and "Self Service+ for Mobile Deployment Guide" (14). The
130
+ // wrong label returned results rather than an error, so the mismatch was
131
+ // invisible; the contract test below now pins the map titles.
132
+ searchLabel: 'product-selfservice',
125
133
  latestVersion: 'current',
126
134
  versions: ['current']
127
135
  },
@@ -1 +1 @@
1
- {"version":3,"file":"products.js","sourceRoot":"","sources":["../../../src/core/constants/products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../../src/core/constants/products.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,4RAA4R,CAAC;AAExT,YAAY;AACZ,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAC;AACtD,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAY;IACxE,OAAO,GAAG,aAAa,IAAI,MAAM,WAAW,QAAQ,SAAS,IAAI,EAAE,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,QAAgB;IAC9D,OAAO,GAAG,MAAM,WAAW,QAAQ,OAAO,CAAC;AAC7C,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE;QACV,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,wCAAwC;QACrD,QAAQ,EAAE,wBAAwB;QAClC,WAAW,EAAE,aAAa,EAAG,6CAA6C;QAC1E,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAE,0CAA0C;KAClE;IACD,aAAa,EAAE;QACb,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,2BAA2B;QACrC,WAAW,EAAE,gBAAgB;QAC7B,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,cAAc,EAAE;QACd,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE,4BAA4B;QACtC,WAAW,EAAE,iBAAiB;QAC9B,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,cAAc,EAAE;QACd,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,6BAA6B;QAC1C,QAAQ,EAAE,4BAA4B;QACtC,WAAW,EAAE,iBAAiB;QAC9B,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,UAAU,EAAE;QACV,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,wBAAwB;QAClC,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,oBAAoB,EAAE;QACpB,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,+DAA+D;QAC5E,QAAQ,EAAE,kCAAkC;QAC5C,WAAW,EAAE,sBAAsB;QACnC,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,eAAe,EAAE;QACf,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,kDAAkD;QAC/D,QAAQ,EAAE,6BAA6B;QACvC,WAAW,EAAE,kBAAkB;QAC/B,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,oBAAoB,EAAE;QACpB,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,yCAAyC;QACtD,QAAQ,EAAE,kCAAkC;QAC5C,WAAW,EAAE,uBAAuB;QACpC,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE,0BAA0B;QACpC,WAAW,EAAE,eAAe;QAC5B,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,eAAe,EAAE;QACf,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,6BAA6B;QACvC,4EAA4E;QAC5E,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,8EAA8E;QAC9E,WAAW,EAAE,kBAAkB;QAC/B,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,0DAA0D;QACvE,QAAQ,EAAE,iCAAiC;QAC3C,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,oEAAoE;QACpE,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,8DAA8D;QAC9D,WAAW,EAAE,qBAAqB;QAClC,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,oBAAoB;QACjC,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACO,CAAC;AAIX,0DAA0D;AAC1D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAA0B,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -12,6 +12,8 @@
12
12
  */
13
13
  export { createMcpServer } from './create-server.js';
14
14
  export type { CreateServerOptions } from './create-server.js';
15
+ export { cacheKey, CACHE_NAMESPACES } from './services/cache-key.js';
16
+ export type { CacheKey, CacheNamespace, CacheKeySpaces, CacheKeyValue, CanonicalSearchFilters } from './services/cache-key.js';
15
17
  export type { CacheProvider, CacheStats, ProductMetadata, TopicMetadata, TocEntry as TocEntryInterface, TocData, Logger, LoggerFactory, SearchProvider, ArticleProvider, GlossaryProvider, TocProvider, MapsProvider, } from './services/interfaces/index.js';
16
18
  export type { ServerConfig, CacheTtlConfig, RequestConfig, CacheConfig, CorsConfig, } from './config.js';
17
19
  export { createDefaultConfig } from './config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAM9D,YAAY,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,QAAQ,IAAI,iBAAiB,EAC7B,OAAO,EACP,MAAM,EACN,aAAa,EACb,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,GACb,MAAM,gCAAgC,CAAC;AAMxC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMlD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,SAAS,EACT,OAAO,EACP,SAAS,EACT,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAMtF,YAAY,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAM9D,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACrE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAE/H,YAAY,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,QAAQ,IAAI,iBAAiB,EAC7B,OAAO,EACP,MAAM,EACN,aAAa,EACb,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,YAAY,GACb,MAAM,gCAAgC,CAAC;AAMxC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMlD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,SAAS,EACT,OAAO,EACP,SAAS,EACT,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAMtF,YAAY,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
@@ -14,6 +14,10 @@
14
14
  // Factory
15
15
  // ============================================================================
16
16
  export { createMcpServer } from './create-server.js';
17
+ // ============================================================================
18
+ // Interfaces (platform adapters implement these)
19
+ // ============================================================================
20
+ export { cacheKey, CACHE_NAMESPACES } from './services/cache-key.js';
17
21
  export { createDefaultConfig } from './config.js';
18
22
  // ============================================================================
19
23
  // Constants (consumer-facing)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAkCrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQlD,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAC;AASxB,+EAA+E;AAC/E,sDAAsD;AACtD,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAqC7D,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA8BrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQlD,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAC;AASxB,+EAA+E;AAC/E,sDAAsD;AACtD,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAqC7D,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/schemas/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,cAAc,EACd,UAAU,EAWX,MAAM,iBAAiB,CAAC;AAyCzB;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;kBAYzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;kBA0DnB,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;kBAkDvB,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;kBAkCnB,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;kBA6B3B,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;kBAgC7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/schemas/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,cAAc,EACd,UAAU,EAWX,MAAM,iBAAiB,CAAC;AAyDzB;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;kBAYzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;kBA0DnB,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;kBAkDvB,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;kBAkCnB,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;kBA6B3B,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;kBAgC7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -10,6 +10,18 @@ import { isAllowedHostname } from '../utils/url.js';
10
10
  const ResponseFormatSchema = z.nativeEnum(ResponseFormat);
11
11
  // Output mode enum
12
12
  const OutputModeSchema = z.nativeEnum(OutputMode);
13
+ /**
14
+ * A Jamf documentation version: dotted numerals, or the literal `current`.
15
+ *
16
+ * Constrained because the value is forwarded verbatim into an upstream Fluid
17
+ * Topics filter and, before this, into a hand-assembled cache key whose
18
+ * delimiters it could forge. All 44 version values live on learn.jamf.com match
19
+ * this shape (`11.13.0` … `11.31.1`, `2.45.0`, `current`); nothing upstream
20
+ * accepts a wildcard, so the old `"10.x"` example in the description below was
21
+ * never a working input.
22
+ */
23
+ const VersionSchema = z.string()
24
+ .regex(/^(?:current|\d+(?:\.\d+)*)$/, 'Version must be dotted numerals (e.g. "11.13.0") or "current"');
13
25
  // Common maxTokens parameter schema
14
26
  const MaxTokensSchema = z.number()
15
27
  .int()
@@ -63,9 +75,9 @@ export const SearchInputSchema = z.object({
63
75
  topic: completable(z.enum(TOPIC_IDS)
64
76
  .optional()
65
77
  .describe(TOPIC_DESCRIPTION), completeTopic),
66
- version: completable(z.string()
78
+ version: completable(VersionSchema
67
79
  .optional()
68
- .describe('Filter by version (e.g., "11.5.0", "10.x")'), completeVersion),
80
+ .describe('Filter by version (e.g., "11.13.0") or "current"'), completeVersion),
69
81
  language: completable(z.enum(SUPPORTED_LOCALE_IDS).optional().describe(LANGUAGE_DESCRIPTION), completeLanguage),
70
82
  docType: z.enum(DOC_TYPE_IDS)
71
83
  .optional()
@@ -135,9 +147,9 @@ export const GetTocInputSchema = z.object({
135
147
  product: completable(z.enum(PRODUCT_IDS)
136
148
  .describe(PRODUCT_REQUIRED_DESCRIPTION), completeProduct),
137
149
  language: completable(z.enum(SUPPORTED_LOCALE_IDS).optional().describe(LANGUAGE_DESCRIPTION), completeLanguage),
138
- version: completable(z.string()
150
+ version: completable(VersionSchema
139
151
  .optional()
140
- .describe('Specific version (defaults to latest)'), completeVersion),
152
+ .describe('Specific version (e.g. "11.13.0"); defaults to latest'), completeVersion),
141
153
  page: PageSchema
142
154
  .optional()
143
155
  .describe(`Page number for pagination (1-${PAGINATION_CONFIG.MAX_PAGE}, default: 1)`),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/schemas/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"article-service.d.ts","sourceRoot":"","sources":["../../../src/core/services/article-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAmC,MAAM,aAAa,CAAC;AAC5G,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAQzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA6CrD;;;GAGG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CA0H7B;AAID;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAwD7B"}
1
+ {"version":3,"file":"article-service.d.ts","sourceRoot":"","sources":["../../../src/core/services/article-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAmC,MAAM,aAAa,CAAC;AAC5G,OAAO,EAA6B,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAQzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA8CrD;;;GAGG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CA0H7B;AAID;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAwD7B"}
@@ -12,12 +12,13 @@ import { buildDisplayUrl, parseUrl } from './topic-resolver.js';
12
12
  import { fetchTopicContent, fetchTopicMetadata } from './ft-client.js';
13
13
  import { parseArticle } from './content-parser.js';
14
14
  import { buildInternalLinkResolver, collectInternalLinkMapIds, fetchTopicAncestors, } from './ft-internal-link.js';
15
+ import { cacheKey } from './cache-key.js';
15
16
  import { getMetaValue, bundleStemToDisplayName, FT_META } from '../utils/ft-metadata.js';
16
17
  import { extractSections, extractSummary, extractSection, truncateToTokenLimit, createTokenInfo, } from './tokenizer.js';
17
18
  export async function fetchArticleFromFt(cache, mapId, contentId, articleUrl, options) {
18
19
  const maxTokens = options.maxTokens ?? TOKEN_CONFIG.DEFAULT_MAX_TOKENS;
19
- const cacheKey = `ft:article:v3:${mapId}:${contentId}`;
20
- let cached = await cache.get(cacheKey);
20
+ const key = cacheKey('ft-article-v3', { mapId, contentId, articleUrl });
21
+ let cached = await cache.get(key);
21
22
  if (cached === null) {
22
23
  const [topicMeta, html] = await Promise.all([
23
24
  fetchTopicMetadata(mapId, contentId),
@@ -73,7 +74,7 @@ export async function fetchArticleFromFt(cache, mapId, contentId, articleUrl, op
73
74
  // two of twelve sampled topics publish no edition date at all.
74
75
  lastUpdated: lastEdition !== '' ? lastEdition : undefined,
75
76
  };
76
- await cache.set(cacheKey, cached, options.cacheTtl);
77
+ await cache.set(key, cached, options.cacheTtl);
77
78
  }
78
79
  const { title, parsed, displayUrl, product, version, lastUpdated } = cached;
79
80
  // Build base result (shared across all code paths)
@@ -1 +1 @@
1
- {"version":3,"file":"article-service.js","sourceRoot":"","sources":["../../../src/core/services/article-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"article-service.js","sourceRoot":"","sources":["../../../src/core/services/article-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Cache key derivation.
3
+ *
4
+ * Every cached value in this server shares one `CacheProvider` instance (one
5
+ * `FileCache` per process — see src/index.ts), so a key is only useful if it
6
+ * satisfies two properties, and this module exists to make both of them the
7
+ * compiler's job rather than the caller's.
8
+ *
9
+ * **Injective** — different data must never collide onto one key. `CacheKey`
10
+ * is a branded string that only {@link cacheKey} can mint, and the payload is
11
+ * canonical JSON, so no value can forge a neighbouring key by embedding a
12
+ * delimiter. The hole this closes was real: `ft-search:{locale}:{query}:{k}={v}`
13
+ * with nothing escaped let `{version: '11.5|zoominmetadata=product-pro'}`
14
+ * produce the same key as `{product: 'jamf-pro', version: '11.5'}`.
15
+ *
16
+ * **Total** — everything the value depends on must be *in* the key.
17
+ * {@link CacheKeySpaces} does NOT discover what a value depends on; nothing
18
+ * can. What it does is make the answer explicit and then hold every call site
19
+ * to it: once a namespace declares its parts, omitting one is a compile error
20
+ * and misspelling one is a compile error. Deciding what belongs on that list
21
+ * is still a human judgement, and getting it wrong is still a bug the compiler
22
+ * cannot see — as it did not see glossary entries keyed on `{ locale }` while
23
+ * the content was fetched per `mapId`, so two maps' glossaries in the same
24
+ * locale overwrote each other. Reading the fetch is what found that; the types
25
+ * are what stop it drifting back.
26
+ *
27
+ * Note what is deliberately NOT here: hashing, truncation, or any other
28
+ * accommodation of a backend's key limits. Those are properties of the store,
29
+ * not of the identity of the data, and the store is already injected —
30
+ * `FileCache` sha256s whatever it is handed (src/platforms/node/cache.ts), and
31
+ * a Workers KV implementation would do the same for its own 512-byte ceiling.
32
+ * Keys here stay readable, which is what makes a cache directory debuggable.
33
+ */
34
+ import type { LocaleId, ProductId } from '../constants/index.js';
35
+ declare const CACHE_KEY_BRAND: unique symbol;
36
+ /** A key produced by {@link cacheKey}. Not constructible by concatenation. */
37
+ export type CacheKey = string & {
38
+ readonly [CACHE_KEY_BRAND]: true;
39
+ };
40
+ type CacheKeyScalar = string | number | boolean | null;
41
+ /**
42
+ * Key material: scalars and nested arrays only.
43
+ *
44
+ * Nested *objects* are deliberately excluded. Their property order is caller
45
+ * controlled and `JSON.stringify` preserves it, so `{a:1,b:2}` and `{b:2,a:1}`
46
+ * would key one value twice. Arrays are ordered data and serialize as given —
47
+ * a caller holding an unordered collection sorts it first (see
48
+ * `buildSearchCacheKey`), because sorting *here* would map `['a','b']` and
49
+ * `['b','a']` onto one key and destroy the injectivity this exists for.
50
+ */
51
+ export type CacheKeyValue = CacheKeyScalar | readonly CacheKeyValue[];
52
+ /**
53
+ * `[filterKey, sortedValues]` pairs, the list itself sorted.
54
+ *
55
+ * A tuple rather than an object because {@link CacheKeyValue} excludes nested
56
+ * objects; canonicalising into this shape is `buildSearchCacheKey`'s job.
57
+ */
58
+ export type CanonicalSearchFilters = readonly (readonly [string, readonly string[]])[];
59
+ /**
60
+ * Every cache this server keeps, mapped to the parts that identify ONE entry
61
+ * in it. `null` means the cache holds a single entry and takes no parts.
62
+ *
63
+ * Adding a cache means adding a line here and a line to
64
+ * {@link CACHE_NAMESPACE_REGISTRY}; there is no other way to address one. No
65
+ * member may contain `:` — that is what keeps the `namespace:payload` split
66
+ * unambiguous, and it is locked by a unit test.
67
+ */
68
+ export interface CacheKeySpaces {
69
+ 'ft-search': {
70
+ query: string;
71
+ contentLocale: string | null;
72
+ sortId: string | null;
73
+ perPage: number | null;
74
+ page: number | null;
75
+ filters: CanonicalSearchFilters;
76
+ };
77
+ 'ft-article-v3': {
78
+ mapId: string;
79
+ contentId: string;
80
+ articleUrl: string;
81
+ };
82
+ 'ft-toc': {
83
+ locale: LocaleId;
84
+ product: ProductId;
85
+ version: string;
86
+ };
87
+ 'ft-tocindex-v2': {
88
+ mapId: string;
89
+ };
90
+ 'ft-topic-index': {
91
+ mapId: string;
92
+ };
93
+ 'glossary-toc': {
94
+ mapId: string;
95
+ };
96
+ 'glossary-content': {
97
+ mapId: string;
98
+ contentId: string;
99
+ };
100
+ 'maps-registry': null;
101
+ 'metadata-products-v2': null;
102
+ 'metadata-topics': null;
103
+ 'metadata-product-availability': null;
104
+ }
105
+ export type CacheNamespace = keyof CacheKeySpaces;
106
+ /** Every namespace, at runtime. The only enumerable list of this server's caches. */
107
+ export declare const CACHE_NAMESPACES: readonly CacheNamespace[];
108
+ /** No parts for a single-entry cache; the declared parts, required, for any other. */
109
+ export type CacheKeyArgs<N extends CacheNamespace> = CacheKeySpaces[N] extends null ? [] : [parts: CacheKeySpaces[N]];
110
+ /**
111
+ * Derive a cache key from a namespace and the parts {@link CacheKeySpaces}
112
+ * declares for it.
113
+ */
114
+ export declare function cacheKey<N extends CacheNamespace>(namespace: N, ...args: CacheKeyArgs<N>): CacheKey;
115
+ export {};
116
+ //# sourceMappingURL=cache-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-key.d.ts","sourceRoot":"","sources":["../../../src/core/services/cache-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C,8EAA8E;AAC9E,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAErE,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,SAAS,aAAa,EAAE,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;AAEvF;;;;;;;;GAQG;AAMH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,EAAE,sBAAsB,CAAC;KACjC,CAAC;IASF,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,QAAQ,EAAE;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IASpC,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,kBAAkB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,eAAe,EAAE,IAAI,CAAC;IACtB,sBAAsB,EAAE,IAAI,CAAC;IAC7B,iBAAiB,EAAE,IAAI,CAAC;IACxB,+BAA+B,EAAE,IAAI,CAAC;CACvC;AAID,MAAM,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC;AAqDlD,qFAAqF;AACrF,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EACK,CAAC;AAE5D,sFAAsF;AACtF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,cAAc,IAC/C,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAqCnE;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,cAAc,EAC/C,SAAS,EAAE,CAAC,EACZ,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,QAAQ,CAMV"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Cache key derivation.
3
+ *
4
+ * Every cached value in this server shares one `CacheProvider` instance (one
5
+ * `FileCache` per process — see src/index.ts), so a key is only useful if it
6
+ * satisfies two properties, and this module exists to make both of them the
7
+ * compiler's job rather than the caller's.
8
+ *
9
+ * **Injective** — different data must never collide onto one key. `CacheKey`
10
+ * is a branded string that only {@link cacheKey} can mint, and the payload is
11
+ * canonical JSON, so no value can forge a neighbouring key by embedding a
12
+ * delimiter. The hole this closes was real: `ft-search:{locale}:{query}:{k}={v}`
13
+ * with nothing escaped let `{version: '11.5|zoominmetadata=product-pro'}`
14
+ * produce the same key as `{product: 'jamf-pro', version: '11.5'}`.
15
+ *
16
+ * **Total** — everything the value depends on must be *in* the key.
17
+ * {@link CacheKeySpaces} does NOT discover what a value depends on; nothing
18
+ * can. What it does is make the answer explicit and then hold every call site
19
+ * to it: once a namespace declares its parts, omitting one is a compile error
20
+ * and misspelling one is a compile error. Deciding what belongs on that list
21
+ * is still a human judgement, and getting it wrong is still a bug the compiler
22
+ * cannot see — as it did not see glossary entries keyed on `{ locale }` while
23
+ * the content was fetched per `mapId`, so two maps' glossaries in the same
24
+ * locale overwrote each other. Reading the fetch is what found that; the types
25
+ * are what stop it drifting back.
26
+ *
27
+ * Note what is deliberately NOT here: hashing, truncation, or any other
28
+ * accommodation of a backend's key limits. Those are properties of the store,
29
+ * not of the identity of the data, and the store is already injected —
30
+ * `FileCache` sha256s whatever it is handed (src/platforms/node/cache.ts), and
31
+ * a Workers KV implementation would do the same for its own 512-byte ceiling.
32
+ * Keys here stay readable, which is what makes a cache directory debuggable.
33
+ */
34
+ /**
35
+ * One entry per namespace. The annotation carries two proofs the compiler
36
+ * checks: the list is complete and typo-free (a missing namespace is TS2741,
37
+ * an unknown one TS2353), and every space is usable as key material — a space
38
+ * holding a `Date`, a function or a nested object maps to `never`, and `true`
39
+ * is not assignable to `never`.
40
+ */
41
+ const CACHE_NAMESPACE_REGISTRY = {
42
+ 'ft-search': true,
43
+ 'ft-article-v3': true,
44
+ 'ft-toc': true,
45
+ 'ft-tocindex-v2': true,
46
+ 'ft-topic-index': true,
47
+ 'glossary-toc': true,
48
+ 'glossary-content': true,
49
+ 'maps-registry': true,
50
+ 'metadata-products-v2': true,
51
+ 'metadata-topics': true,
52
+ 'metadata-product-availability': true,
53
+ };
54
+ /** Every namespace, at runtime. The only enumerable list of this server's caches. */
55
+ export const CACHE_NAMESPACES = Object.keys(CACHE_NAMESPACE_REGISTRY);
56
+ /**
57
+ * Drop `undefined` parts and sort by property name, so a part list assembled
58
+ * with the codebase's `...(x !== undefined ? { x } : {})` idiom keys the same
59
+ * as one written out in full.
60
+ */
61
+ function canonicalise(parts) {
62
+ const canonical = {};
63
+ for (const name of Object.keys(parts).sort()) {
64
+ const value = parts[name];
65
+ if (value !== undefined) {
66
+ assertFinite(value, name);
67
+ canonical[name] = value;
68
+ }
69
+ }
70
+ return canonical;
71
+ }
72
+ /**
73
+ * Reject non-finite numbers, which `JSON.stringify` maps to `null` — so `NaN`,
74
+ * `Infinity` and a genuine `null` would all key the same entry, which is
75
+ * exactly the collision this module exists to prevent. No caller passes one
76
+ * today; this is here so that if one ever does it fails loudly at the call
77
+ * site instead of quietly serving another entry's value.
78
+ */
79
+ function assertFinite(value, name) {
80
+ if (typeof value === 'number' && !Number.isFinite(value)) {
81
+ throw new TypeError(`Cache key part '${name}' is ${String(value)}; only finite numbers can be part of a key.`);
82
+ }
83
+ if (Array.isArray(value)) {
84
+ for (const item of value) {
85
+ assertFinite(item, name);
86
+ }
87
+ }
88
+ }
89
+ /**
90
+ * Derive a cache key from a namespace and the parts {@link CacheKeySpaces}
91
+ * declares for it.
92
+ */
93
+ export function cacheKey(namespace, ...args) {
94
+ // `CacheKeyArgs<N>` does not narrow while `N` is still generic. The registry
95
+ // above is what makes this assertion sound: every space is key material.
96
+ const [parts] = args;
97
+ const payload = parts === undefined ? '' : `:${JSON.stringify(canonicalise(parts))}`;
98
+ return `${namespace}${payload}`;
99
+ }
100
+ //# sourceMappingURL=cache-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-key.js","sourceRoot":"","sources":["../../../src/core/services/cache-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAkHH;;;;;;GAMG;AACH,MAAM,wBAAwB,GAE1B;IACF,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;IACrB,QAAQ,EAAE,IAAI;IACd,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,IAAI;IACrB,sBAAsB,EAAE,IAAI;IAC5B,iBAAiB,EAAE,IAAI;IACvB,+BAA+B,EAAE,IAAI;CACtC,CAAC;AAEF,qFAAqF;AACrF,MAAM,CAAC,MAAM,gBAAgB,GAC3B,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAqB,CAAC;AAM5D;;;;GAIG;AACH,SAAS,YAAY,CAAC,KAAuB;IAC3C,MAAM,SAAS,GAAkC,EAAE,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAoB,EAAE,IAAY;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,SAAS,CACjB,mBAAmB,IAAI,QAAQ,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAC1F,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,IAAqB,EAAE,IAAI,CAAC,CAAC;QAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACtB,SAAY,EACZ,GAAG,IAAqB;IAExB,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAoC,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACrF,OAAO,GAAG,SAAS,GAAG,OAAO,EAAc,CAAC;AAC9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ft-internal-link.d.ts","sourceRoot":"","sources":["../../../src/core/services/ft-internal-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAKrD,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,kDACoB,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAExF,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,EAAE,oBAAsC,CAAC;AAQvE;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBhE;AAuED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,aAAa,CAAC;IACrB,sEAAsE;IACtE,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,oBAAoB,CAAC,CA0B/B;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,aAAa,CAAC;IACrB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB"}
1
+ {"version":3,"file":"ft-internal-link.d.ts","sourceRoot":"","sources":["../../../src/core/services/ft-internal-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAMrD,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,kDACoB,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAExF,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,EAAE,oBAAsC,CAAC;AAQvE;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBhE;AAwED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,aAAa,CAAC;IACrB,sEAAsE;IACtE,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,oBAAoB,CAAC,CA0B/B;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,aAAa,CAAC;IACrB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB"}