@octonodes/ui-extensions 0.2.26 → 0.2.38
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 +3 -0
- package/dist/app/OctonodeAppProvider/AppAccessScreen/constants.d.ts +1 -1
- package/dist/app/OctonodeAppProvider/AppAccessScreen/constants.d.ts.map +1 -1
- package/dist/app/OctonodeAppProvider/AppAccessScreen/constants.js +3 -2
- package/dist/app/OctonodeAppProvider/AppAccessScreen/constants.js.map +1 -1
- package/dist/app/OctonodeAppProvider/OctonodeAppProvider.d.ts +1 -2
- package/dist/app/OctonodeAppProvider/OctonodeAppProvider.d.ts.map +1 -1
- package/dist/app/OctonodeAppProvider/OctonodeAppProvider.js +5 -57
- package/dist/app/OctonodeAppProvider/OctonodeAppProvider.js.map +1 -1
- package/dist/app/OctonodeAppProvider/constants.d.ts +3 -0
- package/dist/app/OctonodeAppProvider/constants.d.ts.map +1 -0
- package/dist/app/OctonodeAppProvider/constants.js +2 -0
- package/dist/app/OctonodeAppProvider/constants.js.map +1 -0
- package/dist/app/OctonodeAppProvider/context.d.ts +3 -0
- package/dist/app/OctonodeAppProvider/context.d.ts.map +1 -0
- package/dist/app/OctonodeAppProvider/context.js +4 -0
- package/dist/app/OctonodeAppProvider/context.js.map +1 -0
- package/dist/app/OctonodeAppProvider/index.d.ts +2 -1
- package/dist/app/OctonodeAppProvider/index.d.ts.map +1 -1
- package/dist/app/OctonodeAppProvider/index.js +2 -1
- package/dist/app/OctonodeAppProvider/index.js.map +1 -1
- package/dist/app/hosted.d.ts.map +1 -1
- package/dist/app/hosted.js +8 -2
- package/dist/app/hosted.js.map +1 -1
- package/dist/app/index.d.ts +2 -3
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +3 -2
- package/dist/app/index.js.map +1 -1
- package/dist/app/project.d.ts +2 -3
- package/dist/app/project.d.ts.map +1 -1
- package/dist/app/project.js.map +1 -1
- package/dist/app/server.d.ts.map +1 -1
- package/dist/app/server.js.map +1 -1
- package/dist/app/types.d.ts +2 -1
- package/dist/app/types.d.ts.map +1 -1
- package/dist/constants.d.ts +9 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +53 -0
- package/dist/constants.js.map +1 -0
- package/dist/contributions.d.ts.map +1 -1
- package/dist/contributions.js +1 -1
- package/dist/contributions.js.map +1 -1
- package/dist/contributions.types.d.ts +1 -1
- package/dist/contributions.types.d.ts.map +1 -1
- package/dist/hooks/general/useExtension.d.ts +3 -0
- package/dist/hooks/general/useExtension.d.ts.map +1 -0
- package/dist/hooks/general/useExtension.js +7 -0
- package/dist/hooks/general/useExtension.js.map +1 -0
- package/dist/hooks/general/useHostedApp.d.ts +9 -0
- package/dist/hooks/general/useHostedApp.d.ts.map +1 -0
- package/dist/hooks/general/useHostedApp.js +53 -0
- package/dist/hooks/general/useHostedApp.js.map +1 -0
- package/dist/hooks/general/useOctonodeApp.d.ts +3 -0
- package/dist/hooks/general/useOctonodeApp.d.ts.map +1 -0
- package/dist/hooks/general/useOctonodeApp.js +10 -0
- package/dist/hooks/general/useOctonodeApp.js.map +1 -0
- package/dist/hooks/types.d.ts +9 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +2 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +16 -62
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -10
- package/dist/index.js.map +1 -1
- package/dist/react/index.d.ts +25 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +134 -0
- package/dist/react/index.js.map +1 -0
- package/dist/testing.d.ts +2 -2
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +1 -1
- package/dist/testing.js.map +1 -1
- package/dist/types.d.ts +87 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +6 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contributions.types.d.ts","sourceRoot":"","sources":["../src/contributions.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"contributions.types.d.ts","sourceRoot":"","sources":["../src/contributions.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExtension.d.ts","sourceRoot":"","sources":["../../../src/hooks/general/useExtension.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,uDAEtD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Generated from packages/ui-extensions/src/hooks/general/useExtension.ts. Do not edit; run the Octonode SDK sync.
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { extensionApi } from "../../contributions.js";
|
|
4
|
+
export function useExtension(target) {
|
|
5
|
+
return useMemo(() => extensionApi(target), [target]);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=useExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExtension.js","sourceRoot":"","sources":["../../../src/hooks/general/useExtension.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HostedApp, HostedAppNavigationItem, HostedAppState } from "../../app/types.js";
|
|
2
|
+
import type { VerifiedHostedContext } from "../types.js";
|
|
3
|
+
export declare function useHostedApp(navigation: HostedAppNavigationItem[]): {
|
|
4
|
+
bridge: HostedApp | undefined;
|
|
5
|
+
session: HostedAppState | undefined;
|
|
6
|
+
verified: VerifiedHostedContext | undefined;
|
|
7
|
+
error: boolean;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=useHostedApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHostedApp.d.ts","sourceRoot":"","sources":["../../../src/hooks/general/useHostedApp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,KAAK,EAAyB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEhF,wBAAgB,YAAY,CAAC,UAAU,EAAE,uBAAuB,EAAE;;;;;EA+CjE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Generated from packages/ui-extensions/src/hooks/general/useHostedApp.ts. Do not edit; run the Octonode SDK sync.
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { connectHostedApp } from "../../app/hosted.js";
|
|
4
|
+
export function useHostedApp(navigation) {
|
|
5
|
+
const [bridge, setBridge] = useState();
|
|
6
|
+
const [session, setSession] = useState();
|
|
7
|
+
const [verified, setVerified] = useState();
|
|
8
|
+
const [error, setError] = useState(false);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
try {
|
|
11
|
+
const app = connectHostedApp();
|
|
12
|
+
setBridge(app);
|
|
13
|
+
setSession(app.getSnapshot());
|
|
14
|
+
const unsubscribe = app.subscribe(() => setSession(app.getSnapshot()));
|
|
15
|
+
return () => {
|
|
16
|
+
unsubscribe();
|
|
17
|
+
app.dispose();
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
setError(true);
|
|
22
|
+
}
|
|
23
|
+
}, []);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
bridge?.setNavigation(navigation);
|
|
26
|
+
}, [bridge, navigation]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (!bridge || session?.status !== "ready" || !session.token)
|
|
29
|
+
return;
|
|
30
|
+
const token = session.token;
|
|
31
|
+
const controller = new AbortController();
|
|
32
|
+
bridge
|
|
33
|
+
.fetch("/api/context", { signal: controller.signal })
|
|
34
|
+
.then(async (response) => {
|
|
35
|
+
if (!response.ok)
|
|
36
|
+
throw new Error("Workspace access could not be verified");
|
|
37
|
+
const context = (await response.json());
|
|
38
|
+
if (!context.workspace?.kind || !context.workspace.id)
|
|
39
|
+
throw new Error("Missing workspace scope");
|
|
40
|
+
if (!controller.signal.aborted) {
|
|
41
|
+
setVerified({ token, workspace: context.workspace });
|
|
42
|
+
setError(false);
|
|
43
|
+
}
|
|
44
|
+
})
|
|
45
|
+
.catch(() => {
|
|
46
|
+
if (!controller.signal.aborted)
|
|
47
|
+
setError(true);
|
|
48
|
+
});
|
|
49
|
+
return () => controller.abort();
|
|
50
|
+
}, [bridge, session?.status, session?.token]);
|
|
51
|
+
return { bridge, session, verified, error };
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=useHostedApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHostedApp.js","sourceRoot":"","sources":["../../../src/hooks/general/useHostedApp.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD,MAAM,UAAU,YAAY,CAAC,UAAqC;IAChE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAa,CAAC;IAClD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAkB,CAAC;IACzD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAyB,CAAC;IAClE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9B,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO,GAAG,EAAE;gBACV,WAAW,EAAE,CAAC;gBACd,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM;aACH,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;aACpD,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5E,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAC;YACjE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAClG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;gBACrD,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOctonodeApp.d.ts","sourceRoot":"","sources":["../../../src/hooks/general/useOctonodeApp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAGrG,wBAAgB,cAAc,IAAI,kBAAkB,CAInD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Generated from packages/ui-extensions/src/hooks/general/useOctonodeApp.ts. Do not edit; run the Octonode SDK sync.
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { Context } from "../../app/OctonodeAppProvider/context.js";
|
|
4
|
+
export function useOctonodeApp() {
|
|
5
|
+
const context = useContext(Context);
|
|
6
|
+
if (!context)
|
|
7
|
+
throw new Error("useOctonodeApp requires OctonodeAppProvider");
|
|
8
|
+
return context;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=useOctonodeApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOctonodeApp.js","sourceRoot":"","sources":["../../../src/hooks/general/useOctonodeApp.ts"],"names":[],"mappings":"AAAA,qHAAqH;AACrH,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAEnE,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC7E,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { OctonodeAppContext } from "../app/OctonodeAppProvider/OctonodeAppProvider.types.js";
|
|
2
|
+
export interface VerifiedHostedContext {
|
|
3
|
+
token: string;
|
|
4
|
+
workspace: OctonodeAppContext["workspace"];
|
|
5
|
+
}
|
|
6
|
+
export interface HostedContextResponse {
|
|
7
|
+
workspace?: OctonodeAppContext["workspace"];
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yDAAyD,CAAC;AAElG,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,69 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
1
|
+
import type { AppSession, UiExtensionErrorMessage, UiExtensionRenderMessage, UiExtensionTarget } from "./types.js";
|
|
2
|
+
export { APP_EXTENSION_TARGETS } from "./constants.js";
|
|
3
|
+
export { defineAction, extensionApi, startAction } from "./contributions.js";
|
|
3
4
|
export type { ActionApi, ActionDefinition, AppExtensionTarget, ExtensionApi, ExtensionContext, ExtensionEnvironment, } from "./contributions.types.js";
|
|
4
|
-
export declare const UI_EXTENSION_API_VERSION: "1";
|
|
5
|
-
export declare const APP_EXTENSION_API_VERSION: "2";
|
|
6
|
-
export declare const UI_EXTENSION_TARGETS: readonly ["node.inspector.inputs", "app.page", "workspace.block", "shell.panel", "shell.dock", "project.tab", "project.overview.block", "workflow.tab", "workflow.inspector.block", "node.view", "node.inspector.tab", "node.inspector.block", "task.space.view", "task.details.tab", "task.details.block", "task.card.badge", "document.tab", "document.panel", "editor.panel", "git.diff.panel", "table.view", "execution.details.block", "app.settings.section", "project.settings.section", "project.action", "file.action", "editor.action", "editor.selection-action", "workflow.action", "workflow.canvas.action", "workflow.selection-action", "workflow.edge.action", "node.action", "task.space.action", "task.action", "document.action", "document.selection-action", "document.block.action", "document.slash-command", "document.review.action", "git.diff.action", "table.action", "execution.action"];
|
|
7
|
-
export type UiExtensionTarget = (typeof UI_EXTENSION_TARGETS)[number];
|
|
8
|
-
export type UiExtensionTree = {
|
|
9
|
-
type: "text";
|
|
10
|
-
value: string;
|
|
11
|
-
} | {
|
|
12
|
-
type: "button";
|
|
13
|
-
id: string;
|
|
14
|
-
label: string;
|
|
15
|
-
disabled: boolean;
|
|
16
|
-
} | {
|
|
17
|
-
type: "text-field";
|
|
18
|
-
id: string;
|
|
19
|
-
label: string;
|
|
20
|
-
value: string;
|
|
21
|
-
disabled: boolean;
|
|
22
|
-
} | {
|
|
23
|
-
type: "node-form";
|
|
24
|
-
children: UiExtensionTree[];
|
|
25
|
-
} | {
|
|
26
|
-
type: "section";
|
|
27
|
-
title: string;
|
|
28
|
-
children: UiExtensionTree[];
|
|
29
|
-
} | {
|
|
30
|
-
type: "input-field";
|
|
31
|
-
name: string;
|
|
32
|
-
appearance?: "single-line" | "multiline";
|
|
33
|
-
};
|
|
34
|
-
export interface UiExtensionRenderMessage {
|
|
35
|
-
octonode: "ui-extension";
|
|
36
|
-
apiVersion: "1" | "2";
|
|
37
|
-
type: "render";
|
|
38
|
-
target: UiExtensionTarget;
|
|
39
|
-
tree: UiExtensionTree;
|
|
40
|
-
}
|
|
41
|
-
export interface UiExtensionErrorMessage {
|
|
42
|
-
octonode: "ui-extension";
|
|
43
|
-
apiVersion: "1" | "2";
|
|
44
|
-
type: "error";
|
|
45
|
-
target: UiExtensionTarget;
|
|
46
|
-
message: string;
|
|
47
|
-
}
|
|
48
|
-
export type UiExtensionMessage = UiExtensionRenderMessage | UiExtensionErrorMessage;
|
|
49
5
|
export declare function validateExtensionMessage(value: unknown, expectedTarget: UiExtensionTarget, expectedVersion?: "1" | "2"): {
|
|
50
|
-
message:
|
|
6
|
+
message: UiExtensionErrorMessage;
|
|
7
|
+
inputNames: never[];
|
|
8
|
+
} | {
|
|
9
|
+
message: UiExtensionRenderMessage;
|
|
51
10
|
inputNames: string[];
|
|
52
11
|
} | null;
|
|
53
|
-
export interface AppSession {
|
|
54
|
-
protocolVersion?: "2";
|
|
55
|
-
configuration: Readonly<Record<string, string>>;
|
|
56
|
-
token: string;
|
|
57
|
-
expiresAt: number;
|
|
58
|
-
appId: string;
|
|
59
|
-
installationId: string;
|
|
60
|
-
workspace: {
|
|
61
|
-
kind: "user" | "team" | "org";
|
|
62
|
-
id: string;
|
|
63
|
-
};
|
|
64
|
-
projectId?: string;
|
|
65
|
-
version: string;
|
|
66
|
-
}
|
|
67
12
|
/** Available only inside an installed app extension. Send this bearer to your own backend for verification. */
|
|
68
13
|
export declare function getAppSession(): AppSession;
|
|
14
|
+
export type { UiExtensionTarget } from "./types.js";
|
|
15
|
+
export type { UiExtensionTree } from "./types.js";
|
|
16
|
+
export type { UiExtensionRenderMessage } from "./types.js";
|
|
17
|
+
export type { UiExtensionErrorMessage } from "./types.js";
|
|
18
|
+
export type { UiExtensionMessage } from "./types.js";
|
|
19
|
+
export type { AppSession } from "./types.js";
|
|
20
|
+
export { UI_EXTENSION_API_VERSION } from "./constants.js";
|
|
21
|
+
export { APP_EXTENSION_API_VERSION } from "./constants.js";
|
|
22
|
+
export { UI_EXTENSION_TARGETS } from "./constants.js";
|
|
69
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EAEvB,wBAAwB,EACxB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7E,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,iBAAiB,EACjC,eAAe,GAAE,GAAG,GAAG,GAAS;aAYJ,uBAAuB;;;aAkDzB,wBAAwB;;SAEnD;AAED,+GAA+G;AAC/G,wBAAgB,aAAa,IAAI,UAAU,CAI1C;AAED,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
// Generated from packages/ui-extensions/src/index.ts. Do not edit; run the Octonode SDK sync.
|
|
2
|
-
import {
|
|
3
|
-
export { APP_EXTENSION_TARGETS } from "./
|
|
4
|
-
export { defineAction,
|
|
5
|
-
export const UI_EXTENSION_API_VERSION = "1";
|
|
6
|
-
export const APP_EXTENSION_API_VERSION = "2";
|
|
7
|
-
export const UI_EXTENSION_TARGETS = ["node.inspector.inputs", ...APP_EXTENSION_TARGETS];
|
|
8
|
-
const MAX_NODES = 100;
|
|
9
|
-
const MAX_DEPTH = 10;
|
|
10
|
-
const MAX_TEXT = 4_000;
|
|
11
|
-
const INPUT_NAME = /^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/;
|
|
2
|
+
import { INPUT_NAME, MAX_DEPTH, MAX_NODES, MAX_TEXT } from "./constants.js";
|
|
3
|
+
export { APP_EXTENSION_TARGETS } from "./constants.js";
|
|
4
|
+
export { defineAction, extensionApi, startAction } from "./contributions.js";
|
|
12
5
|
export function validateExtensionMessage(value, expectedTarget, expectedVersion = "1") {
|
|
13
6
|
if (!value || typeof value !== "object")
|
|
14
7
|
return null;
|
|
@@ -80,4 +73,7 @@ export function getAppSession() {
|
|
|
80
73
|
throw new Error("App session expired; reopen the app");
|
|
81
74
|
return session;
|
|
82
75
|
}
|
|
76
|
+
export { UI_EXTENSION_API_VERSION } from "./constants.js";
|
|
77
|
+
export { APP_EXTENSION_API_VERSION } from "./constants.js";
|
|
78
|
+
export { UI_EXTENSION_TARGETS } from "./constants.js";
|
|
83
79
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ComponentType } from "react";
|
|
2
|
+
import type { ButtonProps, InputFieldProps, NodeFormProps, SectionProps, TextFieldProps, UiExtensionDefinition, UiExtensionTarget } from "../types.js";
|
|
3
|
+
export declare function defineExtension(target: UiExtensionTarget, component: ComponentType): UiExtensionDefinition;
|
|
4
|
+
export declare function NodeForm({ children }: NodeFormProps): import("react").DOMElement<import("react").DOMAttributes<Element>, Element>;
|
|
5
|
+
export declare function Section({ title, children }: SectionProps): import("react").ReactElement<{
|
|
6
|
+
title: string;
|
|
7
|
+
}, string | import("react").JSXElementConstructor<any>>;
|
|
8
|
+
export declare function InputField({ name, appearance }: InputFieldProps): import("react").ReactElement<{
|
|
9
|
+
name: string;
|
|
10
|
+
appearance: "single-line" | "multiline" | undefined;
|
|
11
|
+
}, string | import("react").JSXElementConstructor<any>>;
|
|
12
|
+
export declare function Button({ children, onPress, disabled }: ButtonProps): import("react").ReactElement<{
|
|
13
|
+
"data-id": string;
|
|
14
|
+
"data-disabled": string;
|
|
15
|
+
}, string | import("react").JSXElementConstructor<any>>;
|
|
16
|
+
export declare function TextField({ label, value, onChange, disabled }: TextFieldProps): import("react").ReactElement<{
|
|
17
|
+
"data-id": string;
|
|
18
|
+
label: string;
|
|
19
|
+
value: string;
|
|
20
|
+
"data-disabled": string;
|
|
21
|
+
}, string | import("react").JSXElementConstructor<any>>;
|
|
22
|
+
export declare function startExtension(extension: UiExtensionDefinition): void;
|
|
23
|
+
export { useExtension } from "../hooks/general/useExtension.js";
|
|
24
|
+
export type { UiExtensionDefinition } from "../types.js";
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAI5E,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAErB,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,GAAG,qBAAqB,CAE1G;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,aAAa,+EAEnD;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,YAAY;;wDAExD;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,eAAe;;;wDAE/D;AAGD,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAgB,EAAE,EAAE,WAAW;;;wDAS1E;AACD,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAgB,EAAE,EAAE,cAAc;;;;;wDASrF;AAyCD,wBAAgB,cAAc,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CA4DrE;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
// Generated from packages/ui-extensions/src/react/index.tsx. Do not edit; run the Octonode SDK sync.
|
|
2
|
+
import { createElement, useEffect, useId } from "react";
|
|
3
|
+
import { createRoot } from "react-dom/client";
|
|
4
|
+
import { UI_EXTENSION_API_VERSION } from "../constants.js";
|
|
5
|
+
import { getAppSession } from "../index.js";
|
|
6
|
+
export function defineExtension(target, component) {
|
|
7
|
+
return { apiVersion: UI_EXTENSION_API_VERSION, target, component };
|
|
8
|
+
}
|
|
9
|
+
export function NodeForm({ children }) {
|
|
10
|
+
return createElement("octonode-node-form", null, children);
|
|
11
|
+
}
|
|
12
|
+
export function Section({ title, children }) {
|
|
13
|
+
return createElement("octonode-section", { title }, children);
|
|
14
|
+
}
|
|
15
|
+
export function InputField({ name, appearance }) {
|
|
16
|
+
return createElement("octonode-input-field", { name, appearance });
|
|
17
|
+
}
|
|
18
|
+
const callbacks = new Map();
|
|
19
|
+
export function Button({ children, onPress, disabled = false }) {
|
|
20
|
+
const id = useId();
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
callbacks.set(id, onPress);
|
|
23
|
+
return () => {
|
|
24
|
+
callbacks.delete(id);
|
|
25
|
+
};
|
|
26
|
+
}, [id, onPress]);
|
|
27
|
+
return createElement("octonode-button", { "data-id": id, "data-disabled": String(disabled) }, children);
|
|
28
|
+
}
|
|
29
|
+
export function TextField({ label, value, onChange, disabled = false }) {
|
|
30
|
+
const id = useId();
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
callbacks.set(id, (value) => onChange(value ?? ""));
|
|
33
|
+
return () => {
|
|
34
|
+
callbacks.delete(id);
|
|
35
|
+
};
|
|
36
|
+
}, [id, onChange]);
|
|
37
|
+
return createElement("octonode-text-field", { "data-id": id, label, value, "data-disabled": String(disabled) });
|
|
38
|
+
}
|
|
39
|
+
function serialize(node) {
|
|
40
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
41
|
+
const value = node.textContent?.trim();
|
|
42
|
+
return value ? { type: "text", value } : null;
|
|
43
|
+
}
|
|
44
|
+
if (!(node instanceof Element))
|
|
45
|
+
return null;
|
|
46
|
+
const children = Array.from(node.childNodes).flatMap((child) => {
|
|
47
|
+
const serialized = serialize(child);
|
|
48
|
+
return serialized ? [serialized] : [];
|
|
49
|
+
});
|
|
50
|
+
if (node.localName === "octonode-button")
|
|
51
|
+
return {
|
|
52
|
+
type: "button",
|
|
53
|
+
id: node.getAttribute("data-id") ?? "",
|
|
54
|
+
label: node.textContent ?? "",
|
|
55
|
+
disabled: node.getAttribute("data-disabled") === "true",
|
|
56
|
+
};
|
|
57
|
+
if (node.localName === "octonode-text-field")
|
|
58
|
+
return {
|
|
59
|
+
type: "text-field",
|
|
60
|
+
id: node.getAttribute("data-id") ?? "",
|
|
61
|
+
label: node.getAttribute("label") ?? "",
|
|
62
|
+
value: node.getAttribute("value") ?? "",
|
|
63
|
+
disabled: node.getAttribute("data-disabled") === "true",
|
|
64
|
+
};
|
|
65
|
+
if (node.localName === "octonode-node-form")
|
|
66
|
+
return { type: "node-form", children };
|
|
67
|
+
if (node.localName === "octonode-section")
|
|
68
|
+
return { type: "section", title: node.getAttribute("title") ?? "", children };
|
|
69
|
+
if (node.localName === "octonode-input-field") {
|
|
70
|
+
const appearance = node.getAttribute("appearance");
|
|
71
|
+
return {
|
|
72
|
+
type: "input-field",
|
|
73
|
+
name: node.getAttribute("name") ?? "",
|
|
74
|
+
...(appearance === "single-line" || appearance === "multiline" ? { appearance } : {}),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
export function startExtension(extension) {
|
|
80
|
+
let apiVersion = UI_EXTENSION_API_VERSION;
|
|
81
|
+
try {
|
|
82
|
+
apiVersion = getAppSession().protocolVersion ?? "1";
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
/* Plugin renderers have no app session. */
|
|
86
|
+
}
|
|
87
|
+
addEventListener("message", (event) => {
|
|
88
|
+
if (event.source !== parent ||
|
|
89
|
+
event.data?.octonode !== "ui-extension" ||
|
|
90
|
+
event.data?.apiVersion !== apiVersion ||
|
|
91
|
+
event.data?.type !== "event" ||
|
|
92
|
+
event.data?.target !== extension.target)
|
|
93
|
+
return;
|
|
94
|
+
const { id, value } = event.data;
|
|
95
|
+
if (typeof id !== "string" || (value !== undefined && (typeof value !== "string" || value.length > 4000)))
|
|
96
|
+
return;
|
|
97
|
+
callbacks.get(id)?.(value);
|
|
98
|
+
});
|
|
99
|
+
const root = document.createElement("div");
|
|
100
|
+
document.body.append(root);
|
|
101
|
+
let queued = false;
|
|
102
|
+
const publish = () => {
|
|
103
|
+
queued = false;
|
|
104
|
+
const tree = Array.from(root.childNodes).flatMap((node) => {
|
|
105
|
+
const serialized = serialize(node);
|
|
106
|
+
return serialized ? [serialized] : [];
|
|
107
|
+
});
|
|
108
|
+
parent.postMessage({
|
|
109
|
+
octonode: "ui-extension",
|
|
110
|
+
apiVersion,
|
|
111
|
+
type: "render",
|
|
112
|
+
target: extension.target,
|
|
113
|
+
tree: { type: "node-form", children: tree },
|
|
114
|
+
}, "*");
|
|
115
|
+
};
|
|
116
|
+
const observer = new MutationObserver(() => {
|
|
117
|
+
if (queued)
|
|
118
|
+
return;
|
|
119
|
+
queued = true;
|
|
120
|
+
queueMicrotask(publish);
|
|
121
|
+
});
|
|
122
|
+
observer.observe(root, { subtree: true, childList: true, attributes: true, characterData: true });
|
|
123
|
+
addEventListener("error", (event) => parent.postMessage({
|
|
124
|
+
octonode: "ui-extension",
|
|
125
|
+
apiVersion,
|
|
126
|
+
type: "error",
|
|
127
|
+
target: extension.target,
|
|
128
|
+
message: event.message,
|
|
129
|
+
}, "*"));
|
|
130
|
+
createRoot(root).render(createElement(extension.component));
|
|
131
|
+
queueMicrotask(publish);
|
|
132
|
+
}
|
|
133
|
+
export { useExtension } from "../hooks/general/useExtension.js";
|
|
134
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/testing.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { validateExtensionMessage } from "./index";
|
|
2
|
-
export type { UiExtensionMessage, UiExtensionTree } from "./
|
|
1
|
+
export { validateExtensionMessage } from "./index.js";
|
|
2
|
+
export type { UiExtensionMessage, UiExtensionTree } from "./types.js";
|
|
3
3
|
//# sourceMappingURL=testing.d.ts.map
|
package/dist/testing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/testing.js
CHANGED
package/dist/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { type ComponentType, type ReactNode } from "react";
|
|
2
|
+
import type { UI_EXTENSION_TARGETS } from "./constants.js";
|
|
3
|
+
import { UI_EXTENSION_API_VERSION } from "./constants.js";
|
|
4
|
+
export type UiExtensionTarget = (typeof UI_EXTENSION_TARGETS)[number];
|
|
5
|
+
export type UiExtensionTree = {
|
|
6
|
+
type: "text";
|
|
7
|
+
value: string;
|
|
8
|
+
} | {
|
|
9
|
+
type: "button";
|
|
10
|
+
id: string;
|
|
11
|
+
label: string;
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
} | {
|
|
14
|
+
type: "text-field";
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
value: string;
|
|
18
|
+
disabled: boolean;
|
|
19
|
+
} | {
|
|
20
|
+
type: "node-form";
|
|
21
|
+
children: UiExtensionTree[];
|
|
22
|
+
} | {
|
|
23
|
+
type: "section";
|
|
24
|
+
title: string;
|
|
25
|
+
children: UiExtensionTree[];
|
|
26
|
+
} | {
|
|
27
|
+
type: "input-field";
|
|
28
|
+
name: string;
|
|
29
|
+
appearance?: "single-line" | "multiline";
|
|
30
|
+
};
|
|
31
|
+
export interface UiExtensionRenderMessage {
|
|
32
|
+
octonode: "ui-extension";
|
|
33
|
+
apiVersion: "1" | "2";
|
|
34
|
+
type: "render";
|
|
35
|
+
target: UiExtensionTarget;
|
|
36
|
+
tree: UiExtensionTree;
|
|
37
|
+
}
|
|
38
|
+
export interface UiExtensionErrorMessage {
|
|
39
|
+
octonode: "ui-extension";
|
|
40
|
+
apiVersion: "1" | "2";
|
|
41
|
+
type: "error";
|
|
42
|
+
target: UiExtensionTarget;
|
|
43
|
+
message: string;
|
|
44
|
+
}
|
|
45
|
+
export type UiExtensionMessage = UiExtensionRenderMessage | UiExtensionErrorMessage;
|
|
46
|
+
export interface AppSession {
|
|
47
|
+
protocolVersion?: "2";
|
|
48
|
+
configuration: Readonly<Record<string, string>>;
|
|
49
|
+
token: string;
|
|
50
|
+
expiresAt: number;
|
|
51
|
+
appId: string;
|
|
52
|
+
installationId: string;
|
|
53
|
+
workspace: {
|
|
54
|
+
kind: "user" | "team" | "org";
|
|
55
|
+
id: string;
|
|
56
|
+
};
|
|
57
|
+
projectId?: string;
|
|
58
|
+
version: string;
|
|
59
|
+
}
|
|
60
|
+
export interface UiExtensionDefinition {
|
|
61
|
+
apiVersion: typeof UI_EXTENSION_API_VERSION;
|
|
62
|
+
target: UiExtensionTarget;
|
|
63
|
+
component: ComponentType;
|
|
64
|
+
}
|
|
65
|
+
export type NodeFormProps = {
|
|
66
|
+
children?: ReactNode;
|
|
67
|
+
};
|
|
68
|
+
export type SectionProps = {
|
|
69
|
+
title: string;
|
|
70
|
+
children?: ReactNode;
|
|
71
|
+
};
|
|
72
|
+
export type InputFieldProps = {
|
|
73
|
+
name: string;
|
|
74
|
+
appearance?: "single-line" | "multiline";
|
|
75
|
+
};
|
|
76
|
+
export type ButtonProps = {
|
|
77
|
+
children: string;
|
|
78
|
+
onPress: () => void;
|
|
79
|
+
disabled?: boolean;
|
|
80
|
+
};
|
|
81
|
+
export type TextFieldProps = {
|
|
82
|
+
label: string;
|
|
83
|
+
value: string;
|
|
84
|
+
onChange: (value: string) => void;
|
|
85
|
+
disabled?: boolean;
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|