mythik 0.1.4 → 0.1.5
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 +14 -16
- package/dist/actions/dispatcher.d.ts.map +1 -1
- package/dist/actions/dispatcher.js +8 -1
- package/dist/actions/dispatcher.js.map +1 -1
- package/dist/design/background/patterns/resolver.d.ts.map +1 -1
- package/dist/design/background/patterns/resolver.js +5 -1
- package/dist/design/background/patterns/resolver.js.map +1 -1
- package/dist/design/background/sanitizer.d.ts.map +1 -1
- package/dist/design/background/sanitizer.js +64 -16
- package/dist/design/background/sanitizer.js.map +1 -1
- package/dist/renderer/deps.d.ts.map +1 -1
- package/dist/renderer/deps.js +4 -0
- package/dist/renderer/deps.js.map +1 -1
- package/docs/consumer/WHERE-TO-LOOK.md +1 -1
- package/docs/consumer/ai-context-runtime-semantics.md +1 -1
- package/docs/consumer/ai-context.md +14 -5
- package/docs/consumer/reference-doc.md +4 -2
- package/docs/wiki/compiled/README.md +6 -6
- package/docs/wiki/compiled/concept-background-layer-kinds.md +1 -1
- package/docs/wiki/compiled/concept-pattern-primitives.md +2 -2
- package/docs/wiki/compiled/expression-platform.md +14 -6
- package/docs/wiki/compiled/primitive-screen.md +9 -3
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -13,15 +13,15 @@ version drift.
|
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
-
## What Mythik is, briefly
|
|
17
|
-
|
|
18
|
-
Mythik is an **AI-first
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
is the runtime that makes
|
|
16
|
+
## What Mythik is, briefly
|
|
17
|
+
|
|
18
|
+
Mythik is an **AI-first JSON-native app framework**. Most of your app
|
|
19
|
+
lives as validated JSON specs loaded at runtime from your database,
|
|
20
|
+
not source code that must be regenerated and redeployed for every
|
|
21
|
+
change. AI agents compose those specs from a documented vocabulary;
|
|
22
|
+
Mythik validates the shape, references, actions, state paths, and
|
|
23
|
+
cross-contract assumptions before the change reaches runtime. This
|
|
24
|
+
package is the runtime that makes that contract work.
|
|
25
25
|
|
|
26
26
|
## Install
|
|
27
27
|
|
|
@@ -207,13 +207,11 @@ modify specs.
|
|
|
207
207
|
|
|
208
208
|
## Related packages
|
|
209
209
|
|
|
210
|
-
- [`mythik-react`](https://github.com/mldixdev/mythik/tree/main/packages/react#readme) — render the specs as a React app
|
|
211
|
-
- [`mythik-cli`](https://github.com/mldixdev/mythik/tree/main/packages/cli#readme) — author and patch specs from the command line (the AI-first surface)
|
|
212
|
-
- [`mythik-server`](https://github.com/mldixdev/mythik/tree/main/packages/server#readme) — declarative REST server from an `ApiSpec`
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
the supported npm publish surface yet.
|
|
216
|
-
|
|
210
|
+
- [`mythik-react`](https://github.com/mldixdev/mythik/tree/main/packages/react#readme) — render the specs as a React app
|
|
211
|
+
- [`mythik-cli`](https://github.com/mldixdev/mythik/tree/main/packages/cli#readme) — author and patch specs from the command line (the AI-first surface)
|
|
212
|
+
- [`mythik-server`](https://github.com/mldixdev/mythik/tree/main/packages/server#readme) — declarative REST server from an `ApiSpec`
|
|
213
|
+
- [`mythik-react-native`](https://github.com/mldixdev/mythik/tree/main/packages/react-native#readme) — render supported Mythik primitives in Expo and React Native
|
|
214
|
+
|
|
217
215
|
## Status
|
|
218
216
|
|
|
219
217
|
Public release line. APIs are documented for real-world feedback as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/actions/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAE,aAAa,EAAmC,MAAM,oBAAoB,CAAC;AAIzF,OAAO,EAAyB,KAAK,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,uFAAuF;IACvF,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,wGAAwG;IACxG,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,qDAAqD;IACrD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,0EAA0E;IAC1E,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,cAAc,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACpD;AAED;;;GAGG;AACH,+DAA+D;AAC/D,eAAO,MAAM,WAAW,mCAA6B,CAAC;AAEtD,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOtH;
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/actions/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAE,aAAa,EAAmC,MAAM,oBAAoB,CAAC;AAIzF,OAAO,EAAyB,KAAK,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAE5E,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,uFAAuF;IACvF,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,wGAAwG;IACxG,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,qDAAqD;IACrD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,0EAA0E;IAC1E,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,cAAc,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACpD;AAED;;;GAGG;AACH,+DAA+D;AAC/D,eAAO,MAAM,WAAW,mCAA6B,CAAC;AAEtD,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOtH;AAiBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,wBAAwB,CA2Y/F"}
|
|
@@ -20,6 +20,13 @@ export function resolveParams(params, resolve) {
|
|
|
20
20
|
}
|
|
21
21
|
return resolved;
|
|
22
22
|
}
|
|
23
|
+
function createNotificationId() {
|
|
24
|
+
const randomUUID = globalThis.crypto?.randomUUID;
|
|
25
|
+
if (typeof randomUUID === 'function') {
|
|
26
|
+
return randomUUID.call(globalThis.crypto);
|
|
27
|
+
}
|
|
28
|
+
return `notification-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
|
|
29
|
+
}
|
|
23
30
|
function shouldSkipAction(params, resolve) {
|
|
24
31
|
if (!params || !Object.prototype.hasOwnProperty.call(params, 'skipIf')) {
|
|
25
32
|
return false;
|
|
@@ -77,7 +84,7 @@ export function createActionDispatcher(config) {
|
|
|
77
84
|
store.set('/ui/notifications', [
|
|
78
85
|
...notifications,
|
|
79
86
|
{
|
|
80
|
-
id:
|
|
87
|
+
id: createNotificationId(),
|
|
81
88
|
message: params.message,
|
|
82
89
|
type: params.type ?? 'info',
|
|
83
90
|
title: params.title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/actions/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/actions/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../src/design/background/patterns/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../src/design/background/patterns/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAkB7E,wBAAgB,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CA8CnF"}
|
|
@@ -8,6 +8,10 @@ import { sanitizeSVGShapes } from '../sanitizer.js';
|
|
|
8
8
|
import { resolveCommon } from '../primitives/solid.js';
|
|
9
9
|
const DEFAULT_SPACING = 20;
|
|
10
10
|
const DEFAULT_TILE = 20;
|
|
11
|
+
function normalizeTileSize(value) {
|
|
12
|
+
const numeric = Number(value ?? DEFAULT_TILE);
|
|
13
|
+
return Number.isFinite(numeric) && numeric > 0 ? numeric : DEFAULT_TILE;
|
|
14
|
+
}
|
|
11
15
|
export function resolvePattern(config, index) {
|
|
12
16
|
let svg;
|
|
13
17
|
let tileSize;
|
|
@@ -38,7 +42,7 @@ export function resolvePattern(config, index) {
|
|
|
38
42
|
break;
|
|
39
43
|
case 'custom-svg': {
|
|
40
44
|
const sanitized = sanitizeSVGShapes(config.shapes ?? '');
|
|
41
|
-
tileSize = config.tileSize
|
|
45
|
+
tileSize = normalizeTileSize(config.tileSize);
|
|
42
46
|
const id = `custom-${index}-${tileSize}`;
|
|
43
47
|
svg = `<pattern id="${id}" width="${tileSize}" height="${tileSize}" patternUnits="userSpaceOnUse">${sanitized}</pattern>`;
|
|
44
48
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/design/background/patterns/resolver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/design/background/patterns/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizer.d.ts","sourceRoot":"","sources":["../../../src/design/background/sanitizer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sanitizer.d.ts","sourceRoot":"","sources":["../../../src/design/background/sanitizer.ts"],"names":[],"mappings":"AAyCA,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmBrD"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import DOMPurify from 'isomorphic-dompurify';
|
|
2
1
|
const ALLOWED_TAGS = [
|
|
3
2
|
'circle', 'rect', 'path', 'line', 'polygon', 'polyline', 'ellipse',
|
|
4
3
|
'g', 'defs', 'linearGradient', 'radialGradient', 'stop',
|
|
@@ -15,10 +14,10 @@ const ALLOWED_ATTR = [
|
|
|
15
14
|
'clip-path',
|
|
16
15
|
'id', 'class',
|
|
17
16
|
];
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
//
|
|
21
|
-
//
|
|
17
|
+
const ALLOWED_TAG_LOOKUP = new Map(ALLOWED_TAGS.map((tag) => [tag.toLowerCase(), tag]));
|
|
18
|
+
const ALLOWED_ATTR_LOOKUP = new Set(ALLOWED_ATTR.map((attr) => attr.toLowerCase()));
|
|
19
|
+
// Pre-strip structural elements before the whitelist pass so wrappers cannot
|
|
20
|
+
// smuggle executable SVG content through otherwise-valid descendants.
|
|
22
21
|
function prestripForbidden(raw) {
|
|
23
22
|
return raw
|
|
24
23
|
// Self-closing or with content
|
|
@@ -37,18 +36,67 @@ function prestripForbidden(raw) {
|
|
|
37
36
|
.replace(/<\/a>/gi, '');
|
|
38
37
|
}
|
|
39
38
|
export function sanitizeSVGShapes(raw) {
|
|
40
|
-
// Defense in depth: regex-strip known-bad elements first, then DOMPurify
|
|
41
|
-
// enforces whitelist on what remains.
|
|
42
39
|
const prestripped = prestripForbidden(raw);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
return prestripped
|
|
41
|
+
.replace(/<!--[\s\S]*?-->/g, '')
|
|
42
|
+
.replace(/<\?[\s\S]*?\?>/g, '')
|
|
43
|
+
.replace(/<![^>]*>/g, '')
|
|
44
|
+
.replace(/<\/?([A-Za-z][\w:-]*)([^>]*)>/g, (match, rawTag, rawAttrs) => {
|
|
45
|
+
const canonicalTag = ALLOWED_TAG_LOOKUP.get(rawTag.toLowerCase());
|
|
46
|
+
if (!canonicalTag)
|
|
47
|
+
return '';
|
|
48
|
+
if (match.startsWith('</')) {
|
|
49
|
+
return `</${canonicalTag}>`;
|
|
50
|
+
}
|
|
51
|
+
const attrs = sanitizeAttributes(rawAttrs);
|
|
52
|
+
const closing = /\/\s*>$/.test(match) ? ' /' : '';
|
|
53
|
+
return `<${canonicalTag}${attrs}${closing}>`;
|
|
54
|
+
})
|
|
55
|
+
.trim();
|
|
56
|
+
}
|
|
57
|
+
function sanitizeAttributes(rawAttrs) {
|
|
58
|
+
const attrs = [];
|
|
59
|
+
const attrPattern = /([A-Za-z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/g;
|
|
60
|
+
for (const match of rawAttrs.matchAll(attrPattern)) {
|
|
61
|
+
const rawName = match[1];
|
|
62
|
+
const name = rawName.toLowerCase();
|
|
63
|
+
if (!ALLOWED_ATTR_LOOKUP.has(name) || name.startsWith('on'))
|
|
64
|
+
continue;
|
|
65
|
+
const value = match[2] ?? match[3] ?? match[4];
|
|
66
|
+
if (value === undefined || !isSafeAttributeValue(value))
|
|
67
|
+
continue;
|
|
68
|
+
attrs.push(`${name}="${escapeAttributeValue(value)}"`);
|
|
69
|
+
}
|
|
70
|
+
return attrs.length > 0 ? ` ${attrs.join(' ')}` : '';
|
|
71
|
+
}
|
|
72
|
+
function isSafeAttributeValue(value) {
|
|
73
|
+
const normalized = decodeAttributeEntities(value).replace(/[\u0000-\u001F\u007F\s]+/g, '').toLowerCase();
|
|
74
|
+
if (normalized.includes('javascript:') || normalized.includes('data:'))
|
|
75
|
+
return false;
|
|
76
|
+
if (/url\(["']?(?:https?:|javascript:|data:)/i.test(normalized))
|
|
77
|
+
return false;
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
function decodeAttributeEntities(value) {
|
|
81
|
+
return value.replace(/&#(x[0-9a-f]+|\d+);?/gi, (_, rawCode) => {
|
|
82
|
+
const radix = rawCode.toLowerCase().startsWith('x') ? 16 : 10;
|
|
83
|
+
const body = radix === 16 ? rawCode.slice(1) : rawCode;
|
|
84
|
+
const codePoint = Number.parseInt(body, radix);
|
|
85
|
+
if (!Number.isFinite(codePoint))
|
|
86
|
+
return '';
|
|
87
|
+
try {
|
|
88
|
+
return String.fromCodePoint(codePoint);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return '';
|
|
92
|
+
}
|
|
51
93
|
});
|
|
52
|
-
|
|
94
|
+
}
|
|
95
|
+
function escapeAttributeValue(value) {
|
|
96
|
+
return value
|
|
97
|
+
.replace(/&/g, '&')
|
|
98
|
+
.replace(/"/g, '"')
|
|
99
|
+
.replace(/</g, '<')
|
|
100
|
+
.replace(/>/g, '>');
|
|
53
101
|
}
|
|
54
102
|
//# sourceMappingURL=sanitizer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizer.js","sourceRoot":"","sources":["../../../src/design/background/sanitizer.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"sanitizer.js","sourceRoot":"","sources":["../../../src/design/background/sanitizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/renderer/deps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAapE;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,cAAc,EAAO,GAAG,GAAG,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/renderer/deps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAapE;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,cAAc,EAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CA8EtF;AAmBD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAChE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACxD,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACpF,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;IAC3E,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,wBAAgB,iBAAiB,IAAI,WAAW,CA4C/C"}
|
package/dist/renderer/deps.js
CHANGED
|
@@ -69,6 +69,10 @@ export function scanDeps(value, lazyPaths = []) {
|
|
|
69
69
|
deps.add('/ui/device/viewportWidth');
|
|
70
70
|
deps.add('/ui/viewportWidth');
|
|
71
71
|
}
|
|
72
|
+
// $platform: depends on renderer/device platform context.
|
|
73
|
+
if ('$platform' in obj) {
|
|
74
|
+
deps.add('/ui/device/platform');
|
|
75
|
+
}
|
|
72
76
|
// $auth: maps to /auth/* state paths
|
|
73
77
|
if ('$auth' in obj && typeof obj.$auth === 'string') {
|
|
74
78
|
const field = obj.$auth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/renderer/deps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/renderer/deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ This file maps **"I need to understand or customize X"** to which framework sour
|
|
|
23
23
|
Paths are relative to the framework repo root and use the layout the framework publishes in.
|
|
24
24
|
|
|
25
25
|
- **In the framework repo (or unpacked tarball):** `packages/<package>/src/<path>` — TypeScript source. Authoritative for behavior questions.
|
|
26
|
-
- **In `node_modules/<public-mythik-package>/`:** the published artifact ships `dist/` only (compiled `.js` + `.d.ts`). `.d.ts` is enough for type-shape questions; for behavior questions, fetch the `src/` from the GitHub repo or the unpacked tarball. Public package names are unscoped (`mythik`, `mythik-react`, `mythik-cli`, and `mythik-
|
|
26
|
+
- **In `node_modules/<public-mythik-package>/`:** the published artifact ships `dist/` only (compiled `.js` + `.d.ts`). `.d.ts` is enough for type-shape questions; for behavior questions, fetch the `src/` from the GitHub repo or the unpacked tarball. Public package names are unscoped (`mythik`, `mythik-react`, `mythik-cli`, `mythik-server`, and `mythik-react-native`). React Native support has an explicit primitive support matrix; do not assume unsupported web primitives render natively.
|
|
27
27
|
|
|
28
28
|
When in doubt, prefer reading `src/`. `dist/` is generated and may obscure intent (minified, stripped comments, transpiled control flow).
|
|
29
29
|
|
|
@@ -375,7 +375,7 @@ The framework auto-tracks device context and writes to `/ui/device/*`:
|
|
|
375
375
|
- `/ui/device/orientation` — `"portrait"` | `"landscape"` (updated on orientation change)
|
|
376
376
|
- `/ui/device/colorScheme` — `"light"` | `"dark"` (OS color scheme)
|
|
377
377
|
|
|
378
|
-
**Read pattern:** prefer the dedicated expressions `$breakpoint` (for responsive values), `$platform` (for cross-platform branching) over direct state reads. These expressions abstract over the paths and
|
|
378
|
+
**Read pattern:** prefer the dedicated expressions `$breakpoint` (for responsive values), `$platform` (for cross-platform branching) over direct state reads. These expressions abstract over the device paths and participate in render-cache invalidation (reference-doc rule 37). `$platform` matches exact platform keys first, falls back from `ios`/`android` to `native`, and resolves to `undefined` when no key matches; it does not have a `default` key.
|
|
379
379
|
|
|
380
380
|
**Write-owner:** device context hook (React-side). Not configurable by consumer specs.
|
|
381
381
|
|
|
@@ -271,18 +271,26 @@ Resolves by current platform. `"native"` alias matches ios and android. Specific
|
|
|
271
271
|
- `$breakpoint`: Layout adaptation (columns, gaps, padding, direction) — same component, different sizing
|
|
272
272
|
- `$platform`: Platform-specific techniques (CSS blur vs native BlurView, hover vs press, web sidebar vs native tabs) — different implementation, same feature
|
|
273
273
|
|
|
274
|
-
**
|
|
274
|
+
**Keep `root` stable.** The top-level `root` value is a string element id. Do not put `$platform` directly in `root`. For platform differences, branch at localized props/children/style points, or create separate screen specs when the platform experience is fundamentally different:
|
|
275
275
|
```json
|
|
276
276
|
{
|
|
277
|
-
"root":
|
|
277
|
+
"root": "layout",
|
|
278
278
|
"elements": {
|
|
279
|
-
"layout
|
|
280
|
-
|
|
279
|
+
"layout": {
|
|
280
|
+
"type": "stack",
|
|
281
|
+
"props": {
|
|
282
|
+
"direction": { "$platform": { "web": "horizontal", "native": "vertical" } }
|
|
283
|
+
},
|
|
284
|
+
"style": {
|
|
285
|
+
"backdropFilter": { "$platform": { "web": "blur(24px)", "native": null } }
|
|
286
|
+
},
|
|
287
|
+
"children": ["shared-form"]
|
|
288
|
+
},
|
|
281
289
|
"shared-form": { "type": "stack", "children": ["..."] }
|
|
282
290
|
}
|
|
283
291
|
}
|
|
284
292
|
```
|
|
285
|
-
State, initialActions, and forms
|
|
293
|
+
State, initialActions, and forms stay shared while only the presentation technique branches per platform.
|
|
286
294
|
|
|
287
295
|
### Math & Data
|
|
288
296
|
|
|
@@ -1461,3 +1469,4 @@ When the framework changes the schema in a future version, this section will gai
|
|
|
1461
1469
|
95. `select.options` accepts strings, `{ label, value }` objects, or catalog-shaped objects when `labelKey` and `valueKey` are provided. Example: `{ "options": { "$state": "/cat/services/data" }, "labelKey": "name", "valueKey": "id" }`. Values are emitted as strings from `on.change`; malformed option data renders disabled diagnostics instead of blank clickable rows or crashes.
|
|
1462
1470
|
96. SQL adapters are optional peer dependencies, not installed-by-default runtime payload. Browser-only apps install `mythik mythik-react` without database drivers. SQL-backed stores/servers must install exactly one selected adapter: `mssql`, `pg`, `mysql2`, or `better-sqlite3`. SQLite uses native `better-sqlite3`; native-build helper warnings from that adapter are not Mythik runtime failures.
|
|
1463
1471
|
97. Missing SQL adapter errors are actionable. The thrown `SqlDriverError` includes `packageName`, `installCommand`, and a message with the exact `npm install ...` command for the selected dialect.
|
|
1472
|
+
98. For native Expo apps, install renderer peer packages with `npx expo install react-native-svg react-native-reanimated react-native-worklets ...` before installing `mythik mythik-react-native`, so Expo selects native module versions that match the app SDK. Keep `react-native-reanimated/plugin` last in the app Babel config. Keep `root` as a stable string element id; use `$platform` only inside localized props, style, children, or values. `$platform` matches exact platform keys first, then falls back from `ios`/`android` to `native`; it has no `default` key. Before using a primitive in native specs, check `REACT_NATIVE_PRIMITIVE_SUPPORT` or `getReactNativePrimitiveSupport` from `mythik-react-native`; native-milestone primitives should fail visibly instead of being treated as supported.
|
|
@@ -386,6 +386,7 @@ Resolves to different values based on the current platform (`web`, `ios`, `andro
|
|
|
386
386
|
{ "$platform": { "web": "layout-web", "native": "layout-native" } }
|
|
387
387
|
{ "$platform": { "web": "hover-card", "ios": "ios-card", "android": "android-card" } }
|
|
388
388
|
```
|
|
389
|
+
If no key matches, `$platform` resolves to `undefined`; it does not support a `default` key. Keep top-level `root` as a stable string element id and use `$platform` only in localized props, style, children, or values.
|
|
389
390
|
|
|
390
391
|
**Use with `$breakpoint`** — `$breakpoint` handles responsive layout (viewport width), `$platform` handles platform-specific techniques (CSS vs native components). They are complementary, not alternatives.
|
|
391
392
|
|
|
@@ -2973,7 +2974,7 @@ Mythik backgrounds use a structured `LayerBackground` model. Apps declare `token
|
|
|
2973
2974
|
|
|
2974
2975
|
178. **`BackgroundLayer` + `BackgroundStack` components shipped for web and RN** — Web: `packages/react/src/background/` using CSS for solid/gradient/image + inline SVG for pattern/grain. RN: `packages/react-native/src/background/` using `react-native-svg` `SvgXml` for all layers + View for solid + Image for image. Accepts `LayerBackground` config OR recipe string name
|
|
2975
2976
|
|
|
2976
|
-
179. **`custom-svg` sanitized escape hatch** — When built-in patterns aren't enough, consumers pass SVG shape fragments via `{ kind: 'custom-svg', shapes: '<circle.../>', tileSize: 20 }`. `sanitizeSVGShapes` uses regex pre-strip
|
|
2977
|
+
179. **`custom-svg` sanitized escape hatch** — When built-in patterns aren't enough, consumers pass SVG shape fragments via `{ kind: 'custom-svg', shapes: '<circle.../>', tileSize: 20 }`. `sanitizeSVGShapes` uses a platform-safe regex pre-strip plus a strict SVG tag/attribute allowlist, without DOM-only sanitizer dependencies. Only circle/rect/path/line/polygon/polyline/ellipse/g/defs/gradients plus geometric attrs survive.
|
|
2977
2978
|
|
|
2978
2979
|
---
|
|
2979
2980
|
|
|
@@ -3057,7 +3058,7 @@ The current background and motion stack combines app-level `LayerBackground`, an
|
|
|
3057
3058
|
|
|
3058
3059
|
211. **`useShapeAnimations(ref, animations, options)` — Layer 3 web runner** — Exported from `mythik-react` via `packages/react/src/animation/useShapeAnimations.ts`. React hook for SVG-child animations (`<path>`/`<circle>`/`<rect>`/`<g>`…). Consumes the same `ElementAnimations` contract as `useElementAnimations` but narrowed to the `ambient` trigger ONLY; shape children have no hover/focus/active contract and no distinct mount ceremony. Attaches CSS animations via `el.style.animation` (surgical, preserves other inline styles); keyframes register once through the CSSOM singleton (zero `dangerouslySetInnerHTML`) and dedupe by hash so multiple shape instances with the same recipe share one CSS rule. Dev mode warns when non-ambient triggers are passed. Production silently ignores them. `options.recipes` SHOULD be stable for useMemo performance.
|
|
3059
3060
|
|
|
3060
|
-
212. **`useShapeAnimations(animations, options)` — Layer 3 RN runner** —
|
|
3061
|
+
212. **`useShapeAnimations(animations, options)` — Layer 3 RN runner** — Published through `mythik-react-native` from `packages/react-native/src/animation/useShapeAnimations.ts`. Reanimated parity of rule 211: returns `{ animatedProps }` that the consumer spreads onto `Animated.createAnimatedComponent(Path)` from `react-native-svg`. Uses the `HARD_PER_TRIGGER` (=6) fixed-pool `useSharedValue` pattern (`useSharedValueArray` helper, also exported) so React Hook count stays stable. Reuses `composeRNStyle(contributions, interpolate, interpolateColor)` shared with `useElementAnimations` — single composition pipeline for View-style and animated SVG props. Relies on `react-native-svg` v13+ auto-translating the transform array into SVG `transform="..."` strings. Same dev-mode non-ambient-trigger warning as the web hook.
|
|
3061
3062
|
|
|
3062
3063
|
213. **Cross-platform Layer 3 parity pins** — `buildCSSKeyframes` (web) and `buildReanimatedSpec` (RN) interpret the same resolved `AnimationSpec` identically on load-bearing invariants: duration agreement (ms count matches regardless of input form `'28s'`/`'28000'`), keyframe stop count (web `%` markers match RN `inputRange` length), direction semantic (`'alternate'` token ⇔ `timing.reverse=true`), iterations `'infinite'`/numeric count, animated-prop enumeration (`translateX/Y`/`rotateDeg`/`scale`).
|
|
3063
3064
|
|
|
@@ -3226,3 +3227,4 @@ See `ai-context.md` for spec-gen anti-patterns the AI must NOT generate.
|
|
|
3226
3227
|
292. **`select` supports catalog keys and invalid-option diagnostics** - `select.options` may be strings, `{ label, value }`, or catalog-shaped objects when `labelKey`/`valueKey` are provided. Values emitted from the primitive are strings. Malformed option data renders as disabled diagnostics instead of blank clickable options or crashes, so AI-generated catalog bindings fail visibly.
|
|
3227
3228
|
293. **SQL adapters are optional peer dependencies** - `mythik` does not install SQL drivers by default. Browser-only apps install `mythik mythik-react`. SQL-backed stores/servers must install exactly the selected adapter (`mssql`, `pg`, `mysql2`, or `better-sqlite3`). SQLite uses native `better-sqlite3`; warnings from its transitive native-build helpers are adapter-level install warnings, not Mythik runtime failures.
|
|
3228
3229
|
294. **Missing SQL adapter errors are actionable** - If a SQL-backed store or server uses a dialect whose adapter package is not installed, Mythik throws `SqlDriverError` with `code: "SQL_DRIVER_DEPENDENCY_MISSING"`, `packageName`, `installCommand`, and a message containing the exact `npm install ...` command.
|
|
3230
|
+
295. **`mythik-react-native` publishes an explicit native support contract** - Expo apps should install React Native/Expo peer packages with `npx expo install ...`, including `react-native-reanimated` and its Expo-matched `react-native-worklets` peer, before installing `mythik mythik-react-native`, so Expo selects native module versions that match the app SDK. Keep `react-native-reanimated/plugin` last in the app Babel config. The package exports `REACT_NATIVE_PRIMITIVE_SUPPORT` and `getReactNativePrimitiveSupport(name)`. Supported native primitives are `box`, `stack`, `grid`, `scroll`, `divider`, `spacer`, `text`, `image`, `icon`, `input`, `textarea`, `select`, `checkbox`, `toggle`, `slider`, `button`, `touchable`, `list`, `modal`, `drawer`, `tabs`, `accordion`, `wizard`, `screen`, `screen-outlet`, `toast-container`, and `skeleton`. Native-milestone primitives are `bar-chart`, `line-chart`, `pie-chart`, `area-chart`, `table`, `kanban-board`, `spatial-map`, `file-upload`, `camera`, `signature`, and `audio-player`; they should surface diagnostics instead of silently rendering broken UI. Keep `root` as a stable string and use `$platform` only in localized props/style/children/value branches.
|
|
@@ -12,12 +12,12 @@ Compiled from `docs/consumer/` into **327 atomic articles**. The wiki is optimiz
|
|
|
12
12
|
6. [cli-existing-spec-edit-loop](cli-existing-spec-edit-loop.md) - required loop for modifying existing persisted specs.
|
|
13
13
|
7. [cli-docs](cli-docs.md) - locate or copy the bundled AI documentation after `npm install`.
|
|
14
14
|
|
|
15
|
-
## Publish notes
|
|
16
|
-
|
|
17
|
-
- Public package names are unscoped: `mythik`, `mythik-react`, `mythik-cli`, `mythik-server`.
|
|
18
|
-
-
|
|
19
|
-
- The wiki metadata folder is not publish content.
|
|
20
|
-
- `docs/consumer` remains the canonical source.
|
|
15
|
+
## Publish notes
|
|
16
|
+
|
|
17
|
+
- Public package names are unscoped: `mythik`, `mythik-react`, `mythik-cli`, `mythik-server`, `mythik-react-native`.
|
|
18
|
+
- `mythik-react-native` is a public preview release line with an explicit support matrix.
|
|
19
|
+
- The wiki metadata folder is not publish content.
|
|
20
|
+
- `docs/consumer` remains the canonical source.
|
|
21
21
|
|
|
22
22
|
## Catalog
|
|
23
23
|
|
|
@@ -62,7 +62,7 @@ desaturated grain).
|
|
|
62
62
|
{ "kind": "custom-svg", "shapes": "<circle.../>", "tileSize": 20 }
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
`sanitizeSVGShapes` uses regex pre-strip
|
|
65
|
+
`sanitizeSVGShapes` uses platform-safe regex pre-strip plus a strict SVG tag and attribute allowlist. Only
|
|
66
66
|
circle/rect/path/line/polygon/polyline/ellipse/g/defs/gradients +
|
|
67
67
|
geometric attrs survive. Rejects `<script>`, `<foreignObject>`,
|
|
68
68
|
`<use href>`, `on*` events, `javascript:` URLs.
|
|
@@ -30,13 +30,13 @@ sources: [docs/consumer/reference-doc.md#rules-174-179]
|
|
|
30
30
|
{ "kind": "custom-svg", "shapes": "<circle cx=\"5\" cy=\"5\" r=\"2\"/>", "tileSize": 10 }
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
`sanitizeSVGShapes` uses regex pre-strip
|
|
33
|
+
`sanitizeSVGShapes` uses platform-safe regex pre-strip plus a strict SVG tag and attribute allowlist:
|
|
34
34
|
- **Allowed**: circle, rect, path, line, polygon, polyline, ellipse,
|
|
35
35
|
g, defs, gradients + geometric attrs.
|
|
36
36
|
- **Rejected**: `<script>`, `<foreignObject>`, `<use href>`, `on*` events,
|
|
37
37
|
`javascript:` URLs.
|
|
38
38
|
|
|
39
|
-
Cross-platform safe
|
|
39
|
+
Cross-platform safe without DOM-only sanitizer dependencies.
|
|
40
40
|
|
|
41
41
|
## Example
|
|
42
42
|
|
|
@@ -25,13 +25,21 @@ Platform-specific styling:
|
|
|
25
25
|
"style": { "backdropFilter": { "$platform": { "web": "blur(24px)", "native": null } } }
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
Localized platform-specific presentation:
|
|
29
29
|
```json
|
|
30
30
|
{
|
|
31
|
-
"root":
|
|
31
|
+
"root": "layout",
|
|
32
32
|
"elements": {
|
|
33
|
-
"layout
|
|
34
|
-
|
|
33
|
+
"layout": {
|
|
34
|
+
"type": "stack",
|
|
35
|
+
"props": {
|
|
36
|
+
"direction": { "$platform": { "web": "horizontal", "native": "vertical" } }
|
|
37
|
+
},
|
|
38
|
+
"style": {
|
|
39
|
+
"backdropFilter": { "$platform": { "web": "blur(24px)", "native": null } }
|
|
40
|
+
},
|
|
41
|
+
"children": ["shared-form"]
|
|
42
|
+
},
|
|
35
43
|
"shared-form": { "type": "stack", "children": ["..."] }
|
|
36
44
|
}
|
|
37
45
|
}
|
|
@@ -53,8 +61,8 @@ Platform-specific overrides for ios:
|
|
|
53
61
|
|
|
54
62
|
- **If no key matches, resolves to `undefined`.** Always provide keys for
|
|
55
63
|
all target platforms (or include `native` as fallback).
|
|
56
|
-
-
|
|
57
|
-
|
|
64
|
+
- Keep top-level `root` as a stable string element id. Do not put `$platform`
|
|
65
|
+
directly in `root`; branch at localized props, styles, children, or values.
|
|
58
66
|
|
|
59
67
|
## Related concepts
|
|
60
68
|
|
|
@@ -22,12 +22,18 @@ chrome (title bar, navigation integration).
|
|
|
22
22
|
{ "type": "screen", "props": { "title": "Dashboard" }, "children": [...] }
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
Used
|
|
25
|
+
Used from a stable root:
|
|
26
26
|
```json
|
|
27
27
|
{
|
|
28
|
-
"root":
|
|
28
|
+
"root": "layout",
|
|
29
29
|
"elements": {
|
|
30
|
-
"layout
|
|
30
|
+
"layout": {
|
|
31
|
+
"type": "screen",
|
|
32
|
+
"props": {
|
|
33
|
+
"title": { "$platform": { "web": "Dashboard", "native": "Mobile dashboard" } }
|
|
34
|
+
},
|
|
35
|
+
"children": [...]
|
|
36
|
+
}
|
|
31
37
|
}
|
|
32
38
|
}
|
|
33
39
|
```
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mythik",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.5",
|
|
4
|
+
"description": "AI-first JSON-native core runtime for validated applications, APIs, editor sessions, state, actions, validation, and versioning.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"sideEffects": false,
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"types": "./dist/index.d.ts",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"mythik",
|
|
12
|
-
"
|
|
12
|
+
"json-native",
|
|
13
13
|
"json",
|
|
14
14
|
"application-framework",
|
|
15
15
|
"ai",
|
|
@@ -43,7 +43,6 @@
|
|
|
43
43
|
"./package.json": "./package.json"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"isomorphic-dompurify": "^3.9.0",
|
|
47
46
|
"zustand": "^5.0.0"
|
|
48
47
|
},
|
|
49
48
|
"devDependencies": {
|