@thallylabs/migrate 0.2.33 → 0.2.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -92,9 +92,48 @@ instead of silently dropping that API tab's reference. AsyncAPI has no Thally
92
92
  renderer, so it always produces a clear warning naming the spec instead of
93
93
  disappearing.
94
94
 
95
+ `METHOD /path` entries (`"POST /v2/keys.createKey"`) under a container that
96
+ binds an `openapi` spec become `api.groups` on the tab that spec binds to:
97
+ nested groups, icons and authored order are kept, and page entries stay in the
98
+ tab's own groups (a group that mixes pages and operations is split, so the
99
+ sidebar lists the API groups after the page groups). Operations written
100
+ straight under a tab form a group named after the tab, at their place among the
101
+ tab's own groups (each uninterrupted run is its own group, so authored order is
102
+ kept). Hidden groups (and containers under one), groups under access-restricted
103
+ containers, and groups left empty are left out. Groups nest at most 32 levels
104
+ deep, as the renderer follows no deeper: operations below that are not migrated,
105
+ and one warning says so. With `navigation.languages`, only the default language's
106
+ containers contribute groups; operation entries under another language are
107
+ reported, since its API tab is the default language's.
108
+ When several containers bind one spec to the same tab (one API tab per product,
109
+ say), their groups are concatenated in order and an operation already listed
110
+ earlier in that tab is dropped (the method is compared without case, the path
111
+ exactly), unless one of those containers lists no operation (Mintlify generated
112
+ every operation there), in which case the tab gets no `api.groups` and keeps the
113
+ generated, tag-grouped navigation. A container whose operations are all hidden or
114
+ access-restricted adds no groups but still counts as listing operations; when
115
+ every container bound to a tab is like that, the tab gets `navigation: false`
116
+ (the source sidebar showed none of those operations, so no generated list is
117
+ added). Operations dropped only for nesting too deep are Thally's limit, not the
118
+ author's choice: such a container counts as listing nothing, so the tab keeps
119
+ the generated navigation. Groups with the same title are not folded together. With `api.groups`
120
+ the authored list is the tab's navigation, so `navigation: false` is not
121
+ written. Operation entries with no `openapi` container above them, and every one in a
122
+ site imported by URL, cannot be placed: one warning says they were not added to the API navigation, and the
123
+ operations still have their pages. This is separate from a `directory`'s flat
124
+ operation list, which still only drives the endpoint redirects.
125
+
126
+ Mintlify `styling.eyebrows: "breadcrumbs"` becomes `eyebrow: "path"` (the full
127
+ group path above the page title); `"section"` or no setting writes nothing.
128
+
95
129
  Page `openapi:` frontmatter with a spec prefix
96
130
  (`openapi: "specs/openapi-b.yaml GET /widgets/{id}"`) is rewritten to where the
97
- spec lands in the output (`/openapi-b.yaml GET /widgets/{id}`). A prefix naming
131
+ spec lands in the output (`/openapi-b.yaml GET /widgets/{id}`). As in Mintlify,
132
+ the prefix may name the spec by path, by file name, or by file name without its
133
+ extension (`v3-openapi GET /tasks`); a name that fits more than one spec is kept
134
+ and reported with its candidates. A declared spec that a published page names
135
+ but that cannot be its tab's spec is bound through a hidden tab, so the page
136
+ still renders its endpoint. A prefix naming
98
137
  a spec that was not migrated is kept and reported. Manual API pages keep their
99
138
  `api:` and `authMethod:` frontmatter, and `api.mdx.server` / `api.mdx.auth` map
100
139
  into `docs.json`; invalid values are dropped with a warning.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { M as MigrationPage, a as MigrationAsset, b as MigrationNavigationGroup, R as RenderedMigrationFile, c as MigrationWarning, d as MigrationFetcher, e as MigrationPlatform, f as MigrationBundle, g as MigrationDocsConfig } from './url-migration-_wVauqSg.js';
2
- export { h as MigrationCapture, i as MigrationCaptureProvider, j as MigrationCaptureState, k as MigrationCapturedAsset, l as MigrationEvidence, m as MigrationFetchRequest, n as MigrationFetchResponse, o as MigrationJournalAsset, p as MigrationNavigationOccurrence, q as MigrationNavigationTab, U as UrlMigrationCheckpoint, r as UrlMigrationCheckpointDelta, s as UrlMigrationIssue, t as UrlMigrationRecord, u as UrlMigrationRun, v as UrlMigrationRunOptions, w as UrlMigrationValidation, x as classifyMigrationResponse, y as mergeMigrationConfig, z as renderMigrationFiles, A as runUrlMigration, B as validateUrlMigration } from './url-migration-_wVauqSg.js';
1
+ import { M as MigrationPage, a as MigrationAsset, b as MigrationNavigationGroup, R as RenderedMigrationFile, c as MigrationWarning, d as MigrationFetcher, e as MigrationPlatform, f as MigrationBundle, g as MigrationDocsConfig } from './url-migration-peVzTLjL.js';
2
+ export { h as MigrationCapture, i as MigrationCaptureProvider, j as MigrationCaptureState, k as MigrationCapturedAsset, l as MigrationEvidence, m as MigrationFetchRequest, n as MigrationFetchResponse, o as MigrationJournalAsset, p as MigrationNavigationOccurrence, q as MigrationNavigationTab, U as UrlMigrationCheckpoint, r as UrlMigrationCheckpointDelta, s as UrlMigrationIssue, t as UrlMigrationRecord, u as UrlMigrationRun, v as UrlMigrationRunOptions, w as UrlMigrationValidation, x as classifyMigrationResponse, y as mergeMigrationConfig, z as renderMigrationFiles, A as runUrlMigration, B as validateUrlMigration } from './url-migration-peVzTLjL.js';
3
3
  export { isPassiveSvg } from './svg-policy.js';
4
4
 
5
5
  /**
@@ -182,6 +182,11 @@ interface MintlifyProjectionOptions {
182
182
  * when the repository was not mapped with `--source-ref`.
183
183
  */
184
184
  resolveSourceRef?: (repo: string) => Array<string | MigrationNavigationGroup> | null;
185
+ /**
186
+ * Set by a caller that binds the authored operation lists (`mintlifyNavigationApiReferences`
187
+ * `groups`) to their API tabs. Without it every "METHOD /path" entry is reported as not carried over.
188
+ */
189
+ operationGroups?: boolean;
185
190
  }
186
191
  /** Preserve Mintlify's implicit `/section` route for section landing pages. */
187
192
  declare function addMintlifyDirectoryRedirects(config: MigrationDocsConfig, pages: Array<MigrationPage>): MigrationDocsConfig;