@hraness/message-like-me 0.8.6 → 0.8.8

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.
@@ -11,12 +11,12 @@ var AGENT_MESSAGE_DRAFT_V1_FORMAT = "message-like-me.agent-message-draft";
11
11
  var AGENT_MESSAGE_HANDOFF_REQUEST_V1_FORMAT = "message-like-me.agent-message-handoff-request";
12
12
  var AGENT_MESSAGE_HANDOFF_V1_FORMAT = "message-like-me.agent-message-handoff";
13
13
  var AGENT_MESSAGE_AUDIT_V1_FORMAT = "message-like-me.agent-message-handoff-audit";
14
- var WRENCH_MESSAGING_CONTEXT_BINDING_V1_FORMAT = "wrench.messaging-context-binding";
15
- var WRENCH_MESSAGING_RECEIPT_BINDING_V1_FORMAT = "wrench.messaging-receipt-binding";
16
- var WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID = "wrench.messaging-context-binding.v1";
17
- var WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_HASH = "5e64da6a3d826e7f6fa3db7dca0a4ba92c10cfb784981e71a25aed9513a5c687";
18
- var WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_DESCRIPTOR = Object.freeze({
19
- contractId: WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID,
14
+ var GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_FORMAT = "wrench.messaging-context-binding";
15
+ var GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_FORMAT = "wrench.messaging-receipt-binding";
16
+ var GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID = "wrench.messaging-context-binding.v1";
17
+ var GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_HASH = "5e64da6a3d826e7f6fa3db7dca0a4ba92c10cfb784981e71a25aed9513a5c687";
18
+ var GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_DESCRIPTOR = Object.freeze({
19
+ contractId: GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID,
20
20
  fields: Object.freeze([
21
21
  "schemaVersion:1",
22
22
  "format:wrench.messaging-context-binding",
@@ -32,10 +32,10 @@ var WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_DESCRIPTOR = Object.freeze({
32
32
  format: "wrench.messaging-contract-descriptor",
33
33
  schemaVersion: 1
34
34
  });
35
- var WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID = "wrench.messaging-receipt-binding.v1";
36
- var WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_HASH = "7f6cf724f0200b2399e4f4641c637b20b48914fc5c9b13755127a8ec69fe66f4";
37
- var WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_DESCRIPTOR = Object.freeze({
38
- contractId: WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID,
35
+ var GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID = "wrench.messaging-receipt-binding.v1";
36
+ var GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_HASH = "7f6cf724f0200b2399e4f4641c637b20b48914fc5c9b13755127a8ec69fe66f4";
37
+ var GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_DESCRIPTOR = Object.freeze({
38
+ contractId: GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID,
39
39
  fields: Object.freeze([
40
40
  "schemaVersion:1",
41
41
  "format:wrench.messaging-receipt-binding",
@@ -191,8 +191,8 @@ function handoffCore(value) {
191
191
  function handoffDigest(value) {
192
192
  return sha256(canonicalJson(handoffCore(value)));
193
193
  }
194
- function parseWrenchMessagingContextBindingV1(value) {
195
- const record = object(value, "Wrench messaging context binding");
194
+ function parseGhostgetMessagingContextBindingV1(value) {
195
+ const record = object(value, "Ghostget messaging context binding");
196
196
  exactKeys(record, [
197
197
  "schemaVersion",
198
198
  "format",
@@ -204,26 +204,26 @@ function parseWrenchMessagingContextBindingV1(value) {
204
204
  "latestMessageRevision",
205
205
  "validatedAt",
206
206
  "expiresAt"
207
- ], "Wrench messaging context binding");
208
- if (record.schemaVersion !== AGENTIC_MESSAGING_V1_SCHEMA_VERSION || record.format !== WRENCH_MESSAGING_CONTEXT_BINDING_V1_FORMAT)
209
- return fail("Wrench messaging context binding has the wrong schemaVersion or format");
210
- if (record.contractId !== WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID || record.contractHash !== WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_HASH)
211
- return fail("Wrench messaging context binding has an unsupported contract identity");
212
- const validatedAt = timestamp(record.validatedAt, "Wrench messaging context binding.validatedAt");
213
- const expiresAt = timestamp(record.expiresAt, "Wrench messaging context binding.expiresAt");
207
+ ], "Ghostget messaging context binding");
208
+ if (record.schemaVersion !== AGENTIC_MESSAGING_V1_SCHEMA_VERSION || record.format !== GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_FORMAT)
209
+ return fail("Ghostget messaging context binding has the wrong schemaVersion or format");
210
+ if (record.contractId !== GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID || record.contractHash !== GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_HASH)
211
+ return fail("Ghostget messaging context binding has an unsupported contract identity");
212
+ const validatedAt = timestamp(record.validatedAt, "Ghostget messaging context binding.validatedAt");
213
+ const expiresAt = timestamp(record.expiresAt, "Ghostget messaging context binding.expiresAt");
214
214
  const lifetime = Date.parse(expiresAt) - Date.parse(validatedAt);
215
215
  if (lifetime <= 0 || lifetime > AGENTIC_MESSAGING_V1_LIMITS.maximumContextLifetimeMilliseconds) {
216
- return fail("Wrench messaging context binding has an invalid lifetime");
216
+ return fail("Ghostget messaging context binding has an invalid lifetime");
217
217
  }
218
218
  return Object.freeze({
219
219
  schemaVersion: AGENTIC_MESSAGING_V1_SCHEMA_VERSION,
220
- format: WRENCH_MESSAGING_CONTEXT_BINDING_V1_FORMAT,
221
- contractId: WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID,
222
- contractHash: WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_HASH,
223
- routeRef: identifier(record.routeRef, "Wrench messaging context binding.routeRef"),
224
- contextRef: identifier(record.contextRef, "Wrench messaging context binding.contextRef"),
225
- exactDataRevision: digest(record.exactDataRevision, "Wrench messaging context binding.exactDataRevision"),
226
- latestMessageRevision: digest(record.latestMessageRevision, "Wrench messaging context binding.latestMessageRevision"),
220
+ format: GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_FORMAT,
221
+ contractId: GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID,
222
+ contractHash: GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_HASH,
223
+ routeRef: identifier(record.routeRef, "Ghostget messaging context binding.routeRef"),
224
+ contextRef: identifier(record.contextRef, "Ghostget messaging context binding.contextRef"),
225
+ exactDataRevision: digest(record.exactDataRevision, "Ghostget messaging context binding.exactDataRevision"),
226
+ latestMessageRevision: digest(record.latestMessageRevision, "Ghostget messaging context binding.latestMessageRevision"),
227
227
  validatedAt,
228
228
  expiresAt
229
229
  });
@@ -251,7 +251,10 @@ function parseAgentMessageHandoffRequestV1(value) {
251
251
  });
252
252
  }
253
253
  function createAgentMessageHandoffV1(input) {
254
- const context = parseWrenchMessagingContextBindingV1(input.wrenchContext);
254
+ if (input.ghostgetContext !== undefined && input.wrenchContext !== undefined) {
255
+ return fail("Choose ghostgetContext or its legacy wrenchContext alias, not both");
256
+ }
257
+ const context = parseGhostgetMessagingContextBindingV1(input.ghostgetContext ?? input.wrenchContext);
255
258
  const draft = parseAgentMessageDraftV1(input.draft);
256
259
  const core = Object.freeze({
257
260
  schemaVersion: AGENTIC_MESSAGING_V1_SCHEMA_VERSION,
@@ -298,7 +301,7 @@ function createAgentMessageHandoffV1(input) {
298
301
  return fail("Agent message handoff timestamps are inconsistent");
299
302
  }
300
303
  if (core.expiresAt > core.wrench.contextExpiresAt) {
301
- return fail("Agent message handoff outlives its Wrench context binding");
304
+ return fail("Agent message handoff outlives its Ghostget context binding");
302
305
  }
303
306
  const canonicalSha256 = handoffDigest(core);
304
307
  return Object.freeze({
@@ -362,9 +365,9 @@ function parseAgentMessageHandoffV1(value) {
362
365
  exactKeys(integrityRecord, ["algorithm", "canonicalSha256"], "Agent message handoff.integrity");
363
366
  if (integrityRecord.algorithm !== "sha256")
364
367
  return fail("Agent message handoff integrity algorithm must be sha256");
365
- const context = parseWrenchMessagingContextBindingV1({
368
+ const context = parseGhostgetMessagingContextBindingV1({
366
369
  schemaVersion: AGENTIC_MESSAGING_V1_SCHEMA_VERSION,
367
- format: WRENCH_MESSAGING_CONTEXT_BINDING_V1_FORMAT,
370
+ format: GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_FORMAT,
368
371
  contractId: wrenchRecord.contractId,
369
372
  contractHash: wrenchRecord.contractHash,
370
373
  routeRef: wrenchRecord.routeRef,
@@ -389,7 +392,7 @@ function parseAgentMessageHandoffV1(value) {
389
392
  profileState: profileState(evidenceRecord.profileState, "Agent message handoff.evidence.profileState"),
390
393
  profileEvidenceRevision: evidenceRecord.profileEvidenceRevision === null ? null : digest(evidenceRecord.profileEvidenceRevision, "Agent message handoff.evidence.profileEvidenceRevision")
391
394
  },
392
- wrenchContext: context,
395
+ ghostgetContext: context,
393
396
  draft: {
394
397
  schemaVersion: AGENTIC_MESSAGING_V1_SCHEMA_VERSION,
395
398
  format: AGENT_MESSAGE_DRAFT_V1_FORMAT,
@@ -403,7 +406,7 @@ function parseAgentMessageHandoffV1(value) {
403
406
  return fail("Agent message handoff integrity does not match its canonical content");
404
407
  return handoff;
405
408
  }
406
- function wrenchMessagingTurnDigestV1(value) {
409
+ function ghostgetMessagingTurnDigestV1(value) {
407
410
  const handoff = parseAgentMessageHandoffV1(value);
408
411
  return sha256(canonicalJson({
409
412
  schemaVersion: 1,
@@ -418,8 +421,8 @@ function wrenchMessagingTurnDigestV1(value) {
418
421
  }))
419
422
  }));
420
423
  }
421
- function parseWrenchMessagingReceiptBindingV1(value) {
422
- const record = object(value, "Wrench messaging receipt binding");
424
+ function parseGhostgetMessagingReceiptBindingV1(value) {
425
+ const record = object(value, "Ghostget messaging receipt binding");
423
426
  exactKeys(record, [
424
427
  "schemaVersion",
425
428
  "format",
@@ -436,42 +439,42 @@ function parseWrenchMessagingReceiptBindingV1(value) {
436
439
  "provenPartCount",
437
440
  "receiptSha256",
438
441
  "recordedAt"
439
- ], "Wrench messaging receipt binding");
440
- if (record.schemaVersion !== AGENTIC_MESSAGING_V1_SCHEMA_VERSION || record.format !== WRENCH_MESSAGING_RECEIPT_BINDING_V1_FORMAT)
441
- return fail("Wrench messaging receipt binding has the wrong schemaVersion or format");
442
- if (record.contractId !== WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID || record.contractHash !== WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_HASH)
443
- return fail("Wrench messaging receipt binding has an unsupported contract identity");
442
+ ], "Ghostget messaging receipt binding");
443
+ if (record.schemaVersion !== AGENTIC_MESSAGING_V1_SCHEMA_VERSION || record.format !== GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_FORMAT)
444
+ return fail("Ghostget messaging receipt binding has the wrong schemaVersion or format");
445
+ if (record.contractId !== GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID || record.contractHash !== GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_HASH)
446
+ return fail("Ghostget messaging receipt binding has an unsupported contract identity");
444
447
  if (record.state !== "submitted" && record.state !== "failed" && record.state !== "partial" && record.state !== "indeterminate")
445
- return fail("Wrench messaging receipt binding has an invalid state");
448
+ return fail("Ghostget messaging receipt binding has an invalid state");
446
449
  if (!Number.isSafeInteger(record.partCount) || record.partCount < 1 || record.partCount > 8) {
447
- return fail("Wrench messaging receipt binding.partCount must be from 1 through 8");
450
+ return fail("Ghostget messaging receipt binding.partCount must be from 1 through 8");
448
451
  }
449
452
  if (!Number.isSafeInteger(record.provenPartCount) || record.provenPartCount < 0 || record.provenPartCount > record.partCount)
450
- return fail("Wrench messaging receipt binding.provenPartCount is out of range");
453
+ return fail("Ghostget messaging receipt binding.provenPartCount is out of range");
451
454
  const partCount = record.partCount;
452
455
  const provenPartCount = record.provenPartCount;
453
456
  if (record.state === "submitted" && provenPartCount !== partCount || record.state === "failed" && provenPartCount !== 0 || record.state === "partial" && (provenPartCount < 1 || provenPartCount >= partCount) || record.state === "indeterminate" && provenPartCount >= partCount)
454
- return fail("Wrench messaging receipt binding state does not match its proven prefix");
457
+ return fail("Ghostget messaging receipt binding state does not match its proven prefix");
455
458
  const parsed = Object.freeze({
456
459
  schemaVersion: AGENTIC_MESSAGING_V1_SCHEMA_VERSION,
457
- format: WRENCH_MESSAGING_RECEIPT_BINDING_V1_FORMAT,
458
- contractId: WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID,
459
- contractHash: WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_HASH,
460
- clientIntentSha256: digest(record.clientIntentSha256, "Wrench messaging receipt binding.clientIntentSha256"),
461
- routeRefSha256: digest(record.routeRefSha256, "Wrench messaging receipt binding.routeRefSha256"),
462
- contextRefSha256: digest(record.contextRefSha256, "Wrench messaging receipt binding.contextRefSha256"),
463
- turnDigest: digest(record.turnDigest, "Wrench messaging receipt binding.turnDigest"),
464
- previewDigest: digest(record.previewDigest, "Wrench messaging receipt binding.previewDigest"),
465
- runId: identifier(record.runId, "Wrench messaging receipt binding.runId", 256),
460
+ format: GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_FORMAT,
461
+ contractId: GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID,
462
+ contractHash: GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_HASH,
463
+ clientIntentSha256: digest(record.clientIntentSha256, "Ghostget messaging receipt binding.clientIntentSha256"),
464
+ routeRefSha256: digest(record.routeRefSha256, "Ghostget messaging receipt binding.routeRefSha256"),
465
+ contextRefSha256: digest(record.contextRefSha256, "Ghostget messaging receipt binding.contextRefSha256"),
466
+ turnDigest: digest(record.turnDigest, "Ghostget messaging receipt binding.turnDigest"),
467
+ previewDigest: digest(record.previewDigest, "Ghostget messaging receipt binding.previewDigest"),
468
+ runId: identifier(record.runId, "Ghostget messaging receipt binding.runId", 256),
466
469
  state: record.state,
467
470
  partCount,
468
471
  provenPartCount,
469
- receiptSha256: digest(record.receiptSha256, "Wrench messaging receipt binding.receiptSha256"),
470
- recordedAt: timestamp(record.recordedAt, "Wrench messaging receipt binding.recordedAt")
472
+ receiptSha256: digest(record.receiptSha256, "Ghostget messaging receipt binding.receiptSha256"),
473
+ recordedAt: timestamp(record.recordedAt, "Ghostget messaging receipt binding.recordedAt")
471
474
  });
472
475
  const { receiptSha256, ...receiptCore } = parsed;
473
476
  if (sha256(canonicalJson(receiptCore)) !== receiptSha256) {
474
- return fail("Wrench messaging receipt binding receiptSha256 does not match its canonical content");
477
+ return fail("Ghostget messaging receipt binding receiptSha256 does not match its canonical content");
475
478
  }
476
479
  return parsed;
477
480
  }
@@ -482,22 +485,33 @@ function agentMessageRouteCandidateId(sourceId, conversationId) {
482
485
  }))}`;
483
486
  }
484
487
  export {
485
- wrenchMessagingTurnDigestV1,
486
- parseWrenchMessagingReceiptBindingV1,
487
- parseWrenchMessagingContextBindingV1,
488
+ ghostgetMessagingTurnDigestV1 as wrenchMessagingTurnDigestV1,
489
+ parseGhostgetMessagingReceiptBindingV1 as parseWrenchMessagingReceiptBindingV1,
490
+ parseGhostgetMessagingContextBindingV1 as parseWrenchMessagingContextBindingV1,
491
+ parseGhostgetMessagingReceiptBindingV1,
492
+ parseGhostgetMessagingContextBindingV1,
488
493
  parseAgentMessageHandoffV1,
489
494
  parseAgentMessageHandoffRequestV1,
490
495
  parseAgentMessageDraftV1,
496
+ ghostgetMessagingTurnDigestV1,
491
497
  createAgentMessageHandoffV1,
492
498
  agentMessageRouteCandidateId,
493
- WRENCH_MESSAGING_RECEIPT_BINDING_V1_FORMAT,
494
- WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID,
495
- WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_HASH,
496
- WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_DESCRIPTOR,
497
- WRENCH_MESSAGING_CONTEXT_BINDING_V1_FORMAT,
498
- WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID,
499
- WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_HASH,
500
- WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_DESCRIPTOR,
499
+ GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_FORMAT as WRENCH_MESSAGING_RECEIPT_BINDING_V1_FORMAT,
500
+ GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID as WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID,
501
+ GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_HASH as WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_HASH,
502
+ GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_DESCRIPTOR as WRENCH_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_DESCRIPTOR,
503
+ GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_FORMAT as WRENCH_MESSAGING_CONTEXT_BINDING_V1_FORMAT,
504
+ GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID as WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID,
505
+ GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_HASH as WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_HASH,
506
+ GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_DESCRIPTOR as WRENCH_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_DESCRIPTOR,
507
+ GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_FORMAT,
508
+ GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_ID,
509
+ GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_HASH,
510
+ GHOSTGET_MESSAGING_RECEIPT_BINDING_V1_CONTRACT_DESCRIPTOR,
511
+ GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_FORMAT,
512
+ GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_ID,
513
+ GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_HASH,
514
+ GHOSTGET_MESSAGING_CONTEXT_BINDING_V1_CONTRACT_DESCRIPTOR,
501
515
  AgenticMessagingV1ContractError,
502
516
  AGENT_MESSAGE_HANDOFF_V1_FORMAT,
503
517
  AGENT_MESSAGE_HANDOFF_REQUEST_V1_FORMAT,