@kumori/kdsl 0.0.32 → 0.0.35

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.
@@ -33,6 +33,7 @@ export function BuiltinToSolutionJSON(builtin) {
33
33
  }
34
34
  return [k, value];
35
35
  })),
36
+ duplex: {}
36
37
  },
37
38
  config: {
38
39
  resilience: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../src/build/helpers/builtin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../src/build/helpers/builtin.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ToUnits } from "@kumori/kdsl-lsp/util/sized.js";
2
2
  import { ResourceToSolutionJSON } from "./resource.js";
3
3
  import { ComponentImageToSolutionJSON, ReferenceUpdater } from "./utils.js";
4
4
  import { isComponentArtifact } from "@kumori/kdsl-lsp/language/generated/ast.js";
5
+ import { GenerateComponentConnector } from "./connector.js";
5
6
  /**
6
7
  * Converts a component service definition into the solution JSON format.
7
8
  * @param ctx The solution JSON context.
@@ -34,7 +35,10 @@ export function ComponentServiceToSolutionJSON(ctx, component, scale) {
34
35
  ref,
35
36
  description: {
36
37
  builtin: false,
37
- connector: {},
38
+ connector: Object.fromEntries([
39
+ ...Object.entries(component.srv?.server ?? {}).map(([k]) => [`self_${k}_to_${k}`, GenerateComponentConnector(ref, k, componentName)]),
40
+ ...Object.entries(component.srv?.client ?? {}).map(([k]) => [`self_${k}_to_${k}`, GenerateComponentConnector(ref, k, componentName)]),
41
+ ]),
38
42
  config: {
39
43
  resilience: 0,
40
44
  scale: {},
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/build/helpers/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/build/helpers/component.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Service, Connection } from "@kumori/kdsl-lsp/language/builtin/lib/kumori/service.js";
2
- import { Connector } from "../deployment_spec.js";
2
+ import { Connector, Reference } from "../deployment_spec.js";
3
3
  import { SolutionJSONContext } from "./deployment.js";
4
4
  /**
5
5
  * Converts a service connection definition into the solution JSON format.
@@ -11,3 +11,4 @@ import { SolutionJSONContext } from "./deployment.js";
11
11
  * @returns The connector representation of the connection.
12
12
  */
13
13
  export declare function ServiceConnectionToSolutionJSON(ctx: SolutionJSONContext, service: Service, cnx: Connection): Connector;
14
+ export declare function GenerateComponentConnector(ref: Reference, channelName: string, componentName: string): Connector;
@@ -1,6 +1,6 @@
1
1
  import { LoadBalancerName, FullConnectorName } from "@kumori/kdsl-lsp/language/builtin/lib/kumori/service.js";
2
2
  import { isService } from "./deployment.js";
