openpond 0.0.32 → 0.0.33

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 (57) hide show
  1. package/dist/chunks/{chunk-Q5MZCRJA.js → chunk-D7MMLD4B.js} +1 -1
  2. package/dist/chunks/{chunk-E5RVRUJB.js → chunk-RYUOC4A6.js} +1 -1
  3. package/dist/chunks/{chunk-5RHZKQRK.js → chunk-T5LV33QZ.js} +1 -1
  4. package/dist/chunks/{cli-WW5BVN5Z.js → cli-ACFTSCMY.js} +2 -2
  5. package/dist/chunks/{src-GZT4UX6I.js → src-3DC5AXBH.js} +4 -4
  6. package/dist/chunks/{workspaces-DHVVOTVR.js → workspaces-CYA4EXHX.js} +2 -2
  7. package/dist/cli.js +2 -2
  8. package/dist/web/assets/{AppsView-CF2g-7FH.js → AppsView-02DhR5FR.js} +1 -1
  9. package/dist/web/assets/{BrowserSidebar-lUsLUl20.js → BrowserSidebar-BbB1x4NN.js} +1 -1
  10. package/dist/web/assets/{CloudWorkView-BnfGW4OV.js → CloudWorkView-CrNjUam-.js} +1 -1
  11. package/dist/web/assets/{CommandMenu-BsS4Bgb6.js → CommandMenu-CMAoQrQr.js} +1 -1
  12. package/dist/web/assets/{CommunityView-C8qVOwlp.js → CommunityView-ClBQWVMx.js} +1 -1
  13. package/dist/web/assets/{ComposerCreateImproveStrip-C_LIpfSq.js → ComposerCreateImproveStrip-SAzjMJxi.js} +1 -1
  14. package/dist/web/assets/{GetStartedView-Du533wOh.js → GetStartedView-CImKDSgl.js} +1 -1
  15. package/dist/web/assets/LabsRoute-CjsnD_ow.js +3 -0
  16. package/dist/web/assets/{NewProjectDialog-DH7wA1z9.js → NewProjectDialog-DgHx0SU8.js} +1 -1
  17. package/dist/web/assets/{ProfileSettingsSection-D7JvMZdW.js → ProfileSettingsSection-Wms2nM8S.js} +1 -1
  18. package/dist/web/assets/{SettingsView-C9TgCaWG.js → SettingsView-Bj4gTHxu.js} +1 -1
  19. package/dist/web/assets/{TeamChatView-D_CE7br9.js → TeamChatView-Bn5s_CEO.js} +1 -1
  20. package/dist/web/assets/{TerminalOverlay-CC-VDSlp.js → TerminalOverlay-CZxcEnIU.js} +1 -1
  21. package/dist/web/assets/{TrainingCreationPanel-NFCoaBUI.js → TrainingCreationPanel-CDHWKB0z.js} +1 -1
  22. package/dist/web/assets/{TrainingDraftPanel-BWEmVFjM.js → TrainingDraftPanel-C1LwcFJe.js} +1 -1
  23. package/dist/web/assets/{WorkspaceDiffPanel-SlLlGZM1.js → WorkspaceDiffPanel-OXh-RfsO.js} +3 -3
  24. package/dist/web/assets/{WorkspaceEnvironmentMenu-BAoMBTVD.js → WorkspaceEnvironmentMenu-DYsTZ1yS.js} +1 -1
  25. package/dist/web/assets/{WorkspaceGitDialogs-CVIFrzyl.js → WorkspaceGitDialogs-DW1YzZSC.js} +1 -1
  26. package/dist/web/assets/{WorkspaceMonacoEditor-0trp0-TI.js → WorkspaceMonacoEditor-BB6RMJhI.js} +3 -3
  27. package/dist/web/assets/{boxes-CFihgX2z.js → boxes-DuFpoIOg.js} +1 -1
  28. package/dist/web/assets/{create-pipeline-request-AJWLMTyw.js → create-pipeline-request-CoUS3TxW.js} +1 -1
  29. package/dist/web/assets/{cssMode-HvqfCFyP.js → cssMode-BwBG931R.js} +1 -1
  30. package/dist/web/assets/{git-commit-horizontal-C5mUmACv.js → git-commit-horizontal-nYzHKpP_.js} +1 -1
  31. package/dist/web/assets/{htmlMode-C8btgUt-.js → htmlMode-kia19Vq-.js} +1 -1
  32. package/dist/web/assets/index-5GiqJrAI.js +1 -0
  33. package/dist/web/assets/{index-D7Vr3zcV.js → index-Md3sZKuq.js} +5 -5
  34. package/dist/web/assets/{info-D0xuy5IB.js → info-C19-C_Yo.js} +1 -1
  35. package/dist/web/assets/{jsonMode-5zVz9G0X.js → jsonMode-Bbnsi639.js} +1 -1
  36. package/dist/web/assets/{lspLanguageFeatures-DxlSSL7c.js → lspLanguageFeatures-CQ7n1AnL.js} +1 -1
  37. package/dist/web/assets/{monaco.contribution-B1pWWwqT.js → monaco.contribution-B0hVTPtP.js} +2 -2
  38. package/dist/web/assets/{monaco.contribution-BXdXsSWI.js → monaco.contribution-B70DoKC2.js} +2 -2
  39. package/dist/web/assets/{monaco.contribution-CIjjzpUR.js → monaco.contribution-CckMti96.js} +2 -2
  40. package/dist/web/assets/{monaco.contribution-BKpVvKK9.js → monaco.contribution-D0pzYjhS.js} +2 -2
  41. package/dist/web/assets/{monitor-B4-9Shtp.js → monitor-BiTzpoOs.js} +1 -1
  42. package/dist/web/assets/{play-BJdhBqQE.js → play-fYNcpLd1.js} +1 -1
  43. package/dist/web/assets/{python-CEK8J4w_.js → python-KvnXMI5w.js} +1 -1
  44. package/dist/web/assets/{refresh-cw-DE0u_nmZ.js → refresh-cw-CLWf9Yye.js} +1 -1
  45. package/dist/web/assets/{reply-2MfLJ93n.js → reply-ChwFJtCP.js} +1 -1
  46. package/dist/web/assets/{save-CBIVKaf8.js → save-Cf458B41.js} +1 -1
  47. package/dist/web/assets/{toggleHighContrast-CC73mtvA.js → toggleHighContrast-xBMYNCS6.js} +1 -1
  48. package/dist/web/assets/training-DSUEHclG.css +1 -0
  49. package/dist/web/assets/{tsMode-Bhn9wr_1.js → tsMode-MD366RAt.js} +1 -1
  50. package/dist/web/assets/{wifi-off-BKTqnqj0.js → wifi-off-BmQZtHYT.js} +1 -1
  51. package/dist/web/assets/{workers-C_adgrEg.js → workers-DZmm4J7b.js} +1 -1
  52. package/dist/web/assets/{yaml-DDRAcADU.js → yaml-AYqrW6mK.js} +1 -1
  53. package/dist/web/index.html +1 -1
  54. package/package.json +1 -1
  55. package/dist/web/assets/LabsRoute-yk8lNMQc.js +0 -3
  56. package/dist/web/assets/index-DUqAiF57.js +0 -1
  57. package/dist/web/assets/training-BY8siNUK.css +0 -1
