@opengeni/react 2.0.1 → 2.0.2-canary.38789554071001

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 (70) hide show
  1. package/dist/artifacts.js +4 -2
  2. package/dist/artifacts.js.map +1 -1
  3. package/dist/{browser-viewer-RZH5JVFZ.js → browser-viewer-M7BIVFTW.js} +3 -3
  4. package/dist/{chat-interactive-block-UCACTZIE.js → chat-interactive-block-BO2IWXVK.js} +3 -3
  5. package/dist/{chunk-NIIXN66Z.js → chunk-5XEXTWEM.js} +2 -2
  6. package/dist/{chunk-4JUSFDTA.js → chunk-6JFN3OWG.js} +28 -225
  7. package/dist/chunk-6JFN3OWG.js.map +1 -0
  8. package/dist/{chunk-BSIADJ4U.js → chunk-6SNDCUPB.js} +2 -2
  9. package/dist/{chunk-RRYCD3QD.js → chunk-AMVCNAGC.js} +992 -924
  10. package/dist/chunk-AMVCNAGC.js.map +1 -0
  11. package/dist/{chunk-ERLG2X3U.js → chunk-CORUP6JB.js} +3 -2
  12. package/dist/chunk-CORUP6JB.js.map +1 -0
  13. package/dist/{chunk-6JUSXDF4.js → chunk-HBXL6HWG.js} +2 -2
  14. package/dist/{chunk-HQN5AZFY.js → chunk-HGKELH6Z.js} +12 -3
  15. package/dist/{chunk-HQN5AZFY.js.map → chunk-HGKELH6Z.js.map} +1 -1
  16. package/dist/{chunk-QWA4BHC6.js → chunk-ISN726VG.js} +2 -2
  17. package/dist/{chunk-QQ5UGGGE.js → chunk-KZENYIA2.js} +16 -2
  18. package/dist/{chunk-QQ5UGGGE.js.map → chunk-KZENYIA2.js.map} +1 -1
  19. package/dist/{chunk-25YZS7TK.js → chunk-O5GPRG76.js} +4 -4
  20. package/dist/{chunk-UPP6YD2R.js → chunk-PWCBMEV2.js} +4 -4
  21. package/dist/{chunk-X6KAA43Z.js → chunk-Q26UAIXI.js} +2 -2
  22. package/dist/{chunk-U7A22SY4.js → chunk-TIHSXNBC.js} +6 -2
  23. package/dist/{chunk-U7A22SY4.js.map → chunk-TIHSXNBC.js.map} +1 -1
  24. package/dist/{chunk-2U54CHR5.js → chunk-VIUEOHXY.js} +3 -2
  25. package/dist/chunk-VIUEOHXY.js.map +1 -0
  26. package/dist/components/artifacts/artifact-sandbox.d.ts +3 -0
  27. package/dist/components/artifacts/published-html-artifact-frame.d.ts +15 -51
  28. package/dist/components/artifacts/site-view.d.ts +4 -1
  29. package/dist/components/linkified-text.d.ts +18 -0
  30. package/dist/composer-messages.js +2 -2
  31. package/dist/composer.js +4 -4
  32. package/dist/connect.js +2 -2
  33. package/dist/index.js +12 -12
  34. package/dist/interaction.js +2 -2
  35. package/dist/{latest-question-6WZQV23L.js → latest-question-CHE7E753.js} +3 -3
  36. package/dist/lib/format.d.ts +7 -0
  37. package/dist/machines.js +2 -2
  38. package/dist/{platform-activity-row-UQDQDX4C.js → platform-activity-row-5OCKOQWZ.js} +2 -2
  39. package/dist/session-ui.js +10 -10
  40. package/dist/session.js +4 -4
  41. package/dist/sites.js +1 -1
  42. package/dist/timeline/types.d.ts +1 -1
  43. package/dist/timeline-model.js +3 -3
  44. package/package.json +3 -3
  45. package/src/components/artifacts/artifact-sandbox.tsx +4 -0
  46. package/src/components/artifacts/published-html-artifact-frame.tsx +48 -321
  47. package/src/components/artifacts/site-view.tsx +5 -0
  48. package/src/components/human-input-form.tsx +19 -13
  49. package/src/components/linkified-text.tsx +79 -0
  50. package/src/components/message-timeline.tsx +4 -3
  51. package/src/hooks/use-machines.ts +4 -0
  52. package/src/lib/format.ts +25 -1
  53. package/src/timeline/platform-activity-presentation.ts +1 -0
  54. package/src/timeline/projection.ts +18 -1
  55. package/src/timeline/types.ts +1 -0
  56. package/dist/chunk-2U54CHR5.js.map +0 -1
  57. package/dist/chunk-4JUSFDTA.js.map +0 -1
  58. package/dist/chunk-ERLG2X3U.js.map +0 -1
  59. package/dist/chunk-RRYCD3QD.js.map +0 -1
  60. /package/dist/{browser-viewer-RZH5JVFZ.js.map → browser-viewer-M7BIVFTW.js.map} +0 -0
  61. /package/dist/{chat-interactive-block-UCACTZIE.js.map → chat-interactive-block-BO2IWXVK.js.map} +0 -0
  62. /package/dist/{chunk-NIIXN66Z.js.map → chunk-5XEXTWEM.js.map} +0 -0
  63. /package/dist/{chunk-BSIADJ4U.js.map → chunk-6SNDCUPB.js.map} +0 -0
  64. /package/dist/{chunk-6JUSXDF4.js.map → chunk-HBXL6HWG.js.map} +0 -0
  65. /package/dist/{chunk-QWA4BHC6.js.map → chunk-ISN726VG.js.map} +0 -0
  66. /package/dist/{chunk-25YZS7TK.js.map → chunk-O5GPRG76.js.map} +0 -0
  67. /package/dist/{chunk-UPP6YD2R.js.map → chunk-PWCBMEV2.js.map} +0 -0
  68. /package/dist/{chunk-X6KAA43Z.js.map → chunk-Q26UAIXI.js.map} +0 -0
  69. /package/dist/{latest-question-6WZQV23L.js.map → latest-question-CHE7E753.js.map} +0 -0
  70. /package/dist/{platform-activity-row-UQDQDX4C.js.map → platform-activity-row-5OCKOQWZ.js.map} +0 -0