3
- import { ReferenceUpdater } from "./utils.js";
3
+ import { asArray, mergedUserMeta, ReferenceUpdater } from "./utils.js";
4
4
  /**
5
5
  * Resolves and updates a Reference object for a given component reference.
6
6
  * @param ctx The solution JSON context.
@@ -76,24 +76,28 @@ export function ServiceConnectionToSolutionJSON(ctx, service, cnx) {
76
76
  cnx = cnx;
77
77
  const servers = [];
78
78
  const clients = [];
79
- // The "from" and "to" arrays define multiple connections.
80
- // We accumulate all clients and servers and then return a single connector.
81
- if ("from" in cnx.value && Array.isArray(cnx.value.from) && "to" in cnx.value && Array.isArray(cnx.value.to)) {
82
- for (const fromCnx of cnx.value.from) {
79
+ // The "from" and "to" sections can be either arrays or single structs.
80
+ // We normalize them to arrays and handle all combinations uniformly.
81
+ if ("from" in cnx.value && "to" in cnx.value) {
82
+ const fromList = asArray(cnx.value.from);
83
+ const toList = asArray(cnx.value.to);
84
+ for (const fromCnx of fromList) {
83
85
  // Each "from" defines a client
84
86
  clients.push(buildClient(fromCnx.target, fromCnx.channel));
85
87
  // Each "to" defines a server for this client
86
- for (const toCnx of cnx.value.to) {
88
+ for (const toCnx of toList) {
89
+ const toMeta = toCnx.meta ?? {};
87
90
  const componentRef = service.role[toCnx.target == "self" ? fromCnx.target : toCnx.target];
88
91
  const isServiceKind = isService(componentRef.artifact) || toCnx.target == "self";
89
92
  resolveReference(ctx, componentRef, ref, isServiceKind);
93
+ const userMeta = mergedUserMeta(cnx.value.meta, toMeta);
90
94
  const meta = [{
91
95
  auto: {
92
96
  channel: toCnx.target !== "self" ? toCnx.target + "." + toCnx.channel : toCnx.channel,
93
97
  compRef: ref,
94
98
  roleName: toCnx.target == "self" ? fromCnx.target : toCnx.target,
95
99
  },
96
- user: cnx.value.meta ?? {}
100
+ user: userMeta
97
101
  }];
98
102
  const server = buildServer(meta, toCnx.target, toCnx.channel);
99
103
  // We don't want duplicates
@@ -103,29 +107,6 @@ export function ServiceConnectionToSolutionJSON(ctx, service, cnx) {
103
107
  }
104
108
  }
105
109
  }
106
- else if ("from" in cnx.value && !Array.isArray(cnx.value.from) && !Array.isArray(cnx.value.to)) {
107
- const fromCnx = cnx.value.from;
108
- const toCnx = cnx.value.to;
109
- // Each "from" defines a client
110
- clients.push(buildClient(fromCnx.target, fromCnx.channel));
111
- // Each "to" defines a server for this client
112
- const componentRef = service.role[toCnx.target == "self" ? fromCnx.target : toCnx.target];
113
- const isServiceKind = isService(componentRef.artifact) || toCnx.target == "self";
114
- resolveReference(ctx, componentRef, ref, isServiceKind);
115
- const meta = [{
116
- auto: {
117
- channel: toCnx.target !== "self" ? toCnx.target + "." + toCnx.channel : toCnx.channel,
118
- compRef: ref,
119
- roleName: toCnx.target == "self" ? fromCnx.target : toCnx.target,
120
- },
121
- user: cnx.value.meta ?? {}
122
- }];
123
- const server = buildServer(meta, toCnx.target, toCnx.channel);
124
- // We don't want duplicates
125
- if (!isServerDuplicate(servers, server)) {
126
- servers.push(server);
127
- }
128
- }
129
110
  return {
130
111
  kind: "lb",
131
112
  clients: clients,
@@ -136,28 +117,28 @@ export function ServiceConnectionToSolutionJSON(ctx, service, cnx) {
136
117
  cnx = cnx;
137
118
  const servers = [];
138
119
  const clients = [];
139
- // The "from" and "to" arrays define multiple connections.
140
- // We accumulate all clients and servers and then return a single connector.
141
- // The "FullConnector" connector can have either "from" and "to" arrays or single "target" and "channel" properties.
142
- if ("from" in cnx.value && Array.isArray(cnx.value.from) && "to" in cnx.value && Array.isArray(cnx.value.to)) {
143
- // Each "from" defines a client
144
- for (const fromCnx of cnx.value.from) {
120
+ // FullConnector can be either:
121
+ // - Complete form: "from" and "to" (each can be array or single struct)
122
+ // - Reduced form: single "target" and "channel"
123
+ if ("from" in cnx.value && "to" in cnx.value) {
124
+ const fromList = asArray(cnx.value.from);
125
+ const toList = asArray(cnx.value.to);
126
+ for (const fromCnx of fromList) {
145
127
  clients.push(buildClient(fromCnx.target, fromCnx.channel));
146
- // Each "to" defines a server for this client
147
- for (const toCnx of cnx.value.to) {
128
+ for (const toCnx of toList) {
148
129
  const componentRef = service.role[toCnx.target == "self" ? fromCnx.target : toCnx.target];
149
130
  const isServiceKind = isService(componentRef.artifact);
150
131
  resolveReference(ctx, componentRef, ref, isServiceKind);
132
+ const userMeta = mergedUserMeta(cnx.value.meta, toCnx.meta);
151
133
  const meta = [{
152
134
  auto: {
153
135
  channel: toCnx.target !== "self" ? toCnx.target + "." + toCnx.channel : toCnx.channel,
154
136
  compRef: ref,
155
137
  roleName: toCnx.target == "self" ? fromCnx.target : toCnx.target,
156
138
  },
157
- user: cnx.value.meta ?? {}
139
+ user: userMeta
158
140
  }];
159
141
  const server = buildServer(meta, toCnx.target, toCnx.channel);
160
- // We don't want duplicates
161
142
  if (!isServerDuplicate(servers, server)) {
162
143
  servers.push(server);
163
144
  }
@@ -168,13 +149,14 @@ export function ServiceConnectionToSolutionJSON(ctx, service, cnx) {
168
149
  const componentRef = service.role[cnx.value.target];
169
150
  const isServiceKind = isService(componentRef.artifact);
170
151
  resolveReference(ctx, componentRef, ref, isServiceKind);
152
+ const userMeta = mergedUserMeta(cnx.value.meta, undefined);
171
153
  const meta = [{
172
154
  auto: {
173
155
  channel: cnx.value.channel,
174
156
  compRef: ref,
175
157
  roleName: cnx.value.target,
176
158
  },
177
- user: cnx.value.meta ?? {}
159
+ user: userMeta
178
160
  }];
179
161
  servers.push(buildServer(meta, cnx.value.target, cnx.value.channel));
180
162
  }
@@ -186,4 +168,31 @@ export function ServiceConnectionToSolutionJSON(ctx, service, cnx) {
186
168
  }
187
169
  throw new Error(`unknown connection type '${cnx.$type}'`);
188
170
  }
171
+ export function GenerateComponentConnector(ref, channelName, componentName) {
172
+ return {
173
+ kind: "lb",
174
+ clients: [
175
+ {
176
+ role: "self",
177
+ channel: channelName
178
+ }
179
+ ],
180
+ servers: [
181
+ {
182
+ meta: {
183
+ auto: {
184
+ channel: componentName + "." + channelName,
185
+ compRef: ref,
186
+ roleName: componentName,
187
+ },
188
+ user: {},
189
+ },
190
+ links: [{
191
+ role: componentName,
192
+ channel: channelName,
193
+ }],
194
+ }
195
+ ],
196
+ };
197
+ }
189
198
  //# sourceMappingURL=connector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/build/helpers/connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/build/helpers/connector.ts"],"names":[],"mappings":"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"}
@@ -55,19 +55,19 @@ export declare const AddDeployment: (ctx: SolutionJSONContext, dep: V3Deployment
55
55
  srv?: {
56
56
  duplex?: Record<string, {
57
57
  inherited: boolean;
58
- protocol: "http" | "tcp" | "udp" | "grpc";
58
+ protocol: "udp" | "tcp" | "http" | "grpc";
59
59
  port?: number | undefined;
60
60
  portnum?: number | undefined;
61
61
  }> | undefined;
62
62
  client?: Record<string, {
63
63
  inherited: boolean;
64
- protocol: "http" | "tcp" | "udp" | "grpc";
64
+ protocol: "udp" | "tcp" | "http" | "grpc";
65
65
  port?: number | undefined;
66
66
  portnum?: number | undefined;
67
67
  }> | undefined;
68
68
  server?: Record<string, {
69
69
  inherited: boolean;
70
- protocol: "http" | "tcp" | "udp" | "grpc";
70
+ protocol: "udp" | "tcp" | "http" | "grpc";
71
71
  port?: number | undefined;
72
72
  portnum?: number | undefined;
73
73
  }> | undefined;
@@ -89,12 +89,12 @@ export declare const AddDeployment: (ctx: SolutionJSONContext, dep: V3Deployment
89
89
  builtin: boolean;
90
90
  size: {
91
91
  mincpu: {
92
- kind: "storage" | "cpu" | "ram" | "bandwidth";
92
+ kind: "bandwidth" | "storage" | "cpu" | "ram";
93
93
  size: number;
94
94
  unit: string;
95
95
  };
96
96
  bandwidth: {
97
- kind: "storage" | "cpu" | "ram" | "bandwidth";
97
+ kind: "bandwidth" | "storage" | "cpu" | "ram";
98
98
  size: number;
99
99
  unit: string;
100
100
  };
@@ -124,19 +124,19 @@ export declare const AddDeployment: (ctx: SolutionJSONContext, dep: V3Deployment
124
124
  srv?: {
125
125
  duplex?: Record<string, {
126
126
  inherited: boolean;
127
- protocol: "http" | "tcp" | "udp" | "grpc";
127
+ protocol: "udp" | "tcp" | "http" | "grpc";
128
128
  port?: number | undefined;
129
129
  portnum?: number | undefined;
130
130
  }> | undefined;
131
131
  client?: Record<string, {
132
132
  inherited: boolean;
133
- protocol: "http" | "tcp" | "udp" | "grpc";
133
+ protocol: "udp" | "tcp" | "http" | "grpc";
134
134
  port?: number | undefined;
135
135
  portnum?: number | undefined;
136
136
  }> | undefined;
137
137
  server?: Record<string, {
138
138
  inherited: boolean;
139
- protocol: "http" | "tcp" | "udp" | "grpc";
139
+ protocol: "udp" | "tcp" | "http" | "grpc";
140
140
  port?: number | undefined;
141
141
  portnum?: number | undefined;
142
142
  }> | undefined;
@@ -175,7 +175,7 @@ export declare const AddDeployment: (ctx: SolutionJSONContext, dep: V3Deployment
175
175
  ca?: string | undefined;
176
176
  value?: string | undefined;
177
177
  } | undefined;
178
- format?: "text" | "json" | "yaml" | undefined;
178
+ format?: "json" | "text" | "yaml" | undefined;
179
179
  group?: number | undefined;
180
180
  mode?: number | undefined;
181
181
  path?: string | undefined;
@@ -187,13 +187,13 @@ export declare const AddDeployment: (ctx: SolutionJSONContext, dep: V3Deployment
187
187
  } | undefined;
188
188
  size?: {
189
189
  cpu: {
190
- kind: "storage" | "cpu" | "ram" | "bandwidth";
190
+ kind: "bandwidth" | "storage" | "cpu" | "ram";
191
191
  size: number;
192
192
  unit: string;
193
193
  };
194
194
  mincpu: number;
195
195
  memory: {
196
- kind: "storage" | "cpu" | "ram" | "bandwidth";
196
+ kind: "bandwidth" | "storage" | "cpu" | "ram";
197
197
  size: number;
198
198
  unit: string;
199
199
  };
@@ -1,6 +1,10 @@
1
1
  import { AstNode } from "langium";
2
2
  import { Image, Reference } from "../deployment_spec.js";
3
3
  import { KumoriModules } from "@kumori/kdsl-lsp/language/kumori-module.js";
4
+ export type JsonPrimitive = string | number | boolean | null;
5
+ export type JsonValue = JsonPrimitive | JsonValue[] | {
6
+ [key: string]: JsonValue;
7
+ };
4
8
  /**
5
9
  * Converts a OCI image string to a structured JSON object.
6
10
  *
@@ -28,3 +32,28 @@ export declare function ReferenceUpdater(KumoriModules: KumoriModules, node: Ast
28
32
  * @returns A string representing the reference path in the format "domain/module".
29
33
  */
