@mohou/panel 1.0.20 → 1.0.21
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/lib/types/index.d.ts +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/labels.d.ts +3 -0
- package/lib/types/labels.d.ts.map +1 -1
- package/lib/types/settings/client.d.ts +19 -0
- package/lib/types/settings/client.d.ts.map +1 -1
- package/lib/types/settings/update-dialog.d.ts +2 -1
- package/lib/types/settings/update-dialog.d.ts.map +1 -1
- package/lib/types/settings/update-source.d.ts +13 -0
- package/lib/types/settings/update-source.d.ts.map +1 -0
- package/lib/types/settings/view.d.ts.map +1 -1
- package/lib/types/surface/view.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +1 -1
- package/src/labels.ts +6 -0
- package/src/settings/client.ts +15 -0
- package/src/settings/update-dialog.tsx +6 -2
- package/src/settings/update-source.tsx +57 -0
- package/src/settings/view.tsx +15 -1
- package/src/surface/view.tsx +3 -0
package/lib/types/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { closeTab, deletePrompt, initialTabs, openAppTab, switchTab, type AppTab
|
|
|
7
7
|
export { PanelClientError, type PanelClient } from './gallery/client.ts';
|
|
8
8
|
export { loadGallery, loadTrash, galleryState, reduceGallery, viewKind, visibleApps, type GalleryAction, type PanelShell, type GalleryState, } from './gallery/state.ts';
|
|
9
9
|
export { PanelGallery } from './gallery/view.tsx';
|
|
10
|
-
export { panelUpdateFailureCodes, type McpCheckResult, type McpServerDraft, type PanelAbout, type PanelCredential, type PanelCredentials, type PanelMcpFailure, type PanelMcpList, type PanelAuthorMcpAgent, type PanelAuthorMcpStatus, type PanelPolicy, type PanelPolicyWrite, type PanelProbe, type PanelRuntime, type PanelSettingsClient, type PanelSkillAgent, type PanelSkillStatus, type PanelUpdateAttempt, type PanelUpdateCheck, type PanelUpdateFailureCode } from './settings/client.ts';
|
|
10
|
+
export { panelUpdateFailureCodes, type McpCheckResult, type McpServerDraft, type PanelAbout, type PanelCredential, type PanelCredentials, type PanelMcpFailure, type PanelMcpList, type PanelAuthorMcpAgent, type PanelAuthorMcpStatus, type PanelPolicy, type PanelPolicyWrite, type PanelProbe, type PanelRuntime, type PanelSettingsClient, type PanelSkillAgent, type PanelSkillStatus, type PanelUpdateAttempt, type PanelUpdateCheck, type PanelUpdateFailureCode, type PanelUpdateSource } from './settings/client.ts';
|
|
11
11
|
export { loadSettings, reduceSettings, settingsDraft, settingsState, type SettingsAction, type SettingsState } from './settings/state.ts';
|
|
12
12
|
export { PanelSettings } from './settings/view.tsx';
|
|
13
13
|
export type { HistoryClient, HistoryCommit, HistoryDetail, HistoryFile } from './history/client.ts';
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,eAAO,MAAM,SAAS,EAAG,cAAuB,CAAA;AAEhD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC9G,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/types/labels.d.ts
CHANGED
|
@@ -218,6 +218,9 @@ declare const en: {
|
|
|
218
218
|
readonly update: "Check for updates";
|
|
219
219
|
readonly 'update-install': "Install update";
|
|
220
220
|
readonly 'update-install-failed': "The update could not be installed.";
|
|
221
|
+
readonly 'update-source': "Update source";
|
|
222
|
+
readonly 'update-source-tarball': "Local packages";
|
|
223
|
+
readonly 'update-source-none': "No install prefix (source tree)";
|
|
221
224
|
readonly 'update-card-title': "Update available";
|
|
222
225
|
readonly 'update-card-current': "Current";
|
|
223
226
|
readonly 'update-card-latest': "Latest";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/labels.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAO,MAAM,YAAY,0BAA2B,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,YAAY,CAAA;AAEzD,QAAA,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/labels.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAO,MAAM,YAAY,0BAA2B,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvD,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,YAAY,CAAA;AAEzD,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6PE,CAAA;AAiQV,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,EAAE,CAAA;AAO3C;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,CAMnF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,WAAW,CAEjE"}
|
|
@@ -57,11 +57,26 @@ export interface PanelAuthorMcpAgent {
|
|
|
57
57
|
export interface PanelAuthorMcpStatus {
|
|
58
58
|
readonly agents: readonly PanelAuthorMcpAgent[];
|
|
59
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Where this install updates from. `none` is a source tree with no install prefix.
|
|
62
|
+
* A registry names its host; a tarball channel names its drop folder.
|
|
63
|
+
*/
|
|
64
|
+
export type PanelUpdateSource = {
|
|
65
|
+
readonly channel: 'registry';
|
|
66
|
+
readonly registry: string;
|
|
67
|
+
} | {
|
|
68
|
+
readonly channel: 'tarball';
|
|
69
|
+
readonly tarballDir: string;
|
|
70
|
+
} | {
|
|
71
|
+
readonly channel: 'none';
|
|
72
|
+
};
|
|
60
73
|
/** Owner about block, including the authoring MCP snippet. */
|
|
61
74
|
export interface PanelAbout {
|
|
62
75
|
readonly name: string;
|
|
63
76
|
readonly current: string;
|
|
64
77
|
readonly platform: string;
|
|
78
|
+
/** Where an update would come from. */
|
|
79
|
+
readonly source?: PanelUpdateSource;
|
|
65
80
|
readonly authoring: {
|
|
66
81
|
readonly url: string;
|
|
67
82
|
readonly token: string;
|
|
@@ -101,6 +116,10 @@ export interface PanelUpdateCheck {
|
|
|
101
116
|
readonly updateAvailable: boolean;
|
|
102
117
|
readonly channel?: 'registry' | 'tarball';
|
|
103
118
|
readonly installable?: boolean;
|
|
119
|
+
/** The host an update would install from, when the prefix names one. */
|
|
120
|
+
readonly registry?: string;
|
|
121
|
+
/** The folder a tarball update would install from. */
|
|
122
|
+
readonly tarballDir?: string;
|
|
104
123
|
readonly error?: string;
|
|
105
124
|
/** The last install this machine recorded, when one is on disk. The panel shows it once. */
|
|
106
125
|
readonly lastAttempt?: PanelUpdateAttempt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/settings/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/settings/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
import { type PanelLabelMode, type PanelLocale } from '../labels.ts';
|
|
3
|
-
import type { PanelUpdateAttempt } from './client.ts';
|
|
3
|
+
import type { PanelUpdateAttempt, PanelUpdateSource } from './client.ts';
|
|
4
4
|
/** The one update card. The on-open check and the settings check open this card. */
|
|
5
5
|
export type UpdateCard = {
|
|
6
6
|
readonly kind: 'offer';
|
|
7
7
|
readonly current: string;
|
|
8
8
|
readonly latest: string;
|
|
9
9
|
readonly channel?: 'registry' | 'tarball';
|
|
10
|
+
readonly source?: PanelUpdateSource;
|
|
10
11
|
} | {
|
|
11
12
|
readonly kind: 'installing';
|
|
12
13
|
readonly version: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-dialog.d.ts","sourceRoot":"","sources":["../../../src/settings/update-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAG3D,OAAO,EAAa,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAG/E,OAAO,KAAK,EAAE,kBAAkB,EAA0B,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"update-dialog.d.ts","sourceRoot":"","sources":["../../../src/settings/update-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAG3D,OAAO,EAAa,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAG/E,OAAO,KAAK,EAAE,kBAAkB,EAA0B,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGhG,oFAAoF;AACpF,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAC7J;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACnI;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvD,gHAAgH;AAChH,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAiB7B,8FAA8F;AAC9F,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAWpF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,GAAG,SAAS,CAYZ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { PanelUpdateCheck, PanelUpdateSource } from './client.ts';
|
|
3
|
+
/** The source a check named, when it named a complete one. */
|
|
4
|
+
export declare function checkSource(check: PanelUpdateCheck): PanelUpdateSource | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* One chip naming where the next update would install from.
|
|
7
|
+
* @param props - the source, and the label lookup
|
|
8
|
+
*/
|
|
9
|
+
export declare function UpdateSourceChip(props: {
|
|
10
|
+
readonly source: PanelUpdateSource;
|
|
11
|
+
readonly label: (key: string) => string;
|
|
12
|
+
}): ReactNode;
|
|
13
|
+
//# sourceMappingURL=update-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-source.d.ts","sourceRoot":"","sources":["../../../src/settings/update-source.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEtE,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,SAAS,CAMlF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;CACxC,GAAG,SAAS,CAaZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/settings/view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEvE,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAE9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,KAAK,EAAoC,WAAW,EAAgB,mBAAmB,EAAoB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/settings/view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEvE,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAE9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,KAAK,EAAoC,WAAW,EAAgB,mBAAmB,EAAoB,gBAAgB,EAAqB,MAAM,aAAa,CAAA;AAgB1K;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACjD,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAA;IACjC,wFAAwF;IACxF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAC5D,GAAG,SAAS,CAqTZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/surface/view.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAC9F,OAAO,KAAK,EAAe,mBAAmB,EAAoB,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/surface/view.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAA4B,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAC9F,OAAO,KAAK,EAAe,mBAAmB,EAAoB,MAAM,uBAAuB,CAAA;AAK/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIlE,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAA;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAA;CACxD,GAAG,SAAS,CAwKZ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mohou/panel",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.21",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"lucide-react": "^0.544.0",
|
|
30
30
|
"react": "^19.3.0",
|
|
31
31
|
"react-dom": "^19.3.0",
|
|
32
|
-
"@mohou/app-view": "^1.0.
|
|
32
|
+
"@mohou/app-view": "^1.0.21"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/react": "^19.3.0",
|
package/src/index.ts
CHANGED
|
@@ -45,7 +45,7 @@ export {
|
|
|
45
45
|
type GalleryState,
|
|
46
46
|
} from './gallery/state.ts'
|
|
47
47
|
export { PanelGallery } from './gallery/view.tsx'
|
|
48
|
-
export { panelUpdateFailureCodes, type McpCheckResult, type McpServerDraft, type PanelAbout, type PanelCredential, type PanelCredentials, type PanelMcpFailure, type PanelMcpList, type PanelAuthorMcpAgent, type PanelAuthorMcpStatus, type PanelPolicy, type PanelPolicyWrite, type PanelProbe, type PanelRuntime, type PanelSettingsClient, type PanelSkillAgent, type PanelSkillStatus, type PanelUpdateAttempt, type PanelUpdateCheck, type PanelUpdateFailureCode } from './settings/client.ts'
|
|
48
|
+
export { panelUpdateFailureCodes, type McpCheckResult, type McpServerDraft, type PanelAbout, type PanelCredential, type PanelCredentials, type PanelMcpFailure, type PanelMcpList, type PanelAuthorMcpAgent, type PanelAuthorMcpStatus, type PanelPolicy, type PanelPolicyWrite, type PanelProbe, type PanelRuntime, type PanelSettingsClient, type PanelSkillAgent, type PanelSkillStatus, type PanelUpdateAttempt, type PanelUpdateCheck, type PanelUpdateFailureCode, type PanelUpdateSource } from './settings/client.ts'
|
|
49
49
|
export { loadSettings, reduceSettings, settingsDraft, settingsState, type SettingsAction, type SettingsState } from './settings/state.ts'
|
|
50
50
|
export { PanelSettings } from './settings/view.tsx'
|
|
51
51
|
export type { HistoryClient, HistoryCommit, HistoryDetail, HistoryFile } from './history/client.ts'
|
package/src/labels.ts
CHANGED
|
@@ -221,6 +221,9 @@ const en = {
|
|
|
221
221
|
update: 'Check for updates',
|
|
222
222
|
'update-install': 'Install update',
|
|
223
223
|
'update-install-failed': 'The update could not be installed.',
|
|
224
|
+
'update-source': 'Update source',
|
|
225
|
+
'update-source-tarball': 'Local packages',
|
|
226
|
+
'update-source-none': 'No install prefix (source tree)',
|
|
224
227
|
'update-card-title': 'Update available',
|
|
225
228
|
'update-card-current': 'Current',
|
|
226
229
|
'update-card-latest': 'Latest',
|
|
@@ -473,6 +476,9 @@ const zhCN = {
|
|
|
473
476
|
update: '检查更新',
|
|
474
477
|
'update-install': '安装更新',
|
|
475
478
|
'update-install-failed': '更新没能装上。',
|
|
479
|
+
'update-source': '更新源',
|
|
480
|
+
'update-source-tarball': '本地包',
|
|
481
|
+
'update-source-none': '无安装前缀(源码树)',
|
|
476
482
|
'update-card-title': '有新版本',
|
|
477
483
|
'update-card-current': '当前',
|
|
478
484
|
'update-card-latest': '最新',
|
package/src/settings/client.ts
CHANGED
|
@@ -58,11 +58,22 @@ export interface PanelAuthorMcpStatus {
|
|
|
58
58
|
readonly agents: readonly PanelAuthorMcpAgent[]
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Where this install updates from. `none` is a source tree with no install prefix.
|
|
63
|
+
* A registry names its host; a tarball channel names its drop folder.
|
|
64
|
+
*/
|
|
65
|
+
export type PanelUpdateSource =
|
|
66
|
+
| { readonly channel: 'registry'; readonly registry: string }
|
|
67
|
+
| { readonly channel: 'tarball'; readonly tarballDir: string }
|
|
68
|
+
| { readonly channel: 'none' }
|
|
69
|
+
|
|
61
70
|
/** Owner about block, including the authoring MCP snippet. */
|
|
62
71
|
export interface PanelAbout {
|
|
63
72
|
readonly name: string
|
|
64
73
|
readonly current: string
|
|
65
74
|
readonly platform: string
|
|
75
|
+
/** Where an update would come from. */
|
|
76
|
+
readonly source?: PanelUpdateSource
|
|
66
77
|
readonly authoring: {
|
|
67
78
|
readonly url: string
|
|
68
79
|
readonly token: string
|
|
@@ -105,6 +116,10 @@ export interface PanelUpdateCheck {
|
|
|
105
116
|
readonly updateAvailable: boolean
|
|
106
117
|
readonly channel?: 'registry' | 'tarball'
|
|
107
118
|
readonly installable?: boolean
|
|
119
|
+
/** The host an update would install from, when the prefix names one. */
|
|
120
|
+
readonly registry?: string
|
|
121
|
+
/** The folder a tarball update would install from. */
|
|
122
|
+
readonly tarballDir?: string
|
|
108
123
|
readonly error?: string
|
|
109
124
|
/** The last install this machine recorded, when one is on disk. The panel shows it once. */
|
|
110
125
|
readonly lastAttempt?: PanelUpdateAttempt
|
|
@@ -4,11 +4,12 @@ import { Loader2 } from 'lucide-react'
|
|
|
4
4
|
import { panelText, type PanelLabelMode, type PanelLocale } from '../labels.ts'
|
|
5
5
|
import { Dialog } from '../ui/dialog.tsx'
|
|
6
6
|
|
|
7
|
-
import type { PanelUpdateAttempt, PanelUpdateFailureCode } from './client.ts'
|
|
7
|
+
import type { PanelUpdateAttempt, PanelUpdateFailureCode, PanelUpdateSource } from './client.ts'
|
|
8
|
+
import { UpdateSourceChip } from './update-source.tsx'
|
|
8
9
|
|
|
9
10
|
/** The one update card. The on-open check and the settings check open this card. */
|
|
10
11
|
export type UpdateCard =
|
|
11
|
-
| { readonly kind: 'offer'; readonly current: string; readonly latest: string; readonly channel?: 'registry' | 'tarball' }
|
|
12
|
+
| { readonly kind: 'offer'; readonly current: string; readonly latest: string; readonly channel?: 'registry' | 'tarball'; readonly source?: PanelUpdateSource }
|
|
12
13
|
| { readonly kind: 'installing'; readonly version: string; readonly startedAt: number }
|
|
13
14
|
| { readonly kind: 'failed'; readonly reason: UpdateReason; readonly target?: string; readonly back?: string; readonly log?: string }
|
|
14
15
|
| { readonly kind: 'done'; readonly version: string }
|
|
@@ -96,6 +97,9 @@ function Offer(props: {
|
|
|
96
97
|
</span>
|
|
97
98
|
)}
|
|
98
99
|
</div>
|
|
100
|
+
{props.card.source === undefined ? null : (
|
|
101
|
+
<div className="mt-3"><UpdateSourceChip source={props.card.source} label={props.label} /></div>
|
|
102
|
+
)}
|
|
99
103
|
<p className="mt-4 text-sm text-muted-foreground">{props.label('update-card-note')}</p>
|
|
100
104
|
<div className="mt-5 flex justify-end gap-2">
|
|
101
105
|
<button type="button" className="h-8 rounded-lg border px-3 text-sm" onClick={props.onClose}>{props.label('cancel')}</button>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ReactNode } from 'react'
|
|
2
|
+
import { Globe, HardDrive, Terminal } from 'lucide-react'
|
|
3
|
+
|
|
4
|
+
import type { PanelUpdateCheck, PanelUpdateSource } from './client.ts'
|
|
5
|
+
|
|
6
|
+
/** The source a check named, when it named a complete one. */
|
|
7
|
+
export function checkSource(check: PanelUpdateCheck): PanelUpdateSource | undefined {
|
|
8
|
+
if (check.channel === 'registry') return { channel: 'registry', registry: check.registry ?? 'https://registry.npmjs.org' }
|
|
9
|
+
if (check.channel === 'tarball' && check.tarballDir !== undefined) {
|
|
10
|
+
return { channel: 'tarball', tarballDir: check.tarballDir }
|
|
11
|
+
}
|
|
12
|
+
return undefined
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* One chip naming where the next update would install from.
|
|
17
|
+
* @param props - the source, and the label lookup
|
|
18
|
+
*/
|
|
19
|
+
export function UpdateSourceChip(props: {
|
|
20
|
+
readonly source: PanelUpdateSource
|
|
21
|
+
readonly label: (key: string) => string
|
|
22
|
+
}): ReactNode {
|
|
23
|
+
const Icon = props.source.channel === 'registry' ? Globe : props.source.channel === 'tarball' ? HardDrive : Terminal
|
|
24
|
+
const title = sourceTitle(props.source)
|
|
25
|
+
return (
|
|
26
|
+
<span
|
|
27
|
+
className="inline-flex max-w-full items-center gap-1.5 rounded-full border px-2.5 py-1 text-[11px] leading-none text-muted-foreground"
|
|
28
|
+
{...title.length === 0 ? {} : { title }}
|
|
29
|
+
>
|
|
30
|
+
<Icon size={12} className="shrink-0" aria-hidden />
|
|
31
|
+
<span className="shrink-0">{props.label('update-source')}</span>
|
|
32
|
+
<span className="truncate font-mono">{sourceText(props.source, props.label)}</span>
|
|
33
|
+
</span>
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function sourceText(source: PanelUpdateSource, label: (key: string) => string): string {
|
|
38
|
+
if (source.channel === 'registry') return hostOf(source.registry)
|
|
39
|
+
if (source.channel === 'tarball') return `${label('update-source-tarball')} · ${collapseHome(source.tarballDir)}`
|
|
40
|
+
return label('update-source-none')
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** The full value, for the hover title. Empty when the source is a sentence already. */
|
|
44
|
+
function sourceTitle(source: PanelUpdateSource): string {
|
|
45
|
+
if (source.channel === 'registry') return source.registry
|
|
46
|
+
return source.channel === 'tarball' ? source.tarballDir : ''
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** `https://registry.npmjs.org/` reads as `registry.npmjs.org`. */
|
|
50
|
+
function hostOf(registry: string): string {
|
|
51
|
+
return registry.replace(/^https?:\/\//, '').replace(/\/$/, '')
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** `/Users/name/.mini-app/packages` reads as `~/.mini-app/packages`. */
|
|
55
|
+
function collapseHome(path: string): string {
|
|
56
|
+
return path.replace(/^\/(?:Users|home)\/[^/]+\//, '~/')
|
|
57
|
+
}
|
package/src/settings/view.tsx
CHANGED
|
@@ -7,7 +7,8 @@ import { Dialog } from '../ui/dialog.tsx'
|
|
|
7
7
|
import type { PaletteChip } from '../theme/client.ts'
|
|
8
8
|
import { applyDocumentMode, paintHostStyle } from '../theme/menu.tsx'
|
|
9
9
|
import { AuthorMcpInstall } from './author-mcp-view.tsx'
|
|
10
|
-
import type { PanelAbout, PanelAuthorMcpStatus, PanelPolicy, PanelRuntime, PanelSettingsClient, PanelSkillStatus, PanelUpdateCheck } from './client.ts'
|
|
10
|
+
import type { PanelAbout, PanelAuthorMcpStatus, PanelPolicy, PanelRuntime, PanelSettingsClient, PanelSkillStatus, PanelUpdateCheck, PanelUpdateSource } from './client.ts'
|
|
11
|
+
import { UpdateSourceChip } from './update-source.tsx'
|
|
11
12
|
import { CredentialSettings } from './credentials-view.tsx'
|
|
12
13
|
import { McpSettings } from './mcp-view.tsx'
|
|
13
14
|
import { SkillInstall } from './skill-install.tsx'
|
|
@@ -48,6 +49,7 @@ export function PanelSettings(props: {
|
|
|
48
49
|
const [runtimes, setRuntimes] = useState<readonly PanelRuntime[]>([])
|
|
49
50
|
const [runtimeBusy, setRuntimeBusy] = useState(false)
|
|
50
51
|
const [update, setUpdate] = useState<PanelUpdateCheck | 'checking' | 'failed' | undefined>(undefined)
|
|
52
|
+
const [about, setAbout] = useState<PanelAbout | undefined>(undefined)
|
|
51
53
|
const [restarting, setRestarting] = useState(false)
|
|
52
54
|
const [portUnlocked, setPortUnlocked] = useState(false)
|
|
53
55
|
useEffect(() => {
|
|
@@ -61,6 +63,13 @@ export function PanelSettings(props: {
|
|
|
61
63
|
if (props.hostPolicy === undefined) return
|
|
62
64
|
dispatch({ type: 'host-policy', policy: props.hostPolicy })
|
|
63
65
|
}, [props.hostPolicy])
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
// The source is a fact about this install, not a network answer, so it loads with the block.
|
|
68
|
+
if (section !== 'about' || about !== undefined) return
|
|
69
|
+
const read = props.client?.readAbout
|
|
70
|
+
if (read === undefined) return
|
|
71
|
+
void read().then(setAbout, () => undefined)
|
|
72
|
+
}, [section, about, props.client])
|
|
64
73
|
useEffect(() => {
|
|
65
74
|
if (state.closed) props.onClose?.()
|
|
66
75
|
}, [state.closed])
|
|
@@ -281,6 +290,7 @@ export function PanelSettings(props: {
|
|
|
281
290
|
<AboutSection
|
|
282
291
|
update={update}
|
|
283
292
|
label={label}
|
|
293
|
+
{...about?.source === undefined ? {} : { source: about.source }}
|
|
284
294
|
{...props.versions === undefined ? {} : { versions: props.versions }}
|
|
285
295
|
{...client.checkUpdate === undefined ? {} : { onCheck: () => { void readUpdate(client, setUpdate, props.onUpdateOffer) } }}
|
|
286
296
|
/>
|
|
@@ -445,6 +455,7 @@ function AgentSection(props: {
|
|
|
445
455
|
function AboutSection(props: {
|
|
446
456
|
readonly versions?: string
|
|
447
457
|
readonly update: PanelUpdateCheck | 'checking' | 'failed' | undefined
|
|
458
|
+
readonly source?: PanelUpdateSource
|
|
448
459
|
readonly label: (key: string) => string
|
|
449
460
|
readonly onCheck?: () => void
|
|
450
461
|
}): ReactNode {
|
|
@@ -463,6 +474,9 @@ function AboutSection(props: {
|
|
|
463
474
|
{lines.map(line => <li key={line}>{line}</li>)}
|
|
464
475
|
</ul>
|
|
465
476
|
)}
|
|
477
|
+
{props.source === undefined ? null : (
|
|
478
|
+
<div className="mb-4"><UpdateSourceChip source={props.source} label={props.label} /></div>
|
|
479
|
+
)}
|
|
466
480
|
{props.onCheck === undefined ? null : (
|
|
467
481
|
<button type="button" className="h-8 rounded-lg border px-3 text-sm hover:bg-muted" onClick={props.onCheck}>{props.label('update')}</button>
|
|
468
482
|
)}
|
package/src/surface/view.tsx
CHANGED
|
@@ -8,6 +8,7 @@ import type { HistoryClient } from '../history/client.ts'
|
|
|
8
8
|
import { isPanelLocale, panelText, type PanelLabelMode, type PanelLocale } from '../labels.ts'
|
|
9
9
|
import type { PanelPolicy, PanelSettingsClient, PanelUpdateCheck } from '../settings/client.ts'
|
|
10
10
|
import { attemptCard, UpdateDialog, type UpdateCard } from '../settings/update-dialog.tsx'
|
|
11
|
+
import { checkSource } from '../settings/update-source.tsx'
|
|
11
12
|
import { Tooltip } from '../ui/tooltip.tsx'
|
|
12
13
|
import { PanelSettings } from '../settings/view.tsx'
|
|
13
14
|
import type { StorageClient } from '../storage/client.ts'
|
|
@@ -246,10 +247,12 @@ function receiveUpdate(check: PanelUpdateCheck, settings: PanelSettingsClient |
|
|
|
246
247
|
function offerCard(check: PanelUpdateCheck): UpdateCard | undefined {
|
|
247
248
|
if (!check.updateAvailable || check.installable !== true || check.latest === null) return undefined
|
|
248
249
|
if (sessionStorage.getItem(updateDismissedKey) === check.latest) return undefined
|
|
250
|
+
const source = checkSource(check)
|
|
249
251
|
return {
|
|
250
252
|
kind: 'offer',
|
|
251
253
|
current: check.current,
|
|
252
254
|
latest: check.latest,
|
|
253
255
|
...check.channel === undefined ? {} : { channel: check.channel },
|
|
256
|
+
...source === undefined ? {} : { source },
|
|
254
257
|
}
|
|
255
258
|
}
|