@hagicode/hagiscript-sdk 0.3.3-dev.149.1.148192f → 0.3.3-dev.151.1.da2de44

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.
@@ -1,10 +1,12 @@
1
- import { type LoadedRuntimeManifest, type RuntimeLifecyclePhase } from "./runtime-manifest.js";
1
+ import { type LoadedRuntimeManifest, type ResolvedRuntimeComponentPolicy, type RuntimeLifecyclePhase } from "./runtime-manifest.js";
2
2
  import { type ResolvedRuntimePaths } from "./runtime-paths.js";
3
3
  import { type RuntimeComponentStatus, type RuntimeState } from "./runtime-state.js";
4
4
  export interface RuntimeLifecycleOptions {
5
5
  manifestPath?: string;
6
6
  runtimeRoot?: string;
7
7
  components?: readonly string[];
8
+ consumer?: string;
9
+ dependencyManagementMode?: string;
8
10
  dryRun?: boolean;
9
11
  force?: boolean;
10
12
  purge?: boolean;
@@ -20,9 +22,10 @@ export interface RuntimeLifecycleOptions {
20
22
  export interface RuntimePlannedAction {
21
23
  componentName: string;
22
24
  phase: RuntimeLifecyclePhase;
23
- strategy: "builtin" | "script" | "fallback-install" | "fallback-cleanup";
25
+ strategy: "builtin" | "script" | "fallback-install" | "fallback-cleanup" | "skipped-by-policy";
24
26
  scriptPath?: string;
25
27
  reason?: string;
28
+ policy?: ResolvedRuntimeComponentPolicy;
26
29
  }
27
30
  export interface RuntimeLifecycleResult {
28
31
  manifest: LoadedRuntimeManifest;
@@ -56,6 +59,7 @@ export interface RuntimeStateReport {
56
59
  name: string;
57
60
  type: string;
58
61
  required: boolean;
62
+ effectiveRequired: boolean;
59
63
  status: RuntimeComponentStatus;
60
64
  version: string | null;
61
65
  runtimeDataHome: string | null;
@@ -74,7 +78,7 @@ export declare function installRuntime(options?: RuntimeLifecycleOptions): Promi
74
78
  export declare function removeRuntime(options?: RuntimeLifecycleOptions): Promise<RuntimeLifecycleResult>;
75
79
  export declare function updateRuntime(options?: RuntimeLifecycleOptions): Promise<RuntimeLifecycleResult>;
76
80
  export declare function runRuntimeLifecycle(phase: RuntimeLifecyclePhase, options?: RuntimeLifecycleOptions): Promise<RuntimeLifecycleResult>;
77
- export declare function queryRuntimeState(options: Pick<RuntimeLifecycleOptions, "manifestPath" | "runtimeRoot">): Promise<RuntimeStateReport>;
81
+ export declare function queryRuntimeState(options: Pick<RuntimeLifecycleOptions, "manifestPath" | "runtimeRoot" | "consumer" | "dependencyManagementMode">): Promise<RuntimeStateReport>;
78
82
  export declare function renderRuntimeStateText(report: RuntimeStateReport): string;
79
83
  export declare function planRuntimeLifecycle(phase: RuntimeLifecyclePhase, manifest: LoadedRuntimeManifest, state: RuntimeState, options?: RuntimeLifecycleOptions): {
80
84
  plan: RuntimePlannedAction[];
@@ -89,4 +93,4 @@ export interface ManagedPm2EnsureResult {
89
93
  selector: string;
90
94
  prefix: string;
91
95
  }
92
- export declare function ensureManagedPm2Package(manifest: LoadedRuntimeManifest, paths: ResolvedRuntimePaths, options?: Pick<RuntimeLifecycleOptions, "npmRegistryMirror" | "pm2VersionOverride">): Promise<ManagedPm2EnsureResult>;
96
+ export declare function ensureManagedPm2Package(manifest: LoadedRuntimeManifest, paths: ResolvedRuntimePaths, state: RuntimeState, options?: Pick<RuntimeLifecycleOptions, "npmRegistryMirror" | "pm2VersionOverride">): Promise<ManagedPm2EnsureResult>;
@@ -9,7 +9,7 @@ import { installNodeRuntime, resolveManagedNodeRuntime } from "./node-installer.
9
9
  import { getRuntimeExecutablePaths, verifyNodeRuntime } from "./node-verify.js";
10
10
  import { executeRuntimeScript, writeRuntimeLog } from "./runtime-executor.js";
11
11
  import { ManagedPm2Error, runManagedPm2Command, supportedPm2Services } from "./pm2-manager.js";
12
- import { loadRuntimeManifest } from "./runtime-manifest.js";
12
+ import { loadRuntimeManifest, resolveRuntimeComponentPolicy } from "./runtime-manifest.js";
13
13
  import { getComponentConfigDirectory, getComponentLogsDirectory, getComponentManagedRoot, getComponentPm2Home, getComponentRuntimeDataHome, isPathInsideRuntimeRoot, resolveReleasedServicePath, resolveRuntimePaths } from "./runtime-paths.js";
14
14
  import { mergeRuntimeState, readRuntimeState, writeRuntimeState } from "./runtime-state.js";
15
15
  export class RuntimeLifecycleError extends Error {
@@ -41,6 +41,10 @@ export async function runRuntimeLifecycle(phase, options = {}) {
41
41
  logger(`Plan: ${phase} ${action.componentName} (${action.strategy}${action.reason ? `: ${action.reason}` : ""})`);
42
42
  }
43
43
  for (const item of skipped) {
44
+ if (plan.some((action) => action.componentName === item.componentName &&
45
+ action.strategy === "skipped-by-policy")) {
46
+ continue;
47
+ }
44
48
  logger(`Skip: ${item.componentName} (${item.reason})`);
45
49
  }
46
50
  return {
@@ -73,7 +77,7 @@ export async function runRuntimeLifecycle(phase, options = {}) {
73
77
  }
74
78
  logger(`Running ${phase}: ${component.name}`);
75
79
  try {
76
- const componentState = await executeRuntimeAction(action, component, manifest, paths, options, logFilePath);
80
+ const componentState = await executeRuntimeAction(action, component, manifest, paths, state, options, logFilePath);
77
81
  state.components[component.name] = componentState;
78
82
  changedComponents.push(component.name);
79
83
  operationState.completedComponents.push(component.name);
@@ -117,7 +121,7 @@ export async function runRuntimeLifecycle(phase, options = {}) {
117
121
  }
118
122
  }
119
123
  if (phase !== "remove" && shouldEnsureManagedPm2(plan, manifest)) {
120
- const pm2Result = await ensureManagedPm2Package(manifest, paths, options);
124
+ const pm2Result = await ensureManagedPm2Package(manifest, paths, state, options);
121
125
  await writeRuntimeLog(logFilePath, pm2Result.changed
122
126
  ? `Managed pm2 installed into ${pm2Result.prefix} using ${pm2Result.selector}`
123
127
  : `Managed pm2 already satisfied in ${pm2Result.prefix} (${pm2Result.installedVersion ?? "unknown version"})`);
@@ -151,6 +155,7 @@ export async function queryRuntimeState(options) {
151
155
  const state = mergeRuntimeState(manifest, paths, await readRuntimeState(paths.stateFile));
152
156
  const components = manifest.components.map((component) => {
153
157
  const entry = state.components[component.name];
158
+ const effectiveRequired = resolveReportedComponentRequirement(component, entry, options);
154
159
  const fallbackProgramPaths = [getComponentManagedRoot(paths, component.name)];
155
160
  const runtimeDataHome = getComponentRuntimeDataHome(paths, component.name, component.runtimeDataDir);
156
161
  const pm2Home = component.pm2
@@ -168,6 +173,7 @@ export async function queryRuntimeState(options) {
168
173
  name: component.name,
169
174
  type: component.type,
170
175
  required: component.required,
176
+ effectiveRequired,
171
177
  status: entry?.status ?? "not-installed",
172
178
  version: entry?.version ?? null,
173
179
  runtimeDataHome,
@@ -203,13 +209,29 @@ export async function queryRuntimeState(options) {
203
209
  externalDataRoots
204
210
  },
205
211
  ready: components
206
- .filter((component) => component.required)
207
- .every((component) => component.status === "installed" &&
212
+ .filter((component) => component.effectiveRequired)
213
+ .every((component) => (component.status === "installed" || component.status === "skipped-by-policy") &&
208
214
  component.details?.releasedServiceReady !== false),
209
215
  components,
210
216
  lastOperation: state.lastOperation
211
217
  };
212
218
  }
219
+ function resolveReportedComponentRequirement(component, entry, options) {
220
+ if (options.consumer || options.dependencyManagementMode) {
221
+ return resolveRuntimeComponentPolicy(component, {
222
+ consumer: options.consumer,
223
+ dependencyManagementMode: options.dependencyManagementMode
224
+ }).required;
225
+ }
226
+ if (entry?.status === "skipped-by-policy" &&
227
+ entry.details?.policyStatus === "skipped-by-policy") {
228
+ return false;
229
+ }
230
+ return component.required;
231
+ }
232
+ function shouldUseManagedNodeRuntime(state) {
233
+ return state.components.node?.status !== "skipped-by-policy";
234
+ }
213
235
  export function renderRuntimeStateText(report) {
214
236
  const lines = [
215
237
  `Runtime: ${report.runtime.name} ${report.runtime.version}`,
@@ -225,7 +247,7 @@ export function renderRuntimeStateText(report) {
225
247
  `Ready: ${report.ready ? "yes" : "no"}`
226
248
  ];
227
249
  for (const component of report.components) {
228
- lines.push(`- ${component.name}: ${component.status} version=${component.version ?? "n/a"} program=${component.programPaths.join("|") || "n/a"} data=${component.externalDataPaths.join("|") || "n/a"}`);
250
+ lines.push(`- ${component.name}: ${component.status} required=${component.effectiveRequired ? "yes" : "no"} version=${component.version ?? "n/a"} program=${component.programPaths.join("|") || "n/a"} data=${component.externalDataPaths.join("|") || "n/a"}`);
229
251
  if (component.runtimeDataHome) {
230
252
  lines.push(` runtime-data-home=${component.runtimeDataHome}`);
231
253
  }
@@ -249,9 +271,11 @@ function stateDetailsFromComponent(component) {
249
271
  }
250
272
  const summary = typeof details.readinessSummary === "string"
251
273
  ? details.readinessSummary
252
- : typeof details.cleanupSummary === "string"
253
- ? details.cleanupSummary
254
- : null;
274
+ : typeof details.policySummary === "string"
275
+ ? details.policySummary
276
+ : typeof details.cleanupSummary === "string"
277
+ ? details.cleanupSummary
278
+ : null;
255
279
  return summary;
256
280
  }
257
281
  export function planRuntimeLifecycle(phase, manifest, state, options = {}) {
@@ -264,6 +288,24 @@ export function planRuntimeLifecycle(phase, manifest, state, options = {}) {
264
288
  if (!component) {
265
289
  throw new RuntimeLifecycleError(`Unknown runtime component ${componentName}`);
266
290
  }
291
+ const policy = resolveRuntimeComponentPolicy(component, {
292
+ consumer: options.consumer,
293
+ dependencyManagementMode: options.dependencyManagementMode
294
+ });
295
+ if (phase !== "remove" && component.required && !policy.required) {
296
+ skipped.push({
297
+ componentName: component.name,
298
+ reason: policy.reason ?? "optional policy matched"
299
+ });
300
+ plan.push({
301
+ componentName: component.name,
302
+ phase,
303
+ strategy: "skipped-by-policy",
304
+ reason: policy.reason,
305
+ policy
306
+ });
307
+ continue;
308
+ }
267
309
  if (phase === "update" && !options.force) {
268
310
  const currentState = state.components[component.name];
269
311
  if (currentState?.status === "installed" && !componentNeedsUpdate(component, currentState)) {
@@ -278,16 +320,67 @@ export function planRuntimeLifecycle(phase, manifest, state, options = {}) {
278
320
  }
279
321
  return { plan, skipped };
280
322
  }
281
- async function executeRuntimeAction(action, component, manifest, paths, options, logFilePath) {
323
+ async function executeRuntimeAction(action, component, manifest, paths, state, options, logFilePath) {
282
324
  const componentRoot = getComponentManagedRoot(paths, component.name);
283
325
  const componentConfigDir = getComponentConfigDirectory(paths, component.name, component.runtimeDataDir);
326
+ if (action.strategy === "skipped-by-policy") {
327
+ return executeSkippedPolicyAction(action, component, paths, componentRoot, componentConfigDir, logFilePath);
328
+ }
284
329
  switch (component.name) {
285
330
  case "node":
286
331
  return executeNodeComponent(action.phase, component, paths, options, logFilePath);
287
332
  default:
288
- return executeScriptComponent(action, component, manifest, paths, componentRoot, componentConfigDir, options, logFilePath);
333
+ return executeScriptComponent(action, component, manifest, paths, state, componentRoot, componentConfigDir, options, logFilePath);
289
334
  }
290
335
  }
336
+ async function executeSkippedPolicyAction(action, component, paths, componentRoot, componentConfigDir, logFilePath) {
337
+ if (component.name === "node") {
338
+ await rm(paths.nodeRuntime, { recursive: true, force: true });
339
+ await removeWrapper(paths.bin, "node");
340
+ await removeWrapper(paths.bin, "npm");
341
+ }
342
+ const componentDataHome = getComponentRuntimeDataHome(paths, component.name, component.runtimeDataDir);
343
+ const componentLogsDir = getComponentLogsDirectory(paths, component.name, component.runtimeDataDir);
344
+ const componentPm2Home = component.pm2
345
+ ? getComponentPm2Home(paths, component.name, component.runtimeDataDir, component.pm2.pm2Home)
346
+ : null;
347
+ const managedProgramPaths = component.name === "node" ? [paths.nodeRuntime] : [componentRoot];
348
+ const managedDataPaths = [
349
+ componentDataHome,
350
+ componentConfigDir,
351
+ componentLogsDir,
352
+ ...(componentPm2Home ? [componentPm2Home] : [])
353
+ ];
354
+ const reason = action.reason ?? "optional policy matched";
355
+ await writeRuntimeLog(logFilePath, `Skipped ${component.name}: ${reason}`);
356
+ return {
357
+ name: component.name,
358
+ type: component.type,
359
+ status: "skipped-by-policy",
360
+ version: null,
361
+ managedProgramPaths,
362
+ managedDataPaths,
363
+ managedPaths: [...managedProgramPaths, ...managedDataPaths],
364
+ lastAction: action.phase,
365
+ lastUpdatedAt: new Date().toISOString(),
366
+ logFile: logFilePath,
367
+ details: {
368
+ policyStatus: "skipped-by-policy",
369
+ policySummary: reason,
370
+ ...(action.policy?.matchedRule?.id
371
+ ? { policyRuleId: action.policy.matchedRule.id }
372
+ : {}),
373
+ ...(action.policy?.context.consumer
374
+ ? { policyConsumer: action.policy.context.consumer }
375
+ : {}),
376
+ ...(action.policy?.context.dependencyManagementMode
377
+ ? {
378
+ policyDependencyManagementMode: action.policy.context.dependencyManagementMode
379
+ }
380
+ : {})
381
+ }
382
+ };
383
+ }
291
384
  async function executeNodeComponent(phase, component, paths, options, logFilePath) {
292
385
  await mkdir(dirname(paths.nodeRuntime), { recursive: true });
293
386
  if (phase === "remove") {
@@ -341,7 +434,7 @@ async function executeNodeComponent(phase, component, paths, options, logFilePat
341
434
  logFile: logFilePath
342
435
  };
343
436
  }
344
- async function executeScriptComponent(action, component, manifest, paths, componentRoot, componentConfigDir, options, logFilePath) {
437
+ async function executeScriptComponent(action, component, manifest, paths, state, componentRoot, componentConfigDir, options, logFilePath) {
345
438
  await mkdir(componentRoot, { recursive: true });
346
439
  await mkdir(componentConfigDir, { recursive: true });
347
440
  const scriptPath = resolveScriptForAction(action, component);
@@ -362,7 +455,8 @@ async function executeScriptComponent(action, component, manifest, paths, compon
362
455
  downloadCache: options.downloadCache,
363
456
  downloadCacheDir: options.downloadCacheDir,
364
457
  npmRegistryMirror: options.npmRegistryMirror,
365
- pm2VersionOverride: options.pm2VersionOverride
458
+ pm2VersionOverride: options.pm2VersionOverride,
459
+ useManagedNodeRuntime: shouldUseManagedNodeRuntime(state)
366
460
  });
367
461
  if (action.phase !== "remove" && component.scripts.configure) {
368
462
  await executeRuntimeScript(component.scripts.configure, {
@@ -378,7 +472,8 @@ async function executeScriptComponent(action, component, manifest, paths, compon
378
472
  downloadCache: options.downloadCache,
379
473
  downloadCacheDir: options.downloadCacheDir,
380
474
  npmRegistryMirror: options.npmRegistryMirror,
381
- pm2VersionOverride: options.pm2VersionOverride
475
+ pm2VersionOverride: options.pm2VersionOverride,
476
+ useManagedNodeRuntime: shouldUseManagedNodeRuntime(state)
382
477
  });
383
478
  }
384
479
  if (action.phase !== "remove" && component.scripts.verify) {
@@ -395,7 +490,8 @@ async function executeScriptComponent(action, component, manifest, paths, compon
395
490
  downloadCache: options.downloadCache,
396
491
  downloadCacheDir: options.downloadCacheDir,
397
492
  npmRegistryMirror: options.npmRegistryMirror,
398
- pm2VersionOverride: options.pm2VersionOverride
493
+ pm2VersionOverride: options.pm2VersionOverride,
494
+ useManagedNodeRuntime: shouldUseManagedNodeRuntime(state)
399
495
  });
400
496
  }
401
497
  }
@@ -540,6 +636,7 @@ function resolveScriptForAction(action, component) {
540
636
  case "fallback-install":
541
637
  return action.scriptPath ?? component.scripts.install;
542
638
  case "builtin":
639
+ case "skipped-by-policy":
543
640
  case "fallback-cleanup":
544
641
  return null;
545
642
  }
@@ -561,20 +658,31 @@ async function ensureManagedDirectories(paths) {
561
658
  function shouldEnsureManagedPm2(plan, manifest) {
562
659
  return plan.some((action) => manifest.componentMap.get(action.componentName)?.pm2);
563
660
  }
564
- export async function ensureManagedPm2Package(manifest, paths, options = {}) {
565
- const verification = await verifyNodeRuntime(paths.nodeRuntime);
566
- if (!verification.valid || !verification.npmPath) {
661
+ export async function ensureManagedPm2Package(manifest, paths, state, options = {}) {
662
+ const useManagedNodeRuntime = shouldUseManagedNodeRuntime(state);
663
+ const verification = useManagedNodeRuntime
664
+ ? await verifyNodeRuntime(paths.nodeRuntime)
665
+ : null;
666
+ if (useManagedNodeRuntime && (!verification?.valid || !verification.npmPath)) {
567
667
  throw new RuntimeLifecycleError("Managed Node runtime is missing. Install the runtime node component before ensuring pm2.");
568
668
  }
569
669
  const requirement = resolveManagedPm2Requirement(manifest, options.pm2VersionOverride);
570
670
  await ensureManagedNpmPrefix(paths.npmPrefix);
571
671
  const npmOptions = {
572
- nodePath: verification.nodePath,
672
+ nodePath: useManagedNodeRuntime ? verification?.nodePath : undefined,
573
673
  prefix: paths.npmPrefix,
574
674
  registryMirror: options.npmRegistryMirror,
575
- env: createManagedNpmInstallEnvironment(paths.nodeRuntime)
675
+ env: useManagedNodeRuntime
676
+ ? createManagedNpmInstallEnvironment(paths.nodeRuntime)
677
+ : process.env
576
678
  };
577
- const inventoryResult = await listGlobalPackages(verification.npmPath, npmOptions);
679
+ const npmCommand = useManagedNodeRuntime
680
+ ? verification?.npmPath
681
+ : resolveHostNpmCommand();
682
+ if (!npmCommand) {
683
+ throw new RuntimeLifecycleError("Host npm is unavailable. Install npm on PATH before using policy-skipped Node runtime components.");
684
+ }
685
+ const inventoryResult = await listGlobalPackages(npmCommand, npmOptions);
578
686
  const installedVersion = parseInstalledGlobalPackageVersion(inventoryResult.stdout, "pm2");
579
687
  if (installedVersion && isManagedPm2RequirementSatisfied(installedVersion, requirement.range)) {
580
688
  return {
@@ -584,7 +692,7 @@ export async function ensureManagedPm2Package(manifest, paths, options = {}) {
584
692
  prefix: paths.npmPrefix
585
693
  };
586
694
  }
587
- await installGlobalPackage(verification.npmPath, requirement.selector, npmOptions);
695
+ await installGlobalPackage(npmCommand, requirement.selector, npmOptions);
588
696
  return {
589
697
  changed: true,
590
698
  installedVersion,
@@ -646,6 +754,9 @@ function createManagedNpmInstallEnvironment(runtimePath, baseEnv = process.env)
646
754
  [pathKey]: [runtimeBinDirectory, existingPath].filter(Boolean).join(process.platform === "win32" ? ";" : ":")
647
755
  };
648
756
  }
757
+ function resolveHostNpmCommand() {
758
+ return process.platform === "win32" ? "npm.cmd" : "npm";
759
+ }
649
760
  function parseInstalledGlobalPackageVersion(inventoryOutput, packageName) {
650
761
  try {
651
762
  const parsed = JSON.parse(inventoryOutput);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-manager.js","sourceRoot":"","sources":["../../../../src/runtime/runtime-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-manager.js","sourceRoot":"","sources":["../../../../src/runtime/runtime-manager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,24 @@
1
1
  export type RuntimeLifecyclePhase = "install" | "remove" | "update";
2
2
  export type RuntimeComponentType = "runtime" | "package" | "bundled-runtime" | "released-service";
3
3
  export type RuntimeBundledInstallMode = "extract" | "archive-7z-only";
4
+ export interface RuntimeOptionalComponentPolicyRule {
5
+ id?: string;
6
+ consumers?: string[];
7
+ dependencyManagementModes?: string[];
8
+ }
9
+ export interface RuntimeOptionalComponentPolicy {
10
+ rules: RuntimeOptionalComponentPolicyRule[];
11
+ }
12
+ export interface RuntimeComponentPolicyContext {
13
+ consumer?: string;
14
+ dependencyManagementMode?: string;
15
+ }
16
+ export interface ResolvedRuntimeComponentPolicy {
17
+ required: boolean;
18
+ matchedRule?: RuntimeOptionalComponentPolicyRule;
19
+ reason?: string;
20
+ context: RuntimeComponentPolicyContext;
21
+ }
4
22
  export interface RuntimePackageCatalogEntry {
5
23
  id?: string;
6
24
  packageName: string;
@@ -11,6 +29,7 @@ export interface RuntimeComponentDefinition {
11
29
  name: string;
12
30
  type: RuntimeComponentType;
13
31
  required: boolean;
32
+ optionalPolicy?: RuntimeOptionalComponentPolicy;
14
33
  source?: string;
15
34
  version?: string;
16
35
  channelVersion?: string;
@@ -102,5 +121,6 @@ export declare class RuntimeManifestValidationError extends Error {
102
121
  }
103
122
  export declare function getPackageRoot(moduleUrl?: string): string;
104
123
  export declare function getDefaultRuntimeManifestPath(moduleUrl?: string): string;
124
+ export declare function resolveRuntimeComponentPolicy(component: Pick<RuntimeComponentDefinition, "required" | "optionalPolicy">, context?: RuntimeComponentPolicyContext): ResolvedRuntimeComponentPolicy;
105
125
  export declare function loadRuntimeManifest(options?: LoadRuntimeManifestOptions): Promise<LoadedRuntimeManifest>;
106
126
  export declare function validateRuntimeAssetExists(pathValue: string): Promise<void>;