@sockethub/schemas 3.0.0-alpha.23 → 3.0.0-alpha.25

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.
@@ -1,6 +1,6 @@
1
1
  {
2
- "schemaVersion": "3.0.0-alpha.23",
3
- "generatedAt": "2026-08-26T08:04:17.382Z",
2
+ "schemaVersion": "3.0.0-alpha.25",
3
+ "generatedAt": "2026-09-21T13:18:46.097Z",
4
4
  "contextToPlatformId": {
5
5
  "https://sockethub.org/ns/context/platform/caldav/v1.jsonld": "caldav",
6
6
  "https://sockethub.org/ns/context/platform/carddav/v1.jsonld": "carddav",
@@ -1,39 +1,3 @@
1
- import { createRequire } from "node:module";
2
- var __create = Object.create;
3
- var __getProtoOf = Object.getPrototypeOf;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- function __accessProp(key) {
8
- return this[key];
9
- }
10
- var __toESMCache_node;
11
- var __toESMCache_esm;
12
- var __toESM = (mod, isNodeMode, target) => {
13
- var canCache = mod != null && typeof mod === "object";
14
- if (canCache) {
15
- var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
16
- var cached = cache.get(mod);
17
- if (cached)
18
- return cached;
19
- }
20
- target = mod != null ? __create(__getProtoOf(mod)) : {};
21
- const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
22
- if (mod && typeof mod === "object" || typeof mod === "function") {
23
- for (let key of __getOwnPropNames(mod))
24
- if (!__hasOwnProp.call(to, key))
25
- __defProp(to, key, {
26
- get: __accessProp.bind(mod, key),
27
- enumerable: true
28
- });
29
- }
30
- if (canCache)
31
- cache.set(mod, to);
32
- return to;
33
- };
34
- var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
35
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
36
-
37
1
  // src/helpers/objects.ts
38
2
  var ObjectTypesSchema = {
39
3
  feed: {
@@ -332,4 +296,4 @@ export {
332
296
  ObjectTypesSchema
333
297
  };
334
298
 
335
- //# debugId=6BC7E000C3C7FA9864756E2164756E21
299
+ //# debugId=25E0C4DC556BC56D64756E2164756E21
@@ -6,7 +6,7 @@
6
6
  "import type { ActivityStream, JsonLdContext } from \"./types.js\";\n\n/**\n * Canonical AS2 base vocabulary URL.\n */\nexport const AS2_BASE_CONTEXT_URL = \"https://www.w3.org/ns/activitystreams\";\n\n/**\n * Sockethub base vocabulary URL for shared platform terms.\n */\nexport const SOCKETHUB_BASE_CONTEXT_URL =\n \"https://sockethub.org/ns/context/v1.jsonld\";\n\n/**\n * URL prefix for per-platform context URLs.\n */\nexport const PLATFORM_CONTEXT_PREFIX =\n \"https://sockethub.org/ns/context/platform/\";\n\n/**\n * Built-in pseudo-platform used for server-side error payloads.\n */\nexport const ERROR_PLATFORM_ID = \"error\";\nexport const ERROR_PLATFORM_CONTEXT_URL =\n \"https://sockethub.org/ns/context/platform/error/v1.jsonld\";\n\n/**\n * Built-in pseudo-platform used for internal control messages.\n */\nexport const INTERNAL_PLATFORM_ID = \"sockethub:internal\";\nexport const INTERNAL_PLATFORM_CONTEXT_URL =\n \"https://sockethub.org/ns/context/platform/sockethub:internal/v1.jsonld\";\n\nconst platformContextToPlatformId = new Map<string, string>();\nconst platformContextToSchemaId = new Map<string, string>();\nconst platformContextToCredentialsSchemaId = new Map<string, string>();\n\n/**\n * Build the canonical Sockethub @context array from a platform id or full context URL.\n */\nexport function buildCanonicalContext(platform: string): JsonLdContext {\n const platformUrl = platform.startsWith(\"https://\")\n ? platform\n : `${PLATFORM_CONTEXT_PREFIX}${platform}/v1.jsonld`;\n return [AS2_BASE_CONTEXT_URL, SOCKETHUB_BASE_CONTEXT_URL, platformUrl];\n}\n\n/**\n * Extract the platform ID from a canonical @context array.\n */\nexport function platformIdFromContext(\n context: string[] | unknown,\n): string | undefined {\n if (!Array.isArray(context)) {\n return undefined;\n }\n for (const entry of context) {\n if (\n typeof entry === \"string\" &&\n entry.startsWith(PLATFORM_CONTEXT_PREFIX)\n ) {\n const rest = entry.slice(PLATFORM_CONTEXT_PREFIX.length);\n const slashIdx = rest.indexOf(\"/\");\n if (slashIdx > 0) {\n return rest.slice(0, slashIdx);\n }\n }\n }\n return undefined;\n}\n\n/**\n * Normalize unknown @context input into a string-only array.\n */\nfunction normalizeContextArray(value: unknown): Array<string> {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.filter((entry): entry is string => typeof entry === \"string\");\n}\n\n/**\n * Get a normalized @context array from an activity stream.\n */\nexport function getContextArray(msg: ActivityStream): Array<string> {\n return normalizeContextArray(msg[\"@context\"]);\n}\n\n/**\n * Register a platform context URL and its schema IDs for runtime resolution.\n */\nexport function registerPlatformContext(\n platformId: string,\n platformContextUrl: string,\n schemaId: string,\n credentialsSchemaId: string,\n) {\n platformContextToPlatformId.set(platformContextUrl, platformId);\n platformContextToSchemaId.set(platformContextUrl, schemaId);\n platformContextToCredentialsSchemaId.set(\n platformContextUrl,\n credentialsSchemaId,\n );\n}\n\n/**\n * Resolve the single registered platform context URL from a message.\n * Returns null when there are zero or multiple registered platform contexts.\n */\nexport function resolvePlatformContextUrl(msg: ActivityStream): string | null {\n const contexts = getContextArray(msg);\n const matches = contexts.filter((contextUrl) =>\n platformContextToPlatformId.has(contextUrl),\n );\n if (matches.length !== 1) {\n return null;\n }\n return matches[0];\n}\n\n/**\n * Resolve a platform ID from a platform context URL.\n */\nexport function getPlatformIdByContextUrl(\n platformContextUrl: string,\n): string | undefined {\n return platformContextToPlatformId.get(platformContextUrl);\n}\n\n/**\n * Resolve a message schema ID from a platform context URL.\n */\nexport function getSchemaIdByContextUrl(\n platformContextUrl: string,\n): string | undefined {\n return platformContextToSchemaId.get(platformContextUrl);\n}\n\n/**\n * Resolve a credentials schema ID from a platform context URL.\n */\nexport function getCredentialsSchemaIdByContextUrl(\n platformContextUrl: string,\n): string | undefined {\n return platformContextToCredentialsSchemaId.get(platformContextUrl);\n}\n",
7
7
  "import {\n AS2_BASE_CONTEXT_URL,\n SOCKETHUB_BASE_CONTEXT_URL,\n} from \"../context.js\";\nimport {\n ObjectTypesSchema,\n validActorRefs,\n validTargetRefs,\n} from \"../helpers/objects.js\";\n\nconst contextSchema = {\n type: \"array\",\n minItems: 3,\n maxItems: 3,\n items: {\n type: \"string\",\n },\n allOf: [\n {\n contains: {\n const: AS2_BASE_CONTEXT_URL,\n },\n },\n {\n contains: {\n const: SOCKETHUB_BASE_CONTEXT_URL,\n },\n },\n ],\n};\nconst typeSchema = {\n type: \"string\",\n};\n\nexport const ActivityStreamSchema = {\n $id: \"https://sockethub.org/schemas/v/activity-stream.json\",\n description: \"Schema for Sockethub Activity Streams\",\n\n type: \"object\",\n required: [\"@context\", \"type\", \"actor\"],\n // Reject unknown top-level message properties. Inbound messages carry only\n // the properties below; `error`/`sessionSecret` are added server-side after\n // validation, so they never reach this schema.\n additionalProperties: false,\n properties: {\n \"@context\": contextSchema,\n id: {\n type: \"string\",\n },\n type: typeSchema,\n actor: {\n type: \"object\",\n oneOf: validActorRefs,\n },\n target: {\n type: \"object\",\n oneOf: validTargetRefs,\n },\n // Object shape is validated per-platform by each platform's `messages`\n // (inbound) and `responses` (outbound) schemas, which own their object\n // vocabulary. The base envelope only requires it to be an object.\n object: {\n type: \"object\",\n },\n published: {\n type: \"string\",\n format: \"date-time\",\n },\n },\n\n definitions: {\n type: ObjectTypesSchema,\n },\n};\n"
8
8
  ],
9
- "mappings": "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",
10
- "debugId": "6BC7E000C3C7FA9864756E2164756E21",
9
+ "mappings": "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",
10
+ "debugId": "25E0C4DC556BC56D64756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -11,6 +11,10 @@ export interface ExamplesConfig {
11
11
  path: string;
12
12
  };
13
13
  platforms?: string[];
14
+ httpActions?: {
15
+ enabled: boolean;
16
+ path: string;
17
+ };
14
18
  }
15
19
  export declare const ExamplesConfigSchema: {
16
20
  readonly $id: "https://sockethub.org/schemas/v/examples-config.json";
@@ -64,5 +68,18 @@ export declare const ExamplesConfigSchema: {
64
68
  readonly type: "string";
65
69
  };
66
70
  };
71
+ readonly httpActions: {
72
+ readonly type: "object";
73
+ readonly required: readonly ["enabled", "path"];
74
+ readonly additionalProperties: false;
75
+ readonly properties: {
76
+ readonly enabled: {
77
+ readonly type: "boolean";
78
+ };
79
+ readonly path: {
80
+ readonly type: "string";
81
+ };
82
+ };
83
+ };
67
84
  };
