@openwaggle/extension-sdk 0.0.0-bootstrap.0 → 0.1.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/CHANGELOG.md +12 -0
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/dist/agent-loop.d.ts +128 -0
- package/dist/agent-loop.js +47 -0
- package/dist/broker-validation.d.ts +17 -0
- package/dist/broker-validation.js +99 -0
- package/dist/broker.d.ts +193 -0
- package/dist/broker.js +81 -0
- package/dist/constants.d.ts +183 -0
- package/dist/constants.js +245 -0
- package/dist/context.d.ts +66 -0
- package/dist/context.js +49 -0
- package/dist/contribution-types.d.ts +21 -0
- package/dist/contribution-types.js +1 -0
- package/dist/core-types.d.ts +58 -0
- package/dist/core-types.js +1 -0
- package/dist/docs-validation.d.ts +3 -0
- package/dist/docs-validation.js +93 -0
- package/dist/docs.d.ts +231 -0
- package/dist/docs.js +85 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +10 -0
- package/dist/internal-validation.d.ts +4 -0
- package/dist/internal-validation.js +24 -0
- package/dist/json.d.ts +9 -0
- package/dist/json.js +3 -0
- package/dist/manifest-contributions.d.ts +380 -0
- package/dist/manifest-contributions.js +75 -0
- package/dist/manifest-primitives.d.ts +20 -0
- package/dist/manifest-primitives.js +118 -0
- package/dist/manifest.d.ts +303 -0
- package/dist/manifest.js +89 -0
- package/dist/openwaggle-sdk.d.ts +2 -0
- package/dist/openwaggle-sdk.js +127 -0
- package/dist/openwaggle-types.d.ts +111 -0
- package/dist/openwaggle-types.js +1 -0
- package/dist/openwaggle-validation.d.ts +12 -0
- package/dist/openwaggle-validation.js +135 -0
- package/dist/registry-types.d.ts +34 -0
- package/dist/registry-types.js +1 -0
- package/dist/runtime-sdk.d.ts +2 -0
- package/dist/runtime-sdk.js +19 -0
- package/dist/runtime-types.d.ts +19 -0
- package/dist/runtime-types.js +1 -0
- package/dist/runtime.d.ts +22 -0
- package/dist/runtime.js +22 -0
- package/dist/schema.d.ts +13 -0
- package/dist/schema.js +25 -0
- package/dist/sdk-types.d.ts +92 -0
- package/dist/sdk-types.js +1 -0
- package/dist/storage-sdk.d.ts +2 -0
- package/dist/storage-sdk.js +51 -0
- package/dist/storage-types.d.ts +40 -0
- package/dist/storage-types.js +1 -0
- package/dist/theme-data.d.ts +126 -0
- package/dist/theme-data.js +144 -0
- package/dist/theme-types.d.ts +61 -0
- package/dist/theme-types.js +1 -0
- package/dist/theme.d.ts +6 -0
- package/dist/theme.js +128 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.js +1 -0
- package/dist/ui-constants.d.ts +24 -0
- package/dist/ui-constants.js +22 -0
- package/dist/ui-stylesheet.d.ts +8 -0
- package/dist/ui-stylesheet.js +223 -0
- package/dist/ui.d.ts +6 -0
- package/dist/ui.js +16 -0
- package/dist-cjs/agent-loop.js +83 -0
- package/dist-cjs/broker-validation.js +109 -0
- package/dist-cjs/broker.js +120 -0
- package/dist-cjs/constants.js +248 -0
- package/dist-cjs/context.js +54 -0
- package/dist-cjs/contribution-types.js +2 -0
- package/dist-cjs/core-types.js +2 -0
- package/dist-cjs/docs-validation.js +97 -0
- package/dist-cjs/docs.js +121 -0
- package/dist-cjs/index.js +56 -0
- package/dist-cjs/internal-validation.js +30 -0
- package/dist-cjs/json.js +39 -0
- package/dist-cjs/manifest-contributions.js +111 -0
- package/dist-cjs/manifest-primitives.js +158 -0
- package/dist-cjs/manifest.js +140 -0
- package/dist-cjs/openwaggle-sdk.js +130 -0
- package/dist-cjs/openwaggle-types.js +2 -0
- package/dist-cjs/openwaggle-validation.js +148 -0
- package/dist-cjs/package.json +3 -0
- package/dist-cjs/registry-types.js +2 -0
- package/dist-cjs/runtime-sdk.js +22 -0
- package/dist-cjs/runtime-types.js +2 -0
- package/dist-cjs/runtime.js +61 -0
- package/dist-cjs/schema.js +61 -0
- package/dist-cjs/sdk-types.js +2 -0
- package/dist-cjs/storage-sdk.js +54 -0
- package/dist-cjs/storage-types.js +2 -0
- package/dist-cjs/theme-data.js +147 -0
- package/dist-cjs/theme-types.js +2 -0
- package/dist-cjs/theme.js +135 -0
- package/dist-cjs/types.js +2 -0
- package/dist-cjs/ui-constants.js +25 -0
- package/dist-cjs/ui-stylesheet.js +227 -0
- package/dist-cjs/ui.js +24 -0
- package/package.json +98 -8
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.openWaggleAgentLoopSurfaceInputSchema = exports.openWaggleStatusSurfaceInputSchema = exports.openWaggleTranscriptSurfaceInputSchema = exports.openWaggleInteractionSurfaceInputSchema = exports.openWaggleCustomMessageSurfaceInputSchema = exports.openWaggleToolCallSurfaceInputSchema = void 0;
|
|
37
|
+
const Schema = __importStar(require("effect/Schema"));
|
|
38
|
+
const json_js_1 = require("./json.js");
|
|
39
|
+
const nonEmptyStringSchema = Schema.String.pipe(Schema.minLength(1));
|
|
40
|
+
exports.openWaggleToolCallSurfaceInputSchema = Schema.Struct({
|
|
41
|
+
surface: Schema.Literal('tool'),
|
|
42
|
+
toolCall: Schema.Struct({
|
|
43
|
+
id: nonEmptyStringSchema,
|
|
44
|
+
name: nonEmptyStringSchema,
|
|
45
|
+
input: Schema.optional(json_js_1.jsonValueSchema),
|
|
46
|
+
}),
|
|
47
|
+
toolResult: Schema.optional(Schema.Struct({
|
|
48
|
+
ok: Schema.Boolean,
|
|
49
|
+
output: Schema.optional(json_js_1.jsonValueSchema),
|
|
50
|
+
error: Schema.optional(Schema.String),
|
|
51
|
+
})),
|
|
52
|
+
});
|
|
53
|
+
exports.openWaggleCustomMessageSurfaceInputSchema = Schema.Struct({
|
|
54
|
+
surface: Schema.Literal('custom-message'),
|
|
55
|
+
message: Schema.Struct({
|
|
56
|
+
name: nonEmptyStringSchema,
|
|
57
|
+
payload: Schema.optional(json_js_1.jsonValueSchema),
|
|
58
|
+
}),
|
|
59
|
+
});
|
|
60
|
+
exports.openWaggleInteractionSurfaceInputSchema = Schema.Struct({
|
|
61
|
+
surface: Schema.Literal('interaction'),
|
|
62
|
+
interaction: Schema.Struct({
|
|
63
|
+
id: nonEmptyStringSchema,
|
|
64
|
+
customType: nonEmptyStringSchema,
|
|
65
|
+
payload: Schema.optional(json_js_1.jsonValueSchema),
|
|
66
|
+
}),
|
|
67
|
+
});
|
|
68
|
+
exports.openWaggleTranscriptSurfaceInputSchema = Schema.Struct({
|
|
69
|
+
surface: Schema.Literal('transcript'),
|
|
70
|
+
transcript: Schema.Struct({
|
|
71
|
+
sessionId: Schema.optional(nonEmptyStringSchema),
|
|
72
|
+
messageCount: Schema.Number,
|
|
73
|
+
payload: Schema.optional(json_js_1.jsonValueSchema),
|
|
74
|
+
}),
|
|
75
|
+
});
|
|
76
|
+
exports.openWaggleStatusSurfaceInputSchema = Schema.Struct({
|
|
77
|
+
surface: Schema.Literal('status'),
|
|
78
|
+
status: Schema.Struct({
|
|
79
|
+
label: nonEmptyStringSchema,
|
|
80
|
+
payload: Schema.optional(json_js_1.jsonValueSchema),
|
|
81
|
+
}),
|
|
82
|
+
});
|
|
83
|
+
exports.openWaggleAgentLoopSurfaceInputSchema = Schema.Union(exports.openWaggleToolCallSurfaceInputSchema, exports.openWaggleCustomMessageSurfaceInputSchema, exports.openWaggleInteractionSurfaceInputSchema, exports.openWaggleTranscriptSurfaceInputSchema, exports.openWaggleStatusSurfaceInputSchema);
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.invalidOperationResult = invalidOperationResult;
|
|
4
|
+
exports.toDecodedOperationResult = toDecodedOperationResult;
|
|
5
|
+
exports.isStorageGetResult = isStorageGetResult;
|
|
6
|
+
exports.isStorageSetResult = isStorageSetResult;
|
|
7
|
+
exports.isStorageDeleteResult = isStorageDeleteResult;
|
|
8
|
+
exports.isStorageListResult = isStorageListResult;
|
|
9
|
+
exports.isRuntimeRegisterContributionResult = isRuntimeRegisterContributionResult;
|
|
10
|
+
exports.isRuntimeUnregisterContributionResult = isRuntimeUnregisterContributionResult;
|
|
11
|
+
const constants_js_1 = require("./constants.js");
|
|
12
|
+
const internal_validation_js_1 = require("./internal-validation.js");
|
|
13
|
+
function invalidOperationResult(input) {
|
|
14
|
+
return {
|
|
15
|
+
ok: false,
|
|
16
|
+
error: {
|
|
17
|
+
code: constants_js_1.OPENWAGGLE_EXTENSION_BROKER.FAILURE_CODE.INVALID_PAYLOAD,
|
|
18
|
+
message: input.message,
|
|
19
|
+
issues: [...input.issues],
|
|
20
|
+
},
|
|
21
|
+
audit: input.audit,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function toDecodedOperationResult(result, guard, message) {
|
|
25
|
+
if (!result.ok) {
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
return guard(result.value)
|
|
29
|
+
? { ok: true, value: result.value, audit: result.audit }
|
|
30
|
+
: invalidOperationResult({
|
|
31
|
+
audit: result.audit,
|
|
32
|
+
issues: ['Broker response payload did not match the expected operation result.'],
|
|
33
|
+
message,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function isKnownString(values, value) {
|
|
37
|
+
return typeof value === 'string' && values.some((candidate) => candidate === value);
|
|
38
|
+
}
|
|
39
|
+
function isStorageScope(value) {
|
|
40
|
+
if (!(0, internal_validation_js_1.isRecord)(value)) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
if (value.kind === constants_js_1.OPENWAGGLE_EXTENSION.STORAGE.SCOPE.GLOBAL_KIND) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
return (value.kind === constants_js_1.OPENWAGGLE_EXTENSION.STORAGE.SCOPE.PROJECT_KIND &&
|
|
47
|
+
(0, internal_validation_js_1.isNonEmptyString)(value.projectPath));
|
|
48
|
+
}
|
|
49
|
+
function isStorageKey(value) {
|
|
50
|
+
return ((0, internal_validation_js_1.isNonEmptyString)(value) &&
|
|
51
|
+
value === value.trim() &&
|
|
52
|
+
value.length <= constants_js_1.OPENWAGGLE_EXTENSION.STORAGE.KEY_MAX_LENGTH);
|
|
53
|
+
}
|
|
54
|
+
function hasStorageResultBase(value) {
|
|
55
|
+
return ((0, internal_validation_js_1.isNonEmptyString)(value.extensionId) &&
|
|
56
|
+
(0, internal_validation_js_1.isNonEmptyString)(value.contributionId) &&
|
|
57
|
+
value.capability === constants_js_1.OPENWAGGLE_EXTENSION_BROKER.CAPABILITY.STORAGE &&
|
|
58
|
+
isKnownString(constants_js_1.OPENWAGGLE_EXTENSION.STORAGE.KINDS, value.storageKind) &&
|
|
59
|
+
isStorageScope(value.storageScope));
|
|
60
|
+
}
|
|
61
|
+
function isStorageGetResult(value) {
|
|
62
|
+
return ((0, internal_validation_js_1.isRecord)(value) &&
|
|
63
|
+
hasStorageResultBase(value) &&
|
|
64
|
+
value.method === constants_js_1.OPENWAGGLE_EXTENSION_BROKER.METHOD.GET &&
|
|
65
|
+
isStorageKey(value.key) &&
|
|
66
|
+
(value.value === null || (0, internal_validation_js_1.isJsonValue)(value.value)));
|
|
67
|
+
}
|
|
68
|
+
function isStorageSetResult(value) {
|
|
69
|
+
return ((0, internal_validation_js_1.isRecord)(value) &&
|
|
70
|
+
hasStorageResultBase(value) &&
|
|
71
|
+
value.method === constants_js_1.OPENWAGGLE_EXTENSION_BROKER.METHOD.SET &&
|
|
72
|
+
isStorageKey(value.key) &&
|
|
73
|
+
(0, internal_validation_js_1.isJsonValue)(value.value) &&
|
|
74
|
+
typeof value.createdAt === 'number' &&
|
|
75
|
+
typeof value.updatedAt === 'number');
|
|
76
|
+
}
|
|
77
|
+
function isStorageDeleteResult(value) {
|
|
78
|
+
return ((0, internal_validation_js_1.isRecord)(value) &&
|
|
79
|
+
hasStorageResultBase(value) &&
|
|
80
|
+
value.method === constants_js_1.OPENWAGGLE_EXTENSION_BROKER.METHOD.DELETE &&
|
|
81
|
+
isStorageKey(value.key) &&
|
|
82
|
+
value.deleted === true);
|
|
83
|
+
}
|
|
84
|
+
function isStorageListResult(value) {
|
|
85
|
+
return ((0, internal_validation_js_1.isRecord)(value) &&
|
|
86
|
+
hasStorageResultBase(value) &&
|
|
87
|
+
value.method === constants_js_1.OPENWAGGLE_EXTENSION_BROKER.METHOD.LIST &&
|
|
88
|
+
(0, internal_validation_js_1.isStringArray)(value.keys) &&
|
|
89
|
+
value.keys.every(isStorageKey));
|
|
90
|
+
}
|
|
91
|
+
function hasRuntimeContributionResultBase(value) {
|
|
92
|
+
return ((0, internal_validation_js_1.isNonEmptyString)(value.extensionId) &&
|
|
93
|
+
(0, internal_validation_js_1.isNonEmptyString)(value.contributionId) &&
|
|
94
|
+
value.capability === constants_js_1.OPENWAGGLE_EXTENSION_BROKER.CAPABILITY.RUNTIME &&
|
|
95
|
+
isKnownString(constants_js_1.OPENWAGGLE_EXTENSION.CONTRIBUTION_FAMILIES, value.family));
|
|
96
|
+
}
|
|
97
|
+
function isRuntimeRegisterContributionResult(value) {
|
|
98
|
+
return ((0, internal_validation_js_1.isRecord)(value) &&
|
|
99
|
+
hasRuntimeContributionResultBase(value) &&
|
|
100
|
+
value.method === constants_js_1.OPENWAGGLE_EXTENSION_BROKER.METHOD.REGISTER_CONTRIBUTION &&
|
|
101
|
+
(0, internal_validation_js_1.isNonEmptyString)(value.registeredContributionId));
|
|
102
|
+
}
|
|
103
|
+
function isRuntimeUnregisterContributionResult(value) {
|
|
104
|
+
return ((0, internal_validation_js_1.isRecord)(value) &&
|
|
105
|
+
hasRuntimeContributionResultBase(value) &&
|
|
106
|
+
value.method === constants_js_1.OPENWAGGLE_EXTENSION_BROKER.METHOD.UNREGISTER_CONTRIBUTION &&
|
|
107
|
+
(0, internal_validation_js_1.isNonEmptyString)(value.unregisteredContributionId) &&
|
|
108
|
+
typeof value.unregistered === 'boolean');
|
|
109
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.extensionInvokeResultSchema = exports.extensionInvokeFailureSchema = exports.extensionInvokeSuccessSchema = exports.extensionInvokeErrorSchema = exports.extensionInvokeInputSchema = exports.extensionCapabilityAuditEntrySchema = exports.extensionInvokeScopeSchema = void 0;
|
|
37
|
+
exports.toInvokeInput = toInvokeInput;
|
|
38
|
+
exports.createExtensionBrokerSdkFromInvoke = createExtensionBrokerSdkFromInvoke;
|
|
39
|
+
exports.createExtensionBrokerSdk = createExtensionBrokerSdk;
|
|
40
|
+
const Schema = __importStar(require("effect/Schema"));
|
|
41
|
+
const constants_js_1 = require("./constants.js");
|
|
42
|
+
const manifest_js_1 = require("./manifest.js");
|
|
43
|
+
const openwaggle_sdk_js_1 = require("./openwaggle-sdk.js");
|
|
44
|
+
const runtime_sdk_js_1 = require("./runtime-sdk.js");
|
|
45
|
+
const storage_sdk_js_1 = require("./storage-sdk.js");
|
|
46
|
+
const nonEmptyStringSchema = Schema.String.pipe(Schema.minLength(1));
|
|
47
|
+
exports.extensionInvokeScopeSchema = Schema.Union(Schema.Struct({ kind: Schema.Literal('app') }), Schema.Struct({ kind: Schema.Literal('project'), projectPath: nonEmptyStringSchema }), Schema.Struct({
|
|
48
|
+
kind: Schema.Literal('session'),
|
|
49
|
+
projectPath: nonEmptyStringSchema,
|
|
50
|
+
sessionId: nonEmptyStringSchema,
|
|
51
|
+
}), Schema.Struct({
|
|
52
|
+
kind: Schema.Literal('branch'),
|
|
53
|
+
projectPath: nonEmptyStringSchema,
|
|
54
|
+
sessionId: nonEmptyStringSchema,
|
|
55
|
+
branchId: nonEmptyStringSchema,
|
|
56
|
+
}));
|
|
57
|
+
exports.extensionCapabilityAuditEntrySchema = Schema.Struct({
|
|
58
|
+
extensionId: manifest_js_1.extensionIdSchema,
|
|
59
|
+
contributionId: manifest_js_1.extensionContributionIdSchema,
|
|
60
|
+
capability: manifest_js_1.extensionContributionIdSchema,
|
|
61
|
+
method: manifest_js_1.extensionContributionIdSchema,
|
|
62
|
+
scope: exports.extensionInvokeScopeSchema,
|
|
63
|
+
outcome: Schema.Literal(...constants_js_1.OPENWAGGLE_EXTENSION_BROKER.OUTCOMES),
|
|
64
|
+
timestamp: Schema.Number,
|
|
65
|
+
failureCode: Schema.optional(Schema.Literal(...constants_js_1.OPENWAGGLE_EXTENSION_BROKER.FAILURE_CODES)),
|
|
66
|
+
});
|
|
67
|
+
exports.extensionInvokeInputSchema = Schema.Struct({
|
|
68
|
+
extensionId: manifest_js_1.extensionIdSchema,
|
|
69
|
+
contributionId: manifest_js_1.extensionContributionIdSchema,
|
|
70
|
+
capability: manifest_js_1.extensionContributionIdSchema,
|
|
71
|
+
method: manifest_js_1.extensionContributionIdSchema,
|
|
72
|
+
scope: exports.extensionInvokeScopeSchema,
|
|
73
|
+
payload: Schema.optional(Schema.Unknown),
|
|
74
|
+
});
|
|
75
|
+
exports.extensionInvokeErrorSchema = Schema.Struct({
|
|
76
|
+
code: Schema.Literal(...constants_js_1.OPENWAGGLE_EXTENSION_BROKER.FAILURE_CODES),
|
|
77
|
+
message: nonEmptyStringSchema,
|
|
78
|
+
issues: Schema.optional(Schema.Array(Schema.String)),
|
|
79
|
+
});
|
|
80
|
+
exports.extensionInvokeSuccessSchema = Schema.Struct({
|
|
81
|
+
ok: Schema.Literal(true),
|
|
82
|
+
value: Schema.Unknown,
|
|
83
|
+
audit: exports.extensionCapabilityAuditEntrySchema,
|
|
84
|
+
});
|
|
85
|
+
exports.extensionInvokeFailureSchema = Schema.Struct({
|
|
86
|
+
ok: Schema.Literal(false),
|
|
87
|
+
error: exports.extensionInvokeErrorSchema,
|
|
88
|
+
audit: Schema.optional(exports.extensionCapabilityAuditEntrySchema),
|
|
89
|
+
});
|
|
90
|
+
exports.extensionInvokeResultSchema = Schema.Union(exports.extensionInvokeSuccessSchema, exports.extensionInvokeFailureSchema);
|
|
91
|
+
function toInvokeInput(identity, request) {
|
|
92
|
+
return {
|
|
93
|
+
extensionId: identity.extensionId,
|
|
94
|
+
contributionId: identity.contributionId,
|
|
95
|
+
capability: request.capability,
|
|
96
|
+
method: request.method,
|
|
97
|
+
scope: request.scope,
|
|
98
|
+
...(request.payload !== undefined ? { payload: request.payload } : {}),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function createExtensionBrokerSdkFromInvoke(invoke, options = {}) {
|
|
102
|
+
return {
|
|
103
|
+
invoke,
|
|
104
|
+
hostContext: {
|
|
105
|
+
getScope: (scope) => invoke({
|
|
106
|
+
capability: constants_js_1.OPENWAGGLE_EXTENSION_BROKER.CAPABILITY.HOST_CONTEXT,
|
|
107
|
+
method: constants_js_1.OPENWAGGLE_EXTENSION_BROKER.METHOD.GET_SCOPE,
|
|
108
|
+
scope,
|
|
109
|
+
payload: {},
|
|
110
|
+
}),
|
|
111
|
+
},
|
|
112
|
+
storage: (0, storage_sdk_js_1.createPackageStorageSdk)(invoke),
|
|
113
|
+
openWaggle: (0, openwaggle_sdk_js_1.createOpenWaggleSdk)(invoke, options),
|
|
114
|
+
runtime: (0, runtime_sdk_js_1.createRuntimeContributionSdk)(invoke),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function createExtensionBrokerSdk(transport, identity, options = {}) {
|
|
118
|
+
const invoke = (request) => transport(toInvokeInput(identity, request));
|
|
119
|
+
return createExtensionBrokerSdkFromInvoke(invoke, options);
|
|
120
|
+
}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OPENWAGGLE_EXTENSION = exports.OPENWAGGLE_EXTENSION_BROKER = void 0;
|
|
4
|
+
const TEN_MINUTES_MS = 10 * 60 * 1_000;
|
|
5
|
+
const EXTENSION_BROKER_FAILURE_CODE = {
|
|
6
|
+
INVALID_INPUT: 'invalid-input',
|
|
7
|
+
INVALID_PAYLOAD: 'invalid-payload',
|
|
8
|
+
UNKNOWN_EXTENSION: 'unknown-extension',
|
|
9
|
+
DISABLED_EXTENSION: 'disabled-extension',
|
|
10
|
+
UNKNOWN_CONTRIBUTION: 'unknown-contribution',
|
|
11
|
+
UNDECLARED_CAPABILITY: 'undeclared-capability',
|
|
12
|
+
UNDECLARED_METHOD: 'undeclared-method',
|
|
13
|
+
UNDECLARED_SCOPE: 'undeclared-scope',
|
|
14
|
+
OUT_OF_SCOPE: 'out-of-scope',
|
|
15
|
+
UNSUPPORTED_CAPABILITY: 'unsupported-capability',
|
|
16
|
+
UNSUPPORTED_METHOD: 'unsupported-method',
|
|
17
|
+
TRANSPORT_FAILED: 'transport-failed',
|
|
18
|
+
};
|
|
19
|
+
const EXTENSION_BROKER_OUTCOME = {
|
|
20
|
+
SUCCEEDED: 'succeeded',
|
|
21
|
+
REJECTED: 'rejected',
|
|
22
|
+
};
|
|
23
|
+
const EXTENSION_BROKER_CAPABILITY = {
|
|
24
|
+
HOST_CONTEXT: 'openwaggle.host.context',
|
|
25
|
+
STORAGE: 'openwaggle.storage',
|
|
26
|
+
STATE: 'openwaggle.state',
|
|
27
|
+
ACTIONS: 'openwaggle.actions',
|
|
28
|
+
SETTINGS: 'openwaggle.settings',
|
|
29
|
+
DOCS: 'openwaggle.docs',
|
|
30
|
+
RUNTIME: 'openwaggle.runtime',
|
|
31
|
+
};
|
|
32
|
+
const EXTENSION_BROKER_METHOD = {
|
|
33
|
+
GET_SCOPE: 'get-scope',
|
|
34
|
+
GET: 'get',
|
|
35
|
+
SET: 'set',
|
|
36
|
+
DELETE: 'delete',
|
|
37
|
+
LIST: 'list',
|
|
38
|
+
GET_STATE: 'get-state',
|
|
39
|
+
READ_STATE: 'read-state',
|
|
40
|
+
SELECT_PROJECT: 'select-project',
|
|
41
|
+
GET_SETTINGS: 'get-settings',
|
|
42
|
+
UPDATE_SETTINGS: 'update-settings',
|
|
43
|
+
GET_SETTING: 'get-setting',
|
|
44
|
+
UPDATE_SETTING: 'update-setting',
|
|
45
|
+
DISCOVER_DOCS: 'discover-docs',
|
|
46
|
+
RESOLVE_DOCS_TOPIC: 'resolve-docs-topic',
|
|
47
|
+
REGISTER_CONTRIBUTION: 'register-contribution',
|
|
48
|
+
UNREGISTER_CONTRIBUTION: 'unregister-contribution',
|
|
49
|
+
};
|
|
50
|
+
const EXTENSION_BROKER_STATE_SELECTOR = {
|
|
51
|
+
CURRENT_PROJECT: 'current-project',
|
|
52
|
+
CURRENT_SESSION: 'current-session',
|
|
53
|
+
CURRENT_BRANCH: 'current-branch',
|
|
54
|
+
RECENT_PROJECTS: 'recent-projects',
|
|
55
|
+
MODEL_PREFERENCES: 'model-preferences',
|
|
56
|
+
};
|
|
57
|
+
const EXTENSION_BROKER_SETTING_KEY = {
|
|
58
|
+
MODEL_PREFERENCES: 'model-preferences',
|
|
59
|
+
PROJECT_DISPLAY_NAME: 'project-display-name',
|
|
60
|
+
};
|
|
61
|
+
const EXTENSION_BROKER_CAPABILITY_METHODS = [
|
|
62
|
+
{
|
|
63
|
+
capability: EXTENSION_BROKER_CAPABILITY.HOST_CONTEXT,
|
|
64
|
+
methods: [EXTENSION_BROKER_METHOD.GET_SCOPE],
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
capability: EXTENSION_BROKER_CAPABILITY.STORAGE,
|
|
68
|
+
methods: [
|
|
69
|
+
EXTENSION_BROKER_METHOD.GET,
|
|
70
|
+
EXTENSION_BROKER_METHOD.SET,
|
|
71
|
+
EXTENSION_BROKER_METHOD.DELETE,
|
|
72
|
+
EXTENSION_BROKER_METHOD.LIST,
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
capability: EXTENSION_BROKER_CAPABILITY.STATE,
|
|
77
|
+
methods: [EXTENSION_BROKER_METHOD.GET_STATE, EXTENSION_BROKER_METHOD.READ_STATE],
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
capability: EXTENSION_BROKER_CAPABILITY.ACTIONS,
|
|
81
|
+
methods: [EXTENSION_BROKER_METHOD.SELECT_PROJECT],
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
capability: EXTENSION_BROKER_CAPABILITY.SETTINGS,
|
|
85
|
+
methods: [
|
|
86
|
+
EXTENSION_BROKER_METHOD.GET_SETTINGS,
|
|
87
|
+
EXTENSION_BROKER_METHOD.UPDATE_SETTINGS,
|
|
88
|
+
EXTENSION_BROKER_METHOD.GET_SETTING,
|
|
89
|
+
EXTENSION_BROKER_METHOD.UPDATE_SETTING,
|
|
90
|
+
],
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
capability: EXTENSION_BROKER_CAPABILITY.DOCS,
|
|
94
|
+
methods: [EXTENSION_BROKER_METHOD.DISCOVER_DOCS, EXTENSION_BROKER_METHOD.RESOLVE_DOCS_TOPIC],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
capability: EXTENSION_BROKER_CAPABILITY.RUNTIME,
|
|
98
|
+
methods: [
|
|
99
|
+
EXTENSION_BROKER_METHOD.REGISTER_CONTRIBUTION,
|
|
100
|
+
EXTENSION_BROKER_METHOD.UNREGISTER_CONTRIBUTION,
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
];
|
|
104
|
+
const EXTENSION_CONTRIBUTION_FAMILY = {
|
|
105
|
+
COMMANDS: 'commands',
|
|
106
|
+
SLASH_COMMANDS: 'slashCommands',
|
|
107
|
+
ROUTES: 'routes',
|
|
108
|
+
SETTINGS_SECTIONS: 'settingsSections',
|
|
109
|
+
SIDE_PANELS: 'sidePanels',
|
|
110
|
+
DIALOGS: 'dialogs',
|
|
111
|
+
TRANSCRIPT_RENDERERS: 'transcriptRenderers',
|
|
112
|
+
TOOL_RENDERERS: 'toolRenderers',
|
|
113
|
+
CUSTOM_MESSAGE_RENDERERS: 'customMessageRenderers',
|
|
114
|
+
INTERACTION_RENDERERS: 'interactionRenderers',
|
|
115
|
+
STATUS_WIDGETS: 'statusWidgets',
|
|
116
|
+
};
|
|
117
|
+
const EXTENSION_COMMAND_CONTRIBUTION_FAMILIES = Object.freeze([
|
|
118
|
+
EXTENSION_CONTRIBUTION_FAMILY.COMMANDS,
|
|
119
|
+
EXTENSION_CONTRIBUTION_FAMILY.SLASH_COMMANDS,
|
|
120
|
+
]);
|
|
121
|
+
const EXTENSION_SLOT_CONTRIBUTION_FAMILIES = Object.freeze([
|
|
122
|
+
EXTENSION_CONTRIBUTION_FAMILY.SETTINGS_SECTIONS,
|
|
123
|
+
EXTENSION_CONTRIBUTION_FAMILY.SIDE_PANELS,
|
|
124
|
+
EXTENSION_CONTRIBUTION_FAMILY.DIALOGS,
|
|
125
|
+
EXTENSION_CONTRIBUTION_FAMILY.TRANSCRIPT_RENDERERS,
|
|
126
|
+
EXTENSION_CONTRIBUTION_FAMILY.TOOL_RENDERERS,
|
|
127
|
+
EXTENSION_CONTRIBUTION_FAMILY.CUSTOM_MESSAGE_RENDERERS,
|
|
128
|
+
EXTENSION_CONTRIBUTION_FAMILY.INTERACTION_RENDERERS,
|
|
129
|
+
EXTENSION_CONTRIBUTION_FAMILY.STATUS_WIDGETS,
|
|
130
|
+
]);
|
|
131
|
+
const EXTENSION_ENTRY_CONTRIBUTION_FAMILIES = Object.freeze([
|
|
132
|
+
EXTENSION_CONTRIBUTION_FAMILY.ROUTES,
|
|
133
|
+
...EXTENSION_SLOT_CONTRIBUTION_FAMILIES,
|
|
134
|
+
]);
|
|
135
|
+
const EXTENSION_CONTRIBUTION_FAMILIES = Object.freeze([
|
|
136
|
+
...EXTENSION_COMMAND_CONTRIBUTION_FAMILIES,
|
|
137
|
+
...EXTENSION_ENTRY_CONTRIBUTION_FAMILIES,
|
|
138
|
+
]);
|
|
139
|
+
const EXTENSION_CONTRIBUTION_RUNTIME = {
|
|
140
|
+
FEDERATED_MODULE: 'federated-module',
|
|
141
|
+
TRUSTED_RENDERER: 'trusted-renderer',
|
|
142
|
+
};
|
|
143
|
+
const EXTENSION_EXECUTION_PLACEMENT = {
|
|
144
|
+
HOST_RENDERER: 'host-renderer',
|
|
145
|
+
FRAME: 'frame',
|
|
146
|
+
};
|
|
147
|
+
const EXTENSION_STORAGE_KIND = {
|
|
148
|
+
STATE: 'state',
|
|
149
|
+
CONFIG: 'config',
|
|
150
|
+
};
|
|
151
|
+
const EXTENSION_STORAGE_SCOPE = {
|
|
152
|
+
GLOBAL_KIND: 'global',
|
|
153
|
+
PROJECT_KIND: 'project',
|
|
154
|
+
GLOBAL_ID: 'global',
|
|
155
|
+
};
|
|
156
|
+
const EXTENSION_INSTALL_SOURCE = {
|
|
157
|
+
PREBUILT: 'prebuilt',
|
|
158
|
+
LOCAL_BUILD: 'local-build',
|
|
159
|
+
};
|
|
160
|
+
const EXTENSION_RUNTIME_REQUIREMENT_TYPE = {
|
|
161
|
+
BINARY: 'binary',
|
|
162
|
+
COMMAND: 'command',
|
|
163
|
+
};
|
|
164
|
+
const EXTENSION_NETWORK_ACCESS_MODE = {
|
|
165
|
+
BROKERED: 'brokered',
|
|
166
|
+
RESTRICTED: 'restricted',
|
|
167
|
+
DIRECT: 'direct',
|
|
168
|
+
};
|
|
169
|
+
exports.OPENWAGGLE_EXTENSION_BROKER = {
|
|
170
|
+
CAPABILITY: EXTENSION_BROKER_CAPABILITY,
|
|
171
|
+
CAPABILITIES: Object.freeze(Object.values(EXTENSION_BROKER_CAPABILITY)),
|
|
172
|
+
CAPABILITY_METHODS: EXTENSION_BROKER_CAPABILITY_METHODS,
|
|
173
|
+
METHOD: EXTENSION_BROKER_METHOD,
|
|
174
|
+
METHODS: Object.freeze(Object.values(EXTENSION_BROKER_METHOD)),
|
|
175
|
+
FAILURE_CODE: EXTENSION_BROKER_FAILURE_CODE,
|
|
176
|
+
FAILURE_CODES: Object.freeze(Object.values(EXTENSION_BROKER_FAILURE_CODE)),
|
|
177
|
+
OUTCOME: EXTENSION_BROKER_OUTCOME,
|
|
178
|
+
OUTCOMES: Object.freeze(Object.values(EXTENSION_BROKER_OUTCOME)),
|
|
179
|
+
STATE_SELECTOR: EXTENSION_BROKER_STATE_SELECTOR,
|
|
180
|
+
STATE_SELECTORS: Object.freeze(Object.values(EXTENSION_BROKER_STATE_SELECTOR)),
|
|
181
|
+
SETTING_KEY: EXTENSION_BROKER_SETTING_KEY,
|
|
182
|
+
SETTING_KEYS: Object.freeze(Object.values(EXTENSION_BROKER_SETTING_KEY)),
|
|
183
|
+
};
|
|
184
|
+
exports.OPENWAGGLE_EXTENSION = {
|
|
185
|
+
MANIFEST_FILE: 'openwaggle.extension.json',
|
|
186
|
+
SDK_VERSION: '0.1.0',
|
|
187
|
+
PROJECT_ROOT_SEGMENTS: ['.openwaggle', 'extensions'],
|
|
188
|
+
GLOBAL_EXTENSIONS_DIR: 'extensions',
|
|
189
|
+
SCOPE: {
|
|
190
|
+
GLOBAL_KIND: 'global',
|
|
191
|
+
PROJECT_KIND: 'project',
|
|
192
|
+
GLOBAL_ID: 'global',
|
|
193
|
+
},
|
|
194
|
+
LIMITS: {
|
|
195
|
+
ID_MAX_LENGTH: 96,
|
|
196
|
+
CONTRIBUTION_ID_MAX_LENGTH: 128,
|
|
197
|
+
NAME_MAX_LENGTH: 120,
|
|
198
|
+
DESCRIPTION_MAX_LENGTH: 2_000,
|
|
199
|
+
RELATIVE_PATH_MAX_LENGTH: 260,
|
|
200
|
+
NETWORK_ORIGIN_MAX_LENGTH: 300,
|
|
201
|
+
RUNTIME_REQUIREMENT_BINARY_MAX_LENGTH: 120,
|
|
202
|
+
BUILD_COMMAND_MAX_LENGTH: 500,
|
|
203
|
+
BUILD_LOG_MAX_LENGTH: 4_000,
|
|
204
|
+
BUILD_COMMAND_TIMEOUT_MS: TEN_MINUTES_MS,
|
|
205
|
+
},
|
|
206
|
+
PATTERNS: {
|
|
207
|
+
WINDOWS_ABSOLUTE_PATH: /^[A-Za-z]:[\\/]/,
|
|
208
|
+
ID: /^[a-z0-9][a-z0-9._-]*$/,
|
|
209
|
+
CONTRIBUTION_ID: /^[a-z0-9][a-z0-9._/-]*$/,
|
|
210
|
+
SEMVER_VERSION: /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,
|
|
211
|
+
},
|
|
212
|
+
PATH: {
|
|
213
|
+
NUL_CHARACTER: '\0',
|
|
214
|
+
POSIX_SEPARATOR: '/',
|
|
215
|
+
WINDOWS_SEPARATOR: '\\',
|
|
216
|
+
RELATIVE_PARENT_SEGMENT: '..',
|
|
217
|
+
CURRENT_DIRECTORY_SEGMENT: '.',
|
|
218
|
+
},
|
|
219
|
+
RUNTIME_MODULE_PROTOCOL: {
|
|
220
|
+
MODULE_CONTEXT_SEGMENT: '__context__',
|
|
221
|
+
},
|
|
222
|
+
CAPABILITY_SCOPES: ['app', 'project', 'session', 'branch'],
|
|
223
|
+
CONTRIBUTION_FAMILY: EXTENSION_CONTRIBUTION_FAMILY,
|
|
224
|
+
CONTRIBUTION_FAMILIES: EXTENSION_CONTRIBUTION_FAMILIES,
|
|
225
|
+
COMMAND_CONTRIBUTION_FAMILIES: EXTENSION_COMMAND_CONTRIBUTION_FAMILIES,
|
|
226
|
+
CONTRIBUTION_RUNTIME: EXTENSION_CONTRIBUTION_RUNTIME,
|
|
227
|
+
CONTRIBUTION_RUNTIMES: Object.freeze(Object.values(EXTENSION_CONTRIBUTION_RUNTIME)),
|
|
228
|
+
EXECUTION_PLACEMENT: EXTENSION_EXECUTION_PLACEMENT,
|
|
229
|
+
EXECUTION_PLACEMENTS: Object.freeze(Object.values(EXTENSION_EXECUTION_PLACEMENT)),
|
|
230
|
+
STORAGE: {
|
|
231
|
+
KIND: EXTENSION_STORAGE_KIND,
|
|
232
|
+
KINDS: Object.freeze(Object.values(EXTENSION_STORAGE_KIND)),
|
|
233
|
+
SCOPE: EXTENSION_STORAGE_SCOPE,
|
|
234
|
+
SCOPE_KINDS: Object.freeze([
|
|
235
|
+
EXTENSION_STORAGE_SCOPE.GLOBAL_KIND,
|
|
236
|
+
EXTENSION_STORAGE_SCOPE.PROJECT_KIND,
|
|
237
|
+
]),
|
|
238
|
+
KEY_MAX_LENGTH: 160,
|
|
239
|
+
},
|
|
240
|
+
ENTRY_CONTRIBUTION_FAMILIES: EXTENSION_ENTRY_CONTRIBUTION_FAMILIES,
|
|
241
|
+
SLOT_CONTRIBUTION_FAMILIES: EXTENSION_SLOT_CONTRIBUTION_FAMILIES,
|
|
242
|
+
INSTALL_SOURCE: EXTENSION_INSTALL_SOURCE,
|
|
243
|
+
INSTALL_SOURCES: Object.freeze(Object.values(EXTENSION_INSTALL_SOURCE)),
|
|
244
|
+
RUNTIME_REQUIREMENT_TYPE: EXTENSION_RUNTIME_REQUIREMENT_TYPE,
|
|
245
|
+
RUNTIME_REQUIREMENT_TYPES: Object.freeze(Object.values(EXTENSION_RUNTIME_REQUIREMENT_TYPE)),
|
|
246
|
+
NETWORK_ACCESS_MODE: EXTENSION_NETWORK_ACCESS_MODE,
|
|
247
|
+
NETWORK_ACCESS_MODES: Object.freeze(Object.values(EXTENSION_NETWORK_ACCESS_MODE)),
|
|
248
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createNoopExtensionSurfaceSdk = createNoopExtensionSurfaceSdk;
|
|
4
|
+
exports.createOpenWaggleExtensionSharedModules = createOpenWaggleExtensionSharedModules;
|
|
5
|
+
exports.createOpenWaggleExtensionSurfaceContext = createOpenWaggleExtensionSurfaceContext;
|
|
6
|
+
const constants_js_1 = require("./constants.js");
|
|
7
|
+
const theme_js_1 = require("./theme.js");
|
|
8
|
+
const ui_js_1 = require("./ui.js");
|
|
9
|
+
function createNoopExtensionSurfaceSdk() {
|
|
10
|
+
return {
|
|
11
|
+
sendAction: async () => undefined,
|
|
12
|
+
respondInteraction: async () => undefined,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function createOpenWaggleExtensionSharedModules(theme = (0, theme_js_1.createOpenWaggleExtensionTheme)()) {
|
|
16
|
+
return {
|
|
17
|
+
sdk: {
|
|
18
|
+
openWaggleVersion: constants_js_1.OPENWAGGLE_EXTENSION.SDK_VERSION,
|
|
19
|
+
},
|
|
20
|
+
theme: {
|
|
21
|
+
current: theme,
|
|
22
|
+
createTheme: theme_js_1.createOpenWaggleExtensionTheme,
|
|
23
|
+
cssVariableEntries: theme_js_1.extensionThemeCssVariableEntries,
|
|
24
|
+
},
|
|
25
|
+
ui: {
|
|
26
|
+
classNames: ui_js_1.OPENWAGGLE_EXTENSION_UI_CLASS_NAMES,
|
|
27
|
+
attributes: ui_js_1.OPENWAGGLE_EXTENSION_UI_ATTRIBUTES,
|
|
28
|
+
className: ui_js_1.openWaggleExtensionClassName,
|
|
29
|
+
createStylesheet: ui_js_1.createOpenWaggleExtensionUiStylesheet,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function createOpenWaggleExtensionSurfaceContext(input) {
|
|
34
|
+
return {
|
|
35
|
+
extension: {
|
|
36
|
+
id: input.entry.extensionId,
|
|
37
|
+
name: input.entry.extensionName,
|
|
38
|
+
version: input.entry.extensionVersion,
|
|
39
|
+
},
|
|
40
|
+
contribution: {
|
|
41
|
+
id: input.entry.contributionId,
|
|
42
|
+
title: input.entry.title,
|
|
43
|
+
family: input.entry.family,
|
|
44
|
+
},
|
|
45
|
+
surface: {
|
|
46
|
+
family: input.entry.family,
|
|
47
|
+
execution: input.entry.execution ?? '',
|
|
48
|
+
...(input.surfacePayload !== undefined ? { payload: input.surfacePayload } : {}),
|
|
49
|
+
},
|
|
50
|
+
packagePath: input.entry.packagePath,
|
|
51
|
+
projectPaths: input.entry.projectPaths,
|
|
52
|
+
theme: input.theme ?? (0, theme_js_1.createOpenWaggleExtensionTheme)(),
|
|
53
|
+
};
|
|
54
|
+
}
|