@pawabase/client 0.1.4 → 0.2.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.
Files changed (115) hide show
  1. package/README.md +22 -7
  2. package/dist/cjs/agents.d.ts +87 -0
  3. package/dist/cjs/agents.d.ts.map +1 -0
  4. package/dist/cjs/agents.js +153 -0
  5. package/dist/cjs/agents.js.map +1 -0
  6. package/dist/cjs/ai.d.ts +5 -0
  7. package/dist/cjs/ai.d.ts.map +1 -1
  8. package/dist/cjs/ai.js +7 -0
  9. package/dist/cjs/ai.js.map +1 -1
  10. package/dist/cjs/index.d.ts +2 -0
  11. package/dist/cjs/index.d.ts.map +1 -1
  12. package/dist/cjs/index.js +4 -1
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/manage/access.d.ts +1 -59
  15. package/dist/cjs/manage/access.d.ts.map +1 -1
  16. package/dist/cjs/manage/access.js +1 -82
  17. package/dist/cjs/manage/access.js.map +1 -1
  18. package/dist/cjs/manage/agents.d.ts +76 -0
  19. package/dist/cjs/manage/agents.d.ts.map +1 -0
  20. package/dist/cjs/manage/agents.js +89 -0
  21. package/dist/cjs/manage/agents.js.map +1 -0
  22. package/dist/cjs/manage/base.d.ts +6 -16
  23. package/dist/cjs/manage/base.d.ts.map +1 -1
  24. package/dist/cjs/manage/base.js +11 -11
  25. package/dist/cjs/manage/base.js.map +1 -1
  26. package/dist/cjs/manage/data.d.ts +13 -15
  27. package/dist/cjs/manage/data.d.ts.map +1 -1
  28. package/dist/cjs/manage/data.js +14 -21
  29. package/dist/cjs/manage/data.js.map +1 -1
  30. package/dist/cjs/manage/files.d.ts +5 -0
  31. package/dist/cjs/manage/files.d.ts.map +1 -1
  32. package/dist/cjs/manage/files.js +10 -1
  33. package/dist/cjs/manage/files.js.map +1 -1
  34. package/dist/cjs/manage/index.d.ts +9 -7
  35. package/dist/cjs/manage/index.d.ts.map +1 -1
  36. package/dist/cjs/manage/index.js +11 -8
  37. package/dist/cjs/manage/index.js.map +1 -1
  38. package/dist/cjs/manage/lifecycle.d.ts +15 -38
  39. package/dist/cjs/manage/lifecycle.d.ts.map +1 -1
  40. package/dist/cjs/manage/lifecycle.js +21 -52
  41. package/dist/cjs/manage/lifecycle.js.map +1 -1
  42. package/dist/cjs/manage/mail.d.ts +11 -1
  43. package/dist/cjs/manage/mail.d.ts.map +1 -1
  44. package/dist/cjs/manage/mail.js +11 -0
  45. package/dist/cjs/manage/mail.js.map +1 -1
  46. package/dist/cjs/manage/observe.d.ts +6 -0
  47. package/dist/cjs/manage/observe.d.ts.map +1 -1
  48. package/dist/cjs/manage/observe.js +8 -2
  49. package/dist/cjs/manage/observe.js.map +1 -1
  50. package/dist/cjs/version.d.ts +1 -1
  51. package/dist/cjs/version.js +1 -1
  52. package/dist/esm/agents.d.ts +87 -0
  53. package/dist/esm/agents.d.ts.map +1 -0
  54. package/dist/esm/agents.js +148 -0
  55. package/dist/esm/agents.js.map +1 -0
  56. package/dist/esm/ai.d.ts +5 -0
  57. package/dist/esm/ai.d.ts.map +1 -1
  58. package/dist/esm/ai.js +7 -0
  59. package/dist/esm/ai.js.map +1 -1
  60. package/dist/esm/index.d.ts +2 -0
  61. package/dist/esm/index.d.ts.map +1 -1
  62. package/dist/esm/index.js +1 -0
  63. package/dist/esm/index.js.map +1 -1
  64. package/dist/esm/manage/access.d.ts +1 -59
  65. package/dist/esm/manage/access.d.ts.map +1 -1
  66. package/dist/esm/manage/access.js +0 -80
  67. package/dist/esm/manage/access.js.map +1 -1
  68. package/dist/esm/manage/agents.d.ts +76 -0
  69. package/dist/esm/manage/agents.d.ts.map +1 -0
  70. package/dist/esm/manage/agents.js +82 -0
  71. package/dist/esm/manage/agents.js.map +1 -0
  72. package/dist/esm/manage/base.d.ts +6 -16
  73. package/dist/esm/manage/base.d.ts.map +1 -1
  74. package/dist/esm/manage/base.js +11 -11
  75. package/dist/esm/manage/base.js.map +1 -1
  76. package/dist/esm/manage/data.d.ts +13 -15
  77. package/dist/esm/manage/data.d.ts.map +1 -1
  78. package/dist/esm/manage/data.js +13 -18
  79. package/dist/esm/manage/data.js.map +1 -1
  80. package/dist/esm/manage/files.d.ts +5 -0
  81. package/dist/esm/manage/files.d.ts.map +1 -1
  82. package/dist/esm/manage/files.js +10 -1
  83. package/dist/esm/manage/files.js.map +1 -1
  84. package/dist/esm/manage/index.d.ts +9 -7
  85. package/dist/esm/manage/index.d.ts.map +1 -1
  86. package/dist/esm/manage/index.js +14 -11
  87. package/dist/esm/manage/index.js.map +1 -1
  88. package/dist/esm/manage/lifecycle.d.ts +15 -38
  89. package/dist/esm/manage/lifecycle.d.ts.map +1 -1
  90. package/dist/esm/manage/lifecycle.js +19 -50
  91. package/dist/esm/manage/lifecycle.js.map +1 -1
  92. package/dist/esm/manage/mail.d.ts +11 -1
  93. package/dist/esm/manage/mail.d.ts.map +1 -1
  94. package/dist/esm/manage/mail.js +12 -1
  95. package/dist/esm/manage/mail.js.map +1 -1
  96. package/dist/esm/manage/observe.d.ts +6 -0
  97. package/dist/esm/manage/observe.d.ts.map +1 -1
  98. package/dist/esm/manage/observe.js +8 -2
  99. package/dist/esm/manage/observe.js.map +1 -1
  100. package/dist/esm/version.d.ts +1 -1
  101. package/dist/esm/version.js +1 -1
  102. package/package.json +2 -2
  103. package/src/agents.ts +184 -0
  104. package/src/ai.ts +10 -1
  105. package/src/index.ts +2 -0
  106. package/src/manage/access.ts +0 -93
  107. package/src/manage/agents.ts +98 -0
  108. package/src/manage/base.ts +11 -11
  109. package/src/manage/data.ts +14 -19
  110. package/src/manage/files.ts +12 -1
  111. package/src/manage/index.ts +14 -11
  112. package/src/manage/lifecycle.ts +20 -64
  113. package/src/manage/mail.ts +15 -1
  114. package/src/manage/observe.ts +9 -2
  115. 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.firewall.ban("203.0.113.7", { seconds: 3600 });
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`, `transformers`, `routes`, `database`, `runtime`),
216
- **automation** (`flows`, `schedules`, `subscriptions`, `events`, `webhooks`, `inboundHooks`, `jobs`), **files and mail** (`buckets`, `cache`, `mail`,
217
- `mailTemplates`), **access** (`keys`, `secrets`, `domains`, `firewall`), **observe** (`observability`, `alarms`, `statusPage`, `health`) and **lifecycle**
218
- (`environments`, `releases`, `backups`). Definitions (`flows`, `policies`, `webhooks`…) share `list`, `getOne`, `create`, `replace` and `remove`, and take
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[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":"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"}
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() {
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,2CAAuC;AACvC,2CAA4D;AAyC5D,SAAS,UAAU,CAAC,KAA6B;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAChF,CAAC;AAED,SAAS,MAAM,CAAC,KAAa,EAAE,KAA6B,EAAE,OAAoB;IAChF,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACxB,KAAK;QACL,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,MAAa,QAAQ;IAMU;IAL7B,2EAA2E;IAClE,MAAM,CAAe;IAC9B,iEAAiE;IACxD,SAAS,CAAkB;IAEpC,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,2BAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0B,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,+EAA+E;IAC/E,QAAQ,CAAC,KAAa,EAAE,KAA6B,EAAE,UAAuB,EAAE;QAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAiB;YACvC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;SACpC,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,KAA6B,EAAE,UAAuB,EAAE;QAChF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAa,EAAE,KAA6B,EAAE,UAAuB,EAAE;QACnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAoC;YACxE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;YACxD,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,SAAS,CAAC;gBACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,IAAI,GAAW,CAAC;gBAChB,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACnC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;4BAAE,SAAS;wBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAClC,IAAI,IAAI,KAAK,QAAQ;4BAAE,OAAO;wBAC9B,IAAI,MAA0G,CAAC;wBAC/G,IAAI,CAAC;4BACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC5B,CAAC;wBAAC,MAAM,CAAC;4BACP,SAAS;wBACX,CAAC;wBACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;4BACjB,MAAM,IAAI,oBAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,6BAA6B,EAAE,CAAC,CAAC;wBACnJ,CAAC;wBACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC;wBAClD,IAAI,KAAK;4BAAE,MAAM,KAAK,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,KAAwB,EAAE,UAA2C,EAAE;QAChG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAA0D;YAC5F,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;SACpC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7F,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,CAAC;CACF;AA3FD,4BA2FC"}
@@ -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";
@@ -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;AAChE,YAAY,EACV,aAAa,EACb,cAAc,EACd,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"}
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,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChE,YAAY,EACV,aAAa,EACb,cAAc,EACd,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.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");
@@ -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;AAEjB,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,6CAAgE;AAAvD,8GAAA,eAAe,OAAA;AAAE,6GAAA,cAAc,OAAA;AAWxC,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AAGnB,8CAA4B;AAE5B,2CAAuC;AAA9B,qGAAA,OAAO,OAAA;AAChB,2CAA6C;AAApC,2GAAA,aAAa,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,6CAAgE;AAAvD,8GAAA,eAAe,OAAA;AAAE,6GAAA,cAAc,OAAA;AAWxC,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, type Body } from "./base.js";
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":"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"}
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/manage/access.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Firewall = exports.Domains = exports.Secrets = exports.Keys = void 0;
3
+ exports.Domains = exports.Secrets = exports.Keys = void 0;
4
4
  const base_js_1 = require("./base.js");
5
5
  const iso = (value) => (value instanceof Date ? value.toISOString() : value);
6
6
  /** The environment's API keys: publishable (`pb_pk_…`, safe in apps) and secret (`pb_sk_…`, servers only). */
@@ -78,85 +78,4 @@ class Domains extends base_js_1.Service {
78
78
  }
79
79
  }
80
80
  exports.Domains = Domains;
81
- /**
82
- * The firewall at the gateway: ordered rules (allow, block, log, rate limit), managed attack signatures, bans, and what it did.
83
- *
84
- * ```ts
85
- * await m.firewall.addRule({ name: "Burst", action: "rate_limit",
86
- * conditions: [{ field: "path", op: "starts_with", value: "/auth/v1/token" }],
87
- * rateLimit: { requests: 10, window_seconds: 60, by: "ip", ban_seconds: 900 } });
88
- * ```
89
- */
90
- class Firewall extends base_js_1.Service {
91
- /** Rules in the order they are tried. */
92
- rules() {
93
- return this.get("/firewall");
94
- }
95
- /** Add a rule at the end. */
96
- addRule(rule) {
97
- return this.post("/firewall", {
98
- name: rule.name,
99
- action: rule.action ?? "block",
100
- conditions: rule.conditions ?? [],
101
- logic: rule.logic ?? "all",
102
- match: rule.match ?? {},
103
- rate_limit: rule.rateLimit,
104
- mode: rule.mode ?? "enforce",
105
- enabled: rule.enabled ?? true,
106
- expires_at: iso(rule.expiresAt),
107
- note: rule.note ?? "",
108
- });
109
- }
110
- /** Change some fields of a rule, using the server's field names (`clear_expiry: true` removes an expiry). */
111
- updateRule(ruleId, changes) {
112
- return this.patch((0, base_js_1.seg)("firewall", ruleId), changes);
113
- }
114
- removeRule(ruleId) {
115
- return this.del((0, base_js_1.seg)("firewall", ruleId));
116
- }
117
- /** Set the order rules are tried in: every rule exactly once. */
118
- order(ruleIds) {
119
- return this.put("/firewall-order", { ids: ruleIds });
120
- }
121
- /** Managed rule sets (`sqli`, `xss`, `traversal`, `scanners`, `sensitive_files`, `no_user_agent`, `methods`) and automatic bans. */
122
- config() {
123
- return this.get("/firewall-config");
124
- }
125
- /** `managed`: `{ sqli: "block", scanners: "log" }` (`off`, `log`, `block`). `autoBan`: `{ enabled, threshold, window_seconds, ban_seconds, statuses, exempt }`. */
126
- setConfig(options) {
127
- return this.put("/firewall-config", { managed: options.managed, auto_ban: options.autoBan });
128
- }
129
- bans(options = {}) {
130
- return this.get("/firewall-bans", { all: options.includeExpired ? 1 : undefined });
131
- }
132
- /** Ban an address or CIDR range for `seconds` (`0`: until lifted). */
133
- ban(ip, options = {}) {
134
- return this.post("/firewall-bans", { ip, seconds: options.seconds ?? 0, reason: options.reason ?? "" });
135
- }
136
- liftBan(banId) {
137
- return this.del((0, base_js_1.seg)("firewall-bans", banId));
138
- }
139
- events(options = {}) {
140
- const { ruleId, ...rest } = options;
141
- return this.get("/firewall-events", { limit: 100, ...rest, rule_id: ruleId });
142
- }
143
- /** Totals, a timeline, and the top addresses, paths, rules and countries. */
144
- stats(options = {}) {
145
- return this.get("/firewall-stats", { hours: options.hours ?? 24 });
146
- }
147
- /** What the firewall would do with a request, step by step. Nothing is sent or counted. */
148
- test(ip, options = {}) {
149
- return this.post("/firewall-test", {
150
- ip,
151
- path: options.path ?? "/",
152
- method: options.method ?? "GET",
153
- user_agent: options.userAgent ?? "",
154
- query: options.query ?? "",
155
- headers: options.headers ?? {},
156
- country: options.country ?? "",
157
- role: options.role ?? "none",
158
- });
159
- }
160
- }
161
- exports.Firewall = Firewall;
162
81
  //# sourceMappingURL=access.js.map