chkit 0.1.0-beta.22 → 0.1.0-beta.24

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 (77) hide show
  1. package/dist/bin/chkit.js +61 -29
  2. package/dist/bin/chkit.js.map +1 -1
  3. package/dist/commands/check/command.d.ts +2 -2
  4. package/dist/commands/check/command.d.ts.map +1 -1
  5. package/dist/commands/check/command.js +85 -84
  6. package/dist/commands/check/command.js.map +1 -1
  7. package/dist/commands/drift/command.d.ts +2 -2
  8. package/dist/commands/drift/command.d.ts.map +1 -1
  9. package/dist/commands/drift/command.js +109 -108
  10. package/dist/commands/drift/command.js.map +1 -1
  11. package/dist/commands/generate/command.d.ts +2 -2
  12. package/dist/commands/generate/command.d.ts.map +1 -1
  13. package/dist/commands/generate/command.js +8 -6
  14. package/dist/commands/generate/command.js.map +1 -1
  15. package/dist/commands/init.js +1 -1
  16. package/dist/commands/init.js.map +1 -1
  17. package/dist/commands/migrate/command.d.ts +2 -2
  18. package/dist/commands/migrate/command.d.ts.map +1 -1
  19. package/dist/commands/migrate/command.js +14 -15
  20. package/dist/commands/migrate/command.js.map +1 -1
  21. package/dist/commands/plugin.d.ts +2 -2
  22. package/dist/commands/plugin.d.ts.map +1 -1
  23. package/dist/commands/plugin.js +12 -15
  24. package/dist/commands/plugin.js.map +1 -1
  25. package/dist/commands/query.d.ts +2 -2
  26. package/dist/commands/query.d.ts.map +1 -1
  27. package/dist/commands/query.js +24 -24
  28. package/dist/commands/query.js.map +1 -1
  29. package/dist/commands/status.d.ts +2 -2
  30. package/dist/commands/status.d.ts.map +1 -1
  31. package/dist/commands/status.js +53 -52
  32. package/dist/commands/status.js.map +1 -1
  33. package/dist/internal-plugins/core/plugin.d.ts +2 -0
  34. package/dist/internal-plugins/core/plugin.d.ts.map +1 -0
  35. package/dist/internal-plugins/core/plugin.js +21 -0
  36. package/dist/internal-plugins/core/plugin.js.map +1 -0
  37. package/dist/internal-plugins/index.d.ts.map +1 -1
  38. package/dist/internal-plugins/index.js +2 -1
  39. package/dist/internal-plugins/index.js.map +1 -1
  40. package/dist/plugins.d.ts +16 -32
  41. package/dist/plugins.d.ts.map +1 -1
  42. package/dist/plugins.js +0 -6
  43. package/dist/plugins.js.map +1 -1
  44. package/dist/runtime/command-dispatch.d.ts.map +1 -1
  45. package/dist/runtime/command-dispatch.js +78 -88
  46. package/dist/runtime/command-dispatch.js.map +1 -1
  47. package/dist/runtime/command-registry.d.ts +1 -4
  48. package/dist/runtime/command-registry.d.ts.map +1 -1
  49. package/dist/runtime/command-registry.js +33 -46
  50. package/dist/runtime/command-registry.js.map +1 -1
  51. package/dist/runtime/config-merge.d.ts +4 -0
  52. package/dist/runtime/config-merge.d.ts.map +1 -0
  53. package/dist/runtime/config-merge.js +72 -0
  54. package/dist/runtime/config-merge.js.map +1 -0
  55. package/dist/runtime/config.d.ts +11 -2
  56. package/dist/runtime/config.d.ts.map +1 -1
  57. package/dist/runtime/config.js +89 -12
  58. package/dist/runtime/config.js.map +1 -1
  59. package/dist/runtime/extract-config-path.d.ts +2 -0
  60. package/dist/runtime/extract-config-path.d.ts.map +1 -0
  61. package/dist/runtime/extract-config-path.js +13 -0
  62. package/dist/runtime/extract-config-path.js.map +1 -0
  63. package/dist/runtime/help.js +2 -2
  64. package/dist/runtime/help.js.map +1 -1
  65. package/dist/runtime/plugin-runtime/index.d.ts +1 -1
  66. package/dist/runtime/plugin-runtime/index.d.ts.map +1 -1
  67. package/dist/runtime/plugin-runtime/index.js +50 -16
  68. package/dist/runtime/plugin-runtime/index.js.map +1 -1
  69. package/dist/runtime/plugin-runtime/loader.d.ts +3 -6
  70. package/dist/runtime/plugin-runtime/loader.d.ts.map +1 -1
  71. package/dist/runtime/plugin-runtime/loader.js +6 -39
  72. package/dist/runtime/plugin-runtime/loader.js.map +1 -1
  73. package/dist/runtime/user-config.d.ts +4 -0
  74. package/dist/runtime/user-config.d.ts.map +1 -0
  75. package/dist/runtime/user-config.js +11 -0
  76. package/dist/runtime/user-config.js.map +1 -0
  77. package/package.json +7 -4