@@ -24,7 +24,8 @@ function startupPhaseTitle(phase, status, outcome) {
24
24
  var STARTUP_WAIT_TITLES = {
25
25
  capture_in_progress: "Waiting for sandbox checkpoint",
26
26
  rotation_in_progress: "Waiting for sandbox rotation",
27
- provider_recovery_in_progress: "Waiting for sandbox recovery"
27
+ provider_recovery_in_progress: "Waiting for sandbox recovery",
28
+ compaction_required: "Compacting conversation first"
28
29
  };
29
30
  var STARTUP_PHASE_TITLES = {
30
31
  queue: [
@@ -118,4 +119,4 @@ export {
118
119
  workerRowTitleParts,
119
120
  workerRowTitle
120
121
  };
121
- //# sourceMappingURL=chunk-ERLG2X3U.js.map
122
+ //# sourceMappingURL=chunk-CORUP6JB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/timeline/platform-activity-presentation.ts"],"sourcesContent":["import type { SandboxItem, StartupPhaseItem, WorkerItem } from \"./types\";\n\n/* Pure titles and durations for platform activity rows (startup phases and\n sandbox operations), shared by DOM and non-DOM renderers. */\n\nexport function sandboxRowTitle(item: SandboxItem, displayName: (name: string) => string): string {\n if (item.name === \"sandbox.provision\") {\n return startupPhaseTitle(\n \"sandbox\",\n item.status === \"cancelled\" ? \"complete\" : item.status,\n item.origin ?? null,\n );\n }\n return displayName(item.name);\n}\n\nexport function startupPhaseTitle(\n phase: StartupPhaseItem[\"phase\"],\n status: StartupPhaseItem[\"status\"],\n outcome: StartupPhaseItem[\"outcome\"],\n): string {\n if (status === \"complete\" && phase === \"sandbox\" && outcome && outcome !== \"skipped\") {\n return `Sandbox ${outcome === \"resumed\" ? \"reattached\" : outcome}`;\n }\n if (status === \"complete\" && phase === \"rig\" && outcome === \"skipped\") {\n return \"Sandbox Environment already ready\";\n }\n const statusIndex =\n status === \"running\" ? 0 : status === \"failed\" ? 1 : status === \"cancelled\" ? 2 : 3;\n return STARTUP_PHASE_TITLES[phase][statusIndex];\n}\n\nexport const STARTUP_WAIT_TITLES: Record<NonNullable<StartupPhaseItem[\"blockedReason\"]>, string> = {\n capture_in_progress: \"Waiting for sandbox checkpoint\",\n rotation_in_progress: \"Waiting for sandbox rotation\",\n provider_recovery_in_progress: \"Waiting for sandbox recovery\",\n compaction_required: \"Compacting conversation first\",\n};\n\nconst STARTUP_PHASE_TITLES: Record<\n StartupPhaseItem[\"phase\"],\n readonly [string, string, string, string]\n> = {\n queue: [\n \"Waiting for a worker\",\n \"Worker startup failed\",\n \"Worker wait interrupted\",\n \"Worker started\",\n ],\n sandbox: [\n \"Starting sandbox\",\n \"Sandbox didn’t start\",\n \"Sandbox startup interrupted\",\n \"Sandbox ready\",\n ],\n rig: [\n \"Setting up sandbox environment\",\n \"Sandbox Environment setup failed\",\n \"Sandbox Environment setup interrupted\",\n \"Sandbox Environment ready\",\n ],\n repository: [\n \"Preparing repository\",\n \"Repository preparation failed\",\n \"Repository preparation interrupted\",\n \"Repository ready\",\n ],\n files: [\n \"Preparing files\",\n \"File preparation failed\",\n \"File preparation interrupted\",\n \"Files ready\",\n ],\n tools: [\n \"Connecting tools\",\n \"Tool connection failed\",\n \"Tool connection interrupted\",\n \"Tools ready\",\n ],\n model_preparation: [\n \"Preparing runtime and model request\",\n \"Runtime/model preparation failed\",\n \"Runtime/model preparation interrupted\",\n \"Model request dispatched\",\n ],\n provider_first_byte: [\n \"Waiting for model\",\n \"Model didn’t respond\",\n \"Model wait interrupted\",\n \"Model started responding\",\n ],\n};\n\nexport function startupDuration(durationMs: number | null): string | null {\n if (durationMs === null || !Number.isFinite(durationMs) || durationMs < 0) return null;\n if (durationMs < 1_000) return `${Math.round(durationMs)}ms`;\n if (durationMs < 60_000) return `${(durationMs / 1_000).toFixed(1)}s`;\n const minutes = Math.floor(durationMs / 60_000);\n const seconds = Math.round((durationMs % 60_000) / 1_000);\n return `${minutes}m ${String(seconds).padStart(2, \"0\")}s`;\n}\n\n/**\n * A title that names an agent: the words around the name stay quiet and the\n * name carries the emphasis. `name` is null when no title is known, and\n * `text` is then the generic fallback.\n */\nexport type AgentTitleParts = {\n before: string;\n name: string | null;\n after: string;\n text: string;\n};\n\nexport function namedAgentTitle(\n name: string | null | undefined,\n before: string,\n after: string,\n fallback: string,\n): AgentTitleParts {\n const trimmed = name?.trim() ? name.trim() : null;\n return trimmed\n ? { before, name: trimmed, after, text: `${before}${trimmed}${after}` }\n : { before: \"\", name: null, after: \"\", text: fallback };\n}\n\n/** The worker step title for a spawn or message, by status, naming the agent when known. */\nexport function workerRowTitleParts(\n item: Pick<WorkerItem, \"action\" | \"status\">,\n name?: string | null,\n): AgentTitleParts {\n const fallback = workerRowTitle(item);\n const spawn = item.action === \"spawn\";\n switch (item.status) {\n case \"running\":\n return namedAgentTitle(name, spawn ? \"Spawning \" : \"Messaging \", \"\", fallback);\n case \"failed\":\n return namedAgentTitle(name, spawn ? \"Couldn't spawn \" : \"Couldn't message \", \"\", fallback);\n case \"cancelled\":\n return namedAgentTitle(name, spawn ? \"Spawning \" : \"Messaging \", \"\", fallback);\n default:\n return namedAgentTitle(name, spawn ? \"Spawned \" : \"Messaged \", \"\", fallback);\n }\n}\n\n/** The generic worker step title for a spawn or message, by status. */\nexport function workerRowTitle(item: Pick<WorkerItem, \"action\" | \"status\">): string {\n const running = item.status === \"running\";\n const failed = item.status === \"failed\";\n const cancelled = item.status === \"cancelled\";\n return item.action === \"spawn\"\n ? running\n ? \"Spawning worker\"\n : failed\n ? \"Worker spawn failed\"\n : cancelled\n ? \"Worker interrupted\"\n : \"Worker spawned\"\n : running\n ? \"Messaging worker\"\n : failed\n ? \"Worker message failed\"\n : cancelled\n ? \"Worker interrupted\"\n : \"Worker messaged\";\n}\n"],"mappings":"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","names":[]}
@@ -10,7 +10,7 @@ import {
10
10
  formatClockTime,
11
11
  stringifyPayload,
12
12
  tryParseJson
13
- } from "./chunk-QQ5UGGGE.js";
13
+ } from "./chunk-KZENYIA2.js";
14
14
 
15
15
  // src/timeline/parsers.ts
16
16
  import {
@@ -1998,4 +1998,4 @@ export {
1998
1998
  timelineGroupSequences,
1999
1999
  timelineGroupIndexAtSequence
2000
2000
  };
2001
- //# sourceMappingURL=chunk-6JUSXDF4.js.map
2001
+ //# sourceMappingURL=chunk-HBXL6HWG.js.map
@@ -8,7 +8,7 @@ import {
8
8
  isCreditExhaustion,
9
9
  presentFailure,
10
10
  tryParseJson
11
- } from "./chunk-QQ5UGGGE.js";
11
+ } from "./chunk-KZENYIA2.js";
12
12
 
13
13
  // src/timeline/projection.ts
14
14
  import {
@@ -2734,6 +2734,9 @@ function startupPhaseFromPayload(value) {
2734
2734
  return typeof value === "string" && STARTUP_PHASES.has(value) ? value : null;
2735
2735
  }
2736
2736
  function startupLifecycleWaitReason(payload) {
2737
+ if (payload.expectedTransition === true && payload.failureStage === "context_compaction" && payload.failureCategory === "context_compaction" && payload.failureCode === "compaction_required") {
2738
+ return "compaction_required";
2739
+ }
2737
2740
  if (payload.expectedTransition !== true || payload.failureStage !== "lifecycle_wait" || payload.failureCategory !== "drain_capture_wait") {
2738
2741
  return void 0;
2739
2742
  }
@@ -2783,6 +2786,7 @@ function rememberPendingWaitOutcome(pending, event, payload, eventTurnId) {
2783
2786
  pending.set(turnId, { id: event.id, reason, occurredAt: event.occurredAt });
2784
2787
  }
2785
2788
  var ACTION_CAPACITY_WAIT_REASONS = /* @__PURE__ */ new Set([
2789
+ "pinned_account_disabled",
2786
2790
  "pinned_account_ineligible",
2787
2791
  "model_not_allowed",
2788
2792
  // Only sending the work again ends it (design 5.3 decision 4).
@@ -2793,7 +2797,12 @@ function capacityWaitPresentation(type, payload, turnId) {
2793
2797
  if (ACTION_CAPACITY_WAIT_REASONS.has(stringValue(payload.waitReason)) || ACTION_CAPACITY_WAIT_CODE.test(stringValue(payload.code))) {
2794
2798
  const [first, second] = type === "turn.capacity_waiting" ? [payload.error, payload.detail] : [payload.detail, payload.error];
2795
2799
  const detail = stringValue(first) || stringValue(second) || "Waiting for an account.";
2796
- return { turnId, label: "Waiting", detail, text: detail };
2800
+ return {
2801
+ turnId,
2802
+ label: stringValue(payload.waitReason) === "pinned_account_disabled" ? "Needs you" : "Waiting",
2803
+ detail,
2804
+ text: detail
2805
+ };
2797
2806
  }
2798
2807
  return {
2799
2808
  turnId,
@@ -3035,4 +3044,4 @@ export {
3035
3044
  isTurnExecutionEvidence,
3036
3045
  extractSessionRef
3037
3046
  };
3038
- //# sourceMappingURL=chunk-HQN5AZFY.js.map
3047
+ //# sourceMappingURL=chunk-HGKELH6Z.js.map