@sharpee/character 0.9.106 → 0.9.107

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.
Files changed (137) hide show
  1. package/apply.d.ts +29 -7
  2. package/apply.d.ts.map +1 -1
  3. package/apply.js +15 -7
  4. package/apply.js.map +1 -1
  5. package/character-builder.d.ts +67 -4
  6. package/character-builder.d.ts.map +1 -1
  7. package/character-builder.js +116 -7
  8. package/character-builder.js.map +1 -1
  9. package/conversation/acl.d.ts +62 -0
  10. package/conversation/acl.d.ts.map +1 -0
  11. package/conversation/acl.js +117 -0
  12. package/conversation/acl.js.map +1 -0
  13. package/conversation/builder.d.ts +247 -0
  14. package/conversation/builder.d.ts.map +1 -0
  15. package/conversation/builder.js +324 -0
  16. package/conversation/builder.js.map +1 -0
  17. package/conversation/constraint-evaluator.d.ts +147 -0
  18. package/conversation/constraint-evaluator.d.ts.map +1 -0
  19. package/conversation/constraint-evaluator.js +247 -0
  20. package/conversation/constraint-evaluator.js.map +1 -0
  21. package/conversation/conversation-messages.d.ts +56 -0
  22. package/conversation/conversation-messages.d.ts.map +1 -0
  23. package/conversation/conversation-messages.js +69 -0
  24. package/conversation/conversation-messages.js.map +1 -0
  25. package/conversation/dialogue-extension.d.ts +87 -0
  26. package/conversation/dialogue-extension.d.ts.map +1 -0
  27. package/conversation/dialogue-extension.js +302 -0
  28. package/conversation/dialogue-extension.js.map +1 -0
  29. package/conversation/dialogue-types.d.ts +71 -0
  30. package/conversation/dialogue-types.d.ts.map +1 -0
  31. package/conversation/dialogue-types.js +13 -0
  32. package/conversation/dialogue-types.js.map +1 -0
  33. package/conversation/index.d.ts +19 -0
  34. package/conversation/index.d.ts.map +1 -0
  35. package/conversation/index.js +37 -0
  36. package/conversation/index.js.map +1 -0
  37. package/conversation/lifecycle.d.ts +212 -0
  38. package/conversation/lifecycle.d.ts.map +1 -0
  39. package/conversation/lifecycle.js +348 -0
  40. package/conversation/lifecycle.js.map +1 -0
  41. package/conversation/response-types.d.ts +98 -0
  42. package/conversation/response-types.d.ts.map +1 -0
  43. package/conversation/response-types.js +30 -0
  44. package/conversation/response-types.js.map +1 -0
  45. package/conversation/topic-registry.d.ts +130 -0
  46. package/conversation/topic-registry.d.ts.map +1 -0
  47. package/conversation/topic-registry.js +187 -0
  48. package/conversation/topic-registry.js.map +1 -0
  49. package/goals/builder.d.ts +135 -0
  50. package/goals/builder.d.ts.map +1 -0
  51. package/goals/builder.js +193 -0
  52. package/goals/builder.js.map +1 -0
  53. package/goals/goal-activation.d.ts +99 -0
  54. package/goals/goal-activation.d.ts.map +1 -0
  55. package/goals/goal-activation.js +212 -0
  56. package/goals/goal-activation.js.map +1 -0
  57. package/goals/goal-types.d.ts +138 -0
  58. package/goals/goal-types.d.ts.map +1 -0
  59. package/goals/goal-types.js +20 -0
  60. package/goals/goal-types.js.map +1 -0
  61. package/goals/index.d.ts +15 -0
  62. package/goals/index.d.ts.map +1 -0
  63. package/goals/index.js +24 -0
  64. package/goals/index.js.map +1 -0
  65. package/goals/pathfinding.d.ts +67 -0
  66. package/goals/pathfinding.d.ts.map +1 -0
  67. package/goals/pathfinding.js +134 -0
  68. package/goals/pathfinding.js.map +1 -0
  69. package/goals/step-evaluator.d.ts +52 -0
  70. package/goals/step-evaluator.d.ts.map +1 -0
  71. package/goals/step-evaluator.js +153 -0
  72. package/goals/step-evaluator.js.map +1 -0
  73. package/index.d.ts +6 -1
  74. package/index.d.ts.map +1 -1
  75. package/index.js +60 -1
  76. package/index.js.map +1 -1
  77. package/influence/builder.d.ts +136 -0
  78. package/influence/builder.d.ts.map +1 -0
  79. package/influence/builder.js +198 -0
  80. package/influence/builder.js.map +1 -0
  81. package/influence/index.d.ts +16 -0
  82. package/influence/index.d.ts.map +1 -0
  83. package/influence/index.js +25 -0
  84. package/influence/index.js.map +1 -0
  85. package/influence/influence-duration.d.ts +82 -0
  86. package/influence/influence-duration.d.ts.map +1 -0
  87. package/influence/influence-duration.js +148 -0
  88. package/influence/influence-duration.js.map +1 -0
  89. package/influence/influence-evaluator.d.ts +55 -0
  90. package/influence/influence-evaluator.d.ts.map +1 -0
  91. package/influence/influence-evaluator.js +183 -0
  92. package/influence/influence-evaluator.js.map +1 -0
  93. package/influence/influence-messages.d.ts +30 -0
  94. package/influence/influence-messages.d.ts.map +1 -0
  95. package/influence/influence-messages.js +40 -0
  96. package/influence/influence-messages.js.map +1 -0
  97. package/influence/influence-types.d.ts +123 -0
  98. package/influence/influence-types.d.ts.map +1 -0
  99. package/influence/influence-types.js +12 -0
  100. package/influence/influence-types.js.map +1 -0
  101. package/influence/pc-influence.d.ts +38 -0
  102. package/influence/pc-influence.d.ts.map +1 -0
  103. package/influence/pc-influence.js +56 -0
  104. package/influence/pc-influence.js.map +1 -0
  105. package/package.json +4 -3
  106. package/propagation/builder.d.ts +47 -0
  107. package/propagation/builder.d.ts.map +1 -0
  108. package/propagation/builder.js +46 -0
  109. package/propagation/builder.js.map +1 -0
  110. package/propagation/fact-transfer.d.ts +47 -0
  111. package/propagation/fact-transfer.d.ts.map +1 -0
  112. package/propagation/fact-transfer.js +76 -0
  113. package/propagation/fact-transfer.js.map +1 -0
  114. package/propagation/index.d.ts +16 -0
  115. package/propagation/index.d.ts.map +1 -0
  116. package/propagation/index.js +28 -0
  117. package/propagation/index.js.map +1 -0
  118. package/propagation/propagation-evaluator.d.ts +53 -0
  119. package/propagation/propagation-evaluator.d.ts.map +1 -0
  120. package/propagation/propagation-evaluator.js +231 -0
  121. package/propagation/propagation-evaluator.js.map +1 -0
  122. package/propagation/propagation-messages.d.ts +30 -0
  123. package/propagation/propagation-messages.d.ts.map +1 -0
  124. package/propagation/propagation-messages.js +37 -0
  125. package/propagation/propagation-messages.js.map +1 -0
  126. package/propagation/propagation-types.d.ts +100 -0
  127. package/propagation/propagation-types.d.ts.map +1 -0
  128. package/propagation/propagation-types.js +68 -0
  129. package/propagation/propagation-types.js.map +1 -0
  130. package/propagation/visibility.d.ts +46 -0
  131. package/propagation/visibility.d.ts.map +1 -0
  132. package/propagation/visibility.js +79 -0
  133. package/propagation/visibility.js.map +1 -0
  134. package/tick-phases.d.ts +93 -0
  135. package/tick-phases.d.ts.map +1 -0
  136. package/tick-phases.js +433 -0
  137. package/tick-phases.js.map +1 -0