@@ -1 +1 @@
1
- import{j as e,r as c,b5 as T,b7 as I,U as L,w as R,aJ as M}from"./index-D7Vr3zcV.js";import{P as D}from"./play-BJdhBqQE.js";function _({accent:t,kind:s}){switch(s){case"goal-state":return e.jsx(r,{accent:t,children:e.jsx(x,{inputs:[{title:"Local goal",detail:"session state",tone:"state"},{title:"Hosted goal",detail:"work item state",tone:"hosted"}],center:{title:"Shared goal record",detail:"same lifecycle language",tone:"gate"},outputs:[{title:"objective",detail:"what success means"},{title:"evidence",detail:"files, checks, logs"},{title:"blockers",detail:"approval or setup"},{title:"completion",detail:"evidence-backed"}]})});case"goal-evidence":return e.jsx(r,{accent:t,children:e.jsx(H,{center:"evidence state",nodes:[{title:"Prompt",detail:"objective captured"},{title:"Tools",detail:"files, shell, apps"},{title:"Events",detail:"logs and checks",tone:"gate"},{title:"Review",detail:"approval state"}]})});case"goal-controls":return e.jsx(r,{accent:t,children:e.jsx(O,{})});case"goal-context":return e.jsx(r,{accent:t,children:e.jsx(x,{inputs:[{title:"Chat turns",detail:"requests and approvals"},{title:"Workspace",detail:"files and source refs",tone:"source"}],center:{title:"Goal context",detail:"inspectable record",tone:"gate"},outputs:[{title:"messages",detail:"conversation trace"},{title:"checks",detail:"command output"},{title:"resources",detail:"linked files"},{title:"approval notes",detail:"what changed"}]})});case"subagent-router":return e.jsx(r,{accent:t,children:e.jsx(B,{})});case"subagent-handoff":return e.jsx(r,{accent:t,children:e.jsx(K,{})});case"subagent-settings":return e.jsx(r,{accent:t,children:e.jsx(U,{})});case"create-plan":return e.jsx(r,{accent:t,children:e.jsx(y,{nodes:[{title:"Ask",detail:"short request"},{title:"Clarify",detail:"focused questions",tone:"warn"},{title:"Plan",detail:"agent/action shape"},{title:"Review gate",detail:"confirm before source",tone:"gate"}]})});case"source-tree":return e.jsx(r,{accent:t,children:e.jsx(k,{heading:"profiles/default",sourceRows:["agent/agent.ts","agent/actions/*","agent/evals/*"],artifactRows:["action-registry.json","inspect.json","validation.json"]})});case"check-stack":return e.jsx(r,{accent:t,children:e.jsx($,{})});case"catalog":return e.jsx(r,{accent:t,children:e.jsx(q,{})});case"edit-review":return e.jsx(r,{accent:t,children:e.jsx(F,{})});case"profile-source":return e.jsx(r,{accent:t,children:e.jsx(k,{heading:"openpond-profile",sourceRows:["openpond-profile.json","profiles/default/agent","profiles/default/settings"],artifactRows:["artifact-index.json","manifest.json","eval-results.json"]})});case"profile-sync":return e.jsx(r,{accent:t,children:e.jsx(W,{})});case"secret-boundary":return e.jsx(r,{accent:t,children:e.jsx(z,{})});case"dual-source":return e.jsx(r,{accent:t,children:e.jsx(V,{})});case"work-item":return e.jsx(r,{accent:t,children:e.jsx(J,{})});case"publish-snapshot":return e.jsx(r,{accent:t,children:e.jsx(Q,{})});case"setup-gate":return e.jsx(r,{accent:t,children:e.jsx(X,{})});case"insights-loop":return e.jsx(r,{accent:t,children:e.jsx(Y,{})});case"insights-list":return e.jsx(r,{accent:t,children:e.jsx(Z,{})});case"apps-grid":return e.jsx(r,{accent:t,children:e.jsx(ee,{})});case"channel-router":return e.jsx(r,{accent:t,children:e.jsx(te,{})});default:return e.jsx(r,{accent:t,children:e.jsx(y,{nodes:[{title:"Profile source",detail:"agent code",tone:"source"},{title:"Checks",detail:"inspect and eval",tone:"gate"},{title:"Catalog",detail:"available actions"}]})})}}function r({accent:t,children:s}){return e.jsxs("div",{className:`get-started-visual accent-${t}`,children:[e.jsx("div",{className:"get-started-visual-accent"}),e.jsx("div",{className:"get-started-visual-inner",children:e.jsx("div",{className:"get-started-diagram",children:s})})]})}function y({nodes:t}){return e.jsx("div",{className:"get-started-flow-graph",children:t.map((s,i)=>e.jsx(re,{isLast:i===t.length-1,children:e.jsx(a,{...s})},s.title))})}function H({center:t,nodes:s}){return e.jsxs("div",{className:"get-started-loop-graph",children:[e.jsx("div",{className:"get-started-loop-ring"}),e.jsxs("div",{className:"get-started-loop-center",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:"updated each turn"})]}),s.map(i=>c.createElement(a,{...i,key:i.title}))]})}function O(){return e.jsxs("div",{className:"get-started-state-graph",children:[e.jsx(a,{title:"active",detail:"next continuation allowed",tone:"state"}),e.jsx(a,{title:"paused",detail:"user stopped the loop",tone:"warn"}),e.jsxs("div",{className:"get-started-state-core",children:[e.jsx("strong",{children:"runtime controls"}),e.jsx("span",{children:"pause, resume, clear, complete"})]}),e.jsx(a,{title:"blocked",detail:"needs input or setup",tone:"warn"}),e.jsx(a,{title:"complete",detail:"evidence-backed finish",tone:"gate"})]})}function x({center:t,inputs:s,outputs:i}){return e.jsxs("div",{className:"get-started-hub-graph",children:[e.jsx("div",{className:"get-started-node-stack",children:s.map(n=>c.createElement(a,{...n,key:n.title}))}),e.jsx(a,{...t,variant:"hub"}),e.jsx("div",{className:"get-started-node-stack compact",children:i.map(n=>c.createElement(a,{...n,key:n.title,variant:"compact"}))})]})}function k({artifactRows:t,heading:s,sourceRows:i}){return e.jsxs("div",{className:"get-started-contract-graph",children:[e.jsx(a,{title:s,detail:"profile source",tone:"source",children:e.jsx(g,{rows:i})}),e.jsx(u,{label:"generates"}),e.jsx(a,{title:".openpond artifacts",detail:"machine-readable contract",tone:"gate",children:e.jsx(g,{rows:t})}),e.jsx("div",{className:"get-started-consumer-strip",children:["app","CLI","checks","hosted"].map(n=>e.jsx("span",{children:n},n))})]})}function $(){return e.jsxs("div",{className:"get-started-gate-graph",children:[e.jsx(a,{title:"source change",detail:"candidate profile state",tone:"source"}),e.jsx("div",{className:"get-started-check-grid",children:[["inspect","passed"],["build","passed"],["validate","passed"],["eval","setup ready"]].map(([t,s])=>e.jsxs("div",{className:"get-started-check-cell",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:s})]},t))}),e.jsx(a,{title:"activate",detail:"catalog can refresh",tone:"gate"})]})}function q(){return e.jsx(x,{inputs:[{title:"manifest",detail:"checked snapshot",tone:"gate"},{title:"setup state",detail:"ready or required",tone:"warn"}],center:{title:"Profile action catalog",detail:"generated menu",tone:"state"},outputs:[{title:"default.chat",detail:"local chat"},{title:"support.open-items",detail:"connected app"},{title:"release-notes.generate",detail:"hosted action"}]})}function F(){return e.jsxs("div",{className:"get-started-review-graph",children:[e.jsx(a,{title:"patch plan",detail:"what will change"}),e.jsx(u,{label:"edits"}),e.jsx(a,{title:"source diff",detail:"+ actions, evals, settings",tone:"source",children:e.jsx(g,{rows:["+ agent/actions/support.ts","+ agent/evals/support.eval.ts","~ settings/profile.yaml"]})}),e.jsx(u,{label:"checks"}),e.jsx(a,{title:"review gate",detail:"commit, push, publish",tone:"gate",children:e.jsx(g,{rows:["source diff","check output","setup rows"]})})]})}function B(){return e.jsx(x,{inputs:[{title:"Goal",detail:"objective + state",tone:"state"},{title:"OpenAI GPT-5.6",detail:"orchestration model",tone:"hosted"}],center:{title:"Main agent",detail:"routes sub agents",tone:"gate"},outputs:[{title:"GLM coding",detail:"copy-on-write edits"},{title:"Research sub agent",detail:"findings + refs"},{title:"Review sub agent",detail:"ranked findings"},{title:"Test sub agent",detail:"validation evidence"}]})}function K(){return e.jsxs("div",{className:"get-started-subagent-handoff-graph",children:[e.jsx(a,{title:"sub agent run",detail:"bounded assignment",tone:"hosted"}),e.jsx(u,{label:"send"}),e.jsx(a,{title:"sub agent message",detail:"short receipt + details",tone:"gate",children:e.jsx(g,{rows:["summary","message id","run id"]})}),e.jsx(u,{label:"wake"}),e.jsx(a,{title:"parent decides",detail:"reply, route, join, cancel",tone:"state"})]})}function U(){return e.jsxs("div",{className:"get-started-subagent-settings-graph",children:[e.jsx(a,{title:"default model",detail:"shared sub agent model",tone:"gate"}),e.jsx("div",{className:"get-started-subagent-role-table",children:[["coding","GLM","copy-on-write"],["research","OpenAI","read only"],["review","default","goal scoped"]].map(([t,s,i])=>e.jsxs("div",{className:"get-started-subagent-role-row",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:s}),e.jsx("em",{children:i})]},t))}),e.jsx(a,{title:"limits",detail:"concurrency + token caps",tone:"warn"})]})}function W(){return e.jsxs("div",{className:"get-started-sync-graph",children:[e.jsx(a,{title:"local profile",detail:"source + checks",tone:"source"}),e.jsx(u,{label:"push"}),e.jsx(a,{title:"hosted profile ref",detail:"uploaded source",tone:"hosted"}),e.jsx(u,{label:"check"}),e.jsx(a,{title:"published catalog",detail:"manifest snapshot",tone:"gate"})]})}function z(){return e.jsxs("div",{className:"get-started-boundary-graph",children:[e.jsx(a,{title:"source declares",detail:"requirements, not values",tone:"source",children:e.jsx(g,{rows:["SLACK_CHANNEL","drive scope","volume: reports"]})}),e.jsxs("div",{className:"get-started-boundary-wall",children:[e.jsx("strong",{children:"binding boundary"}),e.jsx("span",{children:"values stay outside Git"})]}),e.jsx(a,{title:"platform stores",detail:"runtime setup state",tone:"gate",children:e.jsx(g,{rows:["OAuth lease","secret ref","volume binding"]})})]})}function V(){return e.jsxs("div",{className:"get-started-dual-source-graph",children:[e.jsx(a,{title:"/openpond/profile",detail:"agent profile source",tone:"source",children:e.jsx(g,{rows:["agent/agent.ts",".openpond/*"]})}),e.jsx(a,{title:"/workspace",detail:"target project source",tone:"source",children:e.jsx(g,{rows:["src/*","package.json"]})}),e.jsxs("div",{className:"get-started-sandbox-core",children:[e.jsx("strong",{children:"hosted sandbox"}),e.jsx("span",{children:"runs work item with separate mounts"})]}),e.jsx(a,{title:"review output",detail:"diffs, logs, checks, setup rows",tone:"gate"})]})}function J(){return e.jsx("div",{className:"get-started-timeline-graph",children:[["goal","running"],["logs","captured"],["checks","pending review"],["approval","publish blocked"]].map(([t,s])=>e.jsxs("div",{className:"get-started-timeline-step",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:s})]},t))})}function Q(){return e.jsxs("div",{className:"get-started-publish-graph",children:[e.jsx(a,{title:"source ref",detail:"reviewed profile state",tone:"source"}),e.jsx(u,{label:"hash"}),e.jsx(a,{title:"manifest hash",detail:"immutable contract",tone:"gate"}),e.jsx(u,{label:"publish"}),e.jsx(a,{title:"hosted catalog",detail:"runtime action menu",tone:"hosted"})]})}function X(){return e.jsxs("div",{className:"get-started-setup-graph",children:[e.jsx("div",{className:"get-started-setup-table",children:[["integration","Slack lease","missing"],["secret","REPORT_BUCKET","ready"],["volume","reports","optional"],["target repo","/workspace","required"]].map(([t,s,i])=>e.jsxs("div",{className:"get-started-setup-row",children:[e.jsx("span",{children:t}),e.jsx("strong",{children:s}),e.jsx("em",{children:i})]},s))}),e.jsxs("div",{className:"get-started-gate-decision",children:[e.jsx("strong",{children:"setup-required"}),e.jsx("span",{children:"block before run or publish"})]})]})}function Y(){return e.jsxs("div",{className:"get-started-insights-loop",children:[e.jsx(a,{title:"create_improve.updated",detail:"runtime event stream",tone:"source"}),e.jsx(u,{label:"scan"}),e.jsx(a,{title:"detector",detail:"waiting, blocked, failed",tone:"gate"}),e.jsx(u,{label:"persist"}),e.jsx(a,{title:"insight_items",detail:"active rows + fingerprints",tone:"state"})]})}function Z(){return e.jsxs("div",{className:"get-started-insights-list",children:[e.jsxs("div",{className:"get-started-insights-toolbar",children:[e.jsx("span",{children:"All"}),e.jsx("span",{children:"Active"}),e.jsx("span",{children:"Blocker"}),e.jsx("span",{children:"Scan"})]}),[["Blocker","failed","Create agent failed"],["Concern","awaiting approval","Edit agent needs plan approval"],["Concern","awaiting answers","Create agent is waiting for input"]].map(([t,s,i])=>e.jsxs("div",{className:"get-started-insight-row",children:[e.jsx("span",{children:t}),e.jsx("strong",{children:i}),e.jsx("em",{children:s})]},i))]})}function ee(){return e.jsxs("div",{className:"get-started-apps-graph",children:[e.jsx("div",{className:"get-started-app-grid",children:se.map(t=>e.jsx(G,{app:t},t.id))}),e.jsxs("div",{className:"get-started-router-core",children:[e.jsx("strong",{children:"profile catalog"}),e.jsx("span",{children:"actions + setup + permissions"})]})]})}function te(){return e.jsxs("div",{className:"get-started-router-graph",children:[e.jsx("div",{className:"get-started-channel-list",children:ae.map(t=>e.jsx(G,{app:t},t.id))}),e.jsxs("div",{className:"get-started-router-core",children:[e.jsx("strong",{children:"profile router"}),e.jsx("span",{children:"team + profile + catalog"})]}),e.jsx("div",{className:"get-started-router-results",children:["direct answer","profile action","work item","setup-required"].map(t=>e.jsx("span",{children:t},t))})]})}const se=[{id:"github",label:"GitHub"},{id:"google",label:"Google Drive"},{id:"slack",label:"Slack"},{id:"microsoft_teams",label:"Microsoft Teams"},{id:"mcp",label:"MCP"}],ae=[{id:"web",label:"Web"},{id:"slack",label:"Slack"},{id:"microsoft_teams",label:"Microsoft Teams"},{id:"mcp",label:"MCP"}];function G({app:t}){return e.jsxs("span",{className:"get-started-app-icon-tile",children:[e.jsx("span",{className:"get-started-app-icon",children:e.jsx("img",{alt:"",src:ie(t.id)})}),e.jsx("span",{children:t.label})]})}function ie(t){return t==="web"?T:I(t)}function a({children:t,detail:s,title:i,tone:n="default",variant:h="default"}){return e.jsxs("div",{className:`get-started-diagram-node tone-${n} variant-${h}`,children:[e.jsx("div",{className:"get-started-node-heading",children:e.jsx("strong",{children:i})}),e.jsx("span",{children:s}),t]})}function u({label:t}){return e.jsxs("div",{className:"get-started-connector","aria-hidden":t?void 0:!0,children:[e.jsx("span",{}),t?e.jsx("em",{children:t}):null]})}function re({children:t,isLast:s}){return e.jsxs(e.Fragment,{children:[t,s?null:e.jsx(u,{})]})}function g({rows:t}){return e.jsx("div",{className:"get-started-mini-rows",children:t.map(s=>e.jsx("span",{children:s},s))})}const v=5,N=v*1e3;function ne({deck:t,resetToken:s=0}){const i=oe(),[n,h]=c.useState(0),[p,m]=c.useState(!1),o=t.slides[n]??t.slides[0],b=n*v,C=t.slides.length*v;c.useEffect(()=>{h(0),m(!1)},[t.id,s]),c.useEffect(()=>{if(!p||i)return;const d=window.setTimeout(()=>{h(j=>j===t.slides.length-1?0:j+1)},N);return()=>window.clearTimeout(d)},[n,t.slides.length,p,i]),c.useEffect(()=>{i&&m(!1)},[i]);function E(){h(d=>d===0?t.slides.length-1:d-1)}function P(){h(d=>d===t.slides.length-1?0:d+1)}return e.jsxs("section",{className:"get-started-deck","aria-label":`${t.label} deck`,children:[e.jsxs("div",{className:"get-started-deck-body",children:[e.jsxs("div",{className:"get-started-deck-copy",children:[e.jsxs("div",{className:"get-started-eyebrow",children:[e.jsx("span",{className:`get-started-accent-dot accent-${o.accent}`}),e.jsx("span",{children:o.eyebrow})]}),e.jsxs("div",{className:"get-started-slide-copy",children:[e.jsx("h2",{children:o.title}),o.body?e.jsx("p",{children:o.body}):null,o.detail?e.jsx("p",{children:o.detail}):null]})]}),e.jsx(_,{accent:o.accent,kind:o.visual})]}),e.jsxs("div",{className:"get-started-deck-footer",children:[e.jsx("div",{className:"get-started-progress",style:{gridTemplateColumns:`repeat(${t.slides.length}, minmax(0, 1fr))`},children:t.slides.map((d,j)=>{const w=j===n,A=j<n;return e.jsx("button",{"aria-label":`Show ${d.title}`,className:"get-started-progress-button",onClick:()=>h(j),type:"button",children:e.jsx("span",{className:`get-started-progress-fill accent-${d.accent} ${w||A?"filled":""}`,style:{transitionDuration:w&&p&&!i?`${N}ms`:"180ms"}})},d.id)})}),e.jsxs("div",{className:"get-started-controls",children:[e.jsxs("div",{className:"get-started-control-group",children:[e.jsx("button",{"aria-label":"Previous slide",className:"get-started-icon-button",onClick:E,type:"button",children:e.jsx(L,{size:16})}),e.jsx("button",{"aria-label":p?"Pause slides":"Play slides",className:"get-started-icon-button",onClick:()=>m(d=>!d),type:"button",children:p?e.jsx(R,{size:16}):e.jsx(D,{size:16})}),e.jsx("button",{"aria-label":"Next slide",className:"get-started-icon-button",onClick:P,type:"button",children:e.jsx(M,{size:16})})]}),e.jsxs("div",{className:"get-started-time",children:[S(b)," / ",S(C)]})]})]})]})}function S(t){const s=Math.floor(t/60),i=t%60;return`${s}:${String(i).padStart(2,"0")}`}function oe(){const[t,s]=c.useState(!1);return c.useEffect(()=>{if(!window.matchMedia)return;const i=window.matchMedia("(prefers-reduced-motion: reduce)");s(i.matches);const n=()=>s(i.matches);return i.addEventListener("change",n),()=>i.removeEventListener("change",n)},[]),t}const l="cyan",f=[{id:"goal",label:"Goal loop",description:"How local and hosted goals share durable objective state.",slides:[{id:"goal-durable-objective",eyebrow:"Goal state",title:"Goals are durable objectives",body:"A goal is saved state for a local session or hosted work item, not just prompt text.",detail:"Local and hosted goals use the same lifecycle language: objective, evidence, blockers, approvals, checks, and completion.",visual:"goal-state",accent:l}]},{id:"orchestration",label:"Orchestration",description:"How the main agent delegates bounded work to addressable sub agents.",slides:[{id:"orchestration-delegate",eyebrow:"Model routing",title:"OpenAI GPT-5.6 can coordinate GLM coding",body:"Use a strong orchestration model to split a goal into sub agents, then route coding, research, review, testing, docs, or planning to the role and model that fit.",detail:"For example: OpenAI GPT-5.6 coordinates the goal, GLM handles coding in copy-on-write isolation, and every sub agent reports receipts back to the main chat.",visual:"subagent-router",accent:l},{id:"orchestration-handoff",eyebrow:"Handoffs",title:"Sub agents report back deliberately",body:"Sub agents can send compact handoffs back to the parent chat when a blocker, decision, important finding, or final result should return control.",detail:"The parent sees a short sub agent receipt and can respond, message the sub agent, join or cancel, update the goal, or route follow-up work.",visual:"subagent-handoff",accent:l},{id:"orchestration-settings",eyebrow:"Harness settings",title:"Configure each sub agent role",body:"Sub agents have a default model plus per-role provider and model overrides, tool policies, isolation modes, concurrency caps, token caps, and peer-message rules.",detail:"Copy-on-write is the default for write-capable sub agents so parallel edits stay reviewable before merge or handoff; roles can also use worktrees or no isolation.",visual:"subagent-settings",accent:l}]},{id:"build",label:"Create/Edit Loop",description:"How first-class Create and Edit agents are specific implementations on top of goals.",slides:[{id:"build-one-loop",eyebrow:"First-class agents",title:"Create/Edit is built on goals",body:"Create and Edit are first-class agents specifically designed as implementations on top of the goal loop.",detail:"They add source-aware planning, evidence, approvals, checks, and completion before profile files change.",visual:"create-plan",accent:l},{id:"build-profile-source",eyebrow:"Source",title:"Approved work changes profile source",body:"Create generates SDK-backed files. Edit patches existing agent source. Neither becomes loose chat memory.",detail:"Agents, actions, prompts, evals, and non-secret setup declarations live in the profile source tree.",visual:"source-tree",accent:l}]},{id:"insights",label:"Insights Loop",description:"How Insights reviews goal and Create/Improve state.",slides:[{id:"insights-detect",eyebrow:"Detector",title:"Insights runs on top of goals",body:"Insights watches `create_improve.updated` events and turns stuck Create/Improve runs into active rows.",detail:"Awaiting questions, plan approval, blocked, and failed states become concern or blocker rows tied back to the source event.",visual:"insights-loop",accent:l},{id:"insights-action",eyebrow:"Action",title:"Insights stay actionable",body:"Observation scanning is off by default. Open the suggestions inbox in Lab to enable scanning, then review, resolve, or dismiss the resulting observations there.",detail:"Rows persist in `insight_items` and resolve when the pipeline moves forward or the user marks them handled.",visual:"insights-list",accent:l}]},{id:"profile",label:"Profile",description:"How one Git-backed profile repository makes agents portable.",slides:[{id:"profile-git-repo",eyebrow:"Git-backed source",title:"One agent repository travels with you",body:"The profile repo stores agents, actions, prompts, evals, settings, and non-secret config as source.",detail:"Because it is Git-backed, local app, CLI, checks, and hosted runtime can inspect the same durable agent repository.",visual:"profile-source",accent:l},{id:"profile-portable-artifacts",eyebrow:"Portability",title:"Artifacts make agents portable",body:"The SDK emits a manifest, action registry, inspect output, validation report, and eval results from that repo.",detail:"Those contracts let the same agent run locally, publish hosted, or appear in connected apps without rebuilding it by hand.",visual:"source-tree",accent:l}]},{id:"local-hosted",label:"Local <> Hosted",description:"How hosted work keeps sources separate and publishes reviewed snapshots.",slides:[{id:"local-hosted-mounts",eyebrow:"Sandbox",title:"Hosted work keeps sources separate",body:"A hosted work item can mount profile source for the agent and target source for the project being changed.",detail:"The profile mount is `/openpond/profile`. The target project mount is `/workspace` when a target repo is needed.",visual:"dual-source",accent:l},{id:"local-hosted-publish",eyebrow:"Publish",title:"Published snapshots avoid source drift",body:"A checked manifest snapshot becomes the runtime source for hosted profile actions.",detail:"The hosted catalog should point at a reviewed snapshot, not an ambiguous latest file tree.",visual:"publish-snapshot",accent:l}]},{id:"connect-apps",label:"Connect 3rd party apps",description:"How connected apps bind into the same profile catalog.",slides:[{id:"connect-apps-grid",eyebrow:"Apps",title:"Apps connect to the profile catalog",visual:"apps-grid",accent:l},{id:"connect-channels",eyebrow:"Channels",title:"Web, Slack, Teams, and MCP use the same router",visual:"channel-router",accent:l}]}];function ce(t){const[s,i]=c.useState("goal"),[n,h]=c.useState(0),p=c.useMemo(()=>f.find(o=>o.id===s)??f[0],[s]);function m(o){i(o),h(b=>b+1)}return e.jsx("section",{className:"get-started-view","aria-label":"Get started",children:e.jsxs("div",{className:"get-started-shell",children:[e.jsx("div",{className:"surface-tabs get-started-tabs",role:"tablist","aria-label":"Get started topics",children:f.map(o=>e.jsx("button",{"aria-selected":p.id===o.id,className:p.id===o.id?"active":"",onClick:()=>m(o.id),role:"tab",type:"button",children:e.jsx("span",{children:o.label})},o.id))}),e.jsx(ne,{deck:p,resetToken:n},p.id)]})})}export{ce as GetStartedView};
1
+ import{j as e,r as c,b5 as T,b7 as I,U as L,w as R,aJ as M}from"./index-Md3sZKuq.js";import{P as D}from"./play-fYNcpLd1.js";function _({accent:t,kind:s}){switch(s){case"goal-state":return e.jsx(r,{accent:t,children:e.jsx(x,{inputs:[{title:"Local goal",detail:"session state",tone:"state"},{title:"Hosted goal",detail:"work item state",tone:"hosted"}],center:{title:"Shared goal record",detail:"same lifecycle language",tone:"gate"},outputs:[{title:"objective",detail:"what success means"},{title:"evidence",detail:"files, checks, logs"},{title:"blockers",detail:"approval or setup"},{title:"completion",detail:"evidence-backed"}]})});case"goal-evidence":return e.jsx(r,{accent:t,children:e.jsx(H,{center:"evidence state",nodes:[{title:"Prompt",detail:"objective captured"},{title:"Tools",detail:"files, shell, apps"},{title:"Events",detail:"logs and checks",tone:"gate"},{title:"Review",detail:"approval state"}]})});case"goal-controls":return e.jsx(r,{accent:t,children:e.jsx(O,{})});case"goal-context":return e.jsx(r,{accent:t,children:e.jsx(x,{inputs:[{title:"Chat turns",detail:"requests and approvals"},{title:"Workspace",detail:"files and source refs",tone:"source"}],center:{title:"Goal context",detail:"inspectable record",tone:"gate"},outputs:[{title:"messages",detail:"conversation trace"},{title:"checks",detail:"command output"},{title:"resources",detail:"linked files"},{title:"approval notes",detail:"what changed"}]})});case"subagent-router":return e.jsx(r,{accent:t,children:e.jsx(B,{})});case"subagent-handoff":return e.jsx(r,{accent:t,children:e.jsx(K,{})});case"subagent-settings":return e.jsx(r,{accent:t,children:e.jsx(U,{})});case"create-plan":return e.jsx(r,{accent:t,children:e.jsx(y,{nodes:[{title:"Ask",detail:"short request"},{title:"Clarify",detail:"focused questions",tone:"warn"},{title:"Plan",detail:"agent/action shape"},{title:"Review gate",detail:"confirm before source",tone:"gate"}]})});case"source-tree":return e.jsx(r,{accent:t,children:e.jsx(k,{heading:"profiles/default",sourceRows:["agent/agent.ts","agent/actions/*","agent/evals/*"],artifactRows:["action-registry.json","inspect.json","validation.json"]})});case"check-stack":return e.jsx(r,{accent:t,children:e.jsx($,{})});case"catalog":return e.jsx(r,{accent:t,children:e.jsx(q,{})});case"edit-review":return e.jsx(r,{accent:t,children:e.jsx(F,{})});case"profile-source":return e.jsx(r,{accent:t,children:e.jsx(k,{heading:"openpond-profile",sourceRows:["openpond-profile.json","profiles/default/agent","profiles/default/settings"],artifactRows:["artifact-index.json","manifest.json","eval-results.json"]})});case"profile-sync":return e.jsx(r,{accent:t,children:e.jsx(W,{})});case"secret-boundary":return e.jsx(r,{accent:t,children:e.jsx(z,{})});case"dual-source":return e.jsx(r,{accent:t,children:e.jsx(V,{})});case"work-item":return e.jsx(r,{accent:t,children:e.jsx(J,{})});case"publish-snapshot":return e.jsx(r,{accent:t,children:e.jsx(Q,{})});case"setup-gate":return e.jsx(r,{accent:t,children:e.jsx(X,{})});case"insights-loop":return e.jsx(r,{accent:t,children:e.jsx(Y,{})});case"insights-list":return e.jsx(r,{accent:t,children:e.jsx(Z,{})});case"apps-grid":return e.jsx(r,{accent:t,children:e.jsx(ee,{})});case"channel-router":return e.jsx(r,{accent:t,children:e.jsx(te,{})});default:return e.jsx(r,{accent:t,children:e.jsx(y,{nodes:[{title:"Profile source",detail:"agent code",tone:"source"},{title:"Checks",detail:"inspect and eval",tone:"gate"},{title:"Catalog",detail:"available actions"}]})})}}function r({accent:t,children:s}){return e.jsxs("div",{className:`get-started-visual accent-${t}`,children:[e.jsx("div",{className:"get-started-visual-accent"}),e.jsx("div",{className:"get-started-visual-inner",children:e.jsx("div",{className:"get-started-diagram",children:s})})]})}function y({nodes:t}){return e.jsx("div",{className:"get-started-flow-graph",children:t.map((s,i)=>e.jsx(re,{isLast:i===t.length-1,children:e.jsx(a,{...s})},s.title))})}function H({center:t,nodes:s}){return e.jsxs("div",{className:"get-started-loop-graph",children:[e.jsx("div",{className:"get-started-loop-ring"}),e.jsxs("div",{className:"get-started-loop-center",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:"updated each turn"})]}),s.map(i=>c.createElement(a,{...i,key:i.title}))]})}function O(){return e.jsxs("div",{className:"get-started-state-graph",children:[e.jsx(a,{title:"active",detail:"next continuation allowed",tone:"state"}),e.jsx(a,{title:"paused",detail:"user stopped the loop",tone:"warn"}),e.jsxs("div",{className:"get-started-state-core",children:[e.jsx("strong",{children:"runtime controls"}),e.jsx("span",{children:"pause, resume, clear, complete"})]}),e.jsx(a,{title:"blocked",detail:"needs input or setup",tone:"warn"}),e.jsx(a,{title:"complete",detail:"evidence-backed finish",tone:"gate"})]})}function x({center:t,inputs:s,outputs:i}){return e.jsxs("div",{className:"get-started-hub-graph",children:[e.jsx("div",{className:"get-started-node-stack",children:s.map(n=>c.createElement(a,{...n,key:n.title}))}),e.jsx(a,{...t,variant:"hub"}),e.jsx("div",{className:"get-started-node-stack compact",children:i.map(n=>c.createElement(a,{...n,key:n.title,variant:"compact"}))})]})}function k({artifactRows:t,heading:s,sourceRows:i}){return e.jsxs("div",{className:"get-started-contract-graph",children:[e.jsx(a,{title:s,detail:"profile source",tone:"source",children:e.jsx(g,{rows:i})}),e.jsx(u,{label:"generates"}),e.jsx(a,{title:".openpond artifacts",detail:"machine-readable contract",tone:"gate",children:e.jsx(g,{rows:t})}),e.jsx("div",{className:"get-started-consumer-strip",children:["app","CLI","checks","hosted"].map(n=>e.jsx("span",{children:n},n))})]})}function $(){return e.jsxs("div",{className:"get-started-gate-graph",children:[e.jsx(a,{title:"source change",detail:"candidate profile state",tone:"source"}),e.jsx("div",{className:"get-started-check-grid",children:[["inspect","passed"],["build","passed"],["validate","passed"],["eval","setup ready"]].map(([t,s])=>e.jsxs("div",{className:"get-started-check-cell",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:s})]},t))}),e.jsx(a,{title:"activate",detail:"catalog can refresh",tone:"gate"})]})}function q(){return e.jsx(x,{inputs:[{title:"manifest",detail:"checked snapshot",tone:"gate"},{title:"setup state",detail:"ready or required",tone:"warn"}],center:{title:"Profile action catalog",detail:"generated menu",tone:"state"},outputs:[{title:"default.chat",detail:"local chat"},{title:"support.open-items",detail:"connected app"},{title:"release-notes.generate",detail:"hosted action"}]})}function F(){return e.jsxs("div",{className:"get-started-review-graph",children:[e.jsx(a,{title:"patch plan",detail:"what will change"}),e.jsx(u,{label:"edits"}),e.jsx(a,{title:"source diff",detail:"+ actions, evals, settings",tone:"source",children:e.jsx(g,{rows:["+ agent/actions/support.ts","+ agent/evals/support.eval.ts","~ settings/profile.yaml"]})}),e.jsx(u,{label:"checks"}),e.jsx(a,{title:"review gate",detail:"commit, push, publish",tone:"gate",children:e.jsx(g,{rows:["source diff","check output","setup rows"]})})]})}function B(){return e.jsx(x,{inputs:[{title:"Goal",detail:"objective + state",tone:"state"},{title:"OpenAI GPT-5.6",detail:"orchestration model",tone:"hosted"}],center:{title:"Main agent",detail:"routes sub agents",tone:"gate"},outputs:[{title:"GLM coding",detail:"copy-on-write edits"},{title:"Research sub agent",detail:"findings + refs"},{title:"Review sub agent",detail:"ranked findings"},{title:"Test sub agent",detail:"validation evidence"}]})}function K(){return e.jsxs("div",{className:"get-started-subagent-handoff-graph",children:[e.jsx(a,{title:"sub agent run",detail:"bounded assignment",tone:"hosted"}),e.jsx(u,{label:"send"}),e.jsx(a,{title:"sub agent message",detail:"short receipt + details",tone:"gate",children:e.jsx(g,{rows:["summary","message id","run id"]})}),e.jsx(u,{label:"wake"}),e.jsx(a,{title:"parent decides",detail:"reply, route, join, cancel",tone:"state"})]})}function U(){return e.jsxs("div",{className:"get-started-subagent-settings-graph",children:[e.jsx(a,{title:"default model",detail:"shared sub agent model",tone:"gate"}),e.jsx("div",{className:"get-started-subagent-role-table",children:[["coding","GLM","copy-on-write"],["research","OpenAI","read only"],["review","default","goal scoped"]].map(([t,s,i])=>e.jsxs("div",{className:"get-started-subagent-role-row",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:s}),e.jsx("em",{children:i})]},t))}),e.jsx(a,{title:"limits",detail:"concurrency + token caps",tone:"warn"})]})}function W(){return e.jsxs("div",{className:"get-started-sync-graph",children:[e.jsx(a,{title:"local profile",detail:"source + checks",tone:"source"}),e.jsx(u,{label:"push"}),e.jsx(a,{title:"hosted profile ref",detail:"uploaded source",tone:"hosted"}),e.jsx(u,{label:"check"}),e.jsx(a,{title:"published catalog",detail:"manifest snapshot",tone:"gate"})]})}function z(){return e.jsxs("div",{className:"get-started-boundary-graph",children:[e.jsx(a,{title:"source declares",detail:"requirements, not values",tone:"source",children:e.jsx(g,{rows:["SLACK_CHANNEL","drive scope","volume: reports"]})}),e.jsxs("div",{className:"get-started-boundary-wall",children:[e.jsx("strong",{children:"binding boundary"}),e.jsx("span",{children:"values stay outside Git"})]}),e.jsx(a,{title:"platform stores",detail:"runtime setup state",tone:"gate",children:e.jsx(g,{rows:["OAuth lease","secret ref","volume binding"]})})]})}function V(){return e.jsxs("div",{className:"get-started-dual-source-graph",children:[e.jsx(a,{title:"/openpond/profile",detail:"agent profile source",tone:"source",children:e.jsx(g,{rows:["agent/agent.ts",".openpond/*"]})}),e.jsx(a,{title:"/workspace",detail:"target project source",tone:"source",children:e.jsx(g,{rows:["src/*","package.json"]})}),e.jsxs("div",{className:"get-started-sandbox-core",children:[e.jsx("strong",{children:"hosted sandbox"}),e.jsx("span",{children:"runs work item with separate mounts"})]}),e.jsx(a,{title:"review output",detail:"diffs, logs, checks, setup rows",tone:"gate"})]})}function J(){return e.jsx("div",{className:"get-started-timeline-graph",children:[["goal","running"],["logs","captured"],["checks","pending review"],["approval","publish blocked"]].map(([t,s])=>e.jsxs("div",{className:"get-started-timeline-step",children:[e.jsx("strong",{children:t}),e.jsx("span",{children:s})]},t))})}function Q(){return e.jsxs("div",{className:"get-started-publish-graph",children:[e.jsx(a,{title:"source ref",detail:"reviewed profile state",tone:"source"}),e.jsx(u,{label:"hash"}),e.jsx(a,{title:"manifest hash",detail:"immutable contract",tone:"gate"}),e.jsx(u,{label:"publish"}),e.jsx(a,{title:"hosted catalog",detail:"runtime action menu",tone:"hosted"})]})}function X(){return e.jsxs("div",{className:"get-started-setup-graph",children:[e.jsx("div",{className:"get-started-setup-table",children:[["integration","Slack lease","missing"],["secret","REPORT_BUCKET","ready"],["volume","reports","optional"],["target repo","/workspace","required"]].map(([t,s,i])=>e.jsxs("div",{className:"get-started-setup-row",children:[e.jsx("span",{children:t}),e.jsx("strong",{children:s}),e.jsx("em",{children:i})]},s))}),e.jsxs("div",{className:"get-started-gate-decision",children:[e.jsx("strong",{children:"setup-required"}),e.jsx("span",{children:"block before run or publish"})]})]})}function Y(){return e.jsxs("div",{className:"get-started-insights-loop",children:[e.jsx(a,{title:"create_improve.updated",detail:"runtime event stream",tone:"source"}),e.jsx(u,{label:"scan"}),e.jsx(a,{title:"detector",detail:"waiting, blocked, failed",tone:"gate"}),e.jsx(u,{label:"persist"}),e.jsx(a,{title:"insight_items",detail:"active rows + fingerprints",tone:"state"})]})}function Z(){return e.jsxs("div",{className:"get-started-insights-list",children:[e.jsxs("div",{className:"get-started-insights-toolbar",children:[e.jsx("span",{children:"All"}),e.jsx("span",{children:"Active"}),e.jsx("span",{children:"Blocker"}),e.jsx("span",{children:"Scan"})]}),[["Blocker","failed","Create agent failed"],["Concern","awaiting approval","Edit agent needs plan approval"],["Concern","awaiting answers","Create agent is waiting for input"]].map(([t,s,i])=>e.jsxs("div",{className:"get-started-insight-row",children:[e.jsx("span",{children:t}),e.jsx("strong",{children:i}),e.jsx("em",{children:s})]},i))]})}function ee(){return e.jsxs("div",{className:"get-started-apps-graph",children:[e.jsx("div",{className:"get-started-app-grid",children:se.map(t=>e.jsx(G,{app:t},t.id))}),e.jsxs("div",{className:"get-started-router-core",children:[e.jsx("strong",{children:"profile catalog"}),e.jsx("span",{children:"actions + setup + permissions"})]})]})}function te(){return e.jsxs("div",{className:"get-started-router-graph",children:[e.jsx("div",{className:"get-started-channel-list",children:ae.map(t=>e.jsx(G,{app:t},t.id))}),e.jsxs("div",{className:"get-started-router-core",children:[e.jsx("strong",{children:"profile router"}),e.jsx("span",{children:"team + profile + catalog"})]}),e.jsx("div",{className:"get-started-router-results",children:["direct answer","profile action","work item","setup-required"].map(t=>e.jsx("span",{children:t},t))})]})}const se=[{id:"github",label:"GitHub"},{id:"google",label:"Google Drive"},{id:"slack",label:"Slack"},{id:"microsoft_teams",label:"Microsoft Teams"},{id:"mcp",label:"MCP"}],ae=[{id:"web",label:"Web"},{id:"slack",label:"Slack"},{id:"microsoft_teams",label:"Microsoft Teams"},{id:"mcp",label:"MCP"}];function G({app:t}){return e.jsxs("span",{className:"get-started-app-icon-tile",children:[e.jsx("span",{className:"get-started-app-icon",children:e.jsx("img",{alt:"",src:ie(t.id)})}),e.jsx("span",{children:t.label})]})}function ie(t){return t==="web"?T:I(t)}function a({children:t,detail:s,title:i,tone:n="default",variant:h="default"}){return e.jsxs("div",{className:`get-started-diagram-node tone-${n} variant-${h}`,children:[e.jsx("div",{className:"get-started-node-heading",children:e.jsx("strong",{children:i})}),e.jsx("span",{children:s}),t]})}function u({label:t}){return e.jsxs("div",{className:"get-started-connector","aria-hidden":t?void 0:!0,children:[e.jsx("span",{}),t?e.jsx("em",{children:t}):null]})}function re({children:t,isLast:s}){return e.jsxs(e.Fragment,{children:[t,s?null:e.jsx(u,{})]})}function g({rows:t}){return e.jsx("div",{className:"get-started-mini-rows",children:t.map(s=>e.jsx("span",{children:s},s))})}const v=5,N=v*1e3;function ne({deck:t,resetToken:s=0}){const i=oe(),[n,h]=c.useState(0),[p,m]=c.useState(!1),o=t.slides[n]??t.slides[0],b=n*v,C=t.slides.length*v;c.useEffect(()=>{h(0),m(!1)},[t.id,s]),c.useEffect(()=>{if(!p||i)return;const d=window.setTimeout(()=>{h(j=>j===t.slides.length-1?0:j+1)},N);return()=>window.clearTimeout(d)},[n,t.slides.length,p,i]),c.useEffect(()=>{i&&m(!1)},[i]);function E(){h(d=>d===0?t.slides.length-1:d-1)}function P(){h(d=>d===t.slides.length-1?0:d+1)}return e.jsxs("section",{className:"get-started-deck","aria-label":`${t.label} deck`,children:[e.jsxs("div",{className:"get-started-deck-body",children:[e.jsxs("div",{className:"get-started-deck-copy",children:[e.jsxs("div",{className:"get-started-eyebrow",children:[e.jsx("span",{className:`get-started-accent-dot accent-${o.accent}`}),e.jsx("span",{children:o.eyebrow})]}),e.jsxs("div",{className:"get-started-slide-copy",children:[e.jsx("h2",{children:o.title}),o.body?e.jsx("p",{children:o.body}):null,o.detail?e.jsx("p",{children:o.detail}):null]})]}),e.jsx(_,{accent:o.accent,kind:o.visual})]}),e.jsxs("div",{className:"get-started-deck-footer",children:[e.jsx("div",{className:"get-started-progress",style:{gridTemplateColumns:`repeat(${t.slides.length}, minmax(0, 1fr))`},children:t.slides.map((d,j)=>{const w=j===n,A=j<n;return e.jsx("button",{"aria-label":`Show ${d.title}`,className:"get-started-progress-button",onClick:()=>h(j),type:"button",children:e.jsx("span",{className:`get-started-progress-fill accent-${d.accent} ${w||A?"filled":""}`,style:{transitionDuration:w&&p&&!i?`${N}ms`:"180ms"}})},d.id)})}),e.jsxs("div",{className:"get-started-controls",children:[e.jsxs("div",{className:"get-started-control-group",children:[e.jsx("button",{"aria-label":"Previous slide",className:"get-started-icon-button",onClick:E,type:"button",children:e.jsx(L,{size:16})}),e.jsx("button",{"aria-label":p?"Pause slides":"Play slides",className:"get-started-icon-button",onClick:()=>m(d=>!d),type:"button",children:p?e.jsx(R,{size:16}):e.jsx(D,{size:16})}),e.jsx("button",{"aria-label":"Next slide",className:"get-started-icon-button",onClick:P,type:"button",children:e.jsx(M,{size:16})})]}),e.jsxs("div",{className:"get-started-time",children:[S(b)," / ",S(C)]})]})]})]})}function S(t){const s=Math.floor(t/60),i=t%60;return`${s}:${String(i).padStart(2,"0")}`}function oe(){const[t,s]=c.useState(!1);return c.useEffect(()=>{if(!window.matchMedia)return;const i=window.matchMedia("(prefers-reduced-motion: reduce)");s(i.matches);const n=()=>s(i.matches);return i.addEventListener("change",n),()=>i.removeEventListener("change",n)},[]),t}const l="cyan",f=[{id:"goal",label:"Goal loop",description:"How local and hosted goals share durable objective state.",slides:[{id:"goal-durable-objective",eyebrow:"Goal state",title:"Goals are durable objectives",body:"A goal is saved state for a local session or hosted work item, not just prompt text.",detail:"Local and hosted goals use the same lifecycle language: objective, evidence, blockers, approvals, checks, and completion.",visual:"goal-state",accent:l}]},{id:"orchestration",label:"Orchestration",description:"How the main agent delegates bounded work to addressable sub agents.",slides:[{id:"orchestration-delegate",eyebrow:"Model routing",title:"OpenAI GPT-5.6 can coordinate GLM coding",body:"Use a strong orchestration model to split a goal into sub agents, then route coding, research, review, testing, docs, or planning to the role and model that fit.",detail:"For example: OpenAI GPT-5.6 coordinates the goal, GLM handles coding in copy-on-write isolation, and every sub agent reports receipts back to the main chat.",visual:"subagent-router",accent:l},{id:"orchestration-handoff",eyebrow:"Handoffs",title:"Sub agents report back deliberately",body:"Sub agents can send compact handoffs back to the parent chat when a blocker, decision, important finding, or final result should return control.",detail:"The parent sees a short sub agent receipt and can respond, message the sub agent, join or cancel, update the goal, or route follow-up work.",visual:"subagent-handoff",accent:l},{id:"orchestration-settings",eyebrow:"Harness settings",title:"Configure each sub agent role",body:"Sub agents have a default model plus per-role provider and model overrides, tool policies, isolation modes, concurrency caps, token caps, and peer-message rules.",detail:"Copy-on-write is the default for write-capable sub agents so parallel edits stay reviewable before merge or handoff; roles can also use worktrees or no isolation.",visual:"subagent-settings",accent:l}]},{id:"build",label:"Create/Edit Loop",description:"How first-class Create and Edit agents are specific implementations on top of goals.",slides:[{id:"build-one-loop",eyebrow:"First-class agents",title:"Create/Edit is built on goals",body:"Create and Edit are first-class agents specifically designed as implementations on top of the goal loop.",detail:"They add source-aware planning, evidence, approvals, checks, and completion before profile files change.",visual:"create-plan",accent:l},{id:"build-profile-source",eyebrow:"Source",title:"Approved work changes profile source",body:"Create generates SDK-backed files. Edit patches existing agent source. Neither becomes loose chat memory.",detail:"Agents, actions, prompts, evals, and non-secret setup declarations live in the profile source tree.",visual:"source-tree",accent:l}]},{id:"insights",label:"Insights Loop",description:"How Insights reviews goal and Create/Improve state.",slides:[{id:"insights-detect",eyebrow:"Detector",title:"Insights runs on top of goals",body:"Insights watches `create_improve.updated` events and turns stuck Create/Improve runs into active rows.",detail:"Awaiting questions, plan approval, blocked, and failed states become concern or blocker rows tied back to the source event.",visual:"insights-loop",accent:l},{id:"insights-action",eyebrow:"Action",title:"Insights stay actionable",body:"Observation scanning is off by default. Open the suggestions inbox in Lab to enable scanning, then review, resolve, or dismiss the resulting observations there.",detail:"Rows persist in `insight_items` and resolve when the pipeline moves forward or the user marks them handled.",visual:"insights-list",accent:l}]},{id:"profile",label:"Profile",description:"How one Git-backed profile repository makes agents portable.",slides:[{id:"profile-git-repo",eyebrow:"Git-backed source",title:"One agent repository travels with you",body:"The profile repo stores agents, actions, prompts, evals, settings, and non-secret config as source.",detail:"Because it is Git-backed, local app, CLI, checks, and hosted runtime can inspect the same durable agent repository.",visual:"profile-source",accent:l},{id:"profile-portable-artifacts",eyebrow:"Portability",title:"Artifacts make agents portable",body:"The SDK emits a manifest, action registry, inspect output, validation report, and eval results from that repo.",detail:"Those contracts let the same agent run locally, publish hosted, or appear in connected apps without rebuilding it by hand.",visual:"source-tree",accent:l}]},{id:"local-hosted",label:"Local <> Hosted",description:"How hosted work keeps sources separate and publishes reviewed snapshots.",slides:[{id:"local-hosted-mounts",eyebrow:"Sandbox",title:"Hosted work keeps sources separate",body:"A hosted work item can mount profile source for the agent and target source for the project being changed.",detail:"The profile mount is `/openpond/profile`. The target project mount is `/workspace` when a target repo is needed.",visual:"dual-source",accent:l},{id:"local-hosted-publish",eyebrow:"Publish",title:"Published snapshots avoid source drift",body:"A checked manifest snapshot becomes the runtime source for hosted profile actions.",detail:"The hosted catalog should point at a reviewed snapshot, not an ambiguous latest file tree.",visual:"publish-snapshot",accent:l}]},{id:"connect-apps",label:"Connect 3rd party apps",description:"How connected apps bind into the same profile catalog.",slides:[{id:"connect-apps-grid",eyebrow:"Apps",title:"Apps connect to the profile catalog",visual:"apps-grid",accent:l},{id:"connect-channels",eyebrow:"Channels",title:"Web, Slack, Teams, and MCP use the same router",visual:"channel-router",accent:l}]}];function ce(t){const[s,i]=c.useState("goal"),[n,h]=c.useState(0),p=c.useMemo(()=>f.find(o=>o.id===s)??f[0],[s]);function m(o){i(o),h(b=>b+1)}return e.jsx("section",{className:"get-started-view","aria-label":"Get started",children:e.jsxs("div",{className:"get-started-shell",children:[e.jsx("div",{className:"surface-tabs get-started-tabs",role:"tablist","aria-label":"Get started topics",children:f.map(o=>e.jsx("button",{"aria-selected":p.id===o.id,className:p.id===o.id?"active":"",onClick:()=>m(o.id),role:"tab",type:"button",children:e.jsx("span",{children:o.label})},o.id))}),e.jsx(ne,{deck:p,resetToken:n},p.id)]})})}export{ce as GetStartedView};