pulumi-package-docs 0.1.0

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 (65) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -0
  3. package/bin/cli.js +80 -0
  4. package/dist/client/assets/MemberDetail-CX9jiyic.js +1 -0
  5. package/dist/client/assets/index-CZRUHwIq.js +13 -0
  6. package/dist/client/assets/providers._name-DpU324kz.js +1 -0
  7. package/dist/client/assets/providers._name.functions._token-DXrP4mSE.js +1 -0
  8. package/dist/client/assets/providers._name.functions._token-bvc3vrG2.js +1 -0
  9. package/dist/client/assets/providers._name.index-CtKE1x7S.js +1 -0
  10. package/dist/client/assets/providers._name.index-tTXQzRr7.js +1 -0
  11. package/dist/client/assets/providers._name.resources._token--BZM8RBv.js +1 -0
  12. package/dist/client/assets/providers._name.resources._token-CbZkRkaE.js +1 -0
  13. package/dist/client/assets/routes-GAgiQcBX.js +1 -0
  14. package/dist/client/assets/styles-CWDprFhI.css +1 -0
  15. package/dist/client/assets/token-oQmZfAP3.js +1 -0
  16. package/dist/client/assets/useSelector-BIt42tGI.js +1 -0
  17. package/dist/server/assets/MemberDetail-BiBAI1vw.js +96 -0
  18. package/dist/server/assets/_tanstack-start-manifest_v-Cl1i6HDY.js +62 -0
  19. package/dist/server/assets/api-BV6lykkP.js +20 -0
  20. package/dist/server/assets/api-C55bS4R6.js +64 -0
  21. package/dist/server/assets/empty-plugin-adapters-D9UWiqvJ.js +5 -0
  22. package/dist/server/assets/providers._name-DF6sA3DG.js +6 -0
  23. package/dist/server/assets/providers._name.functions._token-C0A7Y90t.js +21 -0
  24. package/dist/server/assets/providers._name.functions._token-D8LsoIum.js +13 -0
  25. package/dist/server/assets/providers._name.index-BEwt-7U0.js +13 -0
  26. package/dist/server/assets/providers._name.index-BK_ZRd5l.js +97 -0
  27. package/dist/server/assets/providers._name.resources._token-CbvRkms4.js +22 -0
  28. package/dist/server/assets/providers._name.resources._token-DJPF8nMg.js +13 -0
  29. package/dist/server/assets/router-DZSocx9m.js +562 -0
  30. package/dist/server/assets/routes-B-G_iLTo.js +82 -0
  31. package/dist/server/assets/schema.server-B-VvU1qb.js +122 -0
  32. package/dist/server/assets/start-5Z2QO8AU.js +4 -0
  33. package/dist/server/server.js +2003 -0
  34. package/package.json +67 -0
  35. package/src/components/CodeExample.tsx +14 -0
  36. package/src/components/MemberDetail.tsx +89 -0
  37. package/src/components/PropertyTable.tsx +49 -0
  38. package/src/components/PulumiLogo.tsx +86 -0
  39. package/src/lib/pulumi/api.ts +77 -0
  40. package/src/lib/pulumi/description.test.ts +54 -0
  41. package/src/lib/pulumi/description.ts +35 -0
  42. package/src/lib/pulumi/discovery.server.test.ts +117 -0
  43. package/src/lib/pulumi/discovery.server.ts +77 -0
  44. package/src/lib/pulumi/examples.test.ts +97 -0
  45. package/src/lib/pulumi/examples.ts +55 -0
  46. package/src/lib/pulumi/format.test.ts +51 -0
  47. package/src/lib/pulumi/format.ts +11 -0
  48. package/src/lib/pulumi/mcp.server.ts +343 -0
  49. package/src/lib/pulumi/naming.test.ts +27 -0
  50. package/src/lib/pulumi/naming.ts +31 -0
  51. package/src/lib/pulumi/schema.server.ts +78 -0
  52. package/src/lib/pulumi/token.test.ts +21 -0
  53. package/src/lib/pulumi/token.ts +10 -0
  54. package/src/lib/pulumi/types.ts +62 -0
  55. package/src/routeTree.gen.ts +187 -0
  56. package/src/router.tsx +19 -0
  57. package/src/routes/__root.tsx +59 -0
  58. package/src/routes/index.tsx +78 -0
  59. package/src/routes/mcp.ts +30 -0
  60. package/src/routes/providers.$name.functions.$token.tsx +47 -0
  61. package/src/routes/providers.$name.index.tsx +129 -0
  62. package/src/routes/providers.$name.resources.$token.tsx +48 -0
  63. package/src/routes/providers.$name.tsx +5 -0
  64. package/src/styles.css +478 -0
  65. package/tsconfig.json +29 -0
