@forgezero/agent 0.1.120 → 0.1.121

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.
@@ -917,7 +917,7 @@ async function postSignedNode(options, path, body) {
917
917
  }
918
918
 
919
919
  // src/version.ts
920
- var VERSION3 = "0.1.120";
920
+ var VERSION3 = "0.1.121";
921
921
 
922
922
  // src/agent-heartbeat.ts
923
923
  function readAgentHostMetrics() {
package/dist/bootstrap.js CHANGED
@@ -1460,7 +1460,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
1460
1460
  var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
1461
1461
 
1462
1462
  // src/version.ts
1463
- var VERSION = "0.1.120";
1463
+ var VERSION = "0.1.121";
1464
1464
 
1465
1465
  // src/software.ts
1466
1466
  var PINNED_BUN_VERSION = "1.3.14";
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
79
79
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
80
  return entry.billingClass;
81
81
  };
82
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
82
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
83
+ const billingClass = softwareBillingClass(requirement);
84
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
85
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
86
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
83
87
  var UBUNTU_2604_X64 = [
84
88
  { requirement: { id: "bun", version: "1.3.14" } },
85
89
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
79
79
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
80
  return entry.billingClass;
81
81
  };
82
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
82
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
83
+ const billingClass = softwareBillingClass(requirement);
84
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
85
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
86
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
83
87
  var UBUNTU_2604_X64 = [
84
88
  { requirement: { id: "bun", version: "1.3.14" } },
85
89
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
79
79
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
80
  return entry.billingClass;
81
81
  };
