@cef-ai/agent-sdk 1.3.0 → 1.4.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.
@@ -20,6 +20,27 @@
20
20
  */
21
21
  /** JSON Schema document; left intentionally loose (consumed verbatim). */
22
22
  export type JSONSchema = Record<string, unknown>;
23
+ /**
24
+ * Declaration of one agent-level tunable parameter (ADR-038 §3.6). Params are
25
+ * **declared** and **bounded** at the agent level; their effective value for a
26
+ * Job is resolved by the orchestrator as `manifest defaults ⊕ deployment ⊕
27
+ * engagement` and surfaced to the agent as `ctx.params`.
28
+ *
29
+ * - `type` fixes the value domain. `"modelAlias"` means the value must be a
30
+ * key of {@link AgentConfig.models} — enforced via `enum` (whose members
31
+ * must be model aliases declared in `models{}`).
32
+ * - `default` is the base value used when neither deployment nor engagement
33
+ * overrides it.
34
+ * - `min` / `max` bound numeric params; `enum` restricts the value to a
35
+ * fixed set (required for `"modelAlias"`).
36
+ */
37
+ export interface ParamDecl {
38
+ type: "number" | "string" | "boolean" | "modelAlias";
39
+ default: unknown;
40
+ min?: number;
41
+ max?: number;
42
+ enum?: unknown[];
43
+ }
23
44
  /**
24
45
  * One row of `targeting.engagements[]` — same shape as the platform's
25
46
  * legacy `Deployment.Engagements[]` selection table. The build step
@@ -81,6 +102,57 @@ export interface CubbyDecl {
81
102
  /** Path (relative to `cef.config.ts`) of a directory of `*.sql` migrations. */
82
103
  migrations?: string;
83
104
  }
