@corenel/harness 0.18.0 → 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 (55) hide show
  1. package/dist/core/pricing.d.ts +12 -0
  2. package/dist/core/pricing.d.ts.map +1 -1
  3. package/dist/core/pricing.js +8 -3
  4. package/dist/core/pricing.js.map +1 -1
  5. package/dist/core/spawn.d.ts +7 -0
  6. package/dist/core/spawn.d.ts.map +1 -1
  7. package/dist/core/spawn.js +21 -10
  8. package/dist/core/spawn.js.map +1 -1
  9. package/dist/guardrail/glob.d.ts +1 -2
  10. package/dist/guardrail/glob.d.ts.map +1 -1
  11. package/dist/guardrail/glob.js +4 -29
  12. package/dist/guardrail/glob.js.map +1 -1
  13. package/dist/install/lockfile.d.ts +25 -5
  14. package/dist/install/lockfile.d.ts.map +1 -1
  15. package/dist/install/lockfile.js +60 -4
  16. package/dist/install/lockfile.js.map +1 -1
  17. package/dist/install/nameEntries.d.ts +28 -0
  18. package/dist/install/nameEntries.d.ts.map +1 -0
  19. package/dist/install/nameEntries.js +198 -0
  20. package/dist/install/nameEntries.js.map +1 -0
  21. package/dist/install/pinRefusal.d.ts +4 -0
  22. package/dist/install/pinRefusal.d.ts.map +1 -0
  23. package/dist/install/pinRefusal.js +19 -0
  24. package/dist/install/pinRefusal.js.map +1 -0
  25. package/dist/install/requirements.d.ts +7 -0
  26. package/dist/install/requirements.d.ts.map +1 -0
  27. package/dist/install/requirements.js +23 -0
  28. package/dist/install/requirements.js.map +1 -0
  29. package/dist/providers/egressGuard.d.ts +17 -0
  30. package/dist/providers/egressGuard.d.ts.map +1 -0
  31. package/dist/providers/egressGuard.js +26 -0
  32. package/dist/providers/egressGuard.js.map +1 -0
  33. package/dist/providers/gateway.d.ts +33 -0
  34. package/dist/providers/gateway.d.ts.map +1 -1
  35. package/dist/providers/gateway.js +42 -2
  36. package/dist/providers/gateway.js.map +1 -1
  37. package/dist/sidecar/fleetJws.d.ts +15 -0
  38. package/dist/sidecar/fleetJws.d.ts.map +1 -0
  39. package/dist/sidecar/fleetJws.js +47 -0
  40. package/dist/sidecar/fleetJws.js.map +1 -0
  41. package/dist/sidecar/host.d.ts +5 -0
  42. package/dist/sidecar/host.d.ts.map +1 -1
  43. package/dist/sidecar/host.js +12 -2
  44. package/dist/sidecar/host.js.map +1 -1
  45. package/dist/sidecar/identity.d.ts +9 -0
  46. package/dist/sidecar/identity.d.ts.map +1 -1
  47. package/dist/sidecar/server.d.ts +19 -6
  48. package/dist/sidecar/server.d.ts.map +1 -1
  49. package/dist/sidecar/server.js +86 -7
  50. package/dist/sidecar/server.js.map +1 -1
  51. package/dist/skills.d.ts +18 -0
  52. package/dist/skills.d.ts.map +1 -1
  53. package/dist/skills.js +93 -12
  54. package/dist/skills.js.map +1 -1
  55. package/package.json +5 -4
@@ -13,6 +13,16 @@ export type PriceTable = Map<string, ModelRates>;
13
13
  * crew-run guard (executor.ts), the room guard (roomDeps.ts), and `corenel
14
14
  * run`. */
15
15
  export declare function pricedForUsd(rates: ModelRates | null): boolean;
16
+ /** One catalog model with what a host needs to decide whether THIS person can
17
+ * run it: its provider and whether they hold a key for that provider. The
18
+ * strategy engine's routability rule (@corenel/strategies/models) reads this
19
+ * on hosts with no web catalog of their own (the CLI, the daemon). */
20
+ export interface CatalogModel {
21
+ id: string;
22
+ provider: string;
23
+ hasKey: boolean;
24
+ tools: boolean;
25
+ }
16
26
  /** Model id -> context window in tokens, from the SAME hydration as
17
27
  * `PriceTable`. Deliberately a SEPARATE map rather than a field added to
18
28
  * `ModelRates`: `ModelRates` is the fail-closed usd-guard's contract
@@ -32,6 +42,8 @@ export type WindowTable = Map<string, number>;
32
42
  export interface HydratedCatalog {
33
43
  prices: PriceTable;
34
44
  windows: WindowTable;
45
+ /** Every model with its provider and key ownership, in catalog order. */
46
+ models: CatalogModel[];
35
47
  }
