toolhome 0.5.0
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/LICENSE +21 -0
- package/README.md +295 -0
- package/README.zh.md +281 -0
- package/dist/server/app.d.ts +16 -0
- package/dist/server/app.d.ts.map +1 -0
- package/dist/server/app.js +166 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/cli/main.d.ts +3 -0
- package/dist/server/cli/main.d.ts.map +1 -0
- package/dist/server/cli/main.js +587 -0
- package/dist/server/cli/main.js.map +1 -0
- package/dist/server/cli-plane/allow-list.d.ts +18 -0
- package/dist/server/cli-plane/allow-list.d.ts.map +1 -0
- package/dist/server/cli-plane/allow-list.js +28 -0
- package/dist/server/cli-plane/allow-list.js.map +1 -0
- package/dist/server/cli-plane/cli-service.d.ts +41 -0
- package/dist/server/cli-plane/cli-service.d.ts.map +1 -0
- package/dist/server/cli-plane/cli-service.js +282 -0
- package/dist/server/cli-plane/cli-service.js.map +1 -0
- package/dist/server/cli-plane/frames.d.ts +26 -0
- package/dist/server/cli-plane/frames.d.ts.map +1 -0
- package/dist/server/cli-plane/frames.js +12 -0
- package/dist/server/cli-plane/frames.js.map +1 -0
- package/dist/server/cli-plane/models.d.ts +174 -0
- package/dist/server/cli-plane/models.d.ts.map +1 -0
- package/dist/server/cli-plane/models.js +169 -0
- package/dist/server/cli-plane/models.js.map +1 -0
- package/dist/server/cli-plane/routes.d.ts +32 -0
- package/dist/server/cli-plane/routes.d.ts.map +1 -0
- package/dist/server/cli-plane/routes.js +94 -0
- package/dist/server/cli-plane/routes.js.map +1 -0
- package/dist/server/cli-plane/runner.d.ts +41 -0
- package/dist/server/cli-plane/runner.d.ts.map +1 -0
- package/dist/server/cli-plane/runner.js +163 -0
- package/dist/server/cli-plane/runner.js.map +1 -0
- package/dist/server/cli-plane/status.d.ts +12 -0
- package/dist/server/cli-plane/status.d.ts.map +1 -0
- package/dist/server/cli-plane/status.js +24 -0
- package/dist/server/cli-plane/status.js.map +1 -0
- package/dist/server/config/harness-import.d.ts +44 -0
- package/dist/server/config/harness-import.d.ts.map +1 -0
- package/dist/server/config/harness-import.js +166 -0
- package/dist/server/config/harness-import.js.map +1 -0
- package/dist/server/config.d.ts +20 -0
- package/dist/server/config.d.ts.map +1 -0
- package/dist/server/config.js +80 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/control/client.d.ts +24 -0
- package/dist/server/control/client.d.ts.map +1 -0
- package/dist/server/control/client.js +115 -0
- package/dist/server/control/client.js.map +1 -0
- package/dist/server/control/control-api.d.ts +39 -0
- package/dist/server/control/control-api.d.ts.map +1 -0
- package/dist/server/control/control-api.js +291 -0
- package/dist/server/control/control-api.js.map +1 -0
- package/dist/server/control/control-service.d.ts +713 -0
- package/dist/server/control/control-service.d.ts.map +1 -0
- package/dist/server/control/control-service.js +693 -0
- package/dist/server/control/control-service.js.map +1 -0
- package/dist/server/control/openapi.d.ts +2 -0
- package/dist/server/control/openapi.d.ts.map +1 -0
- package/dist/server/control/openapi.js +370 -0
- package/dist/server/control/openapi.js.map +1 -0
- package/dist/server/data-plane/data-plane.d.ts +20 -0
- package/dist/server/data-plane/data-plane.d.ts.map +1 -0
- package/dist/server/data-plane/data-plane.js +335 -0
- package/dist/server/data-plane/data-plane.js.map +1 -0
- package/dist/server/data-plane/gateway-server.d.ts +13 -0
- package/dist/server/data-plane/gateway-server.d.ts.map +1 -0
- package/dist/server/data-plane/gateway-server.js +796 -0
- package/dist/server/data-plane/gateway-server.js.map +1 -0
- package/dist/server/data-plane/legacy-session.d.ts +18 -0
- package/dist/server/data-plane/legacy-session.d.ts.map +1 -0
- package/dist/server/data-plane/legacy-session.js +137 -0
- package/dist/server/data-plane/legacy-session.js.map +1 -0
- package/dist/server/data-plane/projection.d.ts +18 -0
- package/dist/server/data-plane/projection.d.ts.map +1 -0
- package/dist/server/data-plane/projection.js +44 -0
- package/dist/server/data-plane/projection.js.map +1 -0
- package/dist/server/data-plane/registry.d.ts +31 -0
- package/dist/server/data-plane/registry.d.ts.map +1 -0
- package/dist/server/data-plane/registry.js +129 -0
- package/dist/server/data-plane/registry.js.map +1 -0
- package/dist/server/data-plane/task-extension.d.ts +7 -0
- package/dist/server/data-plane/task-extension.d.ts.map +1 -0
- package/dist/server/data-plane/task-extension.js +33 -0
- package/dist/server/data-plane/task-extension.js.map +1 -0
- package/dist/server/data-plane/virtualization.d.ts +35 -0
- package/dist/server/data-plane/virtualization.d.ts.map +1 -0
- package/dist/server/data-plane/virtualization.js +228 -0
- package/dist/server/data-plane/virtualization.js.map +1 -0
- package/dist/server/domain/errors.d.ts +9 -0
- package/dist/server/domain/errors.d.ts.map +1 -0
- package/dist/server/domain/errors.js +19 -0
- package/dist/server/domain/errors.js.map +1 -0
- package/dist/server/domain/models.d.ts +720 -0
- package/dist/server/domain/models.d.ts.map +1 -0
- package/dist/server/domain/models.js +327 -0
- package/dist/server/domain/models.js.map +1 -0
- package/dist/server/main.d.ts +2 -0
- package/dist/server/main.d.ts.map +1 -0
- package/dist/server/main.js +37 -0
- package/dist/server/main.js.map +1 -0
- package/dist/server/manage/management-mcp.d.ts +27 -0
- package/dist/server/manage/management-mcp.d.ts.map +1 -0
- package/dist/server/manage/management-mcp.js +431 -0
- package/dist/server/manage/management-mcp.js.map +1 -0
- package/dist/server/market/catalog.d.ts +111 -0
- package/dist/server/market/catalog.d.ts.map +1 -0
- package/dist/server/market/catalog.js +784 -0
- package/dist/server/market/catalog.js.map +1 -0
- package/dist/server/market/installers.d.ts +64 -0
- package/dist/server/market/installers.d.ts.map +1 -0
- package/dist/server/market/installers.js +181 -0
- package/dist/server/market/installers.js.map +1 -0
- package/dist/server/market/market-service.d.ts +146 -0
- package/dist/server/market/market-service.d.ts.map +1 -0
- package/dist/server/market/market-service.js +930 -0
- package/dist/server/market/market-service.js.map +1 -0
- package/dist/server/observability/call-recorder.d.ts +22 -0
- package/dist/server/observability/call-recorder.d.ts.map +1 -0
- package/dist/server/observability/call-recorder.js +99 -0
- package/dist/server/observability/call-recorder.js.map +1 -0
- package/dist/server/observability/logger.d.ts +16 -0
- package/dist/server/observability/logger.d.ts.map +1 -0
- package/dist/server/observability/logger.js +25 -0
- package/dist/server/observability/logger.js.map +1 -0
- package/dist/server/security/api-keys.d.ts +15 -0
- package/dist/server/security/api-keys.d.ts.map +1 -0
- package/dist/server/security/api-keys.js +35 -0
- package/dist/server/security/api-keys.js.map +1 -0
- package/dist/server/security/auth-service.d.ts +26 -0
- package/dist/server/security/auth-service.d.ts.map +1 -0
- package/dist/server/security/auth-service.js +76 -0
- package/dist/server/security/auth-service.js.map +1 -0
- package/dist/server/security/control-session.d.ts +9 -0
- package/dist/server/security/control-session.d.ts.map +1 -0
- package/dist/server/security/control-session.js +51 -0
- package/dist/server/security/control-session.js.map +1 -0
- package/dist/server/security/credential-materializer.d.ts +20 -0
- package/dist/server/security/credential-materializer.d.ts.map +1 -0
- package/dist/server/security/credential-materializer.js +82 -0
- package/dist/server/security/credential-materializer.js.map +1 -0
- package/dist/server/security/cursor-codec.d.ts +13 -0
- package/dist/server/security/cursor-codec.d.ts.map +1 -0
- package/dist/server/security/cursor-codec.js +43 -0
- package/dist/server/security/cursor-codec.js.map +1 -0
- package/dist/server/security/oauth-routes.d.ts +21 -0
- package/dist/server/security/oauth-routes.d.ts.map +1 -0
- package/dist/server/security/oauth-routes.js +100 -0
- package/dist/server/security/oauth-routes.js.map +1 -0
- package/dist/server/security/oauth-server.d.ts +16 -0
- package/dist/server/security/oauth-server.d.ts.map +1 -0
- package/dist/server/security/oauth-server.js +544 -0
- package/dist/server/security/oauth-server.js.map +1 -0
- package/dist/server/security/secret-box.d.ts +7 -0
- package/dist/server/security/secret-box.d.ts.map +1 -0
- package/dist/server/security/secret-box.js +27 -0
- package/dist/server/security/secret-box.js.map +1 -0
- package/dist/server/security/secure-action.d.ts +21 -0
- package/dist/server/security/secure-action.d.ts.map +1 -0
- package/dist/server/security/secure-action.js +69 -0
- package/dist/server/security/secure-action.js.map +1 -0
- package/dist/server/storage/sqlite-store.d.ts +70 -0
- package/dist/server/storage/sqlite-store.d.ts.map +1 -0
- package/dist/server/storage/sqlite-store.js +1522 -0
- package/dist/server/storage/sqlite-store.js.map +1 -0
- package/dist/server/storage/store.d.ts +82 -0
- package/dist/server/storage/store.d.ts.map +1 -0
- package/dist/server/storage/store.js +2 -0
- package/dist/server/storage/store.js.map +1 -0
- package/dist/server/upstream/adapter.d.ts +52 -0
- package/dist/server/upstream/adapter.d.ts.map +1 -0
- package/dist/server/upstream/adapter.js +807 -0
- package/dist/server/upstream/adapter.js.map +1 -0
- package/dist/server/upstream/credential-resolver.d.ts +14 -0
- package/dist/server/upstream/credential-resolver.d.ts.map +1 -0
- package/dist/server/upstream/credential-resolver.js +56 -0
- package/dist/server/upstream/credential-resolver.js.map +1 -0
- package/dist/server/upstream/extension-transport.d.ts +17 -0
- package/dist/server/upstream/extension-transport.d.ts.map +1 -0
- package/dist/server/upstream/extension-transport.js +207 -0
- package/dist/server/upstream/extension-transport.js.map +1 -0
- package/dist/server/upstream/manager.d.ts +23 -0
- package/dist/server/upstream/manager.d.ts.map +1 -0
- package/dist/server/upstream/manager.js +324 -0
- package/dist/server/upstream/manager.js.map +1 -0
- package/dist/server/upstream/oauth-provider.d.ts +38 -0
- package/dist/server/upstream/oauth-provider.d.ts.map +1 -0
- package/dist/server/upstream/oauth-provider.js +225 -0
- package/dist/server/upstream/oauth-provider.js.map +1 -0
- package/dist/server/upstream/oauth-refresh.d.ts +65 -0
- package/dist/server/upstream/oauth-refresh.d.ts.map +1 -0
- package/dist/server/upstream/oauth-refresh.js +240 -0
- package/dist/server/upstream/oauth-refresh.js.map +1 -0
- package/dist/server/upstream/oauth-routes.d.ts +17 -0
- package/dist/server/upstream/oauth-routes.d.ts.map +1 -0
- package/dist/server/upstream/oauth-routes.js +87 -0
- package/dist/server/upstream/oauth-routes.js.map +1 -0
- package/dist/server/upstream/oauth-service.d.ts +143 -0
- package/dist/server/upstream/oauth-service.d.ts.map +1 -0
- package/dist/server/upstream/oauth-service.js +217 -0
- package/dist/server/upstream/oauth-service.js.map +1 -0
- package/dist/server/upstream/stable-json.d.ts +3 -0
- package/dist/server/upstream/stable-json.d.ts.map +1 -0
- package/dist/server/upstream/stable-json.js +17 -0
- package/dist/server/upstream/stable-json.js.map +1 -0
- package/package.json +69 -0
- package/skills/toolhome/SKILL.md +238 -0
- package/skills/toolhome/references/cli-reference.md +242 -0
- package/skills/toolhome/references/deployment.md +113 -0
- package/skills/toolhome/references/market-guide.md +128 -0
- package/skills/toolhome/references/oauth-guide.md +96 -0
- package/skills/toolhome/references/troubleshooting.md +133 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { createHash, createHmac, timingSafeEqual } from 'node:crypto';
|
|
2
|
+
import { AppError } from '../domain/errors.js';
|
|
3
|
+
const ACTION_TTL_MS = 15 * 60 * 1000;
|
|
4
|
+
/**
|
|
5
|
+
* One-time, short-lived, principal-bound actions used for URL-mode secret
|
|
6
|
+
* elicitation. The URL only ever carries the action id + an HMAC signature;
|
|
7
|
+
* the secret itself never leaves the user's browser/control session and never
|
|
8
|
+
* travels through tool arguments or results.
|
|
9
|
+
*/
|
|
10
|
+
export class SecureActionService {
|
|
11
|
+
#store;
|
|
12
|
+
#key;
|
|
13
|
+
#publicUrl;
|
|
14
|
+
constructor(store, masterKey, publicUrl) {
|
|
15
|
+
this.#store = store;
|
|
16
|
+
this.#key = createHash('sha256').update(masterKey).digest();
|
|
17
|
+
this.#publicUrl = publicUrl;
|
|
18
|
+
}
|
|
19
|
+
create(kind, target, principalId, ttlMs = ACTION_TTL_MS) {
|
|
20
|
+
const action = this.#store.createSecureAction({
|
|
21
|
+
kind,
|
|
22
|
+
target,
|
|
23
|
+
principalId,
|
|
24
|
+
status: 'pending',
|
|
25
|
+
valuesJson: '{}',
|
|
26
|
+
expiresAt: new Date(Date.now() + ttlMs).toISOString(),
|
|
27
|
+
completedAt: null,
|
|
28
|
+
});
|
|
29
|
+
const token = this.#mint(action);
|
|
30
|
+
return { action, token, url: this.#url(action, token) };
|
|
31
|
+
}
|
|
32
|
+
/** Verify token + expiry + one-time use; the token carries the principal binding. */
|
|
33
|
+
verify(id, token, principalId) {
|
|
34
|
+
const action = this.#store.getSecureAction(id);
|
|
35
|
+
if (!action)
|
|
36
|
+
throw new AppError('secure_action_not_found', 'Secure action not found', 404);
|
|
37
|
+
if (action.status !== 'pending') {
|
|
38
|
+
throw new AppError('secure_action_used', 'Secure action was already used', 400);
|
|
39
|
+
}
|
|
40
|
+
if (Date.parse(action.expiresAt) < Date.now()) {
|
|
41
|
+
throw new AppError('secure_action_expired', 'Secure action has expired', 400);
|
|
42
|
+
}
|
|
43
|
+
this.#verifyToken(action, token, principalId);
|
|
44
|
+
return action;
|
|
45
|
+
}
|
|
46
|
+
complete(id, token, principalId, values) {
|
|
47
|
+
this.verify(id, token, principalId);
|
|
48
|
+
return this.#store.completeSecureAction(id, JSON.stringify(values), new Date().toISOString());
|
|
49
|
+
}
|
|
50
|
+
#verifyToken(action, token, principalId) {
|
|
51
|
+
if (principalId !== undefined && action.principalId !== principalId) {
|
|
52
|
+
throw new AppError('forbidden', 'Secure action belongs to another principal', 403);
|
|
53
|
+
}
|
|
54
|
+
const expected = this.#mint(action);
|
|
55
|
+
const actual = Buffer.from(token);
|
|
56
|
+
const check = Buffer.from(expected);
|
|
57
|
+
if (actual.length !== check.length || !timingSafeEqual(actual, check)) {
|
|
58
|
+
throw new AppError('secure_action_invalid', 'Invalid secure action token', 400);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
#mint(action) {
|
|
62
|
+
const payload = `${action.id}.${action.kind}.${action.target}.${action.principalId}.${action.expiresAt}`;
|
|
63
|
+
return createHmac('sha256', this.#key).update(payload).digest('hex');
|
|
64
|
+
}
|
|
65
|
+
#url(action, token) {
|
|
66
|
+
return new URL(`/market/actions/${action.id}?token=${encodeURIComponent(token)}`, this.#publicUrl).toString();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=secure-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secure-action.js","sourceRoot":"","sources":["../../../src/security/secure-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { type CliRecord, type CreateCliInput, type UpdateCliInput } from '../cli-plane/models.js';
|
|
2
|
+
import { type ApiKeyKind, type ApiKeyRecord, type CapabilitySnapshot, type CreateCredentialInput, type CreateServerInput, type CredentialPayload, type CredentialRecord, type EventRecord, type InstallJobRecord, type MarketInstallation, type RuntimeState, type SecureActionRecord, type ServerProjection, type ServerRecord, type ToolCallDraft, type ToolCallFilter, type ToolCallRecord, type ToolCallSeriesBucket, type ToolCallSeriesQuery, type ToolCallStats, type ToolProjection, type UpdateCredentialInput, type UpdateServerInput, type Visibility } from '../domain/models.js';
|
|
3
|
+
import type { SecretBox } from '../security/secret-box.js';
|
|
4
|
+
import type { CreateKeyInput, ProjectionIndex, Store, StoredApiKey } from './store.js';
|
|
5
|
+
export declare class SqliteStore implements Store {
|
|
6
|
+
#private;
|
|
7
|
+
constructor(databasePath: string, secrets: SecretBox);
|
|
8
|
+
close(): void;
|
|
9
|
+
transaction<T>(operation: () => T): T;
|
|
10
|
+
listServers(): ServerRecord[];
|
|
11
|
+
getServer(id: string): ServerRecord | null;
|
|
12
|
+
getServerBySlug(slug: string): ServerRecord | null;
|
|
13
|
+
createServer(input: CreateServerInput): ServerRecord;
|
|
14
|
+
updateServer(id: string, input: UpdateServerInput): ServerRecord;
|
|
15
|
+
deleteServer(id: string): void;
|
|
16
|
+
listClis(): CliRecord[];
|
|
17
|
+
getCli(id: string): CliRecord | null;
|
|
18
|
+
getCliBySlug(slug: string): CliRecord | null;
|
|
19
|
+
createCli(input: CreateCliInput): CliRecord;
|
|
20
|
+
updateCli(id: string, input: UpdateCliInput): CliRecord;
|
|
21
|
+
deleteCli(id: string): void;
|
|
22
|
+
listCredentials(): CredentialRecord[];
|
|
23
|
+
getCredential(id: string): CredentialRecord | null;
|
|
24
|
+
getCredentialPayload(id: string): CredentialPayload | null;
|
|
25
|
+
createCredential(input: CreateCredentialInput): CredentialRecord;
|
|
26
|
+
updateCredential(id: string, input: UpdateCredentialInput): CredentialRecord;
|
|
27
|
+
deleteCredential(id: string): void;
|
|
28
|
+
listApiKeys(kind: ApiKeyKind): ApiKeyRecord[];
|
|
29
|
+
createApiKey(input: CreateKeyInput): ApiKeyRecord;
|
|
30
|
+
getApiKey(id: string, kind: ApiKeyKind): ApiKeyRecord | null;
|
|
31
|
+
getApiKeyByDigest(kind: ApiKeyKind, digest: string): StoredApiKey | null;
|
|
32
|
+
revokeApiKey(id: string, kind: ApiKeyKind): void;
|
|
33
|
+
touchApiKey(id: string): void;
|
|
34
|
+
getSnapshot(serverId: string): CapabilitySnapshot | null;
|
|
35
|
+
saveSnapshot(snapshot: CapabilitySnapshot): CapabilitySnapshot;
|
|
36
|
+
deleteSnapshot(serverId: string): void;
|
|
37
|
+
getRuntimeState(serverId: string): RuntimeState | null;
|
|
38
|
+
saveRuntimeState(state: RuntimeState): RuntimeState;
|
|
39
|
+
appendEvent(event: Omit<EventRecord, 'id' | 'createdAt'>): EventRecord;
|
|
40
|
+
listEvents(options?: {
|
|
41
|
+
serverId?: string;
|
|
42
|
+
limit?: number;
|
|
43
|
+
level?: EventRecord['level'];
|
|
44
|
+
plane?: 'mcp' | 'cli';
|
|
45
|
+
}): EventRecord[];
|
|
46
|
+
getServerProjection(serverId: string): ServerProjection | null;
|
|
47
|
+
setServerProjection(serverId: string, defaultVisibility: Visibility): ServerProjection;
|
|
48
|
+
listToolProjections(serverId?: string): ToolProjection[];
|
|
49
|
+
setToolProjection(serverId: string, toolName: string, visibility: ToolProjection['visibility']): void;
|
|
50
|
+
getProjectionIndex(): ProjectionIndex;
|
|
51
|
+
insertToolCalls(calls: ToolCallDraft[]): number;
|
|
52
|
+
listToolCalls(filter: ToolCallFilter): ToolCallRecord[];
|
|
53
|
+
countToolCalls(filter: ToolCallFilter): number;
|
|
54
|
+
toolCallStats(filter: Omit<ToolCallFilter, 'limit' | 'offset'>): ToolCallStats;
|
|
55
|
+
toolCallSeries(query: ToolCallSeriesQuery): ToolCallSeriesBucket[];
|
|
56
|
+
deleteOldToolCalls(before: string): number;
|
|
57
|
+
listInstallations(): MarketInstallation[];
|
|
58
|
+
getInstallation(entryId: string): MarketInstallation | null;
|
|
59
|
+
createInstallation(input: Omit<MarketInstallation, 'id' | 'installedAt'>): MarketInstallation;
|
|
60
|
+
updateInstallation(id: string, patch: Partial<Pick<MarketInstallation, 'entryVersion' | 'recipeRevision'>>): MarketInstallation;
|
|
61
|
+
deleteInstallation(id: string): void;
|
|
62
|
+
createInstallJob(input: Omit<InstallJobRecord, 'id' | 'createdAt' | 'updatedAt'>): InstallJobRecord;
|
|
63
|
+
getInstallJob(id: string): InstallJobRecord | null;
|
|
64
|
+
updateInstallJob(id: string, patch: Partial<InstallJobRecord>): InstallJobRecord;
|
|
65
|
+
markInterruptedInstallJobs(): number;
|
|
66
|
+
createSecureAction(input: Omit<SecureActionRecord, 'id' | 'createdAt'>): SecureActionRecord;
|
|
67
|
+
getSecureAction(id: string): SecureActionRecord | null;
|
|
68
|
+
completeSecureAction(id: string, valuesJson: string, completedAt: string): SecureActionRecord;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=sqlite-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../../src/storage/sqlite-store.ts"],"names":[],"mappings":"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"}
|