@pawabase/client 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +84 -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,128 @@
1
+ import { Service, type Api, type Body } from "./base.js";
2
+ type When = Date | string;
3
+ /** The project's environments (`development`, `production`, previews…). Most calls here are not scoped to the client's environment. */
4
+ export declare class Environments extends Service {
5
+ list(): Promise<Api>;
6
+ /** A new environment, optionally with another's definitions copied in. */
7
+ create(name: string, options?: {
8
+ copyFrom?: string;
9
+ }): Promise<Api>;
10
+ getOne(name?: string): Promise<Api>;
11
+ /** Change an environment's infrastructure, sign-in settings or settings; each is merged in. */
12
+ update(name: string, changes: {
13
+ infra?: Body;
14
+ auth?: Body;
15
+ settings?: Body;
16
+ isDefault?: boolean;
17
+ }): Promise<Api>;
18
+ deleteEnvironment(name: string): Promise<Api>;
19
+ /** A short-lived copy for a branch or pull request (`ref`: lowercase letters, digits and hyphens); it expires by itself. */
20
+ createPreview(ref: string, options?: {
21
+ name?: string;
22
+ expiresInHours?: number;
23
+ infra?: Body;
24
+ auth?: Body;
25
+ settings?: Body;
26
+ }): Promise<Api>;
27
+ deletePreview(preview: string): Promise<Api>;
28
+ /** Copy this environment's definitions (never secrets or keys) to `to`. `include` limits the kinds (`flows`, `policies`, `resources`…). */
29
+ promote(to: string, options?: {
30
+ include?: string[];
31
+ }): Promise<Api>;
32
+ /** Export definitions, roles and settings as a document another project can apply. */
33
+ blueprint(): Promise<Api>;
34
+ /** Build new environments from a blueprint; each must not exist yet. */
35
+ applyBlueprint(blueprint: Body, environments?: string[]): Promise<Api>;
36
+ /** Re-read the deployed function code now. */
37
+ reloadCode(): Promise<Api>;
38
+ }
39
+ /** Feature branches of the definitions, immutable revisions, API versions and releases. */
40
+ export declare class Releases extends Service {
41
+ branches(): Promise<Api>;
42
+ createBranch(name: string, options?: {
43
+ fromBranch?: string;
44
+ fromRevision?: string;
45
+ protected?: boolean;
46
+ }): Promise<Api>;
47
+ /** The branch's definitions as they stand now. */
48
+ draft(branch: string): Promise<Api>;
49
+ merge(branch: string, options?: {
50
+ target?: string;
51
+ force?: boolean;
52
+ }): Promise<Api>;
53
+ revisions(): Promise<Api>;
54
+ revision(revisionId: string): Promise<Api>;
55
+ /** Freeze the branch's draft as a revision. */
56
+ commit(branch: string, message?: string): Promise<Api>;
57
+ apiVersions(): Promise<Api>;
58
+ createApiVersion(name: string, options?: {
59
+ isDefault?: boolean;
60
+ }): Promise<Api>;
61
+ /** `status`: draft, active, deprecated, sunset, disabled. */
62
+ updateApiVersion(name: string, changes: {
63
+ status?: string;
64
+ isDefault?: boolean;
65
+ sunsetAt?: When;
66
+ }): Promise<Api>;
67
+ rollbackApiVersion(name: string): Promise<Api>;
68
+ releases(): Promise<Api>;
69
+ /** Make a revision the live definitions of an API version. */
70
+ release(revisionId: string, apiVersion: string, name: string, options?: {
71
+ notes?: string;
72
+ allowBreaking?: boolean;
73
+ }): Promise<Api>;
74
+ activate(releaseId: string): Promise<Api>;
75
+ deployments(): Promise<Api>;
76
+ }
77
+ export interface RestoreOptions {
78
+ /** Parts to restore: `definitions`, `settings`, `users`, `data`. Default: every part the file holds. */
79
+ include?: string[];
80
+ /** `merge` adds and updates; `replace` first removes what the chosen parts hold and needs `confirm`. */
81
+ strategy?: "merge" | "replace";
82
+ dryRun?: boolean;
83
+ /** For `replace`: the environment's name, typed out. */
84
+ confirm?: string;
85
+ }
86
+ /** Whole-environment backups you download, stored snapshots, and restores. */
87
+ export declare class Backups extends Service {
88
+ /** A backup document: `definitions`, `settings`, `users` and, with `data`, rows (up to `maxRows` per table). */
89
+ download(options?: {
90
+ include?: string[];
91
+ data?: boolean;
92
+ maxRows?: number;
93
+ }): Promise<Api>;
94
+ /** Put a downloaded backup back. */
95
+ restore(backup: Body, options?: RestoreOptions): Promise<Api>;
96
+ /** Automatic snapshots: `frequency` hourly, daily (at `hour` UTC) or weekly (on `weekday`, 0 = Monday); older ones are pruned past `keepLast` and `keepDays`. */
97
+ setSchedule(options?: {
98
+ enabled?: boolean;
99
+ frequency?: "hourly" | "daily" | "weekly";
100
+ hour?: number;
101
+ weekday?: number;
102
+ keepLast?: number;
103
+ keepDays?: number;
104
+ include?: string[];
105
+ }): Promise<Api>;
106
+ snapshots(): Promise<Api>;
107
+ /** Take a snapshot now and keep it. */
108
+ snapshot(name?: string, options?: {
109
+ note?: string;
110
+ include?: string[];
111
+ }): Promise<Api>;
112
+ /** Rename it, annotate it, or pin it so pruning keeps it. */
113
+ updateSnapshot(snapshotId: string, changes: {
114
+ name?: string;
115
+ note?: string;
116
+ pinned?: boolean;
117
+ }): Promise<Api>;
118
+ removeSnapshot(snapshotId: string): Promise<Api>;
119
+ downloadSnapshot(snapshotId: string): Promise<Api>;
120
+ /** Check the stored snapshot is intact. */
121
+ verifySnapshot(snapshotId: string): Promise<Api>;
122
+ /** Restore a snapshot; a snapshot of the current state is taken first unless `safetySnapshot` is `false`. */
123
+ restoreSnapshot(snapshotId: string, options?: RestoreOptions & {
124
+ safetySnapshot?: boolean;
125
+ }): Promise<Api>;
126
+ }
127
+ export {};
128
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/manage/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAE9D,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAG1B,uIAAuI;AACvI,qBAAa,YAAa,SAAQ,OAAO;IACvC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAIpB,0EAA0E;IAC1E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAInC,+FAA+F;IAC/F,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAMhH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7C,4HAA4H;IAC5H,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAW9I,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI5C,2IAA2I;IAC3I,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvE,sFAAsF;IACtF,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAIzB,wEAAwE;IACxE,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,GAAE,MAAM,EAAkC,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrG,8CAA8C;IAC9C,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;CAG3B;AAED,2FAA2F;AAC3F,qBAAa,QAAS,SAAQ,OAAO;IACnC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAIxB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3H,kDAAkD;IAClD,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAInC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvF,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAIzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI1C,+CAA+C;IAC/C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,SAAK,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlD,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAI3B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAInF,6DAA6D;IAC7D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9C,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAIxB,8DAA8D;IAC9D,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAItI,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;CAG5B;AAED,MAAM,WAAW,cAAc;IAC7B,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,wGAAwG;IACxG,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8EAA8E;AAC9E,qBAAa,OAAQ,SAAQ,OAAO;IAClC,gHAAgH;IAChH,QAAQ,CAAC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9F,oCAAoC;IACpC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjE,iKAAiK;IACjK,WAAW,CAAC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAYpM,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IAIzB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,SAAK,EAAE,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAItF,6DAA6D;IAC7D,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7G,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlD,2CAA2C;IAC3C,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhD,6GAA6G;IAC7G,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,cAAc,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;CAS/G"}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Backups = exports.Releases = exports.Environments = void 0;
4
+ const base_js_1 = require("./base.js");
5
+ const iso = (value) => (value instanceof Date ? value.toISOString() : value);
6
+ /** The project's environments (`development`, `production`, previews…). Most calls here are not scoped to the client's environment. */
7
+ class Environments extends base_js_1.Service {
8
+ list() {
9
+ return this.project("GET", "/envs");
10
+ }
11
+ /** A new environment, optionally with another's definitions copied in. */
12
+ create(name, options = {}) {
13
+ return this.project("POST", "/envs", { body: { name, copy_from: options.copyFrom } });
14
+ }
15
+ getOne(name) {
16
+ return this.project("GET", `/envs/${encodeURIComponent(name ?? this.environment)}`);
17
+ }
18
+ /** Change an environment's infrastructure, sign-in settings or settings; each is merged in. */
19
+ update(name, changes) {
20
+ return this.project("PATCH", `/envs/${encodeURIComponent(name)}`, {
21
+ body: { infra: changes.infra, auth: changes.auth, settings: changes.settings, is_default: changes.isDefault },
22
+ });
23
+ }
24
+ deleteEnvironment(name) {
25
+ return this.project("DELETE", `/envs/${encodeURIComponent(name)}`);
26
+ }
27
+ /** A short-lived copy for a branch or pull request (`ref`: lowercase letters, digits and hyphens); it expires by itself. */
28
+ createPreview(ref, options = {}) {
29
+ return this.post("/previews", {
30
+ ref,
31
+ name: options.name,
32
+ expires_in_hours: options.expiresInHours ?? 72,
33
+ infra: options.infra ?? {},
34
+ auth: options.auth ?? {},
35
+ settings: options.settings,
36
+ });
37
+ }
38
+ deletePreview(preview) {
39
+ return this.del((0, base_js_1.seg)("previews", preview));
40
+ }
41
+ /** Copy this environment's definitions (never secrets or keys) to `to`. `include` limits the kinds (`flows`, `policies`, `resources`…). */
42
+ promote(to, options = {}) {
43
+ return this.post("/promote", { to, include: options.include });
44
+ }
45
+ /** Export definitions, roles and settings as a document another project can apply. */
46
+ blueprint() {
47
+ return this.get("/blueprint");
48
+ }
49
+ /** Build new environments from a blueprint; each must not exist yet. */
50
+ applyBlueprint(blueprint, environments = ["development", "production"]) {
51
+ return this.project("POST", "/blueprints/apply", { body: { blueprint, environments } });
52
+ }
53
+ /** Re-read the deployed function code now. */
54
+ reloadCode() {
55
+ return this.project("POST", "/code/reload");
56
+ }
57
+ }
58
+ exports.Environments = Environments;
59
+ /** Feature branches of the definitions, immutable revisions, API versions and releases. */
60
+ class Releases extends base_js_1.Service {
61
+ branches() {
62
+ return this.get("/branches");
63
+ }
64
+ createBranch(name, options = {}) {
65
+ return this.post("/branches", { name, from_branch: options.fromBranch, from_revision: options.fromRevision, protected: options.protected ?? false });
66
+ }
67
+ /** The branch's definitions as they stand now. */
68
+ draft(branch) {
69
+ return this.get((0, base_js_1.seg)("branches", branch, "draft"));
70
+ }
71
+ merge(branch, options = {}) {
72
+ return this.post((0, base_js_1.seg)("branches", branch, "merge"), { target: options.target ?? "main", force: options.force ?? false });
73
+ }
74
+ revisions() {
75
+ return this.get("/revisions");
76
+ }
77
+ revision(revisionId) {
78
+ return this.get((0, base_js_1.seg)("revisions", revisionId));
79
+ }
80
+ /** Freeze the branch's draft as a revision. */
81
+ commit(branch, message = "") {
82
+ return this.post((0, base_js_1.seg)("branches", branch, "revisions"), { message });
83
+ }
84
+ apiVersions() {
85
+ return this.get("/api-versions");
86
+ }
87
+ createApiVersion(name, options = {}) {
88
+ return this.post("/api-versions", { name, is_default: options.isDefault ?? false });
89
+ }
90
+ /** `status`: draft, active, deprecated, sunset, disabled. */
91
+ updateApiVersion(name, changes) {
92
+ return this.patch((0, base_js_1.seg)("api-versions", name), { status: changes.status, is_default: changes.isDefault, sunset_at: iso(changes.sunsetAt) });
93
+ }
94
+ rollbackApiVersion(name) {
95
+ return this.post((0, base_js_1.seg)("api-versions", name, "rollback"));
96
+ }
97
+ releases() {
98
+ return this.get("/releases");
99
+ }
100
+ /** Make a revision the live definitions of an API version. */
101
+ release(revisionId, apiVersion, name, options = {}) {
102
+ return this.post("/releases", { revision_id: revisionId, api_version: apiVersion, name, notes: options.notes ?? "", allow_breaking: options.allowBreaking ?? false });
103
+ }
104
+ activate(releaseId) {
105
+ return this.post((0, base_js_1.seg)("releases", releaseId, "activate"));
106
+ }
107
+ deployments() {
108
+ return this.get("/deployments");
109
+ }
110
+ }
111
+ exports.Releases = Releases;
112
+ /** Whole-environment backups you download, stored snapshots, and restores. */
113
+ class Backups extends base_js_1.Service {
114
+ /** A backup document: `definitions`, `settings`, `users` and, with `data`, rows (up to `maxRows` per table). */
115
+ download(options = {}) {
116
+ return this.get("/backup", { include: options.include?.join(","), data: options.data ? "true" : undefined, max_rows: options.maxRows });
117
+ }
118
+ /** Put a downloaded backup back. */
119
+ restore(backup, options = {}) {
120
+ return this.post("/restore", { backup, include: options.include, strategy: options.strategy ?? "merge", dry_run: options.dryRun ?? false, confirm: options.confirm });
121
+ }
122
+ /** Automatic snapshots: `frequency` hourly, daily (at `hour` UTC) or weekly (on `weekday`, 0 = Monday); older ones are pruned past `keepLast` and `keepDays`. */
123
+ setSchedule(options = {}) {
124
+ return this.put("/backup-schedule", {
125
+ enabled: options.enabled ?? true,
126
+ frequency: options.frequency ?? "daily",
127
+ hour: options.hour ?? 3,
128
+ weekday: options.weekday ?? 0,
129
+ keep_last: options.keepLast ?? 7,
130
+ keep_days: options.keepDays ?? 30,
131
+ include: options.include ?? [],
132
+ });
133
+ }
134
+ snapshots() {
135
+ return this.get("/snapshots");
136
+ }
137
+ /** Take a snapshot now and keep it. */
138
+ snapshot(name = "", options = {}) {
139
+ return this.post("/snapshots", { name, note: options.note ?? "", include: options.include });
140
+ }
141
+ /** Rename it, annotate it, or pin it so pruning keeps it. */
142
+ updateSnapshot(snapshotId, changes) {
143
+ return this.patch((0, base_js_1.seg)("snapshots", snapshotId), changes);
144
+ }
145
+ removeSnapshot(snapshotId) {
146
+ return this.del((0, base_js_1.seg)("snapshots", snapshotId));
147
+ }
148
+ downloadSnapshot(snapshotId) {
149
+ return this.get((0, base_js_1.seg)("snapshots", snapshotId, "download"));
150
+ }
151
+ /** Check the stored snapshot is intact. */
152
+ verifySnapshot(snapshotId) {
153
+ return this.post((0, base_js_1.seg)("snapshots", snapshotId, "verify"));
154
+ }
155
+ /** Restore a snapshot; a snapshot of the current state is taken first unless `safetySnapshot` is `false`. */
156
+ restoreSnapshot(snapshotId, options = {}) {
157
+ return this.post((0, base_js_1.seg)("snapshots", snapshotId, "restore"), {
158
+ include: options.include,
159
+ strategy: options.strategy ?? "merge",
160
+ dry_run: options.dryRun ?? false,
161
+ confirm: options.confirm,
162
+ safety_snapshot: options.safetySnapshot ?? true,
163
+ });
164
+ }
165
+ }
166
+ exports.Backups = Backups;
167
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/manage/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Definitions, Service, type Api } from "./base.js";
2
+ /** Templates (subject, HTML, text) for the mail flows, functions and sign-in send. */
3
+ export declare class MailTemplates extends Definitions {
4
+ protected readonly kind = "mail-templates";
5
+ }
6
+ export declare class Mail extends Service {
7
+ /** The delivery settings in effect (the password is never returned) and whether mail is being delivered. */
8
+ config(): Promise<Api>;
9
+ /** Messages sent or suppressed. `status`: `sent`, `failed`, `suppressed`. */
10
+ log(options?: {
11
+ status?: string;
12
+ limit?: number;
13
+ }): Promise<Api>;
14
+ sendTest(to: string[]): Promise<Api>;
15
+ }
16
+ //# sourceMappingURL=mail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../../src/manage/mail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAE3D,sFAAsF;AACtF,qBAAa,aAAc,SAAQ,WAAW;IAC5C,mBAA4B,IAAI,oBAAoB;CACrD;AAED,qBAAa,IAAK,SAAQ,OAAO;IAC/B,4GAA4G;IAC5G,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;IAItB,6EAA6E;IAC7E,GAAG,CAAC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAIpE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAGrC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Mail = exports.MailTemplates = void 0;
4
+ const base_js_1 = require("./base.js");
5
+ /** Templates (subject, HTML, text) for the mail flows, functions and sign-in send. */
6
+ class MailTemplates extends base_js_1.Definitions {
7
+ kind = "mail-templates";
8
+ }
9
+ exports.MailTemplates = MailTemplates;
10
+ class Mail extends base_js_1.Service {
11
+ /** The delivery settings in effect (the password is never returned) and whether mail is being delivered. */
12
+ config() {
13
+ return this.get("/mail/config");
14
+ }
15
+ /** Messages sent or suppressed. `status`: `sent`, `failed`, `suppressed`. */
16
+ log(options = {}) {
17
+ return this.get("/mail/log", options);
18
+ }
19
+ sendTest(to) {
20
+ return this.post("/mail/test", { to });
21
+ }
22
+ }
23
+ exports.Mail = Mail;
24
+ //# sourceMappingURL=mail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../../src/manage/mail.ts"],"names":[],"mappings":";;;AAAA,uCAA2D;AAE3D,sFAAsF;AACtF,MAAa,aAAc,SAAQ,qBAAW;IAChB,IAAI,GAAG,gBAAgB,CAAC;CACrD;AAFD,sCAEC;AAED,MAAa,IAAK,SAAQ,iBAAO;IAC/B,4GAA4G;IAC5G,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,6EAA6E;IAC7E,GAAG,CAAC,UAA+C,EAAE;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,EAAY;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;CACF;AAdD,oBAcC"}
@@ -0,0 +1,149 @@
1
+ import { Service, type Api } from "./base.js";
2
+ type When = Date | string;
3
+ export declare class Observability extends Service {
4
+ /** The environment at a glance: traffic, errors, latency, workers, storage. */
5
+ overview(options?: {
6
+ range?: string;
7
+ }): Promise<Api>;
8
+ /** Traffic over a `range` (`1h`, `24h`, `7d`…) or between `from` and `to`. */
9
+ analytics(options?: {
10
+ range?: string;
11
+ from?: When;
12
+ to?: When;
13
+ }): Promise<Api>;
14
+ /** Recent requests. `status` is an exact code or a class (`5xx`); `search` matches the path. */
15
+ requests(options?: {
16
+ status?: string;
17
+ method?: string;
18
+ search?: string;
19
+ requestId?: string;
20
+ limit?: number;
21
+ }): Promise<Api>;
22
+ /** One request: its logs, database calls, spans, and the traceback if it failed. */
23
+ request(requestId: string): Promise<Api>;
24
+ /** Search application and access logs. `after` continues from the last entry you saw. */
25
+ logs(options?: {
26
+ q?: string;
27
+ minutes?: number;
28
+ limit?: number;
29
+ after?: When;
30
+ }): Promise<Api>;
31
+ errors(options?: {
32
+ minutes?: number;
33
+ }): Promise<Api>;
34
+ /** Per-route traffic, latency and errors. */
35
+ routes(options?: {
36
+ minutes?: number;
37
+ limit?: number;
38
+ sort?: string;
39
+ }): Promise<Api>;
40
+ route(method: string, route: string, options?: {
41
+ minutes?: number;
42
+ }): Promise<Api>;
43
+ /** CPU, memory and connection figures over time. */
44
+ system(options?: {
45
+ minutes?: number;
46
+ }): Promise<Api>;
47
+ /** Findings the platform spotted: slow routes, missing indexes, noisy errors. */
48
+ advisor(options?: {
49
+ minutes?: number;
50
+ }): Promise<Api>;
51
+ /** Counters per minute. */
52
+ metrics(options?: {
53
+ name?: string;
54
+ minutes?: number;
55
+ }): Promise<Api>;
56
+ /** The metrics you can chart or alarm on. */
57
+ metricCatalog(): Promise<Api>;
58
+ /** One metric over time; `comparePrevious` adds the span before it. */
59
+ metricSeries(metric?: string, options?: {
60
+ minutes?: number;
61
+ period?: number;
62
+ comparePrevious?: boolean;
63
+ }): Promise<Api>;
64
+ workers(): Promise<Api>;
65
+ /** What the environment is running with. */
66
+ configuration(): Promise<Api>;
67
+ capacity(): Promise<Api>;
68
+ }
69
+ export interface AlarmInput {
70
+ name: string;
71
+ /** A name from {@link Observability.metricCatalog}. */
72
+ metric: string;
73
+ threshold: number;
74
+ comparison?: "gt" | "gte" | "lt" | "lte";
75
+ windowMinutes?: number;
76
+ breachesNeeded?: number;
77
+ recipients?: string[];
78
+ description?: string;
79
+ enabled?: boolean;
80
+ renotifyMinutes?: number;
81
+ }
82
+ /** Alarms on a metric: when it crosses `threshold` for `breachesNeeded` checks in a row, `recipients` are mailed. */
83
+ export declare class Alarms extends Service {
84
+ list(): Promise<Api>;
85
+ create(alarm: AlarmInput): Promise<Api>;
86
+ /** Change some fields, using the server's names (`mute_minutes: 60` silences it for an hour, `0` un-mutes). */
87
+ update(alarmId: string, changes: Record<string, unknown>): Promise<Api>;
88
+ remove(alarmId: string): Promise<Api>;
89
+ /** Evaluate it now. */
90
+ check(alarmId: string): Promise<Api>;
91
+ /** Send the notification mail now. */
92
+ test(alarmId: string): Promise<Api>;
93
+ /** When alarms fired and recovered: one alarm's, or all. */
94
+ history(alarmId?: string): Promise<Api>;
95
+ }
96
+ export interface StatusComponent {
97
+ name: string;
98
+ /** `gateway`, `api`, `auth`, `realtime`, `workers` (measured) or `manual`. */
99
+ source?: string;
100
+ description?: string;
101
+ }
102
+ /** The public status page and its incidents. */
103
+ export declare class StatusPage extends Service {
104
+ page(): Promise<Api>;
105
+ configure(options?: {
106
+ enabled?: boolean;
107
+ title?: string;
108
+ description?: string;
109
+ contactUrl?: string;
110
+ components?: StatusComponent[];
111
+ }): Promise<Api>;
112
+ incidents(): Promise<Api>;
113
+ /** `status`: investigating, identified, monitoring, resolved. `impact`: none, minor, major, critical. */
114
+ openIncident(title: string, options?: {
115
+ message?: string;
116
+ status?: string;
117
+ impact?: string;
118
+ components?: string[];
119
+ }): Promise<Api>;
120
+ updateIncident(incidentId: string, message: string, options: {
121
+ status: string;
122
+ impact?: string;
123
+ }): Promise<Api>;
124
+ removeIncident(incidentId: string): Promise<Api>;
125
+ }
126
+ export interface AuditFilter {
127
+ action?: string;
128
+ actor?: string;
129
+ target?: string;
130
+ since?: When;
131
+ until?: When;
132
+ env?: string;
133
+ }
134
+ /** Service health, plan usage and the platform's own audit trail. */
135
+ export declare class Health extends Service {
136
+ /** Each service (database, cache, queue, storage, mail…) with its state, latency and error rate. */
137
+ services(): Promise<Api>;
138
+ /** Each plan limit and how much of it is used. */
139
+ usage(): Promise<Api>;
140
+ retryPolicies(): Promise<Api>;
141
+ /** Management-plane changes: who did what, to what, when. */
142
+ audit(filter?: AuditFilter): Promise<Api>;
143
+ /** The audit trail as a file's contents (`jsonl` or `csv`), for the same filters as {@link audit}. */
144
+ exportAudit(filter?: AuditFilter & {
145
+ format?: "jsonl" | "csv";
146
+ }): Promise<string>;
147
+ }
148
+ export {};
149
+ //# sourceMappingURL=observe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../../src/manage/observe.ts"],"names":[],"mappings":"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"}