82
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
82
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
83
+ const billingClass = softwareBillingClass(requirement);
84
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
85
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
86
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
83
87
  var UBUNTU_2604_X64 = [
84
88
  { requirement: { id: "bun", version: "1.3.14" } },
85
89
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -1,6 +1,6 @@
1
1
  import { type DrainReport, type QueueTask } from '@forgezero/runtime/queue';
2
2
  import { type GitHostResolver } from './git-egress';
3
- import { type SoftwareRequirement } from './software';
3
+ import { type ManagedSoftwareEvidence, type SoftwareRequirement } from './software';
4
4
  import type { DeploymentService } from './definition';
5
5
  import type { ServiceActivationState } from './service-supervisor';
6
6
  import type { ContainerActivateRequest, ContainerBuildRequest, ContainerBuildResult } from './container-supervisor';
@@ -74,7 +74,9 @@ export interface DeploymentResult {
74
74
  profile: string;
75
75
  /** Resolved only from the validated plan and its bounded inputs at this revision. */
76
76
  resolvedTargets?: readonly ResolvedDeploymentTarget[];
77
- /** Distinct paid catalogue entries successfully managed on this compute. */
77
+ /** Exact distinct catalogue entries successfully managed on this compute. */
78
+ managedSoftware: readonly ManagedSoftwareEvidence[];
79
+ /** Derived compatibility count; managedSoftware remains authoritative. */
78
80
  paidManagedSoftwareCount: number;
79
81
  release: string;
80
82
  ok: boolean;
package/dist/fz-agent.js CHANGED
@@ -5075,7 +5075,11 @@ var softwareBillingClass = (requirement) => {
5075
5075
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
5076
5076
  return entry.billingClass;
5077
5077
  };
5078
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
5078
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
5079
+ const billingClass = softwareBillingClass(requirement);
5080
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
5081
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
5082
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
5079
5083
  var UBUNTU_2604_X64 = [
5080
5084
  { requirement: { id: "bun", version: "1.3.14" } },
5081
5085
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -8307,7 +8311,7 @@ function createDeploymentManager(options) {
8307
8311
  const planPath = join2(release, DEPLOY_PLAN_FILE);
8308
8312
  if (existsSync4(planPath)) {
8309
8313
  const plan = parseDeploymentPlan(readDefinition(planPath));
8310
- const paidManagedSoftware = new Set;
8314
+ const managedSoftware2 = new Map;
8311
8315
  for (const workflow of Object.values(plan.spec.workflows))
8312
8316
  for (const stage2 of Object.values(workflow.stages)) {
8313
8317
  if (stage2.strategy.mode === "rolling" || stage2.strategy.mode === "canary" || Object.values(stage2.steps).some((step2) => step2.scope.kind === "target-batches")) {
@@ -8468,10 +8472,8 @@ function createDeploymentManager(options) {
8468
8472
  return { id: id2, version: requirement2.version };
8469
8473
  });
8470
8474
  await options.ensureSoftware(requirements);
8471
- for (const requirement2 of requirements) {
8472
- if (countPaidManagedSoftware([requirement2]) === 1) {
8473
- paidManagedSoftware.add(`${requirement2.id}@${requirement2.version}`);
8474
- }
8475
+ for (const evidence of managedSoftwareEvidence(requirements)) {
8476
+ managedSoftware2.set(`${evidence.id}@${evidence.version}`, evidence);
8475
8477
  }
8476
8478
  return { changed: true };
8477
8479
  },
@@ -8707,7 +8709,8 @@ function createDeploymentManager(options) {
8707
8709
  phases: [phase],
8708
8710
  execution: deploymentExecution([phase]),
8709
8711
  resolvedTargets,
8710
- paidManagedSoftwareCount: paidManagedSoftware.size,
8712
+ managedSoftware: [...managedSoftware2.values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version)),
8713
+ paidManagedSoftwareCount: [...managedSoftware2.values()].filter((item) => item.billingClass === "paid-managed").length,
8711
8714
  ...capacity2 ? { capacity: capacity2 } : {}
8712
8715
  };
8713
8716
  }
@@ -8816,6 +8819,7 @@ function createDeploymentManager(options) {
8816
8819
  }
8817
8820
  };
8818
8821
  }
8822
+ const managedSoftware = managedSoftwareEvidence(selectedProfile.software);
8819
8823
  return {
8820
8824
  key: options.key,
8821
8825
  repository: options.repository,
@@ -8824,7 +8828,8 @@ function createDeploymentManager(options) {
8824
8828
  definitionDigest,
8825
8829
  definitionVersion: 2,
8826
8830
  profile: options.profile,
8827
- paidManagedSoftwareCount: countPaidManagedSoftware(selectedProfile.software),
8831
+ managedSoftware,
8832
+ paidManagedSoftwareCount: managedSoftware.filter((item) => item.billingClass === "paid-managed").length,
8828
8833
  release,
8829
8834
  ok: true,
8830
8835
  phases,
@@ -9153,6 +9158,7 @@ async function pullDeploymentOnce(options) {
9153
9158
  definitionDigest: result.definitionDigest,
9154
9159
  definitionVersion: result.definitionVersion,
9155
9160
  profile: result.profile,
9161
+ managedSoftware: result.managedSoftware,
9156
9162
  paidManagedSoftwareCount: result.paidManagedSoftwareCount,
9157
9163
  execution: result.execution,
9158
9164
  ...result.resolvedTargets ? { resolvedTargets: result.resolvedTargets.map((target) => ({
@@ -9634,7 +9640,7 @@ async function writeAndCloseProcessInput(input, value) {
9634
9640
  }
9635
9641
 
9636
9642
  // src/version.ts
9637
- var VERSION2 = "0.1.120";
9643
+ var VERSION2 = "0.1.121";
9638
9644
 
9639
9645
  // src/ssh-bootstrap.ts
9640
9646
  class SshBootstrapError extends Error {
package/dist/fz.js CHANGED
@@ -4844,7 +4844,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
4844
4844
  var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
4845
4845
 
4846
4846
  // src/version.ts
4847
- var VERSION2 = "0.1.120";
4847
+ var VERSION2 = "0.1.121";
4848
4848
 
4849
4849
  // src/software.ts
4850
4850
  var PINNED_BUN_VERSION = "1.3.14";
@@ -366,7 +366,7 @@ function systemdAgentEgressDirectives(loopbackTcpPorts = []) {
366
366
  }
367
367
 
368
368
  // src/version.ts
369
- var VERSION = "0.1.120";
369
+ var VERSION = "0.1.121";
370
370
 
371
371
  // src/otel-collector.ts
372
372
  var FORGEZERO_OTEL_COLLECTOR_UNIT = "forgezero-otel-collector.service";
@@ -219,7 +219,11 @@ var softwareBillingClass = (requirement) => {
219
219
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
220
220
  return entry.billingClass;
221
221
  };
222
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
222
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
223
+ const billingClass = softwareBillingClass(requirement);
224
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
225
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
226
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
223
227
  var UBUNTU_2604_X64 = [
224
228
  { requirement: { id: "bun", version: "1.3.14" } },
225
229
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -219,7 +219,11 @@ var softwareBillingClass = (requirement) => {
219
219
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
220
220
  return entry.billingClass;
221
221
  };
222
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
222
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
223
+ const billingClass = softwareBillingClass(requirement);
224
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
225
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
226
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
223
227
  var UBUNTU_2604_X64 = [
224
228
  { requirement: { id: "bun", version: "1.3.14" } },
225
229
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -1460,7 +1460,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
1460
1460
  var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
1461
1461
 
1462
1462
  // src/version.ts
1463
- var VERSION = "0.1.120";
1463
+ var VERSION = "0.1.121";
1464
1464
 
1465
1465
  // src/software.ts
1466
1466
  var PINNED_BUN_VERSION = "1.3.14";
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
79
79
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
80
  return entry.billingClass;
81
81
  };
82
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
82
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
83
+ const billingClass = softwareBillingClass(requirement);
84
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
85
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
86
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
83
87
  var UBUNTU_2604_X64 = [
84
88
  { requirement: { id: "bun", version: "1.3.14" } },
85
89
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -922,7 +922,11 @@ var softwareBillingClass = (requirement) => {
922
922
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
923
923
  return entry.billingClass;
924
924
  };
925
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
925
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
926
+ const billingClass = softwareBillingClass(requirement);
927
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
928
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
929
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
926
930
  var UBUNTU_2604_X64 = [
927
931
  { requirement: { id: "bun", version: "1.3.14" } },
928
932
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -3016,7 +3020,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
3016
3020
  }
3017
3021
 
3018
3022
  // src/version.ts
3019
- var VERSION3 = "0.1.120";
3023
+ var VERSION3 = "0.1.121";
3020
3024
 
3021
3025
  // src/egress-policy.ts
3022
3026
  import { realpathSync as realpathSync3 } from "node:fs";
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
79
79
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
80
  return entry.billingClass;
81
81
  };
82
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
82
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
83
+ const billingClass = softwareBillingClass(requirement);
84
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
85
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
86
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
83
87
  var UBUNTU_2604_X64 = [
84
88
  { requirement: { id: "bun", version: "1.3.14" } },
85
89
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
package/dist/provision.js CHANGED
@@ -922,7 +922,11 @@ var softwareBillingClass = (requirement) => {
922
922
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
923
923
  return entry.billingClass;
924
924
  };
925
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
925
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
926
+ const billingClass = softwareBillingClass(requirement);
927
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
928
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
929
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
926
930
  var UBUNTU_2604_X64 = [
927
931
  { requirement: { id: "bun", version: "1.3.14" } },
928
932
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -3016,7 +3020,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
3016
3020
  }
3017
3021
 
3018
3022
  // src/version.ts
3019
- var VERSION3 = "0.1.120";
3023
+ var VERSION3 = "0.1.121";
3020
3024
 
3021
3025
  // src/egress-policy.ts
3022
3026
  import { realpathSync as realpathSync3 } from "node:fs";
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
79
79
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
80
  return entry.billingClass;
81
81
  };
82
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
82
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
83
+ const billingClass = softwareBillingClass(requirement);
84
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
85
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
86
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
83
87
  var UBUNTU_2604_X64 = [
84
88
  { requirement: { id: "bun", version: "1.3.14" } },
85
89
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -15,6 +15,8 @@ export interface SoftwareCatalogEntry extends SoftwareRequirement {
15
15
  /** What promotes this coordinate beyond an unreviewed candidate. */
16
16
  evidence: 'reviewed-strategy-and-tests';
17
17
  }
18
+ /** Browser-safe evidence for one distinct managed software coordinate. */
19
+ export type ManagedSoftwareEvidence = Pick<SoftwareCatalogEntry, 'id' | 'version' | 'billingClass'>;
18
20
  export interface OsCatalogEntry {
19
21
  id: 'ubuntu';
20
22
  version: '24.04' | '26.04';
@@ -57,6 +59,8 @@ export declare const KATA_CONTAINERS_VERSION = "4.0.0";
57
59
  export declare const OS_CATALOG: readonly OsCatalogEntry[];
58
60
  export declare const SOFTWARE_CATALOG: readonly SoftwareCatalogEntry[];
59
61
  export declare const softwareBillingClass: (requirement: SoftwareRequirement) => SoftwareCatalogEntry["billingClass"];
62
+ /** Canonical inventory reported after a successful deployment. */
63
+ export declare const managedSoftwareEvidence: (requirements: readonly SoftwareRequirement[]) => ManagedSoftwareEvidence[];
60
64
  /** Counts distinct paid software instances managed on one compute. */
61
65
  export declare const countPaidManagedSoftware: (requirements: readonly SoftwareRequirement[]) => number;
62
66
  export declare const softwareSpawnFailure: (cause: unknown, argv: readonly string[]) => SoftwareCommandResult | undefined;
package/dist/software.js CHANGED
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
79
79
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
80
  return entry.billingClass;
81
81
  };
82
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
82
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
83
+ const billingClass = softwareBillingClass(requirement);
84
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
85
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
86
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
83
87
  var UBUNTU_2604_X64 = [
84
88
  { requirement: { id: "bun", version: "1.3.14" } },
85
89
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -556,6 +560,7 @@ export {
556
560
  softwareBillingClass,
557
561
  runSoftwareCommand,
558
562
  observeSoftwareHost,
563
+ managedSoftwareEvidence,
559
564
  executeSoftwareOperation,
560
565
  ensureSoftwareRequirements,
561
566
  countPaidManagedSoftware,
package/dist/ubuntu.js CHANGED
@@ -79,7 +79,11 @@ var softwareBillingClass = (requirement) => {
79
79
  throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
80
  return entry.billingClass;
81
81
  };
82
- var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
82
+ var managedSoftwareEvidence = (requirements) => [...new Map(requirements.map((requirement) => {
83
+ const billingClass = softwareBillingClass(requirement);
84
+ return [`${requirement.id}@${requirement.version}`, { ...requirement, billingClass }];
85
+ })).values()].sort((left, right) => left.id.localeCompare(right.id) || left.version.localeCompare(right.version));
86
+ var countPaidManagedSoftware = (requirements) => managedSoftwareEvidence(requirements).filter((requirement) => requirement.billingClass === "paid-managed").length;
83
87
  var UBUNTU_2604_X64 = [
84
88
  { requirement: { id: "bun", version: "1.3.14" } },
85
89
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** One package version shared by both public binaries. Pinned to package.json by tests. */
2
- export declare const VERSION = "0.1.120";
2
+ export declare const VERSION = "0.1.121";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgezero/agent",
3
- "version": "0.1.120",
3
+ "version": "0.1.121",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "check": "tsc --noEmit",