kibi-cli 0.1.0 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"prolog.d.ts","sourceRoot":"","sources":["../src/prolog.ts"],"names":[],"mappings":"AAoDA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,cAAc,CACyC;IAC/D,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,aAAa,CAA6B;gBAEtC,OAAO,GAAE,aAAkB;IAKjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAqCd,YAAY;IAapB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAmF1D,eAAe,IAAI,IAAI;IAIvB,OAAO,CAAC,eAAe;YAYT,YAAY;IA0B1B,OAAO,CAAC,WAAW;IA8EnB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,cAAc;IA8BtB,SAAS,IAAI,OAAO;IAIpB,MAAM,IAAI,MAAM;IAIV,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAyBjC"}
1
+ {"version":3,"file":"prolog.d.ts","sourceRoot":"","sources":["../src/prolog.ts"],"names":[],"mappings":"AA4EA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,cAAc,CACyC;IAC/D,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,aAAa,CAA6B;gBAEtC,OAAO,GAAE,aAAkB;IAKjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAoCd,YAAY;IAapB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAmF1D,eAAe,IAAI,IAAI;IAIvB,OAAO,CAAC,eAAe;YAYT,YAAY;IA0B1B,OAAO,CAAC,WAAW;IA8EnB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,cAAc;IA8BtB,SAAS,IAAI,OAAO;IAIpB,MAAM,IAAI,MAAM;IAIV,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAyBjC"}
package/dist/prolog.js CHANGED
@@ -44,9 +44,31 @@
44
44
  */
45
45
  import { spawn, spawnSync } from "node:child_process";
46
46
  import { existsSync } from "node:fs";
47
+ import { createRequire } from "node:module";
47
48
  import path from "node:path";
48
49
  import { fileURLToPath } from "node:url";
49
50
  const importMetaDir = path.dirname(fileURLToPath(import.meta.url));
51
+ const require = createRequire(import.meta.url);
52
+ function resolveKbPlPath() {
53
+ // 1) Prefer installed dependency (works after publish)
54
+ try {
55
+ const corePkgJson = require.resolve("kibi-core/package.json");
56
+ const coreDir = path.dirname(corePkgJson);
57
+ const installedKbPl = path.join(coreDir, "src", "kb.pl");
58
+ if (existsSync(installedKbPl))
59
+ return installedKbPl;
60
+ }
61
+ catch {
62
+ // ignore; fall back to dev layout
63
+ }
64
+ // 2) Dev fallback for monorepo checkout
65
+ const devKbPl = path.resolve(importMetaDir, "../../core/src/kb.pl");
66
+ if (existsSync(devKbPl))
67
+ return devKbPl;
68
+ // 3) Hard fail with actionable message
69
+ throw new Error("Unable to resolve kb.pl. Expected kibi-core to be installed (node_modules) " +
70
+ "or to be running inside the monorepo checkout.");
71
+ }
50
72
  export class PrologProcess {
51
73
  process = null;
52
74
  swiplPath;
@@ -65,7 +87,7 @@ export class PrologProcess {
65
87
  if (!existsSync(this.swiplPath) && this.swiplPath !== "swipl") {
66
88
  throw new Error(`SWI-Prolog not found at ${this.swiplPath}. Please install SWI-Prolog or check your PATH.`);
67
89
  }
68
- const kbPath = path.resolve(importMetaDir, "../../core/src/kb.pl");
90
+ const kbPath = resolveKbPlPath();
69
91
  this.process = spawn(this.swiplPath, [
70
92
  "-g",
71
93
  `use_module('${kbPath}'), set_prolog_flag(answer_write_options, [max_depth(0), quoted(true)])`,
@@ -207,7 +229,7 @@ export class PrologProcess {
207
229
  : [this.normalizeGoal(goal)];
208
230
  const isBatch = goalList.length > 1;
209
231
  const combinedGoal = goalList.length === 1 ? goalList[0] : `(${goalList.join(", ")})`;
210
- const kbModulePath = path.resolve(importMetaDir, "../../core/src/kb.pl");
232
+ const kbModulePath = resolveKbPlPath();
211
233
  const prologGoal = [
212
234
  `use_module('${kbModulePath}')`,
213
235
  "use_module(library(semweb/rdf_db))",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kibi-cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "description": "Kibi CLI for knowledge base management",
6
6
  "engines": {
@@ -11,7 +11,13 @@
11
11
  "bin": {
12
12
  "kibi": "./bin/kibi"
13
13
  },
14
- "files": ["dist", "bin", "schema", "src/schemas", "src/public"],
14
+ "files": [
15
+ "dist",
16
+ "bin",
17
+ "schema",
18
+ "src/schemas",
19
+ "src/public"
20
+ ],
15
21
  "scripts": {
16
22
  "build": "tsc -p tsconfig.json",
17
23
  "prepublishOnly": "npm run build"
@@ -40,6 +46,7 @@
40
46
  },
41
47
  "types": "./dist/cli.d.ts",
42
48
  "dependencies": {
49
+ "kibi-core": "^0.1.4",
43
50
  "ajv": "^8.12.0",
44
51
  "cli-table3": "^0.6.5",
45
52
  "commander": "^11.0.0",