@quillmark/wasm 0.90.0 → 0.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/core/wasm_bg.js CHANGED
@@ -21,8 +21,9 @@ export class Document {
21
21
  }
22
22
  /**
23
23
  * Authoring-ergonomics header introducing a blueprint to an LLM/MCP
24
- * consumer for the given `quillName`. Surfaced verbatim by every binding
25
- * so the wording stays uniform across CLI / Python / MCP.
24
+ * consumer for the given `quillName`. Re-exposes core's canonical text for
25
+ * JS consumers; any surface that draws from the same core source stays
26
+ * uniform.
26
27
  * @param {string} quill_name
27
28
  * @returns {string}
28
29
  */
@@ -56,8 +57,19 @@ export class Document {
56
57
  * @returns {Card[]}
57
58
  */
58
59
  get cards() {
59
- const ret = wasm.document_cards(this.__wbg_ptr);
60
- return takeObject(ret);
60
+ try {
61
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
62
+ wasm.document_cards(retptr, this.__wbg_ptr);
63
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
64
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
65
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
66
+ if (r2) {
67
+ throw takeObject(r1);
68
+ }
69
+ return takeObject(r0);
70
+ } finally {
71
+ wasm.__wbindgen_add_to_stack_pointer(16);
72
+ }
61
73
  }
62
74
  /**
63
75
  * @returns {Document}
@@ -100,8 +112,8 @@ export class Document {
100
112
  return ret !== 0;
101
113
  }
102
114
  /**
103
- * Render a Diagnostic as the canonical pretty-printed text every binding
104
- * shows (CLI, Python, MCP). Single source of truth so a Diagnostic looks
115
+ * Render a Diagnostic as the canonical pretty-printed text (core's
116
+ * `Diagnostic::fmt_pretty`). Single source of truth so a Diagnostic looks
105
117
  * identical no matter which consumer surfaces it.
106
118
  * @param {Diagnostic} diag
107
119
  * @returns {string}
@@ -123,10 +135,11 @@ export class Document {
123
135
  }
124
136
  }
125
137
  /**
126
- * Authoring-format rules for the card-yaml markdown surface the same
127
- * text every binding (CLI, Python, MCP) shows so callers reading errors
128
- * from one binding can use the rules from any other. Read once at
129
- * startup and cache; the value never changes between calls.
138
+ * Authoring-format rules for the card-yaml markdown surface. The canonical
139
+ * text is core's (`quillmark_core::document::FORMAT_RULES`), re-exposed
140
+ * here for JS consumers so it matches any other surface that draws from the
141
+ * same source. Read once at startup and cache; the value never changes
142
+ * between calls.
130
143
  * @returns {string}
131
144
  */
132
145
  static formatRules() {
@@ -219,8 +232,19 @@ export class Document {
219
232
  * @returns {Card}
220
233
  */
221
234
  get main() {
222
- const ret = wasm.document_main(this.__wbg_ptr);
223
- return takeObject(ret);
235
+ try {
236
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
237
+ wasm.document_main(retptr, this.__wbg_ptr);
238
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
239
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
240
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
241
+ if (r2) {
242
+ throw takeObject(r1);
243
+ }
244
+ return takeObject(r0);
245
+ } finally {
246
+ wasm.__wbindgen_add_to_stack_pointer(16);
247
+ }
224
248
  }
225
249
  /**
226
250
  * Build a fresh `Card` from a kind and a flat field map — the ergonomic
@@ -310,11 +334,11 @@ export class Document {
310
334
  }
311
335
  }
312
336
  /**
313
- * The canonical `$quill` reference grammar as author-facing text. Single
314
- * source of truth (CLI, Python, MCP): drive schema `describe` and
315
- * validation messages from this instead of re-stating the rule — it
316
- * matches the `hint` on `parse::invalid_quill_reference`. Cache it; the
317
- * value never changes.
337
+ * The canonical `$quill` reference grammar as author-facing text. Core is
338
+ * the single source of truth: drive schema `describe` and validation
339
+ * messages from this instead of re-stating the rule — it matches the
340
+ * `hint` on `parse::invalid_quill_reference`. Cache it; the value never
341
+ * changes.
318
342
  * @returns {string}
319
343
  */
320
344
  static quillRefHint() {
@@ -338,8 +362,19 @@ export class Document {
338
362
  * @returns {Card | undefined}
339
363
  */
340
364
  removeCard(index) {
341
- const ret = wasm.document_removeCard(this.__wbg_ptr, index);
342
- return takeObject(ret);
365
+ try {
366
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
367
+ wasm.document_removeCard(retptr, this.__wbg_ptr, index);
368
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
369
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
370
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
371
+ if (r2) {
372
+ throw takeObject(r1);
373
+ }
374
+ return takeObject(r0);
375
+ } finally {
376
+ wasm.__wbindgen_add_to_stack_pointer(16);
377
+ }
343
378
  }
344
379
  /**
345
380
  * Remove the `$ext` map from the composable card at `index` *entirely*,
@@ -420,8 +455,19 @@ export class Document {
420
455
  * @returns {Record<string, unknown> | undefined}
421
456
  */
422
457
  removeExt() {
423
- const ret = wasm.document_removeExt(this.__wbg_ptr);
424
- return takeObject(ret);
458
+ try {
459
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
460
+ wasm.document_removeExt(retptr, this.__wbg_ptr);
461
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
462
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
463
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
464
+ if (r2) {
465
+ throw takeObject(r1);
466
+ }
467
+ return takeObject(r0);
468
+ } finally {
469
+ wasm.__wbindgen_add_to_stack_pointer(16);
470
+ }
425
471
  }
426
472
  /**
427
473
  * Remove `namespace` from the main card's `$ext` map, returning the value
@@ -432,10 +478,21 @@ export class Document {
432
478
  * @returns {any}
433
479
  */
434
480
  removeExtNamespace(namespace) {
435
- const ptr0 = passStringToWasm0(namespace, wasm.__wbindgen_export, wasm.__wbindgen_export2);
436
- const len0 = WASM_VECTOR_LEN;
437
- const ret = wasm.document_removeExtNamespace(this.__wbg_ptr, ptr0, len0);
438
- return takeObject(ret);
481
+ try {
482
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
483
+ const ptr0 = passStringToWasm0(namespace, wasm.__wbindgen_export, wasm.__wbindgen_export2);
484
+ const len0 = WASM_VECTOR_LEN;
485
+ wasm.document_removeExtNamespace(retptr, this.__wbg_ptr, ptr0, len0);
486
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
487
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
488
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
489
+ if (r2) {
490
+ throw takeObject(r1);
491
+ }
492
+ return takeObject(r0);
493
+ } finally {
494
+ wasm.__wbindgen_add_to_stack_pointer(16);
495
+ }
439
496
  }
440
497
  /**
441
498
  * Remove a payload field on the main card, returning the removed value or
@@ -460,6 +517,30 @@ export class Document {
460
517
  wasm.__wbindgen_add_to_stack_pointer(16);
461
518
  }
462
519
  }
520
+ /**
521
+ * Remove `cardKind` from the main card's `$seed` map, returning its
522
+ * overlay or `undefined`; drops `$seed` entirely once empty. Sibling
523
+ * kinds survive.
524
+ * @param {string} card_kind
525
+ * @returns {any}
526
+ */
527
+ removeSeedNamespace(card_kind) {
528
+ try {
529
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
530
+ const ptr0 = passStringToWasm0(card_kind, wasm.__wbindgen_export, wasm.__wbindgen_export2);
531
+ const len0 = WASM_VECTOR_LEN;
532
+ wasm.document_removeSeedNamespace(retptr, this.__wbg_ptr, ptr0, len0);
533
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
534
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
535
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
536
+ if (r2) {
537
+ throw takeObject(r1);
538
+ }
539
+ return takeObject(r0);
540
+ } finally {
541
+ wasm.__wbindgen_add_to_stack_pointer(16);
542
+ }
543
+ }
463
544
  /**
464
545
  * @param {string} body
465
546
  */
@@ -603,7 +684,7 @@ export class Document {
603
684
  }
604
685
  }
605
686
  /**
606
- * Update a payload field on the main card. Clears any existing `!fill` marker.
687
+ * Update a payload field on the main card. Clears any existing `!must_fill` marker.
607
688
  *
608
689
  * Throws if `name` does not match `[a-z_][a-z0-9_]*`.
609
690
  * @param {string} name
@@ -625,7 +706,7 @@ export class Document {
625
706
  }
626
707
  }
627
708
  /**
628
- * Update a payload field on the main card and mark it as `!fill`.
709
+ * Update a payload field on the main card and mark it as `!must_fill`.
629
710
  * Throws on invalid name (see [`setField`](Document::set_field)).
630
711
  * @param {string} name
631
712
  * @param {any} value
@@ -664,6 +745,29 @@ export class Document {
664
745
  wasm.__wbindgen_add_to_stack_pointer(16);
665
746
  }
666
747
  }
748
+ /**
749
+ * Merge a card-kind's seed `overlay` into the main card's `$seed` map
750
+ * under `cardKind`, preserving sibling kinds. Sets the starting values
751
+ * new cards of that kind spawn with. Throws if `overlay` cannot be
752
+ * serialized or nests too deep.
753
+ * @param {string} card_kind
754
+ * @param {any} overlay
755
+ */
756
+ setSeedNamespace(card_kind, overlay) {
757
+ try {
758
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
759
+ const ptr0 = passStringToWasm0(card_kind, wasm.__wbindgen_export, wasm.__wbindgen_export2);
760
+ const len0 = WASM_VECTOR_LEN;
761
+ wasm.document_setSeedNamespace(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(overlay));
762
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
763
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
764
+ if (r1) {
765
+ throw takeObject(r0);
766
+ }
767
+ } finally {
768
+ wasm.__wbindgen_add_to_stack_pointer(16);
769
+ }
770
+ }
667
771
  /**
668
772
  * Serialize this document to a versioned storage DTO string.
669
773
  *
@@ -773,8 +877,19 @@ export class Document {
773
877
  * @returns {Diagnostic[]}
774
878
  */
775
879
  get warnings() {
776
- const ret = wasm.document_warnings(this.__wbg_ptr);
777
- return takeObject(ret);
880
+ try {
881
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
882
+ wasm.document_warnings(retptr, this.__wbg_ptr);
883
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
884
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
885
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
886
+ if (r2) {
887
+ throw takeObject(r1);
888
+ }
889
+ return takeObject(r0);
890
+ } finally {
891
+ wasm.__wbindgen_add_to_stack_pointer(16);
892
+ }
778
893
  }
779
894
  }
780
895
  if (Symbol.dispose) Document.prototype[Symbol.dispose] = Document.prototype.free;
@@ -872,8 +987,19 @@ export class Quill {
872
987
  * @returns {QuillMetadata}
873
988
  */
874
989
  get metadata() {
875
- const ret = wasm.quill_metadata(this.__wbg_ptr);
876
- return takeObject(ret);
990
+ try {
991
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
992
+ wasm.quill_metadata(retptr, this.__wbg_ptr);
993
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
994
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
995
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
996
+ if (r2) {
997
+ throw takeObject(r1);
998
+ }
999
+ return takeObject(r0);
1000
+ } finally {
1001
+ wasm.__wbindgen_add_to_stack_pointer(16);
1002
+ }
877
1003
  }
878
1004
  /**
879
1005
  * Document schema for the quill: the user-fillable fields plus their
@@ -883,23 +1009,51 @@ export class Quill {
883
1009
  * @returns {QuillSchema}
884
1010
  */
885
1011
  get schema() {
886
- const ret = wasm.quill_schema(this.__wbg_ptr);
887
- return takeObject(ret);
1012
+ try {
1013
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1014
+ wasm.quill_schema(retptr, this.__wbg_ptr);
1015
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1016
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1017
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1018
+ if (r2) {
1019
+ throw takeObject(r1);
1020
+ }
1021
+ return takeObject(r0);
1022
+ } finally {
1023
+ wasm.__wbindgen_add_to_stack_pointer(16);
1024
+ }
888
1025
  }
889
1026
  /**
890
1027
  * Seed a starter composable `Card` of the given kind (carries `$kind`),
891
- * committing its fields' `example:` values and leaving every other field
892
- * absent. Returns `undefined` if `cardKind` is not declared in this
893
- * quill's schema, else a `Card` that feeds straight into
894
- * `Document.pushCard` / `insertCard`.
1028
+ * layering an optional per-kind seed `overlay` over the schema-example
1029
+ * base (`overlay › example › absent`). Returns `undefined` if `cardKind`
1030
+ * is not declared in this quill's schema, else a `Card` that feeds
1031
+ * straight into `Document.pushCard` / `insertCard`.
1032
+ *
1033
+ * Pass `document.main.seed?.[cardKind]` as `overlay` so a card added to a
1034
+ * template-derived document inherits its curated starting values; omit it
1035
+ * (or pass `undefined` / `null`) for the bare schema seed. `overlay` is a
1036
+ * plain object — this reads the document, it does not mutate it.
895
1037
  * @param {string} card_kind
1038
+ * @param {Record<string, unknown> | undefined} overlay
896
1039
  * @returns {Card | undefined}
897
1040
  */
898
- seedCard(card_kind) {
899
- const ptr0 = passStringToWasm0(card_kind, wasm.__wbindgen_export, wasm.__wbindgen_export2);
900
- const len0 = WASM_VECTOR_LEN;
901
- const ret = wasm.quill_seedCard(this.__wbg_ptr, ptr0, len0);
902
- return takeObject(ret);
1041
+ seedCard(card_kind, overlay) {
1042
+ try {
1043
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1044
+ const ptr0 = passStringToWasm0(card_kind, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1045
+ const len0 = WASM_VECTOR_LEN;
1046
+ wasm.quill_seedCard(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(overlay));
1047
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1048
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1049
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1050
+ if (r2) {
1051
+ throw takeObject(r1);
1052
+ }
1053
+ return takeObject(r0);
1054
+ } finally {
1055
+ wasm.__wbindgen_add_to_stack_pointer(16);
1056
+ }
903
1057
  }
904
1058
  /**
905
1059
  * Seed a starter `Document` from the schema — the main card plus one
@@ -922,8 +1076,19 @@ export class Quill {
922
1076
  * @returns {Card}
923
1077
  */
924
1078
  seedMain() {
925
- const ret = wasm.quill_seedMain(this.__wbg_ptr);
926
- return takeObject(ret);
1079
+ try {
1080
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1081
+ wasm.quill_seedMain(retptr, this.__wbg_ptr);
1082
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1083
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1084
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1085
+ if (r2) {
1086
+ throw takeObject(r1);
1087
+ }
1088
+ return takeObject(r0);
1089
+ } finally {
1090
+ wasm.__wbindgen_add_to_stack_pointer(16);
1091
+ }
927
1092
  }
928
1093
  /**
929
1094
  * Flatten this quill back into its canonical file tree — the inverse of
package/core/wasm_bg.wasm CHANGED
Binary file
@@ -5,7 +5,7 @@ export const __wbg_document_free: (a: number, b: number) => void;
5
5
  export const __wbg_quill_free: (a: number, b: number) => void;
6
6
  export const document_blueprintInstruction: (a: number, b: number, c: number) => void;
7
7
  export const document_cardCount: (a: number) => number;
8
- export const document_cards: (a: number) => number;
8
+ export const document_cards: (a: number, b: number) => void;
9
9
  export const document_clone: (a: number) => number;
10
10
  export const document_currentSchemaVersion: (a: number) => void;
11
11
  export const document_equals: (a: number, b: number) => number;
@@ -14,19 +14,20 @@ export const document_formatRules: (a: number) => void;
14
14
  export const document_fromJson: (a: number, b: number, c: number) => void;
15
15
  export const document_fromMarkdown: (a: number, b: number, c: number) => void;
16
16
  export const document_insertCard: (a: number, b: number, c: number, d: number) => void;
17
- export const document_main: (a: number) => number;
17
+ export const document_main: (a: number, b: number) => void;
18
18
  export const document_makeCard: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
19
19
  export const document_moveCard: (a: number, b: number, c: number, d: number) => void;
20
20
  export const document_pushCard: (a: number, b: number, c: number) => void;
21
21
  export const document_quillRef: (a: number, b: number) => void;
22
22
  export const document_quillRefHint: (a: number) => void;
23
- export const document_removeCard: (a: number, b: number) => number;
23
+ export const document_removeCard: (a: number, b: number, c: number) => void;
24
24
  export const document_removeCardExt: (a: number, b: number, c: number) => void;
25
25
  export const document_removeCardExtNamespace: (a: number, b: number, c: number, d: number, e: number) => void;
26
26
  export const document_removeCardField: (a: number, b: number, c: number, d: number, e: number) => void;
27
- export const document_removeExt: (a: number) => number;
28
- export const document_removeExtNamespace: (a: number, b: number, c: number) => number;
27
+ export const document_removeExt: (a: number, b: number) => void;
28
+ export const document_removeExtNamespace: (a: number, b: number, c: number, d: number) => void;
29
29
  export const document_removeField: (a: number, b: number, c: number, d: number) => void;
30
+ export const document_removeSeedNamespace: (a: number, b: number, c: number, d: number) => void;
30
31
  export const document_replaceBody: (a: number, b: number, c: number) => void;
31
32
  export const document_schemaVersionOf: (a: number, b: number, c: number) => void;
32
33
  export const document_setCardExt: (a: number, b: number, c: number, d: number) => void;
@@ -37,21 +38,22 @@ export const document_setExtNamespace: (a: number, b: number, c: number, d: numb
37
38
  export const document_setField: (a: number, b: number, c: number, d: number, e: number) => void;
38
39
  export const document_setFill: (a: number, b: number, c: number, d: number, e: number) => void;
39
40
  export const document_setQuillRef: (a: number, b: number, c: number, d: number) => void;
41
+ export const document_setSeedNamespace: (a: number, b: number, c: number, d: number, e: number) => void;
40
42
  export const document_toJson: (a: number, b: number) => void;
41
43
  export const document_toMarkdown: (a: number, b: number) => void;
42
44
  export const document_tryFromJson: (a: number, b: number) => number;
43
45
  export const document_updateCardBody: (a: number, b: number, c: number, d: number, e: number) => void;
44
46
  export const document_updateCardField: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
45
- export const document_warnings: (a: number) => number;
47
+ export const document_warnings: (a: number, b: number) => void;
46
48
  export const init: () => void;
47
49
  export const quill_backendId: (a: number, b: number) => void;
48
50
  export const quill_blueprint: (a: number, b: number) => void;
49
51
  export const quill_fromTree: (a: number, b: number) => void;
50
- export const quill_metadata: (a: number) => number;
51
- export const quill_schema: (a: number) => number;
52
- export const quill_seedCard: (a: number, b: number, c: number) => number;
52
+ export const quill_metadata: (a: number, b: number) => void;
53
+ export const quill_schema: (a: number, b: number) => void;
54
+ export const quill_seedCard: (a: number, b: number, c: number, d: number, e: number) => void;
53
55
  export const quill_seedDocument: (a: number) => number;
54
- export const quill_seedMain: (a: number) => number;
56
+ export const quill_seedMain: (a: number, b: number) => void;
55
57
  export const quill_toTree: (a: number) => number;
56
58
  export const quill_validate: (a: number, b: number, c: number) => void;
57
59
  export const __wbindgen_export: (a: number, b: number) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillmark/wasm",
3
- "version": "0.90.0",
3
+ "version": "0.92.0",
4
4
  "description": "WebAssembly bindings for quillmark",
5
5
  "type": "module",
6
6
  "license": "MIT OR Apache-2.0",