pinecall 0.8.2 → 0.8.4

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 (55) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/agent.d.ts.map +1 -1
  3. package/dist/cli/agent.js +19 -4
  4. package/dist/cli/agent.js.map +1 -1
  5. package/dist/cli/docs-attach.d.ts.map +1 -1
  6. package/dist/cli/docs-attach.js +3 -2
  7. package/dist/cli/docs-attach.js.map +1 -1
  8. package/dist/cli/home.d.ts +5 -2
  9. package/dist/cli/home.d.ts.map +1 -1
  10. package/dist/cli/home.js +2 -3
  11. package/dist/cli/home.js.map +1 -1
  12. package/dist/cli/index.js +1 -1
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/cli/load.d.ts +5 -0
  15. package/dist/cli/load.d.ts.map +1 -1
  16. package/dist/cli/load.js +8 -2
  17. package/dist/cli/load.js.map +1 -1
  18. package/dist/cli/personas.d.ts +8 -2
  19. package/dist/cli/personas.d.ts.map +1 -1
  20. package/dist/cli/personas.js +240 -67
  21. package/dist/cli/personas.js.map +1 -1
  22. package/dist/cli/simulate.d.ts +1 -1
  23. package/dist/cli/simulate.d.ts.map +1 -1
  24. package/dist/cli/simulate.js +11 -70
  25. package/dist/cli/simulate.js.map +1 -1
  26. package/dist/cli/testing/caller.d.ts +6 -12
  27. package/dist/cli/testing/caller.d.ts.map +1 -1
  28. package/dist/cli/testing/caller.js +6 -12
  29. package/dist/cli/testing/caller.js.map +1 -1
  30. package/dist/cli/testing/heard.d.ts +21 -0
  31. package/dist/cli/testing/heard.d.ts.map +1 -0
  32. package/dist/cli/testing/heard.js +64 -0
  33. package/dist/cli/testing/heard.js.map +1 -0
  34. package/dist/cli/testing/models.d.ts +9 -0
  35. package/dist/cli/testing/models.d.ts.map +1 -1
  36. package/dist/cli/testing/models.js +16 -1
  37. package/dist/cli/testing/models.js.map +1 -1
  38. package/dist/cli/testing/personas.d.ts +37 -0
  39. package/dist/cli/testing/personas.d.ts.map +1 -0
  40. package/dist/cli/testing/personas.js +26 -0
  41. package/dist/cli/testing/personas.js.map +1 -0
  42. package/dist/cli/testing/voice.d.ts +2 -2
  43. package/dist/cli/testing/voice.js +2 -2
  44. package/dist/cli/ui/console/assets/{index-no-LQaTe.js → index-CQ0f4Qi4.js} +20 -16
  45. package/dist/cli/ui/console/assets/index-CXPFJbSz.css +1 -0
  46. package/dist/cli/ui/console/index.html +2 -2
  47. package/dist/cli/ui/doors.d.ts.map +1 -1
  48. package/dist/cli/ui/doors.js +0 -1
  49. package/dist/cli/ui/doors.js.map +1 -1
  50. package/dist/cli/ui/simulating.d.ts +4 -18
  51. package/dist/cli/ui/simulating.d.ts.map +1 -1
  52. package/dist/cli/ui/simulating.js +10 -18
  53. package/dist/cli/ui/simulating.js.map +1 -1
  54. package/package.json +1 -1
  55. package/dist/cli/ui/console/assets/index-CBStFn5_.css +0 -1
@@ -1,105 +1,278 @@
1
- /** `pinecall personas list | show <n> | try <n>`: the synthetic callers this app is tested with. */
1
+ /** `pinecall personas`: the synthetic callers of an agent listed, written, tried, and dropped. */
2
2
  import { parseArgs } from "node:util";
3
+ import { theDoor } from "./env.js";
4
+ import { AGENT_FLAG, homeOf, oneHome } from "./home.js";
5
+ import { agentFilesOfTheProject, slugOfAgentFile } from "./load.js";
3
6
  import { aSimulation, TURNS } from "./simulate.js";
