@kweaver-ai/kweaver-sdk 0.8.2 → 0.8.3
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/README.md +26 -52
- package/README.zh.md +27 -46
- package/dist/api/resources.d.ts +94 -0
- package/dist/api/resources.js +166 -0
- package/dist/cli.js +102 -10
- package/dist/client.d.ts +3 -3
- package/dist/client.js +5 -5
- package/dist/commands/agent-members.js +27 -11
- package/dist/commands/agent.js +383 -272
- package/dist/commands/auth.js +184 -71
- package/dist/commands/bkn-metric.js +37 -16
- package/dist/commands/bkn-ops.js +164 -86
- package/dist/commands/bkn-query.js +99 -31
- package/dist/commands/bkn-schema.d.ts +3 -3
- package/dist/commands/bkn-schema.js +127 -86
- package/dist/commands/bkn.js +153 -114
- package/dist/commands/call.js +23 -13
- package/dist/commands/config.js +22 -12
- package/dist/commands/context-loader.js +98 -92
- package/dist/commands/dataflow.js +14 -6
- package/dist/commands/ds.js +52 -30
- package/dist/commands/explore.js +18 -15
- package/dist/commands/model.js +53 -42
- package/dist/commands/resource.d.ts +1 -0
- package/dist/commands/{dataview.js → resource.js} +62 -84
- package/dist/commands/skill.js +201 -65
- package/dist/commands/token.js +11 -0
- package/dist/commands/tool.js +46 -29
- package/dist/commands/toolbox.js +31 -15
- package/dist/commands/vega.js +466 -250
- package/dist/help/format.d.ts +65 -0
- package/dist/help/format.js +141 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/resources/{dataviews.d.ts → resources.d.ts} +10 -11
- package/dist/resources/{dataviews.js → resources.js} +12 -13
- package/package.json +1 -1
- package/dist/api/dataviews.d.ts +0 -117
- package/dist/api/dataviews.js +0 -265
- package/dist/commands/dataview.d.ts +0 -8
package/dist/commands/bkn-ops.js
CHANGED
|
@@ -6,13 +6,14 @@ import { prepareBknDirectoryForImport, stripBknEncodingCliArgs, } from "../utils
|
|
|
6
6
|
import { ensureValidToken, formatHttpError } from "../auth/oauth.js";
|
|
7
7
|
import { createKnowledgeNetwork, createObjectTypes, deleteKnowledgeNetwork, buildKnowledgeNetwork, getBuildStatus, } from "../api/knowledge-networks.js";
|
|
8
8
|
import { listTablesWithColumns, scanDatasourceMetadata } from "../api/vega.js";
|
|
9
|
-
import {
|
|
9
|
+
import { createResource, findResource } from "../api/resources.js";
|
|
10
10
|
import { resolveFiles } from "./ds.js";
|
|
11
11
|
import { buildTableName } from "./import-csv.js";
|
|
12
12
|
import { downloadBkn, uploadBkn, listActionSchedules, getActionSchedule, createActionSchedule, updateActionSchedule, setActionScheduleStatus, deleteActionSchedules, listJobs, getJob, getJobTasks, deleteJobs, } from "../api/bkn-backend.js";
|
|
13
13
|
import { formatCallOutput } from "./call.js";
|
|
14
14
|
import { resolveBusinessDomain } from "../config/store.js";
|
|
15
15
|
import { runDsImportCsv } from "./ds.js";
|
|
16
|
+
import { renderHelp } from "../help/format.js";
|
|
16
17
|
import { pollWithBackoff, detectDisplayKey, formatPkDetectionError, parsePkMap, resolvePrimaryKey, confirmYes, assertVegaCatalogId, } from "./bkn-utils.js";
|
|
17
18
|
// ── BKN object name validation ──────────────────────────────────────────────
|
|
18
19
|
// Mirrors bkn-backend OBJECT_NAME_MAX_LENGTH (interfaces/common.go:28) and
|
|
@@ -35,15 +36,22 @@ export function assertValidBknObjectNames(names, context) {
|
|
|
35
36
|
`(1..${BKN_OBJECT_NAME_MAX_LENGTH} utf-8 chars):\n${lines.join("\n")}`);
|
|
36
37
|
}
|
|
37
38
|
// ── Build ───────────────────────────────────────────────────────────────────
|
|
38
|
-
const KN_BUILD_HELP =
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
const KN_BUILD_HELP = renderHelp({
|
|
40
|
+
tagline: "Trigger a full build for a knowledge network",
|
|
41
|
+
usage: "kweaver bkn build <kn-id> [flags]",
|
|
42
|
+
flags: [
|
|
43
|
+
{ name: "--wait", desc: "Poll until build completes (default)" },
|
|
44
|
+
{ name: "--no-wait", desc: "Return immediately after triggering" },
|
|
45
|
+
{ name: "--timeout <seconds>", desc: "Max wait time when --wait (default: 300)" },
|
|
46
|
+
{ name: "-bd, --biz-domain <s>", desc: "Business domain (default: bd_public)" },
|
|
47
|
+
],
|
|
48
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
49
|
+
examples: [
|
|
50
|
+
"kweaver bkn build kn-123",
|
|
51
|
+
"kweaver bkn build kn-123 --no-wait",
|
|
52
|
+
"kweaver bkn build kn-123 --wait --timeout 600",
|
|
53
|
+
],
|
|
54
|
+
});
|
|
47
55
|
export function parseKnBuildArgs(args) {
|
|
48
56
|
let knId = "";
|
|
49
57
|
let wait = true;
|
|
@@ -349,25 +357,52 @@ export function extractTarToDirectory(tarBuffer, dirPath) {
|
|
|
349
357
|
throw new Error(`tar extract failed: ${result.stderr?.toString() ?? result.status}`);
|
|
350
358
|
}
|
|
351
359
|
}
|
|
352
|
-
const KN_PUSH_HELP =
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
360
|
+
const KN_PUSH_HELP = renderHelp({
|
|
361
|
+
tagline: "Pack a BKN directory into a tar and upload to import as a knowledge network",
|
|
362
|
+
usage: "kweaver bkn push <directory> [flags]",
|
|
363
|
+
flags: [
|
|
364
|
+
{
|
|
365
|
+
title: "Target",
|
|
366
|
+
flags: [
|
|
367
|
+
{ name: "--branch <s>", desc: "Branch name (default: main)" },
|
|
368
|
+
{ name: "-bd, --biz-domain <s>", desc: "Business domain (default: bd_public)" },
|
|
369
|
+
],
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
title: "Encoding",
|
|
373
|
+
flags: [
|
|
374
|
+
{ name: "--detect-encoding", desc: "Detect .bkn encoding and normalize to UTF-8 (default: on)" },
|
|
375
|
+
{ name: "--no-detect-encoding", desc: "Do not detect; require UTF-8 .bkn files" },
|
|
376
|
+
{ name: "--source-encoding <name>", desc: "Decode all .bkn files with this encoding, e.g. gb18030 (overrides detection)" },
|
|
377
|
+
],
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
title: "Output",
|
|
381
|
+
flags: [{ name: "--pretty", desc: "Pretty-print JSON output" }],
|
|
382
|
+
},
|
|
383
|
+
],
|
|
384
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
385
|
+
examples: [
|
|
386
|
+
"kweaver bkn push ./my-network",
|
|
387
|
+
"kweaver bkn push ./my-network --branch feature/v2",
|
|
388
|
+
"kweaver bkn push ./legacy --source-encoding gb18030",
|
|
389
|
+
],
|
|
390
|
+
});
|
|
391
|
+
const KN_PULL_HELP = renderHelp({
|
|
392
|
+
tagline: "Download a BKN tar from a knowledge network and extract to a local directory",
|
|
393
|
+
usage: "kweaver bkn pull <kn-id> [<directory>] [flags]",
|
|
394
|
+
flags: [
|
|
395
|
+
{ name: "<directory>", desc: "Output directory (default: <kn-id>)" },
|
|
396
|
+
{ name: "--branch <s>", desc: "Branch name (default: main)" },
|
|
397
|
+
{ name: "-bd, --biz-domain <s>", desc: "Business domain (default: bd_public)" },
|
|
398
|
+
],
|
|
399
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
400
|
+
examples: [
|
|
401
|
+
"kweaver bkn pull kn-123",
|
|
402
|
+
"kweaver bkn pull kn-123 ./out",
|
|
403
|
+
"kweaver bkn pull kn-123 ./out --branch feature/v2",
|
|
404
|
+
],
|
|
405
|
+
});
|
|
371
406
|
export async function runKnPushCommand(args) {
|
|
372
407
|
let options;
|
|
373
408
|
try {
|
|
@@ -473,23 +508,30 @@ export async function runKnPullCommand(args) {
|
|
|
473
508
|
}
|
|
474
509
|
}
|
|
475
510
|
// ── Create from datasource ──────────────────────────────────────────────────
|
|
476
|
-
const KN_CREATE_FROM_DS_HELP =
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
511
|
+
const KN_CREATE_FROM_DS_HELP = renderHelp({
|
|
512
|
+
tagline: "Create a knowledge network from a vega catalog datasource (resources + object types + optional build)",
|
|
513
|
+
usage: "kweaver bkn create-from-ds <vega-catalog-id> --name X [flags]",
|
|
514
|
+
flags: [
|
|
515
|
+
{ name: "--name <s>", desc: "Knowledge network name (required)" },
|
|
516
|
+
{ name: "--tables <a,b>", desc: "Comma-separated table names (default: all)" },
|
|
517
|
+
{ name: "--pk-map <s>", desc: "Explicit primary keys <table>:<field>[,...]; required when auto-detection fails" },
|
|
518
|
+
{ name: "--build", desc: "Build after creation (default)" },
|
|
519
|
+
{ name: "--no-build", desc: "Skip build after creation" },
|
|
520
|
+
{ name: "--timeout <n>", desc: "Build timeout in seconds (default: 300)" },
|
|
521
|
+
{ name: "--no-rollback", desc: "Keep partially-created KN on failure (debug; default: rollback)" },
|
|
522
|
+
{ name: "-bd, --biz-domain <s>", desc: "Business domain (default: bd_public)" },
|
|
523
|
+
{ name: "--pretty", desc: "Pretty-print output (default)" },
|
|
524
|
+
],
|
|
525
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
526
|
+
examples: [
|
|
527
|
+
"kweaver bkn create-from-ds vcat-123 --name customers",
|
|
528
|
+
"kweaver bkn create-from-ds vcat-123 --name orders --tables orders,items --no-build",
|
|
529
|
+
],
|
|
530
|
+
learnMore: [
|
|
531
|
+
"<vega-catalog-id> is a vega catalog id (use `kweaver vega catalog list` to find one)",
|
|
532
|
+
"Legacy data-connection datasource UUIDs are no longer accepted",
|
|
533
|
+
],
|
|
534
|
+
});
|
|
493
535
|
export function parseKnCreateFromDsArgs(args) {
|
|
494
536
|
let dsId = "";
|
|
495
537
|
let name = "";
|
|
@@ -564,7 +606,7 @@ function sanitizeBknId(name) {
|
|
|
564
606
|
export function generateObjectTypeBkn(tableName, dvId, pk, dk, columns) {
|
|
565
607
|
const safeId = sanitizeBknId(tableName);
|
|
566
608
|
const header = `## ObjectType: ${safeId}\n\n**${tableName}**\n`;
|
|
567
|
-
const dsTable = `### Data Source\n\n| Type | ID | Name |\n|------|-----|------|\n|
|
|
609
|
+
const dsTable = `### Data Source\n\n| Type | ID | Name |\n|------|-----|------|\n| resource | ${dvId} | ${tableName} |\n`;
|
|
568
610
|
const dpHeader = `### Data Properties\n\n| Property | Display Name | Type | Primary Key | Display Key |\n|----------|-------------|------|-------------|-------------|\n`;
|
|
569
611
|
const dpRows = columns.map((c) => {
|
|
570
612
|
const isPk = c.name === pk ? "yes" : "no";
|
|
@@ -667,12 +709,12 @@ export async function runKnCreateFromDsCommand(args, sampleRows) {
|
|
|
667
709
|
sampleSize: resolution.sampleSize ?? 0,
|
|
668
710
|
}));
|
|
669
711
|
}
|
|
670
|
-
// Phase 1: Create
|
|
712
|
+
// Phase 1: Create vega-backend Resources for each table. findResource is idempotent;
|
|
671
713
|
// not tracked for rollback so a retry can reuse what's already there.
|
|
672
|
-
console.error(`Creating
|
|
714
|
+
console.error(`Creating resources for ${targetTables.length} table(s) ...`);
|
|
673
715
|
const viewMap = {};
|
|
674
716
|
for (const t of targetTables) {
|
|
675
|
-
const found = await
|
|
717
|
+
const found = await findResource({
|
|
676
718
|
...base,
|
|
677
719
|
name: t.name,
|
|
678
720
|
datasourceId: options.dsId,
|
|
@@ -680,7 +722,7 @@ export async function runKnCreateFromDsCommand(args, sampleRows) {
|
|
|
680
722
|
wait: true,
|
|
681
723
|
});
|
|
682
724
|
const dvId = found[0]?.id ??
|
|
683
|
-
(await
|
|
725
|
+
(await createResource({
|
|
684
726
|
...base,
|
|
685
727
|
name: t.name,
|
|
686
728
|
datasourceId: options.dsId,
|
|
@@ -717,7 +759,7 @@ export async function runKnCreateFromDsCommand(args, sampleRows) {
|
|
|
717
759
|
return {
|
|
718
760
|
branch: "main",
|
|
719
761
|
name: t.name,
|
|
720
|
-
data_source: { type: "
|
|
762
|
+
data_source: { type: "resource", id: viewMap[t.name] },
|
|
721
763
|
primary_keys: [pk],
|
|
722
764
|
display_key: dk,
|
|
723
765
|
data_properties: t.columns.map((c) => ({
|
|
@@ -806,24 +848,32 @@ export async function runKnCreateFromDsCommand(args, sampleRows) {
|
|
|
806
848
|
}
|
|
807
849
|
}
|
|
808
850
|
// ── Create from CSV ─────────────────────────────────────────────────────────
|
|
809
|
-
const KN_CREATE_FROM_CSV_HELP =
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
851
|
+
const KN_CREATE_FROM_CSV_HELP = renderHelp({
|
|
852
|
+
tagline: "Import CSV files into a vega catalog datasource, then create a knowledge network",
|
|
853
|
+
usage: "kweaver bkn create-from-csv <vega-catalog-id> --files <glob> --name X [flags]",
|
|
854
|
+
flags: [
|
|
855
|
+
{ name: "--files <s>", desc: "CSV file paths (comma-separated or glob, required)" },
|
|
856
|
+
{ name: "--name <s>", desc: "Knowledge network name (required)" },
|
|
857
|
+
{ name: "--table-prefix <s>", desc: "Table name prefix (default: none)" },
|
|
858
|
+
{ name: "--batch-size <n>", desc: "Rows per batch (default: 500)" },
|
|
859
|
+
{ name: "--tables <a,b>", desc: "Tables to include in KN (default: all imported)" },
|
|
860
|
+
{ name: "--build", desc: "Build after creation (default)" },
|
|
861
|
+
{ name: "--no-build", desc: "Skip build" },
|
|
862
|
+
{ name: "--pk-map <s>", desc: "Explicit primary keys <table>:<field>[,...]" },
|
|
863
|
+
{ name: "--timeout <n>", desc: "Build timeout in seconds (default: 300)" },
|
|
864
|
+
{ name: "--no-rollback", desc: "Keep partially-created KN on failure (debug; default: rollback)" },
|
|
865
|
+
{ name: "-bd, --biz-domain <s>", desc: "Business domain (default: bd_public)" },
|
|
866
|
+
],
|
|
867
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
868
|
+
examples: [
|
|
869
|
+
"kweaver bkn create-from-csv vcat-123 --files './data/*.csv' --name imports",
|
|
870
|
+
"kweaver bkn create-from-csv vcat-123 --files ./a.csv,./b.csv --name two --table-prefix raw_",
|
|
871
|
+
],
|
|
872
|
+
learnMore: [
|
|
873
|
+
"<vega-catalog-id> is a vega catalog id (use `kweaver vega catalog list` to find one)",
|
|
874
|
+
"Legacy data-connection datasource UUIDs are no longer accepted",
|
|
875
|
+
],
|
|
876
|
+
});
|
|
827
877
|
export function parseKnCreateFromCsvArgs(args) {
|
|
828
878
|
let dsId = "";
|
|
829
879
|
let files = "";
|
|
@@ -1008,15 +1058,30 @@ export async function runKnActionScheduleCommand(args) {
|
|
|
1008
1058
|
}
|
|
1009
1059
|
catch (error) {
|
|
1010
1060
|
if (error instanceof Error && error.message === "help") {
|
|
1011
|
-
console.log(
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1061
|
+
console.log(renderHelp({
|
|
1062
|
+
tagline: "Manage action schedules for a KN",
|
|
1063
|
+
usage: "kweaver bkn action-schedule <action> <kn-id> [args] [--pretty] [-bd value]",
|
|
1064
|
+
sections: [{
|
|
1065
|
+
title: "AVAILABLE COMMANDS",
|
|
1066
|
+
items: [
|
|
1067
|
+
{ name: "list", desc: "List action schedules" },
|
|
1068
|
+
{ name: "get", desc: "Get schedule details" },
|
|
1069
|
+
{ name: "create", desc: "Create schedule" },
|
|
1070
|
+
{ name: "update", desc: "Update schedule" },
|
|
1071
|
+
{ name: "set-status", desc: "Enable/disable schedule (enabled|disabled)" },
|
|
1072
|
+
{ name: "delete", desc: "Delete schedule(s) (comma-separated)" },
|
|
1073
|
+
],
|
|
1074
|
+
}],
|
|
1075
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
1076
|
+
examples: [
|
|
1077
|
+
"kweaver bkn action-schedule list <kn-id>",
|
|
1078
|
+
"kweaver bkn action-schedule get <kn-id> <schedule-id>",
|
|
1079
|
+
"kweaver bkn action-schedule create <kn-id> '<json>'",
|
|
1080
|
+
"kweaver bkn action-schedule update <kn-id> <schedule-id> '<json>'",
|
|
1081
|
+
"kweaver bkn action-schedule set-status <kn-id> <schedule-id> <status>",
|
|
1082
|
+
"kweaver bkn action-schedule delete <kn-id> <schedule-ids> [-y]",
|
|
1083
|
+
],
|
|
1084
|
+
}));
|
|
1020
1085
|
return 0;
|
|
1021
1086
|
}
|
|
1022
1087
|
console.error(formatHttpError(error));
|
|
@@ -1125,13 +1190,26 @@ export async function runKnJobCommand(args) {
|
|
|
1125
1190
|
}
|
|
1126
1191
|
catch (error) {
|
|
1127
1192
|
if (error instanceof Error && error.message === "help") {
|
|
1128
|
-
console.log(
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1193
|
+
console.log(renderHelp({
|
|
1194
|
+
tagline: "Manage jobs for a KN",
|
|
1195
|
+
usage: "kweaver bkn job <action> <kn-id> [args] [--pretty] [-bd value]",
|
|
1196
|
+
sections: [{
|
|
1197
|
+
title: "AVAILABLE COMMANDS",
|
|
1198
|
+
items: [
|
|
1199
|
+
{ name: "list", desc: "List jobs" },
|
|
1200
|
+
{ name: "get", desc: "Get job details" },
|
|
1201
|
+
{ name: "tasks", desc: "List tasks within a job" },
|
|
1202
|
+
{ name: "delete", desc: "Delete job(s) (comma-separated)" },
|
|
1203
|
+
],
|
|
1204
|
+
}],
|
|
1205
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
1206
|
+
examples: [
|
|
1207
|
+
"kweaver bkn job list <kn-id>",
|
|
1208
|
+
"kweaver bkn job get <kn-id> <job-id>",
|
|
1209
|
+
"kweaver bkn job tasks <kn-id> <job-id>",
|
|
1210
|
+
"kweaver bkn job delete <kn-id> <job-ids> [-y]",
|
|
1211
|
+
],
|
|
1212
|
+
}));
|
|
1135
1213
|
return 0;
|
|
1136
1214
|
}
|
|
1137
1215
|
console.error(formatHttpError(error));
|
|
@@ -5,6 +5,7 @@ import { semanticSearch } from "../api/semantic-search.js";
|
|
|
5
5
|
import { formatCallOutput } from "./call.js";
|
|
6
6
|
import { resolveBusinessDomain } from "../config/store.js";
|
|
7
7
|
import { parseOntologyQueryFlags } from "./bkn-utils.js";
|
|
8
|
+
import { renderHelp } from "../help/format.js";
|
|
8
9
|
// ── subgraph ─────────────────────────────────────────────────────────────────
|
|
9
10
|
export async function runKnSubgraphCommand(args) {
|
|
10
11
|
let filteredArgs;
|
|
@@ -18,9 +19,18 @@ export async function runKnSubgraphCommand(args) {
|
|
|
18
19
|
}
|
|
19
20
|
catch (error) {
|
|
20
21
|
if (error instanceof Error && error.message === "help") {
|
|
21
|
-
console.log(
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
console.log(renderHelp({
|
|
23
|
+
tagline: "Query subgraph via ontology-query API. JSON body format see references/json-formats.md#subgraph.",
|
|
24
|
+
usage: "kweaver bkn subgraph <kn-id> '<json>' [flags]",
|
|
25
|
+
flags: [
|
|
26
|
+
{ name: "--pretty", desc: "Pretty-print JSON output" },
|
|
27
|
+
{ name: "-bd, --biz-domain <s>", desc: "Override x-business-domain" },
|
|
28
|
+
],
|
|
29
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
30
|
+
examples: [
|
|
31
|
+
"kweaver bkn subgraph kn-123 '{\"source_object_type_id\":\"ot-1\"}'",
|
|
32
|
+
],
|
|
33
|
+
}));
|
|
24
34
|
return 0;
|
|
25
35
|
}
|
|
26
36
|
throw error;
|
|
@@ -80,9 +90,18 @@ export async function runKnActionExecutionCommand(args) {
|
|
|
80
90
|
}
|
|
81
91
|
catch (error) {
|
|
82
92
|
if (error instanceof Error && error.message === "help") {
|
|
83
|
-
console.log(
|
|
84
|
-
|
|
85
|
-
|
|
93
|
+
console.log(renderHelp({
|
|
94
|
+
tagline: "Get action execution status.",
|
|
95
|
+
usage: "kweaver bkn action-execution get <kn-id> <execution-id> [flags]",
|
|
96
|
+
flags: [
|
|
97
|
+
{ name: "--pretty", desc: "Pretty-print JSON output" },
|
|
98
|
+
{ name: "-bd, --biz-domain <s>", desc: "Override x-business-domain" },
|
|
99
|
+
],
|
|
100
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
101
|
+
examples: [
|
|
102
|
+
"kweaver bkn action-execution get kn-123 exec-456",
|
|
103
|
+
],
|
|
104
|
+
}));
|
|
86
105
|
return 0;
|
|
87
106
|
}
|
|
88
107
|
throw error;
|
|
@@ -113,12 +132,29 @@ Get action execution status.`);
|
|
|
113
132
|
export async function runKnActionLogCommand(args) {
|
|
114
133
|
const [action, ...rest] = args;
|
|
115
134
|
if (!action || action === "--help" || action === "-h") {
|
|
116
|
-
console.log(
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
135
|
+
console.log(renderHelp({
|
|
136
|
+
tagline: "List/get execution logs. cancel has side effects - only use when explicitly requested.",
|
|
137
|
+
usage: [
|
|
138
|
+
"kweaver bkn action-log list <kn-id> [flags]",
|
|
139
|
+
"kweaver bkn action-log get <kn-id> <log-id> [flags]",
|
|
140
|
+
"kweaver bkn action-log cancel <kn-id> <log-id> [flags]",
|
|
141
|
+
],
|
|
142
|
+
flags: [
|
|
143
|
+
{ name: "--limit <n>", desc: "Max log entries (list, default: 30)" },
|
|
144
|
+
{ name: "--need-total <bool>", desc: "Include total count (list)" },
|
|
145
|
+
{ name: "--action-type-id <s>", desc: "Filter by action type id (list)" },
|
|
146
|
+
{ name: "--status <s>", desc: "Filter by status (list)" },
|
|
147
|
+
{ name: "--trigger-type <s>", desc: "Filter by trigger type (list)" },
|
|
148
|
+
{ name: "--search-after <s>", desc: "Pagination cursor (list)" },
|
|
149
|
+
{ name: "--pretty", desc: "Pretty-print JSON output" },
|
|
150
|
+
{ name: "-bd, --biz-domain <s>", desc: "Override x-business-domain" },
|
|
151
|
+
],
|
|
152
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
153
|
+
examples: [
|
|
154
|
+
"kweaver bkn action-log list kn-123 --limit 10",
|
|
155
|
+
"kweaver bkn action-log get kn-123 log-456",
|
|
156
|
+
],
|
|
157
|
+
}));
|
|
122
158
|
return 0;
|
|
123
159
|
}
|
|
124
160
|
let pretty = true;
|
|
@@ -233,16 +269,21 @@ Options for list: --limit, --need-total, --action-type-id, --status, --trigger-t
|
|
|
233
269
|
}
|
|
234
270
|
}
|
|
235
271
|
// ── search ───────────────────────────────────────────────────────────────────
|
|
236
|
-
const KN_SEARCH_HELP =
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
272
|
+
const KN_SEARCH_HELP = renderHelp({
|
|
273
|
+
tagline: "Semantic search within a knowledge network — matches object/relation/action types (agent-retrieval API)",
|
|
274
|
+
usage: "kweaver bkn search <kn-id> <query> [flags]",
|
|
275
|
+
flags: [
|
|
276
|
+
{ name: "--max-concepts <n>", desc: "Max concepts to return (default: 10)" },
|
|
277
|
+
{ name: "--mode <mode>", desc: "Search mode (default: keyword_vector_retrieval)" },
|
|
278
|
+
{ name: "--pretty", desc: "Pretty-print JSON output" },
|
|
279
|
+
{ name: "-bd, --biz-domain <s>", desc: "Override x-business-domain" },
|
|
280
|
+
],
|
|
281
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
282
|
+
examples: [
|
|
283
|
+
"kweaver bkn search kn-123 'customer churn'",
|
|
284
|
+
"kweaver bkn search kn-123 'revenue by region' --max-concepts 20",
|
|
285
|
+
],
|
|
286
|
+
});
|
|
246
287
|
export function parseKnSearchArgs(args) {
|
|
247
288
|
let knId = "";
|
|
248
289
|
let query = "";
|
|
@@ -324,18 +365,36 @@ export async function runKnRelationTypePathsCommand(args) {
|
|
|
324
365
|
}
|
|
325
366
|
catch (error) {
|
|
326
367
|
if (error instanceof Error && error.message === "help") {
|
|
327
|
-
console.log(
|
|
328
|
-
|
|
329
|
-
|
|
368
|
+
console.log(renderHelp({
|
|
369
|
+
tagline: "Query relation type paths between object types.",
|
|
370
|
+
usage: "kweaver bkn relation-type-paths <kn-id> '<json>' [flags]",
|
|
371
|
+
flags: [
|
|
372
|
+
{ name: "--pretty", desc: "Pretty-print JSON output" },
|
|
373
|
+
{ name: "-bd, --biz-domain <s>", desc: "Override x-business-domain" },
|
|
374
|
+
],
|
|
375
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
376
|
+
examples: [
|
|
377
|
+
"kweaver bkn relation-type-paths kn-123 '{...}'",
|
|
378
|
+
],
|
|
379
|
+
}));
|
|
330
380
|
return 0;
|
|
331
381
|
}
|
|
332
382
|
throw error;
|
|
333
383
|
}
|
|
334
384
|
const [knId, body] = parsed.filteredArgs;
|
|
335
385
|
if (!knId || !body) {
|
|
336
|
-
console.log(
|
|
337
|
-
|
|
338
|
-
|
|
386
|
+
console.log(renderHelp({
|
|
387
|
+
tagline: "Query relation type paths between object types.",
|
|
388
|
+
usage: "kweaver bkn relation-type-paths <kn-id> '<json>' [flags]",
|
|
389
|
+
flags: [
|
|
390
|
+
{ name: "--pretty", desc: "Pretty-print JSON output" },
|
|
391
|
+
{ name: "-bd, --biz-domain <s>", desc: "Override x-business-domain" },
|
|
392
|
+
],
|
|
393
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
394
|
+
examples: [
|
|
395
|
+
"kweaver bkn relation-type-paths kn-123 '{...}'",
|
|
396
|
+
],
|
|
397
|
+
}));
|
|
339
398
|
return knId && !body ? 1 : 0;
|
|
340
399
|
}
|
|
341
400
|
const token = await ensureValidToken();
|
|
@@ -357,9 +416,18 @@ export async function runKnResourcesCommand(args) {
|
|
|
357
416
|
}
|
|
358
417
|
catch (error) {
|
|
359
418
|
if (error instanceof Error && error.message === "help") {
|
|
360
|
-
console.log(
|
|
361
|
-
|
|
362
|
-
|
|
419
|
+
console.log(renderHelp({
|
|
420
|
+
tagline: "List available resources.",
|
|
421
|
+
usage: "kweaver bkn resources [flags]",
|
|
422
|
+
flags: [
|
|
423
|
+
{ name: "--pretty", desc: "Pretty-print JSON output" },
|
|
424
|
+
{ name: "-bd, --biz-domain <s>", desc: "Override x-business-domain" },
|
|
425
|
+
],
|
|
426
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
427
|
+
examples: [
|
|
428
|
+
"kweaver bkn resources --pretty",
|
|
429
|
+
],
|
|
430
|
+
}));
|
|
363
431
|
return 0;
|
|
364
432
|
}
|
|
365
433
|
throw error;
|
|
@@ -22,13 +22,13 @@ export type ObjectTypeCreateParsed = {
|
|
|
22
22
|
} | {
|
|
23
23
|
mode: "needsDataview";
|
|
24
24
|
knId: string;
|
|
25
|
-
|
|
25
|
+
resourceId: string;
|
|
26
26
|
entry: Record<string, unknown>;
|
|
27
27
|
businessDomain: string;
|
|
28
28
|
branch: string;
|
|
29
29
|
pretty: boolean;
|
|
30
30
|
};
|
|
31
|
-
/** Parse object-type create args: --name --
|
|
31
|
+
/** Parse object-type create args: --name --resource-id --primary-key --display-key [--property '<json>' ...] */
|
|
32
32
|
export declare function parseObjectTypeCreateArgs(args: string[]): ObjectTypeCreateParsed;
|
|
33
33
|
/**
|
|
34
34
|
* Load dataview fields and build data_properties (with mapped_field). Used when no --property flags.
|
|
@@ -36,7 +36,7 @@ export declare function parseObjectTypeCreateArgs(args: string[]): ObjectTypeCre
|
|
|
36
36
|
export declare function finalizeObjectTypeCreateFromDataview(options: {
|
|
37
37
|
baseUrl: string;
|
|
38
38
|
accessToken: string;
|
|
39
|
-
|
|
39
|
+
resourceId: string;
|
|
40
40
|
entry: Record<string, unknown>;
|
|
41
41
|
businessDomain: string;
|
|
42
42
|
}): Promise<string>;
|