@knowzai/api-client 0.1.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/LICENSE +21 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/chat.d.ts +21 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +147 -0
- package/dist/chat.js.map +1 -0
- package/dist/client.d.ts +33 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +198 -0
- package/dist/client.js.map +1 -0
- package/dist/contracts.d.ts +24 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +2 -0
- package/dist/contracts.js.map +1 -0
- package/dist/envelope.d.ts +27 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +16 -0
- package/dist/envelope.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/ask.d.ts +14 -0
- package/dist/resources/ask.d.ts.map +1 -0
- package/dist/resources/ask.js +22 -0
- package/dist/resources/ask.js.map +1 -0
- package/dist/resources/auth.d.ts +15 -0
- package/dist/resources/auth.d.ts.map +1 -0
- package/dist/resources/auth.js +35 -0
- package/dist/resources/auth.js.map +1 -0
- package/dist/resources/extras.d.ts +157 -0
- package/dist/resources/extras.d.ts.map +1 -0
- package/dist/resources/extras.js +150 -0
- package/dist/resources/extras.js.map +1 -0
- package/dist/resources/index.d.ts +6 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +6 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/knowledge.d.ts +13 -0
- package/dist/resources/knowledge.d.ts.map +1 -0
- package/dist/resources/knowledge.js +92 -0
- package/dist/resources/knowledge.js.map +1 -0
- package/dist/resources/paging.d.ts +15 -0
- package/dist/resources/paging.d.ts.map +1 -0
- package/dist/resources/paging.js +16 -0
- package/dist/resources/paging.js.map +1 -0
- package/dist/resources/schemas.d.ts +322 -0
- package/dist/resources/schemas.d.ts.map +1 -0
- package/dist/resources/schemas.js +172 -0
- package/dist/resources/schemas.js.map +1 -0
- package/dist/resources/search.d.ts +14 -0
- package/dist/resources/search.d.ts.map +1 -0
- package/dist/resources/search.js +21 -0
- package/dist/resources/search.js.map +1 -0
- package/dist/resources/vaults.d.ts +14 -0
- package/dist/resources/vaults.d.ts.map +1 -0
- package/dist/resources/vaults.js +41 -0
- package/dist/resources/vaults.js.map +1 -0
- package/dist/tls.d.ts +7 -0
- package/dist/tls.d.ts.map +1 -0
- package/dist/tls.js +22 -0
- package/dist/tls.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SearchResultSchema } from './schemas.js';
|
|
3
|
+
export class SearchApi {
|
|
4
|
+
core;
|
|
5
|
+
constructor(core) {
|
|
6
|
+
this.core = core;
|
|
7
|
+
}
|
|
8
|
+
async search(query) {
|
|
9
|
+
// Live route is GET /api/v1/knowledge/search?query=… (returns a bare array of
|
|
10
|
+
// knowledge DTOs). It takes no limit, so slice client-side.
|
|
11
|
+
const all = await this.core.request({
|
|
12
|
+
method: 'GET',
|
|
13
|
+
path: '/api/v1/knowledge/search',
|
|
14
|
+
query: { query: query.q },
|
|
15
|
+
schema: z.array(SearchResultSchema),
|
|
16
|
+
});
|
|
17
|
+
const limit = query.limit ?? 10;
|
|
18
|
+
return limit > 0 ? all.slice(0, limit) : all;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/resources/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AASlD,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,KAAK,CAAC,MAAM,CAAC,KAAkB;QAC7B,8EAA8E;QAC9E,4DAA4D;QAC5D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YACzB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CoreClient } from '../contracts.js';
|
|
2
|
+
import type { VaultSummary, VaultDetail, CreateVaultRequest, KnowledgeSummary, Paged } from '@knowzai/types';
|
|
3
|
+
export declare class VaultsApi {
|
|
4
|
+
private readonly core;
|
|
5
|
+
constructor(core: CoreClient);
|
|
6
|
+
list(): Promise<VaultSummary[]>;
|
|
7
|
+
create(req: CreateVaultRequest): Promise<VaultDetail>;
|
|
8
|
+
get(id: string): Promise<VaultDetail>;
|
|
9
|
+
contents(id: string, q?: {
|
|
10
|
+
page?: number;
|
|
11
|
+
pageSize?: number;
|
|
12
|
+
}): Promise<Paged<KnowledgeSummary>>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=vaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaults.d.ts","sourceRoot":"","sources":["../../src/resources/vaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,EACN,MAAM,gBAAgB,CAAC;AAIxB,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEvC,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IASrC,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IASrD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ/B,QAAQ,CACZ,EAAE,EAAE,MAAM,EACV,CAAC,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAC3C,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;CASpC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { VaultSummarySchema, KnowledgeSummarySchema, pagedSchema } from './schemas.js';
|
|
2
|
+
import { toArray, toPaged } from './paging.js';
|
|
3
|
+
export class VaultsApi {
|
|
4
|
+
core;
|
|
5
|
+
constructor(core) {
|
|
6
|
+
this.core = core;
|
|
7
|
+
}
|
|
8
|
+
async list() {
|
|
9
|
+
const data = await this.core.request({
|
|
10
|
+
method: 'GET',
|
|
11
|
+
path: '/api/v1/vaults',
|
|
12
|
+
schema: pagedSchema(VaultSummarySchema),
|
|
13
|
+
});
|
|
14
|
+
return toArray(data);
|
|
15
|
+
}
|
|
16
|
+
create(req) {
|
|
17
|
+
return this.core.request({
|
|
18
|
+
method: 'POST',
|
|
19
|
+
path: '/api/v1/vaults',
|
|
20
|
+
body: req,
|
|
21
|
+
schema: VaultSummarySchema,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
get(id) {
|
|
25
|
+
return this.core.request({
|
|
26
|
+
method: 'GET',
|
|
27
|
+
path: `/api/v1/vaults/${encodeURIComponent(id)}`,
|
|
28
|
+
schema: VaultSummarySchema,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async contents(id, q = {}) {
|
|
32
|
+
const data = await this.core.request({
|
|
33
|
+
method: 'GET',
|
|
34
|
+
path: `/api/v1/vaults/${encodeURIComponent(id)}/knowledge`,
|
|
35
|
+
query: { page: q.page ?? 1, pageSize: q.pageSize ?? 20 },
|
|
36
|
+
schema: pagedSchema(KnowledgeSummarySchema),
|
|
37
|
+
});
|
|
38
|
+
return toPaged(data, q);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=vaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaults.js","sourceRoot":"","sources":["../../src/resources/vaults.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAa,CAAmB,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,GAAuB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,kBAAkB;SAC3B,CAAyB,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE;YAChD,MAAM,EAAE,kBAAkB;SAC3B,CAAyB,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,EAAU,EACV,IAA0C,EAAE;QAE5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,YAAY;YAC1D,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE;YACxD,MAAM,EAAE,WAAW,CAAC,sBAAsB,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAa,EAAE,CAAC,CAA4B,CAAC;IAC9D,CAAC;CACF"}
|
package/dist/tls.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enforce TLS: only `https://` is allowed, except for local hosts (used by
|
|
3
|
+
* `@knowzai/web` and self-hosted dev). Throws synchronously before any request.
|
|
4
|
+
* (Security requirement S-N3-4.)
|
|
5
|
+
*/
|
|
6
|
+
export declare function assertTlsAllowed(rawUrl: string): void;
|
|
7
|
+
//# sourceMappingURL=tls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tls.d.ts","sourceRoot":"","sources":["../src/tls.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAcrD"}
|
package/dist/tls.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ApiError } from '@knowzai/types';
|
|
2
|
+
const LOCAL_HOSTS = new Set(['localhost', '127.0.0.1', '::1', '[::1]']);
|
|
3
|
+
/**
|
|
4
|
+
* Enforce TLS: only `https://` is allowed, except for local hosts (used by
|
|
5
|
+
* `@knowzai/web` and self-hosted dev). Throws synchronously before any request.
|
|
6
|
+
* (Security requirement S-N3-4.)
|
|
7
|
+
*/
|
|
8
|
+
export function assertTlsAllowed(rawUrl) {
|
|
9
|
+
let url;
|
|
10
|
+
try {
|
|
11
|
+
url = new URL(rawUrl);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
throw new ApiError(0, [`Invalid API URL: ${rawUrl}`], { code: 'invalid_url' });
|
|
15
|
+
}
|
|
16
|
+
if (url.protocol === 'https:')
|
|
17
|
+
return;
|
|
18
|
+
if (url.protocol === 'http:' && LOCAL_HOSTS.has(url.hostname))
|
|
19
|
+
return;
|
|
20
|
+
throw new ApiError(0, [`Refusing insecure API URL '${rawUrl}'. Use https:// (http:// is allowed only for localhost).`], { code: 'insecure_url' });
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=tls.js.map
|
package/dist/tls.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tls.js","sourceRoot":"","sources":["../src/tls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAExE;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,oBAAoB,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO;IACtC,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO;IACtE,MAAM,IAAI,QAAQ,CAChB,CAAC,EACD,CAAC,8BAA8B,MAAM,0DAA0D,CAAC,EAChG,EAAE,IAAI,EAAE,cAAc,EAAE,CACzB,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@knowzai/api-client",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": {
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"import": "./dist/index.js"
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
"main": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"p-retry": "^6.2.1",
|
|
18
|
+
"zod": "^3.24.1",
|
|
19
|
+
"@knowzai/types": "0.1.0"
|
|
20
|
+
},
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"author": "Knowz",
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://github.com/knowz-io/knowz-platform.git",
|
|
26
|
+
"directory": "cli/api-client"
|
|
27
|
+
},
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
},
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=20"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "tsc -b"
|
|
36
|
+
}
|
|
37
|
+
}
|