@@ -3,35 +3,112 @@ import { mkdir, writeFile } from 'node:fs/promises';
3
3
  import { dirname, resolve } from 'node:path';
4
4
  import process from 'node:process';
5
5
  import { pathToFileURL } from 'node:url';
6
- import { resolveConfig, } from '@chkit/core';
6
+ import { resolveConfig, SYNTHESIZED_CONFIG_PATH, } from '@chkit/core';
7
+ import { mergeUserConfig } from './config-merge.js';
7
8
  import { debug } from './debug.js';
9
+ import { getUserConfigDir, USER_CREDENTIALS_FILE, USER_PROFILE_CONFIG_FILE, } from './user-config.js';
8
10
  export const DEFAULT_CONFIG_FILE = 'clickhouse.config.ts';
9
11
  function isConfigFunction(candidate) {
10
12
  return typeof candidate === 'function';
11
13
  }
12
- export async function loadConfig(configPathArg, env = {}) {
13
- const configPath = resolve(process.cwd(), configPathArg ?? DEFAULT_CONFIG_FILE);
14
- debug('config', `resolving config at ${configPath}`);
15
- if (!existsSync(configPath)) {
16
- throw new Error(`Config not found at ${configPath}. Run 'chkit init' first.`);
14
+ export async function loadConfig(configPathArg, env = {}, options = {}) {
15
+ const cwd = options.cwd ?? process.cwd();
16
+ const userDir = options.userConfigDir ?? getUserConfigDir();
17
+ const projectPath = configPathArg
18
+ ? resolve(cwd, configPathArg)
19
+ : resolve(cwd, DEFAULT_CONFIG_FILE);
20
+ if (configPathArg) {
21
+ debug('config', `resolving explicit config at ${projectPath}`);
22
+ if (!existsSync(projectPath)) {
23
+ throw new Error(`Config not found at ${projectPath}.`);
24
+ }
17
25
  }
26
+ else {
27
+ debug('config', `looking for project config at ${projectPath}`);
28
+ }
29
+ const projectExists = existsSync(projectPath);
30
+ if (projectExists) {
31
+ const project = await readRawConfig(projectPath, env);
32
+ const layer = await readProfileLayer(userDir, env, options.allowSynthesizedProfileConfig);
33
+ if (layer) {
34
+ debug('config', `layering profile (${layer.source}, path=${layer.path}) under project`);
35
+ const merged = mergeUserConfig(layer.raw, project.raw);
36
+ return finalize(merged, project.path, 'project', true);
37
+ }
38
+ return finalize(project.raw, project.path, 'project', false);
39
+ }
40
+ const layer = await readProfileLayer(userDir, env, options.allowSynthesizedProfileConfig);
41
+ if (layer) {
42
+ return finalize(layer.raw, layer.path, layer.source, false);
43
+ }
44
+ if (options.command === 'query') {
45
+ throw new Error(`No project config found at ${projectPath}, and no ObsessionDB profile is available.\n` +
46
+ `Run 'chkit obsessiondb login' to query ObsessionDB from any directory, or run 'chkit init' in a project.`);
47
+ }
48
+ throw new Error(`Config not found at ${projectPath}.\n` +
49
+ `Either run 'chkit init' in your project, or run 'chkit obsessiondb login' to use chkit from any directory.`);
50
+ }
51
+ async function readRawConfig(configPath, env) {
18
52
  const mod = await import(pathToFileURL(configPath).href);
19
53
  const candidate = (mod.default ?? mod.config);
20
54
  if (!candidate) {
21
55
  throw new Error(`Config file ${configPath} must export a default/config object or a function via defineConfig.`);
22
56
  }
23
57
  const isFn = isConfigFunction(candidate);
24
- debug('config', `config export is ${isFn ? 'function' : 'object'}`);
25
- const userConfig = isFn ? await candidate(env) : candidate;
26
- const config = resolveConfig(userConfig);
27
- debug('config', `loaded`, {
58
+ debug('config', `config export is ${isFn ? 'function' : 'object'} (path=${configPath})`);
59
+ const raw = isFn ? await candidate(env) : candidate;
60
+ return { raw, path: configPath };
61
+ }
62
+ async function readProfileLayer(userDir, env, allowSynthesized) {
63
+ const profilePath = resolve(userDir, USER_PROFILE_CONFIG_FILE);
64
+ if (existsSync(profilePath)) {
65
+ debug('config', `found profile config at ${profilePath}`);
66
+ const { raw } = await readRawConfig(profilePath, env);
67
+ return { raw, path: profilePath, source: 'profile', origin: 'file' };
68
+ }
69
+ const credentialsPath = resolve(userDir, USER_CREDENTIALS_FILE);
70
+ if (existsSync(credentialsPath)) {
71
+ debug('config', `synthesizing profile layer from credentials at ${credentialsPath}`);
72
+ return synthesizedProfileLayer('credentials');
73
+ }
74
+ if (allowSynthesized) {
75
+ debug('config', 'synthesizing profile layer without existing credentials');
76
+ return synthesizedProfileLayer('synthetic');
77
+ }
78
+ return null;
79
+ }
80
+ function finalize(raw, path, source, profileLayered) {
81
+ const config = resolveConfig(raw);
82
+ debug('config', `loaded (source=${source}, profileLayered=${profileLayered})`, {
28
83
  schema: config.schema,
29
84
  outDir: config.outDir,
30
85
  migrationsDir: config.migrationsDir,
31
- clickhouse: config.clickhouse ? `${config.clickhouse.url} (db: ${config.clickhouse.database ?? 'default'})` : 'not configured',
86
+ clickhouse: config.clickhouse
87
+ ? `${config.clickhouse.url} (db: ${config.clickhouse.database ?? 'default'})`
88
+ : 'not configured',
32
89
  plugins: (config.plugins ?? []).length,
33
90
  });
34
- return { config, path: configPath };
91
+ return { config, path, source, profileLayered };
92
+ }
93
+ async function loadObsessionDBRegistration() {
94
+ try {
95
+ const mod = (await import('@chkit/plugin-obsessiondb'));
96
+ if (typeof mod.obsessiondb !== 'function') {
97
+ throw new Error('missing obsessiondb export');
98
+ }
99
+ return mod.obsessiondb();
100
+ }
101
+ catch (error) {
102
+ const message = error instanceof Error ? error.message : String(error);
103
+ throw new Error(`ObsessionDB profile fallback requires @chkit/plugin-obsessiondb, but it could not be loaded: ${message}`);
104
+ }
105
+ }
106
+ async function synthesizedProfileLayer(origin) {
107
+ const raw = {
108
+ schema: [],
109
+ plugins: [await loadObsessionDBRegistration()],
110
+ };
111
+ return { raw, path: SYNTHESIZED_CONFIG_PATH, source: 'profile', origin };
35
112
  }
36
113
  export async function writeIfMissing(filePath, content) {
37
114
  if (existsSync(filePath))
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function extractConfigPath(argv: string[]): string | undefined;
2
+ //# sourceMappingURL=extract-config-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-config-path.d.ts","sourceRoot":"","sources":["../../src/runtime/extract-config-path.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAQpE"}
@@ -0,0 +1,13 @@
1
+ export function extractConfigPath(argv) {
2
+ for (let i = 0; i < argv.length; i += 1) {
3
+ const token = argv[i];
4
+ if (token === '--')
5
+ return undefined;
6
+ if (token === '--config')
7
+ return argv[i + 1];
8
+ if (token?.startsWith('--config='))
9
+ return token.slice('--config='.length);
10
+ }
11
+ return undefined;
12
+ }
13
+ //# sourceMappingURL=extract-config-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-config-path.js","sourceRoot":"","sources":["../../src/runtime/extract-config-path.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,IAAc;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QACpC,IAAI,KAAK,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,IAAI,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -7,8 +7,8 @@ export function formatGlobalHelp(registry, version) {
7
7
  lines.push('');
8
8
  lines.push('Commands:');
9
9
  lines.push(` ${'init'.padEnd(14)} Scaffold a new project with config and example schema`);
10
- const coreCommands = registry.commands.filter((c) => !c.isPlugin);
11
- const pluginCommands = registry.commands.filter((c) => c.isPlugin);
10
+ const coreCommands = registry.commands.filter((c) => c.pluginName === 'core');
11
+ const pluginCommands = registry.commands.filter((c) => c.pluginName !== 'core');
12
12
  for (const cmd of coreCommands) {
13
13
  lines.push(` ${cmd.name.padEnd(14)} ${cmd.description}`);
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/runtime/help.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,gBAAgB,CAAC,QAAyB,EAAE,OAAe;IACzE,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,uBAAuB,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpB,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;IACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAEvB,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,wDAAwD,CAAC,CAAA;IAE1F,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACjE,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAElE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;gBACzD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oBAClC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;gBAC7D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;IAC7F,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,CAAA;IAEnG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAA0B,EAAE,WAA+B;IAC3F,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,sBAAsB,CAAC,CAAA;QACvD,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACvB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,YAAY,CAAC,CAAA;QAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACtB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;QACtC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,IAAiC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAClE,MAAM,KAAK,GAAG,GAAG,OAAO,GAAG,WAAW,EAAE,CAAA;IACxC,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACvB,OAAO,KAAK,KAAK,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC1D,CAAC;IACD,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAA;AACpD,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/runtime/help.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ResolvedChxConfig } from '@chkit/core';
1
+ import { type ResolvedChxConfig } from '@chkit/core';
2
2
  import type { ChxPlugin, PluginRuntime } from '../../plugins.js';
3
3
  export declare function loadPluginRuntime(input: {
4
4
  config: ResolvedChxConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/plugin-runtime/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,OAAO,KAAK,EACV,SAAS,EAGT,aAAa,EACd,MAAM,kBAAkB,CAAA;AAwBzB,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,iBAAiB,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;CAC9B,GAAG,OAAO,CAAC,aAAa,CAAC,CAoKzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/plugin-runtime/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpE,OAAO,KAAK,EACV,SAAS,EAGT,aAAa,EACd,MAAM,kBAAkB,CAAA;AAmCzB,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,iBAAiB,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,SAAS,EAAE,CAAA;CAC9B,GAAG,OAAO,CAAC,aAAa,CAAC,CA6LzB"}
@@ -1,28 +1,31 @@
1
- import { resolve } from 'node:path';
2
1
  import { createClickHouseExecutor } from '@chkit/clickhouse';
2
+ import { resolveOptions } from '@chkit/core';
3
3
  import { debug } from '../debug.js';
4
4
  import { formatPluginError } from './errors.js';
5
5
  import { wrapExecutorWithDebug } from './executor-debug.js';
6
- import { importPluginModule, normalizePluginRegistration, validatePlugin, } from './loader.js';
6
+ import { normalizePluginRegistration, validatePlugin, } from './loader.js';
7
7
  import { NULL_EXECUTOR } from './null-executor.js';
8
8
  import { UNFILTERED_TABLE_SCOPE, runOnAfterApply, runOnBeforeApply, runOnBeforePluginCommand, runOnCheck, runOnCheckReport, runOnComplete, runOnConfigLoaded, runOnInit, runOnPlanCreated, runOnSchemaLoaded, } from './hooks.js';
9
+ function resolvePluginOptions(plugin, options) {
10
+ if (!plugin.optionsSchema)
11
+ return options;
12
+ const result = plugin.optionsSchema.safeParse(options);
13
+ // Soft-validate at load time: command-level optionsSchema catches strict errors at dispatch.
14
+ // This lets hooks see filled-in defaults when valid, and raw values otherwise.
15
+ if (!result.success)
16
+ return options;
17
+ return result.data;
18
+ }
9
19
  export async function loadPluginRuntime(input) {
10
20
  const registrations = input.config.plugins ?? [];
11
21
  const loaded = [];
12
22
  const byName = new Map();
13
- const configDir = resolve(input.configPath, '..');
14
23
  for (const registration of registrations) {
15
24
  const normalized = normalizePluginRegistration(registration);
16
25
  if (!normalized.enabled)
17
26
  continue;
18
- const plugin = normalized.kind === 'inline'
19
- ? normalized.inlinePlugin
20
- : await importPluginModule(resolve(configDir, normalized.resolvePath));
21
- if (!plugin)
22
- continue;
23
- const sourceLabel = normalized.kind === 'inline'
24
- ? `inline registration${normalized.nameHint ? ` (${normalized.nameHint})` : ''}`
25
- : resolve(configDir, normalized.resolvePath);
27
+ const plugin = normalized.plugin;
28
+ const sourceLabel = `inline registration${normalized.nameHint ? ` (${normalized.nameHint})` : ''}`;
26
29
  validatePlugin(input.cliVersion, plugin, sourceLabel);
27
30
  if (normalized.nameHint && normalized.nameHint !== plugin.manifest.name) {
28
31
  throw new Error(`Plugin name mismatch for ${sourceLabel}: configured "${normalized.nameHint}" but manifest is "${plugin.manifest.name}".`);
@@ -34,23 +37,25 @@ export async function loadPluginRuntime(input) {
34
37
  hooks: Object.keys(plugin.hooks ?? {}),
35
38
  commands: (plugin.commands ?? []).map((c) => c.name),
36
39
  });
37
- const item = { plugin, options: normalized.options };
40
+ const resolved = resolvePluginOptions(plugin, normalized.options);
41
+ const item = { plugin, options: resolved, rawOptions: normalized.options };
38
42
  loaded.push(item);
39
43
  byName.set(plugin.manifest.name, item);
40
44
  }
41
45
  for (const plugin of input.internalPlugins ?? []) {
42
46
  if (byName.has(plugin.manifest.name))
43
47
  continue;
44
- const item = { plugin, options: {} };
48
+ const resolved = resolvePluginOptions(plugin, {});
49
+ const item = { plugin, options: resolved, rawOptions: {} };
45
50
  loaded.push(item);
46
51
  byName.set(plugin.manifest.name, item);
47
52
  }
48
- return {
53
+ const runtimeSelf = {
49
54
  plugins: loaded,
50
55
  async resolveContext(input) {
51
56
  const hasClickhouseConfig = !!input.config.clickhouse;
52
57
  debug('context', `resolving executor — clickhouse config: ${hasClickhouseConfig ? 'yes' : 'no'}`);
53
- const rawExecutor = hasClickhouseConfig
58
+ const rawExecutor = input.config.clickhouse
54
59
  ? createClickHouseExecutor(input.config.clickhouse)
55
60
  : NULL_EXECUTOR;
56
61
  const defaults = {
@@ -126,19 +131,48 @@ export async function loadPluginRuntime(input) {
126
131
  });
127
132
  if (beforeResult.handled)
128
133
  return beforeResult.exitCode;
134
+ let resolvedOptions = item.options;
135
+ if (command.optionsSchema) {
136
+ try {
137
+ resolvedOptions = resolveOptions(command.optionsSchema, item.options, context.flags, command.flagMapping ?? {});
138
+ }
139
+ catch (error) {
140
+ const message = error instanceof Error ? error.message : String(error);
141
+ if (context.jsonMode) {
142
+ context.print({ ok: false, command: commandName, error: message });
143
+ }
144
+ else {
145
+ context.print(`${commandName} failed: ${message}`);
146
+ }
147
+ return 2;
148
+ }
149
+ }
150
+ const pluginContext = await runtimeSelf.resolveContext({
151
+ config: context.config,
152
+ configPath: context.configPath,
153
+ command: commandName,
154
+ flags: context.flags,
155
+ });
129
156
  try {
130
157
  const code = await command.run({
131
158
  ...context,
132
159
  pluginName,
133
- options: item.options,
160
+ options: resolvedOptions,
161
+ rawOptions: item.rawOptions,
134
162
  tableScope: context.tableScope ?? UNFILTERED_TABLE_SCOPE,
163
+ pluginRuntime: runtimeSelf,
164
+ pluginContext,
135
165
  });
136
166
  return typeof code === 'number' ? code : 0;
137
167
  }
138
168
  catch (error) {
139
169
  throw formatPluginError(item.plugin.manifest.name, `command:${commandName}`, error);
140
170
  }
171
+ finally {
172
+ await runtimeSelf.disposeContext(pluginContext);
173
+ }
141
174
  },
142
175
  };
176
+ return runtimeSelf;
143
177
  }
144
178
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/plugin-runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/plugin-runtime/index.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
1
  import type { ChxPluginRegistration } from '@chkit/core';
2
2
  import type { ChxPlugin } from '../../plugins.js';
3
3
  export interface NormalizedRegistration {
4
- kind: 'legacy' | 'inline';
5
- resolvePath: string;
6
- inlinePlugin?: ChxPlugin;
7
- nameHint?: string;
4
+ plugin: ChxPlugin;
5
+ nameHint: string | undefined;
8
6
  enabled: boolean;
9
7
  options: Record<string, unknown>;
10
8
  }
11
9
  export declare function normalizePluginRegistration(entry: ChxPluginRegistration): NormalizedRegistration;
12
- export declare function validatePlugin(cliVersion: string, plugin: ChxPlugin, sourcePath: string): void;
13
- export declare function importPluginModule(absolutePath: string): Promise<ChxPlugin>;
10
+ export declare function validatePlugin(cliVersion: string, plugin: ChxPlugin, sourceLabel: string): void;
14
11
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/runtime/plugin-runtime/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,qBAAqB,GAC3B,sBAAsB,CA6BxB;AAUD,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,GACjB,IAAI,CAgCN;AAED,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAejF"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/runtime/plugin-runtime/loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,SAAS,CAAA;IACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,qBAAqB,GAC3B,sBAAsB,CAOxB;AAUD,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,MAAM,GAClB,IAAI,CAgCN"}
@@ -1,31 +1,9 @@
1
- import { pathToFileURL } from 'node:url';
2
- import { isInlinePluginRegistration } from '../../plugins.js';
3
1
  export function normalizePluginRegistration(entry) {
4
- if (typeof entry === 'string') {
5
- return {
6
- kind: 'legacy',
7
- resolvePath: entry,
8
- enabled: true,
9
- options: {},
10
- };
11
- }
12
- if (isInlinePluginRegistration(entry)) {
13
- return {
14
- kind: 'inline',
15
- resolvePath: '',
16
- inlinePlugin: entry.plugin,
17
- nameHint: entry.name,
18
- enabled: entry.enabled !== false,
19
- options: entry.options ?? {},
20
- };
21
- }
22
- const legacy = entry;
23
2
  return {
24
- kind: 'legacy',
25
- resolvePath: legacy.resolve,
26
- nameHint: legacy.name,
27
- enabled: legacy.enabled !== false,
28
- options: legacy.options ?? {},
3
+ plugin: entry.plugin,
4
+ nameHint: entry.name,
5
+ enabled: entry.enabled !== false,
6
+ options: entry.options ?? {},
29
7
  };
30
8
  }
31
9
  function parseCliMajor(version) {
@@ -35,10 +13,10 @@ function parseCliMajor(version) {
35
13
  }
36
14
  return major;
37
15
  }
38
- export function validatePlugin(cliVersion, plugin, sourcePath) {
16
+ export function validatePlugin(cliVersion, plugin, sourceLabel) {
39
17
  const name = plugin.manifest.name;
40
18
  if (!name || name.trim().length === 0) {
41
- throw new Error(`Plugin at ${sourcePath} has an empty manifest.name.`);
19
+ throw new Error(`Plugin at ${sourceLabel} has an empty manifest.name.`);
42
20
  }
43
21
  if (plugin.manifest.apiVersion !== 1) {
44
22
  throw new Error(`Plugin "${name}" requires apiVersion=${String(plugin.manifest.apiVersion)} but CLI supports apiVersion=1.`);
@@ -56,15 +34,4 @@ export function validatePlugin(cliVersion, plugin, sourcePath) {
56
34
  throw new Error(`Plugin "${name}" is incompatible with CLI ${cliVersion}. Requires cli major <= ${compatibility.maxMajor}.`);
57
35
  }
58
36
  }
59
- export async function importPluginModule(absolutePath) {
60
- const mod = (await import(pathToFileURL(absolutePath).href));
61
- const candidate = (mod.default ?? mod.plugin);
62
- if (!candidate || typeof candidate !== 'object') {
63
- throw new Error(`Plugin module ${absolutePath} must export default definePlugin(...)`);
64
- }
65
- if (!candidate.manifest || typeof candidate.manifest !== 'object') {
66
- throw new Error(`Plugin module ${absolutePath} is missing manifest.`);
67
- }
68
- return candidate;
69
- }
70
37
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/runtime/plugin-runtime/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/runtime/plugin-runtime/loader.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,2BAA2B,CACzC,KAA4B;IAE5B,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAmB;QACjC,QAAQ,EAAE,KAAK,CAAC,IAAI;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK;QAChC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;KAC7B,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;IACzD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,0BAA0B,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,UAAkB,EAClB,MAAiB,EACjB,WAAmB;IAEnB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAA;IACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,aAAa,WAAW,8BAA8B,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,yBAAyB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,iCAAiC,CAC5G,CAAA;IACH,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAA;IACxD,IAAI,CAAC,aAAa;QAAE,OAAM;IAE1B,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IAC1C,IACE,aAAa,CAAC,QAAQ,KAAK,SAAS;QACpC,QAAQ,GAAG,aAAa,CAAC,QAAQ,EACjC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,8BAA8B,UAAU,2BAA2B,aAAa,CAAC,QAAQ,GAAG,CAC5G,CAAA;IACH,CAAC;IACD,IACE,aAAa,CAAC,QAAQ,KAAK,SAAS;QACpC,QAAQ,GAAG,aAAa,CAAC,QAAQ,EACjC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,8BAA8B,UAAU,2BAA2B,aAAa,CAAC,QAAQ,GAAG,CAC5G,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function getUserConfigDir(): string;
2
+ export declare const USER_PROFILE_CONFIG_FILE = "config.ts";
3
+ export declare const USER_CREDENTIALS_FILE = "credentials.json";
4
+ //# sourceMappingURL=user-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-config.d.ts","sourceRoot":"","sources":["../../src/runtime/user-config.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,eAAO,MAAM,wBAAwB,cAAc,CAAA;AACnD,eAAO,MAAM,qBAAqB,qBAAqB,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { homedir } from 'node:os';
2
+ import { join } from 'node:path';
3
+ import process from 'node:process';
4
+ export function getUserConfigDir() {
5
+ const xdgConfig = process.env.XDG_CONFIG_HOME;
6
+ const configDir = xdgConfig && xdgConfig.length > 0 ? xdgConfig : join(homedir(), '.config');
7
+ return join(configDir, 'chkit');
8
+ }
9
+ export const USER_PROFILE_CONFIG_FILE = 'config.ts';
10
+ export const USER_CREDENTIALS_FILE = 'credentials.json';
11
+ //# sourceMappingURL=user-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../src/runtime/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,MAAM,UAAU,gBAAgB;IAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAA;IAC7C,MAAM,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;IAC5F,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAA;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chkit",
3
- "version": "0.1.0-beta.22",
3
+ "version": "0.1.0-beta.24",
4
4
  "description": "ClickHouse schema and migration CLI for TypeScript projects",
5
5
  "license": "MIT",
6
6
  "author": "ObsessionDB",
@@ -40,9 +40,12 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "fast-glob": "^3.3.2",
43
- "@chkit/clickhouse": "0.1.0-beta.22",
44
- "@chkit/codegen": "0.1.0-beta.22",
45
- "@chkit/core": "0.1.0-beta.22",
43
+ "@chkit/clickhouse": "0.1.0-beta.24",
44
+ "@chkit/codegen": "0.1.0-beta.24",
45
+ "@chkit/core": "0.1.0-beta.24",
46
46
  "@logtape/logtape": "^2.0.5"
47
+ },
48
+ "optionalDependencies": {
49
+ "@chkit/plugin-obsessiondb": "0.1.0-beta.22"
47
50
  }
48
51
  }