68
85
  };
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://sockethub.org/schemas/3.0.0-alpha.23/activity-stream.json",
2
+ "$id": "https://sockethub.org/schemas/3.0.0-alpha.25/activity-stream.json",
3
3
  "description": "Schema for Sockethub Activity Streams",
4
4
  "type": "object",
5
5
  "required": [
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://sockethub.org/schemas/3.0.0-alpha.23/examples-config.json",
2
+ "$id": "https://sockethub.org/schemas/3.0.0-alpha.25/examples-config.json",
3
3
  "description": "Sockethub examples runtime configuration",
4
4
  "type": "object",
5
5
  "required": [
@@ -61,6 +61,22 @@
61
61
  "items": {
62
62
  "type": "string"
63
63
  }
64
+ },
65
+ "httpActions": {
66
+ "type": "object",
67
+ "required": [
68
+ "enabled",
69
+ "path"
70
+ ],
71
+ "additionalProperties": false,
72
+ "properties": {
73
+ "enabled": {
74
+ "type": "boolean"
75
+ },
76
+ "path": {
77
+ "type": "string"
78
+ }
79
+ }
64
80
  }
65
81
  }
66
82
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://sockethub.org/schemas/3.0.0-alpha.23/platform.json",
2
+ "$id": "https://sockethub.org/schemas/3.0.0-alpha.25/platform.json",
3
3
  "type": "object",
