@pawabase/client 0.1.4 → 0.3.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/README.md +22 -7
- package/dist/cjs/agents.d.ts +87 -0
- package/dist/cjs/agents.d.ts.map +1 -0
- package/dist/cjs/agents.js +153 -0
- package/dist/cjs/agents.js.map +1 -0
- package/dist/cjs/ai.d.ts +5 -0
- package/dist/cjs/ai.d.ts.map +1 -1
- package/dist/cjs/ai.js +7 -0
- package/dist/cjs/ai.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/manage/access.d.ts +1 -59
- package/dist/cjs/manage/access.d.ts.map +1 -1
- package/dist/cjs/manage/access.js +1 -82
- package/dist/cjs/manage/access.js.map +1 -1
- package/dist/cjs/manage/agents.d.ts +76 -0
- package/dist/cjs/manage/agents.d.ts.map +1 -0
- package/dist/cjs/manage/agents.js +89 -0
- package/dist/cjs/manage/agents.js.map +1 -0
- package/dist/cjs/manage/base.d.ts +6 -16
- package/dist/cjs/manage/base.d.ts.map +1 -1
- package/dist/cjs/manage/base.js +11 -11
- package/dist/cjs/manage/base.js.map +1 -1
- package/dist/cjs/manage/data.d.ts +13 -15
- package/dist/cjs/manage/data.d.ts.map +1 -1
- package/dist/cjs/manage/data.js +14 -21
- package/dist/cjs/manage/data.js.map +1 -1
- package/dist/cjs/manage/files.d.ts +5 -0
- package/dist/cjs/manage/files.d.ts.map +1 -1
- package/dist/cjs/manage/files.js +10 -1
- package/dist/cjs/manage/files.js.map +1 -1
- package/dist/cjs/manage/index.d.ts +9 -7
- package/dist/cjs/manage/index.d.ts.map +1 -1
- package/dist/cjs/manage/index.js +11 -8
- package/dist/cjs/manage/index.js.map +1 -1
- package/dist/cjs/manage/lifecycle.d.ts +15 -38
- package/dist/cjs/manage/lifecycle.d.ts.map +1 -1
- package/dist/cjs/manage/lifecycle.js +21 -52
- package/dist/cjs/manage/lifecycle.js.map +1 -1
- package/dist/cjs/manage/mail.d.ts +11 -1
- package/dist/cjs/manage/mail.d.ts.map +1 -1
- package/dist/cjs/manage/mail.js +11 -0
- package/dist/cjs/manage/mail.js.map +1 -1
- package/dist/cjs/manage/observe.d.ts +6 -0
- package/dist/cjs/manage/observe.d.ts.map +1 -1
- package/dist/cjs/manage/observe.js +8 -2
- package/dist/cjs/manage/observe.js.map +1 -1
- package/dist/cjs/realtime.d.ts +68 -0
- package/dist/cjs/realtime.d.ts.map +1 -1
- package/dist/cjs/realtime.js +153 -1
- package/dist/cjs/realtime.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/agents.d.ts +87 -0
- package/dist/esm/agents.d.ts.map +1 -0
- package/dist/esm/agents.js +148 -0
- package/dist/esm/agents.js.map +1 -0
- package/dist/esm/ai.d.ts +5 -0
- package/dist/esm/ai.d.ts.map +1 -1
- package/dist/esm/ai.js +7 -0
- package/dist/esm/ai.js.map +1 -1
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/manage/access.d.ts +1 -59
- package/dist/esm/manage/access.d.ts.map +1 -1
- package/dist/esm/manage/access.js +0 -80
- package/dist/esm/manage/access.js.map +1 -1
- package/dist/esm/manage/agents.d.ts +76 -0
- package/dist/esm/manage/agents.d.ts.map +1 -0
- package/dist/esm/manage/agents.js +82 -0
- package/dist/esm/manage/agents.js.map +1 -0
- package/dist/esm/manage/base.d.ts +6 -16
- package/dist/esm/manage/base.d.ts.map +1 -1
- package/dist/esm/manage/base.js +11 -11
- package/dist/esm/manage/base.js.map +1 -1
- package/dist/esm/manage/data.d.ts +13 -15
- package/dist/esm/manage/data.d.ts.map +1 -1
- package/dist/esm/manage/data.js +13 -18
- package/dist/esm/manage/data.js.map +1 -1
- package/dist/esm/manage/files.d.ts +5 -0
- package/dist/esm/manage/files.d.ts.map +1 -1
- package/dist/esm/manage/files.js +10 -1
- package/dist/esm/manage/files.js.map +1 -1
- package/dist/esm/manage/index.d.ts +9 -7
- package/dist/esm/manage/index.d.ts.map +1 -1
- package/dist/esm/manage/index.js +14 -11
- package/dist/esm/manage/index.js.map +1 -1
- package/dist/esm/manage/lifecycle.d.ts +15 -38
- package/dist/esm/manage/lifecycle.d.ts.map +1 -1
- package/dist/esm/manage/lifecycle.js +19 -50
- package/dist/esm/manage/lifecycle.js.map +1 -1
- package/dist/esm/manage/mail.d.ts +11 -1
- package/dist/esm/manage/mail.d.ts.map +1 -1
- package/dist/esm/manage/mail.js +12 -1
- package/dist/esm/manage/mail.js.map +1 -1
- package/dist/esm/manage/observe.d.ts +6 -0
- package/dist/esm/manage/observe.d.ts.map +1 -1
- package/dist/esm/manage/observe.js +8 -2
- package/dist/esm/manage/observe.js.map +1 -1
- package/dist/esm/realtime.d.ts +68 -0
- package/dist/esm/realtime.d.ts.map +1 -1
- package/dist/esm/realtime.js +151 -0
- package/dist/esm/realtime.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
- package/src/agents.ts +184 -0
- package/src/ai.ts +10 -1
- package/src/index.ts +5 -1
- package/src/manage/access.ts +0 -93
- package/src/manage/agents.ts +98 -0
- package/src/manage/base.ts +11 -11
- package/src/manage/data.ts +14 -19
- package/src/manage/files.ts +12 -1
- package/src/manage/index.ts +14 -11
- package/src/manage/lifecycle.ts +20 -64
- package/src/manage/mail.ts +15 -1
- package/src/manage/observe.ts +9 -2
- package/src/realtime.ts +173 -0
- package/src/version.ts +1 -1
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ const { data, total } = await pawabase
|
|
|
31
31
|
|
|
32
32
|
## Contents
|
|
33
33
|
|
|
34
|
-
- [Keys](#keys) · [Records](#records) · [Auth](#auth) · [Storage](#storage) · [Flows and routes](#flows-and-routes) · [Realtime](#realtime)
|
|
34
|
+
- [Keys](#keys) · [Records](#records) · [Auth](#auth) · [Storage](#storage) · [Flows and routes](#flows-and-routes) · [Agents](#agents-and-knowledge) · [Realtime](#realtime)
|
|
35
35
|
- [Managing an environment](#managing-an-environment-secret-key) · [Types](#types) · [Errors](#errors) · [Retries and timeouts](#retries-and-timeouts) · [Servers and SSR](#servers-and-ssr) · [Testing](#testing-your-app)
|
|
36
36
|
|
|
37
37
|
## Keys
|
|
@@ -158,6 +158,22 @@ await pawabase.routes.post("checkout/start", { cart: 1 }, { query: { dry: true }
|
|
|
158
158
|
await pawabase.request("GET", "/v1/anything"); // raw, with auth and retries
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
+
## Agents and knowledge
|
|
162
|
+
|
|
163
|
+
Agents run on the server with the tools, knowledge and approvals you gave them; who may run one is the agent's access policy.
|
|
164
|
+
|
|
165
|
+
```ts
|
|
166
|
+
const run = await pawabase.ai.agents.run("support", "How do I reset my password?", { thread });
|
|
167
|
+
for await (const event of pawabase.ai.agents.stream("support", "Summarise my open tickets")) console.log(event);
|
|
168
|
+
|
|
169
|
+
const queued = await pawabase.ai.agents.run("report", "Weekly summary", { background: true });
|
|
170
|
+
const done = await pawabase.ai.agents.wait(queued.id);
|
|
171
|
+
if (done.status === "waiting") await pawabase.ai.agents.decide(done.id, { approve: true });
|
|
172
|
+
|
|
173
|
+
await pawabase.ai.knowledge.addDocument("docs", { url: "https://example.com/guide" });
|
|
174
|
+
const hits = await pawabase.ai.knowledge.search("docs", "reset password", { limit: 3 });
|
|
175
|
+
```
|
|
176
|
+
|
|
161
177
|
## Realtime
|
|
162
178
|
|
|
163
179
|
```ts
|
|
@@ -201,7 +217,7 @@ const pawabase = createClient({ url, apiKey: process.env.PAWABASE_SECRET_KEY!, e
|
|
|
201
217
|
const m = manage(pawabase);
|
|
202
218
|
|
|
203
219
|
await m.secrets.set("STRIPE_KEY", "sk_live_…");
|
|
204
|
-
await m.
|
|
220
|
+
await m.agents.create({ name: "support", model: "chat", instructions: "Answer from the docs.", knowledge: ["docs"] });
|
|
205
221
|
await m.jobs.replay({ job: "send_mail", sinceMinutes: 60, dryRun: true });
|
|
206
222
|
await m.backups.snapshot("before-launch");
|
|
207
223
|
await manage(pawabase, "staging").flows.list(); // the same API for another environment the key may manage
|
|
@@ -212,11 +228,10 @@ await a.users.update(userId, { disabled: true });
|
|
|
212
228
|
await a.orgs.addMember("acme", { email: "ada@example.com", role: "admin" });
|
|
213
229
|
```
|
|
214
230
|
|
|
215
|
-
`manage()` groups the platform by what you are doing: **data** (`resources`, `schema`, `policies`, `schemas`, `
|
|
216
|
-
**automation** (`flows`, `schedules`, `subscriptions`, `events`, `webhooks`, `inboundHooks`, `jobs`), **files and mail** (`buckets`, `cache`, `mail`,
|
|
217
|
-
`mailTemplates`), **access** (`keys`, `secrets`, `domains
|
|
218
|
-
(`environments`, `
|
|
219
|
-
`{ branch }` to work on a feature branch. `admin()` has `users`, `roles`, `orgs`, `invitations`, `sessions`, `apiKeys`, `machines`, `devices`, `privacy` and `insight`
|
|
231
|
+
`manage()` groups the platform by what you are doing: **data** (`resources`, `schema`, `policies`, `schemas`, `routes`, `database`),
|
|
232
|
+
**agents** (`agents`, `agentRuns`, `knowledgeBases`, `connections`), **automation** (`flows`, `schedules`, `subscriptions`, `events`, `webhooks`, `inboundHooks`, `jobs`), **files and mail** (`buckets`, `cache`, `mail`,
|
|
233
|
+
`mailTemplates`), **access** (`keys`, `secrets`, `domains`), **observe** (`observability`, `alarms`, `statusPage`, `health`) and **lifecycle**
|
|
234
|
+
(`environments`, `versions`, `backups`). Definitions (`flows`, `policies`, `webhooks`…) share `list`, `getOne`, `create`, `replace` and `remove`. `admin()` has `users`, `roles`, `orgs`, `invitations`, `sessions`, `apiKeys`, `machines`, `devices`, `privacy` and `insight`
|
|
220
235
|
(events, statistics, identity backup, hosted pages). `admin().users` also reads a person's `activity()` and `timeline()` (sign-ins, account changes and requests) and handles data requests with `exportData()` and `eraseData()`. Both refuse a publishable key, and a key manages only its own environment.
|
|
221
236
|
|
|
222
237
|
## Types
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { HttpClient } from "./http.js";
|
|
2
|
+
export type AgentRunStatus = "running" | "waiting" | "finished" | "failed" | "cancelled" | (string & {});
|
|
3
|
+
/** One run of an agent. A run that stopped to ask permission has `status: "waiting"` and lists what it is waiting on. */
|
|
4
|
+
export interface AgentRun {
|
|
5
|
+
id: string;
|
|
6
|
+
agent: string;
|
|
7
|
+
status: AgentRunStatus;
|
|
8
|
+
/** The agent's answer, once it has one. */
|
|
9
|
+
output?: string;
|
|
10
|
+
thread?: string;
|
|
11
|
+
error?: string;
|
|
12
|
+
[field: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
/** One step of a streamed run (`type` says which: text pieces, tool calls and results, approvals, `error`). */
|
|
15
|
+
export interface AgentEvent {
|
|
16
|
+
type: string;
|
|
17
|
+
[field: string]: unknown;
|
|
18
|
+
}
|
|
19
|
+
export interface AgentRunOptions {
|
|
20
|
+
/** Carry on a conversation: the `thread` of an earlier run. */
|
|
21
|
+
thread?: string;
|
|
22
|
+
/** Return at once; poll `get()` or start a flow from `agent.run.finished`. */
|
|
23
|
+
background?: boolean;
|
|
24
|
+
signal?: AbortSignal | null;
|
|
25
|
+
}
|
|
26
|
+
export interface KnowledgeHit {
|
|
27
|
+
[field: string]: unknown;
|
|
28
|
+
}
|
|
29
|
+
export interface KnowledgeDocument {
|
|
30
|
+
id: string;
|
|
31
|
+
status: "pending" | "ready" | "failed" | (string & {});
|
|
32
|
+
title?: string;
|
|
33
|
+
error?: string;
|
|
34
|
+
chunks?: number;
|
|
35
|
+
}
|
|
36
|
+
export declare class AgentsClient {
|
|
37
|
+
private readonly http;
|
|
38
|
+
constructor(http: HttpClient);
|
|
39
|
+
/** The agents the caller may run. */
|
|
40
|
+
list(): Promise<Array<{
|
|
41
|
+
name: string;
|
|
42
|
+
description: string;
|
|
43
|
+
}>>;
|
|
44
|
+
/** Send `input` and wait for the run (or, with `background`, only for it to start). */
|
|
45
|
+
run(name: string, input: string, options?: AgentRunOptions): Promise<AgentRun>;
|
|
46
|
+
/** Each step of a run as it happens. */
|
|
47
|
+
stream(name: string, input: string, options?: Omit<AgentRunOptions, "background">): AsyncGenerator<AgentEvent, void, void>;
|
|
48
|
+
/** A run of yours: its status and answer, and what it is waiting on if it stopped to ask. */
|
|
49
|
+
get(runId: string): Promise<AgentRun>;
|
|
50
|
+
/** Approve or decline what a run is waiting on: a decision per call id, and `approve` for any not named. */
|
|
51
|
+
decide(runId: string, options?: {
|
|
52
|
+
decisions?: Record<string, boolean>;
|
|
53
|
+
approve?: boolean;
|
|
54
|
+
background?: boolean;
|
|
55
|
+
}): Promise<AgentRun>;
|
|
56
|
+
/** Poll a background run until it is no longer running (a waiting run is returned too, so you can decide it). */
|
|
57
|
+
wait(runId: string, options?: {
|
|
58
|
+
intervalMs?: number;
|
|
59
|
+
timeoutMs?: number;
|
|
60
|
+
signal?: AbortSignal | null;
|
|
61
|
+
}): Promise<AgentRun>;
|
|
62
|
+
}
|
|
63
|
+
export declare class KnowledgeClient {
|
|
64
|
+
private readonly http;
|
|
65
|
+
constructor(http: HttpClient);
|
|
66
|
+
/** Search by meaning and by words together. Documents kept private to someone else are left out. */
|
|
67
|
+
search(name: string, query: string, options?: {
|
|
68
|
+
limit?: number;
|
|
69
|
+
signal?: AbortSignal | null;
|
|
70
|
+
}): Promise<KnowledgeHit[]>;
|
|
71
|
+
/** Add text, or a web page to read (`url`). A signed-in user's documents are found only by them. Adding the same `source` again replaces it. */
|
|
72
|
+
addDocument(name: string, input: {
|
|
73
|
+
text?: string;
|
|
74
|
+
url?: string;
|
|
75
|
+
title?: string;
|
|
76
|
+
source?: string;
|
|
77
|
+
}): Promise<KnowledgeDocument>;
|
|
78
|
+
/** Add a file (PDF, Word, HTML or text). */
|
|
79
|
+
addFile(name: string, file: Blob, options?: {
|
|
80
|
+
title?: string;
|
|
81
|
+
source?: string;
|
|
82
|
+
filename?: string;
|
|
83
|
+
}): Promise<KnowledgeDocument>;
|
|
84
|
+
/** Whether a document is ready to search, and why not if it failed. */
|
|
85
|
+
document(name: string, documentId: string): Promise<KnowledgeDocument>;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KnowledgeClient = exports.AgentsClient = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Agents and knowledge bases, run from your app: the signed-in user's access rules decide which agents they may run and which
|
|
6
|
+
* knowledge bases they may search.
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* const run = await pawabase.ai.agents.run("support", "How do I reset my password?");
|
|
10
|
+
* console.log(run.output);
|
|
11
|
+
* for await (const event of pawabase.ai.agents.stream("support", "Summarise my open tickets")) console.log(event);
|
|
12
|
+
* const hits = await pawabase.ai.knowledge.search("docs", "reset password");
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
const errors_js_1 = require("./errors.js");
|
|
16
|
+
const seg = (...parts) => "/" + parts.map(encodeURIComponent).join("/");
|
|
17
|
+
class AgentsClient {
|
|
18
|
+
http;
|
|
19
|
+
constructor(http) {
|
|
20
|
+
this.http = http;
|
|
21
|
+
}
|
|
22
|
+
/** The agents the caller may run. */
|
|
23
|
+
async list() {
|
|
24
|
+
const body = await this.http.request({ path: "/ai/v1/agents" });
|
|
25
|
+
return body.data;
|
|
26
|
+
}
|
|
27
|
+
/** Send `input` and wait for the run (or, with `background`, only for it to start). */
|
|
28
|
+
run(name, input, options = {}) {
|
|
29
|
+
return this.http.request({
|
|
30
|
+
method: "POST",
|
|
31
|
+
path: `/ai/v1${seg("agents", name, "runs")}`,
|
|
32
|
+
body: { input, thread: options.thread, background: options.background ?? false },
|
|
33
|
+
signal: options.signal ?? undefined,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/** Each step of a run as it happens. */
|
|
37
|
+
async *stream(name, input, options = {}) {
|
|
38
|
+
const stream = await this.http.request({
|
|
39
|
+
method: "POST",
|
|
40
|
+
path: `/ai/v1${seg("agents", name, "runs")}`,
|
|
41
|
+
body: { input, thread: options.thread, stream: true },
|
|
42
|
+
parse: "stream",
|
|
43
|
+
signal: options.signal ?? undefined,
|
|
44
|
+
});
|
|
45
|
+
if (!stream)
|
|
46
|
+
return;
|
|
47
|
+
const reader = stream.getReader();
|
|
48
|
+
const decoder = new TextDecoder();
|
|
49
|
+
let buffer = "";
|
|
50
|
+
try {
|
|
51
|
+
for (;;) {
|
|
52
|
+
const { value, done } = await reader.read();
|
|
53
|
+
if (done)
|
|
54
|
+
break;
|
|
55
|
+
buffer += decoder.decode(value, { stream: true });
|
|
56
|
+
let end;
|
|
57
|
+
while ((end = buffer.indexOf("\n\n")) >= 0) {
|
|
58
|
+
const event = buffer.slice(0, end);
|
|
59
|
+
buffer = buffer.slice(end + 2);
|
|
60
|
+
for (const line of event.split("\n")) {
|
|
61
|
+
if (!line.startsWith("data:"))
|
|
62
|
+
continue;
|
|
63
|
+
const data = line.slice(5).trim();
|
|
64
|
+
if (data === "[DONE]")
|
|
65
|
+
return;
|
|
66
|
+
let parsed;
|
|
67
|
+
try {
|
|
68
|
+
parsed = JSON.parse(data);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (parsed.type === "error") {
|
|
74
|
+
throw new errors_js_1.ApiError({ status: 502, code: "agent_error", message: String(parsed.message ?? "the run stopped") });
|
|
75
|
+
}
|
|
76
|
+
yield parsed;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
reader.releaseLock();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/** A run of yours: its status and answer, and what it is waiting on if it stopped to ask. */
|
|
86
|
+
get(runId) {
|
|
87
|
+
return this.http.request({ path: `/ai/v1${seg("agent-runs", runId)}` });
|
|
88
|
+
}
|
|
89
|
+
/** Approve or decline what a run is waiting on: a decision per call id, and `approve` for any not named. */
|
|
90
|
+
decide(runId, options = {}) {
|
|
91
|
+
return this.http.request({
|
|
92
|
+
method: "POST",
|
|
93
|
+
path: `/ai/v1${seg("agent-runs", runId, "decide")}`,
|
|
94
|
+
body: { decisions: options.decisions ?? {}, approve: options.approve, background: options.background ?? false },
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/** Poll a background run until it is no longer running (a waiting run is returned too, so you can decide it). */
|
|
98
|
+
async wait(runId, options = {}) {
|
|
99
|
+
const interval = options.intervalMs ?? 1000;
|
|
100
|
+
const deadline = Date.now() + (options.timeoutMs ?? 5 * 60_000);
|
|
101
|
+
for (;;) {
|
|
102
|
+
const run = await this.get(runId);
|
|
103
|
+
if (run.status !== "running")
|
|
104
|
+
return run;
|
|
105
|
+
if (options.signal?.aborted)
|
|
106
|
+
throw options.signal.reason ?? new Error("aborted");
|
|
107
|
+
if (Date.now() >= deadline)
|
|
108
|
+
throw new Error(`run ${runId} was still running after ${options.timeoutMs ?? 5 * 60_000} ms`);
|
|
109
|
+
await new Promise((resolve) => setTimeout(resolve, interval));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.AgentsClient = AgentsClient;
|
|
114
|
+
class KnowledgeClient {
|
|
115
|
+
http;
|
|
116
|
+
constructor(http) {
|
|
117
|
+
this.http = http;
|
|
118
|
+
}
|
|
119
|
+
/** Search by meaning and by words together. Documents kept private to someone else are left out. */
|
|
120
|
+
async search(name, query, options = {}) {
|
|
121
|
+
const body = await this.http.request({
|
|
122
|
+
method: "POST",
|
|
123
|
+
path: `/ai/v1${seg("knowledge", name, "search")}`,
|
|
124
|
+
body: { query, limit: options.limit ?? 5 },
|
|
125
|
+
signal: options.signal ?? undefined,
|
|
126
|
+
});
|
|
127
|
+
return body.data;
|
|
128
|
+
}
|
|
129
|
+
/** Add text, or a web page to read (`url`). A signed-in user's documents are found only by them. Adding the same `source` again replaces it. */
|
|
130
|
+
addDocument(name, input) {
|
|
131
|
+
return this.http.request({
|
|
132
|
+
method: "POST",
|
|
133
|
+
path: `/ai/v1${seg("knowledge", name, "documents")}`,
|
|
134
|
+
body: { title: input.title ?? "", source: input.source ?? "", text: input.text, url: input.url },
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/** Add a file (PDF, Word, HTML or text). */
|
|
138
|
+
addFile(name, file, options = {}) {
|
|
139
|
+
const form = new FormData();
|
|
140
|
+
form.append("file", file, options.filename ?? file.name ?? "document");
|
|
141
|
+
if (options.title)
|
|
142
|
+
form.append("title", options.title);
|
|
143
|
+
if (options.source)
|
|
144
|
+
form.append("source", options.source);
|
|
145
|
+
return this.http.request({ method: "POST", path: `/ai/v1${seg("knowledge", name, "documents")}`, body: form });
|
|
146
|
+
}
|
|
147
|
+
/** Whether a document is ready to search, and why not if it failed. */
|
|
148
|
+
document(name, documentId) {
|
|
149
|
+
return this.http.request({ path: `/ai/v1${seg("knowledge", name, "documents", documentId)}` });
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.KnowledgeClient = KnowledgeClient;
|
|
153
|
+
//# sourceMappingURL=agents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/agents.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/ai.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AgentsClient, KnowledgeClient } from "./agents.js";
|
|
1
2
|
import type { HttpClient } from "./http.js";
|
|
2
3
|
export interface ChatMessage {
|
|
3
4
|
role: "system" | "user" | "assistant" | "tool" | "developer";
|
|
@@ -53,6 +54,10 @@ export interface AiModelInfo {
|
|
|
53
54
|
}
|
|
54
55
|
export declare class AiClient {
|
|
55
56
|
private readonly http;
|
|
57
|
+
/** Agents the caller may run: `run`, `stream`, `get`, `decide`, `wait`. */
|
|
58
|
+
readonly agents: AgentsClient;
|
|
59
|
+
/** Knowledge bases the caller may search or add documents to. */
|
|
60
|
+
readonly knowledge: KnowledgeClient;
|
|
56
61
|
constructor(http: HttpClient);
|
|
57
62
|
/** The models the caller may use. */
|
|
58
63
|
models(): Promise<AiModelInfo[]>;
|
package/dist/cjs/ai.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;IAC7D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACpG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC1D,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACtF,KAAK,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACpF;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqBD,qBAAa,QAAQ;
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/ai.js
CHANGED
|
@@ -13,6 +13,7 @@ exports.AiClient = void 0;
|
|
|
13
13
|
* Models are called by the name your environment gave them. Who may call each is the model's policy; servers (a secret key) always may.
|
|
14
14
|
*/
|
|
15
15
|
const errors_js_1 = require("./errors.js");
|
|
16
|
+
const agents_js_1 = require("./agents.js");
|
|
16
17
|
function asMessages(input) {
|
|
17
18
|
return typeof input === "string" ? [{ role: "user", content: input }] : input;
|
|
18
19
|
}
|
|
@@ -32,8 +33,14 @@ function bodyOf(model, input, options) {
|
|
|
32
33
|
}
|
|
33
34
|
class AiClient {
|
|
34
35
|
http;
|
|
36
|
+
/** Agents the caller may run: `run`, `stream`, `get`, `decide`, `wait`. */
|
|
37
|
+
agents;
|
|
38
|
+
/** Knowledge bases the caller may search or add documents to. */
|
|
39
|
+
knowledge;
|
|
35
40
|
constructor(http) {
|
|
36
41
|
this.http = http;
|
|
42
|
+
this.agents = new agents_js_1.AgentsClient(http);
|
|
43
|
+
this.knowledge = new agents_js_1.KnowledgeClient(http);
|
|
37
44
|
}
|
|
38
45
|
/** The models the caller may use. */
|
|
39
46
|
async models() {
|
package/dist/cjs/ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,2CAAuC;
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { PawabaseClient, createClient } from "./client.js";
|
|
2
2
|
export type { ClientOptions, DatabaseShape } from "./client.js";
|
|
3
3
|
export { AiClient } from "./ai.js";
|
|
4
|
+
export { AgentsClient, KnowledgeClient } from "./agents.js";
|
|
5
|
+
export type { AgentEvent, AgentRun, AgentRunOptions, AgentRunStatus, KnowledgeDocument, KnowledgeHit } from "./agents.js";
|
|
4
6
|
export type { AiModelInfo, ChatCompletion, ChatMessage, ChatOptions } from "./ai.js";
|
|
5
7
|
export { AuthClient } from "./auth.js";
|
|
6
8
|
export type { AuthChangeEvent, AuthListener, AuthOptions, IssuedToken, MachineToken, Passkey, PasskeyChallenge, SignInResult, SignUpResult, UpdateUserInput, UrlSessionResult, } from "./auth.js";
|
|
@@ -12,8 +14,8 @@ export { FlowsClient, RoutesClient } from "./functions.js";
|
|
|
12
14
|
export type { CallOptions, RouteOptions } from "./functions.js";
|
|
13
15
|
export { BucketClient, StorageClient } from "./files.js";
|
|
14
16
|
export type { TransferOptions, UploadBody, UploadOptions } from "./files.js";
|
|
15
|
-
export { RealtimeChannel, RealtimeClient } from "./realtime.js";
|
|
16
|
-
export type { ChannelEvents, ChannelOptions, PresenceChange, RealtimeOptions, RealtimeStatus, WebSocketConstructor, WebSocketLike, } from "./realtime.js";
|
|
17
|
+
export { LiveQuery, RealtimeChannel, RealtimeClient } from "./realtime.js";
|
|
18
|
+
export type { ChannelEvents, ChannelOptions, LiveQueryOptions, LiveResult, PresenceChange, RealtimeOptions, RealtimeStatus, WebSocketConstructor, WebSocketLike, } from "./realtime.js";
|
|
17
19
|
export { HttpClient } from "./http.js";
|
|
18
20
|
export type { FetchLike, Hooks, RequestInfo, RequestOptions, ResponseInfo, RetryOptions, TokenProvider } from "./http.js";
|
|
19
21
|
export * from "./errors.js";
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,YAAY,EACV,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1H,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,YAAY,EACV,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3E,YAAY,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1H,cAAc,aAAa,CAAC;AAC5B,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,12 +14,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.generateTypes = exports.VERSION = exports.HttpClient = exports.RealtimeClient = exports.RealtimeChannel = exports.StorageClient = exports.BucketClient = exports.RoutesClient = exports.FlowsClient = exports.ResourceClient = exports.QueryBuilder = exports.MemoryStorage = exports.AuthClient = exports.AiClient = exports.createClient = exports.PawabaseClient = void 0;
|
|
17
|
+
exports.generateTypes = exports.VERSION = exports.HttpClient = exports.RealtimeClient = exports.RealtimeChannel = exports.LiveQuery = exports.StorageClient = exports.BucketClient = exports.RoutesClient = exports.FlowsClient = exports.ResourceClient = exports.QueryBuilder = exports.MemoryStorage = exports.AuthClient = exports.KnowledgeClient = exports.AgentsClient = exports.AiClient = exports.createClient = exports.PawabaseClient = void 0;
|
|
18
18
|
var client_js_1 = require("./client.js");
|
|
19
19
|
Object.defineProperty(exports, "PawabaseClient", { enumerable: true, get: function () { return client_js_1.PawabaseClient; } });
|
|
20
20
|
Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return client_js_1.createClient; } });
|
|
21
21
|
var ai_js_1 = require("./ai.js");
|
|
22
22
|
Object.defineProperty(exports, "AiClient", { enumerable: true, get: function () { return ai_js_1.AiClient; } });
|
|
23
|
+
var agents_js_1 = require("./agents.js");
|
|
24
|
+
Object.defineProperty(exports, "AgentsClient", { enumerable: true, get: function () { return agents_js_1.AgentsClient; } });
|
|
25
|
+
Object.defineProperty(exports, "KnowledgeClient", { enumerable: true, get: function () { return agents_js_1.KnowledgeClient; } });
|
|
23
26
|
var auth_js_1 = require("./auth.js");
|
|
24
27
|
Object.defineProperty(exports, "AuthClient", { enumerable: true, get: function () { return auth_js_1.AuthClient; } });
|
|
25
28
|
var session_store_js_1 = require("./session-store.js");
|
|
@@ -34,6 +37,7 @@ var files_js_1 = require("./files.js");
|
|
|
34
37
|
Object.defineProperty(exports, "BucketClient", { enumerable: true, get: function () { return files_js_1.BucketClient; } });
|
|
35
38
|
Object.defineProperty(exports, "StorageClient", { enumerable: true, get: function () { return files_js_1.StorageClient; } });
|
|
36
39
|
var realtime_js_1 = require("./realtime.js");
|
|
40
|
+
Object.defineProperty(exports, "LiveQuery", { enumerable: true, get: function () { return realtime_js_1.LiveQuery; } });
|
|
37
41
|
Object.defineProperty(exports, "RealtimeChannel", { enumerable: true, get: function () { return realtime_js_1.RealtimeChannel; } });
|
|
38
42
|
Object.defineProperty(exports, "RealtimeClient", { enumerable: true, get: function () { return realtime_js_1.RealtimeClient; } });
|
|
39
43
|
var http_js_1 = require("./http.js");
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAA2D;AAAlD,2GAAA,cAAc,OAAA;AAAE,yGAAA,YAAY,OAAA;AAGrC,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAA2D;AAAlD,2GAAA,cAAc,OAAA;AAAE,yGAAA,YAAY,OAAA;AAGrC,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,yCAA4D;AAAnD,yGAAA,YAAY,OAAA;AAAE,4GAAA,eAAe,OAAA;AAGtC,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AAcnB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAGtB,qCAAyD;AAAhD,uGAAA,YAAY,OAAA;AAAE,yGAAA,cAAc,OAAA;AAYrC,+CAA2D;AAAlD,2GAAA,WAAW,OAAA;AAAE,4GAAA,YAAY,OAAA;AAGlC,uCAAyD;AAAhD,wGAAA,YAAY,OAAA;AAAE,yGAAA,aAAa,OAAA;AAGpC,6CAA2E;AAAlE,wGAAA,SAAS,OAAA;AAAE,8GAAA,eAAe,OAAA;AAAE,6GAAA,cAAc,OAAA;AAanD,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AAGnB,8CAA4B;AAE5B,2CAAuC;AAA9B,qGAAA,OAAO,OAAA;AAChB,2CAA6C;AAApC,2GAAA,aAAa,OAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Service, type Api
|
|
1
|
+
import { Service, type Api } from "./base.js";
|
|
2
2
|
type When = Date | string;
|
|
3
3
|
/** The environment's API keys: publishable (`pb_pk_…`, safe in apps) and secret (`pb_sk_…`, servers only). */
|
|
4
4
|
export declare class Keys extends Service {
|
|
@@ -74,63 +74,5 @@ export interface FirewallRule {
|
|
|
74
74
|
expiresAt?: When;
|
|
75
75
|
note?: string;
|
|
76
76
|
}
|
|
77
|
-
/**
|
|
78
|
-
* The firewall at the gateway: ordered rules (allow, block, log, rate limit), managed attack signatures, bans, and what it did.
|
|
79
|
-
*
|
|
80
|
-
* ```ts
|
|
81
|
-
* await m.firewall.addRule({ name: "Burst", action: "rate_limit",
|
|
82
|
-
* conditions: [{ field: "path", op: "starts_with", value: "/auth/v1/token" }],
|
|
83
|
-
* rateLimit: { requests: 10, window_seconds: 60, by: "ip", ban_seconds: 900 } });
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
export declare class Firewall extends Service {
|
|
87
|
-
/** Rules in the order they are tried. */
|
|
88
|
-
rules(): Promise<Api>;
|
|
89
|
-
/** Add a rule at the end. */
|
|
90
|
-
addRule(rule: FirewallRule): Promise<Api>;
|
|
91
|
-
/** Change some fields of a rule, using the server's field names (`clear_expiry: true` removes an expiry). */
|
|
92
|
-
updateRule(ruleId: string, changes: Body): Promise<Api>;
|
|
93
|
-
removeRule(ruleId: string): Promise<Api>;
|
|
94
|
-
/** Set the order rules are tried in: every rule exactly once. */
|
|
95
|
-
order(ruleIds: string[]): Promise<Api>;
|
|
96
|
-
/** Managed rule sets (`sqli`, `xss`, `traversal`, `scanners`, `sensitive_files`, `no_user_agent`, `methods`) and automatic bans. */
|
|
97
|
-
config(): Promise<Api>;
|
|
98
|
-
/** `managed`: `{ sqli: "block", scanners: "log" }` (`off`, `log`, `block`). `autoBan`: `{ enabled, threshold, window_seconds, ban_seconds, statuses, exempt }`. */
|
|
99
|
-
setConfig(options: {
|
|
100
|
-
managed?: Record<string, string>;
|
|
101
|
-
autoBan?: Body;
|
|
102
|
-
}): Promise<Api>;
|
|
103
|
-
bans(options?: {
|
|
104
|
-
includeExpired?: boolean;
|
|
105
|
-
}): Promise<Api>;
|
|
106
|
-
/** Ban an address or CIDR range for `seconds` (`0`: until lifted). */
|
|
107
|
-
ban(ip: string, options?: {
|
|
108
|
-
seconds?: number;
|
|
109
|
-
reason?: string;
|
|
110
|
-
}): Promise<Api>;
|
|
111
|
-
liftBan(banId: string): Promise<Api>;
|
|
112
|
-
events(options?: {
|
|
113
|
-
action?: string;
|
|
114
|
-
source?: string;
|
|
115
|
-
ip?: string;
|
|
116
|
-
path?: string;
|
|
117
|
-
ruleId?: string;
|
|
118
|
-
limit?: number;
|
|
119
|
-
}): Promise<Api>;
|
|
120
|
-
/** Totals, a timeline, and the top addresses, paths, rules and countries. */
|
|
121
|
-
stats(options?: {
|
|
122
|
-
hours?: number;
|
|
123
|
-
}): Promise<Api>;
|
|
124
|
-
/** What the firewall would do with a request, step by step. Nothing is sent or counted. */
|
|
125
|
-
test(ip: string, options?: {
|
|
126
|
-
path?: string;
|
|
127
|
-
method?: string;
|
|
128
|
-
userAgent?: string;
|
|
129
|
-
query?: string;
|
|
130
|
-
headers?: Record<string, string>;
|
|
131
|
-
country?: string;
|
|
132
|
-
role?: string;
|
|
133
|
-
}): Promise<Api>;
|
|
134
|
-
}
|
|
135
77
|
export {};
|
|
136
78
|
//# sourceMappingURL=access.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/manage/access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/manage/access.ts"],"names":[],"mappings":"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"}
|