@hagicode/hagiscript 0.1.0-dev.9.1.ba06982

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 (46) hide show
  1. package/README.md +251 -0
  2. package/README_cn.md +251 -0
  3. package/dist/cli.d.ts +5 -0
  4. package/dist/cli.js +50 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/node-runtime-commands.d.ts +2 -0
  7. package/dist/commands/node-runtime-commands.js +88 -0
  8. package/dist/commands/node-runtime-commands.js.map +1 -0
  9. package/dist/commands/npm-sync-commands.d.ts +2 -0
  10. package/dist/commands/npm-sync-commands.js +155 -0
  11. package/dist/commands/npm-sync-commands.js.map +1 -0
  12. package/dist/index.d.ts +11 -0
  13. package/dist/index.js +14 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/runtime/node-download.d.ts +13 -0
  16. package/dist/runtime/node-download.js +78 -0
  17. package/dist/runtime/node-download.js.map +1 -0
  18. package/dist/runtime/node-extract.d.ts +6 -0
  19. package/dist/runtime/node-extract.js +155 -0
  20. package/dist/runtime/node-extract.js.map +1 -0
  21. package/dist/runtime/node-installer.d.ts +39 -0
  22. package/dist/runtime/node-installer.js +85 -0
  23. package/dist/runtime/node-installer.js.map +1 -0
  24. package/dist/runtime/node-platform.d.ts +14 -0
  25. package/dist/runtime/node-platform.js +41 -0
  26. package/dist/runtime/node-platform.js.map +1 -0
  27. package/dist/runtime/node-release.d.ts +28 -0
  28. package/dist/runtime/node-release.js +146 -0
  29. package/dist/runtime/node-release.js.map +1 -0
  30. package/dist/runtime/node-verify.d.ts +20 -0
  31. package/dist/runtime/node-verify.js +66 -0
  32. package/dist/runtime/node-verify.js.map +1 -0
  33. package/dist/runtime/npm-global.d.ts +20 -0
  34. package/dist/runtime/npm-global.js +53 -0
  35. package/dist/runtime/npm-global.js.map +1 -0
  36. package/dist/runtime/npm-sync.d.ts +114 -0
  37. package/dist/runtime/npm-sync.js +398 -0
  38. package/dist/runtime/npm-sync.js.map +1 -0
  39. package/dist/runtime/tool-sync-catalog.config.json +59 -0
  40. package/dist/runtime/tool-sync-catalog.d.ts +48 -0
  41. package/dist/runtime/tool-sync-catalog.js +189 -0
  42. package/dist/runtime/tool-sync-catalog.js.map +1 -0
  43. package/dist/version.d.ts +7 -0
  44. package/dist/version.js +9 -0
  45. package/dist/version.js.map +1 -0
  46. package/package.json +73 -0
