[{"data":1,"prerenderedAt":433},["ShallowReactive",2],{"navigation":3,"\u002Freference\u002Fsdk":194,"\u002Freference\u002Fsdk-surround":428},[4,18,31,64,81,102,111,132,149],{"title":5,"path":6,"stem":7,"children":8,"page":17},"Getting started","\u002Fgetting-started","1.getting-started",[9,13],{"title":10,"path":11,"stem":12},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":14,"path":15,"stem":16},"Run your first workflow","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart",false,{"title":19,"path":20,"stem":21,"children":22,"page":17},"Core concepts","\u002Fconcepts","2.concepts",[23,27],{"title":24,"path":25,"stem":26},"The platform model","\u002Fconcepts\u002Fplatform","2.concepts\u002F1.platform",{"title":28,"path":29,"stem":30},"Architecture and boundaries","\u002Fconcepts\u002Farchitecture","2.concepts\u002F2.architecture",{"title":32,"path":33,"stem":34,"children":35,"page":17},"Installation","\u002Finstallation","3.installation",[36,40,44,48,52,56,60],{"title":37,"path":38,"stem":39},"Overview and requirements","\u002Finstallation\u002Foverview","3.installation\u002F1.overview",{"title":41,"path":42,"stem":43},"Local evaluation","\u002Finstallation\u002Flocal-evaluation","3.installation\u002F2.local-evaluation",{"title":45,"path":46,"stem":47},"Install the server","\u002Finstallation\u002Fserver","3.installation\u002F3.server",{"title":49,"path":50,"stem":51},"Install a runner","\u002Finstallation\u002Frunner","3.installation\u002F4.runner",{"title":53,"path":54,"stem":55},"Verify the installation","\u002Finstallation\u002Fverification","3.installation\u002F5.verification",{"title":57,"path":58,"stem":59},"Upgrade the platform","\u002Finstallation\u002Fupgrades","3.installation\u002F6.upgrades",{"title":61,"path":62,"stem":63},"Guided installer","\u002Finstallation\u002Finstaller","3.installation\u002F7.installer",{"title":65,"path":66,"stem":67,"children":68,"page":17},"Build workflows","\u002Fworkflows","4.workflows",[69,73,77],{"title":70,"path":71,"stem":72},"Build a Definition","\u002Fworkflows\u002Fdefinitions","4.workflows\u002F0.definitions",{"title":74,"path":75,"stem":76},"Deploy and run workflows","\u002Fworkflows\u002Fruns","4.workflows\u002F1.runs",{"title":78,"path":79,"stem":80},"Inputs, context, and secrets","\u002Fworkflows\u002Finputs-and-secrets","4.workflows\u002F2.inputs-and-secrets",{"title":82,"path":83,"stem":84,"children":85,"page":17},"Run and recover","\u002Foperations","5.operations",[86,90,94,98],{"title":87,"path":88,"stem":89},"Monitor Runs","\u002Foperations\u002Fmonitoring","5.operations\u002F1.monitoring",{"title":91,"path":92,"stem":93},"Approve prepared steps","\u002Foperations\u002Fapprovals","5.operations\u002F2.approvals",{"title":95,"path":96,"stem":97},"Recover or cancel execution","\u002Foperations\u002Frecovery","5.operations\u002F3.recovery",{"title":99,"path":100,"stem":101},"Troubleshooting","\u002Foperations\u002Ftroubleshooting","5.operations\u002F4.troubleshooting",{"title":103,"path":104,"stem":105,"children":106,"page":17},"Action catalog","\u002Fcatalog","6.catalog",[107],{"title":108,"path":109,"stem":110},"Find and use Actions","\u002Fcatalog\u002Foverview","6.catalog\u002F1.overview",{"title":112,"path":113,"stem":114,"children":115,"page":17},"Administration","\u002Fadministration","7.administration",[116,120,124,128],{"title":117,"path":118,"stem":119},"Registries and Environments","\u002Fadministration\u002Fenvironments","7.administration\u002F2.environments",{"title":121,"path":122,"stem":123},"Manage runners","\u002Fadministration\u002Frunners","7.administration\u002F3.runners",{"title":125,"path":126,"stem":127},"Access and approval policies","\u002Fadministration\u002Faccess","7.administration\u002F4.access",{"title":129,"path":130,"stem":131},"Backups and upgrades","\u002Fadministration\u002Fmaintenance","7.administration\u002F5.maintenance",{"title":133,"path":134,"stem":135,"children":136,"page":17},"Develop Actions","\u002Factions","8.actions",[137,141,145],{"title":138,"path":139,"stem":140},"Build your first Action","\u002Factions\u002Fquickstart","8.actions\u002F1.quickstart",{"title":142,"path":143,"stem":144},"Local development","\u002Factions\u002Flocal-development","8.actions\u002F2.local-development",{"title":146,"path":147,"stem":148},"Publish an Action","\u002Factions\u002Fpublishing","8.actions\u002F3.publishing",{"title":150,"path":151,"stem":152,"children":153,"page":17},"Reference","\u002Freference","9.reference",[154,158,162,166,170,174,178,182,186,190],{"title":155,"path":156,"stem":157},"Operator CLI","\u002Freference\u002Foperator-cli","9.reference\u002F1.operator-cli",{"title":159,"path":160,"stem":161},"Installer CLI","\u002Freference\u002Finstaller-cli","9.reference\u002F10.installer-cli",{"title":163,"path":164,"stem":165},"Definition syntax","\u002Freference\u002Fdefinition","9.reference\u002F2.definition",{"title":167,"path":168,"stem":169},"CLI configuration","\u002Freference\u002Fconfiguration","9.reference\u002F3.configuration",{"title":171,"path":172,"stem":173},"API integration","\u002Freference\u002Fapi","9.reference\u002F4.api",{"title":175,"path":176,"stem":177},"Action CLI","\u002Freference\u002Faction-cli","9.reference\u002F5.action-cli",{"title":179,"path":180,"stem":181},"Action SDK","\u002Freference\u002Fsdk","9.reference\u002F6.sdk",{"title":183,"path":184,"stem":185},"Contracts and compatibility","\u002Freference\u002Fcontracts","9.reference\u002F7.contracts",{"title":187,"path":188,"stem":189},"Server configuration","\u002Freference\u002Fserver-configuration","9.reference\u002F8.server-configuration",{"title":191,"path":192,"stem":193},"Runner configuration","\u002Freference\u002Frunner-configuration","9.reference\u002F9.runner-configuration",{"id":195,"title":179,"body":196,"description":422,"extension":423,"meta":424,"navigation":425,"path":180,"seo":426,"stem":181,"__hash__":427},"docs\u002F9.reference\u002F6.sdk.md",{"type":197,"value":198,"toc":416},"minimark",[199,208,260,265,287,290,293,306,375,396,399,403,409,412],[200,201,202,203,207],"p",{},"Import the authoring API from ",[204,205,206],"code",{},"pyplines.actions",":",[209,210,216],"pre",{"className":211,"code":212,"filename":213,"language":214,"meta":215,"style":215},"language-python shiki shiki-themes pyplines-light pyplines-light pyplines-dark","from pyplines.actions import ActionError, Context, Inputs, Outputs\n","Python","python","",[204,217,218],{"__ignoreMap":215},[219,220,223,227,231,235,238,241,244,247,250,252,255,257],"span",{"class":221,"line":222},"line",1,[219,224,226],{"class":225},"sYpJS","from",[219,228,230],{"class":229},"smnRP"," pyplines",[219,232,234],{"class":233},"sgMYo",".",[219,236,237],{"class":229},"actions ",[219,239,240],{"class":225},"import",[219,242,243],{"class":229}," ActionError",[219,245,246],{"class":233},",",[219,248,249],{"class":229}," Context",[219,251,246],{"class":233},[219,253,254],{"class":229}," Inputs",[219,256,246],{"class":233},[219,258,259],{"class":229}," Outputs\n",[261,262,264],"h2",{"id":263},"handler-contract","Handler contract",[200,266,267,268,271,272,275,276,279,280,283,284,234],{},"Handlers are synchronous functions accepting a typed ",[204,269,270],{},"Inputs"," instance and ",[204,273,274],{},"Context",", returning the declared ",[204,277,278],{},"Outputs"," type. Declare the handler under ",[204,281,282],{},"[project.entry-points.\"pyplines.action\"]"," in ",[204,285,286],{},"pyproject.toml",[200,288,289],{},"Output instances are revalidated, including constructed or mutated nested models. Serialization aliases and computed fields are supported. Captured output schemas use Pydantic serialization mode. Serializers run after validation.",[261,291,274],{"id":292},"context",[200,294,295,297,298,301,302,305],{},[204,296,274],{}," exposes ",[204,299,300],{},"invocation_id",", temporary ",[204,303,304],{},"scratch_dir",", and structured logging:",[209,307,309],{"className":211,"code":308,"filename":213,"language":214,"meta":215,"style":215},"context.log(\"Service restarted\", level=\"info\", service=\"payments\", elapsed_ms=420)\n",[204,310,311],{"__ignoreMap":215},[219,312,313,315,317,320,323,326,330,332,334,337,340,342,345,347,349,352,354,356,359,361,363,366,368,372],{"class":221,"line":222},[219,314,292],{"class":229},[219,316,234],{"class":233},[219,318,319],{"class":229},"log",[219,321,322],{"class":233},"(",[219,324,325],{"class":233},"\"",[219,327,329],{"class":328},"sfDcV","Service restarted",[219,331,325],{"class":233},[219,333,246],{"class":233},[219,335,336],{"class":229}," level",[219,338,339],{"class":225},"=",[219,341,325],{"class":233},[219,343,344],{"class":328},"info",[219,346,325],{"class":233},[219,348,246],{"class":233},[219,350,351],{"class":229}," service",[219,353,339],{"class":225},[219,355,325],{"class":233},[219,357,358],{"class":328},"payments",[219,360,325],{"class":233},[219,362,246],{"class":233},[219,364,365],{"class":229}," elapsed_ms",[219,367,339],{"class":225},[219,369,371],{"class":370},"sFGQw","420",[219,373,374],{"class":233},")\n",[200,376,377,378,381,382,381,384,387,388,391,392,395],{},"Levels are ",[204,379,380],{},"debug",", ",[204,383,344],{},[204,385,386],{},"warning",", and ",[204,389,390],{},"error",". Custom attributes are JSON-compatible values under ",[204,393,394],{},"fields",". Messages are limited to 4,096 characters, encoded fields to 8 KiB, and complete records to 16 KiB. Numeric values must be finite.",[200,397,398],{},"Never log secrets. There is no automatic secret redaction.",[261,400,402],{"id":401},"compatibility","Compatibility",[200,404,405,406,234],{},"Stable releases within a calendar year retain backwards-compatible authoring APIs; prereleases do not carry that guarantee. Execution compatibility is governed by ",[204,407,408],{},"pyplines.action.v1",[200,410,411],{},"Rebuild Action images after upgrading the SDK. Previously published images retain their embedded SDK and captured contracts.",[413,414,415],"style",{},"html pre.shiki code .sYpJS, html code.shiki .sYpJS{--shiki-light:#806000;--shiki-default:#806000;--shiki-dark:#F2CD66}html pre.shiki code .smnRP, html code.shiki .smnRP{--shiki-light:#243247;--shiki-default:#243247;--shiki-dark:#DCE6F0}html pre.shiki code .sgMYo, html code.shiki .sgMYo{--shiki-light:#54657A;--shiki-default:#54657A;--shiki-dark:#A9B8CA}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sfDcV, html code.shiki .sfDcV{--shiki-light:#34694B;--shiki-default:#34694B;--shiki-dark:#9BC9AD}html pre.shiki code .sFGQw, html code.shiki .sFGQw{--shiki-light:#765093;--shiki-default:#765093;--shiki-dark:#CFB1E8}",{"title":215,"searchDepth":417,"depth":417,"links":418},2,[419,420,421],{"id":263,"depth":417,"text":264},{"id":292,"depth":417,"text":274},{"id":401,"depth":417,"text":402},"Typed inputs, outputs, context, and structured logs.","md",{},true,{"title":179,"description":422},"PMw7IUFnHqf2Lce5Ueb9URLfjpAAdB2vWjSMBYdE0R4",[429,431],{"title":175,"path":176,"stem":177,"description":430,"children":-1},"Commands for authoring and publishing typed Actions.",{"title":183,"path":184,"stem":185,"description":432,"children":-1},"Discover, pin, and validate against the machine-readable Pyplines interfaces.",1792213697977]