MCPcopy Create free account
hub / github.com/apache/maka / isTaskLedgerEventTask

Function isTaskLedgerEventTask

packages/core/src/task-ledger.ts:906–942  ·  view source on GitHub ↗
(
  value: unknown,
  options: { allowLegacyMissingEvidence?: boolean } = {},
)

Source from the content-addressed store, hash-verified

904}
905
906function isTaskLedgerEventTask(
907 value: unknown,
908 options: { allowLegacyMissingEvidence?: boolean } = {},
909): value is TaskLedgerEventTaskSnapshot {
910 if (typeof value !== 'object' || value === null || Array.isArray(value)) return false;
911 const task = value as Partial<Task>;
912 if (
913 !isSafeTaskId(task.id) ||
914 !normalizeTaskSubject(task.subject).ok ||
915 !isTaskStatus(task.status) ||
916 typeof task.createdAt !== 'number' ||
917 !Number.isFinite(task.createdAt) ||
918 typeof task.updatedAt !== 'number' ||
919 !Number.isFinite(task.updatedAt) ||
920 (task.blockedReason !== undefined &&
921 !normalizeTaskEvidenceText(task.blockedReason, 'blockedReason').ok) ||
922 (task.failureReason !== undefined &&
923 !normalizeTaskEvidenceText(task.failureReason, 'failureReason').ok) ||
924 (task.completionEvidence !== undefined &&
925 !normalizeTaskEvidenceText(task.completionEvidence, 'completionEvidence').ok) ||
926 (task.resumeTrust !== undefined && !isResumeTrust(task.resumeTrust)) ||
927 (task.key !== undefined && !isTaskKey(task.key)) ||
928 (task.parentId !== undefined && !isSafeTaskId(task.parentId)) ||
929 (task.owner !== undefined && !isTaskOwner(task.owner)) ||
930 (task.endedAt !== undefined &&
931 (typeof task.endedAt !== 'number' || !Number.isFinite(task.endedAt)))
932 ) {
933 return false;
934 }
935 if (options.allowLegacyMissingEvidence === true) return true;
936 return validateTaskEvidence({
937 status: task.status,
938 blockedReason: task.blockedReason,
939 failureReason: task.failureReason,
940 completionEvidence: task.completionEvidence,
941 }).ok;
942}
943
944export function isTaskOwner(value: unknown): value is TaskOwner {
945 if (typeof value !== 'object' || value === null || Array.isArray(value)) return false;

Callers 1

isTaskLedgerEventFunction · 0.85

Calls 8

isSafeTaskIdFunction · 0.85
normalizeTaskSubjectFunction · 0.85
isTaskStatusFunction · 0.85
isResumeTrustFunction · 0.85
isTaskKeyFunction · 0.85
isTaskOwnerFunction · 0.85
validateTaskEvidenceFunction · 0.85

Tested by

no test coverage detected