@younndai/lyt 0.13.4 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +27 -19
  2. package/dist/automator-run.d.ts +1 -0
  3. package/dist/automator-run.d.ts.map +1 -1
  4. package/dist/automator-run.js +5 -3
  5. package/dist/automator-run.js.map +1 -1
  6. package/dist/bench/pod-harness.d.ts.map +1 -1
  7. package/dist/bench/pod-harness.js +49 -1
  8. package/dist/bench/pod-harness.js.map +1 -1
  9. package/dist/build-program.d.ts +10 -1
  10. package/dist/build-program.d.ts.map +1 -1
  11. package/dist/build-program.js +23 -3
  12. package/dist/build-program.js.map +1 -1
  13. package/dist/cli.js +10 -4
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/capture.d.ts.map +1 -1
  16. package/dist/commands/capture.js +1 -2
  17. package/dist/commands/capture.js.map +1 -1
  18. package/dist/commands/init.d.ts +2 -0
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +406 -224
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/install.d.ts +4 -0
  23. package/dist/commands/install.d.ts.map +1 -0
  24. package/dist/commands/install.js +107 -0
  25. package/dist/commands/install.js.map +1 -0
  26. package/dist/commands/outdated.d.ts.map +1 -1
  27. package/dist/commands/outdated.js +19 -5
  28. package/dist/commands/outdated.js.map +1 -1
  29. package/dist/commands/update.d.ts +90 -2
  30. package/dist/commands/update.d.ts.map +1 -1
  31. package/dist/commands/update.js +883 -48
  32. package/dist/commands/update.js.map +1 -1
  33. package/dist/flows/init-bootstrap.d.ts +8 -1
  34. package/dist/flows/init-bootstrap.d.ts.map +1 -1
  35. package/dist/flows/init-bootstrap.js +244 -74
  36. package/dist/flows/init-bootstrap.js.map +1 -1
  37. package/dist/index.d.ts +6 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +3 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/install/doctor-health.d.ts +16 -0
  42. package/dist/install/doctor-health.d.ts.map +1 -0
  43. package/dist/install/doctor-health.js +575 -0
  44. package/dist/install/doctor-health.js.map +1 -0
  45. package/dist/install/provider-inventory.d.ts +40 -0
  46. package/dist/install/provider-inventory.d.ts.map +1 -0
  47. package/dist/install/provider-inventory.js +73 -0
  48. package/dist/install/provider-inventory.js.map +1 -0
  49. package/dist/install/reconcile-engine.d.ts +87 -0
  50. package/dist/install/reconcile-engine.d.ts.map +1 -0
  51. package/dist/install/reconcile-engine.js +771 -0
  52. package/dist/install/reconcile-engine.js.map +1 -0
  53. package/dist/install/target-artifacts.d.ts +91 -0
  54. package/dist/install/target-artifacts.d.ts.map +1 -0
  55. package/dist/install/target-artifacts.js +597 -0
  56. package/dist/install/target-artifacts.js.map +1 -0
  57. package/dist/install/update-operation.d.ts +47 -0
  58. package/dist/install/update-operation.d.ts.map +1 -0
  59. package/dist/install/update-operation.js +318 -0
  60. package/dist/install/update-operation.js.map +1 -0
  61. package/dist/install/update-plan.d.ts +132 -0
  62. package/dist/install/update-plan.d.ts.map +1 -0
  63. package/dist/install/update-plan.js +418 -0
  64. package/dist/install/update-plan.js.map +1 -0
  65. package/package.json +16 -6
