René's URL Explorer Experiment


Title: EN #4845 fix func arg schema bug with typed dicts by eneumann · Pull Request #75 · polyapi/polyapi-python · GitHub

Open Graph Title: EN #4845 fix func arg schema bug with typed dicts by eneumann · Pull Request #75 · polyapi/polyapi-python

X Title: EN #4845 fix func arg schema bug with typed dicts by eneumann · Pull Request #75 · polyapi/polyapi-python

Description: @eupharis this should fix it in the client until we can properly fix it in the specs API. Example specs api resp: [ { "id": "8e674884-787b-4a5a-bd5a-b48c15c87d8c", "type": "customFunction", "context": "sftp", "name": "connect", "contextName": "sftp.connect", "description": "Establish a secure SFTP connection using provided host, port, username, password, or private key. Supports optional configurations like remote path, upload on save, and keep-alive interval. Returns connection arguments for validation or further use.", "requirements": [], "serverSideAsync": false, "function": { "arguments": [ { "name": "conn_args", "description": "", "required": true, "type": { "kind": "object", "schema": "{\"properties\": {\"host\": {\"title\": \"Host\", \"type\": \"string\"}, \"name\": {\"title\": \"Name\", \"type\": \"string\"}, \"open_ssh\": {\"title\": \"Open Ssh\", \"type\": \"boolean\"}, \"port\": {\"title\": \"Port\", \"type\": \"integer\"}, \"protocol\": {\"title\": \"Protocol\", \"type\": \"string\"}, \"remote_path\": {\"title\": \"Remote Path\", \"type\": \"string\"}, \"upload_on_save\": {\"title\": \"Upload On Save\", \"type\": \"boolean\"}, \"use_temp_file\": {\"title\": \"Use Temp File\", \"type\": \"boolean\"}, \"username\": {\"title\": \"Username\", \"type\": \"string\"}, \"password\": {\"title\": \"Password\", \"type\": \"string\"}, \"private_key\": {\"title\": \"Private Key\", \"type\": \"string\"}, \"keep_alive_interval\": {\"title\": \"Keep Alive Interval\", \"type\": \"integer\"}}, \"required\": [\"host\", \"name\", \"open_ssh\", \"port\", \"protocol\", \"remote_path\", \"upload_on_save\", \"use_temp_file\", \"username\", \"password\", \"private_key\", \"keep_alive_interval\"], \"title\": \"ConnectArgs\", \"type\": \"object\"}" } } ], "returnType": { "kind": "plain", "value": "ConnectArgs" }, "synchronous": true }, "code": "import logging\n# import paramiko\nfrom typing_extensions import TypedDict, Any, Dict\n# from polyapi.typedefs import PolyClientFunction\n\nlogger = logging.getLogger('poly')\n\n# polyConfig: PolyClientFunction = {\n# \"name\": \"connect\",\n# \"context\": \"sftp\",\n# }\n\n\nclass ConnectArgs(TypedDict):\n host: str\n name: str\n open_ssh: bool\n port: int\n protocol: str\n remote_path: str\n upload_on_save: bool\n use_temp_file: bool\n username: str\n password: str\n private_key: str\n keep_alive_interval: int\n\n\n# python -m polyapi function add connect_sftp src/OOB/client_functions/sftp_connect.py --client --context sftp\ndef connect(conn_args: ConnectArgs) -> ConnectArgs:\n return conn_args\n\n # client = paramiko.SSHClient()\n # client.set_missing_host_key_policy(paramiko.AutoAddPolicy())\n\n # try:\n # client.connect(\n # hostname=args[\"host\"],\n # port=args.get(\"port\", 22),\n # username=args[\"username\"],\n # password=args.get(\"password\"),\n # key_filename=args.get(\"privateKey\")\n # )\n # return client.open_sftp()\n # except Exception as error:\n # raise RuntimeError(f\"[SFTP] Connection failed: {error}\")\n", "sourceCode": "import logging\n# import paramiko\nfrom typing_extensions import TypedDict, Any, Dict\n# from polyapi.typedefs import PolyClientFunction\n\nlogger = logging.getLogger('poly')\n\n# polyConfig: PolyClientFunction = {\n# \"name\": \"connect\",\n# \"context\": \"sftp\",\n# }\n\n\nclass ConnectArgs(TypedDict):\n host: str\n name: str\n open_ssh: bool\n port: int\n protocol: str\n remote_path: str\n upload_on_save: bool\n use_temp_file: bool\n username: str\n password: str\n private_key: str\n keep_alive_interval: int\n\n\n# python -m polyapi function add connect_sftp src/OOB/client_functions/sftp_connect.py --client --context sftp\ndef connect(conn_args: ConnectArgs) -> ConnectArgs:\n return conn_args\n\n # client = paramiko.SSHClient()\n # client.set_missing_host_key_policy(paramiko.AutoAddPolicy())\n\n # try:\n # client.connect(\n # hostname=args[\"host\"],\n # port=args.get(\"port\", 22),\n # username=args[\"username\"],\n # password=args.get(\"password\"),\n # key_filename=args.get(\"privateKey\")\n # )\n # return client.open_sftp()\n # except Exception as error:\n # raise RuntimeError(f\"[SFTP] Connection failed: {error}\")\n", "language": "python", "state": "ALPHA", "visibilityMetadata": { "visibility": "ENVIRONMENT" } } ]

