pinecall 0.8.3 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"docs-attach.d.ts","sourceRoot":"","sources":["../../src/cli/docs-attach.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,oBAAoB,CAAC;AAGlF,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAExD,4FAA4F;AAC5F,MAAM,WAAW,SAAS;IACxB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,eAAO,MAAM,YAAY,UAAW,MAAM,QAAQ,MAAM,KAAG,MAA+C,CAAC;AAK3G,4GAA4G;AAC5G,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAchJ;AAED,kFAAkF;AAClF,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB5J;AAED,0FAA0F;AAC1F,wBAAsB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAQtF;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAiBlG"}
1
+ {"version":3,"file":"docs-attach.d.ts","sourceRoot":"","sources":["../../src/cli/docs-attach.ts"],"names":[],"mappings":"AAAA,oGAAoG;AAEpG,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,oBAAoB,CAAC;AAGlF,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAExD,4FAA4F;AAC5F,MAAM,WAAW,SAAS;IACxB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,eAAO,MAAM,YAAY,UAAW,MAAM,QAAQ,MAAM,KAAG,MAA+C,CAAC;AAK3G,4GAA4G;AAC5G,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAchJ;AAED,kFAAkF;AAClF,wBAAsB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB5J;AAED,0FAA0F;AAC1F,wBAAsB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAQtF;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAiBlG"}
@@ -36,9 +36,10 @@ export async function detach(door, agent, base, team, out, err) {
36
36
  err.write(`${NOT_ATTACHED(agent, base)}\n`);
37
37
  return 1;
38
38
  }
39
- const { bases: _was, ...rest } = row.config;
40
39
  const left = bases.filter((one) => one.base !== base);
