mirror of
https://github.com/hanzoai/extension.git
synced 2026-11-02 23:32:11 +00:00
28 apps told the user to paste an `hk-` key — input placeholders, settings help text, READMEs, the error thrown when the field is empty — and five of them validated that paste against /^hk-/ before sending it as a bearer. Nothing mints that prefix any more: cloud accepts pk- and sk-, IAM mints sk-. So the guard admitted a credential that authenticates nothing, and the panel failed later at the gateway with nothing on screen to explain it. The three leak detectors keep hk- and gain sk-. Salesforce's source scan and the two Zendesk tests exist to catch a key committed to source or echoed back through a request; retired keys are still in circulation and leak exactly as badly, while a detector that only knew hk- would have gone blind to every key minted from here on. `sk-` used to be the example of the foreign key the guard screened out — an OpenAI key. It cannot mean that now, and shape alone cannot tell one vendor's sk- from another's, so those comments say what the check really proves and point at the /v1/models call that proves the rest. The three tests that pinned "sk- is rejected" now pin "hk- is rejected", which is the invariant that survived. Verified: 2029 tests pass across the 28 packages; typecheck clean on 25 of them (hubspot, jupyter and teams fail identically at HEAD on JSX and ESM type conflicts in files this does not touch); salesforce validate-source green. Co-authored-by: Hanzo Dev <[email protected]>
19 lines
1.2 KiB
JSON
19 lines
1.2 KiB
JSON
{
|
|
"app": {
|
|
"name": "Hanzo AI",
|
|
"short_description": "AI in the ticket sidebar: summarize, draft replies, and suggest next steps.",
|
|
"long_description": "Hanzo AI reads the current ticket and its conversation and helps your agents resolve it faster. Summarize a long thread, draft the next reply in the agent's voice, suggest next steps or a macro, or ask anything about the ticket — then insert the result into the reply editor or add it as an internal note with one click. Powered by the Hanzo AI gateway (api.hanzo.ai). Your Hanzo API key is stored as a secure app setting and is never exposed to the browser.",
|
|
"installation_instructions": "Enter your Hanzo API key (starts with sk-) as the secure API key setting, optionally set a default model, then save. Generate a key at https://hanzo.ai. The app appears in the ticket sidebar.",
|
|
"parameters": {
|
|
"hanzo_api_key": {
|
|
"label": "Hanzo API key",
|
|
"helpText": "Your Hanzo API key (sk-…). Stored securely and used server-side; it is never sent to the browser. Generate one at https://hanzo.ai."
|
|
},
|
|
"default_model": {
|
|
"label": "Default model",
|
|
"helpText": "Optional. The model to route requests to (e.g. zen5). Defaults to zen5."
|
|
}
|
|
}
|
|
}
|
|
}
|