@dcdr/contracts 2.1.1 → 2.2.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.
package/README.md CHANGED
@@ -273,12 +273,22 @@ console.log(auth.valid, auth.authMode, auth.cid);
273
273
 
274
274
  // 2) Execute your first Intent (must exist in your Registry)
275
275
  const res = await client.executeIntent("MY_FIRST_INTENT", {
276
+ workflow: {
277
+ workflowId: "ticket-triage",
278
+ runId: "run-20260613-001",
279
+ stepId: "classify",
280
+ },
276
281
  vars: { topic: "hello", language: "es" },
282
+ context: { channel: "support", priority: "normal" },
277
283
  });
278
284
 
279
285
  console.log(res.status, res.output);
280
286
  ```
281
287
 
288
+ `workflow` is optional and is intended for higher-level orchestration layers such as agent runners, graph/state-machine systems, and multi-step workflows. It is metadata for coordination/correlation, while `context` remains the open functional/business context for the execution itself.
289
+
290
+ `workflow` is a strongly typed top-level surface: supported keys are `workflowId`, `runId`, `nodeId`, `stepId`, `parentExecutionId`, and `idempotencyKey`. Unsupported `workflow` keys are rejected at the runtime boundary; open-ended caller/business metadata should go into `context` instead.
291
+
282
292
  Full client reference: [docs/CLIENT.md](docs/CLIENT.md)
283
293
 
284
294
  Prometheus metrics: [docs/PROMETHEUS_METRICS.md](docs/PROMETHEUS_METRICS.md)
@@ -7,6 +7,15 @@ import { IntentProvider } from "./provider.contract";
7
7
  * The backend typically calls this and later writes AICallLog itself.
8
8
  */
9
9
  export interface ExecuteIntentRequest {
10
+ /**
11
+ * Optional orchestration metadata supplied by a higher-level workflow/agent system.
12
+ *
13
+ * Notes
14
+ * - This is distinct from `context`, which remains an open caller-controlled bag.
15
+ * - Treat these fields as correlation/idempotency metadata, not content.
16
+ * - Runtime features that evaluate `context` should not assume `workflow` is part of that surface.
17
+ */
18
+ workflow?: ExecutionWorkflowContext;
10
19
  context?: ExecutionContext;
11
20
  /**
12
21
  * Optional template variables for prompt rendering.
@@ -51,6 +60,7 @@ export interface ExecutionAttemptReport {
51
60
  export interface ExecutionReport {
52
61
  sessionId: string;
53
62
  appId: string;
63
+ workflow?: ExecutionWorkflowContext;
54
64
  context?: ExecutionContext;
55
65
  gatewayRequestId: string;
56
66
  intent: Intent;
@@ -158,8 +168,34 @@ export interface ExecuteIntentResponse {
158
168
  /** Execution report for backend logging. */
159
169
  report: ExecutionReport;
160
170
  }
171
+ /**
172
+ * Optional orchestration metadata for callers that execute the runtime as one atomic step
173
+ * inside a larger workflow, graph, or agent loop.
174
+ *
175
+ * Notes
176
+ * - This metadata is intentionally separated from `context` so business/customer context can remain open.
177
+ * - Fields are identifiers only; they must not be used as a hidden content channel.
178
+ */
179
+ export interface ExecutionWorkflowContext {
180
+ /** Stable logical workflow identifier across multiple runs. */
181
+ workflowId?: string;
182
+ /** Specific workflow run/execution identifier. */
183
+ runId?: string;
184
+ /** Logical graph/state-machine node identifier. */
185
+ nodeId?: string;
186
+ /** Specific step identifier inside a workflow run. */
187
+ stepId?: string;
188
+ /** Parent execution identifier when this execution was spawned by another step. */
189
+ parentExecutionId?: string;
190
+ /** Caller-provided idempotency/correlation key for deduplication or replay safety. */
191
+ idempotencyKey?: string;
192
+ }
161
193
  /**
162
194
  * Context info for logging and analytics.
195
+ *
196
+ * Notes
197
+ * - This remains intentionally open for caller/business context.
198
+ * - Runtime features such as CONDITION_ON_CONTEXT may evaluate arbitrary keys from this object.
163
199
  */
164
200
  export interface ExecutionContext {
165
201
  [key: string]: any;
@@ -1 +1 @@
1
- {"version":3,"file":"execution.contract.d.ts","sourceRoot":"","sources":["../src/execution.contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.contract.d.ts","sourceRoot":"","sources":["../src/execution.contract.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,26 @@
7
7
  * - Backend should keep this snapshot stable & ordered for reproducible ETags.
8
8
  */
9
9
  export type DcdrServiceTokenStatus = "ACTIVE" | "REVOKED";
10
+ export declare enum DcdrServiceTokenLimitType {
11
+ FIXED = "FIXED",
12
+ LIMITED_BY_HOUR = "LIMITED_BY_HOUR",
13
+ LIMITED_BY_DAY = "LIMITED_BY_DAY",
14
+ LIMITED_BY_MONTH = "LIMITED_BY_MONTH"
15
+ }
16
+ export interface DcdrServiceTokenLimit {
17
+ /**
18
+ * Maximum number of execution endpoint calls allowed for this limit window.
19
+ */
20
+ maxCalls: number;
21
+ /**
22
+ * Limit window type.
23
+ */
24
+ type: DcdrServiceTokenLimitType;
25
+ /**
26
+ * Optional execution intent scopes for this limit. Defaults to `*` when omitted.
27
+ */
28
+ scopes?: string[];
29
+ }
10
30
  export type DcdrServiceTokenSnapshotItem = {
11
31
  /** Human-friendly identifier ("ci-pipeline", "mobile-app", etc.). */
12
32
  id: string;
@@ -17,6 +37,8 @@ export type DcdrServiceTokenSnapshotItem = {
17
37
  scopes: string[];
18
38
  /** Optional snapshot-side expiry hint (unix ms). Token exp enforcement remains the token payload exp. */
19
39
  exp?: number;
40
+ /** Optional runtime-enforced execution limits for this token. */
41
+ limits?: DcdrServiceTokenLimit[];
20
42
  /** Optional note for operators. */
21
43
  note?: string;
22
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"service-tokens.contract.d.ts","sourceRoot":"","sources":["../src/service-tokens.contract.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1D,MAAM,MAAM,4BAA4B,GAAG;IACzC,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IAEX,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,sBAAsB,CAAC;IAE/B,kGAAkG;IAClG,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,yGAAyG;IACzG,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,4BAA4B,EAAE,CAAC;IACvC,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"service-tokens.contract.d.ts","sourceRoot":"","sources":["../src/service-tokens.contract.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1D,oBAAY,yBAAyB;IACnC,KAAK,UAAU;IACf,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,yBAAyB,CAAC;IAEhC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IAEX,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,sBAAsB,CAAC;IAE/B,kGAAkG;IAClG,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,yGAAyG;IACzG,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,iEAAiE;IACjE,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAEjC,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,4BAA4B,EAAE,CAAC;IACvC,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -8,3 +8,11 @@
8
8
  * - Backend should keep this snapshot stable & ordered for reproducible ETags.
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.DcdrServiceTokenLimitType = void 0;
12
+ var DcdrServiceTokenLimitType;
13
+ (function (DcdrServiceTokenLimitType) {
14
+ DcdrServiceTokenLimitType["FIXED"] = "FIXED";
15
+ DcdrServiceTokenLimitType["LIMITED_BY_HOUR"] = "LIMITED_BY_HOUR";
16
+ DcdrServiceTokenLimitType["LIMITED_BY_DAY"] = "LIMITED_BY_DAY";
17
+ DcdrServiceTokenLimitType["LIMITED_BY_MONTH"] = "LIMITED_BY_MONTH";
18
+ })(DcdrServiceTokenLimitType || (exports.DcdrServiceTokenLimitType = DcdrServiceTokenLimitType = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcdr/contracts",
3
- "version": "2.1.1",
3
+ "version": "2.2.0",
4
4
  "homepage": "https://dcdr.ai",
5
5
  "description": "TypeScript contracts and runtime client for DCDR intent-based AI execution",
6
6
  "private": false,