@xpert-ai/xpert-sdk 0.4.2 → 0.4.4

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 (42) hide show
  1. package/dist/client.d.ts +1 -0
  2. package/dist/client.js +23 -7
  3. package/dist/client.js.map +1 -1
  4. package/dist/client.mjs +23 -7
  5. package/dist/client.mjs.map +1 -1
  6. package/dist/index.d.ts +3 -2
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.mjs +1 -0
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/mcp/apps.js +5 -5
  12. package/dist/mcp/apps.js.map +1 -1
  13. package/dist/mcp/apps.mjs +5 -5
  14. package/dist/mcp/apps.mjs.map +1 -1
  15. package/dist/mcp/apps.test.js +13 -4
  16. package/dist/mcp/apps.test.js.map +1 -1
  17. package/dist/mcp/apps.test.mjs +13 -4
  18. package/dist/mcp/apps.test.mjs.map +1 -1
  19. package/dist/schema.d.ts +12 -0
  20. package/dist/tests/fetch.test.js +7 -7
  21. package/dist/tests/fetch.test.js.map +1 -1
  22. package/dist/tests/fetch.test.mjs +7 -7
  23. package/dist/tests/fetch.test.mjs.map +1 -1
  24. package/dist/tests/sandbox-runtime.test.d.ts +1 -0
  25. package/dist/tests/sandbox-runtime.test.js +105 -0
  26. package/dist/tests/sandbox-runtime.test.js.map +1 -0
  27. package/dist/tests/sandbox-runtime.test.mjs +105 -0
  28. package/dist/tests/sandbox-runtime.test.mjs.map +1 -0
  29. package/dist/tests/workbench-open.test.d.ts +1 -0
  30. package/dist/tests/workbench-open.test.js +104 -0
  31. package/dist/tests/workbench-open.test.js.map +1 -0
  32. package/dist/tests/workbench-open.test.mjs +104 -0
  33. package/dist/tests/workbench-open.test.mjs.map +1 -0
  34. package/dist/view-extension.d.ts +15 -0
  35. package/dist/view-extension.js.map +1 -1
  36. package/dist/view-extension.mjs.map +1 -1
  37. package/dist/workbench-open.d.ts +10 -0
  38. package/dist/workbench-open.js +51 -0
  39. package/dist/workbench-open.js.map +1 -0
  40. package/dist/workbench-open.mjs +51 -0
  41. package/dist/workbench-open.mjs.map +1 -0
  42. package/package.json +1 -1
