@pawabase/client 0.0.0-stage → 0.1.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.
Files changed (243) hide show
  1. package/README.md +313 -2
  2. package/dist/cjs/admin.d.ts +187 -0
  3. package/dist/cjs/admin.d.ts.map +1 -0
  4. package/dist/cjs/admin.js +235 -0
  5. package/dist/cjs/admin.js.map +1 -0
  6. package/dist/cjs/auth.d.ts +448 -0
  7. package/dist/cjs/auth.d.ts.map +1 -0
  8. package/dist/cjs/auth.js +1016 -0
  9. package/dist/cjs/auth.js.map +1 -0
  10. package/dist/cjs/client.d.ts +103 -0
  11. package/dist/cjs/client.d.ts.map +1 -0
  12. package/dist/cjs/client.js +144 -0
  13. package/dist/cjs/client.js.map +1 -0
  14. package/dist/cjs/data.d.ts +220 -0
  15. package/dist/cjs/data.d.ts.map +1 -0
  16. package/dist/cjs/data.js +490 -0
  17. package/dist/cjs/data.js.map +1 -0
  18. package/dist/cjs/errors.d.ts +167 -0
  19. package/dist/cjs/errors.d.ts.map +1 -0
  20. package/dist/cjs/errors.js +316 -0
  21. package/dist/cjs/errors.js.map +1 -0
  22. package/dist/cjs/files.d.ts +80 -0
  23. package/dist/cjs/files.d.ts.map +1 -0
  24. package/dist/cjs/files.js +167 -0
  25. package/dist/cjs/files.js.map +1 -0
  26. package/dist/cjs/functions.d.ts +66 -0
  27. package/dist/cjs/functions.d.ts.map +1 -0
  28. package/dist/cjs/functions.js +109 -0
  29. package/dist/cjs/functions.js.map +1 -0
  30. package/dist/cjs/http.d.ts +101 -0
  31. package/dist/cjs/http.d.ts.map +1 -0
  32. package/dist/cjs/http.js +249 -0
  33. package/dist/cjs/http.js.map +1 -0
  34. package/dist/cjs/index.d.ts +22 -0
  35. package/dist/cjs/index.d.ts.map +1 -0
  36. package/dist/cjs/index.js +45 -0
  37. package/dist/cjs/index.js.map +1 -0
  38. package/dist/cjs/manage/access.d.ts +136 -0
  39. package/dist/cjs/manage/access.d.ts.map +1 -0
  40. package/dist/cjs/manage/access.js +162 -0
  41. package/dist/cjs/manage/access.js.map +1 -0
  42. package/dist/cjs/manage/automation.d.ts +106 -0
  43. package/dist/cjs/manage/automation.d.ts.map +1 -0
  44. package/dist/cjs/manage/automation.js +144 -0
  45. package/dist/cjs/manage/automation.js.map +1 -0
  46. package/dist/cjs/manage/base.d.ts +52 -0
  47. package/dist/cjs/manage/base.d.ts.map +1 -0
  48. package/dist/cjs/manage/base.js +69 -0
  49. package/dist/cjs/manage/base.js.map +1 -0
  50. package/dist/cjs/manage/data.d.ts +100 -0
  51. package/dist/cjs/manage/data.d.ts.map +1 -0
  52. package/dist/cjs/manage/data.js +141 -0
  53. package/dist/cjs/manage/data.js.map +1 -0
  54. package/dist/cjs/manage/files.d.ts +45 -0
  55. package/dist/cjs/manage/files.d.ts.map +1 -0
  56. package/dist/cjs/manage/files.js +73 -0
  57. package/dist/cjs/manage/files.js.map +1 -0
  58. package/dist/cjs/manage/functions.d.ts +48 -0
  59. package/dist/cjs/manage/functions.d.ts.map +1 -0
  60. package/dist/cjs/manage/functions.js +61 -0
  61. package/dist/cjs/manage/functions.js.map +1 -0
  62. package/dist/cjs/manage/index.d.ts +76 -0
  63. package/dist/cjs/manage/index.d.ts.map +1 -0
  64. package/dist/cjs/manage/index.js +134 -0
  65. package/dist/cjs/manage/index.js.map +1 -0
  66. package/dist/cjs/manage/lifecycle.d.ts +128 -0
  67. package/dist/cjs/manage/lifecycle.d.ts.map +1 -0
  68. package/dist/cjs/manage/lifecycle.js +167 -0
  69. package/dist/cjs/manage/lifecycle.js.map +1 -0
  70. package/dist/cjs/manage/mail.d.ts +16 -0
  71. package/dist/cjs/manage/mail.d.ts.map +1 -0
  72. package/dist/cjs/manage/mail.js +24 -0
  73. package/dist/cjs/manage/mail.js.map +1 -0
  74. package/dist/cjs/manage/observe.d.ts +149 -0
  75. package/dist/cjs/manage/observe.d.ts.map +1 -0
  76. package/dist/cjs/manage/observe.js +168 -0
  77. package/dist/cjs/manage/observe.js.map +1 -0
  78. package/dist/cjs/manage/realtime.d.ts +52 -0
  79. package/dist/cjs/manage/realtime.d.ts.map +1 -0
  80. package/dist/cjs/manage/realtime.js +71 -0
  81. package/dist/cjs/manage/realtime.js.map +1 -0
  82. package/dist/cjs/package.json +1 -0
  83. package/dist/cjs/realtime.d.ts +207 -0
  84. package/dist/cjs/realtime.d.ts.map +1 -0
  85. package/dist/cjs/realtime.js +704 -0
  86. package/dist/cjs/realtime.js.map +1 -0
  87. package/dist/cjs/session-store.d.ts +16 -0
  88. package/dist/cjs/session-store.d.ts.map +1 -0
  89. package/dist/cjs/session-store.js +37 -0
  90. package/dist/cjs/session-store.js.map +1 -0
  91. package/dist/cjs/typegen.d.ts +26 -0
  92. package/dist/cjs/typegen.d.ts.map +1 -0
  93. package/dist/cjs/typegen.js +167 -0
  94. package/dist/cjs/typegen.js.map +1 -0
  95. package/dist/cjs/types.d.ts +178 -0
  96. package/dist/cjs/types.d.ts.map +1 -0
  97. package/dist/cjs/types.js +4 -0
  98. package/dist/cjs/types.js.map +1 -0
  99. package/dist/cjs/util.d.ts +27 -0
  100. package/dist/cjs/util.d.ts.map +1 -0
  101. package/dist/cjs/util.js +115 -0
  102. package/dist/cjs/util.js.map +1 -0
  103. package/dist/cjs/version.d.ts +2 -0
  104. package/dist/cjs/version.d.ts.map +1 -0
  105. package/dist/cjs/version.js +5 -0
  106. package/dist/cjs/version.js.map +1 -0
  107. package/dist/esm/admin.d.ts +187 -0
  108. package/dist/esm/admin.d.ts.map +1 -0
  109. package/dist/esm/admin.js +222 -0
  110. package/dist/esm/admin.js.map +1 -0
  111. package/dist/esm/auth.d.ts +448 -0
  112. package/dist/esm/auth.d.ts.map +1 -0
  113. package/dist/esm/auth.js +1012 -0
  114. package/dist/esm/auth.js.map +1 -0
  115. package/dist/esm/cli/gen-types.d.ts +2 -0
  116. package/dist/esm/cli/gen-types.d.ts.map +1 -0
  117. package/dist/esm/cli/gen-types.js +100 -0
  118. package/dist/esm/cli/gen-types.js.map +1 -0
  119. package/dist/esm/client.d.ts +103 -0
  120. package/dist/esm/client.d.ts.map +1 -0
  121. package/dist/esm/client.js +139 -0
  122. package/dist/esm/client.js.map +1 -0
  123. package/dist/esm/data.d.ts +220 -0
  124. package/dist/esm/data.d.ts.map +1 -0
  125. package/dist/esm/data.js +485 -0
  126. package/dist/esm/data.js.map +1 -0
  127. package/dist/esm/errors.d.ts +167 -0
  128. package/dist/esm/errors.d.ts.map +1 -0
  129. package/dist/esm/errors.js +293 -0
  130. package/dist/esm/errors.js.map +1 -0
  131. package/dist/esm/files.d.ts +80 -0
  132. package/dist/esm/files.d.ts.map +1 -0
  133. package/dist/esm/files.js +162 -0
  134. package/dist/esm/files.js.map +1 -0
  135. package/dist/esm/functions.d.ts +66 -0
  136. package/dist/esm/functions.d.ts.map +1 -0
  137. package/dist/esm/functions.js +103 -0
  138. package/dist/esm/functions.js.map +1 -0
  139. package/dist/esm/http.d.ts +101 -0
  140. package/dist/esm/http.d.ts.map +1 -0
  141. package/dist/esm/http.js +245 -0
  142. package/dist/esm/http.js.map +1 -0
  143. package/dist/esm/index.d.ts +22 -0
  144. package/dist/esm/index.d.ts.map +1 -0
  145. package/dist/esm/index.js +12 -0
  146. package/dist/esm/index.js.map +1 -0
  147. package/dist/esm/manage/access.d.ts +136 -0
  148. package/dist/esm/manage/access.d.ts.map +1 -0
  149. package/dist/esm/manage/access.js +155 -0
  150. package/dist/esm/manage/access.js.map +1 -0
  151. package/dist/esm/manage/automation.d.ts +106 -0
  152. package/dist/esm/manage/automation.d.ts.map +1 -0
  153. package/dist/esm/manage/automation.js +134 -0
  154. package/dist/esm/manage/automation.js.map +1 -0
  155. package/dist/esm/manage/base.d.ts +52 -0
  156. package/dist/esm/manage/base.d.ts.map +1 -0
  157. package/dist/esm/manage/base.js +63 -0
  158. package/dist/esm/manage/base.js.map +1 -0
  159. package/dist/esm/manage/data.d.ts +100 -0
  160. package/dist/esm/manage/data.d.ts.map +1 -0
  161. package/dist/esm/manage/data.js +130 -0
  162. package/dist/esm/manage/data.js.map +1 -0
  163. package/dist/esm/manage/files.d.ts +45 -0
  164. package/dist/esm/manage/files.d.ts.map +1 -0
  165. package/dist/esm/manage/files.js +68 -0
  166. package/dist/esm/manage/files.js.map +1 -0
  167. package/dist/esm/manage/functions.d.ts +48 -0
  168. package/dist/esm/manage/functions.d.ts.map +1 -0
  169. package/dist/esm/manage/functions.js +57 -0
  170. package/dist/esm/manage/functions.js.map +1 -0
  171. package/dist/esm/manage/index.d.ts +76 -0
  172. package/dist/esm/manage/index.d.ts.map +1 -0
  173. package/dist/esm/manage/index.js +115 -0
  174. package/dist/esm/manage/index.js.map +1 -0
  175. package/dist/esm/manage/lifecycle.d.ts +128 -0
  176. package/dist/esm/manage/lifecycle.d.ts.map +1 -0
  177. package/dist/esm/manage/lifecycle.js +161 -0
  178. package/dist/esm/manage/lifecycle.js.map +1 -0
  179. package/dist/esm/manage/mail.d.ts +16 -0
  180. package/dist/esm/manage/mail.d.ts.map +1 -0
  181. package/dist/esm/manage/mail.js +19 -0
  182. package/dist/esm/manage/mail.js.map +1 -0
  183. package/dist/esm/manage/observe.d.ts +149 -0
  184. package/dist/esm/manage/observe.d.ts.map +1 -0
  185. package/dist/esm/manage/observe.js +161 -0
  186. package/dist/esm/manage/observe.js.map +1 -0
  187. package/dist/esm/manage/realtime.d.ts +52 -0
  188. package/dist/esm/manage/realtime.d.ts.map +1 -0
  189. package/dist/esm/manage/realtime.js +66 -0
  190. package/dist/esm/manage/realtime.js.map +1 -0
  191. package/dist/esm/package.json +1 -0
  192. package/dist/esm/realtime.d.ts +207 -0
  193. package/dist/esm/realtime.d.ts.map +1 -0
  194. package/dist/esm/realtime.js +699 -0
  195. package/dist/esm/realtime.js.map +1 -0
  196. package/dist/esm/session-store.d.ts +16 -0
  197. package/dist/esm/session-store.d.ts.map +1 -0
  198. package/dist/esm/session-store.js +32 -0
  199. package/dist/esm/session-store.js.map +1 -0
  200. package/dist/esm/typegen.d.ts +26 -0
  201. package/dist/esm/typegen.d.ts.map +1 -0
  202. package/dist/esm/typegen.js +163 -0
  203. package/dist/esm/typegen.js.map +1 -0
  204. package/dist/esm/types.d.ts +178 -0
  205. package/dist/esm/types.d.ts.map +1 -0
  206. package/dist/esm/types.js +3 -0
  207. package/dist/esm/types.js.map +1 -0
  208. package/dist/esm/util.d.ts +27 -0
  209. package/dist/esm/util.d.ts.map +1 -0
  210. package/dist/esm/util.js +102 -0
  211. package/dist/esm/util.js.map +1 -0
  212. package/dist/esm/version.d.ts +2 -0
  213. package/dist/esm/version.d.ts.map +1 -0
  214. package/dist/esm/version.js +2 -0
  215. package/dist/esm/version.js.map +1 -0
  216. package/package.json +92 -4
  217. package/src/admin.ts +311 -0
  218. package/src/auth.ts +1180 -0
  219. package/src/cli/gen-types.ts +105 -0
  220. package/src/client.ts +189 -0
  221. package/src/data.ts +576 -0
  222. package/src/errors.ts +330 -0
  223. package/src/files.ts +208 -0
  224. package/src/functions.ts +131 -0
  225. package/src/http.ts +354 -0
  226. package/src/index.ts +56 -0
  227. package/src/manage/access.ts +206 -0
  228. package/src/manage/automation.ts +162 -0
  229. package/src/manage/base.ts +83 -0
  230. package/src/manage/data.ts +159 -0
  231. package/src/manage/files.ts +79 -0
  232. package/src/manage/functions.ts +69 -0
  233. package/src/manage/index.ts +132 -0
  234. package/src/manage/lifecycle.ts +208 -0
  235. package/src/manage/mail.ts +22 -0
  236. package/src/manage/observe.ts +226 -0
  237. package/src/manage/realtime.ts +95 -0
  238. package/src/realtime.ts +765 -0
  239. package/src/session-store.ts +36 -0
  240. package/src/typegen.ts +192 -0
  241. package/src/types.ts +195 -0
  242. package/src/util.ts +114 -0
  243. package/src/version.ts +1 -0
