@agent-deck/shared 1.11.8 → 1.11.9
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/dist/constants/client-scope.d.ts +8 -0
- package/dist/constants/client-scope.d.ts.map +1 -1
- package/dist/constants/client-scope.js +9 -1
- package/dist/constants/client-scope.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/schemas/card-usage.d.ts +12 -0
- package/dist/schemas/card-usage.d.ts.map +1 -1
- package/dist/schemas/card-usage.js +34 -0
- package/dist/schemas/card-usage.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,14 @@ export declare const AGENT_DECK_AGENT_CLIENT = "agent";
|
|
|
8
8
|
export declare const AGENT_DECK_WORKSPACE_HEADER = "x-agent-deck-workspace";
|
|
9
9
|
/** Launch-selected deck (NOT-105). */
|
|
10
10
|
export declare const AGENT_DECK_DECK_ID_HEADER = "x-agent-deck-deck-id";
|
|
11
|
+
/**
|
|
12
|
+
* Opaque run-correlation id for launch-selected MCP sessions (NOT-304).
|
|
13
|
+
*
|
|
14
|
+
* Observability metadata only: it never selects a deck, grants access,
|
|
15
|
+
* changes mode, or participates in authorization. Validated as an opaque
|
|
16
|
+
* UUID or equivalently strict bounded token — never free text.
|
|
17
|
+
*/
|
|
18
|
+
export declare const AGENT_DECK_CORRELATION_HEADER = "x-agent-deck-correlation-id";
|
|
11
19
|
/**
|
|
12
20
|
* Session a client lost to a server restart, named on the handshake it replays
|
|
13
21
|
* (NOT-101). It lets the server mark that session recovered instead of counting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-scope.d.ts","sourceRoot":"","sources":["../../src/constants/client-scope.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAE9D,mEAAmE;AACnE,eAAO,MAAM,2BAA2B,cAAc,CAAC;AAEvD,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE,sCAAsC;AACtC,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"client-scope.d.ts","sourceRoot":"","sources":["../../src/constants/client-scope.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAE9D,mEAAmE;AACnE,eAAO,MAAM,2BAA2B,cAAc,CAAC;AAEvD,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C,uEAAuE;AACvE,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE,sCAAsC;AACtC,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,gCAAgC,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,mCAAmC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AGENT_DECK_RECOVERED_SESSION_HEADER = exports.AGENT_DECK_DECK_ID_HEADER = exports.AGENT_DECK_WORKSPACE_HEADER = exports.AGENT_DECK_AGENT_CLIENT = exports.AGENT_DECK_DASHBOARD_CLIENT = exports.AGENT_DECK_CLIENT_HEADER = void 0;
|
|
3
|
+
exports.AGENT_DECK_RECOVERED_SESSION_HEADER = exports.AGENT_DECK_CORRELATION_HEADER = exports.AGENT_DECK_DECK_ID_HEADER = exports.AGENT_DECK_WORKSPACE_HEADER = exports.AGENT_DECK_AGENT_CLIENT = exports.AGENT_DECK_DASHBOARD_CLIENT = exports.AGENT_DECK_CLIENT_HEADER = void 0;
|
|
4
4
|
/** HTTP header distinguishing dashboard (human UI) from agent API clients. */
|
|
5
5
|
exports.AGENT_DECK_CLIENT_HEADER = 'x-agent-deck-client';
|
|
6
6
|
/** Value sent by the Agent Deck dashboard for vault management. */
|
|
@@ -11,6 +11,14 @@ exports.AGENT_DECK_AGENT_CLIENT = 'agent';
|
|
|
11
11
|
exports.AGENT_DECK_WORKSPACE_HEADER = 'x-agent-deck-workspace';
|
|
12
12
|
/** Launch-selected deck (NOT-105). */
|
|
13
13
|
exports.AGENT_DECK_DECK_ID_HEADER = 'x-agent-deck-deck-id';
|
|
14
|
+
/**
|
|
15
|
+
* Opaque run-correlation id for launch-selected MCP sessions (NOT-304).
|
|
16
|
+
*
|
|
17
|
+
* Observability metadata only: it never selects a deck, grants access,
|
|
18
|
+
* changes mode, or participates in authorization. Validated as an opaque
|
|
19
|
+
* UUID or equivalently strict bounded token — never free text.
|
|
20
|
+
*/
|
|
21
|
+
exports.AGENT_DECK_CORRELATION_HEADER = 'x-agent-deck-correlation-id';
|
|
14
22
|
/**
|
|
15
23
|
* Session a client lost to a server restart, named on the handshake it replays
|
|
16
24
|
* (NOT-101). It lets the server mark that session recovered instead of counting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-scope.js","sourceRoot":"","sources":["../../src/constants/client-scope.ts"],"names":[],"mappings":";;;AAAA,8EAA8E;AACjE,QAAA,wBAAwB,GAAG,qBAAqB,CAAC;AAE9D,mEAAmE;AACtD,QAAA,2BAA2B,GAAG,WAAW,CAAC;AAEvD,+EAA+E;AAClE,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAE/C,uEAAuE;AAC1D,QAAA,2BAA2B,GAAG,wBAAwB,CAAC;AAEpE,sCAAsC;AACzB,QAAA,yBAAyB,GAAG,sBAAsB,CAAC;AAEhE;;;;GAIG;AACU,QAAA,mCAAmC,GAAG,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"client-scope.js","sourceRoot":"","sources":["../../src/constants/client-scope.ts"],"names":[],"mappings":";;;AAAA,8EAA8E;AACjE,QAAA,wBAAwB,GAAG,qBAAqB,CAAC;AAE9D,mEAAmE;AACtD,QAAA,2BAA2B,GAAG,WAAW,CAAC;AAEvD,+EAA+E;AAClE,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAE/C,uEAAuE;AAC1D,QAAA,2BAA2B,GAAG,wBAAwB,CAAC;AAEpE,sCAAsC;AACzB,QAAA,yBAAyB,GAAG,sBAAsB,CAAC;AAEhE;;;;;;GAMG;AACU,QAAA,6BAA6B,GAAG,6BAA6B,CAAC;AAE3E;;;;GAIG;AACU,QAAA,mCAAmC,GAAG,gCAAgC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export { OAuthDiscoveryResult } from './types/oauth';
|
|
|
16
16
|
export * from './utils';
|
|
17
17
|
export { summarizeCollectionWarnings, getServiceWarnings, getCredentialWarnings, getPlaybookWarnings, primaryCollectionWarning, type CollectionCardWarning, type CollectionWarningKind, } from './utils/collection-warnings';
|
|
18
18
|
export { normalizeLocalMcpManifestInput, parseLocalMcpManifestJson, stripJsonMarkdownFences, } from './utils/local-mcp-manifest';
|
|
19
|
-
export { AGENT_DECK_CLIENT_HEADER, AGENT_DECK_DASHBOARD_CLIENT, AGENT_DECK_AGENT_CLIENT, AGENT_DECK_WORKSPACE_HEADER, AGENT_DECK_DECK_ID_HEADER, AGENT_DECK_RECOVERED_SESSION_HEADER, } from './constants/client-scope';
|
|
19
|
+
export { AGENT_DECK_CLIENT_HEADER, AGENT_DECK_DASHBOARD_CLIENT, AGENT_DECK_AGENT_CLIENT, AGENT_DECK_WORKSPACE_HEADER, AGENT_DECK_DECK_ID_HEADER, AGENT_DECK_CORRELATION_HEADER, AGENT_DECK_RECOVERED_SESSION_HEADER, } from './constants/client-scope';
|
|
20
20
|
export { AGENT_DECK_SESSION_HEADER, AGENT_DECK_DASHBOARD_COOKIE, RUNTIME_SESSION_LEASE_MS, ADMIN_MODE_LEASE_MS, ADMIN_CHALLENGE_TTL_MS, DASHBOARD_NONCE_TTL_MS, DASHBOARD_SESSION_LEASE_MS, DASHBOARD_COOKIE_MAX_AGE_MS, } from './constants/trusted-session';
|
|
21
21
|
export { MCP_CARD_COLOR, API_KEY_CARD_COLOR, PLAYBOOK_CARD_COLOR, getServiceCardColor } from './constants/card-colors';
|
|
22
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,mCAAmC,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,mCAAmC,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.getServiceCardColor = exports.PLAYBOOK_CARD_COLOR = exports.API_KEY_CARD_COLOR = exports.MCP_CARD_COLOR = exports.DASHBOARD_COOKIE_MAX_AGE_MS = exports.DASHBOARD_SESSION_LEASE_MS = exports.DASHBOARD_NONCE_TTL_MS = exports.ADMIN_CHALLENGE_TTL_MS = exports.ADMIN_MODE_LEASE_MS = exports.RUNTIME_SESSION_LEASE_MS = exports.AGENT_DECK_DASHBOARD_COOKIE = exports.AGENT_DECK_SESSION_HEADER = exports.AGENT_DECK_RECOVERED_SESSION_HEADER = exports.AGENT_DECK_DECK_ID_HEADER = exports.AGENT_DECK_WORKSPACE_HEADER = exports.AGENT_DECK_AGENT_CLIENT = exports.AGENT_DECK_DASHBOARD_CLIENT = exports.AGENT_DECK_CLIENT_HEADER = exports.stripJsonMarkdownFences = exports.parseLocalMcpManifestJson = exports.normalizeLocalMcpManifestInput = exports.primaryCollectionWarning = exports.getPlaybookWarnings = exports.getCredentialWarnings = exports.getServiceWarnings = exports.summarizeCollectionWarnings = void 0;
|
|
17
|
+
exports.getServiceCardColor = exports.PLAYBOOK_CARD_COLOR = exports.API_KEY_CARD_COLOR = exports.MCP_CARD_COLOR = exports.DASHBOARD_COOKIE_MAX_AGE_MS = exports.DASHBOARD_SESSION_LEASE_MS = exports.DASHBOARD_NONCE_TTL_MS = exports.ADMIN_CHALLENGE_TTL_MS = exports.ADMIN_MODE_LEASE_MS = exports.RUNTIME_SESSION_LEASE_MS = exports.AGENT_DECK_DASHBOARD_COOKIE = exports.AGENT_DECK_SESSION_HEADER = exports.AGENT_DECK_RECOVERED_SESSION_HEADER = exports.AGENT_DECK_CORRELATION_HEADER = exports.AGENT_DECK_DECK_ID_HEADER = exports.AGENT_DECK_WORKSPACE_HEADER = exports.AGENT_DECK_AGENT_CLIENT = exports.AGENT_DECK_DASHBOARD_CLIENT = exports.AGENT_DECK_CLIENT_HEADER = exports.stripJsonMarkdownFences = exports.parseLocalMcpManifestJson = exports.normalizeLocalMcpManifestInput = exports.primaryCollectionWarning = exports.getPlaybookWarnings = exports.getCredentialWarnings = exports.getServiceWarnings = exports.summarizeCollectionWarnings = void 0;
|
|
18
18
|
// Schemas (includes Zod-inferred types)
|
|
19
19
|
__exportStar(require("./schemas/service"), exports);
|
|
20
20
|
__exportStar(require("./schemas/deck"), exports);
|
|
@@ -50,6 +50,7 @@ Object.defineProperty(exports, "AGENT_DECK_DASHBOARD_CLIENT", { enumerable: true
|
|
|
50
50
|
Object.defineProperty(exports, "AGENT_DECK_AGENT_CLIENT", { enumerable: true, get: function () { return client_scope_1.AGENT_DECK_AGENT_CLIENT; } });
|
|
51
51
|
Object.defineProperty(exports, "AGENT_DECK_WORKSPACE_HEADER", { enumerable: true, get: function () { return client_scope_1.AGENT_DECK_WORKSPACE_HEADER; } });
|
|
52
52
|
Object.defineProperty(exports, "AGENT_DECK_DECK_ID_HEADER", { enumerable: true, get: function () { return client_scope_1.AGENT_DECK_DECK_ID_HEADER; } });
|
|
53
|
+
Object.defineProperty(exports, "AGENT_DECK_CORRELATION_HEADER", { enumerable: true, get: function () { return client_scope_1.AGENT_DECK_CORRELATION_HEADER; } });
|
|
53
54
|
Object.defineProperty(exports, "AGENT_DECK_RECOVERED_SESSION_HEADER", { enumerable: true, get: function () { return client_scope_1.AGENT_DECK_RECOVERED_SESSION_HEADER; } });
|
|
54
55
|
var trusted_session_1 = require("./constants/trusted-session");
|
|
55
56
|
Object.defineProperty(exports, "AGENT_DECK_SESSION_HEADER", { enumerable: true, get: function () { return trusted_session_1.AGENT_DECK_SESSION_HEADER; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAwC;AACxC,oDAAkC;AAClC,iDAA+B;AAC/B,uDAAqC;AACrC,kDAAgC;AAChC,qDAAmC;AACnC,2DAAyC;AACzC,4DAA0C;AAC1C,yDAAuC;AACvC,0DAAwC;AACxC,kDAAgC;AAChC,8DAA4C;AAC5C,4DAA0C;AAC1C,uDAAqC;AAErC,0CAA0C;AAC1C,8CAA4B;AAG5B,QAAQ;AACR,0CAAwB;AACxB,mEAQqC;AAPnC,kIAAA,2BAA2B,OAAA;AAC3B,yHAAA,kBAAkB,OAAA;AAClB,4HAAA,qBAAqB,OAAA;AACrB,0HAAA,mBAAmB,OAAA;AACnB,+HAAA,wBAAwB,OAAA;AAI1B,iEAIoC;AAHlC,oIAAA,8BAA8B,OAAA;AAC9B,+HAAA,yBAAyB,OAAA;AACzB,6HAAA,uBAAuB,OAAA;AAGzB,YAAY;AACZ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAwC;AACxC,oDAAkC;AAClC,iDAA+B;AAC/B,uDAAqC;AACrC,kDAAgC;AAChC,qDAAmC;AACnC,2DAAyC;AACzC,4DAA0C;AAC1C,yDAAuC;AACvC,0DAAwC;AACxC,kDAAgC;AAChC,8DAA4C;AAC5C,4DAA0C;AAC1C,uDAAqC;AAErC,0CAA0C;AAC1C,8CAA4B;AAG5B,QAAQ;AACR,0CAAwB;AACxB,mEAQqC;AAPnC,kIAAA,2BAA2B,OAAA;AAC3B,yHAAA,kBAAkB,OAAA;AAClB,4HAAA,qBAAqB,OAAA;AACrB,0HAAA,mBAAmB,OAAA;AACnB,+HAAA,wBAAwB,OAAA;AAI1B,iEAIoC;AAHlC,oIAAA,8BAA8B,OAAA;AAC9B,+HAAA,yBAAyB,OAAA;AACzB,6HAAA,uBAAuB,OAAA;AAGzB,YAAY;AACZ,yDAQkC;AAPhC,wHAAA,wBAAwB,OAAA;AACxB,2HAAA,2BAA2B,OAAA;AAC3B,uHAAA,uBAAuB,OAAA;AACvB,2HAAA,2BAA2B,OAAA;AAC3B,yHAAA,yBAAyB,OAAA;AACzB,6HAAA,6BAA6B,OAAA;AAC7B,mIAAA,mCAAmC,OAAA;AAErC,+DASqC;AARnC,4HAAA,yBAAyB,OAAA;AACzB,8HAAA,2BAA2B,OAAA;AAC3B,2HAAA,wBAAwB,OAAA;AACxB,sHAAA,mBAAmB,OAAA;AACnB,yHAAA,sBAAsB,OAAA;AACtB,yHAAA,sBAAsB,OAAA;AACtB,6HAAA,0BAA0B,OAAA;AAC1B,8HAAA,2BAA2B,OAAA;AAE7B,uDAAuH;AAA9G,6GAAA,cAAc,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAAE,kHAAA,mBAAmB,OAAA"}
|
|
@@ -10,8 +10,18 @@ export type CardUsageEvent = {
|
|
|
10
10
|
success: boolean | null;
|
|
11
11
|
source: string;
|
|
12
12
|
sessionId: string | null;
|
|
13
|
+
/** Opaque run-correlation id (NOT-304); null for sessions without one. */
|
|
14
|
+
correlationId: string | null;
|
|
13
15
|
createdAt: string;
|
|
14
16
|
};
|
|
17
|
+
/** True for a UUID or strict bounded token; false for free text. */
|
|
18
|
+
export declare function isValidCorrelationId(value: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Trim and accept a candidate correlation id, or return null when it is
|
|
21
|
+
* absent or fails strict validation. Invalid values are dropped — never
|
|
22
|
+
* coerced — so untrusted input cannot smuggle task content into the stream.
|
|
23
|
+
*/
|
|
24
|
+
export declare function normalizeCorrelationId(raw: unknown): string | null;
|
|
15
25
|
/**
|
|
16
26
|
* Raw event payload exposed by GET /api/usage/events.
|
|
17
27
|
* Contains only non-sensitive usage metadata — never tool arguments,
|
|
@@ -26,6 +36,8 @@ export type CardUsageEventResponse = {
|
|
|
26
36
|
success: boolean | null;
|
|
27
37
|
source: string;
|
|
28
38
|
sessionId: string | null;
|
|
39
|
+
/** Opaque run-correlation id (NOT-304); null for sessions without one. */
|
|
40
|
+
correlationId: string | null;
|
|
29
41
|
};
|
|
30
42
|
export type CardUsageEventsResponse = {
|
|
31
43
|
events: CardUsageEventResponse[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-usage.d.ts","sourceRoot":"","sources":["../../src/schemas/card-usage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,gDAAiD,CAAC;AAEpF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"card-usage.d.ts","sourceRoot":"","sources":["../../src/schemas/card-usage.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,gDAAiD,CAAC;AAEpF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAiBF,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CASlE;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,+CAAgD,CAAC;AAEnF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B,CAAC"}
|
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CARD_USAGE_CATEGORIES = exports.CARD_USAGE_CARD_TYPES = void 0;
|
|
4
|
+
exports.isValidCorrelationId = isValidCorrelationId;
|
|
5
|
+
exports.normalizeCorrelationId = normalizeCorrelationId;
|
|
4
6
|
exports.CARD_USAGE_CARD_TYPES = ['service', 'credential', 'playbook'];
|
|
7
|
+
/**
|
|
8
|
+
* Opaque run-correlation identifier (NOT-304).
|
|
9
|
+
*
|
|
10
|
+
* A UUID or an equivalently strict bounded token: ASCII letters, digits,
|
|
11
|
+
* `-`/`_` only, 8–128 chars. The charset excludes whitespace, `/`, `.`,
|
|
12
|
+
* `:`, and every other punctuation mark, so repository paths
|
|
13
|
+
* (`owner/repo`), issue titles, prompts, task content, and URLs can never
|
|
14
|
+
* validate — they are rejected, never truncated or interpreted. Bare
|
|
15
|
+
* word-like slugs are opaque by construction: they are stored verbatim,
|
|
16
|
+
* matched exactly, and never resolved to a deck, workspace, or identity.
|
|
17
|
+
*/
|
|
18
|
+
const CORRELATION_UUID_RE = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
|
|
19
|
+
const CORRELATION_TOKEN_RE = /^[A-Za-z0-9_-]{8,128}$/;
|
|
20
|
+
/** True for a UUID or strict bounded token; false for free text. */
|
|
21
|
+
function isValidCorrelationId(value) {
|
|
22
|
+
return CORRELATION_UUID_RE.test(value) || CORRELATION_TOKEN_RE.test(value);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Trim and accept a candidate correlation id, or return null when it is
|
|
26
|
+
* absent or fails strict validation. Invalid values are dropped — never
|
|
27
|
+
* coerced — so untrusted input cannot smuggle task content into the stream.
|
|
28
|
+
*/
|
|
29
|
+
function normalizeCorrelationId(raw) {
|
|
30
|
+
if (typeof raw !== 'string') {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const value = raw.trim();
|
|
34
|
+
if (!value || !isValidCorrelationId(value)) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
5
39
|
exports.CARD_USAGE_CATEGORIES = ['popular', 'used', 'unused', 'new'];
|
|
6
40
|
//# sourceMappingURL=card-usage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-usage.js","sourceRoot":"","sources":["../../src/schemas/card-usage.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"card-usage.js","sourceRoot":"","sources":["../../src/schemas/card-usage.ts"],"names":[],"mappings":";;;AAmCA,oDAEC;AAOD,wDASC;AArDY,QAAA,qBAAqB,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAU,CAAC;AAmBpF;;;;;;;;;;GAUG;AACH,MAAM,mBAAmB,GACvB,+EAA+E,CAAC;AAClF,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAEtD,oEAAoE;AACpE,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,GAAY;IACjD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAyBY,QAAA,qBAAqB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC"}
|