@axiom-lattice/protocols 4.3.1 → 4.4.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.
package/dist/index.mjs CHANGED
@@ -161,6 +161,14 @@ var ChannelBindingMigrationConflictError = class extends Error {
161
161
  }
162
162
  };
163
163
 
164
+ // src/TaskStoreProtocol.ts
165
+ function normalizeTaskMetadataScalar(value) {
166
+ if (typeof value === "string") return value;
167
+ if (typeof value === "number") return Number.isFinite(value) ? String(value) : void 0;
168
+ if (typeof value === "boolean") return value ? "true" : "false";
169
+ return void 0;
170
+ }
171
+
164
172
  // src/TaskWorkItemProtocol.ts
165
173
  var EXECUTION_RESULT_EVENT_KEY_PREFIX = "execution-result:";
166
174
  var EXECUTION_RESULT_EVENT_KEY_PATTERN_SOURCE = "^execution-result:[A-Za-z0-9._:-]+$";
@@ -830,23 +838,26 @@ function parseTrustedRunContext(value) {
830
838
  "threadId",
831
839
  "inputMessageId"
832
840
  ];
833
- const projectTaskValues = snapshotExactRecord(contextValues.projectTask, requiredKeys2);
834
- if (!projectTaskValues || requiredKeys2.some((key) => typeof projectTaskValues[key] !== "string" || projectTaskValues[key].length === 0)) {
841
+ const projectTaskValues = snapshotExactRecord(contextValues.projectTask, requiredKeys2, ["source"]);
842
+ const projectTaskHasSource = projectTaskValues !== void 0 && Object.prototype.hasOwnProperty.call(projectTaskValues, "source");
843
+ if (!projectTaskValues || requiredKeys2.some((key) => typeof projectTaskValues[key] !== "string" || projectTaskValues[key].length === 0) || projectTaskHasSource && projectTaskValues.source !== void 0 && (typeof projectTaskValues.source !== "string" || projectTaskValues.source.length === 0)) {
835
844
  throw new Error("Invalid trusted agent run context");
836
845
  }
837
- return {
838
- projectTask: {
839
- tenantId: projectTaskValues.tenantId,
840
- workspaceId: projectTaskValues.workspaceId,
841
- projectId: projectTaskValues.projectId,
842
- roomId: projectTaskValues.roomId,
843
- membershipId: projectTaskValues.membershipId,
844
- assistantId: projectTaskValues.assistantId,
845
- taskId: projectTaskValues.taskId,
846
- threadId: projectTaskValues.threadId,
847
- inputMessageId: projectTaskValues.inputMessageId
848
- }
846
+ const parsedProjectTask = {
847
+ tenantId: projectTaskValues.tenantId,
848
+ workspaceId: projectTaskValues.workspaceId,
849
+ projectId: projectTaskValues.projectId,
850
+ roomId: projectTaskValues.roomId,
851
+ membershipId: projectTaskValues.membershipId,
852
+ assistantId: projectTaskValues.assistantId,
853
+ taskId: projectTaskValues.taskId,
854
+ threadId: projectTaskValues.threadId,
855
+ inputMessageId: projectTaskValues.inputMessageId
849
856
  };
857
+ if (projectTaskHasSource && typeof projectTaskValues.source === "string") {
858
+ parsedProjectTask.source = projectTaskValues.source;
859
+ }
860
+ return { projectTask: parsedProjectTask };
850
861
  }
851
862
  const projectRoomValue = contextValues?.projectRoom;
852
863
  const requiredKeys = [
@@ -861,9 +872,10 @@ function parseTrustedRunContext(value) {
861
872
  "role",
862
873
  "title"
863
874
  ];
864
- const projectRoomValues = snapshotExactRecord(projectRoomValue, requiredKeys, ["responsibility"]);
875
+ const projectRoomValues = snapshotExactRecord(projectRoomValue, requiredKeys, ["responsibility", "source"]);
865
876
  const hasResponsibility = projectRoomValues !== void 0 && Object.prototype.hasOwnProperty.call(projectRoomValues, "responsibility");
866
- if (!projectRoomValues || requiredKeys.some((key) => typeof projectRoomValues[key] !== "string" || projectRoomValues[key].length === 0) || hasResponsibility && projectRoomValues.responsibility !== void 0 && (typeof projectRoomValues.responsibility !== "string" || projectRoomValues.responsibility.length === 0) || projectRoomValues.role !== "coordinator" && projectRoomValues.role !== "specialist") {
877
+ const hasSource = projectRoomValues !== void 0 && Object.prototype.hasOwnProperty.call(projectRoomValues, "source");
878
+ if (!projectRoomValues || requiredKeys.some((key) => typeof projectRoomValues[key] !== "string" || projectRoomValues[key].length === 0) || hasResponsibility && projectRoomValues.responsibility !== void 0 && (typeof projectRoomValues.responsibility !== "string" || projectRoomValues.responsibility.length === 0) || hasSource && projectRoomValues.source !== void 0 && (typeof projectRoomValues.source !== "string" || projectRoomValues.source.length === 0) || projectRoomValues.role !== "coordinator" && projectRoomValues.role !== "specialist") {
867
879
  throw new Error("Invalid trusted agent run context");
868
880
  }
869
881
  const parsedProjectRoom = {
@@ -881,6 +893,9 @@ function parseTrustedRunContext(value) {
881
893
  if (hasResponsibility && typeof projectRoomValues.responsibility === "string") {
882
894
  parsedProjectRoom.responsibility = projectRoomValues.responsibility;
883
895
  }
896
+ if (hasSource && typeof projectRoomValues.source === "string") {
897
+ parsedProjectRoom.source = projectRoomValues.source;
898
+ }
884
899
  return { projectRoom: parsedProjectRoom };
885
900
  }
886
901
  function parseQueuedExecutionMode(value) {
@@ -896,6 +911,32 @@ function effectiveGrants(record) {
896
911
  }
897
912
  return [{ domain: "agent" }];
898
913
  }
914
+
915
+ // src/McpUiProtocol.ts
916
+ var MODES = ["inline", "fullscreen", "pip"];
917
+ var isObj = (v) => typeof v === "object" && v !== null;
918
+ function isMcpUiRef(value) {
919
+ return parseMcpUiRef(value) !== null;
920
+ }
921
+ function parseMcpUiRef(value) {
922
+ if (!isObj(value)) return null;
923
+ const displayMode = MODES.includes(value.displayMode) ? value.displayMode : "inline";
924
+ const title = typeof value.title === "string" ? value.title : void 0;
925
+ if (value.kind === "mcp" && typeof value.serverKey === "string" && typeof value.resourceUri === "string") {
926
+ return {
927
+ kind: "mcp",
928
+ serverKey: value.serverKey,
929
+ resourceUri: value.resourceUri,
930
+ displayMode,
931
+ ...title ? { title } : {},
932
+ ...value.structuredContent !== void 0 ? { structuredContent: value.structuredContent } : {}
933
+ };
934
+ }
935
+ if (value.kind === "plugin" && typeof value.pluginType === "string" && typeof value.resource === "string") {
936
+ return { kind: "plugin", pluginType: value.pluginType, resource: value.resource, displayMode, ...title ? { title } : {} };
937
+ }
938
+ return null;
939
+ }
899
940
  export {
900
941
  AgentType,
901
942
  ChannelBindingMigrationConflictError,
@@ -932,12 +973,15 @@ export {
932
973
  isA2ARemoteAgentConfig,
933
974
  isDeepAgentConfig,
934
975
  isExecutionResultEventKey,
976
+ isMcpUiRef,
935
977
  isProcessingAgentConfig,
936
978
  isProjectRoomEventId,
937
979
  isTeamAgentConfig,
938
980
  isWorkflowAgentConfig,
939
981
  isWorkspacePublicRoomProjectId,
982
+ normalizeTaskMetadataScalar,
940
983
  parseAgentWebAppGenUIBlock,
984
+ parseMcpUiRef,
941
985
  parseProjectRoomEventId,
942
986
  parseQueuedExecutionMode,
943
987
  parseTaskBeliefState,