@copilotkit/runtime 1.80.0 → 1.81.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.
Files changed (119) hide show
  1. package/dist/_virtual/_rolldown/runtime.mjs +15 -1
  2. package/dist/agent/index.d.cts +1 -1
  3. package/dist/lib/runtime/copilot-runtime.cjs +17 -2
  4. package/dist/lib/runtime/copilot-runtime.cjs.map +1 -1
  5. package/dist/lib/runtime/copilot-runtime.d.cts +2 -2
  6. package/dist/lib/runtime/copilot-runtime.d.cts.map +1 -1
  7. package/dist/lib/runtime/copilot-runtime.d.mts +2 -2
  8. package/dist/lib/runtime/copilot-runtime.d.mts.map +1 -1
  9. package/dist/lib/runtime/copilot-runtime.mjs +18 -3
  10. package/dist/lib/runtime/copilot-runtime.mjs.map +1 -1
  11. package/dist/lib/runtime/legacy-service-adapter-agent.cjs +360 -0
  12. package/dist/lib/runtime/legacy-service-adapter-agent.cjs.map +1 -0
  13. package/dist/lib/runtime/legacy-service-adapter-agent.mjs +359 -0
  14. package/dist/lib/runtime/legacy-service-adapter-agent.mjs.map +1 -0
  15. package/dist/lib/telemetry-client.cjs +12 -1
  16. package/dist/lib/telemetry-client.cjs.map +1 -1
  17. package/dist/lib/telemetry-client.mjs +12 -1
  18. package/dist/lib/telemetry-client.mjs.map +1 -1
  19. package/dist/package.cjs +2 -2
  20. package/dist/package.mjs +2 -2
  21. package/dist/service-adapters/events.cjs +91 -0
  22. package/dist/service-adapters/events.cjs.map +1 -1
  23. package/dist/service-adapters/events.d.cts +6 -1
  24. package/dist/service-adapters/events.d.cts.map +1 -1
  25. package/dist/service-adapters/events.d.mts +6 -1
  26. package/dist/service-adapters/events.d.mts.map +1 -1
  27. package/dist/service-adapters/events.mjs +90 -1
  28. package/dist/service-adapters/events.mjs.map +1 -1
  29. package/dist/service-adapters/langchain/langchain-adapter.cjs +1 -1
  30. package/dist/service-adapters/langchain/langchain-adapter.cjs.map +1 -1
  31. package/dist/service-adapters/langchain/langchain-adapter.d.cts.map +1 -1
  32. package/dist/service-adapters/langchain/langchain-adapter.d.mts.map +1 -1
  33. package/dist/service-adapters/langchain/langchain-adapter.mjs +2 -2
  34. package/dist/service-adapters/langchain/langchain-adapter.mjs.map +1 -1
  35. package/dist/service-adapters/langchain/utils.cjs +53 -15
  36. package/dist/service-adapters/langchain/utils.cjs.map +1 -1
  37. package/dist/service-adapters/langchain/utils.mjs +53 -16
  38. package/dist/service-adapters/langchain/utils.mjs.map +1 -1
  39. package/dist/v2/index.cjs +5 -0
  40. package/dist/v2/index.d.cts +5 -2
  41. package/dist/v2/index.d.mts +5 -2
  42. package/dist/v2/index.mjs +4 -2
  43. package/dist/v2/runtime/core/package-info.cjs +1 -1
  44. package/dist/v2/runtime/core/package-info.mjs +1 -1
  45. package/dist/v2/runtime/core/runtime.cjs +5 -1
  46. package/dist/v2/runtime/core/runtime.cjs.map +1 -1
  47. package/dist/v2/runtime/core/runtime.d.cts +15 -0
  48. package/dist/v2/runtime/core/runtime.d.cts.map +1 -1
  49. package/dist/v2/runtime/core/runtime.d.mts +15 -0
  50. package/dist/v2/runtime/core/runtime.d.mts.map +1 -1
  51. package/dist/v2/runtime/core/runtime.mjs +5 -1
  52. package/dist/v2/runtime/core/runtime.mjs.map +1 -1
  53. package/dist/v2/runtime/endpoints/express.cjs +2 -2
  54. package/dist/v2/runtime/endpoints/express.cjs.map +1 -1
  55. package/dist/v2/runtime/endpoints/express.mjs +2 -2
  56. package/dist/v2/runtime/endpoints/express.mjs.map +1 -1
  57. package/dist/v2/runtime/endpoints/node-fetch-handler.cjs +51 -1
  58. package/dist/v2/runtime/endpoints/node-fetch-handler.cjs.map +1 -1
  59. package/dist/v2/runtime/endpoints/node-fetch-handler.d.cts.map +1 -1
  60. package/dist/v2/runtime/endpoints/node-fetch-handler.d.mts.map +1 -1
  61. package/dist/v2/runtime/endpoints/node-fetch-handler.mjs +52 -2
  62. package/dist/v2/runtime/endpoints/node-fetch-handler.mjs.map +1 -1
  63. package/dist/v2/runtime/generative-ui/generative-ui-middleware.cjs +394 -0
  64. package/dist/v2/runtime/generative-ui/generative-ui-middleware.cjs.map +1 -0
  65. package/dist/v2/runtime/generative-ui/generative-ui-middleware.d.cts +21 -0
  66. package/dist/v2/runtime/generative-ui/generative-ui-middleware.d.cts.map +1 -0
  67. package/dist/v2/runtime/generative-ui/generative-ui-middleware.d.mts +21 -0
  68. package/dist/v2/runtime/generative-ui/generative-ui-middleware.d.mts.map +1 -0
  69. package/dist/v2/runtime/generative-ui/generative-ui-middleware.mjs +393 -0
  70. package/dist/v2/runtime/generative-ui/generative-ui-middleware.mjs.map +1 -0
  71. package/dist/v2/runtime/generative-ui/index.d.cts +3 -0
  72. package/dist/v2/runtime/generative-ui/index.d.mts +3 -0
  73. package/dist/v2/runtime/generative-ui/surface-writer.cjs +86 -0
  74. package/dist/v2/runtime/generative-ui/surface-writer.cjs.map +1 -0
  75. package/dist/v2/runtime/generative-ui/surface-writer.d.cts +33 -0
  76. package/dist/v2/runtime/generative-ui/surface-writer.d.cts.map +1 -0
  77. package/dist/v2/runtime/generative-ui/surface-writer.d.mts +33 -0
  78. package/dist/v2/runtime/generative-ui/surface-writer.d.mts.map +1 -0
  79. package/dist/v2/runtime/generative-ui/surface-writer.mjs +85 -0
  80. package/dist/v2/runtime/generative-ui/surface-writer.mjs.map +1 -0
  81. package/dist/v2/runtime/handlers/handle-run.cjs +8 -3
  82. package/dist/v2/runtime/handlers/handle-run.cjs.map +1 -1
  83. package/dist/v2/runtime/handlers/handle-run.mjs +5 -1
  84. package/dist/v2/runtime/handlers/handle-run.mjs.map +1 -1
  85. package/dist/v2/runtime/handlers/shared/agent-utils.cjs +7 -0
  86. package/dist/v2/runtime/handlers/shared/agent-utils.cjs.map +1 -1
  87. package/dist/v2/runtime/handlers/shared/agent-utils.mjs +7 -0
  88. package/dist/v2/runtime/handlers/shared/agent-utils.mjs.map +1 -1
  89. package/dist/v2/runtime/index.d.cts +5 -1
  90. package/dist/v2/runtime/index.d.cts.map +1 -1
  91. package/dist/v2/runtime/index.d.mts +5 -1
  92. package/dist/v2/runtime/index.d.mts.map +1 -1
  93. package/dist/v2/runtime/intelligence-platform/client.cjs +84 -1
  94. package/dist/v2/runtime/intelligence-platform/client.cjs.map +1 -1
  95. package/dist/v2/runtime/intelligence-platform/client.d.cts +19 -1
  96. package/dist/v2/runtime/intelligence-platform/client.d.cts.map +1 -1
  97. package/dist/v2/runtime/intelligence-platform/client.d.mts +19 -1
  98. package/dist/v2/runtime/intelligence-platform/client.d.mts.map +1 -1
  99. package/dist/v2/runtime/intelligence-platform/client.mjs +84 -1
  100. package/dist/v2/runtime/intelligence-platform/client.mjs.map +1 -1
  101. package/dist/v2/runtime/intelligence-platform/experimental.d.cts +27 -0
  102. package/dist/v2/runtime/intelligence-platform/experimental.d.cts.map +1 -0
  103. package/dist/v2/runtime/intelligence-platform/experimental.d.mts +27 -0
  104. package/dist/v2/runtime/intelligence-platform/experimental.d.mts.map +1 -0
  105. package/dist/v2/runtime/intelligence-platform/index.d.cts +2 -1
  106. package/dist/v2/runtime/intelligence-platform/index.d.mts +2 -1
  107. package/dist/v2/runtime/intelligence-platform/learning-management.cjs +204 -0
  108. package/dist/v2/runtime/intelligence-platform/learning-management.cjs.map +1 -0
  109. package/dist/v2/runtime/intelligence-platform/learning-management.d.cts +112 -0
  110. package/dist/v2/runtime/intelligence-platform/learning-management.d.cts.map +1 -0
  111. package/dist/v2/runtime/intelligence-platform/learning-management.d.mts +112 -0
  112. package/dist/v2/runtime/intelligence-platform/learning-management.d.mts.map +1 -0
  113. package/dist/v2/runtime/intelligence-platform/learning-management.mjs +194 -0
  114. package/dist/v2/runtime/intelligence-platform/learning-management.mjs.map +1 -0
  115. package/package.json +5 -5
  116. package/dist/v2/runtime/endpoints/express-fetch-bridge.cjs +0 -82
  117. package/dist/v2/runtime/endpoints/express-fetch-bridge.cjs.map +0 -1
  118. package/dist/v2/runtime/endpoints/express-fetch-bridge.mjs +0 -81
  119. package/dist/v2/runtime/endpoints/express-fetch-bridge.mjs.map +0 -1
