@g3nomaly/core 0.1.6 → 0.2.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.
- package/dist/cli/commands/add.d.ts +17 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/add.js +76 -0
- package/dist/cli/commands/add.js.map +1 -0
- package/dist/cli/commands/ls.d.ts +5 -0
- package/dist/cli/commands/ls.d.ts.map +1 -0
- package/dist/cli/commands/ls.js +22 -0
- package/dist/cli/commands/ls.js.map +1 -0
- package/dist/cli/commands/remove.d.ts +13 -0
- package/dist/cli/commands/remove.d.ts.map +1 -0
- package/dist/cli/commands/remove.js +109 -0
- package/dist/cli/commands/remove.js.map +1 -0
- package/dist/cli/commands/update.d.ts +10 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +92 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/dialogue.d.ts +74 -0
- package/dist/cli/dialogue.d.ts.map +1 -0
- package/dist/cli/dialogue.js +117 -0
- package/dist/cli/dialogue.js.map +1 -0
- package/dist/cli/index.d.ts +10 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/theme.d.ts +23 -0
- package/dist/cli/theme.d.ts.map +1 -0
- package/dist/cli/theme.js +25 -0
- package/dist/cli/theme.js.map +1 -0
- package/dist/cli/types.d.ts +45 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +2 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/config/config.d.ts +7 -10
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +17 -27
- package/dist/config/config.js.map +1 -1
- package/dist/config/index.d.ts +3 -3
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +2 -2
- package/dist/config/index.js.map +1 -1
- package/dist/config/types.d.ts +35 -36
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +14 -17
- package/dist/config/types.js.map +1 -1
- package/dist/installer/classify.d.ts +7 -0
- package/dist/installer/classify.d.ts.map +1 -0
- package/dist/installer/classify.js +47 -0
- package/dist/installer/classify.js.map +1 -0
- package/dist/installer/index.d.ts +6 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +7 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/installer/install.d.ts +13 -0
- package/dist/installer/install.d.ts.map +1 -0
- package/dist/installer/install.js +61 -0
- package/dist/installer/install.js.map +1 -0
- package/dist/installer/io.d.ts +4 -0
- package/dist/installer/io.d.ts.map +1 -0
- package/dist/installer/io.js +18 -0
- package/dist/installer/io.js.map +1 -0
- package/dist/installer/remove.d.ts +14 -0
- package/dist/installer/remove.d.ts.map +1 -0
- package/dist/installer/remove.js +37 -0
- package/dist/installer/remove.js.map +1 -0
- package/dist/installer/types.d.ts +80 -0
- package/dist/installer/types.d.ts.map +1 -0
- package/dist/installer/types.js +21 -0
- package/dist/installer/types.js.map +1 -0
- package/dist/registry/registry.selectors.d.ts +11 -0
- package/dist/registry/registry.selectors.d.ts.map +1 -1
- package/dist/registry/registry.selectors.js +24 -0
- package/dist/registry/registry.selectors.js.map +1 -1
- package/dist/registry/types.d.ts +2 -0
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/registry/types.js +5 -0
- package/dist/registry/types.js.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/merge.d.ts +6 -0
- package/dist/utils/merge.d.ts.map +1 -0
- package/dist/utils/merge.js +21 -0
- package/dist/utils/merge.js.map +1 -0
- package/dist/utils/packageMeta.d.ts +12 -0
- package/dist/utils/packageMeta.d.ts.map +1 -0
- package/dist/utils/packageMeta.js +20 -0
- package/dist/utils/packageMeta.js.map +1 -0
- package/dist/utils/prompt.d.ts +3 -0
- package/dist/utils/prompt.d.ts.map +1 -0
- package/dist/utils/prompt.js +8 -0
- package/dist/utils/prompt.js.map +1 -0
- package/package.json +12 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpE,YAAY,EACV,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAC/D,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,GACnD,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// packages/core/src/cli/index.ts
|
|
2
|
+
export * from "./types";
|
|
3
|
+
export { ConflictDecision, FileState } from "../installer/types";
|
|
4
|
+
export { StepKind, runDialogue, runDialogueValue } from "./dialogue";
|
|
5
|
+
export { addEntries } from "./commands/add";
|
|
6
|
+
export { updateEntries } from "./commands/update";
|
|
7
|
+
export { removeEntries } from "./commands/remove";
|
|
8
|
+
export { lsEntries } from "./commands/ls";
|
|
9
|
+
export { c, sym, lineSuccess, lineWarn, lineInfo, lineError } from "./theme";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKpE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const sym: {
|
|
2
|
+
success: string;
|
|
3
|
+
warn: string;
|
|
4
|
+
info: string;
|
|
5
|
+
error: string;
|
|
6
|
+
search: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const c: {
|
|
9
|
+
bold: import("chalk").ChalkInstance;
|
|
10
|
+
dim: import("chalk").ChalkInstance;
|
|
11
|
+
key: import("chalk").ChalkInstance;
|
|
12
|
+
file: import("chalk").ChalkInstance;
|
|
13
|
+
flag: import("chalk").ChalkInstance;
|
|
14
|
+
cmd: import("chalk").ChalkInstance;
|
|
15
|
+
dir: import("chalk").ChalkInstance;
|
|
16
|
+
target: import("chalk").ChalkInstance;
|
|
17
|
+
header: import("chalk").ChalkInstance;
|
|
18
|
+
};
|
|
19
|
+
export declare function lineSuccess(msg: string): string;
|
|
20
|
+
export declare function lineWarn(msg: string): string;
|
|
21
|
+
export declare function lineInfo(msg: string): string;
|
|
22
|
+
export declare function lineError(msg: string): string;
|
|
23
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/cli/theme.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,GAAG;IACd,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;CACP,CAAC;AAEF,eAAO,MAAM,CAAC;IACZ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,MAAM;IACN,MAAM;CACP,CAAC;AAEF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAqC;AACrF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAmD;AAChG,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAgD;AAC7F,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAgD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// packages/core/src/cli/theme.ts
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
export const sym = {
|
|
4
|
+
success: chalk.green("✓"),
|
|
5
|
+
warn: chalk.yellow("⚠"),
|
|
6
|
+
info: chalk.dim("i"),
|
|
7
|
+
error: chalk.red("✗"),
|
|
8
|
+
search: chalk.cyan("🔍"),
|
|
9
|
+
};
|
|
10
|
+
export const c = {
|
|
11
|
+
bold: chalk.bold,
|
|
12
|
+
dim: chalk.dim,
|
|
13
|
+
key: chalk.cyan,
|
|
14
|
+
file: chalk.magenta,
|
|
15
|
+
flag: chalk.yellow.bold,
|
|
16
|
+
cmd: chalk.white.bold,
|
|
17
|
+
dir: chalk.blue,
|
|
18
|
+
target: chalk.green,
|
|
19
|
+
header: chalk.bold.underline,
|
|
20
|
+
};
|
|
21
|
+
export function lineSuccess(msg) { return `${sym.success} ${msg}`; }
|
|
22
|
+
export function lineWarn(msg) { return `${sym.warn} ${chalk.yellow(msg)}`; }
|
|
23
|
+
export function lineInfo(msg) { return `${sym.info} ${chalk.dim(msg)}`; }
|
|
24
|
+
export function lineError(msg) { return `${sym.error} ${chalk.red(msg)}`; }
|
|
25
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/cli/theme.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IACzB,IAAI,EAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;IAC1B,IAAI,EAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACvB,KAAK,EAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACvB,MAAM,EAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,CAAC,GAAG;IACf,IAAI,EAAI,KAAK,CAAC,IAAI;IAClB,GAAG,EAAK,KAAK,CAAC,GAAG;IACjB,GAAG,EAAK,KAAK,CAAC,IAAI;IAClB,IAAI,EAAI,KAAK,CAAC,OAAO;IACrB,IAAI,EAAI,KAAK,CAAC,MAAM,CAAC,IAAI;IACzB,GAAG,EAAK,KAAK,CAAC,KAAK,CAAC,IAAI;IACxB,GAAG,EAAK,KAAK,CAAC,IAAI;IAClB,MAAM,EAAE,KAAK,CAAC,KAAK;IACnB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;CAC7B,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,GAAW,IAAY,OAAO,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;AACrF,MAAM,UAAU,QAAQ,CAAC,GAAW,IAAe,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAChG,MAAM,UAAU,QAAQ,CAAC,GAAW,IAAe,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7F,MAAM,UAAU,SAAS,CAAC,GAAW,IAAc,OAAO,GAAG,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { BaseRegistryEntry } from "../registry/types";
|
|
2
|
+
import type { RegistryStore } from "../registry/registry.store";
|
|
3
|
+
import type { FileSource } from "../installer/types";
|
|
4
|
+
import type { Dialogue, DialogueAnswers, StepChoice } from "./dialogue";
|
|
5
|
+
/** Options the install-shaped commands (add, update, remove) read. */
|
|
6
|
+
export interface InstallOptions {
|
|
7
|
+
force?: boolean;
|
|
8
|
+
dryRun?: boolean;
|
|
9
|
+
/** Preset dialogue answers by step id; skips the terminal prompt. */
|
|
10
|
+
answers?: DialogueAnswers;
|
|
11
|
+
}
|
|
12
|
+
export interface LSOptions {
|
|
13
|
+
json?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** One install destination: where files land and the manifest tracking them. */
|
|
16
|
+
export interface InstallTarget {
|
|
17
|
+
label: string;
|
|
18
|
+
installDir: string;
|
|
19
|
+
store: RegistryStore<BaseRegistryEntry>;
|
|
20
|
+
}
|
|
21
|
+
/** Where an entry's file contents come from — disk copy, remote fetch, generated. */
|
|
22
|
+
export type EntrySource = (entry: BaseRegistryEntry) => FileSource | Promise<FileSource>;
|
|
23
|
+
/** Input the install dialogues resolve against: picker choices and `{placeholder}` values. */
|
|
24
|
+
export interface InstallInput {
|
|
25
|
+
keyChoices?: StepChoice<string>[];
|
|
26
|
+
key?: string;
|
|
27
|
+
target?: string;
|
|
28
|
+
dependents?: string;
|
|
29
|
+
missing?: string;
|
|
30
|
+
unknown?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface AddDialogues {
|
|
33
|
+
onNoValue?: Dialogue<InstallInput>;
|
|
34
|
+
onCollision?: Dialogue<InstallInput>;
|
|
35
|
+
}
|
|
36
|
+
export interface UpdateDialogues {
|
|
37
|
+
onCollision?: Dialogue<InstallInput>;
|
|
38
|
+
}
|
|
39
|
+
export interface RemoveDialogues {
|
|
40
|
+
onNoValue?: Dialogue<InstallInput>;
|
|
41
|
+
onCascade?: Dialogue<InstallInput>;
|
|
42
|
+
onCollision?: Dialogue<InstallInput>;
|
|
43
|
+
onIncomplete?: Dialogue<InstallInput>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExE,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAG,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAO,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAO,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC9C;AAED,qFAAqF;AACrF,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzF,8FAA8F;AAC9F,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;IAClC,GAAG,CAAC,EAAS,MAAM,CAAC;IACpB,MAAM,CAAC,EAAM,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAK,MAAM,CAAC;IACpB,OAAO,CAAC,EAAK,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,SAAS,CAAC,EAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":""}
|
package/dist/config/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type G3nConfig, type
|
|
1
|
+
import { type G3nConfig, type G3nConfigFile, type G3nuiConfig, type G3nerateConfig, type SkillsConfig } from "./types";
|
|
2
2
|
export declare function getConfigPath(projectRoot: string): string;
|
|
3
3
|
/**
|
|
4
4
|
* Directory that owns the project's `.g3n.config.json`: the nearest ancestor
|
|
@@ -8,8 +8,8 @@ export declare function getConfigPath(projectRoot: string): string;
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function resolveProjectRoot(fromDir?: string): string | null;
|
|
10
10
|
/**
|
|
11
|
-
* Loads `.g3n.config.json` from the project root
|
|
12
|
-
*
|
|
11
|
+
* Loads `.g3n.config.json` from the project root as a fully-defaulted view:
|
|
12
|
+
* sections missing on disk read as their defaults.
|
|
13
13
|
*/
|
|
14
14
|
export declare function loadConfig(projectRoot: string): Promise<G3nConfig>;
|
|
15
15
|
/** Every key optional at every depth, so a caller can name one setting alone. */
|
|
@@ -17,14 +17,11 @@ type DeepPartial<T> = T extends readonly unknown[] ? T : T extends object ? {
|
|
|
17
17
|
[K in keyof T]?: DeepPartial<T[K]>;
|
|
18
18
|
} : T;
|
|
19
19
|
/**
|
|
20
|
-
* Deep-merges updates into the existing config and writes back to disk.
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* await saveConfig(cwd, { g3nui: { settings: { componentsDir: "src/ui" } } })
|
|
20
|
+
* Deep-merges updates into the existing config file and writes back to disk.
|
|
21
|
+
* Only sections already on disk or named in `updates` are written — a
|
|
22
|
+
* package's init never materializes another package's section.
|
|
25
23
|
*/
|
|
26
|
-
export declare function saveConfig(projectRoot: string, updates: DeepPartial<
|
|
27
|
-
export declare function loadCoreConfig(projectRoot: string): Promise<CoreConfig>;
|
|
24
|
+
export declare function saveConfig(projectRoot: string, updates: DeepPartial<G3nConfigFile>): Promise<G3nConfig>;
|
|
28
25
|
export declare function loadG3nuiConfig(projectRoot: string): Promise<G3nuiConfig>;
|
|
29
26
|
export declare function loadG3nerateConfig(projectRoot: string): Promise<G3nerateConfig>;
|
|
30
27
|
export declare function loadSkillsConfig(projectRoot: string): Promise<SkillsConfig>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,SAAS,CAAC;AAYjB,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CASjF;AAYD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAExE;AAMD,iFAAiF;AACjF,KAAK,WAAW,CAAC,CAAC,IAChB,CAAC,SAAS,SAAS,OAAO,EAAE,GAAG,CAAC,GAC9B,CAAC,SAAS,MAAM,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACzD,CAAC,CAAC;AAEN;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,GAClC,OAAO,CAAC,SAAS,CAAC,CAOpB;AAMD,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAE/E;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAErF;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAEjF;AAED,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAExE"}
|
package/dist/config/config.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// packages/core/src/config/config.ts
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
|
-
import {
|
|
4
|
+
import { deepMerge } from "../utils/merge";
|
|
5
|
+
import { G3nConfigFileSchema, G3nConfigSchema, } from "./types";
|
|
5
6
|
if ("window" in globalThis) {
|
|
6
7
|
throw new Error("@g3nomaly/core config utilities are CLI-only");
|
|
7
8
|
}
|
|
@@ -34,44 +35,33 @@ export function resolveProjectRoot(fromDir = process.cwd()) {
|
|
|
34
35
|
// ---------------------------------------------------------------------------
|
|
35
36
|
// Read
|
|
36
37
|
// ---------------------------------------------------------------------------
|
|
38
|
+
async function readConfigFile(projectRoot) {
|
|
39
|
+
const file = Bun.file(getConfigPath(projectRoot));
|
|
40
|
+
if (!(await file.exists()))
|
|
41
|
+
return {};
|
|
42
|
+
return G3nConfigFileSchema.parse(await file.json());
|
|
43
|
+
}
|
|
37
44
|
/**
|
|
38
|
-
* Loads `.g3n.config.json` from the project root
|
|
39
|
-
*
|
|
45
|
+
* Loads `.g3n.config.json` from the project root as a fully-defaulted view:
|
|
46
|
+
* sections missing on disk read as their defaults.
|
|
40
47
|
*/
|
|
41
48
|
export async function loadConfig(projectRoot) {
|
|
42
|
-
|
|
43
|
-
const file = Bun.file(configPath);
|
|
44
|
-
const exists = await file.exists();
|
|
45
|
-
if (!exists) {
|
|
46
|
-
return G3nConfigSchema.parse({});
|
|
47
|
-
}
|
|
48
|
-
const raw = await file.json();
|
|
49
|
-
return G3nConfigSchema.parse(raw);
|
|
49
|
+
return G3nConfigSchema.parse(await readConfigFile(projectRoot));
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
|
-
* Deep-merges updates into the existing config and writes back to disk.
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* @example
|
|
56
|
-
* await saveConfig(cwd, { g3nui: { settings: { componentsDir: "src/ui" } } })
|
|
52
|
+
* Deep-merges updates into the existing config file and writes back to disk.
|
|
53
|
+
* Only sections already on disk or named in `updates` are written — a
|
|
54
|
+
* package's init never materializes another package's section.
|
|
57
55
|
*/
|
|
58
56
|
export async function saveConfig(projectRoot, updates) {
|
|
59
|
-
const existing = await
|
|
60
|
-
const merged =
|
|
61
|
-
core: { ...existing.core, ...updates.core },
|
|
62
|
-
g3nui: { ...existing.g3nui, ...updates.g3nui, settings: { ...existing.g3nui.settings, ...updates.g3nui?.settings } },
|
|
63
|
-
g3nerate: { ...existing.g3nerate, ...updates.g3nerate, settings: { ...existing.g3nerate.settings, ...updates.g3nerate?.settings } },
|
|
64
|
-
skills: { ...existing.skills, ...updates.skills, settings: { ...existing.skills.settings, ...updates.skills?.settings } },
|
|
65
|
-
});
|
|
57
|
+
const existing = await readConfigFile(projectRoot);
|
|
58
|
+
const merged = G3nConfigFileSchema.parse(deepMerge(existing, updates));
|
|
66
59
|
await Bun.write(getConfigPath(projectRoot), JSON.stringify(merged, null, 2));
|
|
67
|
-
return merged;
|
|
60
|
+
return G3nConfigSchema.parse(merged);
|
|
68
61
|
}
|
|
69
62
|
// ---------------------------------------------------------------------------
|
|
70
63
|
// Section accessors
|
|
71
64
|
// ---------------------------------------------------------------------------
|
|
72
|
-
export async function loadCoreConfig(projectRoot) {
|
|
73
|
-
return (await loadConfig(projectRoot)).core;
|
|
74
|
-
}
|
|
75
65
|
export async function loadG3nuiConfig(projectRoot) {
|
|
76
66
|
return (await loadConfig(projectRoot)).g3nui;
|
|
77
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,eAAe,GAMhB,MAAM,SAAS,CAAC;AAEjB,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;IAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAClE,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAEvC,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,OAAO,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAO,GAAW,OAAO,CAAC,GAAG,EAAE;IAChE,IAAI,GAAG,GAAG,OAAO,CAAC;IAClB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QACnD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type {
|
|
2
|
-
export {
|
|
3
|
-
export { getConfigPath, resolveProjectRoot, loadConfig, saveConfig,
|
|
1
|
+
export type { G3nuiSettings, G3nuiConfig, G3nerateSettings, G3nerateConfig, SkillTarget, SkillsInstallDirs, SkillsSettings, SkillsConfig, G3nConfigFile, G3nConfig, } from "./types";
|
|
2
|
+
export { G3nuiSettingsSchema, G3nuiConfigSchema, G3nerateSettingsSchema, G3nerateConfigSchema, SkillTargetSchema, SkillsInstallDirsSchema, SkillsSettingsSchema, SkillsConfigSchema, G3nConfigFileSchema, G3nConfigSchema, } from "./types";
|
|
3
|
+
export { getConfigPath, resolveProjectRoot, loadConfig, saveConfig, loadG3nuiConfig, loadG3nerateConfig, loadSkillsConfig, configExists, } from "./config";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,UAAU,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { getConfigPath, resolveProjectRoot, loadConfig, saveConfig,
|
|
1
|
+
export { G3nuiSettingsSchema, G3nuiConfigSchema, G3nerateSettingsSchema, G3nerateConfigSchema, SkillTargetSchema, SkillsInstallDirsSchema, SkillsSettingsSchema, SkillsConfigSchema, G3nConfigFileSchema, G3nConfigSchema, } from "./types";
|
|
2
|
+
export { getConfigPath, resolveProjectRoot, loadConfig, saveConfig, loadG3nuiConfig, loadG3nerateConfig, loadSkillsConfig, configExists, } from "./config";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,UAAU,CAAC"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export declare const CoreConfigSchema: z.ZodObject<{
|
|
3
|
-
version: z.ZodDefault<z.ZodString>;
|
|
4
|
-
description: z.ZodDefault<z.ZodString>;
|
|
5
|
-
license: z.ZodDefault<z.ZodString>;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
/** Shared package metadata present on every non-core package section */
|
|
8
|
-
export declare const PackageMetaSchema: z.ZodObject<{
|
|
9
|
-
version: z.ZodDefault<z.ZodString>;
|
|
10
|
-
description: z.ZodDefault<z.ZodString>;
|
|
11
|
-
license: z.ZodDefault<z.ZodString>;
|
|
12
|
-
}, z.core.$strip>;
|
|
13
2
|
export declare const G3nuiSettingsSchema: z.ZodObject<{
|
|
14
3
|
componentsDir: z.ZodDefault<z.ZodString>;
|
|
15
4
|
includeDebugFiles: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -21,9 +10,6 @@ export declare const G3nuiSettingsSchema: z.ZodObject<{
|
|
|
21
10
|
registeredPackages: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
22
11
|
}, z.core.$strip>;
|
|
23
12
|
export declare const G3nuiConfigSchema: z.ZodObject<{
|
|
24
|
-
version: z.ZodDefault<z.ZodString>;
|
|
25
|
-
description: z.ZodDefault<z.ZodString>;
|
|
26
|
-
license: z.ZodDefault<z.ZodString>;
|
|
27
13
|
settings: z.ZodDefault<z.ZodObject<{
|
|
28
14
|
componentsDir: z.ZodDefault<z.ZodString>;
|
|
29
15
|
includeDebugFiles: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -39,9 +25,6 @@ export declare const G3nerateSettingsSchema: z.ZodObject<{
|
|
|
39
25
|
outputDir: z.ZodDefault<z.ZodString>;
|
|
40
26
|
}, z.core.$strip>;
|
|
41
27
|
export declare const G3nerateConfigSchema: z.ZodObject<{
|
|
42
|
-
version: z.ZodDefault<z.ZodString>;
|
|
43
|
-
description: z.ZodDefault<z.ZodString>;
|
|
44
|
-
license: z.ZodDefault<z.ZodString>;
|
|
45
28
|
settings: z.ZodDefault<z.ZodObject<{
|
|
46
29
|
outputDir: z.ZodDefault<z.ZodString>;
|
|
47
30
|
}, z.core.$strip>>;
|
|
@@ -66,9 +49,6 @@ export declare const SkillsSettingsSchema: z.ZodObject<{
|
|
|
66
49
|
}, z.core.$strip>>;
|
|
67
50
|
}, z.core.$strip>;
|
|
68
51
|
export declare const SkillsConfigSchema: z.ZodObject<{
|
|
69
|
-
version: z.ZodDefault<z.ZodString>;
|
|
70
|
-
description: z.ZodDefault<z.ZodString>;
|
|
71
|
-
license: z.ZodDefault<z.ZodString>;
|
|
72
52
|
settings: z.ZodDefault<z.ZodObject<{
|
|
73
53
|
filetreeRoot: z.ZodDefault<z.ZodString>;
|
|
74
54
|
targets: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
@@ -81,16 +61,42 @@ export declare const SkillsConfigSchema: z.ZodObject<{
|
|
|
81
61
|
}, z.core.$strip>>;
|
|
82
62
|
}, z.core.$strip>>;
|
|
83
63
|
}, z.core.$strip>;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
64
|
+
/** What `.g3n.config.json` holds on disk: only the sections a package's init has written. */
|
|
65
|
+
export declare const G3nConfigFileSchema: z.ZodObject<{
|
|
66
|
+
g3nui: z.ZodOptional<z.ZodObject<{
|
|
67
|
+
settings: z.ZodDefault<z.ZodObject<{
|
|
68
|
+
componentsDir: z.ZodDefault<z.ZodString>;
|
|
69
|
+
includeDebugFiles: z.ZodDefault<z.ZodBoolean>;
|
|
70
|
+
includeMetaFiles: z.ZodDefault<z.ZodBoolean>;
|
|
71
|
+
manifestFormat: z.ZodDefault<z.ZodEnum<{
|
|
72
|
+
json: "json";
|
|
73
|
+
ts: "ts";
|
|
74
|
+
}>>;
|
|
75
|
+
registeredPackages: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
76
|
+
}, z.core.$strip>>;
|
|
89
77
|
}, z.core.$strip>>;
|
|
78
|
+
g3nerate: z.ZodOptional<z.ZodObject<{
|
|
79
|
+
settings: z.ZodDefault<z.ZodObject<{
|
|
80
|
+
outputDir: z.ZodDefault<z.ZodString>;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
}, z.core.$strip>>;
|
|
83
|
+
skills: z.ZodOptional<z.ZodObject<{
|
|
84
|
+
settings: z.ZodDefault<z.ZodObject<{
|
|
85
|
+
filetreeRoot: z.ZodDefault<z.ZodString>;
|
|
86
|
+
targets: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
87
|
+
claude: "claude";
|
|
88
|
+
codex: "codex";
|
|
89
|
+
}>>>;
|
|
90
|
+
installDirs: z.ZodDefault<z.ZodObject<{
|
|
91
|
+
claude: z.ZodDefault<z.ZodString>;
|
|
92
|
+
codex: z.ZodDefault<z.ZodString>;
|
|
93
|
+
}, z.core.$strip>>;
|
|
94
|
+
}, z.core.$strip>>;
|
|
95
|
+
}, z.core.$strip>>;
|
|
96
|
+
}, z.core.$strip>;
|
|
97
|
+
/** The fully-defaulted view every consumer reads through `loadConfig`. */
|
|
98
|
+
export declare const G3nConfigSchema: z.ZodObject<{
|
|
90
99
|
g3nui: z.ZodDefault<z.ZodObject<{
|
|
91
|
-
version: z.ZodDefault<z.ZodString>;
|
|
92
|
-
description: z.ZodDefault<z.ZodString>;
|
|
93
|
-
license: z.ZodDefault<z.ZodString>;
|
|
94
100
|
settings: z.ZodDefault<z.ZodObject<{
|
|
95
101
|
componentsDir: z.ZodDefault<z.ZodString>;
|
|
96
102
|
includeDebugFiles: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -103,17 +109,11 @@ export declare const G3nConfigSchema: z.ZodObject<{
|
|
|
103
109
|
}, z.core.$strip>>;
|
|
104
110
|
}, z.core.$strip>>;
|
|
105
111
|
g3nerate: z.ZodDefault<z.ZodObject<{
|
|
106
|
-
version: z.ZodDefault<z.ZodString>;
|
|
107
|
-
description: z.ZodDefault<z.ZodString>;
|
|
108
|
-
license: z.ZodDefault<z.ZodString>;
|
|
109
112
|
settings: z.ZodDefault<z.ZodObject<{
|
|
110
113
|
outputDir: z.ZodDefault<z.ZodString>;
|
|
111
114
|
}, z.core.$strip>>;
|
|
112
115
|
}, z.core.$strip>>;
|
|
113
116
|
skills: z.ZodDefault<z.ZodObject<{
|
|
114
|
-
version: z.ZodDefault<z.ZodString>;
|
|
115
|
-
description: z.ZodDefault<z.ZodString>;
|
|
116
|
-
license: z.ZodDefault<z.ZodString>;
|
|
117
117
|
settings: z.ZodDefault<z.ZodObject<{
|
|
118
118
|
filetreeRoot: z.ZodDefault<z.ZodString>;
|
|
119
119
|
targets: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
@@ -127,8 +127,6 @@ export declare const G3nConfigSchema: z.ZodObject<{
|
|
|
127
127
|
}, z.core.$strip>>;
|
|
128
128
|
}, z.core.$strip>>;
|
|
129
129
|
}, z.core.$strip>;
|
|
130
|
-
export type CoreConfig = z.infer<typeof CoreConfigSchema>;
|
|
131
|
-
export type PackageMeta = z.infer<typeof PackageMetaSchema>;
|
|
132
130
|
export type G3nuiSettings = z.infer<typeof G3nuiSettingsSchema>;
|
|
133
131
|
export type G3nuiConfig = z.infer<typeof G3nuiConfigSchema>;
|
|
134
132
|
export type G3nerateSettings = z.infer<typeof G3nerateSettingsSchema>;
|
|
@@ -137,5 +135,6 @@ export type SkillTarget = z.infer<typeof SkillTargetSchema>;
|
|
|
137
135
|
export type SkillsInstallDirs = z.infer<typeof SkillsInstallDirsSchema>;
|
|
138
136
|
export type SkillsSettings = z.infer<typeof SkillsSettingsSchema>;
|
|
139
137
|
export type SkillsConfig = z.infer<typeof SkillsConfigSchema>;
|
|
138
|
+
export type G3nConfigFile = z.infer<typeof G3nConfigFileSchema>;
|
|
140
139
|
export type G3nConfig = z.infer<typeof G3nConfigSchema>;
|
|
141
140
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,mBAAmB;;;;;;;;;iBAW9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAE5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;iBAGjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;iBAE/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;EAA8B,CAAC;AAE7D,eAAO,MAAM,uBAAuB;;;iBAKlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;iBAO/B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAE7B,CAAC;AAMH,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI9B,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI1B,CAAC;AAMH,MAAM,MAAM,aAAa,GAAS,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,WAAW,GAAW,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACpE,MAAM,MAAM,gBAAgB,GAAM,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACzE,MAAM,MAAM,cAAc,GAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,WAAW,GAAW,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAK,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC1E,MAAM,MAAM,cAAc,GAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,YAAY,GAAU,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACrE,MAAM,MAAM,aAAa,GAAS,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,SAAS,GAAa,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
package/dist/config/types.js
CHANGED
|
@@ -1,19 +1,10 @@
|
|
|
1
1
|
// packages/core/src/config/types.ts
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
|
-
// Per-package section schemas
|
|
4
|
+
// Per-package section schemas — settings only. Package metadata (version,
|
|
5
|
+
// description, license) lives in each package's package.json and is read at
|
|
6
|
+
// runtime via `readPackageMeta`, never persisted here.
|
|
5
7
|
// ---------------------------------------------------------------------------
|
|
6
|
-
export const CoreConfigSchema = z.object({
|
|
7
|
-
version: z.string().default("0.1.0"),
|
|
8
|
-
description: z.string().default(""),
|
|
9
|
-
license: z.string().default("UNLICENSED"),
|
|
10
|
-
});
|
|
11
|
-
/** Shared package metadata present on every non-core package section */
|
|
12
|
-
export const PackageMetaSchema = z.object({
|
|
13
|
-
version: z.string().default("0.1.0"),
|
|
14
|
-
description: z.string().default(""),
|
|
15
|
-
license: z.string().default("UNLICENSED"),
|
|
16
|
-
});
|
|
17
8
|
export const G3nuiSettingsSchema = z.object({
|
|
18
9
|
/** Where components are installed in the user's project */
|
|
19
10
|
componentsDir: z.string().default("src/components/ui"),
|
|
@@ -26,14 +17,14 @@ export const G3nuiSettingsSchema = z.object({
|
|
|
26
17
|
/** External package adapters to load (e.g. ["shadcn"]) */
|
|
27
18
|
registeredPackages: z.array(z.string()).default([]),
|
|
28
19
|
});
|
|
29
|
-
export const G3nuiConfigSchema =
|
|
20
|
+
export const G3nuiConfigSchema = z.object({
|
|
30
21
|
settings: G3nuiSettingsSchema.default(() => G3nuiSettingsSchema.parse({})),
|
|
31
22
|
});
|
|
32
23
|
export const G3nerateSettingsSchema = z.object({
|
|
33
24
|
/** Output directory for generated files */
|
|
34
25
|
outputDir: z.string().default("src/generated"),
|
|
35
26
|
});
|
|
36
|
-
export const G3nerateConfigSchema =
|
|
27
|
+
export const G3nerateConfigSchema = z.object({
|
|
37
28
|
settings: G3nerateSettingsSchema.default(() => G3nerateSettingsSchema.parse({})),
|
|
38
29
|
});
|
|
39
30
|
export const SkillTargetSchema = z.enum(["claude", "codex"]);
|
|
@@ -51,14 +42,20 @@ export const SkillsSettingsSchema = z.object({
|
|
|
51
42
|
/** Install directory per target; the skills.json registry sits next to each */
|
|
52
43
|
installDirs: SkillsInstallDirsSchema.default(() => SkillsInstallDirsSchema.parse({})),
|
|
53
44
|
});
|
|
54
|
-
export const SkillsConfigSchema =
|
|
45
|
+
export const SkillsConfigSchema = z.object({
|
|
55
46
|
settings: SkillsSettingsSchema.default(() => SkillsSettingsSchema.parse({})),
|
|
56
47
|
});
|
|
57
48
|
// ---------------------------------------------------------------------------
|
|
58
|
-
// Root
|
|
49
|
+
// Root config schemas
|
|
59
50
|
// ---------------------------------------------------------------------------
|
|
51
|
+
/** What `.g3n.config.json` holds on disk: only the sections a package's init has written. */
|
|
52
|
+
export const G3nConfigFileSchema = z.object({
|
|
53
|
+
g3nui: G3nuiConfigSchema.optional(),
|
|
54
|
+
g3nerate: G3nerateConfigSchema.optional(),
|
|
55
|
+
skills: SkillsConfigSchema.optional(),
|
|
56
|
+
});
|
|
57
|
+
/** The fully-defaulted view every consumer reads through `loadConfig`. */
|
|
60
58
|
export const G3nConfigSchema = z.object({
|
|
61
|
-
core: CoreConfigSchema.default(() => CoreConfigSchema.parse({})),
|
|
62
59
|
g3nui: G3nuiConfigSchema.default(() => G3nuiConfigSchema.parse({})),
|
|
63
60
|
g3nerate: G3nerateConfigSchema.default(() => G3nerateConfigSchema.parse({})),
|
|
64
61
|
skills: SkillsConfigSchema.default(() => SkillsConfigSchema.parse({})),
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BaseFileEntry, BaseRegistryEntry } from "../registry/types";
|
|
2
|
+
import type { FileClassification, InstallerIO } from "./types";
|
|
3
|
+
/** `path → hash` map of a manifest entry's files; empty when never installed. */
|
|
4
|
+
export declare function recordedHashes(entry: Pick<BaseRegistryEntry, "files"> | undefined): Record<string, string>;
|
|
5
|
+
export declare function classifyFile<F extends BaseFileEntry>(file: F, installDir: string, recordedHash: string | undefined, io: InstallerIO, resolveLatestHash?: (file: F) => Promise<string>): Promise<FileClassification<F>>;
|
|
6
|
+
export declare function classifyFiles<F extends BaseFileEntry>(files: readonly F[], installDir: string, recorded: Record<string, string | undefined>, io: InstallerIO, resolveLatestHash?: (file: F) => Promise<string>): Promise<FileClassification<F>[]>;
|
|
7
|
+
//# sourceMappingURL=classify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/installer/classify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE9D,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM1G;AAoBD,wBAAsB,YAAY,CAAC,CAAC,SAAS,aAAa,EACxD,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,EAAE,EAAE,WAAW,EACf,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAC/C,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAUhC;AAED,wBAAsB,aAAa,CAAC,CAAC,SAAS,aAAa,EACzD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC5C,EAAE,EAAE,WAAW,EACf,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,GAC/C,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAMlC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// packages/core/src/installer/classify.ts
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { FileState } from "./types";
|
|
4
|
+
/** `path → hash` map of a manifest entry's files; empty when never installed. */
|
|
5
|
+
export function recordedHashes(entry) {
|
|
6
|
+
const map = {};
|
|
7
|
+
for (const file of entry?.files ?? []) {
|
|
8
|
+
if (file.hash)
|
|
9
|
+
map[file.path] = file.hash;
|
|
10
|
+
}
|
|
11
|
+
return map;
|
|
12
|
+
}
|
|
13
|
+
function resolveState(exists, currentHash, recordedHash, latestHash) {
|
|
14
|
+
if (!exists)
|
|
15
|
+
return FileState.SafeUpdate;
|
|
16
|
+
if (recordedHash === undefined) {
|
|
17
|
+
return currentHash === latestHash ? FileState.UpToDate : FileState.Conflict;
|
|
18
|
+
}
|
|
19
|
+
const userModified = currentHash !== recordedHash;
|
|
20
|
+
const registryChanged = latestHash !== recordedHash;
|
|
21
|
+
if (!userModified && !registryChanged)
|
|
22
|
+
return FileState.UpToDate;
|
|
23
|
+
if (!userModified)
|
|
24
|
+
return FileState.SafeUpdate;
|
|
25
|
+
if (!registryChanged)
|
|
26
|
+
return FileState.UserOnly;
|
|
27
|
+
return FileState.Conflict;
|
|
28
|
+
}
|
|
29
|
+
export async function classifyFile(file, installDir, recordedHash, io, resolveLatestHash) {
|
|
30
|
+
const destPath = path.join(installDir, file.path);
|
|
31
|
+
const latestHash = file.hash ?? (await resolveLatestHash?.(file));
|
|
32
|
+
if (latestHash === undefined) {
|
|
33
|
+
throw new Error(`no hash for "${file.path}" and no resolveLatestHash provided`);
|
|
34
|
+
}
|
|
35
|
+
const exists = io.exists(destPath);
|
|
36
|
+
const currentHash = exists ? await io.hashFile(destPath) : null;
|
|
37
|
+
const state = resolveState(exists, currentHash, recordedHash, latestHash);
|
|
38
|
+
return { file, destPath, state, exists, currentHash, recordedHash, latestHash };
|
|
39
|
+
}
|
|
40
|
+
export async function classifyFiles(files, installDir, recorded, io, resolveLatestHash) {
|
|
41
|
+
const classifications = [];
|
|
42
|
+
for (const file of files) {
|
|
43
|
+
classifications.push(await classifyFile(file, installDir, recorded[file.path], io, resolveLatestHash));
|
|
44
|
+
}
|
|
45
|
+
return classifications;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=classify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/installer/classify.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGnC,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,KAAmD;IAChF,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAA;IAC3C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,YAAY,CACnB,MAAe,EACf,WAA0B,EAC1B,YAAgC,EAChC,UAAkB;IAElB,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC,UAAU,CAAA;IACxC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAA;IAC7E,CAAC;IACD,MAAM,YAAY,GAAM,WAAW,KAAK,YAAY,CAAA;IACpD,MAAM,eAAe,GAAG,UAAU,KAAM,YAAY,CAAA;IACpD,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC,QAAQ,CAAA;IAChE,IAAI,CAAC,YAAY;QAAsB,OAAO,SAAS,CAAC,UAAU,CAAA;IAClE,IAAI,CAAC,eAAe;QAAmB,OAAO,SAAS,CAAC,QAAQ,CAAA;IAChE,OAAO,SAAS,CAAC,QAAQ,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAO,EACP,UAAkB,EAClB,YAAgC,EAChC,EAAe,EACf,iBAAgD;IAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACjE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,qCAAqC,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,MAAM,GAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACvC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/D,MAAM,KAAK,GAAS,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;IAC/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAmB,EACnB,UAAkB,EAClB,QAA4C,EAC5C,EAAe,EACf,iBAAgD;IAEhD,MAAM,eAAe,GAA4B,EAAE,CAAA;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,eAAe,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACxG,CAAC;IACD,OAAO,eAAe,CAAA;AACxB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./types";
|
|
2
|
+
export { createInstallerIO } from "./io";
|
|
3
|
+
export { classifyFile, classifyFiles, recordedHashes } from "./classify";
|
|
4
|
+
export { applyClassifications, copySource } from "./install";
|
|
5
|
+
export { removeInstalledFiles, pruneEmptyDirs } from "./remove";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// packages/core/src/installer/index.ts
|
|
2
|
+
export * from "./types";
|
|
3
|
+
export { createInstallerIO } from "./io";
|
|
4
|
+
export { classifyFile, classifyFiles, recordedHashes } from "./classify";
|
|
5
|
+
export { applyClassifications, copySource } from "./install";
|
|
6
|
+
export { removeInstalledFiles, pruneEmptyDirs } from "./remove";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA"}
|