@@ -0,0 +1,106 @@
1
+ import { Definitions, Service, type Api, type Body } from "./base.js";
2
+ /** Flows: graphs of blocks that run on a trigger (HTTP, event, schedule, resource change, webhook, manual). */
3
+ export declare class Flows extends Definitions {
4
+ protected readonly kind = "flows";
5
+ /** Run a flow now as an operator (or `asUser`): `{ status, run_id, result, response, trace }`. `entry` picks a trigger node. */
6
+ run(name: string, input?: unknown, options?: {
7
+ asUser?: Body;
8
+ entry?: string;
9
+ }): Promise<Api>;
10
+ /** Check a flow's graph without saving it: the problems, node by node. */
11
+ validate(definition: Body): Promise<Api>;
12
+ /** The catalogue of blocks a flow can use, with their configuration fields. */
13
+ blocks(): Promise<Api>;
14
+ runs(options?: {
15
+ flow?: string;
16
+ status?: string;
17
+ limit?: number;
18
+ after?: string;
19
+ }): Promise<Api>;
20
+ /** One run with its per-block trace. */
21
+ runDetail(runId: string): Promise<Api>;
22
+ }
23
+ /** Cron and interval schedules that run a flow or function, or emit an event. */
24
+ export declare class Schedules extends Definitions {
25
+ protected readonly kind = "schedules";
26
+ /** Fire a schedule now, exactly as the scheduler would. */
27
+ run(name: string): Promise<Api>;
28
+ }
29
+ /** Event subscriptions: which events run which flow or function, or reach which realtime channel. */
30
+ export declare class Subscriptions extends Definitions {
31
+ protected readonly kind = "subscriptions";
32
+ }
33
+ /** The event bus: emit, and inspect what happened to each event. */
34
+ export declare class Events extends Service {
35
+ /** Publish an event: every subscription, flow and webhook listening for it runs. */
36
+ emit(name: string, payload?: unknown): Promise<Api>;
37
+ list(options?: {
38
+ name?: string;
39
+ limit?: number;
40
+ after?: string;
41
+ }): Promise<Api>;
42
+ /** One event with every consumer it reached and how that went. */
43
+ detail(eventId: string): Promise<Api>;
44
+ /** Which event names exist and who consumes each. */
45
+ graph(): Promise<Api>;
46
+ }
47
+ /** Outbound webhooks: endpoints that receive signed events, with retries. */
48
+ export declare class Webhooks extends Definitions {
49
+ protected readonly kind = "webhooks";
50
+ /** Send one test event to an endpoint (one attempt, not retried). */
51
+ test(name: string): Promise<Api>;
52
+ /** Delivery history. `status`: `pending`, `retrying`, `delivered`, `failed`. */
53
+ deliveries(options?: {
54
+ status?: string;
55
+ endpoint?: string;
56
+ limit?: number;
57
+ }): Promise<Api>;
58
+ redeliver(deliveryId: string): Promise<Api>;
59
+ /** Send many again: by `ids`, or every delivery matching a filter (up to `limit`, 100 by default). `dryRun` only counts. */
60
+ redeliverMany(options?: {
61
+ ids?: string[];
62
+ status?: string;
63
+ endpoint?: string;
64
+ event?: string;
65
+ sinceMinutes?: number;
66
+ limit?: number;
67
+ dryRun?: boolean;
68
+ }): Promise<Api>;
69
+ }
70
+ /** Inbound hooks: URLs other services call (signature-checked), each starting a flow or function. */
71
+ export declare class InboundHooks extends Definitions {
72
+ protected readonly kind = "inbound-hooks";
73
+ /** The public URL to give the sender. */
74
+ url(slug: string): Promise<Api>;
75
+ }
76
+ /** Background work: jobs, failures and replays, queues, workers and how failed work is retried. */
77
+ export declare class Jobs extends Service {
78
+ /** `status`: `queued`, `active`, `retrying`, `succeeded`, `failed`. */
79
+ list(options?: {
80
+ status?: string;
81
+ queue?: string;
82
+ limit?: number;
83
+ }): Promise<Api>;
84
+ detail(jobId: string): Promise<Api>;
85
+ retry(jobId: string): Promise<Api>;
86
+ /** Queue recorded jobs again: named `ids`, or every job matching the filter (failed by default; `limit` 200). `dryRun` only counts. */
87
+ replay(options?: {
88
+ ids?: string[];
89
+ status?: string;
90
+ queue?: string;
91
+ job?: string;
92
+ sinceMinutes?: number;
93
+ limit?: number;
94
+ dryRun?: boolean;
95
+ }): Promise<Api>;
96
+ /** Jobs that gave up after their retries. */
97
+ failed(): Promise<Api>;
98
+ dismissFailed(jobId: string): Promise<Api>;
99
+ /** Queues with depth and job counts. */
100
+ queues(): Promise<Api>;
101
+ /** The processes taking jobs (installation-wide). */
102
+ workers(): Promise<Api>;
103
+ /** How each kind of background work is retried: attempts and the wait before each retry. */
104
+ retryPolicies(): Promise<Api>;
105
+ }
106
+ //# sourceMappingURL=automation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../../../src/manage/automation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ import { Definitions, Service, seg } from "./base.js";
2
+ /** Flows: graphs of blocks that run on a trigger (HTTP, event, schedule, resource change, webhook, manual). */
3
+ export class Flows extends Definitions {
4
+ kind = "flows";
5
+ /** Run a flow now as an operator (or `asUser`): `{ status, run_id, result, response, trace }`. `entry` picks a trigger node. */
6
+ run(name, input, options = {}) {
7
+ return this.post(seg(this.kind, name, "run"), { input, as_user: options.asUser ?? null, entry: options.entry ?? null });
8
+ }
9
+ /** Check a flow's graph without saving it: the problems, node by node. */
10
+ validate(definition) {
11
+ return this.project("POST", "/flows/validate", { body: { definition } });
12
+ }
13
+ /** The catalogue of blocks a flow can use, with their configuration fields. */
14
+ blocks() {
15
+ return this.project("GET", "/blocks");
16
+ }
17
+ runs(options = {}) {
18
+ return this.get("/flow-runs", options);
19
+ }
20
+ /** One run with its per-block trace. */
21
+ runDetail(runId) {
22
+ return this.get(seg("flow-runs", runId));
23
+ }
24
+ }
25
+ /** Cron and interval schedules that run a flow or function, or emit an event. */
26
+ export class Schedules extends Definitions {
27
+ kind = "schedules";
28
+ /** Fire a schedule now, exactly as the scheduler would. */
29
+ run(name) {
30
+ return this.post(seg(this.kind, name, "run"));
31
+ }
32
+ }
33
+ /** Event subscriptions: which events run which flow or function, or reach which realtime channel. */
34
+ export class Subscriptions extends Definitions {
35
+ kind = "subscriptions";
36
+ }
37
+ /** The event bus: emit, and inspect what happened to each event. */
38
+ export class Events extends Service {
39
+ /** Publish an event: every subscription, flow and webhook listening for it runs. */
40
+ emit(name, payload) {
41
+ return this.post("/events", { name, payload });
42
+ }
43
+ list(options = {}) {
44
+ return this.get("/events", options);
45
+ }
46
+ /** One event with every consumer it reached and how that went. */
47
+ detail(eventId) {
48
+ return this.get(seg("events", eventId));
49
+ }
50
+ /** Which event names exist and who consumes each. */
51
+ graph() {
52
+ return this.get("/events-graph");
53
+ }
54
+ }
55
+ /** Outbound webhooks: endpoints that receive signed events, with retries. */
56
+ export class Webhooks extends Definitions {
57
+ kind = "webhooks";
58
+ /** Send one test event to an endpoint (one attempt, not retried). */
59
+ test(name) {
60
+ return this.post(seg(this.kind, name, "test"));
61
+ }
62
+ /** Delivery history. `status`: `pending`, `retrying`, `delivered`, `failed`. */
63
+ deliveries(options = {}) {
64
+ return this.get("/webhook-deliveries", options);
65
+ }
66
+ redeliver(deliveryId) {
67
+ return this.post(seg("webhook-deliveries", deliveryId, "redeliver"));
68
+ }
69
+ /** Send many again: by `ids`, or every delivery matching a filter (up to `limit`, 100 by default). `dryRun` only counts. */
70
+ redeliverMany(options = {}) {
71
+ return this.post("/webhook-deliveries/redeliver", {
72
+ ids: options.ids,
73
+ status: options.status ?? "failed",
74
+ endpoint: options.endpoint,
75
+ event: options.event,
76
+ since_minutes: options.sinceMinutes,
77
+ limit: options.limit ?? 100,
78
+ dry_run: options.dryRun ?? false,
79
+ });
80
+ }
81
+ }
82
+ /** Inbound hooks: URLs other services call (signature-checked), each starting a flow or function. */
83
+ export class InboundHooks extends Definitions {
84
+ kind = "inbound-hooks";
85
+ /** The public URL to give the sender. */
86
+ url(slug) {
87
+ return this.get(seg(this.kind, slug, "url"));
88
+ }
89
+ }
90
+ /** Background work: jobs, failures and replays, queues, workers and how failed work is retried. */
91
+ export class Jobs extends Service {
92
+ /** `status`: `queued`, `active`, `retrying`, `succeeded`, `failed`. */
93
+ list(options = {}) {
94
+ return this.get("/jobs", options);
95
+ }
96
+ detail(jobId) {
97
+ return this.get(seg("jobs", jobId));
98
+ }
99
+ retry(jobId) {
100
+ return this.post(seg("jobs", jobId, "retry"));
101
+ }
102
+ /** Queue recorded jobs again: named `ids`, or every job matching the filter (failed by default; `limit` 200). `dryRun` only counts. */
103
+ replay(options = {}) {
104
+ return this.post("/jobs/replay", {
105
+ ids: options.ids ?? [],
106
+ status: options.status ?? "failed",
107
+ queue: options.queue,
108
+ job: options.job,
109
+ since_minutes: options.sinceMinutes,
110
+ limit: options.limit ?? 200,
111
+ dry_run: options.dryRun ?? false,
112
+ });
113
+ }
114
+ /** Jobs that gave up after their retries. */
115
+ failed() {
116
+ return this.get("/failed-jobs");
117
+ }
118
+ dismissFailed(jobId) {
119
+ return this.del(seg("failed-jobs", jobId));
120
+ }
121
+ /** Queues with depth and job counts. */
122
+ queues() {
123
+ return this.get("/queues");
124
+ }
125
+ /** The processes taking jobs (installation-wide). */
126
+ workers() {
127
+ return this.project("GET", "/workers");
128
+ }
129
+ /** How each kind of background work is retried: attempts and the wait before each retry. */
130
+ retryPolicies() {
131
+ return this.project("GET", "/retry-policies");
132
+ }
133
+ }
134
+ //# sourceMappingURL=automation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automation.js","sourceRoot":"","sources":["../../../src/manage/automation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { HttpClient } from "../http.js";
2
+ import type { QueryValue } from "../util.js";
3
+ /** What the management plane answers: a JSON document (lists are `{ data: [...] }`). */
4
+ export type Api = Record<string, any>;
5
+ export type Query = Record<string, QueryValue | QueryValue[]>;
6
+ export type Body = Record<string, unknown>;
7
+ /** URL path segments, each encoded: `seg("flows", name, "run")` → `/flows/<name>/run`. */
8
+ export declare function seg(...parts: Array<string | number>): string;
9
+ /** Everything a management service shares: the environment a call is for, and the five verbs. */
10
+ export declare class Service {
11
+ protected readonly http: HttpClient;
12
+ private readonly environmentName;
13
+ constructor(http: HttpClient, environmentName: string);
14
+ /** The environment this service manages. */
15
+ get environment(): string;
16
+ protected path(suffix?: string): string;
17
+ protected get<T = Api>(suffix?: string, query?: Query): Promise<T>;
18
+ protected post<T = Api>(suffix?: string, body?: unknown, query?: Query): Promise<T>;
19
+ protected put<T = Api>(suffix: string, body?: unknown, query?: Query): Promise<T>;
20
+ protected patch<T = Api>(suffix: string, body?: unknown, query?: Query): Promise<T>;
21
+ protected del<T = Api>(suffix: string, query?: Query, body?: unknown): Promise<T>;
22
+ /** A call that is not scoped to an environment (`/platform/v1/...`). */
23
+ protected project<T = Api>(method: string, suffix: string, options?: {
24
+ body?: unknown;
25
+ query?: Query;
26
+ parse?: "json" | "text" | "response";
27
+ }): Promise<T>;
28
+ }
29
+ /**
30
+ * A kind of definition an environment holds (`flows`, `policies`, `webhooks`…): list, get, create, replace, remove.
31
+ * Pass `branch` to work on a feature branch's draft instead of the live environment. A definition is addressed by its name
32
+ * (inbound hooks: their slug).
33
+ */
34
+ export declare class Definitions extends Service {
35
+ protected readonly kind: string;
36
+ list(options?: {
37
+ branch?: string;
38
+ }): Promise<Api>;
39
+ getOne(key: string, options?: {
40
+ branch?: string;
41
+ }): Promise<Api>;
42
+ create(body: Body, options?: {
43
+ branch?: string;
44
+ }): Promise<Api>;
45
+ replace(key: string, body: Body, options?: {
46
+ branch?: string;
47
+ }): Promise<Api>;
48
+ remove(key: string, options?: {
49
+ branch?: string;
50
+ }): Promise<Api>;
51
+ }
52
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/manage/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /** URL path segments, each encoded: `seg("flows", name, "run")` → `/flows/<name>/run`. */
2
+ export function seg(...parts) {
3
+ return "/" + parts.map((part) => encodeURIComponent(String(part))).join("/");
4
+ }
5
+ /** Everything a management service shares: the environment a call is for, and the five verbs. */
6
+ export class Service {
7
+ http;
8
+ environmentName;
9
+ constructor(http, environmentName) {
10
+ this.http = http;
11
+ this.environmentName = environmentName;
12
+ }
13
+ /** The environment this service manages. */
14
+ get environment() {
15
+ return this.environmentName;
16
+ }
17
+ path(suffix = "") {
18
+ return `/platform/v1/envs/${encodeURIComponent(this.environmentName)}${suffix}`;
19
+ }
20
+ get(suffix = "", query) {
21
+ return this.http.request({ path: this.path(suffix), ...(query ? { query } : {}) });
22
+ }
23
+ post(suffix = "", body, query) {
24
+ return this.http.request({ method: "POST", path: this.path(suffix), body, ...(query ? { query } : {}) });
25
+ }
26
+ put(suffix, body, query) {
27
+ return this.http.request({ method: "PUT", path: this.path(suffix), body, ...(query ? { query } : {}) });
28
+ }
29
+ patch(suffix, body, query) {
30
+ return this.http.request({ method: "PATCH", path: this.path(suffix), body, ...(query ? { query } : {}) });
31
+ }
32
+ del(suffix, query, body) {
33
+ return this.http.request({ method: "DELETE", path: this.path(suffix), ...(query ? { query } : {}), ...(body !== undefined ? { body } : {}) });
34
+ }
35
+ /** A call that is not scoped to an environment (`/platform/v1/...`). */
36
+ project(method, suffix, options = {}) {
37
+ return this.http.request({ method, path: `/platform/v1${suffix}`, ...options });
38
+ }
39
+ }
40
+ /**
41
+ * A kind of definition an environment holds (`flows`, `policies`, `webhooks`…): list, get, create, replace, remove.
42
+ * Pass `branch` to work on a feature branch's draft instead of the live environment. A definition is addressed by its name
43
+ * (inbound hooks: their slug).
44
+ */
45
+ export class Definitions extends Service {
46
+ kind = "";
47
+ list(options = {}) {
48
+ return this.get(seg(this.kind), { branch: options.branch });
49
+ }
50
+ getOne(key, options = {}) {
51
+ return this.get(seg(this.kind, key), { branch: options.branch });
52
+ }
53
+ create(body, options = {}) {
54
+ return this.post(seg(this.kind), body, { branch: options.branch });
55
+ }
56
+ replace(key, body, options = {}) {
57
+ return this.put(seg(this.kind, key), body, { branch: options.branch });
58
+ }
59
+ remove(key, options = {}) {
60
+ return this.del(seg(this.kind, key), { branch: options.branch });
61
+ }
62
+ }
63
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/manage/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { Definitions, Service, type Api, type Body, type Query } from "./base.js";
2
+ /**
3
+ * Resources: the tables your API serves, with fields, relations, per-operation policies and indexes.
4
+ *
5
+ * ```ts
6
+ * await m.resources.create({ name: "posts", fields: [{ name: "title", type: "string", required: true }],
7
+ * operations: { list: { enabled: true, policy: "public" } } });
8
+ * await m.resources.migrate("posts");
9
+ * ```
10
+ */
11
+ export declare class Resources extends Definitions {
12
+ protected readonly kind = "resources";
13
+ /** Browse a resource's records as an operator (policies do not apply). Extra keys are passed as query parameters (`filter[field]`…). */
14
+ records(name: string, options?: {
15
+ limit?: number;
16
+ offset?: number;
17
+ filters?: Query;
18
+ }): Promise<Api>;
19
+ insert(name: string, values: Body): Promise<Api>;
20
+ updateRecord(name: string, recordId: string | number, values: Body): Promise<Api>;
21
+ deleteRecord(name: string, recordId: string | number): Promise<Api>;
22
+ /** Every record, for a file download. */
23
+ export(name: string, options?: {
24
+ format?: string;
25
+ }): Promise<Api>;
26
+ /** Add or update records from parsed rows: `{ created, updated, failed, errors }`. */
27
+ importRecords(name: string, rows: Body[], options?: {
28
+ key?: string;
29
+ mode?: string;
30
+ dryRun?: boolean;
31
+ }): Promise<Api>;
32
+ /** The resource's compiled routes. */
33
+ openapi(name: string): Promise<Api>;
34
+ /** Create the resource's table, or add what its definition gained. Returns the statements it ran. */
35
+ migrate(name: string): Promise<Api>;
36
+ /** What applying the definition would change. */
37
+ schemaPlan(name: string): Promise<Api>;
38
+ schemaApply(name: string, body?: Body): Promise<Api>;
39
+ /** Take the table as it is now as the starting point and put what changed in the definition. */
40
+ schemaAcknowledge(name: string, body?: Body): Promise<Api>;
41
+ /** Remove what migrations kept for a rollback. */
42
+ schemaPurge(name: string, body?: Body): Promise<Api>;
43
+ migrations(name: string): Promise<Api>;
44
+ rollbackMigration(name: string, migrationId: string): Promise<Api>;
45
+ /** A table's indexes: declared, field, hand-made and system. */
46
+ indexes(name: string): Promise<Api>;
47
+ /** Drop an index made outside Pawabase. */
48
+ dropIndex(name: string, index: string, body?: Body): Promise<Api>;
49
+ }
50
+ /** The whole database against its definitions. */
51
+ export declare class Schema extends Service {
52
+ /** Every resource's table against its definition. */
53
+ overview(): Promise<Api>;
54
+ /** Tables in the database that no resource is defined for. */
55
+ unmappedTables(): Promise<Api>;
56
+ }
57
+ /** Named access policies (conditions) that resources, buckets, channels and functions refer to. */
58
+ export declare class Policies extends Definitions {
59
+ protected readonly kind = "policies";
60
+ }
61
+ /** Reusable data shapes referred to by resource fields. */
62
+ export declare class Schemas extends Definitions {
63
+ protected readonly kind = "schemas";
64
+ }
65
+ /** Transformers that reshape a field's value on the way out (hide, mask, format). */
66
+ export declare class Transformers extends Definitions {
67
+ protected readonly kind = "transformers";
68
+ }
69
+ /** Custom HTTP routes under `/rest` that run a flow. */
70
+ export declare class Routes extends Definitions {
71
+ protected readonly kind = "routes";
72
+ }
73
+ /** The environment's database: tables, rows and the SQL console (one statement at a time; reads are read-only in the database itself). */
74
+ export declare class Database extends Service {
75
+ info(): Promise<Api>;
76
+ /** A table's columns, indexes and foreign keys. */
77
+ table(table: string): Promise<Api>;
78
+ rows(table: string, options?: {
79
+ limit?: number;
80
+ offset?: number;
81
+ sort?: string;
82
+ filters?: Query;
83
+ }): Promise<Api>;
84
+ /** Run one statement. A write needs `allowWrite`; it is audited and clears the environment's caches. */
85
+ query(sql: string, params?: unknown[], options?: {
86
+ allowWrite?: boolean;
87
+ }): Promise<Api>;
88
+ }
89
+ /** The runtime capabilities a function sees, called remotely (what `pawabase emulate` uses). */
90
+ export declare class Runtime extends Service {
91
+ call(method: string, args?: unknown[], kwargs?: Body, options?: {
92
+ asUser?: Body;
93
+ branch?: string;
94
+ }): Promise<Api>;
95
+ /** `fetch`, `insert`, `execute`, `begin`, `commit`…, optionally inside a transaction (`tx`). */
96
+ sql(op: string, fields?: Body): Promise<Api>;
97
+ /** Who a user access token belongs to. */
98
+ identify(token: string | null): Promise<Api>;
99
+ }
100
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/manage/data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import { Definitions, Service, seg } from "./base.js";
2
+ /**
3
+ * Resources: the tables your API serves, with fields, relations, per-operation policies and indexes.
4
+ *
5
+ * ```ts
6
+ * await m.resources.create({ name: "posts", fields: [{ name: "title", type: "string", required: true }],
7
+ * operations: { list: { enabled: true, policy: "public" } } });
8
+ * await m.resources.migrate("posts");
9
+ * ```
10
+ */
11
+ export class Resources extends Definitions {
12
+ kind = "resources";
13
+ /** Browse a resource's records as an operator (policies do not apply). Extra keys are passed as query parameters (`filter[field]`…). */
14
+ records(name, options = {}) {
15
+ return this.get(seg(this.kind, name, "records"), { limit: options.limit, offset: options.offset, ...options.filters });
16
+ }
17
+ insert(name, values) {
18
+ return this.post(seg(this.kind, name, "records"), values);
19
+ }
20
+ updateRecord(name, recordId, values) {
21
+ return this.patch(seg(this.kind, name, "records", recordId), values);
22
+ }
23
+ deleteRecord(name, recordId) {
24
+ return this.del(seg(this.kind, name, "records", recordId));
25
+ }
26
+ /** Every record, for a file download. */
27
+ export(name, options = {}) {
28
+ return this.get(seg(this.kind, name, "export"), { format: options.format });
29
+ }
30
+ /** Add or update records from parsed rows: `{ created, updated, failed, errors }`. */
31
+ importRecords(name, rows, options = {}) {
32
+ return this.post(seg(this.kind, name, "import"), { rows, key: options.key, mode: options.mode, dry_run: options.dryRun });
33
+ }
34
+ /** The resource's compiled routes. */
35
+ openapi(name) {
36
+ return this.get(seg(this.kind, name, "openapi"));
37
+ }
38
+ /** Create the resource's table, or add what its definition gained. Returns the statements it ran. */
39
+ migrate(name) {
40
+ return this.post(seg(this.kind, name, "migrate"));
41
+ }
42
+ /** What applying the definition would change. */
43
+ schemaPlan(name) {
44
+ return this.get(seg(this.kind, name, "schema"));
45
+ }
46
+ schemaApply(name, body = {}) {
47
+ return this.post(seg(this.kind, name, "schema", "apply"), body);
48
+ }
49
+ /** Take the table as it is now as the starting point and put what changed in the definition. */
50
+ schemaAcknowledge(name, body = {}) {
51
+ return this.post(seg(this.kind, name, "schema", "acknowledge"), body);
52
+ }
53
+ /** Remove what migrations kept for a rollback. */
54
+ schemaPurge(name, body = {}) {
55
+ return this.post(seg(this.kind, name, "schema", "purge"), body);
56
+ }
57
+ migrations(name) {
58
+ return this.get(seg(this.kind, name, "migrations"));
59
+ }
60
+ rollbackMigration(name, migrationId) {
61
+ return this.post(seg(this.kind, name, "migrations", migrationId, "rollback"));
62
+ }
63
+ /** A table's indexes: declared, field, hand-made and system. */
64
+ indexes(name) {
65
+ return this.get(seg(this.kind, name, "indexes"));
66
+ }
67
+ /** Drop an index made outside Pawabase. */
68
+ dropIndex(name, index, body = {}) {
69
+ return this.post(seg(this.kind, name, "indexes", index, "drop"), body);
70
+ }
71
+ }
72
+ /** The whole database against its definitions. */
73
+ export class Schema extends Service {
74
+ /** Every resource's table against its definition. */
75
+ overview() {
76
+ return this.get("/schema");
77
+ }
78
+ /** Tables in the database that no resource is defined for. */
79
+ unmappedTables() {
80
+ return this.get("/schema/tables");
81
+ }
82
+ }
83
+ /** Named access policies (conditions) that resources, buckets, channels and functions refer to. */
84
+ export class Policies extends Definitions {
85
+ kind = "policies";
86
+ }
87
+ /** Reusable data shapes referred to by resource fields. */
88
+ export class Schemas extends Definitions {
89
+ kind = "schemas";
90
+ }
91
+ /** Transformers that reshape a field's value on the way out (hide, mask, format). */
92
+ export class Transformers extends Definitions {
93
+ kind = "transformers";
94
+ }
95
+ /** Custom HTTP routes under `/rest` that run a flow. */
96
+ export class Routes extends Definitions {
97
+ kind = "routes";
98
+ }
99
+ /** The environment's database: tables, rows and the SQL console (one statement at a time; reads are read-only in the database itself). */
100
+ export class Database extends Service {
101
+ info() {
102
+ return this.get("/database");
103
+ }
104
+ /** A table's columns, indexes and foreign keys. */
105
+ table(table) {
106
+ return this.get(seg("database", "tables", table));
107
+ }
108
+ rows(table, options = {}) {
109
+ return this.get(seg("database", "tables", table, "rows"), { limit: options.limit, offset: options.offset, sort: options.sort, ...options.filters });
110
+ }
111
+ /** Run one statement. A write needs `allowWrite`; it is audited and clears the environment's caches. */
112
+ query(sql, params = [], options = {}) {
113
+ return this.post("/database/query", { sql, params, allow_write: options.allowWrite ?? false });
114
+ }
115
+ }
116
+ /** The runtime capabilities a function sees, called remotely (what `pawabase emulate` uses). */
117
+ export class Runtime extends Service {
118
+ call(method, args = [], kwargs = {}, options = {}) {
119
+ return this.post("/runtime/call", { method, args, kwargs, as_user: options.asUser ?? null, branch: options.branch ?? null });
120
+ }
121
+ /** `fetch`, `insert`, `execute`, `begin`, `commit`…, optionally inside a transaction (`tx`). */
122
+ sql(op, fields = {}) {
123
+ return this.post("/runtime/db", { op, ...fields });
124
+ }
125
+ /** Who a user access token belongs to. */
126
+ identify(token) {
127
+ return this.post("/runtime/identify", { token });
128
+ }
129
+ }
130
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/manage/data.ts"],"names":[],"mappings":"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"}