@@ -2,6 +2,7 @@ require("reflect-metadata");
2
2
  const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
3
3
  const require_learning = require('../core/learning.cjs');
4
4
  const require_learned_skills = require('./learned-skills.cjs');
5
+ const require_learning_management = require('./learning-management.cjs');
5
6
  const require_trajectories = require('./trajectories.cjs');
6
7
  let _copilotkit_shared = require("@copilotkit/shared");
7
8
  let zod = require("zod");
@@ -144,10 +145,11 @@ const CONFLICT = new Set([409]);
144
145
  * ```
145
146
  */
146
147
  var PlatformRequestError = class extends Error {
147
- constructor(message, status, retryable) {
148
+ constructor(message, status, retryable, code) {
148
149
  super(message);
149
150
  this.status = status;
150
151
  this.retryable = retryable;
152
+ this.code = code;
151
153
  this.name = "PlatformRequestError";
152
154
  }
153
155
  };
@@ -240,6 +242,16 @@ var CopilotKitIntelligence = class {
240
242
  #threadUpdatedListeners = /* @__PURE__ */ new Set();
241
243
  #threadDeletedListeners = /* @__PURE__ */ new Set();
242
244
  constructor(config) {
245
+ this.experimental = { learning: {
246
+ listLearningContainers: this.#listLearningContainers.bind(this),
247
+ getLearningContainer: this.#getLearningContainer.bind(this),
248
+ listLearningRuns: this.#listLearningRuns.bind(this),
249
+ startLearningRun: this.#startLearningRun.bind(this),
250
+ listLearningCandidates: this.#listLearningCandidates.bind(this),
251
+ getLearningCandidate: this.#getLearningCandidate.bind(this),
252
+ getLearningInsightEvidence: this.#getLearningInsightEvidence.bind(this),
253
+ reviewLearningCandidate: this.#reviewLearningCandidate.bind(this)
254
+ } };
243
255
  if (config.getLearningContainerId !== void 0 && typeof config.getLearningContainerId !== "function") throw new Error("CopilotKitIntelligence `getLearningContainerId` must be a callback");
244
256
  assertConfiguredApiKey(config.apiKey);
245
257
  if (config.getTrajectoryLearningContainerIds !== void 0 && typeof config.getTrajectoryLearningContainerIds !== "function") throw new Error("CopilotKitIntelligence `getTrajectoryLearningContainerIds` must be a callback");
@@ -554,6 +566,77 @@ var CopilotKitIntelligence = class {
554
566
  if (timeoutId !== void 0) clearTimeout(timeoutId);
555
567
  }
556
568
  }
569
+ /** Lists a bounded page of Learning spaces owned by this server's project key. */
570
+ async #listLearningContainers(options = {}) {
571
+ const query = options.cursor === void 0 ? "" : `?cursor=${encodeURIComponent(zod.z.string().min(1).max(128).parse(options.cursor))}`;
572
+ return this.#learningRequest("GET", `/api/v1/learning/containers${query}`, require_learning_management.learningContainerPageSchema, options.signal);
573
+ }
574
+ /** Reads one Learning space; this does not assign or move any conversations. */
575
+ async #getLearningContainer(options) {
576
+ return (await this.#learningRequest("GET", require_learning_management.learningContainerPath(options.containerId), zod.z.object({ container: require_learning_management.learningContainerSchema }), options.signal)).container;
577
+ }
578
+ /** Reads the latest 100 Learning runs; queue admission is not completion. */
579
+ async #listLearningRuns(options) {
580
+ return (await this.#learningRequest("GET", `${require_learning_management.learningContainerPath(options.containerId)}/runs`, zod.z.object({ runs: zod.z.array(require_learning_management.learningRunSchema).max(100) }), options.signal)).runs;
581
+ }
582
+ /** Starts or recovers a manual run for all eligible evidence in this space. Never retries automatically. */
583
+ async #startLearningRun(options) {
584
+ return (await this.#learningRequest("POST", `${require_learning_management.learningContainerPath(options.containerId)}/runs`, zod.z.object({ run: require_learning_management.learningRunSchema }), options.signal)).run;
585
+ }
586
+ /** Reads the latest 500 proposed Skill changes, including completed reviews. */
587
+ async #listLearningCandidates(options) {
588
+ return (await this.#learningRequest("GET", `${require_learning_management.learningContainerPath(options.containerId)}/candidates`, zod.z.object({ candidates: zod.z.array(require_learning_management.learningCandidateSchema).max(500) }), options.signal)).candidates;
589
+ }
590
+ /** Reads proposed files and supporting Insights for an explicit review decision. */
591
+ async #getLearningCandidate(options) {
592
+ return (await this.#learningRequest("GET", `${require_learning_management.learningContainerPath(options.containerId)}/candidates/${require_learning_management.learningObjectId(options.candidateId)}`, zod.z.object({ candidate: require_learning_management.learningCandidateDetailSchema }), options.signal)).candidate;
593
+ }
594
+ /** Reads scoped source evidence, including unavailable-source reasons. */
595
+ async #getLearningInsightEvidence(options) {
596
+ return (await this.#learningRequest("GET", `${require_learning_management.learningContainerPath(options.containerId)}/insights/${require_learning_management.learningObjectId(options.insightId)}/evidence`, zod.z.object({ evidence: zod.z.array(require_learning_management.learningInsightEvidenceSchema) }), options.signal)).evidence;
597
+ }
598
+ /** Publishes or rejects a proposal. The application must authorize its reviewer before calling. */
599
+ async #reviewLearningCandidate(options) {
600
+ const action = zod.z.enum(["approve", "reject"]).parse(options.action);
601
+ return (await this.#learningRequest("POST", `${require_learning_management.learningContainerPath(options.containerId)}/candidates/${require_learning_management.learningObjectId(options.candidateId)}/${action}`, zod.z.object({ review: require_learning_management.learningCandidateReviewSchema }), options.signal)).review;
602
+ }
603
+ /** Uses server credentials, bounded JSON, and a deadline without retrying mutations. */
604
+ async #learningRequest(method, path, schema, signal) {
605
+ signal?.throwIfAborted();
606
+ const controller = new AbortController();
607
+ const abort = () => controller.abort(signal?.reason);
608
+ signal?.addEventListener("abort", abort, { once: true });
609
+ const timeout = setTimeout(() => controller.abort(/* @__PURE__ */ new Error("Learning request timed out")), 3e4);
610
+ try {
611
+ const response = await fetch(`${this.#apiUrl}${path}`, {
612
+ method,
613
+ headers: {
614
+ Authorization: `Bearer ${this.#apiKey}`,
615
+ "Content-Type": "application/json"
616
+ },
617
+ ...method === "POST" ? { body: "{}" } : {},
618
+ signal: controller.signal
619
+ });
620
+ if (!response.ok) {
621
+ const body = await require_learning_management.readLearningJson(response, 64 * 1024, controller.signal).catch(() => void 0);
622
+ controller.signal.throwIfAborted();
623
+ const error = zod.z.object({ error: zod.z.object({
624
+ code: zod.z.string().regex(/^[A-Z][A-Z0-9_]{0,99}$/),
625
+ retryable: zod.z.boolean()
626
+ }) }).safeParse(body);
627
+ throw new PlatformRequestError(`Learning request failed (${response.status}).`, response.status, error.success ? error.data.error.retryable : response.status === 429 || response.status >= 500, error.success ? error.data.error.code : void 0);
628
+ }
629
+ try {
630
+ return schema.parse(await require_learning_management.readLearningJson(response, void 0, controller.signal));
631
+ } catch {
632
+ if (controller.signal.aborted) throw controller.signal.reason;
633
+ throw new PlatformRequestError("Invalid Learning response.", 502, true);
634
+ }
635
+ } finally {
636
+ clearTimeout(timeout);
637
+ signal?.removeEventListener("abort", abort);
638
+ }
639
+ }
557
640
  /** Fetches one credential-scoped, bounded Learning projection for Inspector. */
558
641
  async getInspectorLearning(request) {
559
642
  const url = new URL(`${this.#apiUrl}/api/inspector/learning`);