@fellowhumans/pathmx 0.0.2 → 0.0.3

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 (2) hide show
  1. package/dist/pathmx.js +427 -80
  2. package/package.json +1 -1
package/dist/pathmx.js CHANGED
@@ -92063,7 +92063,7 @@ var init_values = __esm(() => {
92063
92063
  });
92064
92064
 
92065
92065
  // node_modules/.bun/openai@6.44.0+68a1e3a0c4588df3/node_modules/openai/internal/utils/sleep.mjs
92066
- var sleep = (ms) => new Promise((resolve2) => setTimeout(resolve2, ms));
92066
+ var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
92067
92067
 
92068
92068
  // node_modules/.bun/openai@6.44.0+68a1e3a0c4588df3/node_modules/openai/version.mjs
92069
92069
  var VERSION = "6.44.0";
@@ -93092,8 +93092,8 @@ var init_api_promise = __esm(() => {
93092
93092
  init_parse();
93093
93093
  APIPromise = class APIPromise extends Promise {
93094
93094
  constructor(client, responsePromise, parseResponse = defaultParseResponse) {
93095
- super((resolve2) => {
93096
- resolve2(null);
93095
+ super((resolve) => {
93096
+ resolve(null);
93097
93097
  });
93098
93098
  this.responsePromise = responsePromise;
93099
93099
  this.parseResponse = parseResponse;
@@ -93738,12 +93738,12 @@ class EventStream {
93738
93738
  _EventStream_errored.set(this, false);
93739
93739
  _EventStream_aborted.set(this, false);
93740
93740
  _EventStream_catchingPromiseCreated.set(this, false);
93741
- __classPrivateFieldSet(this, _EventStream_connectedPromise, new Promise((resolve2, reject) => {
93742
- __classPrivateFieldSet(this, _EventStream_resolveConnectedPromise, resolve2, "f");
93741
+ __classPrivateFieldSet(this, _EventStream_connectedPromise, new Promise((resolve, reject) => {
93742
+ __classPrivateFieldSet(this, _EventStream_resolveConnectedPromise, resolve, "f");
93743
93743
  __classPrivateFieldSet(this, _EventStream_rejectConnectedPromise, reject, "f");
93744
93744
  }), "f");
93745
- __classPrivateFieldSet(this, _EventStream_endPromise, new Promise((resolve2, reject) => {
93746
- __classPrivateFieldSet(this, _EventStream_resolveEndPromise, resolve2, "f");
93745
+ __classPrivateFieldSet(this, _EventStream_endPromise, new Promise((resolve, reject) => {
93746
+ __classPrivateFieldSet(this, _EventStream_resolveEndPromise, resolve, "f");
93747
93747
  __classPrivateFieldSet(this, _EventStream_rejectEndPromise, reject, "f");
93748
93748
  }), "f");
93749
93749
  __classPrivateFieldGet(this, _EventStream_connectedPromise, "f").catch(() => {});
@@ -93795,11 +93795,11 @@ class EventStream {
93795
93795
  return this;
93796
93796
  }
93797
93797
  emitted(event) {
93798
- return new Promise((resolve2, reject) => {
93798
+ return new Promise((resolve, reject) => {
93799
93799
  __classPrivateFieldSet(this, _EventStream_catchingPromiseCreated, true, "f");
93800
93800
  if (event !== "error")
93801
93801
  this.once("error", reject);
93802
- this.once(event, resolve2);
93802
+ this.once(event, resolve);
93803
93803
  });
93804
93804
  }
93805
93805
  async done() {
@@ -94811,7 +94811,7 @@ var init_ChatCompletionStream = __esm(() => {
94811
94811
  if (done) {
94812
94812
  return { value: undefined, done: true };
94813
94813
  }
94814
- return new Promise((resolve2, reject) => readQueue.push({ resolve: resolve2, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: undefined, done: true });
94814
+ return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: undefined, done: true });
94815
94815
  }
94816
94816
  const chunk = pushQueue.shift();
94817
94817
  return { value: chunk, done: false };
@@ -96562,7 +96562,7 @@ var init_AssistantStream = __esm(() => {
96562
96562
  if (done) {
96563
96563
  return { value: undefined, done: true };
96564
96564
  }
96565
- return new Promise((resolve2, reject) => readQueue.push({ resolve: resolve2, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: undefined, done: true });
96565
+ return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: undefined, done: true });
96566
96566
  }
96567
96567
  const chunk = pushQueue.shift();
96568
96568
  return { value: chunk, done: false };
@@ -98305,7 +98305,7 @@ var init_ResponseStream = __esm(() => {
98305
98305
  if (done) {
98306
98306
  return { value: undefined, done: true };
98307
98307
  }
98308
- return new Promise((resolve2, reject) => readQueue.push({ resolve: resolve2, reject })).then((event2) => event2 ? { value: event2, done: false } : { value: undefined, done: true });
98308
+ return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((event2) => event2 ? { value: event2, done: false } : { value: undefined, done: true });
98309
98309
  }
98310
98310
  const event = pushQueue.shift();
98311
98311
  return { value: event, done: false };
@@ -104765,7 +104765,7 @@ var require_compile = __commonJS((exports) => {
104765
104765
  const schOrFunc = root2.refs[ref];
104766
104766
  if (schOrFunc)
104767
104767
  return schOrFunc;
104768
- let _sch = resolve3.call(this, root2, ref);
104768
+ let _sch = resolve2.call(this, root2, ref);
104769
104769
  if (_sch === undefined) {
104770
104770
  const schema2 = (_a7 = root2.localRefs) === null || _a7 === undefined ? undefined : _a7[ref];
104771
104771
  const { schemaId } = this.opts;
@@ -104792,7 +104792,7 @@ var require_compile = __commonJS((exports) => {
104792
104792
  function sameSchemaEnv(s1, s2) {
104793
104793
  return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId;
104794
104794
  }
104795
- function resolve3(root2, ref) {
104795
+ function resolve2(root2, ref) {
104796
104796
  let sch;
104797
104797
  while (typeof (sch = this.refs[ref]) == "string")
104798
104798
  ref = sch;
@@ -105378,7 +105378,7 @@ var require_fast_uri = __commonJS((exports, module) => {
105378
105378
  }
105379
105379
  return uri;
105380
105380
  }
105381
- function resolve3(baseURI, relativeURI, options) {
105381
+ function resolve2(baseURI, relativeURI, options) {
105382
105382
  const schemelessOptions = options ? Object.assign({ scheme: "null" }, options) : { scheme: "null" };
105383
105383
  const resolved = resolveComponent(parse6(baseURI, schemelessOptions), parse6(relativeURI, schemelessOptions), schemelessOptions, true);
105384
105384
  schemelessOptions.skipEscape = true;
@@ -105637,7 +105637,7 @@ var require_fast_uri = __commonJS((exports, module) => {
105637
105637
  var fastUri = {
105638
105638
  SCHEMES,
105639
105639
  normalize: normalize3,
105640
- resolve: resolve3,
105640
+ resolve: resolve2,
105641
105641
  resolveComponent,
105642
105642
  equal,
105643
105643
  serialize,
@@ -161064,12 +161064,12 @@ function createBuildPreset(options = {}) {
161064
161064
  import { access, mkdir, readFile, readdir, rm, stat } from "fs/promises";
161065
161065
  import {
161066
161066
  basename as basename4,
161067
- dirname as dirname3,
161067
+ dirname as dirname2,
161068
161068
  extname as extname2,
161069
161069
  isAbsolute,
161070
161070
  join as join2,
161071
161071
  relative,
161072
- resolve as resolve2
161072
+ resolve
161073
161073
  } from "path";
161074
161074
 
161075
161075
  // node_modules/.bun/beautiful-mermaid@1.1.3/node_modules/beautiful-mermaid/src/theme.ts
@@ -174972,11 +174972,6 @@ function browserTailwindCompiler() {
174972
174972
  };
174973
174973
  }
174974
174974
 
174975
- // packages/build/src/adapters/math-temml.ts
174976
- import { readFileSync } from "fs";
174977
- import { dirname as dirname2, resolve } from "path";
174978
- import { fileURLToPath } from "url";
174979
-
174980
174975
  // node_modules/.bun/temml@0.13.3/node_modules/temml/dist/temml.mjs
174981
174976
  class ParseError {
174982
174977
  constructor(message, token) {
@@ -187043,16 +187038,369 @@ var temml$1 = {
187043
187038
  __defineMacro: defineMacro
187044
187039
  };
187045
187040
 
187046
- // packages/build/src/adapters/math-temml.ts
187047
- function readTemmlLocalCss() {
187048
- const temmlDir = dirname2(fileURLToPath(import.meta.resolve("temml")));
187049
- const cssPath = resolve(temmlDir, "Temml-Local.css");
187050
- const fontPath = resolve(temmlDir, "Temml.woff2");
187051
- const fontBase64 = Buffer.from(readFileSync(fontPath)).toString("base64");
187052
- return readFileSync(cssPath, "utf-8").replace(`url('Temml.woff2')`, `url('data:font/woff2;base64,${fontBase64}')`);
187041
+ // packages/build/src/adapters/temml-assets.generated.ts
187042
+ var temmlLocalCss = `/*
187043
+ Temml.woff2 is a clone of KaTeX_Script-Regular, except that the code points
187044
+ have been changed from ASCII to Unicode Mathematical Alphanumeric Symbols Script capitals,
187045
+ Unicode range 1D49C to 1D4B5.
187046
+ */
187047
+
187048
+ @font-face {
187049
+ font-family: 'Temml';
187050
+ src: url('data:font/woff2;base64,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') format('woff2');
187051
+ font-weight: normal;
187052
+ font-style: normal;
187053
+ }
187054
+
187055
+ math {
187056
+ font-family: "Cambria Math", 'STIXTwoMath-Regular', 'NotoSansMath-Regular', math;
187057
+ font-style: normal;
187058
+ font-weight: normal;
187059
+ line-height: normal;
187060
+ font-size-adjust: none;
187061
+ text-indent: 0;
187062
+ text-transform: none;
187063
+ letter-spacing: normal;
187064
+ word-wrap: normal;
187065
+ direction: ltr;
187066
+ /* Prevent Firefox from omitting the dot on i or j. */
187067
+ font-feature-settings: "dtls" off;
187068
+ }
187069
+
187070
+ math * {
187071
+ border-color: currentColor;
187072
+ }
187073
+
187074
+ /* display: block is necessary in Firefox and Safari.
187075
+ * Not in Chromium, which recognizes display: "block math" written inline. */
187076
+ math.tml-display {
187077
+ display: block;
187078
+ width: 100%;
187079
+ }
187080
+
187081
+ *.mathcal {
187082
+ /* NotoSans */
187083
+ font-feature-settings: 'ss01';
187084
+ }
187085
+
187086
+ math .mathscr {
187087
+ font-family: "Temml";
187088
+ }
187089
+
187090
+ mo.tml-prime {
187091
+ font-family: Temml;
187092
+ }
187093
+
187094
+ /* Cramped superscripts in WebKit */
187095
+ mfrac > :nth-child(2),
187096
+ msqrt,
187097
+ mover > :first-child {
187098
+ math-shift: compact
187099
+ }
187100
+
187101
+ .menclose {
187102
+ display: inline-block;
187103
+ position: relative;
187104
+ padding: 0.5ex 0ex;
187105
+ }
187106
+ .tml-cancelto {
187107
+ display: inline-block;
187108
+ position: absolute;
187109
+ top: 0;
187110
+ left: 0;
187111
+ padding: 0.5ex 0ex;
187112
+ background-color: currentColor;
187113
+ /* Use the SVG as an alpha mask (painted by background-color) */
187114
+ -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='black' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%25' y1='100%25' stroke='black' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");
187115
+ mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><defs><marker id='a' markerHeight='5' markerUnits='strokeWidth' markerWidth='7' orient='auto' refX='7' refY='2.5'><path fill='black' d='m0 0 7 2.5L0 5z'/></marker></defs><line x2='100%25' y1='100%25' stroke='black' stroke-width='.06em' marker-end='url(%23a)' vector-effect='non-scaling-stroke'/></svg>");
187116
+ -webkit-mask-repeat: no-repeat;
187117
+ mask-repeat: no-repeat;
187118
+ -webkit-mask-size: 100% 100%;
187119
+ mask-size: 100% 100%;
187120
+ -webkit-mask-position: 0 0;
187121
+ mask-position: 0 0;
187122
+ }
187123
+
187124
+ @supports (-moz-appearance: none) {
187125
+ /* \\vec w/o italic correction for Firefox */
187126
+ .tml-vec {
187127
+ transform: scale(0.75)
187128
+ }
187129
+ /* Fix \\cancelto in Firefox */
187130
+ .ff-narrow {
187131
+ width: 0em;
187132
+ }
187133
+ .ff-nudge-left {
187134
+ margin-left: -0.2em;
187135
+ }
187136
+ /* Squash hidden mrows in \\bordermatrix. Messes with centering, but necessary to squash. */
187137
+ .ff-squash mtd {
187138
+ display: block;
187139
+ height: 0;
187140
+ }
187141
+ }
187142
+
187143
+ @supports (not (-moz-appearance: none)) {
187144
+ /* Chromium and WebKit */
187145
+ /* prime vertical alignment */
187146
+ mo.tml-prime {
187147
+ font-family: Temml;
187148
+ }
187149
+ /* Italic correction on superscripts */
187150
+ .tml-sml-pad {
187151
+ padding-left: 0.05em;
187152
+ }
187153
+ .tml-med-pad {
187154
+ padding-left: 0.10em;
187155
+ }
187156
+ .tml-lrg-pad {
187157
+ padding-left: 0.15em;
187158
+ }
187159
+ }
187160
+
187161
+ @supports (-webkit-backdrop-filter: blur(1px)) {
187162
+ /* WebKit vertical & italic correction on accents */
187163
+ .wbk-acc {
187164
+ /* lower by x-height distance */
187165
+ transform: translate(0em, 0.431em);
187166
+ }
187167
+ .wbk-sml {
187168
+ transform: translate(0.07em, 0);
187169
+ }
187170
+ .wbk-sml-acc {
187171
+ transform: translate(0.07em, 0.431em);
187172
+ }
187173
+ .wbk-sml-vec {
187174
+ transform: scale(0.75) translate(0.07em, 0);
187175
+ }
187176
+ .wbk-med {
187177
+ transform: translate(0.14em, 0);
187178
+ }
187179
+ .wbk-med-acc {
187180
+ transform: translate(0.14em, 0.431em);
187181
+ }
187182
+ .wbk-med-vec {
187183
+ transform: scale(0.75) translate(0.14em, 0);
187184
+ }
187185
+ .wbk-lrg {
187186
+ transform: translate(0.21em, 0);
187187
+ }
187188
+ .wbk-lrg-acc {
187189
+ transform: translate(0.21em, 0.431em);
187190
+ }
187191
+ .wbk-lrg-vec {
187192
+ transform: scale(0.75) translate(0.21em, 0);
187193
+ }
187194
+ }
187195
+
187196
+ /* \\cancel & \\phase use background images. Get them to print. */
187197
+ menclose {
187198
+ -webkit-print-color-adjust: exact; /* Chrome & Edge */
187199
+ print-color-adjust: exact;
187200
+ }
187201
+
187202
+ /* Array cell justification in Firefox & WebKit */
187203
+ .tml-right {
187204
+ text-align: right;
187205
+ }
187206
+ .tml-left {
187207
+ text-align: left;
187053
187208
  }
187209
+
187210
+ /* For CD labels that grow to the left in Firefox and WebKit */
187211
+ .tml-shift-left { margin-left:-200% }
187212
+
187213
+ /* Styles for Chromium only */
187214
+ @supports (not (-webkit-backdrop-filter: blur(1px))) and (not (-moz-appearance: none)) {
187215
+ /* Italic correction on accents */
187216
+ .chr-sml {
187217
+ transform: translate(0.07em, 0)
187218
+ }
187219
+ .chr-sml-vec {
187220
+ transform: scale(0.75) translate(0.07em, 0)
187221
+ }
187222
+ .chr-med {
187223
+ transform: translate(0.14em, 0)
187224
+ }
187225
+ .chr-med-vec {
187226
+ transform: scale(0.75) translate(0.14em, 0)
187227
+ }
187228
+ .chr-lrg {
187229
+ transform: translate(0.21em, 0)
187230
+ }
187231
+ .chr-lrg-vec {
187232
+ transform: scale(0.75) translate(0.21em, 0)
187233
+ }
187234
+
187235
+ /* For CD labels that grow to the left */
187236
+ .tml-shift-left { margin-left:-100% }
187237
+
187238
+ /* MathML Core & Chromium do not support the MathML 3.0 element <menclose> attributes. */
187239
+ /* So use styles. */
187240
+ menclose {
187241
+ position: relative;
187242
+ padding: 0.5ex 0ex;
187243
+ }
187244
+
187245
+ .tml-overline {
187246
+ padding: 0.1em 0 0 0;
187247
+ border-top: 0.065em solid;
187248
+ }
187249
+
187250
+ .tml-underline {
187251
+ padding: 0 0 0.1em 0;
187252
+ border-bottom: 0.065em solid;
187253
+ }
187254
+
187255
+ .tml-cancel {
187256
+ display: inline-block;
187257
+ position: absolute;
187258
+ left: 0.5px;
187259
+ bottom: 0;
187260
+ width: 100%;
187261
+ height: 100%;
187262
+ background-color: currentColor;
187263
+ }
187264
+ .upstrike {
187265
+ clip-path: polygon(0.05em 100%, 0em calc(100% - 0.05em), calc(100% - 0.05em) 0em, 100% 0.05em);
187266
+ }
187267
+ .downstrike {
187268
+ clip-path: polygon(0em 0.05em, 0.05em 0em, 100% calc(100% - 0.05em), calc(100% - 0.05em) 100%);
187269
+ }
187270
+ .sout {
187271
+ clip-path: polygon(0em calc(55% + 0.0333em), 0em calc(55% - 0.0333em), 100% calc(55% - 0.0333em), 100% calc(55% + 0.0333em));
187272
+ }
187273
+ .tml-xcancel {
187274
+ clip-path: polygon(0.05em 0em, 0em 0.05em, calc(50% - 0.05em) 50%, 0em calc(100% - 0.05em), 0.05em 100%, 50% calc(50% + 0.05em), calc(100% - 0.05em) 100%, 100% calc(100% - 0.05em), calc(50% + 0.05em) 50%, 100% 0.05em, calc(100% - 0.05em) 0%, 50% calc(50% - 0.05em));
187275
+ }
187276
+
187277
+ .longdiv-top {
187278
+ border-top: 0.067em solid;
187279
+ padding: 0.1em 0.2em 0.2em 0.433em;
187280
+ }
187281
+ .longdiv-arc {
187282
+ position: absolute;
187283
+ top: 0;
187284
+ bottom: 0.1em;
187285
+ left: -0.4em;
187286
+ width: 0.7em;
187287
+ border: 0.067em solid;
187288
+ transform: translateY(-0.067em);
187289
+ border-radius: 70%;
187290
+ clip-path: inset(0 0 0 0.4em);
187291
+ box-sizing: border-box;}
187292
+ .menclose {display: inline-block;
187293
+ text-align: left;
187294
+ position: relative;
187295
+ }
187296
+
187297
+ .phasor-bottom {
187298
+ border-bottom: 0.067em solid;
187299
+ padding: 0.2em 0.2em 0.1em 0.6em;
187300
+ }
187301
+ .phasor-angle {
187302
+ display: inline-block;
187303
+ position: absolute;
187304
+ left: 0.5px;
187305
+ bottom: -0.04em;
187306
+ height: 100%;
187307
+ aspect-ratio: 0.5;
187308
+ background-color: currentColor;
187309
+ clip-path: polygon(0.05em 100%, 0em calc(100% - 0.05em), calc(100% - 0.05em) 0em, 100% 0.05em);
187310
+ }
187311
+
187312
+ .tml-fbox {
187313
+ padding: 3pt;
187314
+ border: 1px solid;
187315
+ }
187316
+
187317
+ .circle-pad {
187318
+ padding: 0.267em;
187319
+ }
187320
+ .textcircle {
187321
+ position: absolute;
187322
+ top: 0;
187323
+ bottom: 0;
187324
+ right: 0;
187325
+ left: 0;
187326
+ border: 0.067em solid;
187327
+ border-radius: 50%;
187328
+ }
187329
+
187330
+ .actuarial {
187331
+ padding: 0.03889em 0.03889em 0 0.03889em;
187332
+ border-width: 0.08em 0.08em 0em 0em;
187333
+ border-style: solid;
187334
+ margin-right: 0.03889em;
187335
+ }
187336
+
187337
+ /* Stretch \\widetilde */
187338
+ .tml-crooked-2 {
187339
+ transform: scale(2.0, 1.1)
187340
+ }
187341
+ .tml-crooked-3 {
187342
+ transform: scale(3.0, 1.3)
187343
+ }
187344
+ .tml-crooked-4 {
187345
+ transform: scale(4.0, 1.4)
187346
+ }
187347
+ /* set array cell justification */
187348
+ .tml-right {
187349
+ text-align: -webkit-right;
187350
+ }
187351
+ .tml-left {
187352
+ text-align: -webkit-left;
187353
+ }
187354
+ }
187355
+
187356
+ .special-fraction {
187357
+ font-family: 'STIX TWO', 'Times New Roman', Times, Tinos, serif;
187358
+ }
187359
+
187360
+ /* flex-wrap for line-breaking in Chromium */
187361
+ math {
187362
+ display: inline-flex;
187363
+ flex-wrap: wrap;
187364
+ align-items: baseline;
187365
+ }
187366
+ math > mrow {
187367
+ padding: 0.5ex 0ex;
187368
+ }
187369
+
187370
+ /* Default mtd top padding is 0.5ex per MathML-Core and user-agent CSS */
187371
+ /* We adjust for jot and small */
187372
+ mtable.tml-jot mtd {
187373
+ padding-top: 0.7ex;
187374
+ padding-bottom: 0.7ex;
187375
+ }
187376
+ mtable.tml-small mtd {
187377
+ padding-top: 0.35ex;
187378
+ padding-bottom: 0.35ex;
187379
+ }
187380
+
187381
+ /* Firefox */
187382
+ @-moz-document url-prefix() {
187383
+ /* Avoid flex-wrap */
187384
+ math { display: inline; }
187385
+ math > mrow { padding: 0 }
187386
+ /* Adjust Firefox spacing between array rows */
187387
+ mtd, mtable.tml-small mtd { padding-top: 0; padding-bottom: 0; }
187388
+ mtable.tml-jot mtd { padding-top: 0.2ex; padding-bottom: 0.ex; }
187389
+ }
187390
+
187391
+ /* AMS environment auto-numbering via CSS counter. */
187392
+ .tml-eqn::before {
187393
+ counter-increment: tmlEqnNo;
187394
+ content: "(" counter(tmlEqnNo) ")";
187395
+ }
187396
+
187397
+ body {
187398
+ counter-reset: tmlEqnNo;
187399
+ }
187400
+ `;
187401
+
187402
+ // packages/build/src/adapters/math-temml.ts
187054
187403
  function temmlMathRenderer(options = {}) {
187055
- let css;
187056
187404
  return {
187057
187405
  cacheKey: JSON.stringify({
187058
187406
  adapter: "temml",
@@ -187066,8 +187414,7 @@ function temmlMathRenderer(options = {}) {
187066
187414
  });
187067
187415
  },
187068
187416
  css() {
187069
- css ??= readTemmlLocalCss();
187070
- return css;
187417
+ return temmlLocalCss;
187071
187418
  }
187072
187419
  };
187073
187420
  }
@@ -203308,19 +203655,19 @@ function getIconsTree(data2, names) {
203308
203655
  const icons = data2.icons;
203309
203656
  const aliases2 = data2.aliases || Object.create(null);
203310
203657
  const resolved = Object.create(null);
203311
- function resolve2(name) {
203658
+ function resolve(name) {
203312
203659
  if (icons[name])
203313
203660
  return resolved[name] = [];
203314
203661
  if (!(name in resolved)) {
203315
203662
  resolved[name] = null;
203316
203663
  const parent = aliases2[name] && aliases2[name].parent;
203317
- const value = parent && resolve2(parent);
203664
+ const value = parent && resolve(parent);
203318
203665
  if (value)
203319
203666
  resolved[name] = [parent].concat(value);
203320
203667
  }
203321
203668
  return resolved[name];
203322
203669
  }
203323
- (names || Object.keys(icons).concat(Object.keys(aliases2))).forEach(resolve2);
203670
+ (names || Object.keys(icons).concat(Object.keys(aliases2))).forEach(resolve);
203324
203671
  return resolved;
203325
203672
  }
203326
203673
 
@@ -206211,7 +206558,7 @@ function createBunFileStorage(rootDir) {
206211
206558
  },
206212
206559
  async write(storagePath, entry) {
206213
206560
  const filePath = join2(rootDir, storagePath);
206214
- await mkdir(dirname3(filePath), { recursive: true });
206561
+ await mkdir(dirname2(filePath), { recursive: true });
206215
206562
  await Bun.write(filePath, storageContentToBody(entry.content));
206216
206563
  },
206217
206564
  async delete(storagePath) {
@@ -206262,7 +206609,7 @@ function createBunArtifactWriter(rootDir, options = {}) {
206262
206609
  return {
206263
206610
  async write(artifact) {
206264
206611
  const filePath = join2(rootDir, artifact.path);
206265
- await mkdir(dirname3(filePath), { recursive: true });
206612
+ await mkdir(dirname2(filePath), { recursive: true });
206266
206613
  const body3 = artifact.content === undefined ? await readSourceAsset(artifact, options.env) : artifactContentToBody(artifact);
206267
206614
  if (body3 === undefined) {
206268
206615
  await rm(filePath, { force: true });
@@ -206296,12 +206643,12 @@ function createBunMaterializedArtifactExists(outDir, env2) {
206296
206643
  return writer.exists ? writer.exists(artifact) : false;
206297
206644
  };
206298
206645
  }
206299
- var DEFAULT_OUT_DIR = ".pathmx2";
206646
+ var DEFAULT_OUT_DIR = ".pathmx";
206300
206647
  var DEFAULT_ROOT_ENTRY = "index.path.md";
206301
206648
  var DEFAULT_OBSIDIAN_INDEX_PATH = "index.path.md";
206302
206649
  var MISSING_PATH_ENTRY_MESSAGE = "Missing path entry. Provide path entries, add paths to an optional pathmx.config.md or pathmx.json, or create paths/index.path.md or index.path.md.";
206303
206650
  function runtimeAssetPath(value) {
206304
- return value ? resolve2(value) : undefined;
206651
+ return value ? resolve(value) : undefined;
206305
206652
  }
206306
206653
  function createBunRuntimeAssetOptions(options = {}) {
206307
206654
  const viewCssPath = runtimeAssetPath(process.env.PATHMX_RUNTIME_VIEW_CSS);
@@ -206515,7 +206862,7 @@ function toSourcePath(filePath) {
206515
206862
  return filePath.replace(/\\/g, "/").replace(/^\/+/, "");
206516
206863
  }
206517
206864
  async function findPathMXConfig(cwd) {
206518
- let dir = resolve2(cwd);
206865
+ let dir = resolve(cwd);
206519
206866
  while (true) {
206520
206867
  const markdownConfigPath = join2(dir, PATHMX_MARKDOWN_CONFIG_FILE);
206521
206868
  const jsonConfigPath = join2(dir, PATHMX_JSON_CONFIG_FILE);
@@ -206538,7 +206885,7 @@ async function findPathMXConfig(cwd) {
206538
206885
  configKind: "json"
206539
206886
  };
206540
206887
  }
206541
- const parent = dirname3(dir);
206888
+ const parent = dirname2(dir);
206542
206889
  if (parent === dir)
206543
206890
  return;
206544
206891
  dir = parent;
@@ -206615,13 +206962,13 @@ function resolveLoadedConfig(cwd, config2) {
206615
206962
  if ("configDir" in config2)
206616
206963
  return config2;
206617
206964
  return {
206618
- configDir: resolve2(cwd),
206965
+ configDir: resolve(cwd),
206619
206966
  ...config2
206620
206967
  };
206621
206968
  }
206622
206969
  async function resolveConfigSourceDir(config2) {
206623
206970
  if (config2.sourceDir)
206624
- return resolve2(config2.configDir, config2.sourceDir);
206971
+ return resolve(config2.configDir, config2.sourceDir);
206625
206972
  const conventionalSourceDir = join2(config2.configDir, "paths");
206626
206973
  if (await directoryExists(conventionalSourceDir))
206627
206974
  return conventionalSourceDir;
@@ -206672,7 +207019,7 @@ function resolveConfigPathEntry(link, configDir, sourceDir, configPath) {
206672
207019
  if (validationError)
206673
207020
  throw new Error(validationError);
206674
207021
  const hrefPath = splitHtmlUrl(link.href.trim()).pathname;
206675
- const pathFile = resolve2(configDir, hrefPath);
207022
+ const pathFile = resolve(configDir, hrefPath);
206676
207023
  const relativePathEntry = relative(sourceDir, pathFile);
206677
207024
  if (isOutsideSourceDir(relativePathEntry)) {
206678
207025
  throw new Error(`${formatConfigLinkLocation(configPath, link.line)}: Path file must be inside sourceDir: ${link.href}`);
@@ -206695,20 +207042,20 @@ async function pathExists(pathFile) {
206695
207042
  return fileExists(pathFile);
206696
207043
  }
206697
207044
  function findNearestPathsDir(filePath) {
206698
- let dir = dirname3(filePath);
207045
+ let dir = dirname2(filePath);
206699
207046
  while (true) {
206700
207047
  if (basename4(dir) === "paths")
206701
207048
  return dir;
206702
- const parent = dirname3(dir);
207049
+ const parent = dirname2(dir);
206703
207050
  if (parent === dir)
206704
207051
  return;
206705
207052
  dir = parent;
206706
207053
  }
206707
207054
  }
206708
207055
  async function resolveBuildPath(pathEntryInput, cwd) {
206709
- const pathFile = resolve2(cwd, pathEntryInput);
207056
+ const pathFile = resolve(cwd, pathEntryInput);
206710
207057
  await assertPathExists(pathFile);
206711
- const sourceDir = findNearestPathsDir(pathFile) ?? (isAbsolute(pathEntryInput) ? dirname3(pathFile) : cwd);
207058
+ const sourceDir = findNearestPathsDir(pathFile) ?? (isAbsolute(pathEntryInput) ? dirname2(pathFile) : cwd);
206712
207059
  const relativePathEntry = relative(sourceDir, pathFile);
206713
207060
  if (isOutsideSourceDir(relativePathEntry)) {
206714
207061
  throw new Error(`Path file must be inside sourceDir: ${pathEntryInput}`);
@@ -206742,9 +207089,9 @@ function isObsidianSetupPath(pathEntryInput, config2) {
206742
207089
  return isObsidianEnabled(config2) && toSourcePath(pathEntryInput) === getObsidianIndexPath(config2);
206743
207090
  }
206744
207091
  async function resolveBuildPathFromSourceDir(pathEntryInput, cwd, sourceDir, config2) {
206745
- const cwdPathFile = resolve2(cwd, pathEntryInput);
207092
+ const cwdPathFile = resolve(cwd, pathEntryInput);
206746
207093
  const cwdRelativePathEntry = relative(sourceDir, cwdPathFile);
206747
- const sourcePathFile = resolve2(sourceDir, pathEntryInput);
207094
+ const sourcePathFile = resolve(sourceDir, pathEntryInput);
206748
207095
  const pathFile = isAbsolute(pathEntryInput) ? pathEntryInput : await fileExists(cwdPathFile) && !isOutsideSourceDir(cwdRelativePathEntry) ? cwdPathFile : sourcePathFile;
206749
207096
  if (!isObsidianSetupPath(pathEntryInput, config2)) {
206750
207097
  await assertPathExists(pathFile);
@@ -206767,7 +207114,7 @@ async function resolveExplicitBuildPaths(pathEntryInputs, cwd) {
206767
207114
  }
206768
207115
  const sourceDir = paths2[0].sourceDir;
206769
207116
  for (const path2 of paths2.slice(1)) {
206770
- if (resolve2(path2.sourceDir) === resolve2(sourceDir))
207117
+ if (resolve(path2.sourceDir) === resolve(sourceDir))
206771
207118
  continue;
206772
207119
  throw new Error([
206773
207120
  "Build paths must share one sourceDir.",
@@ -206820,13 +207167,13 @@ async function resolveBuildPaths(pathEntryInputs, cwd, config2) {
206820
207167
  }
206821
207168
  function resolveOutDir(cwd, config2, outDir, defaultOutDir = DEFAULT_OUT_DIR) {
206822
207169
  if (outDir)
206823
- return resolve2(cwd, outDir);
207170
+ return resolve(cwd, outDir);
206824
207171
  if (config2?.outDir)
206825
- return resolve2(config2.configDir, config2.outDir);
206826
- return resolve2(config2?.configDir ?? cwd, defaultOutDir);
207172
+ return resolve(config2.configDir, config2.outDir);
207173
+ return resolve(config2?.configDir ?? cwd, defaultOutDir);
206827
207174
  }
206828
207175
  async function resolveSpace(options = {}) {
206829
- const cwd = resolve2(options.cwd ?? process.cwd());
207176
+ const cwd = resolve(options.cwd ?? process.cwd());
206830
207177
  const loadedConfig = options.config === undefined ? await loadPathMXConfig(cwd) : resolveLoadedConfig(cwd, options.config);
206831
207178
  const resolved = await resolveBuildPaths(options.pathEntries ?? [], cwd, loadedConfig);
206832
207179
  const outDir = resolveOutDir(cwd, loadedConfig, options.outDir, options.defaultOutDir);
@@ -206877,10 +207224,10 @@ async function openSpace(options = {}) {
206877
207224
  }
206878
207225
  resolved = await resolveBuildPaths(entries2, space.sourceDir, undefined);
206879
207226
  }
206880
- if (resolve2(resolved.sourceDir) !== resolve2(space.sourceDir)) {
207227
+ if (resolve(resolved.sourceDir) !== resolve(space.sourceDir)) {
206881
207228
  resolved = await resolveBuildPaths(entries2, space.sourceDir, undefined);
206882
207229
  }
206883
- if (resolve2(resolved.sourceDir) !== resolve2(space.sourceDir)) {
207230
+ if (resolve(resolved.sourceDir) !== resolve(space.sourceDir)) {
206884
207231
  throw new Error(`Path entries must resolve inside sourceDir "${space.sourceDir}".`);
206885
207232
  }
206886
207233
  return build({
@@ -213639,7 +213986,7 @@ class Protocol {
213639
213986
  return;
213640
213987
  }
213641
213988
  const pollInterval = task2.pollInterval ?? this._options?.defaultTaskPollInterval ?? 1000;
213642
- await new Promise((resolve3) => setTimeout(resolve3, pollInterval));
213989
+ await new Promise((resolve2) => setTimeout(resolve2, pollInterval));
213643
213990
  options?.signal?.throwIfAborted();
213644
213991
  }
213645
213992
  } catch (error52) {
@@ -213651,7 +213998,7 @@ class Protocol {
213651
213998
  }
213652
213999
  request(request, resultSchema, options) {
213653
214000
  const { relatedRequestId, resumptionToken, onresumptiontoken, task, relatedTask } = options ?? {};
213654
- return new Promise((resolve3, reject) => {
214001
+ return new Promise((resolve2, reject) => {
213655
214002
  const earlyReject = (error52) => {
213656
214003
  reject(error52);
213657
214004
  };
@@ -213729,7 +214076,7 @@ class Protocol {
213729
214076
  if (!parseResult.success) {
213730
214077
  reject(parseResult.error);
213731
214078
  } else {
213732
- resolve3(parseResult.data);
214079
+ resolve2(parseResult.data);
213733
214080
  }
213734
214081
  } catch (error52) {
213735
214082
  reject(error52);
@@ -213920,12 +214267,12 @@ class Protocol {
213920
214267
  interval = task.pollInterval;
213921
214268
  }
213922
214269
  } catch {}
213923
- return new Promise((resolve3, reject) => {
214270
+ return new Promise((resolve2, reject) => {
213924
214271
  if (signal.aborted) {
213925
214272
  reject(new McpError(ErrorCode.InvalidRequest, "Request cancelled"));
213926
214273
  return;
213927
214274
  }
213928
- const timeoutId = setTimeout(resolve3, interval);
214275
+ const timeoutId = setTimeout(resolve2, interval);
213929
214276
  signal.addEventListener("abort", () => {
213930
214277
  clearTimeout(timeoutId);
213931
214278
  reject(new McpError(ErrorCode.InvalidRequest, "Request cancelled"));
@@ -214997,7 +215344,7 @@ class McpServer {
214997
215344
  let task = createTaskResult.task;
214998
215345
  const pollInterval = task.pollInterval ?? 5000;
214999
215346
  while (task.status !== "completed" && task.status !== "failed" && task.status !== "cancelled") {
215000
- await new Promise((resolve3) => setTimeout(resolve3, pollInterval));
215347
+ await new Promise((resolve2) => setTimeout(resolve2, pollInterval));
215001
215348
  const updatedTask = await extra.taskStore.getTask(taskId2);
215002
215349
  if (!updatedTask) {
215003
215350
  throw new McpError(ErrorCode.InternalError, `Task ${taskId2} not found during polling`);
@@ -215631,12 +215978,12 @@ class StdioServerTransport {
215631
215978
  this.onclose?.();
215632
215979
  }
215633
215980
  send(message) {
215634
- return new Promise((resolve3) => {
215981
+ return new Promise((resolve2) => {
215635
215982
  const json3 = serializeMessage(message);
215636
215983
  if (this._stdout.write(json3)) {
215637
- resolve3();
215984
+ resolve2();
215638
215985
  } else {
215639
- this._stdout.once("drain", resolve3);
215986
+ this._stdout.once("drain", resolve2);
215640
215987
  }
215641
215988
  });
215642
215989
  }
@@ -215974,9 +216321,9 @@ data:
215974
216321
  const initRequest = messages2.find((m3) => isInitializeRequest(m3));
215975
216322
  const clientProtocolVersion = initRequest ? initRequest.params.protocolVersion : req.headers.get("mcp-protocol-version") ?? DEFAULT_NEGOTIATED_PROTOCOL_VERSION;
215976
216323
  if (this._enableJsonResponse) {
215977
- return new Promise((resolve3) => {
216324
+ return new Promise((resolve2) => {
215978
216325
  this._streamMapping.set(streamId, {
215979
- resolveJson: resolve3,
216326
+ resolveJson: resolve2,
215980
216327
  cleanup: () => {
215981
216328
  this._streamMapping.delete(streamId);
215982
216329
  }
@@ -218298,7 +218645,7 @@ async function runPathMXMcpServer(options = {}) {
218298
218645
  }
218299
218646
 
218300
218647
  // packages/cli/src/constants.ts
218301
- var CLI_VERSION = "0.0.2";
218648
+ var CLI_VERSION = "0.0.3";
218302
218649
  var PATHMX_PUBLIC_CLI_PACKAGE_NAME = "@fellowhumans/pathmx";
218303
218650
  var DEFAULT_SERVE_HOST = "127.0.0.1";
218304
218651
  var DEFAULT_SERVE_PORT = 3000;
@@ -220494,7 +220841,7 @@ function isMissingFileError3(error52) {
220494
220841
  return Boolean(error52) && typeof error52 === "object" && error52.code === "ENOENT";
220495
220842
  }
220496
220843
  function sleep3(ms) {
220497
- return new Promise((resolve3) => setTimeout(resolve3, ms));
220844
+ return new Promise((resolve2) => setTimeout(resolve2, ms));
220498
220845
  }
220499
220846
 
220500
220847
  // packages/server/src/bun/spaces-gateway.ts
@@ -222145,12 +222492,12 @@ function formatInitSummary(result, cwd) {
222145
222492
  }
222146
222493
 
222147
222494
  // packages/cli/src/commands/source-mutation.ts
222148
- import { isAbsolute as isAbsolute2, relative as relative2, resolve as resolve3 } from "path";
222495
+ import { isAbsolute as isAbsolute2, relative as relative2, resolve as resolve2 } from "path";
222149
222496
  function uniqueValues2(values2) {
222150
222497
  return [...new Set(values2.filter((value) => value !== undefined))];
222151
222498
  }
222152
222499
  function resolveCwdRelativeSourcePath(input, cwd, sourceDir) {
222153
- const absPath = isAbsolute2(input) ? input : resolve3(cwd, input);
222500
+ const absPath = isAbsolute2(input) ? input : resolve2(cwd, input);
222154
222501
  const relPath = relative2(sourceDir, absPath);
222155
222502
  return isOutsideSourceDir(relPath) ? undefined : toSourcePath(relPath);
222156
222503
  }
@@ -278383,12 +278730,12 @@ var Idiomorph = function() {
278383
278730
  let newElt = document.createRange().createContextualFragment(newNode.outerHTML).firstChild;
278384
278731
  if (ctx.callbacks.beforeNodeAdded(newElt) !== false) {
278385
278732
  if ("href" in newElt && newElt.href || "src" in newElt && newElt.src) {
278386
- let resolve4;
278733
+ let resolve3;
278387
278734
  let promise3 = new Promise(function(_resolve) {
278388
- resolve4 = _resolve;
278735
+ resolve3 = _resolve;
278389
278736
  });
278390
278737
  newElt.addEventListener("load", function() {
278391
- resolve4();
278738
+ resolve3();
278392
278739
  });
278393
278740
  promises.push(promise3);
278394
278741
  }
@@ -279433,11 +279780,11 @@ var buffer = "";
279433
279780
  var resolveStopped;
279434
279781
  var commandQueue = Promise.resolve();
279435
279782
  async function runDesktopSidecar() {
279436
- return new Promise((resolve4) => {
279783
+ return new Promise((resolve3) => {
279437
279784
  resolveStopped = () => {
279438
279785
  process.stdin.off("data", onStdinData);
279439
279786
  process.stdin.pause();
279440
- resolve4();
279787
+ resolve3();
279441
279788
  };
279442
279789
  process.stdin.setEncoding("utf8");
279443
279790
  process.stdin.on("data", onStdinData);
@@ -279725,9 +280072,9 @@ function createExternalLiveBridge(serverUrl) {
279725
280072
  async function stop(replyTo) {
279726
280073
  await stopCurrent();
279727
280074
  send({ type: "stopped", replyTo });
279728
- const resolve4 = resolveStopped;
280075
+ const resolve3 = resolveStopped;
279729
280076
  resolveStopped = undefined;
279730
- resolve4?.();
280077
+ resolve3?.();
279731
280078
  }
279732
280079
  async function stopCurrent() {
279733
280080
  const current = state;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fellowhumans/pathmx",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {