@agenticprimitives/intent-engagement 0.0.0-alpha.25 → 0.0.0-alpha.27

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.
@@ -31,7 +31,8 @@ export interface OfferEvaluationV1 {
31
31
  * each named in `because` when it does:
32
32
  * 1. declares the capability in the PUBLIC tier (the resolver's evidence, spec 281) — over one that does not;
33
33
  * 2. holds a RELATIONSHIP with the requester (as the candidate row asserts) — over a stranger;
34
- * 3. the earliest firm offer received;
34
+ * 3. the earliest firm offer RECEIVED — by the instant the reducer recorded it, never the provider's own
35
+ * `issuedAt` (a provider does not win a tie by back-dating its offer; spec 445 / COV-7);
35
36
  * 4. the order the campaign asked in.
36
37
  * No rule is a weight, and no two are summed: a stranger's offer is never "0.7 of" a member's.
37
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"campaign.d.ts","sourceRoot":"","sources":["../src/campaign.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAsB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE1I,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C;8EAC8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,GAAG,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACpG,MAAM,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAC9D,GAAG,oBAAoB,CAevB;AAED,gGAAgG;AAChG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AA6BD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,QAAQ,EAAE,oBAAoB,CAAC;IAAC,UAAU,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;CAC5J,GAAG;IAAE,QAAQ,EAAE,oBAAoB,CAAC;IAAC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAmDhJ"}
1
+ {"version":3,"file":"campaign.d.ts","sourceRoot":"","sources":["../src/campaign.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAsB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE1I,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM9C;8EAC8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,GAAG,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACpG,MAAM,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAC9D,GAAG,oBAAoB,CAqBvB;AAED,gGAAgG;AAChG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AA+BD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,QAAQ,EAAE,oBAAoB,CAAC;IAAC,UAAU,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;CAC5J,GAAG;IAAE,QAAQ,EAAE,oBAAoB,CAAC;IAAC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,iBAAiB,EAAE,CAAA;CAAE,CA2DhJ"}
package/dist/campaign.js CHANGED
@@ -1,16 +1,27 @@
1
1
  import { offerDigest } from './digests.js';
2
2
  import { stepEngagement } from './reducer.js';
3
+ /** Selection and not-selected carry no party's commitment, so they need no signature evidence (spec 445 decision 8). */
4
+ const NO_COMMITMENT = { verified: new Set() };
3
5
  export function openCampaign(input) {
6
+ // THE BUDGET IS A NUMBER OR THERE IS NO CAMPAIGN (spec 445 / COV-6). `candidates.length >= NaN` is never
7
+ // true, so an unreadable budget used to mean "probe everyone" — every probe a disclosure to one more party.
8
+ const { maxCandidates, offersWanted, deadline } = input.budget;
9
+ if (!Number.isInteger(maxCandidates) || maxCandidates < 1)
10
+ throw new RangeError('openCampaign: budget.maxCandidates must be a positive integer');
11
+ if (!Number.isInteger(offersWanted) || offersWanted < 1)
12
+ throw new RangeError('openCampaign: budget.offersWanted must be a positive integer');
13
+ if (Number.isNaN(Date.parse(deadline)))
14
+ throw new RangeError('openCampaign: budget.deadline must be an ISO-8601 instant');
4
15
  const seen = new Set();
5
16
  const candidates = [];
6
17
  for (const c of input.candidates) {
18
+ if (candidates.length >= maxCandidates)
19
+ break; // THE DISCLOSURE BUDGET
7
20
  const k = c.toLowerCase();
8
21
  if (seen.has(k) || k === input.requester.toLowerCase())
9
22
  continue; // never probe yourself; never twice
10
23
  seen.add(k);
11
24
  candidates.push(c);
12
- if (candidates.length >= input.budget.maxCandidates)
13
- break; // THE DISCLOSURE BUDGET
14
25
  }
15
26
  return {
16
27
  type: 'ap.engagement-campaign.v1', campaignId: input.campaignId, intentId: input.intentId, intentVersion: input.intentVersion ?? 1,
@@ -21,7 +32,8 @@ export function openCampaign(input) {
21
32
  const lc = (s) => s.toLowerCase();
22
33
  /** The issued, unexpired offer in a situation that names the capability and binds this campaign's intent. */
23
34
  function eligibleOffer(s, capability, intentDigest, now) {
24
- const issued = Object.values(s.offers).filter((o) => o.state === 'issued').map((o) => o.offer);
35
+ const entries = Object.values(s.offers).filter((o) => o.state === 'issued');
36
+ const issued = entries.map((o) => o.offer);
25
37
  if (!issued.length) {
26
38
  const kind = s.lastResponseKind;
27
39
  const last = s.responses[s.responses.length - 1]?.content;
@@ -38,22 +50,24 @@ function eligibleOffer(s, capability, intentDigest, now) {
38
50
  }
39
51
  // Newest revision first, so a superseding offer is the one judged.
40
52
  const offer = [...issued].sort((a, b) => b.revision - a.revision)[0];
41
- if (Date.parse(offer.expiresAt) <= Date.parse(now))
42
- return { because: `its offer expired at ${offer.expiresAt}` };
53
+ if (!(Date.parse(offer.expiresAt) > Date.parse(now)))
54
+ return { because: `its offer expired at ${offer.expiresAt}` }; // fail-closed on an unreadable instant
43
55
  if (!offer.requirement.actions.includes(capability))
44
56
  return { because: `its offer does not name ${capability}` };
45
57
  if (lc(offer.intentDigest) !== lc(intentDigest) || lc(offer.requirement.intentDigest) !== lc(intentDigest))
46
58
  return { because: 'its offer binds another intent' };
47
59
  if (!offer.signature || offer.signature === '0x')
48
60
  return { because: 'its offer is unsigned' };
49
- return { offer, digest: offerDigest(offer) };
61
+ const receivedAt = entries.find((e) => e.offer === offer)?.receivedAt;
62
+ return { offer, digest: offerDigest(offer), ...(receivedAt ? { receivedAt } : {}) };
50
63
  }
51
64
  /**
52
65
  * THE SELECTION. Among eligible firm offers, ordered rules — each applied only when it separates the field,
53
66
  * each named in `because` when it does:
54
67
  * 1. declares the capability in the PUBLIC tier (the resolver's evidence, spec 281) — over one that does not;
55
68
  * 2. holds a RELATIONSHIP with the requester (as the candidate row asserts) — over a stranger;
56
- * 3. the earliest firm offer received;
69
+ * 3. the earliest firm offer RECEIVED — by the instant the reducer recorded it, never the provider's own
70
+ * `issuedAt` (a provider does not win a tie by back-dating its offer; spec 445 / COV-7);
57
71
  * 4. the order the campaign asked in.
58
72
  * No rule is a weight, and no two are summed: a stranger's offer is never "0.7 of" a member's.
59
73
  */
@@ -63,13 +77,16 @@ export function selectOffer(input) {
63
77
  const candidateOf = (a) => input.candidates.find((c) => lc(c.agent) === lc(a));
64
78
  const evaluations = [];
65
79
  const eligible = [];
66
- for (const s of [...input.situations].sort((a, b) => (order.get(lc(a.candidate)) ?? 99) - (order.get(lc(b.candidate)) ?? 99))) {
67
- const e = eligibleOffer(s, capability, campaign.intentDigest, now);
80
+ const rank = (a) => order.get(lc(a)) ?? Number.MAX_SAFE_INTEGER;
81
+ for (const s of [...input.situations].sort((a, b) => rank(a.candidate) - rank(b.candidate))) {
82
+ // A conversation is judged only if it is THIS campaign's, with one of ITS candidates, for ITS requester.
83
+ const foreign = s.campaignId !== campaign.campaignId ? 'belongs to another campaign' : !order.has(lc(s.candidate)) ? 'is not a candidate this campaign asked' : lc(s.requester) !== lc(campaign.requester) ? 'names another requester' : null;
84
+ const e = foreign ? { because: `its engagement ${foreign}` } : eligibleOffer(s, capability, campaign.intentDigest, now);
68
85
  if ('because' in e) {
69
86
  evaluations.push({ provider: s.candidate, engagementId: s.engagementId, eligible: false, because: e.because });
70
87
  continue;
71
88
  }
72
- eligible.push({ s, offer: e.offer, digest: e.digest });
89
+ eligible.push({ s, offer: e.offer, digest: e.digest, ...(e.receivedAt ? { receivedAt: e.receivedAt } : {}) });
73
90
  evaluations.push({ provider: s.candidate, engagementId: s.engagementId, offerId: e.offer.offerId, offerDigest: e.digest, eligible: true, because: 'a firm offer, signed, unexpired, naming the capability and this intent' });
74
91
  }
75
92
  if (!eligible.length)
@@ -88,11 +105,16 @@ export function selectOffer(input) {
88
105
  narrow((x) => declares(x.s.candidate), (_k, d) => `declares ${capability} in the public tier; ${d.map((x) => x.s.candidate).join(', ')} ${d.length === 1 ? 'does' : 'do'} not`);
89
106
  narrow((x) => related(x.s.candidate), (k, _d) => `holds a relationship with the requester (${candidateOf(k[0].s.candidate)?.relationship?.kind})`);
90
107
  if (field.length > 1) {
91
- const earliest = [...field].sort((a, b) => Date.parse(a.offer.issuedAt) - Date.parse(b.offer.issuedAt))[0];
92
- const ties = field.filter((x) => x.offer.issuedAt === earliest.offer.issuedAt);
93
- if (ties.length < field.length) {
94
- because.push(`the earliest firm offer (${earliest.offer.issuedAt})`);
95
- field = ties;
108
+ // Rule 3 separates the field only when EVERY offer has a recorded receipt instant; otherwise it does not
109
+ // apply and rule 4 decides. The provider's `issuedAt` is its own claim and is not read here.
110
+ const received = field.map((x) => (x.receivedAt ? Date.parse(x.receivedAt) : Number.NaN));
111
+ if (received.every((t) => !Number.isNaN(t))) {
112
+ const first = Math.min(...received);
113
+ const ties = field.filter((_x, i) => received[i] === first);
114
+ if (ties.length < field.length) {
115
+ because.push(`the earliest firm offer received (${ties[0].receivedAt})`);
116
+ field = ties;
117
+ }
96
118
  }
97
119
  if (field.length > 1) {
98
120
  because.push('asked first — nothing else distinguishes the offers');
@@ -113,11 +135,11 @@ export function selectOffer(input) {
113
135
  // The reducer moves state, nothing else: the winner is SELECTED, every other open conversation is CLOSED not-selected.
114
136
  const situations = input.situations.map((s) => {
115
137
  if (s.engagementId === winner.s.engagementId) {
116
- const r = stepEngagement(s, { kind: 'SelectOffer', offerId: winner.offer.offerId, offerDigest: winner.digest, because, idempotencyKey: `${campaign.campaignId}:select:${winner.offer.offerId}`, now });
138
+ const r = stepEngagement(s, { kind: 'SelectOffer', offerId: winner.offer.offerId, offerDigest: winner.digest, because, idempotencyKey: `${campaign.campaignId}:select:${winner.offer.offerId}`, now }, NO_COMMITMENT);
117
139
  return r.ok ? r.state : s;
118
140
  }
119
141
  const why = selection.notSelected.find((n) => lc(n.provider) === lc(s.candidate))?.because ?? 'not selected';
120
- const r = stepEngagement(s, { kind: 'NotSelected', because: why, idempotencyKey: `${campaign.campaignId}:not-selected:${s.engagementId}`, now });
142
+ const r = stepEngagement(s, { kind: 'NotSelected', because: why, idempotencyKey: `${campaign.campaignId}:not-selected:${s.engagementId}`, now }, NO_COMMITMENT);
121
143
  return r.ok ? r.state : s;
122
144
  });
123
145
  return { campaign: { ...campaign, selection, state: 'selected' }, situations, selection, evaluations };
@@ -1 +1 @@
1
- {"version":3,"file":"campaign.js","sourceRoot":"","sources":["../src/campaign.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign.js","sourceRoot":"","sources":["../src/campaign.ts"],"names":[],"mappings":"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"}
@@ -247,9 +247,12 @@ export interface EngagementSituationV1 {
247
247
  lastResponseKind?: EngagementResponseKind;
248
248
  probes: EngagementProbeV1[];
249
249
  responses: EngagementResponseV1[];
250
+ /** `receivedAt` is the instant the reducer recorded the offer (spec 445) — the requester's clock, never the
251
+ * provider's `issuedAt`. Absent on a situation recorded before it existed. */
250
252
  offers: Record<string, {
251
253
  offer: FulfillmentOfferV1;
252
254
  state: OfferState;
255
+ receivedAt?: IsoTime;
253
256
  }>;
254
257
  acceptance?: OfferAcceptanceV1;
255
258
  mandateRef?: Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../src/documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../src/documents.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-operation.d.ts","sourceRoot":"","sources":["../src/external-operation.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,eAAO,MAAM,8BAA8B,EAAG,0BAAmC,CAAC;AAMlF,MAAM,WAAW,sBAAsB;IACrC,sGAAsG;IACtG,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,WAAW,EAAE,GAAG,CAAC;IACjB,0GAA0G;IAC1G,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2GAA2G;AAC3G,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACvE,IAAI,EAAE,OAAO,8BAA8B,CAAC;CAC7C;AAED,uDAAuD;AACvD,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAajE;AAED,8GAA8G;AAC9G,eAAO,MAAM,4BAA4B,UAAW,OAAO,KAAG,GAAsB,CAAC;AAErF,uGAAuG;AACvG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,sBAAsB,CAWnK;AAED,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,sBAAsB,GAAG,yBAAyB,CAI9F;AAED,8GAA8G;AAC9G,eAAO,MAAM,6BAA6B,QAAS,sBAAsB,KAAG,GAA6C,CAAC;AAE1H,2HAA2H;AAC3H,eAAO,MAAM,+BAA+B,QAAS,sBAAsB,KAAG,MAA4C,CAAC;AAE3H,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,MAAO,sBAAsB,KAAK,sBAAsB,KAAG,OAC/B,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAEhH;AAID,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,qBAAqB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,+GAA+G;IAC/G,8BAA8B,CAAC,EAAE,GAAG,CAAC;IACrC,8GAA8G;IAC9G,oBAAoB,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,GAAG,CAAA;KAAE,CAAC;CACrE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,+BAA+B,GAAG,kBAAkB,GAAG,IAAI,CAKjI;AAID,yGAAyG;AACzG,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,EAAE,MAAM,CAAC,CAMhI,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAS,sBAAsB,KAAG,MAA+D,CAAC"}
1
+ {"version":3,"file":"external-operation.d.ts","sourceRoot":"","sources":["../src/external-operation.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,eAAO,MAAM,8BAA8B,EAAG,0BAAmC,CAAC;AAmBlF,MAAM,WAAW,sBAAsB;IACrC,sGAAsG;IACtG,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,WAAW,EAAE,GAAG,CAAC;IACjB,0GAA0G;IAC1G,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2GAA2G;AAC3G,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACvE,IAAI,EAAE,OAAO,8BAA8B,CAAC;CAC7C;AAED,uDAAuD;AACvD,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAajE;AAED,8GAA8G;AAC9G,eAAO,MAAM,4BAA4B,UAAW,OAAO,KAAG,GAAsB,CAAC;AAErF,uGAAuG;AACvG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,sBAAsB,CAWnK;AAED,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,sBAAsB,GAAG,yBAAyB,CAI9F;AAED,8GAA8G;AAC9G,eAAO,MAAM,6BAA6B,QAAS,sBAAsB,KAAG,GAA6C,CAAC;AAE1H,2HAA2H;AAC3H,eAAO,MAAM,+BAA+B,QAAS,sBAAsB,KAAG,MAA4C,CAAC;AAE3H,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,MAAO,sBAAsB,KAAK,sBAAsB,KAAG,OAC/B,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAEhH;AAID,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,qBAAqB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,+GAA+G;IAC/G,8BAA8B,CAAC,EAAE,GAAG,CAAC;IACrC,8GAA8G;IAC9G,oBAAoB,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,GAAG,CAAA;KAAE,CAAC;CACrE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,+BAA+B,GAAG,kBAAkB,GAAG,IAAI,CAKjI;AAID,yGAAyG;AACzG,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,EAAE,MAAM,CAAC,CAMhI,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAS,sBAAsB,KAAG,MAA+D,CAAC"}
@@ -25,6 +25,20 @@ import { digestOf } from './digests.js';
25
25
  export const EXTERNAL_OPERATION_INTENT_TYPE = 'ap.external-operation.v1';
26
26
  const CAIP10_EVM = /^eip155:\d+:0x[0-9a-fA-F]{40}$/;
27
27
  const HTTPS_ORIGIN = /^https:\/\/[^\s/?#]+$/;
28
+ /** An https ORIGIN in its canonical form, and nothing else (spec 445 / COV-8). The shape test alone admitted
29
+ * `https://bank.example@evil.example` — userinfo that reads as the company's name at the approval door while
30
+ * the origin is somebody else's. The URL parser decides what the origin IS; the authority must equal it. */
31
+ function isHttpsOrigin(value) {
32
+ if (!HTTPS_ORIGIN.test(value))
33
+ return false;
34
+ try {
35
+ const u = new URL(value);
36
+ return u.protocol === 'https:' && u.username === '' && u.password === '' && u.origin === value;
37
+ }
38
+ catch {
39
+ return false;
40
+ }
41
+ }
28
42
  const HEX32 = /^0x[0-9a-f]{64}$/;
29
43
  /** Validate a candidate ref. `[]` when well-formed. */
30
44
  export function validateExternalOperationRef(r) {
@@ -35,8 +49,8 @@ export function validateExternalOperationRef(r) {
35
49
  for (const k of Object.keys(x))
36
50
  if (!['authority', 'operationId', 'revision', 'termsDigest', 'expiresAt'].includes(k))
37
51
  issues.push(`ref.${k}: unknown property`);
38
- if (typeof x.authority !== 'string' || !(CAIP10_EVM.test(x.authority) || HTTPS_ORIGIN.test(x.authority))) {
39
- issues.push('ref.authority: must be a CAIP-10 (eip155:<chainId>:<address>) or an https origin');
52
+ if (typeof x.authority !== 'string' || !(CAIP10_EVM.test(x.authority) || isHttpsOrigin(x.authority))) {
53
+ issues.push('ref.authority: must be a CAIP-10 (eip155:<chainId>:<address>) or a canonical https origin (lower-case host, no userinfo, no default port, no path)');
40
54
  }
41
55
  if (typeof x.operationId !== 'string' || !x.operationId.trim())
42
56
  issues.push('ref.operationId: required');
@@ -1 +1 @@
1
- {"version":3,"file":"external-operation.js","sourceRoot":"","sources":["../src/external-operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-operation.js","sourceRoot":"","sources":["../src/external-operation.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,8 +4,8 @@ export declare const SPEC_REF = "specs/336-intent-engagement-profile.md";
4
4
  export type { Address, IsoTime, ProjectionKind, IntentProjectionV1, EngagementObjective, ClarificationMode, HumanChannel, ProbeProcessingModel, InteractionPolicyV1, EngagementProbeV1, EngagementAcknowledgementV1, EngagementResponseKind, QuestionV1, QuestionSetV1, HumanInteractionRequestV1, EngagementResponseContentV1, EngagementResponseV1, MandateRequirementV1, OfferTermsV1, IndicativeFulfillmentProposalV1, FulfillmentOfferV1, OfferAcceptanceV1, OfferSelectionV1, ExecuteAcceptedOfferV1, FulfillmentReceiptV1, RemoteA2AContextV1, EngagementState, OfferState, EngagementSituationV1, EngagementCampaignV1, ConformanceProfile, } from './documents.js';
5
5
  export { RESPONSE_KIND_AXES } from './documents.js';
6
6
  export { digestOf, wireProjection, projectionDigest, probeDigest, offerDigest, acceptanceDigest, receiptDigest } from './digests.js';
7
- export type { EngagementRefusalCode, Refusal, Decision, EngagementCommandV1, EngagementEventV1 } from './reducer.js';
8
- export { initialEngagement, decideEngagement, evolveEngagement, replayEngagement, stepEngagement } from './reducer.js';
7
+ export type { EngagementRefusalCode, Refusal, Decision, EngagementCommandV1, EngagementEventV1, EngagementSignatureEvidence } from './reducer.js';
8
+ export { initialEngagement, decideEngagement, evolveEngagement, replayEngagement, stepEngagement, signatureEvidenceKey } from './reducer.js';
9
9
  export type { CandidateSource, CandidateV1, ReceiptSigner } from './ports.js';
10
10
  export type { CampaignBudgetV1, OfferEvaluationV1 } from './campaign.js';
11
11
  export { openCampaign, selectOffer } from './campaign.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,yCAAyC,CAAC;AACnE,eAAO,MAAM,cAAc,EAAG,kBAA2B,CAAC;AAC1D,eAAO,MAAM,QAAQ,2CAA2C,CAAC;AAEjE,YAAY,EACV,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAChI,mBAAmB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,UAAU,EAAE,aAAa,EACtH,yBAAyB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,YAAY,EAChH,+BAA+B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAChH,oBAAoB,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,GACvI,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACrI,YAAY,EAAE,qBAAqB,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACrH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvH,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC9E,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,yCAAyC,CAAC;AACnE,eAAO,MAAM,cAAc,EAAG,kBAA2B,CAAC;AAC1D,eAAO,MAAM,QAAQ,2CAA2C,CAAC;AAEjE,YAAY,EACV,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAChI,mBAAmB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,UAAU,EAAE,aAAa,EACtH,yBAAyB,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,YAAY,EAChH,+BAA+B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAChH,oBAAoB,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,GACvI,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACrI,YAAY,EAAE,qBAAqB,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAClJ,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7I,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC9E,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ export const PACKAGE_STATUS = 'e1-protocol-core';
3
3
  export const SPEC_REF = 'specs/336-intent-engagement-profile.md';
4
4
  export { RESPONSE_KIND_AXES } from './documents.js';
5
5
  export { digestOf, wireProjection, projectionDigest, probeDigest, offerDigest, acceptanceDigest, receiptDigest } from './digests.js';
6
- export { initialEngagement, decideEngagement, evolveEngagement, replayEngagement, stepEngagement } from './reducer.js';
6
+ export { initialEngagement, decideEngagement, evolveEngagement, replayEngagement, stepEngagement, signatureEvidenceKey } from './reducer.js';
7
7
  export { openCampaign, selectOffer } from './campaign.js';
8
8
  export { fulfillmentReceipt } from './fulfillment.js';
9
9
  // Spec 442 §5 — an external operation (PAP operation / ACP session / UCP checkout) is an INTENT whose digest a
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,kBAA2B,CAAC;AAC1D,MAAM,CAAC,MAAM,QAAQ,GAAG,wCAAwC,CAAC;AASjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAErI,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGvH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,+GAA+G;AAC/G,qGAAqG;AACrG,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,kBAA2B,CAAC;AAC1D,MAAM,CAAC,MAAM,QAAQ,GAAG,wCAAwC,CAAC;AASjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAErI,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAG7I,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,+GAA+G;AAC/G,qGAAqG;AACrG,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC"}
package/dist/reducer.d.ts CHANGED
@@ -49,7 +49,7 @@ export type EngagementCommandV1 = {
49
49
  kind: 'PresentMandate';
50
50
  mandateRef: Hex;
51
51
  requirementIntentDigest: Hex;
52
- requirementOfferDigest?: Hex;
52
+ requirementOfferDigest: Hex;
53
53
  idempotencyKey: string;
54
54
  now: IsoTime;
55
55
  } | {
@@ -164,6 +164,13 @@ export type EngagementEventV1 = {
164
164
  idempotencyKey: string;
165
165
  at: IsoTime;
166
166
  };
167
+ /** `(signer, digest)` pairs whose signature the CALLER verified against that signer's Smart Agent. */
168
+ export interface EngagementSignatureEvidence {
169
+ /** Keys from {@link signatureEvidenceKey}. Every firm offer, acceptance and presented mandate must be among them. */
170
+ verified: ReadonlySet<string>;
171
+ }
172
+ /** The evidence key for one verified signature: who signed, over which digest. Case-insensitive. */
173
+ export declare const signatureEvidenceKey: (signer: string, digest: string) => string;
167
174
  export declare function initialEngagement(input: {
168
175
  engagementId: string;
169
176
  campaignId: string;
@@ -171,13 +178,13 @@ export declare function initialEngagement(input: {
171
178
  candidate: Address;
172
179
  now: IsoTime;
173
180
  }): EngagementSituationV1;
174
- export declare function decideEngagement(s: EngagementSituationV1, c: EngagementCommandV1): Decision<EngagementEventV1>;
181
+ export declare function decideEngagement(s: EngagementSituationV1, c: EngagementCommandV1, evidence: EngagementSignatureEvidence): Decision<EngagementEventV1>;
175
182
  /** The state after an event. Total: an event the reducer emitted always applies. */
176
183
  export declare function evolveEngagement(s: EngagementSituationV1, e: EngagementEventV1): EngagementSituationV1;
177
184
  /** Replay a log. */
178
185
  export declare function replayEngagement(initial: EngagementSituationV1, events: readonly EngagementEventV1[]): EngagementSituationV1;
179
186
  /** Decide + evolve in one step — the shape a serving plane calls. */
180
- export declare function stepEngagement(s: EngagementSituationV1, c: EngagementCommandV1): {
187
+ export declare function stepEngagement(s: EngagementSituationV1, c: EngagementCommandV1, evidence: EngagementSignatureEvidence): {
181
188
  ok: true;
182
189
  state: EngagementSituationV1;
183
190
  events: EngagementEventV1[];
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"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"}
package/dist/reducer.js CHANGED
@@ -2,6 +2,18 @@ import { acceptanceDigest, offerDigest, projectionDigest } from './digests.js';
2
2
  const OPEN = new Set(['new', 'probe-sent', 'waiting-on-provider', 'waiting-on-requester', 'offer-open', 'offer-selected', 'awaiting-mandate']);
3
3
  const refuse = (code, reason) => ({ ok: false, code, reason });
4
4
  const lc = (s) => s.toLowerCase();
5
+ /** The evidence key for one verified signature: who signed, over which digest. Case-insensitive. */
6
+ export const signatureEvidenceKey = (signer, digest) => `${signer.toLowerCase()}:${digest.toLowerCase()}`;
7
+ /** Fail-closed: no evidence, a malformed one, or a missing key is "not verified". */
8
+ const verified = (evidence, signer, digest) => !!evidence && evidence.verified instanceof Set && evidence.verified.has(signatureEvidenceKey(signer, digest));
9
+ /** Own-property lookup: an offer id is the provider's string, and `offers['constructor']` is not an offer. */
10
+ const offerEntry = (s, offerId) => (Object.hasOwn(s.offers, offerId) ? s.offers[offerId] : undefined);
11
+ /** Fail-closed instant comparison: an instant that does not parse has passed. */
12
+ const stillAhead = (instant, now) => Date.parse(instant) > Date.parse(now);
13
+ /** The states a firm offer may ARRIVE in. After a selection or an acceptance a new offer is a new
14
+ * engagement's business: letting one in here walked an accepted engagement back to `offer-open` with its
15
+ * acceptance and its presented mandate still attached (spec 445 / NAME-11). */
16
+ const OFFERABLE = new Set(['probe-sent', 'waiting-on-provider', 'waiting-on-requester', 'offer-open']);
5
17
  export function initialEngagement(input) {
6
18
  return { type: 'ap.engagement-situation.v1', engagementId: input.engagementId, campaignId: input.campaignId, requester: input.requester, candidate: input.candidate, state: 'new', probes: [], responses: [], offers: {}, seen: [], updatedAt: input.now };
7
19
  }
@@ -9,7 +21,7 @@ export function initialEngagement(input) {
9
21
  function openProbe(s) {
10
22
  return s.probes[s.probes.length - 1] ?? null;
11
23
  }
12
- export function decideEngagement(s, c) {
24
+ export function decideEngagement(s, c, evidence) {
13
25
  // IDEMPOTENCY FIRST (§6.2): at-least-once delivery is assumed; a repeat is one command, not two.
14
26
  if (s.seen.includes(c.idempotencyKey))
15
27
  return { ok: true, events: [] };
@@ -30,6 +42,10 @@ export function decideEngagement(s, c) {
30
42
  return refuse('projection-mismatch', 'the probe\'s projection digest is not the digest of its projection');
31
43
  if (p.projection.audience !== 'broadcast' && lc(p.projection.audience) !== lc(p.candidate))
32
44
  return refuse('projection-mismatch', 'an engagement projection is audience-bound to the candidate it is sent to');
45
+ if (p.engagementId !== id)
46
+ return refuse('wrong-state', 'the probe names another engagement');
47
+ if (Number.isNaN(Date.parse(p.replyBy)))
48
+ return refuse('probe-expired', 'a probe\'s reply-by is an instant — one that cannot be read never expires');
33
49
  return { ok: true, events: [{ kind: 'ProbeSent', engagementId: id, probe: p, idempotencyKey: c.idempotencyKey, at: c.now }] };
34
50
  }
35
51
  case 'ReceiveAcknowledgement': {
@@ -55,10 +71,12 @@ export function decideEngagement(s, c) {
55
71
  return refuse('not-the-provider', 'the response is from somebody other than the candidate');
56
72
  if (r.probeNonce !== p.probeNonce)
57
73
  return refuse('nonce-mismatch', 'the response does not echo the probe\'s single-use nonce');
74
+ if (r.engagementId !== id)
75
+ return refuse('unknown-probe', 'the response names another engagement');
58
76
  if (s.responses.some((x) => x.responseId === r.responseId || x.idempotencyKey === r.idempotencyKey))
59
77
  return { ok: true, events: [] };
60
78
  // §6.2 — an EXPIRED probe cannot produce an acceptable offer.
61
- const expired = Date.parse(c.now) > Date.parse(p.replyBy);
79
+ const expired = !(Date.parse(c.now) <= Date.parse(p.replyBy)); // fail-closed on an unreadable instant
62
80
  const events = [{ kind: 'ResponseReceived', engagementId: id, response: r, idempotencyKey: c.idempotencyKey, at: c.now }];
63
81
  if (r.content.kind === 'offer') {
64
82
  if (expired)
@@ -66,17 +84,26 @@ export function decideEngagement(s, c) {
66
84
  const o = r.content.offer;
67
85
  if (o.type === 'ap.fulfillment-offer.v1') {
68
86
  // §6.3 — a FIRM offer is provider-signed, bound to the projection reviewed and the intent probed.
87
+ if (!OFFERABLE.has(s.state))
88
+ return refuse('wrong-state', `a firm offer arrives while the engagement is waiting for one, not ${s.state}`);
69
89
  if (!o.signature || o.signature === '0x')
70
- return refuse('offer-unsigned', 'a firm offer is signed by the provider');
90
+ return refuse('offer-unsigned', 'a firm offer carries the provider\'s signature');
71
91
  if (lc(o.provider) !== lc(s.candidate) || lc(o.requester) !== lc(s.requester))
72
92
  return refuse('not-the-provider', 'the offer names other parties');
93
+ if (o.engagementId !== id)
94
+ return refuse('offer-mismatch', 'the offer names another engagement');
95
+ if (offerEntry(s, o.offerId))
96
+ return refuse('offer-mismatch', 'an offer id is used once — a change is a new revision that supersedes');
73
97
  if (lc(o.basisOfOffer) !== lc(p.projectionDigest))
74
98
  return refuse('offer-mismatch', 'the offer\'s basis is not the projection this probe carried');
75
99
  if (lc(o.intentDigest) !== lc(p.intentDigest) || lc(o.requirement.intentDigest) !== lc(p.intentDigest))
76
100
  return refuse('offer-mismatch', 'the offer (or its requirement) binds another intent');
77
- if (Date.parse(o.expiresAt) <= Date.parse(c.now))
101
+ if (!stillAhead(o.expiresAt, c.now))
78
102
  return refuse('offer-expired', 'the offer has already expired');
79
- events.push({ kind: 'OfferIssued', engagementId: id, offer: o, offerDigest: offerDigest(o), idempotencyKey: `${c.idempotencyKey}:offer`, at: c.now });
103
+ const digest = offerDigest(o);
104
+ if (!verified(evidence, o.provider, digest))
105
+ return refuse('offer-unsigned', 'the provider\'s signature over this offer was not verified');
106
+ events.push({ kind: 'OfferIssued', engagementId: id, offer: o, offerDigest: digest, idempotencyKey: `${c.idempotencyKey}:offer`, at: c.now });
80
107
  }
81
108
  // An indicative proposal is recorded as a response and moves the engagement to waiting-on-requester.
82
109
  }
@@ -85,17 +112,17 @@ export function decideEngagement(s, c) {
85
112
  case 'AnswerClarification': {
86
113
  if (s.state !== 'waiting-on-requester')
87
114
  return refuse('wrong-state', 'nothing asked for clarification');
88
- return decideEngagement({ ...s, state: 'new' }, { kind: 'SendProbe', probe: c.probe, intentDigest: c.probe.intentDigest, idempotencyKey: c.idempotencyKey, now: c.now });
115
+ return decideEngagement({ ...s, state: 'new' }, { kind: 'SendProbe', probe: c.probe, intentDigest: c.probe.intentDigest, idempotencyKey: c.idempotencyKey, now: c.now }, evidence);
89
116
  }
90
117
  case 'SelectOffer': {
91
118
  if (s.state !== 'offer-open')
92
119
  return refuse('wrong-state', `an offer is selected while offers are open, not ${s.state}`);
93
- const entry = s.offers[c.offerId];
120
+ const entry = offerEntry(s, c.offerId);
94
121
  if (!entry || entry.state !== 'issued')
95
122
  return refuse('offer-mismatch', 'no issued offer by that id');
96
123
  if (lc(offerDigest(entry.offer)) !== lc(c.offerDigest))
97
124
  return refuse('offer-mismatch', 'the selection pins a digest that is not this offer\'s');
98
- if (Date.parse(entry.offer.expiresAt) <= Date.parse(c.now))
125
+ if (!stillAhead(entry.offer.expiresAt, c.now))
99
126
  return refuse('offer-expired', 'the offer expired before it was selected');
100
127
  return { ok: true, events: [{ kind: 'OfferSelected', engagementId: id, offerId: c.offerId, offerDigest: c.offerDigest, because: c.because, idempotencyKey: c.idempotencyKey, at: c.now }] };
101
128
  }
@@ -103,17 +130,21 @@ export function decideEngagement(s, c) {
103
130
  if (s.state !== 'offer-selected')
104
131
  return refuse('wrong-state', `an offer is accepted after it is selected, not ${s.state}`);
105
132
  const a = c.acceptance;
106
- const entry = s.offers[a.offerId];
133
+ const entry = offerEntry(s, a.offerId);
107
134
  if (!entry || entry.state !== 'issued')
108
135
  return refuse('offer-mismatch', 'no issued offer by that id');
136
+ if (a.engagementId !== id)
137
+ return refuse('acceptance-mismatch', 'the acceptance names another engagement');
109
138
  // §6.3 — acceptance PINS the digest and cannot broaden: a differing acceptance is a counter-proposal.
110
139
  if (lc(a.offerDigest) !== lc(offerDigest(entry.offer)))
111
140
  return refuse('acceptance-broadens', 'the acceptance does not pin the offer as issued — a differing acceptance is a counter-proposal, not an acceptance');
112
141
  if (lc(a.requester) !== lc(s.requester))
113
142
  return refuse('not-the-requester', 'accepted by somebody other than the requester');
114
143
  if (!a.signature || a.signature === '0x')
115
- return refuse('acceptance-mismatch', 'an acceptance is signed by the requester');
116
- if (Date.parse(entry.offer.expiresAt) <= Date.parse(c.now))
144
+ return refuse('acceptance-mismatch', 'an acceptance carries the requester\'s signature');
145
+ if (!verified(evidence, a.requester, acceptanceDigest(a)))
146
+ return refuse('acceptance-mismatch', 'the requester\'s signature over this acceptance was not verified');
147
+ if (!stillAhead(entry.offer.expiresAt, c.now))
117
148
  return refuse('offer-expired', 'the offer expired before acceptance');
118
149
  return { ok: true, events: [{ kind: 'OfferAccepted', engagementId: id, acceptance: a, idempotencyKey: c.idempotencyKey, at: c.now }] };
119
150
  }
@@ -121,12 +152,19 @@ export function decideEngagement(s, c) {
121
152
  if (s.state !== 'awaiting-mandate')
122
153
  return refuse('wrong-state', `a mandate is presented after acceptance, not in ${s.state}`);
123
154
  const acc = s.acceptance;
124
- const entry = s.offers[acc.offerId];
155
+ const entry = acc ? offerEntry(s, acc.offerId) : undefined;
156
+ if (!acc || !entry || entry.state !== 'accepted')
157
+ return refuse('offer-not-accepted', 'a mandate is presented for an accepted offer');
125
158
  // §6.6 — the mandate binds THIS intent and THIS offer; a mandate for another is not this engagement's.
159
+ // The offer digest is REQUIRED (spec 384 W2 `offer-not-bound`): a mandate that names no offer names none
160
+ // of them, and recording it as presented would let it stand for whichever offer came next.
126
161
  if (lc(c.requirementIntentDigest) !== lc(entry.offer.intentDigest))
127
162
  return refuse('mandate-mismatch', 'the mandate binds another intent');
128
- if (c.requirementOfferDigest && lc(c.requirementOfferDigest) !== lc(acc.offerDigest))
129
- return refuse('mandate-mismatch', 'the mandate authorizes another offer');
163
+ if (typeof c.requirementOfferDigest !== 'string' || lc(c.requirementOfferDigest) !== lc(acc.offerDigest))
164
+ return refuse('mandate-mismatch', 'the mandate does not name the accepted offer');
165
+ // Spec 445 decision 8: the requester's signature over the mandate (its hash, `mandateRef`) was verified.
166
+ if (typeof c.mandateRef !== 'string' || !verified(evidence, s.requester, c.mandateRef))
167
+ return refuse('mandate-mismatch', 'the requester\'s signature over this mandate was not verified');
130
168
  return { ok: true, events: [{ kind: 'MandatePresented', engagementId: id, mandateRef: c.mandateRef, idempotencyKey: c.idempotencyKey, at: c.now }] };
131
169
  }
132
170
  case 'Execute': {
@@ -135,7 +173,11 @@ export function decideEngagement(s, c) {
135
173
  return refuse('mandate-missing', 'a fulfillment task cannot exist without its required mandate');
136
174
  const e = c.execute;
137
175
  const acc = s.acceptance;
138
- const entry = s.offers[acc.offerId];
176
+ const entry = acc ? offerEntry(s, acc.offerId) : undefined;
177
+ if (!acc || !entry || entry.state !== 'accepted')
178
+ return refuse('offer-not-accepted', 'execute follows an accepted offer');
179
+ if (e.engagementId !== id)
180
+ return refuse('offer-mismatch', 'execute names another engagement');
139
181
  if (e.offerId !== acc.offerId || lc(e.offerDigest) !== lc(offerDigest(entry.offer)))
140
182
  return refuse('offer-mismatch', 'execute names another offer');
141
183
  if (e.acceptanceId !== acc.acceptanceId || lc(e.acceptanceDigest) !== lc(acceptanceDigest(acc)))
@@ -145,7 +187,7 @@ export function decideEngagement(s, c) {
145
187
  return { ok: true, events: [{ kind: 'FulfillmentLinked', engagementId: id, execute: e, idempotencyKey: c.idempotencyKey, at: c.now }] };
146
188
  }
147
189
  case 'WithdrawOffer': {
148
- const entry = s.offers[c.offerId];
190
+ const entry = offerEntry(s, c.offerId);
149
191
  if (!entry || entry.state !== 'issued')
150
192
  return refuse('offer-mismatch', 'no issued offer to withdraw');
151
193
  if (lc(c.provider) !== lc(entry.offer.provider))
@@ -154,20 +196,42 @@ export function decideEngagement(s, c) {
154
196
  }
155
197
  case 'SupersedeOffer': {
156
198
  const o = c.offer;
199
+ // A REVISION IS HELD TO EVERYTHING THE FIRST OFFER WAS (spec 445 / NAME-11). It arrives only while offers
200
+ // are open — never into a cancelled, expired, selected or accepted engagement, which it used to reopen —
201
+ // and it binds the same engagement, parties, projection and intent, unexpired, under a new id.
202
+ if (!OPEN.has(s.state))
203
+ return refuse('not-open', `this engagement is ${s.state}`);
204
+ if (s.state !== 'offer-open')
205
+ return refuse('wrong-state', `an offer is revised while offers are open, not ${s.state}`);
157
206
  if (!o.supersedes)
158
207
  return refuse('offer-mismatch', 'a superseding offer names what it supersedes');
159
- const old = s.offers[o.supersedes];
208
+ const old = offerEntry(s, o.supersedes);
160
209
  if (!old || old.state !== 'issued')
161
210
  return refuse('offer-mismatch', 'the superseded offer is not open');
162
- if (lc(o.provider) !== lc(old.offer.provider))
211
+ if (lc(o.provider) !== lc(old.offer.provider) || lc(o.provider) !== lc(s.candidate))
163
212
  return refuse('not-the-provider', 'only the provider revises its offer');
164
- if (o.revision <= old.offer.revision)
213
+ if (!Number.isFinite(o.revision) || !(o.revision > old.offer.revision))
165
214
  return refuse('offer-mismatch', 'a revision supersedes with a higher revision number');
166
215
  if (!o.signature || o.signature === '0x')
167
- return refuse('offer-unsigned', 'a firm offer is signed by the provider');
216
+ return refuse('offer-unsigned', 'a firm offer carries the provider\'s signature');
217
+ if (lc(o.requester) !== lc(s.requester))
218
+ return refuse('not-the-provider', 'the offer names other parties');
219
+ if (o.engagementId !== id)
220
+ return refuse('offer-mismatch', 'the offer names another engagement');
221
+ if (offerEntry(s, o.offerId))
222
+ return refuse('offer-mismatch', 'an offer id is used once — a revision carries a new id');
223
+ if (lc(o.basisOfOffer) !== lc(old.offer.basisOfOffer))
224
+ return refuse('offer-mismatch', 'the revision\'s basis is not the projection the offer it supersedes was made on');
225
+ if (lc(o.intentDigest) !== lc(old.offer.intentDigest) || lc(o.requirement.intentDigest) !== lc(old.offer.intentDigest))
226
+ return refuse('offer-mismatch', 'the revision (or its requirement) binds another intent');
227
+ if (!stillAhead(o.expiresAt, c.now))
228
+ return refuse('offer-expired', 'the revision has already expired');
229
+ const digest = offerDigest(o);
230
+ if (!verified(evidence, o.provider, digest))
231
+ return refuse('offer-unsigned', 'the provider\'s signature over this offer was not verified');
168
232
  return { ok: true, events: [
169
233
  { kind: 'OfferSuperseded', engagementId: id, offerId: o.supersedes, by: o.offerId, idempotencyKey: `${c.idempotencyKey}:old`, at: c.now },
170
- { kind: 'OfferIssued', engagementId: id, offer: o, offerDigest: offerDigest(o), idempotencyKey: c.idempotencyKey, at: c.now },
234
+ { kind: 'OfferIssued', engagementId: id, offer: o, offerDigest: digest, idempotencyKey: c.idempotencyKey, at: c.now },
171
235
  ] };
172
236
  }
173
237
  case 'NotSelected':
@@ -202,7 +266,15 @@ export function evolveEngagement(s, e) {
202
266
  // an offer: the firm one is issued by its own event; an indicative proposal is an answer that waits on us.
203
267
  return { ...base, responses, lastResponseKind: k, state: e.response.content.offer.type === 'ap.fulfillment-offer.v1' ? s.state : 'waiting-on-requester' };
204
268
  }
205
- case 'OfferIssued': return { ...base, state: 'offer-open', offers: { ...s.offers, [e.offer.offerId]: { offer: e.offer, state: 'issued' } } };
269
+ case 'OfferIssued': {
270
+ // A fresh offer is fresh ground: nothing accepted and no mandate presented carries over to it
271
+ // (spec 445 / NAME-11). `receivedAt` is OUR clock for "the earliest offer received" — never the
272
+ // provider's own `issuedAt`.
273
+ const { acceptance: _a, mandateRef: _m, ...rest } = base;
274
+ void _a;
275
+ void _m;
276
+ return { ...rest, state: 'offer-open', offers: { ...s.offers, [e.offer.offerId]: { offer: e.offer, state: 'issued', receivedAt: e.at } } };
277
+ }
206
278
  case 'OfferSuperseded': return { ...base, offers: { ...s.offers, [e.offerId]: { ...s.offers[e.offerId], state: 'superseded' } } };
207
279
  case 'OfferWithdrawn': {
208
280
  const offers = { ...s.offers, [e.offerId]: { ...s.offers[e.offerId], state: 'withdrawn' } };
@@ -222,8 +294,8 @@ export function replayEngagement(initial, events) {
222
294
  return events.reduce(evolveEngagement, initial);
223
295
  }
224
296
  /** Decide + evolve in one step — the shape a serving plane calls. */
225
- export function stepEngagement(s, c) {
226
- const d = decideEngagement(s, c);
297
+ export function stepEngagement(s, c, evidence) {
298
+ const d = decideEngagement(s, c, evidence);
227
299
  if (!d.ok)
228
300
  return d;
229
301
  return { ok: true, state: replayEngagement(s, d.events), events: d.events };
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticprimitives/intent-engagement",
3
- "version": "0.0.0-alpha.25",
3
+ "version": "0.0.0-alpha.27",
4
4
  "description": "Intent engagement protocol core (spec 336 §8): probe → response → offer → acceptance → mandate requirement → execute → receipt as pure documents, JCS digests, and two deterministic reducers. Transport-free; grants nothing.",
5
5
  "homepage": "https://agenticprimitives.dev",
6
6
  "bugs": {
@@ -50,7 +50,7 @@
50
50
  ],
51
51
  "dependencies": {
52
52
  "viem": "^2.52.2",
53
- "@agenticprimitives/types": "1.0.0-alpha.46"
53
+ "@agenticprimitives/types": "1.0.0-alpha.48"
54
54
  },
55
55
  "scripts": {
56
56
  "build": "tsc -p tsconfig.build.json",