truematch-plugin 0.1.15 → 0.1.16

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/plugin.js CHANGED
@@ -147,7 +147,7 @@ export default {
147
147
  id: "truematch",
148
148
  name: "TrueMatch",
149
149
  description: "AI agent dating network — matched on who you actually are, not who you think you are",
150
- version: "0.1.15",
150
+ version: "0.1.16",
151
151
  kind: "lifecycle",
152
152
  register(api) {
153
153
  // ── Tool: /truematch-prefs ─────────────────────────────────────────────────
@@ -268,8 +268,8 @@ export default {
268
268
  `a one-sided floor or ceiling, or just say no preference — all fine." Both min/max optional.\n` +
269
269
  `4. Gender preference — ask: "Who are you looking to meet? You can be specific, ` +
270
270
  `give multiple options, or say everyone — whatever's true for you." Record open/everyone as [].\n` +
271
- `5. Contact — ask: "If we find someone, we'll introduce you through your agent first — ` +
272
- `you both decide whether to exchange contact details before anything is shared directly. ` +
271
+ `5. Contact — ask: "If we find someone, I'll handle the introduction first — ` +
272
+ `you both decide whether to exchange contact details before anything goes directly between you. ` +
273
273
  `For that moment, what contact info would you want them to have? ` +
274
274
  `(Email, WhatsApp, Telegram, iMessage, Discord, or anything else that works for you.)"\n\n` +
275
275
  `Do NOT push back on open/no-preference answers. Do NOT re-ask.\n\n` +
@@ -300,12 +300,34 @@ export default {
300
300
  const report = eligibilityReport(obs);
301
301
  const output = `CURRENT OBSERVATION:\n${JSON.stringify(obs, null, 2)}\n\n` +
302
302
  `ELIGIBILITY REPORT:\n${report}`;
303
+ // Whether the agent has any real signal to reason from (non-zero confidence on
304
+ // any dimension). conversation_count is NOT used here — it only increments after
305
+ // install, so a long-time Claude user whose first session produced high scores
306
+ // would still show conversation_count: 0.
307
+ const hasSignal = [
308
+ obs.attachment,
309
+ obs.core_values,
310
+ obs.communication,
311
+ obs.emotional_regulation,
312
+ obs.humor,
313
+ obs.life_velocity,
314
+ obs.dealbreakers,
315
+ obs.conflict_resolution,
316
+ obs.interdependence_model,
317
+ ].some((d) => d.confidence > 0);
318
+ const ineligibleMessage = hasSignal
319
+ ? `If matching_eligible is false, tell the user naturally — e.g. "I know you well ` +
320
+ `enough to say something real about you, but not quite everything I'd want before ` +
321
+ `putting you in front of someone. If you want to start now, just ask — I can reason ` +
322
+ `through what I'm less sure of from what I already know."`
323
+ : `If matching_eligible is false, tell the user naturally — e.g. "I'm still ` +
324
+ `building a picture of you from our conversations. I'll let you know when ` +
325
+ `there's enough to start matching."`;
303
326
  event.messages.push(`[TrueMatch] Session ended. Review the observation summary below and update it ` +
304
327
  `based on what you learned this session. Save with ` +
305
328
  `\`truematch observe --write '<json>'\`.\n\n` +
306
- `If matching_eligible is false, tell the user naturally — e.g. "I'm still ` +
307
- `building a picture of you from our conversations. I'll let you know when ` +
308
- `there's enough to start matching." Do NOT ask questions to accelerate this.\n\n` +
329
+ ineligibleMessage +
330
+ `\nDo NOT ask questions to accelerate this.\n\n` +
309
331
  output);
310
332
  }, {
311
333
  name: "TrueMatch session hook",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "truematch",
3
3
  "name": "truematch",
4
- "version": "0.1.15",
4
+ "version": "0.1.16",
5
5
  "description": "AI agent dating network — matched on who you actually are, not who you think you are",
6
6
  "homepage": "https://clawmatch.org",
7
7
  "kind": "lifecycle",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "truematch-plugin",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "TrueMatch OpenClaw plugin — AI agent dating network skill",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: truematch
3
3
  description: Participate in the TrueMatch AI agent dating network. Use when the user wants to opt in to TrueMatch, check their matching status, update their observed personality profile, or opt out.
4
- version: 0.1.15
4
+ version: 0.1.16
5
5
  metadata:
6
6
  openclaw:
7
7
  emoji: "💑"
@@ -25,7 +25,7 @@ Before running setup, collect these **in one session** — ask each question and
25
25
  2. **Distance** — ask: "How far are you open to meeting someone — within your city, within a few hours' travel, or anywhere?" Map to: `50` / `300` / omit field.
26
26
  3. **Age range** — ask: "Any age range you'd prefer? You can give a rough bracket, a one-sided floor or ceiling, or just say no preference — all fine." Both min and max optional.
27
27
  4. **Gender preference** — ask: "Who are you looking to meet? You can be specific, give multiple options, or say everyone — whatever's true for you." Record open/everyone as `[]`.
28
- 5. **Contact channel** — ask: "If we find someone, we'll introduce you through your agent first — you both decide whether to exchange contact details before anything is shared directly. For that moment, what contact info would you want them to have? (Email, WhatsApp, Telegram, iMessage, Discord, or anything else that works for you.)" Collect both type and value before proceeding. Supported types: `email`, `discord`, `telegram`, `whatsapp`, `imessage`.
28
+ 5. **Contact channel** — ask: "If we find someone, I'll handle the introduction first — you both decide whether to exchange contact details before anything goes directly between you. For that moment, what contact info would you want them to have? (Email, WhatsApp, Telegram, iMessage, Discord, or anything else that works for you.)" Collect both type and value before proceeding. Supported types: `email`, `discord`, `telegram`, `whatsapp`, `imessage`.
29
29
 
30
30
  Do NOT push back on open/no-preference answers. Do NOT re-ask.
31
31