@kya-os/mcp-i-cloudflare 1.4.1-canary.0 → 1.4.1-canary.10

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.
Files changed (53) hide show
  1. package/README.md +120 -1
  2. package/dist/adapter.d.ts +6 -0
  3. package/dist/adapter.d.ts.map +1 -1
  4. package/dist/adapter.js +29 -0
  5. package/dist/adapter.js.map +1 -1
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +8 -0
  8. package/dist/agent.js.map +1 -1
  9. package/dist/app.d.ts +6 -3
  10. package/dist/app.d.ts.map +1 -1
  11. package/dist/app.js +14 -1
  12. package/dist/app.js.map +1 -1
  13. package/dist/index.d.ts +3 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +5 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/runtime.d.ts +22 -8
  18. package/dist/runtime.d.ts.map +1 -1
  19. package/dist/runtime.js +125 -28
  20. package/dist/runtime.js.map +1 -1
  21. package/dist/server.d.ts.map +1 -1
  22. package/dist/server.js +23 -4
  23. package/dist/server.js.map +1 -1
  24. package/dist/services/admin.service.d.ts.map +1 -1
  25. package/dist/services/admin.service.js +36 -3
  26. package/dist/services/admin.service.js.map +1 -1
  27. package/dist/services/consent-config.service.d.ts +46 -0
  28. package/dist/services/consent-config.service.d.ts.map +1 -0
  29. package/dist/services/consent-config.service.js +157 -0
  30. package/dist/services/consent-config.service.js.map +1 -0
  31. package/dist/services/consent-page-renderer.d.ts +137 -0
  32. package/dist/services/consent-page-renderer.d.ts.map +1 -0
  33. package/dist/services/consent-page-renderer.js +539 -0
  34. package/dist/services/consent-page-renderer.js.map +1 -0
  35. package/dist/services/consent.service.d.ts +58 -3
  36. package/dist/services/consent.service.d.ts.map +1 -1
  37. package/dist/services/consent.service.js +373 -18
  38. package/dist/services/consent.service.js.map +1 -1
  39. package/dist/services/proof-batch-queue.d.ts +104 -0
  40. package/dist/services/proof-batch-queue.d.ts.map +1 -0
  41. package/dist/services/proof-batch-queue.js +209 -0
  42. package/dist/services/proof-batch-queue.js.map +1 -0
  43. package/dist/services/proof.service.d.ts +38 -1
  44. package/dist/services/proof.service.d.ts.map +1 -1
  45. package/dist/services/proof.service.js +214 -21
  46. package/dist/services/proof.service.js.map +1 -1
  47. package/dist/services/transport.service.d.ts +47 -0
  48. package/dist/services/transport.service.d.ts.map +1 -0
  49. package/dist/services/transport.service.js +76 -0
  50. package/dist/services/transport.service.js.map +1 -0
  51. package/dist/types.d.ts +1 -0
  52. package/dist/types.d.ts.map +1 -1
  53. package/package.json +2 -2
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Transport Detection Service
3
+ *
4
+ * Detects the transport type (HTTP, SSE, STDIO) and determines the appropriate
5
+ * consent strategy (server-hosted vs dashboard-hosted).
6
+ *
7
+ * Related Spec: MCP-I Phase 0 Implementation Plan, Task B.2
8
+ */
9
+ /**
10
+ * Transport Service
11
+ *
12
+ * Provides utilities for detecting transport type and determining consent strategy
13
+ */
14
+ export class TransportService {
15
+ /**
16
+ * Detect the current transport type
17
+ *
18
+ * Detection logic:
19
+ * - Cloudflare Workers: Always HTTP capable (Request/Response available)
20
+ * - STDIO transport: process.stdin/stdout available (no HTTP server)
21
+ * - Default: HTTP (most common)
22
+ *
23
+ * @returns Detected transport type
24
+ */
25
+ static detectTransport() {
26
+ // Cloudflare Workers - always HTTP capable
27
+ // Check for Request/Response globals (Cloudflare Workers environment)
28
+ if (typeof Request !== 'undefined' && typeof Response !== 'undefined') {
29
+ return 'http';
30
+ }
31
+ // STDIO transport (Node.js with stdin/stdout, no HTTP server)
32
+ // Check for Node.js process object with stdin/stdout
33
+ // Use type assertion to avoid TypeScript errors in Cloudflare Workers environment
34
+ const proc = typeof globalThis !== 'undefined' && 'process' in globalThis
35
+ ? globalThis.process
36
+ : undefined;
37
+ if (proc &&
38
+ proc.stdin &&
39
+ proc.stdout &&
40
+ !proc.env?.NODE_ENV?.includes('worker')) {
41
+ return 'stdio';
42
+ }
43
+ // Default to HTTP for unknown environments
44
+ // This covers most web-based scenarios
45
+ return 'http';
46
+ }
47
+ /**
48
+ * Get consent strategy based on transport type
49
+ *
50
+ * Strategy selection:
51
+ * - STDIO: dashboard-hosted (can't serve HTTP pages)
52
+ * - HTTP/SSE: server-hosted (can serve consent pages)
53
+ *
54
+ * @param transport - Optional transport type (auto-detected if not provided)
55
+ * @returns Consent strategy
56
+ */
57
+ static getConsentStrategy(transport) {
58
+ const detected = transport || this.detectTransport();
59
+ // STDIO can't serve HTTP pages, must use dashboard-hosted consent
60
+ if (detected === 'stdio') {
61
+ return 'dashboard-hosted';
62
+ }
63
+ // HTTP/SSE can serve consent pages directly
64
+ return 'server-hosted';
65
+ }
66
+ /**
67
+ * Check if server-hosted consent is available
68
+ *
69
+ * @param transport - Optional transport type (auto-detected if not provided)
70
+ * @returns true if server-hosted consent is available
71
+ */
72
+ static canServeConsentPage(transport) {
73
+ return this.getConsentStrategy(transport) === 'server-hosted';
74
+ }
75
+ }
76
+ //# sourceMappingURL=transport.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.service.js","sourceRoot":"","sources":["../../src/services/transport.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;;;;;;;;OASG;IACH,MAAM,CAAC,eAAe;QACpB,2CAA2C;QAC3C,sEAAsE;QACtE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,8DAA8D;QAC9D,qDAAqD;QACrD,kFAAkF;QAClF,MAAM,IAAI,GAAG,OAAO,UAAU,KAAK,WAAW,IAAI,SAAS,IAAI,UAAU;YACvE,CAAC,CAAE,UAA+F,CAAC,OAAO;YAC1G,CAAC,CAAC,SAAS,CAAC;QACd,IACE,IAAI;YACJ,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,MAAM;YACX,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EACvC,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,2CAA2C;QAC3C,uCAAuC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,kBAAkB,CAAC,SAAyB;QACjD,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAErD,kEAAkE;QAClE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAED,4CAA4C;QAC5C,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAyB;QAClD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,eAAe,CAAC;IAChE,CAAC;CACF"}
package/dist/types.d.ts CHANGED
@@ -22,6 +22,7 @@ export interface CloudflareEnv {
22
22
  AGENTSHIELD_PROJECT_ID?: string;
23
23
  MCPI_ENV?: string;
24
24
  ENVIRONMENT?: string;
25
+ ADMIN_API_KEY?: string;
25
26
  _durableObjectState?: DurableObjectState;
26
27
  }
27
28
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;CAC1C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;CAC1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kya-os/mcp-i-cloudflare",
3
- "version": "1.4.1-canary.0",
3
+ "version": "1.4.1-canary.10",
4
4
  "description": "Cloudflare Workers implementation of MCP-I framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,7 +38,7 @@
38
38
  "edge"
39
39
  ],
40
40
  "dependencies": {
41
- "@kya-os/contracts": "1.5.2-canary.0",
41
+ "@kya-os/contracts": "1.5.2-canary.2",
42
42
  "@kya-os/mcp-i-core": "1.1.13-canary.1",
43
43
  "@modelcontextprotocol/sdk": "^1.11.4",
44
44
  "base-x": "^5.0.1"