@@ -0,0 +1,104 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { parseWorkbenchViewOpenEvent, WORKBENCH_VIEW_OPEN_EVENT } from "../index.js";
3
+ function event(overrides = {}) {
4
+ return {
5
+ type: WORKBENCH_VIEW_OPEN_EVENT,
6
+ viewKey: 'pipeline-board',
7
+ projectId: 'project-1',
8
+ ...overrides,
9
+ };
10
+ }
11
+ describe('workbench view open events', () => {
12
+ it('parses a minimal live request scoped to a project', () => {
13
+ expect(parseWorkbenchViewOpenEvent(event())).toEqual({
14
+ type: WORKBENCH_VIEW_OPEN_EVENT,
15
+ viewKey: 'pipeline-board',
16
+ projectId: 'project-1',
17
+ });
18
+ });
19
+ it('keeps the conversation scope, selection and scalar parameters', () => {
20
+ expect(parseWorkbenchViewOpenEvent(event({
21
+ conversationId: 'conversation-1',
22
+ selectionId: 'selection-1',
23
+ parameters: {
24
+ stage: 'bid',
25
+ pinned: true,
26
+ ratio: 0.35,
27
+ missing: null,
28
+ bidders: ['acme', 'globex'],
29
+ empty: [],
30
+ },
31
+ }))).toEqual({
32
+ type: WORKBENCH_VIEW_OPEN_EVENT,
33
+ viewKey: 'pipeline-board',
34
+ projectId: 'project-1',
35
+ conversationId: 'conversation-1',
36
+ selectionId: 'selection-1',
37
+ parameters: {
38
+ stage: 'bid',
39
+ pinned: true,
40
+ ratio: 0.35,
41
+ missing: null,
42
+ bidders: ['acme', 'globex'],
43
+ empty: [],
44
+ },
45
+ });
46
+ });
47
+ it('drops unknown fields so arbitrary log payloads cannot smuggle state', () => {
48
+ expect(parseWorkbenchViewOpenEvent(event({ extra: 'ignored', nested: { deep: true } }))).toEqual({
49
+ type: WORKBENCH_VIEW_OPEN_EVENT,
50
+ viewKey: 'pipeline-board',
51
+ projectId: 'project-1',
52
+ });
53
+ });
54
+ it('rejects non-object payloads, other event types and missing scope', () => {
55
+ for (const value of [
56
+ null,
57
+ undefined,
58
+ 'workbench.view.open',
59
+ 42,
60
+ [event()],
61
+ event({ type: 'assistant.citation.open' }),
62
+ { viewKey: 'pipeline-board', projectId: 'project-1' },
63
+ event({ viewKey: '' }),
64
+ event({ viewKey: ' ' }),
65
+ event({ projectId: '' }),
66
+ event({ projectId: ' ' }),
67
+ ]) {
68
+ expect(parseWorkbenchViewOpenEvent(value)).toBeNull();
69
+ }
70
+ });
71
+ it('rejects mistyped optional identifiers and parameter containers', () => {
72
+ for (const value of [
73
+ event({ conversationId: 7 }),
74
+ event({ selectionId: {} }),
75
+ event({ parameters: null }),
76
+ event({ parameters: ['bid'] }),
77
+ event({ parameters: 'bid' }),
78
+ ]) {
79
+ expect(parseWorkbenchViewOpenEvent(value)).toBeNull();
80
+ }
81
+ });
82
+ it('rejects parameter values that are not scalars or arrays of scalars', () => {
83
+ expect(parseWorkbenchViewOpenEvent(event({ parameters: { filter: { stage: 'bid' } } }))).toBeNull();
84
+ expect(parseWorkbenchViewOpenEvent(event({ parameters: { bidders: ['acme', 3, true] } }))).toEqual({
85
+ type: WORKBENCH_VIEW_OPEN_EVENT,
86
+ viewKey: 'pipeline-board',
87
+ projectId: 'project-1',
88
+ parameters: { bidders: ['acme', 3, true] },
89
+ });
90
+ expect(parseWorkbenchViewOpenEvent(event({ parameters: { bidders: ['acme', {}] } }))).toBeNull();
91
+ expect(parseWorkbenchViewOpenEvent(event({ parameters: { ratio: Number.NaN } }))).toBeNull();
92
+ expect(parseWorkbenchViewOpenEvent(event({ parameters: { ratio: Number.POSITIVE_INFINITY } }))).toBeNull();
93
+ });
94
+ it('accepts empty optional identifiers as-is (current behavior)', () => {
95
+ expect(parseWorkbenchViewOpenEvent(event({ conversationId: '', selectionId: '' }))).toEqual({
96
+ type: WORKBENCH_VIEW_OPEN_EVENT,
97
+ viewKey: 'pipeline-board',
98
+ projectId: 'project-1',
99
+ conversationId: '',
100
+ selectionId: '',
101
+ });
102
+ });
103
+ });
104
+ //# sourceMappingURL=workbench-open.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workbench-open.test.js","sourceRoot":"","sources":["../../src/tests/workbench-open.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { parseWorkbenchViewOpenEvent, WORKBENCH_VIEW_OPEN_EVENT } from "../index.mjs";
3
+ function event(overrides = {}) {
4
+ return {
5
+ type: WORKBENCH_VIEW_OPEN_EVENT,
6
+ viewKey: 'pipeline-board',
7
+ projectId: 'project-1',
8
+ ...overrides,
9
+ };
10
+ }
11
+ describe('workbench view open events', () => {
12
+ it('parses a minimal live request scoped to a project', () => {
13
+ expect(parseWorkbenchViewOpenEvent(event())).toEqual({
14
+ type: WORKBENCH_VIEW_OPEN_EVENT,
15
+ viewKey: 'pipeline-board',
16
+ projectId: 'project-1',
17
+ });
18
+ });
19
+ it('keeps the conversation scope, selection and scalar parameters', () => {
20
+ expect(parseWorkbenchViewOpenEvent(event({
21
+ conversationId: 'conversation-1',
22
+ selectionId: 'selection-1',
23
+ parameters: {
24
+ stage: 'bid',
25
+ pinned: true,
26
+ ratio: 0.35,
27
+ missing: null,
28
+ bidders: ['acme', 'globex'],
29
+ empty: [],
30
+ },
31
+ }))).toEqual({
32
+ type: WORKBENCH_VIEW_OPEN_EVENT,
33
+ viewKey: 'pipeline-board',
34
+ projectId: 'project-1',
35
+ conversationId: 'conversation-1',
36
+ selectionId: 'selection-1',
37
+ parameters: {
38
+ stage: 'bid',
39
+ pinned: true,
40
+ ratio: 0.35,
41
+ missing: null,
42
+ bidders: ['acme', 'globex'],
43
+ empty: [],
44
+ },
45
+ });
46
+ });
47
+ it('drops unknown fields so arbitrary log payloads cannot smuggle state', () => {
48
+ expect(parseWorkbenchViewOpenEvent(event({ extra: 'ignored', nested: { deep: true } }))).toEqual({
49
+ type: WORKBENCH_VIEW_OPEN_EVENT,
50
+ viewKey: 'pipeline-board',
51
+ projectId: 'project-1',
52
+ });
53
+ });
54
+ it('rejects non-object payloads, other event types and missing scope', () => {
55
+ for (const value of [
56
+ null,
57
+ undefined,
58
+ 'workbench.view.open',
59
+ 42,
60
+ [event()],
61
+ event({ type: 'assistant.citation.open' }),
62
+ { viewKey: 'pipeline-board', projectId: 'project-1' },
63
+ event({ viewKey: '' }),
64
+ event({ viewKey: ' ' }),
65
+ event({ projectId: '' }),
66
+ event({ projectId: ' ' }),
67
+ ]) {
68
+ expect(parseWorkbenchViewOpenEvent(value)).toBeNull();
69
+ }
70
+ });
71
+ it('rejects mistyped optional identifiers and parameter containers', () => {
72
+ for (const value of [
73
+ event({ conversationId: 7 }),
74
+ event({ selectionId: {} }),
75
+ event({ parameters: null }),
76
+ event({ parameters: ['bid'] }),
77
+ event({ parameters: 'bid' }),
78
+ ]) {
79
+ expect(parseWorkbenchViewOpenEvent(value)).toBeNull();
80
+ }
81
+ });
82
+ it('rejects parameter values that are not scalars or arrays of scalars', () => {
83
+ expect(parseWorkbenchViewOpenEvent(event({ parameters: { filter: { stage: 'bid' } } }))).toBeNull();
84
+ expect(parseWorkbenchViewOpenEvent(event({ parameters: { bidders: ['acme', 3, true] } }))).toEqual({
85
+ type: WORKBENCH_VIEW_OPEN_EVENT,
86
+ viewKey: 'pipeline-board',
87
+ projectId: 'project-1',
88
+ parameters: { bidders: ['acme', 3, true] },
89
+ });
90
+ expect(parseWorkbenchViewOpenEvent(event({ parameters: { bidders: ['acme', {}] } }))).toBeNull();
91
+ expect(parseWorkbenchViewOpenEvent(event({ parameters: { ratio: Number.NaN } }))).toBeNull();
92
+ expect(parseWorkbenchViewOpenEvent(event({ parameters: { ratio: Number.POSITIVE_INFINITY } }))).toBeNull();
93
+ });
94
+ it('accepts empty optional identifiers as-is (current behavior)', () => {
95
+ expect(parseWorkbenchViewOpenEvent(event({ conversationId: '', selectionId: '' }))).toEqual({
96
+ type: WORKBENCH_VIEW_OPEN_EVENT,
97
+ viewKey: 'pipeline-board',
98
+ projectId: 'project-1',
99
+ conversationId: '',
100
+ selectionId: '',
101
+ });
102
+ });
103
+ });
104
+ //# sourceMappingURL=workbench-open.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workbench-open.test.mjs","sourceRoot":"","sources":["../../src/tests/workbench-open.test.ts"],"names":[],"mappings":"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"}
@@ -123,8 +123,18 @@ export interface XpertViewActivation {
123
123
  requiredFeatures?: string[];
124
124
  }
