@opencomputer/cli 0.5.2 → 0.5.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.
- package/dist/api.d.ts +14 -0
- package/dist/api.js.map +1 -1
- package/dist/commands.js +18 -20
- package/dist/commands.js.map +1 -1
- package/dist/dev.d.ts +18 -3
- package/dist/dev.js +41 -5
- package/dist/dev.js.map +1 -1
- package/dist/project.d.ts +56 -0
- package/dist/project.js +385 -1
- package/dist/project.js.map +1 -1
- package/dist/project.test.js +187 -2
- package/dist/project.test.js.map +1 -1
- package/package.json +2 -1
package/dist/project.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { access, cp, mkdir, readFile, readdir, rm, writeFile, } from "node:fs/promises";
|
|
3
3
|
import { basename, dirname, relative, resolve } from "node:path";
|
|
4
|
+
import { Cron } from "croner";
|
|
4
5
|
import ts from "typescript";
|
|
5
6
|
const AGENT_ID_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
6
7
|
async function exists(path) {
|
|
@@ -260,7 +261,7 @@ export default function Agent() {
|
|
|
260
261
|
deploy: "opencomputer deploy",
|
|
261
262
|
},
|
|
262
263
|
dependencies: {
|
|
263
|
-
"@opencomputer/agent": "^0.
|
|
264
|
+
"@opencomputer/agent": "^0.5.0",
|
|
264
265
|
...(spa
|
|
265
266
|
? {
|
|
266
267
|
"@opencomputer/react": "^0.1.0",
|
|
@@ -618,6 +619,372 @@ function literalStringValue(expression, label) {
|
|
|
618
619
|
}
|
|
619
620
|
return expression.text;
|
|
620
621
|
}
|
|
622
|
+
function literalStringArray(expression, label) {
|
|
623
|
+
if (!expression || !ts.isArrayLiteralExpression(expression)) {
|
|
624
|
+
throw new Error(`${label} must be an array literal`);
|
|
625
|
+
}
|
|
626
|
+
return expression.elements.map((element) => literalStringValue(element, `${label} item`));
|
|
627
|
+
}
|
|
628
|
+
function staticPropertyName(name, label) {
|
|
629
|
+
if (ts.isIdentifier(name) || ts.isStringLiteralLike(name))
|
|
630
|
+
return name.text;
|
|
631
|
+
throw new Error(`${label} must use static property names`);
|
|
632
|
+
}
|
|
633
|
+
function defaultExportCall(source, path, helper) {
|
|
634
|
+
const file = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);
|
|
635
|
+
const statement = file.statements.find((candidate) => ts.isExportAssignment(candidate) &&
|
|
636
|
+
ts.isCallExpression(candidate.expression) &&
|
|
637
|
+
ts.isIdentifier(candidate.expression.expression) &&
|
|
638
|
+
candidate.expression.expression.text === helper);
|
|
639
|
+
if (!statement || !ts.isCallExpression(statement.expression)) {
|
|
640
|
+
throw new Error(`${path} must default-export ${helper}()`);
|
|
641
|
+
}
|
|
642
|
+
return statement.expression;
|
|
643
|
+
}
|
|
644
|
+
function importedResourceId(source, path, localName, label) {
|
|
645
|
+
const file = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, true);
|
|
646
|
+
const declaration = file.statements.find((statement) => ts.isImportDeclaration(statement) &&
|
|
647
|
+
statement.importClause?.name?.text === localName);
|
|
648
|
+
if (!declaration || !ts.isStringLiteralLike(declaration.moduleSpecifier)) {
|
|
649
|
+
throw new Error(`${path} must default-import the ${label} definition`);
|
|
650
|
+
}
|
|
651
|
+
const module = basename(declaration.moduleSpecifier.text).replace(/\.(?:js|ts)$/, "");
|
|
652
|
+
if (!AGENT_ID_PATTERN.test(module)) {
|
|
653
|
+
throw new Error(`${path} imports an invalid ${label} resource name`);
|
|
654
|
+
}
|
|
655
|
+
return module;
|
|
656
|
+
}
|
|
657
|
+
function channelDefinition(source, path) {
|
|
658
|
+
const call = defaultExportCall(source, path, "defineChannel");
|
|
659
|
+
const input = call.arguments[0];
|
|
660
|
+
if (!input || !ts.isObjectLiteralExpression(input)) {
|
|
661
|
+
throw new Error(`${path} defineChannel() requires an object literal`);
|
|
662
|
+
}
|
|
663
|
+
const id = literalStringValue(objectProperty(input, "id"), `${path} channel id`);
|
|
664
|
+
if (basename(path, ".ts") !== id || !AGENT_ID_PATTERN.test(id)) {
|
|
665
|
+
throw new Error(`${path} filename must match its valid channel id`);
|
|
666
|
+
}
|
|
667
|
+
const type = literalStringValue(objectProperty(input, "type"), `${path} channel type`);
|
|
668
|
+
if (type !== "slack")
|
|
669
|
+
throw new Error(`${path} supports only type "slack"`);
|
|
670
|
+
const scopesExpression = objectProperty(input, "scopes");
|
|
671
|
+
if (!scopesExpression || !ts.isObjectLiteralExpression(scopesExpression)) {
|
|
672
|
+
throw new Error(`${path} scopes must be an object literal`);
|
|
673
|
+
}
|
|
674
|
+
const scopes = [
|
|
675
|
+
...new Set(literalStringArray(objectProperty(scopesExpression, "bot"), `${path} Slack bot scopes`)),
|
|
676
|
+
].sort();
|
|
677
|
+
const events = [
|
|
678
|
+
...new Set(objectProperty(input, "events")
|
|
679
|
+
? literalStringArray(objectProperty(input, "events"), `${path} events`)
|
|
680
|
+
: []),
|
|
681
|
+
].sort();
|
|
682
|
+
const allowedEvents = new Set(["app_mention", "message.im"]);
|
|
683
|
+
if (events.some((event) => !allowedEvents.has(event))) {
|
|
684
|
+
throw new Error(`${path} declares an unsupported Slack event`);
|
|
685
|
+
}
|
|
686
|
+
const requiredEventScopes = {
|
|
687
|
+
app_mention: "app_mentions:read",
|
|
688
|
+
"message.im": "im:history",
|
|
689
|
+
};
|
|
690
|
+
for (const event of events) {
|
|
691
|
+
const required = requiredEventScopes[event];
|
|
692
|
+
if (!scopes.includes(required)) {
|
|
693
|
+
throw new Error(`${path} event ${event} requires bot scope ${required}`);
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
const destinations = {};
|
|
697
|
+
const destinationsExpression = objectProperty(input, "destinations");
|
|
698
|
+
if (destinationsExpression) {
|
|
699
|
+
if (!ts.isObjectLiteralExpression(destinationsExpression)) {
|
|
700
|
+
throw new Error(`${path} destinations must be an object literal`);
|
|
701
|
+
}
|
|
702
|
+
for (const property of destinationsExpression.properties) {
|
|
703
|
+
if (!ts.isPropertyAssignment(property)) {
|
|
704
|
+
throw new Error(`${path} destinations cannot use spreads`);
|
|
705
|
+
}
|
|
706
|
+
const name = staticPropertyName(property.name, `${path} destination`);
|
|
707
|
+
if (!AGENT_ID_PATTERN.test(name)) {
|
|
708
|
+
throw new Error(`${path} has invalid destination ${name}`);
|
|
709
|
+
}
|
|
710
|
+
if (!ts.isObjectLiteralExpression(property.initializer)) {
|
|
711
|
+
throw new Error(`${path} destination ${name} must be an object literal`);
|
|
712
|
+
}
|
|
713
|
+
const destinationType = literalStringValue(objectProperty(property.initializer, "type"), `${path} destination ${name} type`);
|
|
714
|
+
const visibility = literalStringValue(objectProperty(property.initializer, "visibility"), `${path} destination ${name} visibility`);
|
|
715
|
+
if (destinationType !== "conversation" ||
|
|
716
|
+
(visibility !== "public" && visibility !== "private")) {
|
|
717
|
+
throw new Error(`${path} destination ${name} is unsupported`);
|
|
718
|
+
}
|
|
719
|
+
const required = visibility === "private" ? "groups:read" : "channels:read";
|
|
720
|
+
if (!scopes.includes(required) || !scopes.includes("chat:write")) {
|
|
721
|
+
throw new Error(`${path} destination ${name} requires ${required} and chat:write`);
|
|
722
|
+
}
|
|
723
|
+
destinations[name] = { type: "conversation", visibility };
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
const routingExpression = objectProperty(input, "routing");
|
|
727
|
+
if (routingExpression && !ts.isObjectLiteralExpression(routingExpression)) {
|
|
728
|
+
throw new Error(`${path} routing must be an object literal`);
|
|
729
|
+
}
|
|
730
|
+
if (routingExpression) {
|
|
731
|
+
const ambiguity = objectProperty(routingExpression, "whenAmbiguous");
|
|
732
|
+
if (ambiguity && literalStringValue(ambiguity, `${path} ambiguity policy`) !== "ask") {
|
|
733
|
+
throw new Error(`${path} supports only routing.whenAmbiguous = "ask"`);
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
const displayNameExpression = objectProperty(input, "displayName");
|
|
737
|
+
return {
|
|
738
|
+
id,
|
|
739
|
+
type: "slack",
|
|
740
|
+
...(displayNameExpression
|
|
741
|
+
? { displayName: literalStringValue(displayNameExpression, `${path} displayName`) }
|
|
742
|
+
: {}),
|
|
743
|
+
scopes: { bot: scopes },
|
|
744
|
+
events: events,
|
|
745
|
+
destinations,
|
|
746
|
+
routing: { whenAmbiguous: "ask" },
|
|
747
|
+
};
|
|
748
|
+
}
|
|
749
|
+
function channelRegistration(source, path, agentId, channels) {
|
|
750
|
+
const call = defaultExportCall(source, path, "registerChannel");
|
|
751
|
+
const channelExpression = call.arguments[0];
|
|
752
|
+
const input = call.arguments[1];
|
|
753
|
+
if (!channelExpression || !ts.isIdentifier(channelExpression)) {
|
|
754
|
+
throw new Error(`${path} must register an imported channel definition`);
|
|
755
|
+
}
|
|
756
|
+
if (!input || !ts.isObjectLiteralExpression(input)) {
|
|
757
|
+
throw new Error(`${path} registerChannel() requires an object literal`);
|
|
758
|
+
}
|
|
759
|
+
const channelId = importedResourceId(source, path, channelExpression.text, "channel");
|
|
760
|
+
const channel = channels.get(channelId);
|
|
761
|
+
if (!channel)
|
|
762
|
+
throw new Error(`${path} references unknown channel ${channelId}`);
|
|
763
|
+
const triggers = [
|
|
764
|
+
...new Set(literalStringArray(objectProperty(input, "on"), `${path} triggers`)),
|
|
765
|
+
].sort();
|
|
766
|
+
const triggerEvents = {
|
|
767
|
+
mention: "app_mention",
|
|
768
|
+
"direct-message": "message.im",
|
|
769
|
+
};
|
|
770
|
+
for (const trigger of triggers) {
|
|
771
|
+
const event = triggerEvents[trigger];
|
|
772
|
+
if (!event || !channel.events.includes(event)) {
|
|
773
|
+
throw new Error(`${path} trigger ${trigger} is not declared by ${channelId}`);
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
return {
|
|
777
|
+
agentId,
|
|
778
|
+
channelId,
|
|
779
|
+
triggers: triggers,
|
|
780
|
+
};
|
|
781
|
+
}
|
|
782
|
+
function outboxDefinition(source, path, channels) {
|
|
783
|
+
const call = defaultExportCall(source, path, "defineOutbox");
|
|
784
|
+
const input = call.arguments[0];
|
|
785
|
+
if (!input || !ts.isObjectLiteralExpression(input)) {
|
|
786
|
+
throw new Error(`${path} defineOutbox() requires an object literal`);
|
|
787
|
+
}
|
|
788
|
+
const id = literalStringValue(objectProperty(input, "id"), `${path} outbox id`);
|
|
789
|
+
if (basename(path, ".ts") !== id || !AGENT_ID_PATTERN.test(id)) {
|
|
790
|
+
throw new Error(`${path} filename must match its valid outbox id`);
|
|
791
|
+
}
|
|
792
|
+
const delivery = objectProperty(input, "delivery");
|
|
793
|
+
if (!delivery || !ts.isObjectLiteralExpression(delivery)) {
|
|
794
|
+
throw new Error(`${path} delivery must be an object literal`);
|
|
795
|
+
}
|
|
796
|
+
const channelExpression = objectProperty(delivery, "channel");
|
|
797
|
+
if (!channelExpression || !ts.isIdentifier(channelExpression)) {
|
|
798
|
+
throw new Error(`${path} delivery.channel must reference an imported channel`);
|
|
799
|
+
}
|
|
800
|
+
const channelId = importedResourceId(source, path, channelExpression.text, "channel");
|
|
801
|
+
const destination = literalStringValue(objectProperty(delivery, "destination"), `${path} destination`);
|
|
802
|
+
if (!channels.get(channelId)?.destinations[destination]) {
|
|
803
|
+
throw new Error(`${path} references unknown destination ${destination} on ${channelId}`);
|
|
804
|
+
}
|
|
805
|
+
return { id, channelId, destination };
|
|
806
|
+
}
|
|
807
|
+
function outboxRegistration(source, path, agentId, outboxes) {
|
|
808
|
+
const call = defaultExportCall(source, path, "registerOutbox");
|
|
809
|
+
const expression = call.arguments[0];
|
|
810
|
+
if (!expression || !ts.isIdentifier(expression)) {
|
|
811
|
+
throw new Error(`${path} must register an imported outbox definition`);
|
|
812
|
+
}
|
|
813
|
+
const outboxId = importedResourceId(source, path, expression.text, "outbox");
|
|
814
|
+
if (!outboxes.has(outboxId)) {
|
|
815
|
+
throw new Error(`${path} references unknown outbox ${outboxId}`);
|
|
816
|
+
}
|
|
817
|
+
return { agentId, outboxId };
|
|
818
|
+
}
|
|
819
|
+
function staticJsonValue(expression, label) {
|
|
820
|
+
if (ts.isStringLiteralLike(expression))
|
|
821
|
+
return expression.text;
|
|
822
|
+
if (ts.isNumericLiteral(expression))
|
|
823
|
+
return Number(expression.text);
|
|
824
|
+
if (ts.isPrefixUnaryExpression(expression) &&
|
|
825
|
+
expression.operator === ts.SyntaxKind.MinusToken &&
|
|
826
|
+
ts.isNumericLiteral(expression.operand)) {
|
|
827
|
+
return -Number(expression.operand.text);
|
|
828
|
+
}
|
|
829
|
+
if (expression.kind === ts.SyntaxKind.TrueKeyword)
|
|
830
|
+
return true;
|
|
831
|
+
if (expression.kind === ts.SyntaxKind.FalseKeyword)
|
|
832
|
+
return false;
|
|
833
|
+
if (expression.kind === ts.SyntaxKind.NullKeyword)
|
|
834
|
+
return null;
|
|
835
|
+
if (ts.isArrayLiteralExpression(expression)) {
|
|
836
|
+
return expression.elements.map((element) => {
|
|
837
|
+
if (ts.isSpreadElement(element)) {
|
|
838
|
+
throw new Error(`${label} cannot use spreads`);
|
|
839
|
+
}
|
|
840
|
+
return staticJsonValue(element, label);
|
|
841
|
+
});
|
|
842
|
+
}
|
|
843
|
+
if (ts.isObjectLiteralExpression(expression)) {
|
|
844
|
+
const value = {};
|
|
845
|
+
for (const property of expression.properties) {
|
|
846
|
+
if (!ts.isPropertyAssignment(property)) {
|
|
847
|
+
throw new Error(`${label} cannot use methods or spreads`);
|
|
848
|
+
}
|
|
849
|
+
value[staticPropertyName(property.name, label)] = staticJsonValue(property.initializer, label);
|
|
850
|
+
}
|
|
851
|
+
return value;
|
|
852
|
+
}
|
|
853
|
+
throw new Error(`${label} must be a static JSON value`);
|
|
854
|
+
}
|
|
855
|
+
function scheduleDefinition(source, path, agentId) {
|
|
856
|
+
const call = defaultExportCall(source, path, "defineSchedule");
|
|
857
|
+
const input = call.arguments[0];
|
|
858
|
+
if (!input || !ts.isObjectLiteralExpression(input)) {
|
|
859
|
+
throw new Error(`${path} defineSchedule() requires an object literal`);
|
|
860
|
+
}
|
|
861
|
+
const id = literalStringValue(objectProperty(input, "id"), `${path} schedule id`);
|
|
862
|
+
if (basename(path, ".ts") !== id || !AGENT_ID_PATTERN.test(id)) {
|
|
863
|
+
throw new Error(`${path} filename must match its valid schedule id`);
|
|
864
|
+
}
|
|
865
|
+
const cron = literalStringValue(objectProperty(input, "cron"), `${path} cron`)
|
|
866
|
+
.trim()
|
|
867
|
+
.replace(/\s+/g, " ");
|
|
868
|
+
if (cron.split(" ").length !== 5) {
|
|
869
|
+
throw new Error(`${path} cron must contain exactly five fields`);
|
|
870
|
+
}
|
|
871
|
+
const timezoneExpression = objectProperty(input, "timezone");
|
|
872
|
+
const timezone = timezoneExpression
|
|
873
|
+
? literalStringValue(timezoneExpression, `${path} timezone`)
|
|
874
|
+
: "UTC";
|
|
875
|
+
try {
|
|
876
|
+
new Intl.DateTimeFormat("en-US", { timeZone: timezone }).format();
|
|
877
|
+
}
|
|
878
|
+
catch {
|
|
879
|
+
throw new Error(`${path} timezone must be a valid IANA timezone`);
|
|
880
|
+
}
|
|
881
|
+
try {
|
|
882
|
+
new Cron(cron, { timezone, paused: true });
|
|
883
|
+
}
|
|
884
|
+
catch {
|
|
885
|
+
throw new Error(`${path} cron is invalid`);
|
|
886
|
+
}
|
|
887
|
+
const enabledExpression = objectProperty(input, "enabled");
|
|
888
|
+
const enabled = [
|
|
889
|
+
...new Set(enabledExpression
|
|
890
|
+
? literalStringArray(enabledExpression, `${path} enabled environments`)
|
|
891
|
+
: ["production"]),
|
|
892
|
+
].sort();
|
|
893
|
+
if (!enabled.length ||
|
|
894
|
+
enabled.some((environment) => environment !== "development" && environment !== "production")) {
|
|
895
|
+
throw new Error(`${path} enabled environments are invalid`);
|
|
896
|
+
}
|
|
897
|
+
const overlapExpression = objectProperty(input, "overlap");
|
|
898
|
+
const overlap = overlapExpression
|
|
899
|
+
? literalStringValue(overlapExpression, `${path} overlap`)
|
|
900
|
+
: "skip";
|
|
901
|
+
if (overlap !== "skip" && overlap !== "allow") {
|
|
902
|
+
throw new Error(`${path} overlap must be "skip" or "allow"`);
|
|
903
|
+
}
|
|
904
|
+
const dispatchExpression = objectProperty(input, "dispatch");
|
|
905
|
+
if (!dispatchExpression || !ts.isObjectLiteralExpression(dispatchExpression)) {
|
|
906
|
+
throw new Error(`${path} dispatch must be an object literal`);
|
|
907
|
+
}
|
|
908
|
+
const textExpression = objectProperty(dispatchExpression, "text");
|
|
909
|
+
const text = textExpression
|
|
910
|
+
? literalStringValue(textExpression, `${path} dispatch text`).trim()
|
|
911
|
+
: undefined;
|
|
912
|
+
const payloadExpression = objectProperty(dispatchExpression, "payload");
|
|
913
|
+
const payload = payloadExpression
|
|
914
|
+
? staticJsonValue(payloadExpression, `${path} dispatch payload`)
|
|
915
|
+
: undefined;
|
|
916
|
+
if (!text && payload === undefined) {
|
|
917
|
+
throw new Error(`${path} dispatch requires text or payload`);
|
|
918
|
+
}
|
|
919
|
+
if (payload !== undefined && JSON.stringify(payload).length > 32 * 1024) {
|
|
920
|
+
throw new Error(`${path} dispatch payload cannot exceed 32 KiB`);
|
|
921
|
+
}
|
|
922
|
+
return {
|
|
923
|
+
id,
|
|
924
|
+
agentId,
|
|
925
|
+
cron,
|
|
926
|
+
timezone,
|
|
927
|
+
enabled: enabled,
|
|
928
|
+
overlap,
|
|
929
|
+
dispatch: {
|
|
930
|
+
...(text ? { text } : {}),
|
|
931
|
+
...(payload === undefined ? {} : { payload }),
|
|
932
|
+
},
|
|
933
|
+
};
|
|
934
|
+
}
|
|
935
|
+
async function typescriptFiles(directory) {
|
|
936
|
+
if (!(await exists(directory)))
|
|
937
|
+
return [];
|
|
938
|
+
return (await readdir(directory, { withFileTypes: true }))
|
|
939
|
+
.filter((entry) => entry.isFile() && entry.name.endsWith(".ts"))
|
|
940
|
+
.map((entry) => resolve(directory, entry.name))
|
|
941
|
+
.sort();
|
|
942
|
+
}
|
|
943
|
+
export async function readProjectResources(projectRoot) {
|
|
944
|
+
const opencomputer = resolve(projectRoot, "opencomputer");
|
|
945
|
+
const channelDefinitions = await Promise.all((await typescriptFiles(resolve(opencomputer, "channels"))).map(async (path) => channelDefinition(await readFile(path, "utf8"), path)));
|
|
946
|
+
const channels = new Map(channelDefinitions.map((channel) => [channel.id, channel]));
|
|
947
|
+
if (channels.size !== channelDefinitions.length) {
|
|
948
|
+
throw new Error("Project channel IDs must be unique");
|
|
949
|
+
}
|
|
950
|
+
const outboxDefinitions = await Promise.all((await typescriptFiles(resolve(opencomputer, "outboxes"))).map(async (path) => outboxDefinition(await readFile(path, "utf8"), path, channels)));
|
|
951
|
+
const outboxes = new Map(outboxDefinitions.map((outbox) => [outbox.id, outbox]));
|
|
952
|
+
if (outboxes.size !== outboxDefinitions.length) {
|
|
953
|
+
throw new Error("Project outbox IDs must be unique");
|
|
954
|
+
}
|
|
955
|
+
const agents = await readProjectAgents(projectRoot);
|
|
956
|
+
const channelRegistrations = [];
|
|
957
|
+
const outboxRegistrations = [];
|
|
958
|
+
const schedules = [];
|
|
959
|
+
for (const agent of agents) {
|
|
960
|
+
for (const path of await typescriptFiles(resolve(agent.root, "channels"))) {
|
|
961
|
+
channelRegistrations.push(channelRegistration(await readFile(path, "utf8"), path, agent.localId, channels));
|
|
962
|
+
}
|
|
963
|
+
for (const path of await typescriptFiles(resolve(agent.root, "outboxes"))) {
|
|
964
|
+
outboxRegistrations.push(outboxRegistration(await readFile(path, "utf8"), path, agent.localId, outboxes));
|
|
965
|
+
}
|
|
966
|
+
for (const path of await typescriptFiles(resolve(agent.root, "schedules"))) {
|
|
967
|
+
schedules.push(scheduleDefinition(await readFile(path, "utf8"), path, agent.localId));
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
const scheduleKeys = schedules.map(({ agentId, id }) => `${agentId}:${id}`);
|
|
971
|
+
if (new Set(scheduleKeys).size !== scheduleKeys.length) {
|
|
972
|
+
throw new Error("Agent schedule IDs must be unique within each agent");
|
|
973
|
+
}
|
|
974
|
+
const manifest = {
|
|
975
|
+
version: 1,
|
|
976
|
+
channels: channelDefinitions.sort((left, right) => left.id.localeCompare(right.id)),
|
|
977
|
+
channelRegistrations: channelRegistrations.sort((left, right) => `${left.channelId}:${left.agentId}`.localeCompare(`${right.channelId}:${right.agentId}`)),
|
|
978
|
+
outboxes: outboxDefinitions.sort((left, right) => left.id.localeCompare(right.id)),
|
|
979
|
+
outboxRegistrations: outboxRegistrations.sort((left, right) => `${left.outboxId}:${left.agentId}`.localeCompare(`${right.outboxId}:${right.agentId}`)),
|
|
980
|
+
schedules: schedules.sort((left, right) => `${left.agentId}:${left.id}`.localeCompare(`${right.agentId}:${right.id}`)),
|
|
981
|
+
};
|
|
982
|
+
const serialized = JSON.stringify(manifest);
|
|
983
|
+
return {
|
|
984
|
+
manifest,
|
|
985
|
+
digest: createHash("sha256").update(serialized).digest("hex"),
|
|
986
|
+
};
|
|
987
|
+
}
|
|
621
988
|
function secretNameFromExpression(expression) {
|
|
622
989
|
if (!ts.isCallExpression(expression) ||
|
|
623
990
|
!ts.isIdentifier(expression.expression) ||
|
|
@@ -850,6 +1217,23 @@ export const defineTool = (input) => {
|
|
|
850
1217
|
if (input.output && typeof input.output !== "object") throw new Error("defineTool output must be a JSON Schema object");
|
|
851
1218
|
return Object.freeze({ kind: "tool", version: 1, ...input, id: toolId, name: toolId });
|
|
852
1219
|
};
|
|
1220
|
+
export const publishOutbox = async (outbox, input) => {
|
|
1221
|
+
const outboxId = id(typeof outbox === "string" ? outbox : outbox.id, "publishOutbox");
|
|
1222
|
+
const type = String(input.type).trim();
|
|
1223
|
+
if (!/^[a-z0-9]+(?:[a-z0-9.-]*[a-z0-9])?$/.test(type)) throw new Error("Outbox event types must use lowercase dot notation");
|
|
1224
|
+
const idempotencyKey = String(input.idempotencyKey).trim();
|
|
1225
|
+
if (!idempotencyKey || idempotencyKey.length > 256) throw new Error("Outbox idempotency keys must contain 1 to 256 characters");
|
|
1226
|
+
const base = globalThis.process?.env?.OPENCOMPUTER_OUTBOX_URL;
|
|
1227
|
+
const token = globalThis.process?.env?.OPENCOMPUTER_OUTBOX_TOKEN;
|
|
1228
|
+
if (!base || !token) throw new Error("OpenComputer outbox delivery is unavailable");
|
|
1229
|
+
const response = await fetch(base.replace(/\\\/$/, "") + "/" + encodeURIComponent(outboxId) + "/items", {
|
|
1230
|
+
method: "POST",
|
|
1231
|
+
headers: { authorization: "Bearer " + token, "content-type": "application/json" },
|
|
1232
|
+
body: JSON.stringify({ type, content: input.content, idempotencyKey }),
|
|
1233
|
+
});
|
|
1234
|
+
if (!response.ok) throw new Error("Outbox publish failed with status " + response.status);
|
|
1235
|
+
return await response.json();
|
|
1236
|
+
};
|
|
853
1237
|
export const useInput = () => hooks().useInput();
|
|
854
1238
|
export const useCurrentInput = useInput;
|
|
855
1239
|
export const useModel = (model) => hooks().useModel(model);
|
package/dist/project.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|