30
34
  export declare function GetReferencePath(ref: Reference): string;
35
+ /**
36
+ * Normalizes a value that can be either a single item or an array of items.
37
+ *
38
+ * @template T - The type of the contained item.
39
+ * @param {T | T[]} value - The input value.
40
+ * @returns {T[]} Always returns an array.
41
+ *
42
+ * @example
43
+ * asArray("a") // ["a"]
44
+ * asArray(["a", "b"]) // ["a", "b"]
45
+ */
46
+ export declare function asArray<T>(value: T | T[]): T[];
47
+ /**
48
+ * Produces the effective user metadata for a connection.
49
+ *
50
+ * This combines a base connector meta (e.g. connector-level meta) with an optional
51
+ * incoming meta (e.g. per-target/per-link meta). If both are plain objects, they
52
+ * are deep-merged (incoming overrides base on conflicts). Otherwise, incoming wins
53
+ * if present; then base; then `{}`.
54
+ *
55
+ * @param {unknown} baseMeta - Base (connector-level) meta.
56
+ * @param {unknown} incomingMeta - Incoming (per-connection) meta.
57
+ * @returns {unknown} The resulting user meta payload.
58
+ */
59
+ export declare function mergedUserMeta(baseMeta: unknown, incomingMeta: unknown): JsonValue;
@@ -82,4 +82,99 @@ export function GetReferencePath(ref) {
82
82
  }