36
48
  /** Hydrate BOTH tables from one fetch -- prefer this over `hydratePrices`
37
49
  * alone when the caller also needs context windows (see `WindowTable` above),
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../core/pricing.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,UAAU;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACjE,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAQpF;AAYD,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEjD;;;;;WAKW;AACX,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAG9D;AAmBD;;;;;;;;;;;;;;wDAcwD;AACxD,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;CACtB;AA6BD;;;eAGe;AACf,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACtC,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,eAAe,CAAC,CAmB1B;AAED;;;;;;;;uCAQuC;AACvC,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACtC,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,UAAU,CAAC,CAErB"}
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../core/pricing.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,UAAU;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACjE,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAQpF;AAYD,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEjD;;;;;WAKW;AACX,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAG9D;AAoBD;;;sEAGsE;AACtE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;wDAcwD;AACxD,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,yEAAyE;IACzE,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAgCD;;;eAGe;AACf,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACtC,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,eAAe,CAAC,CAqB1B;AAED;;;;;;;;uCAQuC;AACvC,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EACtC,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,UAAU,CAAC,CAErB"}
@@ -43,8 +43,11 @@ async function fetchAvailableModels(endpoint, getToken, fetchImpl) {
43
43
  return [];
44
44
  const json = (await res.json());
45
45
  const out = [];
46
- for (const p of json.providers ?? [])
47
- out.push(...(p.models ?? []));
46
+ for (const p of json.providers ?? []) {
47
+ const provider = p.displayName || p.providerId || '';
48
+ for (const m of p.models ?? [])
49
+ out.push({ ...m, provider, hasKey: p.hasKey === true });
50
+ }
48
51
  return out;
49
52
  }
50
53
  catch {
@@ -58,6 +61,7 @@ async function fetchAvailableModels(endpoint, getToken, fetchImpl) {
58
61
  export async function hydrateCatalog(endpoint, getToken, fetchImpl = fetch) {
59
62
  const prices = new Map();
60
63
  const windows = new Map();
64
+ const catalog = [];
61
65
  const models = await fetchAvailableModels(endpoint, getToken, fetchImpl);
62
66
  for (const m of models) {
63
67
  // An UNPRICED model must stay ABSENT from the table, never entered at
@@ -72,8 +76,9 @@ export async function hydrateCatalog(endpoint, getToken, fetchImpl = fetch) {
72
76
  if (typeof m.contextWindow === 'number' && m.contextWindow > 0) {
73
77
  windows.set(m.model, m.contextWindow);
74
78
  }
79
+ catalog.push({ id: m.model, provider: m.provider, hasKey: m.hasKey, tools: m.supportsTools === true });
75
80
  }
76
- return { prices, windows };
81
+ return { prices, windows, models: catalog };
77
82
  }
78
83
  /** Hydrate the rate table from the SAME backend the app uses (GET
79
84
  * <endpoint>/llm-providers/available, Bearer login token), so prices are the
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../core/pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../core/pricing.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,13 @@ export interface SpawnDeps {
63
63
  * which this module fills in per child. */
64
64
  toolCtxBase: Omit<ToolContext, 'signal' | 'spawn'>;
65
65
  client: OpenAI;
66
+ /** The client a NAMED callee calls models through (call_agent sets
67
+ * `req.label` to its name), or undefined for `client`. A host holds a callee
68
+ * to its own model egress this way. The callee's own anonymous sub-spawns
69
+ * keep the client it was given. Absent: every child uses `client`. */
70
+ clientFor?: (meta: {
71
+ agentName?: string;
72
+ }) => OpenAI | undefined;
66
73
  defaultModel: string;
67
74
  policy?: Policy;
