@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
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ensureValidToken, formatHttpError } from "../auth/oauth.js";
|
|
2
|
+
import { renderHelp } from "../help/format.js";
|
|
2
3
|
import { listConceptGroups, getConceptGroup, createConceptGroup, updateConceptGroup, deleteConceptGroup, addConceptGroupMembers, removeConceptGroupMembers, } from "../api/bkn-backend.js";
|
|
3
4
|
import { listObjectTypes, getObjectType, createObjectTypes, updateObjectType, deleteObjectTypes, listRelationTypes, getRelationType, createRelationTypes, updateRelationType, deleteRelationTypes, listActionTypes, getActionType, createActionTypes, updateActionType, deleteActionTypes, } from "../api/knowledge-networks.js";
|
|
4
5
|
import { objectTypeQuery, objectTypeProperties, actionTypeQuery, actionTypeExecute, actionExecutionGet, } from "../api/ontology-query.js";
|
|
5
|
-
import {
|
|
6
|
+
import { getResource } from "../api/resources.js";
|
|
6
7
|
import { formatCallOutput } from "./call.js";
|
|
7
8
|
import { resolveBusinessDomain } from "../config/store.js";
|
|
8
9
|
import { parseOntologyQueryFlags, parseJsonObject, parseSearchAfterArray, confirmYes, pollWithBackoff, } from "./bkn-utils.js";
|
|
@@ -227,10 +228,10 @@ function fallbackDataPropertiesFromKeys(primaryKeys, displayKey) {
|
|
|
227
228
|
};
|
|
228
229
|
});
|
|
229
230
|
}
|
|
230
|
-
/** Parse object-type create args: --name --
|
|
231
|
+
/** Parse object-type create args: --name --resource-id --primary-key --display-key [--property '<json>' ...] */
|
|
231
232
|
export function parseObjectTypeCreateArgs(args) {
|
|
232
233
|
let name = "";
|
|
233
|
-
let
|
|
234
|
+
let resourceId = "";
|
|
234
235
|
let primaryKey = "";
|
|
235
236
|
let displayKey = "";
|
|
236
237
|
let businessDomain = "";
|
|
@@ -246,8 +247,8 @@ export function parseObjectTypeCreateArgs(args) {
|
|
|
246
247
|
name = args[++i];
|
|
247
248
|
continue;
|
|
248
249
|
}
|
|
249
|
-
if (arg === "--
|
|
250
|
-
|
|
250
|
+
if (arg === "--resource-id" && args[i + 1]) {
|
|
251
|
+
resourceId = args[++i];
|
|
251
252
|
continue;
|
|
252
253
|
}
|
|
253
254
|
if (arg === "--primary-key" && args[i + 1]) {
|
|
@@ -278,13 +279,13 @@ export function parseObjectTypeCreateArgs(args) {
|
|
|
278
279
|
positional.push(arg);
|
|
279
280
|
}
|
|
280
281
|
const knId = positional[0];
|
|
281
|
-
if (!knId || !name || !
|
|
282
|
-
throw new Error("Usage: kweaver bkn object-type create <kn-id> --name X --
|
|
282
|
+
if (!knId || !name || !resourceId || !primaryKey || !displayKey) {
|
|
283
|
+
throw new Error("Usage: kweaver bkn object-type create <kn-id> --name X --resource-id Y --primary-key Z --display-key W");
|
|
283
284
|
}
|
|
284
285
|
const entry = {
|
|
285
286
|
branch,
|
|
286
287
|
name,
|
|
287
|
-
data_source: { type: "
|
|
288
|
+
data_source: { type: "resource", id: resourceId },
|
|
288
289
|
primary_keys: [primaryKey],
|
|
289
290
|
display_key: displayKey,
|
|
290
291
|
};
|
|
@@ -301,7 +302,7 @@ export function parseObjectTypeCreateArgs(args) {
|
|
|
301
302
|
return {
|
|
302
303
|
mode: "needsDataview",
|
|
303
304
|
knId,
|
|
304
|
-
|
|
305
|
+
resourceId,
|
|
305
306
|
entry,
|
|
306
307
|
businessDomain,
|
|
307
308
|
branch,
|
|
@@ -312,14 +313,14 @@ export function parseObjectTypeCreateArgs(args) {
|
|
|
312
313
|
* Load dataview fields and build data_properties (with mapped_field). Used when no --property flags.
|
|
313
314
|
*/
|
|
314
315
|
export async function finalizeObjectTypeCreateFromDataview(options) {
|
|
315
|
-
const { baseUrl, accessToken,
|
|
316
|
-
const dv = await
|
|
316
|
+
const { baseUrl, accessToken, resourceId, entry, businessDomain } = options;
|
|
317
|
+
const dv = await getResource({
|
|
317
318
|
baseUrl,
|
|
318
319
|
accessToken,
|
|
319
|
-
id:
|
|
320
|
+
id: resourceId,
|
|
320
321
|
businessDomain,
|
|
321
322
|
});
|
|
322
|
-
const fields = dv.
|
|
323
|
+
const fields = dv.schema_definition ?? [];
|
|
323
324
|
const primaryKeys = Array.isArray(entry.primary_keys)
|
|
324
325
|
? entry.primary_keys
|
|
325
326
|
: [];
|
|
@@ -977,22 +978,33 @@ export function parseRelationTypeDeleteArgs(args) {
|
|
|
977
978
|
export async function runKnObjectTypeCommand(args) {
|
|
978
979
|
const [action, ...rest] = args;
|
|
979
980
|
if (!action || action === "--help" || action === "-h") {
|
|
980
|
-
console.log(
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
kweaver bkn object-type
|
|
984
|
-
|
|
985
|
-
kweaver bkn object-type
|
|
986
|
-
kweaver bkn object-type
|
|
987
|
-
kweaver bkn object-type
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
981
|
+
console.log(renderHelp({
|
|
982
|
+
tagline: "Manage object types (schema) in a knowledge network.",
|
|
983
|
+
usage: [
|
|
984
|
+
"kweaver bkn object-type list <kn-id> [--pretty] [-bd value]",
|
|
985
|
+
"kweaver bkn object-type get <kn-id> <ot-id> [--pretty] [-bd value]",
|
|
986
|
+
"kweaver bkn object-type create <kn-id> --name X --resource-id Y --primary-key Z --display-key W [--property '<json>' ...]",
|
|
987
|
+
"kweaver bkn object-type update <kn-id> <ot-id> [--name X] [--display-key Y] [--add-property|--update-property '<json>' ...] [--remove-property N ...] [--tags '[\"a\",\"b\"]'] [--comment S] [--icon I] [--color C] [--branch main]",
|
|
988
|
+
"kweaver bkn object-type update <kn-id> <ot-id> '<full-json-body>'",
|
|
989
|
+
"kweaver bkn object-type delete <kn-id> <ot-ids> [-y]",
|
|
990
|
+
"kweaver bkn object-type query <kn-id> <ot-id> ['<json>'] [--limit <n>] [--search-after '<json-array>'] [--pretty] [-bd value]",
|
|
991
|
+
"kweaver bkn object-type properties <kn-id> <ot-id> '<json>' [--pretty] [-bd value]",
|
|
992
|
+
],
|
|
993
|
+
sections: [{
|
|
994
|
+
title: "AVAILABLE COMMANDS",
|
|
995
|
+
items: [
|
|
996
|
+
{ name: "list", desc: "List object types (schema) from ontology-manager." },
|
|
997
|
+
{ name: "get", desc: "Get single object type details." },
|
|
998
|
+
{ name: "create/update/delete", desc: "Schema CRUD (create requires resource-id). update: merge flags (--add-property / --update-property / --remove-property, etc.) GET-merge-PUT; or full JSON as third arg." },
|
|
999
|
+
{ name: "query", desc: "Query via ontology-query API. Default limit is 50 if not specified. Use --search-after for pagination." },
|
|
1000
|
+
{ name: "properties", desc: "Query instance properties by primary key." },
|
|
1001
|
+
],
|
|
1002
|
+
}],
|
|
1003
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
1004
|
+
learnMore: [
|
|
1005
|
+
"properties JSON format: {\"_instance_identities\":[{\"<primary-key>\":\"<value>\"}],\"properties\":[\"prop1\",\"prop2\"]}",
|
|
1006
|
+
],
|
|
1007
|
+
}));
|
|
996
1008
|
return 0;
|
|
997
1009
|
}
|
|
998
1010
|
try {
|
|
@@ -1023,7 +1035,7 @@ properties JSON format: {"_instance_identities":[{"<primary-key>":"<value>"}],"p
|
|
|
1023
1035
|
bodyStr = await finalizeObjectTypeCreateFromDataview({
|
|
1024
1036
|
baseUrl: token.baseUrl,
|
|
1025
1037
|
accessToken: token.accessToken,
|
|
1026
|
-
|
|
1038
|
+
resourceId: opts.resourceId,
|
|
1027
1039
|
entry: opts.entry,
|
|
1028
1040
|
businessDomain: opts.businessDomain,
|
|
1029
1041
|
});
|
|
@@ -1162,10 +1174,16 @@ JSON: {"_instance_identities":[{"<primary-key>":"<value>"}],"properties":["prop1
|
|
|
1162
1174
|
}
|
|
1163
1175
|
catch (error) {
|
|
1164
1176
|
if (error instanceof Error && error.message === "help") {
|
|
1165
|
-
console.log(
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
kweaver bkn object-type
|
|
1177
|
+
console.log(renderHelp({
|
|
1178
|
+
tagline: "Object-type create / update / delete usage.",
|
|
1179
|
+
usage: [
|
|
1180
|
+
"kweaver bkn object-type create <kn-id> --name X --resource-id Y --primary-key Z --display-key W [--property '<json>' ...]",
|
|
1181
|
+
"kweaver bkn object-type update <kn-id> <ot-id> [--name X] [--display-key Y] [--add-property|--update-property '<json>' ...] [--remove-property N ...] [--tags '[\"a\"]'] [--comment S] [--icon I] [--color C] [--branch main]",
|
|
1182
|
+
"kweaver bkn object-type update <kn-id> <ot-id> '<full-json-body>'",
|
|
1183
|
+
"kweaver bkn object-type delete <kn-id> <ot-ids> [-y]",
|
|
1184
|
+
],
|
|
1185
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
1186
|
+
}));
|
|
1169
1187
|
return 0;
|
|
1170
1188
|
}
|
|
1171
1189
|
console.error(formatHttpError(error));
|
|
@@ -1175,15 +1193,25 @@ kweaver bkn object-type delete <kn-id> <ot-ids> [-y]`);
|
|
|
1175
1193
|
export async function runKnRelationTypeCommand(args) {
|
|
1176
1194
|
const [action, ...rest] = args;
|
|
1177
1195
|
if (!action || action === "--help" || action === "-h") {
|
|
1178
|
-
console.log(
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
kweaver bkn relation-type
|
|
1182
|
-
kweaver bkn relation-type
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1196
|
+
console.log(renderHelp({
|
|
1197
|
+
tagline: "Manage relation types (schema) in a knowledge network.",
|
|
1198
|
+
usage: [
|
|
1199
|
+
"kweaver bkn relation-type list <kn-id> [--pretty] [-bd value]",
|
|
1200
|
+
"kweaver bkn relation-type get <kn-id> <rt-id> [--pretty] [-bd value]",
|
|
1201
|
+
"kweaver bkn relation-type create <kn-id> --name X --source <ot-id> --target <ot-id> [--mapping src:tgt ...]",
|
|
1202
|
+
"kweaver bkn relation-type update <kn-id> <rt-id> --source <ot-id> --target <ot-id> [--name X] [--type direct|data_view] [--mapping src:tgt ...]",
|
|
1203
|
+
"kweaver bkn relation-type delete <kn-id> <rt-ids> [-y]",
|
|
1204
|
+
],
|
|
1205
|
+
sections: [{
|
|
1206
|
+
title: "AVAILABLE COMMANDS",
|
|
1207
|
+
items: [
|
|
1208
|
+
{ name: "list", desc: "List relation types (schema) from ontology-manager." },
|
|
1209
|
+
{ name: "get", desc: "Get single relation type details." },
|
|
1210
|
+
{ name: "create/update/delete", desc: "Schema CRUD." },
|
|
1211
|
+
],
|
|
1212
|
+
}],
|
|
1213
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
1214
|
+
}));
|
|
1187
1215
|
return 0;
|
|
1188
1216
|
}
|
|
1189
1217
|
try {
|
|
@@ -1275,9 +1303,15 @@ create/update/delete: Schema CRUD.`);
|
|
|
1275
1303
|
}
|
|
1276
1304
|
catch (error) {
|
|
1277
1305
|
if (error instanceof Error && error.message === "help") {
|
|
1278
|
-
console.log(
|
|
1279
|
-
|
|
1280
|
-
|
|
1306
|
+
console.log(renderHelp({
|
|
1307
|
+
tagline: "Relation-type create / update / delete usage.",
|
|
1308
|
+
usage: [
|
|
1309
|
+
"kweaver bkn relation-type create <kn-id> --name X --source <ot-id> --target <ot-id> [--mapping src:tgt ...]",
|
|
1310
|
+
"kweaver bkn relation-type update <kn-id> <rt-id> --source <ot-id> --target <ot-id> [--name X] [--type direct|data_view] [--mapping src:tgt ...]",
|
|
1311
|
+
"kweaver bkn relation-type delete <kn-id> <rt-ids> [-y]",
|
|
1312
|
+
],
|
|
1313
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
1314
|
+
}));
|
|
1281
1315
|
return 0;
|
|
1282
1316
|
}
|
|
1283
1317
|
console.error(formatHttpError(error));
|
|
@@ -1287,36 +1321,36 @@ kweaver bkn relation-type delete <kn-id> <rt-ids> [-y]`);
|
|
|
1287
1321
|
export async function runKnActionTypeCommand(args) {
|
|
1288
1322
|
const [action, ...rest] = args;
|
|
1289
1323
|
if (!action || action === "--help" || action === "-h") {
|
|
1290
|
-
console.log(
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
kweaver bkn action-type
|
|
1294
|
-
kweaver bkn action-type
|
|
1295
|
-
kweaver bkn action-type
|
|
1296
|
-
kweaver bkn action-type
|
|
1297
|
-
kweaver bkn action-type
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1324
|
+
console.log(renderHelp({
|
|
1325
|
+
tagline: "Manage action types (schema) in a knowledge network.",
|
|
1326
|
+
usage: [
|
|
1327
|
+
"kweaver bkn action-type list <kn-id> [--pretty] [-bd value]",
|
|
1328
|
+
"kweaver bkn action-type get <kn-id> <at-id> [--pretty] [-bd value]",
|
|
1329
|
+
"kweaver bkn action-type create <kn-id> '<json>' [--pretty] [-bd value]",
|
|
1330
|
+
"kweaver bkn action-type update <kn-id> <at-id> '<json>' [--pretty] [-bd value]",
|
|
1331
|
+
"kweaver bkn action-type delete <kn-id> <at-ids> [-y] [--pretty] [-bd value]",
|
|
1332
|
+
"kweaver bkn action-type query <kn-id> <at-id> '<json>' [--pretty] [-bd value]",
|
|
1333
|
+
"kweaver bkn action-type inputs <kn-id> <at-id> [--json|--template] [-bd value]",
|
|
1334
|
+
"kweaver bkn action-type execute <kn-id> <at-id> [<json>|--dynamic-params '<json>' --instance '<json>' --trigger-type <v>] [--pretty] [-bd value] [--wait|--no-wait] [--timeout n]",
|
|
1335
|
+
],
|
|
1336
|
+
sections: [{
|
|
1337
|
+
title: "AVAILABLE COMMANDS",
|
|
1338
|
+
items: [
|
|
1339
|
+
{ name: "list", desc: "List action types (schema) from ontology-manager." },
|
|
1340
|
+
{ name: "get", desc: "Get a single action type by ID." },
|
|
1341
|
+
{ name: "create", desc: "Create action type(s) (POST JSON body)." },
|
|
1342
|
+
{ name: "update", desc: "Update an action type (PUT JSON body)." },
|
|
1343
|
+
{ name: "delete", desc: "Delete action type(s) by ID(s)." },
|
|
1344
|
+
{ name: "query", desc: "Query actions backing this action type." },
|
|
1345
|
+
{ name: "inputs", desc: "List parameters with value_from=input that the caller MUST supply.\nDefault prints a table + a starter dynamic_params template.\n--json dump filtered parameters as raw JSON\n--template print only the dynamic_params template object" },
|
|
1346
|
+
{ name: "execute", desc: "Run an action (has side effects - only use when explicitly requested).\nBody forms (mutually exclusive):\n 1. Positional envelope JSON: '{\"trigger_type\":\"manual\",\"_instance_identities\":[],\"dynamic_params\":{...}}'\n 2. Flag form (CLI assembles the envelope):\n --dynamic-params '<json object>' parameters with value_from=input\n --instance '<json object>' repeatable; one per identity\n --trigger-type <value> defaults to \"manual\"\n--wait (default) Poll until execution completes\n--no-wait Return immediately after starting execution\n--timeout <seconds> Max wait time when --wait (default: 300)" },
|
|
1347
|
+
],
|
|
1348
|
+
}],
|
|
1349
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
1350
|
+
learnMore: [
|
|
1351
|
+
"See skills/kweaver-core/references/bkn.md for the full payload contract.",
|
|
1352
|
+
],
|
|
1353
|
+
}));
|
|
1320
1354
|
return 0;
|
|
1321
1355
|
}
|
|
1322
1356
|
if (action === "list") {
|
|
@@ -1617,16 +1651,23 @@ export async function runKnConceptGroupCommand(args) {
|
|
|
1617
1651
|
}
|
|
1618
1652
|
catch (error) {
|
|
1619
1653
|
if (error instanceof Error && error.message === "help") {
|
|
1620
|
-
console.log(
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1654
|
+
console.log(renderHelp({
|
|
1655
|
+
tagline: "Manage concept groups in a knowledge network.",
|
|
1656
|
+
usage: "kweaver bkn concept-group <action> <kn-id> [args] [--pretty] [-bd value]",
|
|
1657
|
+
sections: [{
|
|
1658
|
+
title: "AVAILABLE COMMANDS",
|
|
1659
|
+
items: [
|
|
1660
|
+
{ name: "list <kn-id>", desc: "List concept groups" },
|
|
1661
|
+
{ name: "get <kn-id> <cg-id>", desc: "Get concept group details" },
|
|
1662
|
+
{ name: "create <kn-id> '<json>'", desc: "Create concept group" },
|
|
1663
|
+
{ name: "update <kn-id> <cg-id> '<json>'", desc: "Update concept group" },
|
|
1664
|
+
{ name: "delete <kn-id> <cg-id> [-y]", desc: "Delete concept group" },
|
|
1665
|
+
{ name: "add-members <kn-id> <cg-id> <ot-ids>", desc: "Add object type members (comma-separated)" },
|
|
1666
|
+
{ name: "remove-members <kn-id> <cg-id> <ot-ids> [-y]", desc: "Remove object type members" },
|
|
1667
|
+
],
|
|
1668
|
+
}],
|
|
1669
|
+
inheritedFlags: "--base-url, --token, --user, --help",
|
|
1670
|
+
}));
|
|
1630
1671
|
return 0;
|
|
1631
1672
|
}
|
|
1632
1673
|
console.error(formatHttpError(error));
|