@sylphx/contract 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/endpoints/databases.d.ts +2 -2
- package/dist/endpoints/kv-admin.d.ts +1 -1
- package/dist/endpoints/kv-admin.js +1 -1
- package/dist/endpoints/kv.d.ts +19 -13
- package/dist/endpoints/kv.d.ts.map +1 -1
- package/dist/endpoints/kv.js +9 -9
- package/dist/endpoints/notifications.d.ts +7 -0
- package/dist/endpoints/notifications.d.ts.map +1 -1
- package/dist/endpoints/project-manifest.d.ts +110 -4
- package/dist/endpoints/project-manifest.d.ts.map +1 -1
- package/dist/endpoints/storage.d.ts +18 -0
- package/dist/endpoints/storage.d.ts.map +1 -1
- package/dist/endpoints/storage.js +11 -1
- package/dist/index.d.ts +155 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/schemas/auth.d.ts +1 -0
- package/dist/schemas/auth.d.ts.map +1 -1
- package/dist/schemas/auth.js +1 -0
- package/dist/schemas/database.d.ts +2 -2
- package/dist/schemas/database.js +2 -2
- package/dist/schemas/kv-admin.d.ts +1 -1
- package/dist/schemas/kv-admin.js +1 -1
- package/dist/schemas/kv.d.ts +12 -4
- package/dist/schemas/kv.d.ts.map +1 -1
- package/dist/schemas/kv.js +17 -5
- package/dist/schemas/notifications.d.ts +11 -0
- package/dist/schemas/notifications.d.ts.map +1 -1
- package/dist/schemas/notifications.js +11 -0
- package/dist/schemas/project-manifest.d.ts +226 -9
- package/dist/schemas/project-manifest.d.ts.map +1 -1
- package/dist/schemas/project-manifest.js +75 -3
- package/dist/schemas/resources.d.ts +4 -4
- package/dist/schemas/resources.js +2 -2
- package/dist/schemas/storage.d.ts +29 -0
- package/dist/schemas/storage.d.ts.map +1 -1
- package/dist/schemas/storage.js +19 -0
- package/package.json +1 -1
|
@@ -50,8 +50,8 @@ export declare const Database: Schema.Struct<{
|
|
|
50
50
|
directHost: Schema.optional<Schema.NullOr<typeof Schema.String>>;
|
|
51
51
|
port: Schema.optional<typeof Schema.Number>;
|
|
52
52
|
publicPort: Schema.optional<Schema.NullOr<typeof Schema.Number>>;
|
|
53
|
-
dbUser:
|
|
54
|
-
dbName:
|
|
53
|
+
dbUser: typeof Schema.String;
|
|
54
|
+
dbName: typeof Schema.String;
|
|
55
55
|
connectionString: Schema.optional<typeof Schema.String>;
|
|
56
56
|
storageGb: Schema.optional<typeof Schema.Number>;
|
|
57
57
|
env: Schema.optional<typeof Schema.String>;
|
package/dist/schemas/database.js
CHANGED
|
@@ -42,8 +42,8 @@ export const Database = Schema.Struct({
|
|
|
42
42
|
directHost: Schema.optional(Schema.NullOr(Schema.String)),
|
|
43
43
|
port: Schema.optional(Schema.Number),
|
|
44
44
|
publicPort: Schema.optional(Schema.NullOr(Schema.Number)),
|
|
45
|
-
dbUser: Schema.
|
|
46
|
-
dbName: Schema.
|
|
45
|
+
dbUser: Schema.String,
|
|
46
|
+
dbName: Schema.String,
|
|
47
47
|
connectionString: Schema.optional(Schema.String),
|
|
48
48
|
storageGb: Schema.optional(Schema.Number),
|
|
49
49
|
env: Schema.optional(Schema.String),
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Mirrors `routes/kv.ts`.
|
|
4
4
|
*
|
|
5
5
|
* Plane: `management`. Distinct from `kvEndpoints` (BaaS runtime served at
|
|
6
|
-
* `{ref}.api.sylphx.com/
|
|
6
|
+
* `{ref}.api.sylphx.com/kv/*`).
|
|
7
7
|
*/
|
|
8
8
|
import { Schema } from 'effect';
|
|
9
9
|
export declare const KvAdminProjectIdQuery: Schema.Struct<{
|
package/dist/schemas/kv-admin.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Mirrors `routes/kv.ts`.
|
|
4
4
|
*
|
|
5
5
|
* Plane: `management`. Distinct from `kvEndpoints` (BaaS runtime served at
|
|
6
|
-
* `{ref}.api.sylphx.com/
|
|
6
|
+
* `{ref}.api.sylphx.com/kv/*`).
|
|
7
7
|
*/
|
|
8
8
|
import { Schema } from 'effect';
|
|
9
9
|
export const KvAdminProjectIdQuery = Schema.Struct({ projectId: Schema.String });
|
package/dist/schemas/kv.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* KV — BaaS plane primitives. Mirrors `@sylphx/sdk` `kv.ts` public surface.
|
|
3
3
|
*
|
|
4
|
-
* Paths upstream: `/
|
|
4
|
+
* Paths upstream: `/kv/*` on `<your-app>.api.sylphx.com`.
|
|
5
5
|
*/
|
|
6
6
|
import { Schema } from 'effect';
|
|
7
7
|
/** Opaque per-app key. Namespaced server-side, so any non-empty string is legal. */
|
|
@@ -15,6 +15,12 @@ export declare const KvSetInput: Schema.Struct<{
|
|
|
15
15
|
value: typeof Schema.Unknown;
|
|
16
16
|
/** Expire in N seconds. */
|
|
17
17
|
ex: Schema.optional<typeof Schema.Number>;
|
|
18
|
+
/** Expire in N milliseconds. */
|
|
19
|
+
px: Schema.optional<typeof Schema.Number>;
|
|
20
|
+
/** Unix timestamp (seconds) at which the key will expire. */
|
|
21
|
+
exat: Schema.optional<typeof Schema.Number>;
|
|
22
|
+
/** Unix timestamp (milliseconds) at which the key will expire. */
|
|
23
|
+
pxat: Schema.optional<typeof Schema.Number>;
|
|
18
24
|
/** Only set if the key does not exist. */
|
|
19
25
|
nx: Schema.optional<typeof Schema.Boolean>;
|
|
20
26
|
/** Only set if the key exists. */
|
|
@@ -22,11 +28,13 @@ export declare const KvSetInput: Schema.Struct<{
|
|
|
22
28
|
}>;
|
|
23
29
|
export type KvSetInput = typeof KvSetInput.Type;
|
|
24
30
|
export declare const KvSetResult: Schema.Struct<{
|
|
25
|
-
|
|
31
|
+
success: typeof Schema.Boolean;
|
|
32
|
+
created: Schema.optional<typeof Schema.Boolean>;
|
|
26
33
|
}>;
|
|
27
34
|
export type KvSetResult = typeof KvSetResult.Type;
|
|
28
35
|
export declare const KvGetResult: Schema.Struct<{
|
|
29
36
|
value: Schema.NullOr<typeof Schema.Unknown>;
|
|
37
|
+
ttl: Schema.NullOr<typeof Schema.Number>;
|
|
30
38
|
}>;
|
|
31
39
|
export type KvGetResult = typeof KvGetResult.Type;
|
|
32
40
|
export declare const KvDeleteResult: Schema.Struct<{
|
|
@@ -52,9 +60,9 @@ export declare const KvExpireInput: Schema.Struct<{
|
|
|
52
60
|
}>;
|
|
53
61
|
export type KvExpireInput = typeof KvExpireInput.Type;
|
|
54
62
|
export declare const KvRateLimitInput: Schema.Struct<{
|
|
55
|
-
|
|
63
|
+
key: typeof Schema.String;
|
|
56
64
|
limit: typeof Schema.Number;
|
|
57
|
-
window: typeof Schema.
|
|
65
|
+
window: typeof Schema.String;
|
|
58
66
|
}>;
|
|
59
67
|
export type KvRateLimitInput = typeof KvRateLimitInput.Type;
|
|
60
68
|
export declare const KvRateLimitResult: Schema.Struct<{
|
package/dist/schemas/kv.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv.d.ts","sourceRoot":"","sources":["../../src/schemas/kv.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,oFAAoF;AACpF,eAAO,MAAM,KAAK,4DAAiE,CAAA;AACnF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAErC,0DAA0D;AAC1D,eAAO,MAAM,OAAO,uBAAiB,CAAA;AACrC,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,eAAO,MAAM,UAAU;;;IAGtB,2BAA2B;;IAE3B,0CAA0C;;IAE1C,kCAAkC;;EAEjC,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"kv.d.ts","sourceRoot":"","sources":["../../src/schemas/kv.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,oFAAoF;AACpF,eAAO,MAAM,KAAK,4DAAiE,CAAA;AACnF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAA;AAErC,0DAA0D;AAC1D,eAAO,MAAM,OAAO,uBAAiB,CAAA;AACrC,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,eAAO,MAAM,UAAU;;;IAGtB,2BAA2B;;IAE3B,gCAAgC;;IAEhC,6DAA6D;;IAE7D,kEAAkE;;IAElE,0CAA0C;;IAE1C,kCAAkC;;EAEjC,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,WAAW;;;EAGtB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,WAAW;;;EAGtB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,cAAc;;EAA4C,CAAA;AACvE,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,cAAc;;EAA4C,CAAA;AACvE,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,WAAW;;;EAGtB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,YAAY;;EAA0C,CAAA;AACnE,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD,eAAO,MAAM,aAAa;;;EAGxB,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD,eAAO,MAAM,gBAAgB;;;;EAI3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,iBAAiB;;;;;EAK5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D,eAAO,MAAM,WAAW;;;;EAItB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,YAAY;;;;EAIvB,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA"}
|
package/dist/schemas/kv.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* KV — BaaS plane primitives. Mirrors `@sylphx/sdk` `kv.ts` public surface.
|
|
3
3
|
*
|
|
4
|
-
* Paths upstream: `/
|
|
4
|
+
* Paths upstream: `/kv/*` on `<your-app>.api.sylphx.com`.
|
|
5
5
|
*/
|
|
6
6
|
import { Schema } from 'effect';
|
|
7
7
|
/** Opaque per-app key. Namespaced server-side, so any non-empty string is legal. */
|
|
@@ -13,13 +13,25 @@ export const KvSetInput = Schema.Struct({
|
|
|
13
13
|
value: KvValue,
|
|
14
14
|
/** Expire in N seconds. */
|
|
15
15
|
ex: Schema.optional(Schema.Number),
|
|
16
|
+
/** Expire in N milliseconds. */
|
|
17
|
+
px: Schema.optional(Schema.Number),
|
|
18
|
+
/** Unix timestamp (seconds) at which the key will expire. */
|
|
19
|
+
exat: Schema.optional(Schema.Number),
|
|
20
|
+
/** Unix timestamp (milliseconds) at which the key will expire. */
|
|
21
|
+
pxat: Schema.optional(Schema.Number),
|
|
16
22
|
/** Only set if the key does not exist. */
|
|
17
23
|
nx: Schema.optional(Schema.Boolean),
|
|
18
24
|
/** Only set if the key exists. */
|
|
19
25
|
xx: Schema.optional(Schema.Boolean),
|
|
20
26
|
});
|
|
21
|
-
export const KvSetResult = Schema.Struct({
|
|
22
|
-
|
|
27
|
+
export const KvSetResult = Schema.Struct({
|
|
28
|
+
success: Schema.Boolean,
|
|
29
|
+
created: Schema.optional(Schema.Boolean),
|
|
30
|
+
});
|
|
31
|
+
export const KvGetResult = Schema.Struct({
|
|
32
|
+
value: Schema.NullOr(KvValue),
|
|
33
|
+
ttl: Schema.NullOr(Schema.Number),
|
|
34
|
+
});
|
|
23
35
|
export const KvDeleteResult = Schema.Struct({ deleted: Schema.Number });
|
|
24
36
|
export const KvExistsResult = Schema.Struct({ exists: Schema.Boolean });
|
|
25
37
|
export const KvIncrInput = Schema.Struct({
|
|
@@ -32,9 +44,9 @@ export const KvExpireInput = Schema.Struct({
|
|
|
32
44
|
seconds: Schema.Number,
|
|
33
45
|
});
|
|
34
46
|
export const KvRateLimitInput = Schema.Struct({
|
|
35
|
-
|
|
47
|
+
key: Schema.String,
|
|
36
48
|
limit: Schema.Number,
|
|
37
|
-
window: Schema.
|
|
49
|
+
window: Schema.String,
|
|
38
50
|
});
|
|
39
51
|
export const KvRateLimitResult = Schema.Struct({
|
|
40
52
|
success: Schema.Boolean,
|
|
@@ -53,6 +53,7 @@ export type UnregisterPushResult = typeof UnregisterPushResult.Type;
|
|
|
53
53
|
*
|
|
54
54
|
* Superset of two historical shapes (ADR-084 Wave 2d):
|
|
55
55
|
*
|
|
56
|
+
* - Runtime aggregate: `{ sent, failed, platforms }`
|
|
56
57
|
* - SDK-historical counter: `{ sentTo: number, expired: number }`
|
|
57
58
|
* - Contract-v1 discriminated union: `{ status: 'delivered'|'queued',
|
|
58
59
|
* messageId } | { status: 'failed', reason }`
|
|
@@ -69,6 +70,16 @@ export declare const PushDeliveryResult: Schema.Struct<{
|
|
|
69
70
|
messageId: Schema.optional<typeof Schema.String>;
|
|
70
71
|
/** Human-readable failure reason — present on `failed`. */
|
|
71
72
|
reason: Schema.optional<typeof Schema.String>;
|
|
73
|
+
/** Canonical aggregate delivery count from the runtime API. */
|
|
74
|
+
sent: Schema.optional<typeof Schema.Number>;
|
|
75
|
+
/** Canonical aggregate failure count from the runtime API. */
|
|
76
|
+
failed: Schema.optional<typeof Schema.Number>;
|
|
77
|
+
/** Canonical per-platform success breakdown from the runtime API. */
|
|
78
|
+
platforms: Schema.optional<Schema.Struct<{
|
|
79
|
+
web: Schema.optional<typeof Schema.Number>;
|
|
80
|
+
ios: Schema.optional<typeof Schema.Number>;
|
|
81
|
+
android: Schema.optional<typeof Schema.Number>;
|
|
82
|
+
}>>;
|
|
72
83
|
/** Count of subscriptions the push was delivered to (SDK counter). */
|
|
73
84
|
sentTo: Schema.optional<typeof Schema.Number>;
|
|
74
85
|
/** Count of subscriptions that were pruned as expired (SDK counter). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/schemas/notifications.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,eAAO,MAAM,oBAAoB;;;EAG/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAEnE,eAAO,MAAM,gBAAgB;;;;;;EAG3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,iBAAiB;;;;;;;;;;EAI5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;EAG7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAA;AAE/D,eAAO,MAAM,mBAAmB;;;EAG9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE,eAAO,MAAM,oBAAoB;;EAE/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAEnE
|
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/schemas/notifications.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ export const UnregisterPushResult = Schema.Struct({
|
|
|
38
38
|
*
|
|
39
39
|
* Superset of two historical shapes (ADR-084 Wave 2d):
|
|
40
40
|
*
|
|
41
|
+
* - Runtime aggregate: `{ sent, failed, platforms }`
|
|
41
42
|
* - SDK-historical counter: `{ sentTo: number, expired: number }`
|
|
42
43
|
* - Contract-v1 discriminated union: `{ status: 'delivered'|'queued',
|
|
43
44
|
* messageId } | { status: 'failed', reason }`
|
|
@@ -54,6 +55,16 @@ export const PushDeliveryResult = Schema.Struct({
|
|
|
54
55
|
messageId: Schema.optional(Schema.String),
|
|
55
56
|
/** Human-readable failure reason — present on `failed`. */
|
|
56
57
|
reason: Schema.optional(Schema.String),
|
|
58
|
+
/** Canonical aggregate delivery count from the runtime API. */
|
|
59
|
+
sent: Schema.optional(Schema.Number),
|
|
60
|
+
/** Canonical aggregate failure count from the runtime API. */
|
|
61
|
+
failed: Schema.optional(Schema.Number),
|
|
62
|
+
/** Canonical per-platform success breakdown from the runtime API. */
|
|
63
|
+
platforms: Schema.optional(Schema.Struct({
|
|
64
|
+
web: Schema.optional(Schema.Number),
|
|
65
|
+
ios: Schema.optional(Schema.Number),
|
|
66
|
+
android: Schema.optional(Schema.Number),
|
|
67
|
+
})),
|
|
57
68
|
/** Count of subscriptions the push was delivered to (SDK counter). */
|
|
58
69
|
sentTo: Schema.optional(Schema.Number),
|
|
59
70
|
/** Count of subscriptions that were pruned as expired (SDK counter). */
|