83
83
  return path;
84
84
  }
85
+ /**
86
+ * Normalizes a value that can be either a single item or an array of items.
87
+ *
88
+ * @template T - The type of the contained item.
89
+ * @param {T | T[]} value - The input value.
90
+ * @returns {T[]} Always returns an array.
91
+ *
92
+ * @example
93
+ * asArray("a") // ["a"]
94
+ * asArray(["a", "b"]) // ["a", "b"]
95
+ */
96
+ export function asArray(value) {
97
+ return Array.isArray(value) ? value : [value];
98
+ }
99
+ /**
100
+ * Parses a user-provided metadata value into a normalized representation.
101
+ *
102
+ * Rules:
103
+ * - `null`/`undefined` -> `undefined`
104
+ * - empty string/object/array -> `undefined`
105
+ * - non-empty string -> `JSON.parse` (invalid JSON -> `{}`)
106
+ * - non-empty object/array -> returned as-is
107
+ * - scalars (number/boolean/etc.) -> returned as-is
108
+ *
109
+ * @param {unknown} meta - The raw meta value.
110
+ * @returns {JsonValue | undefined} The normalized meta or `undefined` if considered empty.
111
+ */
112
+ function parseUserMeta(meta) {
113
+ if (meta === null || meta === undefined)
114
+ return undefined;
115
+ if (typeof meta === "string") {
116
+ const trimmed = meta.trim();
117
+ if (trimmed.length === 0)
118
+ return undefined;
119
+ try {
120
+ return JSON.parse(trimmed);
121
+ }
122
+ catch {
123
+ return {};
124
+ }
125
+ }
126
+ if (typeof meta === "object") {
127
+ if (Array.isArray(meta))
128
+ return meta.length > 0 ? meta : undefined;
129
+ return Object.keys(meta).length > 0 ? meta : undefined;
130
+ }
131
+ return meta;
132
+ }
133
+ /**
134
+ * Narrowing helper to detect non-null, non-array plain objects.
135
+ *
136
+ * @param {unknown} value - Value to test.
137
+ * @returns {value is Record<string, unknown>} True if the value is a plain object.
138
+ */
139
+ function isPlainObject(value) {
140
+ return !!value && typeof value === "object" && !Array.isArray(value);
141
+ }
142
+ /**
143
+ * Deeply merges two plain objects.
144
+ *
145
+ * Note: This intentionally does not merge arrays or non-objects. If either input
146
+ * is not a plain object, the second value is returned.
147
+ *
148
+ * @param {unknown} a - Base object.
149
+ * @param {unknown} b - Incoming object.
150
+ * @returns {unknown} The merged object (or `b` when not mergeable).
151
+ */
152
+ function deepMerge(a, b) {
153
+ if (!isPlainObject(a) || !isPlainObject(b))
154
+ return b;
155
+ const out = { ...a };
156
+ for (const [key, value] of Object.entries(b)) {
157
+ out[key] = key in out ? deepMerge(out[key], value) : value;
158
+ }
159
+ return out;
160
+ }
161
+ /**
162
+ * Produces the effective user metadata for a connection.
163
+ *
164
+ * This combines a base connector meta (e.g. connector-level meta) with an optional
165
+ * incoming meta (e.g. per-target/per-link meta). If both are plain objects, they
166
+ * are deep-merged (incoming overrides base on conflicts). Otherwise, incoming wins
167
+ * if present; then base; then `{}`.
168
+ *
169
+ * @param {unknown} baseMeta - Base (connector-level) meta.
170
+ * @param {unknown} incomingMeta - Incoming (per-connection) meta.
171
+ * @returns {unknown} The resulting user meta payload.
172
+ */
173
+ export function mergedUserMeta(baseMeta, incomingMeta) {
174
+ const base = parseUserMeta(baseMeta);
175
+ const incoming = parseUserMeta(incomingMeta);
176
+ if (base && incoming && isPlainObject(base) && isPlainObject(incoming))
177
+ return deepMerge(base, incoming);
178
+ return incoming ?? base ?? {};
179
+ }
85
180
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/build/helpers/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/build/helpers/utils.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ alias Connection LoadBalancer | FullConnector
26
26
 