4
- import { NO_PERSONAS, personaNamed, personasIn } from "./testing/caller.js";
5
- import { AGENT_FLAG, homesFor, oneHome } from "./home.js";
6
- const USAGE = "usage: pinecall personas list | show <name> | try <name> [--agent <name>] [--file agent.tsx]\n";
7
+ import { personasIn as personasInFiles } from "./testing/caller.js";
8
+ import { dropPersona, NOBODY, personaNamed, personasOf, writePersona } from "./testing/personas.js";
9
+ const USAGE = "usage: pinecall personas [list] | show <name> | try <name>\n" +
10
+ " pinecall personas add <name> --goal '…' --style '…' [--about '…'] [--fact 'what=said']…\n" +
11
+ " pinecall personas edit <name> [--goal '…'] [--style '…'] [--about '…'] [--fact 'what=said']… [--rename <name>]\n" +
12
+ " pinecall personas rm <name> · pinecall personas push [--from test/<agent>/personas]\n" +
13
+ " … any of them with --agent <name|slug>, --file agent.tsx, --json, and --prod for production's\n";
7
14
  export const group = {
8
- purpose: "list | show | try the synthetic callers in test/personas",
15
+ purpose: "the agent's synthetic callers: list, show, add, edit, rm, try kept by the gateway",
9
16
  usage: `${USAGE}
10
- A persona is a caller a model plays: a goal, a style, the facts they may state about
11
- themselves, and the state the call opens in. One file per caller under test/personas,
12
- default-exporting one.
17
+ A persona is a caller a model plays: a goal, a style, and the facts they may state about
18
+ themselves. There is no script every turn is improvised from those three. They are the
19
+ agent's, kept by the gateway beside its settings, so the console shows the same ones and a
20
+ change needs no deploy.
13
21
 
14
- list every caller of this directory, with the goal each one pursues
15
- show <name> that caller whole, facts and all
16
- try <name> one improvised line from them, through the gateway's caller door — the same
17
- door \`pinecall simulate\` asks for every turn. Needs a key
18
- --file <path> which class to read the personas beside, when there is more than one`,
22
+ list every caller of this agent, with the goal each one pursues
23
+ show <name> that caller whole, facts and all
24
+ add <name> write one: --goal and --style are needed, --fact repeated for what they know
25
+ edit <name> change what is named and leave the rest; --rename moves it to another name
26
+ rm <name> the caller dropped
27
+ try <name> one call against the class in this directory — simulate, without the judge
28
+ push the personas still in files, sent to the gateway once: the migration
29
+
30
+ --agent <name|slug> whose callers: an agent of this project by its name, or a slug of the org
31
+ --file agent.tsx which class names the agent, when the directory holds more than one
32
+ --json what the gateway answered — the caller for show, the roster for the rest.
33
+ try prints a call as it happens and refuses the flag`,
19
34
  run,
20
35
  };
36
+ /** Every verb of the group, so a word nobody wrote is answered before anything is loaded. */
37
+ const VERBS = ["list", "show", "add", "edit", "rm", "try", "push"];
21
38
  // A caller with no facts of their own is not broken — they are somebody who will invent nothing,
22
39
  // which is what the model playing them is told. `show` says so rather than printing an empty block.
23
40
  const NO_FACTS = "(no facts: this caller may state nothing about themselves)";
24
- export async function run(argv, out = process.stdout) {
41
+ const NONE_YET = (agent) => `${agent} has no personas yet: \`pinecall personas add <name> --goal '…' --style '…'\`, or the console's Personas`;
42
+ const FACT_SHAPE = "a fact is what=said: --fact 'their phone=305 555 0101'";
43
+ // The gateway's own rule for a caller's name, read here too, because a name it will refuse is
44
+ // worth a sentence and not a JSON body: `--persona` takes the same word afterwards.
45
+ const A_NAME = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
46
+ const NAME_SHAPE = (name) => `${name} is no name for a caller: lower-case letters and digits joined by hyphens — apurado, price-shopper`;
47
+ // `try` holds a live call and prints its turns as they land: there is no answer to print instead,
48
+ // so the flag is refused rather than quietly ignored.
49
+ const NOT_JSON = "try prints a call as it happens, not an answer the gateway gave: drop --json";
50
+ export async function run(argv, how = {}) {
51
+ const out = how.out ?? process.stdout;
52
+ const err = how.err ?? process.stderr;
25
53
  const { values, positionals } = parseArgs({
26
54
  args: argv,
27
55
  allowPositionals: true,
28
- options: { file: { type: "string" }, json: { type: "boolean", default: false }, ...AGENT_FLAG },
56
+ options: {
57
+ goal: { type: "string" },
58
+ style: { type: "string" },
59
+ about: { type: "string" },
60
+ fact: { type: "string", multiple: true },
61
+ rename: { type: "string" },
62
+ from: { type: "string" },
63
+ file: { type: "string" },
64
+ json: { type: "boolean", default: false },
65
+ ...AGENT_FLAG,
66
+ },
29
67
  });
30
- const [verb, name] = positionals;
31
- if (verb === "list") {
32
- const homes = await homesFor(values.file, values.agent);
33
- let worst = 0;
34
- for (const home of homes) {
35
- if (homes.length > 1)
36
- out.write(`── ${home.name} ──\n`);
37
- worst = Math.max(worst, await listed(values.json === true, out, home.personas));
38
- }
39
- return worst;
68
+ const [verb = "list", name] = positionals;
69
+ // Before the class: a word this group does not answer to is a usage line, not a project loaded
70
+ // and a gateway knocked at to find out it was never going to be run.
71
+ if (!VERBS.includes(verb)) {
72
+ err.write(USAGE);
73
+ return 2;
40
74
  }
41
- if (verb === "show" && name !== undefined) {
42
- return await shown(name, values.json === true, out, (await oneHome("personas show", values.file, values.agent)).personas);
75
+ const asJson = values.json === true;
76
+ if (asJson && verb === "try") {
77
+ err.write(`${NOT_JSON}\n`);
78
+ return 2;
43
79
  }
44
- // `try` runs the caller against the class, because reading a persona tells you who they are and
45
- // only a call tells you how they land. It is `simulate` without the judge — one implementation.
46
- if (verb === "try" && name !== undefined) {
47
- const home = await oneHome("personas try", values.file, values.agent);
48
- return await tried(name, home.file, out, home.personas);
80
+ const door = theDoor(how.env ?? process.env, err);
81
+ if (door === undefined)
82
+ return 2;
83
+ let home;
84
+ const here = async () => (home ??= await oneHome("personas", values.file, values.agent));
85
+ const agent = await theSlug(values.agent, here);
86
+ if (verb === "list")
87
+ return await listed(door, agent, asJson, out);
88
+ if (verb === "push")
89
+ return await pushed(door, agent, values.from ?? (await here()).personas, asJson, out, err);
90
+ if (name === undefined) {
91
+ err.write(USAGE);
92
+ return 2;
49
93
  }
50
- process.stderr.write(USAGE);
51
- return 2;
94
+ if (verb === "show")
95
+ return await shown(door, agent, name, asJson, out, err);
96
+ if (verb === "rm")
97
+ return await dropped(door, agent, name, asJson, out, err);
98
+ if (verb === "try")
99
+ return await tried(door, agent, name, await here(), out, err);
100
+ return await written(door, agent, name, verb === "add" ? "add" : "edit", values, asJson, out, err);
101
+ }
102
+ /**
103
+ * Whose callers, as the gateway files them: under the agent's SLUG, which is the class's own.
104
+ *
105
+ * `--agent` is the project's name for an agent (`sales`) or a slug of the org (`bidfire-sales`),
106
+ * and the verbs that load a class already read it both ways. A name that is a folder under
107
+ * `agents/` here is resolved through its class — `personas --agent sales` asked for the callers of
108
+ * "sales", which is nobody, while the console showed them under the slug. Anything else is a slug
109
+ * already and travels as typed, so a terminal outside a project still reaches its org's agents.
110
+ */
111
+ async function theSlug(named, here) {
112
+ if (named !== undefined && !agentFilesOfTheProject().some((file) => homeOf(file).name === named))
113
+ return named;
114
+ return await slugOfAgentFile((await here()).file);
52
115
  }
53
- /** One line per caller: the name a verb takes, and the goal it is written to pursue. */
54
- async function listed(asJson, out, folder) {
55
- const personas = await personasIn(folder);
116
+ /** One line per caller: the name a verb takes, how they talk, and the goal they pursue. */
117
+ async function listed(door, agent, asJson, out) {
118
+ const personas = await personasOf(door, agent);
119
+ if (asJson) {
120
+ out.write(`${JSON.stringify({ personas })}\n`);
121
+ return 0;
122
+ }
56
123
  if (personas.length === 0) {
57
- process.stderr.write(`${NO_PERSONAS}\n`);
58
- return 2;
124
+ out.write(`${NONE_YET(agent)}\n`);
125
+ return 0;
59
126
  }
60
- if (asJson)
61
- out.write(`${JSON.stringify({ personas })}\n`);
62
- else
63
- out.write(`${personas.map(oneLine).join("\n")}\n`);
127
+ out.write(`${personas.map(oneLine).join("\n")}\n`);
64
128
  return 0;
65
129
  }
66
130
  /** One caller whole: how they talk, and every fact about themselves they are allowed to state. */
67
- async function shown(name, asJson, out, folder) {
68
- const persona = await personaNamed(name, folder);
131
+ async function shown(door, agent, name, asJson, out, err) {
132
+ const persona = await personaNamed(door, agent, name);
133
+ if (persona === undefined) {
134
+ err.write(`${NOBODY(name, agent)}\n`);
135
+ return 2;
136
+ }
137
+ out.write(asJson ? `${JSON.stringify(persona)}\n` : `${linesOf(persona).join("\n")}\n`);
138
+ return 0;
139
+ }
140
+ // `add` writes a whole caller and `edit` writes the one there with what was named changed: both
141
+ // are one PUT, because the gateway keeps a caller whole and merging belongs on this side.
142
+ async function written(door, agent, name, verb, values, asJson, out, err) {
143
+ const before = await personaNamed(door, agent, name);
144
+ if (verb === "edit" && before === undefined) {
145
+ err.write(`${NOBODY(name, agent)}\n`);
146
+ return 2;
147
+ }
148
+ if (verb === "add" && before !== undefined) {
149
+ err.write(`${agent} has a persona called ${name} already: \`pinecall personas edit ${name}\`\n`);
150
+ return 2;
151
+ }
152
+ const writing = values.rename ?? name;
153
+ if (!A_NAME.test(writing)) {
154
+ err.write(`${NAME_SHAPE(writing)}\n`);
155
+ return 2;
156
+ }
157
+ const goal = values.goal ?? before?.goal;
158
+ const style = values.style ?? before?.style;
159
+ if (goal === undefined || style === undefined) {
160
+ err.write("a persona needs --goal and --style: what they want, and how they talk\n");
161
+ return 2;
162
+ }
163
+ let facts;
164
+ try {
165
+ facts = values.fact === undefined ? (before?.facts ?? {}) : theFacts(values.fact);
166
+ }
167
+ catch (refused) {
168
+ err.write(`${refused instanceof Error ? refused.message : String(refused)}\n`);
169
+ return 2;
170
+ }
171
+ const kept = await writePersona(door, agent, writing, {
172
+ goal,
173
+ style,
174
+ about: values.about ?? before?.about ?? "",
175
+ facts,
176
+ state: before?.state ?? {},
177
+ ...(writing === name ? {} : { was: name }),
178
+ });
179
+ if (asJson) {
180
+ out.write(`${JSON.stringify({ personas: kept })}\n`);
181
+ return 0;
182
+ }
183
+ const now = kept.find((one) => one.name === writing);
184
+ out.write(`${agent} · ${now?.name ?? name} ${verb === "add" ? "written" : "changed"} · ${kept.length} persona(s)\n`);
185
+ return 0;
186
+ }
187
+ // A caller nobody wrote is the same sentence here as everywhere else: the gateway answers a
188
+ // DELETE of a name it does not hold with its own JSON, which is no answer for a person.
189
+ async function dropped(door, agent, name, asJson, out, err) {
190
+ if ((await personaNamed(door, agent, name)) === undefined) {
191
+ err.write(`${NOBODY(name, agent)}\n`);
192
+ return 2;
193
+ }
194
+ const kept = await dropPersona(door, agent, name);
195
+ out.write(asJson ? `${JSON.stringify({ personas: kept })}\n` : `${agent} · ${name} dropped · ${kept.length} persona(s)\n`);
196
+ return 0;
197
+ }
198
+ // `try` runs the caller against the class, because reading a persona tells you who they are and
199
+ // only a call tells you how they land. It is `simulate` without the judge — one implementation.
200
+ async function tried(door, agent, name, home, out, err) {
201
+ const persona = await personaNamed(door, agent, name);
69
202
  if (persona === undefined) {
70
- process.stderr.write(`no persona called ${name}: ${NO_PERSONAS}\n`);
203
+ err.write(`${NOBODY(name, agent)}\n`);
204
+ return 2;
205
+ }
206
+ const said = await aSimulation(persona, { door, agentFile: home.file, judge: false, voice: false, turns: TURNS, out });
207
+ return said === undefined ? 2 : 0;
208
+ }
209
+ /**
210
+ * The migration, run once per project: the personas still written as files are sent to the
211
+ * gateway, where the console and every terminal read the same ones. A file that computes its
212
+ * state — a client out of `lib/` — is evaluated here, so what lands is the value it produced.
213
+ * The files are yours to delete afterwards; this verb never touches them.
214
+ */
215
+ async function pushed(door, agent, folder, asJson, out, err) {
216
+ const inFiles = await personasInFiles(folder);
217
+ if (inFiles.length === 0) {
218
+ err.write(`no personas in ${folder}\n`);
71
219
  return 2;
72
220
  }
73
- if (asJson)
74
- out.write(`${JSON.stringify(persona)}\n`);
75
- else
76
- out.write(`${linesOf(persona).join("\n")}\n`);
221
+ const landed = [];
222
+ let kept = [];
223
+ for (const persona of inFiles) {
224
+ try {
225
+ kept = await writePersona(door, agent, persona.name, {
226
+ goal: persona.goal,
227
+ style: persona.style,
228
+ about: "",
229
+ facts: Object.fromEntries(Object.entries(persona.facts ?? {}).map(([what, said]) => [what, String(said)])),
230
+ state: persona.state ?? {},
231
+ });
232
+ }
233
+ catch (refused) {
234
+ // Half a migration is the one thing this verb must never leave in silence: a second run has
235
+ // to know which callers are already the gateway's and which are still only files.
236
+ err.write(`${halfWay(agent, landed, inFiles.map((one) => one.name).slice(landed.length), refused)}\n`);
237
+ return 2;
238
+ }
239
+ landed.push(persona.name);
240
+ if (!asJson)
241
+ out.write(` ${persona.name}\n`);
242
+ }
243
+ out.write(asJson ? `${JSON.stringify({ personas: kept })}\n` : `${agent} · ${landed.length} persona(s) pushed from ${folder}\n`);
77
244
  return 0;
78
245
  }
246
+ /** What a push that stopped says: what the gateway now holds, what it does not, and why it stopped. */
247
+ function halfWay(agent, landed, left, refused) {
248
+ return [
249
+ `${agent} · ${left[0]} was refused: ${refused instanceof Error ? refused.message : String(refused)}`,
250
+ ` pushed: ${landed.length === 0 ? "nothing" : landed.join(", ")}`,
251
+ ` still only files: ${left.join(", ")}`,
252
+ " nothing was undone and no file was touched: push again once it is fixed",
253
+ ].join("\n");
254
+ }
255
+ /** `--fact 'their phone=305 555 0101'`, repeated: what this caller knows about themselves. */
256
+ function theFacts(said) {
257
+ const facts = {};
258
+ for (const one of said) {
259
+ const at = one.indexOf("=");
260
+ if (at <= 0)
261
+ throw new Error(FACT_SHAPE);
262
+ facts[one.slice(0, at).trim()] = one.slice(at + 1).trim();
263
+ }
264
+ return facts;
265
+ }
79
266
  /** The lines `show` prints: the caller, the goal, the style, and every fact they may state. */
80
267
  function linesOf(persona) {
81
- const facts = Object.entries(persona.facts ?? {});
268
+ const facts = Object.entries(persona.facts);
82
269
  return [
83
270
  `${persona.name} · ${persona.goal}`,
271
+ ...(persona.about === "" ? [] : [` ${persona.about}`]),
84
272
  ` ${persona.style}`,
85
- ...(facts.length === 0 ? [` ${NO_FACTS}`] : facts.map(([name, value]) => ` ${name}: ${String(value)}`)),
273
+ ...(facts.length === 0 ? [` ${NO_FACTS}`] : facts.map(([what, said]) => ` ${what}: ${said}`)),
86
274
  ];
87
275
  }
88
- async function tried(name, agentFile, out, folder) {
89
- const persona = await personaNamed(name, folder);
90
- if (persona === undefined) {
91
- process.stderr.write(`no persona called ${name}: ${NO_PERSONAS}\n`);
92
- return 2;
93
- }
94
- const said = await aSimulation(persona, {
95
- agentFile,
96
- judge: false,
97
- voice: false,
98
- turns: TURNS,
99
- out,
100
- });
101
- return said === undefined ? 2 : 0;
102
- }
103
276
  function oneLine(persona) {
104
277
  return `${persona.name.padEnd(12)} ${persona.style.padEnd(46)} ${persona.goal}`;
105
278
  }
@@ -1 +1 @@
1
- {"version":3,"file":"personas.js","sourceRoot":"","sources":["../../src/cli/personas.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1D,MAAM,KAAK,GAAG,gGAAgG,CAAC;AAE/G,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,OAAO,EAAE,0DAA0D;IACnE,KAAK,EAAE,GAAG,KAAK;;;;;;;;;uFASsE;IACrF,GAAG;CACJ,CAAC;AAEF,iGAAiG;AACjG,oGAAoG;AACpG,MAAM,QAAQ,GAAG,4DAA4D,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAc,EAAE,GAAG,GAA0B,OAAO,CAAC,MAAM;IACnF,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI;QACV,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE;KAChG,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,WAAW,CAAC;IACjC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC;YACxD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5H,CAAC;IACD,gGAAgG;IAChG,gGAAgG;IAChG,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,wFAAwF;AACxF,KAAK,UAAU,MAAM,CAAC,MAAe,EAAE,GAA0B,EAAE,MAAe;IAChF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM;QAAE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;;QACtD,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,kGAAkG;AAClG,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,MAAe,EAAE,GAA0B,EAAE,MAAe;IAC7F,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM;QAAE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;QACjD,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,+FAA+F;AAC/F,SAAS,OAAO,CAAC,OAAgB;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAClD,OAAO;QACL,GAAG,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,IAAI,EAAE;QACnC,KAAK,OAAO,CAAC,KAAK,EAAE;QACpB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KAC1G,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,KAAK,CAClB,IAAY,EACZ,SAA6B,EAC7B,GAA0B,EAC1B,MAAe;IAEf,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE;QACtC,SAAS;QACT,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,GAAG;KACJ,CAAC,CAAC;IACH,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,OAAO,CAAC,OAAgB;IAC/B,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"personas.js","sourceRoot":"","sources":["../../src/cli/personas.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /** `pinecall simulate --persona x`: a model plays the caller, and the call is judged at hang-up. */
2
2
  import type { CallScore } from "@pinecall/protocol";
3
3
  import type { Group } from "./groups.js";
4
- import { type Persona } from "./testing/caller.js";
4
+ import { type Persona } from "./testing/personas.js";
5
5
  import { type Door } from "./testing/gateway.js";
6
6
  import { type Degraded } from "./testing/voice.js";
7
7
  export declare const group: Group;
@@ -1 +1 @@
1
- {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../src/cli/simulate.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAIpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AASpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAA6B,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,KAAK,IAAI,EAA4E,MAAM,sBAAsB,CAAC;AAG3H,OAAO,EAAiC,KAAK,QAAQ,EAAY,MAAM,oBAAoB,CAAC;AAO5F,eAAO,MAAM,KAAK,EAAE,KAgBnB,CAAC;AAQF,eAAO,MAAM,cAAc,sEAAsE,CAAC;AAElG;;;GAGG;AACH,eAAO,MAAM,KAAK,IAAI,CAAC;AAsBvB,6FAA6F;AAC7F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAM,CAAC,cAA+B,GAAG,OAAO,CAAC,MAAM,CAAC,CA2CtG;AAED,6FAA6F;AAC7F,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAMpG;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAI9D;AAED,kGAAkG;AAClG,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,uFAAuF;IACvF,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC;IAC3B,qFAAqF;IACrF,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC/C;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAyBnG"}
1
+ {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../src/cli/simulate.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAIpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AASpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,KAAK,IAAI,EAA4E,MAAM,sBAAsB,CAAC;AAG3H,OAAO,EAAiC,KAAK,QAAQ,EAAY,MAAM,oBAAoB,CAAC;AAO5F,eAAO,MAAM,KAAK,EAAE,KAgBnB,CAAC;AAQF,eAAO,MAAM,cAAc,sEAAsE,CAAC;AAElG;;;GAGG;AACH,eAAO,MAAM,KAAK,IAAI,CAAC;AAavB,6FAA6F;AAC7F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAM,CAAC,cAA+B,GAAG,OAAO,CAAC,MAAM,CAAC,CA+CtG;AAED,6FAA6F;AAC7F,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAMpG;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAI9D;AAED,kGAAkG;AAClG,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,uFAAuF;IACvF,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC;IAC3B,qFAAqF;IACrF,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC/C;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAyBnG"}
@@ -7,14 +7,14 @@ import { chatUrl } from "./chat.js";
7
7
  import { pinecallFor } from "./client-for.js";
8
8
  import { theDoor } from "./env.js";
9
9
  import { anEarIn } from "./listening.js";
10
- import { load, mountOptions } from "./load.js";
10
+ import { load, mountOptions, slugOfAgentFile } from "./load.js";
11
11
  import { AGENT_FLAG, oneHome } from "./home.js";
12
- import { NO_PERSONAS, personaNamed } from "./testing/caller.js";
12
+ import { NOBODY, personaNamed } from "./testing/personas.js";
13
13
  import { entriesOf, theNextLine } from "./testing/gateway.js";
14
14
  import { latencyLine, mediansOf } from "./testing/latency.js";
15
15
  import { linesOfScore } from "./testing/score.js";
16
16
  import { aCallId, aVoiceCall, DEGRADED, watching } from "./testing/voice.js";
17
- import { lineFor, metricsLine } from "./view.js";
17
+ import { after, Heard, SETTLE_MS } from "./testing/heard.js";
18
18
  const USAGE = "usage: pinecall simulate --persona <name> [--judge] [--turns n] [--voice] [--listen]\n" +
19
19
  " [--background-noise <dB under the caller>] [--packet-loss <percent>] [--agent <name>] [--file agent.tsx]\n";
20
20
  export const group = {
@@ -24,7 +24,7 @@ export const group = {
24
24
  style and its own facts — there is no script. This terminal holds the class and the transcript;
25
25
  the gateway holds the provider keys. The call lands in the log like any other.
26
26
 
27
- --persona <name> a file of test/personas, by its name
27
+ --persona <name> one of the agent's personas, by name: pinecall personas lists them
28
28
  --judge read back the call.score the log seals on, and print every judge
29
29
  --turns n how many turns the caller improvises before hanging up (default 6)
30
30
  --voice a real line: a room, and the caller in a person's voice, not the agent's
@@ -45,13 +45,6 @@ export const ONLY_ON_A_LINE = "--background-noise and --packet-loss are about au
45
45
  * examples are written against, and long enough for a booking to reach its confirmation.
46
46
  */
47
47
  export const TURNS = 6;
48
- // How long a written call is left quiet before the caller says the next thing. The app answers
49
- // `call.started` with a render and a tool may run after the reply, so a turn is over when nothing
50
- // has been written for a moment — the same silence the gateway's own runner waits for.
51
- const SETTLE_MS = 400;
52
- // And how long one turn may take before the simulation gives up on it. A tenant's tool that awaits
53
- // something for ever must not leave a person watching a prompt that never returns.
54
- const A_TURN_MAY_TAKE_MS = 30_000;
55
48
  // The log seals on `call.score`, which is written after the caller has gone — so it is read back
56
49
  // rather than heard, and this is how long the judges are given before the terminal gives up.
57
50
  const JUDGING_MAY_TAKE_MS = 60_000;
@@ -89,12 +82,17 @@ export async function run(argv, out = process.stdout) {
89
82
  return 2;
90
83
  }
91
84
  const home = await oneHome("simulate", values.file, values.agent);
92
- const persona = await personaNamed(values.persona, home.personas);
85
+ const door = theDoor();
86
+ if (door === undefined)
87
+ return 2;
88
+ const agent = await slugOfAgentFile(home.file);
89
+ const persona = await personaNamed(door, agent, values.persona);
93
90
  if (persona === undefined) {
94
- process.stderr.write(`no persona called ${values.persona} at ${home.personas}: ${NO_PERSONAS}\n`);
91
+ process.stderr.write(`${NOBODY(values.persona, agent)}\n`);
95
92
  return 2;
96
93
  }
97
94
  const said = await aSimulation(persona, {
95
+ door,
98
96
  agentFile: home.file,
99
97
  judge: values.judge === true,
100
98
  voice,
@@ -267,63 +265,6 @@ async function sealing(door, call) {
267
265
  const sealed = (await entriesOf(door, call)).find((entry) => entry.type === TERMINAL_ENTRY);
268
266
  return sealed === undefined ? undefined : sealed.data;
269
267
  }
270
- // The call's log as this terminal hears it: printed as it lands, and quiet when the app has
271
- // finished reacting. Everything the simulation knows about where the call is, it knows from here —
272
- // including the transcript the caller model is handed, which is the log's own turns and not a
273
- // second copy this process kept.
274
- class Heard {
275
- out;
276
- opened;
277
- call;
278
- agentTurns = 0;
279
- said = [];
280
- last = Date.now();
281
- constructor(out, opened) {
282
- this.out = out;
283
- this.opened = opened;
284
- }
285
- /** One entry: remembered, and printed when it is a line of the conversation rather than wiring. */
286
- absorb(entry) {
287
- this.last = Date.now();
288
- if (typeof entry.call === "string" && this.call === undefined) {
289
- this.call = entry.call;
290
- this.opened?.(entry.call);
291
- }
292
- if (entry.type === "turn.agent")
293
- this.agentTurns += 1;
294
- if (entry.type === "turn.user" || entry.type === "turn.agent") {
295
- this.said.push({
296
- who: entry.type === "turn.agent" ? "agent" : "caller",
297
- said: String(entry.data["text"] ?? ""),
298
- });
299
- }
300
- // Both sides are printed off the log and never off what this process sent: on a spoken call
301
- // the caller's own turn is what the STT heard, which is the line that matters.
302
- const line = lineFor(entry);
303
- if (line === null)
304
- return;
305
- const metrics = entry.type === "turn.agent"
306
- ? ` ${metricsLine(entry.data["metrics"])}`
307
- : "";
308
- this.out.write(`${line.mark} ${line.text}${metrics}\n`);
309
- }
310
- /** Waits until the agent has spoken again, and then until the app has finished reacting. */
311
- async answered(said) {
312
- const deadline = Date.now() + A_TURN_MAY_TAKE_MS;
313
- while (this.agentTurns === said && Date.now() < deadline)
314
- await after(SETTLE_MS / 4);
315
- await this.quiet();
316
- }
317
- /** Waits until nothing has been written for a moment: the app has answered and re-rendered. */
318
- async quiet() {
319
- const deadline = Date.now() + A_TURN_MAY_TAKE_MS;
320
- while (Date.now() - this.last < SETTLE_MS && Date.now() < deadline)
321
- await after(SETTLE_MS / 4);
322
- }
323
- }
324
- function after(ms) {
325
- return new Promise((wake) => setTimeout(wake, ms));
326
- }
327
268
  function once(socket, event) {
328
269
  return new Promise((done, failed) => {
329
270
  socket.on(event, () => done());
@@ -1 +1 @@
1
- {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../src/cli/simulate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../src/cli/simulate.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- /** A synthetic caller: who is on the phone, what they want, and the words they use to get it. */
1
+ /** The personas a project still keeps as files: read once, by `pinecall personas push`, and never again. */
2
2
  /**
3
- * One persona, written by the tenant in `test/personas/<name>.ts` and default-exported.
3
+ * One persona as a project wrote it: `test/<agent>/personas/<name>.ts`, default-exporting an object.
4
4
  *
5
- * A persona is not a script: `goal` and `style` are what the model playing the caller is told it
6
- * is, and `facts` is everything that caller knows about themselves and may state. The model
7
- * improvises every turn from those three see docs/decisions/simulate.md.
5
+ * A caller is the gateway's now (`pinecall personas`, the console's Personas), beside the agent's
6
+ * settings the same cut the voice and the lexicon took. These files are what a project wrote
7
+ * before that, and this module exists to send them there once: `pinecall personas push`.
8
8
  */
9
9
  export interface Persona {
10
10
  name: string;
@@ -17,12 +17,6 @@ export interface Persona {
17
17
  /** The state the call starts in, when this caller is somebody the business already knows. */
18
18
  state?: Record<string, unknown>;
19
19
  }
20
- /** Where the tenant's personas live: one file per caller, beside the goldens they are run with. */
21
- export declare const PERSONAS = "test/personas";
22
- /** What to say when there are none: the directory, and that a persona is one file in it. */
23
- export declare const NO_PERSONAS = "no personas at test/personas: one file per caller, default-exporting one";
24
20
  /** Every persona in that directory, in the order `ls` prints them. */
25
- export declare function personasIn(folder?: string): Promise<Persona[]>;
26
- /** One persona by the name of its file, or undefined when nobody wrote that caller. */
27
- export declare function personaNamed(wanted: string, folder?: string): Promise<Persona | undefined>;
21
+ export declare function personasIn(folder: string): Promise<Persona[]>;
28
22
  //# sourceMappingURL=caller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../../../src/cli/testing/caller.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAQjG;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,mGAAmG;AACnG,eAAO,MAAM,QAAQ,kBAAkB,CAAC;AAExC,4FAA4F;AAC5F,eAAO,MAAM,WAAW,6EAA2E,CAAC;AAEpG,sEAAsE;AACtE,wBAAsB,UAAU,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAI9E;AAED,uFAAuF;AACvF,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAiB,GACxB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAE9B"}
1
+ {"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../../../src/cli/testing/caller.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAQ5G;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,sEAAsE;AACtE,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAInE"}