Open Graph Description: @eupharis this should fix it in the client until we can properly fix it in the specs API. Example specs api resp: [ { "id": "8e674884-787b-4a5a-bd5a-b48c15c87d8c", ...

X Description: @eupharis this should fix it in the client until we can properly fix it in the specs API. Example specs api resp: [ { "id": "8e674884-787b-4a5a-bd5a-b48c15c87...

Opengraph URL: https://github.com/polyapi/polyapi-python/pull/75

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:1709aa20-cb7c-0965-376e-d5554bf09f0f
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idEADA:274D94:FD97E3:1464C6E:69746C49
html-safe-nonce5b383d6ad7c484e294e15675ec081b758580a2c9b742c901ea2d74fb708763b5
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFQURBOjI3NEQ5NDpGRDk3RTM6MTQ2NEM2RTo2OTc0NkM0OSIsInZpc2l0b3JfaWQiOiIzMDg0NDk5NjQzNzgyMTYzNTI5IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmacb7412dad3c660a5212dfe3893e04e147c0afebb3789a7684e630fda2e0437901
hovercard-subject-tagpull_request:2672360694
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/polyapi/polyapi-python/pull/75/files
twitter:imagehttps://avatars.githubusercontent.com/u/7992094?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/7992094?s=400&v=4
og:image:alt@eupharis this should fix it in the client until we can properly fix it in the specs API. Example specs api resp: [ { "id": "8e674884-787b-4a5a-bd5a-b48c15c87d8c", ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonee0b95d743b7672c9ac0e1032d5f117950182dc164a83434a7db86510e8f0b37c
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/polyapi/polyapi-python git https://github.com/polyapi/polyapi-python.git
octolytics-dimension-user_id124421413
octolytics-dimension-user_loginpolyapi
octolytics-dimension-repository_id720191438
octolytics-dimension-repository_nwopolyapi/polyapi-python
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id720191438
octolytics-dimension-repository_network_root_nwopolyapi/polyapi-python
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release56fe7e2e8de6e57740bca50402351ea656f7a4bf
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/polyapi/polyapi-python/pull/75/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpolyapi%2Fpolyapi-python%2Fpull%2F75%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpolyapi%2Fpolyapi-python%2Fpull%2F75%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=polyapi%2Fpolyapi-python
Reloadhttps://github.com/polyapi/polyapi-python/pull/75/files
Reloadhttps://github.com/polyapi/polyapi-python/pull/75/files
Reloadhttps://github.com/polyapi/polyapi-python/pull/75/files
polyapi https://github.com/polyapi
polyapi-pythonhttps://github.com/polyapi/polyapi-python
Notifications https://github.com/login?return_to=%2Fpolyapi%2Fpolyapi-python
Fork 1 https://github.com/login?return_to=%2Fpolyapi%2Fpolyapi-python
Star 5 https://github.com/login?return_to=%2Fpolyapi%2Fpolyapi-python
Code https://github.com/polyapi/polyapi-python
Pull requests 0 https://github.com/polyapi/polyapi-python/pulls
Actions https://github.com/polyapi/polyapi-python/actions
Projects 0 https://github.com/polyapi/polyapi-python/projects
Security 0 https://github.com/polyapi/polyapi-python/security
Insights https://github.com/polyapi/polyapi-python/pulse
Code https://github.com/polyapi/polyapi-python
Pull requests https://github.com/polyapi/polyapi-python/pulls
Actions https://github.com/polyapi/polyapi-python/actions
Projects https://github.com/polyapi/polyapi-python/projects
Security https://github.com/polyapi/polyapi-python/security
Insights https://github.com/polyapi/polyapi-python/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpolyapi%2Fpolyapi-python%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpolyapi%2Fpolyapi-python%2Fissues%2Fnew%2Fchoose
eneumannhttps://github.com/eneumann
develophttps://github.com/polyapi/polyapi-python/tree/develop
EN_#4845_fix_args_typed_dicthttps://github.com/polyapi/polyapi-python/tree/EN_%234845_fix_args_typed_dict
Conversation 1 https://github.com/polyapi/polyapi-python/pull/75
Commits 2 https://github.com/polyapi/polyapi-python/pull/75/commits
Checks 0 https://github.com/polyapi/polyapi-python/pull/75/checks
Files changed https://github.com/polyapi/polyapi-python/pull/75/files
Please reload this pagehttps://github.com/polyapi/polyapi-python/pull/75/files
EN #4845 fix func arg schema bug with typed dicts https://github.com/polyapi/polyapi-python/pull/75/files#top
Show all changes 2 commits https://github.com/polyapi/polyapi-python/pull/75/files
a4b4106 EN #4845 fix func arg schema bug with typed dicts eneumann Jul 17, 2025 https://github.com/polyapi/polyapi-python/pull/75/commits/a4b410663519315980d488b2011ae447d8c02a33
71ec606 EN #4845 v0.3.9.dev9 eneumann Jul 17, 2025 https://github.com/polyapi/polyapi-python/pull/75/commits/71ec6063163cb70e4f68a3d71a741d5298220d07
Clear filters https://github.com/polyapi/polyapi-python/pull/75/files
Please reload this pagehttps://github.com/polyapi/polyapi-python/pull/75/files
Please reload this pagehttps://github.com/polyapi/polyapi-python/pull/75/files
generate.py https://github.com/polyapi/polyapi-python/pull/75/files#diff-20df266e22eb47b97e1331a93ad6d65a8dde08e05cec6ff3a37ea5ca7279891e
pyproject.toml https://github.com/polyapi/polyapi-python/pull/75/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
polyapi/generate.pyhttps://github.com/polyapi/polyapi-python/pull/75/files#diff-20df266e22eb47b97e1331a93ad6d65a8dde08e05cec6ff3a37ea5ca7279891e
View file https://github.com/polyapi/polyapi-python/blob/71ec6063163cb70e4f68a3d71a741d5298220d07/polyapi/generate.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/polyapi/polyapi-python/pull/75/{{ revealButtonHref }}
https://github.com/polyapi/polyapi-python/pull/75/files#diff-20df266e22eb47b97e1331a93ad6d65a8dde08e05cec6ff3a37ea5ca7279891e
https://github.com/polyapi/polyapi-python/pull/75/files#diff-20df266e22eb47b97e1331a93ad6d65a8dde08e05cec6ff3a37ea5ca7279891e
https://github.com/polyapi/polyapi-python/pull/75/files#diff-20df266e22eb47b97e1331a93ad6d65a8dde08e05cec6ff3a37ea5ca7279891e
https://github.com/polyapi/polyapi-python/pull/75/files#diff-20df266e22eb47b97e1331a93ad6d65a8dde08e05cec6ff3a37ea5ca7279891e
https://github.com/polyapi/polyapi-python/pull/75/files#diff-20df266e22eb47b97e1331a93ad6d65a8dde08e05cec6ff3a37ea5ca7279891e
https://github.com/polyapi/polyapi-python/pull/75/files#diff-20df266e22eb47b97e1331a93ad6d65a8dde08e05cec6ff3a37ea5ca7279891e
pyproject.tomlhttps://github.com/polyapi/polyapi-python/pull/75/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
View file https://github.com/polyapi/polyapi-python/blob/71ec6063163cb70e4f68a3d71a741d5298220d07/pyproject.toml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/polyapi/polyapi-python/pull/75/{{ revealButtonHref }}
https://github.com/polyapi/polyapi-python/pull/75/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
https://github.com/polyapi/polyapi-python/pull/75/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.