mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 15:08:25 +00:00
Gateway: add APNs push test pipeline (#20307)
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 6a1c442207
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com>
Reviewed-by: @mbelinky
This commit is contained in:
@@ -157,6 +157,9 @@ import {
|
||||
type PollParams,
|
||||
PollParamsSchema,
|
||||
PROTOCOL_VERSION,
|
||||
type PushTestParams,
|
||||
PushTestParamsSchema,
|
||||
PushTestResultSchema,
|
||||
type PresenceEntry,
|
||||
PresenceEntrySchema,
|
||||
ProtocolSchemas,
|
||||
@@ -277,6 +280,7 @@ export const validateNodeInvokeResultParams = ajv.compile<NodeInvokeResultParams
|
||||
NodeInvokeResultParamsSchema,
|
||||
);
|
||||
export const validateNodeEventParams = ajv.compile<NodeEventParams>(NodeEventParamsSchema);
|
||||
export const validatePushTestParams = ajv.compile<PushTestParams>(PushTestParamsSchema);
|
||||
export const validateSessionsListParams = ajv.compile<SessionsListParams>(SessionsListParamsSchema);
|
||||
export const validateSessionsPreviewParams = ajv.compile<SessionsPreviewParams>(
|
||||
SessionsPreviewParamsSchema,
|
||||
@@ -428,6 +432,8 @@ export {
|
||||
AgentIdentityParamsSchema,
|
||||
AgentIdentityResultSchema,
|
||||
WakeParamsSchema,
|
||||
PushTestParamsSchema,
|
||||
PushTestResultSchema,
|
||||
NodePairRequestParamsSchema,
|
||||
NodePairListParamsSchema,
|
||||
NodePairApproveParamsSchema,
|
||||
|
||||
@@ -10,6 +10,7 @@ export * from "./schema/frames.js";
|
||||
export * from "./schema/logs-chat.js";
|
||||
export * from "./schema/nodes.js";
|
||||
export * from "./schema/protocol-schemas.js";
|
||||
export * from "./schema/push.js";
|
||||
export * from "./schema/sessions.js";
|
||||
export * from "./schema/snapshot.js";
|
||||
export * from "./schema/types.js";
|
||||
|
||||
@@ -118,6 +118,7 @@ import {
|
||||
NodePairVerifyParamsSchema,
|
||||
NodeRenameParamsSchema,
|
||||
} from "./nodes.js";
|
||||
import { PushTestParamsSchema, PushTestResultSchema } from "./push.js";
|
||||
import {
|
||||
SessionsCompactParamsSchema,
|
||||
SessionsDeleteParamsSchema,
|
||||
@@ -171,6 +172,8 @@ export const ProtocolSchemas: Record<string, TSchema> = {
|
||||
NodeInvokeResultParams: NodeInvokeResultParamsSchema,
|
||||
NodeEventParams: NodeEventParamsSchema,
|
||||
NodeInvokeRequestEvent: NodeInvokeRequestEventSchema,
|
||||
PushTestParams: PushTestParamsSchema,
|
||||
PushTestResult: PushTestResultSchema,
|
||||
SessionsListParams: SessionsListParamsSchema,
|
||||
SessionsPreviewParams: SessionsPreviewParamsSchema,
|
||||
SessionsResolveParams: SessionsResolveParamsSchema,
|
||||
|
||||
27
src/gateway/protocol/schema/push.ts
Normal file
27
src/gateway/protocol/schema/push.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { Type } from "@sinclair/typebox";
|
||||
import { NonEmptyString } from "./primitives.js";
|
||||
|
||||
const ApnsEnvironmentSchema = Type.String({ enum: ["sandbox", "production"] });
|
||||
|
||||
export const PushTestParamsSchema = Type.Object(
|
||||
{
|
||||
nodeId: NonEmptyString,
|
||||
title: Type.Optional(Type.String()),
|
||||
body: Type.Optional(Type.String()),
|
||||
environment: Type.Optional(ApnsEnvironmentSchema),
|
||||
},
|
||||
{ additionalProperties: false },
|
||||
);
|
||||
|
||||
export const PushTestResultSchema = Type.Object(
|
||||
{
|
||||
ok: Type.Boolean(),
|
||||
status: Type.Integer(),
|
||||
apnsId: Type.Optional(Type.String()),
|
||||
reason: Type.Optional(Type.String()),
|
||||
tokenSuffix: Type.String(),
|
||||
topic: Type.String(),
|
||||
environment: ApnsEnvironmentSchema,
|
||||
},
|
||||
{ additionalProperties: false },
|
||||
);
|
||||
@@ -111,6 +111,7 @@ import type {
|
||||
NodePairVerifyParamsSchema,
|
||||
NodeRenameParamsSchema,
|
||||
} from "./nodes.js";
|
||||
import type { PushTestParamsSchema, PushTestResultSchema } from "./push.js";
|
||||
import type {
|
||||
SessionsCompactParamsSchema,
|
||||
SessionsDeleteParamsSchema,
|
||||
@@ -160,6 +161,8 @@ export type NodeDescribeParams = Static<typeof NodeDescribeParamsSchema>;
|
||||
export type NodeInvokeParams = Static<typeof NodeInvokeParamsSchema>;
|
||||
export type NodeInvokeResultParams = Static<typeof NodeInvokeResultParamsSchema>;
|
||||
export type NodeEventParams = Static<typeof NodeEventParamsSchema>;
|
||||
export type PushTestParams = Static<typeof PushTestParamsSchema>;
|
||||
export type PushTestResult = Static<typeof PushTestResultSchema>;
|
||||
export type SessionsListParams = Static<typeof SessionsListParamsSchema>;
|
||||
export type SessionsPreviewParams = Static<typeof SessionsPreviewParamsSchema>;
|
||||
export type SessionsResolveParams = Static<typeof SessionsResolveParamsSchema>;
|
||||
|
||||
Reference in New Issue
Block a user