kibi-cli 2.39.0 → 2.40.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-register-foundation.js +2 -2
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +33 -9
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +15 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +4 -0
- package/dist/commands/migrate-plan-record.d.ts +18 -0
- package/dist/commands/migrate-plan-record.d.ts.map +1 -0
- package/dist/commands/migrate-plan-record.js +112 -0
- package/dist/commands/migrate.d.ts +11 -2
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +53 -7
- package/dist/commands/prove.d.ts.map +1 -1
- package/dist/commands/prove.js +18 -3
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +17 -4
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +8 -0
- package/dist/commands/telemetry.d.ts.map +1 -1
- package/dist/commands/telemetry.js +12 -2
- package/dist/extractors/symbol-title-match.d.ts +31 -0
- package/dist/extractors/symbol-title-match.d.ts.map +1 -0
- package/dist/extractors/symbol-title-match.js +133 -0
- package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/extractors/symbols-coordinator.js +81 -12
- package/dist/operations/bootstrap/discovery-evidence.js +2 -2
- package/dist/operations/bootstrap/guidance-actions.d.ts.map +1 -1
- package/dist/operations/bootstrap/guidance-actions.js +12 -1
- package/dist/operations/bootstrap/plugin-offers.d.ts +7 -1
- package/dist/operations/bootstrap/plugin-offers.d.ts.map +1 -1
- package/dist/operations/bootstrap/plugin-offers.js +73 -3
- package/dist/operations/modeling/logic-modeling.d.ts.map +1 -1
- package/dist/operations/modeling/logic-modeling.js +2 -1
- package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
- package/dist/operations/modeling/model-requirement.js +2 -1
- package/dist/operations/mutation/symbol-refresh.d.ts +2 -0
- package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-refresh.js +6 -1
- package/dist/operations/mutation/upsert.d.ts.map +1 -1
- package/dist/operations/mutation/upsert.js +7 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -1
- package/dist/operations/planning/compile-intent.js +2 -1
- package/dist/operations/proof/claim-bindings.d.ts +11 -0
- package/dist/operations/proof/claim-bindings.d.ts.map +1 -1
- package/dist/operations/proof/claim-bindings.js +144 -1
- package/dist/operations/proof/code-certificates.d.ts +10 -3
- package/dist/operations/proof/code-certificates.d.ts.map +1 -1
- package/dist/operations/proof/code-certificates.js +65 -13
- package/dist/operations/proof/code-languages.d.ts +104 -0
- package/dist/operations/proof/code-languages.d.ts.map +1 -0
- package/dist/operations/proof/code-languages.js +119 -0
- package/dist/operations/proof/code-models.d.ts +2 -0
- package/dist/operations/proof/code-models.d.ts.map +1 -1
- package/dist/operations/proof/code-models.js +11 -5
- package/dist/operations/proof/code-runner.d.ts +12 -9
- package/dist/operations/proof/code-runner.d.ts.map +1 -1
- package/dist/operations/proof/code-runner.js +81 -38
- package/dist/operations/proof/code-scope.d.ts +8 -0
- package/dist/operations/proof/code-scope.d.ts.map +1 -1
- package/dist/operations/proof/code-scope.js +30 -1
- package/dist/operations/proof/explain.d.ts +13 -0
- package/dist/operations/proof/explain.d.ts.map +1 -1
- package/dist/operations/proof/explain.js +66 -0
- package/dist/operations/proof/ingest-proof.d.ts +2 -0
- package/dist/operations/proof/ingest-proof.d.ts.map +1 -1
- package/dist/operations/proof/ingest-proof.js +1 -0
- package/dist/operations/proof/java-package-shadow.d.ts +14 -0
- package/dist/operations/proof/java-package-shadow.d.ts.map +1 -0
- package/dist/operations/proof/java-package-shadow.js +389 -0
- package/dist/operations/proof/prolog-evaluator.d.ts +14 -0
- package/dist/operations/proof/prolog-evaluator.d.ts.map +1 -0
- package/dist/operations/proof/prolog-evaluator.js +247 -0
- package/dist/operations/proof/prolog-source-reader.d.ts +20 -0
- package/dist/operations/proof/prolog-source-reader.d.ts.map +1 -0
- package/dist/operations/proof/prolog-source-reader.js +1123 -0
- package/dist/operations/proof/source-code-readers.d.ts +6 -0
- package/dist/operations/proof/source-code-readers.d.ts.map +1 -1
- package/dist/operations/proof/source-code-readers.js +879 -75
- package/dist/plugins/approved-source-analyzers.generated.d.ts +13 -35
- package/dist/plugins/approved-source-analyzers.generated.d.ts.map +1 -1
- package/dist/plugins/approved-source-analyzers.generated.js +13 -35
- package/dist/plugins/plugin-install-check.d.ts +21 -0
- package/dist/plugins/plugin-install-check.d.ts.map +1 -0
- package/dist/plugins/plugin-install-check.js +62 -0
- package/dist/plugins/proof-reference-extractors.d.ts +20 -0
- package/dist/plugins/proof-reference-extractors.d.ts.map +1 -0
- package/dist/plugins/proof-reference-extractors.js +104 -0
- package/dist/plugins/reference-language-suggestion.d.ts +51 -0
- package/dist/plugins/reference-language-suggestion.d.ts.map +1 -0
- package/dist/plugins/reference-language-suggestion.js +277 -0
- package/dist/plugins/registry.d.ts.map +1 -1
- package/dist/plugins/registry.js +3 -1
- package/dist/plugins/source-analysis-service.d.ts.map +1 -1
- package/dist/plugins/source-analysis-service.js +4 -0
- package/dist/plugins/source-change-analysis.d.ts +26 -1
- package/dist/plugins/source-change-analysis.d.ts.map +1 -1
- package/dist/plugins/source-change-analysis.js +77 -5
- package/dist/plugins/source-classification.d.ts.map +1 -1
- package/dist/plugins/source-classification.js +23 -3
- package/dist/public/operations/catalog.d.ts +32 -7
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/check-executor.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +3 -0
- package/dist/public/operations/evidence-floor.d.ts +8 -0
- package/dist/public/operations/evidence-floor.d.ts.map +1 -1
- package/dist/public/operations/evidence-floor.js +19 -1
- package/dist/public/operations/specs/check-rules.generated.d.ts +1 -1
- package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -1
- package/dist/public/operations/specs/check-rules.generated.js +2 -1
- package/dist/public/operations/specs/check.d.ts +1 -1
- package/dist/public/operations/specs/mutation-schemas.d.ts +31 -6
- package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.d.ts +8 -0
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +26 -3
- package/dist/public/operations/specs/semantic.d.ts.map +1 -1
- package/dist/public/operations/specs/semantic.js +2 -1
- package/dist/public/operations/specs/upsert.d.ts +31 -6
- package/dist/public/operations/specs/upsert.d.ts.map +1 -1
- package/dist/public/operations/symbol-coordinates-check.d.ts +11 -0
- package/dist/public/operations/symbol-coordinates-check.d.ts.map +1 -0
- package/dist/public/operations/symbol-coordinates-check.js +66 -0
- package/dist/public/proof-protocol.d.ts +31 -6
- package/dist/public/proof-protocol.d.ts.map +1 -1
- package/dist/public/proof-protocol.js +45 -15
- package/dist/public/proof-sources.d.ts +4 -2
- package/dist/public/proof-sources.d.ts.map +1 -1
- package/dist/public/proof-sources.js +43 -4
- package/dist/public/skills/kibi-usage/SKILL.md +6 -3
- package/dist/public/skills/kibi-usage/resources/prolog-proofs.md +207 -0
- package/dist/public/skills/kibi-usage/resources/proof.md +44 -3
- package/dist/schemas/entity.schema.json +34 -6
- package/dist/traceability/analysis-gate.d.ts +3 -1
- package/dist/traceability/analysis-gate.d.ts.map +1 -1
- package/dist/traceability/analysis-gate.js +9 -1
- package/dist/traceability/staged-file-coverage.d.ts.map +1 -1
- package/dist/traceability/staged-file-coverage.js +7 -2
- package/dist/traceability/symbol-extract.d.ts +17 -0
- package/dist/traceability/symbol-extract.d.ts.map +1 -1
- package/dist/traceability/symbol-extract.js +69 -15
- package/dist/traceability/validate.d.ts.map +1 -1
- package/dist/traceability/validate.js +5 -7
- package/dist/utils/first-sentence.d.ts +9 -0
- package/dist/utils/first-sentence.d.ts.map +1 -0
- package/dist/utils/first-sentence.js +52 -0
- package/dist/utils/rule-registry.generated.d.ts +6 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.js +7 -0
- package/package.json +5 -5
- package/src/public/operations/check-executor.ts +8 -0
- package/src/public/operations/evidence-floor.ts +29 -1
- package/src/public/operations/specs/check-rules.generated.ts +2 -1
- package/src/public/operations/specs/reporting.ts +38 -3
- package/src/public/operations/specs/semantic.ts +2 -1
- package/src/public/operations/symbol-coordinates-check.ts +79 -0
- package/src/public/proof-protocol-types.d.ts +22 -5
- package/src/public/proof-protocol.ts +78 -19
- package/src/public/proof-sources.ts +51 -3
- package/src/public/skills/kibi-usage/SKILL.md +6 -3
- package/src/public/skills/kibi-usage/resources/prolog-proofs.md +207 -0
- package/src/public/skills/kibi-usage/resources/proof.md +44 -3
- package/src/schemas/entity.schema.json +34 -6
|
@@ -262,11 +262,15 @@ left:
|
|
|
262
262
|
each list item, such as the `run` of each workflow step), `glob` (`pattern`, `capture`),
|
|
263
263
|
`openapi` (`file`, `select: operations|unsecured_operations|...`),
|
|
264
264
|
`references` (`files`, `extract: env|imports|calls|string_args|thrown|
|
|
265
|
-
property
|
|
265
|
+
property`; TypeScript, JavaScript, Python and SWI-Prolog files, and Go,
|
|
266
|
+
Java, C# and Rust files through `kibi-plugin-treesitter`), `schema` (`format: drizzle|prisma|sql`, `select:
|
|
266
267
|
tables|columns|required_columns|nullable_columns|foreign_keys`), `routes`
|
|
267
268
|
(Hono or Express app export, `path_prefix`, `names_from`, `select:
|
|
268
269
|
routes|middleware`) or `validator` (zod, valibot or pydantic, `select:
|
|
269
|
-
fields|required_fields|optional_fields`)
|
|
270
|
+
fields|required_fields|optional_fields`) or `prolog` (`file`, `functor:
|
|
271
|
+
requires/1`, `arg`: one argument of each fact, such as a pack's
|
|
272
|
+
requirements in `pack.pl`). Prolog files are read term by term and never
|
|
273
|
+
run; see `resources/prolog-proofs.md`. A member Kibi cannot read
|
|
270
274
|
statically (a computed env name, a dynamic import, an env object handed
|
|
271
275
|
to a variable) fails the read with its location, and so does an empty
|
|
272
276
|
read (a glob matching no file, migrations with no `CREATE TABLE`), so a
|
|
@@ -288,6 +292,40 @@ left:
|
|
|
288
292
|
The builders need kibi-cli 2.33.0 or newer in the project. The env
|
|
289
293
|
extractor reads `process.env`, `import.meta.env`, `Bun.env`,
|
|
290
294
|
`Deno.env.get`, `os.environ` and `os.getenv`, through casts.
|
|
295
|
+
- `references` over Go, Java, C# or Rust needs `kibi-plugin-treesitter` and
|
|
296
|
+
the language's grammar pack (`kibi-lang-go`, `kibi-lang-java`,
|
|
297
|
+
`kibi-lang-csharp`, `kibi-lang-rust`) in `devDependencies`, with the
|
|
298
|
+
plugin activated for proofs:
|
|
299
|
+
`"kibi.reference-extractor.v1": { "mode": "augment" }` in its
|
|
300
|
+
`kibi.plugins` entry (next to `"kibi.symbol-extractor.v2"`). A project
|
|
301
|
+
with no `package.json` creates one that only holds this list. Without it
|
|
302
|
+
the read is refused with what to install, so ask the operator before
|
|
303
|
+
installing; `kibi doctor` names what the project needs. Members are
|
|
304
|
+
written as the code names them (`os.Getenv`, `System.out.println`,
|
|
305
|
+
`Console.WriteLine`, `std::env::var`, Go import paths, `java.util.*`,
|
|
306
|
+
`std::io::Write`); a method on an expression Kibi cannot name is
|
|
307
|
+
`*.name`. Reflection, a name computed at run time, the whole
|
|
308
|
+
environment, C# `dynamic` and `#if`, Rust `#[cfg(...)]` items other than
|
|
309
|
+
`#[cfg(test)]`, and any macro for Rust `calls` and `thrown` fail the
|
|
310
|
+
read with their place: the claim cannot be decided for that file, so
|
|
311
|
+
model a claim the code can show (Rust `calls` over a file with
|
|
312
|
+
`println!` is always refused). Never drop a file the claim is about
|
|
313
|
+
from `files`: the read decides a claim only for the files it covers,
|
|
314
|
+
and a proof is rejected when a symbol the test covers or that
|
|
315
|
+
implements the claim's requirement lies outside them.
|
|
316
|
+
- Reference members match by name segments (`.`, `/`, `::`). `excludes`
|
|
317
|
+
fails on anything that is or may be an excluded item: `java.sql`
|
|
318
|
+
excludes `java.sql.Connection`, `github.com/labstack/echo/v4` excludes
|
|
319
|
+
`.../echo/v4/middleware`, a trailing `*` is a prefix (`java.sql.*`), a
|
|
320
|
+
wildcard import or a shorter name (`File.delete`) may be the item, and
|
|
321
|
+
`*.delete` (a call on a receiver Kibi cannot name) may be
|
|
322
|
+
`java.io.File.delete`, so the claim is refused naming it. `includes` and
|
|
323
|
+
`subset_of` count only members that certainly are an item (the item, a
|
|
324
|
+
member under `X.*`, or `a.b.m` for `*.m`); `eq` compares spellings.
|
|
325
|
+
- For a claim about what the code reads from the environment use
|
|
326
|
+
`extract: env`: `string_args` on a getter (`os.Getenv`, `env::var`,
|
|
327
|
+
`System.getenv`, `getenv/2`, ...) sees only that getter, so Kibi refuses
|
|
328
|
+
it for `eq`, `subset_of` and `excludes`.
|
|
291
329
|
|
|
292
330
|
`arithmetic` and `smt` from `constraint_source` alone prove that the
|
|
293
331
|
knowledge base's facts entail the claim, not that code follows the facts:
|
|
@@ -318,7 +356,10 @@ read for a test that wants to assert on it), fail the test when it records a fai
|
|
|
318
356
|
(`failedMembers`, `failedCalls`), and call `writeCodeCertificate`; it writes to the
|
|
319
357
|
directory `kibi prove` sets in `KIBI_PROOF_CERTIFICATES` and does nothing
|
|
320
358
|
elsewhere. A Python test writes the same `kibi.code-certificate.v1` JSON
|
|
321
|
-
to that directory itself.
|
|
359
|
+
to that directory itself. Kibi also reads SWI-Prolog domains, constants,
|
|
360
|
+
rule predicates, transition tables and string constants (`arg` picks a
|
|
361
|
+
predicate's argument); `resources/prolog-proofs.md` has the rules and a
|
|
362
|
+
certificate module to copy. Wire the KB: the proof file symbol is
|
|
322
363
|
`executable_for` the test and named in `required_proofs`; the domain symbol
|
|
323
364
|
(and every symbol a rule, machine or pattern contract names) `implements`
|
|
324
365
|
the requirement and is `covered_by` the test; the test
|
|
@@ -833,7 +833,7 @@
|
|
|
833
833
|
},
|
|
834
834
|
"source": {
|
|
835
835
|
"type": "object",
|
|
836
|
-
"description": "source: the project source a source proof reads. A project source Kibi reads by itself. reader json or yaml: {file, path?, select?: keys|values|items}. glob: {pattern, capture?, ignore?} (capture true reads what each * matched). openapi: {file, select?: operations|unsecured_operations|security_schemes|responses}. references: {files, extract: env|imports|calls|string_args|thrown|property, callee?, key?, ignore?}. schema: {format: drizzle|prisma|sql, file (drizzle, prisma) or files (sql migrations), exports?, table?, select?: tables|columns|required_columns|nullable_columns|foreign_keys}. routes: {file, export, framework?: hono|express, path_prefix?, names_from?, select?: routes|middleware}. validator: {file, export, select?: fields|required_fields|optional_fields}. Paths are repository-relative. A member Kibi cannot read statically fails the read with its location.",
|
|
836
|
+
"description": "source: the project source a source proof reads. A project source Kibi reads by itself. reader json or yaml: {file, path?, select?: keys|values|items}. glob: {pattern, capture?, ignore?} (capture true reads what each * matched). openapi: {file, select?: operations|unsecured_operations|security_schemes|responses}. references: {files, extract: env|imports|calls|string_args|thrown|property, callee?, key?, ignore?} over TypeScript, JavaScript, Python and SWI-Prolog files. schema: {format: drizzle|prisma|sql, file (drizzle, prisma) or files (sql migrations), exports?, table?, select?: tables|columns|required_columns|nullable_columns|foreign_keys}. routes: {file, export, framework?: hono|express, path_prefix?, names_from?, select?: routes|middleware}. validator: {file, export, select?: fields|required_fields|optional_fields}. prolog: {file, functor: Name/Arity, arg?} reads one argument of every fact with that functor in a SWI-Prolog file (requires/1 in pack.pl), without running it. Paths are repository-relative. A member Kibi cannot read statically fails the read with its location.",
|
|
837
837
|
"required": [
|
|
838
838
|
"reader"
|
|
839
839
|
],
|
|
@@ -848,7 +848,8 @@
|
|
|
848
848
|
"references",
|
|
849
849
|
"schema",
|
|
850
850
|
"routes",
|
|
851
|
-
"validator"
|
|
851
|
+
"validator",
|
|
852
|
+
"prolog"
|
|
852
853
|
]
|
|
853
854
|
}
|
|
854
855
|
},
|
|
@@ -874,6 +875,11 @@
|
|
|
874
875
|
"type": "string",
|
|
875
876
|
"minLength": 1,
|
|
876
877
|
"description": "exhaustive: when the export is a list of records, the field of each record that names a domain member (a catalog's name)."
|
|
878
|
+
},
|
|
879
|
+
"arg": {
|
|
880
|
+
"type": "integer",
|
|
881
|
+
"minimum": 1,
|
|
882
|
+
"description": "A SWI-Prolog predicate's argument (1-based) whose solutions Kibi reads, when the predicate takes more than one argument (operator/2 with arg 1 lists each operator's name)."
|
|
877
883
|
}
|
|
878
884
|
},
|
|
879
885
|
"additionalProperties": false
|
|
@@ -917,9 +923,14 @@
|
|
|
917
923
|
"type": "string",
|
|
918
924
|
"minLength": 1
|
|
919
925
|
},
|
|
926
|
+
"arg": {
|
|
927
|
+
"type": "integer",
|
|
928
|
+
"minimum": 1,
|
|
929
|
+
"description": "A SWI-Prolog predicate's argument (1-based) whose solutions Kibi reads, when the predicate takes more than one argument (operator/2 with arg 1 lists each operator's name)."
|
|
930
|
+
},
|
|
920
931
|
"source": {
|
|
921
932
|
"type": "object",
|
|
922
|
-
"description": "A project source Kibi reads by itself. reader json or yaml: {file, path?, select?: keys|values|items}. glob: {pattern, capture?, ignore?} (capture true reads what each * matched). openapi: {file, select?: operations|unsecured_operations|security_schemes|responses}. references: {files, extract: env|imports|calls|string_args|thrown|property, callee?, key?, ignore?}. schema: {format: drizzle|prisma|sql, file (drizzle, prisma) or files (sql migrations), exports?, table?, select?: tables|columns|required_columns|nullable_columns|foreign_keys}. routes: {file, export, framework?: hono|express, path_prefix?, names_from?, select?: routes|middleware}. validator: {file, export, select?: fields|required_fields|optional_fields}. Paths are repository-relative. A member Kibi cannot read statically fails the read with its location.",
|
|
933
|
+
"description": "A project source Kibi reads by itself. reader json or yaml: {file, path?, select?: keys|values|items}. glob: {pattern, capture?, ignore?} (capture true reads what each * matched). openapi: {file, select?: operations|unsecured_operations|security_schemes|responses}. references: {files, extract: env|imports|calls|string_args|thrown|property, callee?, key?, ignore?} over TypeScript, JavaScript, Python and SWI-Prolog files. schema: {format: drizzle|prisma|sql, file (drizzle, prisma) or files (sql migrations), exports?, table?, select?: tables|columns|required_columns|nullable_columns|foreign_keys}. routes: {file, export, framework?: hono|express, path_prefix?, names_from?, select?: routes|middleware}. validator: {file, export, select?: fields|required_fields|optional_fields}. prolog: {file, functor: Name/Arity, arg?} reads one argument of every fact with that functor in a SWI-Prolog file (requires/1 in pack.pl), without running it. Paths are repository-relative. A member Kibi cannot read statically fails the read with its location.",
|
|
923
934
|
"required": [
|
|
924
935
|
"reader"
|
|
925
936
|
],
|
|
@@ -934,7 +945,8 @@
|
|
|
934
945
|
"references",
|
|
935
946
|
"schema",
|
|
936
947
|
"routes",
|
|
937
|
-
"validator"
|
|
948
|
+
"validator",
|
|
949
|
+
"prolog"
|
|
938
950
|
]
|
|
939
951
|
}
|
|
940
952
|
},
|
|
@@ -1003,6 +1015,11 @@
|
|
|
1003
1015
|
"export": {
|
|
1004
1016
|
"type": "string",
|
|
1005
1017
|
"minLength": 1
|
|
1018
|
+
},
|
|
1019
|
+
"arg": {
|
|
1020
|
+
"type": "integer",
|
|
1021
|
+
"minimum": 1,
|
|
1022
|
+
"description": "A SWI-Prolog predicate's argument (1-based) whose solutions Kibi reads, when the predicate takes more than one argument (operator/2 with arg 1 lists each operator's name)."
|
|
1006
1023
|
}
|
|
1007
1024
|
},
|
|
1008
1025
|
"additionalProperties": false
|
|
@@ -1015,7 +1032,7 @@
|
|
|
1015
1032
|
"properties": {
|
|
1016
1033
|
"source": {
|
|
1017
1034
|
"type": "object",
|
|
1018
|
-
"description": "A project source Kibi reads by itself. reader json or yaml: {file, path?, select?: keys|values|items}. glob: {pattern, capture?, ignore?} (capture true reads what each * matched). openapi: {file, select?: operations|unsecured_operations|security_schemes|responses}. references: {files, extract: env|imports|calls|string_args|thrown|property, callee?, key?, ignore?}. schema: {format: drizzle|prisma|sql, file (drizzle, prisma) or files (sql migrations), exports?, table?, select?: tables|columns|required_columns|nullable_columns|foreign_keys}. routes: {file, export, framework?: hono|express, path_prefix?, names_from?, select?: routes|middleware}. validator: {file, export, select?: fields|required_fields|optional_fields}. Paths are repository-relative. A member Kibi cannot read statically fails the read with its location.",
|
|
1035
|
+
"description": "A project source Kibi reads by itself. reader json or yaml: {file, path?, select?: keys|values|items}. glob: {pattern, capture?, ignore?} (capture true reads what each * matched). openapi: {file, select?: operations|unsecured_operations|security_schemes|responses}. references: {files, extract: env|imports|calls|string_args|thrown|property, callee?, key?, ignore?} over TypeScript, JavaScript, Python and SWI-Prolog files. schema: {format: drizzle|prisma|sql, file (drizzle, prisma) or files (sql migrations), exports?, table?, select?: tables|columns|required_columns|nullable_columns|foreign_keys}. routes: {file, export, framework?: hono|express, path_prefix?, names_from?, select?: routes|middleware}. validator: {file, export, select?: fields|required_fields|optional_fields}. prolog: {file, functor: Name/Arity, arg?} reads one argument of every fact with that functor in a SWI-Prolog file (requires/1 in pack.pl), without running it. Paths are repository-relative. A member Kibi cannot read statically fails the read with its location.",
|
|
1019
1036
|
"required": [
|
|
1020
1037
|
"reader"
|
|
1021
1038
|
],
|
|
@@ -1030,7 +1047,8 @@
|
|
|
1030
1047
|
"references",
|
|
1031
1048
|
"schema",
|
|
1032
1049
|
"routes",
|
|
1033
|
-
"validator"
|
|
1050
|
+
"validator",
|
|
1051
|
+
"prolog"
|
|
1034
1052
|
]
|
|
1035
1053
|
}
|
|
1036
1054
|
},
|
|
@@ -1055,6 +1073,11 @@
|
|
|
1055
1073
|
"export": {
|
|
1056
1074
|
"type": "string",
|
|
1057
1075
|
"minLength": 1
|
|
1076
|
+
},
|
|
1077
|
+
"arg": {
|
|
1078
|
+
"type": "integer",
|
|
1079
|
+
"minimum": 1,
|
|
1080
|
+
"description": "A SWI-Prolog predicate's argument (1-based) whose solutions Kibi reads, when the predicate takes more than one argument (operator/2 with arg 1 lists each operator's name)."
|
|
1058
1081
|
}
|
|
1059
1082
|
},
|
|
1060
1083
|
"additionalProperties": false,
|
|
@@ -1073,6 +1096,11 @@
|
|
|
1073
1096
|
"export": {
|
|
1074
1097
|
"type": "string",
|
|
1075
1098
|
"minLength": 1
|
|
1099
|
+
},
|
|
1100
|
+
"arg": {
|
|
1101
|
+
"type": "integer",
|
|
1102
|
+
"minimum": 1,
|
|
1103
|
+
"description": "A SWI-Prolog predicate's argument (1-based) whose solutions Kibi reads, when the predicate takes more than one argument (operator/2 with arg 1 lists each operator's name)."
|
|
1076
1104
|
}
|
|
1077
1105
|
},
|
|
1078
1106
|
"additionalProperties": false,
|