@mx-space/cli 0.1.0 → 0.1.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/README.md +5 -1
- package/dist/{auth-DIFZzoMm.mjs → auth-OeKZZ_2x.mjs} +2 -2
- package/dist/{auth-DIFZzoMm.mjs.map → auth-OeKZZ_2x.mjs.map} +1 -1
- package/dist/bin/mxs.d.mts +1 -0
- package/dist/bin/mxs.mjs +39 -39
- package/dist/bin/mxs.mjs.map +1 -1
- package/dist/config-store-WL7dNMS6.mjs +226 -0
- package/dist/config-store-WL7dNMS6.mjs.map +1 -0
- package/dist/{create-Dz6rJJSS.mjs → create-BVHnXtIH.mjs} +2 -2
- package/dist/{create-Dz6rJJSS.mjs.map → create-BVHnXtIH.mjs.map} +1 -1
- package/dist/{create-DT1l2hue.mjs → create-BWA2WGrW.mjs} +2 -2
- package/dist/{create-DT1l2hue.mjs.map → create-BWA2WGrW.mjs.map} +1 -1
- package/dist/{create-B2AOQL1e.mjs → create-C85MSrtt.mjs} +2 -2
- package/dist/{create-B2AOQL1e.mjs.map → create-C85MSrtt.mjs.map} +1 -1
- package/dist/{create-DjlRHPXy.mjs → create-Cxnqt_Wt.mjs} +2 -2
- package/dist/{create-DjlRHPXy.mjs.map → create-Cxnqt_Wt.mjs.map} +1 -1
- package/dist/{create-CwjGcv2n.mjs → create-DUOSAqBm.mjs} +2 -2
- package/dist/{create-CwjGcv2n.mjs.map → create-DUOSAqBm.mjs.map} +1 -1
- package/dist/{delete-YzRliRn8.mjs → delete-BEXOOFAJ.mjs} +2 -2
- package/dist/{delete-YzRliRn8.mjs.map → delete-BEXOOFAJ.mjs.map} +1 -1
- package/dist/{delete-B4dGrrus.mjs → delete-CGy-cV6k.mjs} +2 -2
- package/dist/{delete-B4dGrrus.mjs.map → delete-CGy-cV6k.mjs.map} +1 -1
- package/dist/{delete-BH6ZngTz.mjs → delete-CKqlAUT8.mjs} +2 -2
- package/dist/{delete-BH6ZngTz.mjs.map → delete-CKqlAUT8.mjs.map} +1 -1
- package/dist/{delete-CaG2d_xt.mjs → delete-CcyrLNZv.mjs} +2 -2
- package/dist/{delete-CaG2d_xt.mjs.map → delete-CcyrLNZv.mjs.map} +1 -1
- package/dist/{delete-BrY5zJ6S.mjs → delete-Cjxehwj7.mjs} +2 -2
- package/dist/{delete-BrY5zJ6S.mjs.map → delete-Cjxehwj7.mjs.map} +1 -1
- package/dist/{document-output-BVB8emLt.mjs → document-output-C5PWbz2p.mjs} +57 -2
- package/dist/document-output-C5PWbz2p.mjs.map +1 -0
- package/dist/{edit-Bb0Ze4w6.mjs → edit-BRaZ6GGg.mjs} +2 -2
- package/dist/{edit-Bb0Ze4w6.mjs.map → edit-BRaZ6GGg.mjs.map} +1 -1
- package/dist/{edit-z55ofr1S.mjs → edit-BuKMUNVC.mjs} +2 -2
- package/dist/{edit-z55ofr1S.mjs.map → edit-BuKMUNVC.mjs.map} +1 -1
- package/dist/{edit-BeFmC3XD.mjs → edit-DFnOnk4i.mjs} +2 -2
- package/dist/{edit-BeFmC3XD.mjs.map → edit-DFnOnk4i.mjs.map} +1 -1
- package/dist/{edit-DLDw_ZWX.mjs → edit-t108N11Q.mjs} +2 -2
- package/dist/{edit-DLDw_ZWX.mjs.map → edit-t108N11Q.mjs.map} +1 -1
- package/dist/{get-ClkpDBTL.mjs → get-BYoAlJwB.mjs} +3 -3
- package/dist/get-BYoAlJwB.mjs.map +1 -0
- package/dist/{get-DJfUJ3sP.mjs → get-CwcNFb39.mjs} +3 -3
- package/dist/get-CwcNFb39.mjs.map +1 -0
- package/dist/{get-DiqaQvoS.mjs → get-DnDvLa9S.mjs} +4 -4
- package/dist/get-DnDvLa9S.mjs.map +1 -0
- package/dist/{get-2qjq0wgG.mjs → get-Doi-NKAh.mjs} +6 -6
- package/dist/get-Doi-NKAh.mjs.map +1 -0
- package/dist/{get-CRR13lgj.mjs → get-DxTU7Nom.mjs} +2 -2
- package/dist/{get-CRR13lgj.mjs.map → get-DxTU7Nom.mjs.map} +1 -1
- package/dist/{get-BGAk1Zmv.mjs → get-GdRz82RW.mjs} +4 -4
- package/dist/get-GdRz82RW.mjs.map +1 -0
- package/dist/index.d.mts +15 -3
- package/dist/index.mjs +5 -5
- package/dist/{list-Fp4nKfQb.mjs → list-CLAcZYZ4.mjs} +3 -3
- package/dist/list-CLAcZYZ4.mjs.map +1 -0
- package/dist/{list-DY-tPNG-.mjs → list-CtME3aDw.mjs} +2 -2
- package/dist/{list-DY-tPNG-.mjs.map → list-CtME3aDw.mjs.map} +1 -1
- package/dist/{list-DlQSkbqx.mjs → list-DHG-MzOM.mjs} +3 -3
- package/dist/list-DHG-MzOM.mjs.map +1 -0
- package/dist/{list-BYzhflDg.mjs → list-DN81zVDA.mjs} +4 -4
- package/dist/list-DN81zVDA.mjs.map +1 -0
- package/dist/list-DVunNsXr.mjs +10 -0
- package/dist/list-DVunNsXr.mjs.map +1 -0
- package/dist/list-DbNCVZbz.mjs +15 -0
- package/dist/list-DbNCVZbz.mjs.map +1 -0
- package/dist/{login-CLOJ-fTJ.mjs → login-mjliJn8U.mjs} +4 -4
- package/dist/{login-CLOJ-fTJ.mjs.map → login-mjliJn8U.mjs.map} +1 -1
- package/dist/{logout-v8ihxsim.mjs → logout-Bslt_ZJ4.mjs} +2 -2
- package/dist/{logout-v8ihxsim.mjs.map → logout-Bslt_ZJ4.mjs.map} +1 -1
- package/dist/{onboarding-640IldLz.mjs → onboarding-C1t1yoay.mjs} +3 -3
- package/dist/{onboarding-640IldLz.mjs.map → onboarding-C1t1yoay.mjs.map} +1 -1
- package/dist/output-BM7aBFwt.mjs.map +1 -1
- package/dist/{publish-pRBfTJfe.mjs → publish-CN3NTJ_r.mjs} +2 -2
- package/dist/{publish-pRBfTJfe.mjs.map → publish-CN3NTJ_r.mjs.map} +1 -1
- package/dist/{publish-DkTYB-eK.mjs → publish-akQWYsnL.mjs} +2 -2
- package/dist/{publish-DkTYB-eK.mjs.map → publish-akQWYsnL.mjs.map} +1 -1
- package/dist/{set-BEGQz2si.mjs → set-ClbrGFGv.mjs} +2 -2
- package/dist/{set-BEGQz2si.mjs.map → set-ClbrGFGv.mjs.map} +1 -1
- package/dist/{shared-D0HVBDHI.mjs → shared-C2EAn5h_.mjs} +11 -4
- package/dist/shared-C2EAn5h_.mjs.map +1 -0
- package/dist/{status-LXrN9fI-.mjs → status-Cvyrrx-J.mjs} +3 -3
- package/dist/{status-LXrN9fI-.mjs.map → status-Cvyrrx-J.mjs.map} +1 -1
- package/dist/{update-BMZQPOvR.mjs → update-CHmckeo8.mjs} +2 -2
- package/dist/{update-BMZQPOvR.mjs.map → update-CHmckeo8.mjs.map} +1 -1
- package/dist/{update-q66TLS38.mjs → update-CJjwg09n.mjs} +2 -2
- package/dist/{update-q66TLS38.mjs.map → update-CJjwg09n.mjs.map} +1 -1
- package/dist/{update-Dx6AF8tf.mjs → update-Duh-iVOZ.mjs} +2 -2
- package/dist/{update-Dx6AF8tf.mjs.map → update-Duh-iVOZ.mjs.map} +1 -1
- package/dist/{update-B9ynFCdZ.mjs → update-dc-72pUN.mjs} +2 -2
- package/dist/{update-B9ynFCdZ.mjs.map → update-dc-72pUN.mjs.map} +1 -1
- package/dist/{update-BXz0l7Lz.mjs → update-qfiC-9Og.mjs} +2 -2
- package/dist/{update-BXz0l7Lz.mjs.map → update-qfiC-9Og.mjs.map} +1 -1
- package/dist/{whoami-CTkctOEd.mjs → whoami-UwcdRchK.mjs} +3 -3
- package/dist/{whoami-CTkctOEd.mjs.map → whoami-UwcdRchK.mjs.map} +1 -1
- package/package.json +1 -1
- package/dist/config-store-DIu7x0ao.mjs +0 -121
- package/dist/config-store-DIu7x0ao.mjs.map +0 -1
- package/dist/document-output-BVB8emLt.mjs.map +0 -1
- package/dist/get-2qjq0wgG.mjs.map +0 -1
- package/dist/get-BGAk1Zmv.mjs.map +0 -1
- package/dist/get-ClkpDBTL.mjs.map +0 -1
- package/dist/get-DJfUJ3sP.mjs.map +0 -1
- package/dist/get-DiqaQvoS.mjs.map +0 -1
- package/dist/list-BYzhflDg.mjs.map +0 -1
- package/dist/list-DlQSkbqx.mjs.map +0 -1
- package/dist/list-DsrA5wIz.mjs +0 -15
- package/dist/list-DsrA5wIz.mjs.map +0 -1
- package/dist/list-Fp4nKfQb.mjs.map +0 -1
- package/dist/list-s_tloiEX.mjs +0 -10
- package/dist/list-s_tloiEX.mjs.map +0 -1
- package/dist/shared-D0HVBDHI.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-output-C5PWbz2p.mjs","names":[],"sources":["../src/core/document-output.ts"],"sourcesContent":["import { MxsError } from './errors'\nimport { serializeFromLexical, type LexicalState } from './litexml-codec'\nimport { emitSuccess, type OutputOptions } from './output'\n\nexport type DocumentKind = 'post' | 'note' | 'page'\n\nconst POST_LIST_OUTPUT_MODES = new Set([\n 'pretty-json',\n 'json',\n 'readable',\n 'llm',\n])\n\nconst DOCUMENT_OUTPUT_MODES = new Set([\n 'pretty-json',\n 'json',\n 'readable',\n 'llm',\n 'envelope',\n])\n\nexport function emitDocument(\n kind: DocumentKind,\n data: unknown,\n opts: OutputOptions,\n): void {\n const mode = opts.output ?? 'pretty-json'\n if (!DOCUMENT_OUTPUT_MODES.has(mode)) {\n throw new MxsError({\n code: 'validation.failed',\n message: `unsupported --output value: ${mode}`,\n hint: 'use --output pretty-json, json, readable, llm, or envelope',\n })\n }\n\n if (opts.json || mode === 'json' || mode === 'pretty-json') {\n emitSuccess(data, opts)\n return\n }\n\n const doc = unwrapDocument(data)\n const rendered =\n mode === 'envelope'\n ? renderDocumentEnvelope(kind, doc)\n : renderReadableDocument(kind, doc)\n process.stdout.write(`${rendered}\\n`)\n}\n\nexport function emitPostList(data: unknown, opts: OutputOptions): void {\n const mode = opts.output ?? 'pretty-json'\n if (!POST_LIST_OUTPUT_MODES.has(mode)) {\n throw new MxsError({\n code: 'validation.failed',\n message: `unsupported --output value for post list: ${mode}`,\n hint: 'use --output pretty-json, json, readable, or llm',\n })\n }\n\n if (opts.json || mode === 'json' || mode === 'pretty-json') {\n emitSuccess(data, opts)\n return\n }\n\n process.stdout.write(`${renderPostList(data)}\\n`)\n}\n\nexport function renderReadableDocument(\n kind: DocumentKind,\n data: unknown,\n): string {\n const doc = asRecord(data)\n const lines: string[] = [kind]\n const fields = collectReadableFields(kind, doc)\n\n for (const [key, value] of fields) {\n if (value === undefined || value === null || value === '') continue\n lines.push(`${key}: ${formatScalar(value)}`)\n }\n\n const summary = firstString(doc, 'summary', 'subtitle')\n if (summary) {\n lines.push('', 'summary:', summary)\n }\n\n const content = renderContent(doc)\n if (content.body) {\n lines.push(\n '',\n `content_format: ${content.format}`,\n '',\n 'content:',\n content.body,\n )\n }\n\n return lines.join('\\n')\n}\n\nexport function renderPostList(data: unknown): string {\n const payload = asRecord(data)\n const rows = Array.isArray(payload.data)\n ? payload.data\n : Array.isArray(data)\n ? data\n : []\n const pagination = asRecord(first(payload, 'pagination'))\n const lines = ['posts']\n\n if (rows.length > 0) {\n lines.push(`count: ${rows.length}`)\n } else {\n lines.push('count: 0')\n }\n\n const page = first(pagination, 'page', 'currentPage')\n const size = first(pagination, 'size', 'pageSize')\n const total = first(pagination, 'total', 'totalCount')\n if (page !== undefined) lines.push(`page: ${formatScalar(page)}`)\n if (size !== undefined) lines.push(`size: ${formatScalar(size)}`)\n if (total !== undefined) lines.push(`total: ${formatScalar(total)}`)\n\n rows.forEach((row, index) => {\n const doc = asRecord(row)\n lines.push('', `post ${index + 1}:`)\n const fields: Array<[string, unknown]> = [\n ['id', first(doc, 'id')],\n ['title', first(doc, 'title')],\n ['slug', first(doc, 'slug')],\n ['state', publishState(doc)],\n ['category', relationLabel(first(doc, 'category'))],\n ['tags', first(doc, 'tags')],\n ['summary', first(doc, 'summary')],\n ['created_at', first(doc, 'created_at', 'createdAt')],\n ['modified_at', first(doc, 'modified_at', 'modifiedAt')],\n ['source_lang', first(doc, 'source_lang', 'sourceLang')],\n ['translated', first(doc, 'is_translated', 'isTranslated')],\n ]\n\n for (const [key, value] of fields) {\n if (value === undefined || value === null || value === '') continue\n lines.push(`${key}: ${formatScalar(value)}`)\n }\n })\n\n return lines.join('\\n')\n}\n\nexport function renderDocumentEnvelope(\n kind: DocumentKind,\n data: unknown,\n): string {\n const doc = asRecord(data)\n const root = kind === 'note' ? 'mxnote' : 'mxpost'\n const meta = collectEnvelopeMeta(kind, doc)\n const metaLines = meta.map(([key, value]) => renderEnvelopeMeta(key, value))\n const content = renderContent(doc)\n\n return `<${root}>\n <meta>\n${metaLines.join('\\n')}\n </meta>\n <content>\n${content.body}\n </content>\n</${root}>`\n}\n\nfunction collectReadableFields(\n kind: DocumentKind,\n doc: Record<string, unknown>,\n): Array<[string, unknown]> {\n const base: Array<[string, unknown]> = [\n ['id', first(doc, 'id')],\n ['title', first(doc, 'title')],\n ['slug', first(doc, 'slug')],\n ]\n\n if (kind === 'post') {\n base.push(\n ['state', publishState(doc)],\n ['category', relationLabel(first(doc, 'category'))],\n ['tags', first(doc, 'tags')],\n ['pin', first(doc, 'pin')],\n )\n } else if (kind === 'note') {\n base.push(\n ['nid', first(doc, 'nid')],\n ['state', publishState(doc)],\n ['topic', relationLabel(first(doc, 'topic'))],\n ['mood', first(doc, 'mood')],\n ['weather', first(doc, 'weather')],\n ['public_at', first(doc, 'public_at', 'publicAt')],\n ['bookmark', first(doc, 'bookmark')],\n )\n } else {\n base.push(\n ['subtitle', first(doc, 'subtitle')],\n ['order', first(doc, 'order')],\n )\n }\n\n base.push(\n ['created_at', first(doc, 'created_at', 'createdAt')],\n ['modified_at', first(doc, 'modified_at', 'modifiedAt')],\n ['source_lang', first(doc, 'source_lang', 'sourceLang')],\n ['translated', first(doc, 'is_translated', 'isTranslated')],\n )\n\n return base\n}\n\nfunction collectEnvelopeMeta(\n kind: DocumentKind,\n doc: Record<string, unknown>,\n): Array<[string, unknown]> {\n const meta: Array<[string, unknown]> = [\n ['title', first(doc, 'title')],\n ['slug', first(doc, 'slug')],\n ]\n\n if (kind === 'post') {\n meta.push(\n ['category', relationSlugOrLabel(first(doc, 'category'))],\n ['state', publishState(doc) === 'published' ? 'publish' : 'draft'],\n ['summary', first(doc, 'summary')],\n ['tags', first(doc, 'tags')],\n )\n } else if (kind === 'note') {\n meta.push(\n ['topic', relationSlugOrLabel(first(doc, 'topic'))],\n ['state', publishState(doc) === 'published' ? 'publish' : 'draft'],\n ['mood', first(doc, 'mood')],\n ['weather', first(doc, 'weather')],\n ['publicAt', first(doc, 'public_at', 'publicAt')],\n ['bookmark', first(doc, 'bookmark')],\n ['location', first(doc, 'location')],\n )\n } else {\n meta.push(\n ['subtitle', first(doc, 'subtitle')],\n ['order', first(doc, 'order')],\n )\n }\n\n meta.push(['format', contentFormat(doc)])\n return meta.filter(\n ([, value]) => value !== undefined && value !== null && value !== '',\n )\n}\n\nfunction renderContent(doc: Record<string, unknown>): {\n body: string\n format: 'litexml' | 'markdown' | 'text'\n} {\n const format = contentFormat(doc)\n const content = firstString(doc, 'content')\n const text = firstString(doc, 'text')\n\n if (format === 'lexical' && content) {\n try {\n return {\n body: serializeFromLexical(JSON.parse(content) as LexicalState),\n format: 'litexml',\n }\n } catch {\n return { body: text || content, format: text ? 'text' : 'markdown' }\n }\n }\n\n return {\n body: content || text || '',\n format: format === 'markdown' ? 'markdown' : 'text',\n }\n}\n\nfunction unwrapDocument(data: unknown): unknown {\n const obj = asRecord(data)\n const nested = obj.data\n if (nested && typeof nested === 'object' && !Array.isArray(nested))\n return nested\n return data\n}\n\nfunction asRecord(value: unknown): Record<string, unknown> {\n return value && typeof value === 'object' && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : {}\n}\n\nfunction first(record: Record<string, unknown>, ...keys: string[]): unknown {\n for (const key of keys) {\n if (record[key] !== undefined && record[key] !== null) return record[key]\n }\n return undefined\n}\n\nfunction firstString(\n record: Record<string, unknown>,\n ...keys: string[]\n): string {\n const value = first(record, ...keys)\n return typeof value === 'string' ? value : ''\n}\n\nfunction contentFormat(doc: Record<string, unknown>): string {\n const value = first(doc, 'content_format', 'contentFormat')\n return typeof value === 'string' ? value : 'markdown'\n}\n\nfunction publishState(doc: Record<string, unknown>): string | undefined {\n const value = first(doc, 'is_published', 'isPublished')\n if (typeof value === 'boolean') return value ? 'published' : 'draft'\n return undefined\n}\n\nfunction relationLabel(value: unknown): string | undefined {\n if (!value) return undefined\n if (typeof value === 'string') return value\n const obj = asRecord(value)\n return (\n firstString(obj, 'name') ||\n firstString(obj, 'slug') ||\n firstString(obj, 'id')\n )\n}\n\nfunction relationSlugOrLabel(value: unknown): string | undefined {\n if (!value) return undefined\n if (typeof value === 'string') return value\n const obj = asRecord(value)\n return (\n firstString(obj, 'slug') ||\n firstString(obj, 'name') ||\n firstString(obj, 'id')\n )\n}\n\nfunction formatScalar(value: unknown): string {\n if (Array.isArray(value)) return value.map(formatScalar).join(', ')\n if (value instanceof Date) return value.toISOString()\n if (typeof value === 'object' && value !== null) return JSON.stringify(value)\n return String(value)\n}\n\nfunction renderEnvelopeMeta(key: string, value: unknown): string {\n if (key === 'tags' && Array.isArray(value)) {\n const tags = value\n .map((item) => ` <tag>${escapeXml(formatScalar(item))}</tag>`)\n .join('\\n')\n return ` <tags>\\n${tags}\\n </tags>`\n }\n\n return ` <${key}>${escapeXml(formatScalar(value))}</${key}>`\n}\n\nfunction escapeXml(value: string): string {\n return value\n .replaceAll('&', '&')\n .replaceAll('<', '<')\n .replaceAll('>', '>')\n}\n"],"mappings":";;;AAMA,MAAM,yBAAyB,IAAI,IAAI;CACrC;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,wBAAwB,IAAI,IAAI;CACpC;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,SAAgB,aACd,MACA,MACA,MACM;CACN,MAAM,OAAO,KAAK,UAAU;CAC5B,IAAI,CAAC,sBAAsB,IAAI,IAAI,GACjC,MAAM,IAAI,SAAS;EACjB,MAAM;EACN,SAAS,+BAA+B;EACxC,MAAM;CACR,CAAC;CAGH,IAAI,KAAK,QAAQ,SAAS,UAAU,SAAS,eAAe;EAC1D,YAAY,MAAM,IAAI;EACtB;CACF;CAEA,MAAM,MAAM,eAAe,IAAI;CAC/B,MAAM,WACJ,SAAS,aACL,uBAAuB,MAAM,GAAG,IAChC,uBAAuB,MAAM,GAAG;CACtC,QAAQ,OAAO,MAAM,GAAG,SAAS,GAAG;AACtC;AAEA,SAAgB,aAAa,MAAe,MAA2B;CACrE,MAAM,OAAO,KAAK,UAAU;CAC5B,IAAI,CAAC,uBAAuB,IAAI,IAAI,GAClC,MAAM,IAAI,SAAS;EACjB,MAAM;EACN,SAAS,6CAA6C;EACtD,MAAM;CACR,CAAC;CAGH,IAAI,KAAK,QAAQ,SAAS,UAAU,SAAS,eAAe;EAC1D,YAAY,MAAM,IAAI;EACtB;CACF;CAEA,QAAQ,OAAO,MAAM,GAAG,eAAe,IAAI,EAAE,GAAG;AAClD;AAEA,SAAgB,uBACd,MACA,MACQ;CACR,MAAM,MAAM,SAAS,IAAI;CACzB,MAAM,QAAkB,CAAC,IAAI;CAC7B,MAAM,SAAS,sBAAsB,MAAM,GAAG;CAE9C,KAAK,MAAM,CAAC,KAAK,UAAU,QAAQ;EACjC,IAAI,UAAU,KAAA,KAAa,UAAU,QAAQ,UAAU,IAAI;EAC3D,MAAM,KAAK,GAAG,IAAI,IAAI,aAAa,KAAK,GAAG;CAC7C;CAEA,MAAM,UAAU,YAAY,KAAK,WAAW,UAAU;CACtD,IAAI,SACF,MAAM,KAAK,IAAI,YAAY,OAAO;CAGpC,MAAM,UAAU,cAAc,GAAG;CACjC,IAAI,QAAQ,MACV,MAAM,KACJ,IACA,mBAAmB,QAAQ,UAC3B,IACA,YACA,QAAQ,IACV;CAGF,OAAO,MAAM,KAAK,IAAI;AACxB;AAEA,SAAgB,eAAe,MAAuB;CACpD,MAAM,UAAU,SAAS,IAAI;CAC7B,MAAM,OAAO,MAAM,QAAQ,QAAQ,IAAI,IACnC,QAAQ,OACR,MAAM,QAAQ,IAAI,IAChB,OACA,CAAC;CACP,MAAM,aAAa,SAAS,MAAM,SAAS,YAAY,CAAC;CACxD,MAAM,QAAQ,CAAC,OAAO;CAEtB,IAAI,KAAK,SAAS,GAChB,MAAM,KAAK,UAAU,KAAK,QAAQ;MAElC,MAAM,KAAK,UAAU;CAGvB,MAAM,OAAO,MAAM,YAAY,QAAQ,aAAa;CACpD,MAAM,OAAO,MAAM,YAAY,QAAQ,UAAU;CACjD,MAAM,QAAQ,MAAM,YAAY,SAAS,YAAY;CACrD,IAAI,SAAS,KAAA,GAAW,MAAM,KAAK,SAAS,aAAa,IAAI,GAAG;CAChE,IAAI,SAAS,KAAA,GAAW,MAAM,KAAK,SAAS,aAAa,IAAI,GAAG;CAChE,IAAI,UAAU,KAAA,GAAW,MAAM,KAAK,UAAU,aAAa,KAAK,GAAG;CAEnE,KAAK,SAAS,KAAK,UAAU;EAC3B,MAAM,MAAM,SAAS,GAAG;EACxB,MAAM,KAAK,IAAI,QAAQ,QAAQ,EAAE,EAAE;EACnC,MAAM,SAAmC;GACvC,CAAC,MAAM,MAAM,KAAK,IAAI,CAAC;GACvB,CAAC,SAAS,MAAM,KAAK,OAAO,CAAC;GAC7B,CAAC,QAAQ,MAAM,KAAK,MAAM,CAAC;GAC3B,CAAC,SAAS,aAAa,GAAG,CAAC;GAC3B,CAAC,YAAY,cAAc,MAAM,KAAK,UAAU,CAAC,CAAC;GAClD,CAAC,QAAQ,MAAM,KAAK,MAAM,CAAC;GAC3B,CAAC,WAAW,MAAM,KAAK,SAAS,CAAC;GACjC,CAAC,cAAc,MAAM,KAAK,cAAc,WAAW,CAAC;GACpD,CAAC,eAAe,MAAM,KAAK,eAAe,YAAY,CAAC;GACvD,CAAC,eAAe,MAAM,KAAK,eAAe,YAAY,CAAC;GACvD,CAAC,cAAc,MAAM,KAAK,iBAAiB,cAAc,CAAC;EAC5D;EAEA,KAAK,MAAM,CAAC,KAAK,UAAU,QAAQ;GACjC,IAAI,UAAU,KAAA,KAAa,UAAU,QAAQ,UAAU,IAAI;GAC3D,MAAM,KAAK,GAAG,IAAI,IAAI,aAAa,KAAK,GAAG;EAC7C;CACF,CAAC;CAED,OAAO,MAAM,KAAK,IAAI;AACxB;AAEA,SAAgB,uBACd,MACA,MACQ;CACR,MAAM,MAAM,SAAS,IAAI;CACzB,MAAM,OAAO,SAAS,SAAS,WAAW;CAE1C,MAAM,YADO,oBAAoB,MAAM,GAClB,EAAE,KAAK,CAAC,KAAK,WAAW,mBAAmB,KAAK,KAAK,CAAC;CAC3E,MAAM,UAAU,cAAc,GAAG;CAEjC,OAAO,IAAI,KAAK;;EAEhB,UAAU,KAAK,IAAI,EAAE;;;EAGrB,QAAQ,KAAK;;IAEX,KAAK;AACT;AAEA,SAAS,sBACP,MACA,KAC0B;CAC1B,MAAM,OAAiC;EACrC,CAAC,MAAM,MAAM,KAAK,IAAI,CAAC;EACvB,CAAC,SAAS,MAAM,KAAK,OAAO,CAAC;EAC7B,CAAC,QAAQ,MAAM,KAAK,MAAM,CAAC;CAC7B;CAEA,IAAI,SAAS,QACX,KAAK,KACH,CAAC,SAAS,aAAa,GAAG,CAAC,GAC3B,CAAC,YAAY,cAAc,MAAM,KAAK,UAAU,CAAC,CAAC,GAClD,CAAC,QAAQ,MAAM,KAAK,MAAM,CAAC,GAC3B,CAAC,OAAO,MAAM,KAAK,KAAK,CAAC,CAC3B;MACK,IAAI,SAAS,QAClB,KAAK,KACH,CAAC,OAAO,MAAM,KAAK,KAAK,CAAC,GACzB,CAAC,SAAS,aAAa,GAAG,CAAC,GAC3B,CAAC,SAAS,cAAc,MAAM,KAAK,OAAO,CAAC,CAAC,GAC5C,CAAC,QAAQ,MAAM,KAAK,MAAM,CAAC,GAC3B,CAAC,WAAW,MAAM,KAAK,SAAS,CAAC,GACjC,CAAC,aAAa,MAAM,KAAK,aAAa,UAAU,CAAC,GACjD,CAAC,YAAY,MAAM,KAAK,UAAU,CAAC,CACrC;MAEA,KAAK,KACH,CAAC,YAAY,MAAM,KAAK,UAAU,CAAC,GACnC,CAAC,SAAS,MAAM,KAAK,OAAO,CAAC,CAC/B;CAGF,KAAK,KACH,CAAC,cAAc,MAAM,KAAK,cAAc,WAAW,CAAC,GACpD,CAAC,eAAe,MAAM,KAAK,eAAe,YAAY,CAAC,GACvD,CAAC,eAAe,MAAM,KAAK,eAAe,YAAY,CAAC,GACvD,CAAC,cAAc,MAAM,KAAK,iBAAiB,cAAc,CAAC,CAC5D;CAEA,OAAO;AACT;AAEA,SAAS,oBACP,MACA,KAC0B;CAC1B,MAAM,OAAiC,CACrC,CAAC,SAAS,MAAM,KAAK,OAAO,CAAC,GAC7B,CAAC,QAAQ,MAAM,KAAK,MAAM,CAAC,CAC7B;CAEA,IAAI,SAAS,QACX,KAAK,KACH,CAAC,YAAY,oBAAoB,MAAM,KAAK,UAAU,CAAC,CAAC,GACxD,CAAC,SAAS,aAAa,GAAG,MAAM,cAAc,YAAY,OAAO,GACjE,CAAC,WAAW,MAAM,KAAK,SAAS,CAAC,GACjC,CAAC,QAAQ,MAAM,KAAK,MAAM,CAAC,CAC7B;MACK,IAAI,SAAS,QAClB,KAAK,KACH,CAAC,SAAS,oBAAoB,MAAM,KAAK,OAAO,CAAC,CAAC,GAClD,CAAC,SAAS,aAAa,GAAG,MAAM,cAAc,YAAY,OAAO,GACjE,CAAC,QAAQ,MAAM,KAAK,MAAM,CAAC,GAC3B,CAAC,WAAW,MAAM,KAAK,SAAS,CAAC,GACjC,CAAC,YAAY,MAAM,KAAK,aAAa,UAAU,CAAC,GAChD,CAAC,YAAY,MAAM,KAAK,UAAU,CAAC,GACnC,CAAC,YAAY,MAAM,KAAK,UAAU,CAAC,CACrC;MAEA,KAAK,KACH,CAAC,YAAY,MAAM,KAAK,UAAU,CAAC,GACnC,CAAC,SAAS,MAAM,KAAK,OAAO,CAAC,CAC/B;CAGF,KAAK,KAAK,CAAC,UAAU,cAAc,GAAG,CAAC,CAAC;CACxC,OAAO,KAAK,QACT,GAAG,WAAW,UAAU,KAAA,KAAa,UAAU,QAAQ,UAAU,EACpE;AACF;AAEA,SAAS,cAAc,KAGrB;CACA,MAAM,SAAS,cAAc,GAAG;CAChC,MAAM,UAAU,YAAY,KAAK,SAAS;CAC1C,MAAM,OAAO,YAAY,KAAK,MAAM;CAEpC,IAAI,WAAW,aAAa,SAC1B,IAAI;EACF,OAAO;GACL,MAAM,qBAAqB,KAAK,MAAM,OAAO,CAAiB;GAC9D,QAAQ;EACV;CACF,QAAQ;EACN,OAAO;GAAE,MAAM,QAAQ;GAAS,QAAQ,OAAO,SAAS;EAAW;CACrE;CAGF,OAAO;EACL,MAAM,WAAW,QAAQ;EACzB,QAAQ,WAAW,aAAa,aAAa;CAC/C;AACF;AAEA,SAAS,eAAe,MAAwB;CAE9C,MAAM,SADM,SAAS,IACJ,EAAE;CACnB,IAAI,UAAU,OAAO,WAAW,YAAY,CAAC,MAAM,QAAQ,MAAM,GAC/D,OAAO;CACT,OAAO;AACT;AAEA,SAAS,SAAS,OAAyC;CACzD,OAAO,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,IAC5D,QACD,CAAC;AACP;AAEA,SAAS,MAAM,QAAiC,GAAG,MAAyB;CAC1E,KAAK,MAAM,OAAO,MAChB,IAAI,OAAO,SAAS,KAAA,KAAa,OAAO,SAAS,MAAM,OAAO,OAAO;AAGzE;AAEA,SAAS,YACP,QACA,GAAG,MACK;CACR,MAAM,QAAQ,MAAM,QAAQ,GAAG,IAAI;CACnC,OAAO,OAAO,UAAU,WAAW,QAAQ;AAC7C;AAEA,SAAS,cAAc,KAAsC;CAC3D,MAAM,QAAQ,MAAM,KAAK,kBAAkB,eAAe;CAC1D,OAAO,OAAO,UAAU,WAAW,QAAQ;AAC7C;AAEA,SAAS,aAAa,KAAkD;CACtE,MAAM,QAAQ,MAAM,KAAK,gBAAgB,aAAa;CACtD,IAAI,OAAO,UAAU,WAAW,OAAO,QAAQ,cAAc;AAE/D;AAEA,SAAS,cAAc,OAAoC;CACzD,IAAI,CAAC,OAAO,OAAO,KAAA;CACnB,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,MAAM,MAAM,SAAS,KAAK;CAC1B,OACE,YAAY,KAAK,MAAM,KACvB,YAAY,KAAK,MAAM,KACvB,YAAY,KAAK,IAAI;AAEzB;AAEA,SAAS,oBAAoB,OAAoC;CAC/D,IAAI,CAAC,OAAO,OAAO,KAAA;CACnB,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,MAAM,MAAM,SAAS,KAAK;CAC1B,OACE,YAAY,KAAK,MAAM,KACvB,YAAY,KAAK,MAAM,KACvB,YAAY,KAAK,IAAI;AAEzB;AAEA,SAAS,aAAa,OAAwB;CAC5C,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,MAAM,IAAI,YAAY,EAAE,KAAK,IAAI;CAClE,IAAI,iBAAiB,MAAM,OAAO,MAAM,YAAY;CACpD,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,OAAO,KAAK,UAAU,KAAK;CAC5E,OAAO,OAAO,KAAK;AACrB;AAEA,SAAS,mBAAmB,KAAa,OAAwB;CAC/D,IAAI,QAAQ,UAAU,MAAM,QAAQ,KAAK,GAIvC,OAAO,eAHM,MACV,KAAK,SAAS,cAAc,UAAU,aAAa,IAAI,CAAC,EAAE,OAAO,EACjE,KAAK,IACiB,EAAE;CAG7B,OAAO,QAAQ,IAAI,GAAG,UAAU,aAAa,KAAK,CAAC,EAAE,IAAI,IAAI;AAC/D;AAEA,SAAS,UAAU,OAAuB;CACxC,OAAO,MACJ,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM;AAC3B"}
|
|
@@ -2,7 +2,7 @@ import { i as emitSuccess, r as emitInfo } from "./output-BM7aBFwt.mjs";
|
|
|
2
2
|
import { s as parseEnvelope, t as buildNotePayload } from "./payload-CN11pUto.mjs";
|
|
3
3
|
import { t as runEditorRoundTrip } from "./editor-xrF-j3UE.mjs";
|
|
4
4
|
import { i as serializeFromLexical } from "./litexml-codec-CDoRloiR.mjs";
|
|
5
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
5
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
6
6
|
import { r as resolveTopicRefs, t as buildResolver } from "./resolve-helpers-CahPoJ0Y.mjs";
|
|
7
7
|
import { t as resolveNoteId } from "./resolve-CyjMlaoJ.mjs";
|
|
8
8
|
import { t as applyNoteEnvelopeMeta } from "./envelope-overlays-DPAlMNW1.mjs";
|
|
@@ -76,4 +76,4 @@ function esc(s) {
|
|
|
76
76
|
//#endregion
|
|
77
77
|
export { run };
|
|
78
78
|
|
|
79
|
-
//# sourceMappingURL=edit-
|
|
79
|
+
//# sourceMappingURL=edit-BRaZ6GGg.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-
|
|
1
|
+
{"version":3,"file":"edit-BRaZ6GGg.mjs","names":[],"sources":["../src/commands/note/edit.ts"],"sourcesContent":["import type { ApiClient } from '../../core/api-client'\nimport { runEditorRoundTrip } from '../../core/editor'\nimport { parseEnvelope } from '../../core/envelope'\nimport { serializeFromLexical } from '../../core/litexml-codec'\nimport { emitInfo, emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildNotePayload, type NoteFlagInputs } from '../../core/payload'\nimport { applyNoteEnvelopeMeta } from '../internal/envelope-overlays'\nimport { buildResolver, resolveTopicRefs } from '../internal/resolve-helpers'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n} from '../internal/shared'\nimport { resolveNoteId } from './resolve'\n\nexport async function run(\n slugOrId: string,\n opts: NoteFlagInputs,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n\n if (!opts.file && opts.content === undefined) {\n const xml = await materializeForEditor(client, slugOrId)\n const next = await runEditorRoundTrip({\n filename: `note-${slugOrId}.xml`,\n initialContent: xml,\n })\n if (next.trim() === xml.trim()) {\n emitInfo('no changes', out)\n return\n }\n const parsed = parseEnvelope(next, 'note')\n const built = await buildNotePayload({\n ...opts,\n content: parsed.contentXml,\n format: opts.format ?? 'lexical',\n })\n applyNoteEnvelopeMeta(built.payload, parsed.meta)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const resolver = buildResolver(client)\n await resolveTopicRefs(built.payload, resolver)\n const id = await resolveNoteId(client, slugOrId)\n const res = await client.request(`/notes/${id}`, {\n method: 'PUT',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n return\n }\n\n const built = await buildNotePayload(opts)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const resolver = buildResolver(client)\n await resolveTopicRefs(built.payload, resolver)\n const id = await resolveNoteId(client, slugOrId)\n const res = await client.request(`/notes/${id}`, {\n method: 'PUT',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n}\n\nasync function materializeForEditor(\n client: ApiClient,\n slugOrId: string,\n): Promise<string> {\n const id = await resolveNoteId(client, slugOrId)\n const res = await client.request<{\n id?: string\n title?: string\n slug?: string\n contentFormat?: string\n content?: string\n isPublished?: boolean\n mood?: string\n weather?: string\n }>(`/notes/${id}`, { query: { prefer: 'lexical' } })\n const note: any = res.data\n const inner =\n note.contentFormat === 'lexical' && note.content\n ? serializeFromLexical(JSON.parse(note.content))\n : (note.content ?? '')\n return `<mxnote>\n <meta>\n <title>${esc(note.title ?? '')}</title>\n ${note.slug ? `<slug>${esc(note.slug)}</slug>` : ''}\n <state>${note.isPublished ? 'publish' : 'draft'}</state>\n ${note.mood ? `<mood>${esc(note.mood)}</mood>` : ''}\n ${note.weather ? `<weather>${esc(note.weather)}</weather>` : ''}\n </meta>\n <content>\n${inner}\n </content>\n</mxnote>\n`\n}\n\nfunction esc(s: string): string {\n return s\n .replaceAll('&', '&')\n .replaceAll('<', '<')\n .replaceAll('>', '>')\n}\n"],"mappings":";;;;;;;;;AAeA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CAExC,IAAI,CAAC,KAAK,QAAQ,KAAK,YAAY,KAAA,GAAW;EAC5C,MAAM,MAAM,MAAM,qBAAqB,QAAQ,QAAQ;EACvD,MAAM,OAAO,MAAM,mBAAmB;GACpC,UAAU,QAAQ,SAAS;GAC3B,gBAAgB;EAClB,CAAC;EACD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,GAAG;GAC9B,SAAS,cAAc,GAAG;GAC1B;EACF;EACA,MAAM,SAAS,cAAc,MAAM,MAAM;EACzC,MAAM,QAAQ,MAAM,iBAAiB;GACnC,GAAG;GACH,SAAS,OAAO;GAChB,QAAQ,KAAK,UAAU;EACzB,CAAC;EACD,sBAAsB,MAAM,SAAS,OAAO,IAAI;EAChD,IAAI,MAAM,QAAQ;GAChB,YAAY,MAAM,SAAS,GAAG;GAC9B;EACF;EACA,MAAM,WAAW,cAAc,MAAM;EACrC,MAAM,iBAAiB,MAAM,SAAS,QAAQ;EAC9C,MAAM,KAAK,MAAM,cAAc,QAAQ,QAAQ;EAK/C,aAAY,MAJM,OAAO,QAAQ,UAAU,MAAM;GAC/C,QAAQ;GACR,MAAM,MAAM;EACd,CAAC,GACe,MAAM,GAAG;EACzB;CACF;CAEA,MAAM,QAAQ,MAAM,iBAAiB,IAAI;CACzC,IAAI,MAAM,QAAQ;EAChB,YAAY,MAAM,SAAS,GAAG;EAC9B;CACF;CACA,MAAM,WAAW,cAAc,MAAM;CACrC,MAAM,iBAAiB,MAAM,SAAS,QAAQ;CAC9C,MAAM,KAAK,MAAM,cAAc,QAAQ,QAAQ;CAK/C,aAAY,MAJM,OAAO,QAAQ,UAAU,MAAM;EAC/C,QAAQ;EACR,MAAM,MAAM;CACd,CAAC,GACe,MAAM,GAAG;AAC3B;AAEA,eAAe,qBACb,QACA,UACiB;CACjB,MAAM,KAAK,MAAM,cAAc,QAAQ,QAAQ;CAW/C,MAAM,QAAY,MAVA,OAAO,QAStB,UAAU,MAAM,EAAE,OAAO,EAAE,QAAQ,UAAU,EAAE,CAAC,GAC7B;CACtB,MAAM,QACJ,KAAK,kBAAkB,aAAa,KAAK,UACrC,qBAAqB,KAAK,MAAM,KAAK,OAAO,CAAC,IAC5C,KAAK,WAAW;CACvB,OAAO;;aAEI,IAAI,KAAK,SAAS,EAAE,EAAE;MAC7B,KAAK,OAAO,SAAS,IAAI,KAAK,IAAI,EAAE,WAAW,GAAG;aAC3C,KAAK,cAAc,YAAY,QAAQ;MAC9C,KAAK,OAAO,SAAS,IAAI,KAAK,IAAI,EAAE,WAAW,GAAG;MAClD,KAAK,UAAU,YAAY,IAAI,KAAK,OAAO,EAAE,cAAc,GAAG;;;EAGlE,MAAM;;;;AAIR;AAEA,SAAS,IAAI,GAAmB;CAC9B,OAAO,EACJ,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM;AAC3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as emitSuccess, r as emitInfo, s as MxsError } from "./output-BM7aBFwt.mjs";
|
|
2
2
|
import { t as runEditorRoundTrip } from "./editor-xrF-j3UE.mjs";
|
|
3
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
3
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
4
4
|
//#region src/commands/config/edit.ts
|
|
5
5
|
async function run(flags, out) {
|
|
6
6
|
const client = buildApiClient(await resolveContext(flags, out), flags);
|
|
@@ -37,4 +37,4 @@ async function run(flags, out) {
|
|
|
37
37
|
//#endregion
|
|
38
38
|
export { run };
|
|
39
39
|
|
|
40
|
-
//# sourceMappingURL=edit-
|
|
40
|
+
//# sourceMappingURL=edit-BuKMUNVC.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-
|
|
1
|
+
{"version":3,"file":"edit-BuKMUNVC.mjs","names":[],"sources":["../src/commands/config/edit.ts"],"sourcesContent":["import { runEditorRoundTrip } from '../../core/editor'\nimport { MxsError } from '../../core/errors'\nimport { emitInfo, emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\n\nexport async function run(flags: GlobalFlags, out: OutputOptions) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request<Record<string, unknown>>('/options')\n const initial = JSON.stringify(res.data ?? {}, null, 2)\n const next = await runEditorRoundTrip({\n filename: 'mxs-config.json',\n initialContent: initial,\n })\n if (next.trim() === initial.trim()) {\n emitInfo('no changes', out)\n return\n }\n let parsed: Record<string, unknown>\n try {\n parsed = JSON.parse(next)\n } catch (err: any) {\n throw new MxsError({\n code: 'validation.failed',\n message: `invalid JSON: ${err?.message ?? err}`,\n })\n }\n if (flags.dryRun) {\n emitSuccess(parsed, out)\n return\n }\n const results: Record<string, unknown> = {}\n for (const [key, value] of Object.entries(parsed)) {\n const r = await client.request(`/options/${key}`, {\n method: 'PATCH',\n body: value,\n })\n results[key] = r.data\n }\n emitSuccess(results, out)\n}\n"],"mappings":";;;;AAKA,eAAsB,IAAI,OAAoB,KAAoB;CAEhE,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,MAAM,MAAM,OAAO,QAAiC,UAAU;CACpE,MAAM,UAAU,KAAK,UAAU,IAAI,QAAQ,CAAC,GAAG,MAAM,CAAC;CACtD,MAAM,OAAO,MAAM,mBAAmB;EACpC,UAAU;EACV,gBAAgB;CAClB,CAAC;CACD,IAAI,KAAK,KAAK,MAAM,QAAQ,KAAK,GAAG;EAClC,SAAS,cAAc,GAAG;EAC1B;CACF;CACA,IAAI;CACJ,IAAI;EACF,SAAS,KAAK,MAAM,IAAI;CAC1B,SAAS,KAAU;EACjB,MAAM,IAAI,SAAS;GACjB,MAAM;GACN,SAAS,iBAAiB,KAAK,WAAW;EAC5C,CAAC;CACH;CACA,IAAI,MAAM,QAAQ;EAChB,YAAY,QAAQ,GAAG;EACvB;CACF;CACA,MAAM,UAAmC,CAAC;CAC1C,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,GAK9C,QAAQ,QAAO,MAJC,OAAO,QAAQ,YAAY,OAAO;EAChD,QAAQ;EACR,MAAM;CACR,CAAC,GACgB;CAEnB,YAAY,SAAS,GAAG;AAC1B"}
|
|
@@ -3,7 +3,7 @@ import { n as buildPagePayload, s as parseEnvelope } from "./payload-CN11pUto.mj
|
|
|
3
3
|
import { t as runEditorRoundTrip } from "./editor-xrF-j3UE.mjs";
|
|
4
4
|
import { i as serializeFromLexical } from "./litexml-codec-CDoRloiR.mjs";
|
|
5
5
|
import { r as isSnowflakeId } from "./resolve-BogJOR7R.mjs";
|
|
6
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
6
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
7
7
|
import { n as applyPageEnvelopeMeta } from "./envelope-overlays-DPAlMNW1.mjs";
|
|
8
8
|
//#region src/commands/page/edit.ts
|
|
9
9
|
async function run(slugOrId, opts, flags, out) {
|
|
@@ -77,4 +77,4 @@ function esc(s) {
|
|
|
77
77
|
//#endregion
|
|
78
78
|
export { run };
|
|
79
79
|
|
|
80
|
-
//# sourceMappingURL=edit-
|
|
80
|
+
//# sourceMappingURL=edit-DFnOnk4i.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-
|
|
1
|
+
{"version":3,"file":"edit-DFnOnk4i.mjs","names":[],"sources":["../src/commands/page/edit.ts"],"sourcesContent":["import type { ApiClient } from '../../core/api-client'\nimport { runEditorRoundTrip } from '../../core/editor'\nimport { parseEnvelope } from '../../core/envelope'\nimport { MxsError } from '../../core/errors'\nimport { serializeFromLexical } from '../../core/litexml-codec'\nimport { emitInfo, emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildPagePayload, type PageFlagInputs } from '../../core/payload'\nimport { isSnowflakeId } from '../../core/resolve'\nimport { applyPageEnvelopeMeta } from '../internal/envelope-overlays'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\n\nexport async function run(\n slugOrId: string,\n opts: PageFlagInputs,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n\n if (!opts.file && opts.content === undefined) {\n const xml = await materialize(client, slugOrId)\n const next = await runEditorRoundTrip({\n filename: `page-${slugOrId}.xml`,\n initialContent: xml,\n })\n if (next.trim() === xml.trim()) {\n emitInfo('no changes', out)\n return\n }\n const parsed = parseEnvelope(next, 'post')\n const built = await buildPagePayload({\n ...opts,\n content: parsed.contentXml,\n format: opts.format ?? 'lexical',\n })\n applyPageEnvelopeMeta(built.payload, parsed.meta)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const id = await resolveId(client, slugOrId)\n const res = await client.request(`/pages/${id}`, {\n method: 'PUT',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n return\n }\n\n const built = await buildPagePayload(opts)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const id = await resolveId(client, slugOrId)\n const res = await client.request(`/pages/${id}`, {\n method: 'PUT',\n body: built.payload,\n })\n emitSuccess(res.data, out)\n}\n\nasync function resolveId(client: ApiClient, slugOrId: string): Promise<string> {\n if (isSnowflakeId(slugOrId)) return slugOrId\n const res = await client.request<{ id: string }>(`/pages/slug/${slugOrId}`)\n if (!res.data?.id)\n throw new MxsError({\n code: 'resource.not_found',\n message: `page not found: ${slugOrId}`,\n })\n return res.data.id\n}\n\nasync function materialize(\n client: ApiClient,\n slugOrId: string,\n): Promise<string> {\n const path = isSnowflakeId(slugOrId)\n ? `/pages/${slugOrId}`\n : `/pages/slug/${slugOrId}`\n const res = await client.request<any>(path, { query: { prefer: 'lexical' } })\n const page = res.data\n const inner =\n page.contentFormat === 'lexical' && page.content\n ? serializeFromLexical(JSON.parse(page.content))\n : (page.content ?? '')\n return `<mxpost>\n <meta>\n <title>${esc(page.title ?? '')}</title>\n <slug>${esc(page.slug ?? '')}</slug>\n </meta>\n <content>\n${inner}\n </content>\n</mxpost>\n`\n}\n\nfunction esc(s: string): string {\n return s\n .replaceAll('&', '&')\n .replaceAll('<', '<')\n .replaceAll('>', '>')\n}\n"],"mappings":";;;;;;;;AAWA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CAExC,IAAI,CAAC,KAAK,QAAQ,KAAK,YAAY,KAAA,GAAW;EAC5C,MAAM,MAAM,MAAM,YAAY,QAAQ,QAAQ;EAC9C,MAAM,OAAO,MAAM,mBAAmB;GACpC,UAAU,QAAQ,SAAS;GAC3B,gBAAgB;EAClB,CAAC;EACD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,GAAG;GAC9B,SAAS,cAAc,GAAG;GAC1B;EACF;EACA,MAAM,SAAS,cAAc,MAAM,MAAM;EACzC,MAAM,QAAQ,MAAM,iBAAiB;GACnC,GAAG;GACH,SAAS,OAAO;GAChB,QAAQ,KAAK,UAAU;EACzB,CAAC;EACD,sBAAsB,MAAM,SAAS,OAAO,IAAI;EAChD,IAAI,MAAM,QAAQ;GAChB,YAAY,MAAM,SAAS,GAAG;GAC9B;EACF;EACA,MAAM,KAAK,MAAM,UAAU,QAAQ,QAAQ;EAK3C,aAAY,MAJM,OAAO,QAAQ,UAAU,MAAM;GAC/C,QAAQ;GACR,MAAM,MAAM;EACd,CAAC,GACe,MAAM,GAAG;EACzB;CACF;CAEA,MAAM,QAAQ,MAAM,iBAAiB,IAAI;CACzC,IAAI,MAAM,QAAQ;EAChB,YAAY,MAAM,SAAS,GAAG;EAC9B;CACF;CACA,MAAM,KAAK,MAAM,UAAU,QAAQ,QAAQ;CAK3C,aAAY,MAJM,OAAO,QAAQ,UAAU,MAAM;EAC/C,QAAQ;EACR,MAAM,MAAM;CACd,CAAC,GACe,MAAM,GAAG;AAC3B;AAEA,eAAe,UAAU,QAAmB,UAAmC;CAC7E,IAAI,cAAc,QAAQ,GAAG,OAAO;CACpC,MAAM,MAAM,MAAM,OAAO,QAAwB,eAAe,UAAU;CAC1E,IAAI,CAAC,IAAI,MAAM,IACb,MAAM,IAAI,SAAS;EACjB,MAAM;EACN,SAAS,mBAAmB;CAC9B,CAAC;CACH,OAAO,IAAI,KAAK;AAClB;AAEA,eAAe,YACb,QACA,UACiB;CACjB,MAAM,OAAO,cAAc,QAAQ,IAC/B,UAAU,aACV,eAAe;CAEnB,MAAM,QAAO,MADK,OAAO,QAAa,MAAM,EAAE,OAAO,EAAE,QAAQ,UAAU,EAAE,CAAC,GAC3D;CACjB,MAAM,QACJ,KAAK,kBAAkB,aAAa,KAAK,UACrC,qBAAqB,KAAK,MAAM,KAAK,OAAO,CAAC,IAC5C,KAAK,WAAW;CACvB,OAAO;;aAEI,IAAI,KAAK,SAAS,EAAE,EAAE;YACvB,IAAI,KAAK,QAAQ,EAAE,EAAE;;;EAG/B,MAAM;;;;AAIR;AAEA,SAAS,IAAI,GAAmB;CAC9B,OAAO,EACJ,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM;AAC3B"}
|
|
@@ -2,7 +2,7 @@ import { i as emitSuccess, r as emitInfo } from "./output-BM7aBFwt.mjs";
|
|
|
2
2
|
import { r as buildPostPayload, s as parseEnvelope } from "./payload-CN11pUto.mjs";
|
|
3
3
|
import { t as runEditorRoundTrip } from "./editor-xrF-j3UE.mjs";
|
|
4
4
|
import { i as serializeFromLexical } from "./litexml-codec-CDoRloiR.mjs";
|
|
5
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
5
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
6
6
|
import { n as resolveCategoryRefs, t as buildResolver } from "./resolve-helpers-CahPoJ0Y.mjs";
|
|
7
7
|
import { n as resolvePostReadPath, t as resolvePostId } from "./resolve-Bp1AfBmM.mjs";
|
|
8
8
|
//#region src/commands/post/edit.ts
|
|
@@ -83,4 +83,4 @@ async function metaFromEnvelope(meta) {
|
|
|
83
83
|
//#endregion
|
|
84
84
|
export { run };
|
|
85
85
|
|
|
86
|
-
//# sourceMappingURL=edit-
|
|
86
|
+
//# sourceMappingURL=edit-t108N11Q.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-
|
|
1
|
+
{"version":3,"file":"edit-t108N11Q.mjs","names":[],"sources":["../src/commands/post/edit.ts"],"sourcesContent":["import type { ApiClient } from '../../core/api-client'\nimport { runEditorRoundTrip } from '../../core/editor'\nimport { parseEnvelope } from '../../core/envelope'\nimport { serializeFromLexical } from '../../core/litexml-codec'\nimport { emitInfo, emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildPostPayload, type PostFlagInputs } from '../../core/payload'\nimport { buildResolver, resolveCategoryRefs } from '../internal/resolve-helpers'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\nimport { resolvePostId, resolvePostReadPath } from './resolve'\n\nexport async function run(\n slugOrId: string,\n opts: PostFlagInputs,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n\n if (!opts.file && opts.content === undefined) {\n const xml = await materializeForEditor(client, slugOrId)\n const next = await runEditorRoundTrip({\n filename: `post-${slugOrId}.xml`,\n initialContent: xml,\n })\n if (next.trim() === xml.trim()) {\n emitInfo('no changes', out)\n return\n }\n const parsed = parseEnvelope(next, 'post')\n const payloadInputs: PostFlagInputs = {\n ...opts,\n content: parsed.contentXml,\n format: opts.format ?? 'lexical',\n }\n const built = await buildPostPayload(payloadInputs)\n Object.assign(built.payload, await metaFromEnvelope(parsed.meta))\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const resolver = buildResolver(client)\n await resolveCategoryRefs(built.payload, resolver)\n const res = await client.request(\n `/posts/${await resolvePostId(client, slugOrId)}`,\n { method: 'PUT', body: built.payload },\n )\n emitSuccess(res.data, out)\n return\n }\n\n const built = await buildPostPayload(opts)\n if (flags.dryRun) {\n emitSuccess(built.payload, out)\n return\n }\n const resolver = buildResolver(client)\n await resolveCategoryRefs(built.payload, resolver)\n const res = await client.request(\n `/posts/${await resolvePostId(client, slugOrId)}`,\n { method: 'PUT', body: built.payload },\n )\n emitSuccess(res.data, out)\n}\n\nasync function materializeForEditor(\n client: ApiClient,\n slugOrId: string,\n): Promise<string> {\n const path = await resolvePostReadPath(client, slugOrId)\n const res = await client.request<{\n id: string\n title?: string\n slug?: string\n contentFormat?: string\n content?: string\n summary?: string\n isPublished?: boolean\n tags?: string[]\n }>(path, { query: { prefer: 'lexical' } })\n const post = res.data\n const isLexical = post.contentFormat === 'lexical'\n const innerXml =\n isLexical && post.content\n ? serializeFromLexical(JSON.parse(post.content))\n : (post.content ?? '')\n const tagsXml = (post.tags ?? [])\n .map((t: string) => ` <tag>${escapeXml(t)}</tag>`)\n .join('\\n')\n return `<mxpost>\n <meta>\n <title>${escapeXml(post.title ?? '')}</title>\n <slug>${escapeXml(post.slug ?? '')}</slug>\n <state>${post.isPublished ? 'publish' : 'draft'}</state>\n ${post.summary ? `<summary>${escapeXml(post.summary)}</summary>` : ''}\n ${tagsXml ? `<tags>\\n${tagsXml}\\n </tags>` : ''}\n </meta>\n <content>\n${innerXml}\n </content>\n</mxpost>\n`\n}\n\nfunction escapeXml(s: string): string {\n return s\n .replaceAll('&', '&')\n .replaceAll('<', '<')\n .replaceAll('>', '>')\n}\n\nasync function metaFromEnvelope(\n meta: Record<string, unknown>,\n): Promise<Record<string, unknown>> {\n const overlay: Record<string, unknown> = {}\n if (typeof meta.title === 'string') overlay.title = meta.title\n if (typeof meta.slug === 'string') overlay.slug = meta.slug\n if (typeof meta.summary === 'string') overlay.summary = meta.summary\n if (meta.state === 'publish' || meta.state === 'draft')\n overlay.isPublished = meta.state === 'publish'\n if (Array.isArray(meta.tags)) overlay.tags = meta.tags\n return overlay\n}\n"],"mappings":";;;;;;;;AAUA,eAAsB,IACpB,UACA,MACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CAExC,IAAI,CAAC,KAAK,QAAQ,KAAK,YAAY,KAAA,GAAW;EAC5C,MAAM,MAAM,MAAM,qBAAqB,QAAQ,QAAQ;EACvD,MAAM,OAAO,MAAM,mBAAmB;GACpC,UAAU,QAAQ,SAAS;GAC3B,gBAAgB;EAClB,CAAC;EACD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,GAAG;GAC9B,SAAS,cAAc,GAAG;GAC1B;EACF;EACA,MAAM,SAAS,cAAc,MAAM,MAAM;EAMzC,MAAM,QAAQ,MAAM,iBAAiB;GAJnC,GAAG;GACH,SAAS,OAAO;GAChB,QAAQ,KAAK,UAAU;EAEwB,CAAC;EAClD,OAAO,OAAO,MAAM,SAAS,MAAM,iBAAiB,OAAO,IAAI,CAAC;EAChE,IAAI,MAAM,QAAQ;GAChB,YAAY,MAAM,SAAS,GAAG;GAC9B;EACF;EACA,MAAM,WAAW,cAAc,MAAM;EACrC,MAAM,oBAAoB,MAAM,SAAS,QAAQ;EAKjD,aAAY,MAJM,OAAO,QACvB,UAAU,MAAM,cAAc,QAAQ,QAAQ,KAC9C;GAAE,QAAQ;GAAO,MAAM,MAAM;EAAQ,CACvC,GACgB,MAAM,GAAG;EACzB;CACF;CAEA,MAAM,QAAQ,MAAM,iBAAiB,IAAI;CACzC,IAAI,MAAM,QAAQ;EAChB,YAAY,MAAM,SAAS,GAAG;EAC9B;CACF;CACA,MAAM,WAAW,cAAc,MAAM;CACrC,MAAM,oBAAoB,MAAM,SAAS,QAAQ;CAKjD,aAAY,MAJM,OAAO,QACvB,UAAU,MAAM,cAAc,QAAQ,QAAQ,KAC9C;EAAE,QAAQ;EAAO,MAAM,MAAM;CAAQ,CACvC,GACgB,MAAM,GAAG;AAC3B;AAEA,eAAe,qBACb,QACA,UACiB;CACjB,MAAM,OAAO,MAAM,oBAAoB,QAAQ,QAAQ;CAWvD,MAAM,QAAO,MAVK,OAAO,QAStB,MAAM,EAAE,OAAO,EAAE,QAAQ,UAAU,EAAE,CAAC,GACxB;CAEjB,MAAM,WADY,KAAK,kBAAkB,aAE1B,KAAK,UACd,qBAAqB,KAAK,MAAM,KAAK,OAAO,CAAC,IAC5C,KAAK,WAAW;CACvB,MAAM,WAAW,KAAK,QAAQ,CAAC,GAC5B,KAAK,MAAc,YAAY,UAAU,CAAC,EAAE,OAAO,EACnD,KAAK,IAAI;CACZ,OAAO;;aAEI,UAAU,KAAK,SAAS,EAAE,EAAE;YAC7B,UAAU,KAAK,QAAQ,EAAE,EAAE;aAC1B,KAAK,cAAc,YAAY,QAAQ;MAC9C,KAAK,UAAU,YAAY,UAAU,KAAK,OAAO,EAAE,cAAc,GAAG;MACpE,UAAU,WAAW,QAAQ,iBAAiB,GAAG;;;EAGrD,SAAS;;;;AAIX;AAEA,SAAS,UAAU,GAAmB;CACpC,OAAO,EACJ,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM;AAC3B;AAEA,eAAe,iBACb,MACkC;CAClC,MAAM,UAAmC,CAAC;CAC1C,IAAI,OAAO,KAAK,UAAU,UAAU,QAAQ,QAAQ,KAAK;CACzD,IAAI,OAAO,KAAK,SAAS,UAAU,QAAQ,OAAO,KAAK;CACvD,IAAI,OAAO,KAAK,YAAY,UAAU,QAAQ,UAAU,KAAK;CAC7D,IAAI,KAAK,UAAU,aAAa,KAAK,UAAU,SAC7C,QAAQ,cAAc,KAAK,UAAU;CACvC,IAAI,MAAM,QAAQ,KAAK,IAAI,GAAG,QAAQ,OAAO,KAAK;CAClD,OAAO;AACT"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { i as emitSuccess } from "./output-BM7aBFwt.mjs";
|
|
2
2
|
import { r as isSnowflakeId } from "./resolve-BogJOR7R.mjs";
|
|
3
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
3
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
4
4
|
//#region src/commands/topic/get.ts
|
|
5
5
|
async function run(slugOrId, flags, out) {
|
|
6
6
|
const client = buildApiClient(await resolveContext(flags, out), flags);
|
|
7
7
|
const path = isSnowflakeId(slugOrId) ? `/topics/${slugOrId}` : `/topics/slug/${slugOrId}`;
|
|
8
|
-
emitSuccess((await client.request(path)).data, out);
|
|
8
|
+
emitSuccess((await client.request(path, { query: withLangQuery(flags) })).data, out);
|
|
9
9
|
}
|
|
10
10
|
//#endregion
|
|
11
11
|
export { run };
|
|
12
12
|
|
|
13
|
-
//# sourceMappingURL=get-
|
|
13
|
+
//# sourceMappingURL=get-BYoAlJwB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-BYoAlJwB.mjs","names":[],"sources":["../src/commands/topic/get.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport { isSnowflakeId } from '../../core/resolve'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nexport async function run(\n slugOrId: string,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const path = isSnowflakeId(slugOrId)\n ? `/topics/${slugOrId}`\n : `/topics/slug/${slugOrId}`\n const res = await client.request(path, { query: withLangQuery(flags) })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;;AASA,eAAsB,IACpB,UACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,OAAO,cAAc,QAAQ,IAC/B,WAAW,aACX,gBAAgB;CAEpB,aAAY,MADM,OAAO,QAAQ,MAAM,EAAE,OAAO,cAAc,KAAK,EAAE,CAAC,GACtD,MAAM,GAAG;AAC3B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { i as emitSuccess } from "./output-BM7aBFwt.mjs";
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
2
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
3
3
|
//#region src/commands/category/get.ts
|
|
4
4
|
async function run(slugOrId, flags, out) {
|
|
5
|
-
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request(`/categories/${slugOrId}
|
|
5
|
+
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request(`/categories/${slugOrId}`, { query: withLangQuery(flags) })).data, out);
|
|
6
6
|
}
|
|
7
7
|
//#endregion
|
|
8
8
|
export { run };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=get-
|
|
10
|
+
//# sourceMappingURL=get-CwcNFb39.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-CwcNFb39.mjs","names":[],"sources":["../src/commands/category/get.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nexport async function run(\n slugOrId: string,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request(`/categories/${slugOrId}`, {\n query: withLangQuery(flags),\n })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAQA,eAAsB,IACpB,UACA,OACA,KACA;CAMA,aAAY,MAJG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAAQ,eAAe,YAAY,EAC1D,OAAO,cAAc,KAAK,EAC5B,CAAC,GACe,MAAM,GAAG;AAC3B"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { t as emitDocument } from "./document-output-
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
1
|
+
import { t as emitDocument } from "./document-output-C5PWbz2p.mjs";
|
|
2
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
3
3
|
import { n as resolvePostReadPath } from "./resolve-Bp1AfBmM.mjs";
|
|
4
4
|
//#region src/commands/post/get.ts
|
|
5
5
|
const KIND = "post";
|
|
6
6
|
async function run(slugOrId, flags, out) {
|
|
7
7
|
const client = buildApiClient(await resolveContext(flags, out), flags);
|
|
8
8
|
const path = await resolvePostReadPath(client, slugOrId);
|
|
9
|
-
emitDocument(KIND, (await client.request(path, { query: { prefer: "lexical" } })).data, out);
|
|
9
|
+
emitDocument(KIND, (await client.request(path, { query: withLangQuery(flags, { prefer: "lexical" }) })).data, out);
|
|
10
10
|
}
|
|
11
11
|
//#endregion
|
|
12
12
|
export { run };
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=get-
|
|
14
|
+
//# sourceMappingURL=get-DnDvLa9S.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-DnDvLa9S.mjs","names":[],"sources":["../src/commands/post/get.ts"],"sourcesContent":["import { emitDocument, type DocumentKind } from '../../core/document-output'\nimport type { OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\nimport { resolvePostReadPath } from './resolve'\n\nconst KIND: DocumentKind = 'post'\n\nexport async function run(\n slugOrId: string,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const path = await resolvePostReadPath(client, slugOrId)\n const res = await client.request(path, {\n query: withLangQuery(flags, { prefer: 'lexical' }),\n })\n emitDocument(KIND, res.data, out)\n}\n"],"mappings":";;;;AAUA,MAAM,OAAqB;AAE3B,eAAsB,IACpB,UACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,OAAO,MAAM,oBAAoB,QAAQ,QAAQ;CAIvD,aAAa,OAAM,MAHD,OAAO,QAAQ,MAAM,EACrC,OAAO,cAAc,OAAO,EAAE,QAAQ,UAAU,CAAC,EACnD,CAAC,GACsB,MAAM,GAAG;AAClC"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { s as MxsError } from "./output-BM7aBFwt.mjs";
|
|
2
|
-
import { t as emitDocument } from "./document-output-
|
|
2
|
+
import { t as emitDocument } from "./document-output-C5PWbz2p.mjs";
|
|
3
3
|
import { r as isSnowflakeId } from "./resolve-BogJOR7R.mjs";
|
|
4
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
4
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
5
5
|
//#region src/commands/note/get.ts
|
|
6
6
|
const KIND = "note";
|
|
7
7
|
async function run(slugOrId, flags, out) {
|
|
8
8
|
const client = buildApiClient(await resolveContext(flags, out), flags);
|
|
9
9
|
if (isSnowflakeId(slugOrId)) {
|
|
10
|
-
emitDocument(KIND, (await client.request(`/notes/${slugOrId}`, { query: { prefer: "lexical" } })).data, out);
|
|
10
|
+
emitDocument(KIND, (await client.request(`/notes/${slugOrId}`, { query: withLangQuery(flags, { prefer: "lexical" }) })).data, out);
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
if (/^\d+$/.test(slugOrId)) {
|
|
14
|
-
emitDocument(KIND, (await client.request(`/notes/nid/${slugOrId}`, { query: {
|
|
14
|
+
emitDocument(KIND, (await client.request(`/notes/nid/${slugOrId}`, { query: withLangQuery(flags, {
|
|
15
15
|
single: "1",
|
|
16
16
|
prefer: "lexical"
|
|
17
|
-
} })).data, out);
|
|
17
|
+
}) })).data, out);
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
throw new MxsError({
|
|
@@ -25,4 +25,4 @@ async function run(slugOrId, flags, out) {
|
|
|
25
25
|
//#endregion
|
|
26
26
|
export { run };
|
|
27
27
|
|
|
28
|
-
//# sourceMappingURL=get-
|
|
28
|
+
//# sourceMappingURL=get-Doi-NKAh.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-Doi-NKAh.mjs","names":[],"sources":["../src/commands/note/get.ts"],"sourcesContent":["import { type DocumentKind, emitDocument } from '../../core/document-output'\nimport { MxsError } from '../../core/errors'\nimport type { OutputOptions } from '../../core/output'\nimport { isSnowflakeId } from '../../core/resolve'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nconst KIND: DocumentKind = 'note'\n\nexport async function run(\n slugOrId: string,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n if (isSnowflakeId(slugOrId)) {\n const res = await client.request(`/notes/${slugOrId}`, {\n query: withLangQuery(flags, { prefer: 'lexical' }),\n })\n emitDocument(KIND, res.data, out)\n return\n }\n if (/^\\d+$/.test(slugOrId)) {\n const res = await client.request(`/notes/nid/${slugOrId}`, {\n query: withLangQuery(flags, { single: '1', prefer: 'lexical' }),\n })\n emitDocument(KIND, res.data, out)\n return\n }\n throw new MxsError({\n code: 'validation.failed',\n message: `invalid note reference: ${slugOrId} (use snowflake id or numeric nid)`,\n })\n}\n"],"mappings":";;;;;AAWA,MAAM,OAAqB;AAE3B,eAAsB,IACpB,UACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,IAAI,cAAc,QAAQ,GAAG;EAI3B,aAAa,OAAM,MAHD,OAAO,QAAQ,UAAU,YAAY,EACrD,OAAO,cAAc,OAAO,EAAE,QAAQ,UAAU,CAAC,EACnD,CAAC,GACsB,MAAM,GAAG;EAChC;CACF;CACA,IAAI,QAAQ,KAAK,QAAQ,GAAG;EAI1B,aAAa,OAAM,MAHD,OAAO,QAAQ,cAAc,YAAY,EACzD,OAAO,cAAc,OAAO;GAAE,QAAQ;GAAK,QAAQ;EAAU,CAAC,EAChE,CAAC,GACsB,MAAM,GAAG;EAChC;CACF;CACA,MAAM,IAAI,SAAS;EACjB,MAAM;EACN,SAAS,2BAA2B,SAAS;CAC/C,CAAC;AACH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as emitSuccess } from "./output-BM7aBFwt.mjs";
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
2
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
3
3
|
//#region src/commands/config/get.ts
|
|
4
4
|
async function run(key, flags, out) {
|
|
5
5
|
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request(`/options/${key}`)).data, out);
|
|
@@ -7,4 +7,4 @@ async function run(key, flags, out) {
|
|
|
7
7
|
//#endregion
|
|
8
8
|
export { run };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=get-
|
|
10
|
+
//# sourceMappingURL=get-DxTU7Nom.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-
|
|
1
|
+
{"version":3,"file":"get-DxTU7Nom.mjs","names":[],"sources":["../src/commands/config/get.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\n\nexport async function run(key: string, flags: GlobalFlags, out: OutputOptions) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request(`/options/${key}`)\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAGA,eAAsB,IAAI,KAAa,OAAoB,KAAoB;CAI7E,aAAY,MAFG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAAQ,YAAY,KAAK,GAClC,MAAM,GAAG;AAC3B"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { t as emitDocument } from "./document-output-
|
|
1
|
+
import { t as emitDocument } from "./document-output-C5PWbz2p.mjs";
|
|
2
2
|
import { r as isSnowflakeId } from "./resolve-BogJOR7R.mjs";
|
|
3
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
3
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
4
4
|
//#region src/commands/page/get.ts
|
|
5
5
|
const KIND = "page";
|
|
6
6
|
async function run(slugOrId, flags, out) {
|
|
7
7
|
const client = buildApiClient(await resolveContext(flags, out), flags);
|
|
8
8
|
const path = isSnowflakeId(slugOrId) ? `/pages/${slugOrId}` : `/pages/slug/${slugOrId}`;
|
|
9
|
-
emitDocument(KIND, (await client.request(path, { query: { prefer: "lexical" } })).data, out);
|
|
9
|
+
emitDocument(KIND, (await client.request(path, { query: withLangQuery(flags, { prefer: "lexical" }) })).data, out);
|
|
10
10
|
}
|
|
11
11
|
//#endregion
|
|
12
12
|
export { run };
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=get-
|
|
14
|
+
//# sourceMappingURL=get-GdRz82RW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-GdRz82RW.mjs","names":[],"sources":["../src/commands/page/get.ts"],"sourcesContent":["import { emitDocument, type DocumentKind } from '../../core/document-output'\nimport type { OutputOptions } from '../../core/output'\nimport { isSnowflakeId } from '../../core/resolve'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nconst KIND: DocumentKind = 'page'\n\nexport async function run(\n slugOrId: string,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const path = isSnowflakeId(slugOrId)\n ? `/pages/${slugOrId}`\n : `/pages/slug/${slugOrId}`\n const res = await client.request(path, {\n query: withLangQuery(flags, { prefer: 'lexical' }),\n })\n emitDocument(KIND, res.data, out)\n}\n"],"mappings":";;;;AAUA,MAAM,OAAqB;AAE3B,eAAsB,IACpB,UACA,OACA,KACA;CAEA,MAAM,SAAS,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KAAK;CACxC,MAAM,OAAO,cAAc,QAAQ,IAC/B,UAAU,aACV,eAAe;CAInB,aAAa,OAAM,MAHD,OAAO,QAAQ,MAAM,EACrC,OAAO,cAAc,OAAO,EAAE,QAAQ,UAAU,CAAC,EACnD,CAAC,GACsB,MAAM,GAAG;AAClC"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { a as emitSuccess, i as emitInfo, n as defaultOutputOptions, o as emitWarn, r as emitError, s as renderTable, t as OutputOptions } from "./output-CTnO1lYt.mjs";
|
|
2
2
|
|
|
3
|
+
//#region src/core/config-dir.d.ts
|
|
4
|
+
declare function getConfigDir(): string;
|
|
5
|
+
//#endregion
|
|
3
6
|
//#region src/core/config-store.d.ts
|
|
4
7
|
interface ConfigShape {
|
|
5
8
|
api_url?: string;
|
|
@@ -7,6 +10,7 @@ interface ConfigShape {
|
|
|
7
10
|
auth_base?: string;
|
|
8
11
|
api_version?: number;
|
|
9
12
|
client_id?: string;
|
|
13
|
+
production?: boolean;
|
|
10
14
|
}
|
|
11
15
|
interface CredentialsShape {
|
|
12
16
|
access_token: string;
|
|
@@ -28,14 +32,20 @@ interface ResolvedConfig {
|
|
|
28
32
|
apiKey?: string;
|
|
29
33
|
configPath: string;
|
|
30
34
|
credentialsPath: string;
|
|
35
|
+
profileName: string | null;
|
|
36
|
+
isProduction: boolean;
|
|
37
|
+
profileExplicit: boolean;
|
|
38
|
+
urlOverridden: boolean;
|
|
31
39
|
}
|
|
32
40
|
interface StoreOverrides {
|
|
33
41
|
apiUrl?: string;
|
|
34
42
|
token?: string;
|
|
35
43
|
apiKey?: string;
|
|
44
|
+
profile?: string;
|
|
36
45
|
}
|
|
37
|
-
|
|
46
|
+
/** @deprecated Use getLegacyConfigPath for migration logic only */
|
|
38
47
|
declare function getConfigPath(): string;
|
|
48
|
+
/** @deprecated Use getLegacyCredentialsPath for migration logic only */
|
|
39
49
|
declare function getCredentialsPath(): string;
|
|
40
50
|
declare function readConfig(): Promise<ConfigShape>;
|
|
41
51
|
declare function writeConfig(cfg: ConfigShape): Promise<void>;
|
|
@@ -152,7 +162,9 @@ declare function runEditorRoundTrip(opts: EditorOptions): Promise<string>;
|
|
|
152
162
|
//#region src/core/document-output.d.ts
|
|
153
163
|
type DocumentKind = 'post' | 'note' | 'page';
|
|
154
164
|
declare function emitDocument(kind: DocumentKind, data: unknown, opts: OutputOptions): void;
|
|
165
|
+
declare function emitPostList(data: unknown, opts: OutputOptions): void;
|
|
155
166
|
declare function renderReadableDocument(kind: DocumentKind, data: unknown): string;
|
|
167
|
+
declare function renderPostList(data: unknown): string;
|
|
156
168
|
declare function renderDocumentEnvelope(kind: DocumentKind, data: unknown): string;
|
|
157
169
|
//#endregion
|
|
158
170
|
//#region src/core/envelope.d.ts
|
|
@@ -191,7 +203,7 @@ interface EnvelopeMeta {
|
|
|
191
203
|
declare function coerceMeta(raw: Record<string, unknown>): EnvelopeMeta;
|
|
192
204
|
//#endregion
|
|
193
205
|
//#region src/core/errors.d.ts
|
|
194
|
-
type MxsErrorCode = 'generic' | 'argv.parse' | 'auth.missing' | 'auth.expired' | 'auth.denied' | 'auth.probe' | 'network.timeout' | 'network.dns' | 'network.refused' | 'validation.failed' | 'validation.xml' | 'server.error' | 'resource.not_found' | 'config.missing.api_url' | 'config.missing.token' | (string & {});
|
|
206
|
+
type MxsErrorCode = 'generic' | 'argv.parse' | 'auth.missing' | 'auth.expired' | 'auth.denied' | 'auth.probe' | 'network.timeout' | 'network.dns' | 'network.refused' | 'validation.failed' | 'validation.xml' | 'server.error' | 'resource.not_found' | 'config.missing.api_url' | 'config.missing.token' | 'config.migration.failed' | 'profile.not_found' | (string & {});
|
|
195
207
|
interface MxsErrorOptions {
|
|
196
208
|
code: MxsErrorCode;
|
|
197
209
|
message: string;
|
|
@@ -334,5 +346,5 @@ declare function matchItem(items: ReadonlyArray<ResolvableItem>, value: string):
|
|
|
334
346
|
declare function levenshtein(a: string, b: string): number;
|
|
335
347
|
declare function fuzzySuggest(items: ReadonlyArray<ResolvableItem>, value: string, maxDistance?: number): string[];
|
|
336
348
|
//#endregion
|
|
337
|
-
export { ApiClient, type ApiClientContext, type ApiResponse, type AuthHttp, type BuiltPayload, type ConfigShape, type ContentFormat, type ContentSource, type CredentialsShape, type DeviceCodeResponse, type DeviceTokenResponse, type DocumentKind, type EnvelopeKind, type EnvelopeMeta, type LexicalState, MxsError, type MxsErrorCode, type MxsErrorOptions, NameResolver, type NoteFlagInputs, type OnboardingResult, type OutputOptions, type PageFlagInputs, type ParsedEnvelope, type PostFlagInputs, type ProbeResult, type RequestOptions, type ResolvableItem, type ResolvedConfig, type ResolverFetchers, SUPPORTED_API_VERSIONS, buildNotePayload, buildPagePayload, buildPostPayload, coerceMeta, createApiClient, defaultOutputOptions, deleteCredentials, deriveTextFromLexical, emitDocument, emitError, emitInfo, emitSuccess, emitWarn, emptyLexicalState, emptyPayload, enforceCredentialsMode, ensureFreshToken, exitCodeForError, flagToTag, fuzzySuggest, getConfigDir, getConfigPath, getCredentialsPath, isExpiringSoon, isSnowflakeId, levenshtein, loadCredentialsOrThrow, matchItem, normalizeApiUrl, parseEnvelope, parseToLexical, pollDeviceToken, probeAuthEndpoint, readConfig, readContentSpec, readCredentials, readJsonSpec, refreshAccessToken, renderDocumentEnvelope, renderReadableDocument, renderTable, requestDeviceCode, resolveConfig, runEditorRoundTrip, runOnboarding, serializeFromLexical, tagToFlag, toCredentials, writeConfig, writeCredentials };
|
|
349
|
+
export { ApiClient, type ApiClientContext, type ApiResponse, type AuthHttp, type BuiltPayload, type ConfigShape, type ContentFormat, type ContentSource, type CredentialsShape, type DeviceCodeResponse, type DeviceTokenResponse, type DocumentKind, type EnvelopeKind, type EnvelopeMeta, type LexicalState, MxsError, type MxsErrorCode, type MxsErrorOptions, NameResolver, type NoteFlagInputs, type OnboardingResult, type OutputOptions, type PageFlagInputs, type ParsedEnvelope, type PostFlagInputs, type ProbeResult, type RequestOptions, type ResolvableItem, type ResolvedConfig, type ResolverFetchers, SUPPORTED_API_VERSIONS, buildNotePayload, buildPagePayload, buildPostPayload, coerceMeta, createApiClient, defaultOutputOptions, deleteCredentials, deriveTextFromLexical, emitDocument, emitError, emitInfo, emitPostList, emitSuccess, emitWarn, emptyLexicalState, emptyPayload, enforceCredentialsMode, ensureFreshToken, exitCodeForError, flagToTag, fuzzySuggest, getConfigDir, getConfigPath, getCredentialsPath, isExpiringSoon, isSnowflakeId, levenshtein, loadCredentialsOrThrow, matchItem, normalizeApiUrl, parseEnvelope, parseToLexical, pollDeviceToken, probeAuthEndpoint, readConfig, readContentSpec, readCredentials, readJsonSpec, refreshAccessToken, renderDocumentEnvelope, renderPostList, renderReadableDocument, renderTable, requestDeviceCode, resolveConfig, runEditorRoundTrip, runOnboarding, serializeFromLexical, tagToFlag, toCredentials, writeConfig, writeCredentials };
|
|
338
350
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { a as emitWarn, c as exitCodeForError, i as emitSuccess, n as emitError, o as renderTable, r as emitInfo, s as MxsError, t as defaultOutputOptions } from "./output-BM7aBFwt.mjs";
|
|
2
|
-
import { a as
|
|
3
|
-
import { a as loadCredentialsOrThrow, c as refreshAccessToken, i as isExpiringSoon, l as requestDeviceCode, o as pollDeviceToken, r as ensureFreshToken, s as probeAuthEndpoint, t as SUPPORTED_API_VERSIONS, u as toCredentials } from "./auth-
|
|
4
|
-
import { n as ApiClient, r as createApiClient, t as runOnboarding } from "./onboarding-
|
|
2
|
+
import { a as normalizeApiUrl, c as resolveConfig, d as getConfigDir, i as getCredentialsPath, l as writeConfig, n as enforceCredentialsMode, o as readConfig, r as getConfigPath, s as readCredentials, t as deleteCredentials, u as writeCredentials } from "./config-store-WL7dNMS6.mjs";
|
|
3
|
+
import { a as loadCredentialsOrThrow, c as refreshAccessToken, i as isExpiringSoon, l as requestDeviceCode, o as pollDeviceToken, r as ensureFreshToken, s as probeAuthEndpoint, t as SUPPORTED_API_VERSIONS, u as toCredentials } from "./auth-OeKZZ_2x.mjs";
|
|
4
|
+
import { n as ApiClient, r as createApiClient, t as runOnboarding } from "./onboarding-C1t1yoay.mjs";
|
|
5
5
|
import { a as coerceMeta, c as tagToFlag, i as emptyPayload, l as readContentSpec, n as buildPagePayload, o as flagToTag, r as buildPostPayload, s as parseEnvelope, t as buildNotePayload, u as readJsonSpec } from "./payload-CN11pUto.mjs";
|
|
6
6
|
import { t as runEditorRoundTrip } from "./editor-xrF-j3UE.mjs";
|
|
7
7
|
import { i as serializeFromLexical, n as emptyLexicalState, r as parseToLexical, t as deriveTextFromLexical } from "./litexml-codec-CDoRloiR.mjs";
|
|
8
|
-
import { n as
|
|
8
|
+
import { a as renderReadableDocument, i as renderPostList, n as emitPostList, r as renderDocumentEnvelope, t as emitDocument } from "./document-output-C5PWbz2p.mjs";
|
|
9
9
|
import { a as matchItem, i as levenshtein, n as fuzzySuggest, r as isSnowflakeId, t as NameResolver } from "./resolve-BogJOR7R.mjs";
|
|
10
|
-
export { ApiClient, MxsError, NameResolver, SUPPORTED_API_VERSIONS, buildNotePayload, buildPagePayload, buildPostPayload, coerceMeta, createApiClient, defaultOutputOptions, deleteCredentials, deriveTextFromLexical, emitDocument, emitError, emitInfo, emitSuccess, emitWarn, emptyLexicalState, emptyPayload, enforceCredentialsMode, ensureFreshToken, exitCodeForError, flagToTag, fuzzySuggest, getConfigDir, getConfigPath, getCredentialsPath, isExpiringSoon, isSnowflakeId, levenshtein, loadCredentialsOrThrow, matchItem, normalizeApiUrl, parseEnvelope, parseToLexical, pollDeviceToken, probeAuthEndpoint, readConfig, readContentSpec, readCredentials, readJsonSpec, refreshAccessToken, renderDocumentEnvelope, renderReadableDocument, renderTable, requestDeviceCode, resolveConfig, runEditorRoundTrip, runOnboarding, serializeFromLexical, tagToFlag, toCredentials, writeConfig, writeCredentials };
|
|
10
|
+
export { ApiClient, MxsError, NameResolver, SUPPORTED_API_VERSIONS, buildNotePayload, buildPagePayload, buildPostPayload, coerceMeta, createApiClient, defaultOutputOptions, deleteCredentials, deriveTextFromLexical, emitDocument, emitError, emitInfo, emitPostList, emitSuccess, emitWarn, emptyLexicalState, emptyPayload, enforceCredentialsMode, ensureFreshToken, exitCodeForError, flagToTag, fuzzySuggest, getConfigDir, getConfigPath, getCredentialsPath, isExpiringSoon, isSnowflakeId, levenshtein, loadCredentialsOrThrow, matchItem, normalizeApiUrl, parseEnvelope, parseToLexical, pollDeviceToken, probeAuthEndpoint, readConfig, readContentSpec, readCredentials, readJsonSpec, refreshAccessToken, renderDocumentEnvelope, renderPostList, renderReadableDocument, renderTable, requestDeviceCode, resolveConfig, runEditorRoundTrip, runOnboarding, serializeFromLexical, tagToFlag, toCredentials, writeConfig, writeCredentials };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { i as emitSuccess } from "./output-BM7aBFwt.mjs";
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
2
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
3
3
|
//#region src/commands/category/list.ts
|
|
4
4
|
async function run(flags, out) {
|
|
5
|
-
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request("/categories")).data, out);
|
|
5
|
+
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request("/categories", { query: withLangQuery(flags) })).data, out);
|
|
6
6
|
}
|
|
7
7
|
//#endregion
|
|
8
8
|
export { run };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=list-
|
|
10
|
+
//# sourceMappingURL=list-CLAcZYZ4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-CLAcZYZ4.mjs","names":[],"sources":["../src/commands/category/list.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nexport async function run(flags: GlobalFlags, out: OutputOptions) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request<{ data: unknown[] }>('/categories', {\n query: withLangQuery(flags),\n })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAQA,eAAsB,IAAI,OAAoB,KAAoB;CAMhE,aAAY,MAJG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAA6B,eAAe,EACnE,OAAO,cAAc,KAAK,EAC5B,CAAC,GACe,MAAM,GAAG;AAC3B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as emitSuccess } from "./output-BM7aBFwt.mjs";
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
2
|
+
import { n as resolveContext, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
3
3
|
//#region src/commands/config/list.ts
|
|
4
4
|
async function run(flags, out) {
|
|
5
5
|
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request("/options")).data, out);
|
|
@@ -7,4 +7,4 @@ async function run(flags, out) {
|
|
|
7
7
|
//#endregion
|
|
8
8
|
export { run };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=list-
|
|
10
|
+
//# sourceMappingURL=list-CtME3aDw.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-
|
|
1
|
+
{"version":3,"file":"list-CtME3aDw.mjs","names":[],"sources":["../src/commands/config/list.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport { buildApiClient, type GlobalFlags, resolveContext } from '../internal/shared'\n\nexport async function run(flags: GlobalFlags, out: OutputOptions) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request('/options')\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAGA,eAAsB,IAAI,OAAoB,KAAoB;CAIhE,aAAY,MAFG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAAQ,UAAU,GAC3B,MAAM,GAAG;AAC3B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { i as emitSuccess } from "./output-BM7aBFwt.mjs";
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
2
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
3
3
|
//#region src/commands/page/list.ts
|
|
4
4
|
async function run(_opts, flags, out) {
|
|
5
|
-
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request("/pages")).data, out);
|
|
5
|
+
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request("/pages", { query: withLangQuery(flags) })).data, out);
|
|
6
6
|
}
|
|
7
7
|
//#endregion
|
|
8
8
|
export { run };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=list-
|
|
10
|
+
//# sourceMappingURL=list-DHG-MzOM.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-DHG-MzOM.mjs","names":[],"sources":["../src/commands/page/list.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nexport async function run(\n _opts: unknown,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request<{ data: unknown[] }>('/pages', {\n query: withLangQuery(flags),\n })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAQA,eAAsB,IACpB,OACA,OACA,KACA;CAMA,aAAY,MAJG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAA6B,UAAU,EAC9D,OAAO,cAAc,KAAK,EAC5B,CAAC,GACe,MAAM,GAAG;AAC3B"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { i as emitSuccess } from "./output-BM7aBFwt.mjs";
|
|
2
|
-
import { n as resolveContext, t as buildApiClient } from "./shared-
|
|
2
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
3
3
|
//#region src/commands/note/list.ts
|
|
4
4
|
async function run(opts, flags, out) {
|
|
5
|
-
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request("/notes", { query: {
|
|
5
|
+
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request("/notes", { query: withLangQuery(flags, {
|
|
6
6
|
page: opts.page,
|
|
7
7
|
size: opts.size,
|
|
8
8
|
sortBy: opts.sort
|
|
9
|
-
} })).data, out);
|
|
9
|
+
}) })).data, out);
|
|
10
10
|
}
|
|
11
11
|
//#endregion
|
|
12
12
|
export { run };
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=list-
|
|
14
|
+
//# sourceMappingURL=list-DN81zVDA.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-DN81zVDA.mjs","names":[],"sources":["../src/commands/note/list.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nexport interface NoteListFlags {\n page?: number\n size?: number\n state?: string\n sort?: string\n}\n\nexport async function run(\n opts: NoteListFlags,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request<{ data: unknown[] }>('/notes', {\n query: withLangQuery(flags, {\n page: opts.page,\n size: opts.size,\n sortBy: opts.sort,\n }),\n })\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAeA,eAAsB,IACpB,MACA,OACA,KACA;CAUA,aAAY,MARG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAA6B,UAAU,EAC9D,OAAO,cAAc,OAAO;EAC1B,MAAM,KAAK;EACX,MAAM,KAAK;EACX,QAAQ,KAAK;CACf,CAAC,EACH,CAAC,GACe,MAAM,GAAG;AAC3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { i as emitSuccess } from "./output-BM7aBFwt.mjs";
|
|
2
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
3
|
+
//#region src/commands/topic/list.ts
|
|
4
|
+
async function run(flags, out) {
|
|
5
|
+
emitSuccess((await buildApiClient(await resolveContext(flags, out), flags).request("/topics/all", { query: withLangQuery(flags) })).data, out);
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { run };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=list-DVunNsXr.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-DVunNsXr.mjs","names":[],"sources":["../src/commands/topic/list.ts"],"sourcesContent":["import { emitSuccess, type OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nexport async function run(flags: GlobalFlags, out: OutputOptions) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request<{ data: unknown[] } | unknown[]>(\n '/topics/all',\n { query: withLangQuery(flags) },\n )\n emitSuccess(res.data, out)\n}\n"],"mappings":";;;AAQA,eAAsB,IAAI,OAAoB,KAAoB;CAOhE,aAAY,MALG,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QACvB,eACA,EAAE,OAAO,cAAc,KAAK,EAAE,CAChC,GACgB,MAAM,GAAG;AAC3B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { n as emitPostList } from "./document-output-C5PWbz2p.mjs";
|
|
2
|
+
import { n as resolveContext, r as withLangQuery, t as buildApiClient } from "./shared-C2EAn5h_.mjs";
|
|
3
|
+
//#region src/commands/post/list.ts
|
|
4
|
+
async function run(opts, flags, out) {
|
|
5
|
+
emitPostList((await buildApiClient(await resolveContext(flags, out), flags).request("/posts", { query: withLangQuery(flags, {
|
|
6
|
+
page: opts.page,
|
|
7
|
+
size: opts.size,
|
|
8
|
+
state: opts.state,
|
|
9
|
+
sortBy: opts.sort
|
|
10
|
+
}) })).data, out);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { run };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=list-DbNCVZbz.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-DbNCVZbz.mjs","names":[],"sources":["../src/commands/post/list.ts"],"sourcesContent":["import { emitPostList } from '../../core/document-output'\nimport type { OutputOptions } from '../../core/output'\nimport {\n buildApiClient,\n type GlobalFlags,\n resolveContext,\n withLangQuery,\n} from '../internal/shared'\n\nexport interface PostListFlags {\n page?: number\n size?: number\n state?: string\n sort?: string\n}\n\nexport async function run(\n opts: PostListFlags,\n flags: GlobalFlags,\n out: OutputOptions,\n) {\n const ctx = await resolveContext(flags, out)\n const client = buildApiClient(ctx, flags)\n const res = await client.request<{\n data: unknown[]\n pagination?: unknown\n }>('/posts', {\n query: withLangQuery(flags, {\n page: opts.page,\n size: opts.size,\n state: opts.state,\n sortBy: opts.sort,\n }),\n })\n emitPostList(res.data, out)\n}\n"],"mappings":";;;AAgBA,eAAsB,IACpB,MACA,OACA,KACA;CAcA,cAAa,MAZE,eAAe,MADZ,eAAe,OAAO,GAAG,GACR,KACZ,EAAE,QAGtB,UAAU,EACX,OAAO,cAAc,OAAO;EAC1B,MAAM,KAAK;EACX,MAAM,KAAK;EACX,OAAO,KAAK;EACZ,QAAQ,KAAK;CACf,CAAC,EACH,CAAC,GACgB,MAAM,GAAG;AAC5B"}
|