@@ -0,0 +1 @@
1
+ import{o as e}from"./useSelector-BIt42tGI.js";import{a as t}from"./index-CZRUHwIq.js";var n=e(),r=()=>(0,n.jsx)(t,{});export{r as component};
@@ -0,0 +1 @@
1
+ import{o as e}from"./useSelector-BIt42tGI.js";import{o as t}from"./index-CZRUHwIq.js";var n=e(),r=()=>(0,n.jsx)(`main`,{children:(0,n.jsxs)(`p`,{children:[`No function with that name was found.`,` `,(0,n.jsx)(t,{to:`/`,children:`Back to all providers.`})]})});export{r as notFoundComponent};
@@ -0,0 +1 @@
1
+ import{o as e}from"./useSelector-BIt42tGI.js";import{n as t}from"./index-CZRUHwIq.js";import{t as n}from"./MemberDetail-CX9jiyic.js";import{t as r}from"./token-oQmZfAP3.js";var i=e();function a(){let{providerName:e,token:a,fn:o,runtime:s}=t.useLoaderData();return(0,i.jsx)(n,{providerName:e,kind:`Function`,displayName:r(a),token:a,description:o.description,runtime:s,inputProperties:o.inputs?.properties,requiredInputs:o.inputs?.required,outputProperties:o.outputs?.properties,requiredOutputs:o.outputs?.required})}export{a as component};
@@ -0,0 +1 @@
1
+ import{o as e}from"./useSelector-BIt42tGI.js";import{o as t}from"./index-CZRUHwIq.js";var n=e(),r=()=>(0,n.jsx)(`main`,{children:(0,n.jsxs)(`p`,{children:[`No local provider with that name was found.`,` `,(0,n.jsx)(t,{to:`/`,children:`Back to all providers.`})]})});export{r as notFoundComponent};
@@ -0,0 +1 @@
1
+ import{o as e}from"./useSelector-BIt42tGI.js";import{o as t,r as n}from"./index-CZRUHwIq.js";import{a as r,o as i,t as a}from"./token-oQmZfAP3.js";var o=e();function s({token:e,member:n,runtime:s,to:c,providerName:l}){let u=r(i(n.description,s)),d=`deprecationMessage`in n&&n.deprecationMessage;return(0,o.jsxs)(`li`,{className:`doc-list-item`,children:[(0,o.jsx)(t,{to:c,params:{name:l,token:e},children:(0,o.jsx)(`code`,{children:a(e)})}),d&&(0,o.jsx)(`span`,{className:`badge badge-warning`,children:`Deprecated`}),u&&(0,o.jsx)(`p`,{className:`doc-summary`,children:u})]})}function c(){let{ref:e,schema:r,origin:a,error:c,runtime:l}=n.useLoaderData(),u=Object.entries(r?.resources??{}),d=Object.entries(r?.functions??{});return(0,o.jsxs)(`main`,{className:`provider-detail`,children:[(0,o.jsx)(t,{to:`/`,className:`back-link`,children:`← All providers`}),(0,o.jsx)(`h1`,{children:e.name}),(0,o.jsxs)(`p`,{className:`subtitle`,children:[e.source,e.version?` @ ${e.version}`:``,e.parameters?.length?` (${e.parameters.join(` `)})`:``]}),a===`error`||!r?(0,o.jsxs)(`p`,{className:`banner banner-failure`,children:[`Failed to load schema: `,c??`unknown error`]}):(0,o.jsxs)(o.Fragment,{children:[a===`cache`&&(0,o.jsxs)(`p`,{className:`banner banner-info`,children:[`Showing a cached schema (the `,(0,o.jsx)(`code`,{children:`pulumi`}),` CLI call failed on this load).`]}),r.description&&(0,o.jsx)(`p`,{children:i(r.description,l)}),(0,o.jsx)(`h2`,{children:`Resources`}),u.length===0?(0,o.jsx)(`p`,{className:`empty-state`,children:`No resources.`}):(0,o.jsx)(`ul`,{className:`doc-list`,children:u.map(([t,n])=>(0,o.jsx)(s,{token:t,member:n,runtime:l,to:`/providers/$name/resources/$token`,providerName:e.name},t))}),(0,o.jsx)(`h2`,{children:`Functions`}),d.length===0?(0,o.jsx)(`p`,{className:`empty-state`,children:`No functions.`}):(0,o.jsx)(`ul`,{className:`doc-list`,children:d.map(([t,n])=>(0,o.jsx)(s,{token:t,member:n,runtime:l,to:`/providers/$name/functions/$token`,providerName:e.name},t))})]})]})}export{c as component};
@@ -0,0 +1 @@
1
+ import{o as e}from"./useSelector-BIt42tGI.js";import{t}from"./index-CZRUHwIq.js";import{t as n}from"./MemberDetail-CX9jiyic.js";import{t as r}from"./token-oQmZfAP3.js";var i=e();function a(){let{providerName:e,token:a,resource:o,runtime:s}=t.useLoaderData();return(0,i.jsx)(n,{providerName:e,kind:`Resource`,displayName:r(a),token:a,description:o.description,deprecationMessage:o.deprecationMessage,runtime:s,inputProperties:o.inputProperties,requiredInputs:o.requiredInputs,outputProperties:o.properties,requiredOutputs:o.required})}export{a as component};
@@ -0,0 +1 @@
1
+ import{o as e}from"./useSelector-BIt42tGI.js";import{o as t}from"./index-CZRUHwIq.js";var n=e(),r=()=>(0,n.jsx)(`main`,{children:(0,n.jsxs)(`p`,{children:[`No resource with that name was found.`,` `,(0,n.jsx)(t,{to:`/`,children:`Back to all providers.`})]})});export{r as notFoundComponent};
@@ -0,0 +1 @@
1
+ import{o as e}from"./useSelector-BIt42tGI.js";import{i as t,o as n}from"./index-CZRUHwIq.js";var r=e();function i(){let{targetDir:e,project:i,providers:a}=t.useLoaderData();return i?(0,r.jsxs)(`main`,{children:[(0,r.jsx)(`h1`,{children:`Local Provider Docs`}),(0,r.jsxs)(`p`,{className:`subtitle`,children:[i.name??`Pulumi project`,` · `,(0,r.jsx)(`code`,{children:i.root})]}),a.length===0?(0,r.jsxs)(`p`,{className:`empty-state`,children:[`This project's `,(0,r.jsx)(`code`,{children:`Pulumi.yaml`}),` has no `,(0,r.jsx)(`code`,{children:`packages`}),` `,`section, so there are no local or parameterized providers to show docs for yet. Add one with `,(0,r.jsx)(`code`,{children:`pulumi package add`}),`.`]}):(0,r.jsx)(`ul`,{className:`provider-list`,children:a.map(e=>(0,r.jsxs)(`li`,{className:`provider-card`,children:[(0,r.jsxs)(n,{to:`/providers/$name`,params:{name:e.name},children:[(0,r.jsx)(`span`,{className:`provider-name`,children:e.name}),(0,r.jsxs)(`span`,{className:`provider-source`,children:[e.source,e.version?` @ ${e.version}`:``,e.parameters?.length?` (${e.parameters.join(` `)})`:``]})]}),e.origin===`error`?(0,r.jsxs)(`p`,{className:`banner banner-failure`,children:[`Failed to load schema: `,e.error]}):(0,r.jsxs)(`p`,{className:`provider-stats`,children:[e.resourceCount,` resource`,e.resourceCount===1?``:`s`,` · `,e.functionCount,` function`,e.functionCount===1?``:`s`,e.origin===`cache`&&(0,r.jsxs)(r.Fragment,{children:[` · `,(0,r.jsx)(`span`,{className:`badge badge-info`,children:`from cache`})]})]})]},e.name))})]}):(0,r.jsxs)(`main`,{children:[(0,r.jsx)(`h1`,{children:`Local Provider Docs`}),(0,r.jsxs)(`p`,{className:`empty-state`,children:[`No Pulumi project was found at `,(0,r.jsx)(`code`,{children:e}),` (or any parent directory). Run this from inside a Pulumi project directory, or with`,` `,(0,r.jsx)(`code`,{children:`--dir <path>`}),` pointing at one.`]})]})}export{i as component};
@@ -0,0 +1 @@
1
+ :root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:Inter, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"Monaspace Neon", Menlo, Consolas, ui-monospace, monospace;--color-bg:#fff;--color-fg:#2e2932;--color-fg-muted:#56535a;--color-fg-subtle:#6a6675;--color-border:#e0dfe2;--color-border-strong:#cbcace;--color-primary:#5a30c5;--color-primary-strong:#492e8e;--color-accent:#9077f3;--color-accent-bg:#f5f5ff;--color-accent-border:#dedbff;--color-code-bg:#f5f5ff8c;--color-code-border:#dedbff;--badge-resource-bg:#ebebff;--badge-resource-fg:#5a30c5;--badge-resource-border:#dedbff;--badge-function-bg:#ccfff5;--badge-function-fg:#00756c;--badge-function-border:#5cffde;--badge-warning-bg:#fef2c7;--badge-warning-fg:#933d0d;--badge-warning-border:#fde38a;--badge-failure-bg:#ffe0e1;--badge-failure-fg:#96171e;--badge-failure-border:#ffc7ca;--badge-info-bg:#e5f1ff;--badge-info-fg:#1e47c2;--badge-info-border:#cce4ff;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#1f1b21;--color-fg:#fafafa;--color-fg-muted:#e0dfe2;--color-fg-subtle:#cbcace;--color-border:#46434c;--color-border-strong:#56535a;--color-primary:#dedbff;--color-primary-strong:#f5f5ff;--color-accent:#9077f3;--color-accent-bg:#231f33;--color-accent-border:#492e8e;--color-code-bg:#231f338c;--color-code-border:#492e8e;--badge-resource-bg:#392960;--badge-resource-fg:#c3bdff;--badge-resource-border:#492e8e;--badge-function-bg:#114642;--badge-function-fg:#1efad9;--badge-function-border:#075f59;--badge-warning-bg:#723213;--badge-warning-fg:#fde38a;--badge-warning-border:#933d0d;--badge-failure-bg:#611f22;--badge-failure-fg:#ffc7ca;--badge-failure-border:#96171e;--badge-info-bg:#28448a;--badge-info-fg:#cce4ff;--badge-info-border:#1e47c2}}*{box-sizing:border-box}html{background:var(--color-bg)}body{font-family:var(--font-sans);font-feature-settings:"liga" 1, "calt" 1, "cv11" 1;color:var(--color-fg);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.3}h1,h2,h3{letter-spacing:-.02em;color:var(--color-fg);font-weight:600;line-height:1.1}h1{margin:0 0 .4rem;font-size:1.9rem}h2{text-transform:uppercase;letter-spacing:.05em;color:var(--color-fg-subtle);border-left:3px solid var(--color-accent);margin:2.5rem 0 1rem;padding-left:.65rem;font-size:.8rem;font-weight:600}p{line-height:1.6}a{color:var(--color-primary)}code{font-family:var(--font-mono);background:var(--color-accent-bg);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);padding:.1rem .4rem;font-size:.9em;font-weight:500}main{width:min(56rem,100% - 2rem);margin:2.5rem auto 6rem}.site-header{z-index:10;background:color-mix(in srgb, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);align-items:center;padding:.85rem 1rem;display:flex;position:sticky;top:0}.site-brand{color:var(--color-fg);align-items:center;gap:.7rem;width:min(56rem,100% - 2rem);margin:0 auto;text-decoration:none;display:flex}.pulumi-logo{align-items:center;display:inline-flex}.pulumi-logo-mark{width:auto;display:none}@media (prefers-color-scheme:light){.pulumi-logo-light{display:block}}@media (prefers-color-scheme:dark){.pulumi-logo-dark{display:block}}.site-brand-divider{background:var(--color-border-strong);width:1px;height:1.1rem}.site-brand-name{letter-spacing:-.01em;font-size:.95rem;font-weight:600}.subtitle{color:var(--color-fg-muted);margin-top:-.35rem;font-size:.95rem}.back-link{color:var(--color-fg-muted);align-items:center;gap:.35rem;margin-bottom:1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-primary)}.empty-state{color:var(--color-fg-muted)}.badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.7rem;font-weight:500;display:inline-flex}.badge-resource{background:var(--badge-resource-bg);color:var(--badge-resource-fg);border-color:var(--badge-resource-border)}.badge-function{background:var(--badge-function-bg);color:var(--badge-function-fg);border-color:var(--badge-function-border)}.badge-warning{background:var(--badge-warning-bg);color:var(--badge-warning-fg);border-color:var(--badge-warning-border)}.badge-failure{background:var(--badge-failure-bg);color:var(--badge-failure-fg);border-color:var(--badge-failure-border)}.badge-info{background:var(--badge-info-bg);color:var(--badge-info-fg);border-color:var(--badge-info-border)}.banner{border-radius:var(--radius-md);border:1px solid #0000;margin:.75rem 0 1.25rem;padding:.7rem .9rem;font-size:.9rem}.banner-failure{background:var(--badge-failure-bg);color:var(--badge-failure-fg);border-color:var(--badge-failure-border)}.banner-warning{background:var(--badge-warning-bg);color:var(--badge-warning-fg);border-color:var(--badge-warning-border)}.banner-info{background:var(--badge-info-bg);color:var(--badge-info-fg);border-color:var(--badge-info-border)}.provider-list{gap:.75rem;padding:0;list-style:none;display:grid}.provider-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);padding:1.1rem 1.25rem;transition:border-color .15s,background-color .15s,transform .15s}.provider-card:hover{border-color:var(--color-accent-border);background:var(--color-accent-bg)}.provider-card a{color:inherit;justify-content:space-between;align-items:baseline;gap:1rem;text-decoration:none;display:flex}.provider-name{letter-spacing:-.01em;font-size:1.1rem;font-weight:600}.provider-source{color:var(--color-fg-subtle);font-size:.85rem;font-family:var(--font-mono)}.provider-stats{color:var(--color-fg-muted);margin:.6rem 0 0;font-size:.85rem}.doc-list{gap:.6rem;margin-bottom:2rem;padding:0;list-style:none;display:grid}.doc-list-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem;transition:border-color .15s,background-color .15s}.doc-list-item:hover{border-color:var(--color-accent-border);background:var(--color-accent-bg)}.doc-list-item a{color:var(--color-fg);font-weight:500;text-decoration:none}.doc-list-item a:hover{color:var(--color-primary)}.doc-list-item .badge{margin-top:.4rem}.doc-summary{color:var(--color-fg-muted);margin:.35rem 0 0;font-size:.9rem}.code-example{margin-bottom:1.5rem}.code-example-lang{font-family:var(--font-mono);color:var(--color-fg-subtle);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.7rem;display:inline-block}.code-example pre{background:var(--color-code-bg);border:1px solid var(--color-code-border);border-radius:var(--radius-md);margin:0;padding:1rem 1.1rem;overflow-x:auto}.code-example code{background:0 0;border:none;border-radius:0;padding:0;font-size:.85rem;line-height:1.6}.props-table{border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;margin-bottom:1rem;font-size:.875rem;overflow:hidden}.props-table th,.props-table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:.55rem .75rem}.props-table tr:last-child td{border-bottom:none}.props-table th{color:var(--color-fg-subtle);text-transform:uppercase;letter-spacing:.04em;background:var(--color-accent-bg);font-size:.75rem;font-weight:600}.props-table code{font-size:.85em}
@@ -0,0 +1 @@
1
+ var e=/<span\s+((?:pulumi-lang-[a-z]+="[^"]*"\s*)+)>([\s\S]*?)<\/span>/g,t=/pulumi-lang-([a-z]+)="([^"]*)"/g;function n(n,r){return n.replace(e,(e,n,i)=>{if(!r)return i;t.lastIndex=0;let a;for(;a=t.exec(n);)if(a[1]===r)return a[2];return i})}function r(e,t){return e&&n(e,t)}var i=/```([a-zA-Z0-9+#-]+)\n([\s\S]*?)```/g;function a(e){return e?[...e.matchAll(i)].map(e=>({language:e[1].toLowerCase(),code:e[2].trimEnd()})):[]}function o(e){return e&&(e.replace(i,``).trim()||void 0)}function s(e){let t=o(e);if(t)return t.split(/\n{2,}/)[0]?.trim()||void 0}var c={nodejs:[`typescript`,`javascript`],python:[`python`],go:[`go`,`golang`],dotnet:[`csharp`],java:[`java`],yaml:[`yaml`]};function l(e,t){let n=t?c[t]:void 0;return(n?e.find(e=>n.includes(e.language)):void 0)??e[0]}function u(e){let t=e.split(`:`).pop();return t&&t.length>0?t:e}export{s as a,o as i,a as n,r as o,l as r,u as t};
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.for(`react.view_transition`),m=Symbol.iterator;function h(e){return typeof e!=`object`||!e?null:(e=m&&e[m]||e[`@@iterator`],typeof e==`function`?e:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,v={};function y(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function b(){}b.prototype=y.prototype;function x(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}var S=x.prototype=new b;S.constructor=x,_(S,y.prototype),S.isPureReactComponent=!0;var C=Array.isArray;function w(){}var T={H:null,A:null,T:null,S:null},E=Object.prototype.hasOwnProperty;function D(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function O(e,t){return D(e.type,t,e.props)}function k(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function A(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var j=/\/+/g;function M(e,t){return typeof e==`object`&&e&&e.key!=null?A(``+e.key):t.toString(36)}function N(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(w,w):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function P(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,P(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+M(e,0):a,C(o)?(i=``,c!=null&&(i=c.replace(j,`$&/`)+`/`),P(o,r,i,``,function(e){return e})):o!=null&&(k(o)&&(o=O(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(j,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(C(e))for(var u=0;u<e.length;u++)a=e[u],s=l+M(a,u),c+=P(a,r,i,s,o);else if(u=h(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+M(a,u++),c+=P(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return P(N(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function F(e,t,n){if(e==null)return e;var r=[],i=0;return P(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function I(e){if(e._status===-1){var t=e._result,n=t();n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t,n.status===void 0&&(n.status=`fulfilled`,n.value=t))},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t,n.status===void 0&&(n.status=`rejected`,n.reason=t))}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var L=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)};function R(e){var t=T.T,n={};n.types=t===null?null:t.types,T.T=n;try{var r=e(),i=T.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(w,L)}catch(e){L(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),T.T=t}}function z(e){var t=T.T;if(t!==null){var n=t.types;n===null?t.types=[e]:n.indexOf(e)===-1&&n.push(e)}else R(z.bind(null,e))}var B={map:F,forEach:function(e,t,n){F(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return F(e,function(){t++}),t},toArray:function(e){return F(e,function(e){return e})||[]},only:function(e){if(!k(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=B,e.Component=y,e.Fragment=r,e.Profiler=a,e.PureComponent=x,e.StrictMode=i,e.Suspense=l,e.ViewTransition=p,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return T.H.useMemoCache(e)}},e.addTransitionType=z,e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=_({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!E.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return D(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)E.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return D(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=k,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:I}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=R,e.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},e.use=function(e){return T.H.use(e)},e.useActionState=function(e,t,n){return T.H.useActionState(e,t,n)},e.useCallback=function(e,t){return T.H.useCallback(e,t)},e.useContext=function(e){return T.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return T.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return T.H.useEffect(e,t)},e.useEffectEvent=function(e){return T.H.useEffectEvent(e)},e.useId=function(){return T.H.useId()},e.useImperativeHandle=function(e,t,n){return T.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return T.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return T.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return T.H.useMemo(e,t)},e.useOptimistic=function(e,t){return T.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return T.H.useReducer(e,t,n)},e.useRef=function(e){return T.H.useRef(e)},e.useState=function(e){return T.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return T.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return T.H.useTransition()},e.version=`19.3.0`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),f=o(((e,t)=>{t.exports=d()})),p=c(u(),1),m=f(),h=()=>!0,g=()=>!1;function _({children:e,fallback:t=null}){return(0,m.jsx)(p.Fragment,{children:v()?e:t})}function v(){return p.useSyncExternalStore(y,h,g)}function y(){return()=>{}}var b=p.createContext(null);function x(e){return p.useContext(b)}var S=o((e=>{var t=u();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),C=o(((e,t)=>{t.exports=S()})),w=o((e=>{var t=u(),n=C();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,o=t.useRef,s=t.useEffect,c=t.useMemo,l=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,u){var d=o(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=c(function(){function e(e){if(!a){if(a=!0,o=e,e=r(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return s=t}return s=e}if(t=s,i(o,e))return t;var n=r(e);return u!==void 0&&u(t,n)?(o=e,t):(o=e,s=n)}var a=!1,o,s,c=n===void 0?null:n;return[function(){return e(t())},c===null?void 0:function(){return e(c())}]},[t,n,r,u]);var p=a(e,d[0],d[1]);return s(function(){f.hasValue=!0,f.value=p},[p]),l(p),p}})),T=o(((e,t)=>{t.exports=w()}))();function E(e,t){return e===t}function D(e,t=e=>e,n){let r=n?.compare??E,i=(0,p.useCallback)(t=>{let{unsubscribe:n}=e.subscribe(t);return n},[e]),a=(0,p.useCallback)(()=>e.get(),[e]);return(0,T.useSyncExternalStoreWithSelector)(i,a,a,t,r)}export{v as a,o as c,_ as i,c as l,x as n,f as o,b as r,u as s,D as t};
@@ -0,0 +1,96 @@
1
+ import { c as extractExamples, f as resolveDescription, l as pickExample, o as formatPropertyName, s as formatType, u as stripExamples } from "./router-DZSocx9m.js";
2
+ import { Link } from "@tanstack/react-router";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/components/CodeExample.tsx
5
+ function CodeExample({ example }) {
6
+ if (!example) return /* @__PURE__ */ jsx("p", {
7
+ className: "empty-state",
8
+ children: "No examples in the schema."
9
+ });
10
+ return /* @__PURE__ */ jsxs("div", {
11
+ className: "code-example",
12
+ children: [/* @__PURE__ */ jsx("span", {
13
+ className: "code-example-lang",
14
+ children: example.language
15
+ }), /* @__PURE__ */ jsx("pre", { children: /* @__PURE__ */ jsx("code", { children: example.code }) })]
16
+ });
17
+ }
18
+ //#endregion
19
+ //#region src/components/PropertyTable.tsx
20
+ function PropertyTable({ properties, required, runtime }) {
21
+ const names = Object.keys(properties ?? {});
22
+ if (names.length === 0) return /* @__PURE__ */ jsx("p", {
23
+ className: "empty-state",
24
+ children: "None"
25
+ });
26
+ const requiredSet = new Set(required ?? []);
27
+ return /* @__PURE__ */ jsxs("table", {
28
+ className: "props-table",
29
+ children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
30
+ /* @__PURE__ */ jsx("th", { children: "Name" }),
31
+ /* @__PURE__ */ jsx("th", { children: "Type" }),
32
+ /* @__PURE__ */ jsx("th", { children: "Required" }),
33
+ /* @__PURE__ */ jsx("th", { children: "Description" })
34
+ ] }) }), /* @__PURE__ */ jsx("tbody", { children: names.map((name) => {
35
+ const prop = properties[name];
36
+ return /* @__PURE__ */ jsxs("tr", { children: [
37
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("code", { children: formatPropertyName(name, runtime) }) }),
38
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx("code", { children: formatType(prop) }) }),
39
+ /* @__PURE__ */ jsx("td", { children: requiredSet.has(name) ? "yes" : "no" }),
40
+ /* @__PURE__ */ jsx("td", { children: resolveDescription(prop.description, runtime) ?? "" })
41
+ ] }, name);
42
+ }) })]
43
+ });
44
+ }
45
+ //#endregion
46
+ //#region src/components/MemberDetail.tsx
47
+ function MemberDetail({ providerName, kind, displayName, token, description, deprecationMessage, runtime, inputProperties, requiredInputs, outputProperties, requiredOutputs }) {
48
+ const resolved = resolveDescription(description, runtime);
49
+ const prose = stripExamples(resolved);
50
+ const example = pickExample(extractExamples(resolved), runtime);
51
+ return /* @__PURE__ */ jsxs("main", {
52
+ className: "provider-detail",
53
+ children: [
54
+ /* @__PURE__ */ jsxs(Link, {
55
+ to: "/providers/$name",
56
+ params: { name: providerName },
57
+ className: "back-link",
58
+ children: ["← Back to ", providerName]
59
+ }),
60
+ /* @__PURE__ */ jsx("h1", { children: displayName }),
61
+ /* @__PURE__ */ jsxs("p", {
62
+ className: "subtitle",
63
+ children: [
64
+ /* @__PURE__ */ jsx("span", {
65
+ className: `badge ${kind === "Resource" ? "badge-resource" : "badge-function"}`,
66
+ children: kind
67
+ }),
68
+ " ",
69
+ "· ",
70
+ /* @__PURE__ */ jsx("code", { children: token })
71
+ ]
72
+ }),
73
+ deprecationMessage && /* @__PURE__ */ jsxs("p", {
74
+ className: "banner banner-warning",
75
+ children: ["Deprecated: ", deprecationMessage]
76
+ }),
77
+ prose?.split(/\n{2,}/).map((paragraph, i) => /* @__PURE__ */ jsx("p", { children: paragraph }, i)),
78
+ /* @__PURE__ */ jsx("h2", { children: "Example" }),
79
+ /* @__PURE__ */ jsx(CodeExample, { example }),
80
+ /* @__PURE__ */ jsx("h2", { children: "Inputs" }),
81
+ /* @__PURE__ */ jsx(PropertyTable, {
82
+ properties: inputProperties,
83
+ required: requiredInputs,
84
+ runtime
85
+ }),
86
+ /* @__PURE__ */ jsx("h2", { children: "Outputs" }),
87
+ /* @__PURE__ */ jsx(PropertyTable, {
88
+ properties: outputProperties,
89
+ required: requiredOutputs,
90
+ runtime
91
+ })
92
+ ]
93
+ });
94
+ }
95
+ //#endregion
96
+ export { MemberDetail as t };
@@ -0,0 +1,62 @@
1
+ //#region \0tanstack-start-manifest:v
2
+ var tsrStartManifest = () => ({ routes: {
3
+ __root__: {
4
+ filePath: "/Users/pierskarsenbarg/go/src/github.com/pierskarsenbarg/provider-docs/src/routes/__root.tsx",
5
+ children: [
6
+ "/",
7
+ "/mcp",
8
+ "/providers/$name"
9
+ ],
10
+ preloads: ["/assets/index-CZRUHwIq.js", "/assets/useSelector-BIt42tGI.js"],
11
+ scripts: [{ attrs: {
12
+ type: "module",
13
+ async: !0,
14
+ src: "/assets/index-CZRUHwIq.js"
15
+ } }]
16
+ },
17
+ "/": {
18
+ filePath: "/Users/pierskarsenbarg/go/src/github.com/pierskarsenbarg/provider-docs/src/routes/index.tsx",
19
+ children: void 0,
20
+ preloads: ["/assets/routes-GAgiQcBX.js"]
21
+ },
22
+ "/providers/$name": {
23
+ filePath: "/Users/pierskarsenbarg/go/src/github.com/pierskarsenbarg/provider-docs/src/routes/providers.$name.tsx",
24
+ children: [
25
+ "/providers/$name/",
26
+ "/providers/$name/functions/$token",
27
+ "/providers/$name/resources/$token"
28
+ ],
29
+ preloads: ["/assets/providers._name-DpU324kz.js"]
30
+ },
31
+ "/providers/$name/": {
32
+ filePath: "/Users/pierskarsenbarg/go/src/github.com/pierskarsenbarg/provider-docs/src/routes/providers.$name.index.tsx",
33
+ children: void 0,
34
+ preloads: [
35
+ "/assets/providers._name.index-CtKE1x7S.js",
36
+ "/assets/providers._name.index-tTXQzRr7.js",
37
+ "/assets/token-oQmZfAP3.js"
38
+ ]
39
+ },
40
+ "/providers/$name/functions/$token": {
41
+ filePath: "/Users/pierskarsenbarg/go/src/github.com/pierskarsenbarg/provider-docs/src/routes/providers.$name.functions.$token.tsx",
42
+ children: void 0,
43
+ preloads: [
44
+ "/assets/providers._name.functions._token-DXrP4mSE.js",
45
+ "/assets/providers._name.functions._token-bvc3vrG2.js",
46
+ "/assets/MemberDetail-CX9jiyic.js",
47
+ "/assets/token-oQmZfAP3.js"
48
+ ]
49
+ },
50
+ "/providers/$name/resources/$token": {
51
+ filePath: "/Users/pierskarsenbarg/go/src/github.com/pierskarsenbarg/provider-docs/src/routes/providers.$name.resources.$token.tsx",
52
+ children: void 0,
53
+ preloads: [
54
+ "/assets/providers._name.resources._token--BZM8RBv.js",
55
+ "/assets/MemberDetail-CX9jiyic.js",
56
+ "/assets/token-oQmZfAP3.js",
57
+ "/assets/providers._name.resources._token-CbZkRkaE.js"
58
+ ]
59
+ }
60
+ } });
61
+ //#endregion
62
+ export { tsrStartManifest };
@@ -0,0 +1,20 @@
1
+ import { n as TSS_SERVER_FUNCTION, r as getServerFnById, t as createServerFn } from "../server.js";
2
+ //#region node_modules/@tanstack/start-server-core/dist/esm/createSsrRpc.js
3
+ var createSsrRpc = (functionId) => {
4
+ const url = "/_serverFn/" + functionId;
5
+ const serverFnMeta = { id: functionId };
6
+ const fn = async (...args) => {
7
+ return (await getServerFnById(functionId, { origin: "server" }))(...args);
8
+ };
9
+ return Object.assign(fn, {
10
+ url,
11
+ serverFnMeta,
12
+ [TSS_SERVER_FUNCTION]: true
13
+ });
14
+ };
15
+ //#endregion
16
+ //#region src/lib/pulumi/api.ts
17
+ var listProviders = createServerFn({ method: "GET" }).handler(createSsrRpc("a3ba03544bae9a67523c84875835e6e9b6dfa1b22a99b2c4c57d7ae25dbf7350"));
18
+ var getProvider = createServerFn({ method: "GET" }).validator((name) => name).handler(createSsrRpc("20c32dac0b2237041a59da458130ed4f320ce92dddd59a28b88581987c58d61d"));
19
+ //#endregion
20
+ export { listProviders as n, getProvider as t };
@@ -0,0 +1,64 @@
1
+ import { n as TSS_SERVER_FUNCTION, t as createServerFn } from "../server.js";
2
+ import { n as getTargetDir, r as loadPulumiProject, t as resolveProviderSchema } from "./schema.server-B-VvU1qb.js";
3
+ //#region node_modules/@tanstack/start-server-core/dist/esm/createServerRpc.js
4
+ var createServerRpc = (serverFnMeta, splitImportFn) => {
5
+ const url = "/_serverFn/" + serverFnMeta.id;
6
+ return Object.assign(splitImportFn, {
7
+ url,
8
+ serverFnMeta,
9
+ [TSS_SERVER_FUNCTION]: true
10
+ });
11
+ };
12
+ //#endregion
13
+ //#region src/lib/pulumi/api.ts?tss-serverfn-split
14
+ var listProviders_createServerFn_handler = createServerRpc({
15
+ id: "a3ba03544bae9a67523c84875835e6e9b6dfa1b22a99b2c4c57d7ae25dbf7350",
16
+ name: "listProviders",
17
+ filename: "src/lib/pulumi/api.ts"
18
+ }, (opts) => listProviders.__executeServer(opts));
19
+ var listProviders = createServerFn({ method: "GET" }).handler(listProviders_createServerFn_handler, async () => {
20
+ const targetDir = getTargetDir();
21
+ const project = loadPulumiProject(targetDir);
22
+ if (!project) return {
23
+ targetDir,
24
+ project: null,
25
+ providers: []
26
+ };
27
+ const providers = (await Promise.all(project.packages.map((ref) => resolveProviderSchema(project.root, ref)))).map((entry) => ({
28
+ name: entry.ref.name,
29
+ source: entry.ref.source,
30
+ version: entry.ref.version,
31
+ parameters: entry.ref.parameters,
32
+ resourceCount: Object.keys(entry.schema?.resources ?? {}).length,
33
+ functionCount: Object.keys(entry.schema?.functions ?? {}).length,
34
+ origin: entry.origin,
35
+ error: entry.error
36
+ }));
37
+ return {
38
+ targetDir,
39
+ project: {
40
+ root: project.root,
41
+ name: project.name,
42
+ runtime: project.runtime
43
+ },
44
+ providers
45
+ };
46
+ });
47
+ var getProvider_createServerFn_handler = createServerRpc({
48
+ id: "20c32dac0b2237041a59da458130ed4f320ce92dddd59a28b88581987c58d61d",
49
+ name: "getProvider",
50
+ filename: "src/lib/pulumi/api.ts"
51
+ }, (opts) => getProvider.__executeServer(opts));
52
+ var getProvider = createServerFn({ method: "GET" }).validator((name) => name).handler(getProvider_createServerFn_handler, async ({ data: name }) => {
53
+ const targetDir = getTargetDir();
54
+ const project = loadPulumiProject(targetDir);
55
+ if (!project) return null;
56
+ const ref = project.packages.find((p) => p.name === name);
57
+ if (!ref) return null;
58
+ return {
59
+ ...await resolveProviderSchema(project.root, ref),
60
+ runtime: project.runtime
61
+ };
62
+ });
63
+ //#endregion
64
+ export { getProvider_createServerFn_handler, listProviders_createServerFn_handler };
@@ -0,0 +1,5 @@
1
+ //#region node_modules/@tanstack/start-server-core/dist/esm/empty-plugin-adapters.js
2
+ var pluginSerializationAdapters = [];
3
+ var hasPluginAdapters = false;
4
+ //#endregion
5
+ export { hasPluginAdapters, pluginSerializationAdapters };
@@ -0,0 +1,6 @@
1
+ import { Outlet } from "@tanstack/react-router";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/routes/providers.$name.tsx?tsr-split=component
4
+ var SplitComponent = () => /* @__PURE__ */ jsx(Outlet, {});
5
+ //#endregion
6
+ export { SplitComponent as component };
@@ -0,0 +1,21 @@
1
+ import { a as tokenDisplayName, r as Route } from "./router-DZSocx9m.js";
2
+ import { t as MemberDetail } from "./MemberDetail-BiBAI1vw.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/routes/providers.$name.functions.$token.tsx?tsr-split=component
5
+ function FunctionDetail() {
6
+ const { providerName, token, fn, runtime } = Route.useLoaderData();
7
+ return /* @__PURE__ */ jsx(MemberDetail, {
8
+ providerName,
9
+ kind: "Function",
10
+ displayName: tokenDisplayName(token),
11
+ token,
12
+ description: fn.description,
13
+ runtime,
14
+ inputProperties: fn.inputs?.properties,
15
+ requiredInputs: fn.inputs?.required,
16
+ outputProperties: fn.outputs?.properties,
17
+ requiredOutputs: fn.outputs?.required
18
+ });
19
+ }
20
+ //#endregion
21
+ export { FunctionDetail as component };
@@ -0,0 +1,13 @@
1
+ import { Link } from "@tanstack/react-router";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/routes/providers.$name.functions.$token.tsx?tsr-split=notFoundComponent
4
+ var SplitNotFoundComponent = () => /* @__PURE__ */ jsx("main", { children: /* @__PURE__ */ jsxs("p", { children: [
5
+ "No function with that name was found.",
6
+ " ",
7
+ /* @__PURE__ */ jsx(Link, {
8
+ to: "/",
9
+ children: "Back to all providers."
10
+ })
11
+ ] }) });
12
+ //#endregion
13
+ export { SplitNotFoundComponent as notFoundComponent };
@@ -0,0 +1,13 @@
1
+ import { Link } from "@tanstack/react-router";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/routes/providers.$name.index.tsx?tsr-split=notFoundComponent
4
+ var SplitNotFoundComponent = () => /* @__PURE__ */ jsx("main", { children: /* @__PURE__ */ jsxs("p", { children: [
5
+ "No local provider with that name was found.",
6
+ " ",
7
+ /* @__PURE__ */ jsx(Link, {
8
+ to: "/",
9
+ children: "Back to all providers."
10
+ })
11
+ ] }) });
12
+ //#endregion
13
+ export { SplitNotFoundComponent as notFoundComponent };
@@ -0,0 +1,97 @@
1
+ import { a as tokenDisplayName, d as summarizeDescription, f as resolveDescription, i as Route } from "./router-DZSocx9m.js";
2
+ import { Link } from "@tanstack/react-router";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ //#region src/routes/providers.$name.index.tsx?tsr-split=component
5
+ function MemberListItem({ token, member, runtime, to, providerName }) {
6
+ const summary = summarizeDescription(resolveDescription(member.description, runtime));
7
+ const deprecated = "deprecationMessage" in member && member.deprecationMessage;
8
+ return /* @__PURE__ */ jsxs("li", {
9
+ className: "doc-list-item",
10
+ children: [
11
+ /* @__PURE__ */ jsx(Link, {
12
+ to,
13
+ params: {
14
+ name: providerName,
15
+ token
16
+ },
17
+ children: /* @__PURE__ */ jsx("code", { children: tokenDisplayName(token) })
18
+ }),
19
+ deprecated && /* @__PURE__ */ jsx("span", {
20
+ className: "badge badge-warning",
21
+ children: "Deprecated"
22
+ }),
23
+ summary && /* @__PURE__ */ jsx("p", {
24
+ className: "doc-summary",
25
+ children: summary
26
+ })
27
+ ]
28
+ });
29
+ }
30
+ function ProviderDetail() {
31
+ const { ref, schema, origin, error, runtime } = Route.useLoaderData();
32
+ const resources = Object.entries(schema?.resources ?? {});
33
+ const functions = Object.entries(schema?.functions ?? {});
34
+ return /* @__PURE__ */ jsxs("main", {
35
+ className: "provider-detail",
36
+ children: [
37
+ /* @__PURE__ */ jsx(Link, {
38
+ to: "/",
39
+ className: "back-link",
40
+ children: "← All providers"
41
+ }),
42
+ /* @__PURE__ */ jsx("h1", { children: ref.name }),
43
+ /* @__PURE__ */ jsxs("p", {
44
+ className: "subtitle",
45
+ children: [
46
+ ref.source,
47
+ ref.version ? ` @ ${ref.version}` : "",
48
+ ref.parameters?.length ? ` (${ref.parameters.join(" ")})` : ""
49
+ ]
50
+ }),
51
+ origin === "error" || !schema ? /* @__PURE__ */ jsxs("p", {
52
+ className: "banner banner-failure",
53
+ children: ["Failed to load schema: ", error ?? "unknown error"]
54
+ }) : /* @__PURE__ */ jsxs(Fragment, { children: [
55
+ origin === "cache" && /* @__PURE__ */ jsxs("p", {
56
+ className: "banner banner-info",
57
+ children: [
58
+ "Showing a cached schema (the ",
59
+ /* @__PURE__ */ jsx("code", { children: "pulumi" }),
60
+ " CLI call failed on this load)."
61
+ ]
62
+ }),
63
+ schema.description && /* @__PURE__ */ jsx("p", { children: resolveDescription(schema.description, runtime) }),
64
+ /* @__PURE__ */ jsx("h2", { children: "Resources" }),
65
+ resources.length === 0 ? /* @__PURE__ */ jsx("p", {
66
+ className: "empty-state",
67
+ children: "No resources."
68
+ }) : /* @__PURE__ */ jsx("ul", {
69
+ className: "doc-list",
70
+ children: resources.map(([token, resource]) => /* @__PURE__ */ jsx(MemberListItem, {
71
+ token,
72
+ member: resource,
73
+ runtime,
74
+ to: "/providers/$name/resources/$token",
75
+ providerName: ref.name
76
+ }, token))
77
+ }),
78
+ /* @__PURE__ */ jsx("h2", { children: "Functions" }),
79
+ functions.length === 0 ? /* @__PURE__ */ jsx("p", {
80
+ className: "empty-state",
81
+ children: "No functions."
82
+ }) : /* @__PURE__ */ jsx("ul", {
83
+ className: "doc-list",
84
+ children: functions.map(([token, fn]) => /* @__PURE__ */ jsx(MemberListItem, {
85
+ token,
86
+ member: fn,
87
+ runtime,
88
+ to: "/providers/$name/functions/$token",
89
+ providerName: ref.name
90
+ }, token))
91
+ })
92
+ ] })
93
+ ]
94
+ });
95
+ }
96
+ //#endregion
97
+ export { ProviderDetail as component };
@@ -0,0 +1,22 @@
1
+ import { a as tokenDisplayName, n as Route } from "./router-DZSocx9m.js";
2
+ import { t as MemberDetail } from "./MemberDetail-BiBAI1vw.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/routes/providers.$name.resources.$token.tsx?tsr-split=component
5
+ function ResourceDetail() {
6
+ const { providerName, token, resource, runtime } = Route.useLoaderData();
7
+ return /* @__PURE__ */ jsx(MemberDetail, {
8
+ providerName,
9
+ kind: "Resource",
10
+ displayName: tokenDisplayName(token),
11
+ token,
12
+ description: resource.description,
13
+ deprecationMessage: resource.deprecationMessage,
14
+ runtime,
15
+ inputProperties: resource.inputProperties,
16
+ requiredInputs: resource.requiredInputs,
17
+ outputProperties: resource.properties,
18
+ requiredOutputs: resource.required
19
+ });
20
+ }
21
+ //#endregion
22
+ export { ResourceDetail as component };
@@ -0,0 +1,13 @@
1
+ import { Link } from "@tanstack/react-router";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/routes/providers.$name.resources.$token.tsx?tsr-split=notFoundComponent
4
+ var SplitNotFoundComponent = () => /* @__PURE__ */ jsx("main", { children: /* @__PURE__ */ jsxs("p", { children: [
5
+ "No resource with that name was found.",
6
+ " ",
7
+ /* @__PURE__ */ jsx(Link, {
8
+ to: "/",
9
+ children: "Back to all providers."
10
+ })
11
+ ] }) });
12
+ //#endregion
13
+ export { SplitNotFoundComponent as notFoundComponent };