mirror of
https://github.com/hansjone/dsh-im-ops.git
synced 2026-10-09 04:13:17 +08:00
feat: support inbound files across all channels
This commit is contained in:
parent
29bcb67a64
commit
0a26d7df92
45 changed files with 2651 additions and 343 deletions
|
|
@ -86,9 +86,10 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
return state;
|
||||
};
|
||||
const commandExecutor = createHarnessCommandExecutor(ctx, internals.commandExecutor);
|
||||
const { controlExecutor, sessionMaintenanceExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
const { controlExecutor, sessionMaintenanceExecutor, fileIngressExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
controlExecutor: internals.controlExecutor,
|
||||
sessionMaintenanceExecutor: internals.sessionMaintenanceExecutor,
|
||||
fileIngressExecutor: internals.fileIngressExecutor,
|
||||
});
|
||||
const harness = new Harness({
|
||||
baseUrl: harnessOrigin(ctx.webServer, config.harnessBaseUrl),
|
||||
|
|
@ -98,6 +99,7 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
...(commandExecutor ? { commandExecutor } : {}),
|
||||
...(controlExecutor ? { controlExecutor } : {}),
|
||||
...(sessionMaintenanceExecutor ? { sessionMaintenanceExecutor } : {}),
|
||||
...(fileIngressExecutor ? { fileIngressExecutor } : {}),
|
||||
});
|
||||
const coreController = new Controller({
|
||||
deviceAuth,
|
||||
|
|
|
|||
|
|
@ -133,9 +133,10 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
return stateFor(botConfig);
|
||||
};
|
||||
const commandExecutor = createHarnessCommandExecutor(ctx, internals.commandExecutor);
|
||||
const { controlExecutor, sessionMaintenanceExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
const { controlExecutor, sessionMaintenanceExecutor, fileIngressExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
controlExecutor: internals.controlExecutor,
|
||||
sessionMaintenanceExecutor: internals.sessionMaintenanceExecutor,
|
||||
fileIngressExecutor: internals.fileIngressExecutor,
|
||||
});
|
||||
const harness = new Harness({
|
||||
baseUrl: harnessOrigin(ctx.webServer, config.harnessBaseUrl),
|
||||
|
|
@ -147,6 +148,7 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
...(commandExecutor ? { commandExecutor } : {}),
|
||||
...(controlExecutor ? { controlExecutor } : {}),
|
||||
...(sessionMaintenanceExecutor ? { sessionMaintenanceExecutor } : {}),
|
||||
...(fileIngressExecutor ? { fileIngressExecutor } : {}),
|
||||
});
|
||||
const proxyEnv = internals.proxyEnv ?? process.env;
|
||||
const wsAgent = createFeishuWebSocketAgent(proxyEnv, internals.createProxyAgent);
|
||||
|
|
|
|||
|
|
@ -77,9 +77,10 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
return state;
|
||||
};
|
||||
const commandExecutor = createHarnessCommandExecutor(ctx, internals.commandExecutor);
|
||||
const { controlExecutor, sessionMaintenanceExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
const { controlExecutor, sessionMaintenanceExecutor, fileIngressExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
controlExecutor: internals.controlExecutor,
|
||||
sessionMaintenanceExecutor: internals.sessionMaintenanceExecutor,
|
||||
fileIngressExecutor: internals.fileIngressExecutor,
|
||||
});
|
||||
const harness = new Harness({
|
||||
baseUrl: harnessOrigin(ctx.webServer, config.harnessBaseUrl),
|
||||
|
|
@ -89,6 +90,7 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
...(commandExecutor ? { commandExecutor } : {}),
|
||||
...(controlExecutor ? { controlExecutor } : {}),
|
||||
...(sessionMaintenanceExecutor ? { sessionMaintenanceExecutor } : {}),
|
||||
...(fileIngressExecutor ? { fileIngressExecutor } : {}),
|
||||
});
|
||||
const coreController = new Controller({
|
||||
qrAuth,
|
||||
|
|
|
|||
|
|
@ -78,9 +78,10 @@ export async function createTokenProductionController(ctx, config, internals, de
|
|||
return state;
|
||||
};
|
||||
const commandExecutor = createHarnessCommandExecutor(ctx, internals.commandExecutor);
|
||||
const { controlExecutor, sessionMaintenanceExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
const { controlExecutor, sessionMaintenanceExecutor, fileIngressExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
controlExecutor: internals.controlExecutor,
|
||||
sessionMaintenanceExecutor: internals.sessionMaintenanceExecutor,
|
||||
fileIngressExecutor: internals.fileIngressExecutor,
|
||||
});
|
||||
const harness = new ResolvedHarness({
|
||||
baseUrl: harnessOrigin(ctx.webServer, config.harnessBaseUrl),
|
||||
|
|
@ -90,6 +91,7 @@ export async function createTokenProductionController(ctx, config, internals, de
|
|||
...(commandExecutor ? { commandExecutor } : {}),
|
||||
...(controlExecutor ? { controlExecutor } : {}),
|
||||
...(sessionMaintenanceExecutor ? { sessionMaintenanceExecutor } : {}),
|
||||
...(fileIngressExecutor ? { fileIngressExecutor } : {}),
|
||||
});
|
||||
const coreController = new ResolvedController({
|
||||
credentials: ctx.credentials,
|
||||
|
|
|
|||
|
|
@ -56,9 +56,10 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
return state;
|
||||
};
|
||||
const commandExecutor = createHarnessCommandExecutor(ctx, internals.commandExecutor);
|
||||
const { controlExecutor, sessionMaintenanceExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
const { controlExecutor, sessionMaintenanceExecutor, fileIngressExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
controlExecutor: internals.controlExecutor,
|
||||
sessionMaintenanceExecutor: internals.sessionMaintenanceExecutor,
|
||||
fileIngressExecutor: internals.fileIngressExecutor,
|
||||
});
|
||||
const harness = new ResolvedHarness({
|
||||
baseUrl: harnessOrigin(ctx.webServer, config.harnessBaseUrl),
|
||||
|
|
@ -68,6 +69,7 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
...(commandExecutor ? { commandExecutor } : {}),
|
||||
...(controlExecutor ? { controlExecutor } : {}),
|
||||
...(sessionMaintenanceExecutor ? { sessionMaintenanceExecutor } : {}),
|
||||
...(fileIngressExecutor ? { fileIngressExecutor } : {}),
|
||||
});
|
||||
const coreController = new ResolvedController({
|
||||
credentials: ctx.credentials,
|
||||
|
|
|
|||
|
|
@ -80,9 +80,10 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
return state;
|
||||
};
|
||||
const commandExecutor = createHarnessCommandExecutor(ctx, internals.commandExecutor);
|
||||
const { controlExecutor, sessionMaintenanceExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
const { controlExecutor, sessionMaintenanceExecutor, fileIngressExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
controlExecutor: internals.controlExecutor,
|
||||
sessionMaintenanceExecutor: internals.sessionMaintenanceExecutor,
|
||||
fileIngressExecutor: internals.fileIngressExecutor,
|
||||
});
|
||||
const harness = new Harness({
|
||||
baseUrl: harnessOrigin(ctx.webServer, config.harnessBaseUrl),
|
||||
|
|
@ -92,6 +93,7 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
...(commandExecutor ? { commandExecutor } : {}),
|
||||
...(controlExecutor ? { controlExecutor } : {}),
|
||||
...(sessionMaintenanceExecutor ? { sessionMaintenanceExecutor } : {}),
|
||||
...(fileIngressExecutor ? { fileIngressExecutor } : {}),
|
||||
});
|
||||
const coreController = new Controller({
|
||||
qrAuth,
|
||||
|
|
|
|||
|
|
@ -80,9 +80,10 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
return state;
|
||||
};
|
||||
const commandExecutor = createHarnessCommandExecutor(ctx, internals.commandExecutor);
|
||||
const { controlExecutor, sessionMaintenanceExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
const { controlExecutor, sessionMaintenanceExecutor, fileIngressExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
controlExecutor: internals.controlExecutor,
|
||||
sessionMaintenanceExecutor: internals.sessionMaintenanceExecutor,
|
||||
fileIngressExecutor: internals.fileIngressExecutor,
|
||||
});
|
||||
const harness = new Harness({
|
||||
baseUrl: harnessOrigin(ctx.webServer, config.harnessBaseUrl),
|
||||
|
|
@ -92,6 +93,7 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
...(commandExecutor ? { commandExecutor } : {}),
|
||||
...(controlExecutor ? { controlExecutor } : {}),
|
||||
...(sessionMaintenanceExecutor ? { sessionMaintenanceExecutor } : {}),
|
||||
...(fileIngressExecutor ? { fileIngressExecutor } : {}),
|
||||
});
|
||||
const coreController = new Controller({
|
||||
api,
|
||||
|
|
|
|||
|
|
@ -83,9 +83,10 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
return state;
|
||||
};
|
||||
const commandExecutor = createHarnessCommandExecutor(ctx, internals.commandExecutor);
|
||||
const { controlExecutor, sessionMaintenanceExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
const { controlExecutor, sessionMaintenanceExecutor, fileIngressExecutor } = createHarnessSessionExecutors(ctx, {
|
||||
controlExecutor: internals.controlExecutor,
|
||||
sessionMaintenanceExecutor: internals.sessionMaintenanceExecutor,
|
||||
fileIngressExecutor: internals.fileIngressExecutor,
|
||||
});
|
||||
const harness = new Harness({
|
||||
baseUrl: harnessOrigin(ctx.webServer, config.harnessBaseUrl),
|
||||
|
|
@ -95,6 +96,7 @@ export async function createProductionController(ctx, config = {}, internals = {
|
|||
...(commandExecutor ? { commandExecutor } : {}),
|
||||
...(controlExecutor ? { controlExecutor } : {}),
|
||||
...(sessionMaintenanceExecutor ? { sessionMaintenanceExecutor } : {}),
|
||||
...(fileIngressExecutor ? { fileIngressExecutor } : {}),
|
||||
});
|
||||
const coreController = new Controller({
|
||||
configStore: observedConfigStore,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue