@agent-deck/shared 1.6.4 → 1.7.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.
@@ -0,0 +1,15 @@
1
+ /** Bearer token presented by the trusted MCP launcher (raw grant secret). */
2
+ export declare const AGENT_DECK_GRANT_AUTH_SCHEME = "Bearer";
3
+ /** Runtime session id returned to MCP layer after grant authentication. */
4
+ export declare const AGENT_DECK_SESSION_HEADER = "x-agent-deck-session-id";
5
+ /** Dashboard session cookie name. */
6
+ export declare const AGENT_DECK_DASHBOARD_COOKIE = "agent_deck_dashboard";
7
+ /** Normal MCP session inactivity lease (PRD C3). */
8
+ export declare const RUNTIME_SESSION_LEASE_MS: number;
9
+ /** Agent-admin inactivity lease (PRD C4). */
10
+ export declare const ADMIN_MODE_LEASE_MS: number;
11
+ /** Admin elevation challenge validity (PRD C4). */
12
+ export declare const ADMIN_CHALLENGE_TTL_MS: number;
13
+ /** Dashboard bootstrap nonce validity. */
14
+ export declare const DASHBOARD_NONCE_TTL_MS: number;
15
+ //# sourceMappingURL=trusted-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trusted-session.d.ts","sourceRoot":"","sources":["../../src/constants/trusted-session.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B,WAAW,CAAC;AAErD,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AAEnE,qCAAqC;AACrC,eAAO,MAAM,2BAA2B,yBAAyB,CAAC;AAElE,oDAAoD;AACpD,eAAO,MAAM,wBAAwB,QAAsB,CAAC;AAE5D,6CAA6C;AAC7C,eAAO,MAAM,mBAAmB,QAAiB,CAAC;AAElD,mDAAmD;AACnD,eAAO,MAAM,sBAAsB,QAAgB,CAAC;AAEpD,0CAA0C;AAC1C,eAAO,MAAM,sBAAsB,QAAgB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ 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_GRANT_AUTH_SCHEME = void 0;
4
+ /** Bearer token presented by the trusted MCP launcher (raw grant secret). */
5
+ exports.AGENT_DECK_GRANT_AUTH_SCHEME = 'Bearer';
6
+ /** Runtime session id returned to MCP layer after grant authentication. */
7
+ exports.AGENT_DECK_SESSION_HEADER = 'x-agent-deck-session-id';
8
+ /** Dashboard session cookie name. */
9
+ exports.AGENT_DECK_DASHBOARD_COOKIE = 'agent_deck_dashboard';
10
+ /** Normal MCP session inactivity lease (PRD C3). */
11
+ exports.RUNTIME_SESSION_LEASE_MS = 24 * 60 * 60 * 1000;
12
+ /** Agent-admin inactivity lease (PRD C4). */
13
+ exports.ADMIN_MODE_LEASE_MS = 30 * 60 * 1000;
14
+ /** Admin elevation challenge validity (PRD C4). */
15
+ exports.ADMIN_CHALLENGE_TTL_MS = 5 * 60 * 1000;
16
+ /** Dashboard bootstrap nonce validity. */
17
+ exports.DASHBOARD_NONCE_TTL_MS = 2 * 60 * 1000;
18
+ //# sourceMappingURL=trusted-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trusted-session.js","sourceRoot":"","sources":["../../src/constants/trusted-session.ts"],"names":[],"mappings":";;;AAAA,6EAA6E;AAChE,QAAA,4BAA4B,GAAG,QAAQ,CAAC;AAErD,2EAA2E;AAC9D,QAAA,yBAAyB,GAAG,yBAAyB,CAAC;AAEnE,qCAAqC;AACxB,QAAA,2BAA2B,GAAG,sBAAsB,CAAC;AAElE,oDAAoD;AACvC,QAAA,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE5D,6CAA6C;AAChC,QAAA,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAElD,mDAAmD;AACtC,QAAA,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD,0CAA0C;AAC7B,QAAA,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,11 +9,13 @@ export * from './schemas/deck-display';
9
9
  export * from './schemas/export-bundle';
10
10
  export * from './schemas/store';
11
11
  export * from './schemas/session-bootstrap';
12
+ export * from './schemas/trusted-session';
12
13
  export * from './types/api';
13
14
  export { OAuthDiscoveryResult } from './types/oauth';
14
15
  export * from './utils';
15
16
  export { summarizeCollectionWarnings, getServiceWarnings, getCredentialWarnings, getPlaybookWarnings, primaryCollectionWarning, type CollectionCardWarning, type CollectionWarningKind, } from './utils/collection-warnings';
16
17
  export { normalizeLocalMcpManifestInput, parseLocalMcpManifestJson, stripJsonMarkdownFences, } from './utils/local-mcp-manifest';
17
18
  export { AGENT_DECK_CLIENT_HEADER, AGENT_DECK_DASHBOARD_CLIENT, AGENT_DECK_AGENT_CLIENT, AGENT_DECK_WORKSPACE_HEADER, AGENT_DECK_DECK_ID_HEADER, } from './constants/client-scope';
19
+ export { AGENT_DECK_GRANT_AUTH_SCHEME, AGENT_DECK_SESSION_HEADER, AGENT_DECK_DASHBOARD_COOKIE, RUNTIME_SESSION_LEASE_MS, ADMIN_MODE_LEASE_MS, ADMIN_CHALLENGE_TTL_MS, DASHBOARD_NONCE_TTL_MS, } from './constants/trusted-session';
18
20
  export { MCP_CARD_COLOR, API_KEY_CARD_COLOR, PLAYBOOK_CARD_COLOR, getServiceCardColor } from './constants/card-colors';
19
21
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAG5C,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,GAC1B,MAAM,0BAA0B,CAAC;AAClC,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;AAG1C,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,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,GACvB,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.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_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_GRANT_AUTH_SCHEME = 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);
@@ -27,6 +27,7 @@ __exportStar(require("./schemas/deck-display"), exports);
27
27
  __exportStar(require("./schemas/export-bundle"), exports);
28
28
  __exportStar(require("./schemas/store"), exports);
29
29
  __exportStar(require("./schemas/session-bootstrap"), exports);
30
+ __exportStar(require("./schemas/trusted-session"), exports);
30
31
  // Additional types not covered by schemas
31
32
  __exportStar(require("./types/api"), exports);
32
33
  // Utils
@@ -48,6 +49,14 @@ Object.defineProperty(exports, "AGENT_DECK_DASHBOARD_CLIENT", { enumerable: true
48
49
  Object.defineProperty(exports, "AGENT_DECK_AGENT_CLIENT", { enumerable: true, get: function () { return client_scope_1.AGENT_DECK_AGENT_CLIENT; } });
49
50
  Object.defineProperty(exports, "AGENT_DECK_WORKSPACE_HEADER", { enumerable: true, get: function () { return client_scope_1.AGENT_DECK_WORKSPACE_HEADER; } });
50
51
  Object.defineProperty(exports, "AGENT_DECK_DECK_ID_HEADER", { enumerable: true, get: function () { return client_scope_1.AGENT_DECK_DECK_ID_HEADER; } });
52
+ var trusted_session_1 = require("./constants/trusted-session");
53
+ Object.defineProperty(exports, "AGENT_DECK_GRANT_AUTH_SCHEME", { enumerable: true, get: function () { return trusted_session_1.AGENT_DECK_GRANT_AUTH_SCHEME; } });
54
+ Object.defineProperty(exports, "AGENT_DECK_SESSION_HEADER", { enumerable: true, get: function () { return trusted_session_1.AGENT_DECK_SESSION_HEADER; } });
55
+ Object.defineProperty(exports, "AGENT_DECK_DASHBOARD_COOKIE", { enumerable: true, get: function () { return trusted_session_1.AGENT_DECK_DASHBOARD_COOKIE; } });
56
+ Object.defineProperty(exports, "RUNTIME_SESSION_LEASE_MS", { enumerable: true, get: function () { return trusted_session_1.RUNTIME_SESSION_LEASE_MS; } });
57
+ Object.defineProperty(exports, "ADMIN_MODE_LEASE_MS", { enumerable: true, get: function () { return trusted_session_1.ADMIN_MODE_LEASE_MS; } });
58
+ Object.defineProperty(exports, "ADMIN_CHALLENGE_TTL_MS", { enumerable: true, get: function () { return trusted_session_1.ADMIN_CHALLENGE_TTL_MS; } });
59
+ Object.defineProperty(exports, "DASHBOARD_NONCE_TTL_MS", { enumerable: true, get: function () { return trusted_session_1.DASHBOARD_NONCE_TTL_MS; } });
51
60
  var card_colors_1 = require("./constants/card-colors");
52
61
  Object.defineProperty(exports, "MCP_CARD_COLOR", { enumerable: true, get: function () { return card_colors_1.MCP_CARD_COLOR; } });
53
62
  Object.defineProperty(exports, "API_KEY_CARD_COLOR", { enumerable: true, get: function () { return card_colors_1.API_KEY_CARD_COLOR; } });
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;AAE5C,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,yDAMkC;AALhC,wHAAA,wBAAwB,OAAA;AACxB,2HAAA,2BAA2B,OAAA;AAC3B,uHAAA,uBAAuB,OAAA;AACvB,2HAAA,2BAA2B,OAAA;AAC3B,yHAAA,yBAAyB,OAAA;AAE3B,uDAAuH;AAA9G,6GAAA,cAAc,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAAE,kHAAA,mBAAmB,OAAA"}
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;AAE1C,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,yDAMkC;AALhC,wHAAA,wBAAwB,OAAA;AACxB,2HAAA,2BAA2B,OAAA;AAC3B,uHAAA,uBAAuB,OAAA;AACvB,2HAAA,2BAA2B,OAAA;AAC3B,yHAAA,yBAAyB,OAAA;AAE3B,+DAQqC;AAPnC,+HAAA,4BAA4B,OAAA;AAC5B,4HAAA,yBAAyB,OAAA;AACzB,8HAAA,2BAA2B,OAAA;AAC3B,2HAAA,wBAAwB,OAAA;AACxB,sHAAA,mBAAmB,OAAA;AACnB,yHAAA,sBAAsB,OAAA;AACtB,yHAAA,sBAAsB,OAAA;AAExB,uDAAuH;AAA9G,6GAAA,cAAc,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAAE,kHAAA,mBAAmB,OAAA"}
@@ -20,6 +20,7 @@ export declare const LiveBindingSchema: z.ZodObject<{
20
20
  source: z.ZodEnum<["session_override", "env"]>;
21
21
  workspaceRoot: z.ZodOptional<z.ZodString>;
22
22
  clientName: z.ZodOptional<z.ZodString>;
23
+ mode: z.ZodOptional<z.ZodEnum<["normal", "agent-admin"]>>;
23
24
  cardCounts: z.ZodObject<{
24
25
  mcp: z.ZodNumber;
25
26
  credentials: z.ZodNumber;
@@ -49,6 +50,7 @@ export declare const LiveBindingSchema: z.ZodObject<{
49
50
  lastActivityAt: string;
50
51
  workspaceRoot?: string | undefined;
51
52
  clientName?: string | undefined;
53
+ mode?: "normal" | "agent-admin" | undefined;
52
54
  }, {
53
55
  updatedAt: string;
54
56
  deckId: string;
@@ -63,6 +65,7 @@ export declare const LiveBindingSchema: z.ZodObject<{
63
65
  lastActivityAt: string;
64
66
  workspaceRoot?: string | undefined;
65
67
  clientName?: string | undefined;
68
+ mode?: "normal" | "agent-admin" | undefined;
66
69
  }>;
67
70
  export declare const DeckDisplaySchema: z.ZodObject<{
68
71
  workspaceRoot: z.ZodString;
@@ -165,6 +168,7 @@ export declare const DeckListEntrySchema: z.ZodObject<{
165
168
  credentials: number;
166
169
  playbooks: number;
167
170
  }>;
171
+ workspaceCount: z.ZodOptional<z.ZodNumber>;
168
172
  }, "strip", z.ZodTypeAny, {
169
173
  id: string;
170
174
  name: string;
@@ -174,6 +178,7 @@ export declare const DeckListEntrySchema: z.ZodObject<{
174
178
  credentials: number;
175
179
  playbooks: number;
176
180
  };
181
+ workspaceCount?: number | undefined;
177
182
  }, {
178
183
  id: string;
179
184
  name: string;
@@ -183,9 +188,33 @@ export declare const DeckListEntrySchema: z.ZodObject<{
183
188
  credentials: number;
184
189
  playbooks: number;
185
190
  };
191
+ workspaceCount?: number | undefined;
186
192
  }>;
187
193
  export type DeckListEntry = z.infer<typeof DeckListEntrySchema>;
188
194
  export type LiveBinding = z.infer<typeof LiveBindingSchema>;
195
+ export declare const PendingAdminChallengeSchema: z.ZodObject<{
196
+ challengeId: z.ZodString;
197
+ runtimeSessionId: z.ZodString;
198
+ deckId: z.ZodString;
199
+ deckName: z.ZodOptional<z.ZodString>;
200
+ expiresAt: z.ZodString;
201
+ approvalPath: z.ZodString;
202
+ }, "strip", z.ZodTypeAny, {
203
+ deckId: string;
204
+ expiresAt: string;
205
+ challengeId: string;
206
+ runtimeSessionId: string;
207
+ approvalPath: string;
208
+ deckName?: string | undefined;
209
+ }, {
210
+ deckId: string;
211
+ expiresAt: string;
212
+ challengeId: string;
213
+ runtimeSessionId: string;
214
+ approvalPath: string;
215
+ deckName?: string | undefined;
216
+ }>;
217
+ export type PendingAdminChallenge = z.infer<typeof PendingAdminChallengeSchema>;
189
218
  export type DeckDisplay = z.infer<typeof DeckDisplaySchema>;
190
219
  export type StatusLinePayload = z.infer<typeof StatusLinePayloadSchema>;
191
220
  export declare const DISPLAY_LINE_MAX_LENGTH = 120;
@@ -1 +1 @@
1
- {"version":3,"file":"deck-display.d.ts","sourceRoot":"","sources":["../../src/schemas/deck-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,uBAAuB,mDAIlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;CACvB,GAAG,cAAc,CAOjB;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxF,MAAM,CAsCR;AAED,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAGzF;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ/G"}
1
+ {"version":3,"file":"deck-display.d.ts","sourceRoot":"","sources":["../../src/schemas/deck-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,uBAAuB,mDAIlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;EASlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;EAOtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;CACvB,GAAG,cAAc,CAOjB;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxF,MAAM,CAsCR;AAED,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAGzF;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ/G"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DISPLAY_LINE_MAX_LENGTH = exports.DeckListEntrySchema = exports.StatusLinePayloadSchema = exports.DeckDisplaySchema = exports.LiveBindingSchema = exports.DeckCardCountsSchema = exports.DeckDisplaySourceSchema = void 0;
6
+ exports.DISPLAY_LINE_MAX_LENGTH = exports.PendingAdminChallengeSchema = exports.DeckListEntrySchema = exports.StatusLinePayloadSchema = exports.DeckDisplaySchema = exports.LiveBindingSchema = exports.DeckCardCountsSchema = exports.DeckDisplaySourceSchema = void 0;
7
7
  exports.countDeckCards = countDeckCards;
8
8
  exports.formatDisplayUpdatedSuffix = formatDisplayUpdatedSuffix;
9
9
  exports.formatDisplayLine = formatDisplayLine;
@@ -30,6 +30,7 @@ exports.LiveBindingSchema = zod_1.z.object({
30
30
  // Absent for header/auto-bound sessions (deck without a known folder).
31
31
  workspaceRoot: zod_1.z.string().min(1).optional(),
32
32
  clientName: zod_1.z.string().min(1).optional(),
33
+ mode: zod_1.z.enum(['normal', 'agent-admin']).optional(),
33
34
  cardCounts: exports.DeckCardCountsSchema,
34
35
  updatedAt: zod_1.z.string().datetime(),
35
36
  lastActivityAt: zod_1.z.string().datetime(),
@@ -61,6 +62,15 @@ exports.DeckListEntrySchema = zod_1.z.object({
61
62
  name: zod_1.z.string().min(1),
62
63
  isActive: zod_1.z.boolean(),
63
64
  cardCounts: exports.DeckCardCountsSchema,
65
+ workspaceCount: zod_1.z.number().int().nonnegative().optional(),
66
+ });
67
+ exports.PendingAdminChallengeSchema = zod_1.z.object({
68
+ challengeId: zod_1.z.string().min(1),
69
+ runtimeSessionId: zod_1.z.string().min(1),
70
+ deckId: zod_1.z.string().uuid(),
71
+ deckName: zod_1.z.string().min(1).optional(),
72
+ expiresAt: zod_1.z.string().datetime(),
73
+ approvalPath: zod_1.z.string().min(1),
64
74
  });
65
75
  exports.DISPLAY_LINE_MAX_LENGTH = 120;
66
76
  function countDeckCards(deck) {
@@ -1 +1 @@
1
- {"version":3,"file":"deck-display.js","sourceRoot":"","sources":["../../src/schemas/deck-display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deck-display.js","sourceRoot":"","sources":["../../src/schemas/deck-display.ts"],"names":[],"mappings":"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"}
@@ -235,13 +235,13 @@ export declare const BundleV1Schema: z.ZodObject<{
235
235
  exec?: string | undefined;
236
236
  skill?: string | undefined;
237
237
  }[];
238
- scope: "collection" | "deck";
239
238
  format: "agent-deck-bundle";
240
239
  version: 1;
241
240
  exportedAt: string;
242
241
  exportedFrom: {
243
242
  agentDeckVersion: string;
244
243
  };
244
+ scope: "collection" | "deck";
245
245
  decks: {
246
246
  id: string;
247
247
  name: string;
@@ -249,13 +249,13 @@ export declare const BundleV1Schema: z.ZodObject<{
249
249
  playbookIds: string[];
250
250
  }[];
251
251
  }, {
252
- scope: "collection" | "deck";
253
252
  format: "agent-deck-bundle";
254
253
  version: 1;
255
254
  exportedAt: string;
256
255
  exportedFrom: {
257
256
  agentDeckVersion: string;
258
257
  };
258
+ scope: "collection" | "deck";
259
259
  services?: {
260
260
  id: string;
261
261
  name: string;
@@ -7,19 +7,19 @@ export declare const OAuthConfigSchema: z.ZodObject<{
7
7
  redirectUri: z.ZodString;
8
8
  scope: z.ZodString;
9
9
  }, "strip", z.ZodTypeAny, {
10
+ scope: string;
10
11
  clientId: string;
11
12
  clientSecret: string;
12
13
  authorizationUrl: string;
13
14
  tokenUrl: string;
14
15
  redirectUri: string;
15
- scope: string;
16
16
  }, {
17
+ scope: string;
17
18
  clientId: string;
18
19
  clientSecret: string;
19
20
  authorizationUrl: string;
20
21
  tokenUrl: string;
21
22
  redirectUri: string;
22
- scope: string;
23
23
  }>;
24
24
  export declare const OAuthTokenSchema: z.ZodObject<{
25
25
  accessToken: z.ZodString;
@@ -0,0 +1,108 @@
1
+ import { z } from 'zod';
2
+ export declare const AgentSessionModeSchema: z.ZodEnum<["normal", "agent-admin"]>;
3
+ export declare const TrustedSessionErrorCodeSchema: z.ZodEnum<["GRANT_REQUIRED", "SESSION_INVALID", "SESSION_REVOKED", "WORKSPACE_SCOPE_MISMATCH", "RESOURCE_OUT_OF_SCOPE", "ADMIN_REQUIRED", "DASHBOARD_REQUIRED", "ADMIN_CHALLENGE_EXPIRED"]>;
4
+ export declare const WorkspaceGrantStatusSchema: z.ZodEnum<["pending", "active", "revoked"]>;
5
+ export declare const RuntimeSessionSchema: z.ZodObject<{
6
+ sessionId: z.ZodString;
7
+ mcpSessionId: z.ZodOptional<z.ZodString>;
8
+ workspaceKey: z.ZodString;
9
+ workspaceGrantId: z.ZodString;
10
+ deckId: z.ZodString;
11
+ mode: z.ZodEnum<["normal", "agent-admin"]>;
12
+ lastSeenAt: z.ZodString;
13
+ expiresAt: z.ZodString;
14
+ adminExpiresAt: z.ZodNullable<z.ZodString>;
15
+ }, "strict", z.ZodTypeAny, {
16
+ deckId: string;
17
+ expiresAt: string;
18
+ mode: "normal" | "agent-admin";
19
+ sessionId: string;
20
+ workspaceKey: string;
21
+ workspaceGrantId: string;
22
+ lastSeenAt: string;
23
+ adminExpiresAt: string | null;
24
+ mcpSessionId?: string | undefined;
25
+ }, {
26
+ deckId: string;
27
+ expiresAt: string;
28
+ mode: "normal" | "agent-admin";
29
+ sessionId: string;
30
+ workspaceKey: string;
31
+ workspaceGrantId: string;
32
+ lastSeenAt: string;
33
+ adminExpiresAt: string | null;
34
+ mcpSessionId?: string | undefined;
35
+ }>;
36
+ export declare const WorkspaceGrantManifestSchema: z.ZodObject<{
37
+ version: z.ZodLiteral<2>;
38
+ workspaceKey: z.ZodString;
39
+ grantId: z.ZodString;
40
+ secret: z.ZodString;
41
+ deckId: z.ZodString;
42
+ deckName: z.ZodOptional<z.ZodString>;
43
+ mcpUrl: z.ZodOptional<z.ZodString>;
44
+ store: z.ZodOptional<z.ZodEnum<["file", "keychain"]>>;
45
+ updatedAt: z.ZodString;
46
+ }, "strict", z.ZodTypeAny, {
47
+ updatedAt: string;
48
+ deckId: string;
49
+ version: 2;
50
+ workspaceKey: string;
51
+ grantId: string;
52
+ secret: string;
53
+ deckName?: string | undefined;
54
+ mcpUrl?: string | undefined;
55
+ store?: "file" | "keychain" | undefined;
56
+ }, {
57
+ updatedAt: string;
58
+ deckId: string;
59
+ version: 2;
60
+ workspaceKey: string;
61
+ grantId: string;
62
+ secret: string;
63
+ deckName?: string | undefined;
64
+ mcpUrl?: string | undefined;
65
+ store?: "file" | "keychain" | undefined;
66
+ }>;
67
+ export declare const RedactedSessionBindingSchema: z.ZodObject<{
68
+ sessionId: z.ZodString;
69
+ workspaceKey: z.ZodString;
70
+ deckId: z.ZodString;
71
+ deckName: z.ZodOptional<z.ZodString>;
72
+ mode: z.ZodEnum<["normal", "agent-admin"]>;
73
+ expiresAt: z.ZodString;
74
+ adminExpiresAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
75
+ display_summary: z.ZodOptional<z.ZodString>;
76
+ }, "strict", z.ZodTypeAny, {
77
+ deckId: string;
78
+ expiresAt: string;
79
+ mode: "normal" | "agent-admin";
80
+ sessionId: string;
81
+ workspaceKey: string;
82
+ deckName?: string | undefined;
83
+ adminExpiresAt?: string | null | undefined;
84
+ display_summary?: string | undefined;
85
+ }, {
86
+ deckId: string;
87
+ expiresAt: string;
88
+ mode: "normal" | "agent-admin";
89
+ sessionId: string;
90
+ workspaceKey: string;
91
+ deckName?: string | undefined;
92
+ adminExpiresAt?: string | null | undefined;
93
+ display_summary?: string | undefined;
94
+ }>;
95
+ export type AgentSessionMode = z.infer<typeof AgentSessionModeSchema>;
96
+ export type TrustedSessionErrorCode = z.infer<typeof TrustedSessionErrorCodeSchema>;
97
+ export type WorkspaceGrantStatus = z.infer<typeof WorkspaceGrantStatusSchema>;
98
+ export type RuntimeSession = z.infer<typeof RuntimeSessionSchema>;
99
+ export type WorkspaceGrantManifest = z.infer<typeof WorkspaceGrantManifestSchema>;
100
+ export type RedactedSessionBinding = z.infer<typeof RedactedSessionBindingSchema>;
101
+ export type TrustedSessionErrorBody = {
102
+ success: false;
103
+ error: string;
104
+ error_code: TrustedSessionErrorCode;
105
+ };
106
+ export declare function trustedSessionError(code: TrustedSessionErrorCode, message: string): TrustedSessionErrorBody;
107
+ export declare function httpStatusForTrustedError(code: TrustedSessionErrorCode): number;
108
+ //# sourceMappingURL=trusted-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trusted-session.d.ts","sourceRoot":"","sources":["../../src/schemas/trusted-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB,sCAAoC,CAAC;AAExE,eAAO,MAAM,6BAA6B,6LASxC,CAAC;AAEH,eAAO,MAAM,0BAA0B,6CAA2C,CAAC;AAEnF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYtB,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY9B,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW9B,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,uBAAuB,CAAC;CACrC,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,MAAM,GACd,uBAAuB,CAEzB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,CAgB/E"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedactedSessionBindingSchema = exports.WorkspaceGrantManifestSchema = exports.RuntimeSessionSchema = exports.WorkspaceGrantStatusSchema = exports.TrustedSessionErrorCodeSchema = exports.AgentSessionModeSchema = void 0;
4
+ exports.trustedSessionError = trustedSessionError;
5
+ exports.httpStatusForTrustedError = httpStatusForTrustedError;
6
+ const zod_1 = require("zod");
7
+ exports.AgentSessionModeSchema = zod_1.z.enum(['normal', 'agent-admin']);
8
+ exports.TrustedSessionErrorCodeSchema = zod_1.z.enum([
9
+ 'GRANT_REQUIRED',
10
+ 'SESSION_INVALID',
11
+ 'SESSION_REVOKED',
12
+ 'WORKSPACE_SCOPE_MISMATCH',
13
+ 'RESOURCE_OUT_OF_SCOPE',
14
+ 'ADMIN_REQUIRED',
15
+ 'DASHBOARD_REQUIRED',
16
+ 'ADMIN_CHALLENGE_EXPIRED',
17
+ ]);
18
+ exports.WorkspaceGrantStatusSchema = zod_1.z.enum(['pending', 'active', 'revoked']);
19
+ exports.RuntimeSessionSchema = zod_1.z
20
+ .object({
21
+ sessionId: zod_1.z.string(),
22
+ mcpSessionId: zod_1.z.string().optional(),
23
+ workspaceKey: zod_1.z.string(),
24
+ workspaceGrantId: zod_1.z.string(),
25
+ deckId: zod_1.z.string(),
26
+ mode: exports.AgentSessionModeSchema,
27
+ lastSeenAt: zod_1.z.string().datetime(),
28
+ expiresAt: zod_1.z.string().datetime(),
29
+ adminExpiresAt: zod_1.z.string().datetime().nullable(),
30
+ })
31
+ .strict();
32
+ exports.WorkspaceGrantManifestSchema = zod_1.z
33
+ .object({
34
+ version: zod_1.z.literal(2),
35
+ workspaceKey: zod_1.z.string(),
36
+ grantId: zod_1.z.string(),
37
+ secret: zod_1.z.string().min(32),
38
+ deckId: zod_1.z.string(),
39
+ deckName: zod_1.z.string().optional(),
40
+ mcpUrl: zod_1.z.string().url().optional(),
41
+ store: zod_1.z.enum(['file', 'keychain']).optional(),
42
+ updatedAt: zod_1.z.string().datetime(),
43
+ })
44
+ .strict();
45
+ exports.RedactedSessionBindingSchema = zod_1.z
46
+ .object({
47
+ sessionId: zod_1.z.string(),
48
+ workspaceKey: zod_1.z.string(),
49
+ deckId: zod_1.z.string(),
50
+ deckName: zod_1.z.string().optional(),
51
+ mode: exports.AgentSessionModeSchema,
52
+ expiresAt: zod_1.z.string().datetime(),
53
+ adminExpiresAt: zod_1.z.string().datetime().nullable().optional(),
54
+ display_summary: zod_1.z.string().optional(),
55
+ })
56
+ .strict();
57
+ function trustedSessionError(code, message) {
58
+ return { success: false, error: message, error_code: code };
59
+ }
60
+ function httpStatusForTrustedError(code) {
61
+ switch (code) {
62
+ case 'GRANT_REQUIRED':
63
+ case 'SESSION_INVALID':
64
+ case 'SESSION_REVOKED':
65
+ return 401;
66
+ case 'WORKSPACE_SCOPE_MISMATCH':
67
+ case 'RESOURCE_OUT_OF_SCOPE':
68
+ case 'ADMIN_REQUIRED':
69
+ case 'DASHBOARD_REQUIRED':
70
+ return 403;
71
+ case 'ADMIN_CHALLENGE_EXPIRED':
72
+ return 410;
73
+ default:
74
+ return 500;
75
+ }
76
+ }
77
+ //# sourceMappingURL=trusted-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trusted-session.js","sourceRoot":"","sources":["../../src/schemas/trusted-session.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
+ import type { TrustedSessionErrorCode } from '../schemas/trusted-session';
1
2
  import type { McpErrorCode, ServiceToolErrorDetails } from './service';
2
3
  export interface ApiResponse<T = any> {
3
4
  success: boolean;
4
5
  data?: T;
5
6
  error?: string;
6
- error_code?: McpErrorCode;
7
+ error_code?: McpErrorCode | TrustedSessionErrorCode;
7
8
  details?: ServiceToolErrorDetails;
8
9
  message?: string;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEvE,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC;IAC5D,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,CAAC;IAChF,IAAI,EAAE,GAAG,CAAC;CACX"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEvE,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,YAAY,GAAG,uBAAuB,CAAC;IACpD,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC;IAC5D,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,CAAC;IAChF,IAAI,EAAE,GAAG,CAAC;CACX"}
@@ -9,4 +9,5 @@ export * from './oauth-session';
9
9
  export * from './local-mcp-manifest';
10
10
  export * from './agent-deck-home';
11
11
  export * from './trigger-hygiene';
12
+ export * from './workspace-key';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -25,4 +25,5 @@ __exportStar(require("./oauth-session"), exports);
25
25
  __exportStar(require("./local-mcp-manifest"), exports);
26
26
  __exportStar(require("./agent-deck-home"), exports);
27
27
  __exportStar(require("./trigger-hygiene"), exports);
28
+ __exportStar(require("./workspace-key"), exports);
28
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAqB;AACrB,+CAA6B;AAC7B,6CAA2B;AAC3B,+CAA6B;AAC7B,6CAA2B;AAC3B,0DAAwC;AACxC,wDAAsC;AACtC,kDAAgC;AAChC,uDAAqC;AACrC,oDAAkC;AAClC,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAqB;AACrB,+CAA6B;AAC7B,6CAA2B;AAC3B,+CAA6B;AAC7B,6CAA2B;AAC3B,0DAAwC;AACxC,wDAAsC;AACtC,kDAAgC;AAChC,uDAAqC;AACrC,oDAAkC;AAClC,oDAAkC;AAClC,kDAAgC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Canonical workspace path (PRD C1).
3
+ * Resolves symlinks when the path exists, normalizes separators, applies NFC,
4
+ * strips trailing separators, and lowercases Windows drive letters.
5
+ */
6
+ export declare function canonicalizeWorkspacePath(inputPath: string): string;
7
+ /** Stable digest of canonical path — used before opaque workspaceKey registration. */
8
+ export declare function digestCanonicalWorkspacePath(canonicalPath: string): string;
9
+ export declare function prefixTrustedId(kind: 'wsp' | 'wgr' | 'ses' | 'adm', rawId: string): string;
10
+ //# sourceMappingURL=workspace-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-key.d.ts","sourceRoot":"","sources":["../../src/utils/workspace-key.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA4BnE;AAED,sFAAsF;AACtF,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1F"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.canonicalizeWorkspacePath = canonicalizeWorkspacePath;
7
+ exports.digestCanonicalWorkspacePath = digestCanonicalWorkspacePath;
8
+ exports.prefixTrustedId = prefixTrustedId;
9
+ const node_crypto_1 = require("node:crypto");
10
+ const node_fs_1 = __importDefault(require("node:fs"));
11
+ const node_path_1 = __importDefault(require("node:path"));
12
+ /**
13
+ * Canonical workspace path (PRD C1).
14
+ * Resolves symlinks when the path exists, normalizes separators, applies NFC,
15
+ * strips trailing separators, and lowercases Windows drive letters.
16
+ */
17
+ function canonicalizeWorkspacePath(inputPath) {
18
+ const absolute = node_path_1.default.resolve(inputPath);
19
+ let resolved = absolute;
20
+ try {
21
+ resolved = node_fs_1.default.realpathSync.native(absolute);
22
+ }
23
+ catch {
24
+ resolved = node_path_1.default.normalize(absolute);
25
+ }
26
+ if (process.platform === 'win32') {
27
+ resolved = resolved.replace(/^([A-Za-z]):/, (_match, drive) => `${drive.toLowerCase()}:`);
28
+ resolved = resolved.replace(/\//g, '\\');
29
+ }
30
+ else {
31
+ resolved = resolved.replace(/\\/g, '/');
32
+ }
33
+ resolved = node_path_1.default.normalize(resolved);
34
+ const isRoot = resolved === '/' ||
35
+ (process.platform === 'win32' && /^[a-z]:\\?$/i.test(resolved));
36
+ if (!isRoot && (resolved.endsWith('/') || resolved.endsWith('\\'))) {
37
+ resolved = resolved.replace(/[\\/]+$/, '');
38
+ }
39
+ return resolved.normalize('NFC');
40
+ }
41
+ /** Stable digest of canonical path — used before opaque workspaceKey registration. */
42
+ function digestCanonicalWorkspacePath(canonicalPath) {
43
+ return (0, node_crypto_1.createHash)('sha256').update(canonicalPath, 'utf8').digest('hex');
44
+ }
45
+ function prefixTrustedId(kind, rawId) {
46
+ return `${kind}_${rawId.replace(/-/g, '')}`;
47
+ }
48
+ //# sourceMappingURL=workspace-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-key.js","sourceRoot":"","sources":["../../src/utils/workspace-key.ts"],"names":[],"mappings":";;;;;AASA,8DA4BC;AAGD,oEAEC;AAED,0CAEC;AA9CD,6CAAyC;AACzC,sDAAyB;AACzB,0DAA6B;AAE7B;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,SAAiB;IACzD,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzC,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,IAAI,CAAC;QACH,QAAQ,GAAG,iBAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,mBAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,KAAa,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAClG,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ,GAAG,mBAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,MAAM,GACV,QAAQ,KAAK,GAAG;QAChB,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAElE,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACnE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,sFAAsF;AACtF,SAAgB,4BAA4B,CAAC,aAAqB;IAChE,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,eAAe,CAAC,IAAmC,EAAE,KAAa;IAChF,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AAC9C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-deck/shared",
3
- "version": "1.6.4",
3
+ "version": "1.7.0",
4
4
  "description": "Shared types, schemas, and utilities for Agent Deck",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",