@flowy-agent-store/protocol 0.1.0-beta.7 → 0.1.0-beta.8
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/index.cjs +1 -1
- package/dist/index.d.cts +89 -2
- package/dist/index.d.mts +89 -2
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -64,7 +64,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
64
64
|
* faces deliberately never do; both methods are WebSocket-only, so the
|
|
65
65
|
* documented route split becomes `48 / 73` (doc `32`).
|
|
66
66
|
*/
|
|
67
|
-
const APP_SERVER_PROTOCOL_VERSION = "fp-
|
|
67
|
+
const APP_SERVER_PROTOCOL_VERSION = "fp-12";
|
|
68
68
|
/**
|
|
69
69
|
* Format version of {@link ExpertPack}.
|
|
70
70
|
*
|
package/dist/index.d.cts
CHANGED
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* faces deliberately never do; both methods are WebSocket-only, so the
|
|
64
64
|
* documented route split becomes `48 / 73` (doc `32`).
|
|
65
65
|
*/
|
|
66
|
-
export declare const APP_SERVER_PROTOCOL_VERSION = "fp-
|
|
66
|
+
export declare const APP_SERVER_PROTOCOL_VERSION = "fp-12";
|
|
67
67
|
export interface JsonRpcRequest {
|
|
68
68
|
jsonrpc: "2.0";
|
|
69
69
|
id: number | string;
|
|
@@ -883,6 +883,31 @@ export interface SkillDeleteResult {
|
|
|
883
883
|
revealed_origin?: SkillOrigin | null;
|
|
884
884
|
}
|
|
885
885
|
export type ConnectorStatus = "installed" | "configured" | "authorization_required" | "authenticated" | "connected" | "degraded" | "error" | "reauthorization_required";
|
|
886
|
+
/** `connector/register` — a connector the host never imported (doc `34` §6.5). */
|
|
887
|
+
export interface ConnectorRegistration {
|
|
888
|
+
/** Its name on this host. Re-registering the same name updates it. */
|
|
889
|
+
name: string;
|
|
890
|
+
description?: string | null;
|
|
891
|
+
/**
|
|
892
|
+
* The template the host will store and later resolve — the same shape it keeps
|
|
893
|
+
* for a marketplace connector. Whatever `${secret:NAME}` its URL, headers or env
|
|
894
|
+
* name becomes the credential form; `values` carries the connector's own
|
|
895
|
+
* non-secret settings.
|
|
896
|
+
*/
|
|
897
|
+
transport: ConnectorTransport;
|
|
898
|
+
}
|
|
899
|
+
/** The transport template, mirroring the host's own stored shape. */
|
|
900
|
+
export type ConnectorTransport = {
|
|
901
|
+
type: "http" | "sse";
|
|
902
|
+
url: string;
|
|
903
|
+
headers?: Record<string, string>;
|
|
904
|
+
values?: Record<string, string>;
|
|
905
|
+
} | {
|
|
906
|
+
type: "stdio";
|
|
907
|
+
command: string;
|
|
908
|
+
args?: string[];
|
|
909
|
+
env?: Record<string, string>;
|
|
910
|
+
};
|
|
886
911
|
export interface ConnectorSummary {
|
|
887
912
|
id: string;
|
|
888
913
|
name: string;
|
|
@@ -897,6 +922,58 @@ export interface ConnectorSummary {
|
|
|
897
922
|
* Absent for builtin hosts and for markets that ship no icon for the entry.
|
|
898
923
|
*/
|
|
899
924
|
avatar_url?: string | null;
|
|
925
|
+
/**
|
|
926
|
+
* What the connector needs the user to fill in, when the host can describe it
|
|
927
|
+
* (doc `34` §6.1). Absent for a connector with no declaration and nothing to
|
|
928
|
+
* ask for.
|
|
929
|
+
*
|
|
930
|
+
* **Never carries a secret value**: `fields[].value` exists only for `plain`
|
|
931
|
+
* fields, which are the connector's own settings (`HOST`, `PORT`), and
|
|
932
|
+
* `missing` holds key names.
|
|
933
|
+
*/
|
|
934
|
+
credential?: ConnectorCredential | null;
|
|
935
|
+
}
|
|
936
|
+
/** Both languages, already resolved by the host (doc `34` §5.2). */
|
|
937
|
+
export interface LocalizedString {
|
|
938
|
+
zh: string;
|
|
939
|
+
en: string;
|
|
940
|
+
}
|
|
941
|
+
/** How a connector authenticates. */
|
|
942
|
+
export type CredentialMode = "none" | "oauth" | "token";
|
|
943
|
+
/** What the caller has to do about it. */
|
|
944
|
+
export type CredentialStatus = "not_required" | "requires_input" | "configured" | "error";
|
|
945
|
+
/** One row of the credential form. */
|
|
946
|
+
export interface CredentialField {
|
|
947
|
+
key: string;
|
|
948
|
+
/** `secret` (the host's credential store) or `plain` (the connector's own value). */
|
|
949
|
+
kind: "secret" | "plain";
|
|
950
|
+
required: boolean;
|
|
951
|
+
label: LocalizedString;
|
|
952
|
+
placeholder: LocalizedString;
|
|
953
|
+
description: LocalizedString;
|
|
954
|
+
/** Only for `plain`: the value in effect. A secret's value never crosses the wire. */
|
|
955
|
+
value?: string | null;
|
|
956
|
+
}
|
|
957
|
+
/** The credential form and its state, as this caller sees them (doc `34` §6.1). */
|
|
958
|
+
export interface ConnectorCredential {
|
|
959
|
+
connector_id: string;
|
|
960
|
+
mode: CredentialMode;
|
|
961
|
+
status: CredentialStatus;
|
|
962
|
+
/** Key names still missing for this caller — never values. */
|
|
963
|
+
missing: string[];
|
|
964
|
+
fields: CredentialField[];
|
|
965
|
+
/**
|
|
966
|
+
* Form-level text from the marketplace declaration (doc `34` §5.2).
|
|
967
|
+
*
|
|
968
|
+
* A `token-schema.json` declares its title, its description and its "where do I
|
|
969
|
+
* get a key" link **once, for the form** — the market ships no per-field links,
|
|
970
|
+
* and copying the form's onto every field reads as "how do I get a key" under
|
|
971
|
+
* `PORT`.
|
|
972
|
+
*/
|
|
973
|
+
title?: LocalizedString | null;
|
|
974
|
+
description?: LocalizedString | null;
|
|
975
|
+
doc_url?: LocalizedString | null;
|
|
976
|
+
doc_label?: LocalizedString | null;
|
|
900
977
|
}
|
|
901
978
|
export interface ConnectorTool {
|
|
902
979
|
name: string;
|
|
@@ -1238,7 +1315,8 @@ export interface StoreInstallResult {
|
|
|
1238
1315
|
entry_name: string;
|
|
1239
1316
|
snapshot_id: string;
|
|
1240
1317
|
version: string;
|
|
1241
|
-
/** true when the components were already registered (no-op install)
|
|
1318
|
+
/** true when the components were already registered (no-op install), or — for
|
|
1319
|
+
* an update — when the entry was already at the advertised version. */
|
|
1242
1320
|
reused: boolean;
|
|
1243
1321
|
installed_count: number;
|
|
1244
1322
|
warnings: string[];
|
|
@@ -1247,6 +1325,15 @@ export interface StoreInstallResult {
|
|
|
1247
1325
|
* store install is as branchable as a direct `install/run`. Absent on a host
|
|
1248
1326
|
* that predates the field. */
|
|
1249
1327
|
outcomes?: InstallOutcome[];
|
|
1328
|
+
/** Version the entry was installed at before this call (`store/update-entry`
|
|
1329
|
+
* only; absent means "this was an install"). */
|
|
1330
|
+
previous_version?: string | null;
|
|
1331
|
+
/** The snapshot that was replaced. Same rule as `previous_version`. */
|
|
1332
|
+
previous_snapshot_id?: string | null;
|
|
1333
|
+
/** Components of the replaced snapshot whose runtime artifacts were actually
|
|
1334
|
+
* released. `0` on an install, on a no-op update, and when a failed update
|
|
1335
|
+
* left the previous installation in place. */
|
|
1336
|
+
released_count?: number;
|
|
1250
1337
|
}
|
|
1251
1338
|
export interface LocalizedText {
|
|
1252
1339
|
en?: string | null;
|
package/dist/index.d.mts
CHANGED
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* faces deliberately never do; both methods are WebSocket-only, so the
|
|
64
64
|
* documented route split becomes `48 / 73` (doc `32`).
|
|
65
65
|
*/
|
|
66
|
-
export declare const APP_SERVER_PROTOCOL_VERSION = "fp-
|
|
66
|
+
export declare const APP_SERVER_PROTOCOL_VERSION = "fp-12";
|
|
67
67
|
export interface JsonRpcRequest {
|
|
68
68
|
jsonrpc: "2.0";
|
|
69
69
|
id: number | string;
|
|
@@ -883,6 +883,31 @@ export interface SkillDeleteResult {
|
|
|
883
883
|
revealed_origin?: SkillOrigin | null;
|
|
884
884
|
}
|
|
885
885
|
export type ConnectorStatus = "installed" | "configured" | "authorization_required" | "authenticated" | "connected" | "degraded" | "error" | "reauthorization_required";
|
|
886
|
+
/** `connector/register` — a connector the host never imported (doc `34` §6.5). */
|
|
887
|
+
export interface ConnectorRegistration {
|
|
888
|
+
/** Its name on this host. Re-registering the same name updates it. */
|
|
889
|
+
name: string;
|
|
890
|
+
description?: string | null;
|
|
891
|
+
/**
|
|
892
|
+
* The template the host will store and later resolve — the same shape it keeps
|
|
893
|
+
* for a marketplace connector. Whatever `${secret:NAME}` its URL, headers or env
|
|
894
|
+
* name becomes the credential form; `values` carries the connector's own
|
|
895
|
+
* non-secret settings.
|
|
896
|
+
*/
|
|
897
|
+
transport: ConnectorTransport;
|
|
898
|
+
}
|
|
899
|
+
/** The transport template, mirroring the host's own stored shape. */
|
|
900
|
+
export type ConnectorTransport = {
|
|
901
|
+
type: "http" | "sse";
|
|
902
|
+
url: string;
|
|
903
|
+
headers?: Record<string, string>;
|
|
904
|
+
values?: Record<string, string>;
|
|
905
|
+
} | {
|
|
906
|
+
type: "stdio";
|
|
907
|
+
command: string;
|
|
908
|
+
args?: string[];
|
|
909
|
+
env?: Record<string, string>;
|
|
910
|
+
};
|
|
886
911
|
export interface ConnectorSummary {
|
|
887
912
|
id: string;
|
|
888
913
|
name: string;
|
|
@@ -897,6 +922,58 @@ export interface ConnectorSummary {
|
|
|
897
922
|
* Absent for builtin hosts and for markets that ship no icon for the entry.
|
|
898
923
|
*/
|
|
899
924
|
avatar_url?: string | null;
|
|
925
|
+
/**
|
|
926
|
+
* What the connector needs the user to fill in, when the host can describe it
|
|
927
|
+
* (doc `34` §6.1). Absent for a connector with no declaration and nothing to
|
|
928
|
+
* ask for.
|
|
929
|
+
*
|
|
930
|
+
* **Never carries a secret value**: `fields[].value` exists only for `plain`
|
|
931
|
+
* fields, which are the connector's own settings (`HOST`, `PORT`), and
|
|
932
|
+
* `missing` holds key names.
|
|
933
|
+
*/
|
|
934
|
+
credential?: ConnectorCredential | null;
|
|
935
|
+
}
|
|
936
|
+
/** Both languages, already resolved by the host (doc `34` §5.2). */
|
|
937
|
+
export interface LocalizedString {
|
|
938
|
+
zh: string;
|
|
939
|
+
en: string;
|
|
940
|
+
}
|
|
941
|
+
/** How a connector authenticates. */
|
|
942
|
+
export type CredentialMode = "none" | "oauth" | "token";
|
|
943
|
+
/** What the caller has to do about it. */
|
|
944
|
+
export type CredentialStatus = "not_required" | "requires_input" | "configured" | "error";
|
|
945
|
+
/** One row of the credential form. */
|
|
946
|
+
export interface CredentialField {
|
|
947
|
+
key: string;
|
|
948
|
+
/** `secret` (the host's credential store) or `plain` (the connector's own value). */
|
|
949
|
+
kind: "secret" | "plain";
|
|
950
|
+
required: boolean;
|
|
951
|
+
label: LocalizedString;
|
|
952
|
+
placeholder: LocalizedString;
|
|
953
|
+
description: LocalizedString;
|
|
954
|
+
/** Only for `plain`: the value in effect. A secret's value never crosses the wire. */
|
|
955
|
+
value?: string | null;
|
|
956
|
+
}
|
|
957
|
+
/** The credential form and its state, as this caller sees them (doc `34` §6.1). */
|
|
958
|
+
export interface ConnectorCredential {
|
|
959
|
+
connector_id: string;
|
|
960
|
+
mode: CredentialMode;
|
|
961
|
+
status: CredentialStatus;
|
|
962
|
+
/** Key names still missing for this caller — never values. */
|
|
963
|
+
missing: string[];
|
|
964
|
+
fields: CredentialField[];
|
|
965
|
+
/**
|
|
966
|
+
* Form-level text from the marketplace declaration (doc `34` §5.2).
|
|
967
|
+
*
|
|
968
|
+
* A `token-schema.json` declares its title, its description and its "where do I
|
|
969
|
+
* get a key" link **once, for the form** — the market ships no per-field links,
|
|
970
|
+
* and copying the form's onto every field reads as "how do I get a key" under
|
|
971
|
+
* `PORT`.
|
|
972
|
+
*/
|
|
973
|
+
title?: LocalizedString | null;
|
|
974
|
+
description?: LocalizedString | null;
|
|
975
|
+
doc_url?: LocalizedString | null;
|
|
976
|
+
doc_label?: LocalizedString | null;
|
|
900
977
|
}
|
|
901
978
|
export interface ConnectorTool {
|
|
902
979
|
name: string;
|
|
@@ -1238,7 +1315,8 @@ export interface StoreInstallResult {
|
|
|
1238
1315
|
entry_name: string;
|
|
1239
1316
|
snapshot_id: string;
|
|
1240
1317
|
version: string;
|
|
1241
|
-
/** true when the components were already registered (no-op install)
|
|
1318
|
+
/** true when the components were already registered (no-op install), or — for
|
|
1319
|
+
* an update — when the entry was already at the advertised version. */
|
|
1242
1320
|
reused: boolean;
|
|
1243
1321
|
installed_count: number;
|
|
1244
1322
|
warnings: string[];
|
|
@@ -1247,6 +1325,15 @@ export interface StoreInstallResult {
|
|
|
1247
1325
|
* store install is as branchable as a direct `install/run`. Absent on a host
|
|
1248
1326
|
* that predates the field. */
|
|
1249
1327
|
outcomes?: InstallOutcome[];
|
|
1328
|
+
/** Version the entry was installed at before this call (`store/update-entry`
|
|
1329
|
+
* only; absent means "this was an install"). */
|
|
1330
|
+
previous_version?: string | null;
|
|
1331
|
+
/** The snapshot that was replaced. Same rule as `previous_version`. */
|
|
1332
|
+
previous_snapshot_id?: string | null;
|
|
1333
|
+
/** Components of the replaced snapshot whose runtime artifacts were actually
|
|
1334
|
+
* released. `0` on an install, on a no-op update, and when a failed update
|
|
1335
|
+
* left the previous installation in place. */
|
|
1336
|
+
released_count?: number;
|
|
1250
1337
|
}
|
|
1251
1338
|
export interface LocalizedText {
|
|
1252
1339
|
en?: string | null;
|
package/dist/index.mjs
CHANGED
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* faces deliberately never do; both methods are WebSocket-only, so the
|
|
64
64
|
* documented route split becomes `48 / 73` (doc `32`).
|
|
65
65
|
*/
|
|
66
|
-
const APP_SERVER_PROTOCOL_VERSION = "fp-
|
|
66
|
+
const APP_SERVER_PROTOCOL_VERSION = "fp-12";
|
|
67
67
|
/**
|
|
68
68
|
* Format version of {@link ExpertPack}.
|
|
69
69
|
*
|
package/package.json
CHANGED