41
- const config = left.length === 0 ? rest : { ...rest, bases: left };
40
+ // Detaching the last one leaves an empty list, not a missing field: this corner reads no base.
41
+ // Dropping the key would say "nothing set here", and the agent would read the team's bases.
42
+ const config = { ...row.config, bases: left };
42
43
  const answer = await asked(door, settingsPath(agent), {
43
44
  method: "PUT",
44
45
  body: { config, if_version: row.version, note: `detached ${base}`, team },
@@ -1 +1 @@
1
- {"version":3,"file":"docs-attach.js","sourceRoot":"","sources":["../../src/cli/docs-attach.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs-attach.js","sourceRoot":"","sources":["../../src/cli/docs-attach.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,7 @@ pinecall line forget # give your calls back to production`}),(0,A
106
106
  `)??``;(0,D.useEffect)(()=>{let e=ee===``?[]:ee.split(`
107
107
  `);e.includes(c)||l(a!==void 0&&e.includes(a)?a:e[0]??``)},[ee,c,a]);let te=r?.find(e=>e.name===c),ne=HK(r),re=async e=>{e.preventDefault(),C(!0),T(null);try{o(await LK(s,{agent:t,persona:c,voice:u,judge:f,turns:m,...u&&b?{background_noise:g,packet_loss:v}:{}}),t,u)}catch(e){T(e instanceof na?e.message:String(e))}finally{C(!1)}};return(0,A.jsxs)(`form`,{className:`sim`,onSubmit:e=>void re(e),children:[(0,A.jsx)(`div`,{className:`sim-head`,children:(0,A.jsx)(`span`,{className:`sim-title`,children:`Simulate a caller`})}),e.length>0&&(0,A.jsx)(nh,{label:`Agent`,children:(0,A.jsx)(eh,{size:`sm`,"aria-label":`Agent`,value:t,onChange:e=>n(e.target.value),children:e.map(e=>(0,A.jsx)(`option`,{value:e,children:e},e))})}),r===null&&i!==null&&(0,A.jsx)(`p`,{className:`sim-note`,children:i}),ne!==null&&(0,A.jsx)(`p`,{className:`sim-note`,children:ne}),r!==null&&ne===null&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(nh,{label:(0,A.jsxs)(`span`,{className:`sim-label-row`,children:[`Persona`,(0,A.jsx)(Wi,{className:`sim-manage`,to:`/personas?agent=${encodeURIComponent(t)}${c===``?``:`&persona=${encodeURIComponent(c)}`}`,children:`Manage`})]}),children:(0,A.jsx)(eh,{size:`sm`,"aria-label":`Persona`,value:c,onChange:e=>l(e.target.value),children:r.map(e=>(0,A.jsx)(`option`,{value:e.name,children:e.name},e.name))})}),te!==void 0&&(0,A.jsxs)(`p`,{className:`sim-note`,children:[`Goal: `,te.goal]}),(0,A.jsxs)(`div`,{className:`sim-pair`,children:[(0,A.jsx)(nh,{label:`Max turns`,children:(0,A.jsx)(W,{size:`sm`,type:`number`,"aria-label":`Max turns`,min:1,max:30,value:m,onChange:e=>h(Number(e.target.value))})}),u&&b&&(0,A.jsx)(nh,{label:`Noise, dB under`,children:(0,A.jsx)(W,{size:`sm`,type:`number`,"aria-label":`Noise, dB under`,min:0,max:60,value:g,onChange:e=>_(Number(e.target.value))})}),u&&b&&(0,A.jsx)(nh,{label:`Packets lost, %`,children:(0,A.jsx)(W,{size:`sm`,type:`number`,"aria-label":`Packets lost, %`,min:0,max:100,value:v,onChange:e=>y(Number(e.target.value))})})]}),(0,A.jsxs)(`div`,{className:`sim-checks`,children:[(0,A.jsxs)(sh,{checked:u,onChange:d,children:[`Voice `,(0,A.jsx)(`span`,{className:`sim-aside`,children:`a real line, and you can listen`})]}),(0,A.jsx)(sh,{checked:f,onChange:p,children:`Judge at hang-up`}),u&&(0,A.jsxs)(sh,{checked:b,onChange:x,children:[`Noisy line `,(0,A.jsx)(`span`,{className:`sim-aside`,children:`a TV behind the caller, packets lost`})]})]}),(0,A.jsx)(U,{type:`submit`,kind:`primary`,size:`md`,disabled:S||c===``,children:S?`Calling…`:`Call the agent`})]}),w!==null&&(0,A.jsx)(`p`,{className:`sim-refused`,children:w})]})}function HK(e){return e===null?null:e.length===0?`No personas yet: write the first caller in Personas.`:null}function UK(){let{agents:e}=mb(),t=Sr().call,[n]=Xi(),r=vr(),i=Ah({name:`simulations.form`,initial:340,min:280,max:520,side:`left`}),a=n.get(`agent`)??void 0,o=n.get(`spoken`)===`1`,s=n.get(`persona`)??void 0,c=e.map(e=>e.slug),l=a??c[0]??``,u=e=>void r(`/simulations?agent=${encodeURIComponent(e)}`),{roster:d,asking:f}=NK(l===``?[]:[l]),p=d===null?null:d.find(e=>e.agent===l)?.personas??[];return(0,A.jsxs)(`div`,{className:`sims`,style:i.style,children:[i.handle,(0,A.jsxs)(`aside`,{className:`sims-side`,"aria-label":`start a simulation`,children:[e.length===0?(0,A.jsx)(`p`,{className:`sims-note`,children:"No agent is held here yet: run `pinecall start` in the agent's directory, and it shows up to simulate against."}):(0,A.jsx)(A.Fragment,{children:(0,A.jsx)(VK,{agents:c,agent:l,onAgent:u,personas:p,asking:f,preferred:s,onStarted:(e,t,n)=>{let i=new URLSearchParams({agent:t,...n?{spoken:`1`}:{}});r(`/simulations/${e}?${i.toString()}`)}})}),(0,A.jsx)(`p`,{className:`sims-note`,children:`A model plays the persona against the agent. With Voice on, the call is a real line and you hear both of them here as it happens. Max turns is where the caller stops, if it has not hung up before.`})]}),t===void 0?(0,A.jsx)(`div`,{className:`sims-nothing`,children:`Pick an agent and a persona, then call. The simulation opens here, and you hear it live.`}):(0,A.jsxs)(`div`,{className:`sims-watch`,children:[o&&(0,A.jsx)(KK,{call:t}),(0,A.jsx)(HH,{call:t,agent:a})]},t)]})}var WK=1e3,GK=30;function KK({call:e}){let t=YV(e),n=(0,D.useRef)(0),r=(0,D.useRef)(!1);(0,D.useEffect)(()=>{if(t.listening===`off`&&!r.current&&n.current===0&&(n.current=1,t.join()),t.listening===`failed`&&!r.current&&n.current<GK){let e=window.setTimeout(()=>{n.current+=1,t.join()},WK);return()=>window.clearTimeout(e)}t.listening===`muted`&&!r.current&&(r.current=!0,t.hear(!0))},[t]);let i=(()=>{switch(t.listening){case`on`:return`Listening live · the caller and the agent`;case`muted`:return`Muted`;case`joining`:return`Joining the call…`;case`failed`:return n.current<GK?`Waiting for the call's room to open…`:`Could not join the call: ${t.error??`no room`}`;case`off`:return r.current?`The call is over`:`Joining the call…`}})();return(0,A.jsxs)(`div`,{className:`sims-ear`,role:`status`,children:[(0,A.jsx)(`span`,{className:t.listening===`on`?`sims-ear-dot sims-ear-dot-on`:`sims-ear-dot`}),(0,A.jsx)(`span`,{className:`sims-ear-said`,children:i}),t.listening===`on`&&(0,A.jsx)(U,{size:`sm`,pill:!0,onClick:()=>t.hear(!1),children:`Mute`}),t.listening===`muted`&&(0,A.jsx)(U,{size:`sm`,pill:!0,onClick:()=>t.hear(!0),children:`Unmute`})]})}var qK=``,JK=[`2`,`4`,`6`,`8`,`12`,`16`];function YK({rows:e,offered:t,onChange:n}){let r=new Set(e.map(e=>e.base)),i=(t??[]).filter(e=>!r.has(e.base)),a=(t,r)=>n(e.map((e,n)=>n===t?r:e)),o=t=>n(e.filter((e,n)=>n!==t));return(0,A.jsxs)(`section`,{className:`set-section`,children:[(0,A.jsxs)(`div`,{className:`set-section-head`,children:[(0,A.jsx)(`h2`,{className:`set-section-title`,children:`Bases`}),(0,A.jsx)(`p`,{className:`set-section-blurb`,children:"The documents the agent searches on every turn, by the name each folder was pushed under. A base is pushed from a project with `pinecall docs push`; the Docs tab lists them."})]}),e.length===0?(0,A.jsx)(`p`,{className:`set-help`,children:`Nothing attached: the agent answers from what it knows by heart and from its tools alone.`}):(0,A.jsxs)(`div`,{className:`set-bases`,children:[(0,A.jsxs)(`div`,{className:`set-bases-head`,children:[(0,A.jsx)(`span`,{children:`Base`}),(0,A.jsx)(`span`,{children:`Chunks a turn reads`}),(0,A.jsx)(`span`,{})]}),e.map((e,n)=>(0,A.jsxs)(`div`,{className:`set-bases-row`,children:[(0,A.jsxs)(eh,{value:e.base,"aria-label":`Base`,onChange:t=>a(n,{...e,base:t.target.value}),children:[(t??[]).some(t=>t.base===e.base)?null:(0,A.jsxs)(`option`,{value:e.base,children:[e.base,` · not pushed in this world`]}),(t??[]).map(t=>(0,A.jsxs)(`option`,{value:t.base,disabled:t.base!==e.base&&r.has(t.base),children:[t.base,` · `,t.chunks,` chunks`]},t.base))]}),(0,A.jsxs)(eh,{value:e.k,"aria-label":`Chunks a turn reads`,onChange:t=>a(n,{...e,k:t.target.value}),children:[(0,A.jsx)(`option`,{value:``,children:`Runtime default · 8`}),(e.k===``||JK.includes(e.k)?JK:[e.k,...JK]).map(e=>(0,A.jsx)(`option`,{value:e,children:e},e))]}),(0,A.jsx)(U,{size:`xs`,onClick:()=>o(n),children:`Detach`})]},`${e.base}-${n}`))]}),(0,A.jsx)(`div`,{className:`set-row`,children:(0,A.jsxs)(`div`,{className:`set-field`,children:[(0,A.jsx)($m,{children:`Attach a base`}),(0,A.jsxs)(eh,{value:qK,"aria-label":`Attach a base`,disabled:i.length===0,onChange:t=>t.target.value!==qK&&n([...e,{base:t.target.value,k:``}]),children:[(0,A.jsx)(`option`,{value:qK,children:t===null?`Asking the gateway…`:i.length===0?`Every pushed base is attached`:`Pick one…`}),i.map(e=>(0,A.jsxs)(`option`,{value:e.base,children:[e.base,` · `,e.chunks,` chunks`]},e.base))]}),(0,A.jsx)(`p`,{className:`set-help`,children:`Only bases pushed in this world appear. A base a colleague pushed to their own corner is theirs until they push it for the team.`})]})})]})}var XK=[{value:`say`,label:`Say these words`},{value:`reply`,label:`Let the model open`}],ZK=[`500`,`700`,`1000`,`1500`,`2000`,`3000`],QK=[`1`,`2`,`3`,`4`,`5`];function $K({typed:e,wordsOnly:t,change:n}){return(0,A.jsxs)(`section`,{className:`set-section`,children:[(0,A.jsxs)(`div`,{className:`set-section-head`,children:[(0,A.jsx)(`h2`,{className:`set-section-title`,children:`Conversation`}),(0,A.jsx)(`p`,{className:`set-section-blurb`,children:`The first thing a caller hears, when the agent may hang up, and how quickly a turn is cut.`})]}),(0,A.jsxs)(`div`,{className:`set-field set-wide`,children:[(0,A.jsx)($m,{children:`Opening`}),!t&&(0,A.jsx)(rh,{options:XK,value:e.opening,onChange:e=>n(`opening`,e)}),e.opening===`say`||t?(0,A.jsx)(th,{value:e.say,rows:2,"aria-label":`Opening`,placeholder:`The exact words the caller hears first`,onChange:e=>n(`say`,e.target.value)}):(0,A.jsx)(th,{value:e.reply,rows:2,"aria-label":`Opening`,placeholder:`What the model is told about how to open the call`,onChange:e=>n(`reply`,e.target.value)}),(0,A.jsx)(`p`,{className:`set-help`,children:e.opening===`say`||t?`Said exactly as written, before the model runs: the caller hears it at once.`:`An instruction the model reads to find its own opening. It costs a model round trip before the caller hears anything.`})]}),!t&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:`set-field set-wide`,children:[(0,A.jsx)($m,{children:`May hang up when`}),(0,A.jsx)(W,{value:e.hangup,"aria-label":`May hang up when`,placeholder:`the person has what they came for, or asks you to end the call`,onChange:e=>n(`hangup`,e.target.value)}),(0,A.jsx)(`p`,{className:`set-help`,children:`In your words. Empty: the agent never ends the call itself.`})]}),(0,A.jsxs)(`div`,{className:`set-row`,children:[(0,A.jsxs)(`div`,{className:`set-field`,children:[(0,A.jsx)($m,{children:`Silence that ends a turn`}),(0,A.jsxs)(eh,{value:e.endpointing_ms,"aria-label":`Silence that ends a turn`,onChange:e=>n(`endpointing_ms`,e.target.value),children:[(0,A.jsx)(`option`,{value:``,children:`Runtime default · 1 second`}),eq(ZK,e.endpointing_ms).map(e=>(0,A.jsxs)(`option`,{value:e,children:[Number(e)/1e3,` s`]},e))]}),(0,A.jsx)(`p`,{className:`set-help`,children:`How long the caller stays quiet before the agent answers. Shorter answers faster, and cuts off a slow speaker.`})]}),(0,A.jsxs)(`div`,{className:`set-field`,children:[(0,A.jsx)($m,{children:`Words before an interruption counts`}),(0,A.jsxs)(eh,{value:e.min_interruption_words,"aria-label":`Words before an interruption counts`,onChange:e=>n(`min_interruption_words`,e.target.value),children:[(0,A.jsx)(`option`,{value:``,children:`Runtime default · 2 words`}),eq(QK,e.min_interruption_words).map(e=>(0,A.jsx)(`option`,{value:e,children:e===`1`?`1 word`:`${e} words`},e))]}),(0,A.jsx)(`p`,{className:`set-help`,children:`How many words a caller says over the agent before it stops talking. A cough is not an interruption.`})]})]})]})]})}function eq(e,t){return t===``||e.includes(t)?e:[t,...e]}var tq=`elevenlabs`,nq=`not on this box`;function rq({modality:e,title:t,blurb:n,knob:r,providers:i,defaults:a,models:o,onChange:s,children:c}){let l=Xh(i,e).filter(t=>t.ready&&(o[`${e}/${t.name}`]??[]).length>0),u=a[e]??``,d=r.vendor===``?u:r.vendor,f=l.some(e=>e.name===r.vendor)||r.vendor===``?l:[{name:r.vendor,ready:!1},...l],p=o[`${e}/${d}`]??[],m=p.includes(r.model)||r.model===``?p:[r.model,...p];return(0,A.jsxs)(`section`,{className:`set-section`,children:[(0,A.jsxs)(`div`,{className:`set-section-head`,children:[(0,A.jsx)(`h2`,{className:`set-section-title`,children:t}),(0,A.jsx)(`p`,{className:`set-section-blurb`,children:n})]}),(0,A.jsxs)(`div`,{className:`set-row`,children:[(0,A.jsxs)(`div`,{className:`set-field`,children:[(0,A.jsx)($m,{children:`Vendor`}),(0,A.jsxs)(eh,{value:r.vendor,"aria-label":`Vendor`,onChange:e=>s({vendor:e.target.value,model:``}),children:[(0,A.jsxs)(`option`,{value:``,children:[`Runtime default · `,u]}),f.map(e=>(0,A.jsxs)(`option`,{value:e.name,children:[e.name,e.ready?``:` · ${nq}`]},e.name))]}),(0,A.jsx)(`p`,{className:`set-help`,children:`The vendors this box has a key for. Another one appears here once its key is added in Providers.`})]}),(0,A.jsxs)(`div`,{className:`set-field`,children:[(0,A.jsx)($m,{children:`Model`}),(0,A.jsxs)(eh,{value:r.model,"aria-label":`Model`,onChange:e=>s({...r,model:e.target.value}),children:[(0,A.jsxs)(`option`,{value:``,children:[d,`'s default`,p[0]===void 0?``:` · ${p[0]}`]}),m.map(e=>(0,A.jsxs)(`option`,{value:e,children:[e,p.includes(e)?``:` · as set`]},e))]}),(0,A.jsx)(`p`,{className:`set-help`,children:p.length===0?`${d} runs its own default; there is no model to pick.`:`The models that run on this box. The default is the one tuned for phone calls.`})]})]}),c]})}function iq({vendor:e,voice:t,voices:n,onChange:r}){if(e!==`elevenlabs`)return(0,A.jsx)(`div`,{className:`set-row`,children:(0,A.jsxs)(`div`,{className:`set-field`,children:[(0,A.jsx)($m,{children:`Voice`}),(0,A.jsxs)(`p`,{className:`set-help`,children:[t===``?`${e} speaks in its model's own voice: there is no voice to pick here.`:`${e} speaks as ${t}, set from the terminal.`,` The voices to pick from are `,tq,`'s.`]})]})});let i=n.includes(t)||t===``?n:[t,...n];return(0,A.jsx)(`div`,{className:`set-row`,children:(0,A.jsxs)(`div`,{className:`set-field`,children:[(0,A.jsx)($m,{children:`Voice`}),(0,A.jsxs)(eh,{value:t,"aria-label":`Voice`,onChange:e=>r(e.target.value),children:[(0,A.jsx)(`option`,{value:``,children:`Runtime default`}),i.map(e=>(0,A.jsxs)(`option`,{value:e,children:[e,n.includes(e)?``:` · as set`]},e))]}),(0,A.jsx)(`p`,{className:`set-help`,children:`Hear each one in the Talk tab before a caller does.`})]})})}function aq(e,t){if(e==null||e===``)return{vendor:``,model:``};let n=e.lastIndexOf(`/`);return n>=0?{vendor:e.slice(0,n),model:e.slice(n+1)}:t.has(e)?{vendor:e,model:``}:{vendor:``,model:e}}function oq(e){return e.vendor===``?e.model:e.model===``?e.vendor:`${e.vendor}/${e.model}`}function sq(e,t){let n=e.turn??void 0,r=e.memory??void 0,i=aq(e.tts,t),a=e.tts_model??void 0,o=e.greeting?.reply??``;return{stt:aq(e.stt,t),llm:aq(e.llm,t),tts:a===void 0||a===``?i:{...i,model:a},voice:e.voice??``,opening:o===``?`say`:`reply`,say:e.greeting?.say??``,reply:o,hangup:e.hangup?.when??``,endpointing_ms:typeof n?.endpointing_ms==`number`?String(n.endpointing_ms):``,min_interruption_words:typeof n?.min_interruption_words==`number`?String(n.min_interruption_words):``,remember:(r?.remember??[]).join(`
108
108
  `),forget:(r?.forget??[]).join(`
109
- `),knowledge:e.knowledge??``,bases:(e.bases??[]).map(e=>({base:e.base,k:typeof e.k==`number`?String(e.k):``})),note:``}}function cq(e,t,n){let r=t?{...n}:{};if(!t){for(let t of[`stt`,`llm`,`tts`]){let n=oq(e[t]);n!==``&&(r[t]=n)}let t=e.voice.trim();t!==``&&(r.voice=t);let n=e.hangup.trim();n!==``&&(r.hangup={when:n});let i={};e.endpointing_ms.trim()!==``&&(i.endpointing_ms=Number(e.endpointing_ms)),e.min_interruption_words.trim()!==``&&(i.min_interruption_words=Number(e.min_interruption_words)),Object.keys(i).length>0&&(r.turn=i);let a=e.bases.filter(e=>e.base.trim()!==``).map(e=>e.k.trim()===``?{base:e.base.trim()}:{base:e.base.trim(),k:Number(e.k)});a.length>0&&(r.bases=a)}let i=e.say.trim(),a=e.reply.trim();e.opening===`say`&&i!==``?r.greeting={say:i}:e.opening===`reply`&&a!==``&&!t?r.greeting={reply:a}:delete r.greeting;let o=lq(e.remember),s=lq(e.forget);return o.length>0||s.length>0?r.memory={remember:o,forget:s}:delete r.memory,e.knowledge.trim()===``?delete r.knowledge:r.knowledge=e.knowledge,r}function lq(e){return e.split(`
109
+ `),knowledge:e.knowledge??``,bases:(e.bases??[]).map(e=>({base:e.base,k:typeof e.k==`number`?String(e.k):``})),note:``}}function cq(e,t,n){let r=t?{...n}:{};if(!t){for(let t of[`stt`,`llm`,`tts`]){let n=oq(e[t]);n!==``&&(r[t]=n)}let t=e.voice.trim();t!==``&&(r.voice=t);let n=e.hangup.trim();n!==``&&(r.hangup={when:n});let i={};e.endpointing_ms.trim()!==``&&(i.endpointing_ms=Number(e.endpointing_ms)),e.min_interruption_words.trim()!==``&&(i.min_interruption_words=Number(e.min_interruption_words)),Object.keys(i).length>0&&(r.turn=i),r.bases=e.bases.filter(e=>e.base.trim()!==``).map(e=>e.k.trim()===``?{base:e.base.trim()}:{base:e.base.trim(),k:Number(e.k)})}let i=e.say.trim(),a=e.reply.trim();e.opening===`say`&&i!==``?r.greeting={say:i}:e.opening===`reply`&&a!==``&&!t?r.greeting={reply:a}:delete r.greeting;let o=lq(e.remember),s=lq(e.forget);return o.length>0||s.length>0?r.memory={remember:o,forget:s}:delete r.memory,e.knowledge.trim()===``?delete r.knowledge:r.knowledge=e.knowledge,r}function lq(e){return e.split(`
110
110
  `).map(e=>e.trim()).filter(e=>e!==``)}function uq({typed:e,change:t}){return(0,A.jsxs)(`section`,{className:`set-section`,children:[(0,A.jsxs)(`div`,{className:`set-section-head`,children:[(0,A.jsx)(`h2`,{className:`set-section-title`,children:`Memory`}),(0,A.jsx)(`p`,{className:`set-section-blurb`,children:`What the agent writes down about a caller when the call ends, and hands back the next time that number calls.`})]}),(0,A.jsxs)(`div`,{className:`set-row`,children:[(0,A.jsxs)(`div`,{className:`set-field`,children:[(0,A.jsx)($m,{children:`Remember`}),(0,A.jsx)(th,{value:e.remember,rows:5,"aria-label":`Remember`,placeholder:`their name and phone
111
111
  allergies
112
112
  the morning or the afternoon they prefer`,onChange:e=>t(`remember`,e.target.value)}),(0,A.jsx)(`p`,{className:`set-help`,children:`One kind of fact per line, in your words. The extraction keeps only these.`})]}),(0,A.jsxs)(`div`,{className:`set-field`,children:[(0,A.jsx)($m,{children:`Never keep`}),(0,A.jsx)(th,{value:e.forget,rows:5,"aria-label":`Never keep`,placeholder:`card numbers
@@ -11,7 +11,7 @@
11
11
  href="https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;600;700&display=swap"
12
12
  rel="stylesheet"
13
13
  />
14
- <script type="module" crossorigin src="/assets/index-D7s23-A3.js"></script>
14
+ <script type="module" crossorigin src="/assets/index-CQ0f4Qi4.js"></script>
15
15
  <link rel="stylesheet" crossorigin href="/assets/index-CXPFJbSz.css">
16
16
  </head>
17
17
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinecall",
3
- "version": "0.8.3",
3
+ "version": "0.8.4",
4
4
  "description": "Write an agent as a class: its fields are the state, its @tool methods are the model's verbs, and its docstrings are the prompt",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Pinecall <hello@pinecall.io>",