@camstack/types 1.2.435 → 1.2.437

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.
@@ -974,6 +974,8 @@ export interface IAdminUI {
974
974
  * This is the SINGLE SOURCE OF TRUTH for addon identity and metadata.
975
975
  * Addon classes no longer declare a `manifest` property.
976
976
  */
977
+ /** The two blocks of the admin Integrations page. */
978
+ export type IntegrationSection = 'system' | 'providers';
977
979
  export interface AddonDeclaration {
978
980
  readonly id: string;
979
981
  /** JS entry point relative to package root (e.g., "./dist/addon.js") */
@@ -1036,6 +1038,12 @@ export interface AddonDeclaration {
1036
1038
  readonly supportsLocationImport?: boolean;
1037
1039
  /** Whether this addon is protected (required by the system, cannot be uninstalled) */
1038
1040
  readonly protected?: boolean;
1041
+ /**
1042
+ * Which block of the admin Integrations page this addon's integrations land in.
1043
+ * Declared per addon ENTRY (one package can host several addons). Absent: `system`
1044
+ * for an addon shipped in a framework package, `providers` otherwise.
1045
+ */
1046
+ readonly integrationSection?: IntegrationSection;
1039
1047
  /**
1040
1048
  * Group-runner execution model.
1041
1049
  *
package/dist/node.js CHANGED
@@ -21,7 +21,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  enumerable: true
22
22
  }) : target, mod));
23
23
  //#endregion
24
- const require_composition = require("./composition-BZf_gqG7.js");
24
+ const require_composition = require("./composition-WNkEpwkF.js");
25
25
  const require_err_msg = require("./err-msg-U7lLUMNz.js");
26
26
  let node_crypto = require("node:crypto");
27
27
  let node_fs = require("node:fs");
package/dist/node.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { F as compositionSourceKey, Fn as FFMPEG_RELEASE, In as getFfmpegArtifact, Ln as getFfmpegDownloadUrl, Mn as FFMPEG_PATH_ENV, Nn as chooseFfmpegBinary, Pn as ffmpegBinaryName, Rn as canonicalHash, Un as buildFfmpegArgs, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, qn as isSoftwareDecode, zn as Fmp4BoxSplitter } from "./composition-CZImLpOI.mjs";
1
+ import { F as compositionSourceKey, Fn as FFMPEG_RELEASE, In as getFfmpegArtifact, Ln as getFfmpegDownloadUrl, Mn as FFMPEG_PATH_ENV, Nn as chooseFfmpegBinary, Pn as ffmpegBinaryName, Rn as canonicalHash, Un as buildFfmpegArgs, a as CUSTOMIZATION_BLOCK_NAME_PREFIX, qn as isSoftwareDecode, zn as Fmp4BoxSplitter } from "./composition-DwA0uVW5.mjs";
2
2
  import { t as errMsg } from "./err-msg-DIorGYeC.mjs";
3
3
  import { createHash, createHmac, randomUUID, timingSafeEqual } from "node:crypto";
4
4
  import * as fs from "node:fs";
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Delivery parameters a notifier kind declares and a rule target carries (D938).
3
+ *
4
+ * Pure, shared by the dispatcher (what reaches `send`) and the rule editor
5
+ * (what it offers), so the two cannot disagree about which keys exist.
6
+ */
7
+ import type { DeliveryParam, DeliveryParamValue } from '../capabilities/notification-output.cap.js';
8
+ /**
9
+ * The values a rule target's `params` contribute for a kind: only declared
10
+ * keys, only valid values. `undefined` when nothing survives — a notifier that
11
+ * declared nothing is never handed a `delivery` block.
12
+ */
13
+ export declare function resolveDeliveryParams(declared: readonly DeliveryParam[] | undefined, params: Readonly<Record<string, unknown>> | undefined): Record<string, DeliveryParamValue> | undefined;
14
+ /** The union of several kinds' declarations; the first declaration of a key wins. */
15
+ export declare function deliveryParamsDeclaredBy(perKind: readonly (readonly DeliveryParam[] | undefined)[]): readonly DeliveryParam[];
@@ -1,3 +1,3 @@
1
1
  export { VendorLoginProxy, type LoginProxyAttemptSpec, type LoginProxyResponseView, type LoginProxyVerdict, type VendorLoginProxyOptions, } from './login-proxy.js';
2
- export { rewriteBody, rewriteLocation, rewriteReferer, rewriteSetCookie, type LoginProxyRoute, type LoginProxyScheme, type LoginProxyUpstream, } from './url-rewrite.js';
2
+ export { rewriteBody, rewriteLocation, rewriteReferer, rewriteFormBody, rewriteSetCookie, rewriteSetCookies, type LoginProxyRoute, type LoginProxyScheme, type LoginProxyUpstream, } from './url-rewrite.js';
3
3
  export { VENDOR_LOGIN_PROXY_PREFIX } from './prefix.js';
@@ -59,10 +59,24 @@ export declare function rewriteBody(body: string, kind: BodyKind, currentUpstrea
59
59
  * origin), `Path` narrowed to this attempt's prefix, `Secure` kept (the hub is HTTPS).
60
60
  */
61
61
  export declare function rewriteSetCookie(cookie: string, route: LoginProxyRoute): string;
62
+ /**
63
+ * Every Set-Cookie of one vendor response, rewritten. Dropping `Domain` folds cookies
64
+ * the vendor keeps apart (`session-id` on `.amazon.it` and on `.www.amazon.it`) into
65
+ * one, so a past-dated set that only deleted the other domain's copy would delete the
66
+ * live one the same response just set: that deletion is dropped.
67
+ */
68
+ export declare function rewriteSetCookies(cookies: readonly string[], route: LoginProxyRoute): string[];
62
69
  /**
63
70
  * A browser `Referer` that points into this proxy, turned back into the vendor URL it
64
71
  * stands for. A Referer that is not ours is dropped (null): it names the hub.
65
72
  */
66
73
  export declare function rewriteReferer(referer: string, route: LoginProxyRoute): string | null;
74
+ /**
75
+ * An `application/x-www-form-urlencoded` body whose field VALUES that are proxy URLs of
76
+ * this attempt (absolute or root-relative) are turned back into the vendor URL they stand
77
+ * for — the page's hidden inputs were rewritten on the way out (`rewriteBody`), and the
78
+ * vendor must get its own URL back. Field order and every untouched pair stay byte-identical.
79
+ */
80
+ export declare function rewriteFormBody(body: string, route: LoginProxyRoute): string;
67
81
  /** Cookies the browser holds for the hub itself must never reach a vendor. */
68
82
  export declare function filterForwardedCookies(cookieHeader: string): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/types",
3
- "version": "1.2.435",
3
+ "version": "1.2.437",
4
4
  "description": "Shared types, interfaces, and model catalogs for the CamStack detection ecosystem",
5
5
  "keywords": [
6
6
  "camstack",