mirror of
https://github.com/mudler/LocalAI.git
synced 2026-11-06 04:23:15 -05:00
docs(addons): describe manifest api 2 only and update the test inventory
The add-on guide names one manifest api, one way to move a file and no migration path, and drops the section on arguments of older tool versions. The Swagger files are generated again, which also brings in fields that the last generation missed, and the test of the apps view now emits every field it documents. The inventory of the add-on suites lists the specs by their new names. Assisted-by: Claude:claude-sonnet-5-5 go swag
This commit is contained in:
8 files changed
+100
-211
No files matched your search
+15
-32
@@ -177,6 +177,9 @@
|
||||
"requires the main page to be one of the declared pages",
|
||||
"bounds localized titles and descriptions and rejects markup",
|
||||
"reserves the segments of the navigation routes",
|
||||
"accepts only the manifest API of the host, exactly",
|
||||
"accepts a declared listing",
|
||||
"refuses a listing with a bad name, or that names a declared tool",
|
||||
"bounds model actions to one mapping per supported capability",
|
||||
"declares only owning model actions for existing addon destinations",
|
||||
"round trips declared model destinations without changing protocol or SDK",
|
||||
@@ -211,6 +214,7 @@
|
||||
"too many segments",
|
||||
"long combined route",
|
||||
"rejects noncanonical modelActions entry keys and duplicate keys",
|
||||
"is valid when the manifest lists the egress check",
|
||||
"validates every enum pair and normalizes nonavailable isolation",
|
||||
"missing isolation",
|
||||
"missing readiness",
|
||||
@@ -249,7 +253,7 @@
|
||||
"keeps the file tools off the replaceable list",
|
||||
"accepts known controls and refuses an unknown or repeated one",
|
||||
"reads ui.controls from a manifest and refuses an unknown field in it",
|
||||
"draws the network policy only for an add-on granted egress that runs bash",
|
||||
"draws the network policy only for an add-on granted egress that declares a network",
|
||||
"serves a second add-on with the same controls, by its grant and not by its name",
|
||||
"draws the tool providers for an add-on that replaces any built-in tool",
|
||||
"Explanation markup",
|
||||
@@ -376,13 +380,11 @@
|
||||
"accepts a pull kind with a declared page",
|
||||
"accepts drafts and a preview interval within the bounds",
|
||||
"lets an add-on declare nothing but the connector",
|
||||
"accepts a thread history with the manifest api 2",
|
||||
"refuses it under the manifest api 1",
|
||||
"refuses an ability that says nothing and a limit out of bounds",
|
||||
"serves nothing for a kind that declares nothing",
|
||||
"cuts the limit to what the kind declares",
|
||||
"accepts an option with a default among its values",
|
||||
"refuses options under api 1, a bad default, one value, a repeated id and too many",
|
||||
"refuses a bad default, one value, a repeated id and too many",
|
||||
"resolves the choices of a binding against the declaration",
|
||||
"no kind",
|
||||
"a bad kind id",
|
||||
@@ -396,49 +398,36 @@
|
||||
"tells a settled status from a pending one",
|
||||
"keeps the wire version and omits empty fields",
|
||||
"has the limits the owner decided",
|
||||
"is valid for a tool that shadows bash when the manifest accepts API 2",
|
||||
"needs the manifest to accept API 2",
|
||||
"is refused on a tool that does not shadow bash, with another class or with bad text",
|
||||
"keeps a manifest of API 1 valid on a host that speaks API 2, and refuses one that needs API 3",
|
||||
"names the document skills of a provider that declares it supplies their runtime",
|
||||
"fails closed for a commands tool without a descriptor",
|
||||
"names nothing for a descriptor that does not supply the runtime of documents",
|
||||
"names nothing for an add-on without a commands tool",
|
||||
"reads the default slots from data",
|
||||
"lets an add-on declare a slot the contract has never heard of",
|
||||
"needs the manifest to accept API 2 to declare a slot",
|
||||
"keeps a skill that shadows a default slot and declares nothing working",
|
||||
"refuses a shadow of an unknown slot without a declaration, and bad declarations",
|
||||
"answers with the hint when a call carries the old argument",
|
||||
"says nothing without the argument, without a declaration or for a forbidden property",
|
||||
"is validated: bounded, plain, not in the schema, and API 2",
|
||||
"reports network-policy enforcement only for an available isolated provider",
|
||||
"refuses a non-boolean enforcement claim",
|
||||
"accepts a listing declared with API 2",
|
||||
"refuses a listing without API 2, with a bad name, or that names a declared tool",
|
||||
"rejects unknown keys in the declaration",
|
||||
"is valid when the manifest accepts API 2 and lists the egress check",
|
||||
"needs a manifest that accepts API 2",
|
||||
"needs the egress check among the host operations",
|
||||
"refuses an unknown kind, a bad title and a bad or repeated preset",
|
||||
"reads capabilities.network from JSON and refuses an unknown field in it",
|
||||
"is valid with one file for each scope",
|
||||
"needs a manifest that accepts API 2 to declare context files",
|
||||
"refuses a path outside the Memory folder, an unsafe path and a wrong placeholder",
|
||||
"refuses a cap that is negative or above the host's index cap",
|
||||
"refuses two files for one scope and more files than scopes",
|
||||
"reads capabilities.contextFiles from JSON and refuses an unknown field in it",
|
||||
"is valid with a connector kind and read tools",
|
||||
"is drawn for a declared capability that holds the grant, with no bash tool",
|
||||
"is not drawn for a declared capability without the grant",
|
||||
"is drawn for a manifest that declares no network and replaces bash, as before",
|
||||
"is not drawn for a manifest that declares no network and does not replace bash",
|
||||
"is not drawn for a manifest that declares no network, whether or not it replaces bash",
|
||||
"does not read the add-on ID",
|
||||
"gives the declared title of a preset and the host title for the others",
|
||||
"declares its network and keeps the control it asked for",
|
||||
"keeps the control through its bash tool when an older manifest declares no network",
|
||||
"loses the control when it declares no network",
|
||||
"accepts a kind that declares what it receives and sends",
|
||||
"accepts a kind that declares one direction only, or nothing",
|
||||
"needs a manifest that accepts API 2 to declare files",
|
||||
"a limit of zero",
|
||||
"a negative limit",
|
||||
"a limit above the largest the host knows",
|
||||
@@ -710,8 +699,6 @@
|
||||
"skips a backend entry on an add-on only reader and says so",
|
||||
"skips an unknown kind without reading its fields, and keeps the rest",
|
||||
"skips the reserved model kind in this phase",
|
||||
"reports the id of a skipped entry, written as id or as the legacy addonId",
|
||||
"reads a backend entry that still uses the legacy addonId, and refuses one that has both",
|
||||
"still refuses an unknown field on an entry of a known kind",
|
||||
"refuses a malformed kind",
|
||||
"reads every new field and keeps it",
|
||||
@@ -737,7 +724,6 @@
|
||||
"is refused on an add-on with a digest, without a digest unless mutable, or on an archive",
|
||||
"reads an index of more than a thousand entries",
|
||||
"encodes and decodes an entry with the new fields unchanged",
|
||||
"reads the legacy addonId as id, and refuses an entry that has both",
|
||||
"carries the built-in tools an add-on replaces, and refuses one that may not be replaced",
|
||||
"carries the built-in skills an add-on replaces, and refuses one that may not be replaced",
|
||||
"carries toolCount and tools from the index to the listing",
|
||||
@@ -872,7 +858,6 @@
|
||||
"distinguishes healthy empty connector discovery from loss of runtime ownership",
|
||||
"executes enabled owner intent on startup and stops on disable and close without forwarder execution",
|
||||
"writes the owner and storage only, with no address",
|
||||
"loads a file written in the old format with an address",
|
||||
"loads when only the address changed",
|
||||
"refuses a changed owner ID",
|
||||
"refuses a changed storage ID",
|
||||
@@ -1259,6 +1244,8 @@
|
||||
"keeps the cause of an outage and still reports it as unavailable",
|
||||
"tells a definite refusal of the add-on apart from an outage",
|
||||
"keeps a refusal apart from an outage",
|
||||
"refuses a handle for a kind that declared no files, and without a table",
|
||||
"refuses a media or send_file call that carries no handle",
|
||||
"serves exactly one routing payload per request"
|
||||
]
|
||||
},
|
||||
@@ -2213,6 +2200,8 @@
|
||||
"keeps the cause of an outage and still reports it as unavailable",
|
||||
"tells a definite refusal of the add-on apart from an outage",
|
||||
"keeps a refusal apart from an outage",
|
||||
"refuses a handle for a kind that declared no files, and without a table",
|
||||
"refuses a media or send_file call that carries no handle",
|
||||
"serves exactly one routing payload per request"
|
||||
]
|
||||
},
|
||||
@@ -2405,12 +2394,7 @@
|
||||
"carries the declaration of any add-on, whatever its id",
|
||||
"carries nothing for an add-on that declares no resources",
|
||||
"does not alias the manifest",
|
||||
"leaves an add-on with a mapping and no declaration without a listing",
|
||||
"keeps the listing of a manifest written before the declaration existed",
|
||||
"does not touch an old manifest of another add-on, or one that ships a tool of that name",
|
||||
"never overrides a declaration",
|
||||
"is not needed by the shipped add-on, which declares the listing itself",
|
||||
"goes away when the host stops accepting manifests of API 1"
|
||||
"leaves an add-on with a mapping and no declaration without a listing"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2470,8 +2454,7 @@
|
||||
"reads the library on demand when the startup refresh has not filled the cache",
|
||||
"reads the library again when the startup refresh failed",
|
||||
"writes the owner and storage only, with no address",
|
||||
"loads a file written in the old format with an address",
|
||||
"loads when only the address changed",
|
||||
"loads when only the address changed",
|
||||
"refuses a changed owner ID",
|
||||
"refuses a changed storage ID",
|
||||
"copies every capability field of the manifest, so a new field cannot be forgotten",
|
||||
|
||||
Reference in new issue
Block a user