4
4
  "required": [
5
5
  "name",
@@ -0,0 +1,41 @@
1
+ {
2
+ "$id": "https://sockethub.org/schemas/3.0.0-alpha.25/service-descriptor.json",
3
+ "description": "Sockethub HTTP actions service descriptor",
4
+ "type": "object",
5
+ "required": [
6
+ "name",
7
+ "apiVersion",
8
+ "platforms"
9
+ ],
10
+ "additionalProperties": true,
11
+ "properties": {
12
+ "name": {
13
+ "const": "sockethub"
14
+ },
15
+ "apiVersion": {
16
+ "type": "integer",
17
+ "minimum": 0
18
+ },
19
+ "platforms": {
20
+ "type": "array",
21
+ "items": {
22
+ "type": "object",
23
+ "required": [
24
+ "id",
25
+ "apiVersion"
26
+ ],
27
+ "additionalProperties": true,
28
+ "properties": {
29
+ "id": {
30
+ "type": "string",
31
+ "minLength": 1
32
+ },
33
+ "apiVersion": {
34
+ "type": "integer",
35
+ "minimum": 0
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://sockethub.org/schemas/3.0.0-alpha.23/sockethub-config.json",
2
+ "$id": "https://sockethub.org/schemas/3.0.0-alpha.25/sockethub-config.json",
3
3
  "description": "Sockethub Config Schema",
4
4
  "type": "object",
5
5
  "required": [
@@ -30,6 +30,30 @@
30
30
  "$ref": "#/definitions/objectTypes/attendance"
31
31
  }
32
32
  ]
33
+ },
34
+ "target": {
35
+ "type": "object",
36
+ "if": {
37
+ "required": [
38
+ "type"
39
+ ],
40
+ "properties": {
41
+ "type": {
42
+ "const": "room"
43
+ }
44
+ }
45
+ },
46
+ "then": {
47
+ "required": [
48
+ "id"
49
+ ],
50
+ "properties": {
51
+ "id": {
52
+ "type": "string",
53
+ "pattern": "^#[^\\s]+@[^\\s@]+$"
54
+ }
55
+ }
56
+ }
33
57
  }
34
58
  },
35
59
  "definitions": {
@@ -0,0 +1,47 @@
1
+ /**
2
+ * The public service descriptor served on a bare GET of the HTTP actions
3
+ * path. It carries API versions only (the SemVer major of the server package
4
+ * and of each platform package), never exact package versions.
5
+ */
6
+ export interface ServiceDescriptor {
7
+ name: "sockethub";
8
+ apiVersion: number;
9
+ platforms: Array<{
10
+ id: string;
11
+ apiVersion: number;
12
+ }>;
13
+ }
14
+ export declare const ServiceDescriptorSchema: {
15
+ readonly $id: "https://sockethub.org/schemas/v/service-descriptor.json";
16
+ readonly description: "Sockethub HTTP actions service descriptor";
17
+ readonly type: "object";
18
+ readonly required: readonly ["name", "apiVersion", "platforms"];
19
+ readonly additionalProperties: true;
20
+ readonly properties: {
21
+ readonly name: {
22
+ readonly const: "sockethub";
23
+ };
24
+ readonly apiVersion: {
25
+ readonly type: "integer";
26
+ readonly minimum: 0;
27
+ };
28
+ readonly platforms: {
29
+ readonly type: "array";
30
+ readonly items: {
31
+ readonly type: "object";
32
+ readonly required: readonly ["id", "apiVersion"];
33
+ readonly additionalProperties: true;
34
+ readonly properties: {
35
+ readonly id: {
36
+ readonly type: "string";
37
+ readonly minLength: 1;
38
+ };
39
+ readonly apiVersion: {
40
+ readonly type: "integer";
41
+ readonly minimum: 0;
42
+ };
43
+ };
44
+ };
45
+ };
46
+ };
47
+ };
@@ -0,0 +1,4 @@
1
+ import { type ServiceDescriptor, ServiceDescriptorSchema } from "./schemas/service-descriptor.js";
2
+ export declare function validateServiceDescriptor(descriptor: unknown): descriptor is ServiceDescriptor;
3
+ export { ServiceDescriptorSchema };
4
+ export type { ServiceDescriptor };