@recallkit/web 0.1.4 → 0.1.6

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 (82) hide show
  1. package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  2. package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
  3. package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  12. package/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
  14. package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +10 -10
  15. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +10 -10
  16. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  17. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +5 -5
  18. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  19. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  20. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/standalone/apps/web/.next/server/app/dashboard/page.js.nft.json +1 -1
  22. package/.next/standalone/apps/web/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/apps/web/.next/server/app/drafts/page.js.nft.json +1 -1
  24. package/.next/standalone/apps/web/.next/server/app/drafts/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/apps/web/.next/server/app/drafts.html +1 -1
  26. package/.next/standalone/apps/web/.next/server/app/drafts.rsc +11 -11
  27. package/.next/standalone/apps/web/.next/server/app/drafts.segments/_full.segment.rsc +11 -11
  28. package/.next/standalone/apps/web/.next/server/app/drafts.segments/_head.segment.rsc +4 -4
  29. package/.next/standalone/apps/web/.next/server/app/drafts.segments/_index.segment.rsc +5 -5
  30. package/.next/standalone/apps/web/.next/server/app/drafts.segments/_tree.segment.rsc +2 -2
  31. package/.next/standalone/apps/web/.next/server/app/drafts.segments/drafts/__PAGE__.segment.rsc +3 -3
  32. package/.next/standalone/apps/web/.next/server/app/drafts.segments/drafts.segment.rsc +3 -3
  33. package/.next/standalone/apps/web/.next/server/app/page.js.nft.json +1 -1
  34. package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/apps/web/.next/server/app/settings/page.js +1 -1
  36. package/.next/standalone/apps/web/.next/server/app/settings/page.js.nft.json +1 -1
  37. package/.next/standalone/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0.tinn8._.js +1 -1
  39. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__02c3lor._.js +2 -2
  40. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0hrpxy.._.js +1 -1
  41. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0ow36av._.js +2 -2
  42. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0wx8gk4._.js +2 -2
  43. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0yg7ej8._.js +1 -1
  44. package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0z2~2fs._.js +2 -2
  45. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__00h_.aj._.js +3 -0
  46. package/.next/standalone/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__05-esa~._.js → [root-of-the-server]__0zfr~8h._.js} +2 -2
  47. package/.next/standalone/apps/web/.next/server/chunks/ssr/{_10pjf4t._.js → _04h0enx._.js} +2 -2
  48. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0_m6tad._.js +3 -0
  49. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0a6a559._.js +1 -1
  50. package/.next/standalone/apps/web/.next/server/chunks/ssr/apps_web_src_components_MemoryInbox_tsx_06~ue19._.js +1 -1
  51. package/.next/standalone/apps/web/.next/server/chunks/ssr/{node_modules_0da.ul0._.js → node_modules_03t0hyh._.js} +4 -4
  52. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_06leb0b._.js +5 -0
  53. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_0o0sug~._.js +3 -0
  54. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_0tf7xqo._.js +4 -0
  55. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_@arkiv-network_sdk_dist_index_0zka99u.js +1 -1
  56. package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
  57. package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
  58. package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  59. package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
  60. package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  61. package/.next/standalone/apps/web/.next/static/chunks/007vrv97qw0fu.js +1 -0
  62. package/.next/standalone/apps/web/.next/static/chunks/{08c7su~rm2529.js → 07__7jmilo0u2.js} +1 -1
  63. package/.next/standalone/apps/web/.next/static/chunks/08hq.xfduf~c7.js +2 -0
  64. package/.next/standalone/apps/web/.next/static/chunks/0_ncj8ctq5zot.js +1 -0
  65. package/.next/standalone/apps/web/.next/static/chunks/0_or-u-ei8ah5.js +1 -0
  66. package/.next/standalone/apps/web/.next/static/chunks/0rxa6rzmxf70g.js +1 -0
  67. package/.next/standalone/apps/web/.next/static/chunks/{109p-e7tkz-v3.css → 0wpfsvunk_5v2.css} +2 -2
  68. package/.next/standalone/apps/web/.next/static/chunks/0xkdw.a62l3mt.js +3 -0
  69. package/.next/standalone/apps/web/.next/static/chunks/{0r4a.59338j1f.js → 16b--96~p49mc.js} +3 -3
  70. package/.next/standalone/apps/web/package.json +1 -1
  71. package/package.json +2 -2
  72. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__037y449._.js +0 -3
  73. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_0n9rgln._.js +0 -5
  74. package/.next/standalone/apps/web/.next/server/chunks/ssr/node_modules_@arkiv-network_sdk_dist_index_09aplzu.js +0 -4
  75. package/.next/standalone/apps/web/.next/static/chunks/092078emhzxbx.js +0 -1
  76. package/.next/standalone/apps/web/.next/static/chunks/0a23is-7bwqad.js +0 -1
  77. package/.next/standalone/apps/web/.next/static/chunks/0blerw9w2oove.js +0 -1
  78. package/.next/standalone/apps/web/.next/static/chunks/0clgj0i2abb0a.js +0 -2
  79. package/.next/standalone/apps/web/.next/static/chunks/0yqdr065nqco7.js +0 -3
  80. /package/.next/standalone/apps/web/.next/static/{mUUJpQVdd9eBHg4f6gcEj → f2xHT_lrxA8vnoU5aQmQI}/_buildManifest.js +0 -0
  81. /package/.next/standalone/apps/web/.next/static/{mUUJpQVdd9eBHg4f6gcEj → f2xHT_lrxA8vnoU5aQmQI}/_clientMiddlewareManifest.js +0 -0
  82. /package/.next/standalone/apps/web/.next/static/{mUUJpQVdd9eBHg4f6gcEj → f2xHT_lrxA8vnoU5aQmQI}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[1890,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=new Set(["global","project","session"]);function e(a){if(!a||"object"!=typeof a)return{level:"global"};let b=g(a.projectId),c=g(a.workspaceId),e=g(a.repoPath),f=(d.has(a.level)?a.level:void 0)??(b||c||e?"project":"global");return{level:f,..."project"===f&&b?{projectId:b}:{},..."project"===f&&c?{workspaceId:c}:{},..."project"===f&&e?{repoPath:e}:{},...a.ownerWallet?{ownerWallet:a.ownerWallet}:{}}}function f(a){return"project"===a.level?a.projectId?`This memory is tied to the ${a.projectId} project.`:"This memory is tied to the current project. Add a project id before committing if it should be project-specific.":"session"===a.level?"This memory is temporary session context and stays local unless upgraded.":"This memory can apply across projects."}function g(a){if("string"==typeof a)return a.trim()||void 0}var h=a.i(75448),i=a.i(37838),j=a.i(41025);function k(a){return"approved"===a.status&&"session"!==e(a.scope).level}function l(){return(0,b.jsxs)("div",{className:"tile",children:[(0,b.jsx)("div",{style:{color:"var(--ink)",fontSize:14.5,fontWeight:500},children:"No memory drafts yet."}),(0,b.jsxs)("div",{className:"body-dim",style:{marginTop:6},children:["Memory drafts show up here when an agent runs the"," ",(0,b.jsx)("code",{style:{color:"var(--accent)",fontFamily:"var(--font-mono), monospace"},children:"suggest-memory"})," ","skill script. Try this in your agent session:"]}),(0,b.jsxs)("code",{className:"snippet",children:[(0,b.jsx)("span",{className:"snippet__prompt",children:"›"}),"Remember that I prefer wallet-native Arkiv writes and batch memory commits."]})]})}function m({pending:a,selectedCount:c}){var d;let e=a.length?Math.max(...a.map(a=>a.importance)).toFixed(2):"none";return(0,b.jsxs)("div",{className:"stat-grid",children:[(0,b.jsxs)("div",{className:"stat-grid__cell",children:[(0,b.jsx)("div",{className:"stat-grid__label",children:"Drafts"}),(0,b.jsx)("div",{className:"stat-grid__value",children:a.length})]}),(0,b.jsxs)("div",{className:"stat-grid__cell",children:[(0,b.jsx)("div",{className:"stat-grid__label",children:"Selected"}),(0,b.jsx)("div",{className:"stat-grid__value stat-grid__value--accent",children:c})]}),(0,b.jsxs)("div",{className:"stat-grid__cell",children:[(0,b.jsx)("div",{className:"stat-grid__label",children:"Kinds"}),(0,b.jsx)("div",{className:"stat-grid__value stat-grid__value--mono",children:(0===(d=a).length?"":[...new Set(d.map(a=>a.kind))].slice(0,3).join(", "))||"none"})]}),(0,b.jsxs)("div",{className:"stat-grid__cell",children:[(0,b.jsx)("div",{className:"stat-grid__label",children:"Top importance"}),(0,b.jsx)("div",{className:"stat-grid__value",children:e})]})]})}var n=a.i(42355);let o=[{level:"global",label:"Global"},{level:"project",label:"Current Project"},{level:"session",label:"Session"}];function p({candidate:a,selected:c,selectable:d,onToggle:g,onChange:h,onSave:i,onApprove:j,onReject:k}){let l=(0,n.percent)(a.importance),m=(0,n.percent)(a.confidence),r=e(a.scope);return(0,b.jsxs)("article",{className:`candidate${c?" is-selected":""}`,children:[(0,b.jsx)("div",{className:"candidate__gutter",children:(0,b.jsx)("input",{type:"checkbox",className:"check",checked:c,disabled:!d,onChange:g,"aria-label":d?"Select memory":"Session memory stays local"})}),(0,b.jsxs)("div",{className:"candidate__body",children:[(0,b.jsxs)("header",{className:"candidate__head",children:[(0,b.jsxs)("div",{className:"candidate__tags",children:[(0,b.jsxs)("span",{className:`kind-pill kind-pill--${a.kind}`,children:[(0,b.jsx)("span",{className:"kind-pill__dot","aria-hidden":"true"}),a.kind]}),(0,b.jsx)("span",{className:"scope-chip",children:(0,n.formatScopeLabel)(r)}),(0,b.jsx)("span",{className:"tag-chip",children:a.status}),a.tags.slice(0,4).map(a=>(0,b.jsxs)("span",{className:"tag-chip",children:["#",a]},a)),a.tags.length>4?(0,b.jsxs)("span",{className:"tag-chip tag-chip--muted",children:["+",a.tags.length-4]}):null]}),(0,b.jsxs)("div",{className:"candidate__attribution",children:[a.createdByAgent?(0,b.jsx)("span",{className:"candidate__agent",children:a.createdByAgent}):null,(0,b.jsx)("time",{className:"candidate__time",dateTime:a.createdAt,title:new Date(a.createdAt).toLocaleString(),children:(0,n.formatTimeAgo)(a.createdAt)})]})]}),(0,b.jsx)("textarea",{className:"candidate-text",value:a.text,onChange:b=>h({...a,text:b.target.value})}),(0,b.jsxs)("div",{className:"candidate-scope",children:[(0,b.jsxs)("div",{className:"candidate-scope__head",children:[(0,b.jsx)("span",{className:"candidate__reason-label",children:"Scope"}),(0,b.jsx)("span",{className:"candidate-scope__value",children:(0,n.formatScopeLabel)(r)})]}),(0,b.jsx)("div",{className:"scope-segment",role:"group","aria-label":"Memory scope",children:o.map(c=>(0,b.jsx)("button",{type:"button",className:r.level===c.level?"scope-segment__button is-active":"scope-segment__button",onClick:()=>{var b;let d;return b=c.level,d=e({...r,level:b,..."project"===b&&r.projectId?{projectId:r.projectId}:{}}),void h({...a,scope:d,scopeReason:f(d)})},children:c.label},c.level))}),"project"===r.level?(0,b.jsxs)("label",{className:"candidate-scope__project",children:[(0,b.jsx)("span",{children:"Project"}),(0,b.jsx)("input",{value:r.projectId??"",onChange:b=>{var c;let d;return c=b.target.value,d=e({...r,level:"project",projectId:c}),void h({...a,scope:d,scopeReason:f(d)})},placeholder:"recallkit"})]}):null,a.scopeReason?(0,b.jsx)("p",{className:"candidate-scope__reason",children:a.scopeReason}):null,"session"===r.level?(0,b.jsx)("p",{className:"candidate-scope__reason",children:"Session memories stay local and are skipped by Arkiv commits."}):null]}),a.reason?(0,b.jsxs)("div",{className:"candidate__reason",children:[(0,b.jsx)("span",{className:"candidate__reason-label",children:"Reason"}),(0,b.jsx)("p",{children:a.reason})]}):null,(0,b.jsxs)("footer",{className:"candidate__foot",children:[(0,b.jsxs)("div",{className:"candidate__scores",children:[(0,b.jsx)(q,{label:"Importance",value:a.importance,pct:l}),(0,b.jsx)(q,{label:"Confidence",value:a.confidence,pct:m,variant:"dim"})]}),(0,b.jsxs)("div",{className:"candidate__actions",children:[(0,b.jsx)("button",{type:"button",className:"row-action",onClick:i,children:"Save edits"}),"approved"!==a.status&&"session"!==r.level?(0,b.jsx)("button",{type:"button",className:"row-action",onClick:j,children:"Approve"}):null,(0,b.jsx)("button",{type:"button",className:"row-action row-action--danger",onClick:k,children:"Reject"})]})]})]})]})}function q({label:a,value:c,pct:d,variant:e}){return(0,b.jsxs)("div",{className:"score",children:[(0,b.jsx)("span",{className:"score__label",children:a}),(0,b.jsx)("span",{className:"dim"===e?"bar bar--dim":"bar",children:(0,b.jsx)("span",{className:"bar__fill",style:{width:`${d}%`}})}),(0,b.jsx)("span",{className:"score__value",children:c.toFixed(2)})]})}function r({candidates:a,selectedIds:c,onToggle:d,onChange:e,onSave:f,onApprove:g,onReject:h}){let i=a.filter(s),j=a.length,k=i.length,l=i.filter(a=>c.has(a.id)).length,m=k>0&&l===k,n=l>0&&!m;return(0,b.jsxs)("div",{className:"candidate-list",children:[(0,b.jsxs)("div",{className:"candidate-list__toolbar",children:[(0,b.jsxs)("label",{className:"candidate-list__select-all",children:[(0,b.jsx)("input",{type:"checkbox",className:"check",checked:m,ref:a=>{a&&(a.indeterminate=n)},onChange:()=>{m?i.forEach(a=>{c.has(a.id)&&d(a.id)}):i.forEach(a=>{c.has(a.id)||d(a.id)})},"aria-label":m?"Deselect all":"Select all"}),(0,b.jsx)("span",{children:l>0?`${l} of ${k} selected`:`${j} candidate${1===j?"":"s"}`})]}),(0,b.jsx)("span",{className:"candidate-list__sort",children:"Sorted by importance ↓"})]}),(0,b.jsx)("div",{className:"candidate-list__items",children:a.map(a=>(0,b.jsx)(p,{candidate:a,selected:c.has(a.id),selectable:s(a),onToggle:()=>d(a.id),onChange:e,onSave:()=>f(a),onApprove:()=>g(a),onReject:()=>h(a.id)},a.id))})]})}function s(a){return"approved"===a.status&&"session"!==e(a.scope).level}let t=(0,a.i(64831).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function u(a,b){return[{key:"project",value:"recallkit-v1"},{key:"entityType",value:a},{key:"owner",value:b},{key:"createdAt",value:Date.now()},{key:"schemaVersion",value:1}]}async function v(){return a.A(71491)}function w(a,b){return x(a.walletClient,{payload:a.encryptedPayload,contentType:"application/vnd.recallkit.encrypted+json",attributes:b,expiresIn:a.expiresIn})}async function x(a,b){if("function"!=typeof a.createEntity)throw Error("Arkiv wallet client does not expose createEntity().");let{jsonToPayload:c}=await v();return a.createEntity({...b,payload:c?c(b.payload):b.payload})}function y(a){if("u">typeof Buffer)return Buffer.from(a).toString("base64");let b="";for(let c of a)b+=String.fromCharCode(c);return btoa(b)}function z(){let a=globalThis.crypto;if(!a?.subtle)throw Error("Web Crypto API is required for RecallKit encryption.");return a}async function A(a,b){var c;if(a.trim().length<8)throw Error("Encryption passphrase must be at least 8 characters.");let d=z(),e=new TextEncoder().encode(a),f=await d.subtle.importKey("raw",e,"PBKDF2",!1,["deriveKey"]);return d.subtle.deriveKey({name:"PBKDF2",salt:(c=b).buffer.slice(c.byteOffset,c.byteOffset+c.byteLength),iterations:25e4,hash:"SHA-256"},f,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function B(a){return[...new Uint8Array(await z().subtle.digest("SHA-256",new TextEncoder().encode(a)))].map(a=>a.toString(16).padStart(2,"0")).join("")}async function C(a){return B(a)}async function D(a,b){let c=z(),d=c.getRandomValues(new Uint8Array(16)),e=c.getRandomValues(new Uint8Array(12)),f=await A(b,d),g=new TextEncoder().encode(JSON.stringify(a)),h=await c.subtle.encrypt({name:"AES-GCM",iv:e},f,g);return{version:1,encrypted:!0,algorithm:"AES-GCM",kdf:"PBKDF2",salt:y(d),iv:y(e),ciphertext:y(new Uint8Array(h))}}process.env.RECALLKIT_LOCAL_URL,process.env.RECALLKIT_DAEMON_URL;var E=a.i(11522);async function F({passphrase:a,preview:b,selectedIds:c}){var d,f,g,i,j,k,l;if(0===b.memories.length)throw Error("No global or project memories are selected for Arkiv commit.");let m=await (0,E.createArkivBrowserWalletClient)(b.signerWallet),n=`commit_${crypto.randomUUID()}`,o=new Date().toISOString(),p={schemaVersion:1,packId:`pack_${crypto.randomUUID()}`,ownerWallet:b.signerWallet,commitId:n,memories:b.memories,createdAt:o},q=await D(p,a),r=await w(d={walletClient:m,ownerWallet:b.signerWallet,encryptedPayload:q,scopeHash:await C(function(a){if(!a)return"project:recallkit";let b=e(a.scope);return`${b.level}:${b.projectId??b.repoPath??b.workspaceId??"default"}`}(b.memories[0])),expiresIn:15552e3},[...u("memory_pack",(f={ownerWallet:d.ownerWallet,scopeHash:d.scopeHash}).ownerWallet),{key:"scopeHash",value:f.scopeHash}]),s=(k=b.memories,l=r.entityKey,k.map(a=>({memoryId:a.id,packEntityKey:l,kind:a.kind,scope:e(a.scope),summary:a.summary,keywords:a.retrieval.keywords,topics:a.retrieval.topics,semanticSummary:a.retrieval.semanticSummary,importance:a.retrieval.importance,confidence:a.evidence.confidence,status:a.lifecycle.status,createdAt:a.lifecycle.createdAt,...a.lifecycle.updatedAt?{updatedAt:a.lifecycle.updatedAt}:{}}))),t={schemaVersion:1,checkpointId:`idx_${crypto.randomUUID()}`,ownerWallet:b.signerWallet,entries:[...b.baseIndexEntries,...s],createdAt:o},v=await D(t,a),x=await w(g={walletClient:m,ownerWallet:b.signerWallet,encryptedPayload:v,expiresIn:15552e3},u("memory_index_checkpoint",g.ownerWallet)),y={schemaVersion:1,commitId:n,ownerWallet:b.signerWallet,message:`Approved ${b.memories.length} RecallKit memories`,addedMemoryIds:b.memories.map(a=>a.id),supersededMemoryIds:b.conflicts.map(a=>a.conflictsWith),packEntityKeys:[r.entityKey],indexCheckpointEntityKey:x.entityKey,createdFrom:"skill",approvedByUser:!0,createdAt:o},z=await D(y,a),A=await w(i={walletClient:m,ownerWallet:b.signerWallet,encryptedPayload:z,expiresIn:15552e3},u("memory_commit",i.ownerWallet)),B={schemaVersion:1,ownerWallet:b.signerWallet,latestCommitId:n,latestIndexCheckpointEntityKey:x.entityKey,activePackEntityKeys:[r.entityKey],createdAt:o},G=await D(B,a),H=await w(j={walletClient:m,ownerWallet:b.signerWallet,encryptedPayload:G,expiresIn:31536e3},u("memory_manifest",j.ownerWallet)),I={memory_pack:r.entityKey,memory_index_checkpoint:x.entityKey,memory_commit:A.entityKey,memory_manifest:H.entityKey};return await (0,h.completeCommit)({pendingIds:b.committablePendingIds.length?b.committablePendingIds:c,indexCheckpoint:t,packs:[{...p,entityKey:r.entityKey}],entityKeys:I}),I}var G=a.i(93216);function H({selectedIds:a,onClose:d,onCommitted:e}){let f=function(a){let[b,d]=(0,c.useState)(),[e,f]=(0,c.useState)(""),[g,i]=(0,c.useState)(!1),[k,l]=(0,c.useState)(),[m,n]=(0,c.useState)(),o=(0,c.useCallback)(async()=>{i(!0),l(void 0);try{d(await (0,h.buildCommitPreview)(a))}catch(a){l((0,j.readError)(a,"Unable to build commit preview."))}finally{i(!1)}},[a]),p=(0,c.useCallback)(async()=>{if(!b)return!1;i(!0),l(void 0);try{let c=await F({preview:b,passphrase:e,selectedIds:a});return n(c),!0}catch(a){return l((0,j.readError)(a,"Commit failed.")),!1}finally{i(!1)}},[e,b,a]);return{preview:b,passphrase:e,busy:g,error:k,entityKeys:m,canCommit:!!(b&&b.memories.length>0)&&e.length>=8&&!g,setPassphrase:f,loadPreview:o,commit:p}}(a),g=function({saved:a,memoryCount:b}){return a?"Saved to Arkiv":void 0===b?"Save approved memories":`Save ${b} approved ${1===b?"memory":"memories"}`}({saved:!!f.entityKeys,memoryCount:f.preview?.memories.length});async function i(){await f.commit()&&e()}return(0,b.jsx)("div",{className:"modal-v2-backdrop",onClick:d,children:(0,b.jsxs)("div",{className:"modal-v2",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"modal-v2__head",children:[(0,b.jsx)("div",{children:(0,b.jsx)("h2",{className:"modal-v2__title",children:g})}),(0,b.jsx)("button",{className:"modal-v2__close","aria-label":"Close",onClick:d,children:(0,b.jsx)(t,{size:16})})]}),(0,b.jsxs)("div",{className:"modal-v2__body",children:[f.preview||f.entityKeys?null:(0,b.jsx)("p",{className:"body-dim",style:{marginBottom:16},children:"Review exactly what will be saved. Nothing is signed until you confirm with your wallet."}),f.preview&&!f.entityKeys?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Signer wallet"}),(0,b.jsx)("span",{className:"summary-row__value",children:(0,n.shortAddress)(f.preview.signerWallet)})]}),(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Network"}),(0,b.jsx)("span",{className:"summary-row__value",children:f.preview.network})]}),(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Ready to save"}),(0,b.jsx)("span",{className:"summary-row__value",children:f.preview.memories.length})]}),f.preview.sessionDraftCount>0?(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Session drafts skipped"}),(0,b.jsx)("span",{className:"summary-row__value",children:f.preview.sessionDraftCount})]}):null,(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Estimated writes"}),(0,b.jsx)("span",{className:"summary-row__value",children:f.preview.estimatedWrites})]}),(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Entities"}),(0,b.jsx)("span",{className:"summary-row__value",children:f.preview.entities.join(", ")})]}),(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Encryption"}),(0,b.jsx)("span",{className:"summary-row__value summary-row__value--accent",children:"enabled · passphrase protected"})]}),0===f.preview.memories.length?(0,b.jsx)("div",{className:"error-v2",children:"Session memories stay local. Change at least one selected draft to Global or Current Project before saving."}):null,(0,b.jsxs)("label",{className:"field-v2",children:[(0,b.jsx)("span",{className:"field-v2__label",children:"Encryption passphrase"}),(0,b.jsx)("input",{className:"field-v2__input",type:"password",value:f.passphrase,onChange:a=>f.setPassphrase(a.target.value),placeholder:"Minimum 8 characters",autoComplete:"new-password"})]})]}):null,f.entityKeys?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"body-dim",style:{marginBottom:16},children:"Your wallet-signed save is complete. Entity keys:"}),Object.entries(f.entityKeys).map(([a,c])=>(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:a}),(0,b.jsx)(G.CopyValue,{value:c})]},a))]}):null,f.error?(0,b.jsx)("div",{className:"error-v2",children:f.error}):null]}),(0,b.jsxs)("div",{className:"modal-v2__foot",children:[f.entityKeys?null:(0,b.jsx)("button",{className:"btn btn--ghost",onClick:d,children:"Cancel"}),f.preview||f.entityKeys?null:(0,b.jsxs)("button",{className:"btn btn--primary",onClick:()=>void f.loadPreview(),disabled:f.busy,children:[f.busy?(0,b.jsx)("span",{className:"spinner"}):null,f.busy?"Preparing":"Review details"]}),f.preview&&!f.entityKeys?(0,b.jsxs)("button",{className:"btn btn--primary",onClick:()=>void i(),disabled:!f.canCommit,children:[f.busy?(0,b.jsx)("span",{className:"spinner"}):null,f.busy?"Signing":"Confirm with wallet →"]}):null,f.entityKeys?(0,b.jsx)("button",{className:"btn btn--primary",onClick:d,children:"Done"}):null]})]})})}a.s(["MemoryInbox",0,function(){let a,d,e,f,g,n,o,p,q,s,t,u=(a=(0,i.useAppStore)(a=>a.pendingMemory),d=(0,c.useMemo)(()=>new Set(a.selectedIds),[a.selectedIds]),e=(0,c.useMemo)(()=>a.items.filter(b=>a.selectedIds.includes(b.id)&&k(b)).length,[a.items,a.selectedIds]),f=(0,c.useCallback)(async(a={})=>{if(!i.appStore.getState().pendingMemory.refreshing){i.appStore.setState(a=>({pendingMemory:{...a.pendingMemory,refreshing:!0,error:void 0}}));try{let b=await (0,h.getPendingMemories)(a.force?{force:!0}:{}),c=new Set(b.map(a=>a.id));i.appStore.setState(a=>({pendingMemory:{...a.pendingMemory,items:b,selectedIds:a.pendingMemory.selectedIds.filter(a=>c.has(a)),refreshing:!1,loaded:!0}}))}catch(a){i.appStore.setState(b=>({pendingMemory:{...b.pendingMemory,refreshing:!1,error:(0,j.readError)(a,"Unable to load pending memories.")}}))}}},[]),(0,c.useEffect)(()=>{a.loaded||a.refreshing||f()},[a.loaded,a.refreshing,f]),g=(0,c.useCallback)(a=>{i.appStore.setState(b=>{let c=b.pendingMemory.items.find(b=>b.id===a);if(c&&!k(c))return b;let d=b.pendingMemory.selectedIds.includes(a)?b.pendingMemory.selectedIds.filter(b=>b!==a):[...b.pendingMemory.selectedIds,a];return{pendingMemory:{...b.pendingMemory,selectedIds:d}}})},[]),n=(0,c.useCallback)(a=>{i.appStore.setState(b=>({pendingMemory:{...b.pendingMemory,items:b.pendingMemory.items.map(b=>b.id===a.id?a:b)}}))},[]),o=(0,c.useCallback)(async a=>{await (0,h.updatePendingMemory)(a),await f({force:!0})},[f]),p=(0,c.useCallback)(async a=>{await (0,h.updatePendingMemory)({...a,status:"approved"}),await f({force:!0})},[f]),q=(0,c.useCallback)(async a=>{await (0,h.deletePendingMemory)(a),await f({force:!0})},[f]),s=(0,c.useCallback)(()=>{i.appStore.setState(a=>({pendingMemory:{...a.pendingMemory,selectedIds:[]}}))},[]),t=(0,c.useMemo)(()=>[...a.items].sort((a,b)=>b.importance-a.importance),[a.items]),{...a,selectedSet:d,sortedItems:t,committableSelectedCount:e,refresh:f,toggle:g,patchCandidate:n,save:o,approve:p,reject:q,clearSelection:s}),[v,w]=(0,c.useState)(!1);return(0,b.jsxs)("section",{className:"page",children:[(0,b.jsxs)("div",{className:"page-header",children:[(0,b.jsxs)("div",{className:"page-header__title",children:[(0,b.jsx)("h1",{className:"h1",children:"Review memories"}),(0,b.jsx)("p",{className:"lede",children:"Your agent captured these suggestions. Approve what should be saved, then sign once when you are ready."})]}),(0,b.jsxs)("div",{className:"page-header__actions",children:[(0,b.jsxs)("button",{className:"btn btn--ghost",onClick:()=>void u.refresh({force:!0}),disabled:u.refreshing,children:[u.refreshing?(0,b.jsx)("span",{className:"spinner"}):null,u.refreshing?"Refreshing":"Refresh"]}),(0,b.jsx)("button",{className:"btn btn--primary",onClick:()=>w(!0),disabled:0===u.committableSelectedCount,children:u.committableSelectedCount>0?`Save ${u.committableSelectedCount} memories`:"Save memories"})]})]}),(0,b.jsx)(m,{pending:u.items,selectedCount:u.selectedIds.length}),0===u.items.length?(0,b.jsx)(l,{}):(0,b.jsx)(r,{candidates:u.sortedItems,selectedIds:u.selectedSet,onToggle:u.toggle,onChange:u.patchCandidate,onSave:a=>void u.save(a),onApprove:a=>void u.approve(a),onReject:a=>void u.reject(a)}),u.error?(0,b.jsx)("div",{className:"error-v2",children:u.error}):null,v?(0,b.jsx)(H,{selectedIds:u.selectedIds,onClose:()=>w(!1),onCommitted:()=>{u.clearSelection(),u.refresh()}}):null]})}],1890)}];
1
+ module.exports=[1890,a=>{"use strict";var b=a.i(87924),c=a.i(72131);let d=new Set(["global","project","session"]);function e(a){if(!a||"object"!=typeof a)return{level:"global"};let b=g(a.projectId),c=g(a.workspaceId),e=g(a.repoPath),f=(d.has(a.level)?a.level:void 0)??(b||c||e?"project":"global");return{level:f,..."project"===f&&b?{projectId:b}:{},..."project"===f&&c?{workspaceId:c}:{},..."project"===f&&e?{repoPath:e}:{},...a.ownerWallet?{ownerWallet:a.ownerWallet}:{}}}function f(a){return"project"===a.level?a.projectId?`This memory is tied to the ${a.projectId} project.`:"This memory is tied to the current project. Add a project id before committing if it should be project-specific.":"session"===a.level?"This memory is temporary session context and stays local unless upgraded.":"This memory can apply across projects."}function g(a){if("string"==typeof a)return a.trim()||void 0}var h=a.i(75448),i=a.i(37838),j=a.i(41025);function k(a){return"approved"===a.status&&"session"!==e(a.scope).level}function l(){return(0,b.jsxs)("div",{className:"tile",children:[(0,b.jsx)("div",{style:{color:"var(--ink)",fontSize:14.5,fontWeight:500},children:"No memory drafts yet."}),(0,b.jsxs)("div",{className:"body-dim",style:{marginTop:6},children:["Memory drafts show up here when an agent runs the"," ",(0,b.jsx)("code",{style:{color:"var(--accent)",fontFamily:"var(--font-mono), monospace"},children:"suggest-memory"})," ","skill script. Try this in your agent session:"]}),(0,b.jsxs)("code",{className:"snippet",children:[(0,b.jsx)("span",{className:"snippet__prompt",children:"›"}),"Remember that I prefer wallet-native Arkiv writes and batch memory commits."]})]})}function m({pending:a,selectedCount:c}){var d;let e=a.length?Math.max(...a.map(a=>a.importance)).toFixed(2):"none";return(0,b.jsxs)("div",{className:"stat-grid",children:[(0,b.jsxs)("div",{className:"stat-grid__cell",children:[(0,b.jsx)("div",{className:"stat-grid__label",children:"Drafts"}),(0,b.jsx)("div",{className:"stat-grid__value",children:a.length})]}),(0,b.jsxs)("div",{className:"stat-grid__cell",children:[(0,b.jsx)("div",{className:"stat-grid__label",children:"Selected"}),(0,b.jsx)("div",{className:"stat-grid__value stat-grid__value--accent",children:c})]}),(0,b.jsxs)("div",{className:"stat-grid__cell",children:[(0,b.jsx)("div",{className:"stat-grid__label",children:"Kinds"}),(0,b.jsx)("div",{className:"stat-grid__value stat-grid__value--mono",children:(0===(d=a).length?"":[...new Set(d.map(a=>a.kind))].slice(0,3).join(", "))||"none"})]}),(0,b.jsxs)("div",{className:"stat-grid__cell",children:[(0,b.jsx)("div",{className:"stat-grid__label",children:"Top importance"}),(0,b.jsx)("div",{className:"stat-grid__value",children:e})]})]})}var n=a.i(42355);let o=[{level:"global",label:"Global"},{level:"project",label:"Current Project"},{level:"session",label:"Session"}];function p({candidate:a,selected:c,selectable:d,onToggle:g,onChange:h,onSave:i,onApprove:j,onReject:k}){let l=(0,n.percent)(a.importance),m=(0,n.percent)(a.confidence),r=e(a.scope);return(0,b.jsxs)("article",{className:`candidate${c?" is-selected":""}`,children:[(0,b.jsx)("div",{className:"candidate__gutter",children:(0,b.jsx)("input",{type:"checkbox",className:"check",checked:c,disabled:!d,onChange:g,"aria-label":d?"Select memory":"Session memory stays local"})}),(0,b.jsxs)("div",{className:"candidate__body",children:[(0,b.jsxs)("header",{className:"candidate__head",children:[(0,b.jsxs)("div",{className:"candidate__tags",children:[(0,b.jsxs)("span",{className:`kind-pill kind-pill--${a.kind}`,children:[(0,b.jsx)("span",{className:"kind-pill__dot","aria-hidden":"true"}),a.kind]}),(0,b.jsx)("span",{className:"scope-chip",children:(0,n.formatScopeLabel)(r)}),(0,b.jsx)("span",{className:"tag-chip",children:a.status}),a.tags.slice(0,4).map(a=>(0,b.jsxs)("span",{className:"tag-chip",children:["#",a]},a)),a.tags.length>4?(0,b.jsxs)("span",{className:"tag-chip tag-chip--muted",children:["+",a.tags.length-4]}):null]}),(0,b.jsxs)("div",{className:"candidate__attribution",children:[a.createdByAgent?(0,b.jsx)("span",{className:"candidate__agent",children:a.createdByAgent}):null,(0,b.jsx)("time",{className:"candidate__time",dateTime:a.createdAt,title:new Date(a.createdAt).toLocaleString(),children:(0,n.formatTimeAgo)(a.createdAt)})]})]}),(0,b.jsx)("textarea",{className:"candidate-text",value:a.text,onChange:b=>h({...a,text:b.target.value})}),(0,b.jsxs)("div",{className:"candidate-scope",children:[(0,b.jsxs)("div",{className:"candidate-scope__head",children:[(0,b.jsx)("span",{className:"candidate__reason-label",children:"Scope"}),(0,b.jsx)("span",{className:"candidate-scope__value",children:(0,n.formatScopeLabel)(r)})]}),(0,b.jsx)("div",{className:"scope-segment",role:"group","aria-label":"Memory scope",children:o.map(c=>(0,b.jsx)("button",{type:"button",className:r.level===c.level?"scope-segment__button is-active":"scope-segment__button",onClick:()=>{var b;let d;return b=c.level,d=e({...r,level:b,..."project"===b&&r.projectId?{projectId:r.projectId}:{}}),void h({...a,scope:d,scopeReason:f(d)})},children:c.label},c.level))}),"project"===r.level?(0,b.jsxs)("label",{className:"candidate-scope__project",children:[(0,b.jsx)("span",{children:"Project"}),(0,b.jsx)("input",{value:r.projectId??"",onChange:b=>{var c;let d;return c=b.target.value,d=e({...r,level:"project",projectId:c}),void h({...a,scope:d,scopeReason:f(d)})},placeholder:"recallkit"})]}):null,a.scopeReason?(0,b.jsx)("p",{className:"candidate-scope__reason",children:a.scopeReason}):null,"session"===r.level?(0,b.jsx)("p",{className:"candidate-scope__reason",children:"Session memories stay local and are skipped by Arkiv commits."}):null]}),a.reason?(0,b.jsxs)("div",{className:"candidate__reason",children:[(0,b.jsx)("span",{className:"candidate__reason-label",children:"Reason"}),(0,b.jsx)("p",{children:a.reason})]}):null,(0,b.jsxs)("footer",{className:"candidate__foot",children:[(0,b.jsxs)("div",{className:"candidate__scores",children:[(0,b.jsx)(q,{label:"Importance",value:a.importance,pct:l}),(0,b.jsx)(q,{label:"Confidence",value:a.confidence,pct:m,variant:"dim"})]}),(0,b.jsxs)("div",{className:"candidate__actions",children:[(0,b.jsx)("button",{type:"button",className:"row-action",onClick:i,children:"Save edits"}),"approved"!==a.status&&"session"!==r.level?(0,b.jsx)("button",{type:"button",className:"row-action",onClick:j,children:"Approve"}):null,(0,b.jsx)("button",{type:"button",className:"row-action row-action--danger",onClick:k,children:"Reject"})]})]})]})]})}function q({label:a,value:c,pct:d,variant:e}){return(0,b.jsxs)("div",{className:"score",children:[(0,b.jsx)("span",{className:"score__label",children:a}),(0,b.jsx)("span",{className:"dim"===e?"bar bar--dim":"bar",children:(0,b.jsx)("span",{className:"bar__fill",style:{width:`${d}%`}})}),(0,b.jsx)("span",{className:"score__value",children:c.toFixed(2)})]})}function r({candidates:a,selectedIds:c,onToggle:d,onChange:e,onSave:f,onApprove:g,onReject:h}){let i=a.filter(s),j=a.length,k=i.length,l=i.filter(a=>c.has(a.id)).length,m=k>0&&l===k,n=l>0&&!m;return(0,b.jsxs)("div",{className:"candidate-list",children:[(0,b.jsxs)("div",{className:"candidate-list__toolbar",children:[(0,b.jsxs)("label",{className:"candidate-list__select-all",children:[(0,b.jsx)("input",{type:"checkbox",className:"check",checked:m,ref:a=>{a&&(a.indeterminate=n)},onChange:()=>{m?i.forEach(a=>{c.has(a.id)&&d(a.id)}):i.forEach(a=>{c.has(a.id)||d(a.id)})},"aria-label":m?"Deselect all":"Select all"}),(0,b.jsx)("span",{children:l>0?`${l} of ${k} selected`:`${j} candidate${1===j?"":"s"}`})]}),(0,b.jsx)("span",{className:"candidate-list__sort",children:"Sorted by importance ↓"})]}),(0,b.jsx)("div",{className:"candidate-list__items",children:a.map(a=>(0,b.jsx)(p,{candidate:a,selected:c.has(a.id),selectable:s(a),onToggle:()=>d(a.id),onChange:e,onSave:()=>f(a),onApprove:()=>g(a),onReject:()=>h(a.id)},a.id))})]})}function s(a){return"approved"===a.status&&"session"!==e(a.scope).level}let t=(0,a.i(64831).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var u=a.i(84527);function v(a,b){return[{key:u.PROJECT_ATTRIBUTE.key,value:u.PROJECT_ATTRIBUTE.value},{key:"entityType",value:a},{key:"owner",value:b},{key:"createdAt",value:Date.now()},{key:"schemaVersion",value:1}]}async function w(){return a.A(71491)}function x(a,b){return y(a.walletClient,{payload:a.encryptedPayload,contentType:"application/vnd.recallkit.encrypted+json",attributes:b,expiresIn:a.expiresIn})}async function y(a,b){if("function"!=typeof a.createEntity)throw Error("Arkiv wallet client does not expose createEntity().");let{jsonToPayload:c}=await w();return a.createEntity({...b,payload:c?c(b.payload):b.payload})}function z(a){if("u">typeof Buffer)return Buffer.from(a).toString("base64");let b="";for(let c of a)b+=String.fromCharCode(c);return btoa(b)}function A(){let a=globalThis.crypto;if(!a?.subtle)throw Error("Web Crypto API is required for RecallKit encryption.");return a}async function B(a,b){var c;if(a.trim().length<8)throw Error("Encryption passphrase must be at least 8 characters.");let d=A(),e=new TextEncoder().encode(a),f=await d.subtle.importKey("raw",e,"PBKDF2",!1,["deriveKey"]);return d.subtle.deriveKey({name:"PBKDF2",salt:(c=b).buffer.slice(c.byteOffset,c.byteOffset+c.byteLength),iterations:25e4,hash:"SHA-256"},f,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function C(a){return[...new Uint8Array(await A().subtle.digest("SHA-256",new TextEncoder().encode(a)))].map(a=>a.toString(16).padStart(2,"0")).join("")}async function D(a){return C(a)}async function E(a,b){let c=A(),d=c.getRandomValues(new Uint8Array(16)),e=c.getRandomValues(new Uint8Array(12)),f=await B(b,d),g=new TextEncoder().encode(JSON.stringify(a)),h=await c.subtle.encrypt({name:"AES-GCM",iv:e},f,g);return{version:1,encrypted:!0,algorithm:"AES-GCM",kdf:"PBKDF2",salt:z(d),iv:z(e),ciphertext:z(new Uint8Array(h))}}var F=a.i(11522);async function G({passphrase:a,preview:b,selectedIds:c}){var d,f,g,i,j,k,l,m,n,o;if(0===b.memories.length)throw Error("No global or project memories are selected for Arkiv commit.");let p=await (0,F.createArkivBrowserWalletClient)(b.signerWallet),q=`commit_${crypto.randomUUID()}`,r=new Date().toISOString(),s={schemaVersion:1,packId:`pack_${crypto.randomUUID()}`,ownerWallet:b.signerWallet,commitId:q,memories:b.memories,createdAt:r},t=await E(s,a),w=await x(d={walletClient:p,ownerWallet:b.signerWallet,encryptedPayload:t,scopeHash:await D(function(a){if(!a)return"project:recallkit";let b=e(a.scope);return`${b.level}:${b.projectId??b.repoPath??b.workspaceId??"default"}`}(b.memories[0])),expiresIn:u.DEFAULT_EXPIRES_IN.PROJECT_MEMORY},(f={ownerWallet:d.ownerWallet,scopeHash:d.scopeHash},[...v(u.ENTITY_TYPES.PACK,f.ownerWallet),{key:"scopeHash",value:f.scopeHash}])),y=(n=b.memories,o=w.entityKey,n.map(a=>({memoryId:a.id,packEntityKey:o,kind:a.kind,scope:e(a.scope),summary:a.summary,keywords:a.retrieval.keywords,topics:a.retrieval.topics,semanticSummary:a.retrieval.semanticSummary,importance:a.retrieval.importance,confidence:a.evidence.confidence,status:a.lifecycle.status,createdAt:a.lifecycle.createdAt,...a.lifecycle.updatedAt?{updatedAt:a.lifecycle.updatedAt}:{}}))),z={schemaVersion:1,checkpointId:`idx_${crypto.randomUUID()}`,ownerWallet:b.signerWallet,entries:[...b.baseIndexEntries,...y],createdAt:r},A=await E(z,a),B=await x(g={walletClient:p,ownerWallet:b.signerWallet,encryptedPayload:A,expiresIn:u.DEFAULT_EXPIRES_IN.PROJECT_MEMORY},(i=g.ownerWallet,v(u.ENTITY_TYPES.INDEX_CHECKPOINT,i))),C={schemaVersion:1,commitId:q,ownerWallet:b.signerWallet,message:`Approved ${b.memories.length} RecallKit memories`,addedMemoryIds:b.memories.map(a=>a.id),supersededMemoryIds:b.conflicts.map(a=>a.conflictsWith),packEntityKeys:[w.entityKey],indexCheckpointEntityKey:B.entityKey,createdFrom:"skill",approvedByUser:!0,createdAt:r},H=await E(C,a),I=await x(j={walletClient:p,ownerWallet:b.signerWallet,encryptedPayload:H,expiresIn:u.DEFAULT_EXPIRES_IN.PROJECT_MEMORY},(k=j.ownerWallet,v(u.ENTITY_TYPES.COMMIT,k))),J={schemaVersion:1,ownerWallet:b.signerWallet,latestCommitId:q,latestIndexCheckpointEntityKey:B.entityKey,activePackEntityKeys:[w.entityKey],createdAt:r},K=await E(J,a),L=await x(l={walletClient:p,ownerWallet:b.signerWallet,encryptedPayload:K,expiresIn:u.DEFAULT_EXPIRES_IN.LONG_TERM_MEMORY},(m=l.ownerWallet,v(u.ENTITY_TYPES.MANIFEST,m))),M={memory_pack:w.entityKey,memory_index_checkpoint:B.entityKey,memory_commit:I.entityKey,memory_manifest:L.entityKey};return await (0,h.completeCommit)({pendingIds:b.committablePendingIds.length?b.committablePendingIds:c,indexCheckpoint:z,packs:[{...s,entityKey:w.entityKey}],entityKeys:M}),M}var H=a.i(93216);function I({selectedIds:a,onClose:d,onCommitted:e}){let f=function(a){let[b,d]=(0,c.useState)(),[e,f]=(0,c.useState)(""),[g,i]=(0,c.useState)(!1),[k,l]=(0,c.useState)(),[m,n]=(0,c.useState)(),o=(0,c.useCallback)(async()=>{i(!0),l(void 0);try{d(await (0,h.buildCommitPreview)(a))}catch(a){l((0,j.readError)(a,"Unable to build commit preview."))}finally{i(!1)}},[a]),p=(0,c.useCallback)(async()=>{if(!b)return!1;i(!0),l(void 0);try{let c=await G({preview:b,passphrase:e,selectedIds:a});return n(c),!0}catch(a){return l((0,j.readError)(a,"Commit failed.")),!1}finally{i(!1)}},[e,b,a]);return{preview:b,passphrase:e,busy:g,error:k,entityKeys:m,canCommit:!!(b&&b.memories.length>0)&&e.length>=8&&!g,setPassphrase:f,loadPreview:o,commit:p}}(a),g=function({saved:a,memoryCount:b}){return a?"Saved to Arkiv":void 0===b?"Save approved memories":`Save ${b} approved ${1===b?"memory":"memories"}`}({saved:!!f.entityKeys,memoryCount:f.preview?.memories.length});async function i(){await f.commit()&&e()}return(0,b.jsx)("div",{className:"modal-v2-backdrop",onClick:d,children:(0,b.jsxs)("div",{className:"modal-v2",onClick:a=>a.stopPropagation(),children:[(0,b.jsxs)("div",{className:"modal-v2__head",children:[(0,b.jsx)("div",{children:(0,b.jsx)("h2",{className:"modal-v2__title",children:g})}),(0,b.jsx)("button",{className:"modal-v2__close","aria-label":"Close",onClick:d,children:(0,b.jsx)(t,{size:16})})]}),(0,b.jsxs)("div",{className:"modal-v2__body",children:[f.preview||f.entityKeys?null:(0,b.jsx)("p",{className:"body-dim",style:{marginBottom:16},children:"Review exactly what will be saved. Nothing is signed until you confirm with your wallet."}),f.preview&&!f.entityKeys?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Signer wallet"}),(0,b.jsx)("span",{className:"summary-row__value",children:(0,n.shortAddress)(f.preview.signerWallet)})]}),(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Network"}),(0,b.jsx)("span",{className:"summary-row__value",children:f.preview.network})]}),(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Ready to save"}),(0,b.jsx)("span",{className:"summary-row__value",children:f.preview.memories.length})]}),f.preview.sessionDraftCount>0?(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Session drafts skipped"}),(0,b.jsx)("span",{className:"summary-row__value",children:f.preview.sessionDraftCount})]}):null,(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Estimated writes"}),(0,b.jsx)("span",{className:"summary-row__value",children:f.preview.estimatedWrites})]}),(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Entities"}),(0,b.jsx)("span",{className:"summary-row__value",children:f.preview.entities.join(", ")})]}),(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:"Encryption"}),(0,b.jsx)("span",{className:"summary-row__value summary-row__value--accent",children:"enabled · passphrase protected"})]}),0===f.preview.memories.length?(0,b.jsx)("div",{className:"error-v2",children:"Session memories stay local. Change at least one selected draft to Global or Current Project before saving."}):null,(0,b.jsxs)("label",{className:"field-v2",children:[(0,b.jsx)("span",{className:"field-v2__label",children:"Encryption passphrase"}),(0,b.jsx)("input",{className:"field-v2__input",type:"password",value:f.passphrase,onChange:a=>f.setPassphrase(a.target.value),placeholder:"Minimum 8 characters",autoComplete:"new-password"})]})]}):null,f.entityKeys?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"body-dim",style:{marginBottom:16},children:"Your wallet-signed save is complete. Entity keys:"}),Object.entries(f.entityKeys).map(([a,c])=>(0,b.jsxs)("div",{className:"summary-row",children:[(0,b.jsx)("span",{className:"summary-row__label",children:a}),(0,b.jsx)(H.CopyValue,{value:c})]},a))]}):null,f.error?(0,b.jsx)("div",{className:"error-v2",children:f.error}):null]}),(0,b.jsxs)("div",{className:"modal-v2__foot",children:[f.entityKeys?null:(0,b.jsx)("button",{className:"btn btn--ghost",onClick:d,children:"Cancel"}),f.preview||f.entityKeys?null:(0,b.jsxs)("button",{className:"btn btn--primary",onClick:()=>void f.loadPreview(),disabled:f.busy,children:[f.busy?(0,b.jsx)("span",{className:"spinner"}):null,f.busy?"Preparing":"Review details"]}),f.preview&&!f.entityKeys?(0,b.jsxs)("button",{className:"btn btn--primary",onClick:()=>void i(),disabled:!f.canCommit,children:[f.busy?(0,b.jsx)("span",{className:"spinner"}):null,f.busy?"Signing":"Confirm with wallet →"]}):null,f.entityKeys?(0,b.jsx)("button",{className:"btn btn--primary",onClick:d,children:"Done"}):null]})]})})}a.s(["MemoryInbox",0,function(){let a,d,e,f,g,n,o,p,q,s,t,u=(a=(0,i.useAppStore)(a=>a.pendingMemory),d=(0,c.useMemo)(()=>new Set(a.selectedIds),[a.selectedIds]),e=(0,c.useMemo)(()=>a.items.filter(b=>a.selectedIds.includes(b.id)&&k(b)).length,[a.items,a.selectedIds]),f=(0,c.useCallback)(async(a={})=>{if(!i.appStore.getState().pendingMemory.refreshing){i.appStore.setState(a=>({pendingMemory:{...a.pendingMemory,refreshing:!0,error:void 0}}));try{let b=await (0,h.getPendingMemories)(a.force?{force:!0}:{}),c=new Set(b.map(a=>a.id));i.appStore.setState(a=>({pendingMemory:{...a.pendingMemory,items:b,selectedIds:a.pendingMemory.selectedIds.filter(a=>c.has(a)),refreshing:!1,loaded:!0}}))}catch(a){i.appStore.setState(b=>({pendingMemory:{...b.pendingMemory,refreshing:!1,error:(0,j.readError)(a,"Unable to load pending memories.")}}))}}},[]),(0,c.useEffect)(()=>{a.loaded||a.refreshing||f()},[a.loaded,a.refreshing,f]),g=(0,c.useCallback)(a=>{i.appStore.setState(b=>{let c=b.pendingMemory.items.find(b=>b.id===a);if(c&&!k(c))return b;let d=b.pendingMemory.selectedIds.includes(a)?b.pendingMemory.selectedIds.filter(b=>b!==a):[...b.pendingMemory.selectedIds,a];return{pendingMemory:{...b.pendingMemory,selectedIds:d}}})},[]),n=(0,c.useCallback)(a=>{i.appStore.setState(b=>({pendingMemory:{...b.pendingMemory,items:b.pendingMemory.items.map(b=>b.id===a.id?a:b)}}))},[]),o=(0,c.useCallback)(async a=>{await (0,h.updatePendingMemory)(a),await f({force:!0})},[f]),p=(0,c.useCallback)(async a=>{await (0,h.updatePendingMemory)({...a,status:"approved"}),await f({force:!0})},[f]),q=(0,c.useCallback)(async a=>{await (0,h.deletePendingMemory)(a),await f({force:!0})},[f]),s=(0,c.useCallback)(()=>{i.appStore.setState(a=>({pendingMemory:{...a.pendingMemory,selectedIds:[]}}))},[]),t=(0,c.useMemo)(()=>[...a.items].sort((a,b)=>b.importance-a.importance),[a.items]),{...a,selectedSet:d,sortedItems:t,committableSelectedCount:e,refresh:f,toggle:g,patchCandidate:n,save:o,approve:p,reject:q,clearSelection:s}),[v,w]=(0,c.useState)(!1);return(0,b.jsxs)("section",{className:"page",children:[(0,b.jsxs)("div",{className:"page-header",children:[(0,b.jsxs)("div",{className:"page-header__title",children:[(0,b.jsx)("h1",{className:"h1",children:"Review memories"}),(0,b.jsx)("p",{className:"lede",children:"Your agent captured these suggestions. Approve what should be saved, then sign once when you are ready."})]}),(0,b.jsxs)("div",{className:"page-header__actions",children:[(0,b.jsxs)("button",{className:"btn btn--ghost",onClick:()=>void u.refresh({force:!0}),disabled:u.refreshing,children:[u.refreshing?(0,b.jsx)("span",{className:"spinner"}):null,u.refreshing?"Refreshing":"Refresh"]}),(0,b.jsx)("button",{className:"btn btn--primary",onClick:()=>w(!0),disabled:0===u.committableSelectedCount,children:u.committableSelectedCount>0?`Save ${u.committableSelectedCount} memories`:"Save memories"})]})]}),(0,b.jsx)(m,{pending:u.items,selectedCount:u.selectedIds.length}),0===u.items.length?(0,b.jsx)(l,{}):(0,b.jsx)(r,{candidates:u.sortedItems,selectedIds:u.selectedSet,onToggle:u.toggle,onChange:u.patchCandidate,onSave:a=>void u.save(a),onApprove:a=>void u.approve(a),onReject:a=>void u.reject(a)}),u.error?(0,b.jsx)("div",{className:"error-v2",children:u.error}):null,v?(0,b.jsx)(I,{selectedIds:u.selectedIds,onClose:()=>w(!1),onCommitted:()=>{u.clearSelection(),u.refresh()}}):null]})}],1890)}];
2
2
 
3
3
  //# sourceMappingURL=apps_web_src_components_MemoryInbox_tsx_06~ue19._.js.map