@@ -0,0 +1,189 @@
1
+ import { basename } from "node:path";
2
+ import semver from "semver";
3
+ import toolSyncCatalogConfig from "./tool-sync-catalog.config.json" with { type: "json" };
4
+ export class ToolSyncCatalogValidationError extends Error {
5
+ errors;
6
+ constructor(errors) {
7
+ super(`Tool sync catalog validation failed: ${errors.join("; ")}`);
8
+ this.name = "ToolSyncCatalogValidationError";
9
+ this.errors = errors;
10
+ }
11
+ }
12
+ export const builtInToolSyncCatalogConfig = toolSyncCatalogConfig;
13
+ export const builtInToolSyncCatalog = builtInToolSyncCatalogConfig.tools;
14
+ export function validateToolSyncCatalog(catalog = builtInToolSyncCatalog) {
15
+ const errors = [];
16
+ const seenIds = new Set();
17
+ const seenMandatory = new Set();
18
+ for (const entry of catalog) {
19
+ validateCatalogEntry(entry, errors);
20
+ if (seenIds.has(entry.id)) {
21
+ errors.push(`duplicate tool ID: ${entry.id}`);
22
+ }
23
+ seenIds.add(entry.id);
24
+ if (entry.requirement === "mandatory") {
25
+ seenMandatory.add(entry.id);
26
+ }
27
+ }
28
+ for (const requiredId of ["openspec-skills", "omniroute", "code-server"]) {
29
+ if (!seenMandatory.has(requiredId)) {
30
+ errors.push(`missing mandatory tool: ${requiredId}`);
31
+ }
32
+ }
33
+ if (errors.length > 0) {
34
+ throw new ToolSyncCatalogValidationError(errors);
35
+ }
36
+ return catalog;
37
+ }
38
+ export function buildToolSyncPackageSet(options = {}) {
39
+ const catalog = validateToolSyncCatalog(options.catalog ?? builtInToolSyncCatalog);
40
+ const errors = [];
41
+ const packages = {};
42
+ const optionalEntries = catalog.filter((entry) => entry.group === "optional-agent-cli");
43
+ const optionalById = new Map(optionalEntries.map((entry) => [entry.id, entry]));
44
+ const selectedIds = normalizeSelectedIds(options.selectedOptionalAgentCliIds ?? []);
45
+ const customEntries = normalizeCustomAgentCliTools(options.customAgentClis ?? [], errors);
46
+ if (options.optionalAgentCliSyncEnabled) {
47
+ for (const selectedId of selectedIds) {
48
+ if (!optionalById.has(selectedId)) {
49
+ errors.push(`unknown optional agent CLI tool ID: ${selectedId}`);
50
+ }
51
+ }
52
+ }
53
+ else if (selectedIds.length > 0 || customEntries.length > 0) {
54
+ errors.push("optional agent CLI sync must be enabled when optional CLI selections are provided");
55
+ }
56
+ for (const entry of catalog) {
57
+ if (entry.requirement !== "mandatory") {
58
+ continue;
59
+ }
60
+ addPackageConstraint(packages, entry, errors);
61
+ }
62
+ if (options.optionalAgentCliSyncEnabled) {
63
+ for (const selectedId of selectedIds) {
64
+ const entry = optionalById.get(selectedId);
65
+ if (entry) {
66
+ addPackageConstraint(packages, entry, errors);
67
+ }
68
+ }
69
+ for (const entry of customEntries) {
70
+ addPackageConstraint(packages, entry, errors);
71
+ }
72
+ }
73
+ if (errors.length > 0) {
74
+ throw new ToolSyncCatalogValidationError(errors);
75
+ }
76
+ return Object.fromEntries(Object.entries(packages).sort(([left], [right]) => left.localeCompare(right)));
77
+ }
78
+ export function normalizeToolSyncEntry(entry) {
79
+ return [
80
+ entry.packageName,
81
+ {
82
+ version: normalizeVersionSelector(entry.version),
83
+ target: entry.target?.trim(),
84
+ toolId: entry.id,
85
+ toolDisplayName: entry.displayName,
86
+ toolGroup: entry.group,
87
+ toolRequirement: entry.requirement
88
+ }
89
+ ];
90
+ }
91
+ function addPackageConstraint(packages, entry, errors) {
92
+ const [packageName, constraint] = normalizeToolSyncEntry(entry);
93
+ const existing = packages[packageName];
94
+ if (existing) {
95
+ errors.push(`package ${packageName} is declared by both ${existing.toolId} and ${entry.id}`);
96
+ return;
97
+ }
98
+ packages[packageName] = constraint;
99
+ }
100
+ function validateCatalogEntry(entry, errors) {
101
+ if (!isValidToolId(entry.id)) {
102
+ errors.push(`invalid tool ID: ${entry.id}`);
103
+ }
104
+ if (entry.displayName.trim().length === 0) {
105
+ errors.push(`${entry.id}.displayName must be non-empty`);
106
+ }
107
+ if (!isValidPackageName(entry.packageName)) {
108
+ errors.push(`${entry.id}.packageName is invalid: ${entry.packageName}`);
109
+ }
110
+ if (!isValidVersionSelector(entry.version)) {
111
+ errors.push(`${entry.id}.version is invalid: ${entry.version}`);
112
+ }
113
+ if (entry.target !== undefined && entry.target.trim().length === 0) {
114
+ errors.push(`${entry.id}.target must be non-empty when provided`);
115
+ }
116
+ if (entry.group === "mandatory" && entry.requirement !== "mandatory") {
117
+ errors.push(`${entry.id} must be mandatory in the mandatory group`);
118
+ }
119
+ if (entry.group === "optional-agent-cli" && entry.requirement !== "optional") {
120
+ errors.push(`${entry.id} must be optional in the optional agent CLI group`);
121
+ }
122
+ }
123
+ function normalizeSelectedIds(ids) {
124
+ return Array.from(new Set(ids.map((id) => id.trim()).filter(Boolean))).sort();
125
+ }
126
+ function normalizeCustomAgentCliTools(inputs, errors) {
127
+ return inputs.map((input, index) => {
128
+ const packageName = input.packageName?.trim() ?? "";
129
+ const id = input.id?.trim() || `custom:${packageNameToToolId(packageName)}`;
130
+ const version = input.version?.trim() || "latest";
131
+ const displayName = input.displayName?.trim() || packageName;
132
+ const target = input.target?.trim() || version;
133
+ const entry = {
134
+ id,
135
+ displayName,
136
+ packageName,
137
+ version,
138
+ target,
139
+ group: "optional-agent-cli",
140
+ requirement: "optional"
141
+ };
142
+ if (!packageName) {
143
+ errors.push(`customAgentClis[${index}].packageName must be non-empty`);
144
+ }
145
+ validateCatalogEntry(entry, errors);
146
+ return entry;
147
+ });
148
+ }
149
+ function normalizeVersionSelector(selector) {
150
+ const trimmed = selector.trim();
151
+ return trimmed === "latest" ? "*" : trimmed;
152
+ }
153
+ function isValidVersionSelector(selector) {
154
+ const normalized = normalizeVersionSelector(selector);
155
+ return normalized.length > 0 && semver.validRange(normalized) !== null;
156
+ }
157
+ function isValidToolId(id) {
158
+ return /^[a-z0-9][a-z0-9:-]*$/u.test(id);
159
+ }
160
+ function packageNameToToolId(packageName) {
161
+ return packageName
162
+ .replace(/^@/u, "")
163
+ .replace(/[^a-zA-Z0-9]+/gu, "-")
164
+ .replace(/^-+|-+$/gu, "")
165
+ .toLowerCase();
166
+ }
167
+ function isValidPackageName(packageName) {
168
+ if (packageName.trim() !== packageName || packageName.length === 0) {
169
+ return false;
170
+ }
171
+ if (packageName.includes("\\") || packageName.includes("/../")) {
172
+ return false;
173
+ }
174
+ if (packageName.startsWith("@")) {
175
+ const parts = packageName.split("/");
176
+ return (parts.length === 2 &&
177
+ parts[0].startsWith("@") &&
178
+ isValidPackageNamePart(parts[0].slice(1)) &&
179
+ isValidPackageNamePart(parts[1]));
180
+ }
181
+ return !packageName.includes("/") && isValidPackageNamePart(packageName);
182
+ }
183
+ function isValidPackageNamePart(value) {
184
+ return (value.length > 0 &&
185
+ value === basename(value) &&
186
+ !value.startsWith(".") &&
187
+ !/[\s@]/u.test(value));
188
+ }
189
+ //# sourceMappingURL=tool-sync-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-sync-catalog.js","sourceRoot":"","sources":["../../src/runtime/tool-sync-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,qBAAqB,MAAM,iCAAiC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AA+C1F,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAC9C,MAAM,CAAW;IAE1B,YAAY,MAAgB;QAC1B,KAAK,CAAC,wCAAwC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,4BAA4B,GACvC,qBAA8C,CAAC;AAEjD,MAAM,CAAC,MAAM,sBAAsB,GACjC,4BAA4B,CAAC,KAAK,CAAC;AAErC,MAAM,UAAU,uBAAuB,CACrC,UAA2C,sBAAsB;IAEjE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEtB,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACtC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAA0C,EAAE;IAE5C,MAAM,OAAO,GAAG,uBAAuB,CACrC,OAAO,CAAC,OAAO,IAAI,sBAAsB,CAC1C,CAAC;IACF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAA8C,EAAE,CAAC;IAC/D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CACpC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,oBAAoB,CAChD,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG,oBAAoB,CACtC,OAAO,CAAC,2BAA2B,IAAI,EAAE,CAC1C,CAAC;IACF,MAAM,aAAa,GAAG,4BAA4B,CAChD,OAAO,CAAC,eAAe,IAAI,EAAE,EAC7B,MAAM,CACP,CAAC;IAEF,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QACxC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,CAAC,IAAI,CACT,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QACD,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QACxC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACV,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAChD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAC1B,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAA2B;IAE3B,OAAO;QACL,KAAK,CAAC,WAAW;QACjB;YACE,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;YAChD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;YAC5B,MAAM,EAAE,KAAK,CAAC,EAAE;YAChB,eAAe,EAAE,KAAK,CAAC,WAAW;YAClC,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,eAAe,EAAE,KAAK,CAAC,WAAW;SACnC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAmD,EACnD,KAA2B,EAC3B,MAAgB;IAEhB,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,WAAW,WAAW,wBAAwB,QAAQ,CAAC,MAAM,QAAQ,KAAK,CAAC,EAAE,EAAE,CAChF,CAAC;QACF,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA2B,EAC3B,MAAgB;IAEhB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,gCAAgC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,4BAA4B,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,yCAAyC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,2CAA2C,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,oBAAoB,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,mDAAmD,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAsB;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChF,CAAC;AAED,SAAS,4BAA4B,CACnC,MAA0C,EAC1C,MAAgB;IAEhB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACpD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,UAAU,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC;QAClD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC;QAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC;QAE/C,MAAM,KAAK,GAAyB;YAClC,EAAE;YACF,WAAW;YACX,WAAW;YACX,OAAO;YACP,MAAM;YACN,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,UAAU;SACxB,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,mBAAmB,KAAK,iCAAiC,CAAC,CAAC;QACzE,CAAC;QAED,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAgB;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AAC9C,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,EAAU;IAC/B,OAAO,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,OAAO,WAAW;SACf,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC;SAC/B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YACxB,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACjC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC3C,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;QACzB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QACtB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const packageName = "@hagicode/hagiscript";
2
+ export declare const packageVersion = "0.1.0";
3
+ export interface PackageMetadata {
4
+ name: string;
5
+ version: string;
6
+ }
7
+ export declare function getPackageMetadata(): PackageMetadata;
@@ -0,0 +1,9 @@
1
+ export const packageName = "@hagicode/hagiscript";
2
+ export const packageVersion = "0.1.0";
3
+ export function getPackageMetadata() {
4
+ return {
5
+ name: packageName,
6
+ version: packageVersion
7
+ };
8
+ }
9
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAClD,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAOtC,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;KACxB,CAAC;AACJ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@hagicode/hagiscript",
3
+ "version": "0.1.0-dev.9.1.ba06982",
4
+ "description": "Scoped npm package foundation for Hagiscript language tooling.",
5
+ "homepage": "https://github.com/HagiCode-org/hagiscript#readme",
6
+ "bugs": {
7
+ "url": "https://github.com/HagiCode-org/hagiscript/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/HagiCode-org/hagiscript.git"
12
+ },
13
+ "type": "module",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "default": "./dist/index.js"
18
+ },
19
+ "./package.json": "./package.json"
20
+ },
21
+ "bin": {
22
+ "hagiscript": "dist/cli.js"
23
+ },
24
+ "files": [
25
+ "dist",
26
+ "README.md",
27
+ "README_cn.md"
28
+ ],
29
+ "scripts": {
30
+ "build": "tsc -p tsconfig.json",
31
+ "clean": "rm -rf dist .vitest-temp .tmp coverage",
32
+ "dev": "tsx src/cli.ts",
33
+ "format": "prettier --write .",
34
+ "format:check": "prettier --check .",
35
+ "lint": "eslint .",
36
+ "integration:installed-runtime": "node scripts/integration-installed-runtime.mjs",
37
+ "pack:check": "node scripts/verify-package.mjs",
38
+ "publish:check-prereqs": "node scripts/verify-npm-publish-prereqs.mjs",
39
+ "publish:prepare-dev-version": "node scripts/prepare-dev-version.mjs",
40
+ "publish:verify-release": "node scripts/verify-release-version.mjs",
41
+ "test": "vitest run",
42
+ "test:watch": "vitest"
43
+ },
44
+ "keywords": [
45
+ "hagiscript",
46
+ "scripting",
47
+ "language",
48
+ "cli"
49
+ ],
50
+ "engines": {
51
+ "node": ">=20"
52
+ },
53
+ "publishConfig": {
54
+ "access": "public",
55
+ "provenance": true,
56
+ "registry": "https://registry.npmjs.org/"
57
+ },
58
+ "dependencies": {
59
+ "commander": "^14.0.1",
60
+ "semver": "^7.7.4"
61
+ },
62
+ "devDependencies": {
63
+ "@eslint/js": "^9.38.0",
64
+ "@types/node": "^24.5.2",
65
+ "@types/semver": "^7.7.1",
66
+ "eslint": "^9.38.0",
67
+ "prettier": "^3.6.2",
68
+ "tsx": "^4.20.6",
69
+ "typescript": "^5.9.3",
70
+ "typescript-eslint": "^8.46.2",
71
+ "vitest": "^3.2.4"
72
+ }
73
+ }