@tickernelz/paperclip-pro-shared 2026.925.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.
- package/dist/.paperclip-build-complete +1 -0
- package/dist/account-handle.d.ts +26 -0
- package/dist/account-handle.d.ts.map +1 -0
- package/dist/account-handle.js +48 -0
- package/dist/account-handle.js.map +1 -0
- package/dist/account-handle.test.d.ts +2 -0
- package/dist/account-handle.test.d.ts.map +1 -0
- package/dist/account-handle.test.js +62 -0
- package/dist/account-handle.test.js.map +1 -0
- package/dist/adapter-agnostic-keys.test.d.ts +2 -0
- package/dist/adapter-agnostic-keys.test.d.ts.map +1 -0
- package/dist/adapter-agnostic-keys.test.js +33 -0
- package/dist/adapter-agnostic-keys.test.js.map +1 -0
- package/dist/adapter-auth-check-code.d.ts +13 -0
- package/dist/adapter-auth-check-code.d.ts.map +1 -0
- package/dist/adapter-auth-check-code.js +13 -0
- package/dist/adapter-auth-check-code.js.map +1 -0
- package/dist/adapter-auth-check-code.test.d.ts +2 -0
- package/dist/adapter-auth-check-code.test.d.ts.map +1 -0
- package/dist/adapter-auth-check-code.test.js +8 -0
- package/dist/adapter-auth-check-code.test.js.map +1 -0
- package/dist/adapter-auth-session.d.ts +16 -0
- package/dist/adapter-auth-session.d.ts.map +1 -0
- package/dist/adapter-auth-session.js +37 -0
- package/dist/adapter-auth-session.js.map +1 -0
- package/dist/adapter-type.d.ts +4 -0
- package/dist/adapter-type.d.ts.map +1 -0
- package/dist/adapter-type.js +14 -0
- package/dist/adapter-type.js.map +1 -0
- package/dist/adapter-types.test.d.ts +2 -0
- package/dist/adapter-types.test.d.ts.map +1 -0
- package/dist/adapter-types.test.js +46 -0
- package/dist/adapter-types.test.js.map +1 -0
- package/dist/agent-appearance.d.ts +53 -0
- package/dist/agent-appearance.d.ts.map +1 -0
- package/dist/agent-appearance.js +51 -0
- package/dist/agent-appearance.js.map +1 -0
- package/dist/agent-appearance.test.d.ts +2 -0
- package/dist/agent-appearance.test.d.ts.map +1 -0
- package/dist/agent-appearance.test.js +32 -0
- package/dist/agent-appearance.test.js.map +1 -0
- package/dist/agent-eligibility.d.ts +67 -0
- package/dist/agent-eligibility.d.ts.map +1 -0
- package/dist/agent-eligibility.js +171 -0
- package/dist/agent-eligibility.js.map +1 -0
- package/dist/agent-eligibility.test.d.ts +2 -0
- package/dist/agent-eligibility.test.d.ts.map +1 -0
- package/dist/agent-eligibility.test.js +187 -0
- package/dist/agent-eligibility.test.js.map +1 -0
- package/dist/agent-url-key.d.ts +4 -0
- package/dist/agent-url-key.d.ts.map +1 -0
- package/dist/agent-url-key.js +22 -0
- package/dist/agent-url-key.js.map +1 -0
- package/dist/ai-connections.d.ts +220 -0
- package/dist/ai-connections.d.ts.map +1 -0
- package/dist/ai-connections.js +152 -0
- package/dist/ai-connections.js.map +1 -0
- package/dist/announcements.d.ts +146 -0
- package/dist/announcements.d.ts.map +1 -0
- package/dist/announcements.js +72 -0
- package/dist/announcements.js.map +1 -0
- package/dist/announcements.test.d.ts +2 -0
- package/dist/announcements.test.d.ts.map +1 -0
- package/dist/announcements.test.js +53 -0
- package/dist/announcements.test.js.map +1 -0
- package/dist/api.d.ts +69 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +69 -0
- package/dist/api.js.map +1 -0
- package/dist/app-definitions/agentmail.json +49 -0
- package/dist/app-definitions/airtable.json +41 -0
- package/dist/app-definitions/anthropic.json +75 -0
- package/dist/app-definitions/api-key-generic.json +43 -0
- package/dist/app-definitions/arcade.json +36 -0
- package/dist/app-definitions/asana.json +42 -0
- package/dist/app-definitions/beehiiv.json +41 -0
- package/dist/app-definitions/bitly.json +78 -0
- package/dist/app-definitions/box.json +42 -0
- package/dist/app-definitions/brex.json +43 -0
- package/dist/app-definitions/candid.json +41 -0
- package/dist/app-definitions/clickhouse.json +59 -0
- package/dist/app-definitions/cloudflare.json +78 -0
- package/dist/app-definitions/cloudinary.json +42 -0
- package/dist/app-definitions/coda.json +80 -0
- package/dist/app-definitions/composio.json +39 -0
- package/dist/app-definitions/context7.json +33 -0
- package/dist/app-definitions/discord.json +66 -0
- package/dist/app-definitions/egnyte.json +41 -0
- package/dist/app-definitions/embat.json +41 -0
- package/dist/app-definitions/executor.json +36 -0
- package/dist/app-definitions/fireflies.json +82 -0
- package/dist/app-definitions/github.json +124 -0
- package/dist/app-definitions/gmail.json +182 -0
- package/dist/app-definitions/google-calendar.json +188 -0
- package/dist/app-definitions/google-chat.json +189 -0
- package/dist/app-definitions/google-docs.json +187 -0
- package/dist/app-definitions/google-drive.json +183 -0
- package/dist/app-definitions/google-people.json +110 -0
- package/dist/app-definitions/google-sheets.json +211 -0
- package/dist/app-definitions/google-slides.json +187 -0
- package/dist/app-definitions/google-workspace-search.json +113 -0
- package/dist/app-definitions/hugging-face.json +44 -0
- package/dist/app-definitions/imessage-photon.json +50 -0
- package/dist/app-definitions/jira.json +65 -0
- package/dist/app-definitions/kernel.json +78 -0
- package/dist/app-definitions/linear.json +62 -0
- package/dist/app-definitions/local-falcon.json +41 -0
- package/dist/app-definitions/make.json +42 -0
- package/dist/app-definitions/manufact.json +42 -0
- package/dist/app-definitions/mem0.json +56 -0
- package/dist/app-definitions/microsoft-teams.json +67 -0
- package/dist/app-definitions/miro.json +41 -0
- package/dist/app-definitions/mixpanel.json +43 -0
- package/dist/app-definitions/netlify.json +42 -0
- package/dist/app-definitions/notion.json +57 -0
- package/dist/app-definitions/oauth-generic.json +47 -0
- package/dist/app-definitions/openai.json +74 -0
- package/dist/app-definitions/openrouter.json +53 -0
- package/dist/app-definitions/oreilly.json +78 -0
- package/dist/app-definitions/pagerduty.json +93 -0
- package/dist/app-definitions/planetscale.json +91 -0
- package/dist/app-definitions/posthog.json +278 -0
- package/dist/app-definitions/postman.json +224 -0
- package/dist/app-definitions/railway.json +61 -0
- package/dist/app-definitions/razorpay.json +81 -0
- package/dist/app-definitions/resend.json +42 -0
- package/dist/app-definitions/sanity.json +79 -0
- package/dist/app-definitions/sentry.json +42 -0
- package/dist/app-definitions/shopify.json +117 -0
- package/dist/app-definitions/similarweb.json +57 -0
- package/dist/app-definitions/slack.json +86 -0
- package/dist/app-definitions/stripe.json +80 -0
- package/dist/app-definitions/supabase.json +164 -0
- package/dist/app-definitions/telegram.json +53 -0
- package/dist/app-definitions/ticket-tailor.json +42 -0
- package/dist/app-definitions/ticktick.json +41 -0
- package/dist/app-definitions/todoist.json +41 -0
- package/dist/app-definitions/vercel.json +43 -0
- package/dist/app-definitions/webflow.json +41 -0
- package/dist/app-definitions/wix.json +42 -0
- package/dist/app-definitions/xai.json +74 -0
- package/dist/app-definitions/xero.json +53 -0
- package/dist/app-definitions/youcom.json +100 -0
- package/dist/app-definitions/zapier.json +32 -0
- package/dist/app-definitions-url.test.d.ts +2 -0
- package/dist/app-definitions-url.test.d.ts.map +1 -0
- package/dist/app-definitions-url.test.js +43 -0
- package/dist/app-definitions-url.test.js.map +1 -0
- package/dist/app-definitions.d.ts +41 -0
- package/dist/app-definitions.d.ts.map +1 -0
- package/dist/app-definitions.generated.d.ts +3 -0
- package/dist/app-definitions.generated.d.ts.map +1 -0
- package/dist/app-definitions.generated.js +77 -0
- package/dist/app-definitions.generated.js.map +1 -0
- package/dist/app-definitions.js +212 -0
- package/dist/app-definitions.js.map +1 -0
- package/dist/app-definitions.test.d.ts +2 -0
- package/dist/app-definitions.test.d.ts.map +1 -0
- package/dist/app-definitions.test.js +774 -0
- package/dist/app-definitions.test.js.map +1 -0
- package/dist/cliplab/LICENSE +22 -0
- package/dist/cliplab/PROVENANCE.md +18 -0
- package/dist/cliplab/character.d.ts +4 -0
- package/dist/cliplab/character.d.ts.map +1 -0
- package/dist/cliplab/character.js +2324 -0
- package/dist/cliplab/character.js.map +1 -0
- package/dist/cliplab/definition.d.ts +13 -0
- package/dist/cliplab/definition.d.ts.map +1 -0
- package/dist/cliplab/definition.js +28 -0
- package/dist/cliplab/definition.js.map +1 -0
- package/dist/cliplab/face-morph.d.ts +26 -0
- package/dist/cliplab/face-morph.d.ts.map +1 -0
- package/dist/cliplab/face-morph.js +301 -0
- package/dist/cliplab/face-morph.js.map +1 -0
- package/dist/cliplab/gaze.d.ts +42 -0
- package/dist/cliplab/gaze.d.ts.map +1 -0
- package/dist/cliplab/gaze.js +57 -0
- package/dist/cliplab/gaze.js.map +1 -0
- package/dist/cliplab/model.d.ts +176 -0
- package/dist/cliplab/model.d.ts.map +1 -0
- package/dist/cliplab/model.js +337 -0
- package/dist/cliplab/model.js.map +1 -0
- package/dist/cliplab/palette-tokens.d.ts +75 -0
- package/dist/cliplab/palette-tokens.d.ts.map +1 -0
- package/dist/cliplab/palette-tokens.js +76 -0
- package/dist/cliplab/palette-tokens.js.map +1 -0
- package/dist/cliplab/particles.d.ts +15 -0
- package/dist/cliplab/particles.d.ts.map +1 -0
- package/dist/cliplab/particles.js +23 -0
- package/dist/cliplab/particles.js.map +1 -0
- package/dist/cliplab/renderer.d.ts +129 -0
- package/dist/cliplab/renderer.d.ts.map +1 -0
- package/dist/cliplab/renderer.js +762 -0
- package/dist/cliplab/renderer.js.map +1 -0
- package/dist/cliplab/runtime.d.ts +21 -0
- package/dist/cliplab/runtime.d.ts.map +1 -0
- package/dist/cliplab/runtime.js +140 -0
- package/dist/cliplab/runtime.js.map +1 -0
- package/dist/cliplab/static.d.ts +4 -0
- package/dist/cliplab/static.d.ts.map +1 -0
- package/dist/cliplab/static.js +16 -0
- package/dist/cliplab/static.js.map +1 -0
- package/dist/cliplab/svg-canvas.d.ts +56 -0
- package/dist/cliplab/svg-canvas.d.ts.map +1 -0
- package/dist/cliplab/svg-canvas.js +134 -0
- package/dist/cliplab/svg-canvas.js.map +1 -0
- package/dist/cliplab/svg-path.d.ts +24 -0
- package/dist/cliplab/svg-path.d.ts.map +1 -0
- package/dist/cliplab/svg-path.js +151 -0
- package/dist/cliplab/svg-path.js.map +1 -0
- package/dist/cliplab/svg-snapshot.d.ts +28 -0
- package/dist/cliplab/svg-snapshot.d.ts.map +1 -0
- package/dist/cliplab/svg-snapshot.js +168 -0
- package/dist/cliplab/svg-snapshot.js.map +1 -0
- package/dist/company-import-transfer.d.ts +80 -0
- package/dist/company-import-transfer.d.ts.map +1 -0
- package/dist/company-import-transfer.js +63 -0
- package/dist/company-import-transfer.js.map +1 -0
- package/dist/company-import-transfer.test.d.ts +2 -0
- package/dist/company-import-transfer.test.d.ts.map +1 -0
- package/dist/company-import-transfer.test.js +15 -0
- package/dist/company-import-transfer.test.js.map +1 -0
- package/dist/config-schema.d.ts +252 -0
- package/dist/config-schema.d.ts.map +1 -0
- package/dist/config-schema.js +268 -0
- package/dist/config-schema.js.map +1 -0
- package/dist/config-schema.test.d.ts +2 -0
- package/dist/config-schema.test.d.ts.map +1 -0
- package/dist/config-schema.test.js +126 -0
- package/dist/config-schema.test.js.map +1 -0
- package/dist/connection-intent-guidance.d.ts +12 -0
- package/dist/connection-intent-guidance.d.ts.map +1 -0
- package/dist/connection-intent-guidance.js +35 -0
- package/dist/connection-intent-guidance.js.map +1 -0
- package/dist/connection-intent-guidance.test.d.ts +2 -0
- package/dist/connection-intent-guidance.test.d.ts.map +1 -0
- package/dist/connection-intent-guidance.test.js +60 -0
- package/dist/connection-intent-guidance.test.js.map +1 -0
- package/dist/constants.d.ts +556 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +1363 -0
- package/dist/constants.js.map +1 -0
- package/dist/decision.test.d.ts +2 -0
- package/dist/decision.test.d.ts.map +1 -0
- package/dist/decision.test.js +142 -0
- package/dist/decision.test.js.map +1 -0
- package/dist/document-anchors.d.ts +37 -0
- package/dist/document-anchors.d.ts.map +1 -0
- package/dist/document-anchors.js +351 -0
- package/dist/document-anchors.js.map +1 -0
- package/dist/document-anchors.test.d.ts +2 -0
- package/dist/document-anchors.test.d.ts.map +1 -0
- package/dist/document-anchors.test.js +151 -0
- package/dist/document-anchors.test.js.map +1 -0
- package/dist/document-export.d.ts +4 -0
- package/dist/document-export.d.ts.map +1 -0
- package/dist/document-export.js +27 -0
- package/dist/document-export.js.map +1 -0
- package/dist/env-file.d.ts +16 -0
- package/dist/env-file.d.ts.map +1 -0
- package/dist/env-file.js +149 -0
- package/dist/env-file.js.map +1 -0
- package/dist/env-file.test.d.ts +2 -0
- package/dist/env-file.test.d.ts.map +1 -0
- package/dist/env-file.test.js +72 -0
- package/dist/env-file.test.js.map +1 -0
- package/dist/environment-custom-images.d.ts +17 -0
- package/dist/environment-custom-images.d.ts.map +1 -0
- package/dist/environment-custom-images.js +88 -0
- package/dist/environment-custom-images.js.map +1 -0
- package/dist/environment-custom-images.test.d.ts +2 -0
- package/dist/environment-custom-images.test.d.ts.map +1 -0
- package/dist/environment-custom-images.test.js +136 -0
- package/dist/environment-custom-images.test.js.map +1 -0
- package/dist/environment-support.d.ts +58 -0
- package/dist/environment-support.d.ts.map +1 -0
- package/dist/environment-support.js +128 -0
- package/dist/environment-support.js.map +1 -0
- package/dist/environment-support.test.d.ts +2 -0
- package/dist/environment-support.test.d.ts.map +1 -0
- package/dist/environment-support.test.js +77 -0
- package/dist/environment-support.test.js.map +1 -0
- package/dist/execution-workspace-guards.d.ts +6 -0
- package/dist/execution-workspace-guards.d.ts.map +1 -0
- package/dist/execution-workspace-guards.js +12 -0
- package/dist/execution-workspace-guards.js.map +1 -0
- package/dist/external-objects-server.d.ts +12 -0
- package/dist/external-objects-server.d.ts.map +1 -0
- package/dist/external-objects-server.js +176 -0
- package/dist/external-objects-server.js.map +1 -0
- package/dist/external-objects.d.ts +32 -0
- package/dist/external-objects.d.ts.map +1 -0
- package/dist/external-objects.js +17 -0
- package/dist/external-objects.js.map +1 -0
- package/dist/external-objects.test.d.ts +2 -0
- package/dist/external-objects.test.d.ts.map +1 -0
- package/dist/external-objects.test.js +93 -0
- package/dist/external-objects.test.js.map +1 -0
- package/dist/feature-catalog.d.ts +59 -0
- package/dist/feature-catalog.d.ts.map +1 -0
- package/dist/feature-catalog.js +301 -0
- package/dist/feature-catalog.js.map +1 -0
- package/dist/feature-catalog.test.d.ts +2 -0
- package/dist/feature-catalog.test.d.ts.map +1 -0
- package/dist/feature-catalog.test.js +89 -0
- package/dist/feature-catalog.test.js.map +1 -0
- package/dist/frontmatter-runner-contract.test.d.ts +2 -0
- package/dist/frontmatter-runner-contract.test.d.ts.map +1 -0
- package/dist/frontmatter-runner-contract.test.js +10 -0
- package/dist/frontmatter-runner-contract.test.js.map +1 -0
- package/dist/frontmatter.d.ts +68 -0
- package/dist/frontmatter.d.ts.map +1 -0
- package/dist/frontmatter.js +559 -0
- package/dist/frontmatter.js.map +1 -0
- package/dist/frontmatter.test.d.ts +2 -0
- package/dist/frontmatter.test.d.ts.map +1 -0
- package/dist/frontmatter.test.js +297 -0
- package/dist/frontmatter.test.js.map +1 -0
- package/dist/github-connectors.d.ts +10 -0
- package/dist/github-connectors.d.ts.map +1 -0
- package/dist/github-connectors.js +15 -0
- package/dist/github-connectors.js.map +1 -0
- package/dist/gitignore-runtime.test.d.ts +2 -0
- package/dist/gitignore-runtime.test.d.ts.map +1 -0
- package/dist/gitignore-runtime.test.js +14 -0
- package/dist/gitignore-runtime.test.js.map +1 -0
- package/dist/google-workspace-connectors.d.ts +10 -0
- package/dist/google-workspace-connectors.d.ts.map +1 -0
- package/dist/google-workspace-connectors.js +31 -0
- package/dist/google-workspace-connectors.js.map +1 -0
- package/dist/home-paths.d.ts +41 -0
- package/dist/home-paths.d.ts.map +1 -0
- package/dist/home-paths.js +57 -0
- package/dist/home-paths.js.map +1 -0
- package/dist/home-paths.test.d.ts +2 -0
- package/dist/home-paths.test.d.ts.map +1 -0
- package/dist/home-paths.test.js +25 -0
- package/dist/home-paths.test.js.map +1 -0
- package/dist/humanize-connection.d.ts +36 -0
- package/dist/humanize-connection.d.ts.map +1 -0
- package/dist/humanize-connection.js +95 -0
- package/dist/humanize-connection.js.map +1 -0
- package/dist/humanize-connection.test.d.ts +2 -0
- package/dist/humanize-connection.test.d.ts.map +1 -0
- package/dist/humanize-connection.test.js +48 -0
- package/dist/humanize-connection.test.js.map +1 -0
- package/dist/index.d.ts +109 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +94 -0
- package/dist/index.js.map +1 -0
- package/dist/issue-attribution.d.ts +27 -0
- package/dist/issue-attribution.d.ts.map +1 -0
- package/dist/issue-attribution.js +25 -0
- package/dist/issue-attribution.js.map +1 -0
- package/dist/issue-attribution.test.d.ts +2 -0
- package/dist/issue-attribution.test.d.ts.map +1 -0
- package/dist/issue-attribution.test.js +72 -0
- package/dist/issue-attribution.test.js.map +1 -0
- package/dist/issue-references.d.ts +16 -0
- package/dist/issue-references.d.ts.map +1 -0
- package/dist/issue-references.js +160 -0
- package/dist/issue-references.js.map +1 -0
- package/dist/issue-references.test.d.ts +2 -0
- package/dist/issue-references.test.d.ts.map +1 -0
- package/dist/issue-references.test.js +56 -0
- package/dist/issue-references.test.js.map +1 -0
- package/dist/issue-thread-interactions.test.d.ts +2 -0
- package/dist/issue-thread-interactions.test.d.ts.map +1 -0
- package/dist/issue-thread-interactions.test.js +546 -0
- package/dist/issue-thread-interactions.test.js.map +1 -0
- package/dist/issue-write-denial.d.ts +92 -0
- package/dist/issue-write-denial.d.ts.map +1 -0
- package/dist/issue-write-denial.js +227 -0
- package/dist/issue-write-denial.js.map +1 -0
- package/dist/issue-write-denial.test.d.ts +2 -0
- package/dist/issue-write-denial.test.d.ts.map +1 -0
- package/dist/issue-write-denial.test.js +159 -0
- package/dist/issue-write-denial.test.js.map +1 -0
- package/dist/markdown-work-products.d.ts +26 -0
- package/dist/markdown-work-products.d.ts.map +1 -0
- package/dist/markdown-work-products.js +70 -0
- package/dist/markdown-work-products.js.map +1 -0
- package/dist/markdown-work-products.test.d.ts +2 -0
- package/dist/markdown-work-products.test.d.ts.map +1 -0
- package/dist/markdown-work-products.test.js +122 -0
- package/dist/markdown-work-products.test.js.map +1 -0
- package/dist/mcp-config-help-prompt.d.ts +21 -0
- package/dist/mcp-config-help-prompt.d.ts.map +1 -0
- package/dist/mcp-config-help-prompt.js +56 -0
- package/dist/mcp-config-help-prompt.js.map +1 -0
- package/dist/mcp-remote-headers.d.ts +49 -0
- package/dist/mcp-remote-headers.d.ts.map +1 -0
- package/dist/mcp-remote-headers.js +127 -0
- package/dist/mcp-remote-headers.js.map +1 -0
- package/dist/mcp-remote-headers.test.d.ts +2 -0
- package/dist/mcp-remote-headers.test.d.ts.map +1 -0
- package/dist/mcp-remote-headers.test.js +112 -0
- package/dist/mcp-remote-headers.test.js.map +1 -0
- package/dist/network-bind.d.ts +27 -0
- package/dist/network-bind.d.ts.map +1 -0
- package/dist/network-bind.js +75 -0
- package/dist/network-bind.js.map +1 -0
- package/dist/node-version.d.ts +6 -0
- package/dist/node-version.d.ts.map +1 -0
- package/dist/node-version.js +48 -0
- package/dist/node-version.js.map +1 -0
- package/dist/oauth-endpoint-url.d.ts +74 -0
- package/dist/oauth-endpoint-url.d.ts.map +1 -0
- package/dist/oauth-endpoint-url.js +142 -0
- package/dist/oauth-endpoint-url.js.map +1 -0
- package/dist/oauth-endpoint-url.test.d.ts +2 -0
- package/dist/oauth-endpoint-url.test.d.ts.map +1 -0
- package/dist/oauth-endpoint-url.test.js +163 -0
- package/dist/oauth-endpoint-url.test.js.map +1 -0
- package/dist/pipeline-case-type.d.ts +23 -0
- package/dist/pipeline-case-type.d.ts.map +1 -0
- package/dist/pipeline-case-type.js +26 -0
- package/dist/pipeline-case-type.js.map +1 -0
- package/dist/pipeline-health.d.ts +80 -0
- package/dist/pipeline-health.d.ts.map +1 -0
- package/dist/pipeline-health.js +249 -0
- package/dist/pipeline-health.js.map +1 -0
- package/dist/pipeline-health.test.d.ts +2 -0
- package/dist/pipeline-health.test.d.ts.map +1 -0
- package/dist/pipeline-health.test.js +140 -0
- package/dist/pipeline-health.test.js.map +1 -0
- package/dist/portability-fidelity.d.ts +19 -0
- package/dist/portability-fidelity.d.ts.map +1 -0
- package/dist/portability-fidelity.js +46 -0
- package/dist/portability-fidelity.js.map +1 -0
- package/dist/portability-fidelity.test.d.ts +2 -0
- package/dist/portability-fidelity.test.d.ts.map +1 -0
- package/dist/portability-fidelity.test.js +66 -0
- package/dist/portability-fidelity.test.js.map +1 -0
- package/dist/portability-hash.d.ts +5 -0
- package/dist/portability-hash.d.ts.map +1 -0
- package/dist/portability-hash.js +20 -0
- package/dist/portability-hash.js.map +1 -0
- package/dist/portability-zip.d.ts +15 -0
- package/dist/portability-zip.d.ts.map +1 -0
- package/dist/portability-zip.js +262 -0
- package/dist/portability-zip.js.map +1 -0
- package/dist/portability-zip.test.d.ts +2 -0
- package/dist/portability-zip.test.d.ts.map +1 -0
- package/dist/portability-zip.test.js +227 -0
- package/dist/portability-zip.test.js.map +1 -0
- package/dist/project-mentions.d.ts +47 -0
- package/dist/project-mentions.d.ts.map +1 -0
- package/dist/project-mentions.js +291 -0
- package/dist/project-mentions.js.map +1 -0
- package/dist/project-mentions.test.d.ts +2 -0
- package/dist/project-mentions.test.d.ts.map +1 -0
- package/dist/project-mentions.test.js +43 -0
- package/dist/project-mentions.test.js.map +1 -0
- package/dist/project-url-key.d.ts +5 -0
- package/dist/project-url-key.d.ts.map +1 -0
- package/dist/project-url-key.js +39 -0
- package/dist/project-url-key.js.map +1 -0
- package/dist/railway-connection.d.ts +20 -0
- package/dist/railway-connection.d.ts.map +1 -0
- package/dist/railway-connection.js +7 -0
- package/dist/railway-connection.js.map +1 -0
- package/dist/remote-mcp-connectors.d.ts +11 -0
- package/dist/remote-mcp-connectors.d.ts.map +1 -0
- package/dist/remote-mcp-connectors.js +14 -0
- package/dist/remote-mcp-connectors.js.map +1 -0
- package/dist/remote-mcp-connectors.test.d.ts +2 -0
- package/dist/remote-mcp-connectors.test.d.ts.map +1 -0
- package/dist/remote-mcp-connectors.test.js +39 -0
- package/dist/remote-mcp-connectors.test.js.map +1 -0
- package/dist/resource-memberships.test.d.ts +2 -0
- package/dist/resource-memberships.test.d.ts.map +1 -0
- package/dist/resource-memberships.test.js +23 -0
- package/dist/resource-memberships.test.js.map +1 -0
- package/dist/responsible-user-denial.d.ts +46 -0
- package/dist/responsible-user-denial.d.ts.map +1 -0
- package/dist/responsible-user-denial.js +66 -0
- package/dist/responsible-user-denial.js.map +1 -0
- package/dist/responsible-user-denial.test.d.ts +2 -0
- package/dist/responsible-user-denial.test.d.ts.map +1 -0
- package/dist/responsible-user-denial.test.js +65 -0
- package/dist/responsible-user-denial.test.js.map +1 -0
- package/dist/retired-composio.d.ts +7 -0
- package/dist/retired-composio.d.ts.map +1 -0
- package/dist/retired-composio.js +7 -0
- package/dist/retired-composio.js.map +1 -0
- package/dist/routine-variables.d.ts +23 -0
- package/dist/routine-variables.d.ts.map +1 -0
- package/dist/routine-variables.js +127 -0
- package/dist/routine-variables.js.map +1 -0
- package/dist/routine-variables.test.d.ts +2 -0
- package/dist/routine-variables.test.d.ts.map +1 -0
- package/dist/routine-variables.test.js +98 -0
- package/dist/routine-variables.test.js.map +1 -0
- package/dist/runner-goal.d.ts +105 -0
- package/dist/runner-goal.d.ts.map +1 -0
- package/dist/runner-goal.js +74 -0
- package/dist/runner-goal.js.map +1 -0
- package/dist/runtime-exposure/loopback-bind.d.ts +52 -0
- package/dist/runtime-exposure/loopback-bind.d.ts.map +1 -0
- package/dist/runtime-exposure/loopback-bind.js +93 -0
- package/dist/runtime-exposure/loopback-bind.js.map +1 -0
- package/dist/runtime-exposure/loopback-bind.test.d.ts +2 -0
- package/dist/runtime-exposure/loopback-bind.test.d.ts.map +1 -0
- package/dist/runtime-exposure/loopback-bind.test.js +94 -0
- package/dist/runtime-exposure/loopback-bind.test.js.map +1 -0
- package/dist/runtime-exposure/ports.d.ts +61 -0
- package/dist/runtime-exposure/ports.d.ts.map +1 -0
- package/dist/runtime-exposure/ports.js +96 -0
- package/dist/runtime-exposure/ports.js.map +1 -0
- package/dist/runtime-exposure/ports.test.d.ts +2 -0
- package/dist/runtime-exposure/ports.test.d.ts.map +1 -0
- package/dist/runtime-exposure/ports.test.js +46 -0
- package/dist/runtime-exposure/ports.test.js.map +1 -0
- package/dist/self-serve-mcp-research.d.ts +5 -0
- package/dist/self-serve-mcp-research.d.ts.map +1 -0
- package/dist/self-serve-mcp-research.js +5 -0
- package/dist/self-serve-mcp-research.js.map +1 -0
- package/dist/self-serve-mcp-research.json +54 -0
- package/dist/setting-defaults.d.ts +72 -0
- package/dist/setting-defaults.d.ts.map +1 -0
- package/dist/setting-defaults.js +132 -0
- package/dist/setting-defaults.js.map +1 -0
- package/dist/setting-defaults.test.d.ts +2 -0
- package/dist/setting-defaults.test.d.ts.map +1 -0
- package/dist/setting-defaults.test.js +102 -0
- package/dist/setting-defaults.test.js.map +1 -0
- package/dist/settings-visibility.d.ts +86 -0
- package/dist/settings-visibility.d.ts.map +1 -0
- package/dist/settings-visibility.js +138 -0
- package/dist/settings-visibility.js.map +1 -0
- package/dist/settings-visibility.test.d.ts +2 -0
- package/dist/settings-visibility.test.d.ts.map +1 -0
- package/dist/settings-visibility.test.js +85 -0
- package/dist/settings-visibility.test.js.map +1 -0
- package/dist/slack-tools.d.ts +557 -0
- package/dist/slack-tools.d.ts.map +1 -0
- package/dist/slack-tools.js +146 -0
- package/dist/slack-tools.js.map +1 -0
- package/dist/summary-slot.test.d.ts +2 -0
- package/dist/summary-slot.test.d.ts.map +1 -0
- package/dist/summary-slot.test.js +76 -0
- package/dist/summary-slot.test.js.map +1 -0
- package/dist/telemetry/client-contract.test.d.ts +2 -0
- package/dist/telemetry/client-contract.test.d.ts.map +1 -0
- package/dist/telemetry/client-contract.test.js +166 -0
- package/dist/telemetry/client-contract.test.js.map +1 -0
- package/dist/telemetry/client-types.test.d.ts +2 -0
- package/dist/telemetry/client-types.test.d.ts.map +1 -0
- package/dist/telemetry/client-types.test.js +18 -0
- package/dist/telemetry/client-types.test.js.map +1 -0
- package/dist/telemetry/client.d.ts +101 -0
- package/dist/telemetry/client.d.ts.map +1 -0
- package/dist/telemetry/client.js +426 -0
- package/dist/telemetry/client.js.map +1 -0
- package/dist/telemetry/client.test.d.ts +2 -0
- package/dist/telemetry/client.test.d.ts.map +1 -0
- package/dist/telemetry/client.test.js +507 -0
- package/dist/telemetry/client.test.js.map +1 -0
- package/dist/telemetry/config.d.ts +35 -0
- package/dist/telemetry/config.d.ts.map +1 -0
- package/dist/telemetry/config.js +51 -0
- package/dist/telemetry/config.js.map +1 -0
- package/dist/telemetry/events.d.ts +103 -0
- package/dist/telemetry/events.d.ts.map +1 -0
- package/dist/telemetry/events.js +121 -0
- package/dist/telemetry/events.js.map +1 -0
- package/dist/telemetry/generated/paperclip-telemetry.d.ts +406 -0
- package/dist/telemetry/generated/paperclip-telemetry.d.ts.map +1 -0
- package/dist/telemetry/generated/paperclip-telemetry.js +297 -0
- package/dist/telemetry/generated/paperclip-telemetry.js.map +1 -0
- package/dist/telemetry/index.d.ts +10 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +6 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/proposed-connector-events.test.d.ts +2 -0
- package/dist/telemetry/proposed-connector-events.test.d.ts.map +1 -0
- package/dist/telemetry/proposed-connector-events.test.js +96 -0
- package/dist/telemetry/proposed-connector-events.test.js.map +1 -0
- package/dist/telemetry/readme-contract.test.d.ts +2 -0
- package/dist/telemetry/readme-contract.test.d.ts.map +1 -0
- package/dist/telemetry/readme-contract.test.js +17 -0
- package/dist/telemetry/readme-contract.test.js.map +1 -0
- package/dist/telemetry/retention.d.ts +44 -0
- package/dist/telemetry/retention.d.ts.map +1 -0
- package/dist/telemetry/retention.js +46 -0
- package/dist/telemetry/retention.js.map +1 -0
- package/dist/telemetry/retention.test.d.ts +2 -0
- package/dist/telemetry/retention.test.d.ts.map +1 -0
- package/dist/telemetry/retention.test.js +20 -0
- package/dist/telemetry/retention.test.js.map +1 -0
- package/dist/telemetry/state.d.ts +3 -0
- package/dist/telemetry/state.d.ts.map +1 -0
- package/dist/telemetry/state.js +28 -0
- package/dist/telemetry/state.js.map +1 -0
- package/dist/telemetry/types.d.ts +62 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +2 -0
- package/dist/telemetry/types.js.map +1 -0
- package/dist/trust-policy.d.ts +68 -0
- package/dist/trust-policy.d.ts.map +1 -0
- package/dist/trust-policy.js +11 -0
- package/dist/trust-policy.js.map +1 -0
- package/dist/types/access.d.ts +142 -0
- package/dist/types/access.d.ts.map +1 -0
- package/dist/types/access.js +2 -0
- package/dist/types/access.js.map +1 -0
- package/dist/types/activity.d.ts +15 -0
- package/dist/types/activity.d.ts.map +1 -0
- package/dist/types/activity.js +2 -0
- package/dist/types/activity.js.map +1 -0
- package/dist/types/adapter-registry.d.ts +31 -0
- package/dist/types/adapter-registry.d.ts.map +1 -0
- package/dist/types/adapter-registry.js +2 -0
- package/dist/types/adapter-registry.js.map +1 -0
- package/dist/types/adapter-skills.d.ts +38 -0
- package/dist/types/adapter-skills.d.ts.map +1 -0
- package/dist/types/adapter-skills.js +2 -0
- package/dist/types/adapter-skills.js.map +1 -0
- package/dist/types/agent.adapter-auth-session.test.d.ts +2 -0
- package/dist/types/agent.adapter-auth-session.test.d.ts.map +1 -0
- package/dist/types/agent.adapter-auth-session.test.js +103 -0
- package/dist/types/agent.adapter-auth-session.test.js.map +1 -0
- package/dist/types/agent.d.ts +194 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +51 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/app-definition.d.ts +153 -0
- package/dist/types/app-definition.d.ts.map +1 -0
- package/dist/types/app-definition.js +2 -0
- package/dist/types/app-definition.js.map +1 -0
- package/dist/types/approval.d.ts +26 -0
- package/dist/types/approval.d.ts.map +1 -0
- package/dist/types/approval.js +2 -0
- package/dist/types/approval.js.map +1 -0
- package/dist/types/artifact.d.ts +52 -0
- package/dist/types/artifact.d.ts.map +1 -0
- package/dist/types/artifact.js +2 -0
- package/dist/types/artifact.js.map +1 -0
- package/dist/types/asset.d.ts +16 -0
- package/dist/types/asset.d.ts.map +1 -0
- package/dist/types/asset.js +2 -0
- package/dist/types/asset.js.map +1 -0
- package/dist/types/attention.d.ts +222 -0
- package/dist/types/attention.d.ts.map +1 -0
- package/dist/types/attention.js +15 -0
- package/dist/types/attention.js.map +1 -0
- package/dist/types/budget.d.ts +86 -0
- package/dist/types/budget.d.ts.map +1 -0
- package/dist/types/budget.js +2 -0
- package/dist/types/budget.js.map +1 -0
- package/dist/types/chat-channels.d.ts +402 -0
- package/dist/types/chat-channels.d.ts.map +1 -0
- package/dist/types/chat-channels.js +105 -0
- package/dist/types/chat-channels.js.map +1 -0
- package/dist/types/chat-github.d.ts +123 -0
- package/dist/types/chat-github.d.ts.map +1 -0
- package/dist/types/chat-github.js +55 -0
- package/dist/types/chat-github.js.map +1 -0
- package/dist/types/company-portability.d.ts +408 -0
- package/dist/types/company-portability.d.ts.map +1 -0
- package/dist/types/company-portability.js +2 -0
- package/dist/types/company-portability.js.map +1 -0
- package/dist/types/company-skill.d.ts +623 -0
- package/dist/types/company-skill.d.ts.map +1 -0
- package/dist/types/company-skill.js +2 -0
- package/dist/types/company-skill.js.map +1 -0
- package/dist/types/company.d.ts +30 -0
- package/dist/types/company.d.ts.map +1 -0
- package/dist/types/company.js +2 -0
- package/dist/types/company.js.map +1 -0
- package/dist/types/connection-intent.d.ts +53 -0
- package/dist/types/connection-intent.d.ts.map +1 -0
- package/dist/types/connection-intent.js +2 -0
- package/dist/types/connection-intent.js.map +1 -0
- package/dist/types/cost.d.ts +126 -0
- package/dist/types/cost.d.ts.map +1 -0
- package/dist/types/cost.js +2 -0
- package/dist/types/cost.js.map +1 -0
- package/dist/types/dashboard.d.ts +54 -0
- package/dist/types/dashboard.d.ts.map +1 -0
- package/dist/types/dashboard.js +2 -0
- package/dist/types/dashboard.js.map +1 -0
- package/dist/types/decision-queue.d.ts +55 -0
- package/dist/types/decision-queue.d.ts.map +1 -0
- package/dist/types/decision-queue.js +2 -0
- package/dist/types/decision-queue.js.map +1 -0
- package/dist/types/decision-training.d.ts +65 -0
- package/dist/types/decision-training.d.ts.map +1 -0
- package/dist/types/decision-training.js +2 -0
- package/dist/types/decision-training.js.map +1 -0
- package/dist/types/decision.d.ts +100 -0
- package/dist/types/decision.d.ts.map +1 -0
- package/dist/types/decision.js +15 -0
- package/dist/types/decision.js.map +1 -0
- package/dist/types/document-annotation.d.ts +223 -0
- package/dist/types/document-annotation.d.ts.map +1 -0
- package/dist/types/document-annotation.js +2 -0
- package/dist/types/document-annotation.js.map +1 -0
- package/dist/types/email.d.ts +50 -0
- package/dist/types/email.d.ts.map +1 -0
- package/dist/types/email.js +2 -0
- package/dist/types/email.js.map +1 -0
- package/dist/types/environment.d.ts +150 -0
- package/dist/types/environment.d.ts.map +1 -0
- package/dist/types/environment.js +2 -0
- package/dist/types/environment.js.map +1 -0
- package/dist/types/execution-continuation.d.ts +67 -0
- package/dist/types/execution-continuation.d.ts.map +1 -0
- package/dist/types/execution-continuation.js +2 -0
- package/dist/types/execution-continuation.js.map +1 -0
- package/dist/types/execution-projection.d.ts +33 -0
- package/dist/types/execution-projection.d.ts.map +1 -0
- package/dist/types/execution-projection.js +24 -0
- package/dist/types/execution-projection.js.map +1 -0
- package/dist/types/external-object.d.ts +84 -0
- package/dist/types/external-object.d.ts.map +1 -0
- package/dist/types/external-object.js +2 -0
- package/dist/types/external-object.js.map +1 -0
- package/dist/types/feedback.d.ts +95 -0
- package/dist/types/feedback.d.ts.map +1 -0
- package/dist/types/feedback.js +7 -0
- package/dist/types/feedback.js.map +1 -0
- package/dist/types/finance.d.ts +57 -0
- package/dist/types/finance.d.ts.map +1 -0
- package/dist/types/finance.js +2 -0
- package/dist/types/finance.js.map +1 -0
- package/dist/types/folder.d.ts +52 -0
- package/dist/types/folder.d.ts.map +1 -0
- package/dist/types/folder.js +2 -0
- package/dist/types/folder.js.map +1 -0
- package/dist/types/goal.d.ts +14 -0
- package/dist/types/goal.d.ts.map +1 -0
- package/dist/types/goal.js +2 -0
- package/dist/types/goal.js.map +1 -0
- package/dist/types/heartbeat.d.ts +325 -0
- package/dist/types/heartbeat.d.ts.map +1 -0
- package/dist/types/heartbeat.js +2 -0
- package/dist/types/heartbeat.js.map +1 -0
- package/dist/types/inbox-agent-policy.d.ts +12 -0
- package/dist/types/inbox-agent-policy.d.ts.map +1 -0
- package/dist/types/inbox-agent-policy.js +2 -0
- package/dist/types/inbox-agent-policy.js.map +1 -0
- package/dist/types/inbox-dismissal.d.ts +13 -0
- package/dist/types/inbox-dismissal.d.ts.map +1 -0
- package/dist/types/inbox-dismissal.js +2 -0
- package/dist/types/inbox-dismissal.js.map +1 -0
- package/dist/types/index.d.ts +69 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +17 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/instance.d.ts +170 -0
- package/dist/types/instance.d.ts.map +1 -0
- package/dist/types/instance.js +10 -0
- package/dist/types/instance.js.map +1 -0
- package/dist/types/issue-tree-control.d.ts +109 -0
- package/dist/types/issue-tree-control.d.ts.map +1 -0
- package/dist/types/issue-tree-control.js +2 -0
- package/dist/types/issue-tree-control.js.map +1 -0
- package/dist/types/issue.d.ts +1312 -0
- package/dist/types/issue.d.ts.map +1 -0
- package/dist/types/issue.js +2 -0
- package/dist/types/issue.js.map +1 -0
- package/dist/types/live.d.ts +9 -0
- package/dist/types/live.d.ts.map +1 -0
- package/dist/types/live.js +2 -0
- package/dist/types/live.js.map +1 -0
- package/dist/types/native-finalization.d.ts +29 -0
- package/dist/types/native-finalization.d.ts.map +1 -0
- package/dist/types/native-finalization.js +2 -0
- package/dist/types/native-finalization.js.map +1 -0
- package/dist/types/pipeline.d.ts +268 -0
- package/dist/types/pipeline.d.ts.map +1 -0
- package/dist/types/pipeline.js +2 -0
- package/dist/types/pipeline.js.map +1 -0
- package/dist/types/plugin.d.ts +894 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +2 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/types/project.d.ts +116 -0
- package/dist/types/project.d.ts.map +1 -0
- package/dist/types/project.js +2 -0
- package/dist/types/project.js.map +1 -0
- package/dist/types/quota.d.ts +28 -0
- package/dist/types/quota.d.ts.map +1 -0
- package/dist/types/quota.js +2 -0
- package/dist/types/quota.js.map +1 -0
- package/dist/types/resource-memberships.d.ts +26 -0
- package/dist/types/resource-memberships.d.ts.map +1 -0
- package/dist/types/resource-memberships.js +2 -0
- package/dist/types/resource-memberships.js.map +1 -0
- package/dist/types/routine.d.ts +237 -0
- package/dist/types/routine.d.ts.map +1 -0
- package/dist/types/routine.js +2 -0
- package/dist/types/routine.js.map +1 -0
- package/dist/types/runtime-exposure.d.ts +74 -0
- package/dist/types/runtime-exposure.d.ts.map +1 -0
- package/dist/types/runtime-exposure.js +12 -0
- package/dist/types/runtime-exposure.js.map +1 -0
- package/dist/types/search.d.ts +135 -0
- package/dist/types/search.d.ts.map +1 -0
- package/dist/types/search.js +6 -0
- package/dist/types/search.js.map +1 -0
- package/dist/types/secrets.d.ts +374 -0
- package/dist/types/secrets.d.ts.map +1 -0
- package/dist/types/secrets.js +2 -0
- package/dist/types/secrets.js.map +1 -0
- package/dist/types/server-info.d.ts +27 -0
- package/dist/types/server-info.d.ts.map +1 -0
- package/dist/types/server-info.js +2 -0
- package/dist/types/server-info.js.map +1 -0
- package/dist/types/sidebar-badges.d.ts +7 -0
- package/dist/types/sidebar-badges.d.ts.map +1 -0
- package/dist/types/sidebar-badges.js +2 -0
- package/dist/types/sidebar-badges.js.map +1 -0
- package/dist/types/sidebar-preferences.d.ts +5 -0
- package/dist/types/sidebar-preferences.d.ts.map +1 -0
- package/dist/types/sidebar-preferences.js +2 -0
- package/dist/types/sidebar-preferences.js.map +1 -0
- package/dist/types/smoke-lab.d.ts +41 -0
- package/dist/types/smoke-lab.d.ts.map +1 -0
- package/dist/types/smoke-lab.js +5 -0
- package/dist/types/smoke-lab.js.map +1 -0
- package/dist/types/summary-slot.d.ts +91 -0
- package/dist/types/summary-slot.d.ts.map +1 -0
- package/dist/types/summary-slot.js +2 -0
- package/dist/types/summary-slot.js.map +1 -0
- package/dist/types/teams-catalog.d.ts +163 -0
- package/dist/types/teams-catalog.d.ts.map +1 -0
- package/dist/types/teams-catalog.js +2 -0
- package/dist/types/teams-catalog.js.map +1 -0
- package/dist/types/tool-access.d.ts +1515 -0
- package/dist/types/tool-access.d.ts.map +1 -0
- package/dist/types/tool-access.js +13 -0
- package/dist/types/tool-access.js.map +1 -0
- package/dist/types/user-profile.d.ts +81 -0
- package/dist/types/user-profile.d.ts.map +1 -0
- package/dist/types/user-profile.js +2 -0
- package/dist/types/user-profile.js.map +1 -0
- package/dist/types/work-product.d.ts +57 -0
- package/dist/types/work-product.d.ts.map +1 -0
- package/dist/types/work-product.js +2 -0
- package/dist/types/work-product.js.map +1 -0
- package/dist/types/work-timeline.d.ts +77 -0
- package/dist/types/work-timeline.d.ts.map +1 -0
- package/dist/types/work-timeline.js +2 -0
- package/dist/types/work-timeline.js.map +1 -0
- package/dist/types/workspace-file-resource.d.ts +138 -0
- package/dist/types/workspace-file-resource.d.ts.map +1 -0
- package/dist/types/workspace-file-resource.js +2 -0
- package/dist/types/workspace-file-resource.js.map +1 -0
- package/dist/types/workspace-operation.d.ts +27 -0
- package/dist/types/workspace-operation.d.ts.map +1 -0
- package/dist/types/workspace-operation.js +2 -0
- package/dist/types/workspace-operation.js.map +1 -0
- package/dist/types/workspace-readiness.d.ts +74 -0
- package/dist/types/workspace-readiness.d.ts.map +1 -0
- package/dist/types/workspace-readiness.js +28 -0
- package/dist/types/workspace-readiness.js.map +1 -0
- package/dist/types/workspace-runtime.d.ts +365 -0
- package/dist/types/workspace-runtime.d.ts.map +1 -0
- package/dist/types/workspace-runtime.js +2 -0
- package/dist/types/workspace-runtime.js.map +1 -0
- package/dist/validators/access.d.ts +215 -0
- package/dist/validators/access.d.ts.map +1 -0
- package/dist/validators/access.js +146 -0
- package/dist/validators/access.js.map +1 -0
- package/dist/validators/access.test.d.ts +2 -0
- package/dist/validators/access.test.d.ts.map +1 -0
- package/dist/validators/access.test.js +166 -0
- package/dist/validators/access.test.js.map +1 -0
- package/dist/validators/adapter-auth-session.d.ts +118 -0
- package/dist/validators/adapter-auth-session.d.ts.map +1 -0
- package/dist/validators/adapter-auth-session.js +37 -0
- package/dist/validators/adapter-auth-session.js.map +1 -0
- package/dist/validators/adapter-registry.d.ts +21 -0
- package/dist/validators/adapter-registry.d.ts.map +1 -0
- package/dist/validators/adapter-registry.js +14 -0
- package/dist/validators/adapter-registry.js.map +1 -0
- package/dist/validators/adapter-registry.test.d.ts +2 -0
- package/dist/validators/adapter-registry.test.d.ts.map +1 -0
- package/dist/validators/adapter-registry.test.js +31 -0
- package/dist/validators/adapter-registry.test.js.map +1 -0
- package/dist/validators/adapter-skills.d.ts +114 -0
- package/dist/validators/adapter-skills.d.ts.map +1 -0
- package/dist/validators/adapter-skills.js +62 -0
- package/dist/validators/adapter-skills.js.map +1 -0
- package/dist/validators/agent.d.ts +884 -0
- package/dist/validators/agent.d.ts.map +1 -0
- package/dist/validators/agent.js +224 -0
- package/dist/validators/agent.js.map +1 -0
- package/dist/validators/app-definition.d.ts +965 -0
- package/dist/validators/app-definition.d.ts.map +1 -0
- package/dist/validators/app-definition.js +39 -0
- package/dist/validators/app-definition.js.map +1 -0
- package/dist/validators/approval.d.ts +30 -0
- package/dist/validators/approval.d.ts.map +1 -0
- package/dist/validators/approval.js +22 -0
- package/dist/validators/approval.js.map +1 -0
- package/dist/validators/approval.test.d.ts +2 -0
- package/dist/validators/approval.test.d.ts.map +1 -0
- package/dist/validators/approval.test.js +25 -0
- package/dist/validators/approval.test.js.map +1 -0
- package/dist/validators/artifact.d.ts +305 -0
- package/dist/validators/artifact.d.ts.map +1 -0
- package/dist/validators/artifact.js +71 -0
- package/dist/validators/artifact.js.map +1 -0
- package/dist/validators/artifact.test.d.ts +2 -0
- package/dist/validators/artifact.test.d.ts.map +1 -0
- package/dist/validators/artifact.test.js +76 -0
- package/dist/validators/artifact.test.js.map +1 -0
- package/dist/validators/asset.d.ts +21 -0
- package/dist/validators/asset.d.ts.map +1 -0
- package/dist/validators/asset.js +70 -0
- package/dist/validators/asset.js.map +1 -0
- package/dist/validators/asset.test.d.ts +2 -0
- package/dist/validators/asset.test.d.ts.map +1 -0
- package/dist/validators/asset.test.js +130 -0
- package/dist/validators/asset.test.js.map +1 -0
- package/dist/validators/budget.d.ts +32 -0
- package/dist/validators/budget.d.ts.map +1 -0
- package/dist/validators/budget.js +27 -0
- package/dist/validators/budget.js.map +1 -0
- package/dist/validators/chat-channels.d.ts +215 -0
- package/dist/validators/chat-channels.d.ts.map +1 -0
- package/dist/validators/chat-channels.js +181 -0
- package/dist/validators/chat-channels.js.map +1 -0
- package/dist/validators/chat-channels.test.d.ts +2 -0
- package/dist/validators/chat-channels.test.d.ts.map +1 -0
- package/dist/validators/chat-channels.test.js +84 -0
- package/dist/validators/chat-channels.test.js.map +1 -0
- package/dist/validators/chat-github.d.ts +315 -0
- package/dist/validators/chat-github.d.ts.map +1 -0
- package/dist/validators/chat-github.js +149 -0
- package/dist/validators/chat-github.js.map +1 -0
- package/dist/validators/claude-setup-token-session.d.ts +160 -0
- package/dist/validators/claude-setup-token-session.d.ts.map +1 -0
- package/dist/validators/claude-setup-token-session.js +131 -0
- package/dist/validators/claude-setup-token-session.js.map +1 -0
- package/dist/validators/claude-setup-token-session.test.d.ts +2 -0
- package/dist/validators/claude-setup-token-session.test.d.ts.map +1 -0
- package/dist/validators/claude-setup-token-session.test.js +107 -0
- package/dist/validators/claude-setup-token-session.test.js.map +1 -0
- package/dist/validators/company-portability.d.ts +913 -0
- package/dist/validators/company-portability.d.ts.map +1 -0
- package/dist/validators/company-portability.js +301 -0
- package/dist/validators/company-portability.js.map +1 -0
- package/dist/validators/company-skill.d.ts +1450 -0
- package/dist/validators/company-skill.d.ts.map +1 -0
- package/dist/validators/company-skill.js +520 -0
- package/dist/validators/company-skill.js.map +1 -0
- package/dist/validators/company-skill.test.d.ts +2 -0
- package/dist/validators/company-skill.test.d.ts.map +1 -0
- package/dist/validators/company-skill.test.js +165 -0
- package/dist/validators/company-skill.test.js.map +1 -0
- package/dist/validators/company.d.ts +198 -0
- package/dist/validators/company.d.ts.map +1 -0
- package/dist/validators/company.js +46 -0
- package/dist/validators/company.js.map +1 -0
- package/dist/validators/company.test.d.ts +2 -0
- package/dist/validators/company.test.d.ts.map +1 -0
- package/dist/validators/company.test.js +60 -0
- package/dist/validators/company.test.js.map +1 -0
- package/dist/validators/connection-intent.d.ts +18 -0
- package/dist/validators/connection-intent.d.ts.map +1 -0
- package/dist/validators/connection-intent.js +14 -0
- package/dist/validators/connection-intent.js.map +1 -0
- package/dist/validators/connection-intent.test.d.ts +2 -0
- package/dist/validators/connection-intent.test.d.ts.map +1 -0
- package/dist/validators/connection-intent.test.js +55 -0
- package/dist/validators/connection-intent.test.js.map +1 -0
- package/dist/validators/cost.d.ts +69 -0
- package/dist/validators/cost.d.ts.map +1 -0
- package/dist/validators/cost.js +27 -0
- package/dist/validators/cost.js.map +1 -0
- package/dist/validators/decision-queue.d.ts +90 -0
- package/dist/validators/decision-queue.d.ts.map +1 -0
- package/dist/validators/decision-queue.js +60 -0
- package/dist/validators/decision-queue.js.map +1 -0
- package/dist/validators/decision.d.ts +403 -0
- package/dist/validators/decision.d.ts.map +1 -0
- package/dist/validators/decision.js +130 -0
- package/dist/validators/decision.js.map +1 -0
- package/dist/validators/document-annotation.d.ts +74 -0
- package/dist/validators/document-annotation.d.ts.map +1 -0
- package/dist/validators/document-annotation.js +53 -0
- package/dist/validators/document-annotation.js.map +1 -0
- package/dist/validators/email.d.ts +43 -0
- package/dist/validators/email.d.ts.map +1 -0
- package/dist/validators/email.js +70 -0
- package/dist/validators/email.js.map +1 -0
- package/dist/validators/environment-custom-images.d.ts +140 -0
- package/dist/validators/environment-custom-images.d.ts.map +1 -0
- package/dist/validators/environment-custom-images.js +80 -0
- package/dist/validators/environment-custom-images.js.map +1 -0
- package/dist/validators/environment.d.ts +129 -0
- package/dist/validators/environment.d.ts.map +1 -0
- package/dist/validators/environment.js +35 -0
- package/dist/validators/environment.js.map +1 -0
- package/dist/validators/execution-workspace.d.ts +304 -0
- package/dist/validators/execution-workspace.d.ts.map +1 -0
- package/dist/validators/execution-workspace.js +161 -0
- package/dist/validators/execution-workspace.js.map +1 -0
- package/dist/validators/external-object.d.ts +70 -0
- package/dist/validators/external-object.d.ts.map +1 -0
- package/dist/validators/external-object.js +25 -0
- package/dist/validators/external-object.js.map +1 -0
- package/dist/validators/feedback.d.ts +35 -0
- package/dist/validators/feedback.d.ts.map +1 -0
- package/dist/validators/feedback.js +14 -0
- package/dist/validators/feedback.js.map +1 -0
- package/dist/validators/finance.d.ts +126 -0
- package/dist/validators/finance.d.ts.map +1 -0
- package/dist/validators/finance.js +32 -0
- package/dist/validators/finance.js.map +1 -0
- package/dist/validators/folder.d.ts +108 -0
- package/dist/validators/folder.d.ts.map +1 -0
- package/dist/validators/folder.js +56 -0
- package/dist/validators/folder.js.map +1 -0
- package/dist/validators/goal.d.ts +40 -0
- package/dist/validators/goal.d.ts.map +1 -0
- package/dist/validators/goal.js +13 -0
- package/dist/validators/goal.js.map +1 -0
- package/dist/validators/inbox-agent-policy.d.ts +16 -0
- package/dist/validators/inbox-agent-policy.d.ts.map +1 -0
- package/dist/validators/inbox-agent-policy.js +15 -0
- package/dist/validators/inbox-agent-policy.js.map +1 -0
- package/dist/validators/index.d.ts +50 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/dist/validators/index.js +50 -0
- package/dist/validators/index.js.map +1 -0
- package/dist/validators/instance.d.ts +200 -0
- package/dist/validators/instance.d.ts.map +1 -0
- package/dist/validators/instance.js +112 -0
- package/dist/validators/instance.js.map +1 -0
- package/dist/validators/instance.test.d.ts +2 -0
- package/dist/validators/instance.test.d.ts.map +1 -0
- package/dist/validators/instance.test.js +137 -0
- package/dist/validators/instance.test.js.map +1 -0
- package/dist/validators/issue-tree-control.d.ts +61 -0
- package/dist/validators/issue-tree-control.d.ts.map +1 -0
- package/dist/validators/issue-tree-control.js +31 -0
- package/dist/validators/issue-tree-control.js.map +1 -0
- package/dist/validators/issue.d.ts +3028 -0
- package/dist/validators/issue.d.ts.map +1 -0
- package/dist/validators/issue.js +1824 -0
- package/dist/validators/issue.js.map +1 -0
- package/dist/validators/issue.test.d.ts +2 -0
- package/dist/validators/issue.test.d.ts.map +1 -0
- package/dist/validators/issue.test.js +454 -0
- package/dist/validators/issue.test.js.map +1 -0
- package/dist/validators/native-finalization.d.ts +91 -0
- package/dist/validators/native-finalization.d.ts.map +1 -0
- package/dist/validators/native-finalization.js +33 -0
- package/dist/validators/native-finalization.js.map +1 -0
- package/dist/validators/native-finalization.test.d.ts +2 -0
- package/dist/validators/native-finalization.test.d.ts.map +1 -0
- package/dist/validators/native-finalization.test.js +52 -0
- package/dist/validators/native-finalization.test.js.map +1 -0
- package/dist/validators/onboarding-seed.d.ts +30 -0
- package/dist/validators/onboarding-seed.d.ts.map +1 -0
- package/dist/validators/onboarding-seed.js +33 -0
- package/dist/validators/onboarding-seed.js.map +1 -0
- package/dist/validators/partial.d.ts +4 -0
- package/dist/validators/partial.d.ts.map +1 -0
- package/dist/validators/partial.js +35 -0
- package/dist/validators/partial.js.map +1 -0
- package/dist/validators/pipeline.d.ts +358 -0
- package/dist/validators/pipeline.d.ts.map +1 -0
- package/dist/validators/pipeline.js +133 -0
- package/dist/validators/pipeline.js.map +1 -0
- package/dist/validators/plugin.d.ts +1257 -0
- package/dist/validators/plugin.d.ts.map +1 -0
- package/dist/validators/plugin.js +1067 -0
- package/dist/validators/plugin.js.map +1 -0
- package/dist/validators/plugin.test.d.ts +2 -0
- package/dist/validators/plugin.test.d.ts.map +1 -0
- package/dist/validators/plugin.test.js +352 -0
- package/dist/validators/plugin.test.js.map +1 -0
- package/dist/validators/project.d.ts +510 -0
- package/dist/validators/project.d.ts.map +1 -0
- package/dist/validators/project.js +111 -0
- package/dist/validators/project.js.map +1 -0
- package/dist/validators/provider-trace.d.ts +135 -0
- package/dist/validators/provider-trace.d.ts.map +1 -0
- package/dist/validators/provider-trace.js +108 -0
- package/dist/validators/provider-trace.js.map +1 -0
- package/dist/validators/resource-memberships.d.ts +18 -0
- package/dist/validators/resource-memberships.d.ts.map +1 -0
- package/dist/validators/resource-memberships.js +16 -0
- package/dist/validators/resource-memberships.js.map +1 -0
- package/dist/validators/routine.d.ts +566 -0
- package/dist/validators/routine.d.ts.map +1 -0
- package/dist/validators/routine.js +151 -0
- package/dist/validators/routine.js.map +1 -0
- package/dist/validators/routine.test.d.ts +2 -0
- package/dist/validators/routine.test.d.ts.map +1 -0
- package/dist/validators/routine.test.js +115 -0
- package/dist/validators/routine.test.js.map +1 -0
- package/dist/validators/runtime-exposure.d.ts +100 -0
- package/dist/validators/runtime-exposure.d.ts.map +1 -0
- package/dist/validators/runtime-exposure.js +138 -0
- package/dist/validators/runtime-exposure.js.map +1 -0
- package/dist/validators/runtime-exposure.test.d.ts +2 -0
- package/dist/validators/runtime-exposure.test.d.ts.map +1 -0
- package/dist/validators/runtime-exposure.test.js +112 -0
- package/dist/validators/runtime-exposure.test.js.map +1 -0
- package/dist/validators/search.d.ts +40 -0
- package/dist/validators/search.d.ts.map +1 -0
- package/dist/validators/search.js +233 -0
- package/dist/validators/search.js.map +1 -0
- package/dist/validators/secret.d.ts +359 -0
- package/dist/validators/secret.d.ts.map +1 -0
- package/dist/validators/secret.js +344 -0
- package/dist/validators/secret.js.map +1 -0
- package/dist/validators/secret.test.d.ts +2 -0
- package/dist/validators/secret.test.d.ts.map +1 -0
- package/dist/validators/secret.test.js +208 -0
- package/dist/validators/secret.test.js.map +1 -0
- package/dist/validators/sidebar-preferences.d.ts +10 -0
- package/dist/validators/sidebar-preferences.d.ts.map +1 -0
- package/dist/validators/sidebar-preferences.js +10 -0
- package/dist/validators/sidebar-preferences.js.map +1 -0
- package/dist/validators/skill-policy.d.ts +248 -0
- package/dist/validators/skill-policy.d.ts.map +1 -0
- package/dist/validators/skill-policy.js +123 -0
- package/dist/validators/skill-policy.js.map +1 -0
- package/dist/validators/skill-policy.test.d.ts +2 -0
- package/dist/validators/skill-policy.test.d.ts.map +1 -0
- package/dist/validators/skill-policy.test.js +92 -0
- package/dist/validators/skill-policy.test.js.map +1 -0
- package/dist/validators/smoke-lab.d.ts +67 -0
- package/dist/validators/smoke-lab.d.ts.map +1 -0
- package/dist/validators/smoke-lab.js +23 -0
- package/dist/validators/smoke-lab.js.map +1 -0
- package/dist/validators/status-card.d.ts +329 -0
- package/dist/validators/status-card.d.ts.map +1 -0
- package/dist/validators/status-card.js +166 -0
- package/dist/validators/status-card.js.map +1 -0
- package/dist/validators/status-card.test.d.ts +2 -0
- package/dist/validators/status-card.test.d.ts.map +1 -0
- package/dist/validators/status-card.test.js +23 -0
- package/dist/validators/status-card.test.js.map +1 -0
- package/dist/validators/summary-slot.d.ts +46 -0
- package/dist/validators/summary-slot.d.ts.map +1 -0
- package/dist/validators/summary-slot.js +51 -0
- package/dist/validators/summary-slot.js.map +1 -0
- package/dist/validators/teams-catalog.d.ts +322 -0
- package/dist/validators/teams-catalog.d.ts.map +1 -0
- package/dist/validators/teams-catalog.js +147 -0
- package/dist/validators/teams-catalog.js.map +1 -0
- package/dist/validators/text.d.ts +4 -0
- package/dist/validators/text.d.ts.map +1 -0
- package/dist/validators/text.js +9 -0
- package/dist/validators/text.js.map +1 -0
- package/dist/validators/tool-access.d.ts +1925 -0
- package/dist/validators/tool-access.d.ts.map +1 -0
- package/dist/validators/tool-access.js +819 -0
- package/dist/validators/tool-access.js.map +1 -0
- package/dist/validators/tool-access.test.d.ts +2 -0
- package/dist/validators/tool-access.test.d.ts.map +1 -0
- package/dist/validators/tool-access.test.js +172 -0
- package/dist/validators/tool-access.test.js.map +1 -0
- package/dist/validators/trust-policy.d.ts +120 -0
- package/dist/validators/trust-policy.d.ts.map +1 -0
- package/dist/validators/trust-policy.js +59 -0
- package/dist/validators/trust-policy.js.map +1 -0
- package/dist/validators/trust-policy.test.d.ts +2 -0
- package/dist/validators/trust-policy.test.d.ts.map +1 -0
- package/dist/validators/trust-policy.test.js +26 -0
- package/dist/validators/trust-policy.test.js.map +1 -0
- package/dist/validators/work-product.d.ts +178 -0
- package/dist/validators/work-product.d.ts.map +1 -0
- package/dist/validators/work-product.js +88 -0
- package/dist/validators/work-product.js.map +1 -0
- package/dist/validators/work-product.test.d.ts +2 -0
- package/dist/validators/work-product.test.d.ts.map +1 -0
- package/dist/validators/work-product.test.js +38 -0
- package/dist/validators/work-product.test.js.map +1 -0
- package/dist/validators/workspace-file-resource.d.ts +268 -0
- package/dist/validators/workspace-file-resource.d.ts.map +1 -0
- package/dist/validators/workspace-file-resource.js +116 -0
- package/dist/validators/workspace-file-resource.js.map +1 -0
- package/dist/work-product.test.d.ts +2 -0
- package/dist/work-product.test.d.ts.map +1 -0
- package/dist/work-product.test.js +120 -0
- package/dist/work-product.test.js.map +1 -0
- package/dist/workspace-commands.d.ts +9 -0
- package/dist/workspace-commands.d.ts.map +1 -0
- package/dist/workspace-commands.js +177 -0
- package/dist/workspace-commands.js.map +1 -0
- package/dist/workspace-commands.test.d.ts +2 -0
- package/dist/workspace-commands.test.d.ts.map +1 -0
- package/dist/workspace-commands.test.js +155 -0
- package/dist/workspace-commands.test.js.map +1 -0
- package/dist/workspace-file-resource.test.d.ts +2 -0
- package/dist/workspace-file-resource.test.d.ts.map +1 -0
- package/dist/workspace-file-resource.test.js +52 -0
- package/dist/workspace-file-resource.test.js.map +1 -0
- package/dist/worktree-port-registry.d.ts +5 -0
- package/dist/worktree-port-registry.d.ts.map +1 -0
- package/dist/worktree-port-registry.js +382 -0
- package/dist/worktree-port-registry.js.map +1 -0
- package/dist/worktree-port-registry.test.d.ts +2 -0
- package/dist/worktree-port-registry.test.d.ts.map +1 -0
- package/dist/worktree-port-registry.test.js +118 -0
- package/dist/worktree-port-registry.test.js.map +1 -0
- package/dist/worktree-seed-source.d.ts +43 -0
- package/dist/worktree-seed-source.d.ts.map +1 -0
- package/dist/worktree-seed-source.js +180 -0
- package/dist/worktree-seed-source.js.map +1 -0
- package/dist/worktree-seed-source.test.d.ts +2 -0
- package/dist/worktree-seed-source.test.d.ts.map +1 -0
- package/dist/worktree-seed-source.test.js +166 -0
- package/dist/worktree-seed-source.test.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const workspaceFileListSearchMaxBytes = 128;
|
|
3
|
+
function utf8ByteLength(value) {
|
|
4
|
+
return new TextEncoder().encode(value).length;
|
|
5
|
+
}
|
|
6
|
+
export const workspaceFileWorkspaceKindSchema = z.enum(["execution_workspace", "project_workspace"]);
|
|
7
|
+
export const workspaceFileSelectorSchema = z.enum(["auto", "execution", "project"]).default("auto");
|
|
8
|
+
export const workspaceFileListModeSchema = z.enum(["all", "recent", "changed"]).default("all");
|
|
9
|
+
export const workspaceFilePreviewKindSchema = z.enum(["text", "image", "video", "pdf", "unsupported"]);
|
|
10
|
+
export const workspaceFileResourceKindSchema = z.enum(["file", "directory", "remote_resource"]);
|
|
11
|
+
export const workspaceFileRefSchema = z.object({
|
|
12
|
+
kind: z.literal("workspace_file"),
|
|
13
|
+
issueId: z.string().guid().optional(),
|
|
14
|
+
projectId: z.string().guid().optional(),
|
|
15
|
+
projectName: z.string().min(1).optional(),
|
|
16
|
+
workspaceKind: workspaceFileWorkspaceKindSchema,
|
|
17
|
+
workspaceId: z.string().guid(),
|
|
18
|
+
relativePath: z.string().min(1),
|
|
19
|
+
line: z.number().int().positive().nullable().optional(),
|
|
20
|
+
column: z.number().int().positive().nullable().optional(),
|
|
21
|
+
displayPath: z.string().min(1),
|
|
22
|
+
});
|
|
23
|
+
export const workspaceFileResourceQuerySchema = z.object({
|
|
24
|
+
projectId: z.string().guid().optional(),
|
|
25
|
+
workspaceId: z.string().guid().optional(),
|
|
26
|
+
path: z
|
|
27
|
+
.string()
|
|
28
|
+
.min(1)
|
|
29
|
+
.refine((value) => !/[\x00-\x1f\x7f]/.test(value), {
|
|
30
|
+
message: "Workspace file path contains an invalid character",
|
|
31
|
+
params: { code: "invalid_path" },
|
|
32
|
+
}),
|
|
33
|
+
workspace: workspaceFileSelectorSchema.optional(),
|
|
34
|
+
}).refine((value) => Boolean(value.projectId) === Boolean(value.workspaceId), {
|
|
35
|
+
message: "Workspace file target requires both projectId and workspaceId",
|
|
36
|
+
path: ["workspaceId"],
|
|
37
|
+
params: { code: "invalid_target" },
|
|
38
|
+
});
|
|
39
|
+
export const workspaceFileAvailabilityRequestSchema = z.object({
|
|
40
|
+
queries: z.array(workspaceFileResourceQuerySchema).max(100),
|
|
41
|
+
});
|
|
42
|
+
export const workspaceFileListQuerySchema = z.object({
|
|
43
|
+
projectId: z.string().guid().optional(),
|
|
44
|
+
workspaceId: z.string().guid().optional(),
|
|
45
|
+
workspace: workspaceFileSelectorSchema.optional(),
|
|
46
|
+
path: z
|
|
47
|
+
.string()
|
|
48
|
+
.min(1)
|
|
49
|
+
.refine((value) => !/[\x00-\x1f\x7f]/.test(value), {
|
|
50
|
+
message: "Workspace folder path contains an invalid character",
|
|
51
|
+
params: { code: "invalid_path" },
|
|
52
|
+
})
|
|
53
|
+
.optional(),
|
|
54
|
+
mode: workspaceFileListModeSchema.optional(),
|
|
55
|
+
q: z
|
|
56
|
+
.string()
|
|
57
|
+
.refine((value) => !/[\x00-\x1f\x7f]/.test(value), {
|
|
58
|
+
message: "Workspace file search contains an invalid character",
|
|
59
|
+
params: { code: "invalid_query" },
|
|
60
|
+
})
|
|
61
|
+
.refine((value) => utf8ByteLength(value.trim()) <= workspaceFileListSearchMaxBytes, {
|
|
62
|
+
message: "Workspace file search is too long",
|
|
63
|
+
params: { code: "invalid_query" },
|
|
64
|
+
})
|
|
65
|
+
.optional(),
|
|
66
|
+
limit: z.coerce.number().int().min(1).max(100).default(25),
|
|
67
|
+
offset: z.coerce.number().int().min(0).max(10_000).default(0),
|
|
68
|
+
}).refine((value) => Boolean(value.projectId) === Boolean(value.workspaceId), {
|
|
69
|
+
message: "Workspace file target requires both projectId and workspaceId",
|
|
70
|
+
path: ["workspaceId"],
|
|
71
|
+
params: { code: "invalid_target" },
|
|
72
|
+
});
|
|
73
|
+
export const resolvedWorkspaceResourceSchema = z.object({
|
|
74
|
+
kind: workspaceFileResourceKindSchema,
|
|
75
|
+
provider: z.string().min(1),
|
|
76
|
+
title: z.string().min(1),
|
|
77
|
+
displayPath: z.string().min(1),
|
|
78
|
+
workspaceLabel: z.string().min(1),
|
|
79
|
+
workspaceKind: workspaceFileWorkspaceKindSchema,
|
|
80
|
+
workspaceId: z.string().guid(),
|
|
81
|
+
projectId: z.string().guid().nullable().optional(),
|
|
82
|
+
projectName: z.string().min(1).nullable().optional(),
|
|
83
|
+
contentType: z.string().nullable().optional(),
|
|
84
|
+
byteSize: z.number().int().nonnegative().nullable().optional(),
|
|
85
|
+
previewKind: workspaceFilePreviewKindSchema,
|
|
86
|
+
denialReason: z.string().nullable().optional(),
|
|
87
|
+
capabilities: z.object({
|
|
88
|
+
preview: z.boolean(),
|
|
89
|
+
download: z.boolean(),
|
|
90
|
+
listChildren: z.boolean(),
|
|
91
|
+
}),
|
|
92
|
+
});
|
|
93
|
+
export const normalizedWorkspaceFileAvailabilityQuerySchema = z.object({
|
|
94
|
+
projectId: z.string().guid().nullable(),
|
|
95
|
+
workspaceId: z.string().guid().nullable(),
|
|
96
|
+
path: z.string().min(1),
|
|
97
|
+
workspace: workspaceFileSelectorSchema,
|
|
98
|
+
});
|
|
99
|
+
export const workspaceFileAvailabilityResultSchema = z.object({
|
|
100
|
+
query: normalizedWorkspaceFileAvailabilityQuerySchema,
|
|
101
|
+
openable: z.boolean(),
|
|
102
|
+
unavailableReason: z.string().min(1).nullable().optional(),
|
|
103
|
+
resource: resolvedWorkspaceResourceSchema.nullable(),
|
|
104
|
+
});
|
|
105
|
+
export const workspaceFileAvailabilityResponseSchema = z.object({
|
|
106
|
+
kind: z.literal("workspace_file_availability"),
|
|
107
|
+
results: z.array(workspaceFileAvailabilityResultSchema).max(100),
|
|
108
|
+
});
|
|
109
|
+
export const workspaceFileContentSchema = z.object({
|
|
110
|
+
resource: resolvedWorkspaceResourceSchema,
|
|
111
|
+
content: z.object({
|
|
112
|
+
encoding: z.enum(["utf8", "base64"]),
|
|
113
|
+
data: z.string(),
|
|
114
|
+
}),
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=workspace-file-resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-file-resource.js","sourceRoot":"","sources":["../../src/validators/workspace-file-resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"work-product.test.d.ts","sourceRoot":"","sources":["../src/work-product.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { issueWorkProductMetadataSchema, createIssueWorkProductSchema, } from "./validators/work-product.js";
|
|
3
|
+
describe("work product metadata with resource ref", () => {
|
|
4
|
+
it("accepts valid workspace file ref in metadata", () => {
|
|
5
|
+
const result = issueWorkProductMetadataSchema.parse({
|
|
6
|
+
resourceRef: {
|
|
7
|
+
kind: "workspace_file",
|
|
8
|
+
issueId: "123e4567-e89b-12d3-a456-426614174000",
|
|
9
|
+
workspaceKind: "execution_workspace",
|
|
10
|
+
workspaceId: "223e4567-e89b-12d3-a456-426614174001",
|
|
11
|
+
relativePath: "src/components/App.tsx",
|
|
12
|
+
line: 42,
|
|
13
|
+
column: 10,
|
|
14
|
+
displayPath: "src/components/App.tsx:42:10",
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
expect(result.resourceRef?.kind).toBe("workspace_file");
|
|
18
|
+
expect(result.resourceRef?.issueId).toBe("123e4567-e89b-12d3-a456-426614174000");
|
|
19
|
+
expect(result.resourceRef?.relativePath).toBe("src/components/App.tsx");
|
|
20
|
+
});
|
|
21
|
+
it("accepts workspace file ref without line/column", () => {
|
|
22
|
+
const result = issueWorkProductMetadataSchema.parse({
|
|
23
|
+
resourceRef: {
|
|
24
|
+
kind: "workspace_file",
|
|
25
|
+
issueId: "123e4567-e89b-12d3-a456-426614174000",
|
|
26
|
+
workspaceKind: "project_workspace",
|
|
27
|
+
workspaceId: "223e4567-e89b-12d3-a456-426614174001",
|
|
28
|
+
relativePath: "README.md",
|
|
29
|
+
displayPath: "README.md",
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
expect(result.resourceRef?.line).toBeUndefined();
|
|
33
|
+
expect(result.resourceRef?.column).toBeUndefined();
|
|
34
|
+
});
|
|
35
|
+
it("accepts null resourceRef", () => {
|
|
36
|
+
const result = issueWorkProductMetadataSchema.parse({
|
|
37
|
+
resourceRef: null,
|
|
38
|
+
});
|
|
39
|
+
expect(result.resourceRef).toBeNull();
|
|
40
|
+
});
|
|
41
|
+
it("accepts undefined resourceRef", () => {
|
|
42
|
+
const result = issueWorkProductMetadataSchema.parse({});
|
|
43
|
+
expect(result.resourceRef).toBeUndefined();
|
|
44
|
+
});
|
|
45
|
+
it("rejects invalid resourceRef missing kind", () => {
|
|
46
|
+
expect(() => {
|
|
47
|
+
issueWorkProductMetadataSchema.parse({
|
|
48
|
+
resourceRef: {
|
|
49
|
+
issueId: "123e4567-e89b-12d3-a456-426614174000",
|
|
50
|
+
workspaceKind: "execution_workspace",
|
|
51
|
+
workspaceId: "223e4567-e89b-12d3-a456-426614174001",
|
|
52
|
+
relativePath: "src/components/App.tsx",
|
|
53
|
+
displayPath: "src/components/App.tsx",
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
}).toThrow();
|
|
57
|
+
});
|
|
58
|
+
it("rejects invalid workspaceKind", () => {
|
|
59
|
+
expect(() => {
|
|
60
|
+
issueWorkProductMetadataSchema.parse({
|
|
61
|
+
resourceRef: {
|
|
62
|
+
kind: "workspace_file",
|
|
63
|
+
issueId: "123e4567-e89b-12d3-a456-426614174000",
|
|
64
|
+
workspaceKind: "invalid_kind",
|
|
65
|
+
workspaceId: "223e4567-e89b-12d3-a456-426614174001",
|
|
66
|
+
relativePath: "src/components/App.tsx",
|
|
67
|
+
displayPath: "src/components/App.tsx",
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
}).toThrow();
|
|
71
|
+
});
|
|
72
|
+
it("rejects invalid issueId (not UUID)", () => {
|
|
73
|
+
expect(() => {
|
|
74
|
+
issueWorkProductMetadataSchema.parse({
|
|
75
|
+
resourceRef: {
|
|
76
|
+
kind: "workspace_file",
|
|
77
|
+
issueId: "not-a-uuid",
|
|
78
|
+
workspaceKind: "execution_workspace",
|
|
79
|
+
workspaceId: "223e4567-e89b-12d3-a456-426614174001",
|
|
80
|
+
relativePath: "src/components/App.tsx",
|
|
81
|
+
displayPath: "src/components/App.tsx",
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
}).toThrow();
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
describe("create issue work product with resource ref", () => {
|
|
88
|
+
it("accepts work product with resourceRef in metadata", () => {
|
|
89
|
+
const result = createIssueWorkProductSchema.parse({
|
|
90
|
+
type: "artifact",
|
|
91
|
+
provider: "paperclip",
|
|
92
|
+
title: "Build output",
|
|
93
|
+
status: "active",
|
|
94
|
+
metadata: {
|
|
95
|
+
resourceRef: {
|
|
96
|
+
kind: "workspace_file",
|
|
97
|
+
issueId: "123e4567-e89b-12d3-a456-426614174000",
|
|
98
|
+
workspaceKind: "execution_workspace",
|
|
99
|
+
workspaceId: "223e4567-e89b-12d3-a456-426614174001",
|
|
100
|
+
relativePath: "dist/index.js",
|
|
101
|
+
displayPath: "dist/index.js",
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
expect(result.metadata?.resourceRef?.kind).toBe("workspace_file");
|
|
106
|
+
});
|
|
107
|
+
it("accepts work product without resourceRef in metadata", () => {
|
|
108
|
+
const result = createIssueWorkProductSchema.parse({
|
|
109
|
+
type: "pull_request",
|
|
110
|
+
provider: "github",
|
|
111
|
+
title: "Feature PR",
|
|
112
|
+
status: "active",
|
|
113
|
+
metadata: {
|
|
114
|
+
prNumber: 123,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
expect(result.metadata?.resourceRef).toBeUndefined();
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=work-product.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"work-product.test.js","sourceRoot":"","sources":["../src/work-product.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { WorkspaceCommandDefinition, WorkspaceRuntimeService } from "./types/workspace-runtime.js";
|
|
2
|
+
type WorkspaceRuntimeServiceMatchCandidate = Pick<WorkspaceRuntimeService, "configIndex" | "serviceName" | "command" | "cwd"> & Pick<Partial<WorkspaceRuntimeService>, "exposure" | "port">;
|
|
3
|
+
export declare function listWorkspaceCommandDefinitions(workspaceRuntime: Record<string, unknown> | null | undefined): WorkspaceCommandDefinition[];
|
|
4
|
+
export declare function listWorkspaceServiceCommandDefinitions(workspaceRuntime: Record<string, unknown> | null | undefined): WorkspaceCommandDefinition[];
|
|
5
|
+
export declare function findWorkspaceCommandDefinition(workspaceRuntime: Record<string, unknown> | null | undefined, workspaceCommandId: string | null | undefined): WorkspaceCommandDefinition | null;
|
|
6
|
+
export declare function scoreWorkspaceRuntimeServiceMatch(command: Pick<WorkspaceCommandDefinition, "serviceIndex" | "name" | "command" | "cwd" | "port">, runtimeService: WorkspaceRuntimeServiceMatchCandidate): number;
|
|
7
|
+
export declare function matchWorkspaceRuntimeServiceToCommand<T extends WorkspaceRuntimeServiceMatchCandidate>(command: Pick<WorkspaceCommandDefinition, "serviceIndex" | "name" | "command" | "cwd" | "port">, runtimeServices: T[] | null | undefined): T | null;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=workspace-commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-commands.d.ts","sourceRoot":"","sources":["../src/workspace-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGxG,KAAK,qCAAqC,GACtC,IAAI,CAAC,uBAAuB,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,GAAG,KAAK,CAAC,GAChF,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;AAiHhE,wBAAgB,+BAA+B,CAC7C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAC3D,0BAA0B,EAAE,CA4C9B;AAED,wBAAgB,sCAAsC,CACpD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,gCAG7D;AAED,wBAAgB,8BAA8B,CAC5C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAC5D,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,qCAK9C;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,0BAA0B,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC,EAC/F,cAAc,EAAE,qCAAqC,UAsCtD;AAED,wBAAgB,qCAAqC,CACnD,CAAC,SAAS,qCAAqC,EAE/C,OAAO,EAAE,IAAI,CAAC,0BAA0B,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC,EAC/F,eAAe,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,YAcxC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { forceLoopbackBindInCommand } from "./runtime-exposure/loopback-bind.js";
|
|
2
|
+
function isRecord(value) {
|
|
3
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
4
|
+
}
|
|
5
|
+
function readNonEmptyString(value) {
|
|
6
|
+
if (typeof value !== "string")
|
|
7
|
+
return null;
|
|
8
|
+
const trimmed = value.trim();
|
|
9
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
10
|
+
}
|
|
11
|
+
function readConfiguredPort(value) {
|
|
12
|
+
if (isRecord(value) && value.type === "auto")
|
|
13
|
+
return null;
|
|
14
|
+
const candidate = isRecord(value) ? value.value : value;
|
|
15
|
+
return typeof candidate === "number"
|
|
16
|
+
&& Number.isInteger(candidate)
|
|
17
|
+
&& candidate > 0
|
|
18
|
+
&& candidate <= 65_535
|
|
19
|
+
? candidate
|
|
20
|
+
: null;
|
|
21
|
+
}
|
|
22
|
+
function slugify(value) {
|
|
23
|
+
const normalized = (value ?? "")
|
|
24
|
+
.trim()
|
|
25
|
+
.toLowerCase()
|
|
26
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
27
|
+
.replace(/-+/g, "-")
|
|
28
|
+
.replace(/^-+|-+$/g, "");
|
|
29
|
+
return normalized.length > 0 ? normalized : null;
|
|
30
|
+
}
|
|
31
|
+
function deriveWorkspaceCommandId(input) {
|
|
32
|
+
const explicitId = slugify(input.explicitId);
|
|
33
|
+
if (explicitId)
|
|
34
|
+
return explicitId;
|
|
35
|
+
const nameSlug = slugify(input.name);
|
|
36
|
+
return nameSlug ? `${input.kind}:${nameSlug}` : `${input.kind}:${input.index + 1}`;
|
|
37
|
+
}
|
|
38
|
+
function buildWorkspaceCommandDefinition(input) {
|
|
39
|
+
return {
|
|
40
|
+
id: deriveWorkspaceCommandId({
|
|
41
|
+
kind: input.kind,
|
|
42
|
+
explicitId: readNonEmptyString(input.entry.id),
|
|
43
|
+
name: readNonEmptyString(input.entry.name)
|
|
44
|
+
?? readNonEmptyString(input.entry.label)
|
|
45
|
+
?? readNonEmptyString(input.entry.title)
|
|
46
|
+
?? input.fallbackName,
|
|
47
|
+
index: input.sourceIndex,
|
|
48
|
+
}),
|
|
49
|
+
name: readNonEmptyString(input.entry.name)
|
|
50
|
+
?? readNonEmptyString(input.entry.label)
|
|
51
|
+
?? readNonEmptyString(input.entry.title)
|
|
52
|
+
?? input.fallbackName,
|
|
53
|
+
kind: input.kind,
|
|
54
|
+
command: readNonEmptyString(input.entry.command),
|
|
55
|
+
cwd: readNonEmptyString(input.entry.cwd),
|
|
56
|
+
port: readConfiguredPort(input.entry.port),
|
|
57
|
+
lifecycle: input.kind === "service"
|
|
58
|
+
? input.entry.lifecycle === "ephemeral"
|
|
59
|
+
? "ephemeral"
|
|
60
|
+
: "shared"
|
|
61
|
+
: null,
|
|
62
|
+
serviceIndex: input.serviceIndex,
|
|
63
|
+
disabledReason: readNonEmptyString(input.entry.disabledReason),
|
|
64
|
+
rawConfig: { ...input.entry },
|
|
65
|
+
source: {
|
|
66
|
+
type: "paperclip",
|
|
67
|
+
key: input.sourceKey,
|
|
68
|
+
index: input.sourceIndex,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function uniqueWorkspaceCommandId(seen, commandId, sourceKey, sourceIndex) {
|
|
73
|
+
if (!seen.has(commandId)) {
|
|
74
|
+
seen.add(commandId);
|
|
75
|
+
return commandId;
|
|
76
|
+
}
|
|
77
|
+
const fallbackId = `${commandId}-${sourceKey}-${sourceIndex + 1}`;
|
|
78
|
+
seen.add(fallbackId);
|
|
79
|
+
return fallbackId;
|
|
80
|
+
}
|
|
81
|
+
function readCommandEntries(workspaceRuntime, key) {
|
|
82
|
+
const raw = workspaceRuntime?.[key];
|
|
83
|
+
return Array.isArray(raw) ? raw.filter((entry) => isRecord(entry)) : [];
|
|
84
|
+
}
|
|
85
|
+
export function listWorkspaceCommandDefinitions(workspaceRuntime) {
|
|
86
|
+
if (!workspaceRuntime)
|
|
87
|
+
return [];
|
|
88
|
+
const commandEntries = readCommandEntries(workspaceRuntime, "commands");
|
|
89
|
+
const seenIds = new Set();
|
|
90
|
+
let nextServiceIndex = 0;
|
|
91
|
+
const finalize = (command) => ({
|
|
92
|
+
...command,
|
|
93
|
+
id: uniqueWorkspaceCommandId(seenIds, command.id, command.source.key, command.source.index),
|
|
94
|
+
});
|
|
95
|
+
if (commandEntries.length > 0) {
|
|
96
|
+
return commandEntries.map((entry, index) => finalize(buildWorkspaceCommandDefinition({
|
|
97
|
+
entry,
|
|
98
|
+
kind: entry.kind === "job" ? "job" : "service",
|
|
99
|
+
sourceKey: "commands",
|
|
100
|
+
sourceIndex: index,
|
|
101
|
+
serviceIndex: entry.kind === "job" ? null : nextServiceIndex++,
|
|
102
|
+
fallbackName: entry.kind === "job" ? `Job ${index + 1}` : `Service ${index + 1}`,
|
|
103
|
+
})));
|
|
104
|
+
}
|
|
105
|
+
const serviceDefinitions = readCommandEntries(workspaceRuntime, "services").map((entry, index) => finalize(buildWorkspaceCommandDefinition({
|
|
106
|
+
entry,
|
|
107
|
+
kind: "service",
|
|
108
|
+
sourceKey: "services",
|
|
109
|
+
sourceIndex: index,
|
|
110
|
+
serviceIndex: nextServiceIndex++,
|
|
111
|
+
fallbackName: `Service ${index + 1}`,
|
|
112
|
+
})));
|
|
113
|
+
const jobDefinitions = readCommandEntries(workspaceRuntime, "jobs").map((entry, index) => finalize(buildWorkspaceCommandDefinition({
|
|
114
|
+
entry,
|
|
115
|
+
kind: "job",
|
|
116
|
+
sourceKey: "jobs",
|
|
117
|
+
sourceIndex: index,
|
|
118
|
+
serviceIndex: null,
|
|
119
|
+
fallbackName: `Job ${index + 1}`,
|
|
120
|
+
})));
|
|
121
|
+
return [...serviceDefinitions, ...jobDefinitions];
|
|
122
|
+
}
|
|
123
|
+
export function listWorkspaceServiceCommandDefinitions(workspaceRuntime) {
|
|
124
|
+
return listWorkspaceCommandDefinitions(workspaceRuntime).filter((command) => command.kind === "service");
|
|
125
|
+
}
|
|
126
|
+
export function findWorkspaceCommandDefinition(workspaceRuntime, workspaceCommandId) {
|
|
127
|
+
const normalizedId = readNonEmptyString(workspaceCommandId);
|
|
128
|
+
if (!normalizedId)
|
|
129
|
+
return null;
|
|
130
|
+
return listWorkspaceCommandDefinitions(workspaceRuntime).find((command) => command.id === normalizedId) ?? null;
|
|
131
|
+
}
|
|
132
|
+
export function scoreWorkspaceRuntimeServiceMatch(command, runtimeService) {
|
|
133
|
+
const exposedCommandMatches = Boolean(command.command
|
|
134
|
+
&& runtimeService.command
|
|
135
|
+
&& runtimeService.exposure?.provider === "tailscale_https"
|
|
136
|
+
&& runtimeService.command === forceLoopbackBindInCommand(command.command));
|
|
137
|
+
if (command.command
|
|
138
|
+
&& runtimeService.command
|
|
139
|
+
&& runtimeService.command !== command.command
|
|
140
|
+
&& !exposedCommandMatches) {
|
|
141
|
+
return -1;
|
|
142
|
+
}
|
|
143
|
+
if (command.port !== null && runtimeService.port != null && runtimeService.port !== command.port) {
|
|
144
|
+
return -1;
|
|
145
|
+
}
|
|
146
|
+
if (command.serviceIndex !== null && runtimeService.configIndex !== null && runtimeService.configIndex !== undefined) {
|
|
147
|
+
if (runtimeService.configIndex !== command.serviceIndex)
|
|
148
|
+
return -1;
|
|
149
|
+
return 100 + (command.port !== null && runtimeService.port === command.port ? 8 : 0);
|
|
150
|
+
}
|
|
151
|
+
let score = 0;
|
|
152
|
+
if (command.port !== null && runtimeService.port === command.port)
|
|
153
|
+
score += 8;
|
|
154
|
+
if (runtimeService.serviceName === command.name)
|
|
155
|
+
score += 4;
|
|
156
|
+
if ((runtimeService.command ?? null) === (command.command ?? null))
|
|
157
|
+
score += 4;
|
|
158
|
+
if (command.cwd
|
|
159
|
+
&& runtimeService.cwd
|
|
160
|
+
&& (runtimeService.cwd === command.cwd || runtimeService.cwd.endsWith(`/${command.cwd}`))) {
|
|
161
|
+
score += 2;
|
|
162
|
+
}
|
|
163
|
+
return score;
|
|
164
|
+
}
|
|
165
|
+
export function matchWorkspaceRuntimeServiceToCommand(command, runtimeServices) {
|
|
166
|
+
let bestMatch = null;
|
|
167
|
+
let bestScore = -1;
|
|
168
|
+
for (const runtimeService of runtimeServices ?? []) {
|
|
169
|
+
const score = scoreWorkspaceRuntimeServiceMatch(command, runtimeService);
|
|
170
|
+
if (score > bestScore) {
|
|
171
|
+
bestMatch = runtimeService;
|
|
172
|
+
bestScore = score;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return bestScore > 0 ? bestMatch : null;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=workspace-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-commands.js","sourceRoot":"","sources":["../src/workspace-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-commands.test.d.ts","sourceRoot":"","sources":["../src/workspace-commands.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { findWorkspaceCommandDefinition, listWorkspaceCommandDefinitions, matchWorkspaceRuntimeServiceToCommand, } from "./workspace-commands.js";
|
|
3
|
+
describe("workspace command helpers", () => {
|
|
4
|
+
it("derives service and job commands from command-first runtime config", () => {
|
|
5
|
+
const commands = listWorkspaceCommandDefinitions({
|
|
6
|
+
commands: [
|
|
7
|
+
{ id: "web", name: "web", kind: "service", command: "pnpm dev" },
|
|
8
|
+
{ id: "db-migrate", name: "db:migrate", kind: "job", command: "pnpm db:migrate" },
|
|
9
|
+
],
|
|
10
|
+
});
|
|
11
|
+
expect(commands).toEqual([
|
|
12
|
+
expect.objectContaining({ id: "web", kind: "service", serviceIndex: 0 }),
|
|
13
|
+
expect.objectContaining({ id: "db-migrate", kind: "job", serviceIndex: null }),
|
|
14
|
+
]);
|
|
15
|
+
});
|
|
16
|
+
it("falls back to legacy services and jobs arrays", () => {
|
|
17
|
+
const commands = listWorkspaceCommandDefinitions({
|
|
18
|
+
services: [{ name: "web", command: "pnpm dev" }],
|
|
19
|
+
jobs: [{ name: "lint", command: "pnpm lint" }],
|
|
20
|
+
});
|
|
21
|
+
expect(commands).toEqual([
|
|
22
|
+
expect.objectContaining({ id: "service:web", kind: "service", serviceIndex: 0 }),
|
|
23
|
+
expect.objectContaining({ id: "job:lint", kind: "job", serviceIndex: null }),
|
|
24
|
+
]);
|
|
25
|
+
});
|
|
26
|
+
it("matches a configured service command to the current runtime service", () => {
|
|
27
|
+
const workspaceRuntime = {
|
|
28
|
+
commands: [
|
|
29
|
+
{ id: "web", name: "web", kind: "service", command: "pnpm dev", cwd: "." },
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
const command = findWorkspaceCommandDefinition(workspaceRuntime, "web");
|
|
33
|
+
expect(command).not.toBeNull();
|
|
34
|
+
const match = matchWorkspaceRuntimeServiceToCommand(command, [
|
|
35
|
+
{
|
|
36
|
+
id: "runtime-web",
|
|
37
|
+
serviceName: "web",
|
|
38
|
+
command: "pnpm dev",
|
|
39
|
+
cwd: "/repo",
|
|
40
|
+
port: null,
|
|
41
|
+
configIndex: null,
|
|
42
|
+
},
|
|
43
|
+
]);
|
|
44
|
+
expect(match).toEqual(expect.objectContaining({ id: "runtime-web" }));
|
|
45
|
+
});
|
|
46
|
+
it("does not match a stale runtime service after the configured command changes", () => {
|
|
47
|
+
const workspaceRuntime = {
|
|
48
|
+
commands: [
|
|
49
|
+
{ id: "web", name: "web", kind: "service", command: "pnpm dev:once --tailscale-auth", cwd: "." },
|
|
50
|
+
],
|
|
51
|
+
};
|
|
52
|
+
const command = findWorkspaceCommandDefinition(workspaceRuntime, "web");
|
|
53
|
+
expect(command).not.toBeNull();
|
|
54
|
+
const match = matchWorkspaceRuntimeServiceToCommand(command, [
|
|
55
|
+
{
|
|
56
|
+
id: "runtime-web",
|
|
57
|
+
serviceName: "web",
|
|
58
|
+
command: "pnpm dev",
|
|
59
|
+
cwd: "/repo",
|
|
60
|
+
port: null,
|
|
61
|
+
configIndex: null,
|
|
62
|
+
},
|
|
63
|
+
]);
|
|
64
|
+
expect(match).toBeNull();
|
|
65
|
+
});
|
|
66
|
+
it("matches an exposed dev runtime whose bind command was hardened to loopback", () => {
|
|
67
|
+
const workspaceRuntime = {
|
|
68
|
+
commands: [
|
|
69
|
+
{ id: "web", name: "paperclip-dev", kind: "service", command: "pnpm dev --bind lan" },
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
const command = findWorkspaceCommandDefinition(workspaceRuntime, "web");
|
|
73
|
+
expect(command).not.toBeNull();
|
|
74
|
+
const match = matchWorkspaceRuntimeServiceToCommand(command, [
|
|
75
|
+
{
|
|
76
|
+
id: "runtime-web",
|
|
77
|
+
serviceName: "paperclip-dev",
|
|
78
|
+
command: "pnpm dev --bind loopback",
|
|
79
|
+
cwd: "/repo",
|
|
80
|
+
configIndex: null,
|
|
81
|
+
exposure: {
|
|
82
|
+
provider: "tailscale_https",
|
|
83
|
+
state: "ready",
|
|
84
|
+
publicUrl: "https://paperclip-dev.example.ts.net:42012",
|
|
85
|
+
hostname: "paperclip-dev.example.ts.net",
|
|
86
|
+
listeners: [],
|
|
87
|
+
brokerRef: "broker-1",
|
|
88
|
+
lastError: null,
|
|
89
|
+
updatedAt: "2026-08-20T00:00:00.000Z",
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
]);
|
|
93
|
+
expect(match).toEqual(expect.objectContaining({ id: "runtime-web" }));
|
|
94
|
+
});
|
|
95
|
+
it("does not equate a loopback command with a lan command without managed exposure", () => {
|
|
96
|
+
const command = findWorkspaceCommandDefinition({
|
|
97
|
+
services: [{ name: "paperclip-dev", command: "pnpm dev --bind lan" }],
|
|
98
|
+
}, "service:paperclip-dev");
|
|
99
|
+
const match = matchWorkspaceRuntimeServiceToCommand(command, [
|
|
100
|
+
{
|
|
101
|
+
id: "runtime-web",
|
|
102
|
+
serviceName: "paperclip-dev",
|
|
103
|
+
command: "pnpm dev --bind loopback",
|
|
104
|
+
cwd: "/repo",
|
|
105
|
+
configIndex: null,
|
|
106
|
+
exposure: null,
|
|
107
|
+
},
|
|
108
|
+
]);
|
|
109
|
+
expect(match).toBeNull();
|
|
110
|
+
});
|
|
111
|
+
it("does not revive runtime history from a previously configured port", () => {
|
|
112
|
+
const command = findWorkspaceCommandDefinition({
|
|
113
|
+
services: [
|
|
114
|
+
{
|
|
115
|
+
name: "web",
|
|
116
|
+
command: "pnpm dev",
|
|
117
|
+
port: { type: "fixed", value: 42001 },
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
}, "service:web");
|
|
121
|
+
expect(command).toEqual(expect.objectContaining({ port: 42001 }));
|
|
122
|
+
const match = matchWorkspaceRuntimeServiceToCommand(command, [
|
|
123
|
+
{
|
|
124
|
+
id: "runtime-old-port",
|
|
125
|
+
serviceName: "web",
|
|
126
|
+
command: "pnpm dev",
|
|
127
|
+
cwd: "/repo",
|
|
128
|
+
port: 42013,
|
|
129
|
+
configIndex: 0,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
id: "runtime-current-port",
|
|
133
|
+
serviceName: "web",
|
|
134
|
+
command: "pnpm dev",
|
|
135
|
+
cwd: "/repo",
|
|
136
|
+
port: 42001,
|
|
137
|
+
configIndex: 0,
|
|
138
|
+
},
|
|
139
|
+
]);
|
|
140
|
+
expect(match).toEqual(expect.objectContaining({ id: "runtime-current-port" }));
|
|
141
|
+
});
|
|
142
|
+
it("does not treat an auto port preference as a fixed runtime identity", () => {
|
|
143
|
+
const command = findWorkspaceCommandDefinition({
|
|
144
|
+
services: [
|
|
145
|
+
{
|
|
146
|
+
name: "web",
|
|
147
|
+
command: "pnpm dev",
|
|
148
|
+
port: { type: "auto", value: 42001 },
|
|
149
|
+
},
|
|
150
|
+
],
|
|
151
|
+
}, "service:web");
|
|
152
|
+
expect(command).toEqual(expect.objectContaining({ port: null }));
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=workspace-commands.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-commands.test.js","sourceRoot":"","sources":["../src/workspace-commands.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,qCAAqC,GACtC,MAAM,yBAAyB,CAAC;AAEjC,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,QAAQ,GAAG,+BAA+B,CAAC;YAC/C,QAAQ,EAAE;gBACR,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE;gBAChE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE;aAClF;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvB,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YACxE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,QAAQ,GAAG,+BAA+B,CAAC;YAC/C,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YAChD,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YACvB,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YAChF,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC7E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,gBAAgB,GAAG;YACvB,QAAQ,EAAE;gBACR,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE;aAC3E;SACF,CAAC;QACF,MAAM,OAAO,GAAG,8BAA8B,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAE/B,MAAM,KAAK,GAAG,qCAAqC,CAAC,OAAQ,EAAE;YAC5D;gBACE,EAAE,EAAE,aAAa;gBACjB,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,UAAU;gBACnB,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,gBAAgB,GAAG;YACvB,QAAQ,EAAE;gBACR,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gCAAgC,EAAE,GAAG,EAAE,GAAG,EAAE;aACjG;SACF,CAAC;QACF,MAAM,OAAO,GAAG,8BAA8B,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAE/B,MAAM,KAAK,GAAG,qCAAqC,CAAC,OAAQ,EAAE;YAC5D;gBACE,EAAE,EAAE,aAAa;gBACjB,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,UAAU;gBACnB,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,gBAAgB,GAAG;YACvB,QAAQ,EAAE;gBACR,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,EAAE;aACtF;SACF,CAAC;QACF,MAAM,OAAO,GAAG,8BAA8B,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAE/B,MAAM,KAAK,GAAG,qCAAqC,CAAC,OAAQ,EAAE;YAC5D;gBACE,EAAE,EAAE,aAAa;gBACjB,WAAW,EAAE,eAAe;gBAC5B,OAAO,EAAE,0BAA0B;gBACnC,GAAG,EAAE,OAAO;gBACZ,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE;oBACR,QAAQ,EAAE,iBAAiB;oBAC3B,KAAK,EAAE,OAAO;oBACd,SAAS,EAAE,4CAA4C;oBACvD,QAAQ,EAAE,8BAA8B;oBACxC,SAAS,EAAE,EAAE;oBACb,SAAS,EAAE,UAAU;oBACrB,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,0BAA0B;iBACtC;aACF;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACxF,MAAM,OAAO,GAAG,8BAA8B,CAAC;YAC7C,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;SACtE,EAAE,uBAAuB,CAAC,CAAC;QAE5B,MAAM,KAAK,GAAG,qCAAqC,CAAC,OAAQ,EAAE;YAC5D;gBACE,EAAE,EAAE,aAAa;gBACjB,WAAW,EAAE,eAAe;gBAC5B,OAAO,EAAE,0BAA0B;gBACnC,GAAG,EAAE,OAAO;gBACZ,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,IAAI;aACf;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,OAAO,GAAG,8BAA8B,CAAC;YAC7C,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,UAAU;oBACnB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;iBACtC;aACF;SACF,EAAE,aAAa,CAAC,CAAC;QAClB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,qCAAqC,CAAC,OAAQ,EAAE;YAC5D;gBACE,EAAE,EAAE,kBAAkB;gBACtB,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,UAAU;gBACnB,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,CAAC;aACf;YACD;gBACE,EAAE,EAAE,sBAAsB;gBAC1B,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,UAAU;gBACnB,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,CAAC;aACf;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,OAAO,GAAG,8BAA8B,CAAC;YAC7C,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE,UAAU;oBACnB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;iBACrC;aACF;SACF,EAAE,aAAa,CAAC,CAAC;QAElB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|