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

Function normalizeTaskEvidenceText

packages/core/src/task-ledger.ts:286–304  ·  view source on GitHub ↗
(
  input: unknown,
  field: 'blockedReason' | 'failureReason' | 'completionEvidence',
)

Source from the content-addressed store, hash-verified

284}
285
286export function normalizeTaskEvidenceText(
287 input: unknown,
288 field: 'blockedReason' | 'failureReason' | 'completionEvidence',
289): TaskLedgerNormalizeResult<string> {
290 if (typeof input !== 'string') {
291 return invalid(evidenceReason(field), `${field} must be a string`);
292 }
293 const value = input.normalize('NFC').replace(/\s+/g, ' ').trim();
294 if (value.length === 0) {
295 return invalid(evidenceReason(field), `${field} cannot be empty`);
296 }
297 if (Array.from(value).length > TASK_EVIDENCE_MAX_CHARS) {
298 return invalid(
299 evidenceReason(field),
300 `${field} must be ${TASK_EVIDENCE_MAX_CHARS} characters or fewer`,
301 );
302 }
303 return { ok: true, value };
304}
305
306export function normalizeCreateTaskInput(
307 input: unknown,

Callers 3

canonicalWireEvidenceFunction · 0.90
normalizeUpdateTaskInputFunction · 0.85
isTaskLedgerEventTaskFunction · 0.85

Calls 5

evidenceReasonFunction · 0.85
replaceMethod · 0.80
fromMethod · 0.80
invalidFunction · 0.70
trimMethod · 0.45

Tested by

no test coverage detected