125
125
  export interface XpertWorkbenchViewOptions {
126
+ /**
127
+ * @deprecated Use the manifest's `visible` field for visibility and `openMode`
128
+ * for initial tab behavior. Retained for compatibility; false hides the view.
129
+ */
126
130
  fixed?: boolean;
131
+ /**
132
+ * Initial tab behavior; defaults to auto. On-demand views open through a
133
+ * menu, navigation or live Agent request. This does not grant view access.
134
+ */
135
+ openMode?: 'auto' | 'on-demand';
127
136
  menu?: {
137
+ /** Controls the manual entry only; does not disable the view or navigation. */
128
138
  enabled?: boolean;
129
139
  label?: string | XpertI18nObject;
130
140
  order?: number;
@@ -472,3 +482,8 @@ export interface XpertViewRequestOptions {
472
482
  signal?: AbortSignal;
473
483
  runtimeScope?: XpertViewRuntimeScopeInput;
474
484
  }
485
+ export interface WorkbenchExtensionViewOpenRequest {
486
+ viewKey: string;
487
+ selectionId?: string;
488
+ parameters?: Record<string, XpertViewScalar | XpertViewScalar[]>;
489
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"view-extension.js","sourceRoot":"","sources":["../src/view-extension.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AACtE,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AA6WhF,MAAM,CAAC,MAAM,mCAAmC,GAC9C,6BAA6B,CAAC;AAChC,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AACjE,MAAM,CAAC,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;AAC7E,MAAM,CAAC,MAAM,wCAAwC,GACnD,yBAAyB,CAAC;AAC5B,MAAM,CAAC,MAAM,uCAAuC,GAAG,wBAAwB,CAAC;AAChF,MAAM,CAAC,MAAM,yDAAyD,GACpE,qBAAqB,CAAC;AAiExB,MAAM,CAAC,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AACvE,MAAM,CAAC,MAAM,kCAAkC,GAAG,6BAA6B,CAAC"}
1
+ {"version":3,"file":"view-extension.js","sourceRoot":"","sources":["../src/view-extension.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AACtE,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AAuXhF,MAAM,CAAC,MAAM,mCAAmC,GAC9C,6BAA6B,CAAC;AAChC,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AACjE,MAAM,CAAC,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;AAC7E,MAAM,CAAC,MAAM,wCAAwC,GACnD,yBAAyB,CAAC;AAC5B,MAAM,CAAC,MAAM,uCAAuC,GAAG,wBAAwB,CAAC;AAChF,MAAM,CAAC,MAAM,yDAAyD,GACpE,qBAAqB,CAAC;AAiExB,MAAM,CAAC,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AACvE,MAAM,CAAC,MAAM,kCAAkC,GAAG,6BAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"view-extension.mjs","sourceRoot":"","sources":["../src/view-extension.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AACtE,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AA6WhF,MAAM,CAAC,MAAM,mCAAmC,GAC9C,6BAA6B,CAAC;AAChC,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AACjE,MAAM,CAAC,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;AAC7E,MAAM,CAAC,MAAM,wCAAwC,GACnD,yBAAyB,CAAC;AAC5B,MAAM,CAAC,MAAM,uCAAuC,GAAG,wBAAwB,CAAC;AAChF,MAAM,CAAC,MAAM,yDAAyD,GACpE,qBAAqB,CAAC;AAiExB,MAAM,CAAC,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AACvE,MAAM,CAAC,MAAM,kCAAkC,GAAG,6BAA6B,CAAC"}
1
+ {"version":3,"file":"view-extension.mjs","sourceRoot":"","sources":["../src/view-extension.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAC,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AACtE,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AAuXhF,MAAM,CAAC,MAAM,mCAAmC,GAC9C,6BAA6B,CAAC;AAChC,MAAM,CAAC,MAAM,6BAA6B,GAAG,uBAAuB,CAAC;AACrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AACjE,MAAM,CAAC,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;AAC7E,MAAM,CAAC,MAAM,wCAAwC,GACnD,yBAAyB,CAAC;AAC5B,MAAM,CAAC,MAAM,uCAAuC,GAAG,wBAAwB,CAAC;AAChF,MAAM,CAAC,MAAM,yDAAyD,GACpE,qBAAqB,CAAC;AAiExB,MAAM,CAAC,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AACvE,MAAM,CAAC,MAAM,kCAAkC,GAAG,6BAA6B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { WorkbenchExtensionViewOpenRequest } from './view-extension.js';
2
+ /** Live-only UI request. Project scope is mandatory; history playback must not reopen Views. */
3
+ export declare const WORKBENCH_VIEW_OPEN_EVENT = "workbench.view.open";
4
+ export interface WorkbenchViewOpenEvent extends WorkbenchExtensionViewOpenRequest {
5
+ type: typeof WORKBENCH_VIEW_OPEN_EVENT;
6
+ projectId: string;
7
+ conversationId?: string;
8
+ }
9
+ /** Parse the public lg.chat.event boundary, keeping arbitrary logs out of navigation. */
10
+ export declare function parseWorkbenchViewOpenEvent(value: unknown): WorkbenchViewOpenEvent | null;
@@ -0,0 +1,51 @@
1
+ /** Live-only UI request. Project scope is mandatory; history playback must not reopen Views. */
2
+ export const WORKBENCH_VIEW_OPEN_EVENT = 'workbench.view.open';
3
+ /** Parse the public lg.chat.event boundary, keeping arbitrary logs out of navigation. */
4
+ export function parseWorkbenchViewOpenEvent(value) {
5
+ if (!value ||
6
+ typeof value !== 'object' ||
7
+ Array.isArray(value) ||
8
+ !('type' in value) ||
9
+ value.type !== WORKBENCH_VIEW_OPEN_EVENT ||
10
+ !('viewKey' in value) ||
11
+ typeof value.viewKey !== 'string' ||
12
+ !value.viewKey.trim() ||
13
+ !('projectId' in value) ||
14
+ typeof value.projectId !== 'string' ||
15
+ !value.projectId.trim())
16
+ return null;
17
+ if ('conversationId' in value && typeof value.conversationId !== 'string')
18
+ return null;
19
+ if ('selectionId' in value && typeof value.selectionId !== 'string')
20
+ return null;
21
+ const parameters = {};
22
+ if ('parameters' in value) {
23
+ if (!value.parameters ||
24
+ typeof value.parameters !== 'object' ||
25
+ Array.isArray(value.parameters))
26
+ return null;
27
+ for (const [key, item] of Object.entries(value.parameters)) {
28
+ if (isViewScalar(item))
29
+ parameters[key] = item;
30
+ else if (Array.isArray(item) && item.every(isViewScalar))
31
+ parameters[key] = item;
32
+ else
33
+ return null;
34
+ }
35
+ }
36
+ return {
37
+ type: WORKBENCH_VIEW_OPEN_EVENT,
38
+ viewKey: value.viewKey,
39
+ projectId: value.projectId,
40
+ ...('conversationId' in value ? { conversationId: value.conversationId } : {}),
41
+ ...('selectionId' in value ? { selectionId: value.selectionId } : {}),
42
+ ...('parameters' in value ? { parameters } : {}),
43
+ };
44
+ }
45
+ function isViewScalar(value) {
46
+ return (value === null ||
47
+ typeof value === 'string' ||
48
+ typeof value === 'boolean' ||
49
+ (typeof value === 'number' && Number.isFinite(value)));
50
+ }
51
+ //# sourceMappingURL=workbench-open.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workbench-open.js","sourceRoot":"","sources":["../src/workbench-open.ts"],"names":[],"mappings":"AAEA,gGAAgG;AAChG,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAO/D,yFAAyF;AACzF,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IACE,CAAC,KAAK;QACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAClB,KAAK,CAAC,IAAI,KAAK,yBAAyB;QACxC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;QACrB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QACrB,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC;QACvB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;QAEvB,OAAO,IAAI,CAAC;IACd,IAAI,gBAAgB,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,aAAa,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjF,MAAM,UAAU,GAAiE,EAAE,CAAC;IACpF,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QAC1B,IACE,CAAC,KAAK,CAAC,UAAU;YACjB,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;YACpC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;YAE/B,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,YAAY,CAAC,IAAI,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iBAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;;gBAC5E,OAAO,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC;AACD,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS;QAC1B,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,51 @@
1
+ /** Live-only UI request. Project scope is mandatory; history playback must not reopen Views. */
2
+ export const WORKBENCH_VIEW_OPEN_EVENT = 'workbench.view.open';
3
+ /** Parse the public lg.chat.event boundary, keeping arbitrary logs out of navigation. */
4
+ export function parseWorkbenchViewOpenEvent(value) {
5
+ if (!value ||
6
+ typeof value !== 'object' ||
7
+ Array.isArray(value) ||
8
+ !('type' in value) ||
9
+ value.type !== WORKBENCH_VIEW_OPEN_EVENT ||
10
+ !('viewKey' in value) ||
11
+ typeof value.viewKey !== 'string' ||
12
+ !value.viewKey.trim() ||
13
+ !('projectId' in value) ||
14
+ typeof value.projectId !== 'string' ||
15
+ !value.projectId.trim())
16
+ return null;
17
+ if ('conversationId' in value && typeof value.conversationId !== 'string')
18
+ return null;
19
+ if ('selectionId' in value && typeof value.selectionId !== 'string')
20
+ return null;
21
+ const parameters = {};
22
+ if ('parameters' in value) {
23
+ if (!value.parameters ||
24
+ typeof value.parameters !== 'object' ||
25
+ Array.isArray(value.parameters))
26
+ return null;
27
+ for (const [key, item] of Object.entries(value.parameters)) {
28
+ if (isViewScalar(item))
29
+ parameters[key] = item;
30
+ else if (Array.isArray(item) && item.every(isViewScalar))
31
+ parameters[key] = item;
32
+ else
33
+ return null;
34
+ }
35
+ }
36
+ return {
37
+ type: WORKBENCH_VIEW_OPEN_EVENT,
38
+ viewKey: value.viewKey,
39
+ projectId: value.projectId,
40
+ ...('conversationId' in value ? { conversationId: value.conversationId } : {}),
41
+ ...('selectionId' in value ? { selectionId: value.selectionId } : {}),
42
+ ...('parameters' in value ? { parameters } : {}),
43
+ };
44
+ }
45
+ function isViewScalar(value) {
46
+ return (value === null ||
47
+ typeof value === 'string' ||
48
+ typeof value === 'boolean' ||
49
+ (typeof value === 'number' && Number.isFinite(value)));
50
+ }
51
+ //# sourceMappingURL=workbench-open.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workbench-open.mjs","sourceRoot":"","sources":["../src/workbench-open.ts"],"names":[],"mappings":"AAEA,gGAAgG;AAChG,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAO/D,yFAAyF;AACzF,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IACE,CAAC,KAAK;QACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAClB,KAAK,CAAC,IAAI,KAAK,yBAAyB;QACxC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;QACrB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QACrB,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC;QACvB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;QAEvB,OAAO,IAAI,CAAC;IACd,IAAI,gBAAgB,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,aAAa,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjF,MAAM,UAAU,GAAiE,EAAE,CAAC;IACpF,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QAC1B,IACE,CAAC,KAAK,CAAC,UAAU;YACjB,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;YACpC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;YAE/B,OAAO,IAAI,CAAC;QACd,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,YAAY,CAAC,IAAI,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iBAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;;gBAC5E,OAAO,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,GAAG,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC;AACD,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS;QAC1B,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xpert-ai/xpert-sdk",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "SDK Core functionality package",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",