@@ -0,0 +1,418 @@
1
+ /*
2
+ * Copyright 2026 MARLINK TRADING SRL (YounndAI)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { createHash } from "node:crypto";
17
+ import { resolve } from "node:path";
18
+ export const UPDATE_PLAN_SCHEMA_ID = "lyt.update-plan";
19
+ export const UPDATE_PLAN_PACKAGES = [
20
+ "@younndai/lyt-vault",
21
+ "@younndai/lyt-llm",
22
+ "@younndai/lyt-mesh",
23
+ "@younndai/lyt-skills",
24
+ "@younndai/lyt-runner",
25
+ "@younndai/lyt-mcp",
26
+ "@younndai/lyt",
27
+ ];
28
+ const SEMVER = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;
29
+ const SHA256 = /^[a-f0-9]{64}$/;
30
+ const SRI = /^sha512-[A-Za-z0-9+/]+={0,2}$/;
31
+ const UUID_V7 = /^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
32
+ const SAFE_ID = /^[a-z][a-z0-9]*(?:[-:.][a-z0-9]+)*$/;
33
+ export function prepareUpdatePlanV1(input) {
34
+ const registryUrl = normalizeRegistryUrl(input.registryUrl);
35
+ const packageGraph = [...input.packageGraph]
36
+ .map((entry) => ({ ...entry, dependencies: [...entry.dependencies].sort() }))
37
+ .sort((a, b) => a.name.localeCompare(b.name));
38
+ const beforePackages = [...input.beforeState.packages].sort((a, b) => a.name.localeCompare(b.name));
39
+ const beforeBins = [...input.beforeState.bins].sort((a, b) => a.path.localeCompare(b.path));
40
+ const destinations = [...input.destinations].sort((a, b) => a.object_id.localeCompare(b.object_id));
41
+ const targetArtifacts = [...input.targetArtifacts]
42
+ .map((entry) => ({
43
+ ...entry,
44
+ files: [...entry.files].sort((a, b) => a.path.localeCompare(b.path)),
45
+ }))
46
+ .sort((a, b) => a.package.localeCompare(b.package));
47
+ const targetProviderObjects = [...input.targetProviderObjects].sort((a, b) => a.object_id.localeCompare(b.object_id));
48
+ const boundaries = input.boundaries.map((boundary, ordinal) => ({
49
+ ...boundary,
50
+ ordinal,
51
+ object_ids: [...boundary.object_ids].sort(),
52
+ }));
53
+ const expectedEvidence = [...new Set(input.expectedEvidence)].sort();
54
+ assertTargetVersion(input.targetVersion);
55
+ assertIntegrity(input.distIntegrity);
56
+ assertExactGraph(packageGraph, input.targetVersion, input.distIntegrity);
57
+ assertTargetArtifacts(targetArtifacts, packageGraph, input.targetVersion);
58
+ assertTargetProviderObjects(targetProviderObjects, destinations, input.targetVersion);
59
+ assertBeforeState(beforePackages, beforeBins);
60
+ assertDestinations(destinations);
61
+ for (const destination of destinations.filter((entry) => entry.kind === "package")) {
62
+ const artifact = targetArtifacts.find((entry) => entry.package === destination.source_package);
63
+ if (artifact?.payload_digest !== destination.expected_after_digest) {
64
+ throw new Error("update-plan-invalid-destination: package payload digest mismatch");
65
+ }
66
+ }
67
+ assertBoundaries(boundaries, destinations);
68
+ if (expectedEvidence.length === 0 || expectedEvidence.some((item) => !SAFE_ID.test(item))) {
69
+ throw new Error("update-plan-invalid-evidence: expected evidence must be non-empty stable IDs");
70
+ }
71
+ const replayPayload = {
72
+ registry_url: registryUrl,
73
+ package: "@younndai/lyt",
74
+ channel: input.channel,
75
+ target_version: input.targetVersion,
76
+ dist_integrity: input.distIntegrity,
77
+ package_graph: packageGraph,
78
+ target_artifacts: targetArtifacts,
79
+ target_provider_objects: targetProviderObjects,
80
+ destinations,
81
+ };
82
+ const logicalReplayKey = digestCanonical(replayPayload);
83
+ const payload = {
84
+ schema_id: UPDATE_PLAN_SCHEMA_ID,
85
+ schema_version: { major: 1, minor: 0 },
86
+ registry_url: registryUrl,
87
+ package: "@younndai/lyt",
88
+ channel: input.channel,
89
+ target_version: input.targetVersion,
90
+ dist_integrity: input.distIntegrity,
91
+ package_graph: packageGraph,
92
+ target_artifacts: targetArtifacts,
93
+ target_provider_objects: targetProviderObjects,
94
+ before_state: { packages: beforePackages, bins: beforeBins },
95
+ destinations,
96
+ logical_replay_key: logicalReplayKey,
97
+ operation_id: digestToUuidV7(logicalReplayKey),
98
+ boundaries,
99
+ expected_evidence: expectedEvidence,
100
+ };
101
+ return Object.freeze({ ...payload, plan_digest: digestCanonical(payload) });
102
+ }
103
+ export function parseUpdatePlanV1(value) {
104
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
105
+ throw new Error("update-plan-invalid: expected an object");
106
+ }
107
+ const record = value;
108
+ const allowed = new Set([
109
+ "schema_id",
110
+ "schema_version",
111
+ "registry_url",
112
+ "package",
113
+ "channel",
114
+ "target_version",
115
+ "dist_integrity",
116
+ "package_graph",
117
+ "target_artifacts",
118
+ "target_provider_objects",
119
+ "before_state",
120
+ "destinations",
121
+ "logical_replay_key",
122
+ "operation_id",
123
+ "boundaries",
124
+ "expected_evidence",
125
+ "plan_digest",
126
+ ]);
127
+ if (Object.keys(record).some((key) => !allowed.has(key))) {
128
+ throw new Error("update-plan-invalid: unknown top-level field");
129
+ }
130
+ const plan = record;
131
+ if (plan.schema_id !== UPDATE_PLAN_SCHEMA_ID ||
132
+ plan.schema_version?.major !== 1 ||
133
+ plan.schema_version?.minor !== 0 ||
134
+ plan.package !== "@younndai/lyt" ||
135
+ (plan.channel !== "alpha" && plan.channel !== "latest") ||
136
+ !UUID_V7.test(plan.operation_id ?? "") ||
137
+ !SHA256.test(plan.logical_replay_key ?? "") ||
138
+ !SHA256.test(plan.plan_digest ?? "")) {
139
+ throw new Error("update-plan-invalid: identity fields do not satisfy UpdatePlanV1");
140
+ }
141
+ const rebuilt = prepareUpdatePlanV1({
142
+ registryUrl: plan.registry_url,
143
+ channel: plan.channel,
144
+ targetVersion: plan.target_version,
145
+ distIntegrity: plan.dist_integrity,
146
+ packageGraph: plan.package_graph,
147
+ targetArtifacts: plan.target_artifacts,
148
+ targetProviderObjects: plan.target_provider_objects,
149
+ beforeState: plan.before_state,
150
+ destinations: plan.destinations,
151
+ boundaries: plan.boundaries.map(({ boundary_id, kind, object_ids }) => ({
152
+ boundary_id,
153
+ kind,
154
+ object_ids,
155
+ })),
156
+ expectedEvidence: plan.expected_evidence,
157
+ });
158
+ if (canonicalJson(rebuilt) !== canonicalJson(plan)) {
159
+ throw new Error("update-plan-tampered: plan bytes do not match the sealed digest");
160
+ }
161
+ return rebuilt;
162
+ }
163
+ export async function applyExactUpdatePlanV1(value, effects) {
164
+ const plan = parseUpdatePlanV1(value);
165
+ const completed = [];
166
+ const pending = [];
167
+ const objects = [];
168
+ for (const boundary of plan.boundaries) {
169
+ if (await effects.alreadyCompleted(boundary, plan)) {
170
+ completed.push(boundary.boundary_id);
171
+ objects.push({
172
+ boundary_id: boundary.boundary_id,
173
+ status: "completed",
174
+ receipt_digest: null,
175
+ });
176
+ continue;
177
+ }
178
+ if (!(await effects.revalidate(boundary, plan))) {
179
+ pending.push(boundary.boundary_id);
180
+ objects.push({ boundary_id: boundary.boundary_id, status: "pending", receipt_digest: null });
181
+ for (const later of plan.boundaries.slice(boundary.ordinal + 1)) {
182
+ pending.push(later.boundary_id);
183
+ objects.push({ boundary_id: later.boundary_id, status: "pending", receipt_digest: null });
184
+ }
185
+ break;
186
+ }
187
+ await effects.apply(boundary, plan);
188
+ const receiptDigest = (await effects.recordCompleted?.(boundary, plan)) ?? null;
189
+ completed.push(boundary.boundary_id);
190
+ objects.push({
191
+ boundary_id: boundary.boundary_id,
192
+ status: "completed",
193
+ receipt_digest: receiptDigest,
194
+ });
195
+ }
196
+ return Object.freeze({
197
+ operation_id: plan.operation_id,
198
+ plan_digest: plan.plan_digest,
199
+ completed: Object.freeze(completed),
200
+ pending: Object.freeze(pending),
201
+ objects: Object.freeze(objects),
202
+ next_action: pending.length === 0 ? null : `lyt install reconcile --resume ${plan.operation_id} --apply`,
203
+ });
204
+ }
205
+ function normalizeRegistryUrl(value) {
206
+ let url;
207
+ try {
208
+ url = new URL(value);
209
+ }
210
+ catch {
211
+ throw new Error("update-plan-invalid-registry: registry URL is invalid");
212
+ }
213
+ if ((url.protocol !== "https:" && url.protocol !== "http:") || url.username || url.password) {
214
+ throw new Error("update-plan-invalid-registry: registry URL must be HTTP(S) without credentials");
215
+ }
216
+ url.hash = "";
217
+ url.search = "";
218
+ url.pathname = `${url.pathname.replace(/\/+$/, "")}/`;
219
+ return url.toString();
220
+ }
221
+ function assertTargetVersion(value) {
222
+ if (!SEMVER.test(value))
223
+ throw new Error("update-plan-invalid-version: target must be exact semver");
224
+ }
225
+ function assertIntegrity(value) {
226
+ if (!SRI.test(value))
227
+ throw new Error("update-plan-invalid-integrity: expected sha512 SRI");
228
+ const bytes = Buffer.from(value.slice("sha512-".length), "base64");
229
+ if (bytes.length !== 64 || `sha512-${bytes.toString("base64")}` !== value) {
230
+ throw new Error("update-plan-invalid-integrity: expected canonical 64-byte SHA512 SRI");
231
+ }
232
+ }
233
+ function assertExactGraph(graph, targetVersion, targetIntegrity) {
234
+ const names = graph.map((entry) => entry.name).sort();
235
+ const expected = [...UPDATE_PLAN_PACKAGES].sort();
236
+ if (canonicalJson(names) !== canonicalJson(expected)) {
237
+ throw new Error("update-plan-invalid-graph: exact seven-package graph required");
238
+ }
239
+ for (const entry of graph) {
240
+ assertTargetVersion(entry.version);
241
+ assertIntegrity(entry.integrity);
242
+ if (entry.version !== targetVersion) {
243
+ throw new Error("update-plan-invalid-graph: all seven packages must use the target version");
244
+ }
245
+ try {
246
+ const tarball = new URL(entry.tarball_url);
247
+ if (tarball.protocol !== "https:" || tarball.username || tarball.password)
248
+ throw new Error("unsafe");
249
+ }
250
+ catch {
251
+ throw new Error("update-plan-invalid-graph: exact HTTPS tarball URL required");
252
+ }
253
+ if (entry.dependencies.some((name) => !UPDATE_PLAN_PACKAGES.includes(name))) {
254
+ throw new Error("update-plan-invalid-graph: dependency is outside the seven-package graph");
255
+ }
256
+ }
257
+ const meta = graph.find((entry) => entry.name === "@younndai/lyt");
258
+ if (meta?.integrity !== targetIntegrity) {
259
+ throw new Error("update-plan-invalid-graph: meta-package SRI must match dist.integrity");
260
+ }
261
+ }
262
+ function assertTargetArtifacts(artifacts, graph, targetVersion) {
263
+ if (artifacts.length !== UPDATE_PLAN_PACKAGES.length) {
264
+ throw new Error("update-plan-invalid-artifacts: exact seven target artifacts required");
265
+ }
266
+ for (const artifact of artifacts) {
267
+ const fact = graph.find((entry) => entry.name === artifact.package);
268
+ if (fact === undefined ||
269
+ artifact.version !== targetVersion ||
270
+ artifact.integrity !== fact.integrity ||
271
+ artifact.tarball_url !== fact.tarball_url ||
272
+ !SHA256.test(artifact.payload_digest) ||
273
+ artifact.files.length === 0 ||
274
+ artifact.files.length > 10_000) {
275
+ throw new Error("update-plan-invalid-artifacts: artifact identity or payload invalid");
276
+ }
277
+ const paths = new Set();
278
+ for (const file of artifact.files) {
279
+ if (!safePayloadPath(file.path) ||
280
+ paths.has(file.path) ||
281
+ !SHA256.test(file.digest) ||
282
+ !Number.isSafeInteger(file.size) ||
283
+ file.size < 0) {
284
+ throw new Error("update-plan-invalid-artifacts: file manifest invalid");
285
+ }
286
+ paths.add(file.path);
287
+ }
288
+ if (digestCanonical(artifact.files) !== artifact.payload_digest) {
289
+ throw new Error("update-plan-invalid-artifacts: payload digest mismatch");
290
+ }
291
+ }
292
+ }
293
+ function assertTargetProviderObjects(objects, destinations, targetVersion) {
294
+ const ids = new Set();
295
+ for (const object of objects) {
296
+ const destination = destinations.find((entry) => entry.object_id === object.object_id);
297
+ if (!SAFE_ID.test(object.object_id) ||
298
+ ids.has(object.object_id) ||
299
+ !UPDATE_PLAN_PACKAGES.includes(object.provider_package) ||
300
+ (object.kind === "directory-link" && object.provider_package !== "@younndai/lyt-skills") ||
301
+ (object.kind === "marker-file" && object.provider_package !== "@younndai/lyt-vault") ||
302
+ object.provider_version !== targetVersion ||
303
+ !object.target_path ||
304
+ !SHA256.test(object.expected_digest) ||
305
+ !SHA256.test(object.expected_applied_digest) ||
306
+ destination?.expected_after_digest !== object.expected_applied_digest) {
307
+ throw new Error("update-plan-invalid-provider-objects");
308
+ }
309
+ if (object.kind === "directory-link"
310
+ ? object.content !== null || !safePayloadPath(object.source_relative_path ?? "")
311
+ : object.source_relative_path !== null ||
312
+ typeof object.content !== "string" ||
313
+ object.marker_begin === null ||
314
+ object.marker_end === null) {
315
+ throw new Error("update-plan-invalid-provider-objects");
316
+ }
317
+ ids.add(object.object_id);
318
+ }
319
+ }
320
+ function safePayloadPath(value) {
321
+ return (value.length > 0 &&
322
+ value.length < 500 &&
323
+ !value.startsWith("/") &&
324
+ !value.includes("\\") &&
325
+ !value.split("/").some((part) => part === "" || part === "." || part === ".."));
326
+ }
327
+ function assertBeforeState(packages, bins) {
328
+ if (packages.length !== UPDATE_PLAN_PACKAGES.length) {
329
+ throw new Error("update-plan-invalid-before-state: exact seven-package state required");
330
+ }
331
+ if (new Set(packages.map((entry) => entry.name)).size !== packages.length) {
332
+ throw new Error("update-plan-invalid-before-state: duplicate package");
333
+ }
334
+ for (const entry of packages) {
335
+ if (!UPDATE_PLAN_PACKAGES.includes(entry.name)) {
336
+ throw new Error("update-plan-invalid-before-state: unknown package");
337
+ }
338
+ if (entry.version !== null)
339
+ assertTargetVersion(entry.version);
340
+ if (entry.integrity !== null)
341
+ assertIntegrity(entry.integrity);
342
+ }
343
+ for (const entry of bins) {
344
+ if (!entry.path || (entry.digest !== null && !SHA256.test(entry.digest))) {
345
+ throw new Error("update-plan-invalid-before-state: invalid bin observation");
346
+ }
347
+ }
348
+ }
349
+ function assertDestinations(destinations) {
350
+ const ids = new Set();
351
+ const paths = new Set();
352
+ for (const destination of destinations) {
353
+ const normalizedPath = resolve(destination.path).replace(/\\/g, "/").toLowerCase();
354
+ if (!SAFE_ID.test(destination.object_id) ||
355
+ ids.has(destination.object_id) ||
356
+ !destination.path ||
357
+ !["registry-version-sri", "provider-content-digest", "bounded-target-identity"].includes(destination.evidence_kind) ||
358
+ !UPDATE_PLAN_PACKAGES.includes(destination.source_package) ||
359
+ !SHA256.test(destination.expected_after_digest) ||
360
+ (destination.expected_before_digest !== null &&
361
+ !SHA256.test(destination.expected_before_digest)) ||
362
+ paths.has(normalizedPath)) {
363
+ throw new Error("update-plan-invalid-destination: destination identity or digest invalid");
364
+ }
365
+ ids.add(destination.object_id);
366
+ paths.add(normalizedPath);
367
+ }
368
+ }
369
+ function assertBoundaries(boundaries, destinations) {
370
+ const objectIds = new Set(destinations.map((entry) => entry.object_id));
371
+ const seenBoundary = new Set();
372
+ const seenObject = new Set();
373
+ for (const [ordinal, boundary] of boundaries.entries()) {
374
+ if (boundary.ordinal !== ordinal ||
375
+ !SAFE_ID.test(boundary.boundary_id) ||
376
+ seenBoundary.has(boundary.boundary_id) ||
377
+ ![
378
+ "npm-self-replacement",
379
+ "package-provider-content",
380
+ "skill-leaves",
381
+ "agent-manuals",
382
+ ].includes(boundary.kind)) {
383
+ throw new Error("update-plan-invalid-boundary: order or identity invalid");
384
+ }
385
+ seenBoundary.add(boundary.boundary_id);
386
+ for (const objectId of boundary.object_ids) {
387
+ if (!objectIds.has(objectId) || seenObject.has(objectId)) {
388
+ throw new Error("update-plan-invalid-boundary: object missing or repeated");
389
+ }
390
+ seenObject.add(objectId);
391
+ }
392
+ }
393
+ if (seenObject.size !== objectIds.size) {
394
+ throw new Error("update-plan-invalid-boundary: every destination must belong to one boundary");
395
+ }
396
+ }
397
+ function digestToUuidV7(digest) {
398
+ const chars = digest.slice(0, 32).split("");
399
+ chars[12] = "7";
400
+ chars[16] = ["8", "9", "a", "b"][Number.parseInt(chars[16], 16) % 4];
401
+ const raw = chars.join("");
402
+ return `${raw.slice(0, 8)}-${raw.slice(8, 12)}-${raw.slice(12, 16)}-${raw.slice(16, 20)}-${raw.slice(20)}`;
403
+ }
404
+ export function digestCanonical(value) {
405
+ return createHash("sha256").update(canonicalJson(value)).digest("hex");
406
+ }
407
+ export function canonicalJson(value) {
408
+ if (value === null || typeof value !== "object")
409
+ return JSON.stringify(value);
410
+ if (Array.isArray(value))
411
+ return `[${value.map((item) => canonicalJson(item)).join(",")}]`;
412
+ const record = value;
413
+ return `{${Object.keys(record)
414
+ .sort()
415
+ .map((key) => `${JSON.stringify(key)}:${canonicalJson(record[key])}`)
416
+ .join(",")}}`;
417
+ }
418
+ //# sourceMappingURL=update-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-plan.js","sourceRoot":"","sources":["../../src/install/update-plan.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@younndai/lyt",
3
- "version": "0.13.4",
3
+ "version": "0.20.0",
4
4
  "description": "Lyt — federated markdown-vault mesh CLI. Meta package: pulls in @younndai/lyt-vault + @younndai/lyt-mesh + @younndai/lyt-skills, and ships a unified `lyt` binary.",
5
5
  "homepage": "https://linkyourthink.com",
6
6
  "repository": {
@@ -43,6 +43,16 @@
43
43
  "CONTRIBUTING.md",
44
44
  "SECURITY.md"
45
45
  ],
46
+ "lytRelease": {
47
+ "requiredAssets": [
48
+ { "path": "./README.md", "kind": "file" },
49
+ { "path": "./LICENSE", "kind": "file" },
50
+ { "path": "./NOTICE", "kind": "file" },
51
+ { "path": "./CONTRIBUTING.md", "kind": "file" },
52
+ { "path": "./SECURITY.md", "kind": "file" },
53
+ { "path": "./dist", "kind": "tree" }
54
+ ]
55
+ },
46
56
  "scripts": {
47
57
  "build": "tsc && node ../../scripts/public-release/stamp-dist-license-headers.mjs",
48
58
  "typecheck": "tsc --noEmit",
@@ -54,11 +64,11 @@
54
64
  },
55
65
  "dependencies": {
56
66
  "@libsql/client": "^0.15.15",
57
- "@younndai/lyt-mcp": "^0.13.4",
58
- "@younndai/lyt-mesh": "^0.13.4",
59
- "@younndai/lyt-runner": "^0.13.4",
60
- "@younndai/lyt-skills": "^0.13.4",
61
- "@younndai/lyt-vault": "^0.13.4",
67
+ "@younndai/lyt-mcp": "0.20.0",
68
+ "@younndai/lyt-mesh": "0.20.0",
69
+ "@younndai/lyt-runner": "0.20.0",
70
+ "@younndai/lyt-skills": "0.20.0",
71
+ "@younndai/lyt-vault": "0.20.0",
62
72
  "commander": "^12.1.0"
63
73
  },
64
74
  "devDependencies": {