@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.
Files changed (137) hide show
  1. package/README.md +310 -24
  2. package/dashboard/dist/assets/B5NEElEI.css +1 -0
  3. package/dashboard/dist/assets/BhapSNAs.js +215 -0
  4. package/dashboard/dist/assets/iFdvE7lx.js +1 -0
  5. package/dashboard/dist/assets/jRJsmpYM.js +1 -0
  6. package/dashboard/dist/index.html +2 -2
  7. package/dist/activity-actor-fields.d.ts +3 -0
  8. package/dist/activity-actor-fields.js +128 -0
  9. package/dist/activity-store.js +12 -19
  10. package/dist/agent-context-store.js +5 -25
  11. package/dist/agent-run-store.js +5 -25
  12. package/dist/agent-suite.js +1 -8
  13. package/dist/artifacts/register-artifact.d.ts +47 -0
  14. package/dist/artifacts/register-artifact.js +271 -0
  15. package/dist/auth/flows.d.ts +47 -0
  16. package/dist/auth/flows.js +169 -0
  17. package/dist/auth-store.js +14 -39
  18. package/dist/byok-store.js +5 -19
  19. package/dist/cli/orgx.d.ts +66 -0
  20. package/dist/cli/orgx.js +91 -0
  21. package/dist/config/refresh.d.ts +32 -0
  22. package/dist/config/refresh.js +55 -0
  23. package/dist/config/resolution.d.ts +37 -0
  24. package/dist/config/resolution.js +178 -0
  25. package/dist/contracts/client.d.ts +1 -0
  26. package/dist/contracts/client.js +7 -5
  27. package/dist/contracts/shared-types.d.ts +147 -0
  28. package/dist/contracts/shared-types.js +3 -0
  29. package/dist/contracts/types.d.ts +1 -130
  30. package/dist/contracts/types.js +5 -0
  31. package/dist/entities/auto-assignment.d.ts +36 -0
  32. package/dist/entities/auto-assignment.js +115 -0
  33. package/dist/entity-comment-store.js +5 -25
  34. package/dist/hash-utils.d.ts +2 -0
  35. package/dist/hash-utils.js +12 -0
  36. package/dist/http/helpers/activity-headline.d.ts +10 -0
  37. package/dist/http/helpers/activity-headline.js +192 -0
  38. package/dist/http/helpers/artifact-fallback.d.ts +13 -0
  39. package/dist/http/helpers/artifact-fallback.js +148 -0
  40. package/dist/http/helpers/auto-continue-engine.d.ts +298 -0
  41. package/dist/http/helpers/auto-continue-engine.js +1218 -0
  42. package/dist/http/helpers/autopilot-operations.d.ts +157 -0
  43. package/dist/http/helpers/autopilot-operations.js +403 -0
  44. package/dist/http/helpers/autopilot-runtime.d.ts +42 -0
  45. package/dist/http/helpers/autopilot-runtime.js +319 -0
  46. package/dist/http/helpers/autopilot-slice-utils.d.ts +38 -0
  47. package/dist/http/helpers/autopilot-slice-utils.js +476 -0
  48. package/dist/http/helpers/decision-mapper.d.ts +12 -0
  49. package/dist/http/helpers/decision-mapper.js +44 -0
  50. package/dist/http/helpers/dispatch-lifecycle.d.ts +102 -0
  51. package/dist/http/helpers/dispatch-lifecycle.js +604 -0
  52. package/dist/http/helpers/hash-utils.d.ts +1 -0
  53. package/dist/http/helpers/hash-utils.js +1 -0
  54. package/dist/http/helpers/kickoff-context.d.ts +12 -0
  55. package/dist/http/helpers/kickoff-context.js +154 -0
  56. package/dist/http/helpers/mission-control.d.ts +94 -0
  57. package/dist/http/helpers/mission-control.js +894 -0
  58. package/dist/http/helpers/openclaw-cli.d.ts +37 -0
  59. package/dist/http/helpers/openclaw-cli.js +283 -0
  60. package/dist/http/helpers/runtime-sse.d.ts +20 -0
  61. package/dist/http/helpers/runtime-sse.js +110 -0
  62. package/dist/http/helpers/value-utils.d.ts +6 -0
  63. package/dist/http/helpers/value-utils.js +67 -0
  64. package/dist/http/index.d.ts +88 -0
  65. package/dist/http/index.js +2353 -0
  66. package/dist/http/router.d.ts +23 -0
  67. package/dist/http/router.js +23 -0
  68. package/dist/http/routes/agent-control.d.ts +79 -0
  69. package/dist/http/routes/agent-control.js +684 -0
  70. package/dist/http/routes/agent-suite.d.ts +29 -0
  71. package/dist/http/routes/agent-suite.js +198 -0
  72. package/dist/http/routes/agents-catalog.d.ts +40 -0
  73. package/dist/http/routes/agents-catalog.js +83 -0
  74. package/dist/http/routes/billing.d.ts +23 -0
  75. package/dist/http/routes/billing.js +55 -0
  76. package/dist/http/routes/debug.d.ts +14 -0
  77. package/dist/http/routes/debug.js +21 -0
  78. package/dist/http/routes/decision-actions.d.ts +13 -0
  79. package/dist/http/routes/decision-actions.js +66 -0
  80. package/dist/http/routes/delegation.d.ts +19 -0
  81. package/dist/http/routes/delegation.js +32 -0
  82. package/dist/http/routes/entities.d.ts +47 -0
  83. package/dist/http/routes/entities.js +152 -0
  84. package/dist/http/routes/entity-dynamic.d.ts +25 -0
  85. package/dist/http/routes/entity-dynamic.js +191 -0
  86. package/dist/http/routes/health.d.ts +22 -0
  87. package/dist/http/routes/health.js +49 -0
  88. package/dist/http/routes/live-legacy.d.ts +110 -0
  89. package/dist/http/routes/live-legacy.js +598 -0
  90. package/dist/http/routes/live-misc.d.ts +69 -0
  91. package/dist/http/routes/live-misc.js +206 -0
  92. package/dist/http/routes/live-snapshot.d.ts +90 -0
  93. package/dist/http/routes/live-snapshot.js +297 -0
  94. package/dist/http/routes/mission-control-actions.d.ts +83 -0
  95. package/dist/http/routes/mission-control-actions.js +541 -0
  96. package/dist/http/routes/mission-control-read.d.ts +28 -0
  97. package/dist/http/routes/mission-control-read.js +67 -0
  98. package/dist/http/routes/onboarding.d.ts +34 -0
  99. package/dist/http/routes/onboarding.js +101 -0
  100. package/dist/http/routes/run-control.d.ts +24 -0
  101. package/dist/http/routes/run-control.js +86 -0
  102. package/dist/http/routes/runtime-hooks.d.ts +69 -0
  103. package/dist/http/routes/runtime-hooks.js +437 -0
  104. package/dist/http/routes/settings-byok.d.ts +23 -0
  105. package/dist/http/routes/settings-byok.js +163 -0
  106. package/dist/http/routes/summary.d.ts +18 -0
  107. package/dist/http/routes/summary.js +42 -0
  108. package/dist/http/routes/work-artifacts.d.ts +9 -0
  109. package/dist/http/routes/work-artifacts.js +36 -0
  110. package/dist/http/shared-state.d.ts +16 -0
  111. package/dist/http/shared-state.js +1 -0
  112. package/dist/http-handler.d.ts +1 -88
  113. package/dist/http-handler.js +1 -9664
  114. package/dist/index.js +122 -2121
  115. package/dist/json-utils.d.ts +1 -0
  116. package/dist/json-utils.js +8 -0
  117. package/dist/local-openclaw.js +8 -0
  118. package/dist/mcp-client-setup.js +75 -90
  119. package/dist/next-up-queue-store.js +4 -18
  120. package/dist/runtime-instance-store.js +8 -34
  121. package/dist/services/background.d.ts +23 -0
  122. package/dist/services/background.js +23 -0
  123. package/dist/services/instrumentation.d.ts +29 -0
  124. package/dist/services/instrumentation.js +136 -0
  125. package/dist/snapshot-store.js +5 -25
  126. package/dist/stores/json-store.d.ts +11 -0
  127. package/dist/stores/json-store.js +42 -0
  128. package/dist/sync/outbox-replay.d.ts +55 -0
  129. package/dist/sync/outbox-replay.js +514 -0
  130. package/dist/tools/core-tools.d.ts +76 -0
  131. package/dist/tools/core-tools.js +1005 -0
  132. package/dist/worker-supervisor.js +15 -0
  133. package/package.json +6 -1
  134. package/dashboard/dist/assets/0tOC3wSN.js +0 -214
  135. package/dashboard/dist/assets/Bm8QnMJ_.js +0 -1
  136. package/dashboard/dist/assets/CyxZio4Y.js +0 -1
  137. 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 {};
@@ -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";