@useorgx/openclaw-plugin 0.4.6 → 0.4.9
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/README.md +310 -24
- package/dashboard/dist/assets/B5NEElEI.css +1 -0
- package/dashboard/dist/assets/BhapSNAs.js +215 -0
- package/dashboard/dist/assets/iFdvE7lx.js +1 -0
- package/dashboard/dist/assets/jRJsmpYM.js +1 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/activity-actor-fields.d.ts +3 -0
- package/dist/activity-actor-fields.js +128 -0
- package/dist/activity-store.js +12 -19
- package/dist/agent-context-store.js +5 -25
- package/dist/agent-run-store.js +5 -25
- package/dist/agent-suite.js +1 -8
- package/dist/artifacts/register-artifact.d.ts +47 -0
- package/dist/artifacts/register-artifact.js +271 -0
- package/dist/auth/flows.d.ts +47 -0
- package/dist/auth/flows.js +169 -0
- package/dist/auth-store.js +14 -39
- package/dist/byok-store.js +5 -19
- package/dist/cli/orgx.d.ts +66 -0
- package/dist/cli/orgx.js +91 -0
- package/dist/config/refresh.d.ts +32 -0
- package/dist/config/refresh.js +55 -0
- package/dist/config/resolution.d.ts +37 -0
- package/dist/config/resolution.js +178 -0
- package/dist/contracts/client.d.ts +1 -0
- package/dist/contracts/client.js +7 -5
- package/dist/contracts/shared-types.d.ts +147 -0
- package/dist/contracts/shared-types.js +3 -0
- package/dist/contracts/types.d.ts +1 -130
- package/dist/contracts/types.js +5 -0
- package/dist/entities/auto-assignment.d.ts +36 -0
- package/dist/entities/auto-assignment.js +115 -0
- package/dist/entity-comment-store.js +5 -25
- package/dist/hash-utils.d.ts +2 -0
- package/dist/hash-utils.js +12 -0
- package/dist/http/helpers/activity-headline.d.ts +10 -0
- package/dist/http/helpers/activity-headline.js +192 -0
- package/dist/http/helpers/artifact-fallback.d.ts +13 -0
- package/dist/http/helpers/artifact-fallback.js +148 -0
- package/dist/http/helpers/auto-continue-engine.d.ts +298 -0
- package/dist/http/helpers/auto-continue-engine.js +1218 -0
- package/dist/http/helpers/autopilot-operations.d.ts +157 -0
- package/dist/http/helpers/autopilot-operations.js +403 -0
- package/dist/http/helpers/autopilot-runtime.d.ts +42 -0
- package/dist/http/helpers/autopilot-runtime.js +319 -0
- package/dist/http/helpers/autopilot-slice-utils.d.ts +38 -0
- package/dist/http/helpers/autopilot-slice-utils.js +476 -0
- package/dist/http/helpers/decision-mapper.d.ts +12 -0
- package/dist/http/helpers/decision-mapper.js +44 -0
- package/dist/http/helpers/dispatch-lifecycle.d.ts +102 -0
- package/dist/http/helpers/dispatch-lifecycle.js +604 -0
- package/dist/http/helpers/hash-utils.d.ts +1 -0
- package/dist/http/helpers/hash-utils.js +1 -0
- package/dist/http/helpers/kickoff-context.d.ts +12 -0
- package/dist/http/helpers/kickoff-context.js +154 -0
- package/dist/http/helpers/mission-control.d.ts +94 -0
- package/dist/http/helpers/mission-control.js +894 -0
- package/dist/http/helpers/openclaw-cli.d.ts +37 -0
- package/dist/http/helpers/openclaw-cli.js +283 -0
- package/dist/http/helpers/runtime-sse.d.ts +20 -0
- package/dist/http/helpers/runtime-sse.js +110 -0
- package/dist/http/helpers/value-utils.d.ts +6 -0
- package/dist/http/helpers/value-utils.js +67 -0
- package/dist/http/index.d.ts +88 -0
- package/dist/http/index.js +2353 -0
- package/dist/http/router.d.ts +23 -0
- package/dist/http/router.js +23 -0
- package/dist/http/routes/agent-control.d.ts +79 -0
- package/dist/http/routes/agent-control.js +684 -0
- package/dist/http/routes/agent-suite.d.ts +29 -0
- package/dist/http/routes/agent-suite.js +198 -0
- package/dist/http/routes/agents-catalog.d.ts +40 -0
- package/dist/http/routes/agents-catalog.js +83 -0
- package/dist/http/routes/billing.d.ts +23 -0
- package/dist/http/routes/billing.js +55 -0
- package/dist/http/routes/debug.d.ts +14 -0
- package/dist/http/routes/debug.js +21 -0
- package/dist/http/routes/decision-actions.d.ts +13 -0
- package/dist/http/routes/decision-actions.js +66 -0
- package/dist/http/routes/delegation.d.ts +19 -0
- package/dist/http/routes/delegation.js +32 -0
- package/dist/http/routes/entities.d.ts +47 -0
- package/dist/http/routes/entities.js +152 -0
- package/dist/http/routes/entity-dynamic.d.ts +25 -0
- package/dist/http/routes/entity-dynamic.js +191 -0
- package/dist/http/routes/health.d.ts +22 -0
- package/dist/http/routes/health.js +49 -0
- package/dist/http/routes/live-legacy.d.ts +110 -0
- package/dist/http/routes/live-legacy.js +598 -0
- package/dist/http/routes/live-misc.d.ts +69 -0
- package/dist/http/routes/live-misc.js +206 -0
- package/dist/http/routes/live-snapshot.d.ts +90 -0
- package/dist/http/routes/live-snapshot.js +297 -0
- package/dist/http/routes/mission-control-actions.d.ts +83 -0
- package/dist/http/routes/mission-control-actions.js +541 -0
- package/dist/http/routes/mission-control-read.d.ts +28 -0
- package/dist/http/routes/mission-control-read.js +67 -0
- package/dist/http/routes/onboarding.d.ts +34 -0
- package/dist/http/routes/onboarding.js +101 -0
- package/dist/http/routes/run-control.d.ts +24 -0
- package/dist/http/routes/run-control.js +86 -0
- package/dist/http/routes/runtime-hooks.d.ts +69 -0
- package/dist/http/routes/runtime-hooks.js +437 -0
- package/dist/http/routes/settings-byok.d.ts +23 -0
- package/dist/http/routes/settings-byok.js +163 -0
- package/dist/http/routes/summary.d.ts +18 -0
- package/dist/http/routes/summary.js +42 -0
- package/dist/http/routes/work-artifacts.d.ts +9 -0
- package/dist/http/routes/work-artifacts.js +36 -0
- package/dist/http/shared-state.d.ts +16 -0
- package/dist/http/shared-state.js +1 -0
- package/dist/http-handler.d.ts +1 -88
- package/dist/http-handler.js +1 -9664
- package/dist/index.js +122 -2121
- package/dist/json-utils.d.ts +1 -0
- package/dist/json-utils.js +8 -0
- package/dist/local-openclaw.js +8 -0
- package/dist/mcp-client-setup.js +75 -90
- package/dist/next-up-queue-store.js +4 -18
- package/dist/runtime-instance-store.js +8 -34
- package/dist/services/background.d.ts +23 -0
- package/dist/services/background.js +23 -0
- package/dist/services/instrumentation.d.ts +29 -0
- package/dist/services/instrumentation.js +136 -0
- package/dist/snapshot-store.js +5 -25
- package/dist/stores/json-store.d.ts +11 -0
- package/dist/stores/json-store.js +42 -0
- package/dist/sync/outbox-replay.d.ts +55 -0
- package/dist/sync/outbox-replay.js +514 -0
- package/dist/tools/core-tools.d.ts +76 -0
- package/dist/tools/core-tools.js +1005 -0
- package/dist/worker-supervisor.js +15 -0
- package/package.json +6 -1
- package/dashboard/dist/assets/0tOC3wSN.js +0 -214
- package/dashboard/dist/assets/Bm8QnMJ_.js +0 -1
- package/dashboard/dist/assets/CyxZio4Y.js +0 -1
- package/dashboard/dist/assets/DaAIOik3.css +0 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export function registerSummaryRoutes(router, deps) {
|
|
2
|
+
router.add("HEAD", "status", async ({ res }) => {
|
|
3
|
+
let snapshot = deps.getSnapshot();
|
|
4
|
+
if (!snapshot) {
|
|
5
|
+
try {
|
|
6
|
+
snapshot = await deps.getOrgSnapshot();
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
// use null snapshot
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
deps.writeHead(res, snapshot ? 200 : 503, {
|
|
13
|
+
...deps.securityHeaders,
|
|
14
|
+
...deps.corsHeaders,
|
|
15
|
+
});
|
|
16
|
+
deps.end(res);
|
|
17
|
+
}, "Status probe (HEAD)");
|
|
18
|
+
router.add("GET", "status", async ({ res }) => {
|
|
19
|
+
let snapshot = deps.getSnapshot();
|
|
20
|
+
if (!snapshot) {
|
|
21
|
+
try {
|
|
22
|
+
snapshot = await deps.getOrgSnapshot();
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// use null snapshot
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
deps.sendJson(res, 200, deps.formatStatus(snapshot));
|
|
29
|
+
}, "Status snapshot");
|
|
30
|
+
router.add("GET", "agents", ({ res }) => {
|
|
31
|
+
deps.sendJson(res, 200, deps.formatAgents(deps.getSnapshot()));
|
|
32
|
+
}, "Agent summary");
|
|
33
|
+
router.add("GET", "activity", ({ res }) => {
|
|
34
|
+
deps.sendJson(res, 200, deps.formatActivity(deps.getSnapshot()));
|
|
35
|
+
}, "Activity summary");
|
|
36
|
+
router.add("GET", "initiatives", ({ res }) => {
|
|
37
|
+
deps.sendJson(res, 200, deps.formatInitiatives(deps.getSnapshot()));
|
|
38
|
+
}, "Initiatives summary");
|
|
39
|
+
router.add("GET", "onboarding", async ({ res }) => {
|
|
40
|
+
deps.sendJson(res, 200, await deps.getOnboardingState());
|
|
41
|
+
}, "Legacy onboarding state endpoint");
|
|
42
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Router } from "../router.js";
|
|
2
|
+
type RegisterWorkArtifactsRoutesDeps<TRes> = {
|
|
3
|
+
rawRequest: (method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE", path: string, body?: unknown) => Promise<unknown>;
|
|
4
|
+
buildLocalArtifactDetailFallback: (artifactId: string, warning: string) => Record<string, unknown> | null;
|
|
5
|
+
sendJson: (res: TRes, status: number, payload: unknown) => void;
|
|
6
|
+
safeErrorMessage: (err: unknown) => string;
|
|
7
|
+
};
|
|
8
|
+
export declare function registerWorkArtifactsRoutes<TReq, TRes>(router: Router<Record<string, never>, TReq, TRes>, deps: RegisterWorkArtifactsRoutesDeps<TRes>): void;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export function registerWorkArtifactsRoutes(router, deps) {
|
|
2
|
+
router.add("GET", "work-artifacts/by-entity", async ({ query, res }) => {
|
|
3
|
+
try {
|
|
4
|
+
const qs = query.toString();
|
|
5
|
+
const path = `/api/work-artifacts/by-entity${qs ? `?${qs}` : ""}`;
|
|
6
|
+
const data = await deps.rawRequest("GET", path);
|
|
7
|
+
deps.sendJson(res, 200, data);
|
|
8
|
+
}
|
|
9
|
+
catch (err) {
|
|
10
|
+
deps.sendJson(res, 502, { error: deps.safeErrorMessage(err) });
|
|
11
|
+
}
|
|
12
|
+
}, "Work artifacts by entity");
|
|
13
|
+
router.add("GET", "artifacts/*", async ({ path, res }) => {
|
|
14
|
+
const artifactDetailMatch = path.match(/^artifacts\/([^/]+)$/);
|
|
15
|
+
if (!artifactDetailMatch) {
|
|
16
|
+
deps.sendJson(res, 404, { error: "Unknown API endpoint" });
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const artifactId = decodeURIComponent(artifactDetailMatch[1]);
|
|
20
|
+
try {
|
|
21
|
+
const upstreamPath = `/api/artifacts/${encodeURIComponent(artifactId)}`;
|
|
22
|
+
const data = await deps.rawRequest("GET", upstreamPath);
|
|
23
|
+
deps.sendJson(res, 200, data);
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
const warning = deps.safeErrorMessage(err);
|
|
27
|
+
const fallback = deps.buildLocalArtifactDetailFallback(artifactId, warning);
|
|
28
|
+
if (fallback) {
|
|
29
|
+
deps.sendJson(res, 200, fallback);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
deps.sendJson(res, 502, { error: warning });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}, "Artifact detail");
|
|
36
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { OutboxAdapter } from "../adapters/outbox.js";
|
|
2
|
+
import type { OrgXClient } from "../api.js";
|
|
3
|
+
import type { OrgXConfig, OrgSnapshot } from "../types.js";
|
|
4
|
+
/**
|
|
5
|
+
* SharedState is the dependency bag used by extracted HTTP route modules.
|
|
6
|
+
* Start intentionally small and widen as route groups are migrated.
|
|
7
|
+
*/
|
|
8
|
+
export interface SharedState {
|
|
9
|
+
client: OrgXClient;
|
|
10
|
+
config: OrgXConfig;
|
|
11
|
+
outbox: OutboxAdapter;
|
|
12
|
+
getCachedSnapshot: () => OrgSnapshot | null;
|
|
13
|
+
doSync: () => Promise<void>;
|
|
14
|
+
tickAllAutoContinue: () => Promise<void>;
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/http-handler.d.ts
CHANGED
|
@@ -1,88 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* HTTP Handler — Serves the React dashboard SPA and API proxy endpoints.
|
|
3
|
-
*
|
|
4
|
-
* Registered at the `/orgx` prefix. Handles:
|
|
5
|
-
* /orgx/live → dashboard SPA (index.html)
|
|
6
|
-
* /orgx/live/assets/* → static assets (JS, CSS, images)
|
|
7
|
-
* /orgx/api/status → org status summary
|
|
8
|
-
* /orgx/api/agents → agent states
|
|
9
|
-
* /orgx/api/activity → activity feed
|
|
10
|
-
* /orgx/api/initiatives → initiative data
|
|
11
|
-
* /orgx/api/health → plugin diagnostics + outbox/sync status
|
|
12
|
-
* /orgx/api/onboarding → onboarding / config state
|
|
13
|
-
* /orgx/api/agent-suite/status → suite provisioning plan (OpenClaw-local)
|
|
14
|
-
* /orgx/api/agent-suite/install → install/update suite (OpenClaw-local)
|
|
15
|
-
* /orgx/api/delegation/preflight → delegation preflight
|
|
16
|
-
* /orgx/api/runs/:id/checkpoints → list/create checkpoints
|
|
17
|
-
* /orgx/api/runs/:id/checkpoints/:checkpointId/restore → restore checkpoint
|
|
18
|
-
* /orgx/api/runs/:id/actions/:action → run control action
|
|
19
|
-
*/
|
|
20
|
-
import type { OrgXClient } from "./api.js";
|
|
21
|
-
import type { OnboardingState, OrgXConfig, OrgSnapshot } from "./types.js";
|
|
22
|
-
import { type OutboxAdapter } from "./adapters/outbox.js";
|
|
23
|
-
type OpenClawAdapter = {
|
|
24
|
-
listAgents?: () => Promise<Array<Record<string, unknown>>>;
|
|
25
|
-
spawnAgentTurn?: (input: {
|
|
26
|
-
agentId: string;
|
|
27
|
-
sessionId: string;
|
|
28
|
-
message: string;
|
|
29
|
-
thinking?: string | null;
|
|
30
|
-
}) => {
|
|
31
|
-
pid: number | null;
|
|
32
|
-
};
|
|
33
|
-
stopDetachedProcess?: (pid: number) => Promise<{
|
|
34
|
-
stopped: boolean;
|
|
35
|
-
wasRunning: boolean;
|
|
36
|
-
}>;
|
|
37
|
-
isPidAlive?: (pid: number) => boolean;
|
|
38
|
-
};
|
|
39
|
-
interface PluginRequest {
|
|
40
|
-
method?: string;
|
|
41
|
-
url?: string;
|
|
42
|
-
headers: Record<string, string | string[] | undefined>;
|
|
43
|
-
body?: unknown;
|
|
44
|
-
on?: (event: string, listener: (...args: unknown[]) => void) => void;
|
|
45
|
-
once?: (event: string, listener: (...args: unknown[]) => void) => void;
|
|
46
|
-
}
|
|
47
|
-
interface PluginResponse {
|
|
48
|
-
writeHead(status: number, headers?: Record<string, string>): void;
|
|
49
|
-
end(body?: string | Buffer): void;
|
|
50
|
-
write?(chunk: string | Buffer): boolean | void;
|
|
51
|
-
on?: (event: string, listener: (...args: unknown[]) => void) => void;
|
|
52
|
-
once?: (event: string, listener: (...args: unknown[]) => void) => void;
|
|
53
|
-
writableEnded?: boolean;
|
|
54
|
-
}
|
|
55
|
-
interface OnboardingController {
|
|
56
|
-
getState: () => OnboardingState;
|
|
57
|
-
startPairing: (input: {
|
|
58
|
-
openclawVersion?: string;
|
|
59
|
-
platform?: string;
|
|
60
|
-
deviceName?: string;
|
|
61
|
-
}) => Promise<{
|
|
62
|
-
pairingId: string;
|
|
63
|
-
connectUrl: string;
|
|
64
|
-
expiresAt: string;
|
|
65
|
-
pollIntervalMs: number;
|
|
66
|
-
state: OnboardingState;
|
|
67
|
-
}>;
|
|
68
|
-
getStatus: () => Promise<OnboardingState>;
|
|
69
|
-
submitManualKey: (input: {
|
|
70
|
-
apiKey: string;
|
|
71
|
-
userId?: string;
|
|
72
|
-
}) => Promise<OnboardingState>;
|
|
73
|
-
disconnect: () => Promise<OnboardingState>;
|
|
74
|
-
}
|
|
75
|
-
interface DiagnosticsProvider {
|
|
76
|
-
getHealth?: (input?: {
|
|
77
|
-
probeRemote?: boolean;
|
|
78
|
-
}) => Promise<unknown>;
|
|
79
|
-
}
|
|
80
|
-
export declare function createHttpHandler(config: OrgXConfig & {
|
|
81
|
-
dashboardEnabled?: boolean;
|
|
82
|
-
pluginVersion?: string;
|
|
83
|
-
installationId?: string | null;
|
|
84
|
-
}, client: OrgXClient, getSnapshot: () => OrgSnapshot | null, onboarding: OnboardingController, diagnostics?: DiagnosticsProvider, adapters?: {
|
|
85
|
-
outbox?: OutboxAdapter;
|
|
86
|
-
openclaw?: OpenClawAdapter;
|
|
87
|
-
}): (req: PluginRequest, res: PluginResponse) => Promise<boolean>;
|
|
88
|
-
export {};
|
|
1
|
+
export { createHttpHandler } from "./http/index.js";
|