@walkeros/explorer 2.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/AGENT.md +14 -0
  2. package/STYLE.md +246 -136
  3. package/dist/chunk-4AJX6MFW.mjs +573 -0
  4. package/dist/chunk-4AJX6MFW.mjs.map +1 -0
  5. package/dist/components/atoms/button-link.stories.d.ts +1 -3
  6. package/dist/components/atoms/button-link.stories.d.ts.map +1 -1
  7. package/dist/components/atoms/button-link.stories.js +1 -15
  8. package/dist/components/atoms/button-link.stories.js.map +1 -1
  9. package/dist/components/atoms/code.d.ts +32 -1
  10. package/dist/components/atoms/code.d.ts.map +1 -1
  11. package/dist/components/atoms/code.js +103 -14
  12. package/dist/components/atoms/code.js.map +1 -1
  13. package/dist/components/atoms/code.stories.d.ts +0 -7
  14. package/dist/components/atoms/code.stories.d.ts.map +1 -1
  15. package/dist/components/atoms/code.stories.js +0 -34
  16. package/dist/components/atoms/code.stories.js.map +1 -1
  17. package/dist/components/molecules/code-box.d.ts +7 -1
  18. package/dist/components/molecules/code-box.d.ts.map +1 -1
  19. package/dist/components/molecules/code-box.js +74 -6
  20. package/dist/components/molecules/code-box.js.map +1 -1
  21. package/dist/components/molecules/code-box.stories.d.ts +56 -7
  22. package/dist/components/molecules/code-box.stories.d.ts.map +1 -1
  23. package/dist/components/molecules/code-box.stories.js +178 -41
  24. package/dist/components/molecules/code-box.stories.js.map +1 -1
  25. package/dist/components/molecules/code-snippet.stories.d.ts +7 -4
  26. package/dist/components/molecules/code-snippet.stories.d.ts.map +1 -1
  27. package/dist/components/molecules/code-snippet.stories.js +28 -9
  28. package/dist/components/molecules/code-snippet.stories.js.map +1 -1
  29. package/dist/components/molecules/flow-map/FlowMap.stories.d.ts +0 -32
  30. package/dist/components/molecules/flow-map/FlowMap.stories.d.ts.map +1 -1
  31. package/dist/components/molecules/flow-map/FlowMap.stories.js +0 -330
  32. package/dist/components/molecules/flow-map/FlowMap.stories.js.map +1 -1
  33. package/dist/components/molecules/flow-map/FlowMap.transformers.stories.d.ts +0 -16
  34. package/dist/components/molecules/flow-map/FlowMap.transformers.stories.d.ts.map +1 -1
  35. package/dist/components/molecules/flow-map/FlowMap.transformers.stories.js +0 -78
  36. package/dist/components/molecules/flow-map/FlowMap.transformers.stories.js.map +1 -1
  37. package/dist/components/molecules/flow-selector.js +1 -1
  38. package/dist/components/molecules/flow-selector.js.map +1 -1
  39. package/dist/components/molecules/flow-selector.stories.js +4 -4
  40. package/dist/components/molecules/flow-selector.stories.js.map +1 -1
  41. package/dist/components/molecules/preview.d.ts.map +1 -1
  42. package/dist/components/molecules/preview.js +32 -22
  43. package/dist/components/molecules/preview.js.map +1 -1
  44. package/dist/components/molecules/split-button.stories.js +6 -6
  45. package/dist/components/molecules/split-button.stories.js.map +1 -1
  46. package/dist/index.d.cts +200 -34
  47. package/dist/index.d.ts +10 -2
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +13 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/index.mjs +1388 -337
  52. package/dist/index.mjs.map +1 -1
  53. package/dist/{monaco-types-OLSF6MIE.mjs → monaco-types-KN2DINPW.mjs} +2 -2
  54. package/dist/styles.css +77 -91
  55. package/dist/themes/lighthouse.d.ts.map +1 -1
  56. package/dist/themes/lighthouse.js +1 -0
  57. package/dist/themes/lighthouse.js.map +1 -1
  58. package/dist/themes/palenight.d.ts.map +1 -1
  59. package/dist/themes/palenight.js +1 -0
  60. package/dist/themes/palenight.js.map +1 -1
  61. package/dist/types/intellisense.d.ts +31 -0
  62. package/dist/types/intellisense.d.ts.map +1 -0
  63. package/dist/types/intellisense.js +2 -0
  64. package/dist/types/intellisense.js.map +1 -0
  65. package/dist/utils/format-code.d.ts.map +1 -1
  66. package/dist/utils/format-code.js +11 -2
  67. package/dist/utils/format-code.js.map +1 -1
  68. package/dist/utils/monaco-decorators.d.ts.map +1 -1
  69. package/dist/utils/monaco-decorators.js +2 -0
  70. package/dist/utils/monaco-decorators.js.map +1 -1
  71. package/dist/utils/monaco-intellisense-flow-extractor.d.ts +13 -0
  72. package/dist/utils/monaco-intellisense-flow-extractor.d.ts.map +1 -0
  73. package/dist/utils/monaco-intellisense-flow-extractor.js +161 -0
  74. package/dist/utils/monaco-intellisense-flow-extractor.js.map +1 -0
  75. package/dist/utils/monaco-json-schema.d.ts +24 -0
  76. package/dist/utils/monaco-json-schema.d.ts.map +1 -0
  77. package/dist/utils/monaco-json-schema.js +65 -0
  78. package/dist/utils/monaco-json-schema.js.map +1 -0
  79. package/dist/utils/monaco-schema-contract.d.ts +8 -0
  80. package/dist/utils/monaco-schema-contract.d.ts.map +1 -0
  81. package/dist/utils/monaco-schema-contract.js +73 -0
  82. package/dist/utils/monaco-schema-contract.js.map +1 -0
  83. package/dist/utils/monaco-schema-enrichment.d.ts +26 -0
  84. package/dist/utils/monaco-schema-enrichment.d.ts.map +1 -0
  85. package/dist/utils/monaco-schema-enrichment.js +31 -0
  86. package/dist/utils/monaco-schema-enrichment.js.map +1 -0
  87. package/dist/utils/monaco-schema-flow-setup.d.ts +10 -0
  88. package/dist/utils/monaco-schema-flow-setup.d.ts.map +1 -0
  89. package/dist/utils/monaco-schema-flow-setup.js +201 -0
  90. package/dist/utils/monaco-schema-flow-setup.js.map +1 -0
  91. package/dist/utils/monaco-schema-variables.d.ts +4 -0
  92. package/dist/utils/monaco-schema-variables.d.ts.map +1 -0
  93. package/dist/utils/monaco-schema-variables.js +26 -0
  94. package/dist/utils/monaco-schema-variables.js.map +1 -0
  95. package/dist/utils/monaco-walkeros-completions.d.ts +15 -0
  96. package/dist/utils/monaco-walkeros-completions.d.ts.map +1 -0
  97. package/dist/utils/monaco-walkeros-completions.js +65 -0
  98. package/dist/utils/monaco-walkeros-completions.js.map +1 -0
  99. package/dist/utils/monaco-walkeros-decorations.d.ts +29 -0
  100. package/dist/utils/monaco-walkeros-decorations.d.ts.map +1 -0
  101. package/dist/utils/monaco-walkeros-decorations.js +87 -0
  102. package/dist/utils/monaco-walkeros-decorations.js.map +1 -0
  103. package/dist/utils/monaco-walkeros-markers.d.ts +13 -0
  104. package/dist/utils/monaco-walkeros-markers.d.ts.map +1 -0
  105. package/dist/utils/monaco-walkeros-markers.js +69 -0
  106. package/dist/utils/monaco-walkeros-markers.js.map +1 -0
  107. package/dist/utils/monaco-walkeros-providers.d.ts +19 -0
  108. package/dist/utils/monaco-walkeros-providers.d.ts.map +1 -0
  109. package/dist/utils/monaco-walkeros-providers.js +229 -0
  110. package/dist/utils/monaco-walkeros-providers.js.map +1 -0
  111. package/package.json +1 -1
  112. package/dist/chunk-YKT4D7MG.mjs +0 -3087
  113. package/dist/chunk-YKT4D7MG.mjs.map +0 -1
  114. package/dist/components/molecules/flow-deploy-panel.d.ts +0 -31
  115. package/dist/components/molecules/flow-deploy-panel.d.ts.map +0 -1
  116. package/dist/components/molecules/flow-deploy-panel.js +0 -72
  117. package/dist/components/molecules/flow-deploy-panel.js.map +0 -1
  118. package/dist/components/molecules/flow-deploy-panel.stories.d.ts +0 -40
  119. package/dist/components/molecules/flow-deploy-panel.stories.d.ts.map +0 -1
  120. package/dist/components/molecules/flow-deploy-panel.stories.js +0 -145
  121. package/dist/components/molecules/flow-deploy-panel.stories.js.map +0 -1
  122. /package/dist/{monaco-types-OLSF6MIE.mjs.map → monaco-types-KN2DINPW.mjs.map} +0 -0
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Monaco JSON Schema Registry
3
+ *
4
+ * Manages JSON Schema registrations for Monaco's JSON language service.
5
+ * Multiple Code instances can register schemas concurrently — the registry
6
+ * accumulates all schemas and issues a single setDiagnosticsOptions() call.
7
+ *
8
+ * Uses top-level `json` import from monaco-editor (v0.55+ namespace).
9
+ */
10
+ import { json } from 'monaco-editor';
11
+ const schemaRegistry = new Map();
12
+ let idCounter = 0;
13
+ /**
14
+ * Generate a unique model path for a Code instance.
15
+ * Used as the `path` prop for @monaco-editor/react Editor.
16
+ */
17
+ export function generateModelPath() {
18
+ return `inmemory://walkeros/json-${++idCounter}.json`;
19
+ }
20
+ /**
21
+ * Register a JSON schema for a specific model path.
22
+ * Triggers a global setDiagnosticsOptions update.
23
+ */
24
+ export function registerJsonSchema(modelPath, schema) {
25
+ schemaRegistry.set(modelPath, {
26
+ uri: `schema://walkeros/${modelPath}`,
27
+ fileMatch: [modelPath],
28
+ schema,
29
+ });
30
+ applySchemas();
31
+ }
32
+ /**
33
+ * Unregister a JSON schema when a Code instance unmounts.
34
+ * Triggers a global setDiagnosticsOptions update.
35
+ */
36
+ export function unregisterJsonSchema(modelPath) {
37
+ schemaRegistry.delete(modelPath);
38
+ applySchemas();
39
+ }
40
+ /**
41
+ * Apply all registered schemas to Monaco's JSON language service.
42
+ */
43
+ function applySchemas() {
44
+ json.jsonDefaults.setDiagnosticsOptions({
45
+ validate: true,
46
+ schemaValidation: 'error',
47
+ schemaRequest: 'ignore',
48
+ enableSchemaRequest: false,
49
+ schemas: Array.from(schemaRegistry.values()),
50
+ });
51
+ }
52
+ /**
53
+ * Get count of registered schemas (for testing/debugging).
54
+ */
55
+ export function getRegisteredSchemaCount() {
56
+ return schemaRegistry.size;
57
+ }
58
+ /**
59
+ * Clear all schemas (for testing).
60
+ */
61
+ export function clearAllSchemas() {
62
+ schemaRegistry.clear();
63
+ applySchemas();
64
+ }
65
+ //# sourceMappingURL=monaco-json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-json-schema.js","sourceRoot":"","sources":["../../src/utils/monaco-json-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAWrC,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE3D,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,4BAA4B,EAAE,SAAS,OAAO,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAiB,EACjB,MAA+B;IAE/B,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;QAC5B,GAAG,EAAE,qBAAqB,SAAS,EAAE;QACrC,SAAS,EAAE,CAAC,SAAS,CAAC;QACtB,MAAM;KACP,CAAC,CAAC;IACH,YAAY,EAAE,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,YAAY,EAAE,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY;IACnB,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACtC,QAAQ,EAAE,IAAI;QACd,gBAAgB,EAAE,OAAO;QACzB,aAAa,EAAE,QAAQ;QACvB,mBAAmB,EAAE,KAAK;QAC1B,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,YAAY,EAAE,CAAC;AACjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ type AnySchema = Record<string, any>;
2
+ /**
3
+ * Returns an enriched JSON Schema for the walkerOS Contract editor.
4
+ * Structure: { $tagging: number, entity: { action: JSONSchema } }
5
+ */
6
+ export declare function getEnrichedContractSchema(): AnySchema;
7
+ export {};
8
+ //# sourceMappingURL=monaco-schema-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-schema-contract.d.ts","sourceRoot":"","sources":["../../src/utils/monaco-schema-contract.ts"],"names":[],"mappings":"AACA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAErC;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,SAAS,CAsErD"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Returns an enriched JSON Schema for the walkerOS Contract editor.
3
+ * Structure: { $tagging: number, entity: { action: JSONSchema } }
4
+ */
5
+ export function getEnrichedContractSchema() {
6
+ return {
7
+ type: 'object',
8
+ markdownDescription: 'walkerOS Data Contract. Defines entity→action schemas for event validation.\n\n' +
9
+ '```json\n{\n "$tagging": 1,\n "page": {\n' +
10
+ ' "view": {\n "type": "object",\n "properties": {\n' +
11
+ ' "title": { "type": "string" }\n }\n }\n }\n}\n```',
12
+ properties: {
13
+ $tagging: {
14
+ type: 'number',
15
+ markdownDescription: 'Contract version number. Increment when making breaking changes.\n\n```json\n"$tagging": 1\n```',
16
+ },
17
+ },
18
+ additionalProperties: {
19
+ type: 'object',
20
+ markdownDescription: 'Entity name. Contains action→schema mappings.',
21
+ additionalProperties: {
22
+ type: 'object',
23
+ markdownDescription: 'Action schema (JSON Schema). Defines valid event data for this entity+action.\n\n' +
24
+ '```json\n{\n "type": "object",\n "properties": {\n' +
25
+ ' "name": { "type": "string" },\n "price": { "type": "number" }\n' +
26
+ ' },\n "required": ["name"]\n}\n```',
27
+ defaultSnippets: [
28
+ {
29
+ label: 'Object schema',
30
+ description: 'Schema with typed properties',
31
+ body: {
32
+ type: 'object',
33
+ properties: {
34
+ '${1:name}': { type: '${2:string}' },
35
+ },
36
+ },
37
+ },
38
+ ],
39
+ },
40
+ defaultSnippets: [
41
+ {
42
+ label: 'Add action',
43
+ description: 'Action with event data schema',
44
+ body: {
45
+ '${1:action}': {
46
+ type: 'object',
47
+ properties: {
48
+ '${2:property}': { type: '${3:string}' },
49
+ },
50
+ },
51
+ },
52
+ },
53
+ ],
54
+ },
55
+ defaultSnippets: [
56
+ {
57
+ label: 'Entity with action',
58
+ description: 'New entity with one action and properties',
59
+ body: {
60
+ '${1:entity}': {
61
+ '${2:action}': {
62
+ type: 'object',
63
+ properties: {
64
+ '${3:property}': { type: '${4:string}' },
65
+ },
66
+ },
67
+ },
68
+ },
69
+ },
70
+ ],
71
+ };
72
+ }
73
+ //# sourceMappingURL=monaco-schema-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-schema-contract.js","sourceRoot":"","sources":["../../src/utils/monaco-schema-contract.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,mBAAmB,EACjB,iFAAiF;YACjF,6CAA6C;YAC7C,iEAAiE;YACjE,8DAA8D;QAChE,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,mBAAmB,EACjB,iGAAiG;aACpG;SACF;QACD,oBAAoB,EAAE;YACpB,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE,+CAA+C;YACpE,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,mBAAmB,EACjB,mFAAmF;oBACnF,sDAAsD;oBACtD,wEAAwE;oBACxE,sCAAsC;gBACxC,eAAe,EAAE;oBACf;wBACE,KAAK,EAAE,eAAe;wBACtB,WAAW,EAAE,8BAA8B;wBAC3C,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;6BACrC;yBACF;qBACF;iBACF;aACF;YACD,eAAe,EAAE;gBACf;oBACE,KAAK,EAAE,YAAY;oBACnB,WAAW,EAAE,+BAA+B;oBAC5C,IAAI,EAAE;wBACJ,aAAa,EAAE;4BACb,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;6BACzC;yBACF;qBACF;iBACF;aACF;SACF;QACD,eAAe,EAAE;YACf;gBACE,KAAK,EAAE,oBAAoB;gBAC3B,WAAW,EAAE,2CAA2C;gBACxD,IAAI,EAAE;oBACJ,aAAa,EAAE;wBACb,aAAa,EAAE;4BACb,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;6BACzC;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ export interface MonacoSchemaExtension {
2
+ defaultSnippets?: Array<{
3
+ label: string;
4
+ description?: string;
5
+ markdownDescription?: string;
6
+ body?: unknown;
7
+ bodyText?: string;
8
+ }>;
9
+ markdownDescription?: string;
10
+ enumDescriptions?: string[];
11
+ markdownEnumDescriptions?: string[];
12
+ deprecationMessage?: string;
13
+ errorMessage?: string;
14
+ patternErrorMessage?: string;
15
+ doNotSuggest?: boolean;
16
+ suggestSortText?: string;
17
+ }
18
+ type EnrichmentMap = Record<string, MonacoSchemaExtension>;
19
+ /**
20
+ * Deep-merges Monaco-specific JSON Schema extensions into a base schema.
21
+ * Keys in the enrichment map are dot-paths (e.g., 'properties.sources').
22
+ * Empty string '' targets the root. Does not mutate the original.
23
+ */
24
+ export declare function enrichSchema(baseSchema: Record<string, unknown>, enrichments: EnrichmentMap): Record<string, unknown>;
25
+ export {};
26
+ //# sourceMappingURL=monaco-schema-enrichment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-schema-enrichment.d.ts","sourceRoot":"","sources":["../../src/utils/monaco-schema-enrichment.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,WAAW,EAAE,aAAa,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Deep-merges Monaco-specific JSON Schema extensions into a base schema.
3
+ * Keys in the enrichment map are dot-paths (e.g., 'properties.sources').
4
+ * Empty string '' targets the root. Does not mutate the original.
5
+ */
6
+ export function enrichSchema(baseSchema, enrichments) {
7
+ const schema = JSON.parse(JSON.stringify(baseSchema));
8
+ for (const [path, extensions] of Object.entries(enrichments)) {
9
+ const target = path === '' ? schema : getNestedObject(schema, path);
10
+ if (target && typeof target === 'object') {
11
+ Object.assign(target, extensions);
12
+ }
13
+ }
14
+ return schema;
15
+ }
16
+ function getNestedObject(obj, path) {
17
+ const keys = path.split('.');
18
+ let current = obj;
19
+ for (const key of keys) {
20
+ if (current &&
21
+ typeof current === 'object' &&
22
+ key in current) {
23
+ current = current[key];
24
+ }
25
+ else {
26
+ return undefined;
27
+ }
28
+ }
29
+ return current;
30
+ }
31
+ //# sourceMappingURL=monaco-schema-enrichment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-schema-enrichment.js","sourceRoot":"","sources":["../../src/utils/monaco-schema-enrichment.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAmC,EACnC,WAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAEtD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,GAA4B,EAC5B,IAAY;IAEZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAY,GAAG,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IACE,OAAO;YACP,OAAO,OAAO,KAAK,QAAQ;YAC3B,GAAG,IAAK,OAAmC,EAC3C,CAAC;YACD,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,OAA8C,CAAC;AACxD,CAAC"}
@@ -0,0 +1,10 @@
1
+ type AnySchema = Record<string, any>;
2
+ /**
3
+ * Takes the base Flow.Setup JSON Schema (from @walkeros/core z.toJSONSchema())
4
+ * and returns an enriched version with Monaco-specific extensions.
5
+ *
6
+ * The actual schema uses anyOf[0] at the top level.
7
+ */
8
+ export declare function enrichFlowSetupSchema(baseSchema: AnySchema): AnySchema;
9
+ export {};
10
+ //# sourceMappingURL=monaco-schema-flow-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-schema-flow-setup.d.ts","sourceRoot":"","sources":["../../src/utils/monaco-schema-flow-setup.ts"],"names":[],"mappings":"AAGA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,CA8MtE"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Takes the base Flow.Setup JSON Schema (from @walkeros/core z.toJSONSchema())
3
+ * and returns an enriched version with Monaco-specific extensions.
4
+ *
5
+ * The actual schema uses anyOf[0] at the top level.
6
+ */
7
+ export function enrichFlowSetupSchema(baseSchema) {
8
+ // The schema structure is { anyOf: [{ type: 'object', properties: {...} }] }
9
+ // We need to enrich inside anyOf[0]
10
+ const schema = JSON.parse(JSON.stringify(baseSchema));
11
+ if (!schema.anyOf?.[0]?.properties)
12
+ return schema;
13
+ const root = schema.anyOf[0];
14
+ const props = root.properties;
15
+ const flowConfig = props.flows?.additionalProperties?.properties;
16
+ // Enrich version
17
+ if (props.version) {
18
+ props.version.markdownDescription =
19
+ 'Schema version number. Must be `1` for the current format.\n\n```json\n"version": 1\n```';
20
+ }
21
+ // Enrich $schema
22
+ if (props.$schema) {
23
+ props.$schema.markdownDescription =
24
+ 'JSON Schema URI for IDE validation.\n\n```json\n"$schema": "https://walkeros.io/schema/flow/v1.json"\n```';
25
+ }
26
+ // Enrich include
27
+ if (props.include) {
28
+ props.include.markdownDescription =
29
+ 'Folders to include in the bundle output.\n\n```json\n"include": ["./src", "./lib"]\n```';
30
+ }
31
+ // Enrich variables
32
+ if (props.variables) {
33
+ props.variables.markdownDescription =
34
+ 'Shared variables for `$var.name` interpolation across all flows.\n\n' +
35
+ '```json\n"variables": {\n "measurementId": "G-XXXXXXXXXX",\n "debug": false\n}\n```\n\n' +
36
+ 'Reference in any config value: `"$var.measurementId"`';
37
+ props.variables.defaultSnippets = [
38
+ {
39
+ label: 'Add variable',
40
+ description: 'New key-value variable',
41
+ body: { '${1:name}': '${2:value}' },
42
+ },
43
+ ];
44
+ }
45
+ // Enrich definitions
46
+ if (props.definitions) {
47
+ props.definitions.markdownDescription =
48
+ 'Reusable configuration fragments for `$def.name` references.\n\n' +
49
+ '```json\n"definitions": {\n "gaConfig": {\n "measurementId": "$var.trackingId"\n }\n}\n```\n\n' +
50
+ 'Reference in any config: `"$def.gaConfig"`';
51
+ props.definitions.defaultSnippets = [
52
+ {
53
+ label: 'Add definition',
54
+ description: 'New reusable config fragment',
55
+ body: { '${1:name}': { '${2:key}': '${3:value}' } },
56
+ },
57
+ ];
58
+ }
59
+ // Enrich flows with scaffolding snippets
60
+ if (props.flows) {
61
+ props.flows.markdownDescription =
62
+ 'Flow configurations keyed by name. Each flow defines a complete event pipeline.\n\n' +
63
+ '```json\n"flows": {\n "myFlow": {\n "web": {},\n "sources": { ... },\n "destinations": { ... }\n }\n}\n```';
64
+ props.flows.defaultSnippets = [
65
+ {
66
+ label: 'Web flow (basic)',
67
+ description: 'Minimal web flow with browser source',
68
+ body: {
69
+ '${1:myFlow}': {
70
+ web: {},
71
+ sources: {
72
+ browser: { package: '@walkeros/web-source-browser' },
73
+ },
74
+ destinations: {},
75
+ },
76
+ },
77
+ },
78
+ {
79
+ label: 'Server flow (basic)',
80
+ description: 'Minimal server flow with Express source',
81
+ body: {
82
+ '${1:myFlow}': {
83
+ server: {},
84
+ sources: {
85
+ express: { package: '@walkeros/server-source-express' },
86
+ },
87
+ destinations: {},
88
+ },
89
+ },
90
+ },
91
+ {
92
+ label: 'Web + GA4 flow',
93
+ description: 'Web flow with browser source and GA4 destination',
94
+ body: {
95
+ '${1:myFlow}': {
96
+ web: {},
97
+ sources: {
98
+ browser: { package: '@walkeros/web-source-browser' },
99
+ },
100
+ destinations: {
101
+ ga4: {
102
+ package: '@walkeros/web-destination-ga4',
103
+ config: {
104
+ measurementId: '$var.${2:measurementId}',
105
+ },
106
+ },
107
+ },
108
+ },
109
+ },
110
+ },
111
+ ];
112
+ }
113
+ // Enrich FlowConfig sub-properties
114
+ if (flowConfig) {
115
+ if (flowConfig.sources) {
116
+ flowConfig.sources.markdownDescription =
117
+ 'Source configurations for data capture, keyed by step name.\n\n' +
118
+ '```json\n"sources": {\n "browser": { "package": "@walkeros/web-source-browser" }\n}\n```';
119
+ flowConfig.sources.defaultSnippets = [
120
+ {
121
+ label: 'Add web source',
122
+ description: 'Browser source for web tracking',
123
+ body: {
124
+ '${1:browser}': {
125
+ package: '@walkeros/web-source-browser',
126
+ },
127
+ },
128
+ },
129
+ {
130
+ label: 'Add server source',
131
+ description: 'Express source for server tracking',
132
+ body: {
133
+ '${1:express}': {
134
+ package: '@walkeros/server-source-express',
135
+ },
136
+ },
137
+ },
138
+ ];
139
+ }
140
+ if (flowConfig.destinations) {
141
+ flowConfig.destinations.markdownDescription =
142
+ 'Destination configurations for data output, keyed by step name.\n\n' +
143
+ '```json\n"destinations": {\n "ga4": {\n "package": "@walkeros/web-destination-ga4",\n "config": { "measurementId": "$var.trackingId" }\n }\n}\n```';
144
+ flowConfig.destinations.defaultSnippets = [
145
+ {
146
+ label: 'Add GA4 destination',
147
+ description: 'Google Analytics 4 destination',
148
+ body: {
149
+ '${1:ga4}': {
150
+ package: '@walkeros/web-destination-ga4',
151
+ config: {
152
+ measurementId: '$var.${2:measurementId}',
153
+ },
154
+ },
155
+ },
156
+ },
157
+ {
158
+ label: 'Add custom destination',
159
+ description: 'Custom destination with inline code',
160
+ body: {
161
+ '${1:custom}': {
162
+ code: {
163
+ push: '$code:(event) => { ${2:// handle event} }',
164
+ },
165
+ },
166
+ },
167
+ },
168
+ ];
169
+ }
170
+ if (flowConfig.transformers) {
171
+ flowConfig.transformers.markdownDescription =
172
+ 'Transformer configurations for event transformation, keyed by step name.\n\n' +
173
+ '```json\n"transformers": {\n "validator": {\n "code": { "push": "$code:(event) => event" }\n }\n}\n```';
174
+ flowConfig.transformers.defaultSnippets = [
175
+ {
176
+ label: 'Add transformer',
177
+ description: 'Inline transformer with code',
178
+ body: {
179
+ '${1:transformer}': {
180
+ code: {
181
+ push: '$code:(event) => { ${2:return event;} }',
182
+ },
183
+ },
184
+ },
185
+ },
186
+ ];
187
+ }
188
+ if (flowConfig.web) {
189
+ flowConfig.web.markdownDescription =
190
+ 'Web platform configuration (browser-based). Mutually exclusive with `server`.\n\n' +
191
+ '```json\n"web": {\n "windowCollector": "collector",\n "windowElb": "elb"\n}\n```';
192
+ }
193
+ if (flowConfig.server) {
194
+ flowConfig.server.markdownDescription =
195
+ 'Server platform configuration (Node.js). Mutually exclusive with `web`.\n\n' +
196
+ '```json\n"server": {}\n```';
197
+ }
198
+ }
199
+ return schema;
200
+ }
201
+ //# sourceMappingURL=monaco-schema-flow-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-schema-flow-setup.js","sourceRoot":"","sources":["../../src/utils/monaco-schema-flow-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ type AnySchema = Record<string, any>;
2
+ export declare function getVariablesSchema(): AnySchema;
3
+ export {};
4
+ //# sourceMappingURL=monaco-schema-variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-schema-variables.d.ts","sourceRoot":"","sources":["../../src/utils/monaco-schema-variables.ts"],"names":[],"mappings":"AACA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAErC,wBAAgB,kBAAkB,IAAI,SAAS,CAyB9C"}
@@ -0,0 +1,26 @@
1
+ export function getVariablesSchema() {
2
+ return {
3
+ type: 'object',
4
+ markdownDescription: 'Flow variables for `$var.name` interpolation. Values must be string, number, or boolean.\n\n' +
5
+ '```json\n{\n "measurementId": "G-XXXXXXXXXX",\n "debug": false,\n "batchSize": 10\n}\n```\n\n' +
6
+ 'Reference in any config value: `"$var.measurementId"`',
7
+ additionalProperties: {
8
+ oneOf: [{ type: 'string' }, { type: 'number' }, { type: 'boolean' }],
9
+ },
10
+ defaultSnippets: [
11
+ {
12
+ label: 'Add string variable',
13
+ body: { '${1:name}': '${2:value}' },
14
+ },
15
+ {
16
+ label: 'Add boolean variable',
17
+ body: { '${1:name}': '${2|true,false|}' },
18
+ },
19
+ {
20
+ label: 'Add number variable',
21
+ body: { '${1:name}': 0 },
22
+ },
23
+ ],
24
+ };
25
+ }
26
+ //# sourceMappingURL=monaco-schema-variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-schema-variables.js","sourceRoot":"","sources":["../../src/utils/monaco-schema-variables.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,mBAAmB,EACjB,8FAA8F;YAC9F,kGAAkG;YAClG,uDAAuD;QACzD,oBAAoB,EAAE;YACpB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SACrE;QACD,eAAe,EAAE;YACf;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;aACpC;YACD;gBACE,KAAK,EAAE,sBAAsB;gBAC7B,IAAI,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC1C;YACD;gBACE,KAAK,EAAE,qBAAqB;gBAC5B,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;aACzB;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { IntelliSenseContext, PackageInfo } from '../types/intellisense';
2
+ export interface CompletionEntry {
3
+ label: string;
4
+ insertText: string;
5
+ detail?: string;
6
+ documentation?: string;
7
+ kind: 'variable' | 'reference' | 'secret' | 'module' | 'property';
8
+ sortText?: string;
9
+ }
10
+ export declare function getVariableCompletions(variables: IntelliSenseContext['variables']): CompletionEntry[];
11
+ export declare function getDefinitionCompletions(definitions: IntelliSenseContext['definitions']): CompletionEntry[];
12
+ export declare function getSecretCompletions(secrets: IntelliSenseContext['secrets']): CompletionEntry[];
13
+ export declare function getPackageCompletions(packages: PackageInfo[] | undefined, platform: IntelliSenseContext['platform']): CompletionEntry[];
14
+ export declare function getStepNameCompletions(stepNames: IntelliSenseContext['stepNames'], context: 'next' | 'before'): CompletionEntry[];
15
+ //# sourceMappingURL=monaco-walkeros-completions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-walkeros-completions.d.ts","sourceRoot":"","sources":["../../src/utils/monaco-walkeros-completions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,GAC1C,eAAe,EAAE,CAUnB;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,GAC9C,eAAe,EAAE,CAUnB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,GACtC,eAAe,EAAE,CAWnB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,WAAW,EAAE,GAAG,SAAS,EACnC,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,GACxC,eAAe,EAAE,CAanB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAC3C,OAAO,EAAE,MAAM,GAAG,QAAQ,GACzB,eAAe,EAAE,CAWnB"}
@@ -0,0 +1,65 @@
1
+ export function getVariableCompletions(variables) {
2
+ if (!variables || Object.keys(variables).length === 0)
3
+ return [];
4
+ return Object.entries(variables).map(([name, value]) => ({
5
+ label: `$var.${name}`,
6
+ insertText: `$var.${name}`,
7
+ detail: `= ${JSON.stringify(value)}`,
8
+ documentation: `Variable reference. Resolves to \`${JSON.stringify(value)}\` at runtime.`,
9
+ kind: 'variable',
10
+ sortText: '0_var_' + name,
11
+ }));
12
+ }
13
+ export function getDefinitionCompletions(definitions) {
14
+ if (!definitions || Object.keys(definitions).length === 0)
15
+ return [];
16
+ return Object.keys(definitions).map((name) => ({
17
+ label: `$def.${name}`,
18
+ insertText: `$def.${name}`,
19
+ detail: '(definition)',
20
+ documentation: `Definition reference. Injects the reusable config fragment "${name}" at runtime.`,
21
+ kind: 'reference',
22
+ sortText: '0_def_' + name,
23
+ }));
24
+ }
25
+ export function getSecretCompletions(secrets) {
26
+ if (!secrets || secrets.length === 0)
27
+ return [];
28
+ return secrets.map((name) => ({
29
+ label: `$secret.${name}`,
30
+ insertText: `$secret.${name}`,
31
+ detail: '(secret)',
32
+ documentation: 'Secret reference. Value is securely injected at runtime. Never stored in config.',
33
+ kind: 'secret',
34
+ sortText: '0_secret_' + name,
35
+ }));
36
+ }
37
+ export function getPackageCompletions(packages, platform) {
38
+ if (!packages || packages.length === 0)
39
+ return [];
40
+ const filtered = platform
41
+ ? packages.filter((p) => p.platform === platform)
42
+ : packages;
43
+ return filtered.map((pkg) => ({
44
+ label: pkg.package,
45
+ insertText: pkg.package,
46
+ detail: `${pkg.type} (${pkg.platform})`,
47
+ documentation: `walkerOS ${pkg.type}: ${pkg.shortName}`,
48
+ kind: 'module',
49
+ sortText: '1_pkg_' + pkg.shortName,
50
+ }));
51
+ }
52
+ export function getStepNameCompletions(stepNames, context) {
53
+ if (!stepNames)
54
+ return [];
55
+ const names = stepNames.transformers || [];
56
+ return names.map((name) => ({
57
+ label: name,
58
+ insertText: name,
59
+ detail: `transformer (${context} chain)`,
60
+ documentation: `Reference to transformer step "${name}" in this flow config.`,
61
+ kind: 'reference',
62
+ sortText: '0_step_' + name,
63
+ }));
64
+ }
65
+ //# sourceMappingURL=monaco-walkeros-completions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-walkeros-completions.js","sourceRoot":"","sources":["../../src/utils/monaco-walkeros-completions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { editor } from 'monaco-editor';
2
+ export type ReferenceType = 'variable' | 'definition' | 'secret' | 'env' | 'code';
3
+ export interface WalkerOSReference {
4
+ type: ReferenceType;
5
+ name: string;
6
+ startIndex: number;
7
+ endIndex: number;
8
+ }
9
+ export declare const REFERENCE_PATTERNS: Array<{
10
+ type: ReferenceType;
11
+ regex: RegExp;
12
+ className: string;
13
+ }>;
14
+ /**
15
+ * Find all walkerOS reference patterns in text.
16
+ * Used for both decorations and validation.
17
+ */
18
+ export declare function findWalkerOSReferences(text: string): WalkerOSReference[];
19
+ /**
20
+ * Apply walkerOS reference decorations to a Monaco editor.
21
+ * Returns a cleanup function.
22
+ */
23
+ export declare function applyWalkerOSDecorations(editorInstance: editor.IStandaloneCodeEditor): () => void;
24
+ /**
25
+ * Register CSS styles for walkerOS reference decorations.
26
+ * Call once on app init.
27
+ */
28
+ export declare function registerWalkerOSDecorationStyles(): void;
29
+ //# sourceMappingURL=monaco-walkeros-decorations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-walkeros-decorations.d.ts","sourceRoot":"","sources":["../../src/utils/monaco-walkeros-decorations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,KAAK,GACL,MAAM,CAAC;AAEX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAUA,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAiBxE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,CAAC,qBAAqB,GAC3C,MAAM,IAAI,CAsCZ;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAcvD"}