105
+ /**
106
+ * Declaration of one **widget** — a self-contained web UI the agent ships
107
+ * alongside its bundle. Each widget is a built, static directory (an entry
108
+ * HTML plus sibling JS/assets, the entry HTML referencing its siblings via
109
+ * `./relative` paths).
110
+ *
111
+ * `cef push` uploads the whole `dir` to DDC as ONE content-addressed
112
+ * **directory DAG** (next to `bundle.js`) and stamps a `{ bucketId, cid }`
113
+ * ref plus the `entry` filename into the manifest. There is NO baked gateway
114
+ * URL: consumers resolve the widget at
115
+ * `<gateway>/<bucketId>/<cid>/<entry>` — the content gateway serves the
116
+ * directory DAG by path, so the entry HTML's relative `./sibling.js` refs
117
+ * resolve under the directory CID.
118
+ *
119
+ * The `dir` must already be **built** by the time `cef push` runs (the
120
+ * agent's own `build:widgets` step, out of scope for the CLI). `cef build`
121
+ * copies whatever is in `dir` into `dist/<agentId>/widgets/<id>/` so `cef
122
+ * push` uploads from `dist`; the CLI does not bake or transform the widget.
123
+ */
124
+ export interface WidgetDecl {
125
+ /** Stable widget id — unique within the agent; used as the dist subdir. */
126
+ id: string;
127
+ /** Human-friendly display name. */
128
+ name?: string;
129
+ /** Free-form description. */
130
+ description?: string;
131
+ /** Cubby alias the widget reads/queries against, when applicable. */
132
+ cubbyAlias?: string;
133
+ /** Widget kind hint for the host (free-form). */
134
+ kind?: string;
135
+ /** Arbitrary widget-specific configuration, carried verbatim. */
136
+ config?: Record<string, unknown>;
137
+ /** Named SQL queries the widget runs against its cubby. */
138
+ queries?: Array<{
139
+ id: string;
140
+ label?: string;
141
+ sql: string;
142
+ timeoutMs?: number;
143
+ }>;
144
+ /** Event types the widget subscribes to. */
145
+ events?: string[];
146
+ /**
147
+ * Path (relative to `cef.config.ts`) of the built, self-contained widget
148
+ * directory: the entry HTML + sibling JS/assets, the entry HTML referencing
149
+ * siblings via `./relative` paths. Uploaded by `cef push` as one
150
+ * content-addressed DDC directory DAG.
151
+ */
152
+ dir: string;
153
+ /** Entry file within `dir`, e.g. `"hiring.html"`. */
154
+ entry: string;
155
+ }
84
156
  export interface AgentConfig {
85
157
  /**
86
158
  * Human-friendly identifier used as the marketplace `alias`. The signed
@@ -95,6 +167,18 @@ export interface AgentConfig {
95
167
  * identifier (rare). Carried verbatim into `manifest.alias`.
96
168
  */
97
169
  alias?: string;
170
+ /**
171
+ * Optional Agent Service pubkey (hex, exactly as shown in ROC) that owns
172
+ * this agent. When set, `cef build` stamps a fully-formed identity into the
173
+ * manifest — `agentServicePubkey` and `agentId` (`<agentServicePubkey>:<alias>`)
174
+ * — instead of leaving them empty for `cef publish` to fill. This is the
175
+ * DEFAULT identity; `cef push --as-pubkey <hex>` (and `cef publish --as-pubkey`)
176
+ * override it at push/publish time. Set it here when the agent is always
177
+ * deployed under one known agent service, so pushed manifests are fully
178
+ * identified (dashboard registry read, vault-api connect) without needing a
179
+ * publish first.
180
+ */
181
+ agentServicePubkey?: string;
98
182
  /**
99
183
  * Optional free-form pointer to where the source lives — git URL, tarball,
100
184
  * CID. Carried verbatim into `manifest.source`.
@@ -135,17 +219,59 @@ export interface AgentConfig {
135
219
  * has its own stable `id` (matching `[a-zA-Z][a-zA-Z0-9_-]*`) and a path
136
220
  * to a TypeScript source file exporting an engagement class as default.
137
221
  * Mutually exclusive with {@link AgentConfig.entry}.
222
+ *
223
+ * Beyond `id`/`entry`, an entry MAY carry the ADR-038 on-declaration
224
+ * engagement-selection fields (`condition` / `priority` / `weight` /
225
+ * `limit` / `params` / `enabled`). These are the config-side mirror of the
226
+ * `@Condition` / `@Priority` / `@Weight` / `@Limit` / `@Params` class
227
+ * decorators; `cef build` folds both into the manifest engagement.
138
228
  */
139
229
  engagements?: Array<{
140
230
  id: string;
141
231
  entry: string;
232
+ /** Human-readable goal (mirrors `@Engagement({ goal })`). */
233
+ goal?: string;
234
+ /**
235
+ * One or more CEL selection expressions (ANDed together, and ANDed with
236
+ * any `@Condition` decorators on the engagement class). ADR-038 §3.3.
237
+ */
238
+ condition?: string | string[];
239
+ /** Per-engagement param VALUES (ADR-038 §3.6). */
240
+ params?: Record<string, unknown>;
241
+ /** Selection priority — lower value = higher priority (ADR-038 §3.3). */
242
+ priority?: number;
243
+ /** Probabilistic split weight within a tier (ADR-038 §3.3). */
244
+ weight?: number;
245
+ /** Rate limit; `per` ∈ `"day"` | `"connection/day"` | `"connection/month"`. */
246
+ limit?: {
247
+ n: number;
248
+ per: string;
249
+ };
250
+ /** When `false`, the engagement is declared but not selectable. */
251
+ enabled?: boolean;
142
252
  }>;
143
253
  /** Reserved for nested multi-bundle configs (Pattern 1). */
144
254
  agents?: AgentConfig[];
145
255
  models?: Record<string, string>;
256
+ /**
257
+ * Agent-level tunable parameters (ADR-038 §3.6). Each entry declares a
258
+ * bounded param; the map is carried into the manifest so the orchestrator
259
+ * can resolve `ctx.params` per Job (`manifest defaults ⊕ deployment ⊕
260
+ * engagement`). `modelAlias`-typed params must enumerate keys of
261
+ * {@link AgentConfig.models}.
262
+ */
263
+ params?: Record<string, ParamDecl>;
146
264
  uses?: Record<string, string>;
147
265
  cubbies?: CubbyDecl[];
148
266
  settings?: SettingDecl[];
267
+ /**
268
+ * Widgets — self-contained static web UIs shipped with the agent. Each is
269
+ * uploaded by `cef push` as one content-addressed DDC directory DAG; the
270
+ * manifest carries `{ bucketId, cid, entry }` per widget and consumers
271
+ * resolve them at `<gateway>/<bucketId>/<cid>/<entry>`. See
272
+ * {@link WidgetDecl}.
273
+ */
274
+ widgets?: WidgetDecl[];
149
275
  fetch?: {
150
276
  allow?: string[];
151
277
  };
@@ -157,6 +283,12 @@ export interface AgentConfig {
157
283
  */
158
284
  eventSchemas?: Record<string, JSONSchema>;
159
285
  /**
286
+ * @deprecated Deprecated (ADR-038): put `priority`/`weight`/`limit` and
287
+ * `condition` on the engagement declaration (see
288
+ * {@link AgentConfig.engagements}); `targeting` is removed in the next
289
+ * major. Kept here for back-compat — the build still emits it verbatim
290
+ * when present, but the on-declaration fields are preferred.
291
+ *
160
292
  * Optional engagement-selection decision table (ADR-019). Pinned to a
161
293
  * Job at creation time; subsequent events for that Job run through the
162
294
  * pinned engagement. When omitted, the build defaults to a single
@@ -1 +1 @@
1
- {"version":3,"file":"define-agent.d.ts","sourceRoot":"","sources":["../../src/config/define-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED,qCAAqC;AACrC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,8BAA8B;AAC9B,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC7B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1C;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,WAAW,EAAE,GAAG,CAAC,KAAG,CAAM,CAAC"}
1
+ {"version":3,"file":"define-agent.d.ts","sourceRoot":"","sources":["../../src/config/define-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-agent.js","sourceRoot":"","sources":["../../src/config/define-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAuJH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAwB,CAAI,EAAK,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"define-agent.js","sourceRoot":"","sources":["../../src/config/define-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAwRH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAwB,CAAI,EAAK,EAAE,CAAC,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { defineAgent } from "./define-agent.js";
2
- export type { AgentCard, AgentConfig, CubbyDecl, JSONSchema, Rule, SettingDecl, Targeting, TargetingEngagement, } from "./define-agent.js";
2
+ export type { AgentCard, AgentConfig, CubbyDecl, JSONSchema, Rule, SettingDecl, Targeting, TargetingEngagement, WidgetDecl, } from "./define-agent.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,UAAU,EACV,IAAI,EACJ,WAAW,EACX,SAAS,EACT,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,UAAU,EACV,IAAI,EACJ,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,UAAU,GACX,MAAM,mBAAmB,CAAC"}
@@ -35,4 +35,33 @@ export declare const OnStart: DualLifecycleDecorator;
35
35
  * Both bare (`@OnClose`) and factory (`@OnClose()`) forms are supported.
36
36
  */
37
37
  export declare const OnClose: DualLifecycleDecorator;
38
+ /**
39
+ * `@Condition(expr)` — attach a CEL selection expression to an engagement
40
+ * (ADR-038 §3.3). REPEATABLE: multiple `@Condition` decorators on the same
41
+ * class push onto `meta.conditions` and are **ANDed** together at selection
42
+ * time. Order does not matter (AND is commutative), so the array order (which
43
+ * follows the bottom-up class-decorator evaluation order) is not significant.
44
+ */
45
+ export declare function Condition(expr: string): ClassDecorator;
46
+ /**
47
+ * `@Priority(n)` — set the engagement's selection priority (ADR-038 §3.3).
48
+ * Lower value = higher priority. Last application wins.
49
+ */
50
+ export declare function Priority(n: number): ClassDecorator;
51
+ /**
52
+ * `@Weight(n)` — set the engagement's probabilistic split weight within a
53
+ * priority tier (ADR-038 §3.3). Last application wins.
54
+ */
55
+ export declare function Weight(n: number): ClassDecorator;
56
+ /**
57
+ * `@Limit(n, per)` — set the engagement's rate limit (ADR-038 §3.3). `per`
58
+ * is one of `"day"`, `"connection/day"`, `"connection/month"`. Last
59
+ * application wins.
60
+ */
61
+ export declare function Limit(n: number, per: string): ClassDecorator;
62
+ /**
63
+ * `@Params(values)` — set per-engagement param VALUES (ADR-038 §3.6). Applied
64
+ * twice, the value maps SHALLOW-MERGE (later application's keys win).
65
+ */
66
+ export declare function Params(values: Record<string, unknown>): ClassDecorator;
38
67
  //# sourceMappingURL=decorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAsBlD;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,eAAe,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC;AAC5F,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;AAevD;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,CAAC;AAoB/E;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,EAAE,sBAAwD,CAAC;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,EAAE,sBAAwD,CAAC"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAsBlD;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,eAAe,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC;AAC5F,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;AAevD;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,CAAC;AAoB/E;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,EAAE,sBAAwD,CAAC;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,EAAE,sBAAwD,CAAC;AAuB/E;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAKtD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAIlD;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAIhD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAI5D;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAKtE"}
@@ -57,4 +57,74 @@ export const OnStart = makeLifecycleDecorator("start");
57
57
  * Both bare (`@OnClose`) and factory (`@OnClose()`) forms are supported.
58
58
  */
59
59
  export const OnClose = makeLifecycleDecorator("close");
60
+ /* -------------------------------------------------------------------------- */
61
+ /* ADR-038 §3.3 — engagement-selection class decorators */
62
+ /* -------------------------------------------------------------------------- */
63
+ /**
64
+ * Resolve (or lazily create) the {@link EngagementMeta} record for a CLASS
65
+ * decorator, where `target` IS the constructor (unlike the method decorators
66
+ * above, which receive the prototype and walk to `target.constructor`). Uses
67
+ * the same lazy-init shape so the slot is shared with `@Engagement` and the
68
+ * method decorators regardless of application order.
69
+ */
70
+ function ensureClassMeta(target) {
71
+ if (!target[ENGAGEMENT_METADATA]) {
72
+ target[ENGAGEMENT_METADATA] = {
73
+ events: {},
74
+ lifecycle: {},
75
+ };
76
+ }
77
+ return target[ENGAGEMENT_METADATA];
78
+ }
79
+ /**
80
+ * `@Condition(expr)` — attach a CEL selection expression to an engagement
81
+ * (ADR-038 §3.3). REPEATABLE: multiple `@Condition` decorators on the same
82
+ * class push onto `meta.conditions` and are **ANDed** together at selection
83
+ * time. Order does not matter (AND is commutative), so the array order (which
84
+ * follows the bottom-up class-decorator evaluation order) is not significant.
85
+ */
86
+ export function Condition(expr) {
87
+ return ((target) => {
88
+ const meta = ensureClassMeta(target);
89
+ (meta.conditions ??= []).push(expr);
90
+ });
91
+ }
92
+ /**
93
+ * `@Priority(n)` — set the engagement's selection priority (ADR-038 §3.3).
94
+ * Lower value = higher priority. Last application wins.
95
+ */
96
+ export function Priority(n) {
97
+ return ((target) => {
98
+ ensureClassMeta(target).priority = n;
99
+ });
100
+ }
101
+ /**
102
+ * `@Weight(n)` — set the engagement's probabilistic split weight within a
103
+ * priority tier (ADR-038 §3.3). Last application wins.
104
+ */
105
+ export function Weight(n) {
106
+ return ((target) => {
107
+ ensureClassMeta(target).weight = n;
108
+ });
109
+ }
110
+ /**
111
+ * `@Limit(n, per)` — set the engagement's rate limit (ADR-038 §3.3). `per`
112
+ * is one of `"day"`, `"connection/day"`, `"connection/month"`. Last
113
+ * application wins.
114
+ */
115
+ export function Limit(n, per) {
116
+ return ((target) => {
117
+ ensureClassMeta(target).limit = { n, per };
118
+ });
119
+ }
120
+ /**
121
+ * `@Params(values)` — set per-engagement param VALUES (ADR-038 §3.6). Applied
122
+ * twice, the value maps SHALLOW-MERGE (later application's keys win).
123
+ */
124
+ export function Params(values) {
125
+ return ((target) => {
126
+ const meta = ensureClassMeta(target);
127
+ meta.params = { ...(meta.params ?? {}), ...values };
128
+ });
129
+ }
60
130
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,cAAc,CAAC;AAGxE;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,MAAW;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,mBAAmB,CAAC,GAAG;YAC1B,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;SACW,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC;AAgBD,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,uEAAuE;YACvE,OAAO,CAAC,IAAI,CACV,8CAA8C,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CACnF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC;AASD,SAAS,sBAAsB,CAAC,KAAwB;IACtD,MAAM,KAAK,GAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC,CAAC;IAOF,SAAS,IAAI,CAAC,GAAG,IAAW;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACpC,OAAQ,KAA8B,CAAC,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAA8B,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAA2B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAA2B,sBAAsB,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { OnEvent, OnStart, OnClose } from "./decorators.js";
1
+ export { OnEvent, OnStart, OnClose, Condition, Priority, Weight, Limit, Params, } from "./decorators.js";
2
2
  export { Engagement } from "./engagement.js";
3
3
  export type { EngagementOptions } from "./engagement.js";
4
4
  export { ENGAGEMENT_METADATA, type EngagementMeta } from "./symbols.js";
5
5
  export type { Context, CubbyHandle, Event, KnownEventTypes, KnownModels, ModelHandle, OnCloseReason, } from "./types.js";
6
- export type { AgentCard, CubbyDecl, JSONSchema, Rule, SettingDecl, Targeting, TargetingEngagement, } from "./config/define-agent.js";
6
+ export type { AgentCard, CubbyDecl, JSONSchema, ParamDecl, Rule, SettingDecl, Targeting, TargetingEngagement, WidgetDecl, } from "./config/define-agent.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACxE,YAAY,EACV,OAAO,EACP,WAAW,EACX,KAAK,EACL,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AAIpB,YAAY,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,IAAI,EACJ,WAAW,EACX,SAAS,EACT,mBAAmB,GACpB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,GACP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACxE,YAAY,EACV,OAAO,EACP,WAAW,EACX,KAAK,EACL,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AAIpB,YAAY,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,IAAI,EACJ,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,UAAU,GACX,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { OnEvent, OnStart, OnClose } from "./decorators.js";
1
+ export { OnEvent, OnStart, OnClose, Condition, Priority, Weight, Limit, Params, } from "./decorators.js";
2
2
  export { Engagement } from "./engagement.js";
3
3
  export { ENGAGEMENT_METADATA } from "./symbols.js";
4
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAuB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,GACP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAuB,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ctx.d.ts","sourceRoot":"","sources":["../../src/runtime/ctx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAA4B,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAkB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAwI9D;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,gBAAgB,EACvB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAM,GACvC,OAAO,CA0DT"}
1
+ {"version":3,"file":"ctx.d.ts","sourceRoot":"","sources":["../../src/runtime/ctx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAA4B,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAkB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAwI9D;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,gBAAgB,EACvB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAM,GACvC,OAAO,CA4DT"}
@@ -138,6 +138,7 @@ export function buildContext(raw, usage, modelRefs = {}) {
138
138
  await postJSON(url, { events: [event] }, headers, "ctx.publish");
139
139
  },
140
140
  settings: Object.freeze({ ...(raw.settings ?? {}) }),
141
+ params: Object.freeze({ ...(raw.params ?? {}) }),
141
142
  async close(reason) {
142
143
  const base = raw.endpoints?.orchestrator;
143
144
  const jobId = raw.correlation?.jobId;
@@ -1 +1 @@
1
- {"version":3,"file":"ctx.js","sourceRoot":"","sources":["../../src/runtime/ctx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ctx.js","sourceRoot":"","sources":["../../src/runtime/ctx.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,17 @@ export interface BuildEngagementMeta {
39
39
  start?: string;
40
40
  close?: string;
41
41
  };
42
+ /** ADR-038 §3.3 on-declaration selection fields, copied from the decorator
43
+ * metadata so `cef build` can fold them into the manifest. All optional. */
44
+ conditions?: string[];
45
+ priority?: number;
46
+ weight?: number;
47
+ limit?: {
48
+ n: number;
49
+ per: string;
50
+ };
51
+ /** Per-engagement param VALUES (ADR-038 §3.6). */
52
+ params?: Record<string, unknown>;
42
53
  }
43
54
  /** Options `cef build` passes alongside the engagement classes. */
44
55
  export interface RegisterOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/runtime/register.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAW1D,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAC;AACjD,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,KAAK,eAAe,GAAG,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAGzD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AA0CD,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC5C,OAAO,GAAE,eAAoB,GAC5B,IAAI,CAyCN"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/runtime/register.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAW1D,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAC7C,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,cAAc,CAAC;AACjD,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,KAAK,eAAe,GAAG,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAGzD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C;iFAC6E;IAC7E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AA0CD,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC5C,OAAO,GAAE,eAAoB,GAC5B,IAAI,CAmDN"}
@@ -122,7 +122,17 @@ export function registerHandlers(engagements, options = {}) {
122
122
  }
123
123
  const events = m.events ?? {};
124
124
  const lifecycle = m.lifecycle ?? {};
125
- meta.push({ id, goal: m.goal, events, lifecycle });
125
+ meta.push({
126
+ id,
127
+ goal: m.goal,
128
+ events,
129
+ lifecycle,
130
+ conditions: m.conditions,
131
+ priority: m.priority,
132
+ weight: m.weight,
133
+ limit: m.limit,
134
+ params: m.params,
135
+ });
126
136
  for (const method of new Set(Object.values(events))) {
127
137
  claim(handlerKey(id, method), `${id}.${method}`, eventHandler(Cls, method));
128
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/runtime/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/runtime/register.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,13 @@ export interface InvokeContext {
42
42
  };
43
43
  /** Decrypted ConnectionSettings, surfaced as `ctx.settings`. */
44
44
  settings?: Record<string, unknown>;
45
+ /**
46
+ * Effective engagement params for this Job, surfaced as `ctx.params`
47
+ * (ADR-038 §3.6). Written by the orchestrator's `buildInvokeContext` after
48
+ * resolving `manifest defaults ⊕ deployment ⊕ engagement`. Absent for
49
+ * non-CEF / partial contexts (the shim then exposes an empty frozen object).
50
+ */
51
+ params?: Record<string, unknown>;
45
52
  /** Correlation identifiers for the running Job/Task. */
46
53
  correlation?: {
47
54
  jobId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,SAAS,CAAC,EAAE;QACV,8DAA8D;QAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iFAAiF;QACjF,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7B;;;;;WAKG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF;;;;;OAKG;IACH,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,wDAAwD;IACxD,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;;;WAIG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,SAAS,CAAC,EAAE;QACV,8DAA8D;QAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iFAAiF;QACjF,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7B;;;;;WAKG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF;;;;;OAKG;IACH,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,wDAAwD;IACxD,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;;;WAIG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB"}
package/dist/symbols.d.ts CHANGED
@@ -12,7 +12,9 @@ export declare const ENGAGEMENT_METADATA: unique symbol;
12
12
  export type ENGAGEMENT_METADATA = typeof ENGAGEMENT_METADATA;
13
13
  /**
14
14
  * Shape of the metadata object that `@Engagement` / `@OnEvent` / `@OnStart` /
15
- * `@OnClose` decorators attach to a class via {@link ENGAGEMENT_METADATA}.
15
+ * `@OnClose` and the ADR-038 selection decorators `@Condition` / `@Priority`
16
+ * / `@Weight` / `@Limit` / `@Params` — attach to a class via
17
+ * {@link ENGAGEMENT_METADATA}.
16
18
  *
17
19
  * - `id` / `goal` are set by `@Engagement(opts)`. Undefined for v0.1.0-style
18
20
  * classes that only use the method decorators (transitional — H2 will gate
@@ -20,6 +22,11 @@ export type ENGAGEMENT_METADATA = typeof ENGAGEMENT_METADATA;
20
22
  * - `events[type]` is the method name that handles event `type`.
21
23
  * - `lifecycle.start` / `lifecycle.close` are method names for the
22
24
  * start/close lifecycle hooks.
25
+ * - `conditions` / `priority` / `weight` / `limit` / `params` are the
26
+ * ADR-038 §3.3 on-declaration engagement-selection fields, set by the
27
+ * `@Condition` / `@Priority` / `@Weight` / `@Limit` / `@Params` class
28
+ * decorators. All optional; absent when the engagement declares no
29
+ * selection metadata. `cef build` folds them into the manifest.
23
30
  */
24
31
  export interface EngagementMeta {
25
32
  id?: string;
@@ -29,5 +36,21 @@ export interface EngagementMeta {
29
36
  start?: string;
30
37
  close?: string;
31
38
  };
39
+ /** ANDed CEL expressions (set by `@Condition`; ADR-038 §3.3). */
40
+ conditions?: string[];
41
+ /** Selection priority — lower value = higher priority (set by `@Priority`). */
42
+ priority?: number;
43
+ /** Probabilistic split weight within a tier (set by `@Weight`). */
44
+ weight?: number;
45
+ /**
46
+ * Rate limit (set by `@Limit`). `per` is one of `"day"`,
47
+ * `"connection/day"`, `"connection/month"`.
48
+ */
49
+ limit?: {
50
+ n: number;
51
+ per: string;
52
+ };
53
+ /** Per-engagement param VALUES (set by `@Params`; ADR-038 §3.6). */
54
+ params?: Record<string, unknown>;
32
55
  }
33
56
  //# sourceMappingURL=symbols.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAExC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD"}
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../src/symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAExC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
package/dist/types.d.ts CHANGED
@@ -120,6 +120,12 @@ export interface Context {
120
120
  publish(type: string, payload: unknown): Promise<void>;
121
121
  /** Frozen ConnectionSettings supplied by the user at connect time. */
122
122
  settings: Readonly<Record<string, unknown>>;
123
+ /**
124
+ * Effective params for this Job (ADR-038 §3.6): manifest defaults ⊕
125
+ * deployment ⊕ engagement, resolved by the orchestrator and surfaced here
126
+ * frozen.
127
+ */
128
+ params: Readonly<Record<string, unknown>>;
123
129
  /** Ask the runtime to close this agent. `reason` is surfaced to telemetry. */
124
130
  close(reason?: string): Promise<void>;
125
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,eAAe;CAAG;AAEnC;;;GAGG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,OAAO;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;CACZ;AAMD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,CACF,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AAMD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IACnD,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,WAAW;CAAG;AAM/B;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,cAAc,GACd,iBAAiB,GACjB,QAAQ,CAAC;AAMb;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,OAAO;IACtB,uCAAuC;IACvC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;IAElC;;;;OAIG;IACH,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAElD,6BAA6B;IAC7B,OAAO,CAAC,CAAC,SAAS,MAAM,eAAe,GAAG,MAAM,EAC9C,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD,sEAAsE;IACtE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE5C,8EAA8E;IAC9E,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,eAAe;CAAG;AAEnC;;;GAGG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,OAAO;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;CACZ;AAMD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,IAAI,CACF,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AAMD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IACnD,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,WAAW;CAAG;AAM/B;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,cAAc,GACd,iBAAiB,GACjB,QAAQ,CAAC;AAMb;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,OAAO;IACtB,uCAAuC;IACvC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;IAElC;;;;OAIG;IACH,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAElD,6BAA6B;IAC7B,OAAO,CAAC,CAAC,SAAS,MAAM,eAAe,GAAG,MAAM,EAC9C,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD,sEAAsE;IACtE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE5C;;;;OAIG;IACH,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1C,8EAA8E;IAC9E,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cef-ai/agent-sdk",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",