@beehexa/hexasync-template-model 2608.15.1 → 2608.20.31
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/dist/contract.d.ts +9 -1
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +9 -1
- package/dist/contract.js.map +1 -1
- package/dist/flowRender.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/nodeAddress.d.ts.map +1 -1
- package/dist/references.d.ts +1 -1
- package/dist/references.d.ts.map +1 -1
- package/dist/stepGlyph.d.ts +67 -0
- package/dist/stepGlyph.d.ts.map +1 -0
- package/dist/stepGlyph.js +155 -0
- package/dist/stepGlyph.js.map +1 -0
- package/package.json +2 -2
package/dist/contract.d.ts
CHANGED
|
@@ -28,8 +28,16 @@
|
|
|
28
28
|
* which slot a value came from; `!md[...]` paths are resolved after a partial's
|
|
29
29
|
* `replacements` rather than before; and include discovery no longer misses a path
|
|
30
30
|
* containing `]` nor aborts on a reference the resolver would never resolve.
|
|
31
|
+
* 3 — A missing `!md[...]` target no longer aborts the compose (2026-08-20). It resolved to an
|
|
32
|
+
* exception before, so the composed output did not exist at all; it now resolves to an EMPTY
|
|
33
|
+
* string and the miss is reported through `MergeHooks.onMissingInclude`, which the validation
|
|
34
|
+
* registry raises as `MDI-1` (high). A composed `output.yaml` can observe this directly — the
|
|
35
|
+
* same project that produced nothing now produces a document with an empty description — which
|
|
36
|
+
* is precisely the "shape or precedence of `!md[...]` include resolution" clause above, so it
|
|
37
|
+
* is a bump rather than an ACK. Losing an entire project's output and report to one absent
|
|
38
|
+
* Markdown file cost the author the very report that would have named the file.
|
|
31
39
|
*/
|
|
32
|
-
export declare const COMPOSE_CONTRACT_VERSION =
|
|
40
|
+
export declare const COMPOSE_CONTRACT_VERSION = 3;
|
|
33
41
|
/** What a version mismatch means for a caller that found one. */
|
|
34
42
|
export interface ContractComparison {
|
|
35
43
|
ours: number;
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,4FAA4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAChC,kBAAkB,CAoBpB"}
|
package/dist/contract.js
CHANGED
|
@@ -28,8 +28,16 @@
|
|
|
28
28
|
* which slot a value came from; `!md[...]` paths are resolved after a partial's
|
|
29
29
|
* `replacements` rather than before; and include discovery no longer misses a path
|
|
30
30
|
* containing `]` nor aborts on a reference the resolver would never resolve.
|
|
31
|
+
* 3 — A missing `!md[...]` target no longer aborts the compose (2026-08-20). It resolved to an
|
|
32
|
+
* exception before, so the composed output did not exist at all; it now resolves to an EMPTY
|
|
33
|
+
* string and the miss is reported through `MergeHooks.onMissingInclude`, which the validation
|
|
34
|
+
* registry raises as `MDI-1` (high). A composed `output.yaml` can observe this directly — the
|
|
35
|
+
* same project that produced nothing now produces a document with an empty description — which
|
|
36
|
+
* is precisely the "shape or precedence of `!md[...]` include resolution" clause above, so it
|
|
37
|
+
* is a bump rather than an ACK. Losing an entire project's output and report to one absent
|
|
38
|
+
* Markdown file cost the author the very report that would have named the file.
|
|
31
39
|
*/
|
|
32
|
-
export const COMPOSE_CONTRACT_VERSION =
|
|
40
|
+
export const COMPOSE_CONTRACT_VERSION = 3;
|
|
33
41
|
/**
|
|
34
42
|
* Compare the contract version a consumer was built against with the workspace toolchain's.
|
|
35
43
|
*
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAY1C;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,MAAiC;IAEjC,6FAA6F;IAC7F,4FAA4F;IAC5F,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,0FAA0F;QAC1F,sFAAsF;QACtF,oFAAoF;QACpF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC1D,OAAO;QACL,IAAI;QACJ,MAAM;QACN,KAAK,EAAE,KAAK;QACZ,OAAO,EACL,sEAAsE,IAAI,YAAY;YACtF,6BAA6B,MAAM,kDAAkD;YACrF,wEAAwE;YACxE,qDAAqD;KACxD,CAAC;AACJ,CAAC"}
|
package/dist/flowRender.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowRender.js","sourceRoot":"","sources":["../src/flowRender.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"flowRender.js","sourceRoot":"","sources":["../src/flowRender.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -26,4 +26,5 @@ export { classifyTemplating, hasComposeTimeTemplating, composeTimeKeys, type Tem
|
|
|
26
26
|
export * from './references.js';
|
|
27
27
|
export * from './connectorSupport.js';
|
|
28
28
|
export { renderMermaid as renderFlowMermaid, renderMarkdown as renderFlowMarkdown, escapeLabel, type RenderNode, type RenderEdge, type RenderGroup, type RenderOptions, type RenderOverlay, type FlowDirection, } from './flowRender.js';
|
|
29
|
+
export { composeNodeLabel, glyphOfStepType, familyOfStepType, } from './stepGlyph.js';
|
|
29
30
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EACZ,OAAO,EACP,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;GAOG;AACH,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,cAAc,IAAI,kBAAkB,EACpC,WAAW,EACX,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EACZ,OAAO,EACP,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;GAOG;AACH,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,cAAc,IAAI,kBAAkB,EACpC,WAAW,EACX,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -24,4 +24,5 @@ export * from './connectorSupport.js';
|
|
|
24
24
|
// Story 4.3 — the emission algebra, beside the address algebra it shares a subject with. Both flow packages render
|
|
25
25
|
// through these, which is how "one renderer set" holds without them importing each other (AD-21).
|
|
26
26
|
export { renderMermaid as renderFlowMermaid, renderMarkdown as renderFlowMarkdown, escapeLabel, } from './flowRender.js';
|
|
27
|
+
export { composeNodeLabel, glyphOfStepType, familyOfStepType, } from './stepGlyph.js';
|
|
27
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,EAAE;AACF,2FAA2F;AAC3F,+FAA+F;AAC/F,+FAA+F;AAC/F,uBAAuB;AACvB,OAAO,EACL,YAAY,EACZ,OAAO,EACP,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,iHAAiH;AACjH,mEAAmE;AACnE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,oBAAoB,GAErB,MAAM,kBAAkB,CAAC;AAe1B,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,GAIhB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;GAOG;AACH,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AAEtC,mHAAmH;AACnH,kGAAkG;AAClG,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,cAAc,IAAI,kBAAkB,EACpC,WAAW,GAOZ,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,EAAE;AACF,2FAA2F;AAC3F,+FAA+F;AAC/F,+FAA+F;AAC/F,uBAAuB;AACvB,OAAO,EACL,YAAY,EACZ,OAAO,EACP,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,iHAAiH;AACjH,mEAAmE;AACnE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACd,oBAAoB,GAErB,MAAM,kBAAkB,CAAC;AAe1B,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,GAIhB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;GAOG;AACH,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AAEtC,mHAAmH;AACnH,kGAAkG;AAClG,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,cAAc,IAAI,kBAAkB,EACpC,WAAW,GAOZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeAddress.d.ts","sourceRoot":"","sources":["../src/nodeAddress.ts"],"names":[],"mappings":"AAuCA,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,MAAM,cAAc;AACxB,qFAAqF;AACnF;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACjD,kEAAkE;GAChE;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACjD,qEAAqE;GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAC3D,oEAAoE;GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,4DAA4D;AAC5D,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"nodeAddress.d.ts","sourceRoot":"","sources":["../src/nodeAddress.ts"],"names":[],"mappings":"AAuCA,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,MAAM,cAAc;AACxB,qFAAqF;AACnF;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACjD,kEAAkE;GAChE;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACjD,qEAAqE;GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAC3D,oEAAoE;GAClE;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,4DAA4D;AAC5D,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,cAGxC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,IAAI,GAAG,KAAK,GAClB,cAAc,GAAG,SAAS,CAQ5B;AAED,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAMrE;AAiCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,EAAE,GAChD,MAAM,CAMR;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAElE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAY1E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,MAAM,GAAG,SAAS,CAMpB"}
|
package/dist/references.d.ts
CHANGED
|
@@ -195,6 +195,6 @@ export declare function resolvedConnectorIdOf(connection: {
|
|
|
195
195
|
* as an alias rather than deleted because the two names say different things at their call sites — one asks
|
|
196
196
|
* "is this the shape a reference resolves in", the other "did substitution fail here".
|
|
197
197
|
*/
|
|
198
|
-
export declare const isUnresolvedToken:
|
|
198
|
+
export declare const isUnresolvedToken: typeof isTokenForm;
|
|
199
199
|
export declare function isWellFormedConnectorIdentity(value: string): boolean;
|
|
200
200
|
//# sourceMappingURL=references.d.ts.map
|
package/dist/references.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AA6CH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AA6CH,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,OACb,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1D,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,qGAAqG;AACrG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClD;AAmBD,eAAO,MAAM,uBAAuB,EAAE,SAAS,iBAAiB,EAqD/D,CAAC;AAEF,6FAA6F;AAC7F,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;AAClC;;;;GAIG;AACH,mBAAmB,CAAC,EAAE,MAAM,GAC3B,aAAa,GAAG,SAAS,CAoC3B;AAED,yDAAyD;AACzD,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EACF,CAAC;AAIjD,eAAO,MAAM,oBAAoB,aACrB,MAAM,KACf,iBAAiB,GAAG,SAAkC,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EASxD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,iBAAiB,EAI/D,CAAC;AAMF,eAAO,MAAM,uBAAuB,aACxB,MAAM,KACf,iBAAiB,GAAG,SAAyC,CAAC;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAyBnE,CAAC;AAEL,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EACR;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GACnE,MAAM,GAAG,SAAS,CAgBpB;AAqBD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,oBAAc,CAAC;AAE7C,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMpE"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A node's label: name, then key, then the step type — with a glyph standing in for an icon.
|
|
3
|
+
*
|
|
4
|
+
* ### What was wrong, and it was one line in each renderer
|
|
5
|
+
*
|
|
6
|
+
* Both `render.ts` files built a label as `node.label ?? node.name ?? node.stepKey ?? node.address` — a
|
|
7
|
+
* FALLBACK chain, so a step with a name showed its name and nothing else. The key and the type were computed,
|
|
8
|
+
* carried on every node, and then dropped at the last step before drawing. A reader looking at a diagram
|
|
9
|
+
* beside the YAML could not tell which `key:` a box was, which is the one thing they need in order to jump to
|
|
10
|
+
* it, and `next:`/`outputs:` reference steps BY KEY.
|
|
11
|
+
*
|
|
12
|
+
* The brainstorm that started this feature asked for exactly this: *"each node is missing its `key` and
|
|
13
|
+
* `type/displayType` … The key must be after the node's `name`, and the `type/displayType` must be shown as an
|
|
14
|
+
* icon in the node"*.
|
|
15
|
+
*
|
|
16
|
+
* ### Why a glyph and not the SVG set
|
|
17
|
+
*
|
|
18
|
+
* ⚠️ Stated rather than quietly downgraded. `ux/step-icons/` holds 12 authored SVGs, and they cannot go inside
|
|
19
|
+
* a mermaid node here: the webview renders with `securityLevel: 'strict'`, which sanitises label HTML through
|
|
20
|
+
* DOMPurify (`renderHtml.ts:493` records the same constraint for the report), and an inline `<svg>` does not
|
|
21
|
+
* survive that. Raising it to `'loose'` to admit one would also admit mermaid's `click … call fn()` — which is
|
|
22
|
+
* precisely why `flowDiagram.ts` chose strict.
|
|
23
|
+
*
|
|
24
|
+
* So the icon slot is filled by a per-FAMILY unicode glyph, which survives sanitising, needs no asset
|
|
25
|
+
* pipeline, and renders identically in the editor, the report and the browser host. The type name is drawn
|
|
26
|
+
* beside it, so the glyph is a hint and never the only signal — that is the "fallback to text", present
|
|
27
|
+
* always rather than only when something fails.
|
|
28
|
+
*
|
|
29
|
+
* Wiring the real SVG set belongs with the shared step-icon package the toolchain PRD lists under
|
|
30
|
+
* *"Unblocks"*, where a `<span class="step-icon step-icon--api">` and CSS can do it without loosening mermaid.
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Which family a step type belongs to.
|
|
34
|
+
*
|
|
35
|
+
* Matched on the type name because that is what both runtimes carry — a worker step's `displayType` and a
|
|
36
|
+
* frontend step's `type` are the same idea spelled twice (AD-21 keeps the vocabularies apart, not the
|
|
37
|
+
* concept). Unknown types get the neutral glyph rather than no glyph, so a box never loses its icon slot and
|
|
38
|
+
* start shifting the text alignment of its neighbours.
|
|
39
|
+
*/
|
|
40
|
+
export declare function familyOfStepType(type: string): string;
|
|
41
|
+
/**
|
|
42
|
+
* The glyph for a step type.
|
|
43
|
+
*
|
|
44
|
+
* Empty for a step with NO type — there is no icon to stand in for, and a placeholder would render as a
|
|
45
|
+
* second separator (`name · · KEY`), which is how this was caught.
|
|
46
|
+
*/
|
|
47
|
+
export declare function glyphOfStepType(type: string | undefined): string;
|
|
48
|
+
/**
|
|
49
|
+
* The three lines a reader needs, in the order the brainstorm asked for: name, then key, then type.
|
|
50
|
+
*
|
|
51
|
+
* ⚠️ ONE LINE, not `<br/>`, and that was measured rather than assumed. The first version used `<br/>`; the
|
|
52
|
+
* shared renderer's `escapeLabel` turns `<` into `<` — correctly, it is what stops an authored step name
|
|
53
|
+
* injecting markup — so mermaid received `<br/>` and would have drawn it as visible text in every box.
|
|
54
|
+
* Weakening `escapeLabel` to admit one tag would trade a real safety property for a cosmetic one.
|
|
55
|
+
*
|
|
56
|
+
* A junction (START/END) has its own label and no key or type — it returns unchanged, because decorating a
|
|
57
|
+
* terminal with an empty key line would put a blank row in every diagram.
|
|
58
|
+
*/
|
|
59
|
+
export declare function composeNodeLabel(node: {
|
|
60
|
+
readonly label?: string;
|
|
61
|
+
readonly name?: string;
|
|
62
|
+
readonly stepKey?: string;
|
|
63
|
+
readonly address: string;
|
|
64
|
+
readonly type?: string;
|
|
65
|
+
readonly displayType?: string;
|
|
66
|
+
}): string;
|
|
67
|
+
//# sourceMappingURL=stepGlyph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepGlyph.d.ts","sourceRoot":"","sources":["../src/stepGlyph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AA4CH;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4BrD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,GAAG,MAAM,CAYT"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A node's label: name, then key, then the step type — with a glyph standing in for an icon.
|
|
3
|
+
*
|
|
4
|
+
* ### What was wrong, and it was one line in each renderer
|
|
5
|
+
*
|
|
6
|
+
* Both `render.ts` files built a label as `node.label ?? node.name ?? node.stepKey ?? node.address` — a
|
|
7
|
+
* FALLBACK chain, so a step with a name showed its name and nothing else. The key and the type were computed,
|
|
8
|
+
* carried on every node, and then dropped at the last step before drawing. A reader looking at a diagram
|
|
9
|
+
* beside the YAML could not tell which `key:` a box was, which is the one thing they need in order to jump to
|
|
10
|
+
* it, and `next:`/`outputs:` reference steps BY KEY.
|
|
11
|
+
*
|
|
12
|
+
* The brainstorm that started this feature asked for exactly this: *"each node is missing its `key` and
|
|
13
|
+
* `type/displayType` … The key must be after the node's `name`, and the `type/displayType` must be shown as an
|
|
14
|
+
* icon in the node"*.
|
|
15
|
+
*
|
|
16
|
+
* ### Why a glyph and not the SVG set
|
|
17
|
+
*
|
|
18
|
+
* ⚠️ Stated rather than quietly downgraded. `ux/step-icons/` holds 12 authored SVGs, and they cannot go inside
|
|
19
|
+
* a mermaid node here: the webview renders with `securityLevel: 'strict'`, which sanitises label HTML through
|
|
20
|
+
* DOMPurify (`renderHtml.ts:493` records the same constraint for the report), and an inline `<svg>` does not
|
|
21
|
+
* survive that. Raising it to `'loose'` to admit one would also admit mermaid's `click … call fn()` — which is
|
|
22
|
+
* precisely why `flowDiagram.ts` chose strict.
|
|
23
|
+
*
|
|
24
|
+
* So the icon slot is filled by a per-FAMILY unicode glyph, which survives sanitising, needs no asset
|
|
25
|
+
* pipeline, and renders identically in the editor, the report and the browser host. The type name is drawn
|
|
26
|
+
* beside it, so the glyph is a hint and never the only signal — that is the "fallback to text", present
|
|
27
|
+
* always rather than only when something fails.
|
|
28
|
+
*
|
|
29
|
+
* Wiring the real SVG set belongs with the shared step-icon package the toolchain PRD lists under
|
|
30
|
+
* *"Unblocks"*, where a `<span class="step-icon step-icon--api">` and CSS can do it without loosening mermaid.
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Families, taken from the authored icon set (`ux/step-icons/_family-*.svg`) so the two cannot diverge.
|
|
34
|
+
*
|
|
35
|
+
* ⚠️ EVERY glyph must come from Arrows (U+2190–U+21FF), Geometric Shapes (U+25A0–U+25FF) or Mathematical
|
|
36
|
+
* Operators (U+2200–U+22FF), and `stepGlyph.spec.ts` enforces it. Those three blocks have near-universal
|
|
37
|
+
* coverage in the fonts a webview actually gets; anything outside them draws as a tofu box on some machine,
|
|
38
|
+
* and a box is indistinguishable from "this node has no icon".
|
|
39
|
+
*
|
|
40
|
+
* Two of the first ten broke that rule and a reader saw both: *"why are some nodes have icons, but some are
|
|
41
|
+
* not?"*
|
|
42
|
+
*
|
|
43
|
+
* * `query` was `?` — a plain ASCII question mark. It has perfect coverage and reads as a MISSING
|
|
44
|
+
* CHARACTER, which is worse: the glyph rendered exactly as intended and still looked like a failure.
|
|
45
|
+
* * `control` was `⑂` (U+2442), in the Optical Character Recognition block. Rare enough that common fonts
|
|
46
|
+
* omit it, so it drew as a box.
|
|
47
|
+
*
|
|
48
|
+
* The lesson is that "does this codepoint exist" is the wrong question. The right one is "does it read as an
|
|
49
|
+
* icon on a machine I have never seen", and the answer is only reliable inside those three blocks.
|
|
50
|
+
*/
|
|
51
|
+
const GLYPHS = {
|
|
52
|
+
/** An outbound request. */
|
|
53
|
+
call: '↗',
|
|
54
|
+
/** A branch. The diamond shape the flow already draws for a decision, in the label. */
|
|
55
|
+
control: '◆',
|
|
56
|
+
/** Fan-out — dispatch, loop, batch. */
|
|
57
|
+
orchestrate: '↻',
|
|
58
|
+
/** Rows read back. Was `?`, which read as a missing character. */
|
|
59
|
+
query: '≡',
|
|
60
|
+
/** Something remembered for the rest of the run. */
|
|
61
|
+
state: '▣',
|
|
62
|
+
/** A start or an end. */
|
|
63
|
+
terminal: '◉',
|
|
64
|
+
/** Shape in, different shape out. */
|
|
65
|
+
transform: '⇄',
|
|
66
|
+
/** A screen the operator sees. */
|
|
67
|
+
ui: '▤',
|
|
68
|
+
/** Time passing. */
|
|
69
|
+
wait: '◔',
|
|
70
|
+
/** Data pushed somewhere. */
|
|
71
|
+
write: '⇩',
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Which family a step type belongs to.
|
|
75
|
+
*
|
|
76
|
+
* Matched on the type name because that is what both runtimes carry — a worker step's `displayType` and a
|
|
77
|
+
* frontend step's `type` are the same idea spelled twice (AD-21 keeps the vocabularies apart, not the
|
|
78
|
+
* concept). Unknown types get the neutral glyph rather than no glyph, so a box never loses its icon slot and
|
|
79
|
+
* start shifting the text alignment of its neighbours.
|
|
80
|
+
*/
|
|
81
|
+
export function familyOfStepType(type) {
|
|
82
|
+
const t = type.toUpperCase();
|
|
83
|
+
if (/FORM|SHOW|SELECT|REDIRECT|BROWSER|MESSAGE|INFO/.test(t))
|
|
84
|
+
return 'ui';
|
|
85
|
+
if (/^API$|HTTP|REQUEST|WEBHOOK|CALL/.test(t))
|
|
86
|
+
return 'call';
|
|
87
|
+
/**
|
|
88
|
+
* WAIT before everything else that could claim it.
|
|
89
|
+
*
|
|
90
|
+
* `SLEEP` is a real corpus type (`MisaAmisCustomerCallbackMessagePusher.yaml` carries one) and the authored
|
|
91
|
+
* set drew it its own clock. Ahead of `query` because `POLL` contains no query word but reads as one, and
|
|
92
|
+
* ahead of `state` because `WAIT_FOR_RECENT_USER_CREATED` — an authored KEY, not a type — must not be
|
|
93
|
+
* classified by a substring of its name if it ever reaches here as one.
|
|
94
|
+
*/
|
|
95
|
+
if (/SLEEP|WAIT|DELAY|POLL|RETRY|SCHEDULE/.test(t))
|
|
96
|
+
return 'wait';
|
|
97
|
+
if (/SQL|QUERY|FIND|GET|READ|FETCH/.test(t))
|
|
98
|
+
return 'query';
|
|
99
|
+
/**
|
|
100
|
+
* WRITE before STATE, because the authored set separates them and the words overlap.
|
|
101
|
+
*
|
|
102
|
+
* `write` is a step that PUSHES data somewhere — insert, upsert, seed, push. `state` is a step that
|
|
103
|
+
* remembers something for the rest of the run — `SET_STORAGE`, `REGISTER_*`. `SAVE` and `WRITE` were in
|
|
104
|
+
* the state bucket and belong here; `SET_` and `STORAGE` stay there.
|
|
105
|
+
*/
|
|
106
|
+
if (/WRITE|INSERT|UPSERT|SEED|PUSH|CREATE|DELETE/.test(t))
|
|
107
|
+
return 'write';
|
|
108
|
+
if (/SET_|STORAGE|SAVE|UPDATE|REGISTER/.test(t))
|
|
109
|
+
return 'state';
|
|
110
|
+
if (/MAP|TRANSFORM|CONVERT|FORMAT/.test(t))
|
|
111
|
+
return 'transform';
|
|
112
|
+
if (/FORWARD|DISPATCH|LOOP|EACH|BATCH/.test(t))
|
|
113
|
+
return 'orchestrate';
|
|
114
|
+
if (/IF|SWITCH|CONDITION|BRANCH/.test(t))
|
|
115
|
+
return 'control';
|
|
116
|
+
if (/END|STOP|FAIL|COMPLETE|START/.test(t))
|
|
117
|
+
return 'terminal';
|
|
118
|
+
return 'orchestrate';
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* The glyph for a step type.
|
|
122
|
+
*
|
|
123
|
+
* Empty for a step with NO type — there is no icon to stand in for, and a placeholder would render as a
|
|
124
|
+
* second separator (`name · · KEY`), which is how this was caught.
|
|
125
|
+
*/
|
|
126
|
+
export function glyphOfStepType(type) {
|
|
127
|
+
if (!type)
|
|
128
|
+
return '';
|
|
129
|
+
return GLYPHS[familyOfStepType(type)] ?? '·';
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* The three lines a reader needs, in the order the brainstorm asked for: name, then key, then type.
|
|
133
|
+
*
|
|
134
|
+
* ⚠️ ONE LINE, not `<br/>`, and that was measured rather than assumed. The first version used `<br/>`; the
|
|
135
|
+
* shared renderer's `escapeLabel` turns `<` into `<` — correctly, it is what stops an authored step name
|
|
136
|
+
* injecting markup — so mermaid received `<br/>` and would have drawn it as visible text in every box.
|
|
137
|
+
* Weakening `escapeLabel` to admit one tag would trade a real safety property for a cosmetic one.
|
|
138
|
+
*
|
|
139
|
+
* A junction (START/END) has its own label and no key or type — it returns unchanged, because decorating a
|
|
140
|
+
* terminal with an empty key line would put a blank row in every diagram.
|
|
141
|
+
*/
|
|
142
|
+
export function composeNodeLabel(node) {
|
|
143
|
+
const type = node.type ?? node.displayType;
|
|
144
|
+
const heading = node.label ?? node.name ?? node.stepKey ?? node.address;
|
|
145
|
+
// A junction, or a node carrying neither of the two facts this function exists to add.
|
|
146
|
+
if (!node.stepKey && !type)
|
|
147
|
+
return heading;
|
|
148
|
+
// The glyph leads the added half rather than the whole label, so the NAME stays what the eye lands on.
|
|
149
|
+
// Every part is filtered, so a key with no type (or the reverse) yields ONE separator, not an empty slot.
|
|
150
|
+
const second = [glyphOfStepType(type), [node.stepKey, type].filter(Boolean).join(' · ')]
|
|
151
|
+
.filter(Boolean)
|
|
152
|
+
.join(' ');
|
|
153
|
+
return second ? `${heading} · ${second}` : heading;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=stepGlyph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepGlyph.js","sourceRoot":"","sources":["../src/stepGlyph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,GAAqC;IAC/C,2BAA2B;IAC3B,IAAI,EAAE,GAAG;IACT,uFAAuF;IACvF,OAAO,EAAE,GAAG;IACZ,uCAAuC;IACvC,WAAW,EAAE,GAAG;IAChB,kEAAkE;IAClE,KAAK,EAAE,GAAG;IACV,oDAAoD;IACpD,KAAK,EAAE,GAAG;IACV,yBAAyB;IACzB,QAAQ,EAAE,GAAG;IACb,qCAAqC;IACrC,SAAS,EAAE,GAAG;IACd,kCAAkC;IAClC,EAAE,EAAE,GAAG;IACP,oBAAoB;IACpB,IAAI,EAAE,GAAG;IACT,6BAA6B;IAC7B,KAAK,EAAE,GAAG;CACX,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,IAAI,gDAAgD,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1E,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7D;;;;;;;OAOG;IACH,IAAI,sCAAsC,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAClE,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5D;;;;;;OAMG;IACH,IAAI,6CAA6C,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1E,IAAI,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAChE,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,WAAW,CAAC;IAC/D,IAAI,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,aAAa,CAAC;IACrE,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3D,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9D,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAwB;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAOhC;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;IACxE,uFAAuF;IACvF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC;IAE3C,uGAAuG;IACvG,0GAA0G;IAC1G,MAAM,MAAM,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACrF,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACrD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@beehexa/hexasync-template-model",
|
|
3
|
-
"version": "2608.
|
|
3
|
+
"version": "2608.20.31",
|
|
4
4
|
"description": "Domain types for HexaSync templates. No behaviour.",
|
|
5
5
|
"license": "SEE LICENSE IN ../../LICENSE",
|
|
6
6
|
"type": "module",
|
|
@@ -21,6 +21,6 @@
|
|
|
21
21
|
},
|
|
22
22
|
"hexasync": {
|
|
23
23
|
"layer": "core",
|
|
24
|
-
"composeContract":
|
|
24
|
+
"composeContract": 3
|
|
25
25
|
}
|
|
26
26
|
}
|