@@ -0,0 +1,302 @@
1
+ "use strict";
2
+ /**
3
+ * CharacterModelDialogue — DialogueExtension implementation (ADR-142)
4
+ *
5
+ * Implements the DialogueExtension interface (ADR-102) using the
6
+ * character model conversation system. Wires topic resolution,
7
+ * constraint evaluation, conversation lifecycle, and the ACL
8
+ * into a single handler for stdlib's ASK/TELL/SAY/TALK TO actions.
9
+ *
10
+ * Public interface: CharacterModelDialogue.
11
+ * Owner context: @sharpee/character / conversation
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.CharacterModelDialogue = void 0;
15
+ const topic_registry_1 = require("./topic-registry");
16
+ const constraint_evaluator_1 = require("./constraint-evaluator");
17
+ const lifecycle_1 = require("./lifecycle");
18
+ const acl_1 = require("./acl");
19
+ // ---------------------------------------------------------------------------
20
+ // CharacterModelDialogue
21
+ // ---------------------------------------------------------------------------
22
+ /**
23
+ * DialogueExtension implementation backed by the character model.
24
+ *
25
+ * Manages per-NPC topic registries, constraint evaluation, conversation
26
+ * lifecycle, and evidence tracking. One instance per game session.
27
+ */
28
+ class CharacterModelDialogue {
29
+ /** Per-NPC conversation state. */
30
+ npcs = new Map();
31
+ /** Shared constraint evaluator (owns conversation records and evidence). */
32
+ evaluator = new constraint_evaluator_1.ConstraintEvaluator();
33
+ /** Shared conversation lifecycle (owns active conversation state). */
34
+ lifecycle = new lifecycle_1.ConversationLifecycle();
35
+ /** Get the conversation lifecycle for external access. */
36
+ getLifecycle() {
37
+ return this.lifecycle;
38
+ }
39
+ /** Get the constraint evaluator for external access. */
40
+ getEvaluator() {
41
+ return this.evaluator;
42
+ }
43
+ // =========================================================================
44
+ // NPC registration
45
+ // =========================================================================
46
+ /**
47
+ * Register an NPC with its conversation data and character model trait.
48
+ *
49
+ * @param npcId - The NPC entity ID
50
+ * @param data - Compiled conversation data from ConversationBuilder
51
+ * @param trait - The NPC's CharacterModelTrait
52
+ * @param getTurn - Function that returns the current turn number
53
+ */
54
+ registerNpc(npcId, data, trait, getTurn) {
55
+ // Build topic registry from authored topics
56
+ const topicRegistry = new topic_registry_1.TopicRegistry();
57
+ for (const topicDef of data.topics) {
58
+ topicRegistry.define(topicDef);
59
+ }
60
+ // Register initiative triggers
61
+ for (const initiative of data.initiatives) {
62
+ this.lifecycle.registerInitiative(npcId, initiative.conditions, initiative.messageId);
63
+ }
64
+ this.npcs.set(npcId, {
65
+ trait,
66
+ topicRegistry,
67
+ responses: data.responses,
68
+ getTurn,
69
+ });
70
+ }
71
+ // =========================================================================
72
+ // DialogueExtension implementation
73
+ // =========================================================================
74
+ /**
75
+ * Handle ASK [npc] ABOUT [text].
76
+ * Resolves topic, evaluates constraints, records response, builds intent.
77
+ */
78
+ handleAsk(npcId, aboutText) {
79
+ const npc = this.npcs.get(npcId);
80
+ if (!npc)
81
+ return { handled: false };
82
+ // Ensure conversation is active
83
+ if (!this.lifecycle.isActive() || this.lifecycle.getActiveNpcId() !== npcId) {
84
+ this.lifecycle.begin(npcId);
85
+ }
86
+ // Resolve topic
87
+ const resolution = npc.topicRegistry.resolve(aboutText, npc.trait);
88
+ if (resolution.type === 'none') {
89
+ return {
90
+ handled: true,
91
+ messageId: 'character.conversation.unknown-topic',
92
+ };
93
+ }
94
+ // Get the trigger key — for related topics, use the redirect target
95
+ const topicName = resolution.type === 'exact'
96
+ ? resolution.topic.name
97
+ : resolution.via.name;
98
+ const trigger = `asked about ${topicName}`;
99
+ // Get authored responses for this trigger
100
+ const authoredResponses = npc.responses.get(trigger);
101
+ if (!authoredResponses || authoredResponses.length === 0) {
102
+ // Topic exists but no responses authored for it
103
+ if (resolution.type === 'related') {
104
+ return {
105
+ handled: true,
106
+ messageId: 'character.conversation.related-redirect',
107
+ params: { topic: topicName, via: resolution.via.name },
108
+ };
109
+ }
110
+ return {
111
+ handled: true,
112
+ messageId: 'character.conversation.no-response',
113
+ };
114
+ }
115
+ // Select and record response, then apply side effects
116
+ const match = this.selectAndRecordResponse(npc, npcId, topicName, authoredResponses);
117
+ if (!match) {
118
+ return {
119
+ handled: true,
120
+ messageId: 'character.conversation.no-matching-response',
121
+ };
122
+ }
123
+ this.applyResponseSideEffects(npc.trait, match.authoredResponse);
124
+ // Build response intent through ACL
125
+ const context = this.lifecycle.getContext()?.contextLabel;
126
+ const intent = (0, acl_1.buildResponseIntent)(match.selected, topicName, npc.trait, context);
127
+ // Handle related topic redirect framing
128
+ if (resolution.type === 'related') {
129
+ return {
130
+ handled: true,
131
+ messageId: intent.messageId,
132
+ params: {
133
+ ...intent.params,
134
+ _redirectedFrom: resolution.via.name,
135
+ },
136
+ responseIntent: intent,
137
+ };
138
+ }
139
+ return {
140
+ handled: true,
141
+ messageId: intent.messageId,
142
+ params: intent.params,
143
+ responseIntent: intent,
144
+ };
145
+ }
146
+ /**
147
+ * Handle TELL [npc] ABOUT [text].
148
+ * Confrontation path — the player presents information.
149
+ */
150
+ handleTell(npcId, aboutText) {
151
+ const npc = this.npcs.get(npcId);
152
+ if (!npc)
153
+ return { handled: false };
154
+ // Ensure conversation is active
155
+ if (!this.lifecycle.isActive() || this.lifecycle.getActiveNpcId() !== npcId) {
156
+ this.lifecycle.begin(npcId);
157
+ }
158
+ // Resolve topic
159
+ const resolution = npc.topicRegistry.resolve(aboutText, npc.trait);
160
+ if (resolution.type === 'none') {
161
+ return {
162
+ handled: true,
163
+ messageId: 'character.conversation.unknown-topic',
164
+ };
165
+ }
166
+ const topicName = resolution.type === 'exact'
167
+ ? resolution.topic.name
168
+ : resolution.via.name;
169
+ const trigger = `told about ${topicName}`;
170
+ const turn = npc.getTurn();
171
+ // Record that the player presented this evidence
172
+ this.evaluator.recordEvidence(npcId, topicName, turn);
173
+ // Get authored responses for the confrontation trigger
174
+ const authoredResponses = npc.responses.get(trigger);
175
+ if (!authoredResponses || authoredResponses.length === 0) {
176
+ return {
177
+ handled: true,
178
+ messageId: 'character.conversation.no-response-to-evidence',
179
+ };
180
+ }
181
+ // Select and record response, then apply side effects
182
+ const match = this.selectAndRecordResponse(npc, npcId, topicName, authoredResponses);
183
+ if (!match) {
184
+ return {
185
+ handled: true,
186
+ messageId: 'character.conversation.no-matching-response',
187
+ };
188
+ }
189
+ this.applyResponseSideEffects(npc.trait, match.authoredResponse);
190
+ // Build response intent
191
+ const context = this.lifecycle.getContext()?.contextLabel;
192
+ const intent = (0, acl_1.buildResponseIntent)(match.selected, topicName, npc.trait, context);
193
+ return {
194
+ handled: true,
195
+ messageId: intent.messageId,
196
+ params: intent.params,
197
+ responseIntent: intent,
198
+ };
199
+ }
200
+ /**
201
+ * Handle SAY [text] or SAY [text] TO [npc].
202
+ * Routes free speech through topic resolution.
203
+ */
204
+ handleSay(npcId, spokenText) {
205
+ if (!npcId)
206
+ return { handled: false };
207
+ // Route through handleAsk — SAY is semantically similar
208
+ return this.handleAsk(npcId, spokenText);
209
+ }
210
+ /**
211
+ * Handle TALK TO [npc].
212
+ * Initiates conversation lifecycle.
213
+ */
214
+ handleTalkTo(npcId) {
215
+ const npc = this.npcs.get(npcId);
216
+ if (!npc)
217
+ return { handled: false };
218
+ // Begin conversation
219
+ this.lifecycle.begin(npcId);
220
+ // Check for initiative triggers
221
+ const triggers = this.lifecycle.getInitiativeTriggers(npcId);
222
+ for (const trigger of triggers) {
223
+ const allMet = trigger.conditions.every(cond => npc.trait.evaluate(cond));
224
+ if (allMet) {
225
+ return {
226
+ handled: true,
227
+ messageId: trigger.messageId,
228
+ };
229
+ }
230
+ }
231
+ // Default greeting
232
+ return {
233
+ handled: true,
234
+ messageId: 'character.conversation.greeting',
235
+ };
236
+ }
237
+ // =========================================================================
238
+ // Private helpers
239
+ // =========================================================================
240
+ /**
241
+ * Select the best response for a topic and record it in the evaluator.
242
+ *
243
+ * Evaluates constraints across all authored responses, picks the best
244
+ * match, and records the interaction.
245
+ *
246
+ * @param npc - NPC conversation state
247
+ * @param npcId - The NPC entity ID
248
+ * @param topicName - The resolved topic name
249
+ * @param authoredResponses - Authored responses for this trigger
250
+ * @returns The selected candidate and its authored response, or null
251
+ */
252
+ selectAndRecordResponse(npc, npcId, topicName, authoredResponses) {
253
+ const candidates = authoredResponses.map(r => r.candidate);
254
+ const selected = (0, constraint_evaluator_1.evaluateConstraints)(candidates, npc.trait);
255
+ if (!selected)
256
+ return null;
257
+ const authoredResponse = authoredResponses.find(r => r.candidate === selected);
258
+ const turn = npc.getTurn();
259
+ this.evaluator.recordResponse(npcId, topicName, selected.action, turn);
260
+ return { selected, authoredResponse };
261
+ }
262
+ /**
263
+ * Apply side effects from a selected authored response: state mutations,
264
+ * conversation context, between-turn overrides, and leave-attempt message.
265
+ *
266
+ * @param trait - The NPC's CharacterModelTrait
267
+ * @param authoredResponse - The selected authored response
268
+ */
269
+ applyResponseSideEffects(trait, authoredResponse) {
270
+ if (authoredResponse.stateMutations) {
271
+ this.applyStateMutations(trait, authoredResponse.stateMutations);
272
+ }
273
+ if (authoredResponse.contextSettings) {
274
+ const ctx = authoredResponse.contextSettings;
275
+ this.lifecycle.setContext(ctx.label, ctx.intent, ctx.strength, ctx.decayThreshold);
276
+ if (authoredResponse.betweenTurnOverrides) {
277
+ for (const override of authoredResponse.betweenTurnOverrides) {
278
+ this.lifecycle.setBetweenTurnOverride(override.turnNumber, override.messageId);
279
+ }
280
+ }
281
+ if (authoredResponse.onLeaveAttemptMessage) {
282
+ this.lifecycle.setOnLeaveAttemptMessage(authoredResponse.onLeaveAttemptMessage);
283
+ }
284
+ }
285
+ }
286
+ /** Apply state mutations to the NPC's character model trait. */
287
+ applyStateMutations(trait, mutations) {
288
+ if (mutations.threat !== undefined) {
289
+ trait.adjustThreat(mutations.threat);
290
+ }
291
+ if (mutations.mood !== undefined) {
292
+ trait.setMood(mutations.mood);
293
+ }
294
+ if (mutations.disposition) {
295
+ for (const [entityId, word] of Object.entries(mutations.disposition)) {
296
+ trait.setDisposition(entityId, word);
297
+ }
298
+ }
299
+ }
300
+ }
301
+ exports.CharacterModelDialogue = CharacterModelDialogue;
302
+ //# sourceMappingURL=dialogue-extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogue-extension.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/character/src/conversation/dialogue-extension.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Dialogue extension types (ADR-102 / ADR-142)
3
+ *
4
+ * Defines the DialogueExtension interface and DialogueResult type
5
+ * from ADR-102. The character model conversation system (ADR-142)
6
+ * implements this interface via CharacterModelDialogue.
7
+ *
8
+ * Public interface: DialogueExtension, DialogueResult.
9
+ * Owner context: @sharpee/character / conversation
10
+ */
11
+ import { ResponseIntent } from './response-types';
12
+ /**
13
+ * The result of a dialogue extension handling a conversation action.
14
+ * Contains everything the action needs to produce output.
15
+ */
16
+ export interface DialogueResult {
17
+ /** Whether the extension handled the input. */
18
+ handled: boolean;
19
+ /** Message ID for the action to emit via the reporting phase. */
20
+ messageId?: string;
21
+ /** Parameters for the language layer message. */
22
+ params?: Record<string, unknown>;
23
+ /** The structured response intent (for systems that need it). */
24
+ responseIntent?: ResponseIntent;
25
+ }
26
+ /**
27
+ * Interface for dialogue extensions (ADR-102).
28
+ *
29
+ * Stdlib conversation actions (ASK, TELL, SAY, TALK TO) delegate
30
+ * to a registered DialogueExtension to produce conversation results.
31
+ * The extension resolves free text to topics, evaluates constraints,
32
+ * and returns structured results.
33
+ */
34
+ export interface DialogueExtension {
35
+ /**
36
+ * Handle ASK [npc] ABOUT [text].
37
+ * Extension resolves text to topic and selects a response.
38
+ *
39
+ * @param npcId - The NPC entity ID
40
+ * @param aboutText - The raw text after "about"
41
+ * @returns Dialogue result
42
+ */
43
+ handleAsk(npcId: string, aboutText: string): DialogueResult;
44
+ /**
45
+ * Handle TELL [npc] ABOUT [text].
46
+ * Confrontation path — the player presents information.
47
+ *
48
+ * @param npcId - The NPC entity ID
49
+ * @param aboutText - The raw text after "about"
50
+ * @returns Dialogue result
51
+ */
52
+ handleTell(npcId: string, aboutText: string): DialogueResult;
53
+ /**
54
+ * Handle SAY [text] or SAY [text] TO [npc].
55
+ * Free speech routed through topic resolution.
56
+ *
57
+ * @param npcId - The NPC entity ID, or undefined for untargeted speech
58
+ * @param spokenText - The raw text
59
+ * @returns Dialogue result
60
+ */
61
+ handleSay(npcId: string | undefined, spokenText: string): DialogueResult;
62
+ /**
63
+ * Handle TALK TO [npc].
64
+ * Initiates conversation lifecycle and fires initiative triggers.
65
+ *
66
+ * @param npcId - The NPC entity ID
67
+ * @returns Dialogue result
68
+ */
69
+ handleTalkTo(npcId: string): DialogueResult;
70
+ }
71
+ //# sourceMappingURL=dialogue-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogue-types.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/character/src/conversation/dialogue-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IAEjB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,iEAAiE;IACjE,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAMD;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAAC;IAE5D;;;;;;;OAOG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAAC;IAE7D;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC;IAEzE;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;CAC7C"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /**
3
+ * Dialogue extension types (ADR-102 / ADR-142)
4
+ *
5
+ * Defines the DialogueExtension interface and DialogueResult type
6
+ * from ADR-102. The character model conversation system (ADR-142)
7
+ * implements this interface via CharacterModelDialogue.
8
+ *
9
+ * Public interface: DialogueExtension, DialogueResult.
10
+ * Owner context: @sharpee/character / conversation
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ //# sourceMappingURL=dialogue-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialogue-types.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/character/src/conversation/dialogue-types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Conversation system exports (ADR-142)
3
+ *
4
+ * Topic registry, constraint evaluation, and response types
5
+ * for the character model conversation system.
6
+ *
7
+ * Public interface: All re-exported types and classes.
8
+ * Owner context: @sharpee/character / conversation
9
+ */
10
+ export { type ResponseAction, type ResponseCandidate, type ResponseIntent, type ConversationRecord, type ConversationEntry, type EvidenceRecord, type EvidenceEntry, createConversationRecord, createEvidenceRecord, } from './response-types';
11
+ export { type TopicDef, type TopicResolution, TopicRegistry, } from './topic-registry';
12
+ export { type Contradiction, type ConstraintEvaluatorState, evaluateConstraints, ConstraintEvaluator, } from './constraint-evaluator';
13
+ export { type ConversationIntent, type ConversationStrength, type RedirectResult, type ConversationContext, type ContinuationEntry, type InitiativeTrigger, type ConversationLifecycleState, DEFAULT_DECAY_THRESHOLDS, BETWEEN_TURN_DEFAULTS, ConversationLifecycle, } from './lifecycle';
14
+ export { buildResponseIntent, selectMoodVariant, applyCognitiveColoring, } from './acl';
15
+ export { type DialogueExtension, type DialogueResult, } from './dialogue-types';
16
+ export { type ConversationData, type AuthoredResponse, type ResponseContextSettings, type ResponseStateMutation, type BetweenTurnOverride, type OffscreenScene, type WitnessedScene, type DialogueLine, createConversationData, ConversationBuilder, ResponseChainBuilder, } from './builder';
17
+ export { CharacterModelDialogue, } from './dialogue-extension';
18
+ export { ConversationMessages, type ConversationMessageId, } from './conversation-messages';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee/packages/character/src/conversation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,EACpB,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * Conversation system exports (ADR-142)
4
+ *
5
+ * Topic registry, constraint evaluation, and response types
6
+ * for the character model conversation system.
7
+ *
8
+ * Public interface: All re-exported types and classes.
9
+ * Owner context: @sharpee/character / conversation
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ConversationMessages = exports.CharacterModelDialogue = exports.ResponseChainBuilder = exports.ConversationBuilder = exports.createConversationData = exports.applyCognitiveColoring = exports.selectMoodVariant = exports.buildResponseIntent = exports.ConversationLifecycle = exports.BETWEEN_TURN_DEFAULTS = exports.DEFAULT_DECAY_THRESHOLDS = exports.ConstraintEvaluator = exports.evaluateConstraints = exports.TopicRegistry = exports.createEvidenceRecord = exports.createConversationRecord = void 0;
13
+ var response_types_1 = require("./response-types");
14
+ Object.defineProperty(exports, "createConversationRecord", { enumerable: true, get: function () { return response_types_1.createConversationRecord; } });
15
+ Object.defineProperty(exports, "createEvidenceRecord", { enumerable: true, get: function () { return response_types_1.createEvidenceRecord; } });
16
+ var topic_registry_1 = require("./topic-registry");
17
+ Object.defineProperty(exports, "TopicRegistry", { enumerable: true, get: function () { return topic_registry_1.TopicRegistry; } });
18
+ var constraint_evaluator_1 = require("./constraint-evaluator");
19
+ Object.defineProperty(exports, "evaluateConstraints", { enumerable: true, get: function () { return constraint_evaluator_1.evaluateConstraints; } });
20
+ Object.defineProperty(exports, "ConstraintEvaluator", { enumerable: true, get: function () { return constraint_evaluator_1.ConstraintEvaluator; } });
21
+ var lifecycle_1 = require("./lifecycle");
22
+ Object.defineProperty(exports, "DEFAULT_DECAY_THRESHOLDS", { enumerable: true, get: function () { return lifecycle_1.DEFAULT_DECAY_THRESHOLDS; } });
23
+ Object.defineProperty(exports, "BETWEEN_TURN_DEFAULTS", { enumerable: true, get: function () { return lifecycle_1.BETWEEN_TURN_DEFAULTS; } });
24
+ Object.defineProperty(exports, "ConversationLifecycle", { enumerable: true, get: function () { return lifecycle_1.ConversationLifecycle; } });
25
+ var acl_1 = require("./acl");
26
+ Object.defineProperty(exports, "buildResponseIntent", { enumerable: true, get: function () { return acl_1.buildResponseIntent; } });
27
+ Object.defineProperty(exports, "selectMoodVariant", { enumerable: true, get: function () { return acl_1.selectMoodVariant; } });
28
+ Object.defineProperty(exports, "applyCognitiveColoring", { enumerable: true, get: function () { return acl_1.applyCognitiveColoring; } });
29
+ var builder_1 = require("./builder");
30
+ Object.defineProperty(exports, "createConversationData", { enumerable: true, get: function () { return builder_1.createConversationData; } });
31
+ Object.defineProperty(exports, "ConversationBuilder", { enumerable: true, get: function () { return builder_1.ConversationBuilder; } });
32
+ Object.defineProperty(exports, "ResponseChainBuilder", { enumerable: true, get: function () { return builder_1.ResponseChainBuilder; } });
33
+ var dialogue_extension_1 = require("./dialogue-extension");
34
+ Object.defineProperty(exports, "CharacterModelDialogue", { enumerable: true, get: function () { return dialogue_extension_1.CharacterModelDialogue; } });
35
+ var conversation_messages_1 = require("./conversation-messages");
36
+ Object.defineProperty(exports, "ConversationMessages", { enumerable: true, get: function () { return conversation_messages_1.ConversationMessages; } });
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee/packages/character/src/conversation/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,mDAU0B;AAFxB,0HAAA,wBAAwB,OAAA;AACxB,sHAAA,oBAAoB,OAAA;AAGtB,mDAI0B;AADxB,+GAAA,aAAa,OAAA;AAGf,+DAKgC;AAF9B,2HAAA,mBAAmB,OAAA;AACnB,2HAAA,mBAAmB,OAAA;AAGrB,yCAWqB;AAHnB,qHAAA,wBAAwB,OAAA;AACxB,kHAAA,qBAAqB,OAAA;AACrB,kHAAA,qBAAqB,OAAA;AAGvB,6BAIe;AAHb,0GAAA,mBAAmB,OAAA;AACnB,wGAAA,iBAAiB,OAAA;AACjB,6GAAA,sBAAsB,OAAA;AAQxB,qCAYmB;AAHjB,iHAAA,sBAAsB,OAAA;AACtB,8GAAA,mBAAmB,OAAA;AACnB,+GAAA,oBAAoB,OAAA;AAGtB,2DAE8B;AAD5B,4HAAA,sBAAsB,OAAA;AAGxB,iEAGiC;AAF/B,6HAAA,oBAAoB,OAAA"}