68
75
  permission?: PermissionService;
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../core/spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../core/spawn.ts"],"names":[],"mappings":"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"}
@@ -83,8 +83,21 @@ export function makeSpawn(deps) {
83
83
  // delegation (call_agent attributes them to its task and callee), else
84
84
  // whatever the spawning context logs to. A child's changes are its
85
85
  // caller's run's changes either way.
86
+ const childClient = deps.clientFor?.(req.label ? { agentName: req.label } : {}) ?? deps.client;
86
87
  const childFiles = req.onFileChange ?? deps.toolCtxBase.onFileChange;
87
88
  const childBase = { ...deps.toolCtxBase, memory: childMemory, ...(childFiles ? { onFileChange: childFiles } : {}) };
89
+ // Label the node by the calling model's title, else by its task (a host
90
+ // canvas falls back to the id otherwise). A cut task says so with "...",
91
+ // or a card's "<label> finished" runs it into the next word.
92
+ const label = req.title?.trim() || taskLabel(req.task) || childId;
93
+ /* The policy and permission service this child runs under. Its own nested
94
+ * spawns inherit THESE, never the root's (final review M9): a
95
+ * policy-carrying callee's anonymous sub-spawn would otherwise run under
96
+ * the caller's wider policy. */
97
+ const childPolicy = req.policy ?? deps.policy;
98
+ const childPermission = req.policy && deps.permissionFor
99
+ ? deps.permissionFor(req.policy, { childId, label: req.label || label, ...(req.label ? { agentName: req.label } : {}) })
100
+ : deps.permission;
88
101
  const childCtx = {
89
102
  ...childBase,
90
103
  signal: childAc.signal,
@@ -96,17 +109,17 @@ export function makeSpawn(deps) {
96
109
  spawn: childDepth < maxDepth
97
110
  ? makeSpawn({
98
111
  ...deps, depth: childDepth, parentSignal: childAc.signal, nodeId: childId,
112
+ // A grandchild runs on THIS child's client (a callee's subtask is
113
+ // still the callee's model traffic).
114
+ client: childClient,
99
115
  // A grandchild inherits THIS child's memory plane and file
100
116
  // observer, not the root's.
101
117
  tools: childTools, toolCtxBase: childBase,
118
+ ...(childPolicy ? { policy: childPolicy } : {}),
119
+ ...(childPermission ? { permission: childPermission } : {}),
102
120
  })
103
121
  : undefined,
104
122
  };
105
- // Label the node by the calling model's title, else by its task (a host
106
- // canvas falls back to the id otherwise). A cut task says so with "...",
107
- // or a card's "<label> finished" runs it into the next word.
108
- const label = req.title?.trim() || taskLabel(req.task) || childId;
109
- const childPolicy = req.policy ?? deps.policy;
110
123
  const childDonts = deps.dontsFor && childPolicy
111
124
  ? deps.dontsFor(childPolicy, {
112
125
  childId, label: req.label || label, ...(req.label ? { agentName: req.label } : {}), model: req.model || deps.defaultModel,
@@ -126,11 +139,9 @@ export function makeSpawn(deps) {
126
139
  ...(req.toolCallId ? { toolCallId: req.toolCallId } : {}),
127
140
  }),
128
141
  }, {
129
- client: deps.client, defaultModel: req.model || deps.defaultModel, tools: childTools, toolCtx: childCtx,
130
- policy: req.policy ?? deps.policy,
131
- permission: req.policy && deps.permissionFor
132
- ? deps.permissionFor(req.policy, { childId, label: req.label || label, ...(req.label ? { agentName: req.label } : {}) })
133
- : deps.permission,
142
+ client: childClient, defaultModel: req.model || deps.defaultModel, tools: childTools, toolCtx: childCtx,
143
+ policy: childPolicy,
144
+ permission: childPermission,
134
145
  // EVERY child's decisions name it -- a policy-less child shares the
135
146
  // caller's service (keeping its session allows), so the service
136
147
  // itself cannot tell the two apart.
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../core/spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../core/spawn.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- export declare function globToRegex(glob: string): RegExp;
2
- export declare function matchesAnyGlob(name: string, globs: readonly string[]): boolean;
1
+ export { globToRegex, matchesAnyGlob } from '@corenel/protocol';
3
2
  //# sourceMappingURL=glob.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../guardrail/glob.ts"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBhD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAE9E"}
1
+ {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../guardrail/glob.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,33 +1,8 @@
1
- /* Tool-name glob matching — browser-safe port of the Marshal harness matcher.
1
+ /* Tool-name glob matching. The one implementation lives in @corenel/protocol
2
+ * (toolNarrowing.ts) beside the ACL narrowing rule that uses it, so the fleet
3
+ * server and the node never disagree about what a glob covers.
2
4
  * `*` matches within a dot-segment, `**` matches across dots. Our tool names have
3
5
  * no dots (compile_prompd, kv_set), so `*` matches a whole name and `kv_*` etc.
4
6
  * work as expected. */
5
- export function globToRegex(glob) {
6
- let src = '';
7
- for (let i = 0; i < glob.length; i++) {
8
- const c = glob[i];
9
- if (c === '*') {
10
- if (glob[i + 1] === '*') {
11
- src += '.*';
12
- i++;
13
- }
14
- else {
15
- src += '[^.]*';
16
- }
17
- }
18
- else if (c === '?') {
19
- src += '[^.]';
20
- }
21
- else if ('.+^$()[]{}|\\'.includes(c)) {
22
- src += '\\' + c;
23
- }
24
- else {
25
- src += c;
26
- }
27
- }
28
- return new RegExp(`^${src}$`);
29
- }
30
- export function matchesAnyGlob(name, globs) {
31
- return globs.some((g) => globToRegex(g).test(name));
32
- }
7
+ export { globToRegex, matchesAnyGlob } from '@corenel/protocol';
33
8
  //# sourceMappingURL=glob.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../guardrail/glob.ts"],"names":[],"mappings":"AAAA;;;uBAGuB;AAEvB,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,GAAG,IAAI,IAAI,CAAC;gBACZ,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,GAAG,IAAI,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,GAAG,IAAI,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,KAAwB;IACnE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../guardrail/glob.ts"],"names":[],"mappings":"AAAA;;;;;uBAKuB;AACvB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,14 +1,20 @@
1
- export type LockedType = 'package' | 'workflow' | 'skill' | 'node-template' | (string & {});
1
+ import type { InstalledPackageInfo } from '@corenel/protocol';
2
+ export type LockedType = 'package' | 'workflow' | 'skill' | 'agent' | (string & {});
2
3
  export interface LockedPackage {
3
4
  /** Full scoped name, e.g. "@prompd/core". */
4
5
  name: string;
5
6
  /** EXACT resolved version. A range here would defeat the point. */
6
7
  version: string;
7
8
  type: LockedType;
8
- /** Entry-relative paths the install wrote. Optional: node-templates write none,
9
- * and an older lockfile may predate the field. Sorted when present, so the
10
- * serialization stays canonical. */
9
+ /** Entry-relative paths the install wrote. Optional: an older lockfile may predate the field.
10
+ * Sorted when present, so the serialization stays canonical. */
11
11
  files?: string[];
12
+ /** "sha256:<hex>" of the archive this pin installed. Absent only on entries
13
+ * written before digests existed; the next install of that package fills it. */
14
+ digest?: string;
15
+ /** The crew name an agent was installed under when it is not the package's own
16
+ * (install `as`). Lets a lockfile restore re-link it under that name. */
17
+ as?: string;
12
18
  }
13
19
  export interface Lockfile {
14
20
  lockfileVersion: 1;
@@ -24,7 +30,9 @@ export declare function lockfileReadPaths(): string[];
24
30
  /** Merge locks given in priority order: on a NAME collision the earlier lock
25
31
  * wins outright — every entry for that name in a later lock is dropped, even
26
32
  * at a different version — so the host's pin always shadows Prompd's for the
27
- * same package rather than the two versions coexisting. Built through
33
+ * same package rather than the two versions coexisting. The earlier lock's
34
+ * entry wins ENTIRELY, including its digest; a digest in the earlier entry
35
+ * shadows the absence of a digest in the later one. Built through
28
36
  * `withPackages` so the result stays canonical. A READ view only; never write
29
37
  * the result back. */
30
38
  export declare function mergeLocks(locks: readonly Lockfile[]): Lockfile;
@@ -35,6 +43,11 @@ export declare function emptyLock(): Lockfile;
35
43
  * Replacement is by name+version, so re-installing the same version updates its
36
44
  * file list in place rather than duplicating it, while a genuinely new version
37
45
  * is added alongside — matching how core installs to a per-version directory.
46
+ *
47
+ * Digest handling: when an incoming entry has NO digest and the lock already has
48
+ * the same name@version WITH a digest, the existing digest is preserved (a
49
+ * digest-less write must not erase a pin). An incoming entry WITH a digest still
50
+ * replaces entirely (a reinstall re-pins).
38
51
  */
39
52
  export declare function withPackages(lock: Lockfile, added: readonly LockedPackage[]): Lockfile;
40
53
  /** Drop every version of a package by name — the uninstall counterpart. */
@@ -60,6 +73,9 @@ export interface LockDiff {
60
73
  added: LockedPackage[];
61
74
  /** In `prev` but not `next`. */
62
75
  removed: LockedPackage[];
76
+ /** Present in both prev and next with the same name+version but different digest.
77
+ * Each entry is the NEXT state (from next lockfile). */
78
+ changed: LockedPackage[];
63
79
  }
64
80
  /** What changed between two lockfiles, by name+version. */
65
81
  export declare function diffLock(prev: Lockfile, next: Lockfile): LockDiff;
@@ -84,4 +100,8 @@ export declare function missingFrom(lock: Lockfile, installed: readonly {
84
100
  /** `name@version` refs for the pins, in install order — what a caller feeds back
85
101
  * to the installer to reproduce the set. */
86
102
  export declare function lockRefs(lock: Lockfile): string[];
103
+ /** Lockfile pins for the installer: "name@version" -> digest, for entries that have one. */
104
+ export declare function lockPins(lock: Lockfile): Map<string, string>;
105
+ /** Every package an install produced (the package and its dependency tree), once each. */
106
+ export declare function lockedFromInstalled(installed: InstalledPackageInfo): LockedPackage[];
87
107
  //# sourceMappingURL=lockfile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../install/lockfile.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE5F,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB;;wCAEoC;IACpC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,CAAC,CAAC;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAE3C,iFAAiF;AACjF,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAEhD,uFAAuF;AACvF,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED;;;;;uBAKuB;AACvB,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ,CAS/D;AAED,wBAAgB,SAAS,IAAI,QAAQ,CAEpC;AAwBD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,QAAQ,CAKtF;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAKrE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAMpD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAqBvD;AAED,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,gCAAgC;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAOjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,OAAO,CAG9G;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,aAAa,EAAE,CAGpH;AAED;4CAC4C;AAC5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAEjD"}
1
+ {"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../install/lockfile.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAIpF,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB;oEACgE;IAChE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;oFACgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;6EACyE;IACzE,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAKD,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,CAAC,CAAC;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAE3C,iFAAiF;AACjF,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAEhD,uFAAuF;AACvF,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED;;;;;;;uBAOuB;AACvB,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ,CAS/D;AAED,wBAAgB,SAAS,IAAI,QAAQ,CAEpC;AA0BD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,QAAQ,CAmBtF;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAKrE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAMpD;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAuBvD;AAED,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,gCAAgC;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;4DACwD;IACxD,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAWjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,OAAO,CAG9G;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,aAAa,EAAE,CAGpH;AAED;4CAC4C;AAC5C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAEjD;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAI5D;AAED,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,oBAAoB,GAAG,aAAa,EAAE,CAYpF"}
@@ -21,6 +21,9 @@
21
21
  * from @prompd/core, to keep this module free of that dependency; unknown kinds
22
22
  * off the wire are preserved rather than rejected (see parseLock). */
23
23
  import { stateDirName, stateReadDirs } from '@corenel/protocol';
24
+ const DIGEST_RE = /^sha256:[0-9a-f]{64}$/;
25
+ /** A valid `as` name: the same rule name entries use. */
26
+ const AS_RE = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;
24
27
  export const LOCKFILE_VERSION = 1;
25
28
  /** The lockfile's name. It carries Prompd's name because it names the FORMAT. */
26
29
  export const LOCKFILE_NAME = 'prompd-lock.json';
@@ -35,7 +38,9 @@ export function lockfileReadPaths() {
35
38
  /** Merge locks given in priority order: on a NAME collision the earlier lock
36
39
  * wins outright — every entry for that name in a later lock is dropped, even
37
40
  * at a different version — so the host's pin always shadows Prompd's for the
38
- * same package rather than the two versions coexisting. Built through
41
+ * same package rather than the two versions coexisting. The earlier lock's
42
+ * entry wins ENTIRELY, including its digest; a digest in the earlier entry
43
+ * shadows the absence of a digest in the later one. Built through
39
44
  * `withPackages` so the result stays canonical. A READ view only; never write
40
45
  * the result back. */
41
46
  export function mergeLocks(locks) {
@@ -69,6 +74,8 @@ function normalize(p) {
69
74
  version: p.version,
70
75
  type: p.type,
71
76
  ...(p.files && p.files.length ? { files: [...p.files].sort() } : {}),
77
+ ...(p.digest && DIGEST_RE.test(p.digest) ? { digest: p.digest } : {}),
78
+ ...(p.type === 'agent' && p.as && AS_RE.test(p.as) ? { as: p.as } : {}),
72
79
  };
73
80
  }
74
81
  /**
@@ -77,13 +84,32 @@ function normalize(p) {
77
84
  * Replacement is by name+version, so re-installing the same version updates its
78
85
  * file list in place rather than duplicating it, while a genuinely new version
79
86
  * is added alongside — matching how core installs to a per-version directory.
87
+ *
88
+ * Digest handling: when an incoming entry has NO digest and the lock already has
89
+ * the same name@version WITH a digest, the existing digest is preserved (a
90
+ * digest-less write must not erase a pin). An incoming entry WITH a digest still
91
+ * replaces entirely (a reinstall re-pins).
80
92
  */
81
93
  export function withPackages(lock, added) {
82
94
  const merged = new Map();
83
95
  for (const p of lock.packages)
84
96
  merged.set(keyOf(p), normalize(p));
85
- for (const p of added)
86
- merged.set(keyOf(p), normalize(p));
97
+ for (const p of added) {
98
+ const key = keyOf(p);
99
+ const normalized = normalize(p);
100
+ // If incoming entry has no digest but existing does, preserve the existing digest
101
+ if (!normalized.digest && merged.has(key)) {
102
+ const existing = merged.get(key);
103
+ if (existing.digest) {
104
+ normalized.digest = existing.digest;
105
+ }
106
+ }
107
+ // Likewise an `as` name: a re-pin that does not name one (say, as another
108
+ // package's dependency) must not forget the name the agent is linked under.
109
+ if (!normalized.as && merged.get(key)?.as)
110
+ normalized.as = merged.get(key).as;
111
+ merged.set(key, normalized);
112
+ }
87
113
  return { lockfileVersion: LOCKFILE_VERSION, packages: [...merged.values()].sort(byIdentity) };
88
114
  }
89
115
  /** Drop every version of a package by name — the uninstall counterpart. */
@@ -135,7 +161,7 @@ export function parseLock(text) {
135
161
  for (const raw of parsed.packages) {
136
162
  if (!isRecord(raw))
137
163
  continue;
138
- const { name, version, type, files } = raw;
164
+ const { name, version, type, files, digest, as } = raw;
139
165
  if (typeof name !== 'string' || !name)
140
166
  continue;
141
167
  if (typeof version !== 'string' || !version)
@@ -145,6 +171,8 @@ export function parseLock(text) {
145
171
  version,
146
172
  type: typeof type === 'string' ? type : 'package',
147
173
  ...(Array.isArray(files) ? { files: files.filter((f) => typeof f === 'string') } : {}),
174
+ ...(typeof digest === 'string' ? { digest } : {}),
175
+ ...(typeof as === 'string' ? { as } : {}),
148
176
  }));
149
177
  }
150
178
  return { lockfileVersion: LOCKFILE_VERSION, packages: packages.sort(byIdentity) };
@@ -153,9 +181,13 @@ export function parseLock(text) {
153
181
  export function diffLock(prev, next) {
154
182
  const before = new Set(prev.packages.map(keyOf));
155
183
  const after = new Set(next.packages.map(keyOf));
184
+ const prevByKey = new Map(prev.packages.map((p) => [keyOf(p), p]));
156
185
  return {
157
186
  added: next.packages.filter((p) => !before.has(keyOf(p))).sort(byIdentity),
158
187
  removed: prev.packages.filter((p) => !after.has(keyOf(p))).sort(byIdentity),
188
+ changed: next.packages
189
+ .filter((p) => before.has(keyOf(p)) && prevByKey.get(keyOf(p))?.digest !== p.digest)
190
+ .sort(byIdentity),
159
191
  };
160
192
  }
161
193
  /**
@@ -181,4 +213,28 @@ export function missingFrom(lock, installed) {
181
213
  export function lockRefs(lock) {
182
214
  return [...lock.packages].sort(byIdentity).map(keyOf);
183
215
  }
216
+ /** Lockfile pins for the installer: "name@version" -> digest, for entries that have one. */
217
+ export function lockPins(lock) {
218
+ const out = new Map();
219
+ for (const p of lock.packages)
220
+ if (p.digest)
221
+ out.set(keyOf(p), p.digest);
222
+ return out;
223
+ }
224
+ /** Every package an install produced (the package and its dependency tree), once each. */
225
+ export function lockedFromInstalled(installed) {
226
+ const out = [];
227
+ const seen = new Set();
228
+ const walk = (p) => {
229
+ const key = keyOf(p);
230
+ if (seen.has(key))
231
+ return;
232
+ seen.add(key);
233
+ out.push(normalize({ name: p.name, version: p.version, type: p.type, ...(p.files.length ? { files: p.files } : {}), digest: p.digest }));
234
+ for (const d of p.dependencies)
235
+ walk(d);
236
+ };
237
+ walk(installed);
238
+ return out;
239
+ }
184
240
  //# sourceMappingURL=lockfile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../install/lockfile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;sEAEsE;AACtE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAqBhE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAU,CAAC;AAE3C,iFAAiF;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEhD,uFAAuF;AACvF,MAAM,UAAU,YAAY;IAC1B,OAAO,GAAG,YAAY,EAAE,IAAI,aAAa,EAAE,CAAC;AAC9C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;uBAKuB;AACvB,MAAM,UAAU,UAAU,CAAC,KAA0B;IACnD,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC;IACtB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC7D,CAAC;AAED;;mDAEmD;AACnD,SAAS,KAAK,CAAC,CAAoC;IACjD,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAClC,CAAC;AAED;qDACqD;AACrD,SAAS,UAAU,CAAC,CAAgB,EAAE,CAAgB;IACpD,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,SAAS,CAAC,CAAgB;IACjC,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,KAA+B;IAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;AAChG,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,IAAc,EAAE,IAAY;IACzD,OAAO;QACL,eAAe,EAAE,gBAAgB;QACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;KACvF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,MAAM,SAAS,GAAa;QAC1B,eAAe,EAAE,gBAAgB;QACjC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;KAC7D,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAM,CAAC,eAAe,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAC7B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI;YAAE,SAAS;QAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO;YAAE,SAAS;QACtD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACtB,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACjD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpG,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;AACpF,CAAC;AASD,2DAA2D;AAC3D,MAAM,UAAU,QAAQ,CAAC,IAAc,EAAE,IAAc;IACrD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1E,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,IAAc,EAAE,SAAuD;IACnG,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,SAAuD;IACjG,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3E,CAAC;AAED;4CAC4C;AAC5C,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../install/lockfile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { FileService, InstalledPackageInfo, NameEntryType } from '@corenel/protocol';
2
+ import { type ManagedNameEntry, type PackageRef } from '@corenel/protocol';
3
+ export declare class NameEntryConflict extends Error {
4
+ readonly path: string;
5
+ constructor(path: string, message: string);
6
+ }
7
+ export interface WrittenNameEntry {
8
+ type: NameEntryType;
9
+ name: string;
10
+ path: string;
11
+ package: string;
12
+ version: string;
13
+ }
14
+ export declare function writeNameEntries(fs: FileService, base: string, installed: InstalledPackageInfo, opts?: {
15
+ as?: string;
16
+ managed?: ManagedNameEntry;
17
+ }): Promise<WrittenNameEntry[]>;
18
+ export interface NameEntryOf {
19
+ type: NameEntryType;
20
+ name: string;
21
+ dir: string;
22
+ ref: PackageRef;
23
+ }
24
+ /** Every name entry of a type under base that points at `pkg` (any version), by the
25
+ * reference it holds rather than by the folder's name: an agent linked under an `as`
26
+ * name is found as well. Folders that cannot be listed or read are skipped. */
27
+ export declare function nameEntriesFor(fs: FileService, base: string, type: NameEntryType, pkg: string): Promise<NameEntryOf[]>;
28
+ //# sourceMappingURL=nameEntries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nameEntries.d.ts","sourceRoot":"","sources":["../../install/nameEntries.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAA2F,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIpK,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED,MAAM,WAAW,gBAAgB;IAAG,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AA8GvH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,oBAAoB,EAC/B,IAAI,GAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAAO,GACrD,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAe7B;AAED,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE;AAEhG;;+EAE+E;AAC/E,wBAAsB,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAoB5H"}