27
27
  type LoadBalancer struct {
28
28
  from struct { target string, channel string } | []struct { target string, channel string }
29
- to struct { target string, channel string } | []struct { target string, channel string }
29
+ to struct { target string, channel string } | []struct { target string, channel string, meta? any }
30
30
 
31
31
  meta? any
32
32
  }
@@ -41,7 +41,7 @@ alias ReducedFullConnector struct {
41
41
 
42
42
  alias CompleteFullConnector struct {
43
43
  from struct { target string, channel string } | []struct { target string, channel string }
44
- to struct { target string, channel string } | []struct { target string, channel string }
44
+ to struct { target string, channel string } | []struct { target string, channel string, meta? any }
45
45
 
46
46
  meta? any
47
47
  }
@@ -26,7 +26,7 @@ alias Connection LoadBalancer | FullConnector
26
26
 
27
27
  type LoadBalancer struct {
28
28
  from struct { target string, channel string } | []struct { target string, channel string }
29
- to struct { target string, channel string } | []struct { target string, channel string }
29
+ to struct { target string, channel string } | []struct { target string, channel string, meta? any }
30
30
 
31
31
  meta? any
32
32
  }
@@ -41,7 +41,7 @@ alias ReducedFullConnector struct {
41
41
 
42
42
  alias CompleteFullConnector struct {
43
43
  from struct { target string, channel string } | []struct { target string, channel string }
44
- to struct { target string, channel string } | []struct { target string, channel string }
44
+ to struct { target string, channel string } | []struct { target string, channel string, meta? any }
45
45
 
46
46
  meta? any
47
47
  }