@kb-labs/impact-core 2.94.0 → 2.98.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/index.d.ts CHANGED
@@ -6,11 +6,11 @@ import '@kb-labs/impact-contracts';
6
6
  declare const ImpactError: {
7
7
  WorkspaceNotFound: {
8
8
  new (details?: Record<string, unknown>): PluginError;
9
- new (...args: any[]): PluginError;
9
+ new (...args: unknown[]): PluginError;
10
10
  };
11
11
  ConfigInvalid: {
12
12
  new (details?: Record<string, unknown>): PluginError;
13
- new (...args: any[]): PluginError;
13
+ new (...args: unknown[]): PluginError;
14
14
  };
15
15
  } & {
16
16
  is(error: unknown): error is PluginError;
@@ -19,35 +19,35 @@ declare const ImpactError: {
19
19
  declare const CommonError: {
20
20
  ValidationFailed: {
21
21
  new (details?: Record<string, unknown>): PluginError;
22
- new (...args: any[]): PluginError;
22
+ new (...args: unknown[]): PluginError;
23
23
  };
24
24
  NotFound: {
25
25
  new (details?: Record<string, unknown>): PluginError;
26
- new (...args: any[]): PluginError;
26
+ new (...args: unknown[]): PluginError;
27
27
  };
28
28
  Unauthorized: {
29
29
  new (details?: Record<string, unknown>): PluginError;
30
- new (...args: any[]): PluginError;
30
+ new (...args: unknown[]): PluginError;
31
31
  };
32
32
  Forbidden: {
33
33
  new (details?: Record<string, unknown>): PluginError;
34
- new (...args: any[]): PluginError;
34
+ new (...args: unknown[]): PluginError;
35
35
  };
36
36
  InternalError: {
37
37
  new (details?: Record<string, unknown>): PluginError;
38
- new (...args: any[]): PluginError;
38
+ new (...args: unknown[]): PluginError;
39
39
  };
40
40
  ServiceUnavailable: {
41
41
  new (details?: Record<string, unknown>): PluginError;
42
- new (...args: any[]): PluginError;
42
+ new (...args: unknown[]): PluginError;
43
43
  };
44
44
  Timeout: {
45
45
  new (details?: Record<string, unknown>): PluginError;
46
- new (...args: any[]): PluginError;
46
+ new (...args: unknown[]): PluginError;
47
47
  };
48
48
  Conflict: {
49
49
  new (details?: Record<string, unknown>): PluginError;
50
- new (...args: any[]): PluginError;
50
+ new (...args: unknown[]): PluginError;
51
51
  };
52
52
  } & {
53
53
  is(error: unknown): error is PluginError;
@@ -1,4 +1,4 @@
1
- import * as _kb_labs_perm_presets from '@kb-labs/perm-presets';
1
+ import * as _kb_labs_plugin_contracts from '@kb-labs/plugin-contracts';
2
2
 
3
3
  declare const manifest: {
4
4
  schema: string;
@@ -11,13 +11,16 @@ declare const manifest: {
11
11
  tags: string[];
12
12
  };
13
13
  cli: {
14
- commands: {
15
- id: string;
16
- group: string;
14
+ groupMeta: {
15
+ path: string;
17
16
  describe: string;
17
+ }[];
18
+ commands: ({
19
+ path: string;
20
+ describe: string;
21
+ operationType: "analyze";
18
22
  longDescription: string;
19
23
  handler: string;
20
- handlerPath: string;
21
24
  flags: {
22
25
  name: string;
23
26
  type: "string" | "boolean" | "number" | "array";
@@ -28,10 +31,27 @@ declare const manifest: {
28
31
  required?: boolean;
29
32
  }[];
30
33
  examples: string[];
31
- permissions: _kb_labs_perm_presets.RuntimePermissionSpec;
32
- }[];
34
+ permissions: _kb_labs_plugin_contracts.PermissionSpec;
35
+ } | {
36
+ path: string;
37
+ describe: string;
38
+ operationType: "read";
39
+ longDescription: string;
40
+ handler: string;
41
+ flags: {
42
+ name: string;
43
+ type: "string" | "boolean" | "number" | "array";
44
+ alias?: string;
45
+ default?: unknown;
46
+ description?: string;
47
+ choices?: string[];
48
+ required?: boolean;
49
+ }[];
50
+ examples: string[];
51
+ permissions: _kb_labs_plugin_contracts.PermissionSpec;
52
+ })[];
33
53
  };
34
- permissions: _kb_labs_perm_presets.RuntimePermissionSpec;
54
+ permissions: _kb_labs_plugin_contracts.PermissionSpec;
35
55
  };
36
56
 
37
57
  export { manifest as default, manifest };
@@ -22,18 +22,20 @@ var manifest = {
22
22
  configSection: "impact",
23
23
  display: {
24
24
  name: "Impact Analysis",
25
- description: "Analyze workspace changes: affected packages, stale docs, reindex needs.",
25
+ description: "Analyze affected packages, stale docs, reindex",
26
26
  tags: ["impact", "analysis", "dependencies", "docs"]
27
27
  },
28
28
  cli: {
29
+ groupMeta: [
30
+ { path: "impact", describe: "Impact analysis commands" }
31
+ ],
29
32
  commands: [
30
33
  {
31
- id: "impact:check",
32
- group: "impact",
34
+ path: "impact check",
33
35
  describe: "Full impact analysis (packages + docs)",
36
+ operationType: "analyze",
34
37
  longDescription: "Analyzes workspace changes to determine affected packages (direct, dependent, transitive) and stale documentation.",
35
38
  handler: "./cli/commands/check.js#default",
36
- handlerPath: "./cli/commands/check.js",
37
39
  flags: defineCommandFlags(jsonFlag),
38
40
  examples: generateExamples("check", "impact", [
39
41
  { description: "Full impact analysis", flags: {} },
@@ -42,12 +44,11 @@ var manifest = {
42
44
  permissions: pluginPermissions
43
45
  },
44
46
  {
45
- id: "impact:packages",
46
- group: "impact",
47
+ path: "impact packages",
47
48
  describe: "Package dependency impact analysis",
49
+ operationType: "read",
48
50
  longDescription: "Shows which packages are directly changed, which depend on them, and which are transitively affected.",
49
51
  handler: "./cli/commands/packages.js#default",
50
- handlerPath: "./cli/commands/packages.js",
51
52
  flags: defineCommandFlags(jsonFlag),
52
53
  examples: generateExamples("packages", "impact", [
53
54
  { description: "Package impact", flags: {} },
@@ -56,12 +57,11 @@ var manifest = {
56
57
  permissions: pluginPermissions
57
58
  },
58
59
  {
59
- id: "impact:docs",
60
- group: "impact",
60
+ path: "impact docs",
61
61
  describe: "Documentation impact analysis",
62
+ operationType: "read",
62
63
  longDescription: "Checks which documentation files are stale, need review, or require reindexing based on package changes.",
63
64
  handler: "./cli/commands/docs.js#default",
64
- handlerPath: "./cli/commands/docs.js",
65
65
  flags: defineCommandFlags(jsonFlag),
66
66
  examples: generateExamples("docs", "impact", [
67
67
  { description: "Doc impact", flags: {} },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/manifest.v3.ts"],"names":[],"mappings":";;;AAEA,IAAM,iBAAA,GAAoB,kBAAA,EAAmB,CAC1C,MAAA,CAAO;AAAA,EACN,IAAA,EAAM,MAAA;AAAA,EACN,KAAA,EAAO,CAAC,MAAM;AAChB,CAAC,EACA,UAAA,CAAW;AAAA,EACV,SAAA,EAAW,GAAA;AAAA,EACX,QAAA,EAAU;AACZ,CAAC,EACA,KAAA,EAAM;AAET,IAAM,QAAA,GAAW;AAAA,EACf,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,gBAAA;AAAA,IACb,OAAA,EAAS;AAAA;AAEb,CAAA;AAEO,IAAM,QAAA,GAAW;AAAA,EACtB,MAAA,EAAQ,aAAA;AAAA,EACR,EAAA,EAAI,iBAAA;AAAA,EACJ,OAAA,EAAS,OAAA;AAAA,EAET,aAAA,EAAe,QAAA;AAAA,EAEf,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,iBAAA;AAAA,IACN,WAAA,EAAa,0EAAA;AAAA,IACb,IAAA,EAAM,CAAC,QAAA,EAAU,UAAA,EAAY,gBAAgB,MAAM;AAAA,GACrD;AAAA,EAEA,GAAA,EAAK;AAAA,IACH,QAAA,EAAU;AAAA,MACR;AAAA,QACE,EAAA,EAAI,cAAA;AAAA,QACJ,KAAA,EAAO,QAAA;AAAA,QACP,QAAA,EAAU,wCAAA;AAAA,QACV,eAAA,EACE,oHAAA;AAAA,QAEF,OAAA,EAAS,iCAAA;AAAA,QACT,WAAA,EAAa,yBAAA;AAAA,QAEb,KAAA,EAAO,mBAAmB,QAAQ,CAAA;AAAA,QAElC,QAAA,EAAU,gBAAA,CAAiB,OAAA,EAAS,QAAA,EAAU;AAAA,UAC5C,EAAE,WAAA,EAAa,sBAAA,EAAwB,KAAA,EAAO,EAAC,EAAE;AAAA,UACjD,EAAE,WAAA,EAAa,wBAAA,EAA0B,OAAO,EAAE,IAAA,EAAM,MAAK;AAAE,SAChE,CAAA;AAAA,QAED,WAAA,EAAa;AAAA,OACf;AAAA,MACA;AAAA,QACE,EAAA,EAAI,iBAAA;AAAA,QACJ,KAAA,EAAO,QAAA;AAAA,QACP,QAAA,EAAU,oCAAA;AAAA,QACV,eAAA,EACE,uGAAA;AAAA,QAEF,OAAA,EAAS,oCAAA;AAAA,QACT,WAAA,EAAa,4BAAA;AAAA,QAEb,KAAA,EAAO,mBAAmB,QAAQ,CAAA;AAAA,QAElC,QAAA,EAAU,gBAAA,CAAiB,UAAA,EAAY,QAAA,EAAU;AAAA,UAC/C,EAAE,WAAA,EAAa,gBAAA,EAAkB,KAAA,EAAO,EAAC,EAAE;AAAA,UAC3C,EAAE,WAAA,EAAa,aAAA,EAAe,OAAO,EAAE,IAAA,EAAM,MAAK;AAAE,SACrD,CAAA;AAAA,QAED,WAAA,EAAa;AAAA,OACf;AAAA,MACA;AAAA,QACE,EAAA,EAAI,aAAA;AAAA,QACJ,KAAA,EAAO,QAAA;AAAA,QACP,QAAA,EAAU,+BAAA;AAAA,QACV,eAAA,EACE,0GAAA;AAAA,QAEF,OAAA,EAAS,gCAAA;AAAA,QACT,WAAA,EAAa,wBAAA;AAAA,QAEb,KAAA,EAAO,mBAAmB,QAAQ,CAAA;AAAA,QAElC,QAAA,EAAU,gBAAA,CAAiB,MAAA,EAAQ,QAAA,EAAU;AAAA,UAC3C,EAAE,WAAA,EAAa,YAAA,EAAc,KAAA,EAAO,EAAC,EAAE;AAAA,UACvC,EAAE,WAAA,EAAa,aAAA,EAAe,OAAO,EAAE,IAAA,EAAM,MAAK;AAAE,SACrD,CAAA;AAAA,QAED,WAAA,EAAa;AAAA;AACf;AACF,GACF;AAAA,EAEA,WAAA,EAAa;AACf;AAEA,IAAO,mBAAA,GAAQ","file":"manifest.v3.js","sourcesContent":["import { defineCommandFlags, combinePermissions, generateExamples } from '@kb-labs/sdk';\n\nconst pluginPermissions = combinePermissions()\n .withFs({\n mode: 'read',\n allow: ['**/*'],\n })\n .withQuotas({\n timeoutMs: 30000,\n memoryMb: 256,\n })\n .build();\n\nconst jsonFlag = {\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n};\n\nexport const manifest = {\n schema: 'kb.plugin/3',\n id: '@kb-labs/impact',\n version: '0.1.0',\n\n configSection: 'impact',\n\n display: {\n name: 'Impact Analysis',\n description: 'Analyze workspace changes: affected packages, stale docs, reindex needs.',\n tags: ['impact', 'analysis', 'dependencies', 'docs'],\n },\n\n cli: {\n commands: [\n {\n id: 'impact:check',\n group: 'impact',\n describe: 'Full impact analysis (packages + docs)',\n longDescription:\n 'Analyzes workspace changes to determine affected packages (direct, dependent, transitive) and stale documentation.',\n\n handler: './cli/commands/check.js#default',\n handlerPath: './cli/commands/check.js',\n\n flags: defineCommandFlags(jsonFlag),\n\n examples: generateExamples('check', 'impact', [\n { description: 'Full impact analysis', flags: {} },\n { description: 'JSON output for agents', flags: { json: true } },\n ]),\n\n permissions: pluginPermissions,\n },\n {\n id: 'impact:packages',\n group: 'impact',\n describe: 'Package dependency impact analysis',\n longDescription:\n 'Shows which packages are directly changed, which depend on them, and which are transitively affected.',\n\n handler: './cli/commands/packages.js#default',\n handlerPath: './cli/commands/packages.js',\n\n flags: defineCommandFlags(jsonFlag),\n\n examples: generateExamples('packages', 'impact', [\n { description: 'Package impact', flags: {} },\n { description: 'JSON output', flags: { json: true } },\n ]),\n\n permissions: pluginPermissions,\n },\n {\n id: 'impact:docs',\n group: 'impact',\n describe: 'Documentation impact analysis',\n longDescription:\n 'Checks which documentation files are stale, need review, or require reindexing based on package changes.',\n\n handler: './cli/commands/docs.js#default',\n handlerPath: './cli/commands/docs.js',\n\n flags: defineCommandFlags(jsonFlag),\n\n examples: generateExamples('docs', 'impact', [\n { description: 'Doc impact', flags: {} },\n { description: 'JSON output', flags: { json: true } },\n ]),\n\n permissions: pluginPermissions,\n },\n ],\n },\n\n permissions: pluginPermissions,\n};\n\nexport default manifest;\n"]}
1
+ {"version":3,"sources":["../src/manifest.v3.ts"],"names":[],"mappings":";;;AAEA,IAAM,iBAAA,GAAoB,kBAAA,EAAmB,CAC1C,MAAA,CAAO;AAAA,EACN,IAAA,EAAM,MAAA;AAAA,EACN,KAAA,EAAO,CAAC,MAAM;AAChB,CAAC,EACA,UAAA,CAAW;AAAA,EACV,SAAA,EAAW,GAAA;AAAA,EACX,QAAA,EAAU;AACZ,CAAC,EACA,KAAA,EAAM;AAET,IAAM,QAAA,GAAW;AAAA,EACf,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa,gBAAA;AAAA,IACb,OAAA,EAAS;AAAA;AAEb,CAAA;AAEO,IAAM,QAAA,GAAW;AAAA,EACtB,MAAA,EAAQ,aAAA;AAAA,EACR,EAAA,EAAI,iBAAA;AAAA,EACJ,OAAA,EAAS,OAAA;AAAA,EAET,aAAA,EAAe,QAAA;AAAA,EAEf,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,iBAAA;AAAA,IACN,WAAA,EAAa,gDAAA;AAAA,IACb,IAAA,EAAM,CAAC,QAAA,EAAU,UAAA,EAAY,gBAAgB,MAAM;AAAA,GACrD;AAAA,EAEA,GAAA,EAAK;AAAA,IACH,SAAA,EAAW;AAAA,MACT,EAAE,IAAA,EAAM,QAAA,EAAU,QAAA,EAAU,0BAAA;AAA2B,KACzD;AAAA,IACA,QAAA,EAAU;AAAA,MACR;AAAA,QACE,IAAA,EAAM,cAAA;AAAA,QACN,QAAA,EAAU,wCAAA;AAAA,QACV,aAAA,EAAe,SAAA;AAAA,QACf,eAAA,EACE,oHAAA;AAAA,QAEF,OAAA,EAAS,iCAAA;AAAA,QAET,KAAA,EAAO,mBAAmB,QAAQ,CAAA;AAAA,QAElC,QAAA,EAAU,gBAAA,CAAiB,OAAA,EAAS,QAAA,EAAU;AAAA,UAC5C,EAAE,WAAA,EAAa,sBAAA,EAAwB,KAAA,EAAO,EAAC,EAAE;AAAA,UACjD,EAAE,WAAA,EAAa,wBAAA,EAA0B,OAAO,EAAE,IAAA,EAAM,MAAK;AAAE,SAChE,CAAA;AAAA,QAED,WAAA,EAAa;AAAA,OACf;AAAA,MACA;AAAA,QACE,IAAA,EAAM,iBAAA;AAAA,QACN,QAAA,EAAU,oCAAA;AAAA,QACV,aAAA,EAAe,MAAA;AAAA,QACf,eAAA,EACE,uGAAA;AAAA,QAEF,OAAA,EAAS,oCAAA;AAAA,QAET,KAAA,EAAO,mBAAmB,QAAQ,CAAA;AAAA,QAElC,QAAA,EAAU,gBAAA,CAAiB,UAAA,EAAY,QAAA,EAAU;AAAA,UAC/C,EAAE,WAAA,EAAa,gBAAA,EAAkB,KAAA,EAAO,EAAC,EAAE;AAAA,UAC3C,EAAE,WAAA,EAAa,aAAA,EAAe,OAAO,EAAE,IAAA,EAAM,MAAK;AAAE,SACrD,CAAA;AAAA,QAED,WAAA,EAAa;AAAA,OACf;AAAA,MACA;AAAA,QACE,IAAA,EAAM,aAAA;AAAA,QACN,QAAA,EAAU,+BAAA;AAAA,QACV,aAAA,EAAe,MAAA;AAAA,QACf,eAAA,EACE,0GAAA;AAAA,QAEF,OAAA,EAAS,gCAAA;AAAA,QAET,KAAA,EAAO,mBAAmB,QAAQ,CAAA;AAAA,QAElC,QAAA,EAAU,gBAAA,CAAiB,MAAA,EAAQ,QAAA,EAAU;AAAA,UAC3C,EAAE,WAAA,EAAa,YAAA,EAAc,KAAA,EAAO,EAAC,EAAE;AAAA,UACvC,EAAE,WAAA,EAAa,aAAA,EAAe,OAAO,EAAE,IAAA,EAAM,MAAK;AAAE,SACrD,CAAA;AAAA,QAED,WAAA,EAAa;AAAA;AACf;AACF,GACF;AAAA,EAEA,WAAA,EAAa;AACf;AAEA,IAAO,mBAAA,GAAQ","file":"manifest.v3.js","sourcesContent":["import { defineCommandFlags, combinePermissions, generateExamples } from '@kb-labs/sdk';\n\nconst pluginPermissions = combinePermissions()\n .withFs({\n mode: 'read',\n allow: ['**/*'],\n })\n .withQuotas({\n timeoutMs: 30000,\n memoryMb: 256,\n })\n .build();\n\nconst jsonFlag = {\n json: {\n type: 'boolean' as const,\n description: 'Output as JSON',\n default: false,\n },\n};\n\nexport const manifest = {\n schema: 'kb.plugin/3',\n id: '@kb-labs/impact',\n version: '0.1.0',\n\n configSection: 'impact',\n\n display: {\n name: 'Impact Analysis',\n description: 'Analyze affected packages, stale docs, reindex',\n tags: ['impact', 'analysis', 'dependencies', 'docs'],\n },\n\n cli: {\n groupMeta: [\n { path: 'impact', describe: 'Impact analysis commands' },\n ],\n commands: [\n {\n path: 'impact check',\n describe: 'Full impact analysis (packages + docs)',\n operationType: 'analyze' as const,\n longDescription:\n 'Analyzes workspace changes to determine affected packages (direct, dependent, transitive) and stale documentation.',\n\n handler: './cli/commands/check.js#default',\n\n flags: defineCommandFlags(jsonFlag),\n\n examples: generateExamples('check', 'impact', [\n { description: 'Full impact analysis', flags: {} },\n { description: 'JSON output for agents', flags: { json: true } },\n ]),\n\n permissions: pluginPermissions,\n },\n {\n path: 'impact packages',\n describe: 'Package dependency impact analysis',\n operationType: 'read' as const,\n longDescription:\n 'Shows which packages are directly changed, which depend on them, and which are transitively affected.',\n\n handler: './cli/commands/packages.js#default',\n\n flags: defineCommandFlags(jsonFlag),\n\n examples: generateExamples('packages', 'impact', [\n { description: 'Package impact', flags: {} },\n { description: 'JSON output', flags: { json: true } },\n ]),\n\n permissions: pluginPermissions,\n },\n {\n path: 'impact docs',\n describe: 'Documentation impact analysis',\n operationType: 'read' as const,\n longDescription:\n 'Checks which documentation files are stale, need review, or require reindexing based on package changes.',\n\n handler: './cli/commands/docs.js#default',\n\n flags: defineCommandFlags(jsonFlag),\n\n examples: generateExamples('docs', 'impact', [\n { description: 'Doc impact', flags: {} },\n { description: 'JSON output', flags: { json: true } },\n ]),\n\n permissions: pluginPermissions,\n },\n ],\n },\n\n permissions: pluginPermissions,\n};\n\nexport default manifest;\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kb-labs/impact-core",
3
3
  "description": "Core implementation of KB Labs Impact Analysis Plugin.",
4
- "version": "2.94.0",
4
+ "version": "2.98.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -25,16 +25,16 @@
25
25
  ],
26
26
  "dependencies": {
27
27
  "zod": "^3.25.76",
28
- "@kb-labs/sdk": "2.21.2",
29
- "@kb-labs/impact-contracts": "2.94.0"
28
+ "@kb-labs/impact-contracts": "2.98.0",
29
+ "@kb-labs/sdk": "2.22.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^24.3.3",
33
33
  "rimraf": "^6.0.1",
34
34
  "tsup": "^8.5.0",
35
35
  "typescript": "^5.6.3",
36
- "vitest": "^3.2.4",
37
- "@kb-labs/devkit": "2.94.0"
36
+ "vitest": "^3.2.6",
37
+ "@kb-labs/devkit": "2.98.0"
38
38
  },
39
39
  "engines": {
40
40
  "node": ">=20.0.0",