@bolt-foundry/gambit 0.5.3-dev.1 → 0.6.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 (116) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/bin/gambit.cjs +214 -0
  3. package/esm/_dnt.polyfills.d.ts +82 -6
  4. package/esm/_dnt.polyfills.d.ts.map +1 -1
  5. package/esm/_dnt.polyfills.js +127 -1
  6. package/esm/deps/jsr.io/@std/path/1.1.4/constants.d.ts +1 -1
  7. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.d.ts.map +1 -1
  8. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.d.ts.map +1 -1
  9. package/{simulator-ui → esm/gambit/simulator-ui/dist}/bundle.js +253 -120
  10. package/{simulator-ui → esm/gambit/simulator-ui/dist}/bundle.js.map +4 -4
  11. package/esm/mod.d.ts +53 -0
  12. package/esm/mod.d.ts.map +1 -0
  13. package/esm/mod.js +22 -0
  14. package/esm/packages/gambit-core/mod.d.ts.map +1 -0
  15. package/esm/packages/gambit-core/src/definitions.d.ts.map +1 -0
  16. package/esm/packages/gambit-core/src/openai_compat.d.ts.map +1 -0
  17. package/esm/packages/gambit-core/src/providers/openrouter.d.ts.map +1 -0
  18. package/esm/{gambit-core → packages/gambit-core}/src/providers/openrouter.js +1 -1
  19. package/esm/packages/gambit-core/src/render.d.ts.map +1 -0
  20. package/esm/packages/gambit-core/src/schema.d.ts.map +1 -0
  21. package/esm/src/durable_streams.d.ts.map +1 -0
  22. package/esm/{gambit/src → src}/server.d.ts +4 -1
  23. package/esm/src/server.d.ts.map +1 -0
  24. package/esm/{gambit/src → src}/server.js +26 -12
  25. package/esm/src/test_bot.d.ts.map +1 -0
  26. package/esm/src/trace.d.ts.map +1 -0
  27. package/esm/{gambit/src → src}/trace.js +2 -2
  28. package/package.json +10 -6
  29. package/script/_dnt.polyfills.d.ts +82 -6
  30. package/script/_dnt.polyfills.d.ts.map +1 -1
  31. package/script/_dnt.polyfills.js +128 -0
  32. package/script/deps/jsr.io/@std/internal/1.0.12/_os.js +17 -7
  33. package/script/deps/jsr.io/@std/path/1.1.4/constants.d.ts +1 -1
  34. package/script/deps/jsr.io/@std/path/1.1.4/posix/constants.d.ts.map +1 -1
  35. package/script/deps/jsr.io/@std/path/1.1.4/posix/resolve.js +17 -7
  36. package/script/deps/jsr.io/@std/path/1.1.4/windows/constants.d.ts.map +1 -1
  37. package/script/deps/jsr.io/@std/path/1.1.4/windows/resolve.js +17 -7
  38. package/script/gambit/simulator-ui/dist/.gitkeep +1 -0
  39. package/script/gambit/simulator-ui/dist/bundle.js +22957 -0
  40. package/script/gambit/simulator-ui/dist/bundle.js.map +7 -0
  41. package/script/mod.d.ts +53 -0
  42. package/script/mod.d.ts.map +1 -0
  43. package/script/mod.js +33 -0
  44. package/script/packages/gambit-core/mod.d.ts.map +1 -0
  45. package/script/packages/gambit-core/src/definitions.d.ts.map +1 -0
  46. package/script/packages/gambit-core/src/openai_compat.d.ts.map +1 -0
  47. package/script/packages/gambit-core/src/providers/openrouter.d.ts.map +1 -0
  48. package/script/{gambit-core → packages/gambit-core}/src/providers/openrouter.js +18 -8
  49. package/script/packages/gambit-core/src/render.d.ts.map +1 -0
  50. package/script/packages/gambit-core/src/schema.d.ts.map +1 -0
  51. package/script/src/durable_streams.d.ts.map +1 -0
  52. package/script/{gambit/src → src}/server.d.ts +4 -1
  53. package/script/src/server.d.ts.map +1 -0
  54. package/script/{gambit/src → src}/server.js +43 -19
  55. package/script/src/test_bot.d.ts.map +1 -0
  56. package/script/src/trace.d.ts.map +1 -0
  57. package/script/{gambit/src → src}/trace.js +19 -9
  58. package/esm/gambit/mod.d.ts +0 -10
  59. package/esm/gambit/mod.d.ts.map +0 -1
  60. package/esm/gambit/mod.js +0 -9
  61. package/esm/gambit/src/durable_streams.d.ts.map +0 -1
  62. package/esm/gambit/src/server.d.ts.map +0 -1
  63. package/esm/gambit/src/test_bot.d.ts.map +0 -1
  64. package/esm/gambit/src/trace.d.ts.map +0 -1
  65. package/esm/gambit-core/mod.d.ts.map +0 -1
  66. package/esm/gambit-core/src/definitions.d.ts.map +0 -1
  67. package/esm/gambit-core/src/openai_compat.d.ts.map +0 -1
  68. package/esm/gambit-core/src/providers/openrouter.d.ts.map +0 -1
  69. package/esm/gambit-core/src/render.d.ts.map +0 -1
  70. package/esm/gambit-core/src/schema.d.ts.map +0 -1
  71. package/script/gambit/mod.d.ts +0 -10
  72. package/script/gambit/mod.d.ts.map +0 -1
  73. package/script/gambit/mod.js +0 -27
  74. package/script/gambit/src/durable_streams.d.ts.map +0 -1
  75. package/script/gambit/src/server.d.ts.map +0 -1
  76. package/script/gambit/src/test_bot.d.ts.map +0 -1
  77. package/script/gambit/src/trace.d.ts.map +0 -1
  78. package/script/gambit-core/mod.d.ts.map +0 -1
  79. package/script/gambit-core/src/definitions.d.ts.map +0 -1
  80. package/script/gambit-core/src/openai_compat.d.ts.map +0 -1
  81. package/script/gambit-core/src/providers/openrouter.d.ts.map +0 -1
  82. package/script/gambit-core/src/render.d.ts.map +0 -1
  83. package/script/gambit-core/src/schema.d.ts.map +0 -1
  84. /package/{simulator-ui → esm/gambit/simulator-ui/dist}/.gitkeep +0 -0
  85. /package/esm/{gambit-core → packages/gambit-core}/mod.d.ts +0 -0
  86. /package/esm/{gambit-core → packages/gambit-core}/mod.js +0 -0
  87. /package/esm/{gambit-core → packages/gambit-core}/src/definitions.d.ts +0 -0
  88. /package/esm/{gambit-core → packages/gambit-core}/src/definitions.js +0 -0
  89. /package/esm/{gambit-core → packages/gambit-core}/src/openai_compat.d.ts +0 -0
  90. /package/esm/{gambit-core → packages/gambit-core}/src/openai_compat.js +0 -0
  91. /package/esm/{gambit-core → packages/gambit-core}/src/providers/openrouter.d.ts +0 -0
  92. /package/esm/{gambit-core → packages/gambit-core}/src/render.d.ts +0 -0
  93. /package/esm/{gambit-core → packages/gambit-core}/src/render.js +0 -0
  94. /package/esm/{gambit-core → packages/gambit-core}/src/schema.d.ts +0 -0
  95. /package/esm/{gambit-core → packages/gambit-core}/src/schema.js +0 -0
  96. /package/esm/{gambit/src → src}/durable_streams.d.ts +0 -0
  97. /package/esm/{gambit/src → src}/durable_streams.js +0 -0
  98. /package/esm/{gambit/src → src}/test_bot.d.ts +0 -0
  99. /package/esm/{gambit/src → src}/test_bot.js +0 -0
  100. /package/esm/{gambit/src → src}/trace.d.ts +0 -0
  101. /package/script/{gambit-core → packages/gambit-core}/mod.d.ts +0 -0
  102. /package/script/{gambit-core → packages/gambit-core}/mod.js +0 -0
  103. /package/script/{gambit-core → packages/gambit-core}/src/definitions.d.ts +0 -0
  104. /package/script/{gambit-core → packages/gambit-core}/src/definitions.js +0 -0
  105. /package/script/{gambit-core → packages/gambit-core}/src/openai_compat.d.ts +0 -0
  106. /package/script/{gambit-core → packages/gambit-core}/src/openai_compat.js +0 -0
  107. /package/script/{gambit-core → packages/gambit-core}/src/providers/openrouter.d.ts +0 -0
  108. /package/script/{gambit-core → packages/gambit-core}/src/render.d.ts +0 -0
  109. /package/script/{gambit-core → packages/gambit-core}/src/render.js +0 -0
  110. /package/script/{gambit-core → packages/gambit-core}/src/schema.d.ts +0 -0
  111. /package/script/{gambit-core → packages/gambit-core}/src/schema.js +0 -0
  112. /package/script/{gambit/src → src}/durable_streams.d.ts +0 -0
  113. /package/script/{gambit/src → src}/durable_streams.js +0 -0
  114. /package/script/{gambit/src → src}/test_bot.d.ts +0 -0
  115. /package/script/{gambit/src → src}/test_bot.js +0 -0
  116. /package/script/{gambit/src → src}/trace.d.ts +0 -0
@@ -24,9 +24,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  mod
25
25
  ));
26
26
 
27
- // ../../node_modules/.deno/react@19.2.3/node_modules/react/cjs/react.development.js
27
+ // ../../../.cache/deno/npm/registry.npmjs.org/react/19.2.3/cjs/react.development.js
28
28
  var require_react_development = __commonJS({
29
- "../../node_modules/.deno/react@19.2.3/node_modules/react/cjs/react.development.js"(exports, module) {
29
+ "../../../.cache/deno/npm/registry.npmjs.org/react/19.2.3/cjs/react.development.js"(exports, module) {
30
30
  "use strict";
31
31
  (function() {
32
32
  function defineDeprecationWarning(methodName, info) {
@@ -821,9 +821,9 @@ var require_react_development = __commonJS({
821
821
  }
822
822
  });
823
823
 
824
- // ../../node_modules/.deno/react@19.2.3/node_modules/react/index.js
825
- var require_react = __commonJS({
826
- "../../node_modules/.deno/react@19.2.3/node_modules/react/index.js"(exports, module) {
824
+ // ../../../.cache/deno/npm/registry.npmjs.org/react/19.2.3/index.js
825
+ var require__ = __commonJS({
826
+ "../../../.cache/deno/npm/registry.npmjs.org/react/19.2.3/index.js"(exports, module) {
827
827
  "use strict";
828
828
  if (false) {
829
829
  module.exports = null;
@@ -833,9 +833,9 @@ var require_react = __commonJS({
833
833
  }
834
834
  });
835
835
 
836
- // ../../node_modules/.deno/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js
836
+ // ../../../.cache/deno/npm/registry.npmjs.org/react/19.2.3/cjs/react-jsx-runtime.development.js
837
837
  var require_react_jsx_runtime_development = __commonJS({
838
- "../../node_modules/.deno/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js"(exports) {
838
+ "../../../.cache/deno/npm/registry.npmjs.org/react/19.2.3/cjs/react-jsx-runtime.development.js"(exports) {
839
839
  "use strict";
840
840
  (function() {
841
841
  function getComponentNameFromType(type) {
@@ -1013,7 +1013,7 @@ var require_react_jsx_runtime_development = __commonJS({
1013
1013
  function isValidElement(object) {
1014
1014
  return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;
1015
1015
  }
1016
- var React2 = require_react(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React2.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
1016
+ var React2 = require__(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React2.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
1017
1017
  return null;
1018
1018
  };
1019
1019
  React2 = {
@@ -1039,9 +1039,9 @@ var require_react_jsx_runtime_development = __commonJS({
1039
1039
  }
1040
1040
  });
1041
1041
 
1042
- // ../../node_modules/.deno/react@19.2.3/node_modules/react/jsx-runtime.js
1042
+ // ../../../.cache/deno/npm/registry.npmjs.org/react/19.2.3/jsx-runtime.js
1043
1043
  var require_jsx_runtime = __commonJS({
1044
- "../../node_modules/.deno/react@19.2.3/node_modules/react/jsx-runtime.js"(exports, module) {
1044
+ "../../../.cache/deno/npm/registry.npmjs.org/react/19.2.3/jsx-runtime.js"(exports, module) {
1045
1045
  "use strict";
1046
1046
  if (false) {
1047
1047
  module.exports = null;
@@ -1051,9 +1051,9 @@ var require_jsx_runtime = __commonJS({
1051
1051
  }
1052
1052
  });
1053
1053
 
1054
- // ../../node_modules/.deno/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.js
1054
+ // ../../../.cache/deno/npm/registry.npmjs.org/scheduler/0.27.0/cjs/scheduler.development.js
1055
1055
  var require_scheduler_development = __commonJS({
1056
- "../../node_modules/.deno/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.js"(exports) {
1056
+ "../../../.cache/deno/npm/registry.npmjs.org/scheduler/0.27.0/cjs/scheduler.development.js"(exports) {
1057
1057
  "use strict";
1058
1058
  (function() {
1059
1059
  function performWorkUntilDeadline() {
@@ -1292,9 +1292,9 @@ var require_scheduler_development = __commonJS({
1292
1292
  }
1293
1293
  });
1294
1294
 
1295
- // ../../node_modules/.deno/scheduler@0.27.0/node_modules/scheduler/index.js
1296
- var require_scheduler = __commonJS({
1297
- "../../node_modules/.deno/scheduler@0.27.0/node_modules/scheduler/index.js"(exports, module) {
1295
+ // ../../../.cache/deno/npm/registry.npmjs.org/scheduler/0.27.0/index.js
1296
+ var require__2 = __commonJS({
1297
+ "../../../.cache/deno/npm/registry.npmjs.org/scheduler/0.27.0/index.js"(exports, module) {
1298
1298
  "use strict";
1299
1299
  if (false) {
1300
1300
  module.exports = null;
@@ -1304,9 +1304,9 @@ var require_scheduler = __commonJS({
1304
1304
  }
1305
1305
  });
1306
1306
 
1307
- // ../../node_modules/.deno/react-dom@19.2.3/node_modules/react-dom/cjs/react-dom.development.js
1307
+ // ../../../.cache/deno/npm/registry.npmjs.org/react-dom/19.2.3/cjs/react-dom.development.js
1308
1308
  var require_react_dom_development = __commonJS({
1309
- "../../node_modules/.deno/react-dom@19.2.3/node_modules/react-dom/cjs/react-dom.development.js"(exports) {
1309
+ "../../../.cache/deno/npm/registry.npmjs.org/react-dom/19.2.3/cjs/react-dom.development.js"(exports) {
1310
1310
  "use strict";
1311
1311
  (function() {
1312
1312
  function noop() {
@@ -1347,7 +1347,7 @@ var require_react_dom_development = __commonJS({
1347
1347
  return dispatcher;
1348
1348
  }
1349
1349
  "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
1350
- var React2 = require_react(), Internals = {
1350
+ var React2 = require__(), Internals = {
1351
1351
  d: {
1352
1352
  f: noop,
1353
1353
  r: function() {
@@ -1476,9 +1476,9 @@ var require_react_dom_development = __commonJS({
1476
1476
  }
1477
1477
  });
1478
1478
 
1479
- // ../../node_modules/.deno/react-dom@19.2.3/node_modules/react-dom/index.js
1480
- var require_react_dom = __commonJS({
1481
- "../../node_modules/.deno/react-dom@19.2.3/node_modules/react-dom/index.js"(exports, module) {
1479
+ // ../../../.cache/deno/npm/registry.npmjs.org/react-dom/19.2.3/index.js
1480
+ var require__3 = __commonJS({
1481
+ "../../../.cache/deno/npm/registry.npmjs.org/react-dom/19.2.3/index.js"(exports, module) {
1482
1482
  "use strict";
1483
1483
  if (false) {
1484
1484
  checkDCE();
@@ -1489,9 +1489,9 @@ var require_react_dom = __commonJS({
1489
1489
  }
1490
1490
  });
1491
1491
 
1492
- // ../../node_modules/.deno/react-dom@19.2.3/node_modules/react-dom/cjs/react-dom-client.development.js
1492
+ // ../../../.cache/deno/npm/registry.npmjs.org/react-dom/19.2.3/cjs/react-dom-client.development.js
1493
1493
  var require_react_dom_client_development = __commonJS({
1494
- "../../node_modules/.deno/react-dom@19.2.3/node_modules/react-dom/cjs/react-dom-client.development.js"(exports) {
1494
+ "../../../.cache/deno/npm/registry.npmjs.org/react-dom/19.2.3/cjs/react-dom-client.development.js"(exports) {
1495
1495
  "use strict";
1496
1496
  (function() {
1497
1497
  function findHook(fiber, id) {
@@ -13575,7 +13575,7 @@ var require_react_dom_client_development = __commonJS({
13575
13575
  container[internalContainerInstanceKey] && (container._reactRootContainer ? console.error("You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported.") : console.error("You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it."));
13576
13576
  }
13577
13577
  "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
13578
- var Scheduler = require_scheduler(), React2 = require_react(), ReactDOM = require_react_dom(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy");
13578
+ var Scheduler = require__2(), React2 = require__(), ReactDOM = require__3(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy");
13579
13579
  Symbol.for("react.scope");
13580
13580
  var REACT_ACTIVITY_TYPE = Symbol.for("react.activity");
13581
13581
  Symbol.for("react.legacy_hidden");
@@ -16637,9 +16637,9 @@ var require_react_dom_client_development = __commonJS({
16637
16637
  }
16638
16638
  });
16639
16639
 
16640
- // ../../node_modules/.deno/react-dom@19.2.3/node_modules/react-dom/client.js
16640
+ // ../../../.cache/deno/npm/registry.npmjs.org/react-dom/19.2.3/client.js
16641
16641
  var require_client = __commonJS({
16642
- "../../node_modules/.deno/react-dom@19.2.3/node_modules/react-dom/client.js"(exports, module) {
16642
+ "../../../.cache/deno/npm/registry.npmjs.org/react-dom/19.2.3/client.js"(exports, module) {
16643
16643
  "use strict";
16644
16644
  if (false) {
16645
16645
  checkDCE();
@@ -16652,7 +16652,7 @@ var require_client = __commonJS({
16652
16652
 
16653
16653
  // simulator-ui/src/main.tsx
16654
16654
  var import_jsx_runtime = __toESM(require_jsx_runtime());
16655
- var import_react = __toESM(require_react());
16655
+ var import_react = __toESM(require__());
16656
16656
  var import_client = __toESM(require_client());
16657
16657
 
16658
16658
  // simulator-ui/src/styles.ts
@@ -16909,6 +16909,34 @@ button.primary:disabled {
16909
16909
  border-radius: 5px;
16910
16910
  display: inline-block;
16911
16911
  }
16912
+ .calibrate-run-turn--pending {
16913
+ display: inline-flex;
16914
+ align-items: center;
16915
+ justify-content: center;
16916
+ background: #e2e8f0;
16917
+ }
16918
+ .calibrate-run-turn--empty {
16919
+ background: #f1f5f9;
16920
+ border: 1px solid #e2e8f0;
16921
+ }
16922
+ .calibrate-spinner {
16923
+ width: 16px;
16924
+ height: 16px;
16925
+ border-radius: 999px;
16926
+ border: 2px solid rgba(15, 23, 42, 0.25);
16927
+ border-top-color: #0b93f6;
16928
+ animation: calibrate-spin 0.9s linear infinite;
16929
+ }
16930
+ .calibrate-spinner--tiny {
16931
+ width: 10px;
16932
+ height: 10px;
16933
+ border-width: 2px;
16934
+ }
16935
+ @keyframes calibrate-spin {
16936
+ to {
16937
+ transform: rotate(360deg);
16938
+ }
16939
+ }
16912
16940
  .calibrate-run-body {
16913
16941
  display: flex;
16914
16942
  flex-direction: column;
@@ -17187,6 +17215,10 @@ button.primary:disabled {
17187
17215
  font-size: 18px;
17188
17216
  font-weight: 700;
17189
17217
  }
17218
+ .calibrate-score-badge--pending {
17219
+ background: #f1f5f9;
17220
+ color: #0f172a;
17221
+ }
17190
17222
  .calibrate-score--positive {
17191
17223
  background: #16a34a;
17192
17224
  color: #ffffff;
@@ -17196,9 +17228,13 @@ button.primary:disabled {
17196
17228
  color: #ffffff;
17197
17229
  }
17198
17230
  .calibrate-score--neutral {
17199
- background: #94a3b8;
17231
+ background: #64748b;
17200
17232
  color: #ffffff;
17201
17233
  }
17234
+ .calibrate-score--empty {
17235
+ background: #e2e8f0;
17236
+ color: #0f172a;
17237
+ }
17202
17238
  .calibrate-result-meta {
17203
17239
  display: flex;
17204
17240
  flex-direction: column;
@@ -18040,6 +18076,9 @@ function formatTimestampShort(iso) {
18040
18076
  function countUserMessages(messages) {
18041
18077
  return messages.filter((m) => m.role === "user").length;
18042
18078
  }
18079
+ function countAssistantMessages(messages) {
18080
+ return messages.filter((m) => m.role === "assistant").length;
18081
+ }
18043
18082
  function extractScoreAndReason(result) {
18044
18083
  if (!result || typeof result !== "object") return {};
18045
18084
  const record = result;
@@ -18058,6 +18097,12 @@ function extractScoreAndReasonFromSample(sample) {
18058
18097
  reason: typeof sample.reason === "string" ? sample.reason : void 0
18059
18098
  };
18060
18099
  }
18100
+ function getScoreClass(displayScore) {
18101
+ if (displayScore === void 0) return "calibrate-score--empty";
18102
+ if (displayScore > 0) return "calibrate-score--positive";
18103
+ if (displayScore < 0) return "calibrate-score--negative";
18104
+ return "calibrate-score--neutral";
18105
+ }
18061
18106
  function extractTurnContext(input) {
18062
18107
  if (!input || typeof input !== "object") return {};
18063
18108
  const record = input;
@@ -18079,6 +18124,27 @@ function extractTurnContext(input) {
18079
18124
  gradedAssistant
18080
18125
  };
18081
18126
  }
18127
+ function extractTotalTurns(input) {
18128
+ if (!input || typeof input !== "object") return void 0;
18129
+ const record = input;
18130
+ const session = record.session;
18131
+ const messages = session && typeof session === "object" && Array.isArray(session.messages) ? session.messages : Array.isArray(record.messages) ? record.messages : [];
18132
+ const total = countAssistantMessages(messages);
18133
+ return total > 0 ? total : void 0;
18134
+ }
18135
+ function extractTotalTurnsFromResult(result) {
18136
+ if (!result || typeof result !== "object") return void 0;
18137
+ const record = result;
18138
+ if (record.mode !== "turns") return void 0;
18139
+ const totalTurns = typeof record.totalTurns === "number" ? record.totalTurns : void 0;
18140
+ const turns = Array.isArray(record.turns) ? record.turns : void 0;
18141
+ if (typeof totalTurns === "number") return totalTurns;
18142
+ return turns ? turns.length : void 0;
18143
+ }
18144
+ function isTurnsResult(result) {
18145
+ if (!result || typeof result !== "object") return false;
18146
+ return result.mode === "turns";
18147
+ }
18082
18148
  function extractConversationContext(input) {
18083
18149
  if (!input || typeof input !== "object") return {};
18084
18150
  const record = input;
@@ -20463,7 +20529,20 @@ function CalibrateApp() {
20463
20529
  referenceSample: turn.referenceSample
20464
20530
  });
20465
20531
  });
20466
- if (turns.length === 0) {
20532
+ if (run.status === "running") {
20533
+ const pendingTurnNumber = turns.length + 1;
20534
+ items.unshift({
20535
+ key: `${run.id}-turn-pending-${pendingTurnNumber}`,
20536
+ label: `Assistant turn ${pendingTurnNumber}`,
20537
+ status: "running",
20538
+ runAt: run.runAt,
20539
+ runId: run.id,
20540
+ turnNumber: pendingTurnNumber,
20541
+ refId: `gradingRun:${run.id}#turn:${pendingTurnNumber}`,
20542
+ pending: true
20543
+ });
20544
+ }
20545
+ if (turns.length === 0 && run.status !== "running") {
20467
20546
  items.push({
20468
20547
  key: `${run.id}-empty`,
20469
20548
  label: "Turns",
@@ -20478,18 +20557,30 @@ function CalibrateApp() {
20478
20557
  });
20479
20558
  }
20480
20559
  } else {
20481
- items.push({
20482
- key: run.id,
20483
- label: "Result",
20484
- status: run.status,
20485
- runAt: run.runAt,
20486
- error: run.error,
20487
- input: run.input,
20488
- result: run.result,
20489
- runId: run.id,
20490
- refId: `gradingRun:${run.id}`,
20491
- referenceSample: run.referenceSample
20492
- });
20560
+ if (run.status === "running") {
20561
+ items.push({
20562
+ key: `${run.id}-pending`,
20563
+ label: "Result",
20564
+ status: "running",
20565
+ runAt: run.runAt,
20566
+ runId: run.id,
20567
+ refId: `gradingRun:${run.id}`,
20568
+ pending: true
20569
+ });
20570
+ } else {
20571
+ items.push({
20572
+ key: run.id,
20573
+ label: "Result",
20574
+ status: run.status,
20575
+ runAt: run.runAt,
20576
+ error: run.error,
20577
+ input: run.input,
20578
+ result: run.result,
20579
+ runId: run.id,
20580
+ refId: `gradingRun:${run.id}`,
20581
+ referenceSample: run.referenceSample
20582
+ });
20583
+ }
20493
20584
  }
20494
20585
  return {
20495
20586
  run,
@@ -20754,23 +20845,68 @@ function CalibrateApp() {
20754
20845
  }),
20755
20846
  runSections.map((section) => {
20756
20847
  const isExpanded = expandedRunId === section.run.id;
20757
- const turnBadges = [
20758
- ...section.items
20759
- ].sort((a, b) => {
20760
- const aNum = a.turnNumber ?? 0;
20761
- const bNum = b.turnNumber ?? 0;
20762
- return aNum - bNum;
20763
- }).map((item, idx) => {
20764
- const graded = extractScoreAndReason(item.result);
20765
- const reference = extractScoreAndReasonFromSample(item.referenceSample);
20766
- const displayScore = reference.score ?? graded.score;
20767
- const turnLabel = item.turnNumber ?? idx + 1;
20768
- const scoreClass = displayScore === void 0 ? "calibrate-score--neutral" : displayScore > 0 ? "calibrate-score--positive" : displayScore < 0 ? "calibrate-score--negative" : "calibrate-score--neutral";
20848
+ const runModeTurns = isTurnsResult(section.run.result);
20849
+ const totalTurns = runModeTurns ? extractTotalTurnsFromResult(section.run.result) ?? extractTotalTurns(section.run.input) ?? extractTotalTurns(section.items.find((item) => item.input)?.input) : void 0;
20850
+ const isTurnRun = Boolean(runModeTurns || section.items.some((item) => item.turnNumber !== void 0 || item.pending));
20851
+ const turnBadges = isTurnRun ? Array.from({
20852
+ length: totalTurns ?? section.items.filter((item) => item.turnNumber !== void 0 || item.pending).length
20853
+ }).map((_, idx) => {
20854
+ const turnLabel = idx + 1;
20855
+ const item = section.items.find((entry) => entry.turnNumber === turnLabel || entry.pending && entry.turnNumber === turnLabel);
20856
+ if (item?.pending) {
20857
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
20858
+ className: "calibrate-run-turn calibrate-run-turn--pending",
20859
+ title: `Turn ${turnLabel}: running`,
20860
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
20861
+ className: "calibrate-spinner calibrate-spinner--tiny",
20862
+ role: "status",
20863
+ "aria-label": "Grading"
20864
+ })
20865
+ }, `${section.run.id}-turn-${turnLabel}`);
20866
+ }
20867
+ if (item) {
20868
+ const graded = extractScoreAndReason(item.result);
20869
+ const reference = extractScoreAndReasonFromSample(item.referenceSample);
20870
+ const displayScore = reference.score ?? graded.score;
20871
+ const scoreClass = getScoreClass(displayScore);
20872
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
20873
+ className: `calibrate-run-turn ${scoreClass}`,
20874
+ title: `Turn ${turnLabel}: ${displayScore ?? "\u2014"}`
20875
+ }, `${section.run.id}-turn-${turnLabel}`);
20876
+ }
20769
20877
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
20770
- className: `calibrate-run-turn ${scoreClass}`,
20771
- title: `Turn ${turnLabel}: ${displayScore ?? "\u2014"}`
20878
+ className: "calibrate-run-turn calibrate-run-turn--empty",
20879
+ title: `Turn ${turnLabel}: pending`
20772
20880
  }, `${section.run.id}-turn-${turnLabel}`);
20773
- });
20881
+ }) : (() => {
20882
+ const item = section.items[0];
20883
+ if (section.run.status === "running") {
20884
+ return [
20885
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
20886
+ className: "calibrate-run-turn calibrate-run-turn--pending",
20887
+ title: "Running",
20888
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
20889
+ className: "calibrate-spinner calibrate-spinner--tiny",
20890
+ role: "status",
20891
+ "aria-label": "Grading"
20892
+ })
20893
+ }, `${section.run.id}-pending`)
20894
+ ];
20895
+ }
20896
+ if (item) {
20897
+ const graded = extractScoreAndReason(item.result);
20898
+ const reference = extractScoreAndReasonFromSample(item.referenceSample);
20899
+ const displayScore = reference.score ?? graded.score;
20900
+ const scoreClass = getScoreClass(displayScore);
20901
+ return [
20902
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
20903
+ className: `calibrate-run-turn ${scoreClass}`,
20904
+ title: `Result: ${displayScore ?? "\u2014"}`
20905
+ }, `${section.run.id}-result`)
20906
+ ];
20907
+ }
20908
+ return [];
20909
+ })();
20774
20910
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
20775
20911
  className: "calibrate-run-card",
20776
20912
  children: [
@@ -20818,10 +20954,11 @@ function CalibrateApp() {
20818
20954
  const displayReason = reference.reason ?? graded.reason;
20819
20955
  const turnContext = extractTurnContext(item.input);
20820
20956
  const conversationContext = extractConversationContext(item.input);
20957
+ const isPending = Boolean(item.pending);
20821
20958
  const delta = reference.score !== void 0 && graded.score !== void 0 ? reference.score - graded.score : void 0;
20822
20959
  const polarityFlip = graded.score !== void 0 && reference.score !== void 0 && graded.score !== 0 && reference.score !== 0 && graded.score > 0 !== reference.score > 0;
20823
- const scoreClass = displayScore === void 0 ? "calibrate-score--neutral" : displayScore > 0 ? "calibrate-score--positive" : displayScore < 0 ? "calibrate-score--negative" : "calibrate-score--neutral";
20824
- const isOpen = Boolean(expandedResults[item.key]);
20960
+ const scoreClass = getScoreClass(displayScore);
20961
+ const isOpen = !isPending && Boolean(expandedResults[item.key]);
20825
20962
  const draft = referenceDrafts[item.key];
20826
20963
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
20827
20964
  className: `calibrate-run-section${highlightedResult === item.key ? " trace-row-highlight" : ""}`,
@@ -20833,8 +20970,12 @@ function CalibrateApp() {
20833
20970
  className: "calibrate-result-main",
20834
20971
  children: [
20835
20972
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
20836
- className: `calibrate-score-badge ${scoreClass}`,
20837
- children: displayScore !== void 0 ? displayScore : "\u2014"
20973
+ className: `calibrate-score-badge ${scoreClass}${isPending ? " calibrate-score-badge--pending" : ""}`,
20974
+ children: isPending ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
20975
+ className: "calibrate-spinner",
20976
+ role: "status",
20977
+ "aria-label": "Grading"
20978
+ }) : displayScore !== void 0 ? displayScore : "\u2014"
20838
20979
  }),
20839
20980
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
20840
20981
  className: "calibrate-result-meta",
@@ -20862,7 +21003,7 @@ function CalibrateApp() {
20862
21003
  })
20863
21004
  ]
20864
21005
  }),
20865
- displayReason && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
21006
+ displayReason && !isPending && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
20866
21007
  className: "calibrate-result-reason",
20867
21008
  children: displayReason
20868
21009
  }),
@@ -20872,12 +21013,16 @@ function CalibrateApp() {
20872
21013
  "Graded score: ",
20873
21014
  graded.score
20874
21015
  ]
21016
+ }),
21017
+ isPending && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
21018
+ className: "calibrate-result-secondary",
21019
+ children: "Grading\u2026"
20875
21020
  })
20876
21021
  ]
20877
21022
  })
20878
21023
  ]
20879
21024
  }),
20880
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
21025
+ !isPending && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
20881
21026
  className: "calibrate-result-actions",
20882
21027
  children: [
20883
21028
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
@@ -20925,7 +21070,7 @@ function CalibrateApp() {
20925
21070
  className: "error",
20926
21071
  children: item.error
20927
21072
  }),
20928
- item.turnIndex !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
21073
+ item.turnIndex !== void 0 && !isPending && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
20929
21074
  className: "calibrate-context calibrate-context-compact",
20930
21075
  children: [
20931
21076
  turnContext.priorUser && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
@@ -22765,60 +22910,48 @@ function App() {
22765
22910
  (0, import_client.createRoot)(document.getElementById("root")).render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.default.StrictMode, {
22766
22911
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(App, {})
22767
22912
  }));
22768
- /*! Bundled license information:
22769
-
22770
- react/cjs/react.development.js:
22771
- (**
22772
- * @license React
22773
- * react.development.js
22774
- *
22775
- * Copyright (c) Meta Platforms, Inc. and affiliates.
22776
- *
22777
- * This source code is licensed under the MIT license found in the
22778
- * LICENSE file in the root directory of this source tree.
22779
- *)
22780
-
22781
- react/cjs/react-jsx-runtime.development.js:
22782
- (**
22783
- * @license React
22784
- * react-jsx-runtime.development.js
22785
- *
22786
- * Copyright (c) Meta Platforms, Inc. and affiliates.
22787
- *
22788
- * This source code is licensed under the MIT license found in the
22789
- * LICENSE file in the root directory of this source tree.
22790
- *)
22791
-
22792
- scheduler/cjs/scheduler.development.js:
22793
- (**
22794
- * @license React
22795
- * scheduler.development.js
22796
- *
22797
- * Copyright (c) Meta Platforms, Inc. and affiliates.
22798
- *
22799
- * This source code is licensed under the MIT license found in the
22800
- * LICENSE file in the root directory of this source tree.
22801
- *)
22802
-
22803
- react-dom/cjs/react-dom.development.js:
22804
- (**
22805
- * @license React
22806
- * react-dom.development.js
22807
- *
22808
- * Copyright (c) Meta Platforms, Inc. and affiliates.
22809
- *
22810
- * This source code is licensed under the MIT license found in the
22811
- * LICENSE file in the root directory of this source tree.
22812
- *)
22813
-
22814
- react-dom/cjs/react-dom-client.development.js:
22815
- (**
22816
- * @license React
22817
- * react-dom-client.development.js
22818
- *
22819
- * Copyright (c) Meta Platforms, Inc. and affiliates.
22820
- *
22821
- * This source code is licensed under the MIT license found in the
22822
- * LICENSE file in the root directory of this source tree.
22823
- *)
22824
- */
22913
+ /**
22914
+ * @license React
22915
+ * react.development.js
22916
+ *
22917
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
22918
+ *
22919
+ * This source code is licensed under the MIT license found in the
22920
+ * LICENSE file in the root directory of this source tree.
22921
+ */
22922
+ /**
22923
+ * @license React
22924
+ * react-jsx-runtime.development.js
22925
+ *
22926
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
22927
+ *
22928
+ * This source code is licensed under the MIT license found in the
22929
+ * LICENSE file in the root directory of this source tree.
22930
+ */
22931
+ /**
22932
+ * @license React
22933
+ * scheduler.development.js
22934
+ *
22935
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
22936
+ *
22937
+ * This source code is licensed under the MIT license found in the
22938
+ * LICENSE file in the root directory of this source tree.
22939
+ */
22940
+ /**
22941
+ * @license React
22942
+ * react-dom.development.js
22943
+ *
22944
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
22945
+ *
22946
+ * This source code is licensed under the MIT license found in the
22947
+ * LICENSE file in the root directory of this source tree.
22948
+ */
22949
+ /**
22950
+ * @license React
22951
+ * react-dom-client.development.js
22952
+ *
22953
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
22954
+ *
22955
+ * This source code is licensed under the MIT license found in the
22956
+ * LICENSE